From 0883f057531d291e8793bd3113f4331c502ad8cf Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 27 Feb 2022 07:37:00 +0100 Subject: [PATCH 001/276] Fix report submit button not being disabled during submission in web UI (#17654) Add loading indicator for status selection step in report dialog in web UI --- app/javascript/mastodon/features/report/comment.js | 2 +- app/javascript/mastodon/features/report/statuses.js | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/javascript/mastodon/features/report/comment.js b/app/javascript/mastodon/features/report/comment.js index 8d1a4e21f..cde156415 100644 --- a/app/javascript/mastodon/features/report/comment.js +++ b/app/javascript/mastodon/features/report/comment.js @@ -74,7 +74,7 @@ class Comment extends React.PureComponent {
- +
); diff --git a/app/javascript/mastodon/features/report/statuses.js b/app/javascript/mastodon/features/report/statuses.js index 5999a0e06..d5d86034f 100644 --- a/app/javascript/mastodon/features/report/statuses.js +++ b/app/javascript/mastodon/features/report/statuses.js @@ -6,9 +6,11 @@ import StatusCheckBox from 'mastodon/features/report/containers/status_check_box import { OrderedSet } from 'immutable'; import { FormattedMessage } from 'react-intl'; import Button from 'mastodon/components/button'; +import LoadingIndicator from 'mastodon/components/loading_indicator'; const mapStateToProps = (state, { accountId }) => ({ availableStatusIds: OrderedSet(state.getIn(['timelines', `account:${accountId}:with_replies`, 'items'])), + isLoading: state.getIn(['timelines', `account:${accountId}:with_replies`, 'isLoading']), }); export default @connect(mapStateToProps) @@ -19,6 +21,7 @@ class Statuses extends React.PureComponent { accountId: PropTypes.string.isRequired, availableStatusIds: ImmutablePropTypes.set.isRequired, selectedStatusIds: ImmutablePropTypes.set.isRequired, + isLoading: PropTypes.bool, onToggle: PropTypes.func.isRequired, }; @@ -28,7 +31,7 @@ class Statuses extends React.PureComponent { }; render () { - const { availableStatusIds, selectedStatusIds, onToggle } = this.props; + const { availableStatusIds, selectedStatusIds, onToggle, isLoading } = this.props; return ( @@ -36,7 +39,7 @@ class Statuses extends React.PureComponent {

- {availableStatusIds.union(selectedStatusIds).map(statusId => ( + {isLoading ? : availableStatusIds.union(selectedStatusIds).map(statusId => ( Date: Sun, 27 Feb 2022 07:37:07 +0100 Subject: [PATCH 002/276] Fix not showing loading indicator when searching in web UI (#17655) --- app/javascript/mastodon/features/explore/results.js | 2 +- app/javascript/mastodon/reducers/search.js | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/javascript/mastodon/features/explore/results.js b/app/javascript/mastodon/features/explore/results.js index 27e8aaa4f..ff900de08 100644 --- a/app/javascript/mastodon/features/explore/results.js +++ b/app/javascript/mastodon/features/explore/results.js @@ -104,7 +104,7 @@ class Results extends React.PureComponent {
- {isLoading ? () : filteredResults} + {isLoading ? : filteredResults}
); diff --git a/app/javascript/mastodon/reducers/search.js b/app/javascript/mastodon/reducers/search.js index 23bbe4d99..7dceac6b9 100644 --- a/app/javascript/mastodon/reducers/search.js +++ b/app/javascript/mastodon/reducers/search.js @@ -41,7 +41,10 @@ export default function search(state = initialState, action) { case COMPOSE_DIRECT: return state.set('hidden', true); case SEARCH_FETCH_REQUEST: - return state.set('isLoading', true); + return state.withMutations(map => { + map.set('isLoading', true); + map.set('submitted', true); + }); case SEARCH_FETCH_FAIL: return state.set('isLoading', false); case SEARCH_FETCH_SUCCESS: @@ -52,7 +55,6 @@ export default function search(state = initialState, action) { hashtags: fromJS(action.results.hashtags), })); - map.set('submitted', true); map.set('searchTerm', action.searchTerm); map.set('isLoading', false); }); From f6a3c27e9da62ee1a3aa7d56cd33590b781f3414 Mon Sep 17 00:00:00 2001 From: Shlee Date: Mon, 28 Feb 2022 18:14:49 +1030 Subject: [PATCH 003/276] Update config.yml (#17664) --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a9ad92145..e157f8f22 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -45,7 +45,7 @@ commands: bundle config without 'development production' name: Set bundler settings - ruby/install-deps: - bundler-version: '2.2.31' + bundler-version: '2.3.8' key: ruby<< parameters.ruby-version >>-gems-v1 wait-db: steps: From 1392741044b8efa21aec89cb264978a9c6a243ae Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 28 Feb 2022 14:14:52 +0100 Subject: [PATCH 004/276] Chore: Update translatable strings (#17495) --- app/javascript/mastodon/locales/af.json | 41 ++- app/javascript/mastodon/locales/ar.json | 41 ++- app/javascript/mastodon/locales/ast.json | 41 ++- app/javascript/mastodon/locales/bg.json | 41 ++- app/javascript/mastodon/locales/bn.json | 41 ++- app/javascript/mastodon/locales/br.json | 41 ++- app/javascript/mastodon/locales/ca.json | 41 ++- app/javascript/mastodon/locales/co.json | 41 ++- app/javascript/mastodon/locales/cs.json | 41 ++- app/javascript/mastodon/locales/cy.json | 41 ++- app/javascript/mastodon/locales/da.json | 41 ++- app/javascript/mastodon/locales/de.json | 41 ++- .../mastodon/locales/defaultMessages.json | 289 ++++++++++++++++-- app/javascript/mastodon/locales/el.json | 41 ++- app/javascript/mastodon/locales/en.json | 41 ++- app/javascript/mastodon/locales/eo.json | 41 ++- app/javascript/mastodon/locales/es-AR.json | 41 ++- app/javascript/mastodon/locales/es-MX.json | 41 ++- app/javascript/mastodon/locales/es.json | 41 ++- app/javascript/mastodon/locales/et.json | 41 ++- app/javascript/mastodon/locales/eu.json | 41 ++- app/javascript/mastodon/locales/fa.json | 41 ++- app/javascript/mastodon/locales/fi.json | 41 ++- app/javascript/mastodon/locales/fr.json | 41 ++- app/javascript/mastodon/locales/ga.json | 41 ++- app/javascript/mastodon/locales/gd.json | 41 ++- app/javascript/mastodon/locales/gl.json | 41 ++- app/javascript/mastodon/locales/he.json | 41 ++- app/javascript/mastodon/locales/hi.json | 41 ++- app/javascript/mastodon/locales/hr.json | 41 ++- app/javascript/mastodon/locales/hu.json | 41 ++- app/javascript/mastodon/locales/hy.json | 41 ++- app/javascript/mastodon/locales/id.json | 41 ++- app/javascript/mastodon/locales/io.json | 41 ++- app/javascript/mastodon/locales/is.json | 41 ++- app/javascript/mastodon/locales/it.json | 41 ++- app/javascript/mastodon/locales/ja.json | 41 ++- app/javascript/mastodon/locales/ka.json | 41 ++- app/javascript/mastodon/locales/kab.json | 41 ++- app/javascript/mastodon/locales/kk.json | 41 ++- app/javascript/mastodon/locales/kmr.json | 41 ++- app/javascript/mastodon/locales/kn.json | 41 ++- app/javascript/mastodon/locales/ko.json | 41 ++- app/javascript/mastodon/locales/ku.json | 41 ++- app/javascript/mastodon/locales/kw.json | 41 ++- app/javascript/mastodon/locales/lt.json | 41 ++- app/javascript/mastodon/locales/lv.json | 41 ++- app/javascript/mastodon/locales/mk.json | 41 ++- app/javascript/mastodon/locales/ml.json | 41 ++- app/javascript/mastodon/locales/mr.json | 41 ++- app/javascript/mastodon/locales/ms.json | 41 ++- app/javascript/mastodon/locales/nl.json | 41 ++- app/javascript/mastodon/locales/nn.json | 41 ++- app/javascript/mastodon/locales/no.json | 41 ++- app/javascript/mastodon/locales/oc.json | 41 ++- app/javascript/mastodon/locales/pa.json | 41 ++- app/javascript/mastodon/locales/pl.json | 41 ++- app/javascript/mastodon/locales/pt-BR.json | 41 ++- app/javascript/mastodon/locales/pt-PT.json | 41 ++- app/javascript/mastodon/locales/ro.json | 41 ++- app/javascript/mastodon/locales/ru.json | 41 ++- app/javascript/mastodon/locales/sa.json | 41 ++- app/javascript/mastodon/locales/sc.json | 41 ++- app/javascript/mastodon/locales/si.json | 41 ++- app/javascript/mastodon/locales/sk.json | 41 ++- app/javascript/mastodon/locales/sl.json | 41 ++- app/javascript/mastodon/locales/sq.json | 41 ++- app/javascript/mastodon/locales/sr-Latn.json | 41 ++- app/javascript/mastodon/locales/sr.json | 41 ++- app/javascript/mastodon/locales/sv.json | 41 ++- app/javascript/mastodon/locales/szl.json | 41 ++- app/javascript/mastodon/locales/ta.json | 41 ++- app/javascript/mastodon/locales/tai.json | 41 ++- app/javascript/mastodon/locales/te.json | 41 ++- app/javascript/mastodon/locales/th.json | 41 ++- app/javascript/mastodon/locales/tr.json | 41 ++- app/javascript/mastodon/locales/tt.json | 41 ++- app/javascript/mastodon/locales/ug.json | 41 ++- app/javascript/mastodon/locales/uk.json | 41 ++- app/javascript/mastodon/locales/ur.json | 41 ++- app/javascript/mastodon/locales/vi.json | 41 ++- app/javascript/mastodon/locales/zgh.json | 41 ++- app/javascript/mastodon/locales/zh-CN.json | 41 ++- app/javascript/mastodon/locales/zh-HK.json | 41 ++- app/javascript/mastodon/locales/zh-TW.json | 41 ++- 85 files changed, 3620 insertions(+), 113 deletions(-) diff --git a/app/javascript/mastodon/locales/af.json b/app/javascript/mastodon/locales/af.json index 5456eb88e..dbde323ba 100644 --- a/app/javascript/mastodon/locales/af.json +++ b/app/javascript/mastodon/locales/af.json @@ -167,6 +167,7 @@ "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "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": "There are no blocked domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "Security", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "Cancel", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Additional comments", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Submit", "report.target": "Report {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.", "search.placeholder": "Search", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "user", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 33a78afa3..84708b1e2 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -167,6 +167,7 @@ "empty_column.community": "الخط العام المحلي فارغ. أكتب شيئا ما للعامة كبداية!", "empty_column.direct": "لم تتلق أية رسالة خاصة مباشِرة بعد. سوف يتم عرض الرسائل المباشرة هنا إن قمت بإرسال واحدة أو تلقيت البعض منها.", "empty_column.domain_blocks": "ليس هناك نطاقات مخفية بعد.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "ليس لديك أية منشورات مفضلة بعد. عندما ستقوم بالإعجاب بواحدة، ستظهر هنا.", "empty_column.favourites": "لم يقم أي أحد بالإعجاب بهذا المنشور بعد. عندما يقوم أحدهم بذلك سوف يظهر هنا.", "empty_column.follow_recommendations": "يبدو أنه لا يمكن إنشاء أي اقتراحات لك. يمكنك البحث عن أشخاص قد تعرفهم أو استكشاف الوسوم الرائجة.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "حاول تعطيلهم وإنعاش الصفحة. إن لم ينجح ذلك، يمكنك دائمًا استخدام ماستدون عبر متصفح آخر أو تطبيق أصلي.", "errors.unexpected_crash.copy_stacktrace": "انسخ تتبع الارتباطات إلى الحافظة", "errors.unexpected_crash.report_issue": "الإبلاغ عن خلل", + "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", "follow_recommendations.done": "تم", "follow_recommendations.heading": "تابع الأشخاص الذين ترغب في رؤية منشوراتهم! إليك بعض الاقتراحات.", "follow_recommendations.lead": "ستظهر منشورات الأشخاص الذين تُتابعتهم بترتيب تسلسلي زمني على صفحتك الرئيسية. لا تخف إذا ارتكبت أي أخطاء، تستطيع إلغاء متابعة أي شخص في أي وقت تريد!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "التفضيلات", "navigation_bar.public_timeline": "الخيط العام الموحد", "navigation_bar.security": "الأمان", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "أُعجِب {name} بمنشورك", "notification.follow": "{name} يتابعك", "notification.follow_request": "لقد طلب {name} متابعتك", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "امسح الإخطارات", "notifications.clear_confirmation": "أمتأكد من أنك تود مسح جل الإخطارات الخاصة بك و المتلقاة إلى حد الآن ؟", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "إشعارات سطح المكتب", "notifications.column_settings.favourite": "المُفَضَّلة:", "notifications.column_settings.filter_bar.advanced": "اعرض كافة الفئات", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}ثا", "relative_time.today": "اليوم", "reply_indicator.cancel": "إلغاء", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "أخرى", "report.categories.spam": "مزعج", "report.categories.violation": "المحتوى ينتهك شرطا أو عدة شروط استخدام للخادم", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "التحويل إلى {target}", "report.forward_hint": "هذا الحساب ينتمي إلى خادوم آخَر. هل تودّ إرسال نسخة مجهولة مِن التقرير إلى هنالك أيضًا؟", - "report.hint": "سوف يتم إرسال التقرير إلى المُشرِفين على خادومكم. بإمكانكم الإدلاء بشرح عن سبب الإبلاغ عن الحساب أسفله:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "تعليقات إضافية", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "ابحث", "search_popout.search_format": "نمط البحث المتقدم", "search_popout.tips.full_text": "النص البسيط يقوم بعرض المنشورات التي كتبتها أو قمت بإرسالها أو ترقيتها أو تمت الإشارة إليك فيها من طرف آخرين ، بالإضافة إلى مطابقة أسماء المستخدمين وأسماء العرض وعلامات التصنيف.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "جملة قصيرة تُمكّنُك من عرض أسماء و حسابات و كلمات رمزية", "search_popout.tips.user": "مستخدِم", "search_results.accounts": "أشخاص", + "search_results.all": "All", "search_results.hashtags": "الوُسوم", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "المنشورات", "search_results.statuses_fts_disabled": "البحث عن المنشورات عن طريق المحتوى ليس مفعل في خادم ماستدون هذا.", "search_results.total": "{count, number} {count, plural, zero {} one {نتيجة} two {نتيجتين} few {نتائج} many {نتائج} other {نتائج}}", diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json index 526c0f0f0..b104f0e6b 100644 --- a/app/javascript/mastodon/locales/ast.json +++ b/app/javascript/mastodon/locales/ast.json @@ -167,6 +167,7 @@ "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "empty_column.direct": "Entá nun tienes nuengún mensaxe direutu. Cuando unvies o recibas dalgún, va apaecer equí.", "empty_column.domain_blocks": "Entá nun hai dominios anubríos.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Entá nun tienes nengún barritu en Favoritos. Cuando amiestes unu, va amosase equí.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "empty_column.follow_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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferencies", "navigation_bar.public_timeline": "Llinia temporal federada", "navigation_bar.security": "Seguranza", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} siguióte", "notification.follow_request": "{name} solicitó siguite", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Llimpiar avisos", "notifications.clear_confirmation": "¿De xuru que quies llimpiar dafechu tolos avisos?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Avisos d'escritoriu", "notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.filter_bar.advanced": "Amosar toles estayes", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "güei", "reply_indicator.cancel": "Encaboxar", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "L'informe va unviase a los llendadores del to sirvidor. Embaxo, pues desplicar por qué informes d'esta cuenta:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Comentarios adicionales", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Unviar", "report.target": "Report {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.", "search.placeholder": "Guetar", "search_popout.search_format": "Formatu de gueta avanzada", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "usuariu", "search_results.accounts": "Xente", + "search_results.all": "All", "search_results.hashtags": "Etiquetes", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Barritos", "search_results.statuses_fts_disabled": "Esti sirvidor de Mastodon tien activada la gueta de barritos pol so conteníu.", "search_results.total": "{count, number} {count, plural, one {resultáu} other {resultaos}}", diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index 14cbddaf3..f037444d6 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -167,6 +167,7 @@ "empty_column.community": "Локалната емисия е празна. Напишете нещо публично, за да започнете!", "empty_column.direct": "Все още нямате директни съобщения. Когато изпратите или получите някое, то ще се покаже тук.", "empty_column.domain_blocks": "There are no hidden domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "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.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Опитайте да ги деактивирате и да опресните страницата. Ако това не помогне, може все още да използвате Mastodon чрез различен браузър или приложение.", "errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Сигнал за проблем", + "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", "follow_recommendations.done": "Done", "follow_recommendations.heading": "Следвайте хора, които харесвате, за да виждате техните съобщения! Ето някои предложения.", "follow_recommendations.lead": "Съобщения от хора, които следвате, ще се показват в хронологичен ред на вашата главна страница. Не се страхувайте, че ще сгрешите, по всяко време много лесно можете да спрете да ги следвате!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Предпочитания", "navigation_bar.public_timeline": "Публичен канал", "navigation_bar.security": "Сигурност", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} хареса твоята публикация", "notification.follow": "{name} те последва", "notification.follow_request": "{name} поиска да ви последва", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Изчистване на известия", "notifications.clear_confirmation": "Сигурни ли сте, че искате да изчистите окончателно всичките си известия?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Десктоп известия", "notifications.column_settings.favourite": "Предпочитани:", "notifications.column_settings.filter_bar.advanced": "Показване на всички категории", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}с", "relative_time.today": "днес", "reply_indicator.cancel": "Отказ", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Препращане към {target}", "report.forward_hint": "Акаунтът е от друг сървър. Изпращане на анонимно копие на доклада и там?", - "report.hint": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Допълнителни коментари", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Подаване", "report.target": "Reporting", + "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.", "search.placeholder": "Търсене", "search_popout.search_format": "Формат за разширено търсене", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Обикновеният текст връща съответстващи показвани имена, потребителски имена и хаштагове", "search_popout.tips.user": "потребител", "search_results.accounts": "Хора", + "search_results.all": "All", "search_results.hashtags": "Хаштагове", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Публикации", "search_results.statuses_fts_disabled": "Търсенето на публикации по тяхното съдържание не е активирано за този Mastodon сървър.", "search_results.total": "{count, number} {count, plural, one {резултат} other {резултата}}", diff --git a/app/javascript/mastodon/locales/bn.json b/app/javascript/mastodon/locales/bn.json index 0c0a1ca1b..3387289a4 100644 --- a/app/javascript/mastodon/locales/bn.json +++ b/app/javascript/mastodon/locales/bn.json @@ -167,6 +167,7 @@ "empty_column.community": "স্থানীয় সময়রেখাতে কিছু নেই। প্রকাশ্যভাবে কিছু লিখে লেখালেখির উদ্বোধন করে ফেলুন!", "empty_column.direct": "আপনার কাছে সরাসরি পাঠানো কোনো লেখা নেই। যদি কেও পাঠায়, সেটা এখানে দেখা যাবে।", "empty_column.domain_blocks": "এখনও কোনও লুকানো ডোমেন নেই।", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "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.", @@ -185,6 +186,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": "স্টেকট্রেস ক্লিপবোর্ডে কপি করুন", "errors.unexpected_crash.report_issue": "সমস্যার প্রতিবেদন করুন", + "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", "follow_recommendations.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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "পছন্দসমূহ", "navigation_bar.public_timeline": "যুক্তবিশ্বের সময়রেখা", "navigation_bar.security": "নিরাপত্তা", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} আপনার কার্যক্রম পছন্দ করেছেন", "notification.follow": "{name} আপনাকে অনুসরণ করেছেন", "notification.follow_request": "{name} আপনাকে অনুসরণ করার জন্য অনুরধ করেছে", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "প্রজ্ঞাপনগুলো মুছে ফেলতে", "notifications.clear_confirmation": "আপনি কি নির্চিত প্রজ্ঞাপনগুলো মুছে ফেলতে চান ?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "কম্পিউটারে প্রজ্ঞাপনগুলি", "notifications.column_settings.favourite": "পছন্দের:", "notifications.column_settings.filter_bar.advanced": "সব শ্রেণীগুলো দেখানো", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number} সেকেন্ড", "relative_time.today": "আজ", "reply_indicator.cancel": "বাতিল করতে", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "এটা আরো পাঠান {target} তে", "report.forward_hint": "এই নিবন্ধনটি অন্য একটি সার্ভারে। অপ্রকাশিতনামাভাবে রিপোর্টের কপি সেখানেও কি পাঠাতে চান ?", - "report.hint": "রিপোর্টটি আপনার সার্ভারের পরিচালকের কাছে পাঠানো হবে। রিপোর্ট পাঠানোর কারণ নিচে বিস্তারিত লিখতে পারেন:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "অন্য কোনো মন্তব্য", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "অনুসন্ধান", "search_popout.search_format": "বিস্তারিতভাবে খোঁজার পদ্ধতি", "search_popout.tips.full_text": "সাধারণ লেখা দিয়ে খুঁজলে বের হবে সেরকম আপনার লেখা, পছন্দের লেখা, সমর্থন করা লেখা, আপনাকে উল্লেখকরা কোনো লেখা, যা খুঁজছেন সেরকম কোনো ব্যবহারকারীর নাম বা কোনো হ্যাশট্যাগগুলো।", @@ -395,7 +432,9 @@ "search_popout.tips.text": "সাধারণ লেখা দিয়ে খুঁজলে বের হবে সেরকম ব্যবহারকারীর নাম বা কোনো হ্যাশট্যাগগুলো", "search_popout.tips.user": "ব্যবহারকারী", "search_results.accounts": "মানুষ", + "search_results.all": "All", "search_results.hashtags": "হ্যাশট্যাগগুলি", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "টুট", "search_results.statuses_fts_disabled": "তাদের সামগ্রী দ্বারা টুটগুলি অনুসন্ধান এই মস্তোডন সার্ভারে সক্ষম নয়।", "search_results.total": "{count, number} {count, plural, one {ফলাফল} other {ফলাফল}}", diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json index daea18086..9a78feaab 100644 --- a/app/javascript/mastodon/locales/br.json +++ b/app/javascript/mastodon/locales/br.json @@ -167,6 +167,7 @@ "empty_column.community": "Goulo eo ar red-amzer lec'hel. Skrivit'ta un dra evit lakaat tan dezhi !", "empty_column.direct": "N'ho peus kemennad prevez ebet c'hoazh. Pa vo resevet pe kaset unan ganeoc'h e teuio war wel amañ.", "empty_column.domain_blocks": "N'eus domani kuzh ebet c'hoazh.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "N'ho peus toud muiañ-karet ebet c'hoazh. Pa vo lakaet unan ganeoc'h e vo diskouezet amañ.", "empty_column.favourites": "Den ebet n'eus lakaet an toud-mañ en e reoù muiañ-karet. Pa vo graet gant unan bennak e vo diskouezet amañ.", "empty_column.follow_recommendations": "Seblant a ra ne vez ket genelet damvenegoù evidoc'h. Gallout a rit implijout un enklask evit klask tud hag a vefe anavezet ganeoc'h pe ergerzhout gerioù-klik diouzh ar c'hiz.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Klaskit azbevaat ar bajenn. Ma n'ez a ket en-dro e c'hallit klask ober gant Mastodon dre ur merdeer disheñvel pe dre an arload genidik.", "errors.unexpected_crash.copy_stacktrace": "Eilañ ar roudoù diveugañ er golver", "errors.unexpected_crash.report_issue": "Danevellañ ur fazi", + "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", "follow_recommendations.done": "Graet", "follow_recommendations.heading": "Heuliit tud e plijfe deoc'h lenn toudoù! Setu un tamm alioù.", "follow_recommendations.lead": "Toudoù eus tud heuliet ganeoc'h a zeuio war wel en un urzh amzeroniezhel war ho red degemer. N'ho peus ket aon ober fazioù, gallout a rit paouez heuliañ tud ken aes n'eus forzh pegoulz!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Gwellvezioù", "navigation_bar.public_timeline": "Red-amzer kevreet", "navigation_bar.security": "Diogelroez", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} en/he deus lakaet ho toud en e/he muiañ-karet", "notification.follow": "heuliañ a ra {name} ac'hanoc'h", "notification.follow_request": "{name} en/he deus goulennet da heuliañ ac'hanoc'h", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Skarzhañ ar c'hemennoù", "notifications.clear_confirmation": "Ha sur oc'h e fell deoc'h skarzhañ ho kemennoù penn-da-benn?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Kemennoù war ar burev", "notifications.column_settings.favourite": "Ar re vuiañ-karet:", "notifications.column_settings.filter_bar.advanced": "Skrammañ an-holl rummadoù", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}eil", "relative_time.today": "hiziv", "reply_indicator.cancel": "Nullañ", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Treuzkas da: {target}", "report.forward_hint": "War ur servijer all emañ ar c'hont-se. Kas dezhañ un adskrid disanv eus an danevell ivez?", - "report.hint": "Ar danevell a vo bet kaset da evezhidi ho servijer. Gallout a rit displegañ perak emaoc'h oc'h aroueziañ ar c'hont a-is:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Askelennoù ouzhpenn", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Kinnig", "report.target": "O tisklêriañ {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.", "search.placeholder": "Klask", "search_popout.search_format": "Framm klask araokaet", "search_popout.tips.full_text": "Testenn simpl a adkas toudoù skrivet ganeoc'h, merket ganeoc'h evel miuañ-karet, toudoù skignet, pe e-lec'h oc'h bet meneget, met ivez anvioù skrammañ, anvioù implijer ha gêrioù-klik hag a glot.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Testenn simpl a adkas anvioù skrammañ, anvioù implijer ha gêrioù-klik hag a glot", "search_popout.tips.user": "implijer·ez", "search_results.accounts": "Tud", + "search_results.all": "All", "search_results.hashtags": "Gerioù-klik", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "a doudoù", "search_results.statuses_fts_disabled": "Klask toudoù dre oc'h endalc'h n'eo ket aotreet war ar servijer-mañ.", "search_results.total": "{count, number} {count, plural, one {disoc'h} other {a zisoc'h}}", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 15036eef9..1859eed88 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -167,6 +167,7 @@ "empty_column.community": "La línia de temps local és buida. Escriu alguna cosa públicament per a fer rodar la pilota!", "empty_column.direct": "Encara no tens missatges directes. Quan enviïs o rebis un, es mostrarà aquí.", "empty_column.domain_blocks": "Encara no hi ha dominis ocults.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Encara no has marcat com a favorit cap tut. Quan en facis, apareixerà aquí.", "empty_column.favourites": "Ningú no ha marcat aquest tut com a preferit encara. Quan algú ho faci, apareixerà aquí.", "empty_column.follow_recommendations": "Sembla que no es poden generar sugerencies per a tu. Pots provar d'emprar la cerca per a trobar gent que voldries conèixer o explorar les etiquetes en tendència.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Prova de desactivar-les i refrescant la pàgina. Si això no ajuda, encara pots ser capaç d’utilitzar Mastodon amb un altre navegador o aplicació nativa.", "errors.unexpected_crash.copy_stacktrace": "Còpia stacktrace al porta-retalls", "errors.unexpected_crash.report_issue": "Informa d'un problema", + "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", "follow_recommendations.done": "Fet", "follow_recommendations.heading": "Segueix a la gent de la que t'agradaria veure els seus tuts! Aquí hi ha algunes recomanacions.", "follow_recommendations.lead": "Els tuts del usuaris que segueixes es mostraran en ordre cronològic en la teva línia de temps Inici. No tinguis por en cometre errors, pots fàcilment deixar de seguir-los en qualsevol moment!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferències", "navigation_bar.public_timeline": "Línia de temps federada", "navigation_bar.security": "Seguretat", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} ha afavorit el teu estat", "notification.follow": "{name} et segueix", "notification.follow_request": "{name} ha sol·licitat seguir-te", @@ -311,6 +319,7 @@ "notification.update": "{name} ha editat una publicació", "notifications.clear": "Netejar notificacions", "notifications.clear_confirmation": "Estàs segur que vols esborrar permanentment totes les teves notificacions?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Notificacions d'escriptori", "notifications.column_settings.favourite": "Preferits:", "notifications.column_settings.filter_bar.advanced": "Mostra totes les categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "fa {number} segons", "relative_time.today": "avui", "reply_indicator.cancel": "Cancel·lar", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Altres", "report.categories.spam": "Contingut brossa", "report.categories.violation": "El contingut viola una o més regles del servidor", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Reenvia a {target}", "report.forward_hint": "Aquest compte és d'un altre servidor. Enviar-hi també una copia anònima del informe?", - "report.hint": "El informe s'enviarà als moderadors del teu servidor. Pots explicar perquè vols informar d'aquest compte aquí:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Comentaris addicionals", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Enviar", "report.target": "Informes {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.", "search.placeholder": "Cercar", "search_popout.search_format": "Format de cerca avançada", "search_popout.tips.full_text": "Text simple recupera publicacions que has escrit, les marcades com a preferides, les impulsades o en les que has estat esmentat, així com usuaris, noms d'usuari i etiquetes.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "El text simple retorna coincidències amb els noms de visualització, els noms d'usuari i les etiquetes", "search_popout.tips.user": "usuari", "search_results.accounts": "Gent", + "search_results.all": "All", "search_results.hashtags": "Etiquetes", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Tuts", "search_results.statuses_fts_disabled": "La cerca de tuts pel seu contingut no està habilitada en aquest servidor Mastodon.", "search_results.total": "{count, number} {count, plural, one {resultat} other {resultats}}", diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json index 8956cd678..799fc877d 100644 --- a/app/javascript/mastodon/locales/co.json +++ b/app/javascript/mastodon/locales/co.json @@ -167,6 +167,7 @@ "empty_column.community": "Ùn c'hè nunda indè a linea lucale. Scrivete puru qualcosa!", "empty_column.direct": "Ùn avete ancu nisun missaghju direttu. S'è voi mandate o ricevete unu, u vidarete quì.", "empty_column.domain_blocks": "Ùn c'hè manc'un duminiu bluccatu avà.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Ùn avete manc'unu statutu favuritu. Quandu aghjunghjerate unu à i vostri favuriti, sarà mustratu quì.", "empty_column.favourites": "Nisunu hà aghjuntu stu statutu à i so favuriti. Quandu qualch'unu farà quessa, u so contu sarà mustratu quì.", "empty_column.follow_recommendations": "Si pare ch'ùn s'hè micca pussutu generà e ricumandazione per voi. Pudete sempre pruvà d'utilizà a ricerca per truvà ghjente chì cunnuscete, o splurà l'hashtag in tindenza.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Pruvate di disattivà quelli è poi attualizà sta pagina. S'ellu persiste u prublemu, pudete forse sempre accede à Mastodon dapoi un'alltru navigatore o applicazione.", "errors.unexpected_crash.copy_stacktrace": "Cupià stacktrace nant'à u fermacarta", "errors.unexpected_crash.report_issue": "Palisà prublemu", + "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", "follow_recommendations.done": "Fatta", "follow_recommendations.heading": "Siguitate a ghjente da quelli vulete vede i missaghji! Eccu qualchì ricumandazione.", "follow_recommendations.lead": "I missaghji da a ghjente che voi siguitate figureranu in ordine crunulogicu nant'a vostra pagina d'accolta. Ùn timite micca di fà un sbagliu, pudete sempre disabbunavvi d'un contu à ogni mumentu!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferenze", "navigation_bar.public_timeline": "Linea pubblica glubale", "navigation_bar.security": "Sicurità", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} hà aghjuntu u vostru statutu à i so favuriti", "notification.follow": "{name} v'hà seguitatu", "notification.follow_request": "{name} vole abbunassi à u vostru contu", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Purgà e nutificazione", "notifications.clear_confirmation": "Site sicuru·a che vulete toglie tutte ste nutificazione?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Nutificazione nant'à l'urdinatore", "notifications.column_settings.favourite": "Favuriti:", "notifications.column_settings.filter_bar.advanced": "Affissà tutte e categurie", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "oghji", "reply_indicator.cancel": "Annullà", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Trasferisce à {target}", "report.forward_hint": "U contu hè nant'à un'altru servore. Vulete ancu mandà una copia anonima di u signalamentu quallà?", - "report.hint": "U signalamentu sarà mandatu à i muderatori di u servore. Pudete spiegà perchè avete palisatu stu contu quì sottu:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Altri cummenti", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Mandà", "report.target": "Signalamentu di {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.", "search.placeholder": "Circà", "search_popout.search_format": "Ricerca avanzata", "search_popout.tips.full_text": "I testi simplici rimandanu i statuti ch'avete scritti, aghjunti à i vostri favuriti, spartuti o induve quelli site mintuvatu·a, è ancu i cugnomi, nomi pubblichi è hashtag chì currispondenu.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Un testu simplice rimanda i nomi pubblichi, cugnomi è hashtag", "search_popout.tips.user": "utilizatore", "search_results.accounts": "Ghjente", + "search_results.all": "All", "search_results.hashtags": "Hashtag", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Statuti", "search_results.statuses_fts_disabled": "A ricerca di i cuntinuti di i statuti ùn hè micca attivata nant'à stu servore Mastodon.", "search_results.total": "{count, number} {count, plural, one {risultatu} other {risultati}}", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index 2c5bf8a85..65043cc0e 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -167,6 +167,7 @@ "empty_column.community": "Místní časová osa je prázdná. Napište něco veřejně a rozhýbejte to tu!", "empty_column.direct": "Ještě nemáte žádné přímé zprávy. Pokud nějakou pošlete nebo dostanete, zobrazí se zde.", "empty_column.domain_blocks": "Ještě nemáte žádné blokované domény.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Ještě nemáte žádné oblíbené příspěvky. Pokud si nějaký oblíbíte, zobrazí se zde.", "empty_column.favourites": "Tento příspěvek si ještě nikdo neoblíbil. Pokud to někdo udělá, zobrazí se zde.", "empty_column.follow_recommendations": "Zdá se, že pro vás nelze vygenerovat žádné návrhy. Můžete zkusit přes vyhledávání naleznout lidi, které znáte, nebo prozkoumat populární hashtagy.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Zkuste je vypnout a stránku obnovit. Pokud to nepomůže, zkuste otevřít Mastodon v jiném prohlížeči nebo nativní aplikaci.", "errors.unexpected_crash.copy_stacktrace": "Zkopírovat stacktrace do schránky", "errors.unexpected_crash.report_issue": "Nahlásit problém", + "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", "follow_recommendations.done": "Hotovo", "follow_recommendations.heading": "Sledujte lidi, jejichž příspěvky chcete vidět! Tady jsou nějaké návrhy.", "follow_recommendations.lead": "Příspěvky od lidí, které sledujete, se budou objevovat v chronologickém pořadí ve vaší domovské ose. Nebojte se, že uděláte chybu, můžete lidi stejně snadno kdykoliv přestat sledovat!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Předvolby", "navigation_bar.public_timeline": "Federovaná časová osa", "navigation_bar.security": "Zabezpečení", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "Uživatel {name} si oblíbil váš příspěvek", "notification.follow": "Uživatel {name} vás začal sledovat", "notification.follow_request": "Uživatel {name} požádal o povolení vás sledovat", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Smazat oznámení", "notifications.clear_confirmation": "Opravdu chcete trvale smazat všechna vaše oznámení?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Oznámení na počítači", "notifications.column_settings.favourite": "Oblíbení:", "notifications.column_settings.filter_bar.advanced": "Zobrazit všechny kategorie", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number} s", "relative_time.today": "dnes", "reply_indicator.cancel": "Zrušit", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Přeposlat na {target}", "report.forward_hint": "Tento účet je z jiného serveru. Chcete na něj také poslat anonymizovanou kopii hlášení?", - "report.hint": "Hlášení bude zasláno moderátorům vašeho serveru. Níže můžete uvést, proč tento účet nahlašujete:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Dodatečné komentáře", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Odeslat", "report.target": "Nahlášení uživatele {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.", "search.placeholder": "Hledat", "search_popout.search_format": "Pokročilé hledání", "search_popout.tips.full_text": "Jednoduchý text vrací příspěvky, které jste napsali, oblíbili si, boostnuli, nebo vás v nich někdo zmínil, a také odpovídající přezdívky, zobrazovaná jména a hashtagy.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Jednoduchý text vrací odpovídající zobrazovaná jména, přezdívky a hashtagy", "search_popout.tips.user": "uživatel", "search_results.accounts": "Lidé", + "search_results.all": "All", "search_results.hashtags": "Hashtagy", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Příspěvky", "search_results.statuses_fts_disabled": "Vyhledávání příspěvků podle jejich obsahu není na tomto Mastodon serveru povoleno.", "search_results.total": "{count, number} {count, plural, one {výsledek} few {výsledky} many {výsledků} other {výsledků}}", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index 387f33782..621ff4530 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -167,6 +167,7 @@ "empty_column.community": "Mae'r ffrwd lleol yn wag. Ysgrifenwch rhywbeth yn gyhoeddus i gael dechrau arni!", "empty_column.direct": "Nid oes gennych unrhyw negeseuon preifat eto. Pan y byddwch yn anfon neu derbyn un, mi fydd yn ymddangos yma.", "empty_column.domain_blocks": "Nid oes yna unrhyw barthau cuddiedig eto.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Nid oes gennych unrhyw hoff dwtiau eto. Pan y byddwch yn hoffi un, mi fydd yn ymddangos yma.", "empty_column.favourites": "Nid oes neb wedi hoffi'r tŵt yma eto. Pan bydd rhywun yn ei hoffi, byddent yn ymddangos yma.", "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.", @@ -185,6 +186,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": "Copïo'r olrhain stac i'r clipfwrdd", "errors.unexpected_crash.report_issue": "Rhoi gwybod am broblem", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Dewisiadau", "navigation_bar.public_timeline": "Ffrwd y ffederasiwn", "navigation_bar.security": "Diogelwch", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "hoffodd {name} eich tŵt", "notification.follow": "dilynodd {name} chi", "notification.follow_request": "Mae {name} wedi gwneud cais i'ch dilyn", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Clirio hysbysiadau", "notifications.clear_confirmation": "Ydych chi'n sicr eich bod am glirio'ch holl hysbysiadau am byth?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Hysbysiadau bwrdd gwaith", "notifications.column_settings.favourite": "Ffefrynnau:", "notifications.column_settings.filter_bar.advanced": "Dangos pob categori", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}eiliad", "relative_time.today": "heddiw", "reply_indicator.cancel": "Canslo", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Ymlaen i {target}", "report.forward_hint": "Mae'r cyfrif o weinydd arall. Anfon copi anhysbys o'r adroddiad yno hefyd?", - "report.hint": "Bydd yr adroddiad yn cael ei anfon i arolygydd eich achos. Mae modd darparu esboniad o pam yr ydych yn cwyno am y cyfrif hwn isod:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Sylwadau ychwanegol", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Cyflwyno", "report.target": "Cwyno am {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.", "search.placeholder": "Chwilio", "search_popout.search_format": "Fformat chwilio uwch", "search_popout.tips.full_text": "Mae testun syml yn dychwelyd tŵtiau yr ydych wedi ysgrifennu, hoffi, wedi'u bŵstio, neu wedi'ch crybwyll ynddynt, ynghyd a chyfateb a enwau defnyddwyr, enwau arddangos ac hashnodau.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Mae testun syml yn dychwelyd enwau arddangos, enwau defnyddwyr a hashnodau sy'n cyfateb", "search_popout.tips.user": "defnyddiwr", "search_results.accounts": "Pobl", + "search_results.all": "All", "search_results.hashtags": "Hanshnodau", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Tŵtiau", "search_results.statuses_fts_disabled": "Nid yw chwilio Tŵtiau yn ôl eu cynnwys wedi'i alluogi ar y gweinydd Mastodon hwn.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index 4e1832fd3..d15bda603 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -167,6 +167,7 @@ "empty_column.community": "Den lokale tidslinje er tom. Skriv noget offentligt for at sætte tingene i gang!", "empty_column.direct": "Du har ingen direkte beskeder endnu. Hvis du sender eller modtager en, bliver den vist hér.", "empty_column.domain_blocks": "Der er ingen skjulte domæner endnu.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Du har ikke markeret nogle indlæg som favorit. Når du markerer ét, bliver det vist hér.", "empty_column.favourites": "Ingen har markeret indlægget som favorit endnu. Hvis der er nogen der gør, bliver det vist hér.", "empty_column.follow_recommendations": "Det ser ud til, at der ikke kunne blive lavet forslag til dig. Du kan prøve med Søg for at finde personer, du kender, eller udforske hashtags.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Prøv at deaktivere dem og genindlæse siden. Hvis det ikke hjælper, kan Mastodon muligvis stadig bruges via en anden browser eller app.", "errors.unexpected_crash.copy_stacktrace": "Kopiér stacktrace til udklipsholderen", "errors.unexpected_crash.report_issue": "Anmeld problem", + "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", "follow_recommendations.done": "Udført", "follow_recommendations.heading": "Følg personer du gerne vil se indlæg fra! Her er nogle forslag.", "follow_recommendations.lead": "Indlæg, fra personer du følger, vises i kronologisk rækkefølge i hjemmetidslinjen. Bare prøv dig frem med hvem du følger her. Du kan altid vælge om igen!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Præferencer", "navigation_bar.public_timeline": "Fælles tidslinje", "navigation_bar.security": "Sikkerhed", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favoriserede dit trut", "notification.follow": "{name} fulgte dig", "notification.follow_request": "{name} har anmodet om at følge dig", @@ -311,6 +319,7 @@ "notification.update": "{name} redigerede et indlæg", "notifications.clear": "Ryd notifikationer", "notifications.clear_confirmation": "Er du sikker på, du vil rydde alle dine notifikationer permanent?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Skrivebordsnotifikationer", "notifications.column_settings.favourite": "Favoritter:", "notifications.column_settings.filter_bar.advanced": "Vis alle kategorier", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "i dag", "reply_indicator.cancel": "Afbryd", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Andre", "report.categories.spam": "Spam", "report.categories.violation": "Indhold overtræder en eller flere serverregler", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Videresend til {target}", "report.forward_hint": "Kontoen er fra en anden server. Send en anonymiseret kopi af anmeldelsen dertil også?", - "report.hint": "Anmeldelsen sendes til din serverordstyrer. Du kan oplyse nærmere om kontoanmeldelsen nedenfor:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Yderligere kommentarer", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Indsend", "report.target": "Anmelder {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.", "search.placeholder": "Søg", "search_popout.search_format": "Avanceret søgeformat", "search_popout.tips.full_text": "Simpel tekst returnerer trut, du har skrevet, favoriseret, fremhævede eller som er nævnt i/matcher bruger- og profilnavne samt hashtags.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simpel tekst returnerer matchende visnings- og brugernavne samt hashtags", "search_popout.tips.user": "bruger", "search_results.accounts": "Personer", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Indlæg", "search_results.statuses_fts_disabled": "På denne Mastodon-server er trutsøgning efter deres indhold ikke aktiveret.", "search_results.total": "{count, number} {count, plural, one {resultat} other {resultater}}", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index d90b95f8b..30aa53620 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -167,6 +167,7 @@ "empty_column.community": "Die lokale Zeitleiste ist leer. Schreibe einen öffentlichen Beitrag, um den Ball ins Rollen zu bringen!", "empty_column.direct": "Du hast noch keine Direktnachrichten erhalten. Wenn du eine sendest oder empfängst, wird sie hier zu sehen sein.", "empty_column.domain_blocks": "Es sind noch keine Domains versteckt.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Du hast noch keine favorisierten Tröts. Wenn du einen favorisierst, wird er hier erscheinen.", "empty_column.favourites": "Noch niemand hat diesen Beitrag favorisiert. Sobald es jemand tut, wird das hier angezeigt.", "empty_column.follow_recommendations": "Es sieht so aus, als könnten keine Vorschläge für dich generiert werden. Du kannst versuchen nach Leuten zu suchen, die du vielleicht kennst oder du kannst angesagte Hashtags erkunden.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Versuche sie zu deaktivieren und lade dann die Seite neu. Wenn das Problem weiterhin besteht, solltest du Mastodon über einen anderen Browser oder eine native App nutzen.", "errors.unexpected_crash.copy_stacktrace": "Fehlerlog in die Zwischenablage kopieren", "errors.unexpected_crash.report_issue": "Problem melden", + "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", "follow_recommendations.done": "Fertig", "follow_recommendations.heading": "Folge Leuten, von denen du Beiträge sehen möchtest! Hier sind einige Vorschläge.", "follow_recommendations.lead": "Beiträge von Personen, denen du folgst, werden in chronologischer Reihenfolge auf deiner Startseite angezeigt. Hab keine Angst, Fehler zu machen, du kannst den Leuten jederzeit wieder entfolgen!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Einstellungen", "navigation_bar.public_timeline": "Föderierte Zeitleiste", "navigation_bar.security": "Sicherheit", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} hat deinen Beitrag favorisiert", "notification.follow": "{name} folgt dir", "notification.follow_request": "{name} möchte dir folgen", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Mitteilungen löschen", "notifications.clear_confirmation": "Bist du dir sicher, dass du alle Mitteilungen löschen möchtest?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop-Benachrichtigungen", "notifications.column_settings.favourite": "Favorisierungen:", "notifications.column_settings.filter_bar.advanced": "Zeige alle Kategorien an", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "heute", "reply_indicator.cancel": "Abbrechen", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Andere", "report.categories.spam": "Spam", "report.categories.violation": "Inhalt verletzt ein oder mehrere Server-Regeln", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "An {target} weiterleiten", "report.forward_hint": "Dieses Konto ist von einem anderen Server. Soll eine anonymisierte Kopie des Berichts auch dorthin geschickt werden?", - "report.hint": "Der Bericht wird an die Moderatoren des Servers geschickt. Du kannst hier eine Erklärung angeben, warum du dieses Konto meldest:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Zusätzliche Kommentare", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Absenden", "report.target": "{target} melden", + "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.", "search.placeholder": "Suche", "search_popout.search_format": "Fortgeschrittenes Suchformat", "search_popout.tips.full_text": "Einfache Texteingabe gibt Beiträge, die du geschrieben, favorisiert und geteilt hast zurück. Außerdem auch Beiträge in denen du erwähnt wurdest, aber auch passende Nutzernamen, Anzeigenamen oder Hashtags.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Einfache Texteingabe gibt Anzeigenamen, Benutzernamen und Hashtags zurück", "search_popout.tips.user": "Nutzer", "search_results.accounts": "Personen", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Beiträge", "search_results.statuses_fts_disabled": "Die Suche für Beiträge nach ihrem Inhalt ist auf diesem Mastodon-Server deaktiviert.", "search_results.total": "{count, number} {count, plural, one {Ergebnis} other {Ergebnisse}}", diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json index efab2957f..813ff9383 100644 --- a/app/javascript/mastodon/locales/defaultMessages.json +++ b/app/javascript/mastodon/locales/defaultMessages.json @@ -315,15 +315,6 @@ ], "path": "app/javascript/mastodon/components/load_pending.json" }, - { - "descriptors": [ - { - "defaultMessage": "Loading...", - "id": "loading_indicator.label" - } - ], - "path": "app/javascript/mastodon/components/loading_indicator.json" - }, { "descriptors": [ { @@ -1722,6 +1713,69 @@ ], "path": "app/javascript/mastodon/features/domain_blocks/index.json" }, + { + "descriptors": [ + { + "defaultMessage": "Explore", + "id": "explore.title" + }, + { + "defaultMessage": "Search results", + "id": "explore.search_results" + }, + { + "defaultMessage": "Posts", + "id": "explore.trending_statuses" + }, + { + "defaultMessage": "Hashtags", + "id": "explore.trending_tags" + }, + { + "defaultMessage": "News", + "id": "explore.trending_links" + }, + { + "defaultMessage": "For you", + "id": "explore.suggested_follows" + } + ], + "path": "app/javascript/mastodon/features/explore/index.json" + }, + { + "descriptors": [ + { + "defaultMessage": "Could not find anything for these search terms", + "id": "search_results.nothing_found" + }, + { + "defaultMessage": "All", + "id": "search_results.all" + }, + { + "defaultMessage": "People", + "id": "search_results.accounts" + }, + { + "defaultMessage": "Hashtags", + "id": "search_results.hashtags" + }, + { + "defaultMessage": "Toots", + "id": "search_results.statuses" + } + ], + "path": "app/javascript/mastodon/features/explore/results.json" + }, + { + "descriptors": [ + { + "defaultMessage": "Nothing is trending right now. Check back later!", + "id": "empty_column.explore_statuses" + } + ], + "path": "app/javascript/mastodon/features/explore/statuses.json" + }, { "descriptors": [ { @@ -2412,6 +2466,10 @@ { "defaultMessage": "Edits:", "id": "notifications.column_settings.update" + }, + { + "defaultMessage": "New sign-ups:", + "id": "notifications.column_settings.admin.sign_up" } ], "path": "app/javascript/mastodon/features/notifications/components/column_settings.json" @@ -2501,6 +2559,10 @@ "defaultMessage": "{name} edited a post", "id": "notification.update" }, + { + "defaultMessage": "{name} signed up", + "id": "notification.admin.sign_up" + }, { "defaultMessage": "{name} has requested to follow you", "id": "notification.follow_request" @@ -2665,6 +2727,191 @@ ], "path": "app/javascript/mastodon/features/reblogs/index.json" }, + { + "descriptors": [ + { + "defaultMessage": "I don't like it", + "id": "report.reasons.dislike" + }, + { + "defaultMessage": "It is not something you want to see", + "id": "report.reasons.dislike_description" + }, + { + "defaultMessage": "It's spam", + "id": "report.reasons.spam" + }, + { + "defaultMessage": "Malicious links, fake engagement, or repetetive replies", + "id": "report.reasons.spam_description" + }, + { + "defaultMessage": "It violates server rules", + "id": "report.reasons.violation" + }, + { + "defaultMessage": "You are aware that it breaks specific rules", + "id": "report.reasons.violation_description" + }, + { + "defaultMessage": "It's something else", + "id": "report.reasons.other" + }, + { + "defaultMessage": "The issue does not fit into other categories", + "id": "report.reasons.other_description" + }, + { + "defaultMessage": "post", + "id": "report.category.title_status" + }, + { + "defaultMessage": "profile", + "id": "report.category.title_account" + }, + { + "defaultMessage": "Tell us what's going on with this {type}", + "id": "report.category.title" + }, + { + "defaultMessage": "Choose the best match", + "id": "report.category.subtitle" + }, + { + "defaultMessage": "Next", + "id": "report.next" + } + ], + "path": "app/javascript/mastodon/features/report/category.json" + }, + { + "descriptors": [ + { + "defaultMessage": "Type or paste additional comments", + "id": "report.placeholder" + }, + { + "defaultMessage": "Is there anything else you think we should know?", + "id": "report.comment.title" + }, + { + "defaultMessage": "The account is from another server. Send an anonymized copy of the report there as well?", + "id": "report.forward_hint" + }, + { + "defaultMessage": "Forward to {target}", + "id": "report.forward" + }, + { + "defaultMessage": "Submit report", + "id": "report.submit" + } + ], + "path": "app/javascript/mastodon/features/report/comment.json" + }, + { + "descriptors": [ + { + "defaultMessage": "Which rules are being violated?", + "id": "report.rules.title" + }, + { + "defaultMessage": "Select all that apply", + "id": "report.rules.subtitle" + }, + { + "defaultMessage": "Next", + "id": "report.next" + } + ], + "path": "app/javascript/mastodon/features/report/rules.json" + }, + { + "descriptors": [ + { + "defaultMessage": "Are there any posts that back up this report?", + "id": "report.statuses.title" + }, + { + "defaultMessage": "Select all that apply", + "id": "report.statuses.subtitle" + }, + { + "defaultMessage": "Next", + "id": "report.next" + } + ], + "path": "app/javascript/mastodon/features/report/statuses.json" + }, + { + "descriptors": [ + { + "defaultMessage": "Thanks for reporting, we'll look into this.", + "id": "report.thanks.title_actionable" + }, + { + "defaultMessage": "Don't want to see this?", + "id": "report.thanks.title" + }, + { + "defaultMessage": "While we review this, you can take action against @{name}:", + "id": "report.thanks.take_action_actionable" + }, + { + "defaultMessage": "Here are your options for controlling what you see on Mastodon:", + "id": "report.thanks.take_action" + }, + { + "defaultMessage": "Unfollow @{name}", + "id": "report.unfollow" + }, + { + "defaultMessage": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", + "id": "report.unfollow_explanation" + }, + { + "defaultMessage": "Unfollow", + "id": "account.unfollow" + }, + { + "defaultMessage": "Mute @{name}", + "id": "account.mute" + }, + { + "defaultMessage": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "id": "report.mute_explanation" + }, + { + "defaultMessage": "Mute", + "id": "report.mute" + }, + { + "defaultMessage": "Muted", + "id": "account.muted" + }, + { + "defaultMessage": "Block @{name}", + "id": "account.block" + }, + { + "defaultMessage": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "id": "report.block_explanation" + }, + { + "defaultMessage": "Block", + "id": "report.block" + }, + { + "defaultMessage": "Blocked", + "id": "account.blocked" + }, + { + "defaultMessage": "Done", + "id": "report.close" + } + ], + "path": "app/javascript/mastodon/features/report/thanks.json" + }, { "descriptors": [ { @@ -3241,6 +3488,10 @@ "defaultMessage": "Notifications", "id": "tabs_bar.notifications" }, + { + "defaultMessage": "Explore", + "id": "explore.title" + }, { "defaultMessage": "Local", "id": "tabs_bar.local_timeline" @@ -3286,29 +3537,9 @@ "defaultMessage": "Close", "id": "lightbox.close" }, - { - "defaultMessage": "Additional comments", - "id": "report.placeholder" - }, - { - "defaultMessage": "Submit", - "id": "report.submit" - }, { "defaultMessage": "Report {target}", "id": "report.target" - }, - { - "defaultMessage": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", - "id": "report.hint" - }, - { - "defaultMessage": "The account is from another server. Send an anonymized copy of the report there as well?", - "id": "report.forward_hint" - }, - { - "defaultMessage": "Forward to {target}", - "id": "report.forward" } ], "path": "app/javascript/mastodon/features/ui/components/report_modal.json" diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index 450b3aff8..c3dc136ae 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -167,6 +167,7 @@ "empty_column.community": "Η τοπική ροή είναι κενή. Γράψε κάτι δημόσιο παραμύθι ν' αρχινίσει!", "empty_column.direct": "Δεν έχεις προσωπικά μηνύματα ακόμα. Όταν στείλεις ή λάβεις κανένα, θα εμφανιστεί εδώ.", "empty_column.domain_blocks": "Δεν υπάρχουν αποκλεισμένοι τομείς ακόμα.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "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.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Δοκίμασε να τα απενεργοποιήσεις και ανανέωσε τη σελίδα. Αν αυτό δεν βοηθήσει, ίσως να μπορέσεις να χρησιμοποιήσεις το Mastodon μέσω διαφορετικού φυλλομετρητή ή κάποιας εφαρμογής.", "errors.unexpected_crash.copy_stacktrace": "Αντιγραφή μηνυμάτων κώδικα στο πρόχειρο", "errors.unexpected_crash.report_issue": "Αναφορά προβλήματος", + "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", "follow_recommendations.done": "Ολοκληρώθηκε", "follow_recommendations.heading": "Ακολουθήστε άτομα από τα οποία θα θέλατε να βλέπετε δημοσιεύσεις! Ορίστε μερικές προτάσεις.", "follow_recommendations.lead": "Οι αναρτήσεις των ατόμων που ακολουθείτε θα εμφανίζονται με χρονολογική σειρά στη ροή σας. Μη φοβάστε να κάνετε λάθη, καθώς μπορείτε πολύ εύκολα να σταματήσετε να ακολουθείτε άλλα άτομα οποιαδήποτε στιγμή!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Προτιμήσεις", "navigation_bar.public_timeline": "Ομοσπονδιακή ροή", "navigation_bar.security": "Ασφάλεια", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "Ο/Η {name} σημείωσε ως αγαπημένη την κατάστασή σου", "notification.follow": "Ο/Η {name} σε ακολούθησε", "notification.follow_request": "Ο/H {name} ζήτησε να σε παρακολουθεί", @@ -311,6 +319,7 @@ "notification.update": "{name} επεξεργάστηκε μια δημοσίευση", "notifications.clear": "Καθαρισμός ειδοποιήσεων", "notifications.clear_confirmation": "Σίγουρα θέλεις να καθαρίσεις όλες τις ειδοποιήσεις σου;", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Ειδοποιήσεις επιφάνειας εργασίας", "notifications.column_settings.favourite": "Αγαπημένα:", "notifications.column_settings.filter_bar.advanced": "Εμφάνιση όλων των κατηγοριών", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}δ", "relative_time.today": "σήμερα", "reply_indicator.cancel": "Άκυρο", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Άλλες", "report.categories.spam": "Ανεπιθύμητα", "report.categories.violation": "Το περιεχόμενο παραβιάζει έναν ή περισσότερους κανόνες διακομιστή", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Προώθηση προς {target}", "report.forward_hint": "Ο λογαριασμός είναι από διαφορετικό διακομιστή. Να σταλεί ανώνυμο αντίγραφο της καταγγελίας κι εκεί;", - "report.hint": "Η καταγγελία θα σταλεί στους διαχειριστές του κόμβου σου. Μπορείς να περιγράψεις γιατί καταγγέλεις αυτόν το λογαριασμό παρακάτω:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Επιπλέον σχόλια", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "Αναζήτηση", "search_popout.search_format": "Προχωρημένη αναζήτηση", "search_popout.tips.full_text": "Απλό κείμενο που επιστρέφει καταστάσεις που έχεις γράψει, έχεις σημειώσει ως αγαπημένες, έχεις προωθήσει ή έχεις αναφερθεί σε αυτές, καθώς και όσα ονόματα χρηστών και ετικέτες ταιριάζουν.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Απλό κείμενο που επιστρέφει ονόματα και ετικέτες που ταιριάζουν", "search_popout.tips.user": "χρήστης", "search_results.accounts": "Άνθρωποι", + "search_results.all": "All", "search_results.hashtags": "Ετικέτες", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Τουτ", "search_results.statuses_fts_disabled": "Η αναζήτηση τουτ βάσει του περιεχόμενού τους δεν είναι ενεργοποιημένη σε αυτό τον κόμβο.", "search_results.total": "{count, number} {count, plural, zero {αποτελέσματα} one {αποτέλεσμα} other {αποτελέσματα}}", diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index b79488c32..e87541e28 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -167,6 +167,7 @@ "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "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": "There are no blocked domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite posts yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this post yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "Security", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your post", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "Cancel", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Additional comments", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Submit", "report.target": "Reporting {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.", "search.placeholder": "Search", "search_popout.search_format": "Advanced search format", "search_popout.tips.full_text": "Simple text returns posts you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "user", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Posts", "search_results.statuses_fts_disabled": "Searching posts by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 1039bb695..8ef35c03b 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -167,6 +167,7 @@ "empty_column.community": "La loka templinio estas malplena. Skribu ion por plenigi ĝin!", "empty_column.direct": "Vi ankoraŭ ne havas rektan mesaĝon. Kiam vi sendos aŭ ricevos iun, ĝi aperos ĉi tie.", "empty_column.domain_blocks": "Ankoraŭ neniu domajno estas blokita.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Vi ankoraŭ ne stelumis mesaĝon. Kiam vi stelumos iun, tiu aperos ĉi tie.", "empty_column.favourites": "Ankoraŭ neniu stelumis tiun mesaĝon. Kiam iu faros tion, tiu aperos ĉi tie.", "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.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Provu malaktivigi ilin kaj tiam refreŝigi la paĝon. Se tio ne helpas, vi ankoraŭ povus uzi Mastodon per malsama retumilo aŭ operaciuma aplikajo.", "errors.unexpected_crash.copy_stacktrace": "Kopii stakspuron en tondujo", "errors.unexpected_crash.report_issue": "Raporti problemon", + "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", "follow_recommendations.done": "Farita", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferoj", "navigation_bar.public_timeline": "Fratara templinio", "navigation_bar.security": "Sekureco", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} stelumis vian mesaĝon", "notification.follow": "{name} eksekvis vin", "notification.follow_request": "{name} petis sekvi vin", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Forviŝi sciigojn", "notifications.clear_confirmation": "Ĉu vi certas, ke vi volas porĉiame forviŝi ĉiujn viajn sciigojn?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Retumilaj sciigoj", "notifications.column_settings.favourite": "Stelumoj:", "notifications.column_settings.filter_bar.advanced": "Montri ĉiujn kategoriojn", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "hodiaŭ", "reply_indicator.cancel": "Nuligi", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Plusendi al {target}", "report.forward_hint": "La konto estas en alia servilo. Ĉu sendi sennomigitan kopion de la signalo ankaŭ tien?", - "report.hint": "La signalo estos sendita al la kontrolantoj de via servilo. Vi povas doni klarigon pri kial vi signalas ĉi tiun konton sube:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Pliaj komentoj", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Sendi", "report.target": "Signali {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.", "search.placeholder": "Serĉi", "search_popout.search_format": "Detala serĉo", "search_popout.tips.full_text": "Simplaj tekstoj montras la mesaĝojn, kiujn vi skribis, stelumis, diskonigis, aŭ en kiuj vi estis menciita, sed ankaŭ kongruajn uzantnomojn, montratajn nomojn, kaj kradvortojn.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simpla teksto montras la kongruajn afiŝitajn nomojn, uzantnomojn kaj kradvortojn", "search_popout.tips.user": "uzanto", "search_results.accounts": "Homoj", + "search_results.all": "All", "search_results.hashtags": "Kradvortoj", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Mesaĝoj", "search_results.statuses_fts_disabled": "Serĉi mesaĝojn laŭ enhavo ne estas ebligita en ĉi tiu Mastodon-servilo.", "search_results.total": "{count, number} {count, plural, one {rezulto} other {rezultoj}}", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index 24902a058..569496c01 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -167,6 +167,7 @@ "empty_column.community": "La línea temporal local está vacía. ¡Escribí algo en modo público para que se empiece a correr la bola!", "empty_column.direct": "Todavía no tenés ningún mensaje directo. Cuando enviés o recibás uno, se mostrará acá.", "empty_column.domain_blocks": "Todavía no hay dominios bloqueados.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Todavía no tenés mensajes favoritos. Cuando marqués uno como favorito, se mostrará acá.", "empty_column.favourites": "Todavía nadie marcó este mensaje como favorito. Cuando alguien lo haga, se mostrará acá.", "empty_column.follow_recommendations": "Parece que no se pudieron generar sugerencias para vos. Podés intentar buscar gente que conozcas o explorar las tendencias de las etiquetas.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Intentá deshabilitarlos y recargá la página. Si eso no ayuda, podés usar Mastodon a través de un navegador web diferente o aplicación nativa.", "errors.unexpected_crash.copy_stacktrace": "Copiar stacktrace al portapapeles", "errors.unexpected_crash.report_issue": "Informar problema", + "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", "follow_recommendations.done": "Listo", "follow_recommendations.heading": "¡Seguí cuentas cuyos mensajes te gustaría ver! Acá tenés algunas sugerencias.", "follow_recommendations.lead": "Los mensajes de las cuentas que seguís aparecerán en orden cronológico en la columna \"Inicio\". No tengás miedo de meter la pata, ¡podés dejar de seguir cuentas fácilmente en cualquier momento!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Configuración", "navigation_bar.public_timeline": "Línea temporal federada", "navigation_bar.security": "Seguridad", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} marcó tu mensaje como favorito", "notification.follow": "{name} te empezó a seguir", "notification.follow_request": "{name} solicitó seguirte", @@ -311,6 +319,7 @@ "notification.update": "{name} editó un mensaje", "notifications.clear": "Limpiar notificaciones", "notifications.clear_confirmation": "¿Estás seguro que querés limpiar todas tus notificaciones permanentemente?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Notificaciones de escritorio", "notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "hoy", "reply_indicator.cancel": "Cancelar", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Otra", "report.categories.spam": "Spam", "report.categories.violation": "El contenido viola una o más reglas del servidor", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Reenviar a {target}", "report.forward_hint": "La cuenta es de otro servidor. ¿Querés enviar una copia anonimizada del informe también ahí?", - "report.hint": "La denuncia se enviará a los moderadores de tu servidor. A continuación, podés proporcionar una explicación de por qué estás denunciando esta cuenta:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Comentarios adicionales", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Enviar", "report.target": "Denunciando a {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.", "search.placeholder": "Buscar", "search_popout.search_format": "Formato de búsqueda avanzada", "search_popout.tips.full_text": "Las búsquedas de texto simple devuelven los mensajes que escribiste, los marcados como favoritos, los adheridos o en los que te mencionaron, así como nombres de usuarios, nombres mostrados y etiquetas.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Las búsquedas de texto simple devuelven nombres de usuarios, nombres mostrados y etiquetas que coincidan", "search_popout.tips.user": "usuario", "search_results.accounts": "Gente", + "search_results.all": "All", "search_results.hashtags": "Etiquetas", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Mensajes", "search_results.statuses_fts_disabled": "No se pueden buscar mensajes por contenido en este servidor de Mastodon.", "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index ad967f4e9..517e72147 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -167,6 +167,7 @@ "empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!", "empty_column.direct": "Aún no tienes ningún mensaje directo. Cuando envíes o recibas uno, se mostrará aquí.", "empty_column.domain_blocks": "Todavía no hay dominios ocultos.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Aún no tienes toots preferidos. Cuando marques uno como favorito, aparecerá aquí.", "empty_column.favourites": "Nadie ha marcado este toot como preferido. Cuando alguien lo haga, aparecerá aquí.", "empty_column.follow_recommendations": "Parece que no se ha podido generar ninguna sugerencia para ti. Puedes probar a buscar a gente que quizá conozcas o explorar los hashtags que están en tendencia.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Intenta deshabilitarlos y recarga la página. Si eso no ayuda, podrías usar Mastodon a través de un navegador web diferente o aplicación nativa.", "errors.unexpected_crash.copy_stacktrace": "Copiar el seguimiento de pila en el portapapeles", "errors.unexpected_crash.report_issue": "Informar de un problema/error", + "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", "follow_recommendations.done": "Hecho", "follow_recommendations.heading": "¡Sigue a gente que publique cosas que te gusten! Aquí tienes algunas sugerencias.", "follow_recommendations.lead": "Las publicaciones de la gente a la que sigas aparecerán ordenadas cronológicamente en Inicio. No tengas miedo de cometer errores, ¡puedes dejarles de seguir en cualquier momento con la misma facilidad!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferencias", "navigation_bar.public_timeline": "Historia federada", "navigation_bar.security": "Seguridad", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} marcó tu estado como favorito", "notification.follow": "{name} te empezó a seguir", "notification.follow_request": "{name} ha solicitado seguirte", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Limpiar notificaciones", "notifications.clear_confirmation": "¿Seguro que quieres limpiar permanentemente todas tus notificaciones?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Notificaciones de escritorio", "notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number} s", "relative_time.today": "hoy", "reply_indicator.cancel": "Cancelar", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Otros", "report.categories.spam": "Spam", "report.categories.violation": "El contenido viola una o más reglas del servidor", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Reenviar a {target}", "report.forward_hint": "Esta cuenta es de otro servidor. ¿Enviar una copia anonimizada del informe allí también?", - "report.hint": "El informe se enviará a los moderadores de tu instancia. Puedes proporcionar una explicación de por qué informas sobre esta cuenta a continuación:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Comentarios adicionales", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Publicar", "report.target": "Reportando", + "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.", "search.placeholder": "Buscar", "search_popout.search_format": "Formato de búsqueda avanzada", "search_popout.tips.full_text": "Búsquedas de texto recuperan posts que has escrito, marcado como favoritos, retooteado o en los que has sido mencionado, así como usuarios, nombres y hashtags.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "El texto simple devuelve correspondencias de nombre, usuario y hashtag", "search_popout.tips.user": "usuario", "search_results.accounts": "Gente", + "search_results.all": "All", "search_results.hashtags": "Etiquetas", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Buscar toots por su contenido no está disponible en este servidor de Mastodon.", "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index c4d1a9d59..37cce12ff 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -167,6 +167,7 @@ "empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!", "empty_column.direct": "Aún no tienes ningún mensaje directo. Cuando envíes o recibas uno, se mostrará aquí.", "empty_column.domain_blocks": "Todavía no hay dominios ocultos.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Aún no tienes publicaciones favoritas. Cuando marques una como favorita, aparecerá aquí.", "empty_column.favourites": "Nadie ha marcado esta publicación como favorita. Cuando alguien lo haga, aparecerá aquí.", "empty_column.follow_recommendations": "Parece que no se ha podido generar ninguna sugerencia para ti. Puedes probar a buscar a gente que quizá conozcas o explorar los hashtags que están en tendencia.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Intenta deshabilitarlos y recarga la página. Si eso no ayuda, podrías usar Mastodon a través de un navegador web diferente o aplicación nativa.", "errors.unexpected_crash.copy_stacktrace": "Copiar el seguimiento de pila en el portapapeles", "errors.unexpected_crash.report_issue": "Informar de un problema/error", + "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", "follow_recommendations.done": "Hecho", "follow_recommendations.heading": "¡Sigue a gente que publique cosas que te gusten! Aquí tienes algunas sugerencias.", "follow_recommendations.lead": "Las publicaciones de la gente a la que sigas aparecerán ordenadas cronológicamente en Inicio. No tengas miedo de cometer errores, ¡puedes dejarles de seguir en cualquier momento con la misma facilidad!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferencias", "navigation_bar.public_timeline": "Historia federada", "navigation_bar.security": "Seguridad", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} marcó tu estado como favorito", "notification.follow": "{name} te empezó a seguir", "notification.follow_request": "{name} ha solicitado seguirte", @@ -311,6 +319,7 @@ "notification.update": "{name} editó una publicación", "notifications.clear": "Limpiar notificaciones", "notifications.clear_confirmation": "¿Seguro que quieres limpiar permanentemente todas tus notificaciones?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Notificaciones de escritorio", "notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number} s", "relative_time.today": "hoy", "reply_indicator.cancel": "Cancelar", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Otros", "report.categories.spam": "Spam", "report.categories.violation": "El contenido viola una o más reglas del servidor", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Reenviar a {target}", "report.forward_hint": "Esta cuenta es de otro servidor. ¿Enviar una copia anonimizada del informe allí también?", - "report.hint": "El informe se enviará a los moderadores de tu instancia. Puedes proporcionar una explicación de por qué informas sobre esta cuenta a continuación:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Comentarios adicionales", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Publicar", "report.target": "Reportando", + "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.", "search.placeholder": "Buscar", "search_popout.search_format": "Formato de búsqueda avanzada", "search_popout.tips.full_text": "Las búsquedas de texto recuperan publicaciones que has escrito, marcado como favoritas, retooteado o en los que has sido mencionado, así como usuarios, nombres y hashtags.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "El texto simple devuelve correspondencias de nombre, usuario y hashtag", "search_popout.tips.user": "usuario", "search_results.accounts": "Gente", + "search_results.all": "All", "search_results.hashtags": "Etiquetas", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Publicaciones", "search_results.statuses_fts_disabled": "Buscar publicaciones por su contenido no está disponible en este servidor de Mastodon.", "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}", diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json index 8f180c411..2eca42e09 100644 --- a/app/javascript/mastodon/locales/et.json +++ b/app/javascript/mastodon/locales/et.json @@ -167,6 +167,7 @@ "empty_column.community": "Kohalik ajajoon on tühi. Kirjutage midagi avalikult, et pall veerema ajada!", "empty_column.direct": "Teil ei ole veel otsesõnumeid. Kui saadate või võtate mõne vastu, ilmuvad nad siia.", "empty_column.domain_blocks": "Siin ei ole veel peidetud domeene.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "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.", @@ -185,6 +186,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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Eelistused", "navigation_bar.public_timeline": "Föderatiivne ajajoon", "navigation_bar.security": "Turvalisus", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} märkis Teie staatuse lemmikuks", "notification.follow": "{name} jälgib nüüd Teid", "notification.follow_request": "{name} soovib Teid jälgida", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Puhasta teated", "notifications.clear_confirmation": "Olete kindel, et soovite püsivalt kõik oma teated eemaldada?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Töölauateated", "notifications.column_settings.favourite": "Lemmikud:", "notifications.column_settings.filter_bar.advanced": "Kuva kõik kategooriad", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "täna", "reply_indicator.cancel": "Tühista", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Edasta kasutajale {target}", "report.forward_hint": "See kasutaja on teisest serverist. Kas saadan anonümiseeritud koopia sellest teatest sinna ka?", - "report.hint": "See teade saadetakse Teie serveri moderaatoritele. Te saate lisada selgituse selle kohta, miks selle kasutaja kohta teate esitasite, siin:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Lisaks kommentaarid", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Saada", "report.target": "Teatamine {target} kohta", + "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.", "search.placeholder": "Otsi", "search_popout.search_format": "Täiustatud otsiformaat", "search_popout.tips.full_text": "Lihtne tekst toob esile staatused mida olete kirjutanud, lisanud lemmikuks, upitanud või olete seal mainitud, ning lisaks veel kattuvad kasutajanimed, kuvanimed ja sildid.", @@ -395,7 +432,9 @@ "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.hashtags": "Sildid", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Tuudid", "search_results.statuses_fts_disabled": "Tuutsude otsimine nende sisu järgi ei ole sellel Mastodoni serveril sisse lülitatud.", "search_results.total": "{count, number} {count, plural, one {tulemus} other {tulemust}}", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index da3d66a9a..0d3eec701 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -167,6 +167,7 @@ "empty_column.community": "Denbora-lerro lokala hutsik dago. Idatzi zerbait publikoki pilota biraka jartzeko!", "empty_column.direct": "Ez duzu mezu zuzenik oraindik. Baten bat bidali edo jasotzen duzunean, hemen agertuko da.", "empty_column.domain_blocks": "Ez dago ezkutatutako domeinurik oraindik.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Ez duzu gogokorik oraindik. Gogokoren bat duzunean hemen agertuko da.", "empty_column.favourites": "Ez du inork gogokoetara gehitu bidalketa hau oraindik. Inork egiten duenean, hemen agertuko dira.", "empty_column.follow_recommendations": "Dirudienez ezin izan da zuretzako proposamenik sortu. Bilaketa erabili dezakezu ezagutzen duzun jendea aurkitzeko edo traolen joerak arakatu.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Saiatu desgaitu eta orria berritzen. Horrek ez badu laguntzen, agian Mastodon erabiltzeko aukera duzu oraindik ere beste nabigatzaile bat edo aplikazio natibo bat erabilita.", "errors.unexpected_crash.copy_stacktrace": "Kopiatu irteera arbelera", "errors.unexpected_crash.report_issue": "Eman arazoaren berri", + "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", "follow_recommendations.done": "Egina", "follow_recommendations.heading": "Jarraitu jendea beren bidalketak ikusteko! Hemen dituzu iradokizun batzuk.", "follow_recommendations.lead": "Jarraitzen duzun jendearen bidalketak ordena kronologikoan agertuko dira zure hasierako jarioan. Ez izan akatsak egiteko beldurrik, jendea jarraitzeari uztea erraza da!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Hobespenak", "navigation_bar.public_timeline": "Federatutako denbora-lerroa", "navigation_bar.security": "Segurtasuna", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name}(e)k zure bidalketa gogoko du", "notification.follow": "{name}(e)k jarraitzen zaitu", "notification.follow_request": "{name}(e)k zu jarraitzeko eskaera egin du", @@ -311,6 +319,7 @@ "notification.update": "{name} erabiltzaileak bidalketa bat editatu du", "notifications.clear": "Garbitu jakinarazpenak", "notifications.clear_confirmation": "Ziur zure jakinarazpen guztiak behin betirako garbitu nahi dituzula?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Mahaigaineko jakinarazpenak", "notifications.column_settings.favourite": "Gogokoak:", "notifications.column_settings.filter_bar.advanced": "Erakutsi kategoria guztiak", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "gaur", "reply_indicator.cancel": "Utzi", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Bestelakoak", "report.categories.spam": "Spam", "report.categories.violation": "Edukiak zerbitzariko arau bat edo gehiago urratzen ditu", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Birbidali hona: {target}", "report.forward_hint": "Kontu hau beste zerbitzari batekoa da. Bidali txostenaren kopia anonimo hara ere?", - "report.hint": "Txostena zure zerbitzariaren moderatzaileei bidaliko zaie. Kontu hau zergatik salatzen duzun behean azaldu dezakezu:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Iruzkin gehigarriak", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Bidali", "report.target": "{target} salatzen", + "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.", "search.placeholder": "Bilatu", "search_popout.search_format": "Bilaketa aurreratuaren formatua", "search_popout.tips.full_text": "Testu hutsarekin zuk idatzitako bidalketak, gogokoak, bultzadak edo aipamenak aurkitu ditzakezu, bat datozen erabiltzaile-izenak, pantaila-izenak, eta traolak.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Testu hutsak pantaila-izenak, erabiltzaile-izenak eta traolak bilatzen ditu", "search_popout.tips.user": "erabiltzailea", "search_results.accounts": "Jendea", + "search_results.all": "All", "search_results.hashtags": "Traolak", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Bidalketak", "search_results.statuses_fts_disabled": "Mastodon zerbitzari honek ez du bidalketen edukiaren bilaketa gaitu.", "search_results.total": "{count, number} {count, plural, one {emaitza} other {emaitza}}", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index 76dd3fdc0..2024903d0 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -167,6 +167,7 @@ "empty_column.community": "خط زمانی محلّی خالی است. چیزی بنویسید تا چرخش بچرخد!", "empty_column.direct": "هنوز هیچ پیام مستقیمی ندارید. هنگامی که چنین پیامی بگیرید یا بفرستید این‌جا نشان داده خواهد شد.", "empty_column.domain_blocks": "هنوز هیچ دامنه‌ای مسدود نشده است.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "شما هنوز هیچ فرسته‌ای را نپسندیده‌اید. هنگامی که فرسته‌ای را بپسندید، این‌جا نشان داده خواهد شد.", "empty_column.favourites": "هنوز هیچ کسی این فرسته را نپسندیده است. هنگامی که کسی آن را بپسندد، این‌جا نشان داده خواهد شد.", "empty_column.follow_recommendations": "ظاهرا هیچ پیشنهادی برای شما نمی‌توانیم تولید کنیم. می‌توانید از امکان جست‌وجو برای یافتن افرادی که ممکن است بشناسید و یا کاوش میان برچسب‌های داغ استفاده کنید.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "لطفاً از کارشان انداخته و صفحه را نوسازی کنید. اگر کمکی نکرد، شاید همچنان بتوانید با مرورگری دیگر یا با کاره‌ای بومی از ماستودون استفاده کنید.", "errors.unexpected_crash.copy_stacktrace": "رونوشت از جزئیات اشکال", "errors.unexpected_crash.report_issue": "گزارش مشکل", + "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", "follow_recommendations.done": "انجام شد", "follow_recommendations.heading": "افرادی را که می‌خواهید فرسته‌هایشان را ببینید پی‌گیری کنید! این‌ها تعدادی پیشنهاد هستند.", "follow_recommendations.lead": "فرسته‌های افرادی که دنبال می‌کنید به ترتیب زمانی در خوراک خانه‌تان نشان داده خواهد شد. از اشتباه کردن نترسید. می‌توانید به همین سادگی در هر زمانی از دنبال کردن افراد دست بکشید!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "ترجیحات", "navigation_bar.public_timeline": "خط زمانی همگانی", "navigation_bar.security": "امنیت", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "‫{name}‬ فرسته‌تان را پسندید", "notification.follow": "‫{name}‬ پی‌گیرتان شد", "notification.follow_request": "{name} می‌خواهد پی‌گیر شما باشد", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "پاک‌سازی آگاهی‌ها", "notifications.clear_confirmation": "مطمئنید می‌خواهید همهٔ آگاهی‌هایتان را برای همیشه پاک کنید؟", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "آگاهی‌های میزکار", "notifications.column_settings.favourite": "پسندیده‌ها:", "notifications.column_settings.filter_bar.advanced": "نمایش همۀ دسته‌ها", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number} ثانیه", "relative_time.today": "امروز", "reply_indicator.cancel": "لغو", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "فرستادن به {target}", "report.forward_hint": "این حساب در کارساز دیگری ثبت شده. آیا می‌خواهید رونوشتی ناشناس از این گزارش به آن‌جا هم فرستاده شود؟", - "report.hint": "این گزارش به مدیران کارسازتان فرستاده خواهد شد. می‌توانید دلیل گزارش این حساب را در ادامه بنویسید:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "توضیحات اضافه", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "جست‌وجو", "search_popout.search_format": "راهنمای جست‌وجوی پیشرفته", "search_popout.tips.full_text": "جست‌وجوی متنی ساده فرسته‌هایی که نوشته، پسندیده، تقویت‌کرده یا در آن‌ها نام‌برده شده‌اید را به علاوهٔ نام‌های کاربری، نام‌های نمایشی و برچسب‌ها برمی‌گرداند.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "جست‌وجوی متنی ساده برای نام‌ها، نام‌های کاربری، و برچسب‌ها", "search_popout.tips.user": "کاربر", "search_results.accounts": "افراد", + "search_results.all": "All", "search_results.hashtags": "برچسب‌ها", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "فرسته‌ها", "search_results.statuses_fts_disabled": "جست‌وجوی محتوای فرسته‌ها در این کارساز ماستودون فعال نشده است.", "search_results.total": "{count, number} {count, plural, one {نتیجه} other {نتیجه}}", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index e3436ac84..c5952c41d 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -167,6 +167,7 @@ "empty_column.community": "Paikallinen aikajana on tyhjä. Kirjoita jotain julkista, niin homma lähtee käyntiin!", "empty_column.direct": "Sinulla ei ole vielä yhtään viestiä yksittäiselle käyttäjälle. Kun lähetät tai vastaanotat sellaisen, se näkyy täällä.", "empty_column.domain_blocks": "Yhtään verkko-osoitetta ei ole vielä estetty.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Et ole vielä lisännyt viestejä kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.", "empty_column.favourites": "Kukaan ei ole vielä lisännyt tätä viestiä suosikkeihinsa. Kun joku tekee niin, näkyy kyseinen henkilö tässä.", "empty_column.follow_recommendations": "Näyttää siltä, että sinulle ei voi luoda ehdotuksia. Voit yrittää etsiä ihmisiä, jotka saatat tuntea tai tutkia trendaavia aihesanoja.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Yritä poistaa ne käytöstä ja päivittää sivu. Jos se ei auta, voit silti käyttää Mastodonia eri selaimen tai sovelluksen kautta.", "errors.unexpected_crash.copy_stacktrace": "Kopioi pinon jäljitys leikepöydälle", "errors.unexpected_crash.report_issue": "Ilmoita ongelmasta", + "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", "follow_recommendations.done": "Valmis", "follow_recommendations.heading": "Seuraa ihmisiä, joilta haluaisit nähdä julkaisuja! Tässä on muutamia ehdotuksia.", "follow_recommendations.lead": "Seuraamiesi julkaisut näkyvät aikajärjestyksessä kotisyötteessä. Älä pelkää seurata vahingossa, voit lopettaa seuraamisen yhtä helposti!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Asetukset", "navigation_bar.public_timeline": "Yleinen aikajana", "navigation_bar.security": "Turvallisuus", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} tykkäsi viestistäsi", "notification.follow": "{name} seurasi sinua", "notification.follow_request": "{name} haluaa seurata sinua", @@ -311,6 +319,7 @@ "notification.update": "{name} muokkasi viestiä", "notifications.clear": "Tyhjennä ilmoitukset", "notifications.clear_confirmation": "Haluatko varmasti poistaa kaikki ilmoitukset pysyvästi?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Työpöytäilmoitukset", "notifications.column_settings.favourite": "Tykkäykset:", "notifications.column_settings.filter_bar.advanced": "Näytä kaikki kategoriat", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number} sek", "relative_time.today": "tänään", "reply_indicator.cancel": "Peruuta", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Muu", "report.categories.spam": "Roskaposti", "report.categories.violation": "Sisältö rikkoo yhden tai useamman palvelimen sääntöjä", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Välitä kohteeseen {target}", "report.forward_hint": "Tämä tili on toisella palvelimella. Haluatko lähettää nimettömän raportin myös sinne?", - "report.hint": "Raportti lähetetään oman palvelimesi moderaattoreille. Voit kertoa alla, miksi raportoit tästä tilistä:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Lisäkommentit", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Lähetä", "report.target": "Raportoidaan {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.", "search.placeholder": "Hae", "search_popout.search_format": "Tarkennettu haku", "search_popout.tips.full_text": "Tekstihaku listaa tilapäivitykset, jotka olet kirjoittanut, lisännyt suosikkeihisi, boostannut tai joissa sinut mainitaan, sekä tekstin sisältävät käyttäjänimet, nimimerkit ja hastagit.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Tekstihaku listaa hakua vastaavat nimimerkit, käyttäjänimet ja hastagit", "search_popout.tips.user": "käyttäjä", "search_results.accounts": "Ihmiset", + "search_results.all": "All", "search_results.hashtags": "Aihetunnisteet", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Viestit", "search_results.statuses_fts_disabled": "Viestien haku sisällön perusteella ei ole käytössä tällä Mastodon-palvelimella.", "search_results.total": "{count, number} {count, plural, one {tulos} other {tulokset}}", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 8d10a7149..786e0b535 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -167,6 +167,7 @@ "empty_column.community": "Le fil public local est vide. Écrivez donc quelque chose pour le remplir !", "empty_column.direct": "Vous n’avez pas encore de messages directs. Lorsque vous en enverrez ou recevrez un, il s’affichera ici.", "empty_column.domain_blocks": "Il n’y a aucun domaine bloqué pour le moment.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Vous n’avez pas encore de message en favori. Lorsque vous en ajouterez un, il apparaîtra ici.", "empty_column.favourites": "Personne n’a encore ajouté ce message à ses favoris. Lorsque quelqu’un le fera, il apparaîtra ici.", "empty_column.follow_recommendations": "Il semble qu’aucune suggestion n’ait pu être générée pour vous. Vous pouvez essayer d’utiliser la recherche pour découvrir des personnes que vous pourriez connaître ou explorer les hashtags tendance.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Essayez de les désactiver et de rafraîchir la page. Si cela ne vous aide pas, vous pouvez toujours utiliser Mastodon via un autre navigateur ou une application native.", "errors.unexpected_crash.copy_stacktrace": "Copier la trace d'appels dans le presse-papier", "errors.unexpected_crash.report_issue": "Signaler le problème", + "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", "follow_recommendations.done": "Terminé", "follow_recommendations.heading": "Suivez les personnes dont vous aimeriez voir les messages ! Voici quelques suggestions.", "follow_recommendations.lead": "Les messages des personnes que vous suivez apparaîtront par ordre chronologique sur votre fil d'accueil. Ne craignez pas de faire des erreurs, vous pouvez arrêter de suivre les gens aussi facilement à tout moment !", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Préférences", "navigation_bar.public_timeline": "Fil public global", "navigation_bar.security": "Sécurité", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} a ajouté le message à ses favoris", "notification.follow": "{name} vous suit", "notification.follow_request": "{name} a demandé à vous suivre", @@ -311,6 +319,7 @@ "notification.update": "{name} a modifié un message", "notifications.clear": "Effacer les notifications", "notifications.clear_confirmation": "Voulez-vous vraiment effacer toutes vos notifications ?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Notifications du navigateur", "notifications.column_settings.favourite": "Favoris :", "notifications.column_settings.filter_bar.advanced": "Afficher toutes les catégories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number} s", "relative_time.today": "aujourd’hui", "reply_indicator.cancel": "Annuler", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Autre", "report.categories.spam": "Spam", "report.categories.violation": "Le contenu enfreint une ou plusieurs règles du serveur", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Transférer à {target}", "report.forward_hint": "Le compte provient d’un autre serveur. Envoyer également une copie anonyme du rapport ?", - "report.hint": "Le rapport sera envoyé aux modérateur·rice·s de votre serveur. Vous pouvez expliquer pourquoi vous signalez le compte ci-dessous :", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Commentaires additionnels", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Envoyer", "report.target": "Signalement de {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.", "search.placeholder": "Rechercher", "search_popout.search_format": "Recherche avancée", "search_popout.tips.full_text": "Un texte normal retourne les messages que vous avez écrits, ajoutés à vos favoris, partagés, ou vous mentionnant, ainsi que les identifiants, les noms affichés, et les hashtags des personnes et messages correspondants.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Un texte simple renvoie les noms affichés, les identifiants et les hashtags correspondants", "search_popout.tips.user": "utilisateur·ice", "search_results.accounts": "Comptes", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Messages", "search_results.statuses_fts_disabled": "La recherche de messages par leur contenu n'est pas activée sur ce serveur Mastodon.", "search_results.total": "{count, number} {count, plural, one {résultat} other {résultats}}", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index 60e6441c3..06a6bca5b 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -167,6 +167,7 @@ "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "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": "There are no hidden domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "Security", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "Cancel", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Additional comments", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Submit", "report.target": "Report {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.", "search.placeholder": "Search", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "user", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index a7ffbe6b2..ba3adfcea 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -167,6 +167,7 @@ "empty_column.community": "Tha an loidhne-ama ionadail falamh. Sgrìobh rudeigin gu poblach airson toiseach-tòiseachaidh a dhèanamh!", "empty_column.direct": "Chan eil teachdaireachd dhìreach agad fhathast. Nuair a chuireas no a gheibh thu tè, nochdaidh i an-seo.", "empty_column.domain_blocks": "Cha deach àrainn sam bith a bhacadh fhathast.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Chan eil annsachd air post agad fhathast. Nuair a nì thu annsachd de dh’fhear, nochdaidh e an-seo.", "empty_column.favourites": "Chan eil am post seo ’na annsachd aig duine sam bith fhathast. Nuair a nì daoine annsachd dheth, nochdaidh iad an-seo.", "empty_column.follow_recommendations": "Chan urrainn dhuinn dad a mholadh dhut. Cleachd gleus an luirg feuch an lorg thu daoine air a bheil thu eòlach no rùraich na tagaichean-hais a tha a’ treandadh.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Feuch an cuir thu à comas iad ’s gun ath-nuadhaich thu an duilleag seo. Mura cuidich sin, dh’fhaoidte gur urrainn dhut Mastodon a chleachdadh fhathast le brabhsair eile no le aplacaid thùsail.", "errors.unexpected_crash.copy_stacktrace": "Cuir lethbhreac dhen stacktrace air an stòr-bhòrd", "errors.unexpected_crash.report_issue": "Dèan aithris air an duilgheadas", + "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", "follow_recommendations.done": "Deiseil", "follow_recommendations.heading": "Lean air daoine ma tha thu airson nam postaichean aca fhaicinn! Seo moladh no dà dhut.", "follow_recommendations.lead": "Nochdaidh na postaichean aig na daoine air a leanas tu a-rèir an ama air inbhir na dachaighe agad. Bi dàna on as urrainn dhut sgur de leantainn air daoine cuideachd uair sam bith!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Roghainnean", "navigation_bar.public_timeline": "Loidhne-ama cho-naisgte", "navigation_bar.security": "Tèarainteachd", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "Is annsa le {name} am post agad", "notification.follow": "Tha {name} a’ leantainn ort a-nis", "notification.follow_request": "Dh’iarr {name} leantainn ort", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Falamhaich na brathan", "notifications.clear_confirmation": "A bheil thu cinnteach gu bheil thu airson na brathan uile agad fhalamhachadh gu buan?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Brathan deasga", "notifications.column_settings.favourite": "Na h-annsachdan:", "notifications.column_settings.filter_bar.advanced": "Seall a h-uile roinn-seòrsa", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}d", "relative_time.today": "an-diugh", "reply_indicator.cancel": "Sguir dheth", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Sìn air adhart gu {target}", "report.forward_hint": "Chaidh an cunntas a chlàradh air frithealaiche eile. A bheil thu airson lethbhreac dhen ghearan a chur dha-san gun ainm cuideachd?", - "report.hint": "Thèid do ghearan a chur gu maoir an fhrithealaiche agad. ’S urrainn dhut mìneachadh a sholar air carson a tha thu a’ gearan mun chunntas gu h-ìosal:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Beachdan a bharrachd", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Cuir a-null", "report.target": "A’ gearan mu {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.", "search.placeholder": "Lorg", "search_popout.search_format": "Fòrmat adhartach an luirg", "search_popout.tips.full_text": "Bheir teacsa sìmplidh dhut na postaichean a sgrìobh thu, a tha nan annsachdan dhut, a bhrosnaich thu no san deach iomradh a thoirt ort cho math ri ainmean-cleachdaiche, ainmean taisbeanaidh agus tagaichean hais a mhaidsicheas.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Bheir teacsa sìmplidh dhut na h-ainmean-cleachdaiche, ainmean taisbeanaidh agus tagaichean hais a mhaidsicheas", "search_popout.tips.user": "cleachdaiche", "search_results.accounts": "Daoine", + "search_results.all": "All", "search_results.hashtags": "Tagaichean hais", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Postaichean", "search_results.statuses_fts_disabled": "Chan eil lorg phostaichean a-rèir an susbaint an comas air an fhrithealaiche Mastodon seo.", "search_results.total": "{count, number} {count, plural, one {toradh} two {thoradh} few {toraidhean} other {toradh}}", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 39f121065..63d4d7dbc 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -167,6 +167,7 @@ "empty_column.community": "A cronoloxía local está baleira. Escribe algo de xeito público para espallalo!", "empty_column.direct": "Aínda non tes mensaxes directas. Cando envíes ou recibas unha, amosarase aquí.", "empty_column.domain_blocks": "Aínda non hai dominios agochados.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Aínda non tes publicacións favoritas. Cando che guste algunha, aparecerá aquí.", "empty_column.favourites": "A ninguén lle gustou esta publicación polo momento. Cando a alguén lle guste, aparecerá aquí.", "empty_column.follow_recommendations": "Semella que non temos suxestións para ti. Podes utilizar a busca para atopar persoas que coñezas ou explorar os cancelos en voga.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Intenta desactivalas e actualiza a páxina. Se isto non funciona, podes seguir usando Mastodon nun navegador diferente ou aplicación nativa.", "errors.unexpected_crash.copy_stacktrace": "Copiar trazas (stacktrace) ó portapapeis", "errors.unexpected_crash.report_issue": "Informar sobre un problema", + "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", "follow_recommendations.done": "Feito", "follow_recommendations.heading": "Segue a persoas das que queiras ler publicacións! Aqui tes unhas suxestións.", "follow_recommendations.lead": "As publicacións das persoas que segues aparecerán na túa cronoloxía de inicio ordenadas temporalmente. Non teñas medo a equivocarte, podes deixar de seguirlas igual de fácil en calquera momento!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferencias", "navigation_bar.public_timeline": "Cronoloxía federada", "navigation_bar.security": "Seguranza", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} marcou a túa publicación como favorita", "notification.follow": "{name} comezou a seguirte", "notification.follow_request": "{name} solicitou seguirte", @@ -311,6 +319,7 @@ "notification.update": "{name} editou unha publicación", "notifications.clear": "Limpar notificacións", "notifications.clear_confirmation": "Tes a certeza de querer limpar de xeito permanente todas as túas notificacións?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Notificacións de escritorio", "notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.filter_bar.advanced": "Amosar todas as categorías", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "hoxe", "reply_indicator.cancel": "Desbotar", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Outro", "report.categories.spam": "Spam", "report.categories.violation": "O contido viola unha ou máis regras do servidor", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Reenviar a {target}", "report.forward_hint": "A conta é doutro servidor. Enviar unha copia anónima da denuncia aló tamén?", - "report.hint": "A denuncia enviarase á moderación do teu servidor. Abaixo podes explicar a razón pola que estás a denunciar:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Comentarios adicionais", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Enviar", "report.target": "Denunciar a {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.", "search.placeholder": "Procurar", "search_popout.search_format": "Formato de procura avanzada", "search_popout.tips.full_text": "Texto simple devolve toots que ti escribiches, promoviches, marcaches favoritos, ou foches mencionada, así como nomes de usuaria coincidentes, nomes públicos e cancelos.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Texto simple devolve coincidencias con nomes públicos, nomes de usuaria e cancelos", "search_popout.tips.user": "usuaria", "search_results.accounts": "Persoas", + "search_results.all": "All", "search_results.hashtags": "Cancelos", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Publicacións", "search_results.statuses_fts_disabled": "Procurar publicacións polo seu contido non está activado neste servidor do Mastodon.", "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index c163812ac..fd97ce53c 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -167,6 +167,7 @@ "empty_column.community": "טור הסביבה ריק. יש לפרסם משהו כדי שדברים יתרחילו להתגלגל!", "empty_column.direct": "עדיין אין לכם הודעות פרטיות. כאשר תשלחו או תקבלו אחת, היא תופיע כאן.", "empty_column.domain_blocks": "There are no hidden domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "העדפות", "navigation_bar.public_timeline": "ציר זמן בין-קהילתי", "navigation_bar.security": "Security", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "חצרוצך חובב על ידי {name}", "notification.follow": "{name} במעקב אחרייך", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} ערכו פוסט", "notifications.clear": "הסרת התראות", "notifications.clear_confirmation": "להסיר את כל ההתראות? בטוח?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "התראות לשולחן העבודה", "notifications.column_settings.favourite": "מחובבים:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "ביטול", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "הערות נוספות", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "שליחה", "report.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.", "search.placeholder": "חיפוש", "search_popout.search_format": "מבנה חיפוש מתקדם", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "טקסט פשוט מחזיר כינויים, שמות משתמש והאשתגים", "search_popout.tips.user": "משתמש(ת)", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {תוצאה} other {תוצאות}}", diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json index fef87bda2..69c0f5398 100644 --- a/app/javascript/mastodon/locales/hi.json +++ b/app/javascript/mastodon/locales/hi.json @@ -167,6 +167,7 @@ "empty_column.community": "लोकल टाइम्लाइन खाली है, कुछ देखने के लिये सार्वजनिक रूप से कुछ लिखें!", "empty_column.direct": "आपके पास कोई सीधा सन्देश नहीं है, जब आप कोई भेजेंगे प्राप्त करेंगे तो यहाँ दिखेगा।", "empty_column.domain_blocks": "अभी तक कोई छुपा हुआ डोमेन नहीं है।", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "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.", @@ -185,6 +186,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": "स्टैकट्रेस को क्लिपबोर्ड पर कॉपी करें", "errors.unexpected_crash.report_issue": "समस्या सूचित करें", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "Security", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.filter_bar.advanced": "सभी श्रेणियाँ दिखाएं", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "रद्द करें", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Additional comments", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "सबमिट करें", "report.target": "Report {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.", "search.placeholder": "खोजें", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "user", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json index 32deff205..e8798aaba 100644 --- a/app/javascript/mastodon/locales/hr.json +++ b/app/javascript/mastodon/locales/hr.json @@ -167,6 +167,7 @@ "empty_column.community": "Lokalna vremenska crta je prazna. Napišite nešto javno da biste pokrenuli stvari!", "empty_column.direct": "Nemate još niti jedne direktne poruke. Kada ih pošaljete ili primite, prikazati će se ovdje.", "empty_column.domain_blocks": "Još nema blokiranih domena.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "empty_column.follow_recommendations": "Čini se da se ne postoje sugestije generirane za tebe. Možeš pokušati koristiti pretragu kako bi pronašao osobe koje poznaš ili istraži popularne hashtagove.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Pokušaj ih onemogućiti i osvježiti stranicu. Ako to ne pomogne, i dalje ćeš biti u mogućnosti koristiti Mastodon preko nekog drugog preglednika ili izvornog app-a.", "errors.unexpected_crash.copy_stacktrace": "Kopiraj stacktrace u međuspremnik", "errors.unexpected_crash.report_issue": "Prijavi problem", + "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", "follow_recommendations.done": "Učinjeno", "follow_recommendations.heading": "Zaprati osobe čije objave želiš vidjeti! Evo nekoliko prijedloga.", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Postavke", "navigation_bar.public_timeline": "Federalna vremenska crta", "navigation_bar.security": "Sigurnost", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} je favorizirao/la Vaš toot", "notification.follow": "{name} Vas je počeo/la pratiti", "notification.follow_request": "{name} zatražio/la je da Vas prati", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Očisti obavijesti", "notifications.clear_confirmation": "Želite li zaista trajno očistiti sve Vaše obavijesti?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Obavijesti radne površine", "notifications.column_settings.favourite": "Favoriti:", "notifications.column_settings.filter_bar.advanced": "Prikaži sve kategorije", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "danas", "reply_indicator.cancel": "Otkaži", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Proslijedi {target}", "report.forward_hint": "Račun je s drugog poslužitelja. Poslati anonimiziranu kopiju prijave i tamo?", - "report.hint": "Prijava bit će poslana moderatorima poslužitelja. Ispod možete dati objašnjenje zašto prijavljujete ovaj račun:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Dodatni komentari", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Pošalji", "report.target": "Prijavljivanje korisnika {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.", "search.placeholder": "Traži", "search_popout.search_format": "Format naprednog pretraživanja", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "korisnik", "search_results.accounts": "Ljudi", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 97b985d95..3c20ec1be 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -167,6 +167,7 @@ "empty_column.community": "A helyi idővonal üres. Tégy közzé valamit nyilvánosan, hogy elindítsd az eseményeket!", "empty_column.direct": "Még nincs egy közvetlen üzeneted sem. Ha küldesz vagy kapsz egyet, itt fog megjelenni.", "empty_column.domain_blocks": "Még nem rejtettél el egyetlen domaint sem.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Még nincs egyetlen kedvenc bejegyzésed sem. Ha kedvencnek jelölsz egyet, itt fog megjelenni.", "empty_column.favourites": "Még senki sem jelölte ezt a bejegyzést kedvencnek. Ha valaki mégis megteszi, itt fogjuk mutatni.", "empty_column.follow_recommendations": "Úgy tűnik, neked nem tudunk javaslatokat adni. Próbáld a keresést használni olyanok megtalálására, akiket ismerhetsz, vagy fedezd fel a felkapott hastageket.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Próbáld letiltani őket és frissíteni az oldalt. Ha ez nem segít, egy másik böngészőn vagy appon keresztül még mindig használhatod a Mastodont.", "errors.unexpected_crash.copy_stacktrace": "Veremkiíratás vágólapra másolása", "errors.unexpected_crash.report_issue": "Probléma jelentése", + "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", "follow_recommendations.done": "Kész", "follow_recommendations.heading": "Kövesd azokat, akiknek a bejegyzéseit látni szeretnéd! Itt van néhány javaslat.", "follow_recommendations.lead": "Az általad követettek bejegyzései a saját idővonaladon fognak megjelenni időrendi sorrendben. Ne félj attól, hogy hibázol! A követést bármikor, ugyanilyen könnyen visszavonhatod!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Beállítások", "navigation_bar.public_timeline": "Föderációs idővonal", "navigation_bar.security": "Biztonság", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} kedvencnek jelölte a bejegyzésedet", "notification.follow": "{name} követ téged", "notification.follow_request": "{name} követni szeretne téged", @@ -311,6 +319,7 @@ "notification.update": "{name} szerkesztett egy bejegyzést", "notifications.clear": "Értesítések törlése", "notifications.clear_confirmation": "Biztos, hogy véglegesen törölni akarod az összes értesítésed?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Asztali értesítések", "notifications.column_settings.favourite": "Kedvencek:", "notifications.column_settings.filter_bar.advanced": "Minden kategória mutatása", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}mp", "relative_time.today": "ma", "reply_indicator.cancel": "Mégsem", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Egyéb", "report.categories.spam": "Kéretlen üzenet", "report.categories.violation": "A tartalom a kiszolgáló egy vagy több szabályát sérti", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Továbbítás: {target}", "report.forward_hint": "Ez a fiók egy másik kiszolgálóról van. Oda is elküldöd a jelentés egy anonimizált másolatát?", - "report.hint": "A bejelentést a szervered moderátorainak küldjük el. Megmagyarázhatod, miért jelented az alábbi problémát:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "További megjegyzések", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Küldés", "report.target": "{target} jelentése", + "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.", "search.placeholder": "Keresés", "search_popout.search_format": "Speciális keresés", "search_popout.tips.full_text": "Egyszerű szöveg, mely általad írt, kedvencnek jelölt vagy megtolt bejegyzéseket, rólad szóló megemlítéseket, felhasználói neveket, megjelenített neveket, hashtageket ad majd vissza.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Egyszerű szöveg. Illeszkedő megjelenített nevet, felhasználói nevet, hashtageket ad majd vissza", "search_popout.tips.user": "felhasználó", "search_results.accounts": "Emberek", + "search_results.all": "All", "search_results.hashtags": "Hashtagek", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Bejegyzések", "search_results.statuses_fts_disabled": "Ezen a Mastodon szerveren nem engedélyezett a bejegyzések tartalom szerinti keresése.", "search_results.total": "{count, number} {count, plural, one {találat} other {találat}}", diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json index 24139d132..0f984b0bc 100644 --- a/app/javascript/mastodon/locales/hy.json +++ b/app/javascript/mastodon/locales/hy.json @@ -167,6 +167,7 @@ "empty_column.community": "Տեղական հոսքը դատարկ է։ Հրապարակային մի բան գրի՛ր շարժիչը գործարկելու համար։", "empty_column.direct": "Դու դեռ չունես ոչ մի հասցէագրուած հաղորդագրութիւն։ Երբ ուղարկես կամ ստանաս որեւէ անձնական նամակ, այն այստեղ կերեւայ։", "empty_column.domain_blocks": "Թաքցուած տիրոյթներ դեռ չկան։", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Դու դեռ չունես որեւէ հաւանած գրառում։ Երբ հաւանես, դրանք կերեւան այստեղ։", "empty_column.favourites": "Այս գրառումը ոչ մէկ դեռ չի հաւանել։ Հաւանողները կերեւան այստեղ, երբ հաւանեն։", "empty_column.follow_recommendations": "Կարծես քեզ համար ոչ մի առաջարկ չի գեներացուել։ Օգտագործիր որոնման դաշտը մարդկանց փնտրելու համար կամ բացայայտիր յայտնի պիտակներով։", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Փորձիր անջատել յաւելուածները եւ թարմացնել էջը։ Եթե դա չօգնի, կարող ես օգտուել Մաստադոնից այլ դիտարկիչով կամ յաւելուածով։", "errors.unexpected_crash.copy_stacktrace": "Պատճենել սթաքթրեյսը սեղմատախտակին", "errors.unexpected_crash.report_issue": "Զեկուցել խնդրի մասին", + "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", "follow_recommendations.done": "Աւարտուած է", "follow_recommendations.heading": "Հետեւիր այն մարդկանց, որոնց գրառումները կը ցանկանաս տեսնել։ Ահա մի քանի առաջարկ։", "follow_recommendations.lead": "Քո հոսքում, ժամանակագրական դասաւորութեամբ կը տեսնես այն մարդկանց գրառումները, որոնց հետեւում ես։ Մի վախեցիր սխալուել, դու միշտ կարող ես հեշտութեամբ ապահետեւել մարդկանց։", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Նախապատուութիւններ", "navigation_bar.public_timeline": "Դաշնային հոսք", "navigation_bar.security": "Անվտանգութիւն", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} հաւանեց գրառումդ", "notification.follow": "{name} սկսեց հետեւել քեզ", "notification.follow_request": "{name} քեզ հետեւելու հայց է ուղարկել", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Մաքրել ծանուցումները", "notifications.clear_confirmation": "Վստա՞հ ես, որ ուզում ես մշտապէս մաքրել քո բոլոր ծանուցումները։", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Աշխատատիրոյթի ծանուցումներ", "notifications.column_settings.favourite": "Հաւանածներից՝", "notifications.column_settings.filter_bar.advanced": "Ցուցադրել բոլոր կատեգորիաները", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}վ", "relative_time.today": "Այսօր", "reply_indicator.cancel": "Չեղարկել", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Փոխանցել {target}֊ին", "report.forward_hint": "Այս հաշիւ այլ հանգոյցից է։ Ուղարկե՞մ այնտեղ էլ այս բողոքի անոնիմ պատճէնը։", - "report.hint": "Այս զեկոյցը կուղարկուի հանգոյցի մոդերատորներին։ Ներքեւում կարող ես տրամադրել բացատրութիւն, թէ ինչու ես զեկուցում այս հաշուի մասին․", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Լրացուցիչ մեկնաբանութիւններ", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "Փնտրել", "search_popout.search_format": "Փնտրելու առաջադէմ ձեւ", "search_popout.tips.full_text": "Պարզ տեքստը վերադարձնում է գրառումներդ, հաւանածներդ, տարածածներդ, որտեղ ես նշուած եղել, ինչպէս նաեւ նման օգտանուններ, անուններ եւ պիտակներ։", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Հասարակ տեքստը կը վերադարձնի համընկնող անուններ, օգտանուններ ու պիտակներ", "search_popout.tips.user": "օգտատէր", "search_results.accounts": "Մարդիկ", + "search_results.all": "All", "search_results.hashtags": "Պիտակներ", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Գրառումներ", "search_results.statuses_fts_disabled": "Այս հանգոյցում միացուած չէ ըստ բովանդակութեան գրառում փնտրելու հնարաւորութիւնը։", "search_results.total": "{count, number} {count, plural, one {արդիւնք} other {արդիւնք}}", diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json index e8e81cfde..d9a66373a 100644 --- a/app/javascript/mastodon/locales/id.json +++ b/app/javascript/mastodon/locales/id.json @@ -167,6 +167,7 @@ "empty_column.community": "Linimasa lokal masih kosong. Tulis sesuatu secara publik dan buat roda berputar!", "empty_column.direct": "Anda belum memiliki pesan langsung. Ketika Anda mengirim atau menerimanya, maka akan muncul di sini.", "empty_column.domain_blocks": "Tidak ada topik tersembunyi.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Anda belum memiliki toot favorit. Ketika Anda mengirim atau menerimanya, maka akan muncul di sini.", "empty_column.favourites": "Belum ada yang memfavoritkan toot ini. Ketika seseorang melakukannya, akan muncul disini.", "empty_column.follow_recommendations": "Sepertinya tak ada saran yang dibuat untuk Anda. Anda dapat mencoba menggunakan pencarian untuk menemukan orang yang Anda ketahui atau menjelajahi tagar yang sedang tren.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Coba nonaktifkan mereka lalu segarkan halaman. Jika tak membantu, Anda masih bisa memakai Mastodon dengan peramban berbeda atau aplikasi murni.", "errors.unexpected_crash.copy_stacktrace": "Salin stacktrace ke papan klip", "errors.unexpected_crash.report_issue": "Laporkan masalah", + "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", "follow_recommendations.done": "Selesai", "follow_recommendations.heading": "Ikuti orang yang ingin Anda lihat kirimannya! Ini ada beberapa saran.", "follow_recommendations.lead": "Kiriman dari orang yang Anda ikuti akan tampil berdasar waktu di beranda Anda. Jangan takut membuat kesalahan, Anda dapat berhenti mengikuti mereka dengan mudah kapan saja!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Pengaturan", "navigation_bar.public_timeline": "Linimasa gabungan", "navigation_bar.security": "Keamanan", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} menyukai status anda", "notification.follow": "{name} mengikuti anda", "notification.follow_request": "{name} ingin mengikuti Anda", @@ -311,6 +319,7 @@ "notification.update": "{name} mengedit kiriman", "notifications.clear": "Hapus notifikasi", "notifications.clear_confirmation": "Apa anda yakin hendak menghapus semua notifikasi anda?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Notifikasi desktop", "notifications.column_settings.favourite": "Favorit:", "notifications.column_settings.filter_bar.advanced": "Tampilkan semua kategori", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}d", "relative_time.today": "hari ini", "reply_indicator.cancel": "Batal", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Lainnya", "report.categories.spam": "Spam", "report.categories.violation": "Konten melanggar satu atau lebih peraturan server", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Teruskan ke {target}", "report.forward_hint": "Akun dari server lain. Kirim salinan laporan scr anonim ke sana?", - "report.hint": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Komentar tambahan", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Kirim", "report.target": "Melaporkan", + "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.", "search.placeholder": "Pencarian", "search_popout.search_format": "Format pencarian mahir", "search_popout.tips.full_text": "Teks simpel menampilkan status yang Anda tulis, favoritkan, boost-kan, atau status yang menyebut Anda, serta nama pengguna, nama yang ditampilkan, dan tagar yang cocok.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Teks sederhana menampilkan nama yang ditampilkan, nama pengguna, dan tagar yang cocok", "search_popout.tips.user": "pengguna", "search_results.accounts": "Orang", + "search_results.all": "All", "search_results.hashtags": "Tagar", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toot", "search_results.statuses_fts_disabled": "Pencarian toot berdasarkan konten tidak diaktifkan di server Mastadon ini.", "search_results.total": "{count, number} {count, plural, one {hasil} other {hasil}}", diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json index e4ae1d2ff..ef4a489ad 100644 --- a/app/javascript/mastodon/locales/io.json +++ b/app/javascript/mastodon/locales/io.json @@ -167,6 +167,7 @@ "empty_column.community": "La lokala tempolineo esas vakua. Skribez ulo publike por iniciar la agiveso!", "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": "There are no hidden domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferi", "navigation_bar.public_timeline": "Federata tempolineo", "navigation_bar.security": "Security", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favorizis tua mesajo", "notification.follow": "{name} sequeskis tu", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Efacar savigi", "notifications.clear_confirmation": "Ka tu esas certa, ke tu volas efacar omna tua savigi?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Surtabla savigi", "notifications.column_settings.favourite": "Favorati:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "Nihiligar", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Plusa komenti", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Sendar", "report.target": "Denuncante", + "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.", "search.placeholder": "Serchez", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "user", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {rezulto} other {rezulti}}", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index a5164fa24..7b112ad0f 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -167,6 +167,7 @@ "empty_column.community": "Staðværa tímalínan er tóm. Skrifaðu eitthvað opinberlega til að láta boltann fara að rúlla!", "empty_column.direct": "Þú átt ennþá engin bein skilaboð. Þegar þú sendir eða tekur á móti slíkum skilaboðum, munu þau birtast hér.", "empty_column.domain_blocks": "Það eru ennþá engin útilokuð lén.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Þú ert ekki ennþá með neinar eftirlætisfærslur. Þegar þú setur færslu í eftirlæti, munu þau birtast hér.", "empty_column.favourites": "Enginn hefur ennþá sett þessa færslu í eftirlæti. Þegar einhver gerir það, mun það birtast hér.", "empty_column.follow_recommendations": "Það lítur út fyrir að ekki hafi verið hægt að útbúa neinar tillögur fyrir þig. Þú getur reynt að leita að fólki sem þú gætir þekkt eða skoðað myllumerki sem eru í umræðunni.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Prófaðu að gera þau óvirk og svo endurlesa síðuna. Ef það hjálpar ekki til, má samt vera að þú getir notað Mastodon í gegnum annan vafra eða forrit.", "errors.unexpected_crash.copy_stacktrace": "Afrita rakningarupplýsingar (stacktrace) á klippispjald", "errors.unexpected_crash.report_issue": "Tilkynna vandamál", + "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", "follow_recommendations.done": "Lokið", "follow_recommendations.heading": "Fylgstu með fólki sem þú vilt sjá færslur frá! Hér eru nokkrar tillögur.", "follow_recommendations.lead": "Færslur frá fólki sem þú fylgist með eru birtar í tímaröð á heimastreyminu þínu. Þú þarft ekki að hræðast mistök, það er jafn auðvelt að hætta að fylgjast með fólki hvenær sem er!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Kjörstillingar", "navigation_bar.public_timeline": "Sameiginleg tímalína", "navigation_bar.security": "Öryggi", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} setti færslu þína í eftirlæti", "notification.follow": "{name} fylgist með þér", "notification.follow_request": "{name} hefur beðið um að fylgjast með þér", @@ -311,6 +319,7 @@ "notification.update": "{name} breytti færslu", "notifications.clear": "Hreinsa tilkynningar", "notifications.clear_confirmation": "Ertu viss um að þú viljir endanlega eyða öllum tilkynningunum þínum?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Tilkynningar á skjáborði", "notifications.column_settings.favourite": "Eftirlæti:", "notifications.column_settings.filter_bar.advanced": "Birta alla flokka", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}sek", "relative_time.today": "í dag", "reply_indicator.cancel": "Hætta við", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Annað", "report.categories.spam": "Ruslpóstur", "report.categories.violation": "Efnið brýtur gegn einni eða fleiri reglum netþjónsins", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Áframsenda til {target}", "report.forward_hint": "Notandaaðgangurinn er af öðrum vefþjóni. Á einnig að senda nafnlaust afrit af kærunni þangað?", - "report.hint": "Kæran verður send á umsjónarmenn vefþjónsins þíns. Þú getur gefið skýringu hér fyrir neðan á því af hverju þú ert að kæra þennan notandaaðgang:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Viðbótarathugasemdir", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Senda inn", "report.target": "Kæri {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.", "search.placeholder": "Leita", "search_popout.search_format": "Snið ítarlegrar leitar", "search_popout.tips.full_text": "Einfaldur texti skilar færslum sem þú hefur skrifað, sett í eftirlæti, endurbirt eða verið minnst á þig í, ásamt samsvarandi birtingarnöfnum, notendanöfnum og myllumerkjum.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Einfaldur texti skilar samsvarandi birtingarnöfnum, notendanöfnum og myllumerkjum", "search_popout.tips.user": "notandi", "search_results.accounts": "Fólk", + "search_results.all": "All", "search_results.hashtags": "Myllumerki", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Færslur", "search_results.statuses_fts_disabled": "Að leita í efni færslna er ekki virkt á þessum Mastodon-þjóni.", "search_results.total": "{count, number} {count, plural, one {niðurstaða} other {niðurstöður}}", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index a4847b77b..e96e43308 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -167,6 +167,7 @@ "empty_column.community": "La timeline locale è vuota. Condividi qualcosa pubblicamente per dare inizio alla festa!", "empty_column.direct": "Non hai ancora nessun messaggio privato. Quando ne manderai o riceverai qualcuno, apparirà qui.", "empty_column.domain_blocks": "Non vi sono domini nascosti.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Non hai ancora segnato nessun post come apprezzato. Quando lo farai, comparirà qui.", "empty_column.favourites": "Nessuno ha ancora segnato questo post come apprezzato. Quando qualcuno lo farà, apparirà qui.", "empty_column.follow_recommendations": "Sembra che nessun suggerimento possa essere generato per te. Puoi provare a usare la ricerca per cercare persone che potresti conoscere o esplorare hashtag di tendenza.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Prova a disabilitarli e ad aggiornare la pagina. Se questo non funziona, potresti ancora essere in grado di utilizzare Mastodon attraverso un browser o un'app diversi.", "errors.unexpected_crash.copy_stacktrace": "Copia stacktrace negli appunti", "errors.unexpected_crash.report_issue": "Segnala il problema", + "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", "follow_recommendations.done": "Fatto", "follow_recommendations.heading": "Segui le persone da cui vuoi vedere i messaggi! Ecco alcuni suggerimenti.", "follow_recommendations.lead": "I messaggi da persone che segui verranno visualizzati in ordine cronologico nel tuo home feed. Non abbiate paura di commettere errori, potete smettere di seguire le persone altrettanto facilmente in qualsiasi momento!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Impostazioni", "navigation_bar.public_timeline": "Timeline federata", "navigation_bar.security": "Sicurezza", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} ha apprezzato il tuo post", "notification.follow": "{name} ha iniziato a seguirti", "notification.follow_request": "{name} ti ha mandato una richiesta di follow", @@ -311,6 +319,7 @@ "notification.update": "{name} ha modificato un post", "notifications.clear": "Cancella notifiche", "notifications.clear_confirmation": "Vuoi davvero cancellare tutte le notifiche?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Notifiche desktop", "notifications.column_settings.favourite": "Apprezzati:", "notifications.column_settings.filter_bar.advanced": "Mostra tutte le categorie", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number} secondi", "relative_time.today": "oggi", "reply_indicator.cancel": "Annulla", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Altro", "report.categories.spam": "Spam", "report.categories.violation": "Il contenuto viola una o più regole del server", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Inoltra a {target}", "report.forward_hint": "Questo account appartiene a un altro server. Mandare anche là una copia anonima del rapporto?", - "report.hint": "La segnalazione sarà inviata ai moderatori del tuo server. Di seguito, puoi fornire il motivo per il quale stai segnalando questo account:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Commenti aggiuntivi", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Invia", "report.target": "Invio la segnalazione {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.", "search.placeholder": "Cerca", "search_popout.search_format": "Formato di ricerca avanzato", "search_popout.tips.full_text": "Testo semplice per trovare gli status che hai scritto, segnato come apprezzati, condiviso o in cui sei stato citato, e inoltre i nomi utente, nomi visualizzati e hashtag che lo contengono.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Testo semplice per trovare nomi visualizzati, nomi utente e hashtag che lo contengono", "search_popout.tips.user": "utente", "search_results.accounts": "Gente", + "search_results.all": "All", "search_results.hashtags": "Hashtag", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Post", "search_results.statuses_fts_disabled": "La ricerca di post per il loro contenuto non è abilitata su questo server Mastodon.", "search_results.total": "{count} {count, plural, one {risultato} other {risultati}}", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 4dd7d0197..c1418459e 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -167,6 +167,7 @@ "empty_column.community": "ローカルタイムラインはまだ使われていません。何か書いてみましょう!", "empty_column.direct": "ダイレクトメッセージはまだありません。ダイレクトメッセージをやりとりすると、ここに表示されます。", "empty_column.domain_blocks": "ブロックしているドメインはありません。", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "まだ何もお気に入り登録していません。お気に入り登録するとここに表示されます。", "empty_column.favourites": "まだ誰もお気に入り登録していません。お気に入り登録されるとここに表示されます。", "empty_column.follow_recommendations": "おすすめを生成できませんでした。検索を使って知り合いを探したり、トレンドハッシュタグを見てみましょう。", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "それらを無効化してからリロードをお試しください。それでも解決しない場合、他のブラウザやアプリで Mastodon をお試しください。", "errors.unexpected_crash.copy_stacktrace": "スタックトレースをクリップボードにコピー", "errors.unexpected_crash.report_issue": "問題を報告", + "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", "follow_recommendations.done": "完了", "follow_recommendations.heading": "投稿を見たい人をフォローしてください!ここにおすすめがあります。", "follow_recommendations.lead": "あなたがフォローしている人の投稿は、ホームフィードに時系列で表示されます。いつでも簡単に解除できるので、気軽にフォローしてみてください!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "ユーザー設定", "navigation_bar.public_timeline": "連合タイムライン", "navigation_bar.security": "セキュリティ", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name}さんがあなたの投稿をお気に入りに登録しました", "notification.follow": "{name}さんにフォローされました", "notification.follow_request": "{name} さんがあなたにフォローリクエストしました", @@ -311,6 +319,7 @@ "notification.update": "{name} が投稿を編集しました", "notifications.clear": "通知を消去", "notifications.clear_confirmation": "本当に通知を消去しますか?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "デスクトップ通知", "notifications.column_settings.favourite": "お気に入り:", "notifications.column_settings.filter_bar.advanced": "すべてのカテゴリを表示", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}秒前", "relative_time.today": "今日", "reply_indicator.cancel": "キャンセル", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "その他", "report.categories.spam": "スパム", "report.categories.violation": "サーバーのルールに違反", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "{target} に転送する", "report.forward_hint": "このアカウントは別のサーバーに所属しています。通報内容を匿名で転送しますか?", - "report.hint": "通報内容はあなたのサーバーのモデレーターへ送信されます。通報理由を入力してください。:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "追加コメント", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "検索", "search_popout.search_format": "高度な検索フォーマット", "search_popout.tips.full_text": "表示名やユーザー名、ハッシュタグのほか、あなたの投稿やお気に入り、ブーストした投稿、返信に一致する単純なテキスト。", @@ -395,7 +432,9 @@ "search_popout.tips.text": "表示名やユーザー名、ハッシュタグに一致する単純なテキスト", "search_popout.tips.user": "ユーザー", "search_results.accounts": "人々", + "search_results.all": "All", "search_results.hashtags": "ハッシュタグ", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "投稿", "search_results.statuses_fts_disabled": "このサーバーでは投稿本文の検索は利用できません。", "search_results.total": "{count, number}件の結果", diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json index c6c177d58..561770060 100644 --- a/app/javascript/mastodon/locales/ka.json +++ b/app/javascript/mastodon/locales/ka.json @@ -167,6 +167,7 @@ "empty_column.community": "ლოკალური თაიმლაინი ცარიელია. დაწერეთ რაიმე ღიად ან ქენით რაიმე სხვა!", "empty_column.direct": "ჯერ პირდაპირი წერილები არ გაქვთ. როდესაც მიიღებთ ან გააგზავნით, გამოჩნდება აქ.", "empty_column.domain_blocks": "There are no hidden domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "პრეფერენსიები", "navigation_bar.public_timeline": "ფედერალური თაიმლაინი", "navigation_bar.security": "უსაფრთხოება", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name}-მა თქვენი სტატუსი აქცია ფავორიტად", "notification.follow": "{name} გამოგყვათ", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "შეტყობინებების გასუფთავება", "notifications.clear_confirmation": "დარწმუნებული ხართ, გსურთ სამუდამოდ წაშალოთ ყველა თქვენი შეტყობინება?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "დესკტოპ შეტყობინებები", "notifications.column_settings.favourite": "ფავორიტები:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}წმ", "relative_time.today": "today", "reply_indicator.cancel": "უარყოფა", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "ფორვარდი {target}-ს", "report.forward_hint": "ანგარიში სხვა სერვერიდანაა. გავაგზავნოთ რეპორტის ანონიმური ასლიც?", - "report.hint": "რეპორტი გაეგზავნება თქვენი ინსტანციის მოდერატორებს. ქვემოთ შეგიძლიათ დაამატოთ მიზეზი თუ რატომ არეპორტებთ ამ ანგარიშს:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "დამატებითი კომენტარები", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "ძებნა", "search_popout.search_format": "დეტალური ძებნის ფორმა", "search_popout.tips.full_text": "მარტივი ტექსტი აბრუნებს სტატუსებს რომლებიც შექმენით, აქციეთ ფავორიტად, დაბუსტეთ, ან რაშიც ასახელეთ, ასევე ემთხვევა მომხმარებლის სახელებს, დისპლეი სახელებს, და ჰეშტეგებს.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "მარტივი ტექსტი აბრუნებს დამთხვეულ დისპლეი სახელებს, მომხმარებლის სახელებს და ჰეშტეგებს", "search_popout.tips.user": "მომხმარებელი", "search_results.accounts": "ხალხი", + "search_results.all": "All", "search_results.hashtags": "ჰეშტეგები", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "ტუტები", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json index b575db516..9d5536c6c 100644 --- a/app/javascript/mastodon/locales/kab.json +++ b/app/javascript/mastodon/locales/kab.json @@ -167,6 +167,7 @@ "empty_column.community": "Tasuddemt tazayezt tadigant n yisallen d tilemt. Aru ihi kra akken ad tt-teččareḍ!", "empty_column.direct": "Ulac ɣur-k ula yiwen n yizen usrid. Ad d-yettwasken da, ticki tuzneḍ neɣ teṭṭfeḍ-d yiwen.", "empty_column.domain_blocks": "Ulac kra n taɣult yettwaffren ar tura.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Ulac ula yiwet n tjewwaqt deg yismenyifen-ik ar tura. Ticki Tella-d yiwet, ad d-ban da.", "empty_column.favourites": "Ula yiwen ur yerri tajewwaqt-agi deg yismenyifen-is. Melmi i d-yella waya, ad d-yettwasken da.", "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.", @@ -185,6 +186,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": "Nɣel stacktrace ɣef wafus", "errors.unexpected_crash.report_issue": "Mmel ugur", + "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", "follow_recommendations.done": "Immed", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Imenyafen", "navigation_bar.public_timeline": "Tasuddemt tazayezt tamatut", "navigation_bar.security": "Taɣellist", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} yesmenyef tasuffeɣt-ik·im", "notification.follow": "{name} yeṭṭafaṛ-ik", "notification.follow_request": "{name} yessuter-d ad k-yeḍfeṛ", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Sfeḍ tilɣa", "notifications.clear_confirmation": "Tebɣiḍ s tidet ad tekkseḍ akk tilɣa-inek·em i lebda?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Tilɣa n tnarit", "notifications.column_settings.favourite": "Ismenyifen:", "notifications.column_settings.filter_bar.advanced": "Ssken-d meṛṛa tiggayin", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}tas", "relative_time.today": "assa", "reply_indicator.cancel": "Sefsex", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Aspam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Bren-it ɣeṛ {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Iwenniten-nniḍen", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Azen", "report.target": "Mmel {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.", "search.placeholder": "Nadi", "search_popout.search_format": "Anadi yenneflin", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "amseqdac", "search_results.accounts": "Medden", + "search_results.all": "All", "search_results.hashtags": "Ihacṭagen", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Tibeṛṛaniyin", "search_results.statuses_fts_disabled": "Anadi ɣef tjewwiqin s ugbur-nsent ur yermid ara deg uqeddac-agi n Maṣṭudun.", "search_results.total": "{count, number} {count, plural, one {n ugemmuḍ} other {n yigemmuḍen}}", diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json index 4fb5cb3d1..3bd56653c 100644 --- a/app/javascript/mastodon/locales/kk.json +++ b/app/javascript/mastodon/locales/kk.json @@ -167,6 +167,7 @@ "empty_column.community": "Жергілікті желі бос. Сіз бастап жазыңыз!", "empty_column.direct": "Әзірше дым хат жоқ. Өзіңіз жазып көріңіз алдымен.", "empty_column.domain_blocks": "Бұғатталған домен жоқ.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "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.", @@ -185,6 +186,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": "Жиынтықты көшіріп ал клипбордқа", "errors.unexpected_crash.report_issue": "Мәселені хабарла", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Басымдықтар", "navigation_bar.public_timeline": "Жаһандық желі", "navigation_bar.security": "Қауіпсіздік", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} жазбаңызды таңдаулыға қосты", "notification.follow": "{name} сізге жазылды", "notification.follow_request": "{name} сізге жазылғысы келеді", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Ескертпелерді тазарт", "notifications.clear_confirmation": "Шынымен барлық ескертпелерді өшіресіз бе?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Үстел ескертпелері", "notifications.column_settings.favourite": "Таңдаулылар:", "notifications.column_settings.filter_bar.advanced": "Барлық категорияны көрсет", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}с", "relative_time.today": "бүгін", "reply_indicator.cancel": "Қайтып алу", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Жіберу {target}", "report.forward_hint": "Бұл аккаунт басқа серверден. Аноним шағым жібересіз бе?", - "report.hint": "Шағым сіздің модераторларға жіберіледі. Шағымның себептерін мына жерге жазуыңызға болады:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Қосымша пікірлер", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "Іздеу", "search_popout.search_format": "Кеңейтілген іздеу форматы", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, bоosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames аnd hashtags", "search_popout.tips.user": "қолданушы", "search_results.accounts": "Адамдар", + "search_results.all": "All", "search_results.hashtags": "Хэштегтер", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Жазбалар", "search_results.statuses_fts_disabled": "Mastodon серверінде постты толық мәтінмен іздей алмайсыз.", "search_results.total": "{count, number} {count, plural, one {нәтиже} other {нәтиже}}", diff --git a/app/javascript/mastodon/locales/kmr.json b/app/javascript/mastodon/locales/kmr.json index 2ae288581..bb8650f03 100644 --- a/app/javascript/mastodon/locales/kmr.json +++ b/app/javascript/mastodon/locales/kmr.json @@ -167,6 +167,7 @@ "empty_column.community": "Demnameya herêmî vala ye. Tiştek ji raya giştî re binivsînin da ku rûpel biherike!", "empty_column.direct": "Hêj peyameke te yê rasterast tuneye. Gava ku tu yekî bişeynî an jî bigirî, ew ê li vir xûya bike.", "empty_column.domain_blocks": "Hê jî navperên hatine asteng kirin tune ne.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Hîn tu peyamên te yên bijare tunene. Gava ku te yekî bijart, ew ê li vir xûya bike.", "empty_column.favourites": "Hîn tu kes vê peyamê nebijartiye. Gava ku hin kes bijartin, ew ê li vir xûya bikin.", "empty_column.follow_recommendations": "Wusa dixuye ku ji bo we tu pêşniyar nehatine çêkirin. Hûn dikarin lêgerînê bikarbînin da ku li kesên ku hûn nas dikin bigerin an hashtagên trendî bigerin.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Ne çalak kirin û nûkirina rûpelê biceribîne. Heke ev bi kêr neyê, dibe ku te hîn jî bi rêya gerokeke cuda an jî sepana xwecîhê Mastodonê bi kar bîne.", "errors.unexpected_crash.copy_stacktrace": "Şopa gemara (stacktrace) tûrikê ra jê bigire", "errors.unexpected_crash.report_issue": "Pirsgirêkekê ragihîne", + "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", "follow_recommendations.done": "Qediya", "follow_recommendations.heading": "Mirovên ku tu dixwazî ji wan peyaman bibînî bişopîne! Hin pêşnîyar li vir in.", "follow_recommendations.lead": "Li gorî rêza kronolojîkî peyamên mirovên ku tu dişopînî dê demnameya te de xûya bike. Ji xeletiyan netirse, bi awayekî hêsan her wextî tu dikarî dev ji şopandinê berdî!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Sazkarî", "navigation_bar.public_timeline": "Demnameyê federalîkirî", "navigation_bar.security": "Ewlehî", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} şandiya te hez kir", "notification.follow": "{name} te şopand", "notification.follow_request": "{name} dixwazê te bişopîne", @@ -311,6 +319,7 @@ "notification.update": "{name} şandiyek serrast kir", "notifications.clear": "Agahdariyan pak bike", "notifications.clear_confirmation": "Bi rastî tu dixwazî bi awayekî dawî hemû agahdariyên xwe pak bikî?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Agahdariyên sermaseyê", "notifications.column_settings.favourite": "Bijarte:", "notifications.column_settings.filter_bar.advanced": "Hemû beşan nîşan bide", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}ç", "relative_time.today": "îro", "reply_indicator.cancel": "Dev jê berde", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Yên din", "report.categories.spam": "Nexwestî (Spam)", "report.categories.violation": "Naverok yek an çend rêbazên rajekar binpê dike", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Biçe bo {target}", "report.forward_hint": "Ajimêr ji rajekarek din da ne. Tu kopîyeka anonîm ya raporê bişînî li wur?", - "report.hint": "Ev rapor yê rajekarê lihevkarên te ra were şandin. Tu dikarî şiroveyekê pêşkêş bikî bê ka tu çima vê ajimêrê jor radigîhînî:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Şiroveyên zêde", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Bişîne", "report.target": "Ragihandin {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.", "search.placeholder": "Bigere", "search_popout.search_format": "Dirûva lêgerîna pêşketî", "search_popout.tips.full_text": "Nivîsên hêsan, şandiyên ku te nivîsandiye, bijare kiriye, bilind kiriye an jî yên behsa te kirine û her wiha navê bikarhêneran, navên xûya dike û hashtagan vedigerîne.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Nivîsên hêsan, navên xûya ên ku li hev hatî, bikarhêner û hashtagan vedigerîne", "search_popout.tips.user": "bikarhêner", "search_results.accounts": "Mirov", + "search_results.all": "All", "search_results.hashtags": "Hashtag", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Şandî", "search_results.statuses_fts_disabled": "Di vê rajekara Mastodonê da lêgerîna şandîyên li gorî naveroka wan ne çalak e.", "search_results.total": "{count, number} {count, plural, one {encam} other {encam}}", diff --git a/app/javascript/mastodon/locales/kn.json b/app/javascript/mastodon/locales/kn.json index e877f8eab..8e24cc3c5 100644 --- a/app/javascript/mastodon/locales/kn.json +++ b/app/javascript/mastodon/locales/kn.json @@ -167,6 +167,7 @@ "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "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": "There are no hidden domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "Security", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "Cancel", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Additional comments", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Submit", "report.target": "Report {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.", "search.placeholder": "Search", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "user", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index b3aa2e6ab..e5130b24a 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -167,6 +167,7 @@ "empty_column.community": "로컬 타임라인에 아무 것도 없습니다. 아무거나 적어 보세요!", "empty_column.direct": "아직 다이렉트 메시지가 없습니다. 다이렉트 메시지를 보내거나 받은 경우, 여기에 표시 됩니다.", "empty_column.domain_blocks": "아직 차단한 도메인이 없습니다.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "아직 즐겨찾기 한 게시물이 없습니다. 게시물을 즐겨찾기 하면 여기에 나타납니다.", "empty_column.favourites": "아직 아무도 이 게시물을 즐겨찾기 하지 않았습니다. 누군가 즐겨찾기를 하면 여기에 나타납니다.", "empty_column.follow_recommendations": "당신을 위한 제안이 생성될 수 없는 것 같습니다. 알 수도 있는 사람을 검색하거나 유행하는 해시태그를 둘러볼 수 있습니다.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "그것들을 끄고 페이지를 새로고침 해보세요. 그래도 해결되지 않는 경우, 다른 브라우저나 네이티브 앱으로도 마스토돈을 이용하실 수 있습니다.", "errors.unexpected_crash.copy_stacktrace": "에러 내용을 클립보드에 복사", "errors.unexpected_crash.report_issue": "문제 신고", + "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", "follow_recommendations.done": "완료", "follow_recommendations.heading": "게시물을 받아 볼 사람들을 팔로우 하세요! 여기 몇몇의 추천이 있습니다.", "follow_recommendations.lead": "당신이 팔로우 하는 사람들의 게시물이 시간순으로 정렬되어 당신의 홈 피드에 표시될 것입니다. 실수를 두려워 하지 마세요, 언제든지 쉽게 팔로우 취소를 할 수 있습니다!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "사용자 설정", "navigation_bar.public_timeline": "연합 타임라인", "navigation_bar.security": "보안", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} 님이 즐겨찾기 했습니다", "notification.follow": "{name} 님이 나를 팔로우 했습니다", "notification.follow_request": "{name} 님이 팔로우 요청을 보냈습니다", @@ -311,6 +319,7 @@ "notification.update": "{name} 님이 게시물을 수정했습니다", "notifications.clear": "알림 지우기", "notifications.clear_confirmation": "정말로 알림을 삭제하시겠습니까?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "데스크탑 알림", "notifications.column_settings.favourite": "즐겨찾기:", "notifications.column_settings.filter_bar.advanced": "카테고리의 모든 종류를 표시", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}초 전", "relative_time.today": "오늘", "reply_indicator.cancel": "취소", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "기타", "report.categories.spam": "스팸", "report.categories.violation": "컨텐츠가 한 개 이상의 서버 규칙을 위반합니다", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "{target}에 포워드 됨", "report.forward_hint": "이 계정은 다른 서버에 있습니다. 익명화 된 사본을 해당 서버에도 전송할까요?", - "report.hint": "신고는 당신의 서버 스태프에게 전송 됩니다. 왜 이 계정을 신고하는 지에 대한 설명을 아래에 작성할 수 있습니다:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "코멘트", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "신고하기", "report.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.", "search.placeholder": "검색", "search_popout.search_format": "고급 검색 방법", "search_popout.tips.full_text": "단순한 텍스트 검색은 당신이 작성했거나, 관심글로 지정했거나, 부스트했거나, 멘션을 받은 게시글, 그리고 유저네임, 디스플레이네임, 해시태그를 반환합니다.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "단순한 텍스트 검색은 관계된 프로필 이름, 유저 이름 그리고 해시태그를 표시합니다", "search_popout.tips.user": "유저", "search_results.accounts": "사람", + "search_results.all": "All", "search_results.hashtags": "해시태그", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "게시물", "search_results.statuses_fts_disabled": "이 마스토돈 서버에선 게시물의 내용을 통한 검색이 활성화 되어 있지 않습니다.", "search_results.total": "{count, number}건의 결과", diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json index 331ab57f0..a71702171 100644 --- a/app/javascript/mastodon/locales/ku.json +++ b/app/javascript/mastodon/locales/ku.json @@ -167,6 +167,7 @@ "empty_column.community": "هێڵی کاتی ناوخۆیی بەتاڵە. شتێک بە ئاشکرا بنووسە بۆ ئەوەی تۆپەکە بسووڕێت!", "empty_column.direct": "تۆ هیچ نامەی ڕاستەوخۆت نیە تا ئێستا. کاتێک دانەیەک دەنێریت یان وەرت دەگرێت، لێرە پیشان دەدات.", "empty_column.domain_blocks": "هێشتا هیچ دۆمەینێکی بلۆک کراو نییە.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "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.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "هەوڵدە لەکاریان بخەیت و لاپەڕەکە تازە بکەوە. ئەگەر ئەمە یارمەتیدەر نەبوو، لەوانەیە هێشتا بتوانیت ماستۆدۆن بەکاربێنیت لە ڕێگەی وێبگەڕەکانی دیکە یان نەرمەکالاکانی ئەسڵی.", "errors.unexpected_crash.copy_stacktrace": "کۆپیکردنی ستێکتراسی بۆ کلیپ بۆرد", "errors.unexpected_crash.report_issue": "کێشەی گوزارشت", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "پەسەندەکان", "navigation_bar.public_timeline": "نووسراوەکانی هەمووشوێنێک", "navigation_bar.security": "ئاسایش", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} نووسراوەکەتی پەسەند کرد", "notification.follow": "{name} دوای تۆ کەوت", "notification.follow_request": "{name} داوای کردووە کە شوێنت بکەوێت", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "ئاگانامەکان بسڕیەوە", "notifications.clear_confirmation": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی هەموو ئاگانامەکانت بسڕیتەوە?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "ئاگانامەکانی پیشانگەرر ڕومێزی", "notifications.column_settings.favourite": "دڵخوازترین:", "notifications.column_settings.filter_bar.advanced": "هەموو پۆلەکان پیشان بدە", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}کات", "relative_time.today": "ئیمڕۆ", "reply_indicator.cancel": "هەڵوەشاندنەوه", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "ناردن بۆ {target}", "report.forward_hint": "هەژمارەکە لە ڕاژەیەکی ترە. ڕونووسێکی نەناسراو بنێرە بۆ گوزارشت لەوێ?", - "report.hint": "گوزارشتەکە دەنێردرێت بۆ بەرپرسانی ڕاژەکەت. دەتوانیت ڕوونکردنەوەیەک پێشکەش بکەیت کە بۆچی ئەم هەژمارە لە خوارەوە گوزارش دەکەیت:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "سەرنجەکانی زیاتر", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "گەڕان", "search_popout.search_format": "شێوەی گەڕانی پێشکەوتوو", "search_popout.tips.full_text": "گەڕانێکی دەقی سادە دەتوانێت توتەکانی ئێوە کە، نووسیوتانە،پەسەنتان کردووە، دووبارەتانکردووە، یان ئەو توتانە کە باسی ئێوەی تێدا کراوە پەیدا دەکا. هەروەها ناوی بەکارهێنەران، ناوی پیشاندراو و هەشتەگەکانیش لە خۆ دەگرێت.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "دەقی سادە هەڵدەسێ بە گەڕاندنەوەی هاوتایی ناوی پیشاندان، ناوی بەکارهێنەر و هاشتاگەکان", "search_popout.tips.user": "بەکارهێنەر", "search_results.accounts": "خەڵک", + "search_results.all": "All", "search_results.hashtags": "هەشتاگ", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "توتەکان", "search_results.statuses_fts_disabled": "گەڕانی توتەکان بە ناوەڕۆکیان لەسەر ئەم ڕاژەی ماستۆدۆن چالاک نەکراوە.", "search_results.total": "{count, number} {count, plural, one {دەرئەنجام} other {دەرئەنجام}}", diff --git a/app/javascript/mastodon/locales/kw.json b/app/javascript/mastodon/locales/kw.json index 9a8c9685a..0e8aa9cf8 100644 --- a/app/javascript/mastodon/locales/kw.json +++ b/app/javascript/mastodon/locales/kw.json @@ -167,6 +167,7 @@ "empty_column.community": "An amserlin leel yw gwag. Skrifewgh neppytn yn poblek dh'y lonchya!", "empty_column.direct": "Nyns eus dhywgh messajys didro hwath. Pan wrewgh dannvon po degemeres onan, ev a wra omdhiskwedhes omma.", "empty_column.domain_blocks": "Nyns eus gorfarthow lettys hwath.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Nyns eus dhywgh postow drudh hwath. Pan wrewgh merkya onan vel drudh, ev a wra omdhiskwedhes omma.", "empty_column.favourites": "Ny wrug nagonan merkya'n post ma vel drudh hwath. Pan wra, hynn a wra omdhiskwedhes omma.", "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.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Assayewgh aga disweythresa ha daskarga'n folen. Mar ny'gas gweres, martesen hwi a yll hwath usya Mastodon dre beurell aral po app teythyek.", "errors.unexpected_crash.copy_stacktrace": "Dasskrifa daslergh dhe'n astel glypp", "errors.unexpected_crash.report_issue": "Reportya kudyn", + "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", "follow_recommendations.done": "Gwrys", "follow_recommendations.heading": "Holyewgh tus a vynnowgh gweles postow anedha! Ottomma nebes profyansow.", "follow_recommendations.lead": "Postow a dus a holyewgh a wra omdhiskwedhes omma yn aray termynel yn agas lin dre. Na borthewgh own a gammwul, hwi a yll p'eurpynag anholya tus mar es poran!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Erviransow", "navigation_bar.public_timeline": "Amserlin geffrysys", "navigation_bar.security": "Diogeledh", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} a wrug merkya agas post vel drudh", "notification.follow": "{name} a wrug agas holya", "notification.follow_request": "{name} a bysis agas holya", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Dilea gwarnyansow", "notifications.clear_confirmation": "Owgh hwi sur a vynnes dilea agas gwarnyansow oll yn fast?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Gwarnyansow pennskrin", "notifications.column_settings.favourite": "Re drudh:", "notifications.column_settings.filter_bar.advanced": "Displetya rummow oll", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}e", "relative_time.today": "hedhyw", "reply_indicator.cancel": "Hedhi", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Dasvovya dhe {target}", "report.forward_hint": "Yma'n akont ma a leuren aral. Dannvon dasskrif dihanow an derivas ena ynwedh?", - "report.hint": "An derivas a vydh danvenys dhe goswydhyon agas leuren. Hwi a yll profya displegyans a prag ytho owgh hwi ow reportya'n akont ma a-wòles:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Kampòllow ynwedhek", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Dannvon", "report.target": "Ow reportya {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.", "search.placeholder": "Hwilas", "search_popout.search_format": "Furvas hwilas avonsys", "search_popout.tips.full_text": "Tekst sempel a wra daskor postow a wrussowgh aga skrifa, merkya vel drudh, po bos menegys ynna, keffrys ha henwyn devnydhyoryon ha displetyans, ha bòlnosow a dhesedh.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Tekst sempel a wra daskor henwyn displegya ha devnydhyoryon, ha bòlnosow", "search_popout.tips.user": "devnydhyer", "search_results.accounts": "Tus", + "search_results.all": "All", "search_results.hashtags": "Bòlnosow", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Postow", "search_results.statuses_fts_disabled": "Nyns yw hwilas postow der aga dalgh gweythresys y'n leuren Mastodon ma.", "search_results.total": "{count, number} {count, plural, one {sewyans} other {sewyans}}", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index c9f8f32d2..c65985894 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -167,6 +167,7 @@ "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "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": "There are no hidden domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "Security", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "Cancel", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Additional comments", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Submit", "report.target": "Report {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.", "search.placeholder": "Search", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "user", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index 955d2afa3..ded8907c0 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -167,6 +167,7 @@ "empty_column.community": "Vietējā ziņu lenta ir tukša. Uzraksti kaut ko publiski, lai viss notiktu!", "empty_column.direct": "Patrez tev nav privātu ziņu. Tiklīdz tādu nosūtīsi vai saņemsi, tās parādīsies šeit.", "empty_column.domain_blocks": "Vēl nav neviena bloķēta domēna.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Patreiz tev nav neviena izceltā ieraksta. Kad kādu izcelsi, tas parādīsies šeit.", "empty_column.favourites": "Neviens šo ziņojumu vel nav izcēlis. Kad būs, tie parādīsies šeit.", "empty_column.follow_recommendations": "Šķiet, ka tev nevarēja ģenerēt ieteikumus. Vari mēģināt izmantot meklēšanu, lai meklētu cilvēkus, kurus tu varētu pazīt, vai izpētīt populārākās atsauces.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Mēģini tos atspējot un atsvaidzināt lapu. Ja tas nepalīdz, iespējams, varēsi lietot Mastodon, izmantojot citu pārlūkprogrammu vai vietējo lietotni.", "errors.unexpected_crash.copy_stacktrace": "Iekopēt starpliktuvē", "errors.unexpected_crash.report_issue": "Ziņot par problēmu", + "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", "follow_recommendations.done": "Izpildīts", "follow_recommendations.heading": "Seko cilvēkiem, no kuriem vēlies redzēt ziņas! Šeit ir daži ieteikumi.", "follow_recommendations.lead": "Ziņas no cilvēkiem, kuriem seko, mājas plūsmā tiks parādītas hronoloģiskā secībā. Nebaidies kļūdīties, tu tikpat viegli vari pārtraukt sekot cilvēkiem jebkurā laikā!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Iestatījumi", "navigation_bar.public_timeline": "Apvienotā ziņu lenta", "navigation_bar.security": "Drošība", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} izcēla tavu ziņu", "notification.follow": "{name} uzsāka tev sekot", "notification.follow_request": "{name} vēlas tev sekot", @@ -311,6 +319,7 @@ "notification.update": "{name} ir rediģējis rakstu", "notifications.clear": "Notīrīt paziņojumus", "notifications.clear_confirmation": "Vai tiešām vēlies neatgriezeniski notīrīt visus savus paziņojumus?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Darbvirsmas paziņojumi", "notifications.column_settings.favourite": "Izlases:", "notifications.column_settings.filter_bar.advanced": "Rādīt visas kategorijas", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "šodien", "reply_indicator.cancel": "Atcelt", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Citi", "report.categories.spam": "Spams", "report.categories.violation": "Saturs pārkāpj vienu vai vairākus servera noteikumus", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Pārsūtīt {target}", "report.forward_hint": "Konts ir no cita servera. Vai nosūtīt anonimizētu ziņojuma kopiju arī tam?", - "report.hint": "Pārskats tiks nosūtīts tava servera moderatoriem. Tu vari pievienot paskaidrojumu, kādēļ tu ziņo par kontu:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Papildu komentāri", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Iesniegt", "report.target": "Ziņošana par: {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.", "search.placeholder": "Meklēšana", "search_popout.search_format": "Paplašināts meklēšanas formāts", "search_popout.tips.full_text": "Vienkāršs teksts atgriež ziņas, kuras esi rakstījis, iecienījis, paaugstinājis vai pieminējis, kā arī atbilstošie lietotājvārdi, parādāmie vārdi un tēmturi.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Vienkāršs teksts atgriež atbilstošus parādāmos vārdus, lietotājvārdus un mirkļbirkas", "search_popout.tips.user": "lietotājs", "search_results.accounts": "Cilvēki", + "search_results.all": "All", "search_results.hashtags": "Tēmturi", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Ziņas", "search_results.statuses_fts_disabled": "Šajā Mastodon serverī nav iespējota ziņu meklēšana pēc to satura.", "search_results.total": "{count, number} {count, plural, one {rezultāts} other {rezultāti}}", diff --git a/app/javascript/mastodon/locales/mk.json b/app/javascript/mastodon/locales/mk.json index 609232e7a..54eae6e6d 100644 --- a/app/javascript/mastodon/locales/mk.json +++ b/app/javascript/mastodon/locales/mk.json @@ -167,6 +167,7 @@ "empty_column.community": "Локалниот времеплов е празен. Објавете нешто јавно за да може да почне шоуто!", "empty_column.direct": "Немате директни пораки. Кога ќе пратите или примите, ќе се појават тука.", "empty_column.domain_blocks": "Немате сокриени домеини уште.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Пријавете проблем", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Федеративен времеплов", "navigation_bar.security": "Безбедност", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}с", "relative_time.today": "today", "reply_indicator.cancel": "Откажи", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Проследи до {target}", "report.forward_hint": "Оваа сметка е од друг сервер. Испрати анонимна копија од пријавата и таму?", - "report.hint": "Пријавата ќе биде испратена до вашиот серверски модератор. Подолу можете да ставите опис зошто ја пријавувате сметката:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Додатни коментари", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "Барај", "search_popout.search_format": "Напреден формат за барање", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Прост текст враќа совпаднати имиња, корисници и хештагови", "search_popout.tips.user": "user", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/ml.json b/app/javascript/mastodon/locales/ml.json index e85a5ff75..766bdfafd 100644 --- a/app/javascript/mastodon/locales/ml.json +++ b/app/javascript/mastodon/locales/ml.json @@ -167,6 +167,7 @@ "empty_column.community": "പ്രാദേശികമായ സമയരേഖ ശൂന്യമാണ്. എന്തെങ്കിലും പരസ്യമായി എഴുതി തുടക്കം കുറിക്കു!", "empty_column.direct": "നിങ്ങൾക്ക് ഇതുവരെ നേരിട്ടുള്ള സന്ദേശങ്ങൾ ഒന്നുമില്ല. നിങ്ങൾ അങ്ങനെ ഒന്ന് അയക്കുകയോ, നിങ്ങൾക്ക് ലഭിക്കുകയോ ചെയ്യുന്നപക്ഷം അതിവിടെ കാണപ്പെടുന്നതാണ്.", "empty_column.domain_blocks": "മറയ്ക്കപ്പെട്ടിരിക്കുന്ന മേഖലകൾ ഇതുവരെ ഇല്ല.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "പ്രശ്നം അറിയിക്കുക", + "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", "follow_recommendations.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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "ക്രമീകരണങ്ങൾ", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "സുരക്ഷ", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} നിങ്ങളെ പിന്തുടർന്നു", "notification.follow_request": "{name} നിങ്ങളെ പിന്തുടരാൻ അഭ്യർത്ഥിച്ചു", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "അറിയിപ്പ് മായ്ക്കുക", "notifications.clear_confirmation": "നിങ്ങളുടെ എല്ലാ അറിയിപ്പുകളും ശാശ്വതമായി മായ്‌ക്കണമെന്ന് നിങ്ങൾക്ക് ഉറപ്പാണോ?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "ഡെസ്ക്ടോപ്പ് അറിയിപ്പുകൾ", "notifications.column_settings.favourite": "പ്രിയപ്പെട്ടവ:", "notifications.column_settings.filter_bar.advanced": "എല്ലാ വിഭാഗങ്ങളും പ്രദർശിപ്പിക്കുക", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "ഇന്ന്", "reply_indicator.cancel": "റദ്ദാക്കുക", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "ഈ അക്കൗണ്ട് മറ്റൊരു സെർവറിൽ നിന്നാണ്. റിപ്പോർട്ടിന്റെ അജ്ഞാത പകർപ്പ് അവിടെ അയയ്ക്കണോ?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "കൂടുതൽ അഭിപ്രായങ്ങൾ", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "സമർപ്പിക്കുക", "report.target": "Report {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.", "search.placeholder": "തിരയുക", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "ഉപയോക്താവ്", "search_results.accounts": "ആളുകൾ", + "search_results.all": "All", "search_results.hashtags": "ഹാഷ്ടാഗുകൾ", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "ടൂട്ടുകൾ", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/mr.json b/app/javascript/mastodon/locales/mr.json index ee3e21bf8..83d2bb168 100644 --- a/app/javascript/mastodon/locales/mr.json +++ b/app/javascript/mastodon/locales/mr.json @@ -167,6 +167,7 @@ "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "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": "There are no hidden domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "Security", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "Cancel", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Additional comments", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Submit", "report.target": "Report {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.", "search.placeholder": "Search", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "user", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json index c50e442c1..42dd34131 100644 --- a/app/javascript/mastodon/locales/ms.json +++ b/app/javascript/mastodon/locales/ms.json @@ -167,6 +167,7 @@ "empty_column.community": "Garis masa tempatan kosong. Tulislah secara awam untuk memulakan sesuatu!", "empty_column.direct": "Anda tidak mempunyai mesej terus. Apabila anda menghantar atau menerimanya, ia akan muncul di sini.", "empty_column.domain_blocks": "Belum ada domain yang disekat.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Anda belum ada hantaran yang digemari. Apabila anda menggemari sesuatu, ia akan muncul di sini.", "empty_column.favourites": "Tiada sesiapa yang menggemari hantaran ini. Apabila ada yang menggemari, ia akan muncul di sini.", "empty_column.follow_recommendations": "Nampaknya tiada cadangan yang boleh dijana untuk anda. Anda boleh cuba gunakan gelintar untuk mencari orang yang anda mungkin kenal atau jelajahi tanda pagar sohor kini.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Cuba nyahdaya pemalam dan segarkan semula halaman. Jika itu tidak membantu, anda masih boleh menggunakan Mastodon dengan pelayar yang berlainan atau aplikasi natif.", "errors.unexpected_crash.copy_stacktrace": "Salin surih tindanan ke papan keratan", "errors.unexpected_crash.report_issue": "Laporkan masalah", + "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", "follow_recommendations.done": "Selesai", "follow_recommendations.heading": "Ikuti orang yang anda ingin lihat hantarannya! Di sini ada beberapa cadangan.", "follow_recommendations.lead": "Hantaran daripada orang yang anda ikuti akan muncul dalam susunan kronologi di suapan rumah anda. Jangan takut melakukan kesilapan, anda boleh nyahikuti orang dengan mudah pada bila-bila masa!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Keutamaan", "navigation_bar.public_timeline": "Garis masa bersekutu", "navigation_bar.security": "Keselamatan", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} menggemari hantaran anda", "notification.follow": "{name} mengikuti anda", "notification.follow_request": "{name} meminta untuk mengikuti anda", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Buang pemberitahuan", "notifications.clear_confirmation": "Adakah anda pasti anda ingin membuang semua pemberitahuan anda secara kekal?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Pemberitahuan atas meja", "notifications.column_settings.favourite": "Kegemaran:", "notifications.column_settings.filter_bar.advanced": "Papar semua kategori", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "hari ini", "reply_indicator.cancel": "Batal", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Panjangkan ke {target}", "report.forward_hint": "Akaun ini daripada pelayan lain. Hantar salinan laporan yang ditanpanamakan ke sana juga?", - "report.hint": "Laporan akan dihantar ke penyederhana pelayan anda. Anda boleh sertakan penerangan kenapa anda laporkan akaun ini di bawah:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Ulasan tambahan", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Serah", "report.target": "Melaporkan {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.", "search.placeholder": "Cari", "search_popout.search_format": "Format gelintar lanjutan", "search_popout.tips.full_text": "Teks ringkas mengembalikan hantaran yang anda telah tulis, menggemari, menggalak, atau telah disebutkan, dan juga nama pengguna, nama paparan, dan tanda pagar yang dipadankan.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Teks ringkas mengembalikan nama paparan, nama pengguna dan tanda pagar yang sepadan", "search_popout.tips.user": "pengguna", "search_results.accounts": "Orang", + "search_results.all": "All", "search_results.hashtags": "Tanda pagar", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Hantaran", "search_results.statuses_fts_disabled": "Menggelintar hantaran menggunakan kandungannya tidak didayakan di pelayan Mastodon ini.", "search_results.total": "{count, number} {count, plural, other {hasil}}", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index 956313c24..4ad3335a3 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -167,6 +167,7 @@ "empty_column.community": "De lokale tijdlijn is nog leeg. Toot iets in het openbaar om de spits af te bijten!", "empty_column.direct": "Je hebt nog geen directe berichten. Wanneer je er een verzend of ontvangt, zijn deze hier te zien.", "empty_column.domain_blocks": "Er zijn nog geen geblokkeerde domeinen.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Jij hebt nog geen favoriete toots. Wanneer je er een aan jouw favorieten toevoegt, valt deze hier te zien.", "empty_column.favourites": "Niemand heeft deze toot nog aan hun favorieten toegevoegd. Wanneer iemand dit doet, valt dat hier te zien.", "empty_column.follow_recommendations": "Het lijkt er op dat er geen aanbevelingen voor jou aangemaakt kunnen worden. Je kunt proberen te zoeken naar mensen die je wellicht kent, zoeken op hashtags, de lokale en globale tijdlijnen bekijken of de gebruikersgids doorbladeren.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Probeer deze uit te schakelen en de pagina te verversen. Wanneer dat niet helpt, kun je Mastodon nog altijd met een andere webbrowser of mobiele app gebruiken.", "errors.unexpected_crash.copy_stacktrace": "Stacktrace naar klembord kopiëren", "errors.unexpected_crash.report_issue": "Technisch probleem melden", + "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", "follow_recommendations.done": "Klaar", "follow_recommendations.heading": "Volg mensen waarvan je graag toots wil zien! Hier zijn enkele aanbevelingen.", "follow_recommendations.lead": "Toots van mensen die je volgt zullen in chronologische volgorde onder start verschijnen. Wees niet bang om hierin fouten te maken, want je kunt mensen op elk moment net zo eenvoudig ontvolgen!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Instellingen", "navigation_bar.public_timeline": "Globale tijdlijn", "navigation_bar.security": "Beveiliging", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} voegde jouw toot als favoriet toe", "notification.follow": "{name} volgt jou nu", "notification.follow_request": "{name} wil jou graag volgen", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Meldingen verwijderen", "notifications.clear_confirmation": "Weet je het zeker dat je al jouw meldingen wilt verwijderen?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktopmeldingen", "notifications.column_settings.favourite": "Favorieten:", "notifications.column_settings.filter_bar.advanced": "Alle categorieën tonen", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "vandaag", "reply_indicator.cancel": "Annuleren", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Naar {target} doorsturen", "report.forward_hint": "Het account bevindt zich op een andere server. Wil je daar eveneens een geanonimiseerde kopie van deze rapportage naar toe sturen?", - "report.hint": "De rapportage wordt naar de moderator(en) van jouw server gestuurd. Je kunt hieronder een uitleg geven waarom je dit account rapporteert:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Extra opmerkingen", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Verzenden", "report.target": "{target} rapporteren", + "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.", "search.placeholder": "Zoeken", "search_popout.search_format": "Geavanceerd zoeken", "search_popout.tips.full_text": "Gebruik gewone tekst om te zoeken in jouw toots, gebooste toots, favorieten en in toots waarin je bent vermeldt, en tevens naar gebruikersnamen, weergavenamen en hashtags.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Gebruik gewone tekst om te zoeken op weergavenamen, gebruikersnamen en hashtags", "search_popout.tips.user": "gebruiker", "search_results.accounts": "Gebruikers", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Het zoeken in toots is op deze Mastodon-server niet ingeschakeld.", "search_results.total": "{count, number} {count, plural, one {resultaat} other {resultaten}}", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index d85cb3e20..5fdbfd25d 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -167,6 +167,7 @@ "empty_column.community": "Den lokale samtiden er tom. Skriv noko offentleg å få ballen til å rulle!", "empty_column.direct": "Du har ingen direktemeldingar ennå. Når du sender eller får ein vil den dukke opp her.", "empty_column.domain_blocks": "Det er ingen gøymde domene ennå.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Du har ingen favoritt-tut ennå. Når du merkjer ein som favoritt, så dukkar det opp her.", "empty_column.favourites": "Ingen har merkt dette tutet som favoritt enno. Når nokon gjer det, så dukkar det opp her.", "empty_column.follow_recommendations": "Ser ut som at det ikke finnes noen forslag for deg. Du kan prøve å bruke søk for å se etter folk du kan vite eller utforske trendende hashtags.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Prøv å deaktivere dem og laste siden på nytt. Hvis det ikke hjelper, kan du fremdeles bruke Mastodon via en annen nettleser eller en annen app.", "errors.unexpected_crash.copy_stacktrace": "Kopier stacktrace til utklippstavla", "errors.unexpected_crash.report_issue": "Rapporter problem", + "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", "follow_recommendations.done": "Ferdig", "follow_recommendations.heading": "Følg folk du ønsker å se innlegg fra! Her er noen forslag.", "follow_recommendations.lead": "Innlegg fra mennesker du følger vil vises i kronologisk rekkefølge på hjemmefeed. Ikke vær redd for å gjøre feil, du kan slutte å følge folk like enkelt som alt!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Innstillingar", "navigation_bar.public_timeline": "Føderert tidsline", "navigation_bar.security": "Tryggleik", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} merkte statusen din som favoritt", "notification.follow": "{name} fylgde deg", "notification.follow_request": "{name} har bedt om å fylgja deg", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Tøm varsel", "notifications.clear_confirmation": "Er du sikker på at du vil fjerna alle varsla dine for alltid?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Skrivebordsvarsel", "notifications.column_settings.favourite": "Favorittar:", "notifications.column_settings.filter_bar.advanced": "Vis alle kategoriar", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}sek", "relative_time.today": "i dag", "reply_indicator.cancel": "Avbryt", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Vidaresend til {target}", "report.forward_hint": "Kontoen er frå ein annan tenar. Vil du senda ein anonymisert kopi av rapporten dit òg?", - "report.hint": "Rapporten vil verte sendt til dine tenarmoderatorar. Du kan oppgje ei forklaring på kvifor du rapporterer denne kontoen, under:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Tilleggskommentarar", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Send inn", "report.target": "Rapporterer {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.", "search.placeholder": "Søk", "search_popout.search_format": "Avansert søkeformat", "search_popout.tips.full_text": "Enkel tekst returnerer statusar du har skrive, likt, framheva eller vorte nemnd i, i tillegg til samsvarande brukarnamn, visningsnamn og emneknaggar.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Enkel tekst returnerer samsvarande visningsnamn, brukarnamn og emneknaggar", "search_popout.tips.user": "brukar", "search_results.accounts": "Folk", + "search_results.all": "All", "search_results.hashtags": "Emneknaggar", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Tut", "search_results.statuses_fts_disabled": "På denne Matsodon-tenaren kan du ikkje søkja på tut etter innhaldet deira.", "search_results.total": "{count, number} {count, plural, one {treff} other {treff}}", diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json index 2948a0586..2b90414f0 100644 --- a/app/javascript/mastodon/locales/no.json +++ b/app/javascript/mastodon/locales/no.json @@ -167,6 +167,7 @@ "empty_column.community": "Den lokale tidslinjen er tom. Skriv noe offentlig for å få snøballen til å rulle!", "empty_column.direct": "Du har ingen direktemeldinger enda. Når du mottar eller sender en, vil den dukke opp her.", "empty_column.domain_blocks": "Det er ingen skjulte domener enda.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Du har ikke likt noen tuter enda. Når du liker en, vil den dukke opp her.", "empty_column.favourites": "Ingen har likt denne tuten enda. Når noen gjør det, vil de dukke opp her.", "empty_column.follow_recommendations": "Ser ut som at det ikke finnes noen forslag for deg. Du kan prøve å bruke søk for å se etter folk du kan vite eller utforske trendende hashtags.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Prøv å deaktivere dem og laste siden på nytt. Hvis det ikke hjelper, kan du fremdeles bruke Mastodon via en annen nettleser eller en annen app.", "errors.unexpected_crash.copy_stacktrace": "Kopier stacktrace-en til utklippstavlen", "errors.unexpected_crash.report_issue": "Rapporter en feil", + "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", "follow_recommendations.done": "Utført", "follow_recommendations.heading": "Følg folk du ønsker å se innlegg fra! Her er noen forslag.", "follow_recommendations.lead": "Innlegg fra mennesker du følger vil vises i kronologisk rekkefølge på hjemmefeed. Ikke vær redd for å gjøre feil, du kan slutte å følge folk like enkelt som alt!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Innstillinger", "navigation_bar.public_timeline": "Felles tidslinje", "navigation_bar.security": "Sikkerhet", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} likte din status", "notification.follow": "{name} fulgte deg", "notification.follow_request": "{name} har bedt om å få følge deg", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Fjern varsler", "notifications.clear_confirmation": "Er du sikker på at du vil fjerne alle dine varsler permanent?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Skrivebordsvarslinger", "notifications.column_settings.favourite": "Likt:", "notifications.column_settings.filter_bar.advanced": "Vis alle kategorier", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "i dag", "reply_indicator.cancel": "Avbryt", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Videresend til {target}", "report.forward_hint": "Denne kontoen er fra en annen tjener. Vil du sende en anonymisert kopi av rapporten dit også?", - "report.hint": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Tilleggskommentarer", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Send inn", "report.target": "Rapporterer", + "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.", "search.placeholder": "Søk", "search_popout.search_format": "Avansert søkeformat", "search_popout.tips.full_text": "Enkel tekst gir resultater for statuser du har skrevet, likt, fremhevet, eller har blitt nevnt i, i tillegg til samsvarende brukernavn, visningsnavn og emneknagger.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Enkel tekst returnerer matchende visningsnavn, brukernavn og emneknagger", "search_popout.tips.user": "bruker", "search_results.accounts": "Folk", + "search_results.all": "All", "search_results.hashtags": "Emneknagger", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Tuter", "search_results.statuses_fts_disabled": "Å søke i tuter etter innhold er ikke skrudd på i denne Mastodon-tjeneren.", "search_results.total": "{count, number} {count, plural, one {resultat} other {resultater}}", diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index 65ba8aeb6..282a0aa59 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -167,6 +167,7 @@ "empty_column.community": "Lo flux public local es void. Escrivètz quicòm per lo garnir !", "empty_column.direct": "Avètz pas encara cap de messatges. Quand ne mandatz un o que ne recebètz un, serà mostrat aquí.", "empty_column.domain_blocks": "I a pas encara cap de domeni amagat.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Avètz pas encara cap de tut favorit. Quand n’auretz un, apareisserà aquí.", "empty_column.favourites": "Degun a pas encara mes en favorit aqueste tut. Quand qualqu’un o farà, apareisserà aquí.", "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.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Ensajatz de los desactivar o actualizatz la pagina. Se aquò ajuda pas, podètz ensajar d’utilizar Mastodon via un autre navigador o una aplicacion nativa.", "errors.unexpected_crash.copy_stacktrace": "Copiar las traças al quichapapièrs", "errors.unexpected_crash.report_issue": "Senhalar un problèma", + "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", "follow_recommendations.done": "Acabat", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferéncias", "navigation_bar.public_timeline": "Flux public global", "navigation_bar.security": "Seguretat", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} a ajustat a sos favorits", "notification.follow": "{name} vos sèc", "notification.follow_request": "{name} a demandat a vos sègre", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Escafar", "notifications.clear_confirmation": "Volètz vertadièrament escafar totas vòstras las notificacions ?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Notificacions localas", "notifications.column_settings.favourite": "Favorits :", "notifications.column_settings.filter_bar.advanced": "Mostrar totas las categorias", @@ -378,15 +387,43 @@ "relative_time.seconds": "fa {number}s", "relative_time.today": "uèi", "reply_indicator.cancel": "Anullar", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Far sègre a {target}", "report.forward_hint": "Lo compte ven d’un autre servidor. Volètz mandar una còpia anonima del rapòrt enlai tanben ?", - "report.hint": "Lo moderator del servidor aurà lo rapòrt. Podètz fornir una explicacion de vòstre senhalament aquí dejós  :", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Comentaris addicionals", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Mandar", "report.target": "Senhalar {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.", "search.placeholder": "Recercar", "search_popout.search_format": "Format recèrca avançada", "search_popout.tips.full_text": "Un tèxte simple que tòrna los estatuts qu’avètz escriches, mes en favorits, partejats, o ont sètz mencionat, e tanben los noms d’utilizaires, escais-noms e etiquetas que correspondonas.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Lo tèxte brut tòrna escais, noms d’utilizaire e etiquetas correspondents", "search_popout.tips.user": "utilizaire", "search_results.accounts": "Gents", + "search_results.all": "All", "search_results.hashtags": "Etiquetas", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Tuts", "search_results.statuses_fts_disabled": "La recèrca de tuts per lor contengut es pas activada sus aqueste servidor Mastodon.", "search_results.total": "{count, number} {count, plural, one {resultat} other {resultats}}", diff --git a/app/javascript/mastodon/locales/pa.json b/app/javascript/mastodon/locales/pa.json index 5456eb88e..dbde323ba 100644 --- a/app/javascript/mastodon/locales/pa.json +++ b/app/javascript/mastodon/locales/pa.json @@ -167,6 +167,7 @@ "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "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": "There are no blocked domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "Security", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "Cancel", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Additional comments", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Submit", "report.target": "Report {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.", "search.placeholder": "Search", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "user", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 74fa1e52a..267a6db52 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -167,6 +167,7 @@ "empty_column.community": "Lokalna oś czasu jest pusta. Napisz coś publicznie, aby zagaić!", "empty_column.direct": "Nie masz żadnych wiadomości bezpośrednich. Kiedy dostaniesz lub wyślesz jakąś, pojawi się ona tutaj.", "empty_column.domain_blocks": "Brak ukrytych domen.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Nie dodałeś(-aś) żadnego wpisu do ulubionych. Kiedy to zrobisz, pojawi się on tutaj.", "empty_column.favourites": "Nikt nie dodał tego wpisu do ulubionych. Gdy ktoś to zrobi, pojawi się tutaj.", "empty_column.follow_recommendations": "Wygląda na to, że nie można wygenerować dla Ciebie żadnych sugestii. Możesz spróbować wyszukać osoby, które znasz, lub przeglądać popularne hashtagi.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Spróbuj je wyłączyć lub odświeżyć stronę. Jeśli to nie pomoże, możesz wciąż korzystać z Mastodona w innej przeglądarce lub natywnej aplikacji.", "errors.unexpected_crash.copy_stacktrace": "Skopiuj ślad stosu do schowka", "errors.unexpected_crash.report_issue": "Zgłoś problem", + "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", "follow_recommendations.done": "Gotowe", "follow_recommendations.heading": "Śledź ludzi, których wpisy chcesz czytać. Oto kilka propozycji.", "follow_recommendations.lead": "Wpisy osób, które śledzisz będą pojawiać się w porządku chronologicznym na stronie głównej. Nie bój się popełniać błędów, możesz bez problemu przestać śledzić każdego w każdej chwili!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferencje", "navigation_bar.public_timeline": "Globalna oś czasu", "navigation_bar.security": "Bezpieczeństwo", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} dodał(a) Twój wpis do ulubionych", "notification.follow": "{name} zaczął(-ęła) Cię śledzić", "notification.follow_request": "{name} poprosił(a) o możliwość śledzenia Cię", @@ -311,6 +319,7 @@ "notification.update": "{name} edytował post", "notifications.clear": "Wyczyść powiadomienia", "notifications.clear_confirmation": "Czy na pewno chcesz bezpowrotnie usunąć wszystkie powiadomienia?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Powiadomienia na pulpicie", "notifications.column_settings.favourite": "Dodanie do ulubionych:", "notifications.column_settings.filter_bar.advanced": "Wyświetl wszystkie kategorie", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number} s.", "relative_time.today": "dzisiaj", "reply_indicator.cancel": "Anuluj", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Inne", "report.categories.spam": "Spam", "report.categories.violation": "Zawartość narusza co najmniej jedną zasadę serwera", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Przekaż na {target}", "report.forward_hint": "To konto znajduje się na innej instancji. Czy chcesz wysłać anonimową kopię zgłoszenia rnież na nią?", - "report.hint": "Zgłoszenie zostanie wysłane moderatorom Twojego serwera. Poniżej możesz też umieścić wyjaśnienie dlaczego zgłaszasz to konto:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Dodatkowe komentarze", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Wyślij", "report.target": "Zgłaszanie {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.", "search.placeholder": "Szukaj", "search_popout.search_format": "Zaawansowane wyszukiwanie", "search_popout.tips.full_text": "Pozwala na wyszukiwanie wpisów które napisałeś(-aś), dodałeś(-aś) do ulubionych lub podbiłeś(-aś), w których o Tobie wspomniano, oraz pasujące nazwy użytkowników, pełne nazwy i hashtagi.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Proste wyszukiwanie pasujących pseudonimów, nazw użytkowników i hashtagów", "search_popout.tips.user": "użytkownik", "search_results.accounts": "Ludzie", + "search_results.all": "All", "search_results.hashtags": "Hashtagi", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Wpisy", "search_results.statuses_fts_disabled": "Szukanie wpisów przy pomocy ich zawartości nie jest włączone na tym serwerze Mastodona.", "search_results.total": "{count, number} {count, plural, one {wynik} few {wyniki} many {wyników} more {wyników}}", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index 7230c5f39..5c61de999 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -167,6 +167,7 @@ "empty_column.community": "A linha local está vazia. Publique algo para começar!", "empty_column.direct": "Nada aqui. Quando você enviar ou receber toots diretos, eles aparecerão aqui.", "empty_column.domain_blocks": "Nada aqui.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Nada aqui. Quando você favoritar um toot, ele aparecerá aqui.", "empty_column.favourites": "Nada aqui. Quando alguém favoritar, o autor aparecerá aqui.", "empty_column.follow_recommendations": "Parece que não há sugestões para você. Tente usar a pesquisa para encontrar pessoas que você possa conhecer ou explorar hashtags.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Tente desativá-los e atualizar a página. Se isso não ajudar, você ainda poderá usar o Mastodon por meio de um navegador diferente ou de um aplicativo nativo.", "errors.unexpected_crash.copy_stacktrace": "Copiar dados do erro para área de transferência", "errors.unexpected_crash.report_issue": "Reportar problema", + "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", "follow_recommendations.done": "Salvar", "follow_recommendations.heading": "Siga pessoas que você gostaria de acompanhar! Aqui estão algumas sugestões.", "follow_recommendations.lead": "Toots de pessoas que você segue aparecerão em ordem cronológica na página inicial. Não tenha medo de cometer erros, você pode facilmente deixar de seguir a qualquer momento!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferências", "navigation_bar.public_timeline": "Linha global", "navigation_bar.security": "Segurança", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favoritou teu toot", "notification.follow": "{name} te seguiu", "notification.follow_request": "{name} quer te seguir", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Limpar notificações", "notifications.clear_confirmation": "Você tem certeza de que deseja limpar todas as suas notificações?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Notificações no computador", "notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.filter_bar.advanced": "Mostrar todas as categorias", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "hoje", "reply_indicator.cancel": "Cancelar", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Encaminhar para {target}", "report.forward_hint": "A conta está em outra instância. Enviar uma cópia anônima da denúncia para lá?", - "report.hint": "A denúncia será enviada aos moderadores da instância. Explique por que denunciou a conta:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Comentários adicionais aqui", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Enviar", "report.target": "Denunciando {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.", "search.placeholder": "Pesquisar", "search_popout.search_format": "Formato de pesquisa avançada", "search_popout.tips.full_text": "Texto simples retorna toots que você escreveu, favoritou, deu boost, ou em que foi mencionado, assim como nomes de usuário e de exibição, e hashtags correspondentes.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Texto simples retorna nomes de exibição e de usuário, e hashtags correspondentes", "search_popout.tips.user": "usuário", "search_results.accounts": "Pessoas", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Pesquisar toots por seu conteúdo não está ativado nesta instância Mastodon.", "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}", diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json index 531265706..48e1fb044 100644 --- a/app/javascript/mastodon/locales/pt-PT.json +++ b/app/javascript/mastodon/locales/pt-PT.json @@ -167,6 +167,7 @@ "empty_column.community": "A timeline local está vazia. Escreve algo publicamente para começar!", "empty_column.direct": "Ainda não tem qualquer mensagem direta. Quando enviar ou receber alguma, ela irá aparecer aqui.", "empty_column.domain_blocks": "Ainda não há qualquer domínio escondido.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Ainda não tens quaisquer toots favoritos. Quando tiveres algum, ele irá aparecer aqui.", "empty_column.favourites": "Ainda ninguém marcou este toot como favorito. Quando alguém o fizer, ele irá aparecer aqui.", "empty_column.follow_recommendations": "Parece que não foi possível gerar nenhuma sugestão para si. Pode tentar utilizar a pesquisa para procurar pessoas que conheça ou explorar as hashtags em destaque.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Tente desabilitá-los e atualizar a página. Se isso não ajudar, você ainda poderá usar o Mastodon por meio de um navegador diferente ou de um aplicativo nativo.", "errors.unexpected_crash.copy_stacktrace": "Copiar a stacktrace para o clipboard", "errors.unexpected_crash.report_issue": "Reportar problema", + "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", "follow_recommendations.done": "Concluído", "follow_recommendations.heading": "Siga pessoas das quais gostaria de ver publicações! Aqui estão algumas sugestões.", "follow_recommendations.lead": "As publicações das pessoas que segue serão exibidos em ordem cronológica na sua página inicial. Não tenha medo de cometer erros, você pode deixar de seguir as pessoas tão facilmente a qualquer momento!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferências", "navigation_bar.public_timeline": "Cronologia federada", "navigation_bar.security": "Segurança", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} adicionou a tua publicação aos favoritos", "notification.follow": "{name} começou a seguir-te", "notification.follow_request": "{name} pediu para segui-lo", @@ -311,6 +319,7 @@ "notification.update": "{name} editou uma publicação", "notifications.clear": "Limpar notificações", "notifications.clear_confirmation": "Queres mesmo limpar todas as notificações?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Notificações no ambiente de trabalho", "notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.filter_bar.advanced": "Mostrar todas as categorias", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "hoje", "reply_indicator.cancel": "Cancelar", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Outro", "report.categories.spam": "Spam", "report.categories.violation": "O conteúdo viola uma ou mais regras do servidor", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Reenviar para {target}", "report.forward_hint": "A conta é de outro servidor. Enviar uma cópia anónima da denúncia para lá também?", - "report.hint": "A denúncia será enviada para os moderadores do seu servidor. Pode fornecer, em baixo, uma explicação do motivo pelo qual está a denunciar esta conta:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Comentários adicionais", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Enviar", "report.target": "A denunciar {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.", "search.placeholder": "Pesquisar", "search_popout.search_format": "Formato avançado de pesquisa", "search_popout.tips.full_text": "Texto simples devolve publicações que escreveu, marcou como favorita, partilhou ou em que foi mencionado, tal como nomes de utilizador, alcunhas e hashtags.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "O texto simples retorna a correspondência de nomes, utilizadores e hashtags", "search_popout.tips.user": "utilizador", "search_results.accounts": "Pessoas", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "A pesquisa de toots pelo seu conteúdo não está disponível nesta instância Mastodon.", "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}", diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json index 1a6e19713..6e3ee6c2f 100644 --- a/app/javascript/mastodon/locales/ro.json +++ b/app/javascript/mastodon/locales/ro.json @@ -167,6 +167,7 @@ "empty_column.community": "Nu există nimic în cronologia locală. Postează ceva public pentru a sparge gheața!", "empty_column.direct": "Momentan nu ai niciun mesaj direct. Când trimiți sau primești un mesaj, va apărea aici.", "empty_column.domain_blocks": "Momentan nu există domenii blocate.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Momentan nu ai nicio postare favorită. Când vei adăuga una, va apărea aici.", "empty_column.favourites": "Momentan nimeni nu a adăugat această postare la favorite. Când cineva o va face, va apărea aici.", "empty_column.follow_recommendations": "Se pare că nu am putut genera nicio sugestie pentru tine. Poți încerca funcția de căutare pentru a căuta persoane pe care le cunoști, sau poți explora tendințele.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Încearcă să le dezactivezi și să reîmprospătezi pagina. Dacă tot nu funcționează, poți accesa Mastodon dintr-un alt navigator sau dintr-o aplicație nativă.", "errors.unexpected_crash.copy_stacktrace": "Copiere stacktrace în clipboard", "errors.unexpected_crash.report_issue": "Raportează o problemă", + "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", "follow_recommendations.done": "Terminat", "follow_recommendations.heading": "Urmărește persoanele ale căror postări te-ar interesa! Iată câteva sugestii.", "follow_recommendations.lead": "Postările de la persoanele la care te-ai abonat vor apărea în ordine cronologică în cronologia principală. Nu-ți fie teamă să faci greșeli, poți să te dezabonezi oricând de la ei la fel de ușor!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferințe", "navigation_bar.public_timeline": "Cronologie globală", "navigation_bar.security": "Securitate", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} a adăugat postarea ta la favorite", "notification.follow": "{name} s-a abonat la tine", "notification.follow_request": "{name} a trimis o cerere de abonare", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Șterge notificările", "notifications.clear_confirmation": "Ești sigur că vrei să ștergi permanent toate notificările?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Notificări pe desktop", "notifications.column_settings.favourite": "Favorite:", "notifications.column_settings.filter_bar.advanced": "Afișează toate categoriile", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "astăzi", "reply_indicator.cancel": "Anulează", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Redirecționează către {target}", "report.forward_hint": "Acest cont este de pe un alt server. Trimitem o copie anonimă a raportului și acolo?", - "report.hint": "Sesizarea va fi trimisă către moderatorii acestei instanțe. Poți oferi o explicație pentru această sesizare mai jos:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Comentarii adiționale", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Trimite", "report.target": "Raportează {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.", "search.placeholder": "Caută", "search_popout.search_format": "Formate pentru căutare avansată", "search_popout.tips.full_text": "Textele simple returnează postări pe care le-ai scris, favorizat, impulsionat, sau în care sunt menționate, deasemenea și utilizatorii sau hashtag-urile care se potrivesc.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Textele simple returnează nume, nume de utilizatori și hashtag-urile care se potrivesc", "search_popout.tips.user": "utilizator", "search_results.accounts": "Persoane", + "search_results.all": "All", "search_results.hashtags": "Hashtag-uri", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Postări", "search_results.statuses_fts_disabled": "Căutarea de postări după conținutul lor nu este activată pe acest server.", "search_results.total": "{count, number} {count, plural, one {rezultat} other {rezultate}}", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 82e57821b..01c699f86 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -167,6 +167,7 @@ "empty_column.community": "Локальная лента пуста. Напишите что-нибудь, чтобы разогреть народ!", "empty_column.direct": "У вас пока нет личных сообщений. Как только вы отправите или получите одно, оно появится здесь.", "empty_column.domain_blocks": "Скрытых доменов пока нет.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Вы не добавили ни один пост в «Избранное». Как только вы это сделаете, он появится здесь.", "empty_column.favourites": "Никто ещё не добавил этот пост в «Избранное». Как только кто-то это сделает, это отобразится здесь.", "empty_column.follow_recommendations": "Похоже, у нас нет предложений для вас. Вы можете попробовать поискать людей, которых уже знаете, или изучить актуальные хэштеги.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Попробуйте их отключить и перезагрузить страницу. Если это не поможет, вы по-прежнему сможете войти в Mastodon через другой браузер или приложение.", "errors.unexpected_crash.copy_stacktrace": "Скопировать диагностическую информацию", "errors.unexpected_crash.report_issue": "Сообщить о проблеме", + "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", "follow_recommendations.done": "Готово", "follow_recommendations.heading": "Подпишитесь на людей, чьи посты вы бы хотели видеть. Вот несколько предложений.", "follow_recommendations.lead": "Посты от людей, на которых вы подписаны, будут отображаться в вашей домашней ленте в хронологическом порядке. Не бойтесь ошибиться — вы так же легко сможете отписаться от них в любое время!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Настройки", "navigation_bar.public_timeline": "Глобальная лента", "navigation_bar.security": "Безопасность", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} добавил(а) ваш пост в избранное", "notification.follow": "{name} подписался (-лась) на вас", "notification.follow_request": "{name} отправил запрос на подписку", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Очистить уведомления", "notifications.clear_confirmation": "Вы уверены, что хотите очистить все уведомления?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Уведомления на рабочем столе", "notifications.column_settings.favourite": "Ваш пост добавили в «избранное»:", "notifications.column_settings.filter_bar.advanced": "Отображать все категории", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number} с", "relative_time.today": "сегодня", "reply_indicator.cancel": "Отмена", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Другое", "report.categories.spam": "Спам", "report.categories.violation": "Содержимое нарушает одно или несколько правил узла", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Переслать в {target}", "report.forward_hint": "Эта учётная запись расположена на другом узле. Отправить туда анонимную копию вашей жалобы?", - "report.hint": "Жалоба будет отправлена модераторам вашего узла. Вы также можете указать подробную причину жалобы ниже:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Комментарий", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "Поиск", "search_popout.search_format": "Продвинутый формат поиска", "search_popout.tips.full_text": "Поиск по простому тексту отобразит посты, которые вы написали, добавили в избранное, продвинули или в которых были упомянуты, а также подходящие имена пользователей и хэштеги.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Простой ввод текста покажет совпадающие имена пользователей, отображаемые имена и хэштеги", "search_popout.tips.user": "пользователь", "search_results.accounts": "Люди", + "search_results.all": "All", "search_results.hashtags": "Хэштеги", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Посты", "search_results.statuses_fts_disabled": "Поиск постов по их содержанию не поддерживается данным узлом Mastodon.", "search_results.total": "{count, number} {count, plural, one {результат} few {результата} many {результатов} other {результатов}}", diff --git a/app/javascript/mastodon/locales/sa.json b/app/javascript/mastodon/locales/sa.json index 357a69187..79b5e54b5 100644 --- a/app/javascript/mastodon/locales/sa.json +++ b/app/javascript/mastodon/locales/sa.json @@ -167,6 +167,7 @@ "empty_column.community": "स्थानीयसमयतालिका रिक्ता । सार्वजनिकत्वेनाऽत्र किमपि लिख्यताम् ।", "empty_column.direct": "नैकोऽपि प्रत्यक्षसन्देशो वर्तते । यदा प्रेष्यते वा प्राप्यतेऽत्र दृश्यते", "empty_column.domain_blocks": "न निषिद्धप्रदेशाः सन्ति ।", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "Security", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "Cancel", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Additional comments", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Submit", "report.target": "Report {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.", "search.placeholder": "Search", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "user", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/sc.json b/app/javascript/mastodon/locales/sc.json index 467857136..cdc001ba8 100644 --- a/app/javascript/mastodon/locales/sc.json +++ b/app/javascript/mastodon/locales/sc.json @@ -167,6 +167,7 @@ "empty_column.community": "Sa lìnia de tempus locale est bòida. Iscrie inoghe pro cumintzare sa festa!", "empty_column.direct": "Non tenes ancora perunu messàgiu deretu. Cando nd'as a imbiare o nd'as a retzire unu, at a èssere ammustradu inoghe.", "empty_column.domain_blocks": "Non tenes ancora perunu domìniu blocadu.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Non tenes ancora peruna publicatzione in is preferidos. Cando nd'as a agiùnghere una, at a èssere ammustrada inoghe.", "empty_column.favourites": "Nemos at marcadu ancora custa publicatzione comente preferida. Cando calicunu dd'at a fàghere, at a èssere ammustrada inoghe.", "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.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Proa a ddos disabilitare e torra a carrigare sa pàgina. Si custu no acontzat su problema, podes chircare de impreare Mastodon in unu navigadore diferente o in un'aplicatzione nativa.", "errors.unexpected_crash.copy_stacktrace": "Còpia stacktrace in punta de billete", "errors.unexpected_crash.report_issue": "Sinnala unu problema", + "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", "follow_recommendations.done": "Fatu", "follow_recommendations.heading": "Sighi gente de chie boles bìdere is publicatziones! Càstia custos cussìgios.", "follow_recommendations.lead": "Is messàgios de gente a sa chi ses sighende ant a èssere ammustrados in òrdine cronològicu in sa lìnia de tempus printzipale tua. Non timas de fàghere errores, acabbare de sighire gente est fàtzile in cale si siat momentu!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferèntzias", "navigation_bar.public_timeline": "Lìnia de tempus federada", "navigation_bar.security": "Seguresa", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} at marcadu sa publicatzione tua comente a preferida", "notification.follow": "{name} ti sighit", "notification.follow_request": "{name} at dimandadu de ti sighire", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Lìmpia notìficas", "notifications.clear_confirmation": "Seguru chi boles isboidare in manera permanente totu is notìficas tuas?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Notìficas de iscrivania", "notifications.column_settings.favourite": "Preferidos:", "notifications.column_settings.filter_bar.advanced": "Ammustra totu is categorias", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number} segundos a immoe", "relative_time.today": "oe", "reply_indicator.cancel": "Annulla", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Torra a imbiare a {target}", "report.forward_hint": "Custu contu est de un'àteru serbidore. Ddi boles imbiare puru una còpia anònima de custu informe?", - "report.hint": "S'informe at a èssere imbiadu a sa moderatzione de su serbidore. Podes frunire un'ispiegatzione de sa signalatzione tua de custu contu:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Cummentos additzionales", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Imbia", "report.target": "Informende de {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.", "search.placeholder": "Chirca", "search_popout.search_format": "Formadu de chirca avantzada", "search_popout.tips.full_text": "Testu sèmplitze pro agatare publicatziones chi as iscritu, marcadu comente a preferidas, cumpartzidu o chi t'ant mentovadu, e fintzas nòmines, nòmines de utente e etichetas.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Testu sèmplitze pro agatare nòmines visualizados, nòmines de utente e etichetas", "search_popout.tips.user": "utente", "search_results.accounts": "Gente", + "search_results.all": "All", "search_results.hashtags": "Etichetas", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Publicatziones", "search_results.statuses_fts_disabled": "Sa chirca de publicatziones pro su cuntenutu issoro no est abilitada in custu serbidore de Mastodon.", "search_results.total": "{count, number} {count, plural, one {resurtadu} other {resurtados}}", diff --git a/app/javascript/mastodon/locales/si.json b/app/javascript/mastodon/locales/si.json index c90c785fb..dc513c8a1 100644 --- a/app/javascript/mastodon/locales/si.json +++ b/app/javascript/mastodon/locales/si.json @@ -167,6 +167,7 @@ "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "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": "අවහිර කළ වසම් නොමැත.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "ආරක්ෂාව", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "දැනුම්දීම් හිස්කරන්න", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.favourite": "ප්‍රියතමයන්:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "අද", "reply_indicator.cancel": "අවලංගු කරන්න", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "අමතර අදහස්", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "යොමන්න", "report.target": "Report {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.", "search.placeholder": "සොයන්න", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "පරිශීලක", "search_results.accounts": "මිනිසුන්", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index f0833ff70..3c3ca14b4 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -167,6 +167,7 @@ "empty_column.community": "Lokálna časová os je prázdna. Napíšte niečo, aby sa to tu začalo hýbať!", "empty_column.direct": "Ešte nemáš žiadne priame správy. Keď nejakú pošleš, alebo dostaneš, ukáže sa tu.", "empty_column.domain_blocks": "Žiadne domény ešte niesú skryté.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Nemáš obľúbené ešte žiadne príspevky. Keď si nejaký obľúbiš, bude zobrazený práve tu.", "empty_column.favourites": "Tento toot si ešte nikto neobľúbil. Ten kto si ho obľúbi, bude zobrazený tu.", "empty_column.follow_recommendations": "Zdá sa že pre Vás nemohli byť vygenerované žiadne návrhy. Môžete skúsiť použiť vyhľadávanie aby ste našli ľudi ktorých poznáte, alebo preskúmať trendujúce heštegy.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Skús ich vypnúť, a obnoviť túto stránku. Ak to nepomôže, pravdepodobne budeš stále môcť Mastodon používať cez iný prehliadač, alebo natívnu aplikáciu.", "errors.unexpected_crash.copy_stacktrace": "Skopíruj stacktrace do schránky", "errors.unexpected_crash.report_issue": "Nahlás problém", + "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", "follow_recommendations.done": "Hotovo", "follow_recommendations.heading": "Následuj ľudí od ktorých by si chcel/a vidieť príspevky! Tu sú nejaké návrhy.", "follow_recommendations.lead": "Príspevky od ľudi ktorých sledujete sa zobrazia v chronologickom poradí na Vašej nástenke. Nebojte sa spraviť chyby, vždy môžete zrušiť sledovanie konkrétnych ľudí!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Nastavenia", "navigation_bar.public_timeline": "Federovaná časová os", "navigation_bar.security": "Zabezbečenie", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} si obľúbil/a tvoj príspevok", "notification.follow": "{name} ťa začal/a následovať", "notification.follow_request": "{name} žiada ťa následovať", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Vyčisti oboznámenia", "notifications.clear_confirmation": "Naozaj chceš nenávratne prečistiť všetky tvoje oboznámenia?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Oboznámenia na ploche", "notifications.column_settings.favourite": "Obľúbené:", "notifications.column_settings.filter_bar.advanced": "Zobraz všetky kategórie", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}sek", "relative_time.today": "dnes", "reply_indicator.cancel": "Zrušiť", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Posuň ku {target}", "report.forward_hint": "Tento účet je z iného serveru. Chceš poslať anonymnú kópiu hlásenia aj tam?", - "report.hint": "Toto nahlásenie bude zaslané správcom tvojho servera. Môžeš napísať odvôvodnenie, prečo nahlasuješ tento účet:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Ďalšie komentáre", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Odošli", "report.target": "Nahlás {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.", "search.placeholder": "Hľadaj", "search_popout.search_format": "Pokročilé vyhľadávanie", "search_popout.tips.full_text": "Vráti jednoduchý textový výpis príspevkov ktoré si napísal/a, ktoré si obľúbil/a, povýšil/a, alebo aj tých, v ktorých si bol/a spomenutý/á, a potom všetky zadaniu odpovedajúce prezývky, mená a haštagy.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Vráti jednoduchý textový výpis zhodujúcich sa mien, prezývok a haštagov", "search_popout.tips.user": "užívateľ", "search_results.accounts": "Ľudia", + "search_results.all": "All", "search_results.hashtags": "Haštagy", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Príspevky", "search_results.statuses_fts_disabled": "Vyhľadávanie v obsahu príspevkov nieje na tomto Mastodon serveri povolené.", "search_results.total": "{count, number} {count, plural, one {výsledok} many {výsledkov} other {výsledky}}", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index f69d986fb..98405984a 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -167,6 +167,7 @@ "empty_column.community": "Lokalna časovnica je prazna. Napišite nekaj javnega, da se bo žoga zakotalila!", "empty_column.direct": "Nimate še nobenih neposrednih sporočil. Ko ga boste poslali ali prejeli, se bo prikazal tukaj.", "empty_column.domain_blocks": "Še vedno ni skritih domen.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Nimate priljubljenih tutov. Ko boste vzljubili kakšnega, se bo prikazal tukaj.", "empty_column.favourites": "Nihče še ni vzljubil tega tuta. Ko ga bo nekdo, se bo pojavil tukaj.", "empty_column.follow_recommendations": "Kaže, da za vas ni mogoče pripraviti nobenih predlogov. Poskusite uporabiti iskanje, da poiščete osebe, ki jih poznate, ali raziščete ključnike, ki so v trendu.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Poskusite jih onemogočiti in osvežiti stran. Če to ne pomaga, boste morda še vedno lahko uporabljali Mastodon prek drugega brskalnika ali z domorodno aplikacijo.", "errors.unexpected_crash.copy_stacktrace": "Kopiraj sledenje sklada na odložišče", "errors.unexpected_crash.report_issue": "Prijavi težavo", + "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", "follow_recommendations.done": "Opravljeno", "follow_recommendations.heading": "Sledite osebam, katerih objave želite videti! Tukaj je nekaj predlogov.", "follow_recommendations.lead": "Objave oseb, ki jim sledite, se bodo prikazale v kronološkem zaporedju v vašem domačem viru. Ne bojte se storiti napake, osebam enako enostavno nehate slediti kadar koli!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Nastavitve", "navigation_bar.public_timeline": "Združena časovnica", "navigation_bar.security": "Varnost", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} je vzljubil/a vaš status", "notification.follow": "{name} vam sledi", "notification.follow_request": "{name} vam želi slediti", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Počisti obvestila", "notifications.clear_confirmation": "Ali ste prepričani, da želite trajno izbrisati vsa vaša obvestila?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Namizna obvestila", "notifications.column_settings.favourite": "Priljubljeni:", "notifications.column_settings.filter_bar.advanced": "Prikaži vse kategorije", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "danes", "reply_indicator.cancel": "Prekliči", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Drugo", "report.categories.spam": "Neželeno", "report.categories.violation": "Vsebina krši eno ali več pravil strežnika", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Posreduj do {target}", "report.forward_hint": "Račun je iz drugega strežnika. Pošljem anonimno kopijo poročila tudi na drugi strežnik?", - "report.hint": "Poročilo bo poslano moderatorjem vašega vozlišča. Spodaj lahko navedete, zakaj prijavljate ta račun:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Dodatni komentarji", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Pošlji", "report.target": "Prijavi {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.", "search.placeholder": "Iskanje", "search_popout.search_format": "Napredna oblika iskanja", "search_popout.tips.full_text": "Enostavno besedilo vrne statuse, ki ste jih napisali, vzljubili, spodbudili ali ste bili v njih omenjeni, kot tudi ujemajoča se uporabniška imena, prikazna imena in ključnike.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Enostavno besedilo vrne ujemajoča se prikazna imena, uporabniška imena in ključnike", "search_popout.tips.user": "uporabnik", "search_results.accounts": "Ljudje", + "search_results.all": "All", "search_results.hashtags": "Ključniki", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Tuti", "search_results.statuses_fts_disabled": "Iskanje tutov po njihovi vsebini ni omogočeno na tem strežniku Mastodon.", "search_results.total": "{count, number} {count, plural, one {rezultat} other {rezultatov}}", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index fb6bbac75..6bef2e09b 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -167,6 +167,7 @@ "empty_column.community": "Rrjedha kohore vendore është e zbrazët. Shkruani diçka publikisht që t’i hyhet valles!", "empty_column.direct": "S’keni ende ndonjë mesazh të drejtpërdrejt. Kur dërgoni ose merrni një të tillë, ai do të shfaqet këtu.", "empty_column.domain_blocks": "Ende s’ka përkatësi të fshehura.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "S’keni ende ndonjë mesazh të parapëlqyer. Kur parapëlqeni një të tillë, ai do të shfaqet këtu.", "empty_column.favourites": "Askush s’e ka parapëlqyer ende këtë mesazh. Kur e bën dikush, ai do të shfaqet këtu.", "empty_column.follow_recommendations": "Duket se s’u prodhuan dot sugjerime për ju. Mund të provoni të kërkoni për persona që mund të njihni, ose të eksploroni hashtag-ë që janë në modë.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Provoni t’i çaktivizoni dhe të rifreskoni faqen. Nëse kjo s’bën punë, mundeni prapë të jeni në gjendje të përdorni Mastodon-in përmes një shfletuesi tjetër, apo një aplikacioni prej Mastodon-it.", "errors.unexpected_crash.copy_stacktrace": "Kopjo stacktrace-in në të papastër", "errors.unexpected_crash.report_issue": "Raportoni problemin", + "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", "follow_recommendations.done": "U bë", "follow_recommendations.heading": "Ndiqni persona prej të cilëve doni të shihni postime! Ja ca sugjerime.", "follow_recommendations.lead": "Postimet prej personash që ndiqni do të shfaqen në rend kohor te prurja juaj kryesore. Mos kini frikë të bëni gabime, mund të ndalni po aq kollaj ndjekjen e dikujt, në çfarëdo kohe!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Parapëlqime", "navigation_bar.public_timeline": "Rrjedhë kohore të federuarish", "navigation_bar.security": "Siguri", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} pëlqeu mesazhin tuaj", "notification.follow": "{name} zuri t’ju ndjekë", "notification.follow_request": "{name} ka kërkuar t’ju ndjekë", @@ -311,6 +319,7 @@ "notification.update": "{name} përpunoi një postim", "notifications.clear": "Spastroji njoftimet", "notifications.clear_confirmation": "Jeni i sigurt se doni të spastrohen përgjithmonë krejt njoftimet tuaja?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Njoftime desktopi", "notifications.column_settings.favourite": "Të parapëlqyer:", "notifications.column_settings.filter_bar.advanced": "Shfaq krejt kategoritë", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "sot", "reply_indicator.cancel": "Anuloje", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Tjetër", "report.categories.spam": "I padëshiruar", "report.categories.violation": "Lënda shkel një ose disa rregulla shërbyesi", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Përcillja {target}", "report.forward_hint": "Llogaria është nga një shërbyes tjetër. Të dërgohet edhe një kopje e anonimizuar e raportimit?", - "report.hint": "Raportimi do t’u dërgohet moderatorëve të shërbyesit tuaj. Më poshtë mund të jepni një shpjegim se pse po e raportoni këtë llogari:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Komente shtesë", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Parashtroje", "report.target": "Raportim i {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.", "search.placeholder": "Kërkoni", "search_popout.search_format": "Format kërkimi të mëtejshëm", "search_popout.tips.full_text": "Kërkimi për tekst të thjeshtë përgjigjet me mesazhe që keni shkruar, parapëlqyer, përforcuar, ose ku jeni përmendur, si dhe emra përdoruesish, emra ekrani dhe hashtag-ë që kanë përputhje me termin e kërkimit.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Kërkim për tekst të thjeshtë përgjigjet me emra, emra përdoruesish dhe hashtag-ë që kanë përputhje me termin e kërkimit", "search_popout.tips.user": "përdorues", "search_results.accounts": "Persona", + "search_results.all": "All", "search_results.hashtags": "Hashtag-ë", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Mesazhe", "search_results.statuses_fts_disabled": "Kërkimi i mesazheve sipas lëndës së tyre s’është i aktivizuar në këtë shërbyes Mastodon.", "search_results.total": "{count, number} {count, plural, one {përfundim} other {përfundime}}", diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json index 37fbd7666..67a21e94d 100644 --- a/app/javascript/mastodon/locales/sr-Latn.json +++ b/app/javascript/mastodon/locales/sr-Latn.json @@ -167,6 +167,7 @@ "empty_column.community": "Lokalna lajna je prazna. Napišite nešto javno da lajna produva!", "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": "There are no hidden domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Podešavanja", "navigation_bar.public_timeline": "Federisana lajna", "navigation_bar.security": "Security", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} je stavio Vaš status kao omiljeni", "notification.follow": "{name} Vas je zapratio", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Očisti obaveštenja", "notifications.clear_confirmation": "Da li ste sigurno da trajno želite da očistite Vaša obaveštenja?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Obaveštenja na radnoj površini", "notifications.column_settings.favourite": "Omiljeni:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "Poništi", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Dodatni komentari", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Pošalji", "report.target": "Prijavljujem {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.", "search.placeholder": "Pretraga", "search_popout.search_format": "Napredni format pretrage", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Traženjem običnog teksta ćete dobiti sva pronađena imena, sva korisnička imena i sve nađene heštegove", "search_popout.tips.user": "korisnik", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {rezultat} few {rezultata} other {rezultata}}", diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json index 429d4c697..8eae28d93 100644 --- a/app/javascript/mastodon/locales/sr.json +++ b/app/javascript/mastodon/locales/sr.json @@ -167,6 +167,7 @@ "empty_column.community": "Локална временска линија је празна. Напишите нешто јавно да започнете!", "empty_column.direct": "Још увек немате директних порука. Када пошаљете или примите једну, појавиће се овде.", "empty_column.domain_blocks": "Још увек нема сакривених домена.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "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.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Покушајте да их онемогућите и освежите страницу. Ако то не помогне, можда ћете и даље моћи да користите Mastodon преко другог прегледача или матичне апликације.", "errors.unexpected_crash.copy_stacktrace": "Копирај \"stacktrace\" у клипборд", "errors.unexpected_crash.report_issue": "Пријави проблем", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Подешавања", "navigation_bar.public_timeline": "Здружена временска линија", "navigation_bar.security": "Безбедност", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} је ставио/ла Ваш статус као омиљени", "notification.follow": "{name} Вас је запратио/ла", "notification.follow_request": "{name} је затражио да Вас запрати", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Очисти обавештења", "notifications.clear_confirmation": "Да ли сте сигурно да трајно желите да очистите Ваша обавештења?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Обавештења на радној површини", "notifications.column_settings.favourite": "Омиљени:", "notifications.column_settings.filter_bar.advanced": "Прикажи све категорије", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}с", "relative_time.today": "данас", "reply_indicator.cancel": "Поништи", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Проследити {target}", "report.forward_hint": "Налог је са другог сервера. Послати анонимну копију пријаве и тамо?", - "report.hint": "Пријава ће бити послата модераторима ваше инстанце. Можете додати објашњење зашто пријављујете овај налог у наставку:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Додатни коментари", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "Претрага", "search_popout.search_format": "Напредни формат претраге", "search_popout.tips.full_text": "Једноставан текст враћа статусе које сте написали, фаворизовали, подржали или били поменути, као и подударање корисничких имена, приказаних имена, и тараба.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Тражењем обичног текста ћете добити сва пронађена имена, сва корисничка имена и све нађене хештегове", "search_popout.tips.user": "корисник", "search_results.accounts": "Људи", + "search_results.all": "All", "search_results.hashtags": "Тарабе", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Трубе", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {резултат} few {резултата} other {резултата}}", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index 798d1f8e4..d219d498e 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -167,6 +167,7 @@ "empty_column.community": "Den lokala tidslinjen är tom. Skriv något offentligt för att sätta bollen i rullning!", "empty_column.direct": "Du har inga direktmeddelanden än. När du skickar eller tar emot ett kommer det att visas här.", "empty_column.domain_blocks": "Det finns ännu inga dolda domäner.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Du har inga favoritmarkerade toots än. När du favoritmarkerar en kommer den visas här.", "empty_column.favourites": "Ingen har favoritmarkerat den här tooten än. När någon gör det kommer den visas här.", "empty_column.follow_recommendations": "Det ser ut som om inga förslag kan genereras till dig. Du kan prova att använda sök för att leta efter personer som du kanske känner eller utforska trendande hash-taggar.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Prova att avaktivera dem och uppdatera sidan. Om detta inte hjälper kan du försöka använda Mastodon med en annan webbläsare eller en app.", "errors.unexpected_crash.copy_stacktrace": "Kopiera stacktrace till urklipp", "errors.unexpected_crash.report_issue": "Rapportera problem", + "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", "follow_recommendations.done": "Klar", "follow_recommendations.heading": "Följ personer som du skulle vilja se inlägg från! Här finns det några förslag.", "follow_recommendations.lead": "Inlägg från personer du följer kommer att dyka upp i kronologisk ordning i ditt hem-flöde. Var inte rädd för att göra misstag, du kan sluta följa människor lika enkelt när som helst!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Inställningar", "navigation_bar.public_timeline": "Förenad tidslinje", "navigation_bar.security": "Säkerhet", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favoriserade din status", "notification.follow": "{name} följer dig", "notification.follow_request": "{name} har begärt att följa dig", @@ -311,6 +319,7 @@ "notification.update": "{name} redigerade ett inlägg", "notifications.clear": "Rensa aviseringar", "notifications.clear_confirmation": "Är du säker på att du vill rensa alla dina aviseringar permanent?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Skrivbordsaviseringar", "notifications.column_settings.favourite": "Favoriter:", "notifications.column_settings.filter_bar.advanced": "Visa alla kategorier", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}sek", "relative_time.today": "idag", "reply_indicator.cancel": "Ångra", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Övrigt", "report.categories.spam": "Skräppost", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Vidarebefordra till {target}", "report.forward_hint": "Kontot är från en annan server. Skicka även en anonymiserad kopia av anmälan dit?", - "report.hint": "Anmälan skickas till din instans moderatorer. Du kan ge en förklaring till varför du har anmält detta konto nedan:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Ytterligare kommentarer", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Skicka", "report.target": "Rapporterar {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.", "search.placeholder": "Sök", "search_popout.search_format": "Avancerat sökformat", "search_popout.tips.full_text": "Enkel text returnerar statusar där du har skrivit, favoriserat, knuffat eller nämnts samt med matchande användarnamn, visningsnamn och hashtags.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Enkel text returnerar matchande visningsnamn, användarnamn och hashtags", "search_popout.tips.user": "användare", "search_results.accounts": "Människor", + "search_results.all": "All", "search_results.hashtags": "Hashtaggar", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Tutor", "search_results.statuses_fts_disabled": "Att söka toots med deras innehåll är inte möjligt på denna Mastodon-server.", "search_results.total": "{count, number} {count, plural, ett {result} andra {results}}", diff --git a/app/javascript/mastodon/locales/szl.json b/app/javascript/mastodon/locales/szl.json index 5456eb88e..dbde323ba 100644 --- a/app/javascript/mastodon/locales/szl.json +++ b/app/javascript/mastodon/locales/szl.json @@ -167,6 +167,7 @@ "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "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": "There are no blocked domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "Security", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "Cancel", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Additional comments", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Submit", "report.target": "Report {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.", "search.placeholder": "Search", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "user", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json index d624df36a..8ea28b965 100644 --- a/app/javascript/mastodon/locales/ta.json +++ b/app/javascript/mastodon/locales/ta.json @@ -167,6 +167,7 @@ "empty_column.community": "உங்கள் மாஸ்டடான் முச்சந்தியில் யாரும் இல்லை. எதையேனும் எழுதி ஆட்டத்தைத் துவக்குங்கள்!", "empty_column.direct": "உங்கள் தனிப்பெட்டியில் செய்திகள் ஏதும் இல்லை. செய்தியை நீங்கள் அனுப்பும்போதோ அல்லது பெறும்போதோ, அது இங்கே காண்பிக்கப்படும்.", "empty_column.domain_blocks": "தடுக்கப்பட்டக் களங்கள் இதுவரை இல்லை.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "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.", @@ -185,6 +186,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": "Stacktrace-ஐ clipboard-ல் நகலெடு", "errors.unexpected_crash.report_issue": "புகாரளி", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "விருப்பங்கள்", "navigation_bar.public_timeline": "கூட்டாட்சி காலக்கெடு", "navigation_bar.security": "பத்திரம்", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} ஆர்வம் கொண்டவர், உங்கள் நிலை", "notification.follow": "{name} உங்களைப் பின்தொடர்கிறார்", "notification.follow_request": "{name} உங்களைப் பின்தொடரக் கோருகிறார்", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "அறிவிப்புகளை அழிக்கவும்", "notifications.clear_confirmation": "உங்கள் எல்லா அறிவிப்புகளையும் நிரந்தரமாக அழிக்க விரும்புகிறீர்களா?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "டெஸ்க்டாப் அறிவிப்புகள்", "notifications.column_settings.favourite": "பிடித்தவை:", "notifications.column_settings.filter_bar.advanced": "எல்லா வகைகளையும் காட்டு", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}வி", "relative_time.today": "இன்று", "reply_indicator.cancel": "எதிராணை", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "முன்னோக்கி {target}", "report.forward_hint": "கணக்கு மற்றொரு சேவையகத்திலிருந்து வருகிறது. அறிக்கையின் அநாமதேய பிரதி ஒன்றை அனுப்பவும்.?", - "report.hint": "அறிக்கை உங்கள் மாதிரியாக மாற்றியமைக்கப்படும். கீழே உள்ள கணக்கை நீங்கள் ஏன் புகாரளிக்கிறீர்கள் என்பதற்கான விளக்கத்தை வழங்கலாம்:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "கூடுதல் கருத்துரைகள்", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "சமர்ப்பி", "report.target": "Report {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.", "search.placeholder": "தேடு", "search_popout.search_format": "மேம்பட்ட தேடல் வடிவம்", "search_popout.tips.full_text": "எளிமையான உரை நீங்கள் எழுதப்பட்ட, புகழ், அதிகரித்தது, அல்லது குறிப்பிட்டுள்ள, அதே போல் பயனர் பெயர்கள், காட்சி பெயர்கள், மற்றும் ஹேஸ்டேகைகளை கொண்டுள்ளது என்று நிலைகளை கொடுக்கிறது.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "எளிய உரை காட்சி பெயர்கள், பயனர்பெயர்கள் மற்றும் ஹாஷ்டேட்களுடன் பொருந்துகிறது", "search_popout.tips.user": "பயனர்", "search_results.accounts": "மக்கள்", + "search_results.all": "All", "search_results.hashtags": "ஹாஷ்டேக்குகளைச்", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "டூட்டுகள்", "search_results.statuses_fts_disabled": "டூட்டுகளின் வார்த்தைகளைக்கொண்டு தேடுவது இந்த மச்டோடன் வழங்கியில் இயல்விக்கப்படவில்லை.", "search_results.total": "{count, number} {count, plural, one {result} மற்ற {results}}", diff --git a/app/javascript/mastodon/locales/tai.json b/app/javascript/mastodon/locales/tai.json index 5fe5cfdea..9771d5b84 100644 --- a/app/javascript/mastodon/locales/tai.json +++ b/app/javascript/mastodon/locales/tai.json @@ -167,6 +167,7 @@ "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "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": "There are no blocked domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "Security", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "Cancel", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Additional comments", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Submit", "report.target": "Report {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.", "search.placeholder": "Search", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "user", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json index 2901689d1..40e37d497 100644 --- a/app/javascript/mastodon/locales/te.json +++ b/app/javascript/mastodon/locales/te.json @@ -167,6 +167,7 @@ "empty_column.community": "స్థానిక కాలక్రమం ఖాళీగా ఉంది. మొదలుపెట్టడానికి బహిరంగంగా ఏదో ఒకటి వ్రాయండి!", "empty_column.direct": "మీకు ఇంకా ఏ ప్రత్యక్ష సందేశాలు లేవు. మీరు ఒకదాన్ని పంపినప్పుడు లేదా స్వీకరించినప్పుడు, అది ఇక్కడ చూపబడుతుంది.", "empty_column.domain_blocks": "దాచబడిన డొమైన్లు ఇంకా ఏమీ లేవు.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "ప్రాధాన్యతలు", "navigation_bar.public_timeline": "సమాఖ్య కాలక్రమం", "navigation_bar.security": "భద్రత", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} మీ స్టేటస్ ను ఇష్టపడ్డారు", "notification.follow": "{name} మిమ్మల్ని అనుసరిస్తున్నారు", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "ప్రకటనలను తుడిచివేయు", "notifications.clear_confirmation": "మీరు మీ అన్ని నోటిఫికేషన్లను శాశ్వతంగా తొలగించాలనుకుంటున్నారా?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "డెస్క్టాప్ నోటిఫికేషన్లు", "notifications.column_settings.favourite": "ఇష్టపడినవి:", "notifications.column_settings.filter_bar.advanced": "అన్ని విభాగాలను చూపించు", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "రద్దు చెయ్యి", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "{target}కి ఫార్వార్డ్ చేయండి", "report.forward_hint": "ఖాతా మరొక సర్వర్లో ఉంది. నివేదిక యొక్క ఒక అనామకంగా ఉన్న కాపీని అక్కడికి కూడా పంపించమంటారా?", - "report.hint": "మీ సేవిక మోడరేటర్లకు నివేదిక పంపబడుతుంది. ఈ ఖాతాను ఎందుకు నివేదిస్తున్నారనేదాని వివరణను మీరు దిగువన అందించవచ్చు:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "అదనపు వ్యాఖ్యలు", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "శోధన", "search_popout.search_format": "అధునాతన శోధన ఆకృతి", "search_popout.tips.full_text": "సాధారణ వచనం మీరు వ్రాసిన, ఇష్టపడే, పెంచబడిన లేదా పేర్కొనబడిన, అలాగే యూజర్పేర్లు, ప్రదర్శన పేర్లు, మరియు హ్యాష్ట్యాగ్లను నమోదు చేసిన హోదాలను అందిస్తుంది.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "సింపుల్ టెక్స్ట్ ప్రదర్శన పేర్లు, యూజర్ పేర్లు మరియు హ్యాష్ట్యాగ్లను సరిపోలుస్తుంది", "search_popout.tips.user": "వాడుకరి", "search_results.accounts": "వ్యక్తులు", + "search_results.all": "All", "search_results.hashtags": "హాష్ ట్యాగ్లు", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "టూట్లు", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index bef3af46f..eaae23445 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -167,6 +167,7 @@ "empty_column.community": "เส้นเวลาในเซิร์ฟเวอร์ว่างเปล่า เขียนบางอย่างเป็นสาธารณะเพื่อเริ่มต้น!", "empty_column.direct": "คุณยังไม่มีข้อความโดยตรงใด ๆ เมื่อคุณส่งหรือรับข้อความ ข้อความจะปรากฏที่นี่", "empty_column.domain_blocks": "ยังไม่มีโดเมนที่ปิดกั้นอยู่", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "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.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "ลองปิดใช้งานส่วนเสริมหรือเครื่องมือแล้วรีเฟรชหน้า หากนั่นไม่ช่วย คุณอาจยังสามารถใช้ Mastodon ได้ผ่านเบราว์เซอร์อื่นหรือแอป", "errors.unexpected_crash.copy_stacktrace": "คัดลอกการติดตามสแตกไปยังคลิปบอร์ด", "errors.unexpected_crash.report_issue": "รายงานปัญหา", + "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", "follow_recommendations.done": "เสร็จสิ้น", "follow_recommendations.heading": "ติดตามผู้คนที่คุณต้องการเห็นโพสต์! นี่คือข้อเสนอแนะบางส่วน", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "การกำหนดลักษณะ", "navigation_bar.public_timeline": "เส้นเวลาที่ติดต่อกับภายนอก", "navigation_bar.security": "ความปลอดภัย", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} ได้ชื่นชอบโพสต์ของคุณ", "notification.follow": "{name} ได้ติดตามคุณ", "notification.follow_request": "{name} ได้ขอติดตามคุณ", @@ -311,6 +319,7 @@ "notification.update": "{name} ได้แก้ไขโพสต์", "notifications.clear": "ล้างการแจ้งเตือน", "notifications.clear_confirmation": "คุณแน่ใจหรือไม่ว่าต้องการล้างการแจ้งเตือนทั้งหมดของคุณอย่างถาวร?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "การแจ้งเตือนบนเดสก์ท็อป", "notifications.column_settings.favourite": "รายการโปรด:", "notifications.column_settings.filter_bar.advanced": "แสดงหมวดหมู่ทั้งหมด", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number} วินาที", "relative_time.today": "วันนี้", "reply_indicator.cancel": "ยกเลิก", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "อื่น ๆ", "report.categories.spam": "สแปม", "report.categories.violation": "เนื้อหาละเมิดหนึ่งกฎของเซิร์ฟเวอร์หรือมากกว่า", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "ส่งต่อไปยัง {target}", "report.forward_hint": "บัญชีมาจากเซิร์ฟเวอร์อื่น ส่งสำเนาของรายงานที่ไม่ระบุตัวตนไปที่นั่นด้วย?", - "report.hint": "จะส่งรายงานไปยังผู้ควบคุมเซิร์ฟเวอร์ของคุณ คุณสามารถให้คำอธิบายเหตุผลที่คุณรายงานบัญชีนี้ได้ด้านล่าง:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "ความคิดเห็นเพิ่มเติม", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "ค้นหา", "search_popout.search_format": "รูปแบบการค้นหาขั้นสูง", "search_popout.tips.full_text": "ข้อความแบบง่ายส่งคืนโพสต์ที่คุณได้เขียน ชื่นชอบ ดัน หรือได้รับการกล่าวถึง ตลอดจนชื่อผู้ใช้, ชื่อที่แสดง และแฮชแท็กที่ตรงกัน", @@ -395,7 +432,9 @@ "search_popout.tips.text": "ข้อความแบบง่ายส่งคืนชื่อที่แสดง, ชื่อผู้ใช้ และแฮชแท็กที่ตรงกัน", "search_popout.tips.user": "ผู้ใช้", "search_results.accounts": "ผู้คน", + "search_results.all": "All", "search_results.hashtags": "แฮชแท็ก", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "โพสต์", "search_results.statuses_fts_disabled": "ไม่มีการเปิดใช้งานการค้นหาโพสต์โดยเนื้อหาของโพสต์ในเซิร์ฟเวอร์ Mastodon นี้", "search_results.total": "{count, number} {count, plural, other {ผลลัพธ์}}", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 3d67b62e9..17df66e77 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -167,6 +167,7 @@ "empty_column.community": "Yerel zaman çizelgesi boş. Daha fazla eğlence için herkese açık bir gönderi paylaşın!", "empty_column.direct": "Henüz direkt mesajın yok. Bir tane gönderdiğinde veya aldığında burada görünür.", "empty_column.domain_blocks": "Henüz hiçbir gizli alan adı yok.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Favori tootun yok. Favori tootun olduğunda burada görünür.", "empty_column.favourites": "Kimse bu gönderiyi favorilerine eklememiş. Biri eklediğinde burada görünecek.", "empty_column.follow_recommendations": "Öyle görünüyor ki sizin için hiçbir öneri oluşturulamıyor. Tanıdığınız kişileri aramak için aramayı kullanabilir veya öne çıkanlara bakabilirsiniz.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Bunları devre dışı bırakmayı ve sayfayı yenilemeyi deneyin. Bu yardımcı olmazsa, Mastodon'u başka bir tarayıcı veya yerel uygulama aracılığıyla kullanabilirsiniz.", "errors.unexpected_crash.copy_stacktrace": "Yığın izlemeyi (stacktrace) panoya kopyala", "errors.unexpected_crash.report_issue": "Sorun bildir", + "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", "follow_recommendations.done": "Tamam", "follow_recommendations.heading": "Gönderilerini görmek isteyeceğiniz kişileri takip edin! Burada bazı öneriler bulabilirsiniz.", "follow_recommendations.lead": "Takip ettiğiniz kişilerin gönderileri anasayfa akışınızda kronolojik sırada görünmeye devam edecek. Hata yapmaktan çekinmeyin, kişileri istediğiniz anda kolayca takipten çıkabilirsiniz!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Tercihler", "navigation_bar.public_timeline": "Federe zaman tüneli", "navigation_bar.security": "Güvenlik", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} gönderini beğendi", "notification.follow": "{name} seni takip etti", "notification.follow_request": "{name} size takip isteği gönderdi", @@ -311,6 +319,7 @@ "notification.update": "{name} bir gönderiyi düzenledi", "notifications.clear": "Bildirimleri temizle", "notifications.clear_confirmation": "Tüm bildirimlerinizi kalıcı olarak temizlemek ister misiniz?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Masaüstü bildirimleri", "notifications.column_settings.favourite": "Beğeniler:", "notifications.column_settings.filter_bar.advanced": "Tüm kategorileri görüntüle", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}sn", "relative_time.today": "bugün", "reply_indicator.cancel": "İptal", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Diğer", "report.categories.spam": "İstenmeyen", "report.categories.violation": "İçerik bir veya daha fazla sunucu kuralını ihlal ediyor", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "{target} ilet", "report.forward_hint": "Hesap başka bir sunucudan. Raporun anonim bir kopyası da oraya gönderilsin mi?", - "report.hint": "Bu rapor sunucu moderatörlerine gönderilecek. Bu hesabı neden bildirdiğiniz hakkında bilgi verebirsiniz:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Ek yorumlar", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Gönder", "report.target": "{target} Bildiriliyor", + "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.", "search.placeholder": "Ara", "search_popout.search_format": "Gelişmiş arama biçimi", "search_popout.tips.full_text": "Basit metin yazdığınız, beğendiğiniz, teşvik ettiğiniz veya söz edilen gönderilerin yanı sıra kullanıcı adlarını, görünen adları ve hashtag'leri eşleştiren gönderileri de döndürür.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Basit metin, eşleşen görünen adları, kullanıcı adlarını ve hashtag'leri döndürür", "search_popout.tips.user": "kullanıcı", "search_results.accounts": "İnsanlar", + "search_results.all": "All", "search_results.hashtags": "Etiketler", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Gönderiler", "search_results.statuses_fts_disabled": "Bu Mastodon sunucusunda gönderi içeriğine göre arama etkin değil.", "search_results.total": "{count, number} {count, plural, one {sonuç} other {sonuç}}", diff --git a/app/javascript/mastodon/locales/tt.json b/app/javascript/mastodon/locales/tt.json index 464a65370..b1e5b2d96 100644 --- a/app/javascript/mastodon/locales/tt.json +++ b/app/javascript/mastodon/locales/tt.json @@ -167,6 +167,7 @@ "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "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": "There are no blocked domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Caylaw", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "Хәвефсезлек", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}сек", "relative_time.today": "бүген", "reply_indicator.cancel": "Баш тарту", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Additional comments", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Җибәрү", "report.target": "Report {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.", "search.placeholder": "Эзләү", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "кулланучы", "search_results.accounts": "Кешеләр", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/ug.json b/app/javascript/mastodon/locales/ug.json index 5456eb88e..dbde323ba 100644 --- a/app/javascript/mastodon/locales/ug.json +++ b/app/javascript/mastodon/locales/ug.json @@ -167,6 +167,7 @@ "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "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": "There are no blocked domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "Security", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "Cancel", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Additional comments", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Submit", "report.target": "Report {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.", "search.placeholder": "Search", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "user", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 4414d6741..1b4b1bc0f 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -167,6 +167,7 @@ "empty_column.community": "Локальна стрічка пуста. Напишіть щось, щоб розігріти народ!", "empty_column.direct": "У вас ще немає прямих повідомлень. Коли ви відправите чи отримаєте якесь, воно з'явиться тут.", "empty_column.domain_blocks": "Тут поки немає прихованих доменів.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "У вас ще немає вподобаних дмухів. Коли ви щось вподобаєте, воно з'явиться тут.", "empty_column.favourites": "Ніхто ще не вподобав цього дмуху. Коли хтось це зробить, вони з'являться тут.", "empty_column.follow_recommendations": "Схоже, для вас не буде створено жодної пропозиції. Ви можете спробувати скористатися пошуком людей, яких ви можете знати або переглянути популярні хештеґи.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Спробуйте їх вимкнути та оновити сторінку. Якщо це не допомагає, ви можете використовувати Mastodon через інший браузер або окремий застосунок.", "errors.unexpected_crash.copy_stacktrace": "Скопіювати трасування стека у буфер обміну", "errors.unexpected_crash.report_issue": "Повідомити про проблему", + "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", "follow_recommendations.done": "Готово", "follow_recommendations.heading": "Підпишіться на людей, чиї дописи ви хочете бачити! Ось деякі пропозиції.", "follow_recommendations.lead": "Дописи від людей, за якими ви стежите, з'являться в хронологічному порядку у вашій домашній стрічці. Не бійся помилятися, ви можете відписатися від людей так само легко в будь-який час!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Налаштування", "navigation_bar.public_timeline": "Глобальна стрічка", "navigation_bar.security": "Безпека", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} вподобав(-ла) ваш допис", "notification.follow": "{name} підписався(-лась) на вас", "notification.follow_request": "{name} відправив(-ла) запит на підписку", @@ -311,6 +319,7 @@ "notification.update": "{name} змінює допис", "notifications.clear": "Очистити сповіщення", "notifications.clear_confirmation": "Ви впевнені, що хочете назавжди видалити всі сповіщеня?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Сповіщення на комп'ютері", "notifications.column_settings.favourite": "Вподобане:", "notifications.column_settings.filter_bar.advanced": "Показати всі категорії", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}с", "relative_time.today": "сьогодні", "reply_indicator.cancel": "Відмінити", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Інше", "report.categories.spam": "Спам", "report.categories.violation": "Контент порушує одне або кілька правил сервера", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Надіслати до {target}", "report.forward_hint": "Це акаунт з іншого серверу. Відправити анонімізовану копію скарги і туди?", - "report.hint": "Скаргу буде відправлено модераторам Вашого сайту. Ви можете надати їм пояснення, чому ви скаржитесь на акаунт нижче:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Додаткові коментарі", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "Пошук", "search_popout.search_format": "Розширений формат пошуку", "search_popout.tips.full_text": "Пошук за текстом знаходить статуси, які ви написали, вподобали, передмухнули, або в яких вас згадували. Також він знаходить імена користувачів, реальні імена та хештеґи.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Пошук за текстом знаходить імена користувачів, реальні імена та хештеґи", "search_popout.tips.user": "користувач", "search_results.accounts": "Люди", + "search_results.all": "All", "search_results.hashtags": "Хештеґи", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Дмухів", "search_results.statuses_fts_disabled": "Пошук дмухів за вмістом недоступний на цьому сервері Mastodon.", "search_results.total": "{count, number} {count, plural, one {результат} few {результати} many {результатів} other {результатів}}", diff --git a/app/javascript/mastodon/locales/ur.json b/app/javascript/mastodon/locales/ur.json index 75d99bf4e..7f074d63e 100644 --- a/app/javascript/mastodon/locales/ur.json +++ b/app/javascript/mastodon/locales/ur.json @@ -167,6 +167,7 @@ "empty_column.community": "مقامی جدول خالی ہے. کچھ تحریر کریں تاکہ بات آگے بڑھے!", "empty_column.direct": "آپ کیلئے کوئی راست پیغام نہیں ہے. جب آپ بھیجیں گے یا وصول کریں گے، یہاں نظر آئےگا.", "empty_column.domain_blocks": "ابھی تک کوئی چھپا ہوا ڈومین نہیں ہے.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "مسئلہ کی اطلاع کریں", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "ترجیحات", "navigation_bar.public_timeline": "وفاقی ٹائم لائن", "navigation_bar.security": "سیکورٹی", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "{name} آپ کی پیروی کی", "notification.follow_request": "{name} نے آپ کی پیروی کی درخواست کی", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "اطلاعات ہٹائیں", "notifications.clear_confirmation": "کیا آپ واقعی اپنی تمام اطلاعات کو صاف کرنا چاہتے ہیں؟", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "ڈیسک ٹاپ اطلاعات", "notifications.column_settings.favourite": "پسندیدہ:", "notifications.column_settings.filter_bar.advanced": "تمام زمرے دکھائیں", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "today", "reply_indicator.cancel": "Cancel", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Additional comments", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Submit", "report.target": "Report {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.", "search.placeholder": "Search", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "user", "search_results.accounts": "People", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 588721073..ab777e31e 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -167,6 +167,7 @@ "empty_column.community": "Máy chủ của bạn chưa có tút nào công khai. Bạn hãy thử viết gì đó đi!", "empty_column.direct": "Bạn chưa có tin nhắn nào. Khi bạn gửi hoặc nhận tin nhắn, nó sẽ hiển thị ở đây.", "empty_column.domain_blocks": "Chưa ẩn bất kỳ máy chủ nào.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Bạn chưa thích tút nào. Hãy thử đi, nó sẽ xuất hiện ở đây.", "empty_column.favourites": "Chưa có ai thích tút này.", "empty_column.follow_recommendations": "Bạn chưa có gợi ý theo dõi nào. Hãy thử tìm kiếm những người thú vị hoặc khám phá những hashtag xu hướng.", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Hãy tắt add-on và làm tươi trang. Nếu vẫn không được, bạn nên thử đăng nhập Mastodon trên trình duyệt khác hoặc app khác.", "errors.unexpected_crash.copy_stacktrace": "Sao chép stacktrace vào clipboard", "errors.unexpected_crash.report_issue": "Báo cáo lỗi", + "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", "follow_recommendations.done": "Xong", "follow_recommendations.heading": "Theo dõi những người bạn muốn đọc tút của họ! Dưới đây là vài gợi ý.", "follow_recommendations.lead": "Tút từ những người bạn theo dõi sẽ hiện theo thứ tự thời gian trên bảng tin. Đừng ngại, bạn có thể dễ dàng ngưng theo dõi họ bất cứ lúc nào!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Cài đặt", "navigation_bar.public_timeline": "Thế giới", "navigation_bar.security": "Bảo mật", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} thích tút của bạn", "notification.follow": "{name} theo dõi bạn", "notification.follow_request": "{name} yêu cầu theo dõi bạn", @@ -311,6 +319,7 @@ "notification.update": "{name} đã viết lại một tút", "notifications.clear": "Xóa hết thông báo", "notifications.clear_confirmation": "Bạn thật sự muốn xóa vĩnh viễn tất cả thông báo của mình?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Thông báo trên máy tính", "notifications.column_settings.favourite": "Lượt thích:", "notifications.column_settings.filter_bar.advanced": "Toàn bộ", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "hôm nay", "reply_indicator.cancel": "Hủy bỏ", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Khác", "report.categories.spam": "Spam", "report.categories.violation": "Vi phạm quy tắc máy chủ", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Chuyển đến {target}", "report.forward_hint": "Người này thuộc máy chủ khác. Gửi một báo cáo ẩn danh tới máy chủ đó?", - "report.hint": "Hãy cho quản trị viên biết lý do vì sao bạn báo cáo người này:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Bổ sung thêm", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "Gửi đi", "report.target": "Báo cáo {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.", "search.placeholder": "Tìm kiếm", "search_popout.search_format": "Gợi ý", "search_popout.tips.full_text": "Nội dung trả về bao gồm những tút mà bạn đã viết, thích, chia sẻ hoặc những tút có nhắc đến bạn. Bạn cũng có thể tìm địa chỉ người dùng, tên hiển thị và hashtag.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Nội dung trả về là tên người dùng, tên hiển thị và hashtag", "search_popout.tips.user": "người dùng", "search_results.accounts": "Người dùng", + "search_results.all": "All", "search_results.hashtags": "Hashtags", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Tút", "search_results.statuses_fts_disabled": "Máy chủ của bạn không bật tính năng tìm kiếm tút.", "search_results.total": "{count, number} {count, plural, one {kết quả} other {kết quả}}", diff --git a/app/javascript/mastodon/locales/zgh.json b/app/javascript/mastodon/locales/zgh.json index f34772abe..149aeacbf 100644 --- a/app/javascript/mastodon/locales/zgh.json +++ b/app/javascript/mastodon/locales/zgh.json @@ -167,6 +167,7 @@ "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "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": "There are no blocked domains yet.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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.", @@ -185,6 +186,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": "Copy stacktrace to clipboard", "errors.unexpected_crash.report_issue": "Report issue", + "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", "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!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "Security", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", "notification.follow": "ⵉⴹⴼⴼⴰⵔ ⴽ {name}", "notification.follow_request": "{name} has requested to follow you", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "ⵙⴼⴹ ⵜⵉⵏⵖⵎⵉⵙⵉⵏ", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.filter_bar.advanced": "Display all categories", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}ⵙⵏ", "relative_time.today": "ⴰⵙⵙⴰ", "reply_indicator.cancel": "ⵙⵔ", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "ⵙⵙⵉⴼⴹ ⵉ {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "Additional comments", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "ⴰⵣⵏ", "report.target": "Report {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.", "search.placeholder": "ⵔⵣⵓ", "search_popout.search_format": "Advanced search format", "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.", @@ -395,7 +432,9 @@ "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "user", "search_results.accounts": "ⵎⵉⴷⴷⵏ", + "search_results.all": "All", "search_results.hashtags": "ⵀⴰⵛⵟⴰⴳ", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 56dca56a6..56aba036d 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -167,6 +167,7 @@ "empty_column.community": "本站时间轴暂时没有内容,快写点什么让它动起来吧!", "empty_column.direct": "你还没有使用过私信。当你发出或者收到私信时,它会在这里显示。", "empty_column.domain_blocks": "目前没有被隐藏的站点。", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "你还没有喜欢过任何嘟文。喜欢过的嘟文会显示在这里。", "empty_column.favourites": "没有人喜欢过这条嘟文。如果有人喜欢了,就会显示在这里。", "empty_column.follow_recommendations": "似乎无法为你生成任何建议。你可以尝试使用搜索寻找你可能知道的人或探索热门标签。", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "请尝试禁用它们并刷新页面。如果没有帮助,你仍可以尝试使用其他浏览器或原生应用来使用 Mastodon。", "errors.unexpected_crash.copy_stacktrace": "把堆栈跟踪信息复制到剪贴板", "errors.unexpected_crash.report_issue": "报告问题", + "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", "follow_recommendations.done": "完成", "follow_recommendations.heading": "关注你感兴趣的用户!这里有一些推荐。", "follow_recommendations.lead": "你关注的人的嘟文将按时间顺序在你的主页上显示。 别担心,你可以随时取消关注!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "首选项", "navigation_bar.public_timeline": "跨站公共时间轴", "navigation_bar.security": "安全", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} 喜欢了你的嘟文", "notification.follow": "{name} 开始关注你", "notification.follow_request": "{name} 向你发送了关注请求", @@ -311,6 +319,7 @@ "notification.update": "{name} 编辑了嘟文", "notifications.clear": "清空通知列表", "notifications.clear_confirmation": "你确定要永久清空通知列表吗?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "桌面通知", "notifications.column_settings.favourite": "当你的嘟文被喜欢时:", "notifications.column_settings.filter_bar.advanced": "显示所有类别", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}秒", "relative_time.today": "今天", "reply_indicator.cancel": "取消", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "其他", "report.categories.spam": "垃圾信息", "report.categories.violation": "内容违反一条或多条服务器规则", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "转发举报至 {target}", "report.forward_hint": "这名用户来自另一个服务器。是否要向那个服务器发送一条匿名的举报?", - "report.hint": "举报将会发送给你所在服务器的监察员。你可以在下面填写举报该用户的理由:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "备注", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "搜索", "search_popout.search_format": "高级搜索格式", "search_popout.tips.full_text": "输入关键词检索所有你发送、喜欢、转嘟过或提及到你的嘟文,以及其他用户公开的用户名、昵称和话题标签。", @@ -395,7 +432,9 @@ "search_popout.tips.text": "输入关键词检索昵称、用户名和话题标签", "search_popout.tips.user": "用户", "search_results.accounts": "用户", + "search_results.all": "All", "search_results.hashtags": "话题标签", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "嘟文", "search_results.statuses_fts_disabled": "此Mastodon服务器未启用嘟文内容搜索。", "search_results.total": "共 {count, number} 个结果", diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index 1f06f7fc6..292b64042 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -167,6 +167,7 @@ "empty_column.community": "本站時間軸暫時未有內容,快寫一點東西來搶頭香啊!", "empty_column.direct": "你沒有個人訊息。當你發出或接收個人訊息,就會在這裡出現。", "empty_column.domain_blocks": "尚未隱藏任何網域。", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "你還沒收藏任何文章。這裡將會顯示你收藏的嘟文。", "empty_column.favourites": "還沒有人收藏這則文章。這裡將會顯示被收藏的嘟文。", "empty_column.follow_recommendations": "似乎未能替您產生任何建議。您可以試著搜尋您知道的帳戶或者探索熱門主題標籤", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "請嘗試停止使用這些附加元件然後重新載入頁面。如果問題沒有解決,你仍然可以使用不同的瀏覽器或 Mastodon 應用程式來檢視。", "errors.unexpected_crash.copy_stacktrace": "複製 stacktrace 到剪貼簿", "errors.unexpected_crash.report_issue": "舉報問題", + "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", "follow_recommendations.done": "完成", "follow_recommendations.heading": "跟隨人們以看到來自他們的嘟文!這裡有些建議。", "follow_recommendations.lead": "您跟隨對象知嘟文將會以時間順序顯示於您的 home feed 上。別擔心犯下錯誤,您隨時可以取消跟隨人們!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "偏好設定", "navigation_bar.public_timeline": "跨站時間軸", "navigation_bar.security": "安全", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} 喜歡你的文章", "notification.follow": "{name} 開始關注你", "notification.follow_request": "{name} 要求關注你", @@ -311,6 +319,7 @@ "notification.update": "{name} edited a post", "notifications.clear": "清空通知紀錄", "notifications.clear_confirmation": "你確定要清空通知紀錄嗎?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "顯示桌面通知", "notifications.column_settings.favourite": "你最愛的文章:", "notifications.column_settings.filter_bar.advanced": "顯示所有分類", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number}秒前", "relative_time.today": "今天", "reply_indicator.cancel": "取消", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "轉寄到 {target}", "report.forward_hint": "這個帳戶屬於其他服務站。要向該服務站發送匿名的舉報訊息嗎?", - "report.hint": "這訊息會發送到你服務站的管理員。你可以提供舉報這個帳戶的理由:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "額外訊息", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.submit": "提交", "report.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.", "search.placeholder": "搜尋", "search_popout.search_format": "高級搜索格式", "search_popout.tips.full_text": "輸入簡單的文字,搜索由你發放、收藏、轉推和提及你的文章,以及符合的使用者名稱,顯示名稱和標籤。", @@ -395,7 +432,9 @@ "search_popout.tips.text": "輸入簡單的文字,搜索符合的顯示名稱、使用者名稱和標籤", "search_popout.tips.user": "使用者", "search_results.accounts": "使用者", + "search_results.all": "All", "search_results.hashtags": "標籤", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "文章", "search_results.statuses_fts_disabled": "此 Mastodon 伺服器並未啟用「搜尋文章內章」功能。", "search_results.total": "{count, number} 項結果", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 3f89737d4..9eff43307 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -167,6 +167,7 @@ "empty_column.community": "本機時間軸是空的。快公開嘟些文搶頭香啊!", "empty_column.direct": "您還沒有任何私訊。當您私訊別人或收到私訊時,它將於此顯示。", "empty_column.domain_blocks": "尚未封鎖任何網域。", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "您還沒加過任何嘟文至最愛。當您收藏嘟文時,它將於此顯示。", "empty_column.favourites": "還沒有人加過這則嘟文至最愛。當有人收藏嘟文時,它將於此顯示。", "empty_column.follow_recommendations": "似乎未能為您產生任何建議。您可以嘗試使用搜尋來尋找您可能認識的人,或是探索熱門主題標籤。", @@ -185,6 +186,12 @@ "error.unexpected_crash.next_steps_addons": "請嘗試關閉他們然後重新整理頁面。如果狀況沒有改善,您可以使用不同的瀏覽器或應用程式來檢視來使用 Mastodon。", "errors.unexpected_crash.copy_stacktrace": "複製 stacktrace 到剪貼簿", "errors.unexpected_crash.report_issue": "回報問題", + "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", "follow_recommendations.done": "完成", "follow_recommendations.heading": "跟隨您想檢視其貼文的人!這裡有一些建議。", "follow_recommendations.lead": "來自您跟隨的人的貼文將會按時間順序顯示在您的家 feed 上。不要害怕犯錯,您隨時都可以取消跟隨其他人!", @@ -300,6 +307,7 @@ "navigation_bar.preferences": "偏好設定", "navigation_bar.public_timeline": "聯邦時間軸", "navigation_bar.security": "安全性", + "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} 把您的嘟文加入了最愛", "notification.follow": "{name} 跟隨了您", "notification.follow_request": "{name} 要求跟隨您", @@ -311,6 +319,7 @@ "notification.update": "{name} 編輯了嘟文", "notifications.clear": "清除通知", "notifications.clear_confirmation": "確定要永久清除您的通知嗎?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "桌面通知", "notifications.column_settings.favourite": "最愛:", "notifications.column_settings.filter_bar.advanced": "顯示所有分類", @@ -378,15 +387,43 @@ "relative_time.seconds": "{number} 秒", "relative_time.today": "今天", "reply_indicator.cancel": "取消", + "report.block": "Block", + "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "其他", "report.categories.spam": "垃圾訊息", "report.categories.violation": "內容違反一項或多項伺服器條款", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", "report.forward": "轉寄到 {target}", "report.forward_hint": "這個帳戶屬於其他伺服器。要像該伺服器發送匿名的檢舉訊息嗎?", - "report.hint": "這項訊息會發送到您伺服器的管理員。您可以提供檢舉這個帳戶的理由:", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", "report.placeholder": "其他備註", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.spam": "It's spam", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.violation": "It violates server rules", + "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.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.", "search.placeholder": "搜尋", "search_popout.search_format": "進階搜尋格式", "search_popout.tips.full_text": "輸入簡單的文字,搜尋由您撰寫、最愛、轉嘟或提您的嘟文,以及與關鍵詞匹配的使用者名稱、帳戶顯示名稱和主題標籤。", @@ -395,7 +432,9 @@ "search_popout.tips.text": "輸入簡單的文字,搜尋符合的使用者名稱,帳戶名稱與標籤", "search_popout.tips.user": "使用者", "search_results.accounts": "使用者", + "search_results.all": "All", "search_results.hashtags": "主題標籤", + "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "嘟文", "search_results.statuses_fts_disabled": "「依內容搜尋嘟文」未在此 Mastodon 伺服器啟用。", "search_results.total": "{count, number} 項結果", From 4ba7be5fc4e8c42c41bc8f7086af47220de9f649 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Feb 2022 21:42:37 +0100 Subject: [PATCH 005/276] Bump blurhash from 0.1.5 to 0.1.6 (#17669) Bumps [blurhash](https://github.com/Gargron/blurhash) from 0.1.5 to 0.1.6. - [Release notes](https://github.com/Gargron/blurhash/releases) - [Changelog](https://github.com/Gargron/blurhash/blob/master/CHANGELOG.md) - [Commits](https://github.com/Gargron/blurhash/compare/v0.1.5...v0.1.6) --- updated-dependencies: - dependency-name: blurhash dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 48337d9ff..87539348c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -102,7 +102,7 @@ GEM bindata (2.4.10) binding_of_caller (1.0.0) debug_inspector (>= 0.0.1) - blurhash (0.1.5) + blurhash (0.1.6) ffi (~> 1.14) bootsnap (1.10.3) msgpack (~> 1.2) From 399cc757cbd89a8874ef089dd7e2387eb2e92ef0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Mar 2022 17:32:30 +0900 Subject: [PATCH 006/276] Bump url-parse from 1.5.7 to 1.5.10 (#17662) Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.7 to 1.5.10. - [Release notes](https://github.com/unshiftio/url-parse/releases) - [Commits](https://github.com/unshiftio/url-parse/compare/1.5.7...1.5.10) --- updated-dependencies: - dependency-name: url-parse dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3b7ece932..19a3cbe8c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10877,9 +10877,9 @@ urix@^0.1.0: integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= url-parse@^1.4.3, url-parse@^1.4.7: - version "1.5.7" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.7.tgz#00780f60dbdae90181f51ed85fb24109422c932a" - integrity sha512-HxWkieX+STA38EDk7CE9MEryFeHCKzgagxlGvsdS7WBImq9Mk+PGwiT56w82WI3aicwJA8REp42Cxo98c8FZMA== + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== dependencies: querystringify "^2.1.1" requires-port "^1.0.0" From 79a07f10ba666cc76bdedf538c4260c1bd83d3d6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Mar 2022 17:32:51 +0900 Subject: [PATCH 007/276] Bump sass from 1.49.7 to 1.49.9 (#17670) Bumps [sass](https://github.com/sass/dart-sass) from 1.49.7 to 1.49.9. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.49.7...1.49.9) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 387fc4bb6..e26b688b5 100644 --- a/package.json +++ b/package.json @@ -152,7 +152,7 @@ "requestidlecallback": "^0.3.0", "reselect": "^4.1.5", "rimraf": "^3.0.2", - "sass": "^1.49.7", + "sass": "^1.49.9", "sass-loader": "^10.2.0", "stacktrace-js": "^2.0.2", "stringz": "^2.1.0", diff --git a/yarn.lock b/yarn.lock index 19a3cbe8c..003875673 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9580,10 +9580,10 @@ sass-loader@^10.2.0: schema-utils "^3.0.0" semver "^7.3.2" -sass@^1.49.7: - version "1.49.7" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.7.tgz#22a86a50552b9b11f71404dfad1b9ff44c6b0c49" - integrity sha512-13dml55EMIR2rS4d/RDHHP0sXMY3+30e1TKsyXaSz3iLWVoDWEoboY8WzJd5JMnxrRHffKO3wq2mpJ0jxRJiEQ== +sass@^1.49.9: + version "1.49.9" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" + integrity sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From f2b847406913e40e09e83451cfa1a898870024d3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Mar 2022 17:33:10 +0900 Subject: [PATCH 008/276] Bump eslint-plugin-react from 7.28.0 to 7.29.2 (#17672) Bumps [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react) from 7.28.0 to 7.29.2. - [Release notes](https://github.com/yannickcr/eslint-plugin-react/releases) - [Changelog](https://github.com/yannickcr/eslint-plugin-react/blob/master/CHANGELOG.md) - [Commits](https://github.com/yannickcr/eslint-plugin-react/compare/v7.28.0...v7.29.2) --- updated-dependencies: - dependency-name: eslint-plugin-react dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 31 +++++++++++++++---------------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index e26b688b5..aed2e684f 100644 --- a/package.json +++ b/package.json @@ -180,7 +180,7 @@ "eslint-plugin-import": "~2.25.4", "eslint-plugin-jsx-a11y": "~6.5.1", "eslint-plugin-promise": "~6.0.0", - "eslint-plugin-react": "~7.28.0", + "eslint-plugin-react": "~7.29.2", "jest": "^27.5.1", "raf": "^3.4.1", "react-intl-translations-manager": "^5.0.3", diff --git a/yarn.lock b/yarn.lock index 003875673..a44b9159a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4367,22 +4367,22 @@ eslint-plugin-promise@~6.0.0: resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.0.0.tgz#017652c07c9816413a41e11c30adc42c3d55ff18" integrity sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw== -eslint-plugin-react@~7.28.0: - version "7.28.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz#8f3ff450677571a659ce76efc6d80b6a525adbdf" - integrity sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw== +eslint-plugin-react@~7.29.2: + version "7.29.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.2.tgz#2d4da69d30d0a736efd30890dc6826f3e91f3f7c" + integrity sha512-ypEBTKOy5liFQXZWMchJ3LN0JX1uPI6n7MN7OPHKacqXAxq5gYC30TdO7wqGYQyxD1OrzpobdHC3hDmlRWDg9w== dependencies: array-includes "^3.1.4" array.prototype.flatmap "^1.2.5" doctrine "^2.1.0" estraverse "^5.3.0" jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.0.4" + minimatch "^3.1.2" object.entries "^1.1.5" object.fromentries "^2.0.5" object.hasown "^1.1.0" object.values "^1.1.5" - prop-types "^15.7.2" + prop-types "^15.8.1" resolve "^2.0.0-next.3" semver "^6.3.0" string.prototype.matchall "^4.0.6" @@ -7274,7 +7274,14 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: +minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@~3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -9426,15 +9433,7 @@ resolve.exports@^1.1.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== -resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -resolve@^1.19.0: +resolve@^1.12.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== From 57f8c9adacc5a191548781c197be43b9e07c1987 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Mar 2022 17:33:26 +0900 Subject: [PATCH 009/276] Bump redis from 4.0.3 to 4.0.4 (#17671) Bumps [redis](https://github.com/redis/node-redis) from 4.0.3 to 4.0.4. - [Release notes](https://github.com/redis/node-redis/releases) - [Changelog](https://github.com/redis/node-redis/blob/master/CHANGELOG.md) - [Commits](https://github.com/redis/node-redis/compare/redis@4.0.3...redis@4.0.4) --- updated-dependencies: - dependency-name: redis dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 38 +++++++++++++++++++------------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index aed2e684f..61007fe5f 100644 --- a/package.json +++ b/package.json @@ -143,7 +143,7 @@ "react-swipeable-views": "^0.14.0", "react-textarea-autosize": "^8.3.3", "react-toggle": "^4.1.2", - "redis": "^4.0.3", + "redis": "^4.0.4", "redux": "^4.1.2", "redux-immutable": "^4.0.0", "redux-thunk": "^2.4.1", diff --git a/yarn.lock b/yarn.lock index a44b9159a..25427dd6c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1403,10 +1403,10 @@ resolved "https://registry.yarnpkg.com/@node-redis/bloom/-/bloom-1.0.1.tgz#144474a0b7dc4a4b91badea2cfa9538ce0a1854e" integrity sha512-mXEBvEIgF4tUzdIN89LiYsbi6//EdpFA7L8M+DHCvePXg+bfHWi+ct5VI6nHUFQE5+ohm/9wmgihCH3HSkeKsw== -"@node-redis/client@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@node-redis/client/-/client-1.0.3.tgz#ece282b7ee07283d744e6ab1fa72f2d47641402c" - integrity sha512-IXNgOG99PHGL3NxN3/e8J8MuX+H08I+OMNmheGmZBXngE0IntaCQwwrd7NzmiHA+zH3SKHiJ+6k3P7t7XYknMw== +"@node-redis/client@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@node-redis/client/-/client-1.0.4.tgz#fe185750df3bcc07524f63fe8dbc8d14d22d6cbb" + integrity sha512-IM/NRAqg7MvNC3bIRQipXGrEarunrdgvrbAzsd3ty93LSHi/M+ybQulOERQi8a3M+P5BL8HenwXjiIoKm6ml2g== dependencies: cluster-key-slot "1.1.0" generic-pool "3.8.2" @@ -1423,15 +1423,15 @@ resolved "https://registry.yarnpkg.com/@node-redis/json/-/json-1.0.2.tgz#8ad2d0f026698dc1a4238cc3d1eb099a3bee5ab8" integrity sha512-qVRgn8WfG46QQ08CghSbY4VhHFgaTY71WjpwRBGEuqGPfWwfRcIf3OqSpR7Q/45X+v3xd8mvYjywqh0wqJ8T+g== -"@node-redis/search@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@node-redis/search/-/search-1.0.2.tgz#8cfc91006ea787df801d41410283e1f59027f818" - integrity sha512-gWhEeji+kTAvzZeguUNJdMSZNH2c5dv3Bci8Nn2f7VGuf6IvvwuZDSBOuOlirLVgayVuWzAG7EhwaZWK1VDnWQ== +"@node-redis/search@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@node-redis/search/-/search-1.0.3.tgz#7c3d026bf994caf82019fd0c3924cfc09f041a29" + integrity sha512-rsrzkGWI84di/uYtEctS/4qLusWt0DESx/psjfB0TFpORDhe7JfC0h8ary+eHulTksumor244bXLRSqQXbFJmw== -"@node-redis/time-series@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@node-redis/time-series/-/time-series-1.0.1.tgz#703149f8fa4f6fff377c61a0873911e7c1ba5cc3" - integrity sha512-+nTn6EewVj3GlUXPuD3dgheWqo219jTxlo6R+pg24OeVvFHx9aFGGiyOgj3vBPhWUdRZ0xMcujXV5ki4fbLyMw== +"@node-redis/time-series@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@node-redis/time-series/-/time-series-1.0.2.tgz#5dd3638374edd85ebe0aa6b0e87addc88fb9df69" + integrity sha512-HGQ8YooJ8Mx7l28tD7XjtB3ImLEjlUxG1wC1PAjxu6hPJqjPshUZxAICzDqDjtIbhDTf48WXXUcx8TQJB1XTKA== "@npmcli/move-file@^1.0.1": version "1.0.1" @@ -9192,17 +9192,17 @@ redis-parser@3.0.0: dependencies: redis-errors "^1.0.0" -redis@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/redis/-/redis-4.0.3.tgz#f60931175de6f5b5727240a08e58a9ed5cf0f9de" - integrity sha512-SJMRXvgiQUYN0HaWwWv002J5ZgkhYXOlbLomzcrL3kP42yRNZ8Jx5nvLYhVpgmf10xcDpanFOxxJkphu2eyIFQ== +redis@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/redis/-/redis-4.0.4.tgz#b567f82f59086df38433982f7f424b48e924ec7a" + integrity sha512-KaM1OAj/nGrSeybmmOWSMY0LXTGT6FVWgUZZrd2MYzXKJ+VGtqVaciGQeNMfZiQX+kDM8Ke4uttb54m2rm6V0A== dependencies: "@node-redis/bloom" "1.0.1" - "@node-redis/client" "1.0.3" + "@node-redis/client" "1.0.4" "@node-redis/graph" "1.0.0" "@node-redis/json" "1.0.2" - "@node-redis/search" "1.0.2" - "@node-redis/time-series" "1.0.1" + "@node-redis/search" "1.0.3" + "@node-redis/time-series" "1.0.2" redux-immutable@^4.0.0: version "4.0.0" From 233f7e6174947c28ee2d388713c0a58ca9ebb21e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 1 Mar 2022 10:38:36 +0100 Subject: [PATCH 010/276] New Crowdin updates (#17628) * New translations en.yml (Swedish) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (Turkish) * New translations en.yml (Latvian) * New translations simple_form.en.yml (Latvian) * New translations en.yml (Turkish) * New translations en.yml (Latvian) * New translations simple_form.en.yml (Turkish) * New translations en.yml (Indonesian) * New translations en.yml (Indonesian) * New translations en.yml (Indonesian) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Portuguese) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Portuguese) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Turkish) * New translations en.yml (Italian) * New translations en.json (Spanish, Argentina) * New translations en.yml (Welsh) * New translations simple_form.en.yml (Welsh) * New translations activerecord.en.yml (Welsh) * New translations en.yml (Welsh) * New translations en.json (Welsh) * New translations activerecord.en.yml (Welsh) * New translations en.json (Portuguese, Brazilian) * New translations en.yml (Portuguese, Brazilian) * New translations en.json (Portuguese, Brazilian) * New translations en.yml (Finnish) * New translations en.yml (Finnish) * New translations simple_form.en.yml (Portuguese, Brazilian) * New translations en.yml (Finnish) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.yml (Kabyle) * New translations en.json (Kabyle) * New translations en.yml (Vietnamese) * New translations en.yml (Vietnamese) * New translations simple_form.en.yml (Vietnamese) * New translations en.yml (Vietnamese) * New translations en.yml (Indonesian) * New translations en.yml (Chinese Simplified) * New translations en.yml (Standard Moroccan Tamazight) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Greek) * New translations en.yml (Turkish) * New translations en.yml (Latvian) * New translations en.yml (Catalan) * New translations en.yml (Portuguese) * New translations en.yml (Italian) * New translations en.yml (Russian) * New translations en.json (Russian) * New translations en.yml (Russian) * New translations en.json (Russian) * New translations en.yml (Russian) * New translations en.json (Russian) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Japanese) * New translations en.yml (Chinese Traditional) * New translations en.yml (Italian) * New translations en.yml (Vietnamese) * New translations en.yml (Galician) * New translations en.yml (Spanish) * New translations en.yml (Thai) * New translations en.yml (French) * New translations en.yml (Thai) * New translations en.yml (Indonesian) * New translations en.yml (Danish) * New translations en.yml (Indonesian) * New translations simple_form.en.yml (Indonesian) * New translations en.yml (German) * New translations en.yml (Thai) * New translations en.yml (Icelandic) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations simple_form.en.yml (Thai) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.yml (Hungarian) * New translations en.json (Norwegian) * New translations en.json (Norwegian Nynorsk) * New translations en.json (Catalan) * New translations en.json (Slovenian) * New translations en.json (Persian) * New translations en.json (Occitan) * New translations en.json (Arabic) * New translations en.json (Thai) * New translations en.json (Hebrew) * New translations en.json (Greek) * New translations en.json (Dutch) * New translations en.json (Romanian) * New translations en.json (French) * New translations en.json (Spanish) * New translations en.json (Afrikaans) * New translations en.json (Bulgarian) * New translations en.json (Czech) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Spanish, Mexico) * New translations en.json (Danish) * New translations en.json (German) * New translations en.json (Latvian) * New translations en.json (Indonesian) * New translations en.json (Tamil) * New translations en.json (Spanish, Argentina) * New translations en.json (Spanish, Mexico) * New translations en.json (Bengali) * New translations en.json (Marathi) * New translations en.json (Croatian) * New translations en.json (Kazakh) * New translations en.json (Estonian) * New translations en.json (Hindi) * New translations en.json (Icelandic) * New translations en.json (Malay) * New translations en.json (Telugu) * New translations en.json (Welsh) * New translations en.json (Esperanto) * New translations en.json (Uyghur) * New translations en.json (Chinese Traditional, Hong Kong) * New translations en.json (Tatar) * New translations en.json (Malayalam) * New translations en.json (Breton) * New translations en.json (Sinhala) * New translations en.json (Portuguese, Brazilian) * New translations en.json (Galician) * New translations en.json (Basque) * New translations en.json (Polish) * New translations en.json (Finnish) * New translations en.json (Hungarian) * New translations en.json (Armenian) * New translations en.json (Italian) * New translations en.json (Japanese) * New translations en.json (Georgian) * New translations en.json (Korean) * New translations en.json (Lithuanian) * New translations en.json (Macedonian) * New translations en.json (Punjabi) * New translations en.json (Portuguese) * New translations en.json (Vietnamese) * New translations en.json (Russian) * New translations en.json (Slovak) * New translations en.json (Albanian) * New translations en.json (Serbian (Cyrillic)) * New translations en.json (Swedish) * New translations en.json (Turkish) * New translations en.json (Ukrainian) * New translations en.json (Chinese Simplified) * New translations en.json (Chinese Traditional) * New translations en.json (Urdu (Pakistan)) * New translations en.json (Cornish) * New translations en.json (Kannada) * New translations en.json (Scottish Gaelic) * New translations en.json (Asturian) * New translations en.json (Serbian (Latin)) * New translations en.json (Kurmanji (Kurdish)) * New translations en.json (Sorani (Kurdish)) * New translations en.json (Corsican) * New translations en.json (Sardinian) * New translations en.json (Sanskrit) * New translations en.json (Ido) * New translations en.json (Taigi) * New translations en.json (Silesian) * New translations en.json (Standard Moroccan Tamazight) * New translations en.json (Catalan) * New translations en.json (French) * New translations en.json (Catalan) * New translations en.json (French) * New translations en.json (Albanian) * New translations en.json (Catalan) * New translations en.yml (Albanian) * New translations en.json (French) * New translations en.json (French) * New translations en.yml (French) * New translations en.json (French) * New translations en.json (French) * New translations en.json (Danish) * New translations en.json (Danish) * New translations en.json (Icelandic) * New translations en.json (Danish) * New translations en.json (Italian) * New translations en.json (Italian) * New translations en.json (Kurmanji (Kurdish)) * New translations en.json (Kurmanji (Kurdish)) * New translations en.json (Hungarian) * New translations en.json (Ukrainian) * New translations en.json (Kurmanji (Kurdish)) * New translations en.json (Hungarian) * New translations en.json (Greek) * New translations en.json (Finnish) * New translations en.json (Russian) * New translations en.json (Greek) * New translations en.json (Hungarian) * New translations en.json (Finnish) * New translations en.json (Hungarian) * New translations en.json (Finnish) * New translations en.json (Chinese Traditional) * New translations en.json (Finnish) * New translations en.json (Chinese Traditional) * New translations en.yml (Finnish) * New translations en.json (Finnish) * New translations en.json (Chinese Traditional) * New translations en.json (German) * New translations en.json (German) * New translations en.json (Chinese Simplified) * New translations en.yml (Thai) * New translations en.json (Thai) * New translations en.yml (Scottish Gaelic) * New translations en.json (Thai) * New translations en.json (Turkish) * New translations en.json (Scottish Gaelic) * New translations doorkeeper.en.yml (Scottish Gaelic) * New translations activerecord.en.yml (Scottish Gaelic) * New translations devise.en.yml (Scottish Gaelic) * New translations simple_form.en.yml (Thai) * New translations en.json (Spanish) * New translations en.json (Spanish) * New translations en.json (Latvian) * New translations en.json (Latvian) * New translations en.json (Latvian) * New translations en.yml (Swedish) * New translations en.json (Swedish) * New translations en.json (Asturian) * New translations en.yml (Asturian) * New translations en.json (Asturian) * New translations en.yml (Asturian) * New translations en.json (Asturian) * New translations activerecord.en.yml (Asturian) * New translations en.json (Asturian) * New translations doorkeeper.en.yml (Asturian) * New translations simple_form.en.yml (Asturian) * New translations en.json (Chinese Simplified) * New translations en.json (Chinese Simplified) * New translations en.yml (Chinese Simplified) * New translations en.yml (Danish) * New translations en.json (Turkish) * New translations en.json (Turkish) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * Run `bundle exec i18n-tasks normalize` * Fix Co-authored-by: Yamagishi Kazutoshi --- app/javascript/mastodon/locales/af.json | 4 +- app/javascript/mastodon/locales/ast.json | 26 ++-- app/javascript/mastodon/locales/ca.json | 80 ++++++------ app/javascript/mastodon/locales/cy.json | 38 +++--- app/javascript/mastodon/locales/da.json | 78 ++++++------ app/javascript/mastodon/locales/de.json | 82 ++++++------ app/javascript/mastodon/locales/el.json | 32 ++--- app/javascript/mastodon/locales/es-AR.json | 2 +- app/javascript/mastodon/locales/es-MX.json | 4 +- app/javascript/mastodon/locales/es.json | 94 +++++++------- app/javascript/mastodon/locales/fi.json | 80 ++++++------ app/javascript/mastodon/locales/fr.json | 78 ++++++------ app/javascript/mastodon/locales/gd.json | 116 ++++++++--------- app/javascript/mastodon/locales/hi.json | 2 +- app/javascript/mastodon/locales/hu.json | 80 ++++++------ app/javascript/mastodon/locales/is.json | 80 ++++++------ app/javascript/mastodon/locales/it.json | 78 ++++++------ app/javascript/mastodon/locales/ja.json | 2 +- app/javascript/mastodon/locales/kab.json | 2 +- app/javascript/mastodon/locales/kmr.json | 80 ++++++------ app/javascript/mastodon/locales/kn.json | 4 +- app/javascript/mastodon/locales/ko.json | 2 +- app/javascript/mastodon/locales/lt.json | 4 +- app/javascript/mastodon/locales/lv.json | 80 ++++++------ app/javascript/mastodon/locales/mr.json | 4 +- app/javascript/mastodon/locales/pa.json | 4 +- app/javascript/mastodon/locales/pt-BR.json | 20 +-- app/javascript/mastodon/locales/ru.json | 24 ++-- app/javascript/mastodon/locales/sa.json | 4 +- app/javascript/mastodon/locales/sl.json | 4 +- app/javascript/mastodon/locales/sq.json | 80 ++++++------ app/javascript/mastodon/locales/sv.json | 34 ++--- app/javascript/mastodon/locales/szl.json | 4 +- app/javascript/mastodon/locales/tai.json | 4 +- app/javascript/mastodon/locales/th.json | 34 ++--- app/javascript/mastodon/locales/tr.json | 80 ++++++------ app/javascript/mastodon/locales/tt.json | 2 +- app/javascript/mastodon/locales/ug.json | 4 +- app/javascript/mastodon/locales/uk.json | 22 ++-- app/javascript/mastodon/locales/ur.json | 4 +- app/javascript/mastodon/locales/zgh.json | 2 +- app/javascript/mastodon/locales/zh-CN.json | 80 ++++++------ app/javascript/mastodon/locales/zh-TW.json | 80 ++++++------ config/locales/activerecord.ast.yml | 15 ++- config/locales/activerecord.cy.yml | 15 +++ config/locales/ar.yml | 3 - config/locales/ast.yml | 50 +++++++- config/locales/br.yml | 1 - config/locales/ca.yml | 51 ++++++-- config/locales/co.yml | 3 - config/locales/cs.yml | 13 -- config/locales/cy.yml | 9 +- config/locales/da.yml | 53 +++++--- config/locales/de.yml | 79 ++++++++++-- config/locales/doorkeeper.ast.yml | 4 + config/locales/el.yml | 13 +- config/locales/eo.yml | 3 - config/locales/es-AR.yml | 51 ++++++-- config/locales/es-MX.yml | 79 ++++++++++-- config/locales/es.yml | 61 ++++++--- config/locales/et.yml | 3 - config/locales/eu.yml | 13 -- config/locales/fa.yml | 3 - config/locales/fi.yml | 140 ++++++++++++++++++--- config/locales/fr.yml | 99 +++++++++------ config/locales/gd.yml | 51 ++++++-- config/locales/gl.yml | 51 ++++++-- config/locales/he.yml | 3 + config/locales/hu.yml | 51 ++++++-- config/locales/hy.yml | 3 - config/locales/id.yml | 49 ++++++-- config/locales/is.yml | 51 ++++++-- config/locales/it.yml | 52 ++++++-- config/locales/ja.yml | 53 +++++--- config/locales/ka.yml | 1 - config/locales/kab.yml | 4 +- config/locales/kk.yml | 2 - config/locales/kmr.yml | 51 ++++++-- config/locales/ko.yml | 21 ++-- config/locales/ku.yml | 3 - config/locales/lt.yml | 1 - config/locales/lv.yml | 53 ++++++-- config/locales/ms.yml | 3 - config/locales/nl.yml | 3 - config/locales/nn.yml | 3 - config/locales/no.yml | 3 - config/locales/oc.yml | 3 - config/locales/pl.yml | 33 +++-- config/locales/pt-BR.yml | 17 +-- config/locales/pt-PT.yml | 51 ++++++-- config/locales/ru.yml | 21 ++-- config/locales/sc.yml | 3 - config/locales/simple_form.ar.yml | 1 - config/locales/simple_form.ast.yml | 2 + config/locales/simple_form.ca.yml | 2 +- config/locales/simple_form.co.yml | 1 - config/locales/simple_form.cs.yml | 1 - config/locales/simple_form.cy.yml | 2 +- config/locales/simple_form.da.yml | 2 +- config/locales/simple_form.de.yml | 2 +- config/locales/simple_form.el.yml | 1 - config/locales/simple_form.es-AR.yml | 2 +- config/locales/simple_form.es-MX.yml | 8 +- config/locales/simple_form.es.yml | 2 +- config/locales/simple_form.et.yml | 1 - config/locales/simple_form.eu.yml | 1 - config/locales/simple_form.fa.yml | 1 - config/locales/simple_form.fi.yml | 2 +- config/locales/simple_form.fr.yml | 2 +- config/locales/simple_form.gd.yml | 1 - config/locales/simple_form.gl.yml | 2 +- config/locales/simple_form.hu.yml | 2 +- config/locales/simple_form.hy.yml | 1 - config/locales/simple_form.id.yml | 2 +- config/locales/simple_form.is.yml | 2 +- config/locales/simple_form.it.yml | 2 +- config/locales/simple_form.ja.yml | 1 - config/locales/simple_form.kmr.yml | 2 +- config/locales/simple_form.ko.yml | 19 ++- config/locales/simple_form.ku.yml | 1 - config/locales/simple_form.lv.yml | 2 +- config/locales/simple_form.nl.yml | 1 - config/locales/simple_form.nn.yml | 1 - config/locales/simple_form.no.yml | 1 - config/locales/simple_form.oc.yml | 1 - config/locales/simple_form.pl.yml | 2 +- config/locales/simple_form.pt-BR.yml | 6 +- config/locales/simple_form.pt-PT.yml | 2 +- config/locales/simple_form.ro.yml | 1 - config/locales/simple_form.ru.yml | 2 +- config/locales/simple_form.sc.yml | 1 - config/locales/simple_form.sl.yml | 2 + config/locales/simple_form.sq.yml | 2 +- config/locales/simple_form.ta.yml | 1 - config/locales/simple_form.th.yml | 3 +- config/locales/simple_form.tr.yml | 2 +- config/locales/simple_form.uk.yml | 1 - config/locales/simple_form.vi.yml | 2 +- config/locales/simple_form.zh-CN.yml | 2 +- config/locales/simple_form.zh-HK.yml | 1 - config/locales/simple_form.zh-TW.yml | 2 +- config/locales/sk.yml | 3 - config/locales/sl.yml | 7 +- config/locales/sq.yml | 31 +++-- config/locales/sr-Latn.yml | 1 - config/locales/sr.yml | 1 - config/locales/sv.yml | 8 +- config/locales/ta.yml | 3 - config/locales/th.yml | 49 ++++++-- config/locales/tr.yml | 52 ++++++-- config/locales/uk.yml | 13 -- config/locales/vi.yml | 49 ++++++-- config/locales/zgh.yml | 3 + config/locales/zh-CN.yml | 41 ++++-- config/locales/zh-HK.yml | 3 - config/locales/zh-TW.yml | 49 ++++++-- 156 files changed, 2077 insertions(+), 1361 deletions(-) diff --git a/app/javascript/mastodon/locales/af.json b/app/javascript/mastodon/locales/af.json index dbde323ba..a7e5313a3 100644 --- a/app/javascript/mastodon/locales/af.json +++ b/app/javascript/mastodon/locales/af.json @@ -403,7 +403,7 @@ "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Next", - "report.placeholder": "Additional comments", + "report.placeholder": "Type or paste additional comments", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", @@ -416,7 +416,7 @@ "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.submit": "Submit", + "report.submit": "Submit report", "report.target": "Report {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}:", diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json index b104f0e6b..0627f57e1 100644 --- a/app/javascript/mastodon/locales/ast.json +++ b/app/javascript/mastodon/locales/ast.json @@ -153,7 +153,7 @@ "emoji_button.nature": "Natura", "emoji_button.not_found": "¡Nun hai fustaxes! (╯°□°)╯︵ ┻━┻", "emoji_button.objects": "Oxetos", - "emoji_button.people": "Xente", + "emoji_button.people": "Persones", "emoji_button.recent": "Úsase davezu", "emoji_button.search": "Guetar…", "emoji_button.search_results": "Search results", @@ -334,7 +334,7 @@ "notifications.column_settings.show": "Amosar en columna", "notifications.column_settings.sound": "Reproducir un soníu", "notifications.column_settings.status": "New toots:", - "notifications.column_settings.unread_notifications.category": "Unread notifications", + "notifications.column_settings.unread_notifications.category": "Avisos ensin lleer", "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", "notifications.column_settings.update": "Edits:", "notifications.filter.all": "Too", @@ -362,7 +362,7 @@ "poll.voted": "You voted for this answer", "poll.votes": "{votes, plural, one {# vote} other {# votes}}", "poll_button.add_poll": "Amestar una encuesta", - "poll_button.remove_poll": "Desaniciar la encuesta", + "poll_button.remove_poll": "Quitar la encuesta", "privacy.change": "Adjust status privacy", "privacy.direct.long": "Post to mentioned users only", "privacy.direct.short": "Direct", @@ -375,16 +375,16 @@ "refresh": "Refresh", "regeneration_indicator.label": "Cargando…", "regeneration_indicator.sublabel": "¡Tamos tresnando'l feed d'Aniciu!", - "relative_time.days": "{number}d", + "relative_time.days": "{number} d", "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.just_now": "puramente agora", "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", - "relative_time.hours": "{number}h", + "relative_time.hours": "{number} h", "relative_time.just_now": "agora", - "relative_time.minutes": "{number}m", - "relative_time.seconds": "{number}s", + "relative_time.minutes": "{number} m", + "relative_time.seconds": "{number} s", "relative_time.today": "güei", "reply_indicator.cancel": "Encaboxar", "report.block": "Block", @@ -399,7 +399,7 @@ "report.close": "Done", "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", - "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", + "report.forward_hint": "La cuenta ye d'otru sirvidor. ¿Quies unviar ellí tamién una copia anónima del informe?", "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Next", @@ -504,9 +504,9 @@ "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking", "trends.trending_now": "Trending now", "ui.beforeunload": "El borrador va perdese si coles de Mastodon.", - "units.short.billion": "{count}B", - "units.short.million": "{count}M", - "units.short.thousand": "{count}K", + "units.short.billion": "{count} B", + "units.short.million": "{count} M", + "units.short.thousand": "{count} K", "upload_area.title": "Arrastra y suelta pa xubir", "upload_button.label": "Add images, a video or an audio file", "upload_error.limit": "File upload limit exceeded.", @@ -519,7 +519,7 @@ "upload_form.video_description": "Descripción pa persones con perda auditiva o discapacidá visual", "upload_modal.analyzing_picture": "Analizando la semeya…", "upload_modal.apply": "Aplicar", - "upload_modal.applying": "Applying…", + "upload_modal.applying": "Aplicando…", "upload_modal.choose_image": "Choose image", "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog", "upload_modal.detect_text": "Detectar el testu de la semeya", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 1859eed88..915278f95 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -167,7 +167,7 @@ "empty_column.community": "La línia de temps local és buida. Escriu alguna cosa públicament per a fer rodar la pilota!", "empty_column.direct": "Encara no tens missatges directes. Quan enviïs o rebis un, es mostrarà aquí.", "empty_column.domain_blocks": "Encara no hi ha dominis ocults.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "No hi ha res en tendència ara mateix. Verifica-ho més tard!", "empty_column.favourited_statuses": "Encara no has marcat com a favorit cap tut. Quan en facis, apareixerà aquí.", "empty_column.favourites": "Ningú no ha marcat aquest tut com a preferit encara. Quan algú ho faci, apareixerà aquí.", "empty_column.follow_recommendations": "Sembla que no es poden generar sugerencies per a tu. Pots provar d'emprar la cerca per a trobar gent que voldries conèixer o explorar les etiquetes en tendència.", @@ -186,12 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Prova de desactivar-les i refrescant la pàgina. Si això no ajuda, encara pots ser capaç d’utilitzar Mastodon amb un altre navegador o aplicació nativa.", "errors.unexpected_crash.copy_stacktrace": "Còpia stacktrace al porta-retalls", "errors.unexpected_crash.report_issue": "Informa d'un problema", - "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": "Resultats de la cerca", + "explore.suggested_follows": "Per a tu", + "explore.title": "Explora", + "explore.trending_links": "Notícies", + "explore.trending_statuses": "Publicacions", + "explore.trending_tags": "Etiquetes", "follow_recommendations.done": "Fet", "follow_recommendations.heading": "Segueix a la gent de la que t'agradaria veure els seus tuts! Aquí hi ha algunes recomanacions.", "follow_recommendations.lead": "Els tuts del usuaris que segueixes es mostraran en ordre cronològic en la teva línia de temps Inici. No tinguis por en cometre errors, pots fàcilment deixar de seguir-los en qualsevol moment!", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "Preferències", "navigation_bar.public_timeline": "Línia de temps federada", "navigation_bar.security": "Seguretat", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} s'ha registrat", "notification.favourite": "{name} ha afavorit el teu estat", "notification.follow": "{name} et segueix", "notification.follow_request": "{name} ha sol·licitat seguir-te", @@ -319,7 +319,7 @@ "notification.update": "{name} ha editat una publicació", "notifications.clear": "Netejar notificacions", "notifications.clear_confirmation": "Estàs segur que vols esborrar permanentment totes les teves notificacions?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Nous registres:", "notifications.column_settings.alert": "Notificacions d'escriptori", "notifications.column_settings.favourite": "Preferits:", "notifications.column_settings.filter_bar.advanced": "Mostra totes les categories", @@ -387,43 +387,43 @@ "relative_time.seconds": "fa {number} segons", "relative_time.today": "avui", "reply_indicator.cancel": "Cancel·lar", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "Bloqueja", + "report.block_explanation": "No veuràs les seves publicacions. Ell no podran veure les teves publicacions ni seguir-te. Ell podran dir que estan bloquejats.", "report.categories.other": "Altres", "report.categories.spam": "Contingut brossa", "report.categories.violation": "El contingut viola una o més regles del servidor", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.subtitle": "Tria la millor combinació", + "report.category.title": "Digue'ns què està passant amb aquest {type}", + "report.category.title_account": "perfil", + "report.category.title_status": "publicació", + "report.close": "Fet", + "report.comment.title": "Hi ha res més que penses hauriem de saber?", "report.forward": "Reenvia a {target}", "report.forward_hint": "Aquest compte és d'un altre servidor. Enviar-hi també una copia anònima del informe?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Silencia", + "report.mute_explanation": "No veuràs les seves publicacions. Ells encara poden seguir-te i veure les teves publicacions però no sabran que han estat silenciats.", + "report.next": "Següent", "report.placeholder": "Comentaris addicionals", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "No m'agrada", + "report.reasons.dislike_description": "Això no és quelcom que vulguis veure", + "report.reasons.other": "Això és una altre cosa", + "report.reasons.other_description": "El problema no encaixa en altres categories", + "report.reasons.spam": "Això és brossa", + "report.reasons.spam_description": "Enllaços maliciosos, compromís falç o respostes repetitives", + "report.reasons.violation": "Viola les regles del servidor", + "report.reasons.violation_description": "Ets conscient que trenca regles especifiques", + "report.rules.subtitle": "Selecciona totes les aplicables", + "report.rules.title": "Quines regles han estat violades?", + "report.statuses.subtitle": "Selecciona tots els aplicables", + "report.statuses.title": "Hi ha alguna publicació que recolzi aquest informe?", "report.submit": "Enviar", "report.target": "Informes {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": "Aquestes son les teves opcions per a controlar el que veus a Mastodon:", + "report.thanks.take_action_actionable": "Mentre ho revisem, pots pendre mesures contra @{name}:", + "report.thanks.title": "No vols veure això?", + "report.thanks.title_actionable": "Gràcies per informar, ho investigarem.", + "report.unfollow": "Deixar de seguir @{name}", + "report.unfollow_explanation": "Estàs seguint aquest compte. Per a no veure més les seves publicacions en la teva línia de temps Inici, deixa de seguir-lo.", "search.placeholder": "Cercar", "search_popout.search_format": "Format de cerca avançada", "search_popout.tips.full_text": "Text simple recupera publicacions que has escrit, les marcades com a preferides, les impulsades o en les que has estat esmentat, així com usuaris, noms d'usuari i etiquetes.", @@ -432,9 +432,9 @@ "search_popout.tips.text": "El text simple retorna coincidències amb els noms de visualització, els noms d'usuari i les etiquetes", "search_popout.tips.user": "usuari", "search_results.accounts": "Gent", - "search_results.all": "All", + "search_results.all": "Tots", "search_results.hashtags": "Etiquetes", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "No s'ha pogut trobar res per a aquests termes de cerca", "search_results.statuses": "Tuts", "search_results.statuses_fts_disabled": "La cerca de tuts pel seu contingut no està habilitada en aquest servidor Mastodon.", "search_results.total": "{count, number} {count, plural, one {resultat} other {resultats}}", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index 621ff4530..ad7316865 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -51,7 +51,7 @@ "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", "admin.dashboard.retention.average": "Average", "admin.dashboard.retention.cohort": "Sign-up month", - "admin.dashboard.retention.cohort_size": "New users", + "admin.dashboard.retention.cohort_size": "Defnyddwyr newydd", "alert.rate_limited.message": "Ceisiwch eto ar ôl {retry_time, time, medium}.", "alert.rate_limited.title": "Cyfradd gyfyngedig", "alert.unexpected.message": "Digwyddodd gwall annisgwyl.", @@ -192,7 +192,7 @@ "explore.trending_links": "News", "explore.trending_statuses": "Posts", "explore.trending_tags": "Hashtags", - "follow_recommendations.done": "Done", + "follow_recommendations.done": "Wedi gorffen", "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!", "follow_request.authorize": "Caniatau", @@ -259,8 +259,8 @@ "keyboard_shortcuts.unfocus": "i ddad-ffocysu ardal cyfansoddi testun/chwilio", "keyboard_shortcuts.up": "i symud yn uwch yn y rhestr", "lightbox.close": "Cau", - "lightbox.compress": "Compress image view box", - "lightbox.expand": "Expand image view box", + "lightbox.compress": "Cywasgu blwch gweld delwedd", + "lightbox.expand": "Ehangu blwch gweld delwedd", "lightbox.next": "Nesaf", "lightbox.previous": "Blaenorol", "lists.account.add": "Ychwanegwch at restr", @@ -270,10 +270,10 @@ "lists.edit.submit": "Newid teitl", "lists.new.create": "Ychwanegu rhestr", "lists.new.title_placeholder": "Teitl rhestr newydd", - "lists.replies_policy.followed": "Any followed user", - "lists.replies_policy.list": "Members of the list", + "lists.replies_policy.followed": "Unrhyw ddefnyddiwr a ddilynir", + "lists.replies_policy.list": "Aelodau'r rhestr", "lists.replies_policy.none": "Neb", - "lists.replies_policy.title": "Show replies to:", + "lists.replies_policy.title": "Dangos ymatebion i:", "lists.search": "Chwilio ymysg pobl yr ydych yn ei ddilyn", "lists.subheading": "Eich rhestrau", "load_pending": "{count, plural, one {# eitem newydd} other {# eitemau newydd}}", @@ -315,7 +315,7 @@ "notification.own_poll": "Mae eich pôl wedi diweddu", "notification.poll": "Mae pleidlais rydych wedi pleidleisio ynddi wedi dod i ben", "notification.reblog": "Hysbysebodd {name} eich tŵt", - "notification.status": "{name} just posted", + "notification.status": "{name} newydd ei bostio", "notification.update": "{name} edited a post", "notifications.clear": "Clirio hysbysiadau", "notifications.clear_confirmation": "Ydych chi'n sicr eich bod am glirio'ch holl hysbysiadau am byth?", @@ -343,17 +343,17 @@ "notifications.filter.follows": "Yn dilyn", "notifications.filter.mentions": "Crybwylliadau", "notifications.filter.polls": "Canlyniadau pleidlais", - "notifications.filter.statuses": "Updates from people you follow", - "notifications.grant_permission": "Grant permission.", + "notifications.filter.statuses": "Diweddariadau gan bobl rydych chi'n eu dilyn", + "notifications.grant_permission": "Caniatáu.", "notifications.group": "{count} o hysbysiadau", - "notifications.mark_as_read": "Mark every notification as read", - "notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request", - "notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before", - "notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.", + "notifications.mark_as_read": "Marciwch bob hysbysiad fel y'i darllenwyd", + "notifications.permission_denied": "Nid oes hysbysiadau bwrdd gwaith ar gael oherwydd cais am ganiatâd porwr a wrthodwyd yn flaenorol", + "notifications.permission_denied_alert": "Ni ellir galluogi hysbysiadau bwrdd gwaith, gan fod caniatâd porwr wedi'i wrthod o'r blaen", + "notifications.permission_required": "Nid oes hysbysiadau bwrdd gwaith ar gael oherwydd na roddwyd y caniatâd gofynnol.", "notifications_permission_banner.enable": "Galluogi hysbysiadau bwrdd gwaith", - "notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.", - "notifications_permission_banner.title": "Never miss a thing", - "picture_in_picture.restore": "Put it back", + "notifications_permission_banner.how_to_control": "I dderbyn hysbysiadau pan nad yw Mastodon ar agor, galluogi hysbysiadau bwrdd gwaith. Gallwch reoli'n union pa fathau o ryngweithio sy'n cynhyrchu hysbysiadau bwrdd gwaith trwy'r botwm {icon} uchod unwaith y byddant wedi'u galluogi.", + "notifications_permission_banner.title": "Peidiwch byth â cholli peth", + "picture_in_picture.restore": "Rhowch ef yn ôl", "poll.closed": "Ar gau", "poll.refresh": "Adnewyddu", "poll.total_people": "{count, plural, one {# berson} other {# o bobl}}", @@ -389,8 +389,8 @@ "reply_indicator.cancel": "Canslo", "report.block": "Block", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", - "report.categories.other": "Other", - "report.categories.spam": "Spam", + "report.categories.other": "Arall", + "report.categories.spam": "Sbam", "report.categories.violation": "Content violates one or more server rules", "report.category.subtitle": "Choose the best match", "report.category.title": "Tell us what's going on with this {type}", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index d15bda603..3c7a658a3 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -167,7 +167,7 @@ "empty_column.community": "Den lokale tidslinje er tom. Skriv noget offentligt for at sætte tingene i gang!", "empty_column.direct": "Du har ingen direkte beskeder endnu. Hvis du sender eller modtager en, bliver den vist hér.", "empty_column.domain_blocks": "Der er ingen skjulte domæner endnu.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Intet nye tendensen pt. Tjek igen senere!", "empty_column.favourited_statuses": "Du har ikke markeret nogle indlæg som favorit. Når du markerer ét, bliver det vist hér.", "empty_column.favourites": "Ingen har markeret indlægget som favorit endnu. Hvis der er nogen der gør, bliver det vist hér.", "empty_column.follow_recommendations": "Det ser ud til, at der ikke kunne blive lavet forslag til dig. Du kan prøve med Søg for at finde personer, du kender, eller udforske hashtags.", @@ -186,11 +186,11 @@ "error.unexpected_crash.next_steps_addons": "Prøv at deaktivere dem og genindlæse siden. Hvis det ikke hjælper, kan Mastodon muligvis stadig bruges via en anden browser eller app.", "errors.unexpected_crash.copy_stacktrace": "Kopiér stacktrace til udklipsholderen", "errors.unexpected_crash.report_issue": "Anmeld problem", - "explore.search_results": "Search results", - "explore.suggested_follows": "For you", - "explore.title": "Explore", - "explore.trending_links": "News", - "explore.trending_statuses": "Posts", + "explore.search_results": "Søgeresultater", + "explore.suggested_follows": "Til dig", + "explore.title": "Udforsk", + "explore.trending_links": "Nyheder", + "explore.trending_statuses": "Indlæg", "explore.trending_tags": "Hashtags", "follow_recommendations.done": "Udført", "follow_recommendations.heading": "Følg personer du gerne vil se indlæg fra! Her er nogle forslag.", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "Præferencer", "navigation_bar.public_timeline": "Fælles tidslinje", "navigation_bar.security": "Sikkerhed", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} tilmeldte sig", "notification.favourite": "{name} favoriserede dit trut", "notification.follow": "{name} fulgte dig", "notification.follow_request": "{name} har anmodet om at følge dig", @@ -319,7 +319,7 @@ "notification.update": "{name} redigerede et indlæg", "notifications.clear": "Ryd notifikationer", "notifications.clear_confirmation": "Er du sikker på, du vil rydde alle dine notifikationer permanent?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Nye tilmeldinger:", "notifications.column_settings.alert": "Skrivebordsnotifikationer", "notifications.column_settings.favourite": "Favoritter:", "notifications.column_settings.filter_bar.advanced": "Vis alle kategorier", @@ -387,43 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "i dag", "reply_indicator.cancel": "Afbryd", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "Blokér", + "report.block_explanation": "Du vil ikke se vedkommendes indlæg, og vedkommende vil ikke kunne se dine eller følge dig. Vedkommende vil være bekendt med blokeringen.", "report.categories.other": "Andre", "report.categories.spam": "Spam", "report.categories.violation": "Indhold overtræder en eller flere serverregler", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.subtitle": "Vælg den bedste match", + "report.category.title": "Fortæl os, hvad der foregår med denne {type}", + "report.category.title_account": "profil", + "report.category.title_status": "indlæg", + "report.close": "Udført", + "report.comment.title": "Findes der noget andet, som vi burde vide?", "report.forward": "Videresend til {target}", "report.forward_hint": "Kontoen er fra en anden server. Send en anonymiseret kopi af anmeldelsen dertil også?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Tavsgør", + "report.mute_explanation": "Du vil ikke se vedkommendes indlæg, men vedkommende kan stadig se dine/følge dig. Vedkommende vil ikke være bekendt med tavsgørelsen.", + "report.next": "Næste", "report.placeholder": "Yderligere kommentarer", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "Synes ikke om den/dem", + "report.reasons.dislike_description": "Det er ikke noget, man ønsker at se", + "report.reasons.other": "Det er noget andet", + "report.reasons.other_description": "Problemet passer ikke ind i andre kategorier", + "report.reasons.spam": "Det er spam", + "report.reasons.spam_description": "Ondsindede links, falsk engagement eller repetitive svar", + "report.reasons.violation": "Overtræder serverregler", + "report.reasons.violation_description": "Det står klart, at det bryder bestemte regler", + "report.rules.subtitle": "Vælg alle relevante", + "report.rules.title": "Hvilke regler brydes?", + "report.statuses.subtitle": "Vælg alle relevante", + "report.statuses.title": "Er der indlæg, som kan bekræfte denne anmeldelse?", "report.submit": "Indsend", "report.target": "Anmelder {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": "Her er mulighederne styring af, hvad man ses på Mastodon:", + "report.thanks.take_action_actionable": "Mens dette gennemgås, kan der skrides til handling mod @{name}:", + "report.thanks.title": "Ønsker ikke at se dette?", + "report.thanks.title_actionable": "Tak for anmeldelsen, der vil set nærmere på dette.", + "report.unfollow": "Følg ikke længere @{name}", + "report.unfollow_explanation": "Denne konto følges. For at ophøre medat se vedkommendes indlæg i hjemmefeedet, vælg Følg ikke længere.", "search.placeholder": "Søg", "search_popout.search_format": "Avanceret søgeformat", "search_popout.tips.full_text": "Simpel tekst returnerer trut, du har skrevet, favoriseret, fremhævede eller som er nævnt i/matcher bruger- og profilnavne samt hashtags.", @@ -432,9 +432,9 @@ "search_popout.tips.text": "Simpel tekst returnerer matchende visnings- og brugernavne samt hashtags", "search_popout.tips.user": "bruger", "search_results.accounts": "Personer", - "search_results.all": "All", + "search_results.all": "Alle", "search_results.hashtags": "Hashtags", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Ingen resultater for disse søgeord", "search_results.statuses": "Indlæg", "search_results.statuses_fts_disabled": "På denne Mastodon-server er trutsøgning efter deres indhold ikke aktiveret.", "search_results.total": "{count, number} {count, plural, one {resultat} other {resultater}}", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 30aa53620..46bd3e07e 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -167,7 +167,7 @@ "empty_column.community": "Die lokale Zeitleiste ist leer. Schreibe einen öffentlichen Beitrag, um den Ball ins Rollen zu bringen!", "empty_column.direct": "Du hast noch keine Direktnachrichten erhalten. Wenn du eine sendest oder empfängst, wird sie hier zu sehen sein.", "empty_column.domain_blocks": "Es sind noch keine Domains versteckt.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Momentan ist nichts im Trend. Schau später wieder!", "empty_column.favourited_statuses": "Du hast noch keine favorisierten Tröts. Wenn du einen favorisierst, wird er hier erscheinen.", "empty_column.favourites": "Noch niemand hat diesen Beitrag favorisiert. Sobald es jemand tut, wird das hier angezeigt.", "empty_column.follow_recommendations": "Es sieht so aus, als könnten keine Vorschläge für dich generiert werden. Du kannst versuchen nach Leuten zu suchen, die du vielleicht kennst oder du kannst angesagte Hashtags erkunden.", @@ -186,11 +186,11 @@ "error.unexpected_crash.next_steps_addons": "Versuche sie zu deaktivieren und lade dann die Seite neu. Wenn das Problem weiterhin besteht, solltest du Mastodon über einen anderen Browser oder eine native App nutzen.", "errors.unexpected_crash.copy_stacktrace": "Fehlerlog in die Zwischenablage kopieren", "errors.unexpected_crash.report_issue": "Problem melden", - "explore.search_results": "Search results", - "explore.suggested_follows": "For you", - "explore.title": "Explore", - "explore.trending_links": "News", - "explore.trending_statuses": "Posts", + "explore.search_results": "Suchergebnisse", + "explore.suggested_follows": "Für dich", + "explore.title": "Entdecken", + "explore.trending_links": "Nachrichten", + "explore.trending_statuses": "Beiträge", "explore.trending_tags": "Hashtags", "follow_recommendations.done": "Fertig", "follow_recommendations.heading": "Folge Leuten, von denen du Beiträge sehen möchtest! Hier sind einige Vorschläge.", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "Einstellungen", "navigation_bar.public_timeline": "Föderierte Zeitleiste", "navigation_bar.security": "Sicherheit", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} hat sich registriert", "notification.favourite": "{name} hat deinen Beitrag favorisiert", "notification.follow": "{name} folgt dir", "notification.follow_request": "{name} möchte dir folgen", @@ -316,10 +316,10 @@ "notification.poll": "Eine Umfrage in der du abgestimmt hast ist vorbei", "notification.reblog": "{name} hat deinen Beitrag geteilt", "notification.status": "{name} hat gerade etwas gepostet", - "notification.update": "{name} edited a post", + "notification.update": "{name} bearbeitete einen Beitrag", "notifications.clear": "Mitteilungen löschen", "notifications.clear_confirmation": "Bist du dir sicher, dass du alle Mitteilungen löschen möchtest?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Neue Anmeldungen:", "notifications.column_settings.alert": "Desktop-Benachrichtigungen", "notifications.column_settings.favourite": "Favorisierungen:", "notifications.column_settings.filter_bar.advanced": "Zeige alle Kategorien an", @@ -336,7 +336,7 @@ "notifications.column_settings.status": "Neue Beiträge:", "notifications.column_settings.unread_notifications.category": "Ungelesene Benachrichtigungen", "notifications.column_settings.unread_notifications.highlight": "Ungelesene Benachrichtigungen hervorheben", - "notifications.column_settings.update": "Edits:", + "notifications.column_settings.update": "Bearbeitungen:", "notifications.filter.all": "Alle", "notifications.filter.boosts": "Geteilte Beiträge", "notifications.filter.favourites": "Favorisierungen", @@ -387,43 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "heute", "reply_indicator.cancel": "Abbrechen", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "Blockieren", + "report.block_explanation": "Du wirst die Beiträge von diesem Konto nicht sehen. Das Konto wird nicht in der Lage sein, deine Beiträge zu sehen oder dir zu folgen. Die Person hinter dem Konto wird wissen, dass du das Konto blockiert hast.", "report.categories.other": "Andere", "report.categories.spam": "Spam", "report.categories.violation": "Inhalt verletzt ein oder mehrere Server-Regeln", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.subtitle": "Wähle die beste Zugehörigkeit", + "report.category.title": "Sag uns, was mit diesem {type} vor sich geht", + "report.category.title_account": "Profil", + "report.category.title_status": "Beitrag", + "report.close": "Fertig", + "report.comment.title": "Gibt es etwas anderes, was wir wissen sollten?", "report.forward": "An {target} weiterleiten", "report.forward_hint": "Dieses Konto ist von einem anderen Server. Soll eine anonymisierte Kopie des Berichts auch dorthin geschickt werden?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Stummschalten", + "report.mute_explanation": "Du wirst die Beiträge vom Konto nicht mehr sehen. Das Konto kann dir immernoch folgen und die Person hinter dem Konto wird deine Beiträge sehen können und nicht wissen, dass du sie stumm geschaltet hast.", + "report.next": "Weiter", "report.placeholder": "Zusätzliche Kommentare", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "Das gefällt mir nicht", + "report.reasons.dislike_description": "Das ist nicht etwas, was ihr nicht sehen wollt", + "report.reasons.other": "Da ist was anderes", + "report.reasons.other_description": "Das Problem passt nicht in eine der Kategorien", + "report.reasons.spam": "Das ist Spam", + "report.reasons.spam_description": "Bösartige Links, gefälschtes Engagement oder wiederholte Antworten", + "report.reasons.violation": "Es verstößt gegen Serverregeln", + "report.reasons.violation_description": "Du weißt, welche Regeln verletzt werden", + "report.rules.subtitle": "Alles Zutreffende auswählen", + "report.rules.title": "Welche Regeln werden verletzt?", + "report.statuses.subtitle": "Alles Zutreffende auswählen", + "report.statuses.title": "Gibt es Beiträge, die diesen Bericht unterstützen?", "report.submit": "Absenden", "report.target": "{target} melden", - "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": "Hier sind deine Optionen, die es dir erlauben zu kontrollieren, was du auf Mastodon sehen möchtest:", + "report.thanks.take_action_actionable": "Während wir dies überprüfen, kannst du gegen @{name} vorgehen:", + "report.thanks.title": "Möchtest du das nicht sehen?", + "report.thanks.title_actionable": "Vielen Dank für die Berichterstattung, wir werden uns damit befassen.", + "report.unfollow": "@{name} entfolgen", + "report.unfollow_explanation": "Du folgst diesem Konto. Um die Beiträge nicht mehr auf deiner Startseite zu sehen, entfolge dem Konto.", "search.placeholder": "Suche", "search_popout.search_format": "Fortgeschrittenes Suchformat", "search_popout.tips.full_text": "Einfache Texteingabe gibt Beiträge, die du geschrieben, favorisiert und geteilt hast zurück. Außerdem auch Beiträge in denen du erwähnt wurdest, aber auch passende Nutzernamen, Anzeigenamen oder Hashtags.", @@ -432,9 +432,9 @@ "search_popout.tips.text": "Einfache Texteingabe gibt Anzeigenamen, Benutzernamen und Hashtags zurück", "search_popout.tips.user": "Nutzer", "search_results.accounts": "Personen", - "search_results.all": "All", + "search_results.all": "Alle", "search_results.hashtags": "Hashtags", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Nichts für diese Suchbegriffe gefunden", "search_results.statuses": "Beiträge", "search_results.statuses_fts_disabled": "Die Suche für Beiträge nach ihrem Inhalt ist auf diesem Mastodon-Server deaktiviert.", "search_results.total": "{count, number} {count, plural, one {Ergebnis} other {Ergebnisse}}", diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index c3dc136ae..96fe6c609 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -187,11 +187,11 @@ "errors.unexpected_crash.copy_stacktrace": "Αντιγραφή μηνυμάτων κώδικα στο πρόχειρο", "errors.unexpected_crash.report_issue": "Αναφορά προβλήματος", "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.suggested_follows": "Για σένα", + "explore.title": "Εξερεύνηση", + "explore.trending_links": "Νέα", + "explore.trending_statuses": "Αναρτήσεις", + "explore.trending_tags": "Ετικέτες", "follow_recommendations.done": "Ολοκληρώθηκε", "follow_recommendations.heading": "Ακολουθήστε άτομα από τα οποία θα θέλατε να βλέπετε δημοσιεύσεις! Ορίστε μερικές προτάσεις.", "follow_recommendations.lead": "Οι αναρτήσεις των ατόμων που ακολουθείτε θα εμφανίζονται με χρονολογική σειρά στη ροή σας. Μη φοβάστε να κάνετε λάθη, καθώς μπορείτε πολύ εύκολα να σταματήσετε να ακολουθείτε άλλα άτομα οποιαδήποτε στιγμή!", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "Προτιμήσεις", "navigation_bar.public_timeline": "Ομοσπονδιακή ροή", "navigation_bar.security": "Ασφάλεια", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} έχει εγγραφεί", "notification.favourite": "Ο/Η {name} σημείωσε ως αγαπημένη την κατάστασή σου", "notification.follow": "Ο/Η {name} σε ακολούθησε", "notification.follow_request": "Ο/H {name} ζήτησε να σε παρακολουθεί", @@ -319,7 +319,7 @@ "notification.update": "{name} επεξεργάστηκε μια δημοσίευση", "notifications.clear": "Καθαρισμός ειδοποιήσεων", "notifications.clear_confirmation": "Σίγουρα θέλεις να καθαρίσεις όλες τις ειδοποιήσεις σου;", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Νέες εγγραφές:", "notifications.column_settings.alert": "Ειδοποιήσεις επιφάνειας εργασίας", "notifications.column_settings.favourite": "Αγαπημένα:", "notifications.column_settings.filter_bar.advanced": "Εμφάνιση όλων των κατηγοριών", @@ -387,24 +387,24 @@ "relative_time.seconds": "{number}δ", "relative_time.today": "σήμερα", "reply_indicator.cancel": "Άκυρο", - "report.block": "Block", + "report.block": "Αποκλεισμός", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Άλλες", "report.categories.spam": "Ανεπιθύμητα", "report.categories.violation": "Το περιεχόμενο παραβιάζει έναν ή περισσότερους κανόνες διακομιστή", "report.category.subtitle": "Choose the best match", "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.title_account": "προφίλ", + "report.category.title_status": "ανάρτηση", + "report.close": "Τέλος", + "report.comment.title": "Υπάρχει κάτι άλλο που νομίζετε ότι θα πρέπει να γνωρίζουμε;", "report.forward": "Προώθηση προς {target}", "report.forward_hint": "Ο λογαριασμός είναι από διαφορετικό διακομιστή. Να σταλεί ανώνυμο αντίγραφο της καταγγελίας κι εκεί;", - "report.mute": "Mute", + "report.mute": "Σίγαση", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.next": "Επόμενη", "report.placeholder": "Επιπλέον σχόλια", - "report.reasons.dislike": "I don't like it", + "report.reasons.dislike": "Δεν μου αρέσει", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", "report.reasons.other_description": "The issue does not fit into other categories", @@ -432,7 +432,7 @@ "search_popout.tips.text": "Απλό κείμενο που επιστρέφει ονόματα και ετικέτες που ταιριάζουν", "search_popout.tips.user": "χρήστης", "search_results.accounts": "Άνθρωποι", - "search_results.all": "All", + "search_results.all": "Όλα", "search_results.hashtags": "Ετικέτες", "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Τουτ", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index 569496c01..cfda3360f 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -34,7 +34,7 @@ "account.muted": "Silenciado", "account.never_active": "Nunca", "account.posts": "Mensajes", - "account.posts_with_replies": "Mensajes y respuestas", + "account.posts_with_replies": "Mensajes y respuestas públicas", "account.report": "Denunciar a @{name}", "account.requested": "Esperando aprobación. Hacé clic para cancelar la solicitud de seguimiento", "account.share": "Compartir el perfil de @{name}", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index 517e72147..e243bb8d8 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -316,7 +316,7 @@ "notification.poll": "Una encuesta en la que has votado ha terminado", "notification.reblog": "{name} ha retooteado tu estado", "notification.status": "{name} acaba de publicar", - "notification.update": "{name} edited a post", + "notification.update": "{name} editó una publicación", "notifications.clear": "Limpiar notificaciones", "notifications.clear_confirmation": "¿Seguro que quieres limpiar permanentemente todas tus notificaciones?", "notifications.column_settings.admin.sign_up": "New sign-ups:", @@ -336,7 +336,7 @@ "notifications.column_settings.status": "Nuevos toots:", "notifications.column_settings.unread_notifications.category": "Notificaciones sin leer", "notifications.column_settings.unread_notifications.highlight": "Destacar notificaciones no leídas", - "notifications.column_settings.update": "Edits:", + "notifications.column_settings.update": "Ediciones:", "notifications.filter.all": "Todos", "notifications.filter.boosts": "Retoots", "notifications.filter.favourites": "Favoritos", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index 37cce12ff..5725a0637 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -167,13 +167,13 @@ "empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!", "empty_column.direct": "Aún no tienes ningún mensaje directo. Cuando envíes o recibas uno, se mostrará aquí.", "empty_column.domain_blocks": "Todavía no hay dominios ocultos.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Nada está en tendencia en este momento. ¡Revisa más tarde!", "empty_column.favourited_statuses": "Aún no tienes publicaciones favoritas. Cuando marques una como favorita, aparecerá aquí.", "empty_column.favourites": "Nadie ha marcado esta publicación como favorita. Cuando alguien lo haga, aparecerá aquí.", "empty_column.follow_recommendations": "Parece que no se ha podido generar ninguna sugerencia para ti. Puedes probar a buscar a gente que quizá conozcas o explorar los hashtags que están en tendencia.", "empty_column.follow_requests": "No tienes ninguna petición de seguidor. Cuando recibas una, se mostrará aquí.", "empty_column.hashtag": "No hay nada en este hashtag aún.", - "empty_column.home": "¡Tu línea temporal está vacía! Sigue a más personas para rellenarla. {suggestions}", + "empty_column.home": "¡Tu línea de tiempo está vacía! Sigue a más personas para rellenarla. {suggestions}", "empty_column.home.suggestions": "Ver algunas sugerencias", "empty_column.list": "No hay nada en esta lista aún. Cuando miembros de esta lista publiquen nuevos estatus, estos aparecerán qui.", "empty_column.lists": "No tienes ninguna lista. cuando crees una, se mostrará aquí.", @@ -186,12 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Intenta deshabilitarlos y recarga la página. Si eso no ayuda, podrías usar Mastodon a través de un navegador web diferente o aplicación nativa.", "errors.unexpected_crash.copy_stacktrace": "Copiar el seguimiento de pila en el portapapeles", "errors.unexpected_crash.report_issue": "Informar de un problema/error", - "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": "Resultados de búsqueda", + "explore.suggested_follows": "Para ti", + "explore.title": "Explorar", + "explore.trending_links": "Noticias", + "explore.trending_statuses": "Publicaciones", + "explore.trending_tags": "Etiquetas", "follow_recommendations.done": "Hecho", "follow_recommendations.heading": "¡Sigue a gente que publique cosas que te gusten! Aquí tienes algunas sugerencias.", "follow_recommendations.lead": "Las publicaciones de la gente a la que sigas aparecerán ordenadas cronológicamente en Inicio. No tengas miedo de cometer errores, ¡puedes dejarles de seguir en cualquier momento con la misma facilidad!", @@ -235,12 +235,12 @@ "keyboard_shortcuts.enter": "abrir estado", "keyboard_shortcuts.favourite": "añadir a favoritos", "keyboard_shortcuts.favourites": "abrir la lista de favoritos", - "keyboard_shortcuts.federated": "abrir el timeline federado", + "keyboard_shortcuts.federated": "Abrir la línea de tiempo federada", "keyboard_shortcuts.heading": "Keyboard Shortcuts", - "keyboard_shortcuts.home": "abrir el timeline propio", + "keyboard_shortcuts.home": "Abrir línea de tiempo", "keyboard_shortcuts.hotkey": "Tecla caliente", "keyboard_shortcuts.legend": "para mostrar esta leyenda", - "keyboard_shortcuts.local": "abrir el timeline local", + "keyboard_shortcuts.local": "Abrir línea de tiempo local", "keyboard_shortcuts.mention": "para mencionar al autor", "keyboard_shortcuts.muted": "abrir la lista de usuarios silenciados", "keyboard_shortcuts.my_profile": "abrir tu perfil", @@ -287,7 +287,7 @@ "navigation_bar.apps": "Aplicaciones móviles", "navigation_bar.blocks": "Usuarios bloqueados", "navigation_bar.bookmarks": "Marcadores", - "navigation_bar.community_timeline": "Historia local", + "navigation_bar.community_timeline": "Línea de tiempo local", "navigation_bar.compose": "Escribir nueva publicación", "navigation_bar.direct": "Mensajes directos", "navigation_bar.discover": "Descubrir", @@ -305,9 +305,9 @@ "navigation_bar.personal": "Personal", "navigation_bar.pins": "Publicaciones fijadas", "navigation_bar.preferences": "Preferencias", - "navigation_bar.public_timeline": "Historia federada", + "navigation_bar.public_timeline": "Línea de tiempo federada", "navigation_bar.security": "Seguridad", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} se registró", "notification.favourite": "{name} marcó tu estado como favorito", "notification.follow": "{name} te empezó a seguir", "notification.follow_request": "{name} ha solicitado seguirte", @@ -319,7 +319,7 @@ "notification.update": "{name} editó una publicación", "notifications.clear": "Limpiar notificaciones", "notifications.clear_confirmation": "¿Seguro que quieres limpiar permanentemente todas tus notificaciones?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Nuevas inscripciones:", "notifications.column_settings.alert": "Notificaciones de escritorio", "notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías", @@ -387,43 +387,43 @@ "relative_time.seconds": "{number} s", "relative_time.today": "hoy", "reply_indicator.cancel": "Cancelar", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "Bloquear", + "report.block_explanation": "No verás sus publicaciones. No podrán ver tus publicaciones ni seguirte. Podrán decir que están bloqueados.", "report.categories.other": "Otros", "report.categories.spam": "Spam", "report.categories.violation": "El contenido viola una o más reglas del servidor", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.subtitle": "Elige la mejor coincidencia", + "report.category.title": "Cuéntanos lo que está pasando con este {type}", + "report.category.title_account": "perfil", + "report.category.title_status": "publicacion", + "report.close": "Hecho", + "report.comment.title": "¿Hay algo más que creas que deberíamos saber?", "report.forward": "Reenviar a {target}", "report.forward_hint": "Esta cuenta es de otro servidor. ¿Enviar una copia anonimizada del informe allí también?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Silenciar", + "report.mute_explanation": "No verás sus publicaciones. Todavía pueden seguirte y ver tus mensajes y no sabrán que están silenciados.", + "report.next": "Siguiente", "report.placeholder": "Comentarios adicionales", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "No me gusta", + "report.reasons.dislike_description": "No es algo que quieras ver", + "report.reasons.other": "Es otra cosa", + "report.reasons.other_description": "El problema no encaja en otras categorías", + "report.reasons.spam": "Es spam", + "report.reasons.spam_description": "Enlaces maliciosos, compromisos falsos o respuestas repetitivas", + "report.reasons.violation": "Viola las reglas del servidor", + "report.reasons.violation_description": "Usted es consciente de que infringe las normas específicas", + "report.rules.subtitle": "Selecciona todos los que aplica", + "report.rules.title": "¿Qué normas se están violando?", + "report.statuses.subtitle": "Selecciona todos los que aplican", + "report.statuses.title": "¿Hay alguna publicación que respalde este informe?", "report.submit": "Publicar", "report.target": "Reportando", - "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": "Aquí están tus opciones para controlar lo que ves en Mastodon:", + "report.thanks.take_action_actionable": "Mientras revisamos esto, puedes tomar medidas contra @{name}:", + "report.thanks.title": "¿No quieres esto?", + "report.thanks.title_actionable": "Gracias por reportar, estudiaremos esto.", + "report.unfollow": "Dejar de seguir a @{name}", + "report.unfollow_explanation": "Estás siguiendo esta cuenta. Para no ver sus publicaciones en tu muro de inicio, deja de seguirlas.", "search.placeholder": "Buscar", "search_popout.search_format": "Formato de búsqueda avanzada", "search_popout.tips.full_text": "Las búsquedas de texto recuperan publicaciones que has escrito, marcado como favoritas, retooteado o en los que has sido mencionado, así como usuarios, nombres y hashtags.", @@ -432,9 +432,9 @@ "search_popout.tips.text": "El texto simple devuelve correspondencias de nombre, usuario y hashtag", "search_popout.tips.user": "usuario", "search_results.accounts": "Gente", - "search_results.all": "All", + "search_results.all": "Todos", "search_results.hashtags": "Etiquetas", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "No se pudo encontrar nada para estos términos de búsqueda", "search_results.statuses": "Publicaciones", "search_results.statuses_fts_disabled": "Buscar publicaciones por su contenido no está disponible en este servidor de Mastodon.", "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}", @@ -487,7 +487,7 @@ "status.unpin": "Dejar de fijar", "suggestions.dismiss": "Descartar sugerencia", "suggestions.header": "Es posible que te interese…", - "tabs_bar.federated_timeline": "Federado", + "tabs_bar.federated_timeline": "Federada", "tabs_bar.home": "Inicio", "tabs_bar.local_timeline": "Local", "tabs_bar.notifications": "Notificaciones", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index c5952c41d..eaad6e358 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -167,7 +167,7 @@ "empty_column.community": "Paikallinen aikajana on tyhjä. Kirjoita jotain julkista, niin homma lähtee käyntiin!", "empty_column.direct": "Sinulla ei ole vielä yhtään viestiä yksittäiselle käyttäjälle. Kun lähetät tai vastaanotat sellaisen, se näkyy täällä.", "empty_column.domain_blocks": "Yhtään verkko-osoitetta ei ole vielä estetty.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Mikään ei ole nyt trendi. Tarkista myöhemmin!", "empty_column.favourited_statuses": "Et ole vielä lisännyt viestejä kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.", "empty_column.favourites": "Kukaan ei ole vielä lisännyt tätä viestiä suosikkeihinsa. Kun joku tekee niin, näkyy kyseinen henkilö tässä.", "empty_column.follow_recommendations": "Näyttää siltä, että sinulle ei voi luoda ehdotuksia. Voit yrittää etsiä ihmisiä, jotka saatat tuntea tai tutkia trendaavia aihesanoja.", @@ -186,12 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Yritä poistaa ne käytöstä ja päivittää sivu. Jos se ei auta, voit silti käyttää Mastodonia eri selaimen tai sovelluksen kautta.", "errors.unexpected_crash.copy_stacktrace": "Kopioi pinon jäljitys leikepöydälle", "errors.unexpected_crash.report_issue": "Ilmoita ongelmasta", - "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": "Hakutulokset", + "explore.suggested_follows": "Sinulle", + "explore.title": "Selaa", + "explore.trending_links": "Uutiset", + "explore.trending_statuses": "Viestit", + "explore.trending_tags": "Aihetunnisteet", "follow_recommendations.done": "Valmis", "follow_recommendations.heading": "Seuraa ihmisiä, joilta haluaisit nähdä julkaisuja! Tässä on muutamia ehdotuksia.", "follow_recommendations.lead": "Seuraamiesi julkaisut näkyvät aikajärjestyksessä kotisyötteessä. Älä pelkää seurata vahingossa, voit lopettaa seuraamisen yhtä helposti!", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "Asetukset", "navigation_bar.public_timeline": "Yleinen aikajana", "navigation_bar.security": "Turvallisuus", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} rekisteröitynyt", "notification.favourite": "{name} tykkäsi viestistäsi", "notification.follow": "{name} seurasi sinua", "notification.follow_request": "{name} haluaa seurata sinua", @@ -319,7 +319,7 @@ "notification.update": "{name} muokkasi viestiä", "notifications.clear": "Tyhjennä ilmoitukset", "notifications.clear_confirmation": "Haluatko varmasti poistaa kaikki ilmoitukset pysyvästi?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Uudet kirjautumiset:", "notifications.column_settings.alert": "Työpöytäilmoitukset", "notifications.column_settings.favourite": "Tykkäykset:", "notifications.column_settings.filter_bar.advanced": "Näytä kaikki kategoriat", @@ -387,43 +387,43 @@ "relative_time.seconds": "{number} sek", "relative_time.today": "tänään", "reply_indicator.cancel": "Peruuta", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "Estä", + "report.block_explanation": "Et näe heidän viestejään. He eivät voi nähdä viestejäsi tai seurata sinua. He voivat kertoa, että heidät on estetty.", "report.categories.other": "Muu", "report.categories.spam": "Roskaposti", "report.categories.violation": "Sisältö rikkoo yhden tai useamman palvelimen sääntöjä", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.subtitle": "Valitse paras osuma", + "report.category.title": "Kerro meille mitä tämän {type} kanssa tapahtuu", + "report.category.title_account": "profiili", + "report.category.title_status": "viesti", + "report.close": "Valmis", + "report.comment.title": "Pitäisikö meidän tietää jotain muuta?", "report.forward": "Välitä kohteeseen {target}", "report.forward_hint": "Tämä tili on toisella palvelimella. Haluatko lähettää nimettömän raportin myös sinne?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Mykistä", + "report.mute_explanation": "Et näe heidän viestejään. He voivat silti seurata sinua ja nähdä viestisi eivätkä tiedä, että heidät on mykistetty.", + "report.next": "Seuraava", "report.placeholder": "Lisäkommentit", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "En pidä siitä", + "report.reasons.dislike_description": "Et halua nähdä sitä", + "report.reasons.other": "Se on jotain muuta", + "report.reasons.other_description": "Ongelma ei sovi muihin kategorioihin", + "report.reasons.spam": "Se on roskapostia", + "report.reasons.spam_description": "Haitalliset linkit, väärennetyt sitoutumiset tai toistuvat vastaukset", + "report.reasons.violation": "Se rikkoo palvelimen sääntöjä", + "report.reasons.violation_description": "Tiedät, että se rikkoo tiettyjä sääntöjä", + "report.rules.subtitle": "Valitse kaikki jotka sopivat", + "report.rules.title": "Mitä sääntöjä rikotaan?", + "report.statuses.subtitle": "Valitse kaikki jotka sopivat", + "report.statuses.title": "Onko olemassa yhtään viestiä, jotka tukevat tätä raporttia?", "report.submit": "Lähetä", "report.target": "Raportoidaan {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": "Tässä on vaihtoehtosi hallita näkemääsi Mastodonissa:", + "report.thanks.take_action_actionable": "Kun tarkistamme tämän, voit ryhtyä toimiin @{name} vastaan:", + "report.thanks.title": "Etkö halua nähdä tätä?", + "report.thanks.title_actionable": "Kiitos raportista, tutkimme asiaa.", + "report.unfollow": "Lopeta seuraaminen @{name}", + "report.unfollow_explanation": "Seuraat tätä tiliä. Jotta et enää näkisi heidän kirjoituksiaan, lopeta niiden seuraaminen.", "search.placeholder": "Hae", "search_popout.search_format": "Tarkennettu haku", "search_popout.tips.full_text": "Tekstihaku listaa tilapäivitykset, jotka olet kirjoittanut, lisännyt suosikkeihisi, boostannut tai joissa sinut mainitaan, sekä tekstin sisältävät käyttäjänimet, nimimerkit ja hastagit.", @@ -432,9 +432,9 @@ "search_popout.tips.text": "Tekstihaku listaa hakua vastaavat nimimerkit, käyttäjänimet ja hastagit", "search_popout.tips.user": "käyttäjä", "search_results.accounts": "Ihmiset", - "search_results.all": "All", + "search_results.all": "Kaikki", "search_results.hashtags": "Aihetunnisteet", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Näille hakusanoille ei löytynyt mitään", "search_results.statuses": "Viestit", "search_results.statuses_fts_disabled": "Viestien haku sisällön perusteella ei ole käytössä tällä Mastodon-palvelimella.", "search_results.total": "{count, number} {count, plural, one {tulos} other {tulokset}}", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 786e0b535..f85662775 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -167,7 +167,7 @@ "empty_column.community": "Le fil public local est vide. Écrivez donc quelque chose pour le remplir !", "empty_column.direct": "Vous n’avez pas encore de messages directs. Lorsque vous en enverrez ou recevrez un, il s’affichera ici.", "empty_column.domain_blocks": "Il n’y a aucun domaine bloqué pour le moment.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Rien n'est en tendance pour le moment. Revenez plus tard !", "empty_column.favourited_statuses": "Vous n’avez pas encore de message en favori. Lorsque vous en ajouterez un, il apparaîtra ici.", "empty_column.favourites": "Personne n’a encore ajouté ce message à ses favoris. Lorsque quelqu’un le fera, il apparaîtra ici.", "empty_column.follow_recommendations": "Il semble qu’aucune suggestion n’ait pu être générée pour vous. Vous pouvez essayer d’utiliser la recherche pour découvrir des personnes que vous pourriez connaître ou explorer les hashtags tendance.", @@ -186,11 +186,11 @@ "error.unexpected_crash.next_steps_addons": "Essayez de les désactiver et de rafraîchir la page. Si cela ne vous aide pas, vous pouvez toujours utiliser Mastodon via un autre navigateur ou une application native.", "errors.unexpected_crash.copy_stacktrace": "Copier la trace d'appels dans le presse-papier", "errors.unexpected_crash.report_issue": "Signaler le problème", - "explore.search_results": "Search results", - "explore.suggested_follows": "For you", - "explore.title": "Explore", - "explore.trending_links": "News", - "explore.trending_statuses": "Posts", + "explore.search_results": "Résultats de la recherche", + "explore.suggested_follows": "Pour vous", + "explore.title": "Explorer", + "explore.trending_links": "Actualité", + "explore.trending_statuses": "Messages", "explore.trending_tags": "Hashtags", "follow_recommendations.done": "Terminé", "follow_recommendations.heading": "Suivez les personnes dont vous aimeriez voir les messages ! Voici quelques suggestions.", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "Préférences", "navigation_bar.public_timeline": "Fil public global", "navigation_bar.security": "Sécurité", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} s'est inscrit·e", "notification.favourite": "{name} a ajouté le message à ses favoris", "notification.follow": "{name} vous suit", "notification.follow_request": "{name} a demandé à vous suivre", @@ -319,7 +319,7 @@ "notification.update": "{name} a modifié un message", "notifications.clear": "Effacer les notifications", "notifications.clear_confirmation": "Voulez-vous vraiment effacer toutes vos notifications ?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Nouvelles inscriptions :", "notifications.column_settings.alert": "Notifications du navigateur", "notifications.column_settings.favourite": "Favoris :", "notifications.column_settings.filter_bar.advanced": "Afficher toutes les catégories", @@ -387,43 +387,43 @@ "relative_time.seconds": "{number} s", "relative_time.today": "aujourd’hui", "reply_indicator.cancel": "Annuler", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "Bloquer", + "report.block_explanation": "Vous ne verrez plus les messages de ce profil, et il ne pourra ni vous suivre ni voir vos messages. Il pourra savoir qu'il a été bloqué.", "report.categories.other": "Autre", "report.categories.spam": "Spam", "report.categories.violation": "Le contenu enfreint une ou plusieurs règles du serveur", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.subtitle": "Sélctionnez ce qui correspond le mieux", + "report.category.title": "Dites-nous ce qu'il se passe avec {type}", + "report.category.title_account": "ce profil", + "report.category.title_status": "ce message", + "report.close": "Terminé", + "report.comment.title": "Y a-t-il autre chose que nous devrions savoir ?", "report.forward": "Transférer à {target}", "report.forward_hint": "Le compte provient d’un autre serveur. Envoyer également une copie anonyme du rapport ?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Masquer", + "report.mute_explanation": "Vous ne verrez plus les messages de ce compte, mais il pourra toujours vous suivre et voir vos messages. Il ne pourra pas savoir qu'il a été masqué.", + "report.next": "Suivant", "report.placeholder": "Commentaires additionnels", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "Cela ne me plaît pas", + "report.reasons.dislike_description": "Ce n'est pas quelque chose que vous voulez voir", + "report.reasons.other": "Pour une autre raison", + "report.reasons.other_description": "Le problème ne correspond pas aux autres catégories", + "report.reasons.spam": "C'est du spam", + "report.reasons.spam_description": "Liens malveillants, engagement mensonger ou réponses répétitives", + "report.reasons.violation": "Infraction des règles du serveur", + "report.reasons.violation_description": "Vous savez que des règles précises sont enfreintes", + "report.rules.subtitle": "Sélectionnez toutes les réponses appropriées", + "report.rules.title": "Quelles règles sont enfreintes ?", + "report.statuses.subtitle": "Sélectionnez toutes les réponses appropriées", + "report.statuses.title": "Existe-t-il des messages pour étayer ce rapport ?", "report.submit": "Envoyer", "report.target": "Signalement de {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": "Voici les possibilités que vous avez pour contrôler ce que vous voyez sur Mastodon :", + "report.thanks.take_action_actionable": "Pendant que nous étudions votre requête, vous pouvez prendre des mesures contre @{name} :", + "report.thanks.title": "Vous ne voulez pas voir cela ?", + "report.thanks.title_actionable": "Merci pour votre signalement, nous allons investiguer.", + "report.unfollow": "Ne plus suivre @{name}", + "report.unfollow_explanation": "Vous suivez ce compte. Désabonnez-vous pour ne plus en voir les messages sur votre fil principal.", "search.placeholder": "Rechercher", "search_popout.search_format": "Recherche avancée", "search_popout.tips.full_text": "Un texte normal retourne les messages que vous avez écrits, ajoutés à vos favoris, partagés, ou vous mentionnant, ainsi que les identifiants, les noms affichés, et les hashtags des personnes et messages correspondants.", @@ -432,9 +432,9 @@ "search_popout.tips.text": "Un texte simple renvoie les noms affichés, les identifiants et les hashtags correspondants", "search_popout.tips.user": "utilisateur·ice", "search_results.accounts": "Comptes", - "search_results.all": "All", + "search_results.all": "Tous les résultats", "search_results.hashtags": "Hashtags", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Aucun résultat avec ces mots-clefs", "search_results.statuses": "Messages", "search_results.statuses_fts_disabled": "La recherche de messages par leur contenu n'est pas activée sur ce serveur Mastodon.", "search_results.total": "{count, number} {count, plural, one {résultat} other {résultats}}", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index ba3adfcea..35ab5e83e 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -47,8 +47,8 @@ "account.unmute": "Dì-mhùch @{name}", "account.unmute_notifications": "Dì-mhùch na brathan o @{name}", "account_note.placeholder": "Briog airson nòta a chur ris", - "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.daily_retention": "Reat glèidheadh nan cleachdaichean às dèidh an clàradh a-rèir latha", + "admin.dashboard.monthly_retention": "Reat glèidheadh nan cleachdaichean às dèidh an clàradh a-rèir mìos", "admin.dashboard.retention.average": "Cuibheasach", "admin.dashboard.retention.cohort": "Mìos a’ chlàraidh", "admin.dashboard.retention.cohort_size": "Cleachdaichean ùra", @@ -105,7 +105,7 @@ "compose_form.poll.switch_to_single": "Atharraich an cunntas-bheachd gus nach gabh ach aon roghainn a thaghadh", "compose_form.publish": "Postaich", "compose_form.publish_loud": "{publish}!", - "compose_form.save_changes": "Save changes", + "compose_form.save_changes": "Sàbhail na h-atharraichean", "compose_form.sensitive.hide": "{count, plural, one {Cuir comharra gu bheil am meadhan frionasach} two {Cuir comharra gu bheil na meadhanan frionasach} few {Cuir comharra gu bheil na meadhanan frionasach} other {Cuir comharra gu bheil na meadhanan frionasach}}", "compose_form.sensitive.marked": "{count, plural, one {Tha comharra ris a’ mheadhan gu bheil e frionasach} two {Tha comharra ris na meadhanan gu bheil iad frionasach} few {Tha comharra ris na meadhanan gu bheil iad frionasach} other {Tha comharra ris na meadhanan gu bheil iad frionasach}}", "compose_form.sensitive.unmarked": "{count, plural, one {Chan eil comharra ris a’ mheadhan gun robh e frionasach} two {Chan eil comharra ris na meadhanan gun robh iad frionasach} few {Chan eil comharra ris na meadhanan gun robh iad frionasach} other {Chan eil comharra ris na meadhanan gun robh iad frionasach}}", @@ -167,7 +167,7 @@ "empty_column.community": "Tha an loidhne-ama ionadail falamh. Sgrìobh rudeigin gu poblach airson toiseach-tòiseachaidh a dhèanamh!", "empty_column.direct": "Chan eil teachdaireachd dhìreach agad fhathast. Nuair a chuireas no a gheibh thu tè, nochdaidh i an-seo.", "empty_column.domain_blocks": "Cha deach àrainn sam bith a bhacadh fhathast.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Chan eil dad a’ treandadh an-dràsta fhèin. Thoir sùil a-rithist an ceann greis!", "empty_column.favourited_statuses": "Chan eil annsachd air post agad fhathast. Nuair a nì thu annsachd de dh’fhear, nochdaidh e an-seo.", "empty_column.favourites": "Chan eil am post seo ’na annsachd aig duine sam bith fhathast. Nuair a nì daoine annsachd dheth, nochdaidh iad an-seo.", "empty_column.follow_recommendations": "Chan urrainn dhuinn dad a mholadh dhut. Cleachd gleus an luirg feuch an lorg thu daoine air a bheil thu eòlach no rùraich na tagaichean-hais a tha a’ treandadh.", @@ -186,12 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Feuch an cuir thu à comas iad ’s gun ath-nuadhaich thu an duilleag seo. Mura cuidich sin, dh’fhaoidte gur urrainn dhut Mastodon a chleachdadh fhathast le brabhsair eile no le aplacaid thùsail.", "errors.unexpected_crash.copy_stacktrace": "Cuir lethbhreac dhen stacktrace air an stòr-bhòrd", "errors.unexpected_crash.report_issue": "Dèan aithris air an duilgheadas", - "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": "Toraidhean an luirg", + "explore.suggested_follows": "Dhut-sa", + "explore.title": "Rùraich", + "explore.trending_links": "Naidheachdan", + "explore.trending_statuses": "Postaichean", + "explore.trending_tags": "Tagaichean hais", "follow_recommendations.done": "Deiseil", "follow_recommendations.heading": "Lean air daoine ma tha thu airson nam postaichean aca fhaicinn! Seo moladh no dà dhut.", "follow_recommendations.lead": "Nochdaidh na postaichean aig na daoine air a leanas tu a-rèir an ama air inbhir na dachaighe agad. Bi dàna on as urrainn dhut sgur de leantainn air daoine cuideachd uair sam bith!", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "Roghainnean", "navigation_bar.public_timeline": "Loidhne-ama cho-naisgte", "navigation_bar.security": "Tèarainteachd", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "Chlàraich {name}", "notification.favourite": "Is annsa le {name} am post agad", "notification.follow": "Tha {name} a’ leantainn ort a-nis", "notification.follow_request": "Dh’iarr {name} leantainn ort", @@ -316,10 +316,10 @@ "notification.poll": "Thàinig cunntas-bheachd sa bhòt thu gu crìoch", "notification.reblog": "Bhrosnaich {name} am post agad", "notification.status": "Tha {name} air rud a phostadh", - "notification.update": "{name} edited a post", + "notification.update": "Dheasaich {name} post", "notifications.clear": "Falamhaich na brathan", "notifications.clear_confirmation": "A bheil thu cinnteach gu bheil thu airson na brathan uile agad fhalamhachadh gu buan?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Clàraidhean ùra:", "notifications.column_settings.alert": "Brathan deasga", "notifications.column_settings.favourite": "Na h-annsachdan:", "notifications.column_settings.filter_bar.advanced": "Seall a h-uile roinn-seòrsa", @@ -336,7 +336,7 @@ "notifications.column_settings.status": "Postaichean ùra:", "notifications.column_settings.unread_notifications.category": "Brathan nach deach a leughadh", "notifications.column_settings.unread_notifications.highlight": "Soillsich na brathan nach deach a leughadh", - "notifications.column_settings.update": "Edits:", + "notifications.column_settings.update": "Deasachaidhean:", "notifications.filter.all": "Na h-uile", "notifications.filter.boosts": "Brosnachaidhean", "notifications.filter.favourites": "Na h-annsachdan", @@ -376,54 +376,54 @@ "regeneration_indicator.label": "’Ga luchdadh…", "regeneration_indicator.sublabel": "Tha inbhir na dachaigh agad ’ga ullachadh!", "relative_time.days": "{number}l", - "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": "{count, plural, one {# latha} two {# latha} few {# làithean} other {# latha}} air ais", + "relative_time.full.hours": "{count, plural, one {# uair a thìde} two {# uair a thìde} few {# uairean a thìde} other {# uair a thìde}} air ais", + "relative_time.full.just_now": "an-dràsta fhèin", + "relative_time.full.minutes": "{count, plural, one {# mhionaid} two {# mhionaid} few {# mionaidean} other {# mionaid}} air ais", + "relative_time.full.seconds": "{count, plural, one {# diog} two {# dhiog} few {# diogan} other {# diog}} air ais", "relative_time.hours": "{number}u", "relative_time.just_now": "an-dràsta", "relative_time.minutes": "{number}m", "relative_time.seconds": "{number}d", "relative_time.today": "an-diugh", "reply_indicator.cancel": "Sguir dheth", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", - "report.categories.other": "Other", - "report.categories.spam": "Spam", - "report.categories.violation": "Content violates one or more server rules", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.block": "Bac", + "report.block_explanation": "Chan fhaic thu na postaichean aca. Chan fhaic iad na postaichean agad is chan urrainn dhaibh leantainn ort. Mothaichidh iad gun deach am bacadh.", + "report.categories.other": "Eile", + "report.categories.spam": "Spama", + "report.categories.violation": "Tha an t-susbaint a’ briseadh riaghailt no dhà an fhrithealaiche", + "report.category.subtitle": "Tagh an roghainn as iomchaidhe", + "report.category.title": "Innis dhuinn dè tha a’ dol leis a’ {type}", + "report.category.title_account": "phròifil", + "report.category.title_status": "phost", + "report.close": "Deiseil", + "report.comment.title": "A bheil rud sam bith eile a bu toigh leat innse dhuinn?", "report.forward": "Sìn air adhart gu {target}", "report.forward_hint": "Chaidh an cunntas a chlàradh air frithealaiche eile. A bheil thu airson lethbhreac dhen ghearan a chur dha-san gun ainm cuideachd?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Mùch", + "report.mute_explanation": "Chan fhaic thu na postaichean aca. Chì iad na postaichean agad agus ’s urrainn dhaibh leantainn ort fhathast. Cha bhi fios aca gun deach am mùchadh.", + "report.next": "Air adhart", "report.placeholder": "Beachdan a bharrachd", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "Cha toigh leam e", + "report.reasons.dislike_description": "Chan eil thu airson seo fhaicinn", + "report.reasons.other": "Adhbhar eile", + "report.reasons.other_description": "Chan eil na roinnean-seòrsa eile iomchaidh dhan chùis", + "report.reasons.spam": "’S e spama a th’ ann", + "report.reasons.spam_description": "Ceanglaichean droch-rùnach, conaltradh fuadain no an dearbh fhreagairt a-rithist ’s a-rithist", + "report.reasons.violation": "Tha e a’ briseadh riaghailtean an fhrithealaiche", + "report.reasons.violation_description": "Mhothaich thu gu bheil e a’ briseadh riaghailtean sònraichte", + "report.rules.subtitle": "Tagh a h-uile gin a tha iomchaidh", + "report.rules.title": "Dè na riaghailtean a tha ’gam briseadh?", + "report.statuses.subtitle": "Tagh a h-uile gin a tha iomchaidh", + "report.statuses.title": "A bheil postaichean sam bith ann a tha ’nam fianais dhan ghearan seo?", "report.submit": "Cuir a-null", "report.target": "A’ gearan mu {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": "Seo na roghainnean a th’ agad airson stiùireadh na chì thu air Mastodon:", + "report.thanks.take_action_actionable": "Fhad ’s a bhios sinn a’ toirt sùil air, seo nas urrainn dhut dèanamh an aghaidh @{name}:", + "report.thanks.title": "Nach eil thu airson seo fhaicinn?", + "report.thanks.title_actionable": "Mòran taing airson a’ ghearain, bheir sinn sùil air.", + "report.unfollow": "Na lean air @{name} tuilleadh", + "report.unfollow_explanation": "Tha thu a’ leantainn air a’ chunntas seo. Sgur de leantainn orra ach nach fhaic thu na puist aca air inbhir na dachaigh agad.", "search.placeholder": "Lorg", "search_popout.search_format": "Fòrmat adhartach an luirg", "search_popout.tips.full_text": "Bheir teacsa sìmplidh dhut na postaichean a sgrìobh thu, a tha nan annsachdan dhut, a bhrosnaich thu no san deach iomradh a thoirt ort cho math ri ainmean-cleachdaiche, ainmean taisbeanaidh agus tagaichean hais a mhaidsicheas.", @@ -432,9 +432,9 @@ "search_popout.tips.text": "Bheir teacsa sìmplidh dhut na h-ainmean-cleachdaiche, ainmean taisbeanaidh agus tagaichean hais a mhaidsicheas", "search_popout.tips.user": "cleachdaiche", "search_results.accounts": "Daoine", - "search_results.all": "All", + "search_results.all": "Na h-uile", "search_results.hashtags": "Tagaichean hais", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Cha do lorg sinn dad dha na h-abairtean-luirg seo", "search_results.statuses": "Postaichean", "search_results.statuses_fts_disabled": "Chan eil lorg phostaichean a-rèir an susbaint an comas air an fhrithealaiche Mastodon seo.", "search_results.total": "{count, number} {count, plural, one {toradh} two {thoradh} few {toraidhean} other {toradh}}", @@ -448,14 +448,14 @@ "status.delete": "Sguab às", "status.detailed_status": "Mion-shealladh a’ chòmhraidh", "status.direct": "Cuir teachdaireachd dhìreach gu @{name}", - "status.edit": "Edit", - "status.edited": "Edited {date}", - "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", + "status.edit": "Deasaich", + "status.edited": "Air a dheasachadh {date}", + "status.edited_x_times": "Chaidh a dheasachadh {count, plural, one {{counter} turas} two {{counter} thuras} few {{counter} tursan} other {{counter} turas}}", "status.embed": "Leabaich", "status.favourite": "Cuir ris na h-annsachdan", "status.filtered": "Criathraichte", - "status.history.created": "{name} created {date}", - "status.history.edited": "{name} edited {date}", + "status.history.created": "Chruthaich {name} {date} e", + "status.history.edited": "Dheasaich {name} {date} e", "status.load_more": "Luchdaich barrachd dheth", "status.media_hidden": "Meadhanan falaichte", "status.mention": "Thoir iomradh air @{name}", diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json index 69c0f5398..b5d731ac4 100644 --- a/app/javascript/mastodon/locales/hi.json +++ b/app/javascript/mastodon/locales/hi.json @@ -403,7 +403,7 @@ "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Next", - "report.placeholder": "Additional comments", + "report.placeholder": "Type or paste additional comments", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 3c20ec1be..107b47b73 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -167,7 +167,7 @@ "empty_column.community": "A helyi idővonal üres. Tégy közzé valamit nyilvánosan, hogy elindítsd az eseményeket!", "empty_column.direct": "Még nincs egy közvetlen üzeneted sem. Ha küldesz vagy kapsz egyet, itt fog megjelenni.", "empty_column.domain_blocks": "Még nem rejtettél el egyetlen domaint sem.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Jelenleg semmi sem felkapott. Nézz vissza később!", "empty_column.favourited_statuses": "Még nincs egyetlen kedvenc bejegyzésed sem. Ha kedvencnek jelölsz egyet, itt fog megjelenni.", "empty_column.favourites": "Még senki sem jelölte ezt a bejegyzést kedvencnek. Ha valaki mégis megteszi, itt fogjuk mutatni.", "empty_column.follow_recommendations": "Úgy tűnik, neked nem tudunk javaslatokat adni. Próbáld a keresést használni olyanok megtalálására, akiket ismerhetsz, vagy fedezd fel a felkapott hastageket.", @@ -186,12 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Próbáld letiltani őket és frissíteni az oldalt. Ha ez nem segít, egy másik böngészőn vagy appon keresztül még mindig használhatod a Mastodont.", "errors.unexpected_crash.copy_stacktrace": "Veremkiíratás vágólapra másolása", "errors.unexpected_crash.report_issue": "Probléma jelentése", - "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": "Keresési találatok", + "explore.suggested_follows": "Neked", + "explore.title": "Felfedezés", + "explore.trending_links": "Hírek", + "explore.trending_statuses": "Bejegyzések", + "explore.trending_tags": "Hashtagek", "follow_recommendations.done": "Kész", "follow_recommendations.heading": "Kövesd azokat, akiknek a bejegyzéseit látni szeretnéd! Itt van néhány javaslat.", "follow_recommendations.lead": "Az általad követettek bejegyzései a saját idővonaladon fognak megjelenni időrendi sorrendben. Ne félj attól, hogy hibázol! A követést bármikor, ugyanilyen könnyen visszavonhatod!", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "Beállítások", "navigation_bar.public_timeline": "Föderációs idővonal", "navigation_bar.security": "Biztonság", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} regisztrált", "notification.favourite": "{name} kedvencnek jelölte a bejegyzésedet", "notification.follow": "{name} követ téged", "notification.follow_request": "{name} követni szeretne téged", @@ -319,7 +319,7 @@ "notification.update": "{name} szerkesztett egy bejegyzést", "notifications.clear": "Értesítések törlése", "notifications.clear_confirmation": "Biztos, hogy véglegesen törölni akarod az összes értesítésed?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Új regisztrálók:", "notifications.column_settings.alert": "Asztali értesítések", "notifications.column_settings.favourite": "Kedvencek:", "notifications.column_settings.filter_bar.advanced": "Minden kategória mutatása", @@ -387,43 +387,43 @@ "relative_time.seconds": "{number}mp", "relative_time.today": "ma", "reply_indicator.cancel": "Mégsem", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "Letiltás", + "report.block_explanation": "Nem fogod látni a bejegyzéseit. Nem fogja tudni megnézni a bejegyzéseidet és nem követni sem fog tudni. Azt is meg fogja tudni mondani, hogy letiltottad.", "report.categories.other": "Egyéb", "report.categories.spam": "Kéretlen üzenet", "report.categories.violation": "A tartalom a kiszolgáló egy vagy több szabályát sérti", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.subtitle": "Válaszd ki a legjobb találatot", + "report.category.title": "Mondd el, hogy mi van ezzel a {type}", + "report.category.title_account": "profillal", + "report.category.title_status": "bejegyzéssel", + "report.close": "Kész", + "report.comment.title": "Van valami, amiről tudnunk kellene?", "report.forward": "Továbbítás: {target}", "report.forward_hint": "Ez a fiók egy másik kiszolgálóról van. Oda is elküldöd a jelentés egy anonimizált másolatát?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Némítás", + "report.mute_explanation": "Nem fogod látni a bejegyzéseit. Továbbra is fog tudni követni, és látni fogja a bejegyzéseidet, és nem fogja tudni, hogy némítottad.", + "report.next": "Következő", "report.placeholder": "További megjegyzések", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "Nem tetszik", + "report.reasons.dislike_description": "Ezt nem szeretném látni", + "report.reasons.other": "Valami más", + "report.reasons.other_description": "Az eset nem illik egyik kategóriába sem", + "report.reasons.spam": "Ez kéretlen tartalom", + "report.reasons.spam_description": "Rosszindulatú hivatkozások, hamis interakció vagy ismétlődő válaszok", + "report.reasons.violation": "Sérti a kiszolgáló szabályait", + "report.reasons.violation_description": "Tudod, hogy mely konkrét szabályokat sért meg", + "report.rules.subtitle": "Válaszd ki az összes megfelelőt", + "report.rules.title": "Mely szabályok lettek megsértve?", + "report.statuses.subtitle": "Válaszd ki az összes megfelelőt", + "report.statuses.title": "Vannak olyan bejegyzések, amelyek alátámasztják ezt a jelentést?", "report.submit": "Küldés", "report.target": "{target} jelentése", - "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": "Itt vannak a beállítások, melyek szabályozzák, hogy mit látsz a Mastodonon:", + "report.thanks.take_action_actionable": "Míg átnézzük, a következőket tehet @{name} ellen:", + "report.thanks.title": "Nem akarod ezt látni?", + "report.thanks.title_actionable": "Köszönjük, hogy jelentetted, megnézzük.", + "report.unfollow": "@{name} követésének leállítása", + "report.unfollow_explanation": "Követed ezt a fiókot. Hogy ne lásd a bejegyzéseit a saját idővonaladon, szüntesd meg a követését.", "search.placeholder": "Keresés", "search_popout.search_format": "Speciális keresés", "search_popout.tips.full_text": "Egyszerű szöveg, mely általad írt, kedvencnek jelölt vagy megtolt bejegyzéseket, rólad szóló megemlítéseket, felhasználói neveket, megjelenített neveket, hashtageket ad majd vissza.", @@ -432,9 +432,9 @@ "search_popout.tips.text": "Egyszerű szöveg. Illeszkedő megjelenített nevet, felhasználói nevet, hashtageket ad majd vissza", "search_popout.tips.user": "felhasználó", "search_results.accounts": "Emberek", - "search_results.all": "All", + "search_results.all": "Összes", "search_results.hashtags": "Hashtagek", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Nincs találat erre a keresési kifejezésekre", "search_results.statuses": "Bejegyzések", "search_results.statuses_fts_disabled": "Ezen a Mastodon szerveren nem engedélyezett a bejegyzések tartalom szerinti keresése.", "search_results.total": "{count, number} {count, plural, one {találat} other {találat}}", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index 7b112ad0f..34e539360 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -167,7 +167,7 @@ "empty_column.community": "Staðværa tímalínan er tóm. Skrifaðu eitthvað opinberlega til að láta boltann fara að rúlla!", "empty_column.direct": "Þú átt ennþá engin bein skilaboð. Þegar þú sendir eða tekur á móti slíkum skilaboðum, munu þau birtast hér.", "empty_column.domain_blocks": "Það eru ennþá engin útilokuð lén.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Ekkert er á uppleið í augnablikinu. Athugaðu aftur síðar!", "empty_column.favourited_statuses": "Þú ert ekki ennþá með neinar eftirlætisfærslur. Þegar þú setur færslu í eftirlæti, munu þau birtast hér.", "empty_column.favourites": "Enginn hefur ennþá sett þessa færslu í eftirlæti. Þegar einhver gerir það, mun það birtast hér.", "empty_column.follow_recommendations": "Það lítur út fyrir að ekki hafi verið hægt að útbúa neinar tillögur fyrir þig. Þú getur reynt að leita að fólki sem þú gætir þekkt eða skoðað myllumerki sem eru í umræðunni.", @@ -186,12 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Prófaðu að gera þau óvirk og svo endurlesa síðuna. Ef það hjálpar ekki til, má samt vera að þú getir notað Mastodon í gegnum annan vafra eða forrit.", "errors.unexpected_crash.copy_stacktrace": "Afrita rakningarupplýsingar (stacktrace) á klippispjald", "errors.unexpected_crash.report_issue": "Tilkynna vandamál", - "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": "Leitarniðurstöður", + "explore.suggested_follows": "Fyrir þig", + "explore.title": "Kanna", + "explore.trending_links": "Fréttir", + "explore.trending_statuses": "Færslur", + "explore.trending_tags": "Myllumerki", "follow_recommendations.done": "Lokið", "follow_recommendations.heading": "Fylgstu með fólki sem þú vilt sjá færslur frá! Hér eru nokkrar tillögur.", "follow_recommendations.lead": "Færslur frá fólki sem þú fylgist með eru birtar í tímaröð á heimastreyminu þínu. Þú þarft ekki að hræðast mistök, það er jafn auðvelt að hætta að fylgjast með fólki hvenær sem er!", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "Kjörstillingar", "navigation_bar.public_timeline": "Sameiginleg tímalína", "navigation_bar.security": "Öryggi", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} skráði sig", "notification.favourite": "{name} setti færslu þína í eftirlæti", "notification.follow": "{name} fylgist með þér", "notification.follow_request": "{name} hefur beðið um að fylgjast með þér", @@ -319,7 +319,7 @@ "notification.update": "{name} breytti færslu", "notifications.clear": "Hreinsa tilkynningar", "notifications.clear_confirmation": "Ertu viss um að þú viljir endanlega eyða öllum tilkynningunum þínum?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Nýjar skráningar:", "notifications.column_settings.alert": "Tilkynningar á skjáborði", "notifications.column_settings.favourite": "Eftirlæti:", "notifications.column_settings.filter_bar.advanced": "Birta alla flokka", @@ -387,43 +387,43 @@ "relative_time.seconds": "{number}sek", "relative_time.today": "í dag", "reply_indicator.cancel": "Hætta við", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "Útiloka", + "report.block_explanation": "Þú munt ekki sjá færslurnar þeirra. Þeir munu ekki geta séð færslurnar þínar eða fylgst með þér. Þeir munu ekki geta séð að lokað sé á þá.", "report.categories.other": "Annað", "report.categories.spam": "Ruslpóstur", "report.categories.violation": "Efnið brýtur gegn einni eða fleiri reglum netþjónsins", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.subtitle": "Veldu hvað samsvarar best", + "report.category.title": "Segðu okkur hvað er í gangi með þetta {type}-atriði", + "report.category.title_account": "notandasnið", + "report.category.title_status": "færsla", + "report.close": "Lokið", + "report.comment.title": "Er eitthvað annað sem þú heldur að við ættum að vita?", "report.forward": "Áframsenda til {target}", "report.forward_hint": "Notandaaðgangurinn er af öðrum vefþjóni. Á einnig að senda nafnlaust afrit af kærunni þangað?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Þagga niður", + "report.mute_explanation": "Þú munt ekki sjá færslurnar þeirra. Þeir munu samt geta séð færslurnar þínar eða fylgst með þér, en munu ekki geta séð að þaggað sé niður í þeim.", + "report.next": "Næsta", "report.placeholder": "Viðbótarathugasemdir", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "Mér líkar það ekki", + "report.reasons.dislike_description": "Þetta er ekki eitthvað sem þið viljið sjá", + "report.reasons.other": "Það er eitthvað annað", + "report.reasons.other_description": "Vandamálið fellur ekki í aðra flokka", + "report.reasons.spam": "Þetta er ruslpóstur", + "report.reasons.spam_description": "Slæmir tenglar, fölsk samskipti eða endurtekin svör", + "report.reasons.violation": "Það gengur þvert á reglur fyrir netþjóninn", + "report.reasons.violation_description": "Þið eruð meðvituð um að þetta brýtur sértækar reglur", + "report.rules.subtitle": "Veldu allt sem á við", + "report.rules.title": "Hvaða reglur eru brotnar?", + "report.statuses.subtitle": "Veldu allt sem á við", + "report.statuses.title": "Eru einhverjar færslur sem styðja þessa kæru?", "report.submit": "Senda inn", "report.target": "Kæri {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": "Hér eru nokkrir valkostir til að stýra hvað þú sérð á Mastodon:", + "report.thanks.take_action_actionable": "Á meðan við yfirförum þetta, geturðu tekið til aðgerða gegn @{name}:", + "report.thanks.title": "Viltu ekki sjá þetta?", + "report.thanks.title_actionable": "Takk fyrir tilkynninguna, við munum skoða málið.", + "report.unfollow": "Hætta að fylgjast með @{name}", + "report.unfollow_explanation": "Þú ert að fylgjast með þessum aðgangi. Til að hætta að sjá viðkomandi færslur á streyminu þínu, skaltu hætta að fylgjast með viðkomandi.", "search.placeholder": "Leita", "search_popout.search_format": "Snið ítarlegrar leitar", "search_popout.tips.full_text": "Einfaldur texti skilar færslum sem þú hefur skrifað, sett í eftirlæti, endurbirt eða verið minnst á þig í, ásamt samsvarandi birtingarnöfnum, notendanöfnum og myllumerkjum.", @@ -432,9 +432,9 @@ "search_popout.tips.text": "Einfaldur texti skilar samsvarandi birtingarnöfnum, notendanöfnum og myllumerkjum", "search_popout.tips.user": "notandi", "search_results.accounts": "Fólk", - "search_results.all": "All", + "search_results.all": "Allt", "search_results.hashtags": "Myllumerki", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Gat ekki fundið neitt sem samsvarar þessum leitarorðum", "search_results.statuses": "Færslur", "search_results.statuses_fts_disabled": "Að leita í efni færslna er ekki virkt á þessum Mastodon-þjóni.", "search_results.total": "{count, number} {count, plural, one {niðurstaða} other {niðurstöður}}", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index e96e43308..5530c5abf 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -167,7 +167,7 @@ "empty_column.community": "La timeline locale è vuota. Condividi qualcosa pubblicamente per dare inizio alla festa!", "empty_column.direct": "Non hai ancora nessun messaggio privato. Quando ne manderai o riceverai qualcuno, apparirà qui.", "empty_column.domain_blocks": "Non vi sono domini nascosti.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Nulla è in tendenza in questo momento. Riprova più tardi!", "empty_column.favourited_statuses": "Non hai ancora segnato nessun post come apprezzato. Quando lo farai, comparirà qui.", "empty_column.favourites": "Nessuno ha ancora segnato questo post come apprezzato. Quando qualcuno lo farà, apparirà qui.", "empty_column.follow_recommendations": "Sembra che nessun suggerimento possa essere generato per te. Puoi provare a usare la ricerca per cercare persone che potresti conoscere o esplorare hashtag di tendenza.", @@ -186,12 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Prova a disabilitarli e ad aggiornare la pagina. Se questo non funziona, potresti ancora essere in grado di utilizzare Mastodon attraverso un browser o un'app diversi.", "errors.unexpected_crash.copy_stacktrace": "Copia stacktrace negli appunti", "errors.unexpected_crash.report_issue": "Segnala il problema", - "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": "Risultati della ricerca", + "explore.suggested_follows": "Per te", + "explore.title": "Esplora", + "explore.trending_links": "Novità", + "explore.trending_statuses": "Post", + "explore.trending_tags": "Hashtag", "follow_recommendations.done": "Fatto", "follow_recommendations.heading": "Segui le persone da cui vuoi vedere i messaggi! Ecco alcuni suggerimenti.", "follow_recommendations.lead": "I messaggi da persone che segui verranno visualizzati in ordine cronologico nel tuo home feed. Non abbiate paura di commettere errori, potete smettere di seguire le persone altrettanto facilmente in qualsiasi momento!", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "Impostazioni", "navigation_bar.public_timeline": "Timeline federata", "navigation_bar.security": "Sicurezza", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} si è iscritto", "notification.favourite": "{name} ha apprezzato il tuo post", "notification.follow": "{name} ha iniziato a seguirti", "notification.follow_request": "{name} ti ha mandato una richiesta di follow", @@ -319,7 +319,7 @@ "notification.update": "{name} ha modificato un post", "notifications.clear": "Cancella notifiche", "notifications.clear_confirmation": "Vuoi davvero cancellare tutte le notifiche?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Nuove iscrizioni:", "notifications.column_settings.alert": "Notifiche desktop", "notifications.column_settings.favourite": "Apprezzati:", "notifications.column_settings.filter_bar.advanced": "Mostra tutte le categorie", @@ -387,43 +387,43 @@ "relative_time.seconds": "{number} secondi", "relative_time.today": "oggi", "reply_indicator.cancel": "Annulla", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "Blocca", + "report.block_explanation": "Non vedrai i loro post. Non saranno in grado di vedere i tuoi post o di seguirti. Potranno sapere che sono bloccati.", "report.categories.other": "Altro", "report.categories.spam": "Spam", "report.categories.violation": "Il contenuto viola una o più regole del server", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", + "report.category.subtitle": "Scegli la migliore corrispondenza", + "report.category.title": "Dicci cosa sta succedendo con questo {type}", + "report.category.title_account": "profilo", "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.close": "Fatto", + "report.comment.title": "C'è altro che pensi che dovremmo sapere?", "report.forward": "Inoltra a {target}", "report.forward_hint": "Questo account appartiene a un altro server. Mandare anche là una copia anonima del rapporto?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Silenzia", + "report.mute_explanation": "Non vedrai i loro post. Potranno ancora seguirti e vedere i tuoi post e non sapranno che sono stati silenziati.", + "report.next": "Successivo", "report.placeholder": "Commenti aggiuntivi", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "Non mi piace", + "report.reasons.dislike_description": "Non è qualcosa che vuoi vedere", + "report.reasons.other": "È qualcos'altro", + "report.reasons.other_description": "Il problema non rientra in altre categorie", + "report.reasons.spam": "È spam", + "report.reasons.spam_description": "Collegamenti malevoli, false interazioni, o risposte ripetitive", + "report.reasons.violation": "Viola le regole del server", + "report.reasons.violation_description": "Siete consapevoli che viola regole specifiche", + "report.rules.subtitle": "Seleziona tutte le risposte pertinenti", + "report.rules.title": "Quali regole vengono violate?", + "report.statuses.subtitle": "Seleziona tutte le risposte pertinenti", + "report.statuses.title": "Ci sono post a sostegno di questa segnalazione?", "report.submit": "Invia", "report.target": "Invio la segnalazione {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": "Ecco le tue opzioni per controllare quello che vedi su Mastodon:", + "report.thanks.take_action_actionable": "Mentre controlliamo, puoi fare questo contro @{name}:", + "report.thanks.title": "Non vuoi vedere questo?", + "report.thanks.title_actionable": "Grazie per la segnalazione, controlleremo il problema.", + "report.unfollow": "Non seguire più @{name}", + "report.unfollow_explanation": "Stai seguendo questo account. Per non vedere più i suoi post nel tuo feed home, smetti di seguirlo.", "search.placeholder": "Cerca", "search_popout.search_format": "Formato di ricerca avanzato", "search_popout.tips.full_text": "Testo semplice per trovare gli status che hai scritto, segnato come apprezzati, condiviso o in cui sei stato citato, e inoltre i nomi utente, nomi visualizzati e hashtag che lo contengono.", @@ -432,9 +432,9 @@ "search_popout.tips.text": "Testo semplice per trovare nomi visualizzati, nomi utente e hashtag che lo contengono", "search_popout.tips.user": "utente", "search_results.accounts": "Gente", - "search_results.all": "All", + "search_results.all": "Tutto", "search_results.hashtags": "Hashtag", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Impossibile trovare qualcosa per questi termini di ricerca", "search_results.statuses": "Post", "search_results.statuses_fts_disabled": "La ricerca di post per il loro contenuto non è abilitata su questo server Mastodon.", "search_results.total": "{count} {count, plural, one {risultato} other {risultati}}", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index c1418459e..c0a57a309 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -336,7 +336,7 @@ "notifications.column_settings.status": "新しい投稿:", "notifications.column_settings.unread_notifications.category": "未読の通知:", "notifications.column_settings.unread_notifications.highlight": "未読の通知を強調表示", - "notifications.column_settings.update": "Edits:", + "notifications.column_settings.update": "編集:", "notifications.filter.all": "すべて", "notifications.filter.boosts": "ブースト", "notifications.filter.favourites": "お気に入り", diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json index 9d5536c6c..0f0880100 100644 --- a/app/javascript/mastodon/locales/kab.json +++ b/app/javascript/mastodon/locales/kab.json @@ -389,7 +389,7 @@ "reply_indicator.cancel": "Sefsex", "report.block": "Block", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", - "report.categories.other": "Other", + "report.categories.other": "Tiyyaḍ", "report.categories.spam": "Aspam", "report.categories.violation": "Content violates one or more server rules", "report.category.subtitle": "Choose the best match", diff --git a/app/javascript/mastodon/locales/kmr.json b/app/javascript/mastodon/locales/kmr.json index bb8650f03..84c8978a4 100644 --- a/app/javascript/mastodon/locales/kmr.json +++ b/app/javascript/mastodon/locales/kmr.json @@ -167,7 +167,7 @@ "empty_column.community": "Demnameya herêmî vala ye. Tiştek ji raya giştî re binivsînin da ku rûpel biherike!", "empty_column.direct": "Hêj peyameke te yê rasterast tuneye. Gava ku tu yekî bişeynî an jî bigirî, ew ê li vir xûya bike.", "empty_column.domain_blocks": "Hê jî navperên hatine asteng kirin tune ne.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Tiştek niha di rojevê de tune. Paşê vegere!", "empty_column.favourited_statuses": "Hîn tu peyamên te yên bijare tunene. Gava ku te yekî bijart, ew ê li vir xûya bike.", "empty_column.favourites": "Hîn tu kes vê peyamê nebijartiye. Gava ku hin kes bijartin, ew ê li vir xûya bikin.", "empty_column.follow_recommendations": "Wusa dixuye ku ji bo we tu pêşniyar nehatine çêkirin. Hûn dikarin lêgerînê bikarbînin da ku li kesên ku hûn nas dikin bigerin an hashtagên trendî bigerin.", @@ -186,12 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Ne çalak kirin û nûkirina rûpelê biceribîne. Heke ev bi kêr neyê, dibe ku te hîn jî bi rêya gerokeke cuda an jî sepana xwecîhê Mastodonê bi kar bîne.", "errors.unexpected_crash.copy_stacktrace": "Şopa gemara (stacktrace) tûrikê ra jê bigire", "errors.unexpected_crash.report_issue": "Pirsgirêkekê ragihîne", - "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": "Encamên lêgerînê", + "explore.suggested_follows": "Ji bo te", + "explore.title": "Vekole", + "explore.trending_links": "Nûçe", + "explore.trending_statuses": "Şandî", + "explore.trending_tags": "Hashtag", "follow_recommendations.done": "Qediya", "follow_recommendations.heading": "Mirovên ku tu dixwazî ji wan peyaman bibînî bişopîne! Hin pêşnîyar li vir in.", "follow_recommendations.lead": "Li gorî rêza kronolojîkî peyamên mirovên ku tu dişopînî dê demnameya te de xûya bike. Ji xeletiyan netirse, bi awayekî hêsan her wextî tu dikarî dev ji şopandinê berdî!", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "Sazkarî", "navigation_bar.public_timeline": "Demnameyê federalîkirî", "navigation_bar.security": "Ewlehî", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} tomar bû", "notification.favourite": "{name} şandiya te hez kir", "notification.follow": "{name} te şopand", "notification.follow_request": "{name} dixwazê te bişopîne", @@ -319,7 +319,7 @@ "notification.update": "{name} şandiyek serrast kir", "notifications.clear": "Agahdariyan pak bike", "notifications.clear_confirmation": "Bi rastî tu dixwazî bi awayekî dawî hemû agahdariyên xwe pak bikî?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Tomarkirinên nû:", "notifications.column_settings.alert": "Agahdariyên sermaseyê", "notifications.column_settings.favourite": "Bijarte:", "notifications.column_settings.filter_bar.advanced": "Hemû beşan nîşan bide", @@ -387,43 +387,43 @@ "relative_time.seconds": "{number}ç", "relative_time.today": "îro", "reply_indicator.cancel": "Dev jê berde", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "Asteng bike", + "report.block_explanation": "Tu yê şandiyên wan nebînî. Ew ê nikaribin şandiyên te bibînin an jî te bişopînin. Ew ê bizanibin ku ew hatine astengkirin.", "report.categories.other": "Yên din", "report.categories.spam": "Nexwestî (Spam)", "report.categories.violation": "Naverok yek an çend rêbazên rajekar binpê dike", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.subtitle": "Baştirîn lihevhatin hilbijêre", + "report.category.title": "Ji me re bêje ka çi diqewime bi vê {type} re", + "report.category.title_account": "profîl", + "report.category.title_status": "şandî", + "report.close": "Qediya", + "report.comment.title": "Tiştek din heye ku tu difikirî ku divê em zanibin?", "report.forward": "Biçe bo {target}", "report.forward_hint": "Ajimêr ji rajekarek din da ne. Tu kopîyeka anonîm ya raporê bişînî li wur?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Bêdeng bike", + "report.mute_explanation": "Tê yê şandiyên wan nebînî. Ew hin jî dikarin te bişopînin û şandiyên te bibînin û wê nizanibin ku ew hatine bêdengkirin.", + "report.next": "Pêş", "report.placeholder": "Şiroveyên zêde", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "Ez jê hez nakim", + "report.reasons.dislike_description": "Ew ne tiştek e ku tu dixwazî bibînî", + "report.reasons.other": "Tiştekî din e", + "report.reasons.other_description": "Pirsgirêk di kategoriyên din de cih nagire", + "report.reasons.spam": "Ew spam e", + "report.reasons.spam_description": "Girêdanên xerab, tevlêbûna sexte, an jî bersivên dubarekirî", + "report.reasons.violation": "Ew rêzikên rajekar binpê dike", + "report.reasons.violation_description": "Tu dizanî ku ew rêzikên taybetiyê binpê dike", + "report.rules.subtitle": "Hemûyên ku têne sepandin hibijêre", + "report.rules.title": "Kîjan rêzik têne binpêkirin?", + "report.statuses.subtitle": "Hemûyên ku têne sepandin hibijêre", + "report.statuses.title": "Tu şandiyên ku vê ragihandinê piştgirî dikin hene?", "report.submit": "Bişîne", "report.target": "Ragihandin {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": "Li vir vebijêrkên te hene ji bo kontrolkirina tiştê ku tu li se Mastodon dibînî:", + "report.thanks.take_action_actionable": "Dema ku em vê yekê dinirxînin, tu dikarî li dijî @{name} tedbîran bigirî:", + "report.thanks.title": "Tu naxwazî vê bibînî?", + "report.thanks.title_actionable": "Spas ji bo ragihandina te, em ê binirxînin.", + "report.unfollow": "@{name} neşopîne", + "report.unfollow_explanation": "Tê vê ajimêrê dişopînî. Ji bo ku êdî şandiyên wan di rojeva xwe de nebînî, wan neşopîne.", "search.placeholder": "Bigere", "search_popout.search_format": "Dirûva lêgerîna pêşketî", "search_popout.tips.full_text": "Nivîsên hêsan, şandiyên ku te nivîsandiye, bijare kiriye, bilind kiriye an jî yên behsa te kirine û her wiha navê bikarhêneran, navên xûya dike û hashtagan vedigerîne.", @@ -432,9 +432,9 @@ "search_popout.tips.text": "Nivîsên hêsan, navên xûya ên ku li hev hatî, bikarhêner û hashtagan vedigerîne", "search_popout.tips.user": "bikarhêner", "search_results.accounts": "Mirov", - "search_results.all": "All", + "search_results.all": "Hemû", "search_results.hashtags": "Hashtag", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Ji bo van peyvên lêgerînê tiştek nehate dîtin", "search_results.statuses": "Şandî", "search_results.statuses_fts_disabled": "Di vê rajekara Mastodonê da lêgerîna şandîyên li gorî naveroka wan ne çalak e.", "search_results.total": "{count, number} {count, plural, one {encam} other {encam}}", diff --git a/app/javascript/mastodon/locales/kn.json b/app/javascript/mastodon/locales/kn.json index 8e24cc3c5..9da0f8c57 100644 --- a/app/javascript/mastodon/locales/kn.json +++ b/app/javascript/mastodon/locales/kn.json @@ -403,7 +403,7 @@ "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Next", - "report.placeholder": "Additional comments", + "report.placeholder": "Type or paste additional comments", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", @@ -416,7 +416,7 @@ "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.submit": "Submit", + "report.submit": "Submit report", "report.target": "Report {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}:", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index e5130b24a..767fd8d46 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -417,7 +417,7 @@ "report.statuses.subtitle": "Select all that apply", "report.statuses.title": "Are there any posts that back up this report?", "report.submit": "신고하기", - "report.target": "문제가 된 사용자", + "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?", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index c65985894..600f4249e 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -403,7 +403,7 @@ "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Next", - "report.placeholder": "Additional comments", + "report.placeholder": "Type or paste additional comments", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", @@ -416,7 +416,7 @@ "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.submit": "Submit", + "report.submit": "Submit report", "report.target": "Report {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}:", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index ded8907c0..07d93f563 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -167,7 +167,7 @@ "empty_column.community": "Vietējā ziņu lenta ir tukša. Uzraksti kaut ko publiski, lai viss notiktu!", "empty_column.direct": "Patrez tev nav privātu ziņu. Tiklīdz tādu nosūtīsi vai saņemsi, tās parādīsies šeit.", "empty_column.domain_blocks": "Vēl nav neviena bloķēta domēna.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Pašlaik nekas nav tendēts. Pārbaudiet vēlāk!", "empty_column.favourited_statuses": "Patreiz tev nav neviena izceltā ieraksta. Kad kādu izcelsi, tas parādīsies šeit.", "empty_column.favourites": "Neviens šo ziņojumu vel nav izcēlis. Kad būs, tie parādīsies šeit.", "empty_column.follow_recommendations": "Šķiet, ka tev nevarēja ģenerēt ieteikumus. Vari mēģināt izmantot meklēšanu, lai meklētu cilvēkus, kurus tu varētu pazīt, vai izpētīt populārākās atsauces.", @@ -186,12 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Mēģini tos atspējot un atsvaidzināt lapu. Ja tas nepalīdz, iespējams, varēsi lietot Mastodon, izmantojot citu pārlūkprogrammu vai vietējo lietotni.", "errors.unexpected_crash.copy_stacktrace": "Iekopēt starpliktuvē", "errors.unexpected_crash.report_issue": "Ziņot par problēmu", - "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": "Meklēšanas rezultāti", + "explore.suggested_follows": "Tev", + "explore.title": "Pārlūkot", + "explore.trending_links": "Jaunumi", + "explore.trending_statuses": "Ziņas", + "explore.trending_tags": "Tēmturi", "follow_recommendations.done": "Izpildīts", "follow_recommendations.heading": "Seko cilvēkiem, no kuriem vēlies redzēt ziņas! Šeit ir daži ieteikumi.", "follow_recommendations.lead": "Ziņas no cilvēkiem, kuriem seko, mājas plūsmā tiks parādītas hronoloģiskā secībā. Nebaidies kļūdīties, tu tikpat viegli vari pārtraukt sekot cilvēkiem jebkurā laikā!", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "Iestatījumi", "navigation_bar.public_timeline": "Apvienotā ziņu lenta", "navigation_bar.security": "Drošība", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} ir pierakstījies", "notification.favourite": "{name} izcēla tavu ziņu", "notification.follow": "{name} uzsāka tev sekot", "notification.follow_request": "{name} vēlas tev sekot", @@ -319,7 +319,7 @@ "notification.update": "{name} ir rediģējis rakstu", "notifications.clear": "Notīrīt paziņojumus", "notifications.clear_confirmation": "Vai tiešām vēlies neatgriezeniski notīrīt visus savus paziņojumus?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Jaunas pierakstīšanās:", "notifications.column_settings.alert": "Darbvirsmas paziņojumi", "notifications.column_settings.favourite": "Izlases:", "notifications.column_settings.filter_bar.advanced": "Rādīt visas kategorijas", @@ -387,43 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "šodien", "reply_indicator.cancel": "Atcelt", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "Bloķēt", + "report.block_explanation": "Tu neredzēsi viņu ziņas. Viņi nevarēs redzēt tavas ziņas vai sekot tev. Viņi varēs pateikt, ka ir bloķēti.", "report.categories.other": "Citi", "report.categories.spam": "Spams", "report.categories.violation": "Saturs pārkāpj vienu vai vairākus servera noteikumus", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.subtitle": "Izvēlieties labāko atbilstību", + "report.category.title": "Pastāsti mums, kas notiek ar šo {type}", + "report.category.title_account": "profils", + "report.category.title_status": "ziņa", + "report.close": "Izpildīts", + "report.comment.title": "Vai ir vēl kas, tavuprāt, mums būtu jāzina?", "report.forward": "Pārsūtīt {target}", "report.forward_hint": "Konts ir no cita servera. Vai nosūtīt anonimizētu ziņojuma kopiju arī tam?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Apklusināt", + "report.mute_explanation": "Tu neredzēsi viņu ziņas. Viņi joprojām var tev sekot un redzēt tavas ziņas un nezinās, ka viņiem ir izslēgta skaņa.", + "report.next": "Nākamais", "report.placeholder": "Papildu komentāri", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "Man tas nepatīk", + "report.reasons.dislike_description": "Tas nav kaut kas, ko tu vēlies redzēt", + "report.reasons.other": "Tas ir kaut kas cits", + "report.reasons.other_description": "Šis jautājums neietilpst citās kategorijās", + "report.reasons.spam": "Tas ir spams", + "report.reasons.spam_description": "Ļaunprātīgas saites, viltus iesaistīšana vai atkārtotas atbildes", + "report.reasons.violation": "Tas pārkāpj servera noteikumus", + "report.reasons.violation_description": "Tu zini, ka tas pārkāpj īpašus noteikumus", + "report.rules.subtitle": "Atlasi visus atbilstošos", + "report.rules.title": "Kuri noteikumi tiek pārkāpti?", + "report.statuses.subtitle": "Atlasi visus atbilstošos", + "report.statuses.title": "Vai ir kādas ziņas, kas atbalsta šo ziņojumu?", "report.submit": "Iesniegt", "report.target": "Ziņošana par: {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": "Tālāk ir norādītas iespējas, kā kontrolēt Mastodon redzamo saturu:", + "report.thanks.take_action_actionable": "Kamēr mēs to izskatām, tu vari veikt darbības pret @{name}:", + "report.thanks.title": "Vai nevēlies to redzēt?", + "report.thanks.title_actionable": "Paldies, ka ziņoji, mēs to izskatīsim.", + "report.unfollow": "Pārtraukt sekošanu @{name}", + "report.unfollow_explanation": "Tu seko šim kontam. Lai vairs neredzētu viņu ziņas savā ziņu plūsmā, pārtrauc viņiem sekot.", "search.placeholder": "Meklēšana", "search_popout.search_format": "Paplašināts meklēšanas formāts", "search_popout.tips.full_text": "Vienkāršs teksts atgriež ziņas, kuras esi rakstījis, iecienījis, paaugstinājis vai pieminējis, kā arī atbilstošie lietotājvārdi, parādāmie vārdi un tēmturi.", @@ -432,9 +432,9 @@ "search_popout.tips.text": "Vienkāršs teksts atgriež atbilstošus parādāmos vārdus, lietotājvārdus un mirkļbirkas", "search_popout.tips.user": "lietotājs", "search_results.accounts": "Cilvēki", - "search_results.all": "All", + "search_results.all": "Visi", "search_results.hashtags": "Tēmturi", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Nevarēja atrast neko šiem meklēšanas vienumiem", "search_results.statuses": "Ziņas", "search_results.statuses_fts_disabled": "Šajā Mastodon serverī nav iespējota ziņu meklēšana pēc to satura.", "search_results.total": "{count, number} {count, plural, one {rezultāts} other {rezultāti}}", diff --git a/app/javascript/mastodon/locales/mr.json b/app/javascript/mastodon/locales/mr.json index 83d2bb168..9bbd24777 100644 --- a/app/javascript/mastodon/locales/mr.json +++ b/app/javascript/mastodon/locales/mr.json @@ -403,7 +403,7 @@ "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Next", - "report.placeholder": "Additional comments", + "report.placeholder": "Type or paste additional comments", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", @@ -416,7 +416,7 @@ "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.submit": "Submit", + "report.submit": "Submit report", "report.target": "Report {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}:", diff --git a/app/javascript/mastodon/locales/pa.json b/app/javascript/mastodon/locales/pa.json index dbde323ba..a7e5313a3 100644 --- a/app/javascript/mastodon/locales/pa.json +++ b/app/javascript/mastodon/locales/pa.json @@ -403,7 +403,7 @@ "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Next", - "report.placeholder": "Additional comments", + "report.placeholder": "Type or paste additional comments", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", @@ -416,7 +416,7 @@ "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.submit": "Submit", + "report.submit": "Submit report", "report.target": "Report {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}:", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index 5c61de999..66410b252 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -48,7 +48,7 @@ "account.unmute_notifications": "Mostrar notificações de @{name}", "account_note.placeholder": "Nota pessoal sobre este perfil aqui", "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.monthly_retention": "Taxa de retenção de usuários por mês, após a inscrição", "admin.dashboard.retention.average": "Média", "admin.dashboard.retention.cohort": "Mês de inscrição", "admin.dashboard.retention.cohort_size": "Novos usuários", @@ -105,7 +105,7 @@ "compose_form.poll.switch_to_single": "Opção única", "compose_form.publish": "TOOT", "compose_form.publish_loud": "{publish}!", - "compose_form.save_changes": "Save changes", + "compose_form.save_changes": "Salvar alterações", "compose_form.sensitive.hide": "{count, plural, one {Marcar mídia como sensível} other {Marcar mídias como sensível}}", "compose_form.sensitive.marked": "{count, plural, one {Mídia marcada como sensível} other {Mídias marcadas como sensível}}", "compose_form.sensitive.unmarked": "{count, plural, one {Mídia não está marcada como sensível} other {Mídias não estão marcadas como sensível}}", @@ -316,7 +316,7 @@ "notification.poll": "Uma enquete que você votou terminou", "notification.reblog": "{name} deu boost no teu toot", "notification.status": "{name} acabou de tootar", - "notification.update": "{name} edited a post", + "notification.update": "{name} editou uma publicação", "notifications.clear": "Limpar notificações", "notifications.clear_confirmation": "Você tem certeza de que deseja limpar todas as suas notificações?", "notifications.column_settings.admin.sign_up": "New sign-ups:", @@ -378,7 +378,7 @@ "relative_time.days": "{number}d", "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.just_now": "agora mesmo", "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", "relative_time.hours": "{number}h", @@ -389,9 +389,9 @@ "reply_indicator.cancel": "Cancelar", "report.block": "Block", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", - "report.categories.other": "Other", + "report.categories.other": "Outro", "report.categories.spam": "Spam", - "report.categories.violation": "Content violates one or more server rules", + "report.categories.violation": "O conteúdo viola uma ou mais regras do servidor", "report.category.subtitle": "Choose the best match", "report.category.title": "Tell us what's going on with this {type}", "report.category.title_account": "profile", @@ -448,14 +448,14 @@ "status.delete": "Excluir", "status.detailed_status": "Visão detalhada da conversa", "status.direct": "Enviar toot direto para @{name}", - "status.edit": "Edit", - "status.edited": "Edited {date}", + "status.edit": "Editar", + "status.edited": "Editado em {date}", "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", "status.embed": "Incorporar", "status.favourite": "Favoritar", "status.filtered": "Filtrado", - "status.history.created": "{name} created {date}", - "status.history.edited": "{name} edited {date}", + "status.history.created": "{name} criou {date}", + "status.history.edited": "{name} editou {date}", "status.load_more": "Ver mais", "status.media_hidden": "Mídia sensível", "status.mention": "Mencionar @{name}", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 01c699f86..9cbd82f5c 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -94,7 +94,7 @@ "compose_form.direct_message_warning": "Адресованные посты отправляются и видны только упомянутым в них пользователям.", "compose_form.direct_message_warning_learn_more": "Подробнее", "compose_form.hashtag_warning": "Так как этот пост не публичный, он не отобразится в поиске по хэштегам.", - "compose_form.lock_disclaimer": "Ваша учётная запись {locked}. Любой пользователь сможет подписаться на вас и просматривать посты для подписчиков.", + "compose_form.lock_disclaimer": "Ваша учётная запись не {locked}. Любой пользователь сможет подписаться на вас и просматривать посты для подписчиков.", "compose_form.lock_disclaimer.lock": "не закрыта", "compose_form.placeholder": "О чём думаете?", "compose_form.poll.add_option": "Добавить вариант", @@ -187,11 +187,11 @@ "errors.unexpected_crash.copy_stacktrace": "Скопировать диагностическую информацию", "errors.unexpected_crash.report_issue": "Сообщить о проблеме", "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.suggested_follows": "Для вас", + "explore.title": "Обзор", + "explore.trending_links": "Новости", + "explore.trending_statuses": "Посты", + "explore.trending_tags": "Хэштеги", "follow_recommendations.done": "Готово", "follow_recommendations.heading": "Подпишитесь на людей, чьи посты вы бы хотели видеть. Вот несколько предложений.", "follow_recommendations.lead": "Посты от людей, на которых вы подписаны, будут отображаться в вашей домашней ленте в хронологическом порядке. Не бойтесь ошибиться — вы так же легко сможете отписаться от них в любое время!", @@ -202,10 +202,10 @@ "getting_started.developers": "Разработчикам", "getting_started.directory": "Каталог профилей", "getting_started.documentation": "Документация", - "getting_started.heading": "Добро пожаловать", + "getting_started.heading": "Начать", "getting_started.invite": "Пригласить людей", "getting_started.open_source_notice": "Mastodon — сервис с открытым исходным кодом. Вы можете внести вклад или сообщить о проблемах на GitHub: {github}.", - "getting_started.security": "Безопасность", + "getting_started.security": "Настройки учётной записи", "getting_started.terms": "Условия использования", "hashtag.column_header.tag_mode.all": "и {additional}", "hashtag.column_header.tag_mode.any": "или {additional}", @@ -252,9 +252,9 @@ "keyboard_shortcuts.requests": "перейти к запросам на подписку", "keyboard_shortcuts.search": "перейти к поиску", "keyboard_shortcuts.spoilers": "показать/скрыть поле предупреждения о содержании", - "keyboard_shortcuts.start": "перейти к разделу \"добро пожаловать\"", + "keyboard_shortcuts.start": "Перейти к разделу \"Начать\"", "keyboard_shortcuts.toggle_hidden": "показать/скрыть текст за предупреждением", - "keyboard_shortcuts.toggle_sensitivity": "показать/скрыть медиафайлы", + "keyboard_shortcuts.toggle_sensitivity": "Показать/скрыть медиафайлы", "keyboard_shortcuts.toot": "начать писать новый пост", "keyboard_shortcuts.unfocus": "убрать фокус с поля ввода/поиска", "keyboard_shortcuts.up": "вверх по списку", @@ -316,7 +316,7 @@ "notification.poll": "Опрос, в котором вы приняли участие, завершился", "notification.reblog": "{name} продвинул(а) ваш пост", "notification.status": "{name} только что запостил", - "notification.update": "{name} edited a post", + "notification.update": "{name} изменил(а) пост", "notifications.clear": "Очистить уведомления", "notifications.clear_confirmation": "Вы уверены, что хотите очистить все уведомления?", "notifications.column_settings.admin.sign_up": "New sign-ups:", @@ -387,7 +387,7 @@ "relative_time.seconds": "{number} с", "relative_time.today": "сегодня", "reply_indicator.cancel": "Отмена", - "report.block": "Block", + "report.block": "Заблокировать", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Другое", "report.categories.spam": "Спам", diff --git a/app/javascript/mastodon/locales/sa.json b/app/javascript/mastodon/locales/sa.json index 79b5e54b5..3be5b5012 100644 --- a/app/javascript/mastodon/locales/sa.json +++ b/app/javascript/mastodon/locales/sa.json @@ -403,7 +403,7 @@ "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Next", - "report.placeholder": "Additional comments", + "report.placeholder": "Type or paste additional comments", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", @@ -416,7 +416,7 @@ "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.submit": "Submit", + "report.submit": "Submit report", "report.target": "Report {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}:", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index 98405984a..d4475760b 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -316,7 +316,7 @@ "notification.poll": "Glasovanje, v katerem ste sodelovali, se je končalo", "notification.reblog": "{name} je spodbudil/a vaš status", "notification.status": "{name} je pravkar objavil/a", - "notification.update": "{name} edited a post", + "notification.update": "{name} je uredil(a) objavo", "notifications.clear": "Počisti obvestila", "notifications.clear_confirmation": "Ali ste prepričani, da želite trajno izbrisati vsa vaša obvestila?", "notifications.column_settings.admin.sign_up": "New sign-ups:", @@ -336,7 +336,7 @@ "notifications.column_settings.status": "New toots:", "notifications.column_settings.unread_notifications.category": "Neprebrana obvestila", "notifications.column_settings.unread_notifications.highlight": "Poudari neprebrana obvestila", - "notifications.column_settings.update": "Edits:", + "notifications.column_settings.update": "Urejanja:", "notifications.filter.all": "Vse", "notifications.filter.boosts": "Spodbude", "notifications.filter.favourites": "Priljubljeni", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index 6bef2e09b..b3a70dd27 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -167,7 +167,7 @@ "empty_column.community": "Rrjedha kohore vendore është e zbrazët. Shkruani diçka publikisht që t’i hyhet valles!", "empty_column.direct": "S’keni ende ndonjë mesazh të drejtpërdrejt. Kur dërgoni ose merrni një të tillë, ai do të shfaqet këtu.", "empty_column.domain_blocks": "Ende s’ka përkatësi të fshehura.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Asgjë në modë tani. Kontrolloni më vonë!", "empty_column.favourited_statuses": "S’keni ende ndonjë mesazh të parapëlqyer. Kur parapëlqeni një të tillë, ai do të shfaqet këtu.", "empty_column.favourites": "Askush s’e ka parapëlqyer ende këtë mesazh. Kur e bën dikush, ai do të shfaqet këtu.", "empty_column.follow_recommendations": "Duket se s’u prodhuan dot sugjerime për ju. Mund të provoni të kërkoni për persona që mund të njihni, ose të eksploroni hashtag-ë që janë në modë.", @@ -186,12 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Provoni t’i çaktivizoni dhe të rifreskoni faqen. Nëse kjo s’bën punë, mundeni prapë të jeni në gjendje të përdorni Mastodon-in përmes një shfletuesi tjetër, apo një aplikacioni prej Mastodon-it.", "errors.unexpected_crash.copy_stacktrace": "Kopjo stacktrace-in në të papastër", "errors.unexpected_crash.report_issue": "Raportoni problemin", - "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": "Përfundime kërkimi", + "explore.suggested_follows": "Për ju", + "explore.title": "Eksploroni", + "explore.trending_links": "Lajme", + "explore.trending_statuses": "Postime", + "explore.trending_tags": "Hashtagë", "follow_recommendations.done": "U bë", "follow_recommendations.heading": "Ndiqni persona prej të cilëve doni të shihni postime! Ja ca sugjerime.", "follow_recommendations.lead": "Postimet prej personash që ndiqni do të shfaqen në rend kohor te prurja juaj kryesore. Mos kini frikë të bëni gabime, mund të ndalni po aq kollaj ndjekjen e dikujt, në çfarëdo kohe!", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "Parapëlqime", "navigation_bar.public_timeline": "Rrjedhë kohore të federuarish", "navigation_bar.security": "Siguri", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} u regjistrua", "notification.favourite": "{name} pëlqeu mesazhin tuaj", "notification.follow": "{name} zuri t’ju ndjekë", "notification.follow_request": "{name} ka kërkuar t’ju ndjekë", @@ -319,7 +319,7 @@ "notification.update": "{name} përpunoi një postim", "notifications.clear": "Spastroji njoftimet", "notifications.clear_confirmation": "Jeni i sigurt se doni të spastrohen përgjithmonë krejt njoftimet tuaja?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Regjistrime të reja:", "notifications.column_settings.alert": "Njoftime desktopi", "notifications.column_settings.favourite": "Të parapëlqyer:", "notifications.column_settings.filter_bar.advanced": "Shfaq krejt kategoritë", @@ -387,43 +387,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "sot", "reply_indicator.cancel": "Anuloje", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "Bllokoje", + "report.block_explanation": "S’do të shihni postime prej tyre. S’do të jenë në gjendje të shohin postimet tuaja, apo t’ju ndjekin. Do të jenë në gjendje të shohin se janë bllokuar.", "report.categories.other": "Tjetër", "report.categories.spam": "I padëshiruar", "report.categories.violation": "Lënda shkel një ose disa rregulla shërbyesi", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.subtitle": "Zgjidhni përputhjen më të mirë", + "report.category.title": "Tregonani se ç’po ndodh me këtë {type}", + "report.category.title_account": "profil", + "report.category.title_status": "postim", + "report.close": "U bë", + "report.comment.title": "Ka ndonjë gjë tjetër që do të duhej ta dinim?", "report.forward": "Përcillja {target}", "report.forward_hint": "Llogaria është nga një shërbyes tjetër. Të dërgohet edhe një kopje e anonimizuar e raportimit?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Heshtoje", + "report.mute_explanation": "S’do të shihni postimet e tyre. Ende mund t’ju ndjekin dhe të shohin postimet tuaja dhe s’do ta dinë që janë heshtuar.", + "report.next": "Pasuesi", "report.placeholder": "Komente shtesë", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "S’më pëlqen", + "report.reasons.dislike_description": "S’është gjë që do të doja ta shihja", + "report.reasons.other": "Është tjetër gjë", + "report.reasons.other_description": "Problemi nuk hyn te kategoritë e tjera", + "report.reasons.spam": "Është mesazh i padëshiruar", + "report.reasons.spam_description": "Lidhje dashakeqe, angazhim i rremë, ose përgjigje të përsëritura", + "report.reasons.violation": "Cenon rregulla shërbyesi", + "report.reasons.violation_description": "Jeni i ndërgjegjshëm që cenon rregulla specifike", + "report.rules.subtitle": "Përzgjidhni gjithçka që ka vend", + "report.rules.title": "Cilat rregulla po cenohen?", + "report.statuses.subtitle": "Përzgjidhni gjithçka që ka vend", + "report.statuses.title": "A ka postime që dëshmojnë problemet e këtij raporti?", "report.submit": "Parashtroje", "report.target": "Raportim i {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": "Ja mundësitë tuaja për të kontrolluar ç’shihni në Mastodon:", + "report.thanks.take_action_actionable": "Teksa e shqyrtojmë, mund të ndërmerrni veprim kundër @{name}:", + "report.thanks.title": "S’doni të shihni këtë?", + "report.thanks.title_actionable": "Faleminderit për raportimin, do ta shohim.", + "report.unfollow": "Mos e ndiq më @{name}", + "report.unfollow_explanation": "Po e ndiqni këtë llogari. Për të mos parë më postimet e tyre te prurja juaj e kreut, ndalni ndjekjen e tyre.", "search.placeholder": "Kërkoni", "search_popout.search_format": "Format kërkimi të mëtejshëm", "search_popout.tips.full_text": "Kërkimi për tekst të thjeshtë përgjigjet me mesazhe që keni shkruar, parapëlqyer, përforcuar, ose ku jeni përmendur, si dhe emra përdoruesish, emra ekrani dhe hashtag-ë që kanë përputhje me termin e kërkimit.", @@ -432,9 +432,9 @@ "search_popout.tips.text": "Kërkim për tekst të thjeshtë përgjigjet me emra, emra përdoruesish dhe hashtag-ë që kanë përputhje me termin e kërkimit", "search_popout.tips.user": "përdorues", "search_results.accounts": "Persona", - "search_results.all": "All", + "search_results.all": "Krejt", "search_results.hashtags": "Hashtag-ë", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "S’u gjet gjë për këto terma kërkimi", "search_results.statuses": "Mesazhe", "search_results.statuses_fts_disabled": "Kërkimi i mesazheve sipas lëndës së tyre s’është i aktivizuar në këtë shërbyes Mastodon.", "search_results.total": "{count, number} {count, plural, one {përfundim} other {përfundime}}", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index d219d498e..09a2f5176 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -167,7 +167,7 @@ "empty_column.community": "Den lokala tidslinjen är tom. Skriv något offentligt för att sätta bollen i rullning!", "empty_column.direct": "Du har inga direktmeddelanden än. När du skickar eller tar emot ett kommer det att visas här.", "empty_column.domain_blocks": "Det finns ännu inga dolda domäner.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Ingenting är trendigt just nu. Kom tillbaka senare!", "empty_column.favourited_statuses": "Du har inga favoritmarkerade toots än. När du favoritmarkerar en kommer den visas här.", "empty_column.favourites": "Ingen har favoritmarkerat den här tooten än. När någon gör det kommer den visas här.", "empty_column.follow_recommendations": "Det ser ut som om inga förslag kan genereras till dig. Du kan prova att använda sök för att leta efter personer som du kanske känner eller utforska trendande hash-taggar.", @@ -186,11 +186,11 @@ "error.unexpected_crash.next_steps_addons": "Prova att avaktivera dem och uppdatera sidan. Om detta inte hjälper kan du försöka använda Mastodon med en annan webbläsare eller en app.", "errors.unexpected_crash.copy_stacktrace": "Kopiera stacktrace till urklipp", "errors.unexpected_crash.report_issue": "Rapportera problem", - "explore.search_results": "Search results", - "explore.suggested_follows": "For you", - "explore.title": "Explore", - "explore.trending_links": "News", - "explore.trending_statuses": "Posts", + "explore.search_results": "Sökresultat", + "explore.suggested_follows": "För dig", + "explore.title": "Utforska", + "explore.trending_links": "Nyheter", + "explore.trending_statuses": "Inlägg", "explore.trending_tags": "Hashtags", "follow_recommendations.done": "Klar", "follow_recommendations.heading": "Följ personer som du skulle vilja se inlägg från! Här finns det några förslag.", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "Inställningar", "navigation_bar.public_timeline": "Förenad tidslinje", "navigation_bar.security": "Säkerhet", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} registrerade sig", "notification.favourite": "{name} favoriserade din status", "notification.follow": "{name} följer dig", "notification.follow_request": "{name} har begärt att följa dig", @@ -319,7 +319,7 @@ "notification.update": "{name} redigerade ett inlägg", "notifications.clear": "Rensa aviseringar", "notifications.clear_confirmation": "Är du säker på att du vill rensa alla dina aviseringar permanent?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Nya registreringar:", "notifications.column_settings.alert": "Skrivbordsaviseringar", "notifications.column_settings.favourite": "Favoriter:", "notifications.column_settings.filter_bar.advanced": "Visa alla kategorier", @@ -378,7 +378,7 @@ "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# dag} other {# dagar}} sedan", "relative_time.full.hours": "{number, plural, one {# timme} other {# timmar}} sedan", - "relative_time.full.just_now": "just now", + "relative_time.full.just_now": "just nu", "relative_time.full.minutes": "{number, plural, one {# minut} other {# minuter}} sedan", "relative_time.full.seconds": "{number, plural, one {# sekund} other {# sekunder}} sedan", "relative_time.hours": "{number}tim", @@ -387,22 +387,22 @@ "relative_time.seconds": "{number}sek", "relative_time.today": "idag", "reply_indicator.cancel": "Ångra", - "report.block": "Block", + "report.block": "Blockera", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Övrigt", "report.categories.spam": "Skräppost", - "report.categories.violation": "Content violates one or more server rules", + "report.categories.violation": "Innehåll bryter mot en eller flera serverregler", "report.category.subtitle": "Choose the best match", "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", + "report.category.title_account": "profil", + "report.category.title_status": "inlägg", "report.close": "Done", "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Vidarebefordra till {target}", "report.forward_hint": "Kontot är från en annan server. Skicka även en anonymiserad kopia av anmälan dit?", - "report.mute": "Mute", + "report.mute": "Tysta", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.next": "Nästa", "report.placeholder": "Ytterligare kommentarer", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", @@ -422,7 +422,7 @@ "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": "Sluta följ @{username}", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "search.placeholder": "Sök", "search_popout.search_format": "Avancerat sökformat", @@ -432,7 +432,7 @@ "search_popout.tips.text": "Enkel text returnerar matchande visningsnamn, användarnamn och hashtags", "search_popout.tips.user": "användare", "search_results.accounts": "Människor", - "search_results.all": "All", + "search_results.all": "Alla", "search_results.hashtags": "Hashtaggar", "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Tutor", diff --git a/app/javascript/mastodon/locales/szl.json b/app/javascript/mastodon/locales/szl.json index dbde323ba..a7e5313a3 100644 --- a/app/javascript/mastodon/locales/szl.json +++ b/app/javascript/mastodon/locales/szl.json @@ -403,7 +403,7 @@ "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Next", - "report.placeholder": "Additional comments", + "report.placeholder": "Type or paste additional comments", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", @@ -416,7 +416,7 @@ "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.submit": "Submit", + "report.submit": "Submit report", "report.target": "Report {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}:", diff --git a/app/javascript/mastodon/locales/tai.json b/app/javascript/mastodon/locales/tai.json index 9771d5b84..55a62bb55 100644 --- a/app/javascript/mastodon/locales/tai.json +++ b/app/javascript/mastodon/locales/tai.json @@ -403,7 +403,7 @@ "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Next", - "report.placeholder": "Additional comments", + "report.placeholder": "Type or paste additional comments", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", @@ -416,7 +416,7 @@ "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.submit": "Submit", + "report.submit": "Submit report", "report.target": "Report {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}:", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index eaae23445..1b276c467 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -186,12 +186,12 @@ "error.unexpected_crash.next_steps_addons": "ลองปิดใช้งานส่วนเสริมหรือเครื่องมือแล้วรีเฟรชหน้า หากนั่นไม่ช่วย คุณอาจยังสามารถใช้ Mastodon ได้ผ่านเบราว์เซอร์อื่นหรือแอป", "errors.unexpected_crash.copy_stacktrace": "คัดลอกการติดตามสแตกไปยังคลิปบอร์ด", "errors.unexpected_crash.report_issue": "รายงานปัญหา", - "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": "ผลลัพธ์การค้นหา", + "explore.suggested_follows": "สำหรับคุณ", + "explore.title": "สำรวจ", + "explore.trending_links": "ข่าว", + "explore.trending_statuses": "โพสต์", + "explore.trending_tags": "แฮชแท็ก", "follow_recommendations.done": "เสร็จสิ้น", "follow_recommendations.heading": "ติดตามผู้คนที่คุณต้องการเห็นโพสต์! นี่คือข้อเสนอแนะบางส่วน", "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!", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "การกำหนดลักษณะ", "navigation_bar.public_timeline": "เส้นเวลาที่ติดต่อกับภายนอก", "navigation_bar.security": "ความปลอดภัย", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} ได้ลงทะเบียน", "notification.favourite": "{name} ได้ชื่นชอบโพสต์ของคุณ", "notification.follow": "{name} ได้ติดตามคุณ", "notification.follow_request": "{name} ได้ขอติดตามคุณ", @@ -319,7 +319,7 @@ "notification.update": "{name} ได้แก้ไขโพสต์", "notifications.clear": "ล้างการแจ้งเตือน", "notifications.clear_confirmation": "คุณแน่ใจหรือไม่ว่าต้องการล้างการแจ้งเตือนทั้งหมดของคุณอย่างถาวร?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "การลงทะเบียนใหม่:", "notifications.column_settings.alert": "การแจ้งเตือนบนเดสก์ท็อป", "notifications.column_settings.favourite": "รายการโปรด:", "notifications.column_settings.filter_bar.advanced": "แสดงหมวดหมู่ทั้งหมด", @@ -387,22 +387,22 @@ "relative_time.seconds": "{number} วินาที", "relative_time.today": "วันนี้", "reply_indicator.cancel": "ยกเลิก", - "report.block": "Block", + "report.block": "ปิดกั้น", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "อื่น ๆ", "report.categories.spam": "สแปม", "report.categories.violation": "เนื้อหาละเมิดหนึ่งกฎของเซิร์ฟเวอร์หรือมากกว่า", "report.category.subtitle": "Choose the best match", "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", + "report.category.title_account": "โปรไฟล์", + "report.category.title_status": "โพสต์", + "report.close": "เสร็จสิ้น", "report.comment.title": "Is there anything else you think we should know?", "report.forward": "ส่งต่อไปยัง {target}", "report.forward_hint": "บัญชีมาจากเซิร์ฟเวอร์อื่น ส่งสำเนาของรายงานที่ไม่ระบุตัวตนไปที่นั่นด้วย?", - "report.mute": "Mute", + "report.mute": "ซ่อน", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.next": "ถัดไป", "report.placeholder": "ความคิดเห็นเพิ่มเติม", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", @@ -421,8 +421,8 @@ "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.thanks.title_actionable": "ขอบคุณสำหรับการรายงาน เราจะตรวจสอบสิ่งนี้", + "report.unfollow": "เลิกติดตาม @{name}", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "search.placeholder": "ค้นหา", "search_popout.search_format": "รูปแบบการค้นหาขั้นสูง", @@ -432,7 +432,7 @@ "search_popout.tips.text": "ข้อความแบบง่ายส่งคืนชื่อที่แสดง, ชื่อผู้ใช้ และแฮชแท็กที่ตรงกัน", "search_popout.tips.user": "ผู้ใช้", "search_results.accounts": "ผู้คน", - "search_results.all": "All", + "search_results.all": "ทั้งหมด", "search_results.hashtags": "แฮชแท็ก", "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "โพสต์", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 17df66e77..0d7c92f05 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -167,7 +167,7 @@ "empty_column.community": "Yerel zaman çizelgesi boş. Daha fazla eğlence için herkese açık bir gönderi paylaşın!", "empty_column.direct": "Henüz direkt mesajın yok. Bir tane gönderdiğinde veya aldığında burada görünür.", "empty_column.domain_blocks": "Henüz hiçbir gizli alan adı yok.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Şu an öne çıkan birşey yok. Daha sonra tekrar bakın!", "empty_column.favourited_statuses": "Favori tootun yok. Favori tootun olduğunda burada görünür.", "empty_column.favourites": "Kimse bu gönderiyi favorilerine eklememiş. Biri eklediğinde burada görünecek.", "empty_column.follow_recommendations": "Öyle görünüyor ki sizin için hiçbir öneri oluşturulamıyor. Tanıdığınız kişileri aramak için aramayı kullanabilir veya öne çıkanlara bakabilirsiniz.", @@ -186,12 +186,12 @@ "error.unexpected_crash.next_steps_addons": "Bunları devre dışı bırakmayı ve sayfayı yenilemeyi deneyin. Bu yardımcı olmazsa, Mastodon'u başka bir tarayıcı veya yerel uygulama aracılığıyla kullanabilirsiniz.", "errors.unexpected_crash.copy_stacktrace": "Yığın izlemeyi (stacktrace) panoya kopyala", "errors.unexpected_crash.report_issue": "Sorun bildir", - "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": "Arama sonuçları", + "explore.suggested_follows": "Sizin için", + "explore.title": "Keşfet", + "explore.trending_links": "Haberler", + "explore.trending_statuses": "Gönderiler", + "explore.trending_tags": "Etiketler", "follow_recommendations.done": "Tamam", "follow_recommendations.heading": "Gönderilerini görmek isteyeceğiniz kişileri takip edin! Burada bazı öneriler bulabilirsiniz.", "follow_recommendations.lead": "Takip ettiğiniz kişilerin gönderileri anasayfa akışınızda kronolojik sırada görünmeye devam edecek. Hata yapmaktan çekinmeyin, kişileri istediğiniz anda kolayca takipten çıkabilirsiniz!", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "Tercihler", "navigation_bar.public_timeline": "Federe zaman tüneli", "navigation_bar.security": "Güvenlik", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} kaydoldu", "notification.favourite": "{name} gönderini beğendi", "notification.follow": "{name} seni takip etti", "notification.follow_request": "{name} size takip isteği gönderdi", @@ -319,7 +319,7 @@ "notification.update": "{name} bir gönderiyi düzenledi", "notifications.clear": "Bildirimleri temizle", "notifications.clear_confirmation": "Tüm bildirimlerinizi kalıcı olarak temizlemek ister misiniz?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Yeni kayıtlar:", "notifications.column_settings.alert": "Masaüstü bildirimleri", "notifications.column_settings.favourite": "Beğeniler:", "notifications.column_settings.filter_bar.advanced": "Tüm kategorileri görüntüle", @@ -387,43 +387,43 @@ "relative_time.seconds": "{number}sn", "relative_time.today": "bugün", "reply_indicator.cancel": "İptal", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "Engelle", + "report.block_explanation": "Gönderilerini göremeyeceksiniz. Gönderilerinizi göremezler veya sizi takip edemezler. Engelli olduklarını anlayabilecekler.", "report.categories.other": "Diğer", "report.categories.spam": "İstenmeyen", "report.categories.violation": "İçerik bir veya daha fazla sunucu kuralını ihlal ediyor", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.subtitle": "En uygun eşleşmeyi seçin", + "report.category.title": "Bu {type} ile ilgili neler oluyor bize söyleyin", + "report.category.title_account": "profil", + "report.category.title_status": "gönderi", + "report.close": "Tamam", + "report.comment.title": "Bilmemizi istediğiniz başka bir şey var mı?", "report.forward": "{target} ilet", "report.forward_hint": "Hesap başka bir sunucudan. Raporun anonim bir kopyası da oraya gönderilsin mi?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Sessiz", + "report.mute_explanation": "Gönderilerini göremeyeceksiniz. Sizi takip etmeyi sürdürebilir ve gönderilerinizi görebilirler ama sessize alındıklarını anlamayacaklar.", + "report.next": "Sonraki", "report.placeholder": "Ek yorumlar", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "Beğenmedim", + "report.reasons.dislike_description": "Görmek isteyeceğiniz bir şey değil", + "report.reasons.other": "Başka bir şey", + "report.reasons.other_description": "Sorun başka kategorilere uymuyor", + "report.reasons.spam": "İstenmeyen", + "report.reasons.spam_description": "Kötü niyetli bağlantılar, sahte etkileşim veya tekrarlayan yanıtlar", + "report.reasons.violation": "Sunucu kurallarını ihlal ediyor", + "report.reasons.violation_description": "Belirli kuralları ihlal ettiğinin farkındasınız", + "report.rules.subtitle": "Geçerli olanların hepsini seçin", + "report.rules.title": "Hangi kurallar ihlal ediliyor?", + "report.statuses.subtitle": "Geçerli olanların hepsini seçin", + "report.statuses.title": "Bu bildirimi destekleyecek herhangi bir gönderi var mı?", "report.submit": "Gönder", "report.target": "{target} Bildiriliyor", - "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": "Mastodon'da ne görebileceğinizi denetlemeye ilişkin seçenekler şunlardır:", + "report.thanks.take_action_actionable": "Biz değerlendirirken, @{name} hesabına yönelik bir şeyler yapabilirsiniz:", + "report.thanks.title": "Bunu görmek istemiyor musunuz?", + "report.thanks.title_actionable": "Bildirdiğiniz için teşekkürler, konuyu araştıracağız.", + "report.unfollow": "@{name} takip etmeyi bırak", + "report.unfollow_explanation": "Bu hesabı takip ediyorsunuz. Ana akışınızda gönderilerini görmek istemiyorsanız, onu takip etmeyi bırakın.", "search.placeholder": "Ara", "search_popout.search_format": "Gelişmiş arama biçimi", "search_popout.tips.full_text": "Basit metin yazdığınız, beğendiğiniz, teşvik ettiğiniz veya söz edilen gönderilerin yanı sıra kullanıcı adlarını, görünen adları ve hashtag'leri eşleştiren gönderileri de döndürür.", @@ -432,9 +432,9 @@ "search_popout.tips.text": "Basit metin, eşleşen görünen adları, kullanıcı adlarını ve hashtag'leri döndürür", "search_popout.tips.user": "kullanıcı", "search_results.accounts": "İnsanlar", - "search_results.all": "All", + "search_results.all": "Tümü", "search_results.hashtags": "Etiketler", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Bu arama seçenekleriyle bir sonuç bulunamadı", "search_results.statuses": "Gönderiler", "search_results.statuses_fts_disabled": "Bu Mastodon sunucusunda gönderi içeriğine göre arama etkin değil.", "search_results.total": "{count, number} {count, plural, one {sonuç} other {sonuç}}", diff --git a/app/javascript/mastodon/locales/tt.json b/app/javascript/mastodon/locales/tt.json index b1e5b2d96..ebdbdbd6e 100644 --- a/app/javascript/mastodon/locales/tt.json +++ b/app/javascript/mastodon/locales/tt.json @@ -403,7 +403,7 @@ "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Next", - "report.placeholder": "Additional comments", + "report.placeholder": "Type or paste additional comments", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", diff --git a/app/javascript/mastodon/locales/ug.json b/app/javascript/mastodon/locales/ug.json index dbde323ba..a7e5313a3 100644 --- a/app/javascript/mastodon/locales/ug.json +++ b/app/javascript/mastodon/locales/ug.json @@ -403,7 +403,7 @@ "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Next", - "report.placeholder": "Additional comments", + "report.placeholder": "Type or paste additional comments", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", @@ -416,7 +416,7 @@ "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.submit": "Submit", + "report.submit": "Submit report", "report.target": "Report {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}:", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 1b4b1bc0f..e27eb5c21 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -187,11 +187,11 @@ "errors.unexpected_crash.copy_stacktrace": "Скопіювати трасування стека у буфер обміну", "errors.unexpected_crash.report_issue": "Повідомити про проблему", "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.suggested_follows": "Для вас", + "explore.title": "Огляд", + "explore.trending_links": "Новини", + "explore.trending_statuses": "Дописи", + "explore.trending_tags": "Хештеґи", "follow_recommendations.done": "Готово", "follow_recommendations.heading": "Підпишіться на людей, чиї дописи ви хочете бачити! Ось деякі пропозиції.", "follow_recommendations.lead": "Дописи від людей, за якими ви стежите, з'являться в хронологічному порядку у вашій домашній стрічці. Не бійся помилятися, ви можете відписатися від людей так само легко в будь-який час!", @@ -394,17 +394,17 @@ "report.categories.violation": "Контент порушує одне або кілька правил сервера", "report.category.subtitle": "Choose the best match", "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", + "report.category.title_account": "профіль", + "report.category.title_status": "допис", + "report.close": "Готово", "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Надіслати до {target}", "report.forward_hint": "Це акаунт з іншого серверу. Відправити анонімізовану копію скарги і туди?", "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.next": "Далі", "report.placeholder": "Додаткові коментарі", - "report.reasons.dislike": "I don't like it", + "report.reasons.dislike": "Мені це не подобається", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", "report.reasons.other_description": "The issue does not fit into other categories", @@ -432,7 +432,7 @@ "search_popout.tips.text": "Пошук за текстом знаходить імена користувачів, реальні імена та хештеґи", "search_popout.tips.user": "користувач", "search_results.accounts": "Люди", - "search_results.all": "All", + "search_results.all": "Усе", "search_results.hashtags": "Хештеґи", "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Дмухів", diff --git a/app/javascript/mastodon/locales/ur.json b/app/javascript/mastodon/locales/ur.json index 7f074d63e..3e71bcc06 100644 --- a/app/javascript/mastodon/locales/ur.json +++ b/app/javascript/mastodon/locales/ur.json @@ -403,7 +403,7 @@ "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Next", - "report.placeholder": "Additional comments", + "report.placeholder": "Type or paste additional comments", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", @@ -416,7 +416,7 @@ "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.submit": "Submit", + "report.submit": "Submit report", "report.target": "Report {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}:", diff --git a/app/javascript/mastodon/locales/zgh.json b/app/javascript/mastodon/locales/zgh.json index 149aeacbf..df307d439 100644 --- a/app/javascript/mastodon/locales/zgh.json +++ b/app/javascript/mastodon/locales/zgh.json @@ -403,7 +403,7 @@ "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Next", - "report.placeholder": "Additional comments", + "report.placeholder": "Type or paste additional comments", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 56aba036d..7f6743e62 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -167,7 +167,7 @@ "empty_column.community": "本站时间轴暂时没有内容,快写点什么让它动起来吧!", "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": "似乎无法为你生成任何建议。你可以尝试使用搜索寻找你可能知道的人或探索热门标签。", @@ -186,12 +186,12 @@ "error.unexpected_crash.next_steps_addons": "请尝试禁用它们并刷新页面。如果没有帮助,你仍可以尝试使用其他浏览器或原生应用来使用 Mastodon。", "errors.unexpected_crash.copy_stacktrace": "把堆栈跟踪信息复制到剪贴板", "errors.unexpected_crash.report_issue": "报告问题", - "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": "搜索结果", + "explore.suggested_follows": "为您推荐", + "explore.title": "探索", + "explore.trending_links": "最新消息", + "explore.trending_statuses": "嘟文", + "explore.trending_tags": "话题标签", "follow_recommendations.done": "完成", "follow_recommendations.heading": "关注你感兴趣的用户!这里有一些推荐。", "follow_recommendations.lead": "你关注的人的嘟文将按时间顺序在你的主页上显示。 别担心,你可以随时取消关注!", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "首选项", "navigation_bar.public_timeline": "跨站公共时间轴", "navigation_bar.security": "安全", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} 注册了", "notification.favourite": "{name} 喜欢了你的嘟文", "notification.follow": "{name} 开始关注你", "notification.follow_request": "{name} 向你发送了关注请求", @@ -319,7 +319,7 @@ "notification.update": "{name} 编辑了嘟文", "notifications.clear": "清空通知列表", "notifications.clear_confirmation": "你确定要永久清空通知列表吗?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "新注册:", "notifications.column_settings.alert": "桌面通知", "notifications.column_settings.favourite": "当你的嘟文被喜欢时:", "notifications.column_settings.filter_bar.advanced": "显示所有类别", @@ -336,7 +336,7 @@ "notifications.column_settings.status": "新嘟文:", "notifications.column_settings.unread_notifications.category": "未读通知", "notifications.column_settings.unread_notifications.highlight": "高亮显示未读通知", - "notifications.column_settings.update": "Edits:", + "notifications.column_settings.update": "编辑:", "notifications.filter.all": "全部", "notifications.filter.boosts": "转嘟", "notifications.filter.favourites": "喜欢", @@ -387,43 +387,43 @@ "relative_time.seconds": "{number}秒", "relative_time.today": "今天", "reply_indicator.cancel": "取消", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "屏蔽", + "report.block_explanation": "你不会看到他们的帖子。他们也将无法看到你的帖子或关注你。他们将能够判断他们被屏蔽了。", "report.categories.other": "其他", "report.categories.spam": "垃圾信息", "report.categories.violation": "内容违反一条或多条服务器规则", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.subtitle": "选择最佳匹配", + "report.category.title": "告诉我们这个 {type} 的情况", + "report.category.title_account": "个人资料", + "report.category.title_status": "嘟文", + "report.close": "完成", + "report.comment.title": "还有什么你认为我们应该知道的吗?", "report.forward": "转发举报至 {target}", "report.forward_hint": "这名用户来自另一个服务器。是否要向那个服务器发送一条匿名的举报?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.mute": "静音", + "report.mute_explanation": "你将不会看到他们的嘟文。他们仍然可以关注你并看到你的嘟文,但他们不会知道他们被静音了。", "report.next": "Next", "report.placeholder": "备注", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "我不喜欢它", + "report.reasons.dislike_description": "这不是你想看到的东西", + "report.reasons.other": "其他原因", + "report.reasons.other_description": "该问题不符合其他类别", + "report.reasons.spam": "它是垃圾信息", + "report.reasons.spam_description": "恶意链接、虚假参与或重复性回复", + "report.reasons.violation": "它违反了服务器规则", + "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": "以下是您控制您在 Mastodon 上能看到哪些内容的选项:", + "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": "输入关键词检索所有你发送、喜欢、转嘟过或提及到你的嘟文,以及其他用户公开的用户名、昵称和话题标签。", @@ -432,9 +432,9 @@ "search_popout.tips.text": "输入关键词检索昵称、用户名和话题标签", "search_popout.tips.user": "用户", "search_results.accounts": "用户", - "search_results.all": "All", + "search_results.all": "全部", "search_results.hashtags": "话题标签", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "无法找到符合这些搜索词的任何内容", "search_results.statuses": "嘟文", "search_results.statuses_fts_disabled": "此Mastodon服务器未启用嘟文内容搜索。", "search_results.total": "共 {count, number} 个结果", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 9eff43307..4da14a475 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -167,7 +167,7 @@ "empty_column.community": "本機時間軸是空的。快公開嘟些文搶頭香啊!", "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": "似乎未能為您產生任何建議。您可以嘗試使用搜尋來尋找您可能認識的人,或是探索熱門主題標籤。", @@ -186,12 +186,12 @@ "error.unexpected_crash.next_steps_addons": "請嘗試關閉他們然後重新整理頁面。如果狀況沒有改善,您可以使用不同的瀏覽器或應用程式來檢視來使用 Mastodon。", "errors.unexpected_crash.copy_stacktrace": "複製 stacktrace 到剪貼簿", "errors.unexpected_crash.report_issue": "回報問題", - "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": "搜尋結果", + "explore.suggested_follows": "為您推薦", + "explore.title": "探索", + "explore.trending_links": "最新消息", + "explore.trending_statuses": "嘟文", + "explore.trending_tags": "主題標籤", "follow_recommendations.done": "完成", "follow_recommendations.heading": "跟隨您想檢視其貼文的人!這裡有一些建議。", "follow_recommendations.lead": "來自您跟隨的人的貼文將會按時間順序顯示在您的家 feed 上。不要害怕犯錯,您隨時都可以取消跟隨其他人!", @@ -307,7 +307,7 @@ "navigation_bar.preferences": "偏好設定", "navigation_bar.public_timeline": "聯邦時間軸", "navigation_bar.security": "安全性", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} 已經註冊", "notification.favourite": "{name} 把您的嘟文加入了最愛", "notification.follow": "{name} 跟隨了您", "notification.follow_request": "{name} 要求跟隨您", @@ -319,7 +319,7 @@ "notification.update": "{name} 編輯了嘟文", "notifications.clear": "清除通知", "notifications.clear_confirmation": "確定要永久清除您的通知嗎?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "新註冊帳號:", "notifications.column_settings.alert": "桌面通知", "notifications.column_settings.favourite": "最愛:", "notifications.column_settings.filter_bar.advanced": "顯示所有分類", @@ -387,43 +387,43 @@ "relative_time.seconds": "{number} 秒", "relative_time.today": "今天", "reply_indicator.cancel": "取消", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "封鎖", + "report.block_explanation": "您將不再看到他們的嘟文。他們將無法看到您的嘟文或是跟隨您。他們會被告知他們已被封鎖。", "report.categories.other": "其他", "report.categories.spam": "垃圾訊息", "report.categories.violation": "內容違反一項或多項伺服器條款", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.subtitle": "選擇最佳條件符合", + "report.category.title": "告訴我們這個 {type} 發生了什麼事", + "report.category.title_account": "個人檔案", + "report.category.title_status": "嘟文", + "report.close": "已完成", + "report.comment.title": "有什麼其他您想讓我們知道的嗎?", "report.forward": "轉寄到 {target}", "report.forward_hint": "這個帳戶屬於其他伺服器。要像該伺服器發送匿名的檢舉訊息嗎?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "靜音", + "report.mute_explanation": "您將不再看到他們的嘟文。他們仍能可以跟隨您以及察看您的嘟文,並且不會知道他們已被靜音。", + "report.next": "繼續", "report.placeholder": "其他備註", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "我不喜歡", + "report.reasons.dislike_description": "這是您不想看到的", + "report.reasons.other": "其他原因", + "report.reasons.other_description": "這個問題不屬於其他分類", + "report.reasons.spam": "垃圾訊息", + "report.reasons.spam_description": "有害連結,假造的互動,或是重複性回覆", + "report.reasons.violation": "違反伺服器規則", + "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": "以下是控制您想於 Mastodon 看到什麼內容之選項:", + "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": "輸入簡單的文字,搜尋由您撰寫、最愛、轉嘟或提您的嘟文,以及與關鍵詞匹配的使用者名稱、帳戶顯示名稱和主題標籤。", @@ -432,9 +432,9 @@ "search_popout.tips.text": "輸入簡單的文字,搜尋符合的使用者名稱,帳戶名稱與標籤", "search_popout.tips.user": "使用者", "search_results.accounts": "使用者", - "search_results.all": "All", + "search_results.all": "全部", "search_results.hashtags": "主題標籤", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "無法找到符合搜尋條件之結果", "search_results.statuses": "嘟文", "search_results.statuses_fts_disabled": "「依內容搜尋嘟文」未在此 Mastodon 伺服器啟用。", "search_results.total": "{count, number} 項結果", diff --git a/config/locales/activerecord.ast.yml b/config/locales/activerecord.ast.yml index 4dfa507fc..4f7c734d9 100644 --- a/config/locales/activerecord.ast.yml +++ b/config/locales/activerecord.ast.yml @@ -2,11 +2,10 @@ ast: activerecord: attributes: - poll: - options: Escoyetes - errors: - models: - account: - attributes: - username: - invalid: namái lletres, númberos y guiones baxos + user: + locale: Locale + password: Contraseña + user/account: + username: Nome d'usuariu + user/invite_request: + text: Motivu diff --git a/config/locales/activerecord.cy.yml b/config/locales/activerecord.cy.yml index 92fba043f..b007364df 100644 --- a/config/locales/activerecord.cy.yml +++ b/config/locales/activerecord.cy.yml @@ -5,13 +5,28 @@ cy: poll: expires_at: Terfyn amser options: Dewisiadau + user: + agreement: Cytundeb gwasanaeth + email: Cyfeiriad e-bost + locale: Locale + password: Cyfrinair + user/account: + username: Enw defnyddiwr + user/invite_request: + text: Rheswm errors: models: account: attributes: username: invalid: dim ond llythrennau, rhifau a tanlinellau + reserved: yn neilltuedig status: attributes: reblog: taken: o'r statws yn bodoli'n barod + user: + attributes: + email: + blocked: yn defnyddio darparwr e-bost nas caniateir + unreachable: nid yw'n bodoli diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 4501b39e8..62822b0b2 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -452,10 +452,7 @@ ar: add_new: إضافة created_msg: لقد دخل حظر نطاق البريد الإلكتروني حيّز الخدمة delete: حذف - destroyed_msg: تم حذف نطاق البريد الإلكتروني من اللائحة السوداء بنجاح domain: النطاق - empty: ليس هناك أية نطاقات للبريد الإلكتروني مُدرَجة في القائمة السوداء. - from_html: مِن %{domain} new: create: إضافة نطاق title: إضافة نطاق بريد جديد إلى اللائحة السوداء diff --git a/config/locales/ast.yml b/config/locales/ast.yml index a10bd5f2f..2a76b8773 100644 --- a/config/locales/ast.yml +++ b/config/locales/ast.yml @@ -5,6 +5,7 @@ ast: about_mastodon_html: 'La rede social del futuru: ¡ensin anuncios nin vixilancia, con un diseñu éticu y descentralizáu! Controla los tos datos con Mastodon.' about_this: Tocante a administered_by: 'Alministráu por:' + api: API apps: Aplicaciones pa móviles apps_platforms: Usa Mastodon dende Android, iOS y otres plataformes contact: Contautu @@ -27,7 +28,7 @@ ast: terms: Términos del serviciu unavailable_content_description: domain: Sirvidor - reason: Razón + reason: Motivu user_count_after: one: usuariu other: usuarios @@ -92,12 +93,22 @@ ast: domain: Dominiu instances: by_domain: Dominiu + private_comment: Comentariu priváu + public_comment: Comentariu públicu title: Federación invites: filter: available: Disponible expired: Caducó title: Invitaciones + ip_blocks: + expires_in: + '1209600': 2 selmanes + '15778476': 6 meses + '2629746': 1 mes + '31556952': 1 añu + '86400': 1 día + '94670856': 3 años relays: save_and_enable: Guardar y activar status: Estáu @@ -164,8 +175,8 @@ ast: web: Dir a la web datetime: distance_in_words: - half_a_minute: Púramente agora - less_than_x_seconds: Púramente agora + half_a_minute: Puramente agora + less_than_x_seconds: Puramente agora deletes: challenge_not_passed: La información qu'introduxesti nun yera correuta confirm_password: Introduz la contraseña pa verificar la to identidá @@ -176,6 +187,9 @@ ast: directory: Direutoriu de perfiles explanation: y descubri a usuarios según los sos intereses explore_mastodon: Esplora %{title} + disputes: + strikes: + appeal_rejected: Refugóse l'apellación errors: '400': The request you submitted was invalid or malformed. '403': Nun tienes permisu pa ver esta páxina. @@ -326,12 +340,31 @@ ast: sessions: browser: Restolador browsers: + alipay: Alipay + blackberry: Blackberry + chrome: Chrome + edge: Microsoft Edge + electron: Electron + firefox: Firefox generic: Restolador desconocíu + ie: Internet Explorer + micro_messenger: MicroMessenger current_session: Sesión actual description: "%{browser} en %{platform}" + ip: IP platforms: - mac: Mac + adobe_air: Adobe Air + android: Android + blackberry: Blackberry + chrome_os: Chrome OS + firefox_os: Firefox OS + ios: iOS + linux: GNU/Linux + mac: macOS other: plataforma desconocida + windows: Windows + windows_mobile: Windows Mobile + windows_phone: Windows Phone revoke: Revocar revoke_success: La sesión revocóse correutamente title: Sesiones @@ -383,6 +416,15 @@ ast: public_long: Tol mundu puen velos unlisted: Nun llistar unlisted_long: Tol mundu puen velos pero nun se llisten nes llinies temporales públiques + statuses_cleanup: + min_age: + '1209600': 2 selmanes + '15778476': 6 meses + '2629746': 1 mes + '31556952': 1 añu + '5259492': 2 meses + '63113904': 2 años + '7889238': 3 meses stream_entries: pinned: Barritu fixáu reblogged: compartió diff --git a/config/locales/br.yml b/config/locales/br.yml index 5d482b503..0f66b6fbc 100644 --- a/config/locales/br.yml +++ b/config/locales/br.yml @@ -126,7 +126,6 @@ br: add_new: Ouzhpenniñ unan nevez delete: Dilemel domain: Domani - from_html: eus %{domain} new: create: Ouzhpenniñ un domani instances: diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 6cec7b3f8..11cd14566 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -467,15 +467,22 @@ ca: view: Veure el bloqueig del domini email_domain_blocks: add_new: Afegir nou + attempts_over_week: + one: "%{count} intent en la darrera setmana" + other: "%{count} intents de registre en la darrera setmana" created_msg: S'ha creat el bloc de domini de correu electrònic delete: Suprimeix - destroyed_msg: S'ha eliminat correctament el bloc del domini de correu + dns: + types: + mx: Registre MX domain: Domini - empty: Cap domini de correu a la llista negre. - from_html: des de %{domain} new: create: Afegir un domini + resolve: Resol domini title: Nova adreça de correu en la llista negra + no_email_domain_block_selected: No s'han canviat els bloquejos de domini perquè cap s'ha seleccionat + resolved_dns_records_hint_html: El nom del domini resol als següents dominis MX, els quals son els responsables finals per a acceptar els correus. Bloquejar un domini MX bloquejarà els registres des de qualsevol adreça de correu que utilitzi el mateix domini MX, encara que el nom visible del domini sigui diferent. Ves amb compte no bloquegis els grans proveïdors de correu electrònic. + resolved_through_html: Resolt mitjançant %{domain} title: Llista negra de correus electrònics follow_recommendations: description_html: "Seguir les recomanacions ajuda als nous usuaris a trobar ràpidament contingut interessant. Quan un usuari no ha interactuat prou amb d'altres com per a formar a qui seguir personalment, aquests comptes li seran recomanats. Es recalculen a diari a partir d'una barreja de comptes amb els compromisos recents més alts i el nombre més alt de seguidors locals per a un idioma determinat." @@ -610,6 +617,7 @@ ca: title: Notes notes_description_html: Veu i deixa notes als altres moderadors i a tu mateix quick_actions_description_html: 'Pren una acció ràpida o desplaça''t avall per a veure el contingut reportat:' + remote_user_placeholder: l'usuari remot des de %{instance} reopen: Reobre l'informe report: 'Informe #%{id}' reported_account: Compte reportat @@ -780,6 +788,15 @@ ca: rejected: Els enllaços d'aquest mitjà no poden estar en tendència title: Mitjans rejected: Rebutjat + statuses: + allow: Permet publicació + allow_account: Permet autor + disallow: Rebutja publicació + disallow_account: Rebutja autor + shared_by: + one: Compartit o afavorit una vegada + other: Compartit i afavorit %{friendly_count} vegades + title: Publicacions en tendència tags: current_score: Puntuació actual %{score} dashboard: @@ -828,16 +845,21 @@ ca: body: "%{reporter} ha informat de %{target}" body_remote: Algú des de el domini %{domain} ha informat sobre %{target} subject: Informe nou per a %{instance} (#%{id}) - new_trending_links: - body: Els enllaços següents son tendència avui però els seus mitjans no han estat verificats. No seran mostrats públicament fins que els aprovis. No es generaran noves notificacions dels mateixos mitjans. - no_approved_links: Actualment no hi ha enllaços en tendència aprovats. - requirements: L'enllaç en tendència més baixa aprovat és actualment "%{lowest_link_title}" amb una puntuació de %{lowest_link_score}. - subject: Nou enllaços en tendència pendents de revisar a %{instance} - new_trending_tags: - body: 'Les següents etiquetes son tendència avui però no han estat prèviament revisades. No seran mostrades públicament fins que les aprovis:' - no_approved_tags: Actualment no hi ha etiquetes en tendència aprovades. - requirements: L'etiqueta en tendència més baixa aprovada és actualment "%{lowest_tag_name}" amb una puntuació de %{lowest_tag_score}. - subject: Noves etiquetes en tendència pendents de ser revisades a %{instance} + new_trends: + body: 'Els següents elements necessiten una revisió abans de que puguin ser mostrats públicament:' + new_trending_links: + no_approved_links: Actualment no hi ha enllaços en tendència aprovats. + requirements: 'Qualsevol d''aquests candidats podria superar el #%{rank} del enllaç en tendència aprovat, que actualment és "%{lowest_link_title}" amb una puntuació de %{lowest_link_score}.' + title: Enllaços en tendència + new_trending_statuses: + no_approved_statuses: Actualment no hi ha etiquetes en tendència aprovades. + requirements: 'Qualsevol d''aquests candidats podria superar el #%{rank} de la publicació en tendència aprovada, que actualment és "%{lowest_status_url}" amb una puntuació de %{lowest_status_score}.' + title: Publicacions en tendència + new_trending_tags: + no_approved_tags: Actualment no hi ha etiquetes en tendència aprovades. + requirements: 'Qualsevol d''aquests candidats podria superar el #%{rank} de la etiqueta en tendència aprovada, que actualment és "%{lowest_tag_name}" amb una puntuació de %{lowest_tag_score}.' + title: Etiquetes en tendència + subject: Noves tendències pendents de revisar a %{instance} aliases: add_new: Crea un àlies created_msg: Nou àlies creat amb èxit. Ara pots iniciar el moviment des de'l compte vell. @@ -1176,6 +1198,9 @@ ca: carry_mutes_over_text: Aquest usuari s’ha mogut des de %{acct}, que havies silenciat. copy_account_note_text: 'Aquest usuari s’ha mogut des de %{acct}, aquí estaven les teves notes prèvies sobre ell:' notification_mailer: + admin: + sign_up: + subject: "%{name} s'ha registrat" digest: action: Mostra totes les notificacions body: Un resum del que et vas perdre des de la darrera visita el %{since} diff --git a/config/locales/co.yml b/config/locales/co.yml index 8a6051d05..4d5327aef 100644 --- a/config/locales/co.yml +++ b/config/locales/co.yml @@ -426,10 +426,7 @@ co: add_new: Aghjunghje created_msg: U blucchime di u duminiu d’e-mail hè attivu delete: Toglie - destroyed_msg: U blucchime di u duminiu d’e-mail ùn hè più attivu domain: Duminiu - empty: Ùn c'hè manc'un duminiu d'email in lista nera. - from_html: da %{domain} new: create: Creà un blucchime title: Nova iscrizzione nant’a lista nera e-mail diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 7762890e6..0db4bd7e5 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -445,10 +445,7 @@ cs: add_new: Přidat created_msg: E-mailová doména úspěšně zablokována delete: Smazat - destroyed_msg: E-mailová doména úspěšně odblokována domain: Doména - empty: Žádné e-mailové domény nejsou aktuálně blokovány. - from_html: z domény %{domain} new: create: Přidat doménu title: Blokovat novou e-mailovou doménu @@ -749,16 +746,6 @@ cs: body: Uživatel %{reporter} nahlásil uživatele %{target} body_remote: Někdo z domény %{domain} nahlásil uživatele %{target} subject: Nové hlášení pro %{instance} (#%{id}) - new_trending_links: - body: Následující odkazy jsou dnes populární, ale jejich vydavatelé zatím nebyli posouzeni. Nebudou veřejně zobrazeny, pokud je neschválíte. Pro stejné vydavatele už další upozornění nedostanete. - no_approved_links: Momentálně nejsou žádné schválené populární odkazy. - requirements: Nejnižší schválený populární odkaz je momentálně "%{lowest_link_title}" se skóre %{lowest_link_score}. - subject: Nové populární odkazy k posouzení na %{instance} - new_trending_tags: - body: 'Následující hashtagy jsou dnes populární, ale nebyly dříve přezkoumány. Nebudou zobrazeny veřejně, pokud je neschválíte:' - no_approved_tags: Momentálně nejsou žádné schválené populární hashtagy. - requirements: Nejnižší schválený populární hashtag je momentálně "%{lowest_tag_name}" se skóre %{lowest_tag_score}. - subject: Nové populární hashtagy k posouzení na %{instance} aliases: add_new: Vytvořit alias created_msg: Nový alias byl úspěšně vytvořen. Nyní můžete zahájit přesun ze starého účtu. diff --git a/config/locales/cy.yml b/config/locales/cy.yml index 0af3f175d..066a54cbc 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -140,6 +140,7 @@ cy: header: Pennawd inbox_url: URL Mewnflwch invited_by: Gwahoddwyd gan + ip: IP joined: Ymunodd location: all: Popeth @@ -194,6 +195,7 @@ cy: silenced: Tawelwyd statuses: Statysau subscribe: Tanysgrifio + suspend: Atal suspended: Ataliwyd title: Cyfrifon unconfirmed_email: E-bost heb ei gadarnhau @@ -221,6 +223,7 @@ cy: destroy_domain_allow: Dileu Alluogiad Parth destroy_domain_block: Dileu Gwaharddiad Parth destroy_email_domain_block: Dileu gwaharddiad parth ebost + destroy_ip_block: Dileu rheol IP destroy_status: Dileu Statws disable_2fa_user: Diffodd 2FA disable_custom_emoji: Analluogi Emoji Addasiedig @@ -342,10 +345,10 @@ cy: add_new: Ychwanegu created_msg: Llwyddwyd i ychwanegu parth e-bost i'r gosbrestr delete: Dileu - destroyed_msg: Llwyddwyd i ddileu parth e-bost o'r gosbrestr + dns: + types: + mx: Cofnod MX domain: Parth - empty: Dim parthiau ebost ar y rhestr rhwystro. - from_html: o %{domain} new: create: Ychwanegu parth title: Cofnod newydd yng nghosbrestr e-byst diff --git a/config/locales/da.yml b/config/locales/da.yml index d1bc57a88..8d9be5f18 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -464,15 +464,22 @@ da: view: Vis domæneblokering email_domain_blocks: add_new: Tilføj ny + attempts_over_week: + one: "%{count} tilmeldingsforsøg over den seneste uge" + other: "%{count} tilmeldingsforsøg over den seneste uge" created_msg: E-maildomæne blokeret delete: Slet - destroyed_msg: E-maildomæne afblokeret + dns: + types: + mx: MX-post domain: Domæne - empty: Ingen e-maildomæner er pt. blokeret. - from_html: fra %{domain} new: create: Tilføj domæne + resolve: Opløs domæne title: Blokere nyt e-maildomæne + no_email_domain_block_selected: Ingen e-mailblokeringer ændret, da ingen var valgt + resolved_dns_records_hint_html: Domænenavnet opløses til flg. MX-domæner, som i sidste ende er ansvarlige for e-mailmodtagelse. Blokering af et MX-domæne blokerer også tilmeldinger fra enhver e-mailadresse på det pågældende MX-domæne, selv hvis det synlige domænenavn er et andet. Pas på ikke ikke at blokere store e-mailudbydere. + resolved_through_html: Opløst via %{domain} title: Blokerede e-maildomæner follow_recommendations: description_html: "Følg-anbefalinger hjælpe nye brugere til hurtigt at finde interessant indhold. Når en bruger ikke har interageret nok med andre til at danne personlige følg-anbefalinger, anbefales disse konti i stedet. De genberegnes dagligt baseret på en blanding af konti med de fleste nylige engagementer og fleste lokale følger-antal for et givet sprog." @@ -605,6 +612,7 @@ da: title: Notater notes_description_html: Se og skriv notater til andre moderatorer og dit fremtid selv quick_actions_description_html: 'Træf en hurtig foranstaltning eller rul ned for at se anmeldt indhold:' + remote_user_placeholder: fjernbrugeren fra %{instance} reopen: Genåbn anmeldelse report: 'Anmeldelse #%{id}' reported_account: Anmeldt konto @@ -775,6 +783,15 @@ da: rejected: Links fra denne udgiver vil ikke trende title: Udgivere rejected: Afvist + statuses: + allow: Tillad indlæg + allow_account: Tillad forfatter + disallow: Forbyd indlæg + disallow_account: Forbyd forfatter + shared_by: + one: Delt eller favoriseret én gang + other: Delt eller favoriseret %{friendly_count} gange + title: Populære opslag tags: current_score: Aktuel score %{score} dashboard: @@ -813,7 +830,7 @@ da: sensitive: for markering af vedkommendes konto som sensitiv silence: for begrænsning af vedkommendes konto suspend: for suspendering af vedkommendes konto - body: "%{target} appellerer en moderationsbeslutning fra %{action_taken_by} pr. %{date}, der var %{type}. Vedkommende skrev:" + body: "%{target} appellerer en moderationsbeslutning fra %{action_taken_by} pr. %{date} om at %{type}. Vedkommende skrev:" next_steps: Appellen kan godkendes for at fortryde moderationsbeslutningen eller den ignoreres. subject: "%{username} appellerer en moderationsbeslutning for %{instance}" new_pending_account: @@ -823,16 +840,21 @@ da: body: "%{reporter} har anmeldt %{target}" body_remote: Nogen fra %{domain} har anmeldt %{target} subject: Ny anmeldelse for %{instance} (#%{id}) - new_trending_links: - body: De flg. links er populære i dag, men deres udgivere er ikke tidligere blevet revideret. De vil ikke blive vist offentligt, medmindre du godkender dem. Yderligere notifikationer fra de samme udgivere genereres ikke. - no_approved_links: Der er i pt. ingen godkendte populære links. - requirements: Det laveste godkendte populære link er pt. "%{lowest_link_title}" med en score på %{lowest_link_score}. - subject: Nye populære links er klar til revidering på %{instance} - new_trending_tags: - body: 'Flg. hashtags er populære i dag, men de er ikke tidligere revideret. De vises ikke offentligt, medmindre du godkender dem:' - no_approved_tags: Der er pt. ingen godkendte populære hashtags. - requirements: 'Det laveste godkendte populære hashtags er pt. #%{lowest_tag_name} med en score på %{lowest_tag_score}.' - subject: Nye populære hashtags er klar til revidering på %{instance} + new_trends: + body: 'Flg. emner kræver revision, inden de kan vises offentligt:' + new_trending_links: + no_approved_links: Der er i pt. ingen godkendte populære links. + requirements: 'Enhver af disse kandidater vil kunne overgå #%{rank} godkendte populære link, der med en score på %{lowest_link_score} pt. er "%{lowest_link_title}".' + title: Populære links + new_trending_statuses: + no_approved_statuses: Der er i pt. ingen godkendte populære opslag. + requirements: 'Enhver af disse kandidater vil kunne overgå #%{rank} godkendte populære opslag, der med en score på %{lowest_status_score} pt. er %{lowest_status_url}.' + title: Populære opslag + new_trending_tags: + no_approved_tags: Der er pt. ingen godkendte populære hashtags. + requirements: 'Enhver af disse kandidater vil kunne overgå #%{rank} godkendte populære hastag, der med en score på #%{lowest_tag_score} pt. er %{lowest_tag_name}.' + title: Populære hashtags + subject: Nye tendenser klar til revision på %{instance} aliases: add_new: Opret alias created_msg: Nyt alias oprettet. Du kan nu påbegynde flytningen fra den gamle konto. @@ -1170,6 +1192,9 @@ da: carry_mutes_over_text: Denne bruger er flyttet fra %{acct}, som du har haft tavsgjort. copy_account_note_text: 'Denne bruger er flyttet fra %{acct}, her er dine tidligere noter om dem:' notification_mailer: + admin: + sign_up: + subject: "%{name} tilmeldte sig" digest: action: Se alle notifikationer body: Her er et kort resumé af de beskeder, du er gået glip af siden dit seneste besøg d. %{since} diff --git a/config/locales/de.yml b/config/locales/de.yml index edb918e67..33e2e648b 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -393,6 +393,18 @@ de: media_storage: Medienspeicher new_users: Neue Benutzer opened_reports: Erstellte Meldungen + pending_appeals_html: + one: "%{count} ausstehender Einspruch" + other: "%{count} ausstehende Einsprüche" + pending_reports_html: + one: "%{count} ausstehende Meldung" + other: "%{count} ausstehende Meldungen" + pending_tags_html: + one: "%{count} ausstehender Hashtag" + other: "%{count} ausstehende Hashtags" + pending_users_html: + one: "%{count} ausstehender Benutzer" + other: "%{count} ausstehende Benutzer" resolved_reports: Gelöste Meldungen software: Software sources: Registrierungsquellen @@ -442,6 +454,10 @@ de: silence: stummgeschaltet suspend: gesperrt show: + affected_accounts: + one: Ein Konto in der Datenbank betroffen + other: "%{count} Konten in der Datenbank betroffen" + zero: Kein Konto in der Datenbank ist betroffen retroactive: silence: Alle existierenden Konten dieser Domain nicht mehr stummschalten suspend: Alle existierenden Konten dieser Domain entsperren @@ -451,15 +467,22 @@ de: view: Zeige Domain-Blockade email_domain_blocks: add_new: Neue hinzufügen + attempts_over_week: + one: "%{count} Registrierungsversuch in der letzten Woche" + other: "%{count} Registrierungsversuche in der letzten Woche" created_msg: E-Mail-Domain-Blockade erfolgreich erstellt delete: Löschen - destroyed_msg: E-Mail-Domain-Blockade erfolgreich gelöscht + dns: + types: + mx: MX-Record domain: Domain - empty: Keine E-Mail-Domains sind momentan auf der Blacklist. - from_html: von %{domain} new: create: Blockade erstellen + resolve: Domain auflösen title: Neue E-Mail-Domain-Blockade + no_email_domain_block_selected: Es wurden keine E-Mail-Domain-Blockierungen geändert, da keine ausgewählt wurden + resolved_dns_records_hint_html: Der Domain-Name wird an die folgenden MX-Domains aufgelöst, die letztendlich für die Annahme von E-Mails verantwortlich sind. Das Blockieren einer MX-Domain blockiert Anmeldungen von jeder E-Mail-Adresse, die dieselbe MX-Domain verwendet, auch wenn der sichtbare Domainname anders ist. Achte darauf große E-Mail-Anbieter nicht zu blockieren. + resolved_through_html: Durch %{domain} aufgelöst title: E-Mail-Domain-Blockade follow_recommendations: description_html: "Folgeempfehlungen helfen neuen Nutzern dabei, schnell interessante Inhalte zu finden. Wenn ein Nutzer noch nicht genug mit anderen interagiert hat, um personalisierte Folgeempfehlungen zu erstellen, werden stattdessen diese Benutzerkonten verwendet. Sie werden täglich basiert auf einer Mischung aus am meisten interagierenden Benutzerkonten und solchen mit den meisten Folgenden für eine bestimmte Sprache neuberechnet." @@ -492,6 +515,10 @@ de: delivery_error_hint: Wenn eine Lieferung für %{count} Tage nicht möglich ist, wird sie automatisch als nicht lieferbar markiert. destroyed_msg: Daten von %{domain} sind nun in der Warteschlange für die bevorstehende Löschung. empty: Keine Domains gefunden. + known_accounts: + one: "%{count} bekanntes Konto" + other: "%{count} bekannte Konten" + zero: Kein bekanntes Konto moderation: all: Alle limited: Beschränkt @@ -590,6 +617,7 @@ de: title: Notizen notes_description_html: Zeige und hinterlasse Notizen an andere Moderatoren und dein zukünftiges Selbst quick_actions_description_html: 'Führe eine schnelle Aktion aus oder scrolle nach unten, um gemeldete Inhalte zu sehen:' + remote_user_placeholder: der entfernte Benutzer von %{instance} reopen: Meldung wieder eröffnen report: 'Meldung #%{id}' reported_account: Gemeldetes Konto @@ -748,6 +776,10 @@ de: allow_provider: Erlaube Herausgeber disallow: Verbiete Link disallow_provider: Verbiete Herausgeber + shared_by_over_week: + one: In der letzten Woche geteilt von einer Person + other: In der letzten Woche geteilt von %{count} Personen + zero: Geteilt von niemandem in der letzten Woche title: Angesagte Links usage_comparison: Heute %{today} mal geteilt, gestern %{yesterday} mal pending_review: Überprüfung ausstehend @@ -756,6 +788,15 @@ de: rejected: Links von diesem Herausgeber können nicht angesagt sein title: Herausgeber rejected: Abgelehnt + statuses: + allow: Beitrag erlauben + allow_account: Autor erlauben + disallow: Beitrag verbieten + disallow_account: Autor verbieten + shared_by: + one: Einmal geteilt oder favorisiert + other: "%{friendly_count} mal geteilt oder favorisiert" + title: Angesagte Beiträge tags: current_score: Aktuelle Punktzahl %{score} dashboard: @@ -774,6 +815,10 @@ de: trending_rank: 'Trend #%{rank}' usable: Kann verwendet werden usage_comparison: Heute %{today} mal genutzt, gestern %{yesterday} mal + used_by_over_week: + one: In der letzten Woche genutzt von einer Person + other: In der letzten Woche genutzt von %{count} Personen + zero: Genutzt von niemandem in der letzten Woche title: Trends warning_presets: add_new: Neu hinzufügen @@ -800,16 +845,21 @@ de: body: "%{reporter} hat %{target} gemeldet" body_remote: Jemand von %{domain} hat %{target} gemeldet subject: Neue Meldung auf %{instance} (#%{id}) - new_trending_links: - body: Die folgenden Links sind heute in den Trends, aber der Ursprung wurde bisher nicht überprüft. Sie werden nicht öffentlich angezeigt, es sei denn, du genehmigst sie. Sollten weitere Links vom selben Ursprung trenden, müssen sie nicht vorher überprüft werden. - no_approved_links: Derzeit sind keine Links hinterlegt, die genehmigt wurden. - requirements: Der am wenigsten genehmigte Trend-Link ist derzeit "%{lowest_link_title}" mit einer Punktzahl von %{lowest_link_score}. - subject: Neue Trend-Links zur Überprüfung auf %{instance} - new_trending_tags: - body: 'Die folgenden Hashtags trenden heute, aber sie wurden bisher nicht überprüft. Sie werden nicht öffentlich angezeigt, es sei denn, du genehmigst sie:' - no_approved_tags: Derzeit gibt es keine genehmigten trendene Hashtags. - requirements: 'Der am wenigsten genehmigte trendene Hashtag ist derzeit #%{lowest_tag_name} mit einer Punktzahl von %{lowest_tag_score}.' - subject: Neuer Hashtag zur Überprüfung auf %{instance} verfügbar + new_trends: + body: 'Die folgenden Einträge müssen überprüft werden, bevor sie öffentlich angezeigt werden können:' + new_trending_links: + no_approved_links: Derzeit sind keine trendenen Links hinterlegt, die genehmigt wurden. + requirements: 'Jeder dieser Kandidaten könnte den #%{rank} genehmigten trendenen Link übertreffen, der derzeit "%{lowest_link_title}" mit einer Punktzahl von %{lowest_link_score} ist.' + title: Angesagte Links + new_trending_statuses: + no_approved_statuses: Derzeit sind keine trendenen Beiträge hinterlegt, die genehmigt wurden. + requirements: 'Jeder dieser Kandidaten könnte den #%{rank} genehmigten trendenen Beitrag übertreffen, der derzeit "%{lowest_status_url}" mit einer Punktzahl von %{lowest_status_score} ist.' + title: Angesagte Beiträge + new_trending_tags: + no_approved_tags: Derzeit gibt es keine genehmigten trendenen Hashtags. + requirements: 'Jeder dieser Kandidaten könnte den #%{rank} genehmigten trendenen Hashtag übertreffen, der derzeit "%{lowest_tag_name}" mit einer Punktzahl von %{lowest_tag_score} ist.' + title: Angesagte Hashtags + subject: Neue Trends zur Überprüfung auf %{instance} aliases: add_new: Alias erstellen created_msg: Ein neuer Alias wurde erfolgreich erstellt. Du kannst nun den Wechsel vom alten Konto starten. @@ -1148,6 +1198,9 @@ de: carry_mutes_over_text: Dieses Benutzerkonto ist von %{acct} umgezogen, welches du stummgeschaltet hast. copy_account_note_text: 'Dieser Benutzer ist von %{acct} umgezogen, hier waren deine letzten Notizen zu diesem Benutzer:' notification_mailer: + admin: + sign_up: + subject: "%{name} registrierte sich" digest: action: Zeige alle Benachrichtigungen body: Hier ist eine kurze Zusammenfassung der Nachrichten, die du seit deinem letzten Besuch am %{since} verpasst hast diff --git a/config/locales/doorkeeper.ast.yml b/config/locales/doorkeeper.ast.yml index b9ab81618..6d12751d7 100644 --- a/config/locales/doorkeeper.ast.yml +++ b/config/locales/doorkeeper.ast.yml @@ -17,6 +17,7 @@ ast: doorkeeper: applications: buttons: + authorize: Autorizar cancel: Encaboxar destroy: Destruyir edit: Editar @@ -40,6 +41,9 @@ ast: scopes: Ámbitos title: 'Aplicación: %{name}' authorizations: + buttons: + authorize: Autorizar + deny: Negar error: title: Asocedió un fallu new: diff --git a/config/locales/el.yml b/config/locales/el.yml index 8bc71c0b7..328c28186 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -373,12 +373,15 @@ el: view: Εμφάνιση αποκλεισμού τομέα email_domain_blocks: add_new: Πρόσθεση νέου + attempts_over_week: + one: "%{count} προσπάθεια την τελευταία εβδομάδα" + other: "%{count} προσπάθειες εγγραφής την τελευταία εβδομάδα" created_msg: Επιτυχής πρόσθεση email τομέα σε μαύρη λίστα delete: Διαγραφή - destroyed_msg: Επιτυχής διαγραφή email τομέα από τη μαύρη λίστα + dns: + types: + mx: Εγγραφή MX domain: Τομέας - empty: Δεν έχουν οριστεί αποκλεισμένοι τομείς email. - from_html: από %{domain} new: create: Πρόσθεση τομέα title: Νέα εγγραφή email στη μαύρη λίστα @@ -481,6 +484,7 @@ el: placeholder: Περιέγραψε τις ενέργειες που έγιναν, ή οποιαδήποτε άλλη ενημέρωση... title: Σημειώσεις quick_actions_description_html: 'Κάντε μια γρήγορη ενέργεια ή μετακινηθείτε προς τα κάτω για να δείτε το αναφερόμενο περιεχόμενο:' + remote_user_placeholder: ο απομακρυσμένος χρήστης από %{instance} reopen: Ξανάνοιξε την καταγγελία report: 'Καταγγελία #%{id}' reported_account: Αναφερόμενος λογαριασμός @@ -925,6 +929,9 @@ el: carry_mutes_over_text: Ο/Η χρήστης μετακόμισε από το %{acct}, που είχες αποσιωπήσει. copy_account_note_text: 'Ο/Η χρήστης μετακόμισε από το %{acct}, ορίστε οι προηγούμενες σημειώσεις σου:' notification_mailer: + admin: + sign_up: + subject: "%{name} έχει εγγραφεί" digest: action: Δες όλες τις ειδοποιήσεις body: Μια σύνοψη των μηνυμάτων που έχασες από την τελευταία επίσκεψή σου στις %{since} diff --git a/config/locales/eo.yml b/config/locales/eo.yml index e44496f05..5a922e6a4 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -379,10 +379,7 @@ eo: add_new: Aldoni novan created_msg: Retadreso sukcese aldonita al la nigra listo delete: Forigi - destroyed_msg: Retadreso sukcese forigita de la nigra listo domain: Domajno - empty: Neniu retadresa domajno nune estas en la nigra listo. - from_html: de %{domain} new: create: Aldoni domajnon title: Nova blokado de retadresa domajno diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index c901394bb..8956f8dd7 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -467,15 +467,22 @@ es-AR: view: Ver bloqueo de dominio email_domain_blocks: add_new: Agregar nuevo + attempts_over_week: + one: "%{count} intento durante la última semana" + other: "%{count} intentos durante la última semana" created_msg: Se bloqueó el dominio de correo electrónico exitosamente delete: Eliminar - destroyed_msg: Se desbloqueó el dominio de correo electrónico exitosamente + dns: + types: + mx: Registro MX domain: Dominio - empty: Actualmente no hay dominios de correo electrónico bloqueados. - from_html: de %{domain} new: create: Agregar dominio + resolve: Resolver dominio title: Bloquear nuevo dominio de correo electrónico + no_email_domain_block_selected: No se cambiaron bloques de dominio ya que no se seleccionó ninguno + resolved_dns_records_hint_html: El nombre de dominio resuelve los siguientes dominios MX, los cuales son responsables en última instancia de aceptar el correo electrónico. Bloquear un dominio MX bloqueará los registros de cualquier dirección de correo electrónico que utilice el mismo dominio MX, incluso si el nombre de dominio visible es diferente. Tené cuidado de no bloquear los principales proveedores de correo electrónico. + resolved_through_html: Resuelto a través de %{domain} title: Dominios bloqueados de correo electrónico follow_recommendations: description_html: "Las recomendaciones de cuentas para seguir ayudan a los nuevos usuarios a encontrar rápidamente contenido interesante. Cuando un usuario no ha interactuado con otros lo suficiente como para formar recomendaciones personalizadas de seguimiento, se recomiendan estas cuentas, en su lugar. Se recalculan diariamente a partir de una mezcla de cuentas con las interacciones más recientes y el mayor número de seguidores para un idioma determinado." @@ -610,6 +617,7 @@ es-AR: title: Notas notes_description_html: Ver y dejar notas para otros moderadores y como referencia futura quick_actions_description_html: 'Tomá una acción rápida o desplazate hacia abajo para ver el contenido denunciado:' + remote_user_placeholder: el usuario remoto de %{instance} reopen: Reabrir denuncia report: 'Denuncia #%{id}' reported_account: Cuenta denunciada @@ -780,6 +788,15 @@ es-AR: rejected: Los enlaces de este medio no serán tendencia title: Medios rejected: Rechazadas + statuses: + allow: Permitir mensaje + allow_account: Permitir autor + disallow: Rechazar mensaje + disallow_account: Rechazar autor + shared_by: + one: Compartido o marcado como favorito una vez + other: Compartido y marcado como favorito %{friendly_count} veces + title: Mensajes en tendencia tags: current_score: Puntuación actual %{score} dashboard: @@ -828,16 +845,21 @@ es-AR: body: "%{reporter} denunció a %{target}" body_remote: Alguien de %{domain} denunció a %{target} subject: Nueva denuncia para %{instance} (#%{id}) - new_trending_links: - body: Los siguientes enlaces están en tendencia hoy, pero sus medios de origen no han sido revisados previamente. No se mostrarán públicamente a menos que los aprobés. No se generarán más notificaciones de estos medios. - no_approved_links: Actualmente no hay enlaces en tendencia aprobados. - requirements: El enlace en tendencia aprobado más bajo actualmente es "%{lowest_link_title}" con una puntuación de %{lowest_link_score}. - subject: Nuevos enlaces en tendencia esperando ser revisados en %{instance} - new_trending_tags: - body: 'Las siguientes etiquetas están en tendencia hoy, pero no han sido revisadas previamente. No se mostrarán públicamente a menos que las aprobés:' - no_approved_tags: Actualmente no hay ninguna etiqueta en tendencia aprobada. - requirements: La etiqueta en tendencia aprobada más baja actualmente es "%{lowest_tag_name}" con una puntuación de %{lowest_tag_score}. - subject: Nuevas etiquetas en tendencia esperando ser revisadas en %{instance} + new_trends: + body: 'Los siguientes elementos necesitan una revisión antes de que se puedan mostrar públicamente:' + new_trending_links: + no_approved_links: Actualmente no hay enlaces en tendencia aprobados. + requirements: 'Cualquiera de estos candidatos podría superar el enlace de tendencia aprobado de #%{rank}, que actualmente es "%{lowest_link_title}" con una puntuación de %{lowest_link_score}.' + title: Enlaces en tendencia + new_trending_statuses: + no_approved_statuses: Actualmente no hay mensajes en tendencia aprobados. + requirements: 'Cualquiera de estos candidatos podría superar el mensaje de tendencia aprobado de #%{rank}, que actualmente es %{lowest_status_url} con una puntuación de %{lowest_status_score}.' + title: Mensajes en tendencia + new_trending_tags: + no_approved_tags: Actualmente no hay etiquetas en tendencia aprobadas. + requirements: 'Cualquiera de estos candidatos podría superar la etiqueta en tendencia aprobada de #%{rank}, que actualmente es #%{lowest_tag_name} con una puntuación de %{lowest_tag_score}.' + title: Etiquetas en tendencia + subject: Nuevas tendencias para revisar en %{instance} aliases: add_new: Crear alias created_msg: El nuevo alias se creó exitosamente. Ahora podés empezar la mudanza desde la cuenta vieja. @@ -1176,6 +1198,9 @@ es-AR: carry_mutes_over_text: Este usuario se mudó desde %{acct}, que habías silenciado. copy_account_note_text: 'Este usuario se mudó desde %{acct}, acá están tus notas previas sobre él/ella:' notification_mailer: + admin: + sign_up: + subject: Se registró %{name} digest: action: Ver todas las notificaciones body: Acá tenés un resumen de los mensajes que te perdiste desde tu última visita, el %{since} diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index 06716034b..707e279c4 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -393,6 +393,18 @@ es-MX: media_storage: Almacenamiento multimedia new_users: nuevos usuarios opened_reports: informes abiertos + pending_appeals_html: + one: "%{count} apelación pendiente" + other: "%{count} apelaciones pendientes" + pending_reports_html: + one: "%{count} informe pendiente" + other: "%{count} informes pendientes" + pending_tags_html: + one: "%{count} etiqueta pendiente" + other: "%{count} etiquetas pendientes" + pending_users_html: + one: "%{count} usuario pendiente" + other: "%{count} usuarios pendientes" resolved_reports: informes resueltos software: Software sources: Fuentes de registro @@ -442,6 +454,10 @@ es-MX: silence: silenciado suspend: suspendido show: + affected_accounts: + one: Una cuenta en la base de datos afectada + other: "%{count} cuentas en la base de datos afectada" + zero: Ninguna cuenta en la base de datos está afectada retroactive: silence: Des-silenciar todas las cuentas existentes de este dominio suspend: Des-suspender todas las cuentas existentes de este dominio @@ -451,15 +467,22 @@ es-MX: view: Ver dominio bloqueado email_domain_blocks: add_new: Añadir nuevo + attempts_over_week: + one: "%{count} intento durante la última semana" + other: "%{count} intentos de registro durante la última semana" created_msg: Dominio de correo añadido a la lista negra con éxito delete: Borrar - destroyed_msg: Dominio de correo borrado de la lista negra con éxito + dns: + types: + mx: Registro MX domain: Dominio - empty: Actualmente no hay dominios de correo electrónico en la lista negra. - from_html: de %{domain} new: create: Añadir dominio + resolve: Resolver dominio title: Nueva entrada en la lista negra de correo + no_email_domain_block_selected: No se han cambiado bloqueos de dominio ya que ninguno ha sido seleccionado + resolved_dns_records_hint_html: El nombre de dominio resuelve los siguientes dominios MX, los cuales son responsables en última instancia de aceptar el correo electrónico. Bloquear un dominio MX bloqueará los registros de cualquier dirección de correo electrónico que utilice el mismo dominio MX, incluso si el nombre de dominio visible es diferente. Tenga cuidado de no bloquear los principales proveedores de correo electrónico. + resolved_through_html: Resuelto a través de %{domain} title: Lista negra de correo follow_recommendations: description_html: "Las recomendaciones de cuentas ayudan a los nuevos usuarios a encontrar rápidamente contenido interesante. Cuando un usuario no ha interactuado con otros lo suficiente como para suscitar recomendaciones personalizadas de cuentas a las que seguir, en su lugar se le recomiendan estas cuentas. Se recalculan diariamente a partir de una mezcla de cuentas con el mayor número de interacciones recientes y con el mayor número de seguidores locales con un idioma determinado." @@ -492,6 +515,10 @@ es-MX: delivery_error_hint: Si la entrega no es posible a lo largo de %{count} días, se marcará automáticamente como no entregable. destroyed_msg: Los datos de %{domain} están ahora en cola para su inminente eliminación. empty: No se encontraron dominios. + known_accounts: + one: "%{count} cuenta conocida" + other: "%{count} cuentas conocidas" + zero: Ninguna cuenta conocida moderation: all: Todos limited: Limitado @@ -590,6 +617,7 @@ es-MX: title: Notas notes_description_html: Ver y dejar notas a otros moderadores y a tu yo futuro quick_actions_description_html: 'Toma una acción rápida o desplázate hacia abajo para ver el contenido denunciado:' + remote_user_placeholder: el usuario remoto de %{instance} reopen: Reabrir denuncia report: 'Reportar #%{id}' reported_account: Cuenta reportada @@ -748,6 +776,10 @@ es-MX: allow_provider: Permitir medio disallow: Rechazar enlace disallow_provider: Rechazar medio + shared_by_over_week: + one: Compartido por una persona en la última semana + other: Compartido por %{count} personas durante la última semana + zero: Compartido por nadie en la última semana title: Enlaces en tendencia usage_comparison: Compartido %{today} veces hoy, comparado con %{yesterday} ayer pending_review: Revisión pendiente @@ -756,6 +788,15 @@ es-MX: rejected: Los enlaces de este medio no pueden ser tendencia title: Medios rejected: Rechazadas + statuses: + allow: Permitir publicación + allow_account: Permitir autor + disallow: No permitir publicación + disallow_account: No permitir autor + shared_by: + one: Compartido o marcado como favorito una vez + other: Compatido o marcado como favorito %{friendly_count} veces + title: Publicaciones destacadas tags: current_score: Puntuación actual %{score} dashboard: @@ -774,6 +815,10 @@ es-MX: trending_rank: Tendencia n.º %{rank} usable: Pueden usarse usage_comparison: Usada %{today} veces hoy, comparado con %{yesterday} ayer + used_by_over_week: + one: Usada por una persona durante la última semana + other: Usada por %{count} personas durante la última semana + zero: Usada por nadie en la última semana title: Tendencias warning_presets: add_new: Añadir nuevo @@ -800,16 +845,21 @@ es-MX: body: "%{reporter} ha reportado a %{target}" body_remote: Alguien de %{domain} a reportado a %{target} subject: Nuevo reporte para la %{instance} (#%{id}) - new_trending_links: - body: Los siguientes enlaces están en tendencia hoy, pero sus medios de origen no han sido revisados previamente. No se mostrarán públicamente a menos que los apruebes. No se generarán más notificaciones de estos medios. - no_approved_links: Actualmente no hay enlaces en tendencia aprobados. - requirements: El enlace en tendencia aprobado más bajo actualmente es "%{lowest_link_title}" con una puntuación de %{lowest_link_score}. - subject: Nuevos enlaces en tendencia esperando ser revisados en %{instance} - new_trending_tags: - body: 'Las siguientes etiquetas están en tendencia hoy, pero no han sido revisadas previamente. No se mostrarán públicamente a menos que las apruebes:' - no_approved_tags: Actualmente no hay ninguna etiqueta en tendencia aprobada. - requirements: La etiqueta en tendencia aprobada más baja actualmente es "%{lowest_tag_name}" con una puntuación de %{lowest_tag_score}. - subject: Nuevas etiquetas en tendencia esperando ser revisadas en %{instance} + new_trends: + body: 'Los siguientes elementos necesitan una revisión antes de que se puedan mostrar públicamente:' + new_trending_links: + no_approved_links: Actualmente no hay enlaces en tendencia aprobados. + requirements: 'Cualquiera de estos candidatos podría superar el enlace de tendencia aprobado por #%{rank}, que actualmente es "%{lowest_link_title}" con una puntuación de %{lowest_link_score}.' + title: Enlaces en tendencia + new_trending_statuses: + no_approved_statuses: Actualmente no hay enlaces en tendencia aprobados. + requirements: 'Cualquiera de estos candidatos podría superar la publicación en tendencia aprobado por #%{rank}, que actualmente es %{lowest_status_url} con una puntuación de %{lowest_status_score}.' + title: Publicaciones en tendencia + new_trending_tags: + no_approved_tags: Actualmente no hay ninguna etiqueta en tendencia aprobada. + requirements: 'Cualquiera de estos candidatos podría superar el hashtag en tendencia aprobado por #%{rank}, que actualmente es #%{lowest_tag_name} con una puntuación de %{lowest_tag_score}.' + title: Etiquetas en tendencia + subject: Nuevas tendencias esperando ser revisadas en %{instance} aliases: add_new: Crear alias created_msg: El nuevo alias se ha creado correctamente. Ahora puedes empezar el traslado desde la cuenta antigua. @@ -1148,6 +1198,9 @@ es-MX: carry_mutes_over_text: Este usuario se mudó desde %{acct}, que habías silenciado. copy_account_note_text: 'Este usuario se mudó desde %{acct}, aquí estaban tus notas anteriores sobre él:' notification_mailer: + admin: + sign_up: + subject: "%{name} se registró" digest: action: Ver todas las notificaciones body: Un resumen de los mensajes que perdiste en desde tu última visita, el %{since} diff --git a/config/locales/es.yml b/config/locales/es.yml index cc2cad8e5..1202b2d9e 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -20,7 +20,7 @@ es: documentation: Documentación federation_hint_html: Con una cuenta en %{instance} usted podrá seguir a las personas en cualquier servidor de Mastodon y más allá. get_apps: Probar una aplicación móvil - hosted_on: Mastodon hosteado en %{domain} + hosted_on: Mastodon alojado en %{domain} instance_actor_flash: | Esta cuenta es un actor virtual usado para representar al servidor y no a ningún usuario individual. Se usa para fines federativos y no debe ser bloqueado a menos que usted quiera bloquear toda la instancia, en cuyo caso se debe utilizar un bloque de dominio. @@ -467,15 +467,22 @@ es: view: Ver dominio bloqueado email_domain_blocks: add_new: Añadir nuevo + attempts_over_week: + one: "%{count} intento durante la última semana" + other: "%{count} intentos de registro durante la última semana" created_msg: Dominio de correo añadido a la lista negra con éxito delete: Borrar - destroyed_msg: Dominio de correo borrado de la lista negra con éxito + dns: + types: + mx: Registro MX domain: Dominio - empty: Actualmente no hay dominios de correo electrónico en la lista negra. - from_html: de %{domain} new: create: Añadir dominio + resolve: Resolver dominio title: Nueva entrada en la lista negra de correo + no_email_domain_block_selected: No se han cambiado bloqueos de dominio ya que ninguno ha sido seleccionado + resolved_dns_records_hint_html: El nombre de dominio resuelve los siguientes dominios MX, los cuales son responsables en última instancia de aceptar el correo electrónico. Bloquear un dominio MX bloqueará los registros de cualquier dirección de correo electrónico que utilice el mismo dominio MX, incluso si el nombre de dominio visible es diferente. Tenga cuidado de no bloquear los principales proveedores de correo electrónico. + resolved_through_html: Resuelto a través de %{domain} title: Lista negra de correo follow_recommendations: description_html: "Las recomendaciones de cuentas ayudan a los nuevos usuarios a encontrar rápidamente contenido interesante. Cuando un usuario no ha interactuado con otros lo suficiente como para suscitar recomendaciones personalizadas de cuentas a las que seguir, en su lugar se le recomiendan estas cuentas. Se recalculan diariamente a partir de una mezcla de cuentas con el mayor número de interacciones recientes y con el mayor número de seguidores locales con un idioma determinado." @@ -610,6 +617,7 @@ es: title: Notas notes_description_html: Ver y dejar notas a otros moderadores y a tu yo futuro quick_actions_description_html: 'Toma una acción rápida o desplázate hacia abajo para ver el contenido denunciado:' + remote_user_placeholder: el usuario remoto de %{instance} reopen: Reabrir denuncia report: 'Reportar #%{id}' reported_account: Cuenta reportada @@ -692,7 +700,7 @@ es: title: Modo de registros show_known_fediverse_at_about_page: desc_html: Cuando esté desactivado, se mostrarán solamente publicaciones locales en la línea temporal pública - title: Mostrar fediverso conocido en la vista previa de la historia + title: Incluye contenido federado en la página de línea de tiempo pública no autenticada show_staff_badge: desc_html: Mostrar un parche de staff en la página de un usuario title: Mostrar parche de staff @@ -780,6 +788,15 @@ es: rejected: Los enlaces de este medio no pueden ser tendencia title: Medios rejected: Rechazadas + statuses: + allow: Permitir publicación + allow_account: Permitir autor + disallow: No permitir publicación + disallow_account: No permitir autor + shared_by: + one: Compartido o marcado como favorito una vez + other: Compatido o marcado como favorito %{friendly_count} veces + title: Publicaciones destacadas tags: current_score: Puntuación actual %{score} dashboard: @@ -828,16 +845,21 @@ es: body: "%{reporter} ha reportado a %{target}" body_remote: Alguien de %{domain} a reportado a %{target} subject: Nuevo reporte para la %{instance} (#%{id}) - new_trending_links: - body: Los siguientes enlaces están en tendencia hoy, pero sus medios de origen no han sido revisados previamente. No se mostrarán públicamente a menos que los apruebes. No se generarán más notificaciones de estos medios. - no_approved_links: Actualmente no hay enlaces en tendencia aprobados. - requirements: El enlace en tendencia aprobado más bajo actualmente es "%{lowest_link_title}" con una puntuación de %{lowest_link_score}. - subject: Nuevos enlaces en tendencia esperando ser revisados en %{instance} - new_trending_tags: - body: 'Las siguientes etiquetas están en tendencia hoy, pero no han sido revisadas previamente. No se mostrarán públicamente a menos que las apruebes:' - no_approved_tags: Actualmente no hay ninguna etiqueta en tendencia aprobada. - requirements: La etiqueta en tendencia aprobada más baja actualmente es "%{lowest_tag_name}" con una puntuación de %{lowest_tag_score}. - subject: Nuevas etiquetas en tendencia esperando ser revisadas en %{instance} + new_trends: + body: 'Los siguientes elementos necesitan una revisión antes de que se puedan mostrar públicamente:' + new_trending_links: + no_approved_links: Actualmente no hay enlaces en tendencia aprobados. + requirements: 'Cualquiera de estos candidatos podría superar el enlace de tendencia aprobado por #%{rank}, que actualmente es "%{lowest_link_title}" con una puntuación de %{lowest_link_score}.' + title: Enlaces en tendencia + new_trending_statuses: + no_approved_statuses: Actualmente no hay enlaces en tendencia aprobados. + requirements: 'Cualquiera de estos candidatos podría superar la publicación en tendencia aprobado por #%{rank}, que actualmente es %{lowest_status_url} con una puntuación de %{lowest_status_score}.' + title: Publicaciones en tendencia + new_trending_tags: + no_approved_tags: Actualmente no hay ninguna etiqueta en tendencia aprobada. + requirements: 'Cualquiera de estos candidatos podría superar el hashtag en tendencia aprobado por #%{rank}, que actualmente es #%{lowest_tag_name} con una puntuación de %{lowest_tag_score}.' + title: Etiquetas en tendencia + subject: Nuevas tendencias esperando ser revisadas en %{instance} aliases: add_new: Crear alias created_msg: El nuevo alias se ha creado correctamente. Ahora puedes empezar el traslado desde la cuenta antigua. @@ -1045,9 +1067,9 @@ es: filters: contexts: account: Perfiles - home: Timeline propio + home: Inicio y listas notifications: Notificaciones - public: Timeline público + public: Líneas de tiempo públicas thread: Conversaciones edit: title: Editar filtro @@ -1176,6 +1198,9 @@ es: carry_mutes_over_text: Este usuario se mudó desde %{acct}, que habías silenciado. copy_account_note_text: 'Este usuario se mudó desde %{acct}, aquí estaban tus notas anteriores sobre él:' notification_mailer: + admin: + sign_up: + subject: "%{name} se registró" digest: action: Ver todas las notificaciones body: Un resumen de los mensajes que perdiste en desde tu última visita, el %{since} @@ -1626,7 +1651,7 @@ es: subject: Bienvenido a Mastodon tip_federated_timeline: La línea de tiempo federada es una vista de la red de Mastodon. Pero solo incluye gente que tus vecinos están siguiendo, así que no está completa. tip_following: Sigues a tus administradores de servidor por defecto. Para encontrar más gente interesante, revisa las lineas de tiempo local y federada. - tip_local_timeline: La linea de tiempo local is una vista de la gente en %{instance}. Estos son tus vecinos inmediatos! + tip_local_timeline: La línea de tiempo local es una vista de la gente en %{instance}. ¡Estos son tus vecinos inmediatos! tip_mobile_webapp: Si el navegador de tu dispositivo móvil ofrece agregar Mastodon a tu página de inicio, puedes recibir notificaciones. Actúa como una aplicación nativa en muchas formas! tips: Consejos title: Te damos la bienvenida a bordo, %{name}! diff --git a/config/locales/et.yml b/config/locales/et.yml index 7c7b4eb51..fdf5081d5 100644 --- a/config/locales/et.yml +++ b/config/locales/et.yml @@ -328,10 +328,7 @@ et: add_new: Lisa uus created_msg: E-posti aadressi keelunimekirja lisamine õnnestus delete: Kustuta - destroyed_msg: E-posti aadressi keelunimekirjast kustutamine õnnestus domain: Domeen - empty: Ühtegi e-postidomeeni pole blokeeritud. - from_html: "%{domain}-ist" new: create: Lisa domeen title: Uus e-posti keelunimekirja sisend diff --git a/config/locales/eu.yml b/config/locales/eu.yml index 785cf14d2..6b07e3a03 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -449,10 +449,7 @@ eu: add_new: Gehitu berria created_msg: Ongi gehitu da e-mail helbidea domeinuen zerrenda beltzera delete: Ezabatu - destroyed_msg: Ongi ezabatu da e-mail domeinua zerrenda beltzetik domain: Domeinua - empty: Ez dago e-mail domeinurik zerrenda beltzean. - from_html: "%{domain} domeinutik" new: create: Gehitu domeinua title: Sarrera berria e-mail zerrenda beltzean @@ -782,16 +779,6 @@ eu: body: "%{reporter}(e)k %{target} salatu du" body_remote: "%{domain} domeinuko norbaitek %{target} salatu du" subject: Salaketa berria %{instance} instantzian (#%{id}) - new_trending_links: - body: Ondorengo estekak dira joera gaur, baina beren argitaratzaileak ez dira berrikusi aurretik. Ez dira bistaratuko publikoki onartu ezean. Ez da sortuko argitaratzaile hauen jakinarazpen gehiago. - no_approved_links: Ez dago onartutako esteken joerarik une honetan. - requirements: Onartutako esteken joera baxuena %{lowest_link_title} da une honetan %{lowest_link_score} emaitzarekin. - subject: Esteken joera gehiago daude berrikusteko %{instance} instantzian - new_trending_tags: - body: 'Ondorengo traolak dira joera gaur, baina ez dira berrikusi aurretik. Ez dira bistaratuko publikoki onartzen ez badituzu:' - no_approved_tags: Ez dago onartutako traolen joerarik une honetan. - requirements: Onartutako traolen joera baxuena %{lowest_tag_name} da une honetan %{lowest_tag_score} emaitzarekin. - subject: Traolen joera gehiago daude berrikusteko %{instance} instantzian aliases: add_new: Sortu ezizena created_msg: Ongi sortu da ezizena. Orain kontu zaharretik migratzen hasi zaitezke. diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 933bc3610..48b1f095b 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -439,10 +439,7 @@ fa: add_new: افزودن تازه created_msg: مسدودسازی دامین ایمیل با موفقیت ساخته شد delete: پاک‌کردن - destroyed_msg: مسدودسازی دامین ایمیل با موفقیت پاک شد domain: دامین - empty: هیچ دامنه ایمیلی در حال حاضر در لیست‌سیاه قرار نگرفته است. - from_html: از %{domain} new: create: ساختن مسدودسازی title: مسدودسازی دامین ایمیل تازه diff --git a/config/locales/fi.yml b/config/locales/fi.yml index f438552ce..878a1fac0 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -407,7 +407,7 @@ fi: other: "%{count} odottavat käyttäjät" resolved_reports: raportit ratkaistu software: Ohjelmisto - sources: Kirjautumisen lähteet + sources: Rekisteröitymisen lähteet space: Tilankäyttö title: Hallintapaneeli top_languages: Aktiiviset kielet @@ -467,15 +467,22 @@ fi: view: Näytä verkkotunnuksen esto email_domain_blocks: add_new: Lisää uusi + attempts_over_week: + one: "%{count} yritystä viimeisen viikon aikana" + other: "%{count} rekisteröitymisyritystä viimeisen viikon aikana" created_msg: Sähköpostiverkkotunnuksen lisäys estolistalle onnistui delete: Poista - destroyed_msg: Sähköpostiverkkotunnuksen poisto estolistalta onnistui + dns: + types: + mx: MX tietue domain: Verkkotunnus - empty: Sähköpostiosoitteita ei ole tällä hetkellä estetty. - from_html: käyttäjältä %{domain} new: create: Lisää verkkotunnus + resolve: Ratkaise verkkotunnus title: Uusi sähköpostiestolistan merkintä + no_email_domain_block_selected: Sähköpostin verkkotunnuksia ei muutettu, koska yhtään ei valittu + resolved_dns_records_hint_html: Verkkotunnuksen nimi määräytyy seuraaviin MX-verkkotunnuksiin, jotka ovat viime kädessä vastuussa sähköpostin vastaanottamisesta. MX-verkkotunnuksen estäminen estää kirjautumisen mistä tahansa sähköpostiosoitteesta, joka käyttää samaa MX-verkkotunnusta, vaikka näkyvä verkkotunnuksen nimi olisikin erilainen. Varo estämästä suuria sähköpostin palveluntarjoajia. + resolved_through_html: Ratkaistu %{domain} kautta title: Sähköpostiestolista follow_recommendations: description_html: "Suositusten noudattaminen auttaa uusia käyttäjiä löytämään nopeasti mielenkiintoista sisältöä.. Jos käyttäjä ei ole ollut vuorovaikutuksessa tarpeeksi muiden kanssa luodakseen henkilökohtaisia seuraajia, näitä muita tilejä suositellaan sen sijaan. Ne lasketaan uudelleen päivittäin yhdistelmästä tilejä, joilla on korkein viimeaikainen käyttö ja korkein paikallinen seuraajien määrä tietyllä kielellä." @@ -580,14 +587,20 @@ fi: actions: delete_description_html: Ilmoitetut viestit poistetaan ja kirjataan varoitus, joka auttaa sinua saman tilin tulevista rikkomuksista. other_description_html: Katso lisää vaihtoehtoja tilin käytöksen hallitsemiseksi ja ilmoitetun tilin viestinnän mukauttamiseksi. + resolve_description_html: Ilmoitettua tiliä vastaan ei ryhdytä toimenpiteisiin, varoitusta ei kirjata ja raportti suljetaan. + silence_description_html: Profiili näkyy vain niille, jotka jo seuraavat sitä tai etsivät sen manuaalisesti, mikä rajoittaa merkittävästi kattavuutta. Se voidaan aina palauttaa. + suspend_description_html: Profiili ja sen koko sisältö eivät ole käytettävissä, kunnes se lopulta poistetaan. Vuorovaikutus tilin kanssa on mahdotonta. Palautettavissa 30 päivän kuluessa. + actions_description_html: Päätä, mihin toimiin ryhdyt tämän ilmoituksen ratkaisemiseksi. Jos ryhdyt rangaistustoimeen ilmoitettua tiliä vastaan, heille lähetetään sähköposti-ilmoitus, paitsi jos Roskaposti luokka on valittuna. add_to_report: Lisää raporttiin are_you_sure: Oletko varma? assign_to_self: Ota tehtäväksi assigned: Määritetty valvoja by_target_domain: Ilmoitetun tilin verkkotunnus category: Kategoria + category_description_html: Syy, miksi tämä tili ja/tai sisältö ilmoitettiin, mainitaan yhteydenotossa ilmoitettuun tiliin comment: none: Ei mitään + comment_description_html: 'Antaakseen lisätietoja %{name} kirjoitti:' created_at: Raportoitu delete_and_resolve: Poista viestejä forwarded: Välitetty @@ -604,6 +617,7 @@ fi: title: Merkinnät notes_description_html: Tarkastele ja jätä merkintöjä muille valvojille ja itsellesi tulevaisuuteen quick_actions_description_html: 'Suorita nopea toiminto tai vieritä alas nähdäksesi raportoitu sisältö:' + remote_user_placeholder: etäkäyttäjä paikasta %{instance} reopen: Avaa raportti uudestaan report: Raportti nro %{id} reported_account: Raportoitu tili @@ -731,6 +745,16 @@ fi: no_status_selected: Viestejä ei muutettu, koska yhtään ei ole valittuna title: Tilin tilat with_media: Sisältää mediaa + strikes: + actions: + delete_statuses: "%{name} poisti käyttäjän %{target} viestit" + disable: "%{name} jäädytti %{target} tilin" + none: "%{name} lähetti varoituksen henkilölle %{target}" + sensitive: "%{name} merkitsi käyttäjän %{target} tilin arkaluonteiseksi" + silence: "%{name} rajoitti käyttäjän %{target} tilin" + suspend: "%{name} keskeytti käyttäjän %{target} tilin" + appeal_approved: Valitti + appeal_pending: Valitus vireillä system_checks: database_schema_check: message_html: Tietokannan siirto on vireillä. Suorita ne varmistaaksesi, että sovellus toimii odotetulla tavalla @@ -752,6 +776,10 @@ fi: allow_provider: Salli julkaisija disallow: Hylkää linkki disallow_provider: Estä julkaisija + shared_by_over_week: + one: Jakanut yksi henkilö viimeisen viikon aikana + other: Jakanut %{count} henkilöä viimeisen viikon aikana + zero: Kukaan ei ole jakanut viimeisen viikon aikana title: Suositut linkit usage_comparison: Jaettu %{today} kertaa tänään verrattuna eilen %{yesterday} pending_review: Odottaa tarkistusta @@ -760,6 +788,15 @@ fi: rejected: Tämän julkaisijan linkit eivät voi trendata title: Julkaisijat rejected: Hylätty + statuses: + allow: Salli viesti + allow_account: Salli tekijä + disallow: Estä viesti + disallow_account: Estä tekijä + shared_by: + one: Jaettu tai suosikki kerran + other: Jaettu ja lisätty suosikkeihin %{friendly_count} kertaa + title: Suositut viestit tags: current_score: Nykyinen tulos %{score} dashboard: @@ -778,6 +815,10 @@ fi: trending_rank: 'Nousussa #%{rank}' usable: Voidaan käyttää usage_comparison: Käytetty %{today} kertaa tänään, verrattuna %{yesterday} eiliseen + used_by_over_week: + one: Yhden henkilön käyttämä viimeisen viikon aikana + other: Käyttänyt %{count} henkilöä viimeisen viikon aikana + zero: Ei kenenkään käytössä viimeisen viikon aikana title: Trendit warning_presets: add_new: Lisää uusi @@ -786,6 +827,17 @@ fi: empty: Et ole vielä määrittänyt yhtään varoitusesiasetusta. title: Hallinnoi varoitusesiasetuksia admin_mailer: + new_appeal: + actions: + delete_statuses: poistaa heidän viestit + disable: jäädyttää heidän tilinsä + none: varoitus + sensitive: merkitä heidän tilinsä arkaluonteiseksi + silence: rajoittaa heidän tilinsä + suspend: keskeyttää heidän tilinsä + body: "%{target} on valittanut valvojan päätöksestä %{action_taken_by} aika %{date}, joka oli %{type}. He kirjoittivat:" + next_steps: Voit hyväksyä vetoomuksen ja kumota päätöksen tai jättää sen huomiotta. + subject: "%{username} valittaa valvojan päätöksestä, joka koskee %{instance}" new_pending_account: body: Uuden tilin tiedot ovat alla. Voit hyväksyä tai hylätä tämän hakemuksen. subject: Uusi tili tarkastettavana %{instance} (%{username}) @@ -793,16 +845,21 @@ fi: body: "%{reporter} on raportoinut kohteen %{target}" body_remote: Joku osoitteesta %{domain} on raportoinut kohteen %{target} subject: Uusi raportti instanssista %{instance} (nro %{id}) - new_trending_links: - body: Seuraavat linkit trendaavat tänään, mutta niiden julkaisijoita ei ole aiemmin tarkistettu. Niitä ei näytetä julkisesti, ellet hyväksy niitä. Uusia ilmoituksia samoilta julkaisijoilta ei luoda. - no_approved_links: Tällä hetkellä ei ole hyväksyttyjä trendaavia linkkejä. - requirements: Alin hyväksytty trendilinkki on tällä hetkellä "%{lowest_link_title}" pisteillä %{lowest_link_score}. - subject: Uudet trendikkäät linkit tarkistettavaksi %{instance} - new_trending_tags: - body: 'Seuraavat hashtagit ovat trendejä tänään, mutta niitä ei ole aiemmin tarkistettu. Niitä ei näytetä julkisesti, ellet hyväksy niitä:' - no_approved_tags: Tällä hetkellä ei ole hyväksyttyjä trendikkäitä hashtageja. - requirements: Alin hyväksytty trendikäs hashtag on tällä hetkellä "%{lowest_tag_name}" pisteillä %{lowest_tag_score}. - subject: Uusia trendikkäitä hashtageja tarkistettavaksi %{instance} + new_trends: + body: 'Seuraavat kohteet on tarkistettava ennen kuin ne voidaan näyttää julkisesti:' + new_trending_links: + no_approved_links: Tällä hetkellä ei ole hyväksyttyjä trendikkäitä linkkejä. + requirements: 'Mikä tahansa näistä ehdokkaista voisi ylittää #%{rank} hyväksytyn trendikkään linkin, joka on tällä hetkellä "%{lowest_link_title}" arvosanalla %{lowest_link_score}.' + title: Suositut linkit + new_trending_statuses: + no_approved_statuses: Tällä hetkellä ei ole hyväksyttyjä trendikkäitä viestejä. + requirements: 'Mikä tahansa näistä ehdokkaista voisi ylittää #%{rank} hyväksytyn trendikkään julkaisun, joka on tällä hetkellä %{lowest_status_url} arvosanalla %{lowest_status_score}.' + title: Suositut viestit + new_trending_tags: + no_approved_tags: Tällä hetkellä ei ole hyväksyttyjä trendikkäitä hashtageja. + requirements: 'Mikä tahansa näistä ehdokkaista voisi ylittää #%{rank} hyväksytyn trendikkään hashtagin, joka on tällä hetkellä #%{lowest_tag_name} arvosanalla %{lowest_tag_score}.' + title: Suositut hashtagit + subject: Uusia trendejä tarkistettavaksi %{instance} aliases: add_new: Luo alias created_msg: Uusi alias luotiin onnistuneesti. Voit nyt aloittaa siirron vanhasta tilistä. @@ -943,10 +1000,30 @@ fi: explore_mastodon: Tutki %{title}ia disputes: strikes: + action_taken: Toteutetut toimet + appeal: Vetoomus + appeal_approved: Tähän valitukseen on haettu muutosta, eikä se ole enää voimassa + appeal_rejected: Valitus on hylätty + appeal_submitted_at: Valitus lähetetty + appealed_msg: Valituksesi on lähetetty. Jos se hyväksytään, sinulle ilmoitetaan. + appeals: + submit: Lähetä valitus + associated_report: Liittyvä raportti created_at: Päivätty recipient: Osoitettu status: 'Viesti #%{id}' status_removed: Viesti on jo poistettu järjestelmästä + title: "%{action} alkaen %{date}" + title_actions: + delete_statuses: Viestin poisto + disable: Tilin jäädyttäminen + none: Varoitus + sensitive: Merkintä tilille arkaluonteisena + silence: Tilin rajoittaminen + suspend: Tilin keskeyttäminen + your_appeal_approved: Valituksesi on hyväksytty + your_appeal_pending: Olet lähettänyt valituksen + your_appeal_rejected: Valituksesi on hylätty domain_validator: invalid_domain: ei ole kelvollinen toimialueen nimi errors: @@ -1121,6 +1198,9 @@ fi: carry_mutes_over_text: Tämä käyttäjä siirtyi paikasta %{acct}, jonka mykistit. copy_account_note_text: 'Tämä käyttäjä siirtyi paikasta %{acct}, tässä olivat aiemmat muistiinpanosi niistä:' notification_mailer: + admin: + sign_up: + subject: "%{name} kirjautunut" digest: action: Näytä kaikki ilmoitukset body: Tässä lyhyt yhteenveto viime käyntisi (%{since}) jälkeen tulleista viesteistä @@ -1158,6 +1238,8 @@ fi: title: Uusi buustaus status: subject: "%{name} julkaisi juuri" + update: + subject: "%{name} muokkasi viestiä" notifications: email_events: Sähköposti-ilmoitusten tapahtumat email_events_hint: 'Valitse tapahtumat, joista haluat saada ilmoituksia:' @@ -1391,10 +1473,15 @@ fi: '7889238': 3 kuukautta min_age_label: Ikäraja min_favs: Pidä viestit suosikeissa vähintään + min_favs_hint: Ei poista yhtään julkaisuasi, jotka ovat saaneet vähintään tämän määrän tykkäyksiä. Jätä tyhjäksi, jos haluat poistaa julkaisuja tykkäyksien määrästä riippumatta + min_reblogs: Pidä viestit tehostettuna vähintään + min_reblogs_hint: Ei poista yhtään viestiäsi, jota on tehostettu vähintään näin monta kertaa. Jätä tyhjäksi poistaaksesi viestejä riippumatta niiden tehosteiden määrästä stream_entries: pinned: Kiinnitetty tuuttaus reblogged: buustasi sensitive_content: Arkaluontoista sisältöä + tags: + does_not_match_previous_name: ei vastaa edellistä nimeä terms: title: "%{instance}, käyttöehdot ja tietosuojakäytäntö" themes: @@ -1409,6 +1496,7 @@ fi: two_factor_authentication: add: Lisää disable: Poista käytöstä + disabled_success: Kaksivaiheinen todennus on poistettu käytöstä edit: Muokkaa enabled: Kaksivaiheinen todentaminen käytössä enabled_success: Kaksivaiheisen todentamisen käyttöönotto onnistui @@ -1421,6 +1509,15 @@ fi: recovery_instructions_html: Jos menetät puhelimesi, voit kirjautua tilillesi jollakin alla olevista palautuskoodeista. Pidä palautuskoodit hyvässä tallessa. Voit esimerkiksi tulostaa ne ja säilyttää muiden tärkeiden papereiden joukossa. webauthn: Suojausavaimet user_mailer: + appeal_approved: + action: Siirry tilillesi + explanation: Valitus tiliäsi koskevasta varoituksesta %{strike_date} jonka lähetit %{appeal_date} on hyväksytty. Tilisi on jälleen hyvässä kunnossa. + subject: Valituksesi %{date} on hyväksytty + title: Valitus hyväksytty + appeal_rejected: + explanation: Valitus tiliäsi koskevasta varoituksesta %{strike_date} jonka lähetit %{appeal_date} on hylätty. + subject: Valituksesi %{date} on hylätty + title: Valitus hylätty backup_ready: explanation: Pyysit täydellistä varmuuskopiota Mastodon-tilistäsi. Voit nyt ladata sen! subject: Arkisto on valmiina ladattavaksi @@ -1432,12 +1529,27 @@ fi: subject: Ole hyvä ja vahvista sisäänkirjautumisyritys title: Sisäänkirjautumisyritys warning: + appeal: Lähetä valitus + appeal_description: Jos uskot, että tämä on virhe, voit hakea muutosta henkilökunnalta %{instance}. categories: spam: Roskaposti + violation: Sisältö rikkoo seuraavia yhteisön sääntöjä + explanation: + delete_statuses: Joitakin viestejäsi on havaittu rikkovan yhtä tai useampaa yhteisön sääntöä ja %{instance} valvojat ovat poistaneet ne. Tulevat rikkomukset voivat johtaa ankarampiin rangaistuksiin tiliäsi vastaan. + disable: Et voi enää käyttää tiliäsi, mutta profiilisi ja muut tiedot pysyvät muuttumattomina. Voit pyytää varmuuskopiota tiedoistasi, vaihtaa tilin asetuksia tai poistaa tilisi. + sensitive: Tästä lähtien kaikki ladatut mediatiedostot merkitään arkaluonteisiksi ja piilotetaan napsautusvaroituksen taakse. + silence: Voit edelleen käyttää tiliäsi, mutta vain sinua jo seuraavat ihmiset näkevät viestisi tällä palvelimella ja sinut voidaan sulkea pois erilaisista hakuominaisuuksista. Toiset voivat kuitenkin edelleen seurata sinua manuaalisesti. + suspend: Et voi enää käyttää tiliäsi ja profiilisi ja muut tiedot eivät ole enää käytettävissä. Voit silti kirjautua sisään pyytääksesi varmuuskopiota tiedoistasi, kunnes tiedot on poistettu kokonaan noin 30 päivän kuluttua. Säilytämme joitakin perustietoja, jotka estävät sinua kiertämästä keskeyttämistä. + get_in_touch: Jos uskot, että tämä on virhe, voit vastata tähän sähköpostiin ottaaksesi yhteyttä %{instance} henkilökuntaan. reason: 'Syy:' + statuses: 'Viestit, joiden on havaittu rikkovan sääntöjä:' subject: + delete_statuses: Viestisi %{acct} on poistettu disable: Tilisi %{acct} on jäädytetty none: Varoitus %{acct} + sensitive: Sinun mediatiedostosi %{acct} merkitään tästä lähtien arkaluonteisiksi + silence: Tilisi %{acct} on rajoitettu + suspend: Tilisi %{acct} on keskeytetty title: delete_statuses: Viestit poistettu disable: Tili jäädytetty diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 2673b25cb..208c4c342 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -44,7 +44,7 @@ fr: rejecting_media: 'Les fichiers média de ces serveurs ne seront ni traités ni stockés, et aucune miniature ne sera affichée, rendant nécessaire de cliquer vers le fichier d’origine :' rejecting_media_title: Médias filtrés silenced: 'Les messages de ces serveurs seront cachés des flux publics et conversations, et les interactions de leurs utilisateur·rice·s ne donneront lieu à aucune notification, à moins que vous ne les suiviez :' - silenced_title: Serveurs masqués + silenced_title: Serveurs limités suspended: 'Aucune donnée venant de ces serveurs ne sera traitée, stockée ou échangée, rendant impossible toute interaction ou communication avec les utilisateur·rice·s de ces serveurs :' suspended_title: Serveurs suspendus unavailable_content_html: Mastodon vous permet généralement de visualiser le contenu et d'interagir avec les utilisateur·rice·s de n'importe quel autre serveur dans le fédiverse. Voici les exceptions qui ont été faites sur ce serveur en particulier. @@ -117,19 +117,19 @@ fr: deleted: Supprimé demote: Rétrograder destroyed_msg: Les données de %{username} sont maintenant en file d’attente pour être supprimées imminemment - disable: Désactiver + disable: Geler disable_sign_in_token_auth: Désactiver l'authentification basée sur les jetons envoyés par courriel disable_two_factor_authentication: Désactiver l’authentification à deux facteurs - disabled: Désactivé + disabled: Gelé display_name: Nom affiché domain: Domaine edit: Éditer email: Courriel email_status: État du courriel - enable: Activer + enable: Dégeler enable_sign_in_token_auth: Activer l'authentification basée sur les jetons envoyés par courriel enabled: Activé - enabled_msg: Le compte de %{username} a été débloqué avec succès + enabled_msg: Le compte de %{username} a été dégelé avec succès followers: Abonné·e·s follows: Abonnements header: Entête @@ -205,8 +205,8 @@ fr: show: created_reports: Signalements faits targeted_reports: Signalés par d’autres - silence: Masquer - silenced: Masqué + silence: Limiter + silenced: Limité statuses: Messages strikes: Punitions précédentes subscribe: S’abonner @@ -219,9 +219,9 @@ fr: unblocked_email_msg: L'adresse courriel de %{username} a été débloquée avec succès unconfirmed_email: Courriel non confirmé undo_sensitized: Annuler sensible - undo_silenced: Ne plus masquer + undo_silenced: Annuler la limitation undo_suspension: Annuler la suspension - unsilenced_msg: Le compte de %{username} a été illimité avec succès + unsilenced_msg: La limitation du compte de %{username} a été annulée avec succès unsubscribe: Se désabonner unsuspended_msg: Le compte de %{username} a été réactivé avec succès username: Nom d’utilisateur·ice @@ -270,12 +270,12 @@ fr: reset_password_user: Réinitialiser le mot de passe resolve_report: Résoudre le signalement sensitive_account: Marquer les médias de votre compte comme sensibles - silence_account: Masque le compte + silence_account: Limiter le compte suspend_account: Suspendre le compte unassigned_report: Ne plus assigner le signalement unblock_email_account: Débloquer l'adresse courriel unsensitive_account: Ne pas marquer les médias de votre compte comme sensibles - unsilence_account: Ne plus masquer le compte + unsilence_account: Annuler la limitation du compte unsuspend_account: Annuler la suspension du compte update_announcement: Modifier l’annonce update_custom_emoji: Mettre à jour les émojis personnalisés @@ -321,12 +321,12 @@ fr: reset_password_user_html: "%{name} a réinitialisé le mot de passe de l'utilisateur·rice %{target}" resolve_report_html: "%{name} a résolu le signalement %{target}" sensitive_account_html: "%{name} a marqué le média de %{target} comme sensible" - silence_account_html: "%{name} a masqué le compte de %{target}" + silence_account_html: "%{name} a limité le compte de %{target}" suspend_account_html: "%{name} a suspendu le compte de %{target}" unassigned_report_html: "%{name} a désassigné le signalement %{target}" unblock_email_account_html: "%{name} a débloqué l'adresse courriel de %{target}" unsensitive_account_html: "%{name} a enlevé le marquage comme sensible du média de %{target}" - unsilence_account_html: "%{name} a enlevé le masquage du compte de %{target}" + unsilence_account_html: "%{name} a annulé la limitation du compte de %{target}" unsuspend_account_html: "%{name} a réactivé le compte de %{target}" update_announcement_html: "%{name} a mis à jour l'annonce %{target}" update_custom_emoji_html: "%{name} a mis à jour l'émoji %{target}" @@ -428,7 +428,7 @@ fr: destroyed_msg: Le blocage de domaine a été désactivé domain: Domaine edit: Modifier le blocage de domaine - existing_domain_block_html: Vous avez déjà imposé des limites plus strictes à %{name}, vous devez d’abord le débloquer. + existing_domain_block_html: Vous avez déjà imposé des limites plus strictes à %{name}, vous devez d’abord le/la débloquer. new: create: Créer le blocage hint: Le blocage de domaine n’empêchera pas la création de comptes dans la base de données, mais il appliquera automatiquement et rétrospectivement des méthodes de modération spécifiques sur ces comptes. @@ -439,7 +439,7 @@ fr: suspend: Suspendre title: Nouveau blocage de domaine obfuscate: Obfusquer le nom de domaine - obfuscate_hint: Obfusquer partiellement le nom de domaine dans la liste si la liste des limitations de domaine est activée + obfuscate_hint: Obfusquer partiellement le nom de domaine dans la liste si la publication de la liste des limitations de domaine est activée private_comment: Commentaire privé private_comment_hint: Commentaire sur cette limitation de domaine pour informer en interne les modérateurs. public_comment: Commentaire public @@ -451,7 +451,7 @@ fr: rejecting_media: rejet des fichiers multimédia rejecting_reports: rejet des signalements severity: - silence: masqué + silence: limité suspend: suspendu show: affected_accounts: @@ -459,7 +459,7 @@ fr: other: "%{count} comptes affectés dans la base de données" zero: Pas de compte affecté dans la base de données retroactive: - silence: Ne plus masquer les comptes existants affectés de ce domaine + silence: Ne plus limiter les comptes existants affectés de ce domaine suspend: Annuler la suspension des comptes existants affectés pour ce domaine title: Annuler le blocage du domaine %{domain} undo: Annuler @@ -467,15 +467,22 @@ fr: view: Afficher les blocages de domaines email_domain_blocks: add_new: Ajouter + attempts_over_week: + one: "%{count} tentative au cours de la dernière semaine" + other: "%{count} tentatives au cours de la dernière semaine" created_msg: Le blocage de domaine de courriel est désormais activé delete: Supprimer - destroyed_msg: Le blocage de domaine de courriel a été désactivé + dns: + types: + mx: Enregistrement MX domain: Domaine - empty: Aucun domaine de courriel n’est actuellement sur liste noire. - from_html: de %{domain} new: create: Créer le blocage + resolve: Résoudre le domaine title: Nouveau blocage de domaine de courriel + no_email_domain_block_selected: Aucun blocage de domaine de courriel n'a été modifié car aucun n'a été sélectionné + resolved_dns_records_hint_html: Le nom de domaine est relié aux domaines MX suivants, qui ont la responsabilité ultime d'accepter les courriels. Bloquer un domaine MX empêchera les inscriptions à partir de toute adresse courriel utilisant le même domaine MX, même si le nom de domaine affiché est différent. Veillez à ne pas bloquer les fournisseurs de messagerie d'envergure. + resolved_through_html: Résolu par %{domain} title: Blocage de domaines de courriel follow_recommendations: description_html: "Les recommandations d'abonnement aident les nouvelles personnes à trouver rapidement du contenu intéressant. Si un·e utilisateur·rice n'a pas assez interagi avec les autres pour avoir des recommandations personnalisées, ces comptes sont alors recommandés. La sélection est mise à jour quotidiennement depuis un mélange de comptes ayant le plus d'interactions récentes et le plus grand nombre d'abonné·e·s locaux pour une langue donnée." @@ -610,6 +617,7 @@ fr: title: Remarques notes_description_html: Voir et laisser des notes aux autres modérateurs et à votre futur moi-même quick_actions_description_html: 'Faites une action rapide ou faites défiler vers le bas pour voir le contenu signalé :' + remote_user_placeholder: l'utilisateur·rice distant·e de %{instance} reopen: Ré-ouvrir le signalement report: 'Signalement #%{id}' reported_account: Compte signalé @@ -697,7 +705,7 @@ fr: desc_html: Montrer un badge de responsable sur une page utilisateur·rice title: Montrer un badge de responsable site_description: - desc_html: Paragraphe introductif sur la page d’accueil. Décrivez ce qui rend spécifique ce serveur Mastodon et toute autre chose importante. Vous pouvez utiliser des balises HTML, en particulier <a> et <em>. + desc_html: Paragraphe introductif sur l'API. Décrivez les particularités de ce serveur Mastodon et précisez toute autre chose qui vous semble importante. Vous pouvez utiliser des balises HTML, en particulier <a> et <em>. title: Description du serveur site_description_extended: desc_html: L’endroit idéal pour afficher votre code de conduite, les règles, les guides et autres choses qui rendent votre serveur différent. Vous pouvez utiliser des balises HTML @@ -740,7 +748,7 @@ fr: strikes: actions: delete_statuses: "%{name} a supprimé les messages de %{target}" - disable: "%{name} a bloqué le compte de %{target}" + disable: "%{name} a gelé le compte de %{target}" none: "%{name} a envoyé un avertissement à %{target}" sensitive: "%{name} a marqué le compte de %{target} comme sensible" silence: "%{name} a limité le compte de %{target}" @@ -780,6 +788,15 @@ fr: rejected: Les liens de cet éditeur ne seront pas considérés tendance title: Éditeurs rejected: Rejeté + statuses: + allow: Autoriser le message + allow_account: Autoriser l'auteur·rice + disallow: Proscrire le message + disallow_account: Proscrire l'auteur·rice + shared_by: + one: Partagé ou ajouté aux favoris une fois + other: Partagé et ajouté aux favoris %{friendly_count} fois + title: Messages tendance tags: current_score: Score actuel %{score} dashboard: @@ -813,7 +830,7 @@ fr: new_appeal: actions: delete_statuses: effacer les messages - disable: bloquer le compte + disable: geler le compte none: un avertissement sensitive: marquer le compte comme sensible silence: limiter le compte @@ -828,16 +845,21 @@ fr: body: "%{reporter} a signalé %{target}" body_remote: Quelqu’un de %{domain} a signalé %{target} subject: Nouveau signalement sur %{instance} (#%{id}) - new_trending_links: - body: Les liens suivants sont tendance aujourd'hui, mais leurs éditeurs n'ont pas été révisés auparavant. Ils ne seront pas affichés publiquement à moins que vous ne les approuviez. De nouvelles notifications provenant des mêmes éditeurs ne seront pas générées. - no_approved_links: Il n'y a actuellement aucun lien tendance approuvé. - requirements: Le lien tendance le plus bas est actuellement "%{lowest_link_title}" avec un score de %{lowest_link_score}. - subject: Nouveaux liens tendance à examiner sur %{instance} - new_trending_tags: - body: 'Les hashtags suivants sont tendances aujourd''hui, mais ils n''ont pas été examinés précédemment. Ils ne seront pas affichés publiquement à moins que vous ne les approuviez :' - no_approved_tags: Il n'y a actuellement aucun hashtag tendance approuvé. - requirements: 'Le hashtag tendance le plus bas est actuellement #%{lowest_tag_name} avec un score de %{lowest_tag_score}.' - subject: Nouveaux hashtags tendance à réviser sur %{instance} + new_trends: + body: 'Les éléments suivants doivent être approuvés avant de pouvoir être affichés publiquement :' + new_trending_links: + no_approved_links: Il n'y a pas de lien tendance approuvé actuellement. + requirements: N'importe quel élément de la sélection pourrait surpasser le lien tendance approuvé n°%{rank}, qui est actuellement « %{lowest_link_title} » avec un résultat de %{lowest_link_score}. + title: Liens tendance + new_trending_statuses: + no_approved_statuses: Il n'y a pas de message tendance approuvé actuellement. + requirements: N'importe quel élément de la sélection pourrait surpasser le message tendance approuvé n°%{rank}, qui est actuellement « %{lowest_status_url} » avec un résultat de %{lowest_status_score}. + title: Messages tendance + new_trending_tags: + no_approved_tags: Il n'y a pas de hashtag tendance approuvé actuellement. + requirements: 'N''importe quel élément de la sélection pourrait surpasser le hashtag tendance approuvé n°%{rank}, qui est actuellement #%{lowest_tag_name} avec un résultat de %{lowest_tag_score}.' + title: Hashtags tendance + subject: Nouvelles tendances à examiner sur %{instance} aliases: add_new: Créer un alias created_msg: Un nouvel alias a été créé avec succès. Vous pouvez maintenant déménager depuis l'ancien compte. @@ -993,7 +1015,7 @@ fr: title: "%{action} du %{date}" title_actions: delete_statuses: Suppression de message - disable: Suspension de compte + disable: Gel du compte none: Avertissement sensitive: Marquage d'un compte comme sensible silence: Limitation du compte @@ -1030,7 +1052,7 @@ fr: request: Demandez vos archives size: Taille blocks: Vous bloquez - bookmarks: Signets + bookmarks: Marque-pages csv: CSV domain_blocks: Blocages de domaine lists: Listes @@ -1090,7 +1112,7 @@ fr: success: Vos données ont été importées avec succès et seront traitées en temps et en heure types: blocking: Liste de comptes bloqués - bookmarks: Signets + bookmarks: Marque-pages domain_blocking: Liste des serveurs bloqués following: Liste d’utilisateur·rice·s suivi·e·s muting: Liste d’utilisateur·rice·s que vous masquez @@ -1175,6 +1197,9 @@ fr: carry_mutes_over_text: Cet utilisateur que vous aviez masqué est parti de %{acct}. copy_account_note_text: 'Cet·te utilisateur·rice est parti·e de %{acct}, voici vos notes précédentes à son sujet :' notification_mailer: + admin: + sign_up: + subject: "%{name} s'est inscrit·e" digest: action: Voir toutes les notifications body: Voici un bref résumé des messages que vous avez raté depuis votre dernière visite le %{since} @@ -1391,7 +1416,7 @@ fr: over_character_limit: limite de %{max} caractères dépassée pin_errors: direct: Les messages qui ne sont visibles que pour les utilisateurs mentionnés ne peuvent pas être épinglés - limit: Vous avez déjà épinglé le nombre maximum de pouets + limit: Vous avez déjà épinglé le nombre maximum de messages ownership: Vous ne pouvez pas épingler un statut ne vous appartenant pas reblog: Un partage ne peut pas être épinglé poll: diff --git a/config/locales/gd.yml b/config/locales/gd.yml index 9f7044517..92ed02398 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -170,6 +170,11 @@ gd: not_subscribed: Gun fho-sgrìobhadh pending: A’ feitheamh air lèirmheas perform_full_suspension: Cuir à rèim + previous_strikes: Rabhaidhean roimhe + previous_strikes_description_html: + one: Fhuair an cunntas seo aon rabhadh. + other: Fhuair an cunntas seo %{count} rabhaidhean. + zero: Tha deagh chliù aig a’ chunntas seo. promote: Àrdaich protocol: Pròtacal public: Poblach @@ -213,6 +218,7 @@ gd: statuses: Postaichean strikes: Rabhaidhean roimhe subscribe: Fo-sgrìobh + suspend: Cuir à rèim suspended: À rèim suspension_irreversible: Chaidh dàta a’ chunntais seo a sguabadh às gu buan. ’S urrainn an cunntas a chur ann an rèim a-rithist ach an gabh a chleachdadh ach chan fhaigh thu gin dhen dàta air ais a b’ àbhaist a bhith aige. suspension_reversible_hint_html: Chaidh an cunntas a chur à rèim agus thèid an dàta aige a sguabadh às gu buan %{date}. Gus an dig an t-àm ud, gabhaidh an cunntas aiseag fhathast gun droch bhuaidh sam bith air. Nam bu toigh leat gach dàta a’ chunntais a thoirt air falbh sa bhad, ’s urrainn dhut sin a dhèanamh gu h-ìosal. @@ -233,6 +239,7 @@ gd: whitelisted: Ceadaichte a chùm co-nasgaidh action_logs: action_types: + approve_appeal: Thoir aonta ris an ath-thagradh approve_user: Aontaich ris a’ chleachdaiche assigned_to_self_report: Iomruin an gearan change_email_user: Atharraich post-d a’ chleachdaiche @@ -264,6 +271,7 @@ gd: enable_user: Cuir an cleachdaiche an comas memorialize_account: Dèan cuimhneachan dhen chunntas promote_user: Àrdaich an cleachdaiche + reject_appeal: Diùlt an t-ath-thagradh reject_user: Diùlt an cleachdaiche remove_avatar_user: Thoir air falbh an t-avatar reopen_report: Fosgail an gearan a-rithist @@ -282,6 +290,7 @@ gd: update_domain_block: Ùraich bacadh na h-àrainne update_status: Ùraich am post actions: + approve_appeal_html: Dh’aontaich %{name} ri ath-thagradh air co-dhùnadh na maorsainneachd o %{target} approve_user_html: Dh’aontaich %{name} ri clàradh o %{target} assigned_to_self_report_html: Dh’iomruin %{name} an gearan %{target} dhaibh fhèin change_email_user_html: Dh’atharraich %{name} seòladh puist-d a’ chleachdaiche %{target} @@ -313,6 +322,7 @@ gd: enable_user_html: Chuir %{name} an clàradh a-steach an comas dhan chleachdaiche %{target} memorialize_account_html: Rinn %{name} duilleag cuimhneachain dhen chunntas aig %{target} promote_user_html: Dh’àrdaich %{name} an cleachdaiche %{target} + reject_appeal_html: Dhiùlt %{name} an t-ath-thagradh air co-dhùnadh na maorsainneachd o %{target} reject_user_html: Dhiùlt %{name} an clàradh o %{target} remove_avatar_user_html: Thug %{name} avatar aig %{target} air falbh reopen_report_html: Dh’fhosgail %{name} an gearan %{target} a-rithist @@ -391,6 +401,11 @@ gd: media_storage: Stòras mheadhanan new_users: cleachdaichean ùra opened_reports: gearanan air am fosgladh + pending_appeals_html: + few: "%{count} ath-thagraidhean ri dhèiligeadh" + one: "%{count} ath-thagradh ri dhèiligeadh" + other: "%{count} ath-thagradh ri dhèiligeadh" + two: "%{count} ath-thagradh ri dhèiligeadh" resolved_reports: gearanan air am fuasgladh software: Bathar-bog sources: Tùsan clàraidh @@ -399,6 +414,10 @@ gd: top_languages: Brod nan cànan gnìomhach top_servers: Brod nam frithealaichean gnìomhach website: Làrach-lìn + disputes: + appeals: + empty: Cha deach ath-thagradh a lorg. + title: Ath-thagraidhean domain_allows: add_new: Ceadaich co-nasgadh le àrainn created_msg: Chaidh an àrainn a cheadachadh a chùm co-nasgaidh @@ -447,10 +466,7 @@ gd: add_new: Cuir tè ùr ris created_msg: Chaidh àrainn a’ phuist-d a bhacadh delete: Sguab às - destroyed_msg: Chaidh àrainn a’ phuist-d a dhì-bhacadh domain: Àrainn - empty: Chan eil àrainn puist-d sam bith ’ga bhacadh aig an àm seo. - from_html: o %{domain} new: create: Cuir àrainn ris title: Bac àrainn puist-d ùr @@ -709,6 +725,9 @@ gd: no_status_selected: Cha deach post sam bith atharrachadh o nach deach gin dhiubh a thaghadh title: Postaichean a’ chunntais with_media: Le meadhanan riutha + strikes: + appeal_approved: Air ath-thagradh + appeal_pending: "’Ga ath-thagradh" system_checks: database_schema_check: message_html: Tha imrichean stòir-dhàta ri dhèiligeadh ann. Ruith iad a dhèanamh cinnteach gum bi giùlan na h-aplacaid mar a bhiodhte ’n dùil @@ -764,6 +783,10 @@ gd: empty: Cha do mhìnich thu ro-sheataichean rabhaidhean fhathast. title: Stiùirich na rabhaidhean ro-shuidhichte admin_mailer: + new_appeal: + body: 'Tha %{target} ag ath-thagradh co-dhùnadh na maorsainneachd a thug %{action_taken_by} %{date} agus ’s e %{type} a bh’ ann. Sgrìobh iad:' + next_steps: "’S urrainn dhut aontachadh ris an ath-thagradh air co-dhùnadh na maorsainneachd no a leigeil seachad." + subject: Tha %{username} ag ath-thagradh co-dhùnadh na maorsainneachd air %{instance} new_pending_account: body: Chì thu mion-fhiosrachadh a’ chunntais ùir gu h-ìosal. ’S urrainn dhut gabhail ris an iarrtas seo no a dhiùltadh. subject: Tha cunntas ùr air %{instance} a’ feitheamh air lèirmheas (%{username}) @@ -771,16 +794,6 @@ gd: body: Rinn %{reporter} gearan air %{target} body_remote: Rinn cuideigin o %{domain} gearan air %{target} subject: Tha gearan ùr aig %{instance} (#%{id}) - new_trending_links: - body: Tha na ceanglaichean a leanas a’ treandadh an-diugh ach cha deach lèirmheas a dhèanamh air na foillsichearan aca fhathast. Cha nochd iad gu poblach mur aontaich thu riutha. Chan fhaic thu brathan eile mu na h-aon fhoillsichearan. - no_approved_links: Chan eil ceangal a’ treandadh le aontachadh ann. - requirements: "’S e “%{lowest_link_title}” a tha sa cheangal a’ treandadh as ìsle le aontachadh agus sgòr de %{lowest_link_score} air." - subject: Tha ceanglaichean ùra a’ trèanadh feumach air lèirmheas air %{instance} - new_trending_tags: - body: 'Tha na tagaichean hais a leanas a’ treandadh an-diugh ach cha deach lèirmheas a dhèanamh orra fhathast. Cha nochd iad gu poblach mur aontaich thu riutha:' - no_approved_tags: Chan eil tagaichean hais a’ treandadh le aontachadh ann. - requirements: "’S e #%{lowest_tag_name} a tha san taga hais a’ treandadh as ìsle le aontachadh agus sgòr de %{lowest_tag_score} air." - subject: Tha tagaichean hais ùra a’ trèanadh feumach air lèirmheas air %{instance} aliases: add_new: Cruthaich alias created_msg: Chaidh an t-alias ùr a chruthachadh. ’S urrainn dhut tòiseachadh air imrich on seann-chunntas a-nis. @@ -919,6 +932,18 @@ gd: directory: Eòlaire nam pròifil explanation: Lorg cleachdaichean stèidhichte air an ùidhean explore_mastodon: Rùraich %{title} + disputes: + strikes: + appeal: Ath-thagair + appeal_approved: Chaidh le ath-thagradh an rabhaidh is chan eil e dligheach tuilleadh + appeal_rejected: Chaidh an t-ath-thagradh a dhiùltadh + appeal_submitted_at: Chaidh an t-ath-thagradh a chur a-null + appealed_msg: Chaidh an t-ath-thagradh agad a chur a-null. Ma thèid aontachadh ris, gheibh thu brath mu dhèidhinn. + appeals: + submit: Cuir a-null an t-ath-thagradh + your_appeal_approved: Chaidh aontachadh ris an ath-thagradh agad + your_appeal_pending: Chuir thu ath-thagradh a-null + your_appeal_rejected: Chaidh an t-ath-thagradh agad a dhiùltadh domain_validator: invalid_domain: "– chan eil seo ’na ainm àrainne dligheach" errors: diff --git a/config/locales/gl.yml b/config/locales/gl.yml index d2c323fb4..84acfefe6 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -467,15 +467,22 @@ gl: view: Ollar dominios bloqueados email_domain_blocks: add_new: Engadir novo + attempts_over_week: + one: "%{count} intento na última semana" + other: "%{count} intentos de conexión na última semana" created_msg: Engadiuse de xeito correcto o dominio de email á listaxe negra delete: Eliminar - destroyed_msg: Eliminouse de xeito correcto o dominio de email da listaxe negra + dns: + types: + mx: Rexistro MX domain: Dominio - empty: Actualmente non hai dominios de email na listaxe negra. - from_html: desde %{domain} new: create: Engadir dominio + resolve: Resolver dominio title: Nova entrada na listaxe negra de email + no_email_domain_block_selected: Non se cambiou ningún bloqueo de dominio de email porque non se seleccionou ningún + resolved_dns_records_hint_html: O nome de dominio resolve os seguintes rexistros MX, que son os últimos responsables da aceptación de emails. Bloqueando un dominio MX rexeitarás calquera enderezo de email que use este dominio MX, incluso se o nome de dominio visible é outro. Ten coidado de non bloquear os principais provedores. + resolved_through_html: Resolto a través de %{domain} title: Listaxe negra de email follow_recommendations: description_html: "As recomendacións de seguimento son útiles para que as novas usuarias atopen contidos interesantes. Cando unha usuaria aínda non interactuou con outras para obter recomendacións de seguimento, estas contas serán recomendadas. Variarán a diario xa que se escollen en base ao maior número de interaccións e ao contador local de seguimentos para un idioma dado." @@ -610,6 +617,7 @@ gl: title: Notas notes_description_html: Ver e deixar unha nota para ti no futuro e outras moderadoras quick_actions_description_html: 'Tomar unha acción rápida ou desprázate abaixo para ver o contido denunciado:' + remote_user_placeholder: a usuaria remota desde %{instance} reopen: Reabrir denuncia report: 'Denuncia #%{id}' reported_account: Conta denunciada @@ -780,6 +788,15 @@ gl: rejected: As ligazóns desta orixe non poden estar en voga title: Orixes rejected: Rexeitado + statuses: + allow: Permitir publicación + allow_account: Permitir autora + disallow: Rexeitar publicación + disallow_account: Rexeitar autora + shared_by: + one: Compartida ou favorecida unha vez + other: Compartida ou favorecida %{friendly_count} veces + title: Publicacións en voga tags: current_score: Puntuación actual %{score} dashboard: @@ -828,16 +845,21 @@ gl: body: "%{reporter} informou sobre %{target}" body_remote: Alguén desde %{domain} informou sobre %{target} subject: Novo informe sobre %{instance} (#%{id}) - new_trending_links: - body: As seguintes ligazóns están hoxe en voga, pero as súas orixes non foron anteriormente revisadas. Non se van amosar públicamente ata que as aprobes. Non se crearán novas notificacións acerca destas orixes. - no_approved_links: Actualmente non hai ligazóns en voga aprobadas. - requirements: A ligazón en voga aprobada con menor rango é "%{lowest_link_title}" cunha puntuación de %{lowest_link_score}. - subject: Novas ligazóns en voga para revisión en %{instance} - new_trending_tags: - body: 'Os seguintes cancelos son tendencia hoxe, pero non foron previamente revisados. Non aparecerán públicamente a menos que os aprobes:' - no_approved_tags: Non hai cancelos en voga aprobados. - requirements: 'O cancelo aprobado con menor rango é #%{lowest_tag_name} cunha puntuación de %{lowest_tag_score}.' - subject: Hai novos cancelos pendentes de revisión en %{instance} + new_trends: + body: 'Os seguintes elementos precisan revisión antes de ser mostrados públicamente:' + new_trending_links: + no_approved_links: Actualmente non hai ligazóns en voga aprobadas. + requirements: 'Calquera destos candidatos podería superar o #%{rank} das ligazóns en voga aprobadas, que actualmente é "%{lowest_link_title}" cunha puntuación de %{lowest_link_score}.' + title: Ligazóns en voga + new_trending_statuses: + no_approved_statuses: Actualmente non hai publicacións en voga aprobadas. + requirements: 'Calquera destos candidatos podería superar o #%{rank} nas publicacións en boga aprobadas, que actualmente é %{lowest_status_url} cunha puntuación de %{lowest_status_score}.' + title: Publicacións en voga + new_trending_tags: + no_approved_tags: Non hai etiquetas en voga aprobadas. + requirements: 'Calquera destos candidatos podería superar o #%{rank} dos cancelos en voga aprobados, que actualmente é #%{lowest_tag_name} cunha puntuación de %{lowest_tag_score}.' + title: Cancelos en voga + subject: Novas tendencias para revisar en %{instance} aliases: add_new: Crear alcume created_msg: Creou un novo alcume correctamente. Pode iniciar o movemento desde a conta antiga. @@ -1176,6 +1198,9 @@ gl: carry_mutes_over_text: Esta usuaria chegou desde %{acct}, que ti tes acalada. copy_account_note_text: 'Esta usuaria chegou desde %{acct}, aquí están as túas notas previas acerca dela:' notification_mailer: + admin: + sign_up: + subject: "%{name} rexistrouse" digest: action: Ver todas as notificacións body: Aquí ten un breve resumo das mensaxes publicadas desde a súa última visita en %{since} diff --git a/config/locales/he.yml b/config/locales/he.yml index 454a48e09..e0068d5bc 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -263,6 +263,9 @@ he: redirecting_to: חשבונכם מפנה ל%{acct}. set_redirect: הגדר הפניה notification_mailer: + admin: + sign_up: + subject: "%{name} נרשמו" digest: body: להלן סיכום זריז של הדברים שקרו על מאז ביקורך האחרון ב-%{since} mention: "%{name} פנה אליך ב:" diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 672a08e54..224bcc986 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -469,15 +469,22 @@ hu: view: Domain tiltásának megtekintése email_domain_blocks: add_new: Új hozzáadása + attempts_over_week: + one: "%{count} próbálkozás a múlt héten" + other: "%{count} próbálkozás feliratkozásra a múlt héten" created_msg: E-mail domain sikeresen letiltva delete: Törlés - destroyed_msg: E-mail domain sikeresen engedélyezve + dns: + types: + mx: MX rekord domain: Domain - empty: Nincs letiltott email domain. - from_html: "%{domain}-ról" new: create: Domain hozzáadása + resolve: Domain feloldása title: Új e-mail domain tiltása + no_email_domain_block_selected: Nem változott meg egyetlen e-mail domain tiltás sem, mert nem volt egy sem kiválasztva + resolved_dns_records_hint_html: A domain név a következő MX domain-ekre oldódik fel, melyek valójában fogadják az e-mailt. Az MX domain letiltása minden olyan feliratkozást tiltani fog, melyben az e-mailcím ugyanazt az MX domaint használja, még akkor is, ha a látható domain név más. Légy óvatos, hogy ne tilts le nagy e-mail szolgáltatókat. + resolved_through_html: Feloldva %{domain}-n keresztül title: Tiltott e-mail domainek follow_recommendations: description_html: "A követési ajánlatok segítik az új felhasználókat az érdekes tartalmak gyors megtalálásában. Ha egy felhasználó még nem érintkezett eleget másokkal ahhoz, hogy személyre szabott ajánlatokat kapjon, ezeket a fiókokat ajánljuk helyette. Ezeket naponta újraszámítjuk a nemrég legtöbb embert foglalkoztató, illetve legtöbb helyi követővel rendelkező fiókok alapján." @@ -612,6 +619,7 @@ hu: title: Megjegyzések notes_description_html: Megtekintés, és megjegyzések hagyása más moderátoroknak quick_actions_description_html: 'Hozz egy gyors intézkedést, vagy görgess le a bejelentett tartalomhoz:' + remote_user_placeholder: 'a távoli felhasználó innen: %{instance}' reopen: Bejelentés újranyitása report: "#%{id} számú jelentés" reported_account: Bejelentett fiók @@ -782,6 +790,15 @@ hu: rejected: A közzétevő hivatkozásai nem lesznek felkapottak title: Közzétévők rejected: Elutasított + statuses: + allow: Bejegyzés engedélyezése + allow_account: Szerző engedélyezése + disallow: Bejegyzés tiltása + disallow_account: Szerző tiltása + shared_by: + one: Megosztva vagy kedvencnek jelölve egy alkalommal + other: Megosztva és kedvencnek jelölve %{friendly_count} alkalommal + title: Felkapott bejegyzések tags: current_score: 'Jelenlegi pontszám: %{score}' dashboard: @@ -830,16 +847,21 @@ hu: body: "%{reporter} jelentette: %{target}" body_remote: Valaki a %{domain} domainről jelentette %{target} subject: 'Új jelentés az alábbi szerveren: %{instance} (#%{id})' - new_trending_links: - body: A következő hivatkozások ma felkapottak, de a közzétevőjük eddig még nem lett ellenőrizve. Nem fognak nyilvánosan megjelenni, hacsak nem hagyod jóvá őket. További értesítések nem lesznek előállítva ugyanahhoz a közzétevőhöz. - no_approved_links: Jelenleg nincsenek jóváhagyott felkapott hivatkozások. - requirements: 'A legkisebb pontszámú jóváhagyott felkapott hivatkozás jelenleg ez: „%{lowest_link_title}”, pontszáma %{lowest_link_score}.' - subject: 'Új jóváhagyandó felkapott hivatkozások ezen: %{instance}' - new_trending_tags: - body: 'A következő hashtagek ma felkapottak, de a eddig még nem lettek ellenőrizve. Nem fognak nyilvánosan megjelenni, hacsak nem hagyod jóvá őket:' - no_approved_tags: Jelenleg nincsenek jóváhagyott felkapott hashtagek. - requirements: 'A legkisebb pontszámú jóváhagyott felkapott hashtag jelenleg ez: #%{lowest_tag_name}, pontszáma %{lowest_tag_score}.' - subject: 'Új jóváhagyandó felkapott hashtagek ezen: %{instance}' + new_trends: + body: 'A következő elemeket ellenőrizni kell, mielőtt nyilvánosan megjelennének:' + new_trending_links: + no_approved_links: Jelenleg nincsenek jóváhagyott felkapott hivatkozások. + requirements: 'Ezek közül bármelyik jelölt lehagyná a %{rank}. jóváhagyott felkapott hivatkozást, amely jelenleg a(z) „%{lowest_link_title}” ezzel a pontszámmal: %{lowest_link_score}.' + title: Felkapott hivatkozások + new_trending_statuses: + no_approved_statuses: Jelenleg nincsenek jóváhagyott felkapott bejegyzések. + requirements: 'Ezek közül bármelyik jelölt lehagyná a %{rank}. jóváhagyott felkapott bejegyzést, amely jelenleg a(z) „%{lowest_status_url}” ezzel a pontszámmal: %{lowest_status_score}.' + title: Felkapott bejegyzések + new_trending_tags: + no_approved_tags: Jelenleg nincsenek jóváhagyott felkapott hashtagek. + requirements: 'Ezek közül bármelyik jelölt lehagyná a %{rank}. jóváhagyott felkapott hashtaget, amely jelenleg a(z) #%{lowest_tag_name} ezzel a pontszámmal: %{lowest_tag_score}.' + title: Felkapott hashtagek + subject: 'Új jóváhagyandó trendek ezen: %{instance}' aliases: add_new: Alias készítése created_msg: Elkészült az új aliasod. Most már elkezdheted a költöztetést a régi fiókból. @@ -1178,6 +1200,9 @@ hu: carry_mutes_over_text: Ez a fiók elköltözött innen %{acct}, melyet lenémítottatok. copy_account_note_text: 'Ez a fiók elköltözött innen %{acct}, itt vannak a bejegyzéseitek róla:' notification_mailer: + admin: + sign_up: + subject: "%{name} feliratkozott" digest: action: Összes értesítés megtekintése body: Itt a legutóbbi látogatásod (%{since}) óta írott üzenetek rövid összefoglalása diff --git a/config/locales/hy.yml b/config/locales/hy.yml index 70f775cf0..0739f3879 100644 --- a/config/locales/hy.yml +++ b/config/locales/hy.yml @@ -351,10 +351,7 @@ hy: add_new: Ավելացնել նորը created_msg: Բարեյաջող արգելափակուեց էլ․ փոստի տիրոյթ delete: Ջնջել - destroyed_msg: Բարեյաջող ապաարգելափակուեց էլ․ փոստի տիրոյթ domain: Դոմեն - empty: Ոչ մի էլ․ փոստի տիրոյթ այժմ արգելափակուած չէ։ - from_html: "%{domain}ից" new: create: Ավելացնել դոմեն title: Արգելափակել էլ․ փոստի նոր տիրոյթ diff --git a/config/locales/id.yml b/config/locales/id.yml index 76e91c9d2..4e94de090 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -457,15 +457,21 @@ id: view: Lihat blokir domain email_domain_blocks: add_new: Tambah baru + attempts_over_week: + other: "%{count} upaya mendaftar selama seminggu terakhir" created_msg: Berhasil memblokir domain email delete: Hapus - destroyed_msg: Berhasil membuka blokiran domain email + dns: + types: + mx: Data MX domain: Domain - empty: Tidak ada domain email yang diblokir. - from_html: dari %{domain} new: create: Tambah domain + resolve: Pembaruan domain title: Blokir domain email baru + no_email_domain_block_selected: Tidak ada blokir domain email yang diubah sebab tidak ada yang dipilih + resolved_dns_records_hint_html: Pembaruan nama domain mengikuti domain MX, yang bertanggung jawab menerima email. Memblokir domain MX akan memblokir pendaftaran dari alamat email apapun yang menggunakan domain MX sama, meskipun nama domainnya beda. Hati-hati untuk tidak memblokir layanan email besar. + resolved_through_html: Diperbarui melalui %{domain} title: Domain email terblokir follow_recommendations: description_html: "Rekomendasi untuk diikuti" membantu pengguna baru untuk secara cepat menemukan konten yang menarik. Ketika pengguna belum cukup berinteraksi dengan lainnya sehingga belum memunculkan rekomendasi, akun-akun ini akan direkomendasikan. Mereka dihitung ulang secara harian dari campuran akun-akun dengan keterlibatan tertinggi baru-baru ini dan jumlah pengikut lokal tertinggi untuk bahasa tertentu. @@ -598,6 +604,7 @@ id: title: Catatan notes_description_html: Lihat dan tinggalkan catatan kepada moderator lain dan Anda di masa depan quick_actions_description_html: 'Lakukan tindakan cepat atau gulir ke bawah untuk melihat konten yang dilaporkan:' + remote_user_placeholder: pengguna jarak jauh dari %{instance} reopen: Buka lagi laporan report: 'Laporkan #%{id}' reported_account: Akun yang dilaporkan @@ -768,6 +775,14 @@ id: rejected: Tautan dari penerbit ini tidak dapat menjadi tren title: Penerbit rejected: Ditolak + statuses: + allow: Izinkan kiriman + allow_account: Izinkan penulis + disallow: Jangan beri izin kiriman + disallow_account: Jangan beri izin penulis + shared_by: + other: Dibagikan dan difavoritkan %{friendly_count} kali + title: Kiriman yang sedang tren tags: current_score: Skor saat ini %{score} dashboard: @@ -816,16 +831,21 @@ id: body: "%{reporter} telah melaporkan %{target}" body_remote: Seseorang dari %{domain} telah melaporkan %{target} subject: Laporan baru untuk %{instance} (#%{id}) - new_trending_links: - body: Tautan berikut sedang tren hari ini, tetapi penerbit sebelumnya belum ditinjau. Mereka tidak akan ditampilkan secara publik kecuali Anda menyetujuinya. Notifikasi berikutnya dari penerbit yang sama tidak akan dibuat. - no_approved_links: Saat ini tidak akan tautan tren yang disetujui. - requirements: Tautan tren yang disetujui peringkat terendah saat ini "%{lowest_link_title}" dengan skor %{lowest_link_score}. - subject: Tautan tren baru mulai ditinjau di %{instance} - new_trending_tags: - body: 'Tagar berikut sedang tren hari ini, tetapi mereka sebelumnya belum ditinjau. Mereka tidak akan muncul secara publik kecuali Anda menyetujuinya:' - no_approved_tags: Saat ini tidak ada tagar tren yang disetujui. - requirements: 'Tagar tren yang disetujui peringkat terendah saat ini #%{lowest_tag_name} dengan skor %{lowest_tag_score}.' - subject: Tagar tren baru mulai ditinjau di %{instance} + new_trends: + body: 'Item berikut harus ditinjau sebelum ditampilkan secara publik:' + new_trending_links: + no_approved_links: Saat ini tidak ada tautan tren yang disetujui. + requirements: 'Kandidat yang ada di sini bisa saja melewati peringkat #%{rank} tautan tren yang disetujui, yang kini "%{lowest_link_title}" memiliki nilai %{lowest_link_score}.' + title: Tautan sedang tren + new_trending_statuses: + no_approved_statuses: Tidak ada kiriman sedang tren yang disetujui. + requirements: 'Kandidat yang ada di sini bisa saja melewati peringkat #%{rank} kiriman tren yang disetujui, yang kini %{lowest_status_url} memiliki nilai %{lowest_status_score}.' + title: Kiriman yang sedang tren + new_trending_tags: + no_approved_tags: Saat ini tidak ada tagar tren yang disetujui. + requirements: 'Kandidat yang ada di sini bisa saja melewati peringkat #%{rank} tagar sedang tren yang disetujui, yang kini #%{lowest_tag_name} memiliki nilai %{lowest_tag_score}.' + title: Tagar sedang tren + subject: Tren baru yang perlu ditinjau di %{instance} aliases: add_new: Buat alias created_msg: Berhasil membuat alias baru. Sekarang Anda dapat memulai pindah dari akun lama. @@ -1162,6 +1182,9 @@ id: carry_mutes_over_text: Pengguna ini pindah dari %{acct}, yang telah Anda bisukan sebelumnya. copy_account_note_text: 'Pengguna ini pindah dari %{acct}, ini dia pesan Anda sebelumnya tentang mereka:' notification_mailer: + admin: + sign_up: + subject: "%{name} mendaftar" digest: action: Lihat semua notifikasi body: Ini adalah ringkasan singkat yang anda lewatkan pada sejak kunjungan terakhir anda pada %{since} diff --git a/config/locales/is.yml b/config/locales/is.yml index 3d073e158..38c31d12f 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -467,15 +467,22 @@ is: view: Skoða útilokun á léni email_domain_blocks: add_new: Bæta við nýju + attempts_over_week: + one: "%{count} tilraun síðustu viku" + other: "%{count} tilraunir til nýskráningar í síðustu viku" created_msg: Tókst að útiloka póstlén delete: Eyða - destroyed_msg: Tókst að aflétta útilokun af póstléni + dns: + types: + mx: MX-færsla domain: Lén - empty: Engin tölvupóstlén eru útilokuð. - from_html: frá %{domain} new: create: Bæta við léni + resolve: Leysa lén title: Útiloka nýtt tölvupóstlén + no_email_domain_block_selected: Engum útilokunum tölvupóstléna var breytt þar sem ekkert var valið + resolved_dns_records_hint_html: Heiti lénsins vísar til eftirfarandi MX-léna, sem bera endanlega ábyrgð á að tölvupóstur skili sér. Útilokun á MX-léni mun koma í veg fyrir nýskráningar með hverju því tölvupóstfangi sem notar sama MX-lén, jafnvel þótt sýnilega lénsheitið sé frábrugðið. Farðu varlega svo þú útilokir ekki algengar tölvupóstþjónustur. + resolved_through_html: Leyst í gegnum %{domain} title: Útilokuð tölvupóstlén follow_recommendations: description_html: "Að fylgja meðmælum hjálpar nýjum notendum að finna áhugavert efni á einfaldan máta. Þegar notandi hefur ekki átt í nægilegum samskiptum við aðra til að vera farinn að móta sér skoðanir á hverju hann vill fylgjast með, er mælt með að fylgjast með þessum aðgöngum. Þeir eru endurreiknaðir daglega út frá blöndu þeirra aðganga sem eru með hvað mestri þáttöku í umræðum og mesta fylgjendafjölda út frá hverju tungumáli." @@ -610,6 +617,7 @@ is: title: Minnispunktar notes_description_html: Skoðaðu og skrifaðu minnispunkta til annarra stjórnenda og sjálfs þín quick_actions_description_html: 'Beittu flýtiaðgerð eða skrunaðu niður til að skoða kært efni:' + remote_user_placeholder: fjartengda notandann frá %{instance} reopen: Enduropna kæru report: 'Kæra #%{id}' reported_account: Kærður notandaaðgangur @@ -780,6 +788,15 @@ is: rejected: Tenglar frá þessum útgefanda verða ekki með í vinsældum title: Útgefendur rejected: Hafnað + statuses: + allow: Leyfa færslu + allow_account: Leyfa höfund + disallow: Ekki leyfa færslu + disallow_account: Ekki leyfa höfund + shared_by: + one: ShaDeilt eða gert að eftirlæti einu sinni + other: Deilt eða gert að eftirlæti %{friendly_count} sinnum + title: Vinsælar færslur tags: current_score: Núverandi stig %{score} dashboard: @@ -828,16 +845,21 @@ is: body: "%{reporter} hefur kært %{target}" body_remote: Einhver frá %{domain} hefur kært %{target} subject: Ný kæra vegna %{instance} (#%{id}) - new_trending_links: - body: Eftirfarandi tenglar eru vinsælir í dag, en ekki er búið að yfirfara útgefendur þeirra. Þeir munu ekki birtast opinberlega nema þú samþykkir þá. Ekki verða útbúnar frekari tilkynningar frá sömu útgefendum. - no_approved_links: Í augnablikinu eru engir samþykktir vinsælir tenglar. - requirements: Minnst vinsæli tengillinn sem búið er að samþykkja er núna "%{lowest_link_title}" með stigaskorið %{lowest_link_score}. - subject: Nýir vinsælir tenglar eru tilbúnir til yfirferðar á %{instance} - new_trending_tags: - body: 'Eftirfarandi myllumerki eru vinsæl í dag, en ekki er búið að yfirfara þau. Þau munu ekki birtast opinberlega nema þú samþykkir þau:' - no_approved_tags: Í augnablikinu eru engin samþykkt vinsæl myllumerki. - requirements: Minnst vinsæla myllumerkið sem búið er að samþykkja er núna %{lowest_tag_name} með stigaskorið %{lowest_tag_score}. - subject: Ný vinsæl myllumerki eru tilbúin til yfirferðar á %{instance} + new_trends: + body: 'Eftirfarandi atriði þarfnast yfirferðar áður en hægt er að birta þau opinberlega:' + new_trending_links: + no_approved_links: Það eru í augnablikinu engir samþykktir vinsælir tenglar. + requirements: 'Hver af þessum tillögum gætu farið yfir samþykkta vinsæla tengilinn númer #%{rank}, sem í augnablikinu er "%{lowest_link_title}" með %{lowest_link_score} stig.' + title: Vinsælir tenglar + new_trending_statuses: + no_approved_statuses: Það eru í augnablikinu engar samþykktar vinsælar færslur. + requirements: 'Hver af þessum tillögum gætu farið yfir samþykktu vinsælu færsluna númer #%{rank}, sem í augnablikinu er %{lowest_status_url} með %{lowest_status_score} stig' + title: Vinsælar færslur + new_trending_tags: + no_approved_tags: Það eru í augnablikinu engin samþykkt vinsæl myllumerki. + requirements: 'Hver af þessum tillögum gætu farið yfir samþykkta vinsæla myllumerkið númer #%{rank}, sem í augnablikinu er %{lowest_tag_name} með %{lowest_tag_score} stig' + title: Vinsæl myllumerki + subject: Nýtt vinsælt til yfirferðar á %{instance} aliases: add_new: Búa til samnefni (alias) created_msg: Tókst að búa til samnefni. Þú getur núna byrjað að færa gögn af gamla aðgangnum. @@ -1176,6 +1198,9 @@ is: carry_mutes_over_text: Þessi notandi fluttist frá %{acct}, sem þú hafðir þaggað niður í. copy_account_note_text: 'Þessi notandi fluttist frá %{acct}, hér eru fyrri minnispunktar þínir um hann:' notification_mailer: + admin: + sign_up: + subject: "%{name} nýskráði sig" digest: action: Skoða allar tilkynningar body: Hér er stutt yfirlit yfir þau skilaboð sem þú gætir hafa misst af síðan þú leist inn síðast %{since} diff --git a/config/locales/it.yml b/config/locales/it.yml index 18281a67d..a5cab56a1 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -467,15 +467,22 @@ it: view: Visualizza blocco di dominio email_domain_blocks: add_new: Aggiungi nuovo + attempts_over_week: + one: "%{count} tentativo nell'ultima settimana" + other: "%{count} tentativi di registrazione nell'ultima settimana" created_msg: Dominio email aggiunto con successo alla lista nera delete: Elimina - destroyed_msg: Dominio email cancellato con successo dalla lista nera + dns: + types: + mx: Record MX domain: Dominio - empty: Nessun dominio di posta elettronica attualmente in blacklist. - from_html: da %{domain} new: create: Aggiungi dominio + resolve: Risolvi dominio title: Nuova voce della lista nera delle email + no_email_domain_block_selected: Nessun blocco di dominio di posta elettronica è stato modificato in quanto nessuno è stato selezionato + resolved_dns_records_hint_html: Il nome di dominio si risolve ai seguenti domini MX, che sono in ultima analisi responsabili per l'accettazione di e-mail. Il blocco di un dominio MX bloccherà le iscrizioni da qualsiasi indirizzo e-mail che utilizza lo stesso dominio MX, anche se il nome di dominio visibile è diverso. Fai attenzione a non bloccare i principali provider di posta elettronica. + resolved_through_html: Risolto attraverso %{domain} title: Lista nera email follow_recommendations: description_html: "I consigli su chi seguire aiutano i nuovi utenti a trovare rapidamente dei contenuti interessanti. Quando un utente non ha interagito abbastanza con altri per avere dei consigli personalizzati, vengono consigliati questi account. Sono ricalcolati ogni giorno da un misto di account con le più alte interazioni recenti e con il maggior numero di seguaci locali per una data lingua." @@ -575,6 +582,7 @@ it: notes: one: "%{count} nota" other: "%{count} note" + action_log: Registro di controllo action_taken_by: Azione intrapresa da actions: delete_description_html: I post segnalati saranno eliminati e la violazione sarà registrata per aiutarti a prendere ulteriori provvedimenti sulle future infrazioni dello stesso account. @@ -609,6 +617,7 @@ it: title: Note notes_description_html: Visualizza e lascia note ad altri moderatori e al tuo futuro sé quick_actions_description_html: 'Fai un''azione rapida o scorri verso il basso per vedere il contenuto segnalato:' + remote_user_placeholder: l'utente remoto da %{instance} reopen: Riapri rapporto report: 'Rapporto #%{id}' reported_account: Account segnalato @@ -779,6 +788,15 @@ it: rejected: I link da questa fonte non possono essere in tendenza title: Editori rejected: Rifiutato + statuses: + allow: Consenti post + allow_account: Consenti autore + disallow: Non consentire post + disallow_account: Non consentire autore + shared_by: + one: Condiviso o preferito una volta + other: Condiviso e preferito %{friendly_count} volte + title: Post di tendenza tags: current_score: Punteggio corrente %{score} dashboard: @@ -827,16 +845,21 @@ it: body: "%{reporter} ha segnalato %{target}" body_remote: Qualcuno da %{domain} ha segnalato %{target} subject: Nuova segnalazione per %{instance} (#%{id}) - new_trending_links: - body: I seguenti link sono in tendenza oggi, ma i loro editori non sono stati revisionati precedentemente. Non saranno mostrati pubblicamente a meno che tu non li approvi. Ulteriori notifiche dagli stessi editori non saranno generate. - no_approved_links: Nessun link in tendenza correntemente approvato. - requirements: Il link in tendenza più basso approvato è correntemente "%{lowest_link_title}" con un punteggio di %{lowest_link_score}. - subject: Nuovi link in tendenza in attesa di revisione su %{instance} - new_trending_tags: - body: 'I seguenti hashtag sono in tendenza oggi, ma non sono stati precedentemente revisionati. Non saranno visualizzati pubblicamente a meno che non li approvi:' - no_approved_tags: Nessun hashtag in tendenza correntemente approvato. - requirements: 'L''hashtag in tendenza approvato con punteggio più basso è al momento #%{lowest_tag_name} con un punteggio di %{lowest_tag_score}.' - subject: I nuovi hashtag in tendenza in attesa di revisione su %{instance} + new_trends: + body: 'I seguenti elementi necessitano di un controllo prima che possano essere visualizzati pubblicamente:' + new_trending_links: + no_approved_links: Attualmente non ci sono link in tendenza approvati. + requirements: 'Ognuno di questi candidati potrebbe superare il #%{rank} link di tendenza approvato, che è attualmente "%{lowest_link_title}" con un punteggio di %{lowest_link_score}.' + title: Link di tendenza + new_trending_statuses: + no_approved_statuses: Attualmente non ci sono post di tendenza approvati. + requirements: 'Ognuno di questi candidati potrebbe superare il #%{rank} post di tendenza approvato, che è attualmente "%{lowest_status_url}" con un punteggio di %{lowest_status_score}.' + title: Post di tendenza + new_trending_tags: + no_approved_tags: Attualmente non ci sono hashtag di tendenza approvati. + requirements: 'Ognuno di questi candidati potrebbe superare il #%{rank} hashtag di tendenza approvato, che è attualmente "%{lowest_tag_name}" con un punteggio di %{lowest_tag_score}.' + title: Hashtag di tendenza + subject: Nuove tendenze in attesa di controllo su %{instance} aliases: add_new: Crea alias created_msg: Hai creato un nuovo alias. Ora puoi iniziare lo spostamento dal vecchio account. @@ -1177,6 +1200,9 @@ it: carry_mutes_over_text: Questo utente si è spostato da %{acct} che hai silenziato. copy_account_note_text: 'Questo utente si è spostato da %{acct}, ecco le tue note precedenti su di loro:' notification_mailer: + admin: + sign_up: + subject: "%{name} si è iscritto" digest: action: Vedi tutte le notifiche body: Ecco un breve riassunto di quello che ti sei perso dalla tua ultima visita del %{since} diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 1b79cd7f9..99428d7de 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -449,12 +449,13 @@ ja: add_new: 新規追加 created_msg: メールドメインブロックに追加しました delete: 消去 - destroyed_msg: メールドメインブロックから外しました + dns: + types: + mx: MXレコード domain: ドメイン - empty: メールドメインブロックには現在何も登録されていません。 - from_html: "%{domain} から" new: create: ドメインを追加 + resolve: ドメイン解決 title: 新規メールドメインブロック title: メールドメインブロック follow_recommendations: @@ -487,6 +488,10 @@ ja: delivery_error_hint: "%{count} 日間配送ができない場合は、自動的に配送不可としてマークされます。" destroyed_msg: "%{domain} からのデータは、すぐに削除されるように、キューに追加されました。" empty: ドメインが見つかりませんでした。 + known_accounts: + one: 既知のアカウントが%{count}件あります + other: 既知のアカウントが%{count}件あります + zero: 既知のアカウントはありません moderation: all: すべて limited: 制限あり @@ -561,6 +566,7 @@ ja: comment: none: なし created_at: 通報日時 + delete_and_resolve: 投稿を削除 forwarded: 転送済み forwarded_to: "%{domain} に転送されました" mark_as_resolved: 解決済みとしてマーク @@ -574,6 +580,7 @@ ja: placeholder: どのような措置が取られたか、または関連する更新を記述してください… title: メモ notes_description_html: 他のモデレーターと将来の自分にメモを残してください + remote_user_placeholder: "%{instance} からのリモートユーザー" reopen: 未解決に戻す report: 通報#%{id} reported_account: 報告対象アカウント @@ -701,6 +708,9 @@ ja: no_status_selected: 何も選択されていないため、変更されていません title: 投稿一覧 with_media: メディアあり + strikes: + appeal_approved: 抗議済み + appeal_pending: 保留中の抗議 system_checks: database_schema_check: message_html: 未実行のデータベースマイグレーションがあります。実行して正常に動作するようにしてください。 @@ -756,6 +766,9 @@ ja: empty: まだプリセット警告文が作成されていません。 title: プリセット警告文を管理 admin_mailer: + new_appeal: + actions: + none: 警告 new_pending_account: body: 新しいアカウントの詳細は以下の通りです。この申請を承認または却下することができます。 subject: "%{instance} で新しいアカウント (%{username}) が承認待ちです" @@ -763,16 +776,13 @@ ja: body: "%{reporter} が %{target} を通報しました" body_remote: "%{domain} の誰かが %{target} を通報しました" subject: "%{instance} の新しい通報 (#%{id})" - new_trending_links: - body: 以下のリンクは今日のトレンドですが、これらの発行者はまだレビューされていません。承認するまでは、このリンクは公開されず、通知も生成されません。 - no_approved_links: 承認済みのトレンドはありません。 - requirements: '承認された最低のトレンドは現在 %{lowest_link_title} です。(スコア: %{lowest_link_score} )' - subject: 新しいトレンドを %{instance} で確認してください。 - new_trending_tags: - body: 以下のハッシュタグは今日のトレンドですが、これらの発行者はまだレビューされていません。承認するまでは、このハッシュタグは公開されず、通知も生成されません。 - no_approved_tags: 承認済みのハッシュタグはありません。 - requirements: '承認された最低のトレンドハッシュタグは現在 %{lowest_tag_name} です。(スコア: %{lowest_tag_score} )' - subject: 新しいトレンドハッシュタグを %{instance} で確認してください。 + new_trends: + new_trending_links: + title: トレンドリンク + new_trending_statuses: + title: トレンド投稿 + new_trending_tags: + title: トレンドハッシュタグ aliases: add_new: エイリアスを作成 created_msg: エイリアスを作成しました。これで以前のアカウントから引っ越しを開始できます。 @@ -913,6 +923,16 @@ ja: disputes: strikes: appeal: 抗議 + appeal_submitted_at: 抗議が送信されました + appeals: + submit: 抗議を送信 + associated_report: 関連する通報 + created_at: 日時 + recipient: 送信元 + title: "%{date}に%{action}" + title_actions: + disable: アカウント凍結 + none: 警告 domain_validator: invalid_domain: は無効なドメイン名です errors: @@ -1302,8 +1322,8 @@ ja: other: "%{count}票" vote: 投票 show_more: もっと見る - show_newer: 新しいものから表示 - show_older: 古いものから表示 + show_newer: 新しいものを表示 + show_older: 古いものを表示 show_thread: スレッドを表示 sign_in_to_participate: ログインして会話に参加 title: '%{name}: "%{quote}"' @@ -1463,6 +1483,8 @@ ja: recovery_instructions_html: 携帯電話を紛失した場合、以下の内どれかのリカバリーコードを使用してアカウントへアクセスすることができます。リカバリーコードは大切に保全してください。たとえば印刷してほかの重要な書類と一緒に保管することができます。 webauthn: セキュリティキー user_mailer: + appeal_rejected: + title: 却下された抗議 backup_ready: explanation: Mastodonアカウントのアーカイブを受け付けました。今すぐダウンロードできます! subject: アーカイブの準備ができました @@ -1474,6 +1496,7 @@ ja: subject: ログイン試行を確認してください title: ログインを検出しました warning: + appeal: 抗議を送信 categories: spam: スパム violation: コンテンツは以下のコミュニティガイドラインに違反しています diff --git a/config/locales/ka.yml b/config/locales/ka.yml index d942048b6..48b3c227d 100644 --- a/config/locales/ka.yml +++ b/config/locales/ka.yml @@ -182,7 +182,6 @@ ka: add_new: ახლის დამატება created_msg: ელ-ფოსტის დომენი წარმატებით დაემატა შავ სიას delete: გაუქმება - destroyed_msg: ელ-ფოსტის დომენი წარმატებით ამოიშალა შავი სიიდან domain: დომენი new: create: დომენის დამატება diff --git a/config/locales/kab.yml b/config/locales/kab.yml index 57d1c9d33..169f69492 100644 --- a/config/locales/kab.yml +++ b/config/locales/kab.yml @@ -343,7 +343,6 @@ kab: add_new: Rnu amaynut delete: Kkes domain: Taγult - from_html: seg %{domain} new: create: Rnu taγult title: Timerna n taɣult tamaynut n imayl ɣer tebdart taberkant @@ -416,6 +415,8 @@ kab: save_and_enable: Sekles rnu rmed-it status: Addad title: Imnegliyen + report_notes: + today_at: Ass-a ɣef %{time} reports: account: notes: @@ -433,6 +434,7 @@ kab: create_and_resolve: Fru s tamawt create_and_unresolve: Alew alday s tamawt delete: Kkes + title: Tizmilin reopen: Allus n ulday n uneqqis report: 'Aneqqis #%{id}' reported_account: Amiḍan yettumlen diff --git a/config/locales/kk.yml b/config/locales/kk.yml index 319531cc1..3e6615956 100644 --- a/config/locales/kk.yml +++ b/config/locales/kk.yml @@ -277,9 +277,7 @@ kk: add_new: Жаңасын қосу created_msg: Қаратізімге email домені қосылды delete: Өшіру - destroyed_msg: Successfully deletеd e-mail domain from blacklist domain: Домен - empty: Ешқандай e-mail домені қаратізімге алынбапты. new: create: Add dоmain title: New e-mail blаcklist entry diff --git a/config/locales/kmr.yml b/config/locales/kmr.yml index 8e40d8e2f..6ee62729c 100644 --- a/config/locales/kmr.yml +++ b/config/locales/kmr.yml @@ -469,15 +469,22 @@ kmr: view: Astengkirina navperê nîşan bike email_domain_blocks: add_new: Nû tevlî bike + attempts_over_week: + one: "%{count} hewldan di hefteya borî de" + other: "%{count} hewldanên tomarkirinê di hefteya borî de" created_msg: Bi serkeftî navpera e-name hat asteng kirin delete: Jê bibe - destroyed_msg: Bi serkeftî navpera e-name yê ji asteng kirinê derket + dns: + types: + mx: Tomarkerê MX domain: Navper - empty: Tu navperên e-nameyê astengkirî bo niha tune ne. - from_html: ji %{domain} new: create: Navper tevlî bike + resolve: Navparê çareser bike title: Navparê e-nameyê nû asteng bike + no_email_domain_block_selected: Tu astengên navparê e-nameyê nehatin guhertin ji ber ku tu yek nehatine hilbijartin + resolved_dns_records_hint_html: Navê navparê ji MX ên jêrîn re çareser dike, ên ku di dawiyê de berpirsiyarin ji pejirandina e-nameyê. Astengkirina navparek MX wê tomarkirina ji her navnîşana e-nameyê ya ku heman navpara MX bi kar tîne asteng bike, tevlî ku navê navparê xuya cûda be. Hişyar be ku peydekarên sereke yên e-nameyê asteng nekî. + resolved_through_html: Bi riya %{domain} ve hate çareserkirin title: Navparên e-nameyê astengkirî follow_recommendations: description_html: "Şopandina pêşniyaran ji bo bikarhênerên nû re dibe alîkar ku zû naveroka balkêş bibînin. Gava ku bikarhênerek têra xwe bi kesên din re têkildar nebê da ku pêşnîyarên şopandina yên kesane bo xwe çêbike, li şûna van ajimêran têne pêşniyarkirin. Ew her roj ji tevliheviya ajimêrên bi tevlêbûnên herî dawîn ên herî bilind û jimara şopdarên herêmî yên herî pir ji bo zimaneke diyarkirî ji nû ve têne pêşniyarkirin." @@ -612,6 +619,7 @@ kmr: title: Nîşe notes_description_html: Nîşeyan ji çavdêrên din û ji xwe re di pêşerojê de bibîne û bihêle quick_actions_description_html: 'Ji bo dîtina naveroka ragihandî çalakiyeke bilez bavêje an jî li jêr bigere:' + remote_user_placeholder: bikarhênerê ji dûr ve ji %{instance} reopen: Ragihandina ji nû ve veke report: "@%{id} Ragihîne" reported_account: Ajimêra ragihandî @@ -782,6 +790,15 @@ kmr: rejected: Girêdanên ji vê weşangerê nikarin bibin rojev title: Weşanger rejected: Nepejirand + statuses: + allow: Mafê bide şandiyê + allow_account: Mafê bide nivîskar + disallow: Mafê nede şandiyê + disallow_account: Mafê nede nivîskar + shared_by: + one: Yek carî parvekirî an bijartî + other: "%{friendly_count} carên parvekirî û bijartî" + title: Şandiyên rojevê tags: current_score: Encama niha %{score} dashboard: @@ -830,16 +847,21 @@ kmr: body: "%{reporter} ji %{target} ê ragihand" body_remote: Kesekî bi navê %{domain} ji %{target} ê ragihand subject: Ragihandinek nû ji bo %{instance} (#%{id}) - new_trending_links: - body: Girêdanên li jêr îro rojev in, lê weşangerên wan berê nehatine nirxandin. Heya ku tu wan nepejirînî ew dê bi awayekî giştî neyên nîşandan. Ji heman weşangeran agahdarîyên bêtir nayên çêkirin. - no_approved_links: Niha tu girêdanên rojeva pejirandî tune ne. - requirements: Girêdanên rojevê ya herî kêm pejirandî niha "%{lowest_link_title}" e bi rêjeyek %{lowest_link_score}. - subject: Girêdanên rojevê yên nû ji bo nirxandinê li ser %{instance} derdikevin - new_trending_tags: - body: 'Hashtagên li jêr îro trojev in, lê ew berê nehatine nirxandin. Heya ku tu wan nepejirînî, ew dê bi awayekî gelemperî neyên nîşandan:' - no_approved_tags: Niha hashtagên rojevê pejirandî tune ne. - requirements: 'Hashtagên rojevê ya herî kêm pejirandî niha #%{lowest_tag_name} e bi rêjeyek %{lowest_tag_score}.' - subject: Hashtagên rojevê yên nû ji bo nirxandinê li ser %{instance} derdikevin + new_trends: + body: 'Tiştên jêrîn berî ku ew bi gelemperî werin xuyakirin divê werin nirxandin:' + new_trending_links: + no_approved_links: Niha tu girêdanên rojeva pejirandî tune ne. + requirements: 'Yek ji namzedên li jêr dikare ji #%{rank} girêdana diyarkirî ya pejirandî derbas bibe, niha ku "%{lowest_link_title}" bi %{lowest_link_score} puan e.' + title: Girêdanên rojevê + new_trending_statuses: + no_approved_statuses: Niha tu şandiyên rojeva pejirandî tune ne. + requirements: 'Yek ji namzedên li jêr dikare ji #%{rank} şandiyaa diyarkirî ya pejirandî derbas bibe, niha ku %{lowest_status_url} bi %{lowest_status_score} puan e.' + title: Şandiyên rojevê + new_trending_tags: + no_approved_tags: Niha hashtagên rojevê pejirandî tune ne. + requirements: 'Yek ji namzedên li jêr dikare ji #%{rank} hashtagaa diyarkirî ya pejirandî derbas bibe, niha ku #%{lowest_tag_name} bi %{lowest_tag_score} puan e.' + title: Hashtagên rojevê + subject: Rojevên nû ji bo nirxandinê li ser %{instance} derdikevin aliases: add_new: Naveke sexte çê bike created_msg: Bi serkeftî nûçikê nû hat çêkirin. Tu niha dikarî di ajimêrê xwe kevn bar bikî. @@ -1178,6 +1200,9 @@ kmr: carry_mutes_over_text: Ev bikarhêner ji %{acct}, ku te bê deng kirbû, bar kir. copy_account_note_text: 'Ev bikarhêner ji %{acct} livî ye, li vir nîşeyên te yên berê ku te di derbarê wî/ê de nivîsandiye:' notification_mailer: + admin: + sign_up: + subject: "%{name} tomar bû" digest: action: Hemû agahdariyan nîşan bide body: Li vir kurteyeke peyamên ku li te derbasbûnd ji serdana te ya dawîn di %{since} de diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 9efdeb751..d905fb606 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -463,10 +463,7 @@ ko: add_new: 새로 추가 created_msg: 이메일 도메인 차단 규칙을 생성했습니다 delete: 삭제 - destroyed_msg: 이메일 도메인 차단 규칙을 삭제했습니다 domain: 도메인 - empty: 현재 블랙리스트에 등록한 이메일 도메인이 없습니다 - from_html: "%{domain}에서" new: create: 차단 규칙 생성 title: 새 이메일 도메인 차단 @@ -809,16 +806,6 @@ ko: body: "%{reporter} 가 %{target} 를 신고했습니다" body_remote: "%{domain}의 누군가가 %{target}을 신고했습니다" subject: "%{instance} 에 새 신고 등록됨 (#%{id})" - new_trending_links: - body: 아래에 있는 링크들이 오늘 유행 중입니다, 하지만 이 링크들의 출처는 전에 심사를 받은 적이 없습니다. 이 링크들은 승인하기 전까지는 공개적으로 표시되지 않을 것입니다. 동일한 출처에 대한 알림은 더 생성되지 않습니다. - no_approved_links: 현재 승인된 유행 중인 링크가 없습니다. - requirements: 현재 승인된 유행하는 링크 중 가장 낮은 것은 %{lowest_link_score}점을 가진 "%{lowest_link_title}" 입니다 - subject: 새 유행하는 링크가 %{instance}에서 심사 대기 중입니다 - new_trending_tags: - body: '아래에 있는 해시태그들이 오늘 유행 중입니다, 하지만 전에 심사를 받은 적이 없습니다. 이 해시태그들은 승인하기 전까지는 공개적으로 표시되지 않을 것입니다:' - no_approved_tags: 현재 승인된 유행 중인 해시태그가 없습니다. - requirements: '현재 승인된 유행하는 해시태그 중 가장 낮은 것은 %{lowest_tag_score}점을 가진 #%{lowest_tag_name} 입니다' - subject: 새 유행하는 해시태그가 %{instance}에서 심사 대기 중입니다 aliases: add_new: 별칭 만들기 created_msg: 새 별칭이 성공적으로 만들어졌습니다. 이제 기존 계정에서 이주를 시작할 수 있습니다. @@ -976,6 +963,7 @@ ko: none: 경고 sensitive: 계정을 민감함으로 표시 silence: 계정의 제한 + suspend: 계정 정지 domain_validator: invalid_domain: 올바른 도메인 네임이 아닙니다 errors: @@ -1148,6 +1136,9 @@ ko: carry_mutes_over_text: 이 사용자는 당신이 뮤트한 %{acct}로부터 이주 했습니다. copy_account_note_text: '이 사용자는 %{acct}로부터 이동하였습니다. 당신의 이전 노트는 이렇습니다:' notification_mailer: + admin: + sign_up: + subject: "%{name} 님이 가입했습니다" digest: action: 모든 알림 보기 body: 마지막 로그인(%{since}) 이후로 일어난 일들에 관한 요약 @@ -1528,6 +1519,8 @@ ko: user_mailer: appeal_approved: action: 내 계정으로 가기 + appeal_rejected: + title: 이의제기가 거절되었습니다 backup_ready: explanation: 당신이 요청한 계정의 풀 백업이 이제 다운로드 가능합니다! subject: 당신의 아카이브를 다운로드 가능합니다 @@ -1539,6 +1532,8 @@ ko: subject: 로그인 시도를 확인해 주십시오 title: 로그인 시도 warning: + appeal: 이의 제출하기 + appeal_description: 이것이 오류라고 생각한다면, %{instance}의 중재자에게 이의신청을 할 수 있습니다. categories: spam: 스팸 violation: 컨텐츠가 다음의 커뮤니티 규정을 위반합니다 diff --git a/config/locales/ku.yml b/config/locales/ku.yml index bcf71682a..4fb522d09 100644 --- a/config/locales/ku.yml +++ b/config/locales/ku.yml @@ -352,10 +352,7 @@ ku: add_new: زیادکردنی نوێ created_msg: بە سەرکەوتوویی دۆمەینی ئیمەیڵ بلۆک کرا delete: سڕینەوە - destroyed_msg: بە سەرکەوتوویی دۆمەینی ئیمەیڵ لە بلۆک لاچوو domain: دۆمەین - empty: هیچ دۆمەینێک لە ئێستادا بلۆک نەکراوە. - from_html: لە %{domain} new: create: زیادکردنی دۆمەین title: بلۆککردنی دۆمەینی ئیمەیڵی نوێ diff --git a/config/locales/lt.yml b/config/locales/lt.yml index bf7166b4f..838eccc15 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -203,7 +203,6 @@ lt: add_new: Pridėti naują created_msg: El pašto domenas sėkmingai pridėtas į juodąjį sąrašą delete: Ištrinti - destroyed_msg: El pašto adresas sėkmingai pašalintas iš juodojo sąrašo domain: Domenas new: create: Pridėto domeną diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 808cc567e..8e1a831dd 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -475,15 +475,23 @@ lv: view: Skatīt domēna bloķēšanu email_domain_blocks: add_new: Pievienot jaunu + attempts_over_week: + one: "%{count} mēģinājums pagājušajā nedēļā" + other: "%{count} reģistrēšanās mēģinājumi pagājušajā nedēļā" + zero: "%{count} mēģinājumu pagājušajā nedēļā" created_msg: E-pasta domēns ir veiksmīgi bloķēts delete: Dzēst - destroyed_msg: E-pasta domēns ir veiksmīgi atbloķēts + dns: + types: + mx: MX ieraksts domain: Domēns - empty: Pašlaik nav bloķēts neviens e-pasta domēns. - from_html: no %{domain} new: create: Pievienot domēnu + resolve: Atrisināt domēnu title: Bloķēt jaunu e-pasta domēnu + no_email_domain_block_selected: Neviens e-pasta domēna bloks netika mainīts, jo neviens netika atlasīts + resolved_dns_records_hint_html: Domēna nosaukums tiek izmantots tālāk norādītajos MX domēnos, kas galu galā ir atbildīgi par e-pasta pieņemšanu. Bloķējot MX domēnu, tiks bloķēta reģistrēšanās no jebkuras e-pasta adreses, kas izmanto vienu un to pašu MX domēnu, pat ja redzamais domēna nosaukums atšķiras. Esi uzmanīgs, lai nebloķētu lielākos e-pasta pakalpojumu sniedzējus. + resolved_through_html: Atrisināts, izmantojot %{domain} title: Bloķētie e-pasta domēni follow_recommendations: description_html: "Sekošana rekomendācijām palīdz jaunajiem lietotājiem ātri atrast interesantu saturu. Ja lietotājs nav pietiekami mijiedarbojies ar citiem, lai izveidotu personalizētus ieteikumus, ieteicams izmantot šos kontus. Tie tiek pārrēķināti katru dienu, izmantojot vairākus kontus ar visaugstākajām pēdējā laika saistībām un vislielāko vietējo sekotāju skaitu noteiktā valodā." @@ -620,6 +628,7 @@ lv: title: Piezīmes notes_description_html: Skati un atstāj piezīmes citiem moderatoriem un sev nākotnei quick_actions_description_html: 'Veic ātro darbību vai ritini uz leju, lai skatītu saturu, par kuru ziņots:' + remote_user_placeholder: attālais lietotājs no %{instance} reopen: Atkārtoti atvērt ziņojumu report: 'Ziņojums #%{id}' reported_account: Ziņotais konts @@ -790,6 +799,16 @@ lv: rejected: Saites no šī publicētāja nebūs tendence title: Publicētāji rejected: Noraidīts + statuses: + allow: Atļaut publicēt + allow_account: Atļaut autoru + disallow: Neatļaut publicēt + disallow_account: Neatļaut autoru + shared_by: + one: Vienreiz kopīgots vai pievienots izlasei + other: Kopīgots un pievienots izlasei %{friendly_count} reizes + zero: "%{friendly_count} reižu kopīgots vai pievienots izlasei" + title: Populārākās ziņas tags: current_score: Pašreizējais rezultāts %{score} dashboard: @@ -838,16 +857,21 @@ lv: body: "%{reporter} ziņoja par %{target}" body_remote: Kāds no %{domain} ziņoja par %{target} subject: Jauns ziņojums par %{instance} (#%{id}) - new_trending_links: - body: Tālāk norādītās saites šodien ir populāras, taču to publicētāji iepriekš nav pārskatīti. Tie netiks rādīti publiski, ja vien tu tos neapstiprināsi. Turpmāki paziņojumi no tiem pašiem publicētājiem netiks ģenerēti. - no_approved_links: Pašlaik nav apstiprinātu tendenču saišu. - requirements: Viszemāk apstiprinātā populārā saite pašlaik ir “%{lowest_link_title}” ar rezultātu %{lowest_link_score}. - subject: Jaunas populāras saites ir pieejamas pārskatīšanai vietnē %{instance} - new_trending_tags: - body: 'Tālāk norādītās atsauces ir populāras, taču tās iepriekš nav pārskatītas. Tie netiks rādīti publiski, ja vien tu tās neapstiprināsi:' - no_approved_tags: Pašlaik nav apstiprinātu tendenču tēmturu. - requirements: 'Viszemāk apstiprinātais populārais tēmturis pašlaik ir #%{lowest_tag_name} ar rezultātu %{lowest_tag_score}.' - subject: Jauni populāri tēmturi ir pieejami pārskatīšanai vietnē %{instance} + new_trends: + body: 'Tālāk norādītie vienumi ir jāpārskata, lai tos varētu parādīt publiski:' + new_trending_links: + no_approved_links: Pašlaik nav apstiprinātu tendenču saišu. + requirements: 'Jebkurš no šiem kandidātiem varētu pārspēt #%{rank} apstiprināto populāro saiti, kas pašlaik ir "%{lowest_link_title}" ar rezultātu %{lowest_link_score}.' + title: Populārākās saites + new_trending_statuses: + no_approved_statuses: Pašlaik nav apstiprinātu tendenču saišu. + requirements: 'Jebkurš no šiem kandidātiem varētu pārspēt #%{rank} apstiprināto populāro ziņu, kas pašlaik ir %{lowest_status_url} ar rezultātu %{lowest_status_score}.' + title: Populārākās ziņas + new_trending_tags: + no_approved_tags: Pašlaik nav apstiprinātu tendenču tēmturu. + requirements: 'Jebkurš no šiem kandidātiem varētu pārspēt #%{rank} apstiprināto populāro tēmturi, kas pašlaik ir #%{lowest_tag_name} ar rezultātu %{lowest_tag_score}.' + title: Populārākie tēmturi + subject: Tiek pārskatītas jaunas tendences %{instance} aliases: add_new: Izveidot aizstājvārdu created_msg: Veiksmīgi izveidots jauns aizstājvārds. Tagad vari sākt pārvietošanu no vecā konta. @@ -1188,6 +1212,9 @@ lv: carry_mutes_over_text: Šis lietotājs pārcēlās no %{acct}, kuru tu biji apklusinājis. copy_account_note_text: 'Šis lietotājs pārcēlās no %{acct}, šeit bija tavas iepriekšējās piezīmes par viņu:' notification_mailer: + admin: + sign_up: + subject: "%{name} ir pierakstījies" digest: action: Rādīt visus paziņojumus body: Šeit ir īss kopsavilkums par ziņojumiem, kurus tu esi palaidis garām kopš pēdējā apmeklējuma %{since} diff --git a/config/locales/ms.yml b/config/locales/ms.yml index 0cd87686e..9a9b92d3c 100644 --- a/config/locales/ms.yml +++ b/config/locales/ms.yml @@ -403,10 +403,7 @@ ms: add_new: Tambah baharu created_msg: Telah berjaya menyekat domain e-mel delete: Padam - destroyed_msg: Telah berjaya menyahsekat domain e-mel domain: Domain - empty: Tiada domain e-mel sedang disekat. - from_html: dari %{domain} new: create: Tambah domain title: Sekat domain e-mel baharu diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 22084fa29..f1cbecbc0 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -406,10 +406,7 @@ nl: add_new: Nieuwe toevoegen created_msg: Blokkeren e-maildomein geslaagd delete: Verwijderen - destroyed_msg: Deblokkeren e-maildomein geslaagd domain: Domein - empty: Momenteel worden er geen e-maildomeinen geblokkeerd. - from_html: van %{domain} new: create: Blokkeren title: Nieuw e-maildomein blokkeren diff --git a/config/locales/nn.yml b/config/locales/nn.yml index eae87f41e..14cd5a1c7 100644 --- a/config/locales/nn.yml +++ b/config/locales/nn.yml @@ -379,10 +379,7 @@ nn: add_new: Lag ny created_msg: E-postdomenet ble lagt til i blokkeringslisten uten problemer delete: Slett - destroyed_msg: E-postdomenet har blitt fjernet fra blokkeringslisten uten problemer domain: Domene - empty: Ingen e-mail-domener er sortelistet på dette tidspunkt. - from_html: frå %{domain} new: create: Legg til domene title: Ny blokkeringsoppføring av e-postdomene diff --git a/config/locales/no.yml b/config/locales/no.yml index 7019b2457..3e6b49524 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -376,10 +376,7 @@ add_new: Lag ny created_msg: E-postdomenet ble lagt til i blokkeringslisten uten problemer delete: Fjern - destroyed_msg: E-postdomenet har blitt fjernet fra blokkeringslisten uten problemer domain: Domene - empty: Ingen e-mail-domener er sortelistet på dette tidspunkt. - from_html: fra %{domain} new: create: Legg til domene title: Ny blokkeringsoppføring av e-postdomene diff --git a/config/locales/oc.yml b/config/locales/oc.yml index 844a8b256..79b73d12f 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -339,10 +339,7 @@ oc: add_new: Ajustar created_msg: Blocatge del domeni de corrièl ben plaçat delete: Suprimir - destroyed_msg: Blocatge del domeni de corrièl ben levat domain: Domeni - empty: Cap de domeni de corrièl es pas en lista negra actualament. - from_html: de %{domain} new: create: Crear un blocatge title: Nòu blocatge de domeni de corrièl diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 6a48cb840..b953b44e3 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -481,13 +481,17 @@ pl: add_new: Dodaj nową created_msg: Pomyślnie utworzono blokadę domeny e-mail delete: Usuń - destroyed_msg: Pomyślnie usunięto blokadę domeny e-mail + dns: + types: + mx: Rekord MX domain: Domena - empty: Żadna domena e-mail nie znajduje się obecnie na czarnej liście. - from_html: z %{domain} new: create: Utwórz blokadę + resolve: Rozwiąż domenę title: Nowa blokada domeny e-mail + no_email_domain_block_selected: Żadne blokady domeny e-mail nie zostały zmienione, ponieważ żadne z nich nie zostały wybrane + resolved_dns_records_hint_html: Nazwa domeny rozwiązuje się do następujących domen MX, które są ostatecznie odpowiedzialne za przyjmowanie wiadomości e-mail. Blokowanie domeny MX spowoduje zablokowanie rejestracji z dowolnego adresu e-mail, który używa tej samej domeny MX, nawet jeśli widoczna nazwa domeny jest inna. Uważaj, aby nie blokować głównych dostawców poczty elektronicznej. + resolved_through_html: Rozwiązano przez %{domain} title: Blokowanie domen e-mail follow_recommendations: description_html: "Polecane śledzenia pomagają nowym użytkownikom szybko odnaleźć interesujące treści. Jeżeli użytkownik nie wchodził w interakcje z innymi wystarczająco często, aby powstały spersonalizowane rekomendacje, polecane są te konta. Są one obliczane każdego dnia na podstawie kombinacji kont o największej liczbie niedawnej aktywności i największej liczbie lokalnych obserwatorów dla danego języka." @@ -788,6 +792,12 @@ pl: rejected: Linki od tego wydawcy nie mogą podlegać trendom title: Wydawcy rejected: Odrzucono + statuses: + allow: Zezwól na post + allow_account: Zezwól na autora + disallow: Nie zezwalaj na post + disallow_account: Nie zezwalaj na autora + title: Popularne teraz tags: current_score: Bieżący wynik %{score} dashboard: @@ -832,16 +842,10 @@ pl: body: Użytkownik %{reporter} zgłosił(a) %{target} body_remote: Użytkownik instancji %{domain} zgłosił(a) %{target} subject: Nowe zgłoszenie na %{instance} (#%{id}) - new_trending_links: - body: Poniższe linki są dziś popularne, ale ich wydawcy nie byli wcześniej sprawdzeni. Nie będą one wyświetlane publicznie dopóki ich nie zatwierdzisz. Kolejne powiadomienia od tych samych wydawców nie zostaną wygenerowane. - no_approved_links: Obecnie nie ma zatwierdzonych linków trendów. - requirements: Najniższy zatwierdzony link trendu to "%{lowest_link_title}" z wynikiem %{lowest_link_score}. - subject: Nowe popularne linki do przeglądu na %{instance} - new_trending_tags: - body: 'Następujące hashtagi są dziś popularne, ale nie zostały wcześniej sprawdzone. Nie będą one wyświetlane publicznie, chyba że je zatwierdzisz:' - no_approved_tags: Obecnie nie ma zatwierdzonych popularnych hashtagów. - requirements: 'Najniższy zatwierdzony popularny hashtag to obecnie #%{lowest_tag_name} z wynikiem %{lowest_tag_score}.' - subject: Nowy popularny hashtag do zatwierdzenia na %{instance} + new_trends: + body: 'Następujące elementy potrzebują recenzji zanim będą mogły być wyświetlane publicznie:' + new_trending_links: + no_approved_links: Obecnie nie ma zatwierdzonych linków trendów. aliases: add_new: Utwórz alias created_msg: Pomyślnie utworzono nowy alias. Możesz teraz rozpocząć przenoszenie ze starego konta. @@ -1184,6 +1188,9 @@ pl: carry_mutes_over_text: Ten użytkownik przeniósł się z konta %{acct}, które wyciszyłeś(-aś). copy_account_note_text: 'Ten użytkownik przeniósł się z konta %{acct}, oto Twoje poprzednie notatki o nim:' notification_mailer: + admin: + sign_up: + subject: "%{name} zarejestrował(-a) się" digest: action: Wyświetl wszystkie powiadomienia body: Oto krótkie podsumowanie wiadomości, które ominęły Cię od Twojej ostatniej wizyty (%{since}) diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 547fbabab..e9f1f6350 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -255,6 +255,7 @@ pt-BR: enable_user: Ativar usuário memorialize_account: Converter conta em memorial promote_user: Promover usuário + reject_appeal: Rejeitar recurso reject_user: Rejeitar Usuário remove_avatar_user: Remover Avatar reopen_report: Reabrir Relatório @@ -273,6 +274,7 @@ pt-BR: update_domain_block: Atualizar bloqueio de domínio update_status: Editar Status actions: + approve_appeal_html: "%{name} aprovou o recurso de decisão de moderação de %{target}" assigned_to_self_report_html: "%{name} atribuiu o relatório %{target} para si" change_email_user_html: "%{name} alterou o endereço de e-mail do usuário %{target}" confirm_user_html: "%{name} confirmou o endereço de e-mail do usuário %{target}" @@ -388,6 +390,9 @@ pt-BR: top_languages: Línguas mais ativas top_servers: Servidores mais ativos website: Site + disputes: + appeals: + title: Apelações domain_allows: add_new: Permitir domínio created_msg: Domínio foi permitido @@ -425,6 +430,8 @@ pt-BR: silence: silenciado suspend: banido show: + affected_accounts: + one: Uma conta no banco de dados foi afetada retroactive: silence: Dessilenciar contas existentes afetadas deste domínio suspend: Remover a suspensão das contas afetadas deste domínio @@ -436,12 +443,10 @@ pt-BR: add_new: Adicionar novo created_msg: Domínio de e-mail adicionado à lista negra com sucesso delete: Excluir - destroyed_msg: Domínio de e-mail excluído da lista negra com sucesso domain: Domínio - empty: Nenhum domínio de e-mail atualmente bloqueado. - from_html: de %{domain} new: create: Adicionar domínio + resolve: Resolver domínio title: Nova entrada de lista negra de e-mail title: Lista de negra de e-mail follow_recommendations: @@ -715,6 +720,8 @@ pt-BR: rejected: Links deste editor não vão tender title: Editor rejected: Rejeitado + statuses: + title: Publicações em alta tags: current_score: Pontuação atual %{score} dashboard: @@ -746,10 +753,6 @@ pt-BR: body: "%{reporter} denunciou %{target}" body_remote: Alguém da instância %{domain} reportou %{target} subject: Nova denúncia sobre %{instance} (#%{id}) - new_trending_links: - no_approved_links: Atualmente, não há links de tendência aprovados. - new_trending_tags: - body: 'As seguintes hashtags estão em alta hoje, mas não foram avaliadas anteriormente. Elas não serão exibidas publicamente, a menos que você as aprove:' aliases: add_new: Criar alias created_msg: Um novo alias foi criado com sucesso. Agora você pode iniciar a mudança da conta antiga. diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index 0626b8be9..743758cca 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -467,15 +467,22 @@ pt-PT: view: Ver domínios bloqueados email_domain_blocks: add_new: Adicionar novo + attempts_over_week: + one: "%{count} tentativa na última semana" + other: "%{count} tentativas de inscrição na última semana" created_msg: Bloqueio de domínio de e-mail criado com sucesso delete: Eliminar - destroyed_msg: Bloqueio de domínio de e-mail excluído com sucesso + dns: + types: + mx: Registo MX domain: Domínio - empty: Nenhum domínio de e-mail atualmente na lista negra. - from_html: de %{domain} new: create: Adicionar domínio + resolve: Domínio de resolução title: Novo bloqueio de domínio de e-mail + no_email_domain_block_selected: Nenhum bloqueio de domínio de e-mail foi alterado pois nenhum foi selecionado + resolved_dns_records_hint_html: O nome de domínio resolve para os seguintes domínios MX, que são, em última análise, responsáveis por aceitar o e-mail. Bloquear um domínio MX irá bloquear as inscrições de qualquer endereço de e-mail que use o mesmo domínio MX, mesmo quando o nome de domínio visível é diferente. Cuidado para não bloquear os principais provedores de e-mail. + resolved_through_html: Resolvido através de %{domain} title: Domínios de e-mail bloqueados follow_recommendations: description_html: "Recomendações de quem seguir ajudam novos utilizadores a encontrar conteúdo interessante rapidamente.. Quando um utilizador não interage com outros o suficiente para formar recomendações personalizadas, estas contas são recomendadas. Elas são recalculadas diariamente a partir de uma mistura de contas com mais atividade recente e maior número de seguidores locais para um determinado idioma." @@ -610,6 +617,7 @@ pt-PT: title: Notas notes_description_html: Visualize e deixe anotações para outros moderadores e para sí no futuro quick_actions_description_html: 'Tome uma ação rápida ou role para baixo para ver o conteúdo denunciado:' + remote_user_placeholder: o utilizador remoto de %{instance} reopen: Reabrir denúncia report: 'Denúncia #%{id}' reported_account: Conta denunciada @@ -780,6 +788,15 @@ pt-PT: rejected: Links deste editor não serão incluídos nos destaques title: Editores rejected: Rejeitado + statuses: + allow: Permitir publicação + allow_account: Permitir autor + disallow: Não permitir publicação + disallow_account: Não permitir autor + shared_by: + one: Partilhado ou adicionado aos favoritos uma vez + other: Partilhado e adicionado aos favoritos %{friendly_count} vezes + title: Publicações em destaque tags: current_score: Pontuação atual %{score} dashboard: @@ -828,16 +845,21 @@ pt-PT: body: "%{reporter} denunciou %{target}" body_remote: Alguém de %{domain} denunciou %{target} subject: Nova denúncia para %{instance} (#%{id}) - new_trending_links: - body: Os seguintes links estão hoje em destaque, mas os seus editores não foram previamente revistos. Eles não serão exibidos publicamente a menos que você os aprove. Outras notificações dos mesmos editores não serão geradas. - no_approved_links: Não existem, atualmente, links aprovados em destaque. - requirements: O link em destaque, com pontuação mais baixa, aprovado atualmente é "%{lowest_link_title}" com uma pontuação de %{lowest_link_score}. - subject: Novos links em destaque para revisão em %{instance} - new_trending_tags: - body: 'As seguintes hashtags estão hoje em tendência, mas não foram revistas anteriormente. Elas não serão exibidas publicamente, a menos que você as aprove:' - no_approved_tags: Não existem, atualmente, hashtags aprovados em tendência. - requirements: 'A hashtag em tendência, com pontuação mais baixa, aprovado atualmente é #%{lowest_tag_name} com uma pontuação de %{lowest_tag_score}.' - subject: Novas hashtags em tendência para revisão em %{instance} + new_trends: + body: 'Os seguintes itens precisam ser revistos antes de poderem ser exibidos publicamente:' + new_trending_links: + no_approved_links: Não existem, atualmente, links aprovados em destaque. + requirements: 'Qualquer um destes candidatos pode ultrapassar o #%{rank} link aprovado em destaque, que é atualmente "%{lowest_link_title}" com uma pontuação de %{lowest_link_score}.' + title: Links em destaque + new_trending_statuses: + no_approved_statuses: Não existem, atualmente, publicações aprovadas em destaque. + requirements: 'Qualquer um destes candidatos pode ultrapassar a #%{rank} publicação aprovada em destaque, que é atualmente %{lowest_status_url} com uma pontuação de %{lowest_status_score}.' + title: Publicações em destaque + new_trending_tags: + no_approved_tags: Não existem, atualmente, hashtags aprovadas em destaque. + requirements: 'Qualquer um destes candidatos pode ultrapassar a #%{rank} hashtag aprovada em destaque, que é atualmente #%{lowest_tag_name} com uma pontuação de %{lowest_tag_score}.' + title: Hashtags em destaque + subject: Novas tendências para revisão em %{instance} aliases: add_new: Criar pseudónimo created_msg: Criou com sucesso um novo pseudónimo. Pode agora iniciar a migração da conta antiga. @@ -1176,6 +1198,9 @@ pt-PT: carry_mutes_over_text: Este utilizador migrou de %{acct}, que você tinha silenciado. copy_account_note_text: 'Este utilizador migrou de %{acct}, aqui estão as suas notas anteriores sobre ele:' notification_mailer: + admin: + sign_up: + subject: "%{name} inscreveu-se" digest: action: Ver todas as notificações body: Aqui tens um breve resumo do que perdeste desde o último acesso a %{since} diff --git a/config/locales/ru.yml b/config/locales/ru.yml index f99d8962a..745ef5430 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -174,6 +174,7 @@ ru: previous_strikes_description_html: one: У этой учетной записи одно замечание. other: У этой учетной записи %{count} замечания. + zero: У этой учетной записи хорошая репутация. promote: Повысить protocol: Протокол public: Публичный @@ -462,13 +463,14 @@ ru: add_new: Добавить новую created_msg: E-mail домен внесён в список блокировки delete: Удалить - destroyed_msg: Домен убран из списка e-mail блокировки + dns: + types: + mx: Запись MX domain: Домен - empty: Никакие e-mail домены не блокируются. - from_html: с %{domain} new: create: Создать блокировку title: Новая блокировка по домену + resolved_through_html: Разрешено через %{domain} title: Блокировка e-mail доменов follow_recommendations: description_html: "Следуйте рекомендациям, чтобы помочь новым пользователям быстро находить интересный контент. Если пользователь не взаимодействовал с другими в достаточной степени, чтобы сформировать персонализированные рекомендации, вместо этого рекомендуется использовать эти учетные записи. Они пересчитываются на ежедневной основе на основе комбинации аккаунтов с наибольшим количеством недавних взаимодействий и наибольшим количеством местных подписчиков для данного языка." @@ -603,6 +605,7 @@ ru: placeholder: Опишите, какие действия были приняты, или любые другие подробности… title: Примечания notes_description_html: Просмотрите или оставьте примечания для остальных модераторов и себя в будущем + remote_user_placeholder: удаленный пользователь из %{instance} reopen: Переоткрыть жалобу report: Жалоба №%{id} reported_account: Учётная запись нарушителя @@ -731,6 +734,8 @@ ru: title: Посты пользователя with_media: С файлами strikes: + actions: + delete_statuses: "%{name} удалил(а) посты %{target}" appeal_pending: Обжалование в обработке system_checks: database_schema_check: @@ -751,6 +756,7 @@ ru: links: allow: Разрешить ссылку allow_provider: Разрешить издание + disallow: Запретить ссылку disallow_provider: Отклонить издание title: Актуальные ссылки pending_review: Ожидает рассмотрения @@ -762,7 +768,7 @@ ru: tags: dashboard: tag_accounts_measure: уникальных использований - tag_languages_dimension: Самые популярные языки + tag_languages_dimension: Популярные языки tag_servers_dimension: Самые популярные серверы tag_uses_measure: всего использований listable: Может предлагаться @@ -787,8 +793,6 @@ ru: body: "%{reporter} подал(а) жалобу на %{target}" body_remote: Кто-то с узла %{domain} пожаловался на %{target} subject: Новая жалоба, узел %{instance} (№%{id}) - new_trending_links: - body: Следующие ссылки на неподтверждённых издателей сегодня актуальны. Они не будут отображаться пока вы их не подтвердите. Дальнейшие уведомления для тех же издателей не будут созданы. aliases: add_new: Создать псевдоним created_msg: Новый псевдоним установлен. Теперь мы можете начать миграцию со старой учётной записи. @@ -1117,6 +1121,9 @@ ru: carry_mutes_over_text: Этот пользователь переехал с учётной записи %{acct}, которую вы добавили в список игнорирования. copy_account_note_text: 'Этот пользователь переехал с %{acct}, вот ваша предыдущая заметка о нём:' notification_mailer: + admin: + sign_up: + subject: "%{name} зарегистрирован" digest: action: Просмотреть все уведомления body: Вот краткая сводка сообщений, которые вы пропустили с последнего захода %{since} @@ -1566,7 +1573,7 @@ ru: welcome: edit_profile_action: Настроить профиль edit_profile_step: Настройте свой профиль, загрузив аватарку, шапку, изменив отображаемое имя и ещё много чего. Если вы хотите вручную рассматривать и подтверждать подписчиков, можно закрыть свою учётную запись. - explanation: Несколько советов для новичков + explanation: Вот несколько советов для новичков final_action: Начать постить final_step: 'Начните постить! Ваши публичные посты могут видеть другие, например, в локальной ленте или по хэштегам, даже если у вас нет подписчиков. Вы также можете поздороваться с остальными и представиться, используя хэштег #приветствие.' full_handle: Ваше обращение diff --git a/config/locales/sc.yml b/config/locales/sc.yml index ce9d35ac3..15e305cb5 100644 --- a/config/locales/sc.yml +++ b/config/locales/sc.yml @@ -403,10 +403,7 @@ sc: add_new: Agiunghe nou created_msg: Domìniu de posta eletrònica blocadu delete: Cantzella - destroyed_msg: Domìniu de posta eletrònica isblocadu domain: Domìniu - empty: Perunu domìniu de posta eletrònica blocadu. - from_html: dae %{domain} new: create: Agiunghe unu domìniu title: Bloca su domìniu de posta eletrònica nou diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml index 7c122495a..643ee8891 100644 --- a/config/locales/simple_form.ar.yml +++ b/config/locales/simple_form.ar.yml @@ -62,7 +62,6 @@ ar: domain_allow: domain: سيكون بإمكان هذا النطاق جلب البيانات من هذا الخادم ومعالجة وتخزين البيانات الواردة منه email_domain_block: - domain: يمكن لهذا أن يكون اسم النطاق الذي يظهر في عنوان البريد الإلكتروني، سجل MX الذي يُقرر هذا النطاق إليه، أو IP الخادم الذي يقرره سجل MX. وسيتم التحقق من ذلك عند تسجيل المستخدم وسيتم رفض التسجيل. with_dns_records: سوف تُبذل محاولة لحل سجلات DNS الخاصة بالنطاق المعني، كما ستُمنع النتائج featured_tag: name: 'رُبَّما تريد·ين استخدام واحد مِن بين هذه:' diff --git a/config/locales/simple_form.ast.yml b/config/locales/simple_form.ast.yml index 7339f17df..93b88a618 100644 --- a/config/locales/simple_form.ast.yml +++ b/config/locales/simple_form.ast.yml @@ -86,6 +86,8 @@ ast: must_be_following_dm: Bloquiar los mensaxes direutos de persones que nun sigues invite_request: text: "¿Por qué quies xunite?" + ip_block: + ip: IP notification_emails: favourite: Daquién marcó como favoritu un estáu de to follow: Daquién te sigue diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml index 42c241cab..7f9d838ba 100644 --- a/config/locales/simple_form.ca.yml +++ b/config/locales/simple_form.ca.yml @@ -64,7 +64,7 @@ ca: domain_allow: domain: Aquest domini podrà obtenir dades d’aquest servidor i les dades entrants d’aquests seran processades i emmagatzemades email_domain_block: - domain: Això pot ser el nom del domini que es veu en l’adreça de correu electrònic, el registre MX al que resol el domini o l’IP del servidor al que resol el registre MX. Es comprovaran amb el registre d’usuari i es rebutjarà la inscripció. + domain: Aquest pot ser el nom del domini que es mostra en l'adreça de correu o el registre MX que utilitza. Es revisaran ql registrar-se. with_dns_records: Es procurarà resoldre els registres DNS del domini determinat i els resultats també es llistaran a la llista negra featured_tag: name: 'És possible que vulguis utilitzar una d''aquestes:' diff --git a/config/locales/simple_form.co.yml b/config/locales/simple_form.co.yml index b350ab447..cf938f0c7 100644 --- a/config/locales/simple_form.co.yml +++ b/config/locales/simple_form.co.yml @@ -55,7 +55,6 @@ co: domain_allow: domain: Stu duminiu puderà ricuperà i dati di stu servore è i dati ch'affaccanu da quallà saranu trattati è cunservati email_domain_block: - domain: Pò esse u duminiu affissatu nant'à l'indirizzu e-mail, l'intrata MX assuciata à u duminiu, o l'IP di u servore assuciatu à l'intrata MX. Quessi anu da esse verificati durante l'arregistramente di l'utilizatore, chì sarà righjittatu. with_dns_records: Un tintativu di cunsultà i dati DNS di u duminiu sarà fattu, è i risultati saranu ancu messi nant'à a lista nera featured_tag: name: 'Pudete vulè utilizà unu di quelli:' diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml index 4d0e7d068..74bfa1bfb 100644 --- a/config/locales/simple_form.cs.yml +++ b/config/locales/simple_form.cs.yml @@ -62,7 +62,6 @@ cs: domain_allow: domain: Tato doména bude moci stahovat data z tohoto serveru a příchozí data z ní budou zpracována a uložena email_domain_block: - domain: Toto může být název domény v e-mailové adresy, její MX záznam nebo IP adresa odpovídající MX záznamu. Při registraci uživatele dojde k jejich kontrole a registrace bude zamítnuta. with_dns_records: Dojde k pokusu o překlad DNS záznamů dané domény a výsledky budou rovněž zablokovány featured_tag: name: 'Nejspíš budete chtít použít jeden z těchto:' diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml index 966bcab00..6cdada6f3 100644 --- a/config/locales/simple_form.cy.yml +++ b/config/locales/simple_form.cy.yml @@ -55,7 +55,7 @@ cy: domain_allow: domain: Bydd y parth hwn yn gallu nôl data o'r gweinydd hwn a bydd data sy'n dod i mewn ohono yn cael ei brosesu a'i storio email_domain_block: - domain: Gall hyn fod yr enw parth sy'n dangos yn yr ebost, y cofnod MX mae'r parth yn adfer i, neu'r cyfeiriad IP o'r gweinydd mae'r cofnod MX yn adfer i. Bydd y rhain yn cael eu gwirio wrth i defnyddiwr cofrestru, a chaiff y cofrestriad ei wrthod. + domain: Gall hwn fod yr enw parth sy'n ymddangos yn y cyfeiriad e-bost neu'r cofnod MX y mae'n ei ddefnyddio. Byddant yn cael eu gwirio wrth gofrestru. with_dns_records: Bydd ceisiad i adfer cofnodau DNS y parth penodol yn cael ei wneud, a bydd y canlyniadau hefyd yn cael ei gosbrestru featured_tag: name: 'Efallai hoffech defnyddio un o''r rhain:' diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml index f732427b3..f55d63912 100644 --- a/config/locales/simple_form.da.yml +++ b/config/locales/simple_form.da.yml @@ -62,7 +62,7 @@ da: domain_allow: domain: Dette domæne vil kunne hente data, og dermed behandle og gemme indgående data, fra denne server email_domain_block: - domain: Dette kan være det domænenavn, der vises i e-mailadressen, MX-posten domænet opløser til eller IP'en på den server, som MX-posten opløser til. Disse tjekkes ved brugertilmelding, og tilmeldingen afvises. + domain: Dette kan være domænenavnet i e-mailadressen eller MX-posten, den bruger. Begge tjekkes ved tilmelding. with_dns_records: Et forsøg på at løse det givne domænes DNS-poster foretages og resultaterne blokeres ligeledes featured_tag: name: 'Du vil formentlig ønske at bruge en af flg.:' diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml index 116783056..8b7a02b18 100644 --- a/config/locales/simple_form.de.yml +++ b/config/locales/simple_form.de.yml @@ -64,7 +64,7 @@ de: domain_allow: domain: Diese Domain kann Daten von diesem Server abrufen und eingehende Daten werden verarbeitet und gespeichert email_domain_block: - domain: Dies kann der Domainname sein, der in der E-Mail-Adresse angezeigt wird, den MX-Datensatz, der aufgelöst wird oder die IP des Servers, auf dem der MX-Eintrag aufgelöst wird. Diese werden bei der Registrierung überprüft und die Registrierung wird abgelehnt. + domain: Dies kann der Domänenname sein, der in der E-Mail-Adresse oder dem von ihm verwendeten MX-Eintrag angezeigt wird. Er wird bei der Anmeldung überprüft. with_dns_records: Ein Versuch die DNS-Einträge der Domain aufzulösen wurde unternommen und diese Ergebnisse werden unter anderem auch geblockt featured_tag: name: 'Du möchtest vielleicht einen von diesen benutzen:' diff --git a/config/locales/simple_form.el.yml b/config/locales/simple_form.el.yml index 74edc2b70..3396a32a9 100644 --- a/config/locales/simple_form.el.yml +++ b/config/locales/simple_form.el.yml @@ -61,7 +61,6 @@ el: domain_allow: domain: Ο τομέας αυτός θα επιτρέπεται να ανακτά δεδομένα από αυτό τον διακομιστή και τα εισερχόμενα δεδομένα θα επεξεργάζονται και θα αποθηκεύονται email_domain_block: - domain: Αυτό μπορεί να είναι το όνομα του τομέα που εμφανίζεται στη διεύθυνση email, στην εγγραφή MX στην οποία δείχνει ο τομέας ή την διεύθυνση IP του σέρβερ που δείχνει η εγγραφή MX. Αυτά θα ελεγχθούν κατά την εγγραφή του χρήστη και η εγγραφή θα απορριφθεί αναλόγως. with_dns_records: Θα γίνει απόπειρα ανάλυσης των εγγραφών DNS του τομέα και τα αποτελέσματα θα μπουν και αυτά σε μαύρη λίστα featured_tag: name: 'Ίσως να θες να χρησιμοποιήσεις μια από αυτές:' diff --git a/config/locales/simple_form.es-AR.yml b/config/locales/simple_form.es-AR.yml index 676cebfb8..17a7594f5 100644 --- a/config/locales/simple_form.es-AR.yml +++ b/config/locales/simple_form.es-AR.yml @@ -64,7 +64,7 @@ es-AR: domain_allow: domain: Este dominio podrá recolectar datos de este servidor, y los datos entrantes serán procesados y archivados email_domain_block: - domain: Puede ser el nombre de dominio que aparece en la dirección de correo electrónico, el registro MX hacia el cual resuelve el dominio, o la dirección IP del servidor hacia el cual resuelve ese registro MX. Esto se comprobará en el momento del registro del usuario, y el registro será rechazado. + domain: Este puede ser el nombre de dominio que aparece en la dirección de correo electrónico o el registro MX que se use. Se revisarán al registrarse. with_dns_records: Se hará un intento de resolver los registros DNS del dominio dado y los resultados serán también bloqueados featured_tag: name: 'Puede que quieras usar una de estas:' diff --git a/config/locales/simple_form.es-MX.yml b/config/locales/simple_form.es-MX.yml index e679e5498..9c06e59ba 100644 --- a/config/locales/simple_form.es-MX.yml +++ b/config/locales/simple_form.es-MX.yml @@ -27,6 +27,8 @@ es-MX: scheduled_at: Dejar en blanco para publicar el anuncio inmediatamente starts_at: Opcional. En caso de que su anuncio esté vinculado a un intervalo de tiempo específico text: Puedes usar la sintaxis toot. Por favor ten en cuenta el espacio que ocupará el anuncio en la pantalla del usuario + appeal: + text: Sólo puedes apelar una amonestación una vez defaults: autofollow: Los usuarios que se registren mediante la invitación te seguirán automáticamente avatar: PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px @@ -62,7 +64,6 @@ es-MX: domain_allow: domain: Este dominio podrá obtener datos de este servidor y los datos entrantes serán procesados y archivados email_domain_block: - domain: Puede ser el nombre de dominio que aparece en la dirección de correo, el registro MX hacia el cual resuelve el dominio, o la IP del servidor hacia el cual resuelve ese registro MX. Esto se comprobará en el momento del alta del usuario y el alta se rechazará. with_dns_records: Se hará un intento de resolver los registros DNS del dominio dado y los resultados serán también puestos en lista negra featured_tag: name: 'Puede que quieras usar uno de estos:' @@ -119,6 +120,8 @@ es-MX: scheduled_at: Programar publicación starts_at: Comienzo del evento text: Anuncio + appeal: + text: Explica por qué esta decisión debe ser revertida defaults: autofollow: Invitar a seguir tu cuenta avatar: Foto de perfil @@ -197,6 +200,7 @@ es-MX: sign_up_requires_approval: Limitar registros severity: Regla notification_emails: + appeal: Alguien ha apelado una decisión de moderación digest: Enviar resumen de correos electrónicos favourite: Enviar correo electrónico cuando alguien de a favorito en su publicación follow: Enviar correo electrónico cuando alguien te siga @@ -204,6 +208,8 @@ es-MX: mention: Enviar correo electrónico cuando alguien te mencione pending_account: Enviar correo electrónico cuando una nueva cuenta necesita revisión reblog: Enviar correo electrónico cuando alguien comparta su publicación + report: Nuevo informe enviado + trending_tag: Una nueva tendencia requiere revisión rule: text: Norma tag: diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml index 9578ff13e..0663571ab 100644 --- a/config/locales/simple_form.es.yml +++ b/config/locales/simple_form.es.yml @@ -64,7 +64,7 @@ es: domain_allow: domain: Este dominio podrá obtener datos de este servidor y los datos entrantes serán procesados y archivados email_domain_block: - domain: Puede ser el nombre de dominio que aparece en la dirección de correo, el registro MX hacia el cual resuelve el dominio, o la IP del servidor hacia el cual resuelve ese registro MX. Esto se comprobará en el momento del alta del usuario y el alta se rechazará. + domain: Este puede ser el nombre de dominio que aparece en la dirección de correo electrónico o el registro MX que utiliza. Se comprobarán al registrarse. with_dns_records: Se hará un intento de resolver los registros DNS del dominio dado y los resultados serán también puestos en lista negra featured_tag: name: 'Puede que quieras usar uno de estos:' diff --git a/config/locales/simple_form.et.yml b/config/locales/simple_form.et.yml index b6e4908c1..96a1ed3e4 100644 --- a/config/locales/simple_form.et.yml +++ b/config/locales/simple_form.et.yml @@ -55,7 +55,6 @@ et: domain_allow: domain: See domeen saab tõmmata andmeid sellelt serverilt ning sissetulevad andmed sellelt domeenilt töödeldakse ning salvestatakse email_domain_block: - domain: See võib olla domeeninimi, mis esineb e-posti aadressil, MX kirjele vastav domeen või serveri IP. Neid kontrollitakse, kui kasutaja loob konto ning seejärel konto loomine keelatakse. with_dns_records: Proovitakse ka üles vaadata selle domeeni DNS kirjed ning selle vastused samuti keelatakse featured_tag: name: 'Äkki soovite kasutada mõnda neist:' diff --git a/config/locales/simple_form.eu.yml b/config/locales/simple_form.eu.yml index 145791566..09bf37920 100644 --- a/config/locales/simple_form.eu.yml +++ b/config/locales/simple_form.eu.yml @@ -62,7 +62,6 @@ eu: domain_allow: domain: Domeinu honek zerbitzari honetatik datuak hartu ahal izango ditu eta bertatik jasotako informazioa prozesatu eta gordeko da email_domain_block: - domain: Hau e-mail helbidean agertzen den domeinua izan daiteke, honen MX erregistroa, edo MX erregistroaren IP helbidea. Hauek erabiltzaileak izena ematean egiaztatuko dira eta atzera botako da. with_dns_records: Emandako domeinuaren DNS erregistroak ebazteko saiakera bat egingo da eta emaitzak ere zerrenda beltzean sartuko dira featured_tag: name: 'Hauetakoren bat erabili zenezake:' diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml index 435493302..b5f023d86 100644 --- a/config/locales/simple_form.fa.yml +++ b/config/locales/simple_form.fa.yml @@ -62,7 +62,6 @@ fa: domain_allow: domain: این دامین خواهد توانست داده‌ها از این سرور را دریافت کند و داده‌های از این دامین در این‌جا پردازش و ذخیره خواهند شد email_domain_block: - domain: می‌تواند نام دامنه که در نشانی رایانامه ظاهر می‌شود، رکورد MX که دامنه به آن resolve می‌شود یا IP کارسازی که رکورد MX به آن resolve می‌شود باشد. این موارد هنگام ثبت‌نام کاربر بررسی شده و ثبت‌نام رد می‌شود. with_dns_records: تلاشی برای resolve کردن رکوردهای ساناد دامنهٔ داده‌شده انجام شده و نتیجه نیز مسدود خواهد شد featured_tag: name: 'شاید بخواهید چنین چیزهایی را به کار ببرید:' diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml index 25ff3a162..279d55d8c 100644 --- a/config/locales/simple_form.fi.yml +++ b/config/locales/simple_form.fi.yml @@ -64,7 +64,7 @@ fi: domain_allow: domain: Tämä verkkotunnus voi noutaa tietoja tältä palvelimelta ja sieltä saapuvat tiedot käsitellään ja tallennetaan email_domain_block: - domain: Tämä voi olla se verkkotunnus, joka näkyy sähköpostiosoitteessa, MX-tietue, johon verkkotunnus ratkaistaan tai IP-osoitteessa, johon MX tietue päättää. Ne tarkistetaan käyttäjän kirjautumisen yhteydessä ja kirjautuminen hylätään. + domain: Tämä voi olla se verkkotunnus, joka näkyy sähköpostiosoitteessa tai MX tietueessa jota se käyttää. Ne tarkistetaan rekisteröitymisen yhteydessä. with_dns_records: Annetun verkkotunnuksen DNS-tietueet yritetään ratkaista ja tulokset myös estetään featured_tag: name: 'Voit halutessasi käyttää jotakin näistä:' diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml index 8aa4af15e..0e44dad0a 100644 --- a/config/locales/simple_form.fr.yml +++ b/config/locales/simple_form.fr.yml @@ -64,7 +64,7 @@ fr: domain_allow: domain: Ce domaine pourra récupérer des données de ce serveur et les données entrantes seront traitées et stockées email_domain_block: - domain: Ceci peut être le nom de domaine qui apparaît dans le courriel, l’enregistrement MX que le domaine résout, ou l’IP du serveur auquel l’enregistrement MX résout. Celles-ci seront vérifiées lors de l’inscription de l’utilisateur et l’inscription sera rejetée. + domain: Cela peut être le nom de domaine qui apparaît dans l'adresse courriel ou l'enregistrement MX qu'il utilise. Une vérification sera faite à l'inscription. with_dns_records: Une tentative de résolution des enregistrements DNS du domaine donné sera effectuée et les résultats seront également mis sur liste noire featured_tag: name: 'Vous pourriez vouloir utiliser l’un d’entre eux :' diff --git a/config/locales/simple_form.gd.yml b/config/locales/simple_form.gd.yml index bc2cb5b62..2ca13642a 100644 --- a/config/locales/simple_form.gd.yml +++ b/config/locales/simple_form.gd.yml @@ -62,7 +62,6 @@ gd: domain_allow: domain: "’S urrainn dhan àrainn seo dàta fhaighinn on fhrithealaiche seo agus thèid an dàta a thig a-steach uaithe a phròiseasadh ’s a stòradh" email_domain_block: - domain: Gabhaidh an t-ainm àrainne a nochdas san t-seòladh puist-d a chleachdadh no an clàr MX dhan dèid an àrainn fhuasgladh no IP an fhrithealaiche dhan dèid an clàr MX fuasgladh. Thèid an dearbhadh nuair a chlàraicheas cleachdaiche ùr leinn is thèid an clàradh a dhiùltadh. with_dns_records: Thèid oidhirp a dhèanamh air fuasgladh clàran DNS na h-àrainne a chaidh a thoirt seachad agus thèid na toraidhean a bhacadh cuideachd featured_tag: name: 'Mholamaid fear dhe na tagaichean seo:' diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml index 58945edbb..4d7f79dfd 100644 --- a/config/locales/simple_form.gl.yml +++ b/config/locales/simple_form.gl.yml @@ -64,7 +64,7 @@ gl: domain_allow: domain: Este dominio estará en disposición de obter datos desde este servidor e datos de entrada a el poderán ser procesados e gardados email_domain_block: - domain: Esto pode ser o nome de dominio que aparece no enderezo do correo, o rexistro MX que resolve o dominio, ou o IP do servidor que resolve o rexistro MX. Estos confrontaranse contra o rexistro da usuaria e o rexistro será rexeitado. + domain: Este pode ser o nome de dominio que aparece no enderezo de email ou o rexistro MX que utiliza. Será comprobado no momento do rexistro. with_dns_records: Vaise facer un intento de resolver os rexistros DNS proporcionados e os resultados tamén irán a lista de bloqueo featured_tag: name: 'Poderías usar algunha destas:' diff --git a/config/locales/simple_form.hu.yml b/config/locales/simple_form.hu.yml index ad542d613..fc4613104 100644 --- a/config/locales/simple_form.hu.yml +++ b/config/locales/simple_form.hu.yml @@ -64,7 +64,7 @@ hu: domain_allow: domain: Ez a domain adatot kérhet le a szerverünkről és az ettől érkező adatokat feldolgozzuk és mentjük email_domain_block: - domain: Lehet domain név, mely az email címben szerepel, MX rekord, amire a domain hivatkozik vagy a szerver IP címe, amire az MX rekord hivatkozik. Ezeket regisztrációkor ellenőrizzük és visszautasítjuk a regisztrációt, ha szükséges. + domain: Ez lehet az e-mail címben szereplő domain név vagy az MX rekord, melyet ez használ. Ezeket feliratkozáskor ellenőrizzük. with_dns_records: Megpróbáljuk a megadott domain DNS rekordjait lekérni, és az eredményeket hozzáadjuk a tiltólistához featured_tag: name: 'Ezeket esetleg használhatod:' diff --git a/config/locales/simple_form.hy.yml b/config/locales/simple_form.hy.yml index 494abd92b..5bf178013 100644 --- a/config/locales/simple_form.hy.yml +++ b/config/locales/simple_form.hy.yml @@ -55,7 +55,6 @@ hy: domain_allow: domain: Այս տիրոյթը կարող է ստանալ տուեալներ այս սպասարկչից եւ ստացուող տուեալները կարող են օգտագործուել եւ պահուել email_domain_block: - domain: Սա կարող է լինել տիրոյթի անուն, որը ցուցադրում է էլ․ հասցէն, MX գրառում, որին տիրոյթը պատկանում է, կամ MX գրառման սպասարկչի IP։ Դրանք ստուգուելու են օգտատիրոջ գրանցման պահին եւ գրանցումը մերժուելու է։ with_dns_records: Այս տիրոյթի DNS գրառումները կը տարրալուծուեն եւ արդիւնքները նոյնպէս կուղարկուեն սեւ ցուցակ featured_tag: name: Գուցէ ցանկանաս օգտագործել սրանցից մէկը․ diff --git a/config/locales/simple_form.id.yml b/config/locales/simple_form.id.yml index 025472551..832e32c56 100644 --- a/config/locales/simple_form.id.yml +++ b/config/locales/simple_form.id.yml @@ -64,7 +64,7 @@ id: domain_allow: domain: Domain ini dapat mengambil data dari server ini dan data yang diterima akan diproses dan disimpan email_domain_block: - domain: Ini bisa nama domain yang muncul di alamat email, data MX yang sedang diselesaikan oleh domain, atau IP server yang dipecahkan oleh data MX. Mereka akan dicek saat pendaftaran pengguna dan pendaftaran akan ditolak. + domain: Ini bisa berupa nama domain yang tampil di alamat email atau data MX yang memakainya. Mereka akan diperiksa saat mendaftar. with_dns_records: Usaha untuk menyelesaikan data DNS domain yang diberikan akan dilakukan dan hasilnya akan masuk daftar hitam featured_tag: name: 'Anda mungkin ingin pakai salah satu dari ini:' diff --git a/config/locales/simple_form.is.yml b/config/locales/simple_form.is.yml index 34b33e43c..38f44564f 100644 --- a/config/locales/simple_form.is.yml +++ b/config/locales/simple_form.is.yml @@ -64,7 +64,7 @@ is: domain_allow: domain: Þetta lén mun geta sótt gögn af þessum vefþjóni og tekið verður á móti innsendum gögnum frá léninu til vinnslu og geymslu email_domain_block: - domain: Þetta getur verið heiti lénsins sem birtist í tölvupóstfanginu, MX-færslan sem það lén beinist að, eða IP-vistfang netþjónsins sem sú MX-færsla beinist að. Þetta verður athugað um leið og notandi skráir sig, og verður þá skráningunni hafnað. + domain: Þetta getur verið lénið sem birtist í tölvupóstfanginu eða MX-færslunni sem það notar. Þetta verður yfirfarið við nýskráningu. with_dns_records: Tilraun verður gerð til að leysa DNS-færslur uppgefins léns og munu niðurstöðurnar einnig verða útilokaðar featured_tag: name: 'Þú gætir viljað nota eitt af þessum:' diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml index b9a2286b2..d23391361 100644 --- a/config/locales/simple_form.it.yml +++ b/config/locales/simple_form.it.yml @@ -64,7 +64,7 @@ it: domain_allow: domain: Questo dominio potrà recuperare i dati da questo server e i dati in arrivo da esso verranno elaborati e memorizzati email_domain_block: - domain: Questo può essere il nome del dominio che fa parte dell'indirizzo email, il record MX a cui il dominio si risolve o l'indirizzo IP del server a cui il record MX si risolve. Saranno verificati alla registrazione da parte dell'utente e la sua iscrizione sarà respinta. + domain: Questo può essere il nome di dominio che appare nell'indirizzo e-mail o nel record MX che utilizza. Verranno controllati al momento dell'iscrizione. with_dns_records: Sarà effettuato un tentativo di risolvere i record DNS del dominio in questione e i risultati saranno inseriti anche nella blacklist featured_tag: name: 'Eccone alcuni che potresti usare:' diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml index 0251b4288..d2e48faa2 100644 --- a/config/locales/simple_form.ja.yml +++ b/config/locales/simple_form.ja.yml @@ -62,7 +62,6 @@ ja: domain_allow: domain: 登録するとこのサーバーからデータを受信したり、このドメインから受信するデータを処理して保存できるようになります email_domain_block: - domain: メールアドレスのドメイン名および、名前解決したMXレコード、IPアドレスを指定できます。ユーザー登録時にこれらをチェックし、該当する場合はユーザー登録を拒否します。 with_dns_records: 指定したドメインのDNSレコードを取得し、その結果もメールドメインブロックに登録されます featured_tag: name: 'これらを使うといいかもしれません:' diff --git a/config/locales/simple_form.kmr.yml b/config/locales/simple_form.kmr.yml index d077c40b3..bf1ffa7db 100644 --- a/config/locales/simple_form.kmr.yml +++ b/config/locales/simple_form.kmr.yml @@ -66,7 +66,7 @@ kmr: domain_allow: domain: Ev navê navperê, ji vê rajekarê wê daneyan bistîne û daneyên ku jê bê wê were sazkirin û veşartin email_domain_block: - domain: Ev navê qada yê ku di navnîşana e-maîlê da xuya dibe, tomara MXê ya ku qada vê çareser dike an jî iPya rajekara ku MX tomar dike. Ev ên bi tomarê bikarhêneran bên kontrolkirin û tomarê were redkirin. + domain: Ev dikare bibe navê navparek ku di navnîşana e-nameyê de an tomara MX ya ku ew bi kar tîne de xuya dike. Ew ê di dema tomarkirinê de werin kontrolkirin. with_dns_records: Hewl tê dayîn ku tomarên DNSê yên li qada jê re hatine dayîn were çareserkirin û encamên wê jî were astengkirin featured_tag: name: 'Belkî tu yekê bi kar bînî çi van:' diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml index bd1793c04..8648cab82 100644 --- a/config/locales/simple_form.ko.yml +++ b/config/locales/simple_form.ko.yml @@ -64,7 +64,6 @@ ko: domain_allow: domain: 이 도메인은 이 서버에서 데이터를 가져갈 수 있고 이 도메인에서 보내진 데이터는 처리되고 저장 됩니다 email_domain_block: - domain: 이것은 이메일 주소에 보이는 도메인 네임이거나, 도메인이 향하는 MX 레코드이거나, 또는 MX 레코드가 향하는 IP 주소일 수 있습니다. 이것들은 사용자가 가입 할 때 확인 되며 가입은 반려될 것입니다. with_dns_records: 입력한 도메인의 DNS를 조회를 시도하여 나온 값도 차단됩니다 featured_tag: name: '이것들을 사용하면 좋을 것 같습니다:' @@ -201,16 +200,16 @@ ko: sign_up_requires_approval: 가입 제한 severity: 규칙 notification_emails: - appeal: 누군가가 중재자의 결정에 이의를 제기했습니다 + appeal: 누군가가 중재자의 결정에 이의를 제기했을 때 digest: 요약 이메일 보내기 - favourite: 누군가 내 상태를 즐겨찾기로 등록했을 때 이메일 보내기 - follow: 누군가 나를 팔로우 했을 때 이메일 보내기 - follow_request: 누군가 나를 팔로우 하길 원할 때 이메일 보내기 - mention: 누군가 나를 언급했을 때 이메일 보내기 - pending_account: 새 계정이 심사가 필요할 때 이메일 보내기 - reblog: 누군가 내 툿을 부스트 했을 때 이메일 보내기 - report: 새 신고가 접수되었습니다 - trending_tag: 새 트렌드에 대한 리뷰가 필요합니다 + favourite: 누군가 내 상태를 즐겨찾기로 등록했을 때 + follow: 누군가 나를 팔로우 했을 때 + follow_request: 누군가 나를 팔로우 하길 원할 때 + mention: 누군가 나를 언급했을 때 + pending_account: 새 계정이 심사가 필요할 때 + reblog: 누군가 내 툿을 부스트 했을 때 + report: 새 신고가 접수되었을 때 + trending_tag: 새 트렌드에 대한 리뷰가 필요할 때 rule: text: 규칙 tag: diff --git a/config/locales/simple_form.ku.yml b/config/locales/simple_form.ku.yml index ac433d2c3..3ccce01c3 100644 --- a/config/locales/simple_form.ku.yml +++ b/config/locales/simple_form.ku.yml @@ -55,7 +55,6 @@ ku: domain_allow: domain: ئەم دۆمەینە دەتوانێت دراوە لە ئەم ڕاژە وەربگرێت و دراوەی ئەم دۆمەینە لێرە ڕێکدەخرین و پاشکەوت دەکرێن email_domain_block: - domain: ئەمە دەکرێت ناوی دۆمەینەکە بێت کە لە ناونیشانی ئیمەیلدا دەرکەوێ، تۆماری MX کە دۆمەین چارەسەری دەکات یان IPی ڕاژەکە کە تۆماری MX چارەسەری دەکات. ئەوانە دەپشکنن لەسەر تۆمارکردنی بەکارهێنەر و تۆمارکردن ڕەت دەکرێت. with_dns_records: هەوڵێک بۆ چارەسەرکردنی تۆمارەکانی DNSی دۆمەین دراوە کە ئەنجامەکان بلۆک دەکرێت featured_tag: name: 'لەوانەیە بتەوێت یەکێک لەمانە بەکاربهێنیت:' diff --git a/config/locales/simple_form.lv.yml b/config/locales/simple_form.lv.yml index bf1cf446a..ee844e166 100644 --- a/config/locales/simple_form.lv.yml +++ b/config/locales/simple_form.lv.yml @@ -64,7 +64,7 @@ lv: domain_allow: domain: Šis domēns varēs izgūt datus no šī servera, un no tā ienākošie dati tiks apstrādāti un saglabāti email_domain_block: - domain: Tas var būt domēna nosaukums, kas redzams e-pasta adresē, MX ieraksts, kuru domēns atrisina, vai servera IP, uz kuru tiek atrisināts MX ieraksts. Tie tiks pārbaudīti, reģistrējoties lietotājam, un reģistrācija tiks noraidīta. + domain: Tas var būt domēna nosaukums, kas tiek parādīts e-pasta adresē vai izmantotajā MX ierakstā. Tie tiks pārbaudīti reģistrācijas laikā. with_dns_records: Tiks mēģināts atrisināt dotā domēna DNS ierakstus, un rezultāti arī tiks bloķēti featured_tag: name: 'Iespējams, vēlēsies izmantot kādu no šīm:' diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml index 50f992934..20388b90b 100644 --- a/config/locales/simple_form.nl.yml +++ b/config/locales/simple_form.nl.yml @@ -61,7 +61,6 @@ nl: domain_allow: domain: Dit domein is in staat om gegevens van deze server op te halen, en binnenkomende gegevens worden verwerkt en opgeslagen email_domain_block: - domain: Dit kan de domeinnaam zijn, onderdeel van het e-mailadres, het MX-record dat het desbetreffende domein afhandelt, of het IP-adres van de server dat het MX-record afhandelt. Deze worden gecontroleerd tijdens het registreren, waarna de registratie wordt afgewezen. with_dns_records: Er wordt een poging gewaagd om de desbetreffende DNS-records op te zoeken, waarna de resultaten ook worden geblokkeerd featured_tag: name: 'Je wilt misschien een van deze gebruiken:' diff --git a/config/locales/simple_form.nn.yml b/config/locales/simple_form.nn.yml index 4dcce4e78..04c92e92e 100644 --- a/config/locales/simple_form.nn.yml +++ b/config/locales/simple_form.nn.yml @@ -61,7 +61,6 @@ nn: domain_allow: domain: Dette domenet er i stand til å henta data frå denne tenaren og innkomande data vert handsama og lagra email_domain_block: - domain: Dette kan vera domenenamnet som synest i e-postaddressa, MX-recorden som domenet løyser til eller IP-adressa til tenaren som MX-record løyser til. Dei sjekkast ved brukarregistrering og registretinga vert avvist. with_dns_records: Eit forsøk på å løysa gjeve domene som DNS-data vil vera gjord og resultata vert svartelista featured_tag: name: 'Kanskje du vil nytta ein av desse:' diff --git a/config/locales/simple_form.no.yml b/config/locales/simple_form.no.yml index 2261ecc6a..34fa2859c 100644 --- a/config/locales/simple_form.no.yml +++ b/config/locales/simple_form.no.yml @@ -61,7 +61,6 @@ domain_allow: domain: Dette domenet vil være i stand til å hente data fra denne serveren og dets innkommende data vil bli prosessert og lagret email_domain_block: - domain: Det kan være domenenavnet som vises i e-postadressen, MX-posten, som domenet bestemmer til, eller IP-en til serveren som MX-posten løser etter. De vil bli sjekket ved brukerregistrering og registrering vil bli avvist. with_dns_records: Et forsøk på å løse det gitte domenets DNS-poster vil bli gjort, og resultatene vil også bli svartelistet featured_tag: name: 'Du vil kanskje ønske å bruke en av disse:' diff --git a/config/locales/simple_form.oc.yml b/config/locales/simple_form.oc.yml index 45537d496..beb0fa8f4 100644 --- a/config/locales/simple_form.oc.yml +++ b/config/locales/simple_form.oc.yml @@ -55,7 +55,6 @@ oc: domain_allow: domain: Aqueste domeni poirà recuperar las donadas d’aqueste servidor estant e las donadas venent d’aqueste domeni seràn tractadas e gardadas email_domain_block: - domain: Pòt èsser lo nom de domeni mostrat sus l’adreça electronica, l’enregistrament MX, o l’adreça IP ligada. Serà verificat pendent l’inscripcion de la persona puèi serà regetada. with_dns_records: Un ensag de resolucion dels enregistraments DNS del domeni donat serà realizat e los resultats seràn tanben meses en lista negra featured_tag: name: 'Benlèu que volètz utilizar una d’aquestas causas :' diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml index 8860696ee..c69be55ae 100644 --- a/config/locales/simple_form.pl.yml +++ b/config/locales/simple_form.pl.yml @@ -62,7 +62,7 @@ pl: domain_allow: domain: Ta domena będzie mogła pobierać dane z serwera, a dane przychodzące z niej będą przetwarzane i przechowywane email_domain_block: - domain: Może to być nazwa domeny pojawiająca się w adresu e-mail, rekord MX na który rozwiązuje domena lub IP serwera na który rozwiązuje rekord MX. Będą one wykrywane i odrzucane przy rejestracji. + domain: To może być nazwa domeny, która pojawia się w adresie e-mail lub rekordzie MX, którego używa. Zostaną one sprawdzone przy rejestracji. with_dns_records: Zostanie wykonana próba rozwiązania rekordów DNS podanej domeny, a wyniki również zostaną dodane na czarną listę featured_tag: name: 'Sugerujemy użycie jednego z następujących:' diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml index 29071b182..f60c886af 100644 --- a/config/locales/simple_form.pt-BR.yml +++ b/config/locales/simple_form.pt-BR.yml @@ -62,7 +62,7 @@ pt-BR: domain_allow: domain: Este domínio poderá obter dados deste servidor e os dados recebidos dele serão processados e armazenados email_domain_block: - domain: Este pode ser o nome de domínio que aparece no endereço de e-mail, o registro MX para o qual o domínio resolve, ou o IP do servidor para o qual o registro MX resolve. Esses vão ser verificados no momento de registro do usuário e o registro será rejeitado. + domain: Este pode ser o nome de domínio que aparece no endereço de e-mail ou no registro MX que ele utiliza. Eles serão verificados após a inscrição. with_dns_records: Será feita uma tentativa de resolver os registros DNS do domínio em questão e os resultados também serão colocados na lista negra featured_tag: name: 'Você pode querer usar um destes:' @@ -119,6 +119,8 @@ pt-BR: scheduled_at: Agendar publicação starts_at: Início do evento text: Comunicados + appeal: + text: Explique porque essa decisão deve ser revertida defaults: autofollow: Convite para seguir a sua conta avatar: Imagem de perfil @@ -204,6 +206,8 @@ pt-BR: mention: Enviar e-mail quando alguém te mencionar pending_account: Enviar e-mail quando uma nova conta precisa ser revisada reblog: Enviar e-mail quando alguém der boost nos teus toots + report: Novo relatório foi enviado + trending_tag: Uma nova tendência requer revisão rule: text: Regra tag: diff --git a/config/locales/simple_form.pt-PT.yml b/config/locales/simple_form.pt-PT.yml index ebc55f36b..635b55b35 100644 --- a/config/locales/simple_form.pt-PT.yml +++ b/config/locales/simple_form.pt-PT.yml @@ -64,7 +64,7 @@ pt-PT: domain_allow: domain: Este domínio será capaz de obter dados desta instância e os dados dele recebidos serão processados e armazenados email_domain_block: - domain: Este pode ser o nome de domínio que aparece no endereço de e-mail, o registo MX para o qual o domínio resolve, ou o IP do servidor para o qual o registo MX resolve. Estes serão verificados no momento da inscrição do utilizador e a inscrição será rejeitada. + domain: Este pode ser o nome de domínio que aparece no endereço de e-mail ou o registo MX por ele utilizado. Eles serão verificados aquando da inscrição. with_dns_records: Será feita uma tentativa de resolver os registos DNS do domínio em questão e os resultados também serão colocados na lista negra featured_tag: name: 'Poderás querer usar um destes:' diff --git a/config/locales/simple_form.ro.yml b/config/locales/simple_form.ro.yml index a81e4aad9..31da7e2eb 100644 --- a/config/locales/simple_form.ro.yml +++ b/config/locales/simple_form.ro.yml @@ -55,7 +55,6 @@ ro: domain_allow: domain: Acest domeniu va putea prelua date de pe acest server și datele primite de la el vor fi procesate și stocate email_domain_block: - domain: Acesta poate fi numele domeniului care apare pe adresa de e-mail, înregistrarea MX la care domeniul se rezolvă sau IP-ul serverului la care înregistrează MX rezolvă. Acestea vor fi verificate după înregistrarea utilizatorului, iar înscrierea va fi respinsă. with_dns_records: Se va face o încercare de a rezolva înregistrările DNS ale domeniului dat și rezultatele vor fi de asemenea afișate pe lista neagră featured_tag: name: 'S-ar putea să vreți să folosiți unul dintre acestea:' diff --git a/config/locales/simple_form.ru.yml b/config/locales/simple_form.ru.yml index c71dd5b39..83a1979ec 100644 --- a/config/locales/simple_form.ru.yml +++ b/config/locales/simple_form.ru.yml @@ -64,7 +64,7 @@ ru: domain_allow: domain: Этот домен сможет получать данные с этого сервера и его входящие данные будут обрабатываться и сохранены email_domain_block: - domain: Это может быть домен, отображаемый в адресе электронной почты, MX-запись, на которую разрешается домен или IP сервера, на который разрешается MX-запись. Они будут проверены при регистрации пользователя, и регистрация будет отклонена. + domain: Это может быть доменное имя, которое отображается в адресе электронной почты или используемая MX запись. Они будут проверяться при регистрации. with_dns_records: Будет сделана попытка разрешить DNS-записи данного домена и результаты также будут внесены в чёрный список featured_tag: name: 'Возможно, вы захотите добавить что-то из этого:' diff --git a/config/locales/simple_form.sc.yml b/config/locales/simple_form.sc.yml index 0b8376aab..2a36c92c2 100644 --- a/config/locales/simple_form.sc.yml +++ b/config/locales/simple_form.sc.yml @@ -61,7 +61,6 @@ sc: domain_allow: domain: Custu domìniu at a pòdere recuperare datos dae custu serbidore e is datos in intrada dae cue ant a èssere protzessados e archiviados email_domain_block: - domain: Custu podet èssere su nòmine de domìniu chi benit ammustradu in s'indiritzu de posta eletrònica, in su registru MX in ue si risolvet su domìniu o s'IP de su serbidore in ue si risolvet su registru MX. Ant a èssere verificados cun sa registratzione de s'utente e sa registratzione at a èssere refudada. with_dns_records: S'at a fàghere unu tentativu de risòlvere is registros DNS de su domìniu e fintzas is risultados ant a èssere blocados featured_tag: name: 'Forsis boles impreare unu de custos:' diff --git a/config/locales/simple_form.sl.yml b/config/locales/simple_form.sl.yml index 23e6630ef..688222887 100644 --- a/config/locales/simple_form.sl.yml +++ b/config/locales/simple_form.sl.yml @@ -41,6 +41,8 @@ sl: whole_word: Ko je ključna beseda ali fraza samo alfanumerična, se bo uporabljala le, če se bo ujemala s celotno besedo domain_allow: domain: Ta domena bo lahko prejela podatke s tega strežnika, dohodni podatki z nje pa bodo obdelani in shranjeni + email_domain_block: + domain: To je lahko ime domene, ki se pokaže v e-poštnem naslovu, ali zapis MX, ki ga uporablja. Ob prijavi bo preverjeno. featured_tag: name: 'Morda boste želeli uporabiti eno od teh:' form_challenge: diff --git a/config/locales/simple_form.sq.yml b/config/locales/simple_form.sq.yml index e827fbd91..c6be72de2 100644 --- a/config/locales/simple_form.sq.yml +++ b/config/locales/simple_form.sq.yml @@ -64,7 +64,7 @@ sq: domain_allow: domain: Kjo përkatësi do të jetë në gjendje të sjellë të dhëna prej këtij shërbyesi dhe të dhënat ardhëse prej tij do të përpunohen dhe depozitohen email_domain_block: - domain: Ky mund të jetë emri i përkatësisë që shfaqet te adresa email, zëri MX që i takon asaj përkatësie, ose IP-ja e shërbyesit te i cili shpie ai zë MX. Këto do të kontrollohen gjatë regjistrimit të përdoruesit dhe regjistrimi do të hidhet poshtë. + domain: Ky mund të jetë emri i përkatësisë që shfaqet te adresa email, ose zëri MX që përdor. Do të kontrollohen gjatë regjistrimit. with_dns_records: Do të bëhet një përpjekje për ftillimin e zërave DNS të përkatësisë së dhënë dhe do të futen në listë bllokimesh edhe përfundimet featured_tag: name: 'Mund të doni të përdorni një nga këto:' diff --git a/config/locales/simple_form.ta.yml b/config/locales/simple_form.ta.yml index e306ce64d..3dbea2009 100644 --- a/config/locales/simple_form.ta.yml +++ b/config/locales/simple_form.ta.yml @@ -26,7 +26,6 @@ ta: setting_display_media_hide_all: எப்போதும் எல்லா ஊடகங்களையும் மறைக்கவும் setting_display_media_show_all: உணர்ச்சி வயப்படு (Sensitive) குறிக்கப்பட்ட மீடியாவை எப்போதும் காட்டுங்கள் email_domain_block: - domain: இது மின்னஞ்சலில் காணப்படும் களத்தின் பெயராக இருக்கலாம், அல்லது அக்களம் சார்ந்திருக்கும் MX record-ஆக இருக்கலாம், அல்லது அந்த MX record சார்ந்திருக்கும் சர்வரின் IP முகவரியாக இருக்கலாம். பயனர் கணக்கைத் துவங்கும்போது அவை கண்காணிக்கப்பட்டு, கணக்குத் துவக்கம் நிராகரிக்கப்படும். with_dns_records: இக்களத்தின் DNS record-களை சரிசெய்யும் முயற்சி மேற்கொள்ளப்படும், மற்றும் அதன் முடிவுகள் தடுப்புப்பட்டியலில் சேர்க்கப்படும் labels: account: diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index 8bfe5ba88..09b5d1cd9 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -48,7 +48,7 @@ th: locked: ควบคุมผู้ที่สามารถติดตามคุณด้วยตนเองได้โดยอนุมัติคำขอติดตาม password: ใช้อย่างน้อย 8 ตัวอักษร phrase: จะถูกจับคู่โดยไม่คำนึงถึงตัวพิมพ์ใหญ่เล็กในข้อความหรือคำเตือนเนื้อหาของโพสต์ - scopes: API ใดที่แอปพลิเคชันจะได้รับอนุญาตให้เข้าถึง หากคุณเลือกขอบเขตระดับบนสุด คุณไม่จำเป็นต้องเลือกแต่ละขอบเขต + scopes: API ใดที่จะอนุญาตให้แอปพลิเคชันเข้าถึง หากคุณเลือกขอบเขตระดับบนสุด คุณไม่จำเป็นต้องเลือกแต่ละขอบเขต setting_aggregate_reblogs: ไม่แสดงการดันใหม่สำหรับโพสต์ที่เพิ่งดัน (มีผลต่อการดันที่ได้รับใหม่เท่านั้น) setting_default_sensitive: ซ่อนสื่อที่ละเอียดอ่อนเป็นค่าเริ่มต้นและสามารถเปิดเผยได้ด้วยการคลิก setting_display_media_default: ซ่อนสื่อที่มีการทำเครื่องหมายว่าละเอียดอ่อน @@ -202,6 +202,7 @@ th: mention: ใครสักคนได้กล่าวถึงคุณ pending_account: บัญชีใหม่ต้องมีการตรวจทาน reblog: ใครสักคนได้ดันโพสต์ของคุณ + report: มีการส่งรายงานใหม่ rule: text: กฎ tag: diff --git a/config/locales/simple_form.tr.yml b/config/locales/simple_form.tr.yml index 644730196..4c9c9df89 100644 --- a/config/locales/simple_form.tr.yml +++ b/config/locales/simple_form.tr.yml @@ -64,7 +64,7 @@ tr: domain_allow: domain: Bu alan adı, bu sunucudan veri alabilecek ve ondan gelen veri işlenecek ve saklanacaktır email_domain_block: - domain: Bu, e-posta adresinde görünen etki alanı adı, etki alanının çözümlediği MX kaydı veya MX kaydının çözümlediği sunucunun IP'si olabilir. Bunlar kullanıcı kaydı ile kontrol edilecek ve kayıt reddedilecektir. + domain: Bu e-posta adresinde görünen veya kullanılan MX kaydındaki alan adı olabilir. Kayıt sırasında denetleneceklerdir. with_dns_records: Belirli bir alanın DNS kayıtlarını çözmeyi deneyecek ve sonuçlar kara listeye eklenecek featured_tag: name: 'Bunlardan birini kullanmak isteyebilirsiniz:' diff --git a/config/locales/simple_form.uk.yml b/config/locales/simple_form.uk.yml index 3b416b074..a5cef9a0f 100644 --- a/config/locales/simple_form.uk.yml +++ b/config/locales/simple_form.uk.yml @@ -62,7 +62,6 @@ uk: domain_allow: domain: Цей домен зможе отримувати дані з цього серверу. Вхідні дані будуть оброблені та збережені email_domain_block: - domain: Це може бути домен, що відображається у поштовій адресі, запис MX для домену чи IP адреси сервера. Вони будуть перевірені при реєстрації користувача, і реєстрація буде відхилена. with_dns_records: Спроба визначення DNS-записів заданого домену буде здійснена, а результати також будуть занесені до чорного списку featured_tag: name: 'Можливо, ви захочете використовувати один з цих:' diff --git a/config/locales/simple_form.vi.yml b/config/locales/simple_form.vi.yml index 3698a7112..d40ff8372 100644 --- a/config/locales/simple_form.vi.yml +++ b/config/locales/simple_form.vi.yml @@ -64,7 +64,7 @@ vi: domain_allow: domain: Máy chủ này sẽ tiếp nhận dữ liệu, rồi sau đó xử lý và lưu trữ email_domain_block: - domain: Đây có thể là tên miền hoặc IP của dịch vụ email. Người dùng của những dịch vụ email này sẽ bị từ chối khi đăng ký. + domain: Phân tích tên miền thành các tên miền MX sau, các tên miền này chịu trách nhiệm cuối cùng trong chấp nhận email. Giá trị MX sẽ chặn đăng ký từ bất kỳ địa chỉ email nào sử dụng cùng một giá trị MX, ngay cả khi tên miền hiển thị là khác. with_dns_records: Nếu DNS có vấn đề, nó sẽ bị đưa vào danh sách cấm featured_tag: name: 'Những hashtag gợi ý cho bạn:' diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml index 0d7af0922..3d63343cb 100644 --- a/config/locales/simple_form.zh-CN.yml +++ b/config/locales/simple_form.zh-CN.yml @@ -64,7 +64,7 @@ zh-CN: domain_allow: domain: 该站点将能够从该服务器上拉取数据,并处理和存储收到的数据。 email_domain_block: - domain: 这里可以是邮箱地址中的域名部分、域名解析到的 MX 记录,或者 MX 记录解析到的域名。这些检查会在用户注册时进行,如果邮箱域名被封禁,那么注册会被拒绝。 + domain: 这可以是电子邮件地址的域名或它使用的 MX 记录所指向的域名。用户注册时,系统会对此检查。 with_dns_records: Mastodon 会尝试解析所给域名的 DNS 记录,然后把解析结果一并封禁 featured_tag: name: 你可能想要使用以下之一: diff --git a/config/locales/simple_form.zh-HK.yml b/config/locales/simple_form.zh-HK.yml index 267c116a1..8b8f17c22 100644 --- a/config/locales/simple_form.zh-HK.yml +++ b/config/locales/simple_form.zh-HK.yml @@ -62,7 +62,6 @@ zh-HK: domain_allow: domain: 此網域將能從此站獲取資料,而此站發出的數據也會被處理和存儲。 email_domain_block: - domain: 這裡可以是電郵地址中的域名、域名解析到的MX記錄、或MX紀錄解析到的服務器IP。如果上述資料被封禁,那麼註冊將被拒絕。 with_dns_records: Mastodon 會嘗試解析所給域名的 DNS 記錄,然後與解析結果一併封禁 featured_tag: name: 你可能想使用其中一個: diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml index b0bc5e53c..59d90128d 100644 --- a/config/locales/simple_form.zh-TW.yml +++ b/config/locales/simple_form.zh-TW.yml @@ -64,7 +64,7 @@ zh-TW: domain_allow: domain: 此域名將能夠攫取本站資料,而自域名該發出的資料也會於本站處理和留存。 email_domain_block: - domain: 這裡可以是電子郵件地址中的域名、域名解析到的 MX 記錄、或 MX 記錄解析到的伺服器 IP 地址。新使用者註冊時會比對上述資料,如果相符時將拒絕相關註冊。 + domain: 這可以是顯示在電子郵件中的網域名稱,或是其使用的 MX 紀錄。其將在註冊時檢查。 with_dns_records: Mastodon 會嘗試解析所給域名的 DNS 記錄,解析結果一致者將一併封鎖 featured_tag: name: 您可能想使用其中一個: diff --git a/config/locales/sk.yml b/config/locales/sk.yml index 1cc1a2994..f16283e2e 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -362,10 +362,7 @@ sk: add_new: Pridaj nový created_msg: Emailová doména bola úspešne pridaná do zoznamu zakázaných delete: Vymaž - destroyed_msg: Emailová doména bola úspešne vymazaná zo zoznamu zakázaných domain: Doména - empty: Žiadné emailové domény niesú v súčasnosti na čiernej listine. - from_html: z %{domain} new: create: Pridaj doménu title: Nový email na zablokovanie diff --git a/config/locales/sl.yml b/config/locales/sl.yml index 595d52c83..fea123d0b 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -319,11 +319,16 @@ sl: add_new: Dodaj novo created_msg: Domena e-pošte je bila uspešno dodana na črni seznam delete: Izbriši - destroyed_msg: Domena e-pošte je bila uspešno izbrisana iz črnega seznama + dns: + types: + mx: Zapis MX domain: Domena new: create: Dodaj domeno + resolve: Razreši domeno title: Nov vnos e-pošte na črni seznam + no_email_domain_block_selected: Nobena domena e-računa ni bila spremenjena, ker nobena ni bila izbrana + resolved_through_html: Razrešeno prek %{domain} title: Črni seznam e-pošt follow_recommendations: language: Za jezik diff --git a/config/locales/sq.yml b/config/locales/sq.yml index 2366d0edf..2f1336336 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -467,15 +467,21 @@ sq: view: Shihni bllokim përkatësie email_domain_blocks: add_new: Shtoni të ri + attempts_over_week: + one: "%{count} përpjekje gjatë javës së shkuar" + other: "%{count} përpjekje regjistrimi gjatë javës së kaluar" created_msg: Përkatësia email u shtua me sukses te lista e bllokimeve delete: Fshije - destroyed_msg: Përkatësia email u fshi me sukses nga lista e bllokimeve + dns: + types: + mx: Zë MX domain: Përkatësi - empty: S’ka përkatësi email në ndonjë listë bllokimesh. - from_html: nga %{domain} new: create: Shtoni përkatësi + resolve: Ftilloje përkatësinë title: Zë i ri email në listë bllokimesh + no_email_domain_block_selected: S’u ndryshuan blloqe përkatësish email, ngaqë s’qe përzgjedhur ndonjë + resolved_dns_records_hint_html: Emri i përkatësisë jep u përket përkatësive vijuese MX, që janë përgjegjëset për pranim email-esh. Bllokimi i një përkatësie MX do të bllokojë regjistrime nga çfarëdo adrese email që përdor të njëjtën përkatësi MX, edhe nëse emri i dukshëm i përkatësisë është i ndryshëm. Jini i kujdesshëm të mos bllokoni shërbime të njohur email-esh. title: Listë bllokimesh email-esh follow_recommendations: description_html: "Rekomandimet për ndjekje ndihmojnë përdoruesit e rinj të gjejnë shpejt lëndë me interes. Kur një përdorues nuk ka ndërvepruar mjaftueshëm me të tjerët, që të formohen rekomandime të personalizuara ndjekjeje, rekomandohen këto llogari. Ato përzgjidhen çdo ditë, prej një përzierje llogarish me shkallën më të lartë të angazhimit dhe numrin më të lartë të ndjekësve vendorë për një gjuhë të dhënë." @@ -610,6 +616,7 @@ sq: title: Shënime notes_description_html: Shihni dhe lini shënime për moderatorët e tjerë dhe për veten në të ardhmen quick_actions_description_html: 'Kryeni një veprim të shpejtë, ose rrëshqitni poshtë për të parë lëndën e raportuar:' + remote_user_placeholder: përdoruesi i largët prej %{instance} reopen: Rihape raportimin report: 'Raportim #%{id}' reported_account: Llogari e raportuar @@ -780,6 +787,11 @@ sq: rejected: Lidhje prej këtij botuesi s’do të përdoren title: Botues rejected: Hedhur poshtë + statuses: + allow: Lejo postim + allow_account: Lejo autor + disallow: Mos lejo postim + disallow_account: Mos lejo autor tags: dashboard: tag_accounts_measure: përdorime unike @@ -826,14 +838,8 @@ sq: body: "%{reporter} ka raportuar %{target}" body_remote: Dikush nga %{domain} ka raportuar %{target} subject: Raportim i ri për %{instance} (#%{id}) - new_trending_links: - body: Lidhjet vijuese janë në modë sot, por botuesit e tyre nuk janë shqyrtuar më herët. Nuk do të shfaqen publikisht, veç në i miratofshi. S’do të prodhohen njoftime të mëtejshme për të njëjtë botues. - no_approved_links: Aktualisht nuk ka lidhje në modë të miratuara. - subject: Lidhje të reja në modë për shqyrtim te %{instance} - new_trending_tags: - body: 'Hashtag-ët vijues janë në modë sot, por nuk janë miratuar më herët. S’do të shfaqen publikisht, veç në i miratofshi:' - no_approved_tags: Aktualisht nuk ka hashtag-ë në modë të miratuar. - subject: Hashtag-ë të rinj në modë për t’u shqyrtuar në %{instance} + new_trends: + body: 'Gjërat vijuese lypin një shqyrtim, përpara se të mund të shfaqen publikisht:' aliases: add_new: Krijo alias created_msg: U krijua me sukses alias i ri. Tani mund të filloni lëvizjen prej llogarisë së vjetër. @@ -1172,6 +1178,9 @@ sq: carry_mutes_over_text: Ky përdorues lëvizi prej %{acct}, që e keni heshtuar. copy_account_note_text: 'Ky përdorues ka ikur prej %{acct}, ja ku janë shënimet tuaja të mëparshme mbi të:' notification_mailer: + admin: + sign_up: + subject: "%{name} u regjistrua" digest: action: Shihini krejt njoftimet body: Ja një përmbledhje e shkurtër e mesazheve që keni humbur që nga vizita juaj e fundit më %{since} diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml index 8d8a4744a..b1a0613d5 100644 --- a/config/locales/sr-Latn.yml +++ b/config/locales/sr-Latn.yml @@ -148,7 +148,6 @@ sr-Latn: add_new: Dodaj novuAdd new created_msg: Uspešno dodao domen e-pošte na crnu listu delete: Ukloni - destroyed_msg: Uspešno uklonjen domen e-pošte sa crne liste domain: Domen new: create: Dodaj domen diff --git a/config/locales/sr.yml b/config/locales/sr.yml index 28e6142ff..194111e73 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -220,7 +220,6 @@ sr: add_new: Додај нови created_msg: Успешно додао домен Е-поште на црну листу delete: Обриши - destroyed_msg: Успешно уклоњен домен Е-поште са црне листе domain: Домен new: create: Додај домен diff --git a/config/locales/sv.yml b/config/locales/sv.yml index b61d4ed02..011a0d385 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -189,6 +189,7 @@ sv: security_measures: only_password: Endast lösenord password_and_2fa: Lösenord och 2FA + password_and_sign_in_token: Lösenord och e-post token sensitive: Känsligt sensitized: markerad som känsligt shared_inbox_url: Delad inkorg URL @@ -403,10 +404,7 @@ sv: add_new: Lägg till ny created_msg: E-postdomän har lagts till i domänblockslistan utan problem delete: Radera - destroyed_msg: E-postdomän har tagits bort från domänblockslistan utan problem domain: Domän - empty: För tillfället inga svartlistade mejl. - from_html: från %{domain} new: create: Skapa domän title: Ny E-postdomänblocklistningsinmatning @@ -628,6 +626,10 @@ sv: action: Hantera serverregler message_html: Du har inte definierat några serverregler. title: Administration + trends: + statuses: + allow: Godkänn inlägg + allow_account: Godkänn författare warning_presets: add_new: Lägg till ny delete: Radera diff --git a/config/locales/ta.yml b/config/locales/ta.yml index 4ffbb9a71..805781598 100644 --- a/config/locales/ta.yml +++ b/config/locales/ta.yml @@ -225,9 +225,6 @@ ta: severity: noop: எதுவுமில்லை suspend: தற்காலீகமாக நீக்குக - email_domain_blocks: - empty: மின்னஞ்சற் களங்கள் எதுவும் தடுக்கப்படவில்லை. - from_html: "%{domain} -இலிருந்து" invites: filter: all: அனைத்தும் diff --git a/config/locales/th.yml b/config/locales/th.yml index ec92cfd2d..9203aec15 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -414,6 +414,7 @@ th: silence: ทำให้เงียบ suspend: ระงับ title: การปิดกั้นโดเมนใหม่ + obfuscate: ทำให้ชื่อโดเมนคลุมเครือ private_comment: ความคิดเห็นส่วนตัว public_comment: ความคิดเห็นสาธารณะ reject_media: ปฏิเสธไฟล์สื่อ @@ -441,13 +442,16 @@ th: add_new: เพิ่มใหม่ created_msg: ปิดกั้นโดเมนอีเมลสำเร็จ delete: ลบ - destroyed_msg: เลิกปิดกั้นโดเมนอีเมลสำเร็จ + dns: + types: + mx: ระเบียน MX domain: โดเมน - empty: ไม่มีโดเมนอีเมลที่ปิดกั้นอยู่ - from_html: จาก %{domain} new: create: เพิ่มโดเมน + resolve: แปลงที่อยู่โดเมน title: ปิดกั้นโดเมนอีเมลใหม่ + no_email_domain_block_selected: ไม่มีการเปลี่ยนแปลงการปิดกั้นโดเมนอีเมลเนื่องจากไม่มีการเลือก + resolved_through_html: แปลงที่อยู่ผ่าน %{domain} title: โดเมนอีเมลที่ปิดกั้นอยู่ follow_recommendations: language: สำหรับภาษา @@ -561,6 +565,7 @@ th: create_and_unresolve: เปิดใหม่โดยมีหมายเหตุ delete: ลบ title: หมายเหตุ + remote_user_placeholder: ผู้ใช้ระยะไกลจาก %{instance} reopen: เปิดรายงานใหม่ report: 'รายงาน #%{id}' reported_account: บัญชีที่ได้รับการรายงาน @@ -725,6 +730,12 @@ th: rejected: ลิงก์จากผู้เผยแพร่นี้จะไม่ขึ้นแนวโน้ม title: ผู้เผยแพร่ rejected: ปฏิเสธแล้ว + statuses: + allow: อนุญาตโพสต์ + allow_account: อนุญาตผู้สร้าง + disallow: ไม่อนุญาตโพสต์ + disallow_account: ไม่อนุญาตผู้สร้าง + title: โพสต์ที่กำลังนิยม tags: current_score: คะแนนปัจจุบัน %{score} dashboard: @@ -768,12 +779,17 @@ th: body: "%{reporter} ได้รายงาน %{target}" body_remote: ใครสักคนจาก %{domain} ได้รายงาน %{target} subject: รายงานใหม่สำหรับ %{instance} (#%{id}) - new_trending_links: - no_approved_links: ไม่มีลิงก์ที่กำลังนิยมที่ได้รับอนุมัติ - subject: ลิงก์ที่กำลังนิยมใหม่สำหรับตรวจทานใน %{instance} - new_trending_tags: - no_approved_tags: ไม่มีแฮชแท็กที่กำลังนิยมที่ได้รับอนุมัติ - subject: แฮชแท็กที่กำลังนิยมใหม่สำหรับตรวจทานใน %{instance} + new_trends: + new_trending_links: + no_approved_links: ไม่มีลิงก์ที่กำลังนิยมที่ได้รับอนุมัติ + title: ลิงก์ที่กำลังนิยม + new_trending_statuses: + no_approved_statuses: ไม่มีโพสต์ที่กำลังนิยมที่ได้รับอนุมัติ + title: โพสต์ที่กำลังนิยม + new_trending_tags: + no_approved_tags: ไม่มีแฮชแท็กที่กำลังนิยมที่ได้รับอนุมัติ + title: แฮชแท็กที่กำลังนิยม + subject: แนวโน้มใหม่สำหรับตรวจทานใน %{instance} aliases: add_new: สร้างนามแฝง created_msg: สร้างนามแฝงใหม่สำเร็จ ตอนนี้คุณสามารถทำการย้ายจากบัญชีเก่า @@ -1074,6 +1090,9 @@ th: carry_mutes_over_text: ผู้ใช้นี้ได้ย้ายจาก %{acct} ซึ่งคุณได้ซ่อน copy_account_note_text: 'ผู้ใช้นี้ได้ย้ายจาก %{acct} นี่คือหมายเหตุก่อนหน้านี้ของคุณเกี่ยวกับผู้ใช้:' notification_mailer: + admin: + sign_up: + subject: "%{name} ได้ลงทะเบียน" digest: action: ดูการแจ้งเตือนทั้งหมด mention: "%{name} ได้กล่าวถึงคุณใน:" @@ -1351,6 +1370,11 @@ th: recovery_codes_regenerated: สร้างรหัสกู้คืนใหม่สำเร็จ webauthn: กุญแจความปลอดภัย user_mailer: + appeal_approved: + action: ไปยังบัญชีของคุณ + title: อนุมัติการอุทธรณ์แล้ว + appeal_rejected: + title: ปฏิเสธการอุทธรณ์แล้ว backup_ready: explanation: คุณได้ขอข้อมูลสำรองแบบเต็มของบัญชี Mastodon ของคุณ ตอนนี้ข้อมูลสำรองพร้อมสำหรับการดาวน์โหลดแล้ว! subject: การเก็บถาวรของคุณพร้อมสำหรับการดาวน์โหลดแล้ว @@ -1362,9 +1386,12 @@ th: subject: โปรดยืนยันการลงชื่อเข้าที่พยายาม title: ความพยายามลงชื่อเข้า warning: + appeal: ส่งการอุทธรณ์ + appeal_description: หากคุณเชื่อว่านี่เป็นข้อผิดพลาด คุณสามารถส่งการอุทธรณ์ไปยังพนักงานของ %{instance} categories: spam: สแปม violation: เนื้อหาละเมิดหลักเกณฑ์ชุมชนดังต่อไปนี้ + get_in_touch: หากคุณเชื่อว่านี่เป็นข้อผิดพลาด คุณสามารถตอบกลับอีเมลนี้เพื่อติดต่อกับพนักงานของ %{instance} reason: 'เหตุผล:' statuses: 'โพสต์ที่พบว่ามีการละเมิด:' subject: @@ -1381,15 +1408,19 @@ th: suspend: ระงับบัญชีอยู่ welcome: edit_profile_action: ตั้งค่าโปรไฟล์ + edit_profile_step: คุณสามารถปรับแต่งโปรไฟล์ของคุณได้โดยอัปโหลดภาพประจำตัว, ส่วนหัว เปลี่ยนชื่อที่แสดงของคุณ และอื่น ๆ หากคุณต้องการตรวจทานผู้ติดตามใหม่ก่อนที่จะอนุญาตให้เขาติดตามคุณ คุณสามารถล็อคบัญชีของคุณ + explanation: นี่คือเคล็ดลับบางส่วนที่จะช่วยให้คุณเริ่มต้นใช้งาน final_action: เริ่มโพสต์ final_step: 'เริ่มโพสต์! แม้ว่าไม่มีผู้ติดตาม โพสต์สาธารณะของคุณอาจเห็นโดยผู้อื่น ตัวอย่างเช่น ในเส้นเวลาในเซิร์ฟเวอร์และในแฮชแท็ก คุณอาจต้องการแนะนำตัวเองในแฮชแท็ก #introductions' full_handle: นามเต็มของคุณ full_handle_hint: นี่คือสิ่งที่คุณจะบอกเพื่อน ๆ ของคุณ เพื่อให้เขาสามารถส่งข้อความหรือติดตามคุณจากเซิร์ฟเวอร์อื่น review_preferences_action: เปลี่ยนการกำหนดลักษณะ + review_preferences_step: ตรวจสอบให้แน่ใจว่าได้ตั้งการกำหนดลักษณะของคุณ เช่น อีเมลใดที่คุณต้องการรับ หรือระดับความเป็นส่วนตัวใดที่คุณต้องการให้โพสต์ของคุณเป็นค่าเริ่มต้น หากคุณไม่มีภาวะป่วยจากการเคลื่อนไหว คุณสามารถเลือกเปิดใช้งานการเล่น GIF อัตโนมัติ subject: ยินดีต้อนรับสู่ Mastodon tip_federated_timeline: เส้นเวลาที่ติดต่อกับภายนอกคือมุมมองสายน้ำของเครือข่าย Mastodon แต่เส้นเวลารวมเฉพาะผู้คนที่เพื่อนบ้านของคุณบอกรับเท่านั้น ดังนั้นเส้นเวลาจึงไม่ครบถ้วน tip_following: คุณติดตามผู้ดูแลเซิร์ฟเวอร์ของคุณเป็นค่าเริ่มต้น เพื่อค้นหาผู้คนที่น่าสนใจเพิ่มเติม ตรวจสอบเส้นเวลาในเซิร์ฟเวอร์และที่ติดต่อกับภายนอก tip_local_timeline: เส้นเวลาในเซิร์ฟเวอร์คือมุมมองสายน้ำของผู้คนใน %{instance} นี่คือเพื่อนบ้านใกล้เคียงของคุณ! + tip_mobile_webapp: หากเบราว์เซอร์มือถือของคุณเสนอให้คุณเพิ่ม Mastodon ไปยังหน้าจอหลักของคุณ คุณจะสามารถรับการแจ้งเตือนแบบผลัก แอปเว็บทำหน้าที่เหมือนแอปเนทีฟในหลาย ๆ ด้าน! tips: เคล็ดลับ title: ยินดีต้อนรับ %{name}! users: diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 336a9a74a..ade2a77fb 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -467,15 +467,22 @@ tr: view: Alan adı bloğunu görüntüle email_domain_blocks: add_new: Yeni ekle + attempts_over_week: + one: Son haftada %{count} deneme + other: Son haftada %{count} kayıt denemesi created_msg: E-posta alan adı kara listeye başarıyla eklendi delete: Sil - destroyed_msg: E-posta alan adı kara listeden başarıyla silindi + dns: + types: + mx: MX kaydı domain: Alan adı - empty: Şu anda hiçbir e-posta alan adı kara listeye alınmadı. - from_html: "%{domain} alan adından" new: create: Alan adı ekle + resolve: Alan adı çözümleme title: Yeni e-posta kara liste girişi + no_email_domain_block_selected: Seçim yapılmadığından hiç bir e-posta alan adı engeli değiştirilmedi + resolved_dns_records_hint_html: Alan adı aşağıdaki MX alan adlarına çözümleniyor, ancak hiç biri nihayetinde e-posta kabulünden sorum değil. Bir MX alan adını engellemek, görünen alan adı farklı osa bile aynı MX alan adını kullanan e-posta adreslerinden gelen kayıtları engelleyecektir. Başlıca e-posta sağlayıcıları engellememek için dikkatli olun. + resolved_through_html: "%{domain} aracılığıyla çözümlendi" title: E-posta kara listesi follow_recommendations: description_html: "Takip önerileri yeni kullanıcıların hızlı bir şekilde ilginç içerik bulmalarını sağlar. Eğer bir kullanıcı, kişisel takip önerileri almaya yetecek kadar başkalarıyla etkileşime girmediğinde, onun yerine bu hesaplar önerilir. Bu öneriler, verili bir dil için en yüksek takipçi sayısına ve en yüksek güncel meşguliyete sahip hesapların bir karışımdan günlük olarak hesaplanıyorlar." @@ -610,6 +617,7 @@ tr: title: Notlar notes_description_html: Kendiniz ve diğer moderatörler için not bırakın veya notları görüntüleyin quick_actions_description_html: 'Hemen bir şey yapın veya bildirilen içeriği görmek için aşağı kaydırın:' + remote_user_placeholder: "%{instance}'dan uzak kullanıcı" reopen: Şikayeti tekrar aç report: 'Şikayet #%{id}' reported_account: Şikayet edilen hesap @@ -780,6 +788,15 @@ tr: rejected: Bu yayıncının bağlantıları öne çıkmayacak title: Yayıncılar rejected: Reddedildi + statuses: + allow: Gönderiye izin ver + allow_account: Yazara izin ver + disallow: Gönderi iznini kaldır + disallow_account: Yazar iznini kaldır + shared_by: + one: Bir defa paylaşıldı veya favorilendi + other: "%{friendly_count} defa paylaşıldı veya favorilendi" + title: Öne çıkan gönderiler tags: current_score: Mevcut puan %{score} dashboard: @@ -800,6 +817,7 @@ tr: usage_comparison: Bugün %{today} kere kullanıldı, dün %{yesterday} kere kullanılmıştı used_by_over_week: one: Geçen hafta bir kişi tarafından kullanıldı + other: Geçen hafta %{count} kişi tarafından kullanıldı zero: Geçen hafta kimse tarafından kullanılmadı title: Öne çıkanlar warning_presets: @@ -827,16 +845,21 @@ tr: body: "%{reporter}, %{target} kişisini bildirdi" body_remote: "%{domain} alan adından birisi %{target} kişisini bildirdi" subject: "%{instance} için yeni şikayet (#%{id})" - new_trending_links: - body: Aşağıdaki bağlantılar bugün öne çıkıyorlar, ancak yayıncıları daha önce incelenmedi. Siz onaylamadığınız sürece herkese açık olarak görüntülenmeyecekler. Aynı yayıncılar için benzer bildirimler üretilmeyecek. - no_approved_links: Şu anda onaylanmış öne çıkan bağlantı yok. - requirements: Şu anda en düşük onaylanmış öne çıkan bağlantı %{lowest_link_score} puana sahip olan "%{lowest_link_title}". - subject: "%{instance}, inceleme bekleyen yeni öne çıkan bağlantılara sahip" - new_trending_tags: - body: 'Aşağıdaki etiketler bugün öne çıkıyorlar, ancak daha önce incelenmediler. Siz onaylamadığınız sürece herkese açık olarak görüntülenmeyecekler:' - no_approved_tags: Şu anda onaylanmış öne çıkan etiket yok. - requirements: 'Şu anda en düşük onaylanmış öne çıkan etiket %{lowest_tag_score} puana sahip olan #%{lowest_tag_name}.' - subject: "%{instance}, inceleme bekleyen yeni öne çıkan etiketlere sahip" + new_trends: + body: 'Aşağıdaki öğeler herkese açık olarak gösterilmeden önce gözden geçirilmelidir:' + new_trending_links: + no_approved_links: Şu anda onaylanmış öne çıkan bağlantı yok. + requirements: 'Aşağıdaki adaylardan herhangi biri, şu anda %{lowest_link_score} skoruna sahip "%{lowest_link_title}" olan #%{rank} onaylanmış öne çıkan bağlantıyı geçebilir.' + title: Öne çıkan bağlantılar + new_trending_statuses: + no_approved_statuses: Şu anda onaylanmış öne çıkan gönderi yok. + requirements: 'Aşağıdaki adaylardan herhangi biri, şu anda %{lowest_status_score} skoruna sahip "%{lowest_status_url}" olan #%{rank} onaylanmış öne çıkan gönderiyi geçebilir.' + title: Öne çıkan gönderiler + new_trending_tags: + no_approved_tags: Şu anda onaylanmış öne çıkan etiket yok. + requirements: 'Aşağıdaki adaylardan herhangi biri, şu anda %{lowest_tag_score} skoruna sahip "%{lowest_tag_name}" olan #%{rank} onaylanmış öne çıkan etiketi geçebilir.' + title: Öne çıkan etiketler + subject: "%{instance}, inceleme bekleyen yeni öne çıkan öğelere sahip" aliases: add_new: Takma ad oluştur created_msg: Yeni takma ad başarıyla oluşturuldu. Artık eski hesaptan taşınmayı başlatabilirsiniz. @@ -1175,6 +1198,9 @@ tr: carry_mutes_over_text: Bu kullanıcı sessize aldığınız %{acct} adresinden taşındı. copy_account_note_text: 'Bu kullanıcı %{acct} adresinden taşındı, işte onlarla ilgili önceki notlarınız:' notification_mailer: + admin: + sign_up: + subject: "%{name} kaydoldu" digest: action: Tüm bildirimleri görüntüle body: Son ziyaretiniz olan %{since}'den beri'da kaçırdığınız şeylerin özeti diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 6d96a951b..152962bfc 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -455,10 +455,7 @@ uk: add_new: Додати created_msg: Успішно додано поштовий домен до чорного списку delete: Видалити - destroyed_msg: Успішно видалено поштовий домен з чорного списку domain: Домен - empty: Ніякі e-mail домени не блокуються. - from_html: з %{domain} new: create: Додати домен title: Нове блокування поштового домену @@ -800,16 +797,6 @@ uk: body: "%{reporter} поскаржився(-лася) на %{target}" body_remote: Хтось з домену %{domain} поскаржився(-лася) на %{target} subject: Нова скарга до %{instance} (#%{id}) - new_trending_links: - body: Ці посилання сьогодні популярні, але їх публікатори не були попередньо перевірені. Їх не буде показано публічно, якщо ви їх не затвердите. Подальші сповіщення від тих самих публікаторів не будуть згенеровані. - no_approved_links: На цей час немає схвалених популярних посилань. - requirements: Найнижче затверджене популярне посилання на цю хвилю "%{lowest_link_title}" з результатом %{lowest_link_score}. - subject: Нові популярні посилання до розгляду на %{instance} - new_trending_tags: - body: 'Ці хештеги популярні сьогодні, але їх попередньо не розглядали. Їх не буде показано публічно, якщо ви не затвердите їх:' - no_approved_tags: На цей час немає схвалених популярних хештегів. - requirements: 'Найнижчий затверджений популярний хештег на цю хвилю #%{lowest_tag_name} з результатом %{lowest_tag_score}.' - subject: Нові популярні хештеги до розгляду на %{instance} aliases: add_new: Створити псевдонім created_msg: Новий псевдонім успішно створено. Тепер ви можете починати переміщення зі старого облікового запису. diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 99244e81c..2410f9500 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -457,15 +457,21 @@ vi: view: Xem máy chủ chặn email_domain_blocks: add_new: Thêm mới + attempts_over_week: + other: "%{count} lần thử đăng ký vào tuần trước" created_msg: Đã chặn tên miền email này delete: Xóa bỏ - destroyed_msg: Đã bỏ chặn tên miền email này + dns: + types: + mx: Giá trị MX domain: Địa chỉ email - empty: Chưa chặn tên miền email nào. - from_html: từ %{domain} new: create: Thêm địa chỉ + resolve: Xử lý tên miền title: Chặn tên miền email mới + no_email_domain_block_selected: Không có chặn e-mail nào thay đổi vì không có mục nào được chọn + resolved_dns_records_hint_html: Tên miền phân giải thành các tên miền MX sau, các tên miền này chịu trách nhiệm cuối cùng trong việc chấp nhận email. Chặn tên miền MX sẽ chặn đăng ký từ bất kỳ địa chỉ email nào sử dụng cùng một tên miền MX, ngay cả khi tên miền hiển thị là khác. Cẩn thận đừng chặn những dịch vụ email lớn. + resolved_through_html: Đã xử lý thông qua %{domain} title: Tên miền email đã chặn follow_recommendations: description_html: "Gợi ý theo dõi là cách giúp những người dùng mới nhanh chóng tìm thấy những nội dung thú vị. Khi một người dùng chưa đủ tương tác với những người khác để hình thành các đề xuất theo dõi được cá nhân hóa, thì những tài khoản này sẽ được đề xuất. Nó bao gồm các tài khoản có số lượt tương tác gần đây cao nhất và số lượng người theo dõi cao nhất cho một ngôn ngữ nhất định trong máy chủ." @@ -598,6 +604,7 @@ vi: title: Ghi chú notes_description_html: Xem và để lại ghi chú cho các kiểm duyệt viên khác quick_actions_description_html: 'Kiểm duyệt nhanh hoặc kéo xuống để xem nội dung bị báo cáo:' + remote_user_placeholder: người dùng ở %{instance} reopen: Mở lại báo cáo report: 'Báo cáo #%{id}' reported_account: Tài khoản bị báo cáo @@ -768,6 +775,14 @@ vi: rejected: Liên kết từ nguồn đăng không thể thành xu hướng title: Nguồn đăng rejected: Đã cấm + statuses: + allow: Cho phép tút + allow_account: Cho phép người đăng + disallow: Không cho phép tút + disallow_account: Không cho phép người đăng + shared_by: + other: Đã chia sẻ và thích %{friendly_count} lần + title: Tút xu hướng tags: current_score: Chỉ số gần đây %{score} dashboard: @@ -816,16 +831,21 @@ vi: body: "%{reporter} vừa báo cáo %{target}" body_remote: Ai đó từ %{domain} đã báo cáo %{target} subject: "(%{instance}) Báo cáo #%{id}" - new_trending_links: - body: Các liên kết này đang là xu hướng hôm nay, nhưng các nguồn đăng của chúng chưa được xem xét trước đây. Chúng sẽ không được hiển thị công khai trừ khi bạn cho phép chúng. Các thông báo khác từ cùng một nguồn đăng sẽ không được tạo. - no_approved_links: Hiện tại không có liên kết xu hướng nào được cho phép. - requirements: Liên kết xu hướng được cho phép thấp nhất hiện tại là "%{lowest_link_title}" với chỉ số %{lowest_link_score}. - subject: Liên kết xu hướng mới chờ duyệt trên %{instance} - new_trending_tags: - body: 'Các hashtag này đang là xu hướng hôm nay, nhưng chúng chưa được xem xét trước đó. Chúng sẽ không được hiển thị công khai trừ khi bạn cho phép chúng:' - no_approved_tags: Hiện tại không có hashtag xu hướng nào được cho phép. - requirements: 'Hashtag xu hướng được cho phép thấp nhất hiện tại là #%{lowest_tag_name} với chỉ số %{lowest_tag_score}.' - subject: Hashtag xu hướng mới chờ duyệt trên %{instance} + new_trends: + body: 'Các mục sau đây cần được xem xét trước khi chúng hiển thị công khai:' + new_trending_links: + no_approved_links: Hiện tại không có liên kết xu hướng nào được duyệt. + requirements: 'Bất kỳ ứng cử viên nào vượt qua #%{rank} duyệt liên kết xu hướng, với hiện tại là "%{lowest_link_title}" với điểm số %{lowest_link_score}.' + title: Liên kết xu hướng + new_trending_statuses: + no_approved_statuses: Hiện tại không có tút xu hướng nào được duyệt. + requirements: 'Bất kỳ ứng cử viên nào vượt qua #%{rank} duyệt tút xu hướng, với hiện tại là "%{lowest_status_url}" với điểm số %{lowest_status_score}.' + title: Tút xu hướng + new_trending_tags: + no_approved_tags: Hiện tại không có hashtag xu hướng nào được duyệt. + requirements: 'Bất kỳ ứng cử viên nào vượt qua #%{rank} duyệt hashtag xu hướng, với hiện tại là "%{lowest_tag_name}" với điểm số %{lowest_tag_score}.' + title: Hashtag xu hướng + subject: Xu hướng mới chờ duyệt trên %{instance} aliases: add_new: Kết nối tài khoản created_msg: Tạo thành công một tên hiển thị mới. Bây giờ bạn có thể bắt đầu di chuyển từ tài khoản cũ. @@ -1162,6 +1182,9 @@ vi: carry_mutes_over_text: Tài khoản này chuyển từ %{acct}, máy chủ mà bạn đã ẩn trước đó. copy_account_note_text: 'Tài khoản này chuyển từ %{acct}, đây là lịch sử kiểm duyệt của họ:' notification_mailer: + admin: + sign_up: + subject: "%{name} đã được đăng ký" digest: action: Xem toàn bộ thông báo body: Dưới đây là những tin nhắn bạn đã bỏ lỡ kể từ lần truy cập trước vào %{since} diff --git a/config/locales/zgh.yml b/config/locales/zgh.yml index 45f0d432d..da1376dac 100644 --- a/config/locales/zgh.yml +++ b/config/locales/zgh.yml @@ -136,6 +136,9 @@ zgh: '86400': ⴰⵙⵙ expires_in_prompt: ⵓⵙⴰⵔ notification_mailer: + admin: + sign_up: + subject: "%{name} ⴼⴼⵖⵏ" mention: action: ⵔⴰⵔ relationships: diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index b7a5a8ae5..240daade4 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -387,6 +387,8 @@ zh-CN: media_storage: 媒体存储 new_users: 新用户 opened_reports: 被发起的举报 + pending_appeals_html: + other: "%{count} 个待处理举报" pending_reports_html: other: "%{count} 个待处理举报" pending_tags_html: @@ -455,15 +457,21 @@ zh-CN: view: 查看域名屏蔽 email_domain_blocks: add_new: 添加新条目 + attempts_over_week: + other: 上周有 %{count} 次注册尝试 created_msg: 成功屏蔽电子邮件域名 delete: 删除 - destroyed_msg: 电子邮件域名屏蔽删除成功 + dns: + types: + mx: MX 记录 domain: 域名 - empty: 当前没有邮件域名被封禁。 - from_html: 来自 %{domain} new: create: 添加域名 + resolve: 解析域名 title: 添加电子邮件域名屏蔽 + no_email_domain_block_selected: 没有任何项目被选中,因此未能更改电子邮件域名屏蔽列表 + resolved_dns_records_hint_html: 该域名解析的 MX 记录所指向的域名如下,这些域名被用于接收电子邮件。 即使电子邮件地址域名与 MX 域名不同,屏蔽一个 MX 域名意味着阻止任何使用相同 MX 域名的电子邮件地址注册本站账户。 请小心不要误屏蔽主要的电子邮件提供商。 + resolved_through_html: 通过 %{domain} 解析 title: 电子邮件域名屏蔽 follow_recommendations: description_html: "“关注推荐”可帮助新用户快速找到有趣的内容。 当用户与他人的互动不足以形成个性化的建议时,就会推荐关注这些账户。推荐会每日更新,基于选定语言的近期最高互动数和最多本站关注者数综合评估得出。" @@ -596,6 +604,7 @@ zh-CN: title: 备注 notes_description_html: 查看备注或向其他监察员留言 quick_actions_description_html: 快捷选择操作或向下滚动以查看举报内容: + remote_user_placeholder: 来自 %{instance} 的远程实例用户 reopen: 重开举报 report: '举报 #%{id}' reported_account: 举报用户 @@ -766,6 +775,8 @@ zh-CN: rejected: 来自此发布者的链接不会进入流行列表 title: 发布者 rejected: 已拒绝 + statuses: + title: 热门嘟文 tags: current_score: 当前 %{score} 分 dashboard: @@ -814,16 +825,17 @@ zh-CN: body: "%{reporter} 举报了用户 %{target}" body_remote: 来自 %{domain} 的用户举报了用户 %{target} subject: 来自 %{instance} 的用户举报(#%{id}) - new_trending_links: - body: 以下为今日流行的链接,但它们的发布者尚未经过审核。在您批准前它们不会被公开显示。来自相同发布者的更多通知不会被生成。 - no_approved_links: 当前没有经过批准的流行链接。 - requirements: 已批准流行链接中最低的是 %{lowest_link_title} (%{lowest_link_score} 分)。 - subject: "%{instance} 上待审核的新流行链接" - new_trending_tags: - body: 以下为今日流行的标签,但它们尚未经过审核。在您批准前它们不会被公开显示。 - no_approved_tags: 当前没有经过批准的流行标签。 - requirements: '已批准流行链接中最低的是 #%{lowest_tag_name} (%{lowest_tag_score} 分)。' - subject: "%{instance} 上待审核的新流行标签" + new_trends: + new_trending_links: + no_approved_links: 当前没有经过批准的热门链接。 + title: 热门链接 + new_trending_statuses: + no_approved_statuses: 当前没有经过批准的热门链接。 + title: 热门嘟文 + new_trending_tags: + no_approved_tags: 目前没有经批准的热门标签。 + title: 热门标签 + subject: "%{instance} 上的新趋势供审核" aliases: add_new: 创建别名 created_msg: 成功创建了一个新别名。你现在可以从旧账户开始迁移了。 @@ -1160,6 +1172,9 @@ zh-CN: carry_mutes_over_text: 这个用户迁移自你隐藏过的 %{acct} copy_account_note_text: 这个用户迁移自 %{acct},你曾为其添加备注: notification_mailer: + admin: + sign_up: + subject: "%{name} 注册了" digest: action: 查看所有通知 body: 以下是自%{since}你最后一次登录以来错过的消息的摘要 diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml index e1fad25c5..b48182e8d 100644 --- a/config/locales/zh-HK.yml +++ b/config/locales/zh-HK.yml @@ -413,10 +413,7 @@ zh-HK: add_new: 新增 created_msg: 已新增電郵網域阻隔 delete: 刪除 - destroyed_msg: 已刪除電郵網域阻隔 domain: 網域 - empty: 現時並沒有電郵域名被阻隔。 - from_html: 由%{domain} new: create: 新增網域 title: 新增電郵網域阻隔 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index c0f633095..930f4f040 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -457,15 +457,21 @@ zh-TW: view: 顯示阻擋的網域 email_domain_blocks: add_new: 加入新項目 + attempts_over_week: + other: 上週共有 %{count} 次註冊嘗試 created_msg: 已成功將電子信箱網域加入黑名單 delete: 刪除 - destroyed_msg: 已成功從黑名單刪除電子信箱網域 + dns: + types: + mx: MX 記錄 domain: 站點 - empty: 現在沒有阻擋任何 e-mail 網域。 - from_html: 由 %{domain} new: create: 新增站點 + resolve: 解析網域 title: 新增電子信箱黑名單項目 + no_email_domain_block_selected: 因未選取項目,而未更改電子信箱網域封鎖清單 + resolved_dns_records_hint_html: 網域名稱解析為以下 MX 網域,這些網域最終負責接收電子郵件。封鎖 MX 網域將會封鎖任何來自使用相同 MX 網域的電子郵件註冊,即便可見的域名是不同的也一樣。請注意,不要封鎖主要的電子郵件服務提供商。 + resolved_through_html: 透過 %{domain} 解析 title: 電子信箱黑名單 follow_recommendations: description_html: |- @@ -600,6 +606,7 @@ zh-TW: title: 註記 notes_description_html: 檢視及留下些給其他管理員和未來的自己的註記 quick_actions_description_html: 採取一個快速行動,或者下捲以檢視檢舉內容: + remote_user_placeholder: 來自 %{instance} 之遠端使用者 reopen: 重開檢舉 report: '檢舉 #%{id}' reported_account: 被檢舉使用者 @@ -770,6 +777,14 @@ zh-TW: rejected: 此發行者之連結不會登上熱門 title: 發行者 rejected: 被拒絕 + statuses: + allow: 允許嘟文 + allow_account: 允許作者 + disallow: 不允許嘟文 + disallow_account: 不允許作者 + shared_by: + other: 分享過或/及收藏過 %{friendly_count} 次 + title: 熱門嘟文 tags: current_score: 目前分數 %{score} 分 dashboard: @@ -818,16 +833,21 @@ zh-TW: body: "%{reporter} 檢舉了使用者 %{target}" body_remote: 來自 %{domain} 的使用者檢舉了使用者 %{target} subject: 來自 %{instance} 的使用者檢舉(#%{id}) - new_trending_links: - body: 以下連結於今日登上熱門榜,然而他們的發行者之前仍未被審核過。除非您核准,這些連結將不會被公開顯示。來自這些發行者的通知往後將不會被產生。 - no_approved_links: 這些是目前仍未被審核之熱門連結。 - requirements: 已核准熱門連結中最低分者目前是「%{lowest_link_title}」為 %{lowest_link_score} 分。 - subject: 於 %{instance} 待審核的新熱門連結 - new_trending_tags: - body: 以下主題標籤於今日登上熱門榜,然而他們之前仍未被審核過。除非您核准,這些連結將不會被公開顯示: - no_approved_tags: 這些是目前仍未被審核之熱門主題標籤。 - requirements: 已核准熱門標籤中最低分者目前是「#%{lowest_tag_name}」為 %{lowest_tag_score} 分。 - subject: 於 %{instance} 待審核的新熱門主題標籤 + new_trends: + body: 以下項目需要經過審核才能公開顯示: + new_trending_links: + no_approved_links: 這些是目前仍未被審核之熱門連結。 + requirements: '這些候選中的任何一個都可能超過 #%{rank} 已批准的熱門連結,該連結目前是「%{lowest_link_title}」,得分為 %{lowest_link_score}。' + title: 熱門連結 + new_trending_statuses: + no_approved_statuses: 這些是目前仍未被審核之熱門嘟文。 + requirements: '這些候選中的任何一個都可能超過 #%{rank} 已批准的熱門嘟文,該嘟文目前是 %{lowest_status_url},得分為 %{lowest_status_score}。' + title: 熱門嘟文 + new_trending_tags: + no_approved_tags: 這些是目前仍未被審核之熱門主題標籤。 + requirements: '這些候選中的任何一個都可能超過 #%{rank} 已批准的熱門主題標籤,該主題標籤目前是 #%{lowest_tag_name},得分為 %{lowest_tag_score}。' + title: 熱門主題標籤 + subject: "%{instance} 有待審核之新熱門" aliases: add_new: 建立別名 created_msg: 成功建立別名。您可以自舊帳戶開始轉移。 @@ -1164,6 +1184,9 @@ zh-TW: carry_mutes_over_text: 此使用者轉移自被您靜音的 %{acct}。 copy_account_note_text: 此使用者轉移自 %{acct},以下是您之前關於他們的備註: notification_mailer: + admin: + sign_up: + subject: "%{name} 已進行註冊" digest: action: 閱覽所有通知 body: 以下是自%{since}你最後一次登入以來錯過的訊息摘要 From 50ea54b3ed125477656893a67d9f552bb53e8ba5 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 1 Mar 2022 16:48:58 +0100 Subject: [PATCH 011/276] Change authorized applications page (#17656) * Change authorized applications page * Hide revoke button for superapps and suspended accounts * Clean up db/schema.rb --- app/controllers/api/base_controller.rb | 1 + .../concerns/access_token_tracking_concern.rb | 21 +++++ .../concerns/session_tracking_concern.rb | 4 +- .../concerns/user_tracking_concern.rb | 4 +- app/helpers/application_helper.rb | 15 ++++ app/javascript/styles/mastodon/admin.scss | 10 +++ .../styles/mastodon/containers.scss | 13 ++- app/javascript/styles/mastodon/forms.scss | 71 ++++++++++++++- app/lib/access_token_extension.rb | 4 + app/lib/application_extension.rb | 4 + app/lib/scope_parser.rb | 10 +++ app/lib/scope_transformer.rb | 40 +++++++++ app/views/layouts/modal.html.haml | 3 +- app/views/oauth/authorizations/new.html.haml | 50 +++++++---- .../authorized_applications/index.html.haml | 62 ++++++++----- app/workers/scheduler/ip_cleanup_scheduler.rb | 1 + config/locales/doorkeeper.en.yml | 43 +++++++-- ...add_last_used_at_to_oauth_access_tokens.rb | 6 ++ db/schema.rb | 4 +- spec/lib/scope_transformer_spec.rb | 89 +++++++++++++++++++ 20 files changed, 393 insertions(+), 62 deletions(-) create mode 100644 app/controllers/concerns/access_token_tracking_concern.rb create mode 100644 app/lib/scope_parser.rb create mode 100644 app/lib/scope_transformer.rb create mode 100644 db/migrate/20220227041951_add_last_used_at_to_oauth_access_tokens.rb create mode 100644 spec/lib/scope_transformer_spec.rb diff --git a/app/controllers/api/base_controller.rb b/app/controllers/api/base_controller.rb index b863d8643..72c30dec7 100644 --- a/app/controllers/api/base_controller.rb +++ b/app/controllers/api/base_controller.rb @@ -5,6 +5,7 @@ class Api::BaseController < ApplicationController DEFAULT_ACCOUNTS_LIMIT = 40 include RateLimitHeaders + include AccessTokenTrackingConcern skip_before_action :store_current_location skip_before_action :require_functional!, unless: :whitelist_mode? diff --git a/app/controllers/concerns/access_token_tracking_concern.rb b/app/controllers/concerns/access_token_tracking_concern.rb new file mode 100644 index 000000000..cf60cfb99 --- /dev/null +++ b/app/controllers/concerns/access_token_tracking_concern.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module AccessTokenTrackingConcern + extend ActiveSupport::Concern + + ACCESS_TOKEN_UPDATE_FREQUENCY = 24.hours.freeze + + included do + before_action :update_access_token_last_used + end + + private + + def update_access_token_last_used + doorkeeper_token.update_last_used(request) if access_token_needs_update? + end + + def access_token_needs_update? + doorkeeper_token.present? && (doorkeeper_token.last_used_at.nil? || doorkeeper_token.last_used_at < ACCESS_TOKEN_UPDATE_FREQUENCY.ago) + end +end diff --git a/app/controllers/concerns/session_tracking_concern.rb b/app/controllers/concerns/session_tracking_concern.rb index 45361b019..eaaa4ac59 100644 --- a/app/controllers/concerns/session_tracking_concern.rb +++ b/app/controllers/concerns/session_tracking_concern.rb @@ -3,7 +3,7 @@ module SessionTrackingConcern extend ActiveSupport::Concern - UPDATE_SIGN_IN_HOURS = 24 + SESSION_UPDATE_FREQUENCY = 24.hours.freeze included do before_action :set_session_activity @@ -17,6 +17,6 @@ module SessionTrackingConcern end def session_needs_update? - !current_session.nil? && current_session.updated_at < UPDATE_SIGN_IN_HOURS.hours.ago + !current_session.nil? && current_session.updated_at < SESSION_UPDATE_FREQUENCY.ago end end diff --git a/app/controllers/concerns/user_tracking_concern.rb b/app/controllers/concerns/user_tracking_concern.rb index 45f3aab0d..e960cce53 100644 --- a/app/controllers/concerns/user_tracking_concern.rb +++ b/app/controllers/concerns/user_tracking_concern.rb @@ -3,7 +3,7 @@ module UserTrackingConcern extend ActiveSupport::Concern - UPDATE_SIGN_IN_FREQUENCY = 24.hours.freeze + SIGN_IN_UPDATE_FREQUENCY = 24.hours.freeze included do before_action :update_user_sign_in @@ -16,6 +16,6 @@ module UserTrackingConcern end def user_needs_sign_in_update? - user_signed_in? && (current_user.current_sign_in_at.nil? || current_user.current_sign_in_at < UPDATE_SIGN_IN_FREQUENCY.ago) + user_signed_in? && (current_user.current_sign_in_at.nil? || current_user.current_sign_in_at < SIGN_IN_UPDATE_FREQUENCY.ago) end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 36c66b7d1..c5d9bbc19 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -224,4 +224,19 @@ module ApplicationHelper content_tag(:script, json_escape(json).html_safe, id: 'initial-state', type: 'application/json') # rubocop:enable Rails/OutputSafety end + + def grouped_scopes(scopes) + scope_parser = ScopeParser.new + scope_transformer = ScopeTransformer.new + + scopes.each_with_object({}) do |str, h| + scope = scope_transformer.apply(scope_parser.parse(str)) + + if h[scope.key] + h[scope.key].merge!(scope) + else + h[scope.key] = scope + end + end.values + end end diff --git a/app/javascript/styles/mastodon/admin.scss b/app/javascript/styles/mastodon/admin.scss index 2e212eca5..f49a354dc 100644 --- a/app/javascript/styles/mastodon/admin.scss +++ b/app/javascript/styles/mastodon/admin.scss @@ -907,6 +907,12 @@ a.name-tag, text-decoration: none; margin-bottom: 10px; + .account-role { + vertical-align: middle; + } + } + + a.announcements-list__item__title { &:hover, &:focus, &:active { @@ -925,6 +931,10 @@ a.name-tag, align-items: center; } + &__permissions { + margin-top: 10px; + } + &:last-child { border-bottom: 0; } diff --git a/app/javascript/styles/mastodon/containers.scss b/app/javascript/styles/mastodon/containers.scss index e40ad18ff..a180df437 100644 --- a/app/javascript/styles/mastodon/containers.scss +++ b/app/javascript/styles/mastodon/containers.scss @@ -1,7 +1,6 @@ .container-alt { width: 700px; margin: 0 auto; - margin-top: 40px; @media screen and (max-width: 740px) { width: 100%; @@ -67,22 +66,20 @@ line-height: 18px; box-sizing: border-box; padding: 20px 0; - padding-bottom: 0; - margin-bottom: -30px; margin-top: 40px; + margin-bottom: 10px; + border-bottom: 1px solid $ui-base-color; @media screen and (max-width: 440px) { width: 100%; margin: 0; - margin-bottom: 10px; padding: 20px; - padding-bottom: 0; } .avatar { width: 40px; height: 40px; - margin-right: 8px; + margin-right: 10px; img { width: 100%; @@ -96,7 +93,7 @@ .name { flex: 1 1 auto; color: $secondary-text-color; - width: calc(100% - 88px); + width: calc(100% - 90px); .username { display: block; @@ -110,7 +107,7 @@ display: block; font-size: 32px; line-height: 40px; - margin-left: 8px; + margin-left: 10px; } } diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss index 65f53471d..6e02e2332 100644 --- a/app/javascript/styles/mastodon/forms.scss +++ b/app/javascript/styles/mastodon/forms.scss @@ -800,9 +800,41 @@ code { } } } +} - @media screen and (max-width: 740px) and (min-width: 441px) { - margin-top: 40px; +.oauth-prompt { + h3 { + color: $ui-secondary-color; + font-size: 17px; + line-height: 22px; + font-weight: 500; + margin-bottom: 30px; + } + + p { + font-size: 14px; + line-height: 18px; + margin-bottom: 30px; + } + + .permissions-list { + border: 1px solid $ui-base-color; + border-radius: 4px; + background: darken($ui-base-color, 4%); + margin-bottom: 30px; + } + + .actions { + margin: 0 -10px; + display: flex; + + form { + box-sizing: border-box; + padding: 0 10px; + flex: 1 1 auto; + min-height: 1px; + width: 50%; + } } } @@ -1005,3 +1037,38 @@ code { display: none; } } + +.permissions-list { + &__item { + padding: 15px; + color: $ui-secondary-color; + border-bottom: 1px solid lighten($ui-base-color, 4%); + display: flex; + align-items: center; + + &__text { + flex: 1 1 auto; + + &__title { + font-weight: 500; + } + + &__type { + color: $darker-text-color; + } + } + + &__icon { + flex: 0 0 auto; + font-size: 18px; + width: 30px; + color: $valid-value-color; + display: flex; + align-items: center; + } + + &:last-child { + border-bottom: 0; + } + } +} diff --git a/app/lib/access_token_extension.rb b/app/lib/access_token_extension.rb index 3e184e775..2cafaaa20 100644 --- a/app/lib/access_token_extension.rb +++ b/app/lib/access_token_extension.rb @@ -11,6 +11,10 @@ module AccessTokenExtension update(revoked_at: clock.now.utc) end + def update_last_used(request, clock = Time) + update(last_used_at: clock.now.utc, last_used_ip: request.remote_ip) + end + def push_to_streaming_api Redis.current.publish("timeline:access_token:#{id}", Oj.dump(event: :kill)) if revoked? || destroyed? end diff --git a/app/lib/application_extension.rb b/app/lib/application_extension.rb index e61cd0721..a1fea6430 100644 --- a/app/lib/application_extension.rb +++ b/app/lib/application_extension.rb @@ -8,4 +8,8 @@ module ApplicationExtension validates :website, url: true, length: { maximum: 2_000 }, if: :website? validates :redirect_uri, length: { maximum: 2_000 } end + + def most_recently_used_access_token + @most_recently_used_access_token ||= access_tokens.where.not(last_used_at: nil).order(last_used_at: :desc).first + end end diff --git a/app/lib/scope_parser.rb b/app/lib/scope_parser.rb new file mode 100644 index 000000000..d268688c8 --- /dev/null +++ b/app/lib/scope_parser.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +class ScopeParser < Parslet::Parser + rule(:term) { match('[a-z]').repeat(1).as(:term) } + rule(:colon) { str(':') } + rule(:access) { (str('write') | str('read')).as(:access) } + rule(:namespace) { str('admin').as(:namespace) } + rule(:scope) { ((namespace >> colon).maybe >> ((access >> colon >> term) | access | term)).as(:scope) } + root(:scope) +end diff --git a/app/lib/scope_transformer.rb b/app/lib/scope_transformer.rb new file mode 100644 index 000000000..fdfc6cf13 --- /dev/null +++ b/app/lib/scope_transformer.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +class ScopeTransformer < Parslet::Transform + class Scope + DEFAULT_TERM = 'all' + DEFAULT_ACCESS = %w(read write).freeze + + attr_reader :namespace, :term + + def initialize(scope) + @namespace = scope[:namespace]&.to_s + @access = scope[:access] ? [scope[:access].to_s] : DEFAULT_ACCESS.dup + @term = scope[:term]&.to_s || DEFAULT_TERM + end + + def key + @key ||= [@namespace, @term].compact.join('/') + end + + def access + @access.join('/') + end + + def merge(other_scope) + clone.merge!(other_scope) + end + + def merge!(other_scope) + raise ArgumentError unless other_scope.namespace == namespace && other_scope.term == term + + @access.concat(other_scope.instance_variable_get('@access')) + @access.uniq! + @access.sort! + + self + end + end + + rule(scope: subtree(:scope)) { Scope.new(scope) } +end diff --git a/app/views/layouts/modal.html.haml b/app/views/layouts/modal.html.haml index a2cd1193f..c0ea211ff 100644 --- a/app/views/layouts/modal.html.haml +++ b/app/views/layouts/modal.html.haml @@ -12,8 +12,9 @@ = fa_icon 'sign-out' .container-alt= yield + .modal-layout__mastodon %div - %img{alt:'', draggable:'false', src:"#{mascot_url}"} + %img{alt: '', draggable: 'false', src: mascot_url } = render template: 'layouts/application' diff --git a/app/views/oauth/authorizations/new.html.haml b/app/views/oauth/authorizations/new.html.haml index 05ff9582e..50f671b26 100644 --- a/app/views/oauth/authorizations/new.html.haml +++ b/app/views/oauth/authorizations/new.html.haml @@ -1,26 +1,38 @@ - content_for :page_title do = t('doorkeeper.authorizations.new.title') -.form-container +.form-container.simple_form .oauth-prompt - %h2= t('doorkeeper.authorizations.new.prompt', client_name: @pre_auth.client.name) + %h3= t('doorkeeper.authorizations.new.title') - %p - = t('doorkeeper.authorizations.new.able_to') - != @pre_auth.scopes.map { |scope| t(scope, scope: [:doorkeeper, :scopes]) }.map { |s| "#{s}" }.to_sentence + %p= t('doorkeeper.authorizations.new.prompt_html', client_name: content_tag(:strong, @pre_auth.client.name)) - = form_tag oauth_authorization_path, method: :post, class: 'simple_form' do - = hidden_field_tag :client_id, @pre_auth.client.uid - = hidden_field_tag :redirect_uri, @pre_auth.redirect_uri - = hidden_field_tag :state, @pre_auth.state - = hidden_field_tag :response_type, @pre_auth.response_type - = hidden_field_tag :scope, @pre_auth.scope - = button_tag t('doorkeeper.authorizations.buttons.authorize'), type: :submit + %h3= t('doorkeeper.authorizations.new.review_permissions') - = form_tag oauth_authorization_path, method: :delete, class: 'simple_form' do - = hidden_field_tag :client_id, @pre_auth.client.uid - = hidden_field_tag :redirect_uri, @pre_auth.redirect_uri - = hidden_field_tag :state, @pre_auth.state - = hidden_field_tag :response_type, @pre_auth.response_type - = hidden_field_tag :scope, @pre_auth.scope - = button_tag t('doorkeeper.authorizations.buttons.deny'), type: :submit, class: 'negative' + %ul.permissions-list + - grouped_scopes(@pre_auth.scopes).each do |scope| + %li.permissions-list__item + .permissions-list__item__icon + = fa_icon('check') + .permissions-list__item__text + .permissions-list__item__text__title + = t(scope.key, scope: [:doorkeeper, :grouped_scopes, :title]) + .permissions-list__item__text__type + = t(scope.access, scope: [:doorkeeper, :grouped_scopes, :access]) + + .actions + = form_tag oauth_authorization_path, method: :post do + = hidden_field_tag :client_id, @pre_auth.client.uid + = hidden_field_tag :redirect_uri, @pre_auth.redirect_uri + = hidden_field_tag :state, @pre_auth.state + = hidden_field_tag :response_type, @pre_auth.response_type + = hidden_field_tag :scope, @pre_auth.scope + = button_tag t('doorkeeper.authorizations.buttons.authorize'), type: :submit + + = form_tag oauth_authorization_path, method: :delete do + = hidden_field_tag :client_id, @pre_auth.client.uid + = hidden_field_tag :redirect_uri, @pre_auth.redirect_uri + = hidden_field_tag :state, @pre_auth.state + = hidden_field_tag :response_type, @pre_auth.response_type + = hidden_field_tag :scope, @pre_auth.scope + = button_tag t('doorkeeper.authorizations.buttons.deny'), type: :submit, class: 'negative' diff --git a/app/views/oauth/authorized_applications/index.html.haml b/app/views/oauth/authorized_applications/index.html.haml index fbb733db4..fead56f4a 100644 --- a/app/views/oauth/authorized_applications/index.html.haml +++ b/app/views/oauth/authorized_applications/index.html.haml @@ -1,24 +1,44 @@ - content_for :page_title do = t('doorkeeper.authorized_applications.index.title') -.table-wrapper - %table.table - %thead - %tr - %th= t('doorkeeper.authorized_applications.index.application') - %th= t('doorkeeper.authorized_applications.index.scopes') - %th= t('doorkeeper.authorized_applications.index.created_at') - %th - %tbody - - @applications.each do |application| - %tr - %td - - if application.website.blank? - = application.name - - else - = link_to application.name, application.website, target: '_blank', rel: 'noopener noreferrer' - %th!= application.scopes.map { |scope| t(scope, scope: [:doorkeeper, :scopes]) }.join(', ') - %td= l application.created_at - %td - - unless application.superapp? || current_account.suspended? - = table_link_to 'times', t('doorkeeper.authorized_applications.buttons.revoke'), oauth_authorized_application_path(application), method: :delete, data: { confirm: t('doorkeeper.authorized_applications.confirmations.revoke') } +%p= t('doorkeeper.authorized_applications.index.description_html') + +%hr.spacer/ + +.announcements-list + - @applications.each do |application| + .announcements-list__item + - if application.website.present? + = link_to application.name, application.website, target: '_blank', rel: 'noopener noreferrer', class: 'announcements-list__item__title' + - else + %strong.announcements-list__item__title + = application.name + - if application.superapp? + %span.account-role.moderator= t('doorkeeper.authorized_applications.index.superapp') + + .announcements-list__item__action-bar + .announcements-list__item__meta + - if application.most_recently_used_access_token + = t('doorkeeper.authorized_applications.index.last_used_at', date: l(application.most_recently_used_access_token.last_used_at.to_date)) + - else + = t('doorkeeper.authorized_applications.index.never_used') + + • + + = t('doorkeeper.authorized_applications.index.authorized_at', date: l(application.created_at.to_date)) + + - unless application.superapp? || current_account.suspended? + %div + = table_link_to 'times', t('doorkeeper.authorized_applications.buttons.revoke'), oauth_authorized_application_path(application), method: :delete, data: { confirm: t('doorkeeper.authorized_applications.confirmations.revoke') } + + .announcements-list__item__permissions + %ul.permissions-list + - grouped_scopes(application.scopes).each do |scope| + %li.permissions-list__item + .permissions-list__item__icon + = fa_icon('check') + .permissions-list__item__text + .permissions-list__item__text__title + = t(scope.key, scope: [:doorkeeper, :grouped_scopes, :title]) + .permissions-list__item__text__type + = t(scope.access, scope: [:doorkeeper, :grouped_scopes, :access]) diff --git a/app/workers/scheduler/ip_cleanup_scheduler.rb b/app/workers/scheduler/ip_cleanup_scheduler.rb index adc99c605..7afad2f58 100644 --- a/app/workers/scheduler/ip_cleanup_scheduler.rb +++ b/app/workers/scheduler/ip_cleanup_scheduler.rb @@ -18,6 +18,7 @@ class Scheduler::IpCleanupScheduler SessionActivation.where('updated_at < ?', IP_RETENTION_PERIOD.ago).in_batches.destroy_all User.where('current_sign_in_at < ?', IP_RETENTION_PERIOD.ago).in_batches.update_all(sign_up_ip: nil) LoginActivity.where('created_at < ?', IP_RETENTION_PERIOD.ago).in_batches.destroy_all + Doorkeeper::AccessToken.where('last_used_at < ?', IP_RETENTION_PERIOD.ago).in_batches.update_all(last_used_ip: nil) end def clean_expired_ip_blocks! diff --git a/config/locales/doorkeeper.en.yml b/config/locales/doorkeeper.en.yml index 8aa099284..5567724ae 100644 --- a/config/locales/doorkeeper.en.yml +++ b/config/locales/doorkeeper.en.yml @@ -60,8 +60,8 @@ en: error: title: An error has occurred new: - able_to: It will be able to - prompt: Application %{client_name} requests access to your account + prompt_html: "%{client_name} would like permission to access your account. It is a third-party application. If you do not trust it, then you should not authorize it." + review_permissions: Review permissions title: Authorization required show: title: Copy this authorization code and paste it to the application. @@ -71,10 +71,12 @@ en: confirmations: revoke: Are you sure? index: - application: Application - created_at: Authorized - date_format: "%Y-%m-%d %H:%M:%S" - scopes: Scopes + authorized_at: Authorized on %{date} + description_html: These are applications that can access your account using the API. If there are applications you do not recognize here, or an application is misbehaving, you can revoke its access. + last_used_at: Last used on %{date} + never_used: Never used + scopes: Permissions + superapp: Internal title: Your authorized applications errors: messages: @@ -110,6 +112,33 @@ en: authorized_applications: destroy: notice: Application revoked. + grouped_scopes: + access: + read: Read-only access + read/write: Read and write access + write: Write-only access + title: + accounts: Accounts + admin/accounts: Administration of accounts + admin/all: All administrative functions + admin/reports: Administration of reports + all: Everything + blocks: Blocks + bookmarks: Bookmarks + conversations: Conversations + crypto: End-to-end encryption + favourites: Favourites + filters: Filters + follow: Relationships + follows: Follows + lists: Lists + media: Media attachments + mutes: Mutes + notifications: Notifications + push: Push notifications + reports: Reports + search: Search + statuses: Posts layouts: admin: nav: @@ -124,6 +153,7 @@ en: admin:write: modify all data on the server admin:write:accounts: perform moderation actions on accounts admin:write:reports: perform moderation actions on reports + crypto: use end-to-end encryption follow: modify account relationships push: receive your push notifications read: read all your account's data @@ -143,6 +173,7 @@ en: write:accounts: modify your profile write:blocks: block accounts and domains write:bookmarks: bookmark posts + write:conversations: mute and delete conversations write:favourites: favourite posts write:filters: create filters write:follows: follow people diff --git a/db/migrate/20220227041951_add_last_used_at_to_oauth_access_tokens.rb b/db/migrate/20220227041951_add_last_used_at_to_oauth_access_tokens.rb new file mode 100644 index 000000000..6b46e60a8 --- /dev/null +++ b/db/migrate/20220227041951_add_last_used_at_to_oauth_access_tokens.rb @@ -0,0 +1,6 @@ +class AddLastUsedAtToOauthAccessTokens < ActiveRecord::Migration[6.1] + def change + add_column :oauth_access_tokens, :last_used_at, :datetime + add_column :oauth_access_tokens, :last_used_ip, :inet + end +end diff --git a/db/schema.rb b/db/schema.rb index e54de5b37..756e5e9ab 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2022_02_24_010024) do +ActiveRecord::Schema.define(version: 2022_02_27_041951) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -630,6 +630,8 @@ ActiveRecord::Schema.define(version: 2022_02_24_010024) do t.string "scopes" t.bigint "application_id" t.bigint "resource_owner_id" + t.datetime "last_used_at" + t.inet "last_used_ip" t.index ["refresh_token"], name: "index_oauth_access_tokens_on_refresh_token", unique: true t.index ["resource_owner_id"], name: "index_oauth_access_tokens_on_resource_owner_id" t.index ["token"], name: "index_oauth_access_tokens_on_token", unique: true diff --git a/spec/lib/scope_transformer_spec.rb b/spec/lib/scope_transformer_spec.rb new file mode 100644 index 000000000..e5a992144 --- /dev/null +++ b/spec/lib/scope_transformer_spec.rb @@ -0,0 +1,89 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe ScopeTransformer do + describe '#apply' do + subject { described_class.new.apply(ScopeParser.new.parse(input)) } + + shared_examples 'a scope' do |namespace, term, access| + it 'parses the term' do + expect(subject.term).to eq term + end + + it 'parses the namespace' do + expect(subject.namespace).to eq namespace + end + + it 'parses the access' do + expect(subject.access).to eq access + end + end + + context 'for scope "read"' do + let(:input) { 'read' } + + it_behaves_like 'a scope', nil, 'all', 'read' + end + + context 'for scope "write"' do + let(:input) { 'write' } + + it_behaves_like 'a scope', nil, 'all', 'write' + end + + context 'for scope "follow"' do + let(:input) { 'follow' } + + it_behaves_like 'a scope', nil, 'follow', 'read/write' + end + + context 'for scope "crypto"' do + let(:input) { 'crypto' } + + it_behaves_like 'a scope', nil, 'crypto', 'read/write' + end + + context 'for scope "push"' do + let(:input) { 'push' } + + it_behaves_like 'a scope', nil, 'push', 'read/write' + end + + context 'for scope "admin:read"' do + let(:input) { 'admin:read' } + + it_behaves_like 'a scope', 'admin', 'all', 'read' + end + + context 'for scope "admin:write"' do + let(:input) { 'admin:write' } + + it_behaves_like 'a scope', 'admin', 'all', 'write' + end + + context 'for scope "admin:read:accounts"' do + let(:input) { 'admin:read:accounts' } + + it_behaves_like 'a scope', 'admin', 'accounts', 'read' + end + + context 'for scope "admin:write:accounts"' do + let(:input) { 'admin:write:accounts' } + + it_behaves_like 'a scope', 'admin', 'accounts', 'write' + end + + context 'for scope "read:accounts"' do + let(:input) { 'read:accounts' } + + it_behaves_like 'a scope', nil, 'accounts', 'read' + end + + context 'for scope "write:accounts"' do + let(:input) { 'write:accounts' } + + it_behaves_like 'a scope', nil, 'accounts', 'write' + end + end +end From 14919fe11e9a1dd5cbf12969a2957d0d05bb0534 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 1 Mar 2022 19:37:47 +0100 Subject: [PATCH 012/276] Change old moderation strikes to be displayed in a separate page (#17566) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Change old moderation strikes to be displayed in a separate page Fixes #17552 This changes the moderation strikes displayed on `/auth/edit` to be those from the past 3 months, and make all moderation strikes targeting the current user available in `/disputes`. * Add short description of what the strikes page is for * Move link to list of strikes to “Account status” instead of navigation item * Normalize i18n file * Fix layout and styling of strikes link * Revert highlights_on regexp * Reintroduce account status summary - this way, “Account status” is never empty - account status is not necessarily bound to strikes, or recent strikes --- app/controllers/auth/registrations_controller.rb | 2 +- app/controllers/disputes/strikes_controller.rb | 6 +++++- app/models/account_warning.rb | 2 +- app/views/auth/registrations/_status.html.haml | 16 ++++++++++++++++ app/views/disputes/strikes/index.html.haml | 6 ++++++ config/locales/en.yml | 4 ++++ config/routes.rb | 2 +- 7 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 app/views/disputes/strikes/index.html.haml diff --git a/app/controllers/auth/registrations_controller.rb b/app/controllers/auth/registrations_controller.rb index 3b025838b..1c3adbd78 100644 --- a/app/controllers/auth/registrations_controller.rb +++ b/app/controllers/auth/registrations_controller.rb @@ -127,7 +127,7 @@ class Auth::RegistrationsController < Devise::RegistrationsController end def set_strikes - @strikes = current_account.strikes.active.latest + @strikes = current_account.strikes.recent.latest end def require_not_suspended! diff --git a/app/controllers/disputes/strikes_controller.rb b/app/controllers/disputes/strikes_controller.rb index d41c5c727..d85dcb4d5 100644 --- a/app/controllers/disputes/strikes_controller.rb +++ b/app/controllers/disputes/strikes_controller.rb @@ -1,7 +1,11 @@ # frozen_string_literal: true class Disputes::StrikesController < Disputes::BaseController - before_action :set_strike + before_action :set_strike, only: [:show] + + def index + @strikes = current_account.strikes.latest + end def show authorize @strike, :show? diff --git a/app/models/account_warning.rb b/app/models/account_warning.rb index 05d01942d..14d5ac388 100644 --- a/app/models/account_warning.rb +++ b/app/models/account_warning.rb @@ -33,7 +33,7 @@ class AccountWarning < ApplicationRecord scope :latest, -> { order(id: :desc) } scope :custom, -> { where.not(text: '') } - scope :active, -> { where(overruled_at: nil).or(where('account_warnings.overruled_at >= ?', 30.days.ago)) } + scope :recent, -> { where('account_warnings.created_at >= ?', 3.months.ago) } def statuses Status.with_discarded.where(id: status_ids || []) diff --git a/app/views/auth/registrations/_status.html.haml b/app/views/auth/registrations/_status.html.haml index 3546510b2..68954a5da 100644 --- a/app/views/auth/registrations/_status.html.haml +++ b/app/views/auth/registrations/_status.html.haml @@ -12,6 +12,22 @@ %h3= t('auth.status.account_status') +%p.hint + - if @user.account.suspended? + %span.negative-hint= t('user_mailer.warning.explanation.suspend') + - elsif @user.disabled? + %span.negative-hint= t('user_mailer.warning.explanation.disable') + - elsif @user.account.silenced? + %span.warning-hint= t('user_mailer.warning.explanation.silence') + - else + %span.positive-hint= t('auth.status.functional') + = render partial: 'account_warning', collection: @strikes +- if @user.account.strikes.exists? + %hr.spacer/ + + %p.muted-hint + = link_to t('auth.status.view_strikes'), disputes_strikes_path + %hr.spacer/ diff --git a/app/views/disputes/strikes/index.html.haml b/app/views/disputes/strikes/index.html.haml new file mode 100644 index 000000000..6789fa405 --- /dev/null +++ b/app/views/disputes/strikes/index.html.haml @@ -0,0 +1,6 @@ +- content_for :page_title do + = t('settings.strikes') + +%p= t('disputes.strikes.description_html', instance: Rails.configuration.x.local_domain) + += render partial: 'auth/registrations/account_warning', collection: @strikes diff --git a/config/locales/en.yml b/config/locales/en.yml index 536d1dbf6..a68d87d10 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -933,8 +933,10 @@ en: status: account_status: Account status confirming: Waiting for e-mail confirmation to be completed. + functional: Your account is fully operational. pending: Your application is pending review by our staff. This may take some time. You will receive an e-mail if your application is approved. redirecting_to: Your account is inactive because it is currently redirecting to %{acct}. + view_strikes: View past strikes against your account too_fast: Form submitted too fast, try again. trouble_logging_in: Trouble logging in? use_security_key: Use security key @@ -1010,6 +1012,7 @@ en: submit: Submit appeal associated_report: Associated report created_at: Dated + description_html: These are actions taken against your account and warnings that have been sent to you by the staff of %{instance}. recipient: Addressed to status: 'Post #%{id}' status_removed: Post already removed from system @@ -1391,6 +1394,7 @@ en: profile: Profile relationships: Follows and followers statuses_cleanup: Automated post deletion + strikes: Moderation strikes two_factor_authentication: Two-factor Auth webauthn_authentication: Security keys statuses: diff --git a/config/routes.rb b/config/routes.rb index a820f32ad..25eb1558f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -165,7 +165,7 @@ Rails.application.routes.draw do end namespace :disputes do - resources :strikes, only: [:show] do + resources :strikes, only: [:show, :index] do resource :appeal, only: [:create] end end From 25d3dc4373531071f444d8e44e44cd21970cb373 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 1 Mar 2022 22:20:29 +0100 Subject: [PATCH 013/276] Add ability to mark statuses as sensitive from reports in admin UI (#17668) * Add ability to mark statuses as sensitive from reports in admin UI * Allow mark as sensitive action on statuses with preview cards --- .../admin/reports/actions_controller.rb | 4 ++- app/javascript/styles/mastodon/admin.scss | 2 ++ app/models/account_warning.rb | 13 +++---- app/models/admin/status_batch_action.rb | 34 +++++++++++++++++++ app/models/status.rb | 4 +++ app/services/approve_appeal_service.rb | 8 +++++ app/services/update_status_service.rb | 10 +++--- app/views/admin/reports/_actions.html.haml | 6 ++++ config/locales/en.yml | 16 ++++++--- 9 files changed, 81 insertions(+), 16 deletions(-) diff --git a/app/controllers/admin/reports/actions_controller.rb b/app/controllers/admin/reports/actions_controller.rb index 05a4fb63d..5cb5c744f 100644 --- a/app/controllers/admin/reports/actions_controller.rb +++ b/app/controllers/admin/reports/actions_controller.rb @@ -7,7 +7,7 @@ class Admin::Reports::ActionsController < Admin::BaseController authorize @report, :show? case action_from_button - when 'delete' + when 'delete', 'mark_as_sensitive' status_batch_action = Admin::StatusBatchAction.new( type: action_from_button, status_ids: @report.status_ids, @@ -41,6 +41,8 @@ class Admin::Reports::ActionsController < Admin::BaseController def action_from_button if params[:delete] 'delete' + elsif params[:mark_as_sensitive] + 'mark_as_sensitive' elsif params[:silence] 'silence' elsif params[:suspend] diff --git a/app/javascript/styles/mastodon/admin.scss b/app/javascript/styles/mastodon/admin.scss index f49a354dc..52bc2086a 100644 --- a/app/javascript/styles/mastodon/admin.scss +++ b/app/javascript/styles/mastodon/admin.scss @@ -1504,6 +1504,8 @@ a.sparkline { word-wrap: break-word; font-weight: 400; color: $primary-text-color; + box-sizing: border-box; + min-height: 100%; p { margin-bottom: 20px; diff --git a/app/models/account_warning.rb b/app/models/account_warning.rb index 14d5ac388..6067b54b7 100644 --- a/app/models/account_warning.rb +++ b/app/models/account_warning.rb @@ -17,12 +17,13 @@ class AccountWarning < ApplicationRecord enum action: { - none: 0, - disable: 1_000, - delete_statuses: 1_500, - sensitive: 2_000, - silence: 3_000, - suspend: 4_000, + none: 0, + disable: 1_000, + mark_statuses_as_sensitive: 1_250, + delete_statuses: 1_500, + sensitive: 2_000, + silence: 3_000, + suspend: 4_000, }, _suffix: :action belongs_to :account, inverse_of: :account_warnings diff --git a/app/models/admin/status_batch_action.rb b/app/models/admin/status_batch_action.rb index 40f60f379..4d91b9805 100644 --- a/app/models/admin/status_batch_action.rb +++ b/app/models/admin/status_batch_action.rb @@ -30,6 +30,8 @@ class Admin::StatusBatchAction case type when 'delete' handle_delete! + when 'mark_as_sensitive' + handle_mark_as_sensitive! when 'report' handle_report! when 'remove_from_report' @@ -65,6 +67,38 @@ class Admin::StatusBatchAction RemovalWorker.push_bulk(status_ids) { |status_id| [status_id, { 'preserve' => target_account.local?, 'immediate' => !target_account.local? }] } end + def handle_mark_as_sensitive! + # Can't use a transaction here because UpdateStatusService queues + # Sidekiq jobs + statuses.includes(:media_attachments, :preview_cards).find_each do |status| + next unless status.with_media? || status.with_preview_card? + + authorize(status, :update?) + + if target_account.local? + UpdateStatusService.new.call(status, current_account.id, sensitive: true) + else + status.update(sensitive: true) + end + + log_action(:update, status) + + if with_report? + report.resolve!(current_account) + log_action(:resolve, report) + end + + @warning = target_account.strikes.create!( + action: :mark_statuses_as_sensitive, + account: current_account, + report: report, + status_ids: status_ids + ) + end + + UserMailer.warning(target_account.user, @warning).deliver_later! if warnable? + end + def handle_report! @report = Report.new(report_params) unless with_report? @report.status_ids = (@report.status_ids + status_ids.map(&:to_i)).uniq diff --git a/app/models/status.rb b/app/models/status.rb index adb92ef91..60dde5045 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -231,6 +231,10 @@ class Status < ApplicationRecord media_attachments.any? end + def with_preview_card? + preview_cards.any? + end + def non_sensitive_with_media? !sensitive? && with_media? end diff --git a/app/services/approve_appeal_service.rb b/app/services/approve_appeal_service.rb index f76bf8943..37a08b46e 100644 --- a/app/services/approve_appeal_service.rb +++ b/app/services/approve_appeal_service.rb @@ -27,6 +27,8 @@ class ApproveAppealService < BaseService undo_disable! when 'delete_statuses' undo_delete_statuses! + when 'mark_statuses_as_sensitive' + undo_mark_statuses_as_sensitive! when 'sensitive' undo_sensitive! when 'silence' @@ -49,6 +51,12 @@ class ApproveAppealService < BaseService # Cannot be undone end + def undo_mark_statuses_as_sensitive! + @strike.statuses.includes(:media_attachments).each do |status| + UpdateStatusService.new.call(status, @current_account.id, sensitive: false) if status.with_media? + end + end + def undo_sensitive! target_account.unsensitize! end diff --git a/app/services/update_status_service.rb b/app/services/update_status_service.rb index 238ef0755..93203bc49 100644 --- a/app/services/update_status_service.rb +++ b/app/services/update_status_service.rb @@ -22,8 +22,8 @@ class UpdateStatusService < BaseService Status.transaction do create_previous_edit! - update_media_attachments! - update_poll! + update_media_attachments! if @options.key?(:media_ids) + update_poll! if @options.key?(:poll) update_immediate_attributes! create_edit! end @@ -91,9 +91,9 @@ class UpdateStatusService < BaseService end def update_immediate_attributes! - @status.text = @options[:text].presence || @options.delete(:spoiler_text) || '' - @status.spoiler_text = @options[:spoiler_text] || '' - @status.sensitive = @options[:sensitive] || @options[:spoiler_text].present? + @status.text = @options[:text].presence || @options.delete(:spoiler_text) || '' if @options.key?(:text) + @status.spoiler_text = @options[:spoiler_text] || '' if @options.key?(:spoiler_text) + @status.sensitive = @options[:sensitive] || @options[:spoiler_text].present? if @options.key?(:sensitive) || @options.key?(:spoiler_text) @status.language = valid_locale_or_nil(@options[:language] || @status.language || @status.account.user&.preferred_posting_language || I18n.default_locale) @status.edited_at = Time.now.utc diff --git a/app/views/admin/reports/_actions.html.haml b/app/views/admin/reports/_actions.html.haml index f3162b325..404d53a77 100644 --- a/app/views/admin/reports/_actions.html.haml +++ b/app/views/admin/reports/_actions.html.haml @@ -5,6 +5,12 @@ = link_to t('admin.reports.mark_as_resolved'), resolve_admin_report_path(@report), method: :post, class: 'button' .report-actions__item__description = t('admin.reports.actions.resolve_description_html') + - if @statuses.any? { |status| status.with_media? || status.with_preview_card? } + .report-actions__item + .report-actions__item__button + = button_tag t('admin.reports.mark_as_sensitive'), name: :mark_as_sensitive, class: 'button' + .report-actions__item__description + = t('admin.reports.actions.mark_as_sensitive_description_html') .report-actions__item .report-actions__item__button = button_tag t('admin.reports.delete_and_resolve'), name: :delete, class: 'button button--destructive' diff --git a/config/locales/en.yml b/config/locales/en.yml index a68d87d10..35c2aa4bb 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -586,6 +586,7 @@ en: action_taken_by: Action taken by actions: delete_description_html: The reported posts will be deleted and a strike will be recorded to help you escalate on future infractions by the same account. + mark_as_sensitive_description_html: The media in the reported posts will be marked as sensitive and a strike will be recorded to help you escalate on future refractions by the same account. other_description_html: See more options for controlling the account's behaviour and customize communication to the reported account. resolve_description_html: No action will be taken against the reported account, no strike recorded, and the report will be closed. silence_description_html: The profile will be visible only to those who already follow it or manually look it up, severely limiting its reach. Can always be reverted. @@ -606,6 +607,7 @@ en: forwarded: Forwarded forwarded_to: Forwarded to %{domain} mark_as_resolved: Mark as resolved + mark_as_sensitive: Mark as sensitive mark_as_unresolved: Mark as unresolved no_one_assigned: No one notes: @@ -749,6 +751,7 @@ en: actions: delete_statuses: "%{name} deleted %{target}'s posts" disable: "%{name} froze %{target}'s account" + mark_statuses_as_sensitive: "%{name} marked %{target}'s posts as sensitive" none: "%{name} sent a warning to %{target}" sensitive: "%{name} marked %{target}'s account as sensitive" silence: "%{name} limited %{target}'s account" @@ -831,6 +834,7 @@ en: actions: delete_statuses: to delete their posts disable: to freeze their account + mark_statuses_as_sensitive: to mark their posts as sensitive none: a warning sensitive: to mark their account as sensitive silence: to limit their account @@ -1020,8 +1024,9 @@ en: title_actions: delete_statuses: Post removal disable: Freezing of account + mark_statuses_as_sensitive: Marking of posts as sensitive none: Warning - sensitive: Marking as sensitive of account + sensitive: Marking of account as sensitive silence: Limitation of account suspend: Suspension of account your_appeal_approved: Your appeal has been approved @@ -1623,24 +1628,27 @@ en: explanation: delete_statuses: Some of your posts have been found to violate one or more community guidelines and have been subsequently removed by the moderators of %{instance}. Future violations may result in harsher punitive actions against your account. disable: You can no longer use your account, but your profile and other data remains intact. You can request a backup of your data, change account settings or delete your account. + mark_statuses_as_sensitive: Some of your posts have been marked as sensitive by the moderators of %{instance}. This means that people will need to tap the media in the posts before a preview is displayed. You can mark media as sensitive yourself when posting in the future. sensitive: From now on, all your uploaded media files will be marked as sensitive and hidden behind a click-through warning. silence: You can still use your account but only people who are already following you will see your posts on this server, and you may be excluded from various discovery features. However, others may still manually follow you. suspend: You can no longer use your account, and your profile and other data are no longer accessible. You can still login to request a backup of your data until the data is fully removed in about 30 days, but we will retain some basic data to prevent you from evading the suspension. get_in_touch: If you believe this is an error, you can reply to this e-mail to get in touch with the staff of %{instance}. reason: 'Reason:' - statuses: 'Posts that have been found in violation:' + statuses: 'Posts cited:' subject: delete_statuses: Your posts on %{acct} have been removed disable: Your account %{acct} has been frozen + mark_statuses_as_sensitive: Your posts on %{acct} have been marked as sensitive none: Warning for %{acct} - sensitive: Your media files on %{acct} will be marked as sensitive from now on + sensitive: Your posts on %{acct} will be marked as sensitive from now on silence: Your account %{acct} has been limited suspend: Your account %{acct} has been suspended title: delete_statuses: Posts removed disable: Account frozen + mark_statuses_as_sensitive: Posts marked as sensitive none: Warning - sensitive: Media hidden + sensitive: Account marked as sensitive silence: Account limited suspend: Account suspended welcome: From 462a6f7d721fa0717c5627fd0f0d73ee9ec5a675 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 1 Mar 2022 23:07:57 +0100 Subject: [PATCH 014/276] Fix notification about deleted statuses being too threatening (#17679) --- config/locales/en.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/en.yml b/config/locales/en.yml index 35c2aa4bb..5ce43be1a 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1626,7 +1626,7 @@ en: spam: Spam violation: Content violates the following community guidelines explanation: - delete_statuses: Some of your posts have been found to violate one or more community guidelines and have been subsequently removed by the moderators of %{instance}. Future violations may result in harsher punitive actions against your account. + delete_statuses: Some of your posts have been found to violate one or more community guidelines and have been subsequently removed by the moderators of %{instance}. disable: You can no longer use your account, but your profile and other data remains intact. You can request a backup of your data, change account settings or delete your account. mark_statuses_as_sensitive: Some of your posts have been marked as sensitive by the moderators of %{instance}. This means that people will need to tap the media in the posts before a preview is displayed. You can mark media as sensitive yourself when posting in the future. sensitive: From now on, all your uploaded media files will be marked as sensitive and hidden behind a click-through warning. From 02b8d63fcef2d30e2514111ec89308a9435dd2ed Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 2 Mar 2022 18:57:08 +0100 Subject: [PATCH 015/276] Fix report category not being saved in REST API (#17682) --- app/controllers/api/v1/reports_controller.rb | 12 +---- app/services/report_service.rb | 14 +++-- .../api/v1/reports_controller_spec.rb | 54 ++++++++++++++++--- spec/fabricators/rule_fabricator.rb | 8 +-- 4 files changed, 62 insertions(+), 26 deletions(-) diff --git a/app/controllers/api/v1/reports_controller.rb b/app/controllers/api/v1/reports_controller.rb index 052d70cc8..8ff6c8fe5 100644 --- a/app/controllers/api/v1/reports_controller.rb +++ b/app/controllers/api/v1/reports_controller.rb @@ -10,9 +10,7 @@ class Api::V1::ReportsController < Api::BaseController @report = ReportService.new.call( current_account, reported_account, - status_ids: reported_status_ids, - comment: report_params[:comment], - forward: report_params[:forward] + report_params ) render json: @report, serializer: REST::ReportSerializer @@ -20,14 +18,6 @@ class Api::V1::ReportsController < Api::BaseController private - def reported_status_ids - reported_account.statuses.with_discarded.find(status_ids).pluck(:id) - end - - def status_ids - Array(report_params[:status_ids]) - end - def reported_account Account.find(report_params[:account_id]) end diff --git a/app/services/report_service.rb b/app/services/report_service.rb index caf99ab6e..9d784c341 100644 --- a/app/services/report_service.rb +++ b/app/services/report_service.rb @@ -6,10 +6,10 @@ class ReportService < BaseService def call(source_account, target_account, options = {}) @source_account = source_account @target_account = target_account - @status_ids = options.delete(:status_ids) || [] - @comment = options.delete(:comment) || '' - @category = options.delete(:category) || 'other' - @rule_ids = options.delete(:rule_ids) + @status_ids = options.delete(:status_ids).presence || [] + @comment = options.delete(:comment).presence || '' + @category = options.delete(:category).presence || 'other' + @rule_ids = options.delete(:rule_ids).presence @options = options raise ActiveRecord::RecordNotFound if @target_account.suspended? @@ -26,7 +26,7 @@ class ReportService < BaseService def create_report! @report = @source_account.reports.create!( target_account: @target_account, - status_ids: @status_ids, + status_ids: reported_status_ids, comment: @comment, uri: @options[:uri], forwarded: forward?, @@ -56,6 +56,10 @@ class ReportService < BaseService !@target_account.local? && ActiveModel::Type::Boolean.new.cast(@options[:forward]) end + def reported_status_ids + @target_account.statuses.with_discarded.find(Array(@status_ids)).pluck(:id) + end + def payload Oj.dump(serialize_payload(@report, ActivityPub::FlagSerializer, account: some_local_account)) end diff --git a/spec/controllers/api/v1/reports_controller_spec.rb b/spec/controllers/api/v1/reports_controller_spec.rb index a13de1370..b5baf60e1 100644 --- a/spec/controllers/api/v1/reports_controller_spec.rb +++ b/spec/controllers/api/v1/reports_controller_spec.rb @@ -13,22 +13,64 @@ RSpec.describe Api::V1::ReportsController, type: :controller do end describe 'POST #create' do - let(:scopes) { 'write:reports' } - let!(:status) { Fabricate(:status) } - let!(:admin) { Fabricate(:user, admin: true) } + let!(:admin) { Fabricate(:user, admin: true) } + + let(:scopes) { 'write:reports' } + let(:status) { Fabricate(:status) } + let(:target_account) { status.account } + let(:category) { nil } + let(:forward) { nil } + let(:rule_ids){ nil } before do allow(AdminMailer).to receive(:new_report).and_return(double('email', deliver_later: nil)) - post :create, params: { status_ids: [status.id], account_id: status.account.id, comment: 'reasons' } + post :create, params: { status_ids: [status.id], account_id: target_account.id, comment: 'reasons', category: category, rule_ids: rule_ids, forward: forward } + end + + it 'returns http success' do + expect(response).to have_http_status(200) end it 'creates a report' do - expect(status.reload.account.targeted_reports).not_to be_empty - expect(response).to have_http_status(200) + expect(target_account.targeted_reports).to_not be_empty + end + + it 'saves comment' do + expect(target_account.targeted_reports.first.comment).to eq 'reasons' end it 'sends e-mails to admins' do expect(AdminMailer).to have_received(:new_report).with(admin.account, Report) end + + context 'when a status does not belong to the reported account' do + let(:target_account) { Fabricate(:account) } + + it 'returns http not found' do + expect(response).to have_http_status(404) + end + end + + context 'when a category is chosen' do + let(:category) { 'spam' } + + it 'saves category' do + expect(target_account.targeted_reports.first.spam?).to be true + end + end + + context 'when violated rules are chosen' do + let(:rule) { Fabricate(:rule) } + let(:category) { 'violation' } + let(:rule_ids) { [rule.id] } + + it 'saves category' do + expect(target_account.targeted_reports.first.violation?).to be true + end + + it 'saves rule_ids' do + expect(target_account.targeted_reports.first.rule_ids).to match_array([rule.id]) + end + end end end diff --git a/spec/fabricators/rule_fabricator.rb b/spec/fabricators/rule_fabricator.rb index 4bdfd05e0..bc29bc48e 100644 --- a/spec/fabricators/rule_fabricator.rb +++ b/spec/fabricators/rule_fabricator.rb @@ -1,5 +1,5 @@ Fabricator(:rule) do - priority "" - deleted_at "2021-02-21 05:51:09" - text "MyText" -end \ No newline at end of file + priority 0 + deleted_at nil + text { Faker::Lorem.paragraph } +end From e24b14cc74034585b29ca92bbb9623df32328bf3 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 2 Mar 2022 18:57:26 +0100 Subject: [PATCH 016/276] Fix leak of existence of otherwise inaccessible statuses in REST API (#17684) --- app/controllers/api/v1/statuses_controller.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/controllers/api/v1/statuses_controller.rb b/app/controllers/api/v1/statuses_controller.rb index 2d82a7a99..f48aeb945 100644 --- a/app/controllers/api/v1/statuses_controller.rb +++ b/app/controllers/api/v1/statuses_controller.rb @@ -92,8 +92,9 @@ class Api::V1::StatusesController < Api::BaseController end def set_thread - @thread = status_params[:in_reply_to_id].blank? ? nil : Status.find(status_params[:in_reply_to_id]) - rescue ActiveRecord::RecordNotFound + @thread = Status.find(status_params[:in_reply_to_id]) if status_params[:in_reply_to_id].present? + authorize(@thread, :show?) if @thread.present? + rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError render json: { error: I18n.t('statuses.errors.in_reply_not_found') }, status: 404 end From 9b58fb1ea4036daca945cb524e674446adb9ac42 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 2 Mar 2022 18:57:44 +0100 Subject: [PATCH 017/276] Add descriptions to trending features in admin UI (#17677) --- app/views/admin/trends/links/index.html.haml | 4 ++++ .../trends/links/preview_card_providers/index.html.haml | 5 ++++- app/views/admin/trends/statuses/_status.html.haml | 3 +++ app/views/admin/trends/statuses/index.html.haml | 4 ++++ app/views/admin/trends/tags/index.html.haml | 4 ++++ config/locales/en.yml | 5 +++++ 6 files changed, 24 insertions(+), 1 deletion(-) diff --git a/app/views/admin/trends/links/index.html.haml b/app/views/admin/trends/links/index.html.haml index 79f3513d3..49a53d979 100644 --- a/app/views/admin/trends/links/index.html.haml +++ b/app/views/admin/trends/links/index.html.haml @@ -4,6 +4,10 @@ - content_for :header_tags do = javascript_pack_tag 'admin', async: true, crossorigin: 'anonymous' +%p= t('admin.trends.links.description_html') + +%hr.spacer/ + = form_tag admin_trends_links_path, method: 'GET', class: 'simple_form' do - Trends::PreviewCardFilter::KEYS.each do |key| = hidden_field_tag key, params[key] if params[key].present? diff --git a/app/views/admin/trends/links/preview_card_providers/index.html.haml b/app/views/admin/trends/links/preview_card_providers/index.html.haml index b79349947..c3648c35e 100644 --- a/app/views/admin/trends/links/preview_card_providers/index.html.haml +++ b/app/views/admin/trends/links/preview_card_providers/index.html.haml @@ -4,6 +4,10 @@ - content_for :header_tags do = javascript_pack_tag 'admin', async: true, crossorigin: 'anonymous' +%p= t('admin.trends.preview_card_providers.description_html') + +%hr.spacer/ + .filters .filter-subset %strong= t('admin.tags.review') @@ -17,7 +21,6 @@ = fa_icon 'chevron-left fw' = t('admin.trends.links.title') - %hr.spacer/ = form_for(@form, url: batch_admin_trends_links_preview_card_providers_path) do |f| diff --git a/app/views/admin/trends/statuses/_status.html.haml b/app/views/admin/trends/statuses/_status.html.haml index c99ee5d60..edb27b9ff 100644 --- a/app/views/admin/trends/statuses/_status.html.haml +++ b/app/views/admin/trends/statuses/_status.html.haml @@ -22,6 +22,9 @@ - if status.language.present? • = standard_locale_name(status.language) + - if status.trendable? && !status.account.discoverable? + • + = t('admin.trends.statuses.not_discoverable') - if status.trendable? && (rank = Trends.statuses.rank(status.id)) • %abbr{ title: t('admin.trends.tags.current_score', score: Trends.statuses.score(status.id)) }= t('admin.trends.tags.trending_rank', rank: rank + 1) diff --git a/app/views/admin/trends/statuses/index.html.haml b/app/views/admin/trends/statuses/index.html.haml index 347688262..b0059b20d 100644 --- a/app/views/admin/trends/statuses/index.html.haml +++ b/app/views/admin/trends/statuses/index.html.haml @@ -4,6 +4,10 @@ - content_for :header_tags do = javascript_pack_tag 'admin', async: true, crossorigin: 'anonymous' +%p= t('admin.trends.statuses.description_html') + +%hr.spacer/ + = form_tag admin_trends_statuses_path, method: 'GET', class: 'simple_form' do - Trends::StatusFilter::KEYS.each do |key| = hidden_field_tag key, params[key] if params[key].present? diff --git a/app/views/admin/trends/tags/index.html.haml b/app/views/admin/trends/tags/index.html.haml index 8a2f785bc..bde32a295 100644 --- a/app/views/admin/trends/tags/index.html.haml +++ b/app/views/admin/trends/tags/index.html.haml @@ -4,6 +4,10 @@ - content_for :header_tags do = javascript_pack_tag 'admin', async: true, crossorigin: 'anonymous' +%p= t('admin.trends.tags.description_html') + +%hr.spacer/ + .filters .filter-subset %strong= t('admin.tags.review') diff --git a/config/locales/en.yml b/config/locales/en.yml index 5ce43be1a..6a5594185 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -777,6 +777,7 @@ en: links: allow: Allow link allow_provider: Allow publisher + description_html: These are links that are currently being shared a lot by accounts that your server sees posts from. It can help your users find out what's going on in the world. No links are displayed publicly until you approve the publisher. You can also allow or reject individual links. disallow: Disallow link disallow_provider: Disallow publisher shared_by_over_week: @@ -788,14 +789,17 @@ en: pending_review: Pending review preview_card_providers: allowed: Links from this publisher can trend + description_html: These are domains from which links are often shared on your server. Links will not trend publicly unless the domain of the link is approved. Your approval (or rejection) extends to subdomains. rejected: Links from this publisher won't trend title: Publishers rejected: Rejected statuses: allow: Allow post allow_account: Allow author + description_html: These are posts that your server knows about that are currently being shared and favourited a lot at the moment. It can help your new and returning users to find more people to follow. No posts are displayed publicly until you approve the author, and the author allows their account to be suggested to others. You can also allow or reject individual posts. disallow: Disallow post disallow_account: Disallow author + not_discoverable: Author has not opted-in to being discoverable shared_by: one: Shared or favourited one time other: Shared and favourited %{friendly_count} times @@ -808,6 +812,7 @@ en: tag_servers_dimension: Top servers tag_servers_measure: different servers tag_uses_measure: total uses + description_html: These are hashtags that are currently appearing in a lot of posts that your server sees. It can help your users find out what people are talking the most about at the moment. No hashtags are displayed publicly until you approve them. listable: Can be suggested not_listable: Won't be suggested not_trendable: Won't appear under trends From c0c4b5718d8827fc59d5564c227e848547a2cb69 Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 2 Mar 2022 20:28:25 +0100 Subject: [PATCH 018/276] Change visual separation of applications in authorized apps list (#17686) --- app/javascript/styles/mastodon/admin.scss | 8 ++++++++ app/javascript/styles/mastodon/forms.scss | 1 + app/views/oauth/authorized_applications/index.html.haml | 4 ++-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/javascript/styles/mastodon/admin.scss b/app/javascript/styles/mastodon/admin.scss index 52bc2086a..06ec4d37b 100644 --- a/app/javascript/styles/mastodon/admin.scss +++ b/app/javascript/styles/mastodon/admin.scss @@ -888,6 +888,14 @@ a.name-tag, text-align: center; } +.applications-list__item { + padding: 15px 0; + background: $ui-base-color; + border: 1px solid lighten($ui-base-color, 4%); + border-radius: 4px; + margin-top: 15px; +} + .announcements-list { border: 1px solid lighten($ui-base-color, 4%); border-radius: 4px; diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss index 6e02e2332..90d56b075 100644 --- a/app/javascript/styles/mastodon/forms.scss +++ b/app/javascript/styles/mastodon/forms.scss @@ -1069,6 +1069,7 @@ code { &:last-child { border-bottom: 0; + padding-bottom: 0; } } } diff --git a/app/views/oauth/authorized_applications/index.html.haml b/app/views/oauth/authorized_applications/index.html.haml index fead56f4a..0280d8aef 100644 --- a/app/views/oauth/authorized_applications/index.html.haml +++ b/app/views/oauth/authorized_applications/index.html.haml @@ -5,9 +5,9 @@ %hr.spacer/ -.announcements-list +.applications-list - @applications.each do |application| - .announcements-list__item + .applications-list__item - if application.website.present? = link_to application.name, application.website, target: '_blank', rel: 'noopener noreferrer', class: 'announcements-list__item__title' - else From 54d4ece7432a34a2ba24617851f04801e5a389d8 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 3 Mar 2022 06:45:30 +0100 Subject: [PATCH 019/276] Remove profile directory link from main navigation panel (#17688) --- .../mastodon/features/getting_started/index.js | 17 +---------------- .../features/ui/components/link_footer.js | 3 ++- .../features/ui/components/navigation_panel.js | 3 +-- 3 files changed, 4 insertions(+), 19 deletions(-) diff --git a/app/javascript/mastodon/features/getting_started/index.js b/app/javascript/mastodon/features/getting_started/index.js index 5508adb80..07572c530 100644 --- a/app/javascript/mastodon/features/getting_started/index.js +++ b/app/javascript/mastodon/features/getting_started/index.js @@ -7,7 +7,7 @@ import { connect } from 'react-redux'; import PropTypes from 'prop-types'; import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePureComponent from 'react-immutable-pure-component'; -import { me, profile_directory, showTrends } from '../../initial_state'; +import { me, showTrends } from '../../initial_state'; import { fetchFollowRequests } from 'mastodon/actions/accounts'; import { List as ImmutableList } from 'immutable'; import NavigationContainer from '../compose/containers/navigation_container'; @@ -35,7 +35,6 @@ const messages = defineMessages({ personal: { id: 'navigation_bar.personal', defaultMessage: 'Personal' }, security: { id: 'navigation_bar.security', defaultMessage: 'Security' }, menu: { id: 'getting_started.heading', defaultMessage: 'Getting started' }, - profile_directory: { id: 'getting_started.directory', defaultMessage: 'Profile directory' }, }); const mapStateToProps = state => ({ @@ -104,25 +103,11 @@ class GettingStarted extends ImmutablePureComponent { height += 34 + 48*2; - if (profile_directory) { - navItems.push( - , - ); - - height += 48; - } - navItems.push( , ); height += 34; - } else if (profile_directory) { - navItems.push( - , - ); - - height += 48; } if (multiColumn && !columns.find(item => item.get('id') === 'HOME')) { diff --git a/app/javascript/mastodon/features/ui/components/link_footer.js b/app/javascript/mastodon/features/ui/components/link_footer.js index 4a9243c9e..edf1104c4 100644 --- a/app/javascript/mastodon/features/ui/components/link_footer.js +++ b/app/javascript/mastodon/features/ui/components/link_footer.js @@ -3,7 +3,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { FormattedMessage, defineMessages, injectIntl } from 'react-intl'; import { Link } from 'react-router-dom'; -import { invitesEnabled, limitedFederationMode, version, repository, source_url } from 'mastodon/initial_state'; +import { invitesEnabled, limitedFederationMode, version, repository, source_url, profile_directory as profileDirectory } from 'mastodon/initial_state'; import { logOut } from 'mastodon/utils/log_out'; import { openModal } from 'mastodon/actions/modal'; @@ -52,6 +52,7 @@ class LinkFooter extends React.PureComponent { {withHotkeys &&
  • ·
  • }
  • ·
  • {!limitedFederationMode &&
  • ·
  • } + {profileDirectory &&
  • ·
  • }
  • ·
  • ·
  • ·
  • diff --git a/app/javascript/mastodon/features/ui/components/navigation_panel.js b/app/javascript/mastodon/features/ui/components/navigation_panel.js index a70e5ab61..51a0757bc 100644 --- a/app/javascript/mastodon/features/ui/components/navigation_panel.js +++ b/app/javascript/mastodon/features/ui/components/navigation_panel.js @@ -2,7 +2,7 @@ import React from 'react'; import { NavLink, withRouter } from 'react-router-dom'; import { FormattedMessage } from 'react-intl'; import Icon from 'mastodon/components/icon'; -import { profile_directory, showTrends } from 'mastodon/initial_state'; +import { showTrends } from 'mastodon/initial_state'; import NotificationsCounterIcon from './notifications_counter_icon'; import FollowRequestsNavLink from './follow_requests_nav_link'; import ListPanel from './list_panel'; @@ -20,7 +20,6 @@ const NavigationPanel = () => ( - {profile_directory && } From 085f286750e50fe7dca4f005cefac48da0eda7cd Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 3 Mar 2022 06:45:46 +0100 Subject: [PATCH 020/276] Fix returning empty `

    ` tag for blank account `note` in REST API (#17687) --- app/lib/formatter.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/lib/formatter.rb b/app/lib/formatter.rb index 6f02d669a..b6a13163d 100644 --- a/app/lib/formatter.rb +++ b/app/lib/formatter.rb @@ -57,6 +57,8 @@ class Formatter end def simplified_format(account, **options) + return '' if account.note.blank? + html = account.local? ? linkify(account.note) : reformat(account.note) html = encode_custom_emojis(html, account.emojis, options[:autoplay]) if options[:custom_emojify] html.html_safe # rubocop:disable Rails/OutputSafety From 631e495a7900e9638b218474cbc753dd5d2a033e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 3 Mar 2022 16:13:40 +0100 Subject: [PATCH 021/276] Change `follow` scope to be covered by `read` and `write` scopes in REST API (#17678) Deprecate `follow` scope --- app/controllers/api/v1/accounts_controller.rb | 6 +++--- app/controllers/api/v1/blocks_controller.rb | 2 +- app/controllers/api/v1/domain_blocks_controller.rb | 4 ++-- app/controllers/api/v1/follow_requests_controller.rb | 4 ++-- app/controllers/api/v1/mutes_controller.rb | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/controllers/api/v1/accounts_controller.rb b/app/controllers/api/v1/accounts_controller.rb index 5c47158e0..5134bfb94 100644 --- a/app/controllers/api/v1/accounts_controller.rb +++ b/app/controllers/api/v1/accounts_controller.rb @@ -2,9 +2,9 @@ class Api::V1::AccountsController < Api::BaseController before_action -> { authorize_if_got_token! :read, :'read:accounts' }, except: [:create, :follow, :unfollow, :remove_from_followers, :block, :unblock, :mute, :unmute] - before_action -> { doorkeeper_authorize! :follow, :'write:follows' }, only: [:follow, :unfollow, :remove_from_followers] - before_action -> { doorkeeper_authorize! :follow, :'write:mutes' }, only: [:mute, :unmute] - before_action -> { doorkeeper_authorize! :follow, :'write:blocks' }, only: [:block, :unblock] + before_action -> { doorkeeper_authorize! :follow, :write, :'write:follows' }, only: [:follow, :unfollow, :remove_from_followers] + before_action -> { doorkeeper_authorize! :follow, :write, :'write:mutes' }, only: [:mute, :unmute] + before_action -> { doorkeeper_authorize! :follow, :write, :'write:blocks' }, only: [:block, :unblock] before_action -> { doorkeeper_authorize! :write, :'write:accounts' }, only: [:create] before_action :require_user!, except: [:show, :create] diff --git a/app/controllers/api/v1/blocks_controller.rb b/app/controllers/api/v1/blocks_controller.rb index 586cdfca9..a65e762c9 100644 --- a/app/controllers/api/v1/blocks_controller.rb +++ b/app/controllers/api/v1/blocks_controller.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class Api::V1::BlocksController < Api::BaseController - before_action -> { doorkeeper_authorize! :follow, :'read:blocks' } + before_action -> { doorkeeper_authorize! :follow, :read, :'read:blocks' } before_action :require_user! after_action :insert_pagination_headers diff --git a/app/controllers/api/v1/domain_blocks_controller.rb b/app/controllers/api/v1/domain_blocks_controller.rb index 5bb02d834..1891261b9 100644 --- a/app/controllers/api/v1/domain_blocks_controller.rb +++ b/app/controllers/api/v1/domain_blocks_controller.rb @@ -3,8 +3,8 @@ class Api::V1::DomainBlocksController < Api::BaseController BLOCK_LIMIT = 100 - before_action -> { doorkeeper_authorize! :follow, :'read:blocks' }, only: :show - before_action -> { doorkeeper_authorize! :follow, :'write:blocks' }, except: :show + before_action -> { doorkeeper_authorize! :follow, :read, :'read:blocks' }, only: :show + before_action -> { doorkeeper_authorize! :follow, :write, :'write:blocks' }, except: :show before_action :require_user! after_action :insert_pagination_headers, only: :show diff --git a/app/controllers/api/v1/follow_requests_controller.rb b/app/controllers/api/v1/follow_requests_controller.rb index f4b2a74d0..8276245a3 100644 --- a/app/controllers/api/v1/follow_requests_controller.rb +++ b/app/controllers/api/v1/follow_requests_controller.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true class Api::V1::FollowRequestsController < Api::BaseController - before_action -> { doorkeeper_authorize! :follow, :'read:follows' }, only: :index - before_action -> { doorkeeper_authorize! :follow, :'write:follows' }, except: :index + before_action -> { doorkeeper_authorize! :follow, :read, :'read:follows' }, only: :index + before_action -> { doorkeeper_authorize! :follow, :write, :'write:follows' }, except: :index before_action :require_user! after_action :insert_pagination_headers, only: :index diff --git a/app/controllers/api/v1/mutes_controller.rb b/app/controllers/api/v1/mutes_controller.rb index fd52511d7..6cde53a2a 100644 --- a/app/controllers/api/v1/mutes_controller.rb +++ b/app/controllers/api/v1/mutes_controller.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class Api::V1::MutesController < Api::BaseController - before_action -> { doorkeeper_authorize! :follow, :'read:mutes' } + before_action -> { doorkeeper_authorize! :follow, :read, :'read:mutes' } before_action :require_user! after_action :insert_pagination_headers From ff43e54a495461eb1a539a1887125190b74754f5 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 3 Mar 2022 16:13:58 +0100 Subject: [PATCH 022/276] Allow editing media attachments for scheduled toots (#17690) Fixes #17676 --- app/controllers/api/v1/media_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/api/v1/media_controller.rb b/app/controllers/api/v1/media_controller.rb index 72094790f..f9c935bf3 100644 --- a/app/controllers/api/v1/media_controller.rb +++ b/app/controllers/api/v1/media_controller.rb @@ -31,7 +31,7 @@ class Api::V1::MediaController < Api::BaseController end def set_media_attachment - @media_attachment = current_account.media_attachments.unattached.find(params[:id]) + @media_attachment = current_account.media_attachments.where(status_id: nil).find(params[:id]) end def check_processing From 6d3fa7828ea3cddc267f19634d7bc5d917e62be8 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 3 Mar 2022 16:14:44 +0100 Subject: [PATCH 023/276] Redesign /about when already logged in (#17348) * Redesign /about when already logged in * Fix sign up form still showing when OMNIAUTH_ONLY is set * Fix tests * Change wording based on suggestions Co-authored-by: Eugen Rochko Co-authored-by: Eugen Rochko --- app/views/about/_logged_in.html.haml | 10 +++++++++ app/views/about/_registration.html.haml | 28 +++++++++++++++---------- app/views/about/show.html.haml | 5 ++++- config/locales/en.yml | 3 +++ spec/views/about/show.html.haml_spec.rb | 1 + 5 files changed, 35 insertions(+), 12 deletions(-) create mode 100644 app/views/about/_logged_in.html.haml diff --git a/app/views/about/_logged_in.html.haml b/app/views/about/_logged_in.html.haml new file mode 100644 index 000000000..e1bcfffb3 --- /dev/null +++ b/app/views/about/_logged_in.html.haml @@ -0,0 +1,10 @@ +.simple_form + %p.lead= t('about.logged_in_as_html', username: content_tag(:strong, current_account.username)) + + .actions + = link_to t('about.continue_to_web'), root_url, class: 'button button-primary' + +.form-footer + %ul.no-list + %li= link_to t('about.get_apps'), 'https://joinmastodon.org/apps', target: '_blank', rel: 'noopener noreferrer' + %li= link_to t('auth.logout'), destroy_user_session_path, data: { method: :delete } diff --git a/app/views/about/_registration.html.haml b/app/views/about/_registration.html.haml index e4d614d71..b452e4936 100644 --- a/app/views/about/_registration.html.haml +++ b/app/views/about/_registration.html.haml @@ -1,17 +1,20 @@ -.simple_form__overlay-area{ class: (closed_registrations? && @instance_presenter.closed_registrations_message.present?) ? 'simple_form__overlay-area__blurred' : '' } +- disabled = closed_registrations? || omniauth_only? || current_account.present? +- show_message = disabled && (current_user.present? || @instance_presenter.closed_registrations_message.present?) + +.simple_form__overlay-area{ class: show_message ? 'simple_form__overlay-area__blurred' : '' } = simple_form_for(new_user, url: user_registration_path, namespace: 'registration', html: { novalidate: false }) do |f| %p.lead= t('about.federation_hint_html', instance: content_tag(:strong, site_hostname)) .fields-group = f.simple_fields_for :account do |account_fields| - = account_fields.input :username, wrapper: :with_label, label: false, required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.username'), pattern: '[a-zA-Z0-9_]+', maxlength: 30 }, append: "@#{site_hostname}", hint: false, disabled: closed_registrations? + = account_fields.input :username, wrapper: :with_label, label: false, required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.username'), pattern: '[a-zA-Z0-9_]+', maxlength: 30 }, append: "@#{site_hostname}", hint: false, disabled: disabled - = f.input :email, placeholder: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? - = f.input :password, placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'off', :minlength => User.password_length.first, :maxlength => User.password_length.last }, hint: false, disabled: closed_registrations? - = f.input :password_confirmation, placeholder: t('simple_form.labels.defaults.confirm_password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? + = f.input :email, placeholder: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email'), :autocomplete => 'off' }, hint: false, disabled: disabled + = f.input :password, placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'off', :minlength => User.password_length.first, :maxlength => User.password_length.last }, hint: false, disabled: disabled + = f.input :password_confirmation, placeholder: t('simple_form.labels.defaults.confirm_password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password'), :autocomplete => 'off' }, hint: false, disabled: disabled - = f.input :confirm_password, as: :string, placeholder: t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), required: false, input_html: { 'aria-label' => t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? - = f.input :website, as: :url, placeholder: t('simple_form.labels.defaults.honeypot', label: 'Website'), required: false, input_html: { 'aria-label' => t('simple_form.labels.defaults.honeypot', label: 'Website'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? + = f.input :confirm_password, as: :string, placeholder: t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), required: false, input_html: { 'aria-label' => t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), :autocomplete => 'off' }, hint: false, disabled: disabled + = f.input :website, as: :url, placeholder: t('simple_form.labels.defaults.honeypot', label: 'Website'), required: false, input_html: { 'aria-label' => t('simple_form.labels.defaults.honeypot', label: 'Website'), :autocomplete => 'off' }, hint: false, disabled: disabled - if approved_registrations? .fields-group @@ -19,13 +22,16 @@ = invite_request_fields.input :text, as: :text, wrapper: :with_block_label, required: Setting.require_invite_text .fields-group - = f.input :agreement, as: :boolean, wrapper: :with_label, label: t('auth.checkbox_agreement_html', rules_path: about_more_path, terms_path: terms_path), required: true, disabled: closed_registrations? + = f.input :agreement, as: :boolean, wrapper: :with_label, label: t('auth.checkbox_agreement_html', rules_path: about_more_path, terms_path: terms_path), required: true, disabled: disabled .actions - = f.button :button, sign_up_message, type: :submit, class: 'button button-primary', disabled: closed_registrations? + = f.button :button, sign_up_message, type: :submit, class: 'button button-primary', disabled: disabled - - if closed_registrations? && @instance_presenter.closed_registrations_message.present? + - if show_message .simple_form__overlay-area__overlay .simple_form__overlay-area__overlay__content.rich-formatting .block-icon= fa_icon 'warning' - = @instance_presenter.closed_registrations_message.html_safe + - if current_account.present? + = t('about.logout_before_registering') + - else + = @instance_presenter.closed_registrations_message.html_safe diff --git a/app/views/about/show.html.haml b/app/views/about/show.html.haml index 6ae9e6ae0..321440096 100644 --- a/app/views/about/show.html.haml +++ b/app/views/about/show.html.haml @@ -46,7 +46,10 @@ .landing__grid__column.landing__grid__column-login .box-widget - = render 'login' + - if current_user.present? + = render 'logged_in' + - else + = render 'login' .hero-widget .hero-widget__img diff --git a/config/locales/en.yml b/config/locales/en.yml index 6a5594185..98a07aa6a 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -16,6 +16,7 @@ en: contact: Contact contact_missing: Not set contact_unavailable: N/A + continue_to_web: Continue to web app discover_users: Discover users documentation: Documentation federation_hint_html: With an account on %{instance} you'll be able to follow people on any Mastodon server and beyond. @@ -25,6 +26,8 @@ en: This account is a virtual actor used to represent the server itself and not any individual user. It is used for federation purposes and should not be blocked unless you want to block the whole instance, in which case you should use a domain block. learn_more: Learn more + logged_in_as_html: You are currently logged in as %{username}. + logout_before_registering: You are already logged in. privacy_policy: Privacy policy rules: Server rules rules_html: 'Below is a summary of rules you need to follow if you want to have an account on this server of Mastodon:' diff --git a/spec/views/about/show.html.haml_spec.rb b/spec/views/about/show.html.haml_spec.rb index 1c2f5eee9..4eab97da9 100644 --- a/spec/views/about/show.html.haml_spec.rb +++ b/spec/views/about/show.html.haml_spec.rb @@ -8,6 +8,7 @@ describe 'about/show.html.haml', without_verify_partial_doubles: true do allow(view).to receive(:site_title).and_return('example site') allow(view).to receive(:new_user).and_return(User.new) allow(view).to receive(:use_seamless_external_login?).and_return(false) + allow(view).to receive(:current_account).and_return(nil) end it 'has valid open graph tags' do From 02dbc59c91dbde9bfa67202200f4389971fc815b Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 3 Mar 2022 16:18:58 +0100 Subject: [PATCH 024/276] Add option to automatically delete toots after one week (#17691) Fixes #17658 --- app/models/account_statuses_cleanup_policy.rb | 1 + config/locales/en.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/app/models/account_statuses_cleanup_policy.rb b/app/models/account_statuses_cleanup_policy.rb index 0f78c1a54..365123653 100644 --- a/app/models/account_statuses_cleanup_policy.rb +++ b/app/models/account_statuses_cleanup_policy.rb @@ -23,6 +23,7 @@ class AccountStatusesCleanupPolicy < ApplicationRecord include Redisable ALLOWED_MIN_STATUS_AGE = [ + 1.week.seconds, 2.weeks.seconds, 1.month.seconds, 2.months.seconds, diff --git a/config/locales/en.yml b/config/locales/en.yml index 98a07aa6a..2367d5ded 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1487,6 +1487,7 @@ en: '2629746': 1 month '31556952': 1 year '5259492': 2 months + '604800': 1 week '63113904': 2 years '7889238': 3 months min_age_label: Age threshold From 04c3ac896a6054b8158cba06daa9f333f890efd4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 4 Mar 2022 01:00:13 +0100 Subject: [PATCH 025/276] Fix infinite re-forwarding of update activities temporarily (#17698) --- app/lib/activitypub/activity/update.rb | 5 ----- 1 file changed, 5 deletions(-) diff --git a/app/lib/activitypub/activity/update.rb b/app/lib/activitypub/activity/update.rb index 0bfead55b..36ad5f446 100644 --- a/app/lib/activitypub/activity/update.rb +++ b/app/lib/activitypub/activity/update.rb @@ -26,11 +26,6 @@ class ActivityPub::Activity::Update < ActivityPub::Activity return if @status.nil? - forwarder.forward! if forwarder.forwardable? ActivityPub::ProcessStatusUpdateService.new.call(@status, @object) end - - def forwarder - @forwarder ||= ActivityPub::Forwarder.new(@account, @json, @status) - end end From 2ea754b8610b50cc93aeb1921ecdf7415efaf17e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 4 Mar 2022 01:06:33 +0100 Subject: [PATCH 026/276] Fix duplicate notifications being possible after poll expiration (#17697) --- app/controllers/api/v1/follow_requests_controller.rb | 2 +- app/lib/activitypub/activity/announce.rb | 2 +- app/lib/activitypub/activity/follow.rb | 4 ++-- app/lib/activitypub/activity/like.rb | 2 +- app/services/bootstrap_timeline_service.rb | 2 +- app/services/favourite_service.rb | 2 +- app/workers/feed_insert_worker.rb | 2 +- app/workers/poll_expiration_notify_worker.rb | 8 +++++--- 8 files changed, 13 insertions(+), 11 deletions(-) diff --git a/app/controllers/api/v1/follow_requests_controller.rb b/app/controllers/api/v1/follow_requests_controller.rb index 8276245a3..54ff0e11d 100644 --- a/app/controllers/api/v1/follow_requests_controller.rb +++ b/app/controllers/api/v1/follow_requests_controller.rb @@ -13,7 +13,7 @@ class Api::V1::FollowRequestsController < Api::BaseController def authorize AuthorizeFollowService.new.call(account, current_account) - NotifyService.new.call(current_account, :follow, Follow.find_by(account: account, target_account: current_account)) + LocalNotificationWorker.perform_async(current_account.id, Follow.find_by(account: account, target_account: current_account).id, 'Follow', 'follow') render json: account, serializer: REST::RelationshipSerializer, relationships: relationships end diff --git a/app/lib/activitypub/activity/announce.rb b/app/lib/activitypub/activity/announce.rb index 7cd5a41e8..0674b1083 100644 --- a/app/lib/activitypub/activity/announce.rb +++ b/app/lib/activitypub/activity/announce.rb @@ -35,7 +35,7 @@ class ActivityPub::Activity::Announce < ActivityPub::Activity def distribute # Notify the author of the original status if that status is local - NotifyService.new.call(@status.reblog.account, :reblog, @status) if reblog_of_local_account?(@status) && !reblog_by_following_group_account?(@status) + LocalNotificationWorker.perform_async(@status.reblog.account_id, @status.id, 'Status', 'reblog') if reblog_of_local_account?(@status) && !reblog_by_following_group_account?(@status) # Distribute into home and list feeds ::DistributionWorker.perform_async(@status.id) if @options[:override_timestamps] || @status.within_realtime_window? diff --git a/app/lib/activitypub/activity/follow.rb b/app/lib/activitypub/activity/follow.rb index 4efb84b8c..97e41ab78 100644 --- a/app/lib/activitypub/activity/follow.rb +++ b/app/lib/activitypub/activity/follow.rb @@ -31,10 +31,10 @@ class ActivityPub::Activity::Follow < ActivityPub::Activity follow_request = FollowRequest.create!(account: @account, target_account: target_account, uri: @json['id']) if target_account.locked? || @account.silenced? - NotifyService.new.call(target_account, :follow_request, follow_request) + LocalNotificationWorker.perform_async(target_account.id, follow_request.id, 'FollowRequest', 'follow_request') else AuthorizeFollowService.new.call(@account, target_account) - NotifyService.new.call(target_account, :follow, ::Follow.find_by(account: @account, target_account: target_account)) + LocalNotificationWorker.perform_async(target_account.id, ::Follow.find_by(account: @account, target_account: target_account).id, 'Follow', 'follow') end end diff --git a/app/lib/activitypub/activity/like.rb b/app/lib/activitypub/activity/like.rb index ebbda15b9..aa1dc3040 100644 --- a/app/lib/activitypub/activity/like.rb +++ b/app/lib/activitypub/activity/like.rb @@ -8,7 +8,7 @@ class ActivityPub::Activity::Like < ActivityPub::Activity favourite = original_status.favourites.create!(account: @account) - NotifyService.new.call(original_status.account, :favourite, favourite) + LocalNotificationWorker.perform_async(original_status.account_id, favourite.id, 'Favourite', 'favourite') Trends.statuses.register(original_status) end end diff --git a/app/services/bootstrap_timeline_service.rb b/app/services/bootstrap_timeline_service.rb index 312c163e4..a02e55a6d 100644 --- a/app/services/bootstrap_timeline_service.rb +++ b/app/services/bootstrap_timeline_service.rb @@ -18,7 +18,7 @@ class BootstrapTimelineService < BaseService def notify_staff! User.staff.includes(:account).find_each do |user| - NotifyService.new.call(user.account, :'admin.sign_up', @source_account) + LocalNotificationWorker.perform_async(user.account_id, @source_account.id, 'Account', 'admin.sign_up') end end end diff --git a/app/services/favourite_service.rb b/app/services/favourite_service.rb index 0ca0081b4..dc7fe8855 100644 --- a/app/services/favourite_service.rb +++ b/app/services/favourite_service.rb @@ -31,7 +31,7 @@ class FavouriteService < BaseService status = favourite.status if status.account.local? - NotifyService.new.call(status.account, :favourite, favourite) + LocalNotificationWorker.perform_async(status.account_id, favourite.id, 'Favourite', 'favourite') elsif status.account.activitypub? ActivityPub::DeliveryWorker.perform_async(build_json(favourite), favourite.account_id, status.account.inbox_url) end diff --git a/app/workers/feed_insert_worker.rb b/app/workers/feed_insert_worker.rb index 6e3472d57..40bc9cb6e 100644 --- a/app/workers/feed_insert_worker.rb +++ b/app/workers/feed_insert_worker.rb @@ -66,7 +66,7 @@ class FeedInsertWorker end def perform_notify - NotifyService.new.call(@follower, :status, @status) + LocalNotificationWorker.perform_async(@follower.id, @status.id, 'Status', 'status') end def update? diff --git a/app/workers/poll_expiration_notify_worker.rb b/app/workers/poll_expiration_notify_worker.rb index 7613ed5f1..0e29a5f60 100644 --- a/app/workers/poll_expiration_notify_worker.rb +++ b/app/workers/poll_expiration_notify_worker.rb @@ -38,12 +38,14 @@ class PollExpirationNotifyWorker def notify_remote_voters_and_owner! ActivityPub::DistributePollUpdateWorker.perform_async(@poll.status.id) - NotifyService.new.call(@poll.account, :poll, @poll) + LocalNotificationWorker.perform_async(@poll.account_id, @poll.id, 'Poll', 'poll') end def notify_local_voters! - @poll.voters.merge(Account.local).find_each do |account| - NotifyService.new.call(account, :poll, @poll) + @poll.voters.merge(Account.local).select(:id).find_in_batches do |accounts| + LocalNotificationWorker.push_bulk(accounts) do |account| + [account.id, @poll.id, 'Poll', 'poll'] + end end end end From 87a55e2cd67a2af754f5a80282635e789c255e72 Mon Sep 17 00:00:00 2001 From: Mashiro Date: Sat, 5 Mar 2022 12:57:50 +0800 Subject: [PATCH 027/276] Change autocomplete type of password input box (#17702) * Change autocomplete type of password input box * Update _registration.html.haml --- app/views/about/_registration.html.haml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/about/_registration.html.haml b/app/views/about/_registration.html.haml index b452e4936..5db620b2d 100644 --- a/app/views/about/_registration.html.haml +++ b/app/views/about/_registration.html.haml @@ -10,8 +10,8 @@ = account_fields.input :username, wrapper: :with_label, label: false, required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.username'), pattern: '[a-zA-Z0-9_]+', maxlength: 30 }, append: "@#{site_hostname}", hint: false, disabled: disabled = f.input :email, placeholder: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email'), :autocomplete => 'off' }, hint: false, disabled: disabled - = f.input :password, placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'off', :minlength => User.password_length.first, :maxlength => User.password_length.last }, hint: false, disabled: disabled - = f.input :password_confirmation, placeholder: t('simple_form.labels.defaults.confirm_password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password'), :autocomplete => 'off' }, hint: false, disabled: disabled + = f.input :password, placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'new-password', :minlength => User.password_length.first, :maxlength => User.password_length.last }, hint: false, disabled: disabled + = f.input :password_confirmation, placeholder: t('simple_form.labels.defaults.confirm_password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password'), :autocomplete => 'new-password' }, hint: false, disabled: disabled = f.input :confirm_password, as: :string, placeholder: t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), required: false, input_html: { 'aria-label' => t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), :autocomplete => 'off' }, hint: false, disabled: disabled = f.input :website, as: :url, placeholder: t('simple_form.labels.defaults.honeypot', label: 'Website'), required: false, input_html: { 'aria-label' => t('simple_form.labels.defaults.honeypot', label: 'Website'), :autocomplete => 'off' }, hint: false, disabled: disabled From b5329e0035d455e72dad7249d88bd624b5cb59a0 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Sun, 6 Mar 2022 16:51:40 -0500 Subject: [PATCH 028/276] Spelling (#17705) * spelling: account Signed-off-by: Josh Soref * spelling: affiliated Signed-off-by: Josh Soref * spelling: appearance Signed-off-by: Josh Soref * spelling: autosuggest Signed-off-by: Josh Soref * spelling: cacheable Signed-off-by: Josh Soref * spelling: component Signed-off-by: Josh Soref * spelling: conversations Signed-off-by: Josh Soref * spelling: domain.example Clarify what's distinct and use RFC friendly domain space. Signed-off-by: Josh Soref * spelling: environment Signed-off-by: Josh Soref * spelling: exceeds Signed-off-by: Josh Soref * spelling: functional Signed-off-by: Josh Soref * spelling: inefficiency Signed-off-by: Josh Soref * spelling: not Signed-off-by: Josh Soref * spelling: notifications Signed-off-by: Josh Soref * spelling: occurring Signed-off-by: Josh Soref * spelling: position Signed-off-by: Josh Soref * spelling: progress Signed-off-by: Josh Soref * spelling: promotable Signed-off-by: Josh Soref * spelling: reblogging Signed-off-by: Josh Soref * spelling: repetitive Signed-off-by: Josh Soref * spelling: resolve Signed-off-by: Josh Soref * spelling: saturated Signed-off-by: Josh Soref * spelling: similar Signed-off-by: Josh Soref * spelling: strategies Signed-off-by: Josh Soref * spelling: success Signed-off-by: Josh Soref * spelling: targeting Signed-off-by: Josh Soref * spelling: thumbnails Signed-off-by: Josh Soref * spelling: unauthorized Signed-off-by: Josh Soref * spelling: unsensitizes Signed-off-by: Josh Soref * spelling: validations Signed-off-by: Josh Soref * spelling: various Signed-off-by: Josh Soref Co-authored-by: Josh Soref --- .circleci/config.yml | 2 +- .env.production.sample | 2 +- CHANGELOG.md | 20 +++++++------- .../mastodon/components/scrollable_list.js | 2 +- .../mastodon/containers/media_container.js | 4 +-- .../mastodon/features/report/category.js | 2 +- .../mastodon/features/video/index.js | 4 +-- app/javascript/mastodon/locales/en.json | 2 +- .../styles/mastodon/components.scss | 2 +- app/javascript/styles/mastodon/polls.scss | 2 +- app/policies/user_policy.rb | 4 +-- config/initializers/omniauth.rb | 2 +- config/locales/en_GB.yml | 2 +- .../20170920032311_fix_reblogs_in_feeds.rb | 2 +- ...08213548_reject_following_blocked_users.rb | 6 ++--- lib/mastodon/maintenance_cli.rb | 2 +- lib/mastodon/statuses_cli.rb | 2 +- spec/controllers/accounts_controller_spec.rb | 8 +++--- .../collections_controller_spec.rb | 6 ++--- .../activitypub/outboxes_controller_spec.rb | 6 ++--- .../activitypub/replies_controller_spec.rb | 4 +-- .../api/v1/accounts/notes_controller_spec.rb | 2 +- .../api/v1/admin/accounts_controller_spec.rb | 2 +- .../favourited_by_accounts_controller_spec.rb | 2 +- .../reblogged_by_accounts_controller_spec.rb | 2 +- .../api/v1/statuses_controller_spec.rb | 4 +-- .../application_controller_spec.rb | 20 +++++++------- spec/controllers/statuses_controller_spec.rb | 6 ++--- spec/helpers/application_helper_spec.rb | 2 +- spec/lib/tag_manager_spec.rb | 26 +++++++++---------- spec/models/report_spec.rb | 2 +- spec/policies/user_policy_spec.rb | 4 +-- .../unsuspend_account_service_spec.rb | 16 ++++++------ spec/support/stories/profile_stories.rb | 2 +- 34 files changed, 88 insertions(+), 88 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e157f8f22..318f4d2be 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -153,7 +153,7 @@ jobs: - run: command: ./bin/rails db:migrate name: Run all pre-deployment migrations - evironment: + environment: SKIP_POST_DEPLOYMENT_MIGRATIONS: true - run: command: ./bin/rails db:migrate diff --git a/.env.production.sample b/.env.production.sample index 8eeff3794..4fc58072f 100644 --- a/.env.production.sample +++ b/.env.production.sample @@ -58,7 +58,7 @@ SMTP_SERVER=smtp.mailgun.org SMTP_PORT=587 SMTP_LOGIN= SMTP_PASSWORD= -SMTP_FROM_ADDRESS=notificatons@example.com +SMTP_FROM_ADDRESS=notifications@example.com # File storage (optional) # ----------------------- diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e9d6ea1d..d8fde27fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -87,7 +87,7 @@ All notable changes to this project will be documented in this file. - Fix suspended accounts statuses being merged back into timelines ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16628)) - Fix crash when encountering invalid account fields ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16598)) - Fix invalid blurhash handling for remote activities ([noellabo](https://github.com/mastodon/mastodon/pull/16583)) -- Fix newlines being added to accout notes when an account moves ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16415), [noellabo](https://github.com/mastodon/mastodon/pull/16576)) +- Fix newlines being added to account notes when an account moves ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16415), [noellabo](https://github.com/mastodon/mastodon/pull/16576)) - Fix crash when creating an announcement with links ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16941)) - Fix logging out from one browser logging out all other sessions ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16943)) @@ -420,7 +420,7 @@ All notable changes to this project will be documented in this file. - Fix inefficiency when fetching bookmarks ([akihikodaki](https://github.com/mastodon/mastodon/pull/14674)) - Fix inefficiency when fetching favourites ([akihikodaki](https://github.com/mastodon/mastodon/pull/14673)) - Fix inefficiency when fetching media-only account timeline ([akihikodaki](https://github.com/mastodon/mastodon/pull/14675)) -- Fix inefficieny when deleting accounts ([Gargron](https://github.com/mastodon/mastodon/pull/15387), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/15409), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/15407), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/15408), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/15402), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/15416), [Gargron](https://github.com/mastodon/mastodon/pull/15421)) +- Fix inefficiency when deleting accounts ([Gargron](https://github.com/mastodon/mastodon/pull/15387), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/15409), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/15407), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/15408), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/15402), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/15416), [Gargron](https://github.com/mastodon/mastodon/pull/15421)) - Fix redundant query when processing batch actions on custom emojis ([niwatori24](https://github.com/mastodon/mastodon/pull/14534)) - Fix slow distinct queries where grouped queries are faster ([Gargron](https://github.com/mastodon/mastodon/pull/15287)) - Fix performance on instances list in admin UI ([Gargron](https://github.com/mastodon/mastodon/pull/15282)) @@ -507,7 +507,7 @@ All notable changes to this project will be documented in this file. - Add blurhash to link previews ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/13984), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/14143), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/13985), [Sasha-Sorokin](https://github.com/mastodon/mastodon/pull/14267), [Sasha-Sorokin](https://github.com/mastodon/mastodon/pull/14278), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/14126), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/14261), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/14260)) - In web UI, toots cannot be marked as sensitive unless there is media attached - However, it's possible to do via API or ActivityPub - - Thumnails of link previews of such posts now use blurhash in web UI + - Thumbnails of link previews of such posts now use blurhash in web UI - The Card entity in REST API has a new `blurhash` attribute - Add support for `summary` field for media description in ActivityPub ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/13763)) - Add hints about incomplete remote content to web UI ([Gargron](https://github.com/mastodon/mastodon/pull/14031), [noellabo](https://github.com/mastodon/mastodon/pull/14195)) @@ -530,7 +530,7 @@ All notable changes to this project will be documented in this file. - The `meta` attribute on the Media Attachment entity in REST API can now have a `colors` attribute which in turn contains three hex colors: `background`, `foreground`, and `accent` - The background color is chosen from the most dominant color around the edges of the thumbnail - The foreground and accent colors are chosen from the colors that are the most different from the background color using the CIEDE2000 algorithm - - The most satured color of the two is designated as the accent color + - The most saturated color of the two is designated as the accent color - The one with the highest W3C contrast is designated as the foreground color - If there are not enough colors in the thumbnail, new ones are generated using a monochrome pattern - Add a visibility indicator to toots in web UI ([noellabo](https://github.com/mastodon/mastodon/pull/14123), [highemerly](https://github.com/mastodon/mastodon/pull/14292)) @@ -556,7 +556,7 @@ All notable changes to this project will be documented in this file. - Change boost button to no longer serve as visibility indicator in web UI ([noellabo](https://github.com/mastodon/mastodon/pull/14132), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/14373)) - Change contrast of flash messages ([cchoi12](https://github.com/mastodon/mastodon/pull/13892)) - Change wording from "Hide media" to "Hide image/images" in web UI ([ariasuni](https://github.com/mastodon/mastodon/pull/13834)) -- Change appearence of settings pages to be more consistent ([ariasuni](https://github.com/mastodon/mastodon/pull/13938)) +- Change appearance of settings pages to be more consistent ([ariasuni](https://github.com/mastodon/mastodon/pull/13938)) - Change "Add media" tooltip to not include long list of formats in web UI ([ariasuni](https://github.com/mastodon/mastodon/pull/13954)) - Change how badly contrasting emoji are rendered in web UI ([leo60228](https://github.com/mastodon/mastodon/pull/13773), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/13772), [mfmfuyu](https://github.com/mastodon/mastodon/pull/14020), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/14015)) - Change structure of unavailable content section on about page ([ariasuni](https://github.com/mastodon/mastodon/pull/13930)) @@ -578,8 +578,8 @@ All notable changes to this project will be documented in this file. ### Fixed - Fix `following` param not working when exact match is found in account search ([noellabo](https://github.com/mastodon/mastodon/pull/14394)) -- Fix sometimes occuring duplicate mention notifications ([noellabo](https://github.com/mastodon/mastodon/pull/14378)) -- Fix RSS feeds not being cachable ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/14368)) +- Fix sometimes occurring duplicate mention notifications ([noellabo](https://github.com/mastodon/mastodon/pull/14378)) +- Fix RSS feeds not being cacheable ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/14368)) - Fix lack of locking around processing of Announce activities in ActivityPub ([noellabo](https://github.com/mastodon/mastodon/pull/14365)) - Fix boosted toots from blocked account not being retroactively removed from TL ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/14339)) - Fix large shortened numbers (like 1.2K) using incorrect pluralization ([Sasha-Sorokin](https://github.com/mastodon/mastodon/pull/14061)) @@ -706,7 +706,7 @@ All notable changes to this project will be documented in this file. - Fix poll refresh button not being debounced in web UI ([rasjonell](https://github.com/mastodon/mastodon/pull/13485), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/13490)) - Fix confusing error when failing to add an alias to an unknown account ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/13480)) - Fix "Email changed" notification sometimes having wrong e-mail ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/13475)) -- Fix varioues issues on the account aliases page ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/13452)) +- Fix various issues on the account aliases page ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/13452)) - Fix API footer link in web UI ([bubblineyuri](https://github.com/mastodon/mastodon/pull/13441)) - Fix pagination of following, followers, follow requests, blocks and mutes lists in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/13445)) - Fix styling of polls in JS-less fallback on public pages ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/13436)) @@ -1496,7 +1496,7 @@ All notable changes to this project will be documented in this file. - Change Docker image to use Ubuntu with jemalloc ([Sir-Boops](https://github.com/mastodon/mastodon/pull/10100), [BenLubar](https://github.com/mastodon/mastodon/pull/10212)) - Change public pages to be cacheable by proxies ([BenLubar](https://github.com/mastodon/mastodon/pull/9059)) - Change the 410 gone response for suspended accounts to be cacheable by proxies ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/10339)) -- Change web UI to not not empty timeline of blocked users on block ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/10359)) +- Change web UI to not empty timeline of blocked users on block ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/10359)) - Change JSON serializer to remove unused `@context` values ([Gargron](https://github.com/mastodon/mastodon/pull/10378)) - Change GIFV file size limit to be the same as for other videos ([rinsuki](https://github.com/mastodon/mastodon/pull/9924)) - Change Webpack to not use @babel/preset-env to compile node_modules ([ykzts](https://github.com/mastodon/mastodon/pull/10289)) @@ -1673,7 +1673,7 @@ All notable changes to this project will be documented in this file. - Limit maximum visibility of local silenced users to unlisted ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/9583)) - Change API error message for unconfirmed accounts ([noellabo](https://github.com/mastodon/mastodon/pull/9625)) - Change the icon to "reply-all" when it's a reply to other accounts ([mayaeh](https://github.com/mastodon/mastodon/pull/9378)) -- Do not ignore federated reports targetting already-reported accounts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/9534)) +- Do not ignore federated reports targeting already-reported accounts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/9534)) - Upgrade default Ruby version to 2.6.0 ([Gargron](https://github.com/mastodon/mastodon/pull/9688)) - Change e-mail digest frequency ([Gargron](https://github.com/mastodon/mastodon/pull/9689)) - Change Docker images for Tor support in docker-compose.yml ([Sir-Boops](https://github.com/mastodon/mastodon/pull/9438)) diff --git a/app/javascript/mastodon/components/scrollable_list.js b/app/javascript/mastodon/components/scrollable_list.js index 68a178512..91d04bf4d 100644 --- a/app/javascript/mastodon/components/scrollable_list.js +++ b/app/javascript/mastodon/components/scrollable_list.js @@ -151,7 +151,7 @@ class ScrollableList extends PureComponent { attachFullscreenListener(this.onFullScreenChange); - // Handle initial scroll posiiton + // Handle initial scroll position this.handleScroll(); } diff --git a/app/javascript/mastodon/containers/media_container.js b/app/javascript/mastodon/containers/media_container.js index 2f42a084f..6ee1f0bd8 100644 --- a/app/javascript/mastodon/containers/media_container.js +++ b/app/javascript/mastodon/containers/media_container.js @@ -43,7 +43,7 @@ export default class MediaContainer extends PureComponent { handleOpenVideo = (options) => { const { components } = this.props; - const { media } = JSON.parse(components[options.componetIndex].getAttribute('data-props')); + const { media } = JSON.parse(components[options.componentIndex].getAttribute('data-props')); const mediaList = fromJS(media); document.body.classList.add('with-modals--active'); @@ -87,7 +87,7 @@ export default class MediaContainer extends PureComponent { ...(hashtag ? { hashtag: fromJS(hashtag) } : {}), ...(componentName === 'Video' ? { - componetIndex: i, + componentIndex: i, onOpenVideo: this.handleOpenVideo, } : { onOpenMedia: this.handleOpenMedia, diff --git a/app/javascript/mastodon/features/report/category.js b/app/javascript/mastodon/features/report/category.js index 122b51c7c..a36dc81b1 100644 --- a/app/javascript/mastodon/features/report/category.js +++ b/app/javascript/mastodon/features/report/category.js @@ -8,7 +8,7 @@ const messages = defineMessages({ dislike: { id: 'report.reasons.dislike', defaultMessage: 'I don\'t like it' }, dislike_description: { id: 'report.reasons.dislike_description', defaultMessage: 'It is not something you want to see' }, spam: { id: 'report.reasons.spam', defaultMessage: 'It\'s spam' }, - spam_description: { id: 'report.reasons.spam_description', defaultMessage: 'Malicious links, fake engagement, or repetetive replies' }, + spam_description: { id: 'report.reasons.spam_description', defaultMessage: 'Malicious links, fake engagement, or repetitive replies' }, violation: { id: 'report.reasons.violation', defaultMessage: 'It violates server rules' }, violation_description: { id: 'report.reasons.violation_description', defaultMessage: 'You are aware that it breaks specific rules' }, other: { id: 'report.reasons.other', defaultMessage: 'It\'s something else' }, diff --git a/app/javascript/mastodon/features/video/index.js b/app/javascript/mastodon/features/video/index.js index 70e3cd6e8..8d47e479a 100644 --- a/app/javascript/mastodon/features/video/index.js +++ b/app/javascript/mastodon/features/video/index.js @@ -121,7 +121,7 @@ class Video extends React.PureComponent { autoPlay: PropTypes.bool, volume: PropTypes.number, muted: PropTypes.bool, - componetIndex: PropTypes.number, + componentIndex: PropTypes.number, }; static defaultProps = { @@ -502,7 +502,7 @@ class Video extends React.PureComponent { startTime: this.video.currentTime, autoPlay: !this.state.paused, defaultVolume: this.state.volume, - componetIndex: this.props.componetIndex, + componentIndex: this.props.componentIndex, }); } diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index e87541e28..c3d23795b 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -409,7 +409,7 @@ "report.reasons.other": "It's something else", "report.reasons.other_description": "The issue does not fit into other categories", "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.violation": "It violates server rules", "report.reasons.violation_description": "You are aware that it breaks specific rules", "report.rules.subtitle": "Select all that apply", diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 6b18ca6f2..b8c3dba61 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -4315,7 +4315,7 @@ a.status-card.compact:hover { } } -.upload-progess__message { +.upload-progress__message { flex: 1 1 auto; } diff --git a/app/javascript/styles/mastodon/polls.scss b/app/javascript/styles/mastodon/polls.scss index e33fc7983..a719044ea 100644 --- a/app/javascript/styles/mastodon/polls.scss +++ b/app/javascript/styles/mastodon/polls.scss @@ -69,7 +69,7 @@ display: none; } - .autossugest-input { + .autosuggest-input { flex: 1 1 auto; } diff --git a/app/policies/user_policy.rb b/app/policies/user_policy.rb index 6695a0ddf..92e2c4f4b 100644 --- a/app/policies/user_policy.rb +++ b/app/policies/user_policy.rb @@ -42,7 +42,7 @@ class UserPolicy < ApplicationPolicy end def promote? - admin? && promoteable? + admin? && promotable? end def demote? @@ -51,7 +51,7 @@ class UserPolicy < ApplicationPolicy private - def promoteable? + def promotable? record.approved? && (!record.staff? || !record.admin?) end diff --git a/config/initializers/omniauth.rb b/config/initializers/omniauth.rb index 19d59f155..1a041ad48 100644 --- a/config/initializers/omniauth.rb +++ b/config/initializers/omniauth.rb @@ -1,5 +1,5 @@ Rails.application.config.middleware.use OmniAuth::Builder do - # Vanilla omniauth stategies + # Vanilla omniauth strategies end Devise.setup do |config| diff --git a/config/locales/en_GB.yml b/config/locales/en_GB.yml index d3461474b..de74e0f61 100644 --- a/config/locales/en_GB.yml +++ b/config/locales/en_GB.yml @@ -986,7 +986,7 @@ en_GB: enabled: Two-factor authentication is enabled enabled_success: Two-factor authentication successfully enabled generate_recovery_codes: Generate recovery codes - instructions_html: "Scan this QR code into Google Authenticator or a similiar TOTP app on your phone. From now on, that app will generate tokens that you will have to enter when logging in." + instructions_html: "Scan this QR code into Google Authenticator or a similar TOTP app on your phone. From now on, that app will generate tokens that you will have to enter when logging in." lost_recovery_codes: Recovery codes allow you to regain access to your account if you lose your phone. If you've lost your recovery codes, you can regenerate them here. Your old recovery codes will be invalidated. manual_instructions: 'If you can''t scan the QR code and need to enter it manually, here is the plain-text secret:' recovery_codes: Backup recovery codes diff --git a/db/migrate/20170920032311_fix_reblogs_in_feeds.rb b/db/migrate/20170920032311_fix_reblogs_in_feeds.rb index bcd4b9137..4ab68e8f3 100644 --- a/db/migrate/20170920032311_fix_reblogs_in_feeds.rb +++ b/db/migrate/20170920032311_fix_reblogs_in_feeds.rb @@ -16,7 +16,7 @@ class FixReblogsInFeeds < ActiveRecord::Migration[5.1] # is once again set to the reblogging status' ID, and the value # is set to the reblogged status' ID). This is safe for Redis' # float conversion because in this reblog tracking zset, we only - # need the rebloggging status' ID to be able to stop tracking + # need the reblogging status' ID to be able to stop tracking # entries after they have gotten too far down the feed, which # does not require an exact value. diff --git a/db/migrate/20180608213548_reject_following_blocked_users.rb b/db/migrate/20180608213548_reject_following_blocked_users.rb index 302db6b68..78f8df538 100644 --- a/db/migrate/20180608213548_reject_following_blocked_users.rb +++ b/db/migrate/20180608213548_reject_following_blocked_users.rb @@ -22,13 +22,13 @@ class RejectFollowingBlockedUsers < ActiveRecord::Migration[5.2] follows.each do |follow| blocked_account = follow.account - followed_acccount = follow.target_account + followed_account = follow.target_account next follow.destroy! if blocked_account.local? - reject_follow_json = Oj.dump(ActivityPub::LinkedDataSignature.new(ActiveModelSerializers::SerializableResource.new(follow, serializer: ActivityPub::RejectFollowSerializer, adapter: ActivityPub::Adapter).as_json).sign!(followed_acccount)) + reject_follow_json = Oj.dump(ActivityPub::LinkedDataSignature.new(ActiveModelSerializers::SerializableResource.new(follow, serializer: ActivityPub::RejectFollowSerializer, adapter: ActivityPub::Adapter).as_json).sign!(followed_account)) - ActivityPub::DeliveryWorker.perform_async(reject_follow_json, followed_acccount, blocked_account.inbox_url) + ActivityPub::DeliveryWorker.perform_async(reject_follow_json, followed_account, blocked_account.inbox_url) follow.destroy! end diff --git a/lib/mastodon/maintenance_cli.rb b/lib/mastodon/maintenance_cli.rb index 00861df77..1e047d96c 100644 --- a/lib/mastodon/maintenance_cli.rb +++ b/lib/mastodon/maintenance_cli.rb @@ -510,7 +510,7 @@ module Mastodon accounts = accounts.sort_by(&:id).reverse @prompt.warn "Multiple local accounts were found for username '#{accounts.first.username}'." - @prompt.warn 'All those accounts are distinct accounts but only the most recently-created one is fully-functionnal.' + @prompt.warn 'All those accounts are distinct accounts but only the most recently-created one is fully-functional.' accounts.each_with_index do |account, idx| @prompt.say '%2d. %s: created at: %s; updated at: %s; last logged in at: %s; statuses: %5d; last status at: %s' % [idx, account.username, account.created_at, account.updated_at, account.user&.last_sign_in_at&.to_s || 'N/A', account.account_stat&.statuses_count || 0, account.account_stat&.last_status_at || 'N/A'] diff --git a/lib/mastodon/statuses_cli.rb b/lib/mastodon/statuses_cli.rb index 91b08813b..d4c2e6cf2 100644 --- a/lib/mastodon/statuses_cli.rb +++ b/lib/mastodon/statuses_cli.rb @@ -156,7 +156,7 @@ module Mastodon ActiveRecord::Base.connection.add_index(:statuses, :conversation_id, name: :index_statuses_conversation_id, algorithm: :concurrently, if_not_exists: true) - say('Extract the deletion target from coversations... This might take a while...') + say('Extract the deletion target from conversations... This might take a while...') ActiveRecord::Base.connection.create_table('conversations_to_be_deleted', force: true) diff --git a/spec/controllers/accounts_controller_spec.rb b/spec/controllers/accounts_controller_spec.rb index 73d124029..662a89927 100644 --- a/spec/controllers/accounts_controller_spec.rb +++ b/spec/controllers/accounts_controller_spec.rb @@ -5,7 +5,7 @@ RSpec.describe AccountsController, type: :controller do let(:account) { Fabricate(:account) } - shared_examples 'cachable response' do + shared_examples 'cacheable response' do it 'does not set cookies' do expect(response.cookies).to be_empty expect(response.headers['Set-Cookies']).to be nil @@ -374,7 +374,7 @@ RSpec.describe AccountsController, type: :controller do expect(response.media_type).to eq 'application/activity+json' end - it_behaves_like 'cachable response' + it_behaves_like 'cacheable response' it 'renders account' do json = body_as_json @@ -432,7 +432,7 @@ RSpec.describe AccountsController, type: :controller do expect(response.media_type).to eq 'application/activity+json' end - it_behaves_like 'cachable response' + it_behaves_like 'cacheable response' it 'renders account' do json = body_as_json @@ -499,7 +499,7 @@ RSpec.describe AccountsController, type: :controller do expect(response).to have_http_status(200) end - it_behaves_like 'cachable response' + it_behaves_like 'cacheable response' end context do diff --git a/spec/controllers/activitypub/collections_controller_spec.rb b/spec/controllers/activitypub/collections_controller_spec.rb index 21a033945..4d87f80ce 100644 --- a/spec/controllers/activitypub/collections_controller_spec.rb +++ b/spec/controllers/activitypub/collections_controller_spec.rb @@ -7,7 +7,7 @@ RSpec.describe ActivityPub::CollectionsController, type: :controller do let!(:private_pinned) { Fabricate(:status, account: account, text: 'secret private stuff', visibility: :private) } let(:remote_account) { nil } - shared_examples 'cachable response' do + shared_examples 'cacheable response' do it 'does not set cookies' do expect(response.cookies).to be_empty expect(response.headers['Set-Cookies']).to be nil @@ -48,7 +48,7 @@ RSpec.describe ActivityPub::CollectionsController, type: :controller do expect(response.media_type).to eq 'application/activity+json' end - it_behaves_like 'cachable response' + it_behaves_like 'cacheable response' it 'returns orderedItems with pinned statuses' do expect(body[:orderedItems]).to be_an Array @@ -101,7 +101,7 @@ RSpec.describe ActivityPub::CollectionsController, type: :controller do expect(response.media_type).to eq 'application/activity+json' end - it_behaves_like 'cachable response' + it_behaves_like 'cacheable response' it 'returns orderedItems with pinned statuses' do json = body_as_json diff --git a/spec/controllers/activitypub/outboxes_controller_spec.rb b/spec/controllers/activitypub/outboxes_controller_spec.rb index 1722690db..04f036447 100644 --- a/spec/controllers/activitypub/outboxes_controller_spec.rb +++ b/spec/controllers/activitypub/outboxes_controller_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' RSpec.describe ActivityPub::OutboxesController, type: :controller do let!(:account) { Fabricate(:account) } - shared_examples 'cachable response' do + shared_examples 'cacheable response' do it 'does not set cookies' do expect(response.cookies).to be_empty expect(response.headers['Set-Cookies']).to be nil @@ -53,7 +53,7 @@ RSpec.describe ActivityPub::OutboxesController, type: :controller do expect(body[:totalItems]).to eq 4 end - it_behaves_like 'cachable response' + it_behaves_like 'cacheable response' it 'does not have a Vary header' do expect(response.headers['Vary']).to be_nil @@ -98,7 +98,7 @@ RSpec.describe ActivityPub::OutboxesController, type: :controller do expect(body[:orderedItems].all? { |item| item[:to].include?(ActivityPub::TagManager::COLLECTIONS[:public]) || item[:cc].include?(ActivityPub::TagManager::COLLECTIONS[:public]) }).to be true end - it_behaves_like 'cachable response' + it_behaves_like 'cacheable response' it 'returns Vary header with Signature' do expect(response.headers['Vary']).to include 'Signature' diff --git a/spec/controllers/activitypub/replies_controller_spec.rb b/spec/controllers/activitypub/replies_controller_spec.rb index a2c7f336f..a35957f24 100644 --- a/spec/controllers/activitypub/replies_controller_spec.rb +++ b/spec/controllers/activitypub/replies_controller_spec.rb @@ -8,7 +8,7 @@ RSpec.describe ActivityPub::RepliesController, type: :controller do let(:remote_reply_id) { 'https://foobar.com/statuses/1234' } let(:remote_querier) { nil } - shared_examples 'cachable response' do + shared_examples 'cacheable response' do it 'does not set cookies' do expect(response.cookies).to be_empty expect(response.headers['Set-Cookies']).to be nil @@ -93,7 +93,7 @@ RSpec.describe ActivityPub::RepliesController, type: :controller do expect(response.media_type).to eq 'application/activity+json' end - it_behaves_like 'cachable response' + it_behaves_like 'cacheable response' context 'without only_other_accounts' do it "returns items with thread author's replies" do diff --git a/spec/controllers/api/v1/accounts/notes_controller_spec.rb b/spec/controllers/api/v1/accounts/notes_controller_spec.rb index 47d595c70..42c2d8a86 100644 --- a/spec/controllers/api/v1/accounts/notes_controller_spec.rb +++ b/spec/controllers/api/v1/accounts/notes_controller_spec.rb @@ -31,7 +31,7 @@ describe Api::V1::Accounts::NotesController do end end - context 'when account note exceends allowed length' do + context 'when account note exceeds allowed length' do let(:comment) { 'a' * 2_001 } it 'returns 422' do diff --git a/spec/controllers/api/v1/admin/accounts_controller_spec.rb b/spec/controllers/api/v1/admin/accounts_controller_spec.rb index bf79ee520..3f61bbc0b 100644 --- a/spec/controllers/api/v1/admin/accounts_controller_spec.rb +++ b/spec/controllers/api/v1/admin/accounts_controller_spec.rb @@ -140,7 +140,7 @@ RSpec.describe Api::V1::Admin::AccountsController, type: :controller do expect(response).to have_http_status(200) end - it 'unsensitives account' do + it 'unsensitizes account' do expect(account.reload.sensitized?).to be false end end diff --git a/spec/controllers/api/v1/statuses/favourited_by_accounts_controller_spec.rb b/spec/controllers/api/v1/statuses/favourited_by_accounts_controller_spec.rb index 439a4738d..7cc77f430 100644 --- a/spec/controllers/api/v1/statuses/favourited_by_accounts_controller_spec.rb +++ b/spec/controllers/api/v1/statuses/favourited_by_accounts_controller_spec.rb @@ -56,7 +56,7 @@ RSpec.describe Api::V1::Statuses::FavouritedByAccountsController, type: :control Fabricate(:favourite, status: status) end - it 'returns http unautharized' do + it 'returns http unauthorized' do get :index, params: { status_id: status.id } expect(response).to have_http_status(404) end diff --git a/spec/controllers/api/v1/statuses/reblogged_by_accounts_controller_spec.rb b/spec/controllers/api/v1/statuses/reblogged_by_accounts_controller_spec.rb index 31320349d..8d4a6f91c 100644 --- a/spec/controllers/api/v1/statuses/reblogged_by_accounts_controller_spec.rb +++ b/spec/controllers/api/v1/statuses/reblogged_by_accounts_controller_spec.rb @@ -56,7 +56,7 @@ RSpec.describe Api::V1::Statuses::RebloggedByAccountsController, type: :controll Fabricate(:status, reblog_of_id: status.id) end - it 'returns http unautharized' do + it 'returns http unauthorized' do get :index, params: { status_id: status.id } expect(response).to have_http_status(404) end diff --git a/spec/controllers/api/v1/statuses_controller_spec.rb b/spec/controllers/api/v1/statuses_controller_spec.rb index 190dfad11..2eb30af74 100644 --- a/spec/controllers/api/v1/statuses_controller_spec.rb +++ b/spec/controllers/api/v1/statuses_controller_spec.rb @@ -130,7 +130,7 @@ RSpec.describe Api::V1::StatusesController, type: :controller do let(:status) { Fabricate(:status, account: user.account, visibility: :private) } describe 'GET #show' do - it 'returns http unautharized' do + it 'returns http unauthorized' do get :show, params: { id: status.id } expect(response).to have_http_status(404) end @@ -141,7 +141,7 @@ RSpec.describe Api::V1::StatusesController, type: :controller do Fabricate(:status, account: user.account, thread: status) end - it 'returns http unautharized' do + it 'returns http unauthorized' do get :context, params: { id: status.id } expect(response).to have_http_status(404) end diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb index 0fb4ddbcf..53e163d49 100644 --- a/spec/controllers/application_controller_spec.rb +++ b/spec/controllers/application_controller_spec.rb @@ -187,30 +187,30 @@ describe ApplicationController, type: :controller do controller do before_action :require_admin! - def sucesss + def success head 200 end end before do - routes.draw { get 'sucesss' => 'anonymous#sucesss' } + routes.draw { get 'success' => 'anonymous#success' } end it 'returns a 403 if current user is not admin' do sign_in(Fabricate(:user, admin: false)) - get 'sucesss' + get 'success' expect(response).to have_http_status(403) end it 'returns a 403 if current user is only a moderator' do sign_in(Fabricate(:user, moderator: true)) - get 'sucesss' + get 'success' expect(response).to have_http_status(403) end it 'does nothing if current user is admin' do sign_in(Fabricate(:user, admin: true)) - get 'sucesss' + get 'success' expect(response).to have_http_status(200) end end @@ -219,30 +219,30 @@ describe ApplicationController, type: :controller do controller do before_action :require_staff! - def sucesss + def success head 200 end end before do - routes.draw { get 'sucesss' => 'anonymous#sucesss' } + routes.draw { get 'success' => 'anonymous#success' } end it 'returns a 403 if current user is not admin or moderator' do sign_in(Fabricate(:user, admin: false, moderator: false)) - get 'sucesss' + get 'success' expect(response).to have_http_status(403) end it 'does nothing if current user is moderator' do sign_in(Fabricate(:user, moderator: true)) - get 'sucesss' + get 'success' expect(response).to have_http_status(200) end it 'does nothing if current user is admin' do sign_in(Fabricate(:user, admin: true)) - get 'sucesss' + get 'success' expect(response).to have_http_status(200) end end diff --git a/spec/controllers/statuses_controller_spec.rb b/spec/controllers/statuses_controller_spec.rb index 9986efa51..05fae67fa 100644 --- a/spec/controllers/statuses_controller_spec.rb +++ b/spec/controllers/statuses_controller_spec.rb @@ -5,7 +5,7 @@ require 'rails_helper' describe StatusesController do render_views - shared_examples 'cachable response' do + shared_examples 'cacheable response' do it 'does not set cookies' do expect(response.cookies).to be_empty expect(response.headers['Set-Cookies']).to be nil @@ -108,7 +108,7 @@ describe StatusesController do expect(response.headers['Vary']).to eq 'Accept' end - it_behaves_like 'cachable response' + it_behaves_like 'cacheable response' it 'returns Content-Type header' do expect(response.headers['Content-Type']).to include 'application/activity+json' @@ -496,7 +496,7 @@ describe StatusesController do expect(response.headers['Vary']).to eq 'Accept' end - it_behaves_like 'cachable response' + it_behaves_like 'cacheable response' it 'returns Content-Type header' do expect(response.headers['Content-Type']).to include 'application/activity+json' diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index f09e32ecc..b9d38d8c6 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -60,7 +60,7 @@ describe ApplicationHelper do end describe 'favicon_path' do - it 'returns /favicon.ico on production enviromnent' do + it 'returns /favicon.ico on production environment' do expect(Rails.env).to receive(:production?).and_return(true) expect(helper.favicon_path).to eq '/favicon.ico' end diff --git a/spec/lib/tag_manager_spec.rb b/spec/lib/tag_manager_spec.rb index 2230f9710..cd9fb936c 100644 --- a/spec/lib/tag_manager_spec.rb +++ b/spec/lib/tag_manager_spec.rb @@ -6,7 +6,7 @@ RSpec.describe TagManager do around do |example| original_local_domain = Rails.configuration.x.local_domain - Rails.configuration.x.local_domain = 'domain.test' + Rails.configuration.x.local_domain = 'domain.example.com' example.run @@ -18,11 +18,11 @@ RSpec.describe TagManager do end it 'returns true if the slash-stripped string equals to local domain' do - expect(TagManager.instance.local_domain?('DoMaIn.Test/')).to eq true + expect(TagManager.instance.local_domain?('DoMaIn.Example.com/')).to eq true end it 'returns false for irrelevant string' do - expect(TagManager.instance.local_domain?('DoMaIn.Test!')).to eq false + expect(TagManager.instance.local_domain?('DoMaIn.Example.com!')).to eq false end end @@ -31,7 +31,7 @@ RSpec.describe TagManager do around do |example| original_web_domain = Rails.configuration.x.web_domain - Rails.configuration.x.web_domain = 'domain.test' + Rails.configuration.x.web_domain = 'domain.example.com' example.run @@ -43,11 +43,11 @@ RSpec.describe TagManager do end it 'returns true if the slash-stripped string equals to web domain' do - expect(TagManager.instance.web_domain?('DoMaIn.Test/')).to eq true + expect(TagManager.instance.web_domain?('DoMaIn.Example.com/')).to eq true end it 'returns false for string with irrelevant characters' do - expect(TagManager.instance.web_domain?('DoMaIn.Test!')).to eq false + expect(TagManager.instance.web_domain?('DoMaIn.Example.com!')).to eq false end end @@ -57,7 +57,7 @@ RSpec.describe TagManager do end it 'returns normalized domain' do - expect(TagManager.instance.normalize_domain('DoMaIn.Test/')).to eq 'domain.test' + expect(TagManager.instance.normalize_domain('DoMaIn.Example.com/')).to eq 'domain.example.com' end end @@ -69,18 +69,18 @@ RSpec.describe TagManager do end it 'returns true if the normalized string with port is local URL' do - Rails.configuration.x.web_domain = 'domain.test:42' - expect(TagManager.instance.local_url?('https://DoMaIn.Test:42/')).to eq true + Rails.configuration.x.web_domain = 'domain.example.com:42' + expect(TagManager.instance.local_url?('https://DoMaIn.Example.com:42/')).to eq true end it 'returns true if the normalized string without port is local URL' do - Rails.configuration.x.web_domain = 'domain.test' - expect(TagManager.instance.local_url?('https://DoMaIn.Test/')).to eq true + Rails.configuration.x.web_domain = 'domain.example.com' + expect(TagManager.instance.local_url?('https://DoMaIn.Example.com/')).to eq true end it 'returns false for string with irrelevant characters' do - Rails.configuration.x.web_domain = 'domain.test' - expect(TagManager.instance.local_url?('https://domainn.test/')).to eq false + Rails.configuration.x.web_domain = 'domain.example.com' + expect(TagManager.instance.local_url?('https://domain.example.net/')).to eq false end end end diff --git a/spec/models/report_spec.rb b/spec/models/report_spec.rb index 3d29c0219..df32a7c9d 100644 --- a/spec/models/report_spec.rb +++ b/spec/models/report_spec.rb @@ -119,7 +119,7 @@ describe Report do end end - describe 'validatiions' do + describe 'validations' do it 'has a valid fabricator' do report = Fabricate(:report) report.valid? diff --git a/spec/policies/user_policy_spec.rb b/spec/policies/user_policy_spec.rb index 1933ee014..731c041d1 100644 --- a/spec/policies/user_policy_spec.rb +++ b/spec/policies/user_policy_spec.rb @@ -114,13 +114,13 @@ RSpec.describe UserPolicy do permissions :promote? do context 'admin?' do - context 'promoteable?' do + context 'promotable?' do it 'permits' do expect(subject).to permit(admin, john.user) end end - context '!promoteable?' do + context '!promotable?' do it 'denies' do expect(subject).to_not permit(admin, admin.user) end diff --git a/spec/services/unsuspend_account_service_spec.rb b/spec/services/unsuspend_account_service_spec.rb index d52cb6cc0..0593beb6f 100644 --- a/spec/services/unsuspend_account_service_spec.rb +++ b/spec/services/unsuspend_account_service_spec.rb @@ -63,20 +63,20 @@ RSpec.describe UnsuspendAccountService, type: :service do describe 'unsuspending a remote account' do include_examples 'common behavior' do let!(:account) { Fabricate(:account, domain: 'bob.com', uri: 'https://bob.com', inbox_url: 'https://bob.com/inbox', protocol: :activitypub) } - let!(:reslove_account_service) { double } + let!(:resolve_account_service) { double } before do - allow(ResolveAccountService).to receive(:new).and_return(reslove_account_service) + allow(ResolveAccountService).to receive(:new).and_return(resolve_account_service) end context 'when the account is not remotely suspended' do before do - allow(reslove_account_service).to receive(:call).with(account).and_return(account) + allow(resolve_account_service).to receive(:call).with(account).and_return(account) end it 're-fetches the account' do subject.call - expect(reslove_account_service).to have_received(:call).with(account) + expect(resolve_account_service).to have_received(:call).with(account) end it "merges back into local followers' feeds" do @@ -92,7 +92,7 @@ RSpec.describe UnsuspendAccountService, type: :service do context 'when the account is remotely suspended' do before do - allow(reslove_account_service).to receive(:call).with(account) do |account| + allow(resolve_account_service).to receive(:call).with(account) do |account| account.suspend!(origin: :remote) account end @@ -100,7 +100,7 @@ RSpec.describe UnsuspendAccountService, type: :service do it 're-fetches the account' do subject.call - expect(reslove_account_service).to have_received(:call).with(account) + expect(resolve_account_service).to have_received(:call).with(account) end it "does not merge back into local followers' feeds" do @@ -116,12 +116,12 @@ RSpec.describe UnsuspendAccountService, type: :service do context 'when the account is remotely deleted' do before do - allow(reslove_account_service).to receive(:call).with(account).and_return(nil) + allow(resolve_account_service).to receive(:call).with(account).and_return(nil) end it 're-fetches the account' do subject.call - expect(reslove_account_service).to have_received(:call).with(account) + expect(resolve_account_service).to have_received(:call).with(account) end it "does not merge back into local followers' feeds" do diff --git a/spec/support/stories/profile_stories.rb b/spec/support/stories/profile_stories.rb index 75b413330..0c4a14d1c 100644 --- a/spec/support/stories/profile_stories.rb +++ b/spec/support/stories/profile_stories.rb @@ -22,7 +22,7 @@ module ProfileStories def with_alice_as_local_user @alice_bio = '@alice and @bob are fictional characters commonly used as'\ 'placeholder names in #cryptology, as well as #science and'\ - 'engineering 📖 literature. Not affilated with @pepe.' + 'engineering 📖 literature. Not affiliated with @pepe.' @alice = Fabricate( :user, From c439e13e1231acd763b38ea6287b60edf51cadc8 Mon Sep 17 00:00:00 2001 From: Rens Groothuijsen Date: Sun, 6 Mar 2022 23:41:44 +0100 Subject: [PATCH 029/276] Enable importing GIF emojis in CLI (#17706) --- lib/mastodon/emoji_cli.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mastodon/emoji_cli.rb b/lib/mastodon/emoji_cli.rb index 5bee70ea5..a3e947909 100644 --- a/lib/mastodon/emoji_cli.rb +++ b/lib/mastodon/emoji_cli.rb @@ -41,7 +41,7 @@ module Mastodon Gem::Package::TarReader.new(Zlib::GzipReader.open(path)) do |tar| tar.each do |entry| - next unless entry.file? && entry.full_name.end_with?('.png') + next unless entry.file? && entry.full_name.end_with?('.png', '.gif') filename = File.basename(entry.full_name, '.*') From edf09ec747ebba5a170e27eb13663462a116ec6c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 7 Mar 2022 09:36:47 +0100 Subject: [PATCH 030/276] Add `/api/v1/accounts/familiar_followers` to REST API (#17700) * Add `/api/v1/accounts/familiar_followers` to REST API * Change hide network preference to be stored consistently for local and remote accounts * Add dummy classes to migration * Apply suggestions from code review Co-authored-by: Claire Co-authored-by: Claire --- .../accounts/familiar_followers_controller.rb | 25 ++++++++ .../follower_accounts_controller.rb | 6 +- .../following_accounts_controller.rb | 6 +- .../settings/preferences_controller.rb | 1 - .../settings/profiles_controller.rb | 2 +- app/lib/user_settings_decorator.rb | 5 -- app/models/account.rb | 4 +- app/models/user.rb | 6 +- .../familiar_followers_presenter.rb | 17 ++++++ .../rest/familiar_followers_serializer.rb | 11 ++++ app/views/follower_accounts/index.html.haml | 2 +- app/views/following_accounts/index.html.haml | 2 +- .../settings/preferences/other/show.html.haml | 3 - app/views/settings/profiles/show.html.haml | 5 +- config/locales/simple_form.en.yml | 3 +- config/routes.rb | 1 + config/settings.yml | 1 - ...4195405_migrate_hide_network_preference.rb | 37 ++++++++++++ db/schema.rb | 2 +- .../follower_accounts_controller_spec.rb | 2 +- .../following_accounts_controller_spec.rb | 2 +- .../familiar_followers_presenter_spec.rb | 58 +++++++++++++++++++ 22 files changed, 169 insertions(+), 32 deletions(-) create mode 100644 app/controllers/api/v1/accounts/familiar_followers_controller.rb create mode 100644 app/presenters/familiar_followers_presenter.rb create mode 100644 app/serializers/rest/familiar_followers_serializer.rb create mode 100644 db/migrate/20220304195405_migrate_hide_network_preference.rb create mode 100644 spec/presenters/familiar_followers_presenter_spec.rb diff --git a/app/controllers/api/v1/accounts/familiar_followers_controller.rb b/app/controllers/api/v1/accounts/familiar_followers_controller.rb new file mode 100644 index 000000000..b0bd8018a --- /dev/null +++ b/app/controllers/api/v1/accounts/familiar_followers_controller.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +class Api::V1::Accounts::FamiliarFollowersController < Api::BaseController + before_action -> { doorkeeper_authorize! :read, :'read:follows' } + before_action :require_user! + before_action :set_accounts + + def index + render json: familiar_followers.accounts, each_serializer: REST::FamiliarFollowersSerializer + end + + private + + def set_accounts + @accounts = Account.without_suspended.where(id: account_ids).select('id, hide_collections').index_by(&:id).values_at(*account_ids).compact + end + + def familiar_followers + FamiliarFollowersPresenter.new(@accounts, current_user.account_id) + end + + def account_ids + Array(params[:id]).map(&:to_i) + end +end diff --git a/app/controllers/follower_accounts_controller.rb b/app/controllers/follower_accounts_controller.rb index b3589a39f..f3f8336c9 100644 --- a/app/controllers/follower_accounts_controller.rb +++ b/app/controllers/follower_accounts_controller.rb @@ -15,13 +15,13 @@ class FollowerAccountsController < ApplicationController format.html do expires_in 0, public: true unless user_signed_in? - next if @account.user_hides_network? + next if @account.hide_collections? follows end format.json do - raise Mastodon::NotPermittedError if page_requested? && @account.user_hides_network? + raise Mastodon::NotPermittedError if page_requested? && @account.hide_collections? expires_in(page_requested? ? 0 : 3.minutes, public: public_fetch_mode?) @@ -82,7 +82,7 @@ class FollowerAccountsController < ApplicationController end def restrict_fields_to - if page_requested? || !@account.user_hides_network? + if page_requested? || !@account.hide_collections? # Return all fields else %i(id type total_items) diff --git a/app/controllers/following_accounts_controller.rb b/app/controllers/following_accounts_controller.rb index 8a72dc475..9d7f4c9bf 100644 --- a/app/controllers/following_accounts_controller.rb +++ b/app/controllers/following_accounts_controller.rb @@ -15,13 +15,13 @@ class FollowingAccountsController < ApplicationController format.html do expires_in 0, public: true unless user_signed_in? - next if @account.user_hides_network? + next if @account.hide_collections? follows end format.json do - raise Mastodon::NotPermittedError if page_requested? && @account.user_hides_network? + raise Mastodon::NotPermittedError if page_requested? && @account.hide_collections? expires_in(page_requested? ? 0 : 3.minutes, public: public_fetch_mode?) @@ -82,7 +82,7 @@ class FollowingAccountsController < ApplicationController end def restrict_fields_to - if page_requested? || !@account.user_hides_network? + if page_requested? || !@account.hide_collections? # Return all fields else %i(id type total_items) diff --git a/app/controllers/settings/preferences_controller.rb b/app/controllers/settings/preferences_controller.rb index 32b5d7948..c7492700c 100644 --- a/app/controllers/settings/preferences_controller.rb +++ b/app/controllers/settings/preferences_controller.rb @@ -47,7 +47,6 @@ class Settings::PreferencesController < Settings::BaseController :setting_system_font_ui, :setting_noindex, :setting_theme, - :setting_hide_network, :setting_aggregate_reblogs, :setting_show_application, :setting_advanced_layout, diff --git a/app/controllers/settings/profiles_controller.rb b/app/controllers/settings/profiles_controller.rb index 0c15447a6..be5b4f302 100644 --- a/app/controllers/settings/profiles_controller.rb +++ b/app/controllers/settings/profiles_controller.rb @@ -20,7 +20,7 @@ class Settings::ProfilesController < Settings::BaseController private def account_params - params.require(:account).permit(:display_name, :note, :avatar, :header, :locked, :bot, :discoverable, fields_attributes: [:name, :value]) + params.require(:account).permit(:display_name, :note, :avatar, :header, :locked, :bot, :discoverable, :hide_collections, fields_attributes: [:name, :value]) end def set_account diff --git a/app/lib/user_settings_decorator.rb b/app/lib/user_settings_decorator.rb index e37bc6d9f..de054e403 100644 --- a/app/lib/user_settings_decorator.rb +++ b/app/lib/user_settings_decorator.rb @@ -31,7 +31,6 @@ class UserSettingsDecorator user.settings['system_font_ui'] = system_font_ui_preference if change?('setting_system_font_ui') user.settings['noindex'] = noindex_preference if change?('setting_noindex') user.settings['theme'] = theme_preference if change?('setting_theme') - user.settings['hide_network'] = hide_network_preference if change?('setting_hide_network') user.settings['aggregate_reblogs'] = aggregate_reblogs_preference if change?('setting_aggregate_reblogs') user.settings['show_application'] = show_application_preference if change?('setting_show_application') user.settings['advanced_layout'] = advanced_layout_preference if change?('setting_advanced_layout') @@ -97,10 +96,6 @@ class UserSettingsDecorator boolean_cast_setting 'setting_noindex' end - def hide_network_preference - boolean_cast_setting 'setting_hide_network' - end - def show_application_preference boolean_cast_setting 'setting_show_application' end diff --git a/app/models/account.rb b/app/models/account.rb index dfdf9045f..1717f1605 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -349,11 +349,11 @@ class Account < ApplicationRecord end def hides_followers? - hide_collections? || user_hides_network? + hide_collections? end def hides_following? - hide_collections? || user_hides_network? + hide_collections? end def object_type diff --git a/app/models/user.rb b/app/models/user.rb index bbf850d84..146bdcd2a 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -126,7 +126,7 @@ class User < ApplicationRecord has_many :session_activations, dependent: :destroy delegate :auto_play_gif, :default_sensitive, :unfollow_modal, :boost_modal, :delete_modal, - :reduce_motion, :system_font_ui, :noindex, :theme, :display_media, :hide_network, + :reduce_motion, :system_font_ui, :noindex, :theme, :display_media, :expand_spoilers, :default_language, :aggregate_reblogs, :show_application, :advanced_layout, :use_blurhash, :use_pending_items, :trends, :crop_images, :disable_swiping, @@ -273,10 +273,6 @@ class User < ApplicationRecord settings.notification_emails['trending_tag'] end - def hides_network? - @hides_network ||= settings.hide_network - end - def aggregates_reblogs? @aggregates_reblogs ||= settings.aggregate_reblogs end diff --git a/app/presenters/familiar_followers_presenter.rb b/app/presenters/familiar_followers_presenter.rb new file mode 100644 index 000000000..c1d944b80 --- /dev/null +++ b/app/presenters/familiar_followers_presenter.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +class FamiliarFollowersPresenter + class Result < ActiveModelSerializers::Model + attributes :id, :accounts + end + + def initialize(accounts, current_account_id) + @accounts = accounts + @current_account_id = current_account_id + end + + def accounts + map = Follow.includes(account: :account_stat).where(target_account_id: @accounts.map(&:id)).where(account_id: Follow.where(account_id: @current_account_id).joins(:target_account).merge(Account.where(hide_collections: [nil, false])).select(:target_account_id)).group_by(&:target_account_id) + @accounts.map { |account| Result.new(id: account.id, accounts: (account.hide_collections? ? [] : (map[account.id] || [])).map(&:account)) } + end +end diff --git a/app/serializers/rest/familiar_followers_serializer.rb b/app/serializers/rest/familiar_followers_serializer.rb new file mode 100644 index 000000000..0a7e923f8 --- /dev/null +++ b/app/serializers/rest/familiar_followers_serializer.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +class REST::FamiliarFollowersSerializer < ActiveModel::Serializer + attribute :id + + has_many :accounts, serializer: REST::AccountSerializer + + def id + object.id.to_s + end +end diff --git a/app/views/follower_accounts/index.html.haml b/app/views/follower_accounts/index.html.haml index 645dd2de1..92de35a9f 100644 --- a/app/views/follower_accounts/index.html.haml +++ b/app/views/follower_accounts/index.html.haml @@ -7,7 +7,7 @@ = render 'accounts/header', account: @account -- if @account.user_hides_network? +- if @account.hide_collections? .nothing-here= t('accounts.network_hidden') - elsif user_signed_in? && @account.blocking?(current_account) .nothing-here= t('accounts.unavailable') diff --git a/app/views/following_accounts/index.html.haml b/app/views/following_accounts/index.html.haml index 17fe79018..9bb1a9edd 100644 --- a/app/views/following_accounts/index.html.haml +++ b/app/views/following_accounts/index.html.haml @@ -7,7 +7,7 @@ = render 'accounts/header', account: @account -- if @account.user_hides_network? +- if @account.hide_collections? .nothing-here= t('accounts.network_hidden') - elsif user_signed_in? && @account.blocking?(current_account) .nothing-here= t('accounts.unavailable') diff --git a/app/views/settings/preferences/other/show.html.haml b/app/views/settings/preferences/other/show.html.haml index b7ae3d2ef..44f4af2eb 100644 --- a/app/views/settings/preferences/other/show.html.haml +++ b/app/views/settings/preferences/other/show.html.haml @@ -10,9 +10,6 @@ .fields-group = f.input :setting_noindex, as: :boolean, wrapper: :with_label - .fields-group - = f.input :setting_hide_network, as: :boolean, wrapper: :with_label - .fields-group = f.input :setting_aggregate_reblogs, as: :boolean, wrapper: :with_label, recommended: true diff --git a/app/views/settings/profiles/show.html.haml b/app/views/settings/profiles/show.html.haml index d325a9ea5..fe9666d84 100644 --- a/app/views/settings/profiles/show.html.haml +++ b/app/views/settings/profiles/show.html.haml @@ -30,7 +30,10 @@ = f.input :bot, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.bot') .fields-group - = f.input :discoverable, as: :boolean, wrapper: :with_label, hint: t(Setting.profile_directory ? 'simple_form.hints.defaults.discoverable' : 'simple_form.hints.defaults.discoverable_no_directory'), recommended: true + = f.input :discoverable, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.discoverable'), recommended: true + + .fields-group + = f.input :hide_collections, as: :boolean, wrapper: :with_label, label: t('simple_form.labels.defaults.setting_hide_network'), hint: t('simple_form.hints.defaults.setting_hide_network') %hr.spacer/ diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index c5e75b408..b19b7891f 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -37,8 +37,7 @@ en: current_password: For security purposes please enter the password of the current account current_username: To confirm, please enter the username of the current account digest: Only sent after a long period of inactivity and only if you have received any personal messages in your absence - discoverable: Allow your account to be discovered by strangers through recommendations, profile directory and other features - discoverable_no_directory: Allow your account to be discovered by strangers through recommendations and other features + discoverable: Allow your account to be discovered by strangers through recommendations, trends and other features email: You will be sent a confirmation e-mail fields: You can have up to 4 items displayed as a table on your profile header: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px diff --git a/config/routes.rb b/config/routes.rb index 25eb1558f..9e2f7a648 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -493,6 +493,7 @@ Rails.application.routes.draw do resource :search, only: :show, controller: :search resource :lookup, only: :show, controller: :lookup resources :relationships, only: :index + resources :familiar_followers, only: :index end resources :accounts, only: [:create, :show] do diff --git a/config/settings.yml b/config/settings.yml index e63788ba2..06dd2b3f3 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -17,7 +17,6 @@ defaults: &defaults timeline_preview: true show_staff_badge: true default_sensitive: false - hide_network: false unfollow_modal: false boost_modal: false delete_modal: true diff --git a/db/migrate/20220304195405_migrate_hide_network_preference.rb b/db/migrate/20220304195405_migrate_hide_network_preference.rb new file mode 100644 index 000000000..102ee46d6 --- /dev/null +++ b/db/migrate/20220304195405_migrate_hide_network_preference.rb @@ -0,0 +1,37 @@ +class MigrateHideNetworkPreference < ActiveRecord::Migration[6.1] + disable_ddl_transaction! + + # Dummy classes, to make migration possible across version changes + class Account < ApplicationRecord + has_one :user, inverse_of: :account + scope :local, -> { where(domain: nil) } + end + + class User < ApplicationRecord + belongs_to :account + end + + def up + Account.reset_column_information + + Setting.unscoped.where(thing_type: 'User', var: 'hide_network').find_each do |setting| + account = User.find(setting.thing_id).account + + ApplicationRecord.transaction do + account.update(hide_collections: setting.value) + setting.delete + end + rescue ActiveRecord::RecordNotFound + next + end + end + + def down + Account.local.where(hide_collections: true).includes(:user).find_each do |account| + ApplicationRecord.transaction do + Setting.create(thing_type: 'User', thing_id: account.user.id, var: 'hide_network', value: account.hide_collections?) + account.update(hide_collections: nil) + end + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 756e5e9ab..3666804ee 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2022_02_27_041951) do +ActiveRecord::Schema.define(version: 2022_03_04_195405) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" diff --git a/spec/controllers/follower_accounts_controller_spec.rb b/spec/controllers/follower_accounts_controller_spec.rb index eb095cf30..4d2a6e01a 100644 --- a/spec/controllers/follower_accounts_controller_spec.rb +++ b/spec/controllers/follower_accounts_controller_spec.rb @@ -103,7 +103,7 @@ describe FollowerAccountsController do context 'when account hides their network' do before do - alice.user.settings.hide_network = true + alice.update(hide_collections: true) end it 'returns followers count' do diff --git a/spec/controllers/following_accounts_controller_spec.rb b/spec/controllers/following_accounts_controller_spec.rb index af5ce0787..bb6d221ca 100644 --- a/spec/controllers/following_accounts_controller_spec.rb +++ b/spec/controllers/following_accounts_controller_spec.rb @@ -103,7 +103,7 @@ describe FollowingAccountsController do context 'when account hides their network' do before do - alice.user.settings.hide_network = true + alice.update(hide_collections: true) end it 'returns followers count' do diff --git a/spec/presenters/familiar_followers_presenter_spec.rb b/spec/presenters/familiar_followers_presenter_spec.rb new file mode 100644 index 000000000..17be4b971 --- /dev/null +++ b/spec/presenters/familiar_followers_presenter_spec.rb @@ -0,0 +1,58 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe FamiliarFollowersPresenter do + describe '#accounts' do + let(:account) { Fabricate(:account) } + let(:familiar_follower) { Fabricate(:account) } + let(:requested_accounts) { Fabricate.times(2, :account) } + + subject { described_class.new(requested_accounts, account.id) } + + before do + familiar_follower.follow!(requested_accounts.first) + account.follow!(familiar_follower) + end + + it 'returns a result for each requested account' do + expect(subject.accounts.map(&:id)).to eq requested_accounts.map(&:id) + end + + it 'returns followers you follow' do + result = subject.accounts.first + + expect(result).to_not be_nil + expect(result.id).to eq requested_accounts.first.id + expect(result.accounts).to match_array([familiar_follower]) + end + + context 'when requested account hides followers' do + before do + requested_accounts.first.update(hide_collections: true) + end + + it 'does not return followers you follow' do + result = subject.accounts.first + + expect(result).to_not be_nil + expect(result.id).to eq requested_accounts.first.id + expect(result.accounts).to be_empty + end + end + + context 'when familiar follower hides follows' do + before do + familiar_follower.update(hide_collections: true) + end + + it 'does not return followers you follow' do + result = subject.accounts.first + + expect(result).to_not be_nil + expect(result.id).to eq requested_accounts.first.id + expect(result.accounts).to be_empty + end + end + end +end From 292c75aa319c877406356a1cb4fb41f4ab597cfd Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 7 Mar 2022 11:21:27 +0100 Subject: [PATCH 031/276] Fix nil error when submitting report without `rule_ids` (#17713) --- app/models/report.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/report.rb b/app/models/report.rb index 3dd8a6fdd..8ba2dd8fd 100644 --- a/app/models/report.rb +++ b/app/models/report.rb @@ -129,6 +129,6 @@ class Report < ApplicationRecord def validate_rule_ids return unless violation? - errors.add(:rule_ids, I18n.t('reports.errors.invalid_rules')) unless rules.size == rule_ids.size + errors.add(:rule_ids, I18n.t('reports.errors.invalid_rules')) unless rules.size == rule_ids&.size end end From dba4be1038063845a74e83aaa85d6ab08d5625dd Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 7 Mar 2022 11:38:52 +0100 Subject: [PATCH 032/276] Change appearance of account cards in web UI (#17689) * Change appearance of account cards in web UI * Various fixes and improvements * Various fixes and improvements --- .../directory/components/account_card.js | 204 +++++++----------- .../mastodon/features/directory/index.js | 10 +- .../mastodon/features/explore/suggestions.js | 8 +- .../styles/mastodon-light/diff.scss | 13 +- app/javascript/styles/mastodon/admin.scss | 50 +++-- .../styles/mastodon/components.scss | 153 ++----------- .../styles/mastodon/containers.scss | 24 +-- app/javascript/styles/mastodon/rtl.scss | 5 - app/views/directories/index.html.haml | 57 +++-- config/locales/en.yml | 1 - 10 files changed, 178 insertions(+), 347 deletions(-) diff --git a/app/javascript/mastodon/features/directory/components/account_card.js b/app/javascript/mastodon/features/directory/components/account_card.js index 03e13f28e..31f59cd84 100644 --- a/app/javascript/mastodon/features/directory/components/account_card.js +++ b/app/javascript/mastodon/features/directory/components/account_card.js @@ -7,31 +7,28 @@ import { makeGetAccount } from 'mastodon/selectors'; import Avatar from 'mastodon/components/avatar'; import DisplayName from 'mastodon/components/display_name'; import Permalink from 'mastodon/components/permalink'; -import RelativeTimestamp from 'mastodon/components/relative_timestamp'; -import IconButton from 'mastodon/components/icon_button'; +import Button from 'mastodon/components/button'; import { FormattedMessage, injectIntl, defineMessages } from 'react-intl'; import { autoPlayGif, me, unfollowModal } from 'mastodon/initial_state'; import ShortNumber from 'mastodon/components/short_number'; import { followAccount, unfollowAccount, - blockAccount, unblockAccount, unmuteAccount, } from 'mastodon/actions/accounts'; import { openModal } from 'mastodon/actions/modal'; -import { initMuteModal } from 'mastodon/actions/mutes'; +import classNames from 'classnames'; const messages = defineMessages({ - follow: { id: 'account.follow', defaultMessage: 'Follow' }, unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' }, - requested: { id: 'account.requested', defaultMessage: 'Awaiting approval' }, - unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' }, - unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' }, - unfollowConfirm: { - id: 'confirmations.unfollow.confirm', - defaultMessage: 'Unfollow', - }, + follow: { id: 'account.follow', defaultMessage: 'Follow' }, + cancel_follow_request: { id: 'account.cancel_follow_request', defaultMessage: 'Cancel follow request' }, + requested: { id: 'account.requested', defaultMessage: 'Awaiting approval. Click to cancel follow request' }, + unblock: { id: 'account.unblock_short', defaultMessage: 'Unblock' }, + unmute: { id: 'account.unmute_short', defaultMessage: 'Unmute' }, + unfollowConfirm: { id: 'confirmations.unfollow.confirm', defaultMessage: 'Unfollow' }, + edit_profile: { id: 'account.edit_profile', defaultMessage: 'Edit profile' }, }); const makeMapStateToProps = () => { @@ -75,18 +72,15 @@ const mapDispatchToProps = (dispatch, { intl }) => ({ onBlock(account) { if (account.getIn(['relationship', 'blocking'])) { dispatch(unblockAccount(account.get('id'))); - } else { - dispatch(blockAccount(account.get('id'))); } }, onMute(account) { if (account.getIn(['relationship', 'muting'])) { dispatch(unmuteAccount(account.get('id'))); - } else { - dispatch(initMuteModal(account)); } }, + }); export default @@ -138,130 +132,92 @@ class AccountCard extends ImmutablePureComponent { handleMute = () => { this.props.onMute(this.props.account); - }; + } + + handleEditProfile = () => { + window.open('/settings/profile', '_blank'); + } render() { const { account, intl } = this.props; - let buttons; + let actionBtn; - if ( - account.get('id') !== me && - account.get('relationship', null) !== null - ) { - const following = account.getIn(['relationship', 'following']); - const requested = account.getIn(['relationship', 'requested']); - const blocking = account.getIn(['relationship', 'blocking']); - const muting = account.getIn(['relationship', 'muting']); - - if (requested) { - buttons = ( - - ); - } else if (blocking) { - buttons = ( - - ); - } else if (muting) { - buttons = ( - - ); - } else if (!account.get('moved') || following) { - buttons = ( - - ); + if (me !== account.get('id')) { + if (!account.get('relationship')) { // Wait until the relationship is loaded + actionBtn = ''; + } else if (account.getIn(['relationship', 'requested'])) { + actionBtn = {!isEditingStatus && ()}

    + + {(media.get('description') || '').length === 0 && ( +
    + +
    + )} )} diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index da2492052..d1b36d33b 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -596,30 +596,24 @@ display: flex; align-items: flex-start; justify-content: space-between; - opacity: 0; - transition: opacity .1s ease; + } - .icon-button { - flex: 0 1 auto; - color: $secondary-text-color; - font-size: 14px; - font-weight: 500; - padding: 10px; - font-family: inherit; + .icon-button { + flex: 0 1 auto; + color: $secondary-text-color; + font-size: 14px; + font-weight: 500; + padding: 10px; + font-family: inherit; - &:hover, - &:focus, - &:active { - color: lighten($secondary-text-color, 7%); - } - } - - &.active { - opacity: 1; + &:hover, + &:focus, + &:active { + color: lighten($secondary-text-color, 7%); } } - &-description { + &__warning { position: absolute; z-index: 2; bottom: 0; @@ -627,34 +621,6 @@ right: 0; box-sizing: border-box; background: linear-gradient(0deg, rgba($base-shadow-color, 0.8) 0, rgba($base-shadow-color, 0.35) 80%, transparent); - padding: 10px; - opacity: 0; - transition: opacity .1s ease; - - textarea { - background: transparent; - color: $secondary-text-color; - border: 0; - padding: 0; - margin: 0; - width: 100%; - font-family: inherit; - font-size: 14px; - font-weight: 500; - - &:focus { - color: $white; - } - - &::placeholder { - opacity: 0.75; - color: $secondary-text-color; - } - } - - &.active { - opacity: 1; - } } } From 392b367835c3c25e37be7c45e8cd130422de10aa Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 22 Mar 2022 10:07:11 +0100 Subject: [PATCH 127/276] Fix IDN domains not being rendered correctly in a few left-over places (#17848) --- app/views/accounts/_moved.html.haml | 4 +- app/views/admin/account_actions/new.html.haml | 4 +- .../_account_warning.html.haml | 2 +- app/views/admin/accounts/show.html.haml | 2 +- app/views/admin/change_emails/show.html.haml | 2 +- .../admin/disputes/appeals/_appeal.html.haml | 2 +- app/views/admin/relationships/index.html.haml | 2 +- app/views/admin/statuses/index.html.haml | 2 +- app/views/admin_mailer/new_report.text.erb | 2 +- .../auth/registrations/_status.html.haml | 2 +- .../authorize_interactions/show.html.haml | 2 +- .../authorize_interactions/success.html.haml | 2 +- .../notification_mailer/_status.html.haml | 2 +- app/views/notification_mailer/digest.text.erb | 2 +- .../notification_mailer/favourite.html.haml | 2 +- .../notification_mailer/favourite.text.erb | 2 +- .../notification_mailer/follow.html.haml | 2 +- app/views/notification_mailer/follow.text.erb | 2 +- .../follow_request.html.haml | 2 +- .../follow_request.text.erb | 2 +- .../notification_mailer/mention.html.haml | 2 +- .../notification_mailer/mention.text.erb | 2 +- .../notification_mailer/reblog.html.haml | 2 +- app/views/notification_mailer/reblog.text.erb | 2 +- app/views/settings/aliases/index.html.haml | 2 +- app/views/settings/migrations/show.html.haml | 4 +- config/brakeman.ignore | 80 ++++++++++++------- 27 files changed, 79 insertions(+), 59 deletions(-) diff --git a/app/views/accounts/_moved.html.haml b/app/views/accounts/_moved.html.haml index 4f71b062d..2f46e0dd0 100644 --- a/app/views/accounts/_moved.html.haml +++ b/app/views/accounts/_moved.html.haml @@ -3,7 +3,7 @@ .moved-account-widget .moved-account-widget__message = fa_icon 'suitcase' - = t('accounts.moved_html', name: content_tag(:bdi, content_tag(:strong, display_name(account, custom_emojify: true), class: :emojify)), new_profile_link: link_to(content_tag(:strong, safe_join(['@', content_tag(:span, moved_to_account.acct)])), ActivityPub::TagManager.instance.url_for(moved_to_account), class: 'mention')) + = t('accounts.moved_html', name: content_tag(:bdi, content_tag(:strong, display_name(account, custom_emojify: true), class: :emojify)), new_profile_link: link_to(content_tag(:strong, safe_join(['@', content_tag(:span, moved_to_account.pretty_acct)])), ActivityPub::TagManager.instance.url_for(moved_to_account), class: 'mention')) .moved-account-widget__card = link_to ActivityPub::TagManager.instance.url_for(moved_to_account), class: 'detailed-status__display-name p-author h-card', target: '_blank', rel: 'me noopener noreferrer' do @@ -17,4 +17,4 @@ %span.display-name %bdi %strong.emojify= display_name(moved_to_account, custom_emojify: true) - %span @#{moved_to_account.acct} + %span @#{moved_to_account.pretty_acct} diff --git a/app/views/admin/account_actions/new.html.haml b/app/views/admin/account_actions/new.html.haml index ca4f9663f..c7bb618df 100644 --- a/app/views/admin/account_actions/new.html.haml +++ b/app/views/admin/account_actions/new.html.haml @@ -1,11 +1,11 @@ - content_for :page_title do - = t('admin.account_actions.title', acct: @account.acct) + = t('admin.account_actions.title', acct: @account.pretty_acct) = simple_form_for @account_action, url: admin_account_action_path(@account.id) do |f| = f.input :report_id, as: :hidden .fields-group - = f.input :type, as: :radio_buttons, collection: Admin::AccountAction.types_for_account(@account), include_blank: false, wrapper: :with_block_label, label_method: ->(type) { safe_join([I18n.t("simple_form.labels.admin_account_action.types.#{type}"), content_tag(:span, I18n.t("simple_form.hints.admin_account_action.types.#{type}"), class: 'hint')])}, hint: t('simple_form.hints.admin_account_action.type_html', acct: @account.acct) + = f.input :type, as: :radio_buttons, collection: Admin::AccountAction.types_for_account(@account), include_blank: false, wrapper: :with_block_label, label_method: ->(type) { safe_join([I18n.t("simple_form.labels.admin_account_action.types.#{type}"), content_tag(:span, I18n.t("simple_form.hints.admin_account_action.types.#{type}"), class: 'hint')])}, hint: t('simple_form.hints.admin_account_action.type_html', acct: @account.pretty_acct) - if @account.local? %hr.spacer/ diff --git a/app/views/admin/account_warnings/_account_warning.html.haml b/app/views/admin/account_warnings/_account_warning.html.haml index 1462e76d0..030635185 100644 --- a/app/views/admin/account_warnings/_account_warning.html.haml +++ b/app/views/admin/account_warnings/_account_warning.html.haml @@ -5,7 +5,7 @@ = fa_icon 'warning' .log-entry__content .log-entry__title - = t(account_warning.action, scope: 'admin.strikes.actions', name: content_tag(:span, account_warning.account.username, class: 'username'), target: content_tag(:span, account_warning.target_account.acct, class: 'target')).html_safe + = t(account_warning.action, scope: 'admin.strikes.actions', name: content_tag(:span, account_warning.account.username, class: 'username'), target: content_tag(:span, account_warning.target_account.pretty_acct, class: 'target')).html_safe .log-entry__timestamp %time.formatted{ datetime: account_warning.created_at.iso8601 } = l(account_warning.created_at) diff --git a/app/views/admin/accounts/show.html.haml b/app/views/admin/accounts/show.html.haml index 9a1f07a06..805cf8a4f 100644 --- a/app/views/admin/accounts/show.html.haml +++ b/app/views/admin/accounts/show.html.haml @@ -1,5 +1,5 @@ - content_for :page_title do - = @account.acct + = @account.pretty_acct - if @account.instance_actor? .flash-message.notice diff --git a/app/views/admin/change_emails/show.html.haml b/app/views/admin/change_emails/show.html.haml index 6ff0d785e..bc00d6114 100644 --- a/app/views/admin/change_emails/show.html.haml +++ b/app/views/admin/change_emails/show.html.haml @@ -1,5 +1,5 @@ - content_for :page_title do - = t('admin.accounts.change_email.title', username: @account.acct) + = t('admin.accounts.change_email.title', username: @account.username) = simple_form_for @user, url: admin_account_change_email_path(@account.id) do |f| .fields-group diff --git a/app/views/admin/disputes/appeals/_appeal.html.haml b/app/views/admin/disputes/appeals/_appeal.html.haml index 02b8777e1..3f6efb856 100644 --- a/app/views/admin/disputes/appeals/_appeal.html.haml +++ b/app/views/admin/disputes/appeals/_appeal.html.haml @@ -4,7 +4,7 @@ = image_tag appeal.account.avatar.url(:original), alt: '', width: 40, height: 40, class: 'avatar' .log-entry__content .log-entry__title - = t(appeal.strike.action, scope: 'admin.strikes.actions', name: content_tag(:span, appeal.strike.account.username, class: 'username'), target: content_tag(:span, appeal.account.acct, class: 'target')).html_safe + = t(appeal.strike.action, scope: 'admin.strikes.actions', name: content_tag(:span, appeal.strike.account.username, class: 'username'), target: content_tag(:span, appeal.account.username, class: 'target')).html_safe .log-entry__timestamp %time.formatted{ datetime: appeal.strike.created_at.iso8601 } = l(appeal.strike.created_at) diff --git a/app/views/admin/relationships/index.html.haml b/app/views/admin/relationships/index.html.haml index 60b9b5b25..f82cf26a3 100644 --- a/app/views/admin/relationships/index.html.haml +++ b/app/views/admin/relationships/index.html.haml @@ -1,5 +1,5 @@ - content_for :page_title do - = t('admin.relationships.title', acct: @account.acct) + = t('admin.relationships.title', acct: @account.pretty_acct) .filters .filter-subset diff --git a/app/views/admin/statuses/index.html.haml b/app/views/admin/statuses/index.html.haml index 7e2114cc2..d3d7cc160 100644 --- a/app/views/admin/statuses/index.html.haml +++ b/app/views/admin/statuses/index.html.haml @@ -4,7 +4,7 @@ - content_for :page_title do = t('admin.statuses.title') \- - = "@#{@account.acct}" + = "@#{@account.pretty_acct}" .filters .filter-subset diff --git a/app/views/admin_mailer/new_report.text.erb b/app/views/admin_mailer/new_report.text.erb index d6c7d6bab..f8a5224a1 100644 --- a/app/views/admin_mailer/new_report.text.erb +++ b/app/views/admin_mailer/new_report.text.erb @@ -1,5 +1,5 @@ <%= raw t('application_mailer.salutation', name: display_name(@me)) %> -<%= raw(@report.account.local? ? t('admin_mailer.new_report.body', target: @report.target_account.acct, reporter: @report.account.acct) : t('admin_mailer.new_report.body_remote', target: @report.target_account.acct, domain: @report.account.domain)) %> +<%= raw(@report.account.local? ? t('admin_mailer.new_report.body', target: @report.target_account.pretty_acct, reporter: @report.account.pretty_acct) : t('admin_mailer.new_report.body_remote', target: @report.target_account.acct, domain: @report.account.domain)) %> <%= raw t('application_mailer.view')%> <%= admin_report_url(@report) %> diff --git a/app/views/auth/registrations/_status.html.haml b/app/views/auth/registrations/_status.html.haml index 68954a5da..759bbc41c 100644 --- a/app/views/auth/registrations/_status.html.haml +++ b/app/views/auth/registrations/_status.html.haml @@ -7,7 +7,7 @@ = t('auth.status.pending') - elsif @user.account.moved_to_account_id.present? .flash-message.warning - = t('auth.status.redirecting_to', acct: @user.account.moved_to_account.acct) + = t('auth.status.redirecting_to', acct: @user.account.moved_to_account.pretty_acct) = link_to t('migrations.cancel'), settings_migration_path %h3= t('auth.status.account_status') diff --git a/app/views/authorize_interactions/show.html.haml b/app/views/authorize_interactions/show.html.haml index 42c874134..2b4d2ed62 100644 --- a/app/views/authorize_interactions/show.html.haml +++ b/app/views/authorize_interactions/show.html.haml @@ -1,5 +1,5 @@ - content_for :page_title do - = t('authorize_follow.title', acct: @resource.acct) + = t('authorize_follow.title', acct: @resource.pretty_acct) .form-container .follow-prompt diff --git a/app/views/authorize_interactions/success.html.haml b/app/views/authorize_interactions/success.html.haml index 47fd09767..86fa55eac 100644 --- a/app/views/authorize_interactions/success.html.haml +++ b/app/views/authorize_interactions/success.html.haml @@ -1,5 +1,5 @@ - content_for :page_title do - = t('authorize_follow.title', acct: @resource.acct) + = t('authorize_follow.title', acct: @resource.pretty_acct) .form-container .follow-prompt diff --git a/app/views/notification_mailer/_status.html.haml b/app/views/notification_mailer/_status.html.haml index f520208e1..219e7e667 100644 --- a/app/views/notification_mailer/_status.html.haml +++ b/app/views/notification_mailer/_status.html.haml @@ -23,7 +23,7 @@ = image_tag full_asset_url(status.account.avatar.url), alt:'' %td{ align: 'left' } %bdi= display_name(status.account) - = "@#{status.account.acct}" + = "@#{status.account.pretty_acct}" - if status.spoiler_text? %div.auto-dir diff --git a/app/views/notification_mailer/digest.text.erb b/app/views/notification_mailer/digest.text.erb index b2c85a9e3..4cd4190c1 100644 --- a/app/views/notification_mailer/digest.text.erb +++ b/app/views/notification_mailer/digest.text.erb @@ -3,7 +3,7 @@ <%= raw t('notification_mailer.digest.body', since: l(@me.user_current_sign_in_at || @since), instance: root_url) %> <% @notifications.each do |notification| %> -* <%= raw t('notification_mailer.digest.mention', name: notification.from_account.acct) %> +* <%= raw t('notification_mailer.digest.mention', name: notification.from_account.pretty_acct) %> <%= raw Formatter.instance.plaintext(notification.target_status) %> diff --git a/app/views/notification_mailer/favourite.html.haml b/app/views/notification_mailer/favourite.html.haml index a715d615c..ebc5c29c7 100644 --- a/app/views/notification_mailer/favourite.html.haml +++ b/app/views/notification_mailer/favourite.html.haml @@ -20,7 +20,7 @@ = image_tag full_pack_url('media/images/mailer/icon_grade.png'), alt:'' %h1= t 'notification_mailer.favourite.title' - %p.lead= t('notification_mailer.favourite.body', name: @account.acct) + %p.lead= t('notification_mailer.favourite.body', name: @account.pretty_acct) = render 'status', status: @status diff --git a/app/views/notification_mailer/favourite.text.erb b/app/views/notification_mailer/favourite.text.erb index 2581b4909..f4f869656 100644 --- a/app/views/notification_mailer/favourite.text.erb +++ b/app/views/notification_mailer/favourite.text.erb @@ -1,5 +1,5 @@ <%= raw t('application_mailer.salutation', name: display_name(@me)) %> -<%= raw t('notification_mailer.favourite.body', name: @account.acct) %> +<%= raw t('notification_mailer.favourite.body', name: @account.pretty_acct) %> <%= render 'status', status: @status %> diff --git a/app/views/notification_mailer/follow.html.haml b/app/views/notification_mailer/follow.html.haml index cd84f7858..a59ef8835 100644 --- a/app/views/notification_mailer/follow.html.haml +++ b/app/views/notification_mailer/follow.html.haml @@ -20,7 +20,7 @@ = image_tag full_pack_url('media/images/mailer/icon_person_add.png'), alt: '' %h1= t 'notification_mailer.follow.title' - %p.lead= t('notification_mailer.follow.body', name: @account.acct) + %p.lead= t('notification_mailer.follow.body', name: @account.pretty_acct) %table.email-table{ cellspacing: 0, cellpadding: 0 } %tbody diff --git a/app/views/notification_mailer/follow.text.erb b/app/views/notification_mailer/follow.text.erb index cbe46f552..016a0a4cf 100644 --- a/app/views/notification_mailer/follow.text.erb +++ b/app/views/notification_mailer/follow.text.erb @@ -1,5 +1,5 @@ <%= raw t('application_mailer.salutation', name: display_name(@me)) %> -<%= raw t('notification_mailer.follow.body', name: @account.acct) %> +<%= raw t('notification_mailer.follow.body', name: @account.pretty_acct) %> <%= raw t('application_mailer.view')%> <%= web_url("accounts/#{@account.id}") %> diff --git a/app/views/notification_mailer/follow_request.html.haml b/app/views/notification_mailer/follow_request.html.haml index a63e27a90..4c32c831e 100644 --- a/app/views/notification_mailer/follow_request.html.haml +++ b/app/views/notification_mailer/follow_request.html.haml @@ -20,7 +20,7 @@ = image_tag full_pack_url('media/images/mailer/icon_person_add.png'), alt: '' %h1= t 'notification_mailer.follow_request.title' - %p.lead= t('notification_mailer.follow_request.body', name: @account.acct) + %p.lead= t('notification_mailer.follow_request.body', name: @account.pretty_acct) %table.email-table{ cellspacing: 0, cellpadding: 0 } %tbody diff --git a/app/views/notification_mailer/follow_request.text.erb b/app/views/notification_mailer/follow_request.text.erb index a018394b8..66aa97fe3 100644 --- a/app/views/notification_mailer/follow_request.text.erb +++ b/app/views/notification_mailer/follow_request.text.erb @@ -1,5 +1,5 @@ <%= raw t('application_mailer.salutation', name: display_name(@me)) %> -<%= raw t('notification_mailer.follow_request.body', name: @account.acct) %> +<%= raw t('notification_mailer.follow_request.body', name: @account.pretty_acct) %> <%= raw t('application_mailer.view')%> <%= web_url("follow_requests") %> diff --git a/app/views/notification_mailer/mention.html.haml b/app/views/notification_mailer/mention.html.haml index 619873cfa..cfb7465c1 100644 --- a/app/views/notification_mailer/mention.html.haml +++ b/app/views/notification_mailer/mention.html.haml @@ -20,7 +20,7 @@ = image_tag full_pack_url('media/images/mailer/icon_reply.png'), alt: '' %h1= t 'notification_mailer.mention.title' - %p.lead= t('notification_mailer.mention.body', name: @status.account.acct) + %p.lead= t('notification_mailer.mention.body', name: @status.account.pretty_acct) = render 'status', status: @status diff --git a/app/views/notification_mailer/mention.text.erb b/app/views/notification_mailer/mention.text.erb index 03f53813b..f104d5f92 100644 --- a/app/views/notification_mailer/mention.text.erb +++ b/app/views/notification_mailer/mention.text.erb @@ -1,5 +1,5 @@ <%= raw t('application_mailer.salutation', name: display_name(@me)) %> -<%= raw t('notification_mailer.mention.body', name: @status.account.acct) %> +<%= raw t('notification_mailer.mention.body', name: @status.account.pretty_acct) %> <%= render 'status', status: @status %> diff --git a/app/views/notification_mailer/reblog.html.haml b/app/views/notification_mailer/reblog.html.haml index a2811be23..c528536ec 100644 --- a/app/views/notification_mailer/reblog.html.haml +++ b/app/views/notification_mailer/reblog.html.haml @@ -20,7 +20,7 @@ = image_tag full_pack_url('media/images/mailer/icon_cached.png'), alt: '' %h1= t 'notification_mailer.reblog.title' - %p.lead= t('notification_mailer.reblog.body', name: @account.acct) + %p.lead= t('notification_mailer.reblog.body', name: @account.pretty_acct) = render 'status', status: @status diff --git a/app/views/notification_mailer/reblog.text.erb b/app/views/notification_mailer/reblog.text.erb index 8fc841bf6..73a3b3945 100644 --- a/app/views/notification_mailer/reblog.text.erb +++ b/app/views/notification_mailer/reblog.text.erb @@ -1,5 +1,5 @@ <%= raw t('application_mailer.salutation', name: display_name(@me)) %> -<%= raw t('notification_mailer.reblog.body', name: @account.acct) %> +<%= raw t('notification_mailer.reblog.body', name: @account.pretty_acct) %> <%= render 'status', status: @status %> diff --git a/app/views/settings/aliases/index.html.haml b/app/views/settings/aliases/index.html.haml index 5df0c9669..c618a82f1 100644 --- a/app/views/settings/aliases/index.html.haml +++ b/app/views/settings/aliases/index.html.haml @@ -29,5 +29,5 @@ - else - @aliases.each do |account_alias| %tr - %td= account_alias.acct + %td= account_alias.pretty_acct %td= table_link_to 'trash', t('aliases.remove'), settings_alias_path(account_alias), data: { method: :delete } diff --git a/app/views/settings/migrations/show.html.haml b/app/views/settings/migrations/show.html.haml index 078eaebc6..492f6fe12 100644 --- a/app/views/settings/migrations/show.html.haml +++ b/app/views/settings/migrations/show.html.haml @@ -8,7 +8,7 @@ = render 'application/card', account: current_account.moved_to_account .fields-row__column.fields-group.fields-row__column-6 %p.hint - %span.positive-hint= t('migrations.redirecting_to', acct: current_account.moved_to_account.acct) + %span.positive-hint= t('migrations.redirecting_to', acct: current_account.moved_to_account.pretty_acct) %p.hint= t('migrations.cancel_explanation') @@ -76,7 +76,7 @@ - if migration.target_account.present? = compact_account_link_to migration.target_account - else - = migration.acct + = migration.pretty_acct %td= number_with_delimiter migration.followers_count diff --git a/config/brakeman.ignore b/config/brakeman.ignore index c24146da4..80c5f6d4e 100644 --- a/config/brakeman.ignore +++ b/config/brakeman.ignore @@ -7,7 +7,7 @@ "check_name": "SQL", "message": "Possible SQL injection", "file": "app/models/status.rb", - "line": 105, + "line": 106, "link": "https://brakemanscanner.org/docs/warning_types/sql_injection/", "code": "result.joins(\"INNER JOIN statuses_tags t#{id} ON t#{id}.status_id = statuses.id AND t#{id}.tag_id = #{id}\")", "render_path": null, @@ -27,7 +27,7 @@ "check_name": "SQL", "message": "Possible SQL injection", "file": "app/models/trends/query.rb", - "line": 60, + "line": 76, "link": "https://brakemanscanner.org/docs/warning_types/sql_injection/", "code": "klass.joins(\"join unnest(array[#{ids.join(\",\")}]) with ordinality as x (id, ordering) on #{klass.table_name}.id = x.id\")", "render_path": null, @@ -60,6 +60,36 @@ "confidence": "High", "note": "" }, + { + "warning_type": "Cross-Site Scripting", + "warning_code": 2, + "fingerprint": "71cf98c8235b5cfa9946b5db8fdc1a2f3a862566abb34e4542be6f3acae78233", + "check_name": "CrossSiteScripting", + "message": "Unescaped model attribute", + "file": "app/views/admin/disputes/appeals/_appeal.html.haml", + "line": 7, + "link": "https://brakemanscanner.org/docs/warning_types/cross_site_scripting", + "code": "t((Unresolved Model).new.strike.action, :scope => \"admin.strikes.actions\", :name => content_tag(:span, (Unresolved Model).new.strike.account.username, :class => \"username\"), :target => content_tag(:span, (Unresolved Model).new.account.username, :class => \"target\"))", + "render_path": [ + { + "type": "template", + "name": "admin/disputes/appeals/index", + "line": 20, + "file": "app/views/admin/disputes/appeals/index.html.haml", + "rendered": { + "name": "admin/disputes/appeals/_appeal", + "file": "app/views/admin/disputes/appeals/_appeal.html.haml" + } + } + ], + "location": { + "type": "template", + "template": "admin/disputes/appeals/_appeal" + }, + "user_input": "(Unresolved Model).new.strike", + "confidence": "Weak", + "note": "" + }, { "warning_type": "SQL Injection", "warning_code": 0, @@ -121,33 +151,23 @@ "note": "" }, { - "warning_type": "Cross-Site Scripting", - "warning_code": 2, - "fingerprint": "afad51718ae373b2f19d2513029fd2afccf58b9148e475934bc6a162ee33c352", - "check_name": "CrossSiteScripting", - "message": "Unescaped model attribute", - "file": "app/views/admin/disputes/appeals/_appeal.html.haml", - "line": 7, - "link": "https://brakemanscanner.org/docs/warning_types/cross_site_scripting", - "code": "t((Unresolved Model).new.strike.action, :scope => \"admin.strikes.actions\", :name => content_tag(:span, (Unresolved Model).new.strike.account.username, :class => \"username\"), :target => content_tag(:span, (Unresolved Model).new.account.acct, :class => \"target\"))", - "render_path": [ - { - "type": "template", - "name": "admin/disputes/appeals/index", - "line": 20, - "file": "app/views/admin/disputes/appeals/index.html.haml", - "rendered": { - "name": "admin/disputes/appeals/_appeal", - "file": "app/views/admin/disputes/appeals/_appeal.html.haml" - } - } - ], + "warning_type": "Mass Assignment", + "warning_code": 105, + "fingerprint": "ab5035dd1a9f8c3a8d92fb2c37e8fe86fede4f87c91b71aa32e89c9eede602fc", + "check_name": "PermitAttributes", + "message": "Potentially dangerous key allowed for mass assignment", + "file": "app/controllers/api/v1/notifications_controller.rb", + "line": 81, + "link": "https://brakemanscanner.org/docs/warning_types/mass_assignment/", + "code": "params.permit(:account_id, :types => ([]), :exclude_types => ([]))", + "render_path": null, "location": { - "type": "template", - "template": "admin/disputes/appeals/_appeal" + "type": "method", + "class": "Api::V1::NotificationsController", + "method": "browserable_params" }, - "user_input": "(Unresolved Model).new.strike", - "confidence": "Weak", + "user_input": ":account_id", + "confidence": "High", "note": "" }, { @@ -184,7 +204,7 @@ { "type": "template", "name": "admin/trends/links/index", - "line": 45, + "line": 49, "file": "app/views/admin/trends/links/index.html.haml", "rendered": { "name": "admin/trends/links/_preview_card", @@ -207,7 +227,7 @@ "check_name": "PermitAttributes", "message": "Potentially dangerous key allowed for mass assignment", "file": "app/controllers/api/v1/reports_controller.rb", - "line": 36, + "line": 26, "link": "https://brakemanscanner.org/docs/warning_types/mass_assignment/", "code": "params.permit(:account_id, :comment, :category, :forward, :status_ids => ([]), :rule_ids => ([]))", "render_path": null, @@ -221,6 +241,6 @@ "note": "" } ], - "updated": "2022-02-15 03:48:53 +0100", + "updated": "2022-03-22 07:48:32 +0100", "brakeman_version": "5.2.1" } From d5df9d4797eea86a37522c9936228888f69244fd Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 22 Mar 2022 11:58:13 +0100 Subject: [PATCH 128/276] Fix wrong position of fade-out element in account card in web UI (#17846) --- app/javascript/styles/mastodon/admin.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/styles/mastodon/admin.scss b/app/javascript/styles/mastodon/admin.scss index dc4d65edd..68e6d2482 100644 --- a/app/javascript/styles/mastodon/admin.scss +++ b/app/javascript/styles/mastodon/admin.scss @@ -1306,7 +1306,7 @@ a.sparkline { width: 50px; height: 21px; position: absolute; - bottom: 8px; + bottom: 0; right: 15px; background: linear-gradient(to left, $ui-base-color, transparent); pointer-events: none; From 410989e081b812d6f025489ab589428f987d26c0 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 22 Mar 2022 11:58:25 +0100 Subject: [PATCH 129/276] Change frequency of trends review notifications from 2 hours to 6 hours (#17850) --- config/sidekiq.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/sidekiq.yml b/config/sidekiq.yml index c8b1a20dd..f2ae9279b 100644 --- a/config/sidekiq.yml +++ b/config/sidekiq.yml @@ -22,7 +22,7 @@ class: Scheduler::EmailDomainBlockRefreshScheduler queue: scheduler trends_review_notifications_scheduler: - every: '2h' + every: '6h' class: Scheduler::Trends::ReviewNotificationsScheduler queue: scheduler media_cleanup_scheduler: From 67d550830b3b1a9a2b65b1ab98ea4bcd491666c5 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 22 Mar 2022 12:29:04 +0100 Subject: [PATCH 130/276] Fix locale not being set in REST API (#17847) --- app/controllers/activitypub/base_controller.rb | 1 + app/controllers/api/base_controller.rb | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/app/controllers/activitypub/base_controller.rb b/app/controllers/activitypub/base_controller.rb index 4cbc3ab8f..196d85a32 100644 --- a/app/controllers/activitypub/base_controller.rb +++ b/app/controllers/activitypub/base_controller.rb @@ -2,6 +2,7 @@ class ActivityPub::BaseController < Api::BaseController skip_before_action :require_authenticated_user! + skip_around_action :set_locale private diff --git a/app/controllers/api/base_controller.rb b/app/controllers/api/base_controller.rb index 72c30dec7..d96285b44 100644 --- a/app/controllers/api/base_controller.rb +++ b/app/controllers/api/base_controller.rb @@ -15,8 +15,6 @@ class Api::BaseController < ApplicationController protect_from_forgery with: :null_session - skip_around_action :set_locale - rescue_from ActiveRecord::RecordInvalid, Mastodon::ValidationError do |e| render json: { error: e.to_s }, status: 422 end From b475c8ab97c839f20757ef606659b15f8d47e79f Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 22 Mar 2022 18:08:08 +0100 Subject: [PATCH 131/276] Fix minor issues in v3.5.0rc1 changelog (#17852) --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 519c561a6..52a62a213 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ All notable changes to this project will be documented in this file. ## Unreleased ### Added -- **Add support for post editing** ([Gargron](https://github.com/mastodon/mastodon/pull/16697), [Gargron](https://github.com/mastodon/mastodon/pull/17727), [Gargron](https://github.com/mastodon/mastodon/pull/17728), [Gargron](https://github.com/mastodon/mastodon/pull/17320), [Gargron](https://github.com/mastodon/mastodon/pull/17404), [Gargron](https://github.com/mastodon/mastodon/pull/17390), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17335), [Gargron](https://github.com/mastodon/mastodon/pull/17696), [Gargron](https://github.com/mastodon/mastodon/pull/17745), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17740), [Gargron](https://github.com/mastodon/mastodon/pull/17697), [Gargron](https://github.com/mastodon/mastodon/pull/17648), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17531), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17499), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17498), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17380), [Gargron](https://github.com/mastodon/mastodon/pull/17373), [Gargron](https://github.com/mastodon/mastodon/pull/17334), [Gargron](https://github.com/mastodon/mastodon/pull/17333), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17699), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17748)) +- **Add support for incoming edited posts** ([Gargron](https://github.com/mastodon/mastodon/pull/16697), [Gargron](https://github.com/mastodon/mastodon/pull/17727), [Gargron](https://github.com/mastodon/mastodon/pull/17728), [Gargron](https://github.com/mastodon/mastodon/pull/17320), [Gargron](https://github.com/mastodon/mastodon/pull/17404), [Gargron](https://github.com/mastodon/mastodon/pull/17390), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17335), [Gargron](https://github.com/mastodon/mastodon/pull/17696), [Gargron](https://github.com/mastodon/mastodon/pull/17745), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17740), [Gargron](https://github.com/mastodon/mastodon/pull/17697), [Gargron](https://github.com/mastodon/mastodon/pull/17648), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17531), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17499), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17498), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17380), [Gargron](https://github.com/mastodon/mastodon/pull/17373), [Gargron](https://github.com/mastodon/mastodon/pull/17334), [Gargron](https://github.com/mastodon/mastodon/pull/17333), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17699), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17748)) - Previous versions remain available for perusal and comparison - People who reblogged a post are notified when it's edited - New REST APIs: @@ -14,7 +14,7 @@ All notable changes to this project will be documented in this file. - `GET /api/v1/statuses/:id/history` - `GET /api/v1/statuses/:id/source` - New streaming API event: - - `update` + - `status.update` - **Add appeals for moderator decisions** ([Gargron](https://github.com/mastodon/mastodon/pull/17364), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17725), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17566), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17652), [Gargron](https://github.com/mastodon/mastodon/pull/17616), [Gargron](https://github.com/mastodon/mastodon/pull/17615), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17554), [Gargron](https://github.com/mastodon/mastodon/pull/17523)) - All default moderator decisions now notify the affected user by e-mail - They now link to an appeal page instead of suggesting replying to the e-mail @@ -63,7 +63,7 @@ All notable changes to this project will be documented in this file. - Add `types` param to `GET /api/v1/notifications` in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17767)) - **Add notifications for moderators about new sign-ups** ([Gargron](https://github.com/mastodon/mastodon/pull/16953), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17629)) - When a new user confirms e-mail, moderators receive a notification - - New streaming API event: + - New notification type: - `admin.sign_up` - Add authentication history ([Gargron](https://github.com/mastodon/mastodon/pull/16408), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16428), [baby-gnu](https://github.com/mastodon/mastodon/pull/16654)) - Add ability to automatically delete old posts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16529), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17691), [tribela](https://github.com/mastodon/mastodon/pull/16653)) From 2de44d3e47404ee0ac6f701e685a4626502c6390 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 22 Mar 2022 18:20:08 +0100 Subject: [PATCH 132/276] Fix regression of status colors in actions modal in web UI (#17851) Regression in #17844 --- .../styles/mastodon/components.scss | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index d1b36d33b..d627d9557 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -1154,6 +1154,43 @@ .audio-player { margin-top: 8px; } + + &.light { + .status__relative-time, + .status__visibility-icon { + color: $light-text-color; + } + + .status__display-name { + color: $inverted-text-color; + } + + .display-name { + color: $light-text-color; + + strong { + color: $inverted-text-color; + } + } + + .status__content { + color: $inverted-text-color; + + a { + color: $highlight-text-color; + } + + a.status__content__spoiler-link { + color: $primary-text-color; + background: $ui-primary-color; + + &:hover, + &:focus { + background: lighten($ui-primary-color, 8%); + } + } + } + } } .detailed-status__meta { From 8751c3c4954799aec24cecc1cae68df27d19ceee Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 22 Mar 2022 18:20:25 +0100 Subject: [PATCH 133/276] Fix crash when search fails in web UI (#17853) --- app/javascript/mastodon/features/explore/results.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/javascript/mastodon/features/explore/results.js b/app/javascript/mastodon/features/explore/results.js index ff900de08..339f883c5 100644 --- a/app/javascript/mastodon/features/explore/results.js +++ b/app/javascript/mastodon/features/explore/results.js @@ -24,15 +24,15 @@ const appendLoadMore = (id, list, onLoadMore) => { } }; -const renderAccounts = (results, onLoadMore) => appendLoadMore('accounts', results.get('accounts').map(item => ( +const renderAccounts = (results, onLoadMore) => appendLoadMore('accounts', results.get('accounts', ImmutableList()).map(item => ( )), onLoadMore); -const renderHashtags = (results, onLoadMore) => appendLoadMore('hashtags', results.get('hashtags').map(item => ( +const renderHashtags = (results, onLoadMore) => appendLoadMore('hashtags', results.get('hashtags', ImmutableList()).map(item => ( )), onLoadMore); -const renderStatuses = (results, onLoadMore) => appendLoadMore('statuses', results.get('statuses').map(item => ( +const renderStatuses = (results, onLoadMore) => appendLoadMore('statuses', results.get('statuses', ImmutableList()).map(item => ( )), onLoadMore); From 749fe73ec4500d78b3deb8cdd260ff6eb6c66e7c Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 22 Mar 2022 18:41:46 +0100 Subject: [PATCH 134/276] Add tooltip for instance delivery warnings (#17854) --- app/views/admin/instances/_instance.html.haml | 2 +- config/locales/en.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/admin/instances/_instance.html.haml b/app/views/admin/instances/_instance.html.haml index 8a4396002..93f9bd418 100644 --- a/app/views/admin/instances/_instance.html.haml +++ b/app/views/admin/instances/_instance.html.haml @@ -1,7 +1,7 @@ .directory__tag = link_to admin_instance_path(instance) do %h4 - = fa_icon 'warning fw' if instance.failing? + = fa_icon 'warning fw', title: t('admin.instances.availability.warning') if instance.failing? = instance.domain %small diff --git a/config/locales/en.yml b/config/locales/en.yml index d4a42e867..a6ded38f7 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -490,6 +490,7 @@ en: other: Failed attempts on %{count} different days. no_failures_recorded: No failures on record. title: Availability + warning: The last attempt to connect to this server has been unsuccessful back_to_all: All back_to_limited: Limited back_to_warning: Warning From 9565b17d5d743d7ae4028d484b407d649210f6d2 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 24 Mar 2022 11:23:46 +0100 Subject: [PATCH 135/276] New Crowdin updates (#17829) * New translations en.json (Kurmanji (Kurdish)) * New translations doorkeeper.en.yml (Kurmanji (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations simple_form.en.yml (Kurmanji (Kurdish)) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.json (Japanese) * New translations en.json (Japanese) * New translations doorkeeper.en.yml (Indonesian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.yml (Korean) * New translations en.yml (Portuguese) * New translations en.yml (Hungarian) * New translations en.yml (Armenian) * New translations en.yml (Georgian) * New translations en.yml (Lithuanian) * New translations en.yml (Macedonian) * New translations en.yml (Dutch) * New translations en.yml (Norwegian) * New translations en.yml (Punjabi) * New translations en.yml (Polish) * New translations en.yml (Albanian) * New translations en.yml (Basque) * New translations en.yml (Serbian (Cyrillic)) * New translations en.yml (Turkish) * New translations en.yml (Ukrainian) * New translations en.yml (Chinese Traditional) * New translations en.yml (Urdu (Pakistan)) * New translations en.yml (Icelandic) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Indonesian) * New translations en.yml (Tamil) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Finnish) * New translations en.yml (Greek) * New translations en.yml (Galician) * New translations en.yml (Slovak) * New translations en.yml (Chinese Simplified) * New translations en.yml (Swedish) * New translations en.yml (Arabic) * New translations en.yml (French) * New translations en.yml (Spanish) * New translations en.yml (Catalan) * New translations en.yml (Hebrew) * New translations en.yml (Italian) * New translations en.yml (Japanese) * New translations en.yml (Russian) * New translations en.yml (Slovenian) * New translations en.yml (German) * New translations en.yml (Vietnamese) * New translations en.yml (Persian) * New translations en.yml (Romanian) * New translations en.yml (Afrikaans) * New translations en.yml (Bulgarian) * New translations en.yml (Czech) * New translations en.yml (Danish) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Scottish Gaelic) * New translations en.yml (Occitan) * New translations en.yml (Bengali) * New translations en.yml (Marathi) * New translations en.yml (Silesian) * New translations en.yml (Taigi) * New translations en.yml (Ido) * New translations en.yml (Kabyle) * New translations en.yml (Sanskrit) * New translations en.yml (Sardinian) * New translations en.yml (Corsican) * New translations en.yml (Sorani (Kurdish)) * New translations en.yml (Serbian (Latin)) * New translations en.yml (Asturian) * New translations en.yml (Kannada) * New translations en.yml (Cornish) * New translations en.yml (Sinhala) * New translations en.yml (Breton) * New translations en.yml (Malayalam) * New translations en.yml (Tatar) * New translations en.yml (Chinese Traditional, Hong Kong) * New translations en.yml (Uyghur) * New translations en.yml (Esperanto) * New translations en.yml (Welsh) * New translations en.yml (Telugu) * New translations en.yml (Malay) * New translations en.yml (Hindi) * New translations en.yml (Latvian) * New translations en.yml (Estonian) * New translations en.yml (Kazakh) * New translations en.yml (Norwegian Nynorsk) * New translations en.yml (Croatian) * New translations en.yml (Standard Moroccan Tamazight) * New translations en.yml (Catalan) * New translations en.yml (Chinese Traditional) * New translations en.yml (Latvian) * New translations en.yml (Icelandic) * New translations en.yml (Swedish) * New translations en.yml (Thai) * New translations en.yml (Portuguese) * New translations en.yml (Thai) * New translations en.yml (Russian) * New translations en.yml (Russian) * New translations en.yml (Thai) * New translations en.yml (Danish) * New translations en.yml (Spanish) * New translations en.yml (Spanish, Argentina) * New translations en.json (Japanese) * New translations en.yml (German) * New translations en.yml (Hungarian) * New translations en.yml (Italian) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Chinese Simplified) * New translations en.yml (Indonesian) * New translations en.yml (Turkish) * New translations en.json (Persian) * New translations simple_form.en.yml (Persian) * New translations en.yml (Thai) * New translations simple_form.en.yml (Thai) * New translations simple_form.en.yml (Persian) * New translations simple_form.en.yml (Persian) * New translations en.yml (Thai) * New translations en.json (Dutch) * New translations en.json (Dutch) * New translations en.yml (Dutch) * New translations en.json (Dutch) * New translations en.yml (Dutch) * New translations en.json (Dutch) * New translations simple_form.en.yml (Dutch) * New translations en.json (Dutch) * New translations en.json (Dutch) * New translations en.json (Dutch) * New translations doorkeeper.en.yml (Dutch) * New translations doorkeeper.en.yml (Dutch) * New translations en.json (Dutch) * New translations doorkeeper.en.yml (Dutch) * New translations en.json (Dutch) * New translations en.json (Dutch) * New translations en.yml (Dutch) * New translations en.json (Dutch) * New translations en.yml (Dutch) * New translations simple_form.en.yml (Dutch) * New translations simple_form.en.yml (Dutch) * New translations doorkeeper.en.yml (Dutch) * New translations activerecord.en.yml (Dutch) * New translations en.yml (Dutch) * New translations doorkeeper.en.yml (Dutch) * New translations en.yml (Korean) * New translations en.yml (Galician) * Run `bundle exec i18n-tasks normalize` * Run `yarn manage:translations` Co-authored-by: Yamagishi Kazutoshi --- app/javascript/mastodon/locales/fa.json | 142 ++++++++-------- app/javascript/mastodon/locales/ja.json | 2 +- app/javascript/mastodon/locales/ku.json | 4 +- app/javascript/mastodon/locales/nl.json | 212 ++++++++++++------------ config/locales/activerecord.nl.yml | 2 +- config/locales/ca.yml | 1 + config/locales/da.yml | 1 + config/locales/de.yml | 3 + config/locales/doorkeeper.id.yml | 33 ++++ config/locales/doorkeeper.ku.yml | 4 +- config/locales/doorkeeper.nl.yml | 46 ++++- config/locales/es-AR.yml | 1 + config/locales/es.yml | 1 + config/locales/gl.yml | 1 + config/locales/hu.yml | 1 + config/locales/id.yml | 1 + config/locales/is.yml | 1 + config/locales/it.yml | 1 + config/locales/ko.yml | 1 + config/locales/ku.yml | 11 +- config/locales/lv.yml | 1 + config/locales/nl.yml | 96 +++++------ config/locales/pt-PT.yml | 1 + config/locales/ru.yml | 4 + config/locales/simple_form.fa.yml | 9 + config/locales/simple_form.ku.yml | 2 +- config/locales/simple_form.nl.yml | 48 +++--- config/locales/simple_form.th.yml | 2 +- config/locales/sv.yml | 2 + config/locales/th.yml | 13 ++ config/locales/tr.yml | 1 + config/locales/zh-CN.yml | 1 + config/locales/zh-TW.yml | 1 + 33 files changed, 383 insertions(+), 267 deletions(-) diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index 820b90640..d5276039d 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -3,16 +3,16 @@ "account.add_or_remove_from_list": "افزودن یا برداشتن از سیاهه‌ها", "account.badges.bot": "روبات", "account.badges.group": "گروه", - "account.block": "مسدود کردن @{name}", + "account.block": "مسدود کردن ‎@{name}", "account.block_domain": "مسدود کردن دامنهٔ {domain}", "account.blocked": "مسدود", "account.browse_more_on_origin_server": "مرور بیش‌تر روی نمایهٔ اصلی", "account.cancel_follow_request": "لغو درخواست پی‌گیری", - "account.direct": "پیام مستقیم به @{name}", - "account.disable_notifications": "آگاهی به من هنگام فرستادن‌های @{name} پایان یابد", + "account.direct": "پیام مستقیم به ‎@{name}", + "account.disable_notifications": "آگاهی به من هنگام فرستادن‌های ‎@{name} پایان یابد", "account.domain_blocked": "دامنه مسدود شد", "account.edit_profile": "ویرایش نمایه", - "account.enable_notifications": "هنگام فرسته‌های @{name} مرا آگاه کن", + "account.enable_notifications": "هنگام فرسته‌های ‎@{name} مرا آگاه کن", "account.endorse": "معرّفی در نمایه", "account.follow": "پی‌گیری", "account.followers": "پی‌گیرندگان", @@ -22,34 +22,34 @@ "account.following_counter": "{count, plural, one {{counter} پی‌گرفته} other {{counter} پی‌گرفته}}", "account.follows.empty": "این کاربر هنوز پی‌گیر کسی نیست.", "account.follows_you": "پی می‌گیردتان", - "account.hide_reblogs": "نهفتن تقویت‌های @{name}", + "account.hide_reblogs": "نهفتن تقویت‌های ‎@{name}", "account.joined": "پیوسته از {date}", "account.link_verified_on": "مالکیت این پیوند در {date} بررسی شد", "account.locked_info": "این حساب خصوصی است. صاحبش تصمیم می‌گیرد که چه کسی پی‌گیرش باشد.", "account.media": "رسانه", - "account.mention": "نام‌بردن از @{name}", + "account.mention": "نام‌بردن از ‎@{name}", "account.moved_to": "{name} منتقل شده به:", - "account.mute": "خموشاندن @{name}", - "account.mute_notifications": "خموشاندن آگاهی‌ها از @{name}", + "account.mute": "خموشاندن ‎@{name}", + "account.mute_notifications": "خموشاندن آگاهی‌های ‎@{name}", "account.muted": "خموش", "account.posts": "فرسته", "account.posts_with_replies": "فرسته‌ها و پاسخ‌ها", - "account.report": "گزارش @{name}", + "account.report": "گزارش ‎@{name}", "account.requested": "منتظر پذیرش است. برای لغو درخواست پی‌گیری کلیک کنید", - "account.share": "هم‌رسانی نمایهٔ @{name}", - "account.show_reblogs": "نمایش تقویت‌های @{name}", + "account.share": "هم‌رسانی نمایهٔ ‎@{name}", + "account.show_reblogs": "نمایش تقویت‌های ‎@{name}", "account.statuses_counter": "{count, plural, one {{counter} فرسته} other {{counter} فرسته}}", - "account.unblock": "رفع مسدودیت @{name}", + "account.unblock": "رفع مسدودیت ‎@{name}", "account.unblock_domain": "رفع مسدودیت دامنهٔ {domain}", "account.unblock_short": "رفع مسدودیت", "account.unendorse": "معرّفی نکردن در نمایه", "account.unfollow": "ناپی‌گیری", - "account.unmute": "ناخموشی @{name}", - "account.unmute_notifications": "ناخموشی آگاهی‌ها از @{name}", + "account.unmute": "ناخموشی ‎@{name}", + "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.daily_retention": "نرخ حفظ کاربر در روز پس از ثبت نام", + "admin.dashboard.monthly_retention": "نرخ حفظ کاربر در ماه پس از ثبت نام", "admin.dashboard.retention.average": "میانگین", "admin.dashboard.retention.cohort": "ماه ثبت‌نام", "admin.dashboard.retention.cohort_size": "کاربران جدید", @@ -79,13 +79,13 @@ "column.lists": "سیاهه‌ها", "column.mutes": "کاربران خموش", "column.notifications": "آگاهی‌ها", - "column.pins": "فرسته‌های سنجاق‌شده", + "column.pins": "فرسته‌های سنجاق شده", "column.public": "خط زمانی همگانی", "column_back_button.label": "بازگشت", "column_header.hide_settings": "نهفتن تنظیمات", "column_header.moveLeft_settings": "جابه‌جایی ستون به چپ", "column_header.moveRight_settings": "جابه‌جایی ستون به راست", - "column_header.pin": "سنجاق‌کردن", + "column_header.pin": "سنجاق کردن", "column_header.show_settings": "نمایش تنظیمات", "column_header.unpin": "برداشتن سنجاق", "column_subheading.settings": "تنظیمات", @@ -94,7 +94,7 @@ "community.column_settings.remote_only": "تنها دوردست", "compose_form.direct_message_warning": "این فرسته تنها به کاربرانی که از آن‌ها نام برده شده فرستاده خواهد شد.", "compose_form.direct_message_warning_learn_more": "بیشتر بدانید", - "compose_form.hashtag_warning": "از آن‌جا که این فرسته فهرست‌نشده است، در نتایج جست‌وجوی برچسب‌ها پیدا نخواهد شد. تنها فرسته‌های عمومی را می‌توان با جست‌وجوی برچسب یافت.", + "compose_form.hashtag_warning": "از آن‌جا که این فرسته فهرست نشده است، در نتایج جست‌وجوی هشتگ‌ها پیدا نخواهد شد. تنها فرسته‌های عمومی را می‌توان با جست‌وجوی هشتگ یافت.", "compose_form.lock_disclaimer": "حسابتان {locked} نیست. هر کسی می‌تواند پی‌گیرتان شده و فرسته‌های ویژهٔ پی‌گیرانتان را ببیند.", "compose_form.lock_disclaimer.lock": "قفل‌شده", "compose_form.placeholder": "تازه چه خبر؟", @@ -144,7 +144,7 @@ "directory.local": "تنها از {domain}", "directory.new_arrivals": "تازه‌واردان", "directory.recently_active": "کاربران فعال اخیر", - "embed.instructions": "برای جاگذاری این فرسته در سایت خودتان، کد زیر را کپی کنید.", + "embed.instructions": "برای جاسازی این فرسته در سایت خودتان، کد زیر را رونوشت کنید.", "embed.preview": "این گونه دیده خواهد شد:", "emoji_button.activity": "فعالیت", "emoji_button.custom": "سفارشی", @@ -164,11 +164,11 @@ "empty_column.account_timeline": "هیچ فرسته‌ای این‌جا نیست!", "empty_column.account_unavailable": "نمایهٔ موجود نیست", "empty_column.blocks": "هنوز کسی را مسدود نکرده‌اید.", - "empty_column.bookmarked_statuses": "هنوز هیچ فرستهٔ نشان‌شده‌ای ندارید. هنگامی که فرسته‌ای را نشان‌کنید، این‌جا نشان داده خواهد شد.", + "empty_column.bookmarked_statuses": "هنوز هیچ فرستهٔ نشانه‌گذاری شده‌ای ندارید. هنگامی که فرسته‌ای را نشانه‌گذاری کنید، این‌جا نشان داده خواهد شد.", "empty_column.community": "خط زمانی محلّی خالی است. چیزی بنویسید تا چرخش بچرخد!", "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": "ظاهرا هیچ پیشنهادی برای شما نمی‌توانیم تولید کنیم. می‌توانید از امکان جست‌وجو برای یافتن افرادی که ممکن است بشناسید و یا کاوش میان برچسب‌های داغ استفاده کنید.", @@ -247,7 +247,7 @@ "keyboard_shortcuts.my_profile": "گشودن نمایه‌تان", "keyboard_shortcuts.notifications": "گشودن ستون آگاهی‌ها", "keyboard_shortcuts.open_media": "گشودن رسانه", - "keyboard_shortcuts.pinned": "گشودن سیاههٔ فرسته‌های سنجاق شده", + "keyboard_shortcuts.pinned": "گشودن فهرست فرسته‌های سنجاق شده", "keyboard_shortcuts.profile": "گشودن نمایهٔ نویسنده", "keyboard_shortcuts.reply": "پاسخ به فرسته", "keyboard_shortcuts.requests": "گشودن سیاههٔ درخواست‌های پی‌گیری", @@ -305,7 +305,7 @@ "navigation_bar.logout": "خروج", "navigation_bar.mutes": "کاربران خموشانده", "navigation_bar.personal": "شخصی", - "navigation_bar.pins": "فرسته‌های سنجاق‌شده", + "navigation_bar.pins": "فرسته‌های سنجاق شده", "navigation_bar.preferences": "ترجیحات", "navigation_bar.public_timeline": "خط زمانی همگانی", "navigation_bar.security": "امنیت", @@ -392,40 +392,40 @@ "report.block": "مسدود کردن", "report.block_explanation": "شما فرسته‌هایشان را نخواهید دید. آن‌ها نمی‌توانند فرسته‌هایتان را ببینند یا شما را پی‌بگیرند. آنها می‌توانند بگویند که مسدود شده‌اند.", "report.categories.other": "غیره", - "report.categories.spam": "Spam", - "report.categories.violation": "Content violates one or more server rules", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.categories.spam": "هرزنامه", + "report.categories.violation": "محتوا یک یا چند قانون کارساز را نقض می‌کند", + "report.category.subtitle": "منطبق‌ترین را انتخاب کنید", + "report.category.title": "به ما بگویید با این {type} چه مشکلی دارید", + "report.category.title_account": "نمایه", + "report.category.title_status": "فرسته", + "report.close": "انجام شد", + "report.comment.title": "آیا چیز دیگری هست که فکر می‌کنید باید بدانیم؟", "report.forward": "فرستادن به {target}", "report.forward_hint": "این حساب در کارساز دیگری ثبت شده. آیا می‌خواهید رونوشتی ناشناس از این گزارش به آن‌جا هم فرستاده شود؟", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "خموش", + "report.mute_explanation": "شما فرسته‌های آن‌ها را نخواهید دید. آن‌ها همچنان می‌توانند شما را پی‌بگیرند و فرسته‌هایتان را ببینند و نمی‌دانند که خموش شده‌اند.", + "report.next": "بعدی", "report.placeholder": "توضیحات اضافه", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "من آن را دوست ندارم", + "report.reasons.dislike_description": "این چیزی نیست که بخواهید ببینید", + "report.reasons.other": "بخواطر چیز دیگری است", + "report.reasons.other_description": "این موضوع در دسته‌بندی‌های دیگر نمی‌گنجد", + "report.reasons.spam": "این هرزنامه است", + "report.reasons.spam_description": "پیوندهای مخرب، تعامل جعلی یا پاسخ‌های تکراری", + "report.reasons.violation": "قوانین کارساز را نقض می‌کند", + "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": "جست‌وجوی متنی ساده فرسته‌هایی که نوشته، پسندیده، تقویت‌کرده یا در آن‌ها نام‌برده شده‌اید را به علاوهٔ نام‌های کاربری، نام‌های نمایشی و برچسب‌ها برمی‌گرداند.", @@ -434,39 +434,39 @@ "search_popout.tips.text": "جست‌وجوی متنی ساده برای نام‌ها، نام‌های کاربری، و برچسب‌ها", "search_popout.tips.user": "کاربر", "search_results.accounts": "افراد", - "search_results.all": "All", + "search_results.all": "همه", "search_results.hashtags": "برچسب‌ها", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "چیزی برای این عبارت جست‌وجو یافت نشد", "search_results.statuses": "فرسته‌ها", - "search_results.statuses_fts_disabled": "جست‌وجوی محتوای فرسته‌ها در این کارساز ماستودون فعال نشده است.", + "search_results.statuses_fts_disabled": "جست‌وجوی محتوای فرسته‌ها در این کارساز ماستودون به کار انداخته نشده است.", "search_results.total": "{count, number} {count, plural, one {نتیجه} other {نتیجه}}", - "status.admin_account": "گشودن واسط مدیریت برای @{name}", + "status.admin_account": "گشودن واسط مدیریت برای ‎@{name}", "status.admin_status": "گشودن این فرسته در واسط مدیریت", - "status.block": "مسدود کردن @{name}", + "status.block": "مسدود کردن ‎@{name}", "status.bookmark": "نشانک", "status.cancel_reblog_private": "لغو تقویت", "status.cannot_reblog": "این فرسته قابل تقویت نیست", - "status.copy": "رونویسی از نشانی فرسته", + "status.copy": "رونوشت پیوند فرسته", "status.delete": "حذف", "status.detailed_status": "نمایش کامل گفتگو", - "status.direct": "پیام مستقیم به @{name}", - "status.edit": "Edit", - "status.edited": "Edited {date}", - "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", - "status.embed": "جاگذاری", + "status.direct": "پیام مستقیم به ‎@{name}", + "status.edit": "ویرایش", + "status.edited": "ویرایش شده در {date}", + "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}", + "status.mention": "نام‌بردن از ‎@{name}", "status.more": "بیشتر", - "status.mute": "خموشاندن @{name}", + "status.mute": "خموشاندن ‎@{name}", "status.mute_conversation": "خموشاندن گفت‌وگو", "status.open": "گسترش این فرسته", - "status.pin": "سنجاق‌کردن در نمایه", - "status.pinned": "فرستهٔ سنجاق‌شده", + "status.pin": "سنجاق کردن در نمایه", + "status.pinned": "فرستهٔ سنجاق شده", "status.read_more": "بیشتر بخوانید", "status.reblog": "تقویت", "status.reblog_private": "تقویت برای مخاطبان نخستین", @@ -476,7 +476,7 @@ "status.remove_bookmark": "برداشتن نشانک", "status.reply": "پاسخ", "status.replyAll": "پاسخ به رشته", - "status.report": "گزارش @{name}", + "status.report": "گزارش ‎@{name}", "status.sensitive_warning": "محتوای حساس", "status.share": "هم‌رسانی", "status.show_less": "نمایش کمتر", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 8c7878a84..b5257e80d 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -188,7 +188,7 @@ "errors.unexpected_crash.copy_stacktrace": "スタックトレースをクリップボードにコピー", "errors.unexpected_crash.report_issue": "問題を報告", "explore.search_results": "検索結果", - "explore.suggested_follows": "あなたに", + "explore.suggested_follows": "おすすめ", "explore.title": "エクスプローラー", "explore.trending_links": "ニュース", "explore.trending_statuses": "投稿", diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json index 0298c51ec..2bf8fc520 100644 --- a/app/javascript/mastodon/locales/ku.json +++ b/app/javascript/mastodon/locales/ku.json @@ -342,7 +342,7 @@ "notifications.filter.all": "Hemû", "notifications.filter.boosts": "Bilindkirî", "notifications.filter.favourites": "Bijarte", - "notifications.filter.follows": "Şopîner", + "notifications.filter.follows": "Dişopîne", "notifications.filter.mentions": "Qalkirin", "notifications.filter.polls": "Encamên rapirsiyê", "notifications.filter.statuses": "Ji kesên tu dişopînî re rojanekirin", @@ -501,7 +501,7 @@ "time_remaining.seconds": "{number, plural, one {# çirke} other {# çirke}} maye", "timeline_hint.remote_resource_not_displayed": "{resource} Ji rajekerên din nayê dîtin.", "timeline_hint.resources.followers": "Şopîner", - "timeline_hint.resources.follows": "Şopîner", + "timeline_hint.resources.follows": "Dişopîne", "timeline_hint.resources.statuses": "Şandiyên kevn", "trends.counter_by_accounts": "{count, plural, one {{counter} kes} other {{counter} kes}} diaxivin", "trends.trending_now": "Rojev", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index f30755286..d1cfdd5f4 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -9,44 +9,44 @@ "account.browse_more_on_origin_server": "Meer op het originele profiel bekijken", "account.cancel_follow_request": "Volgverzoek annuleren", "account.direct": "@{name} een direct bericht sturen", - "account.disable_notifications": "Geef geen melding meer wanneer @{name} toot", + "account.disable_notifications": "Geef geen melding meer wanneer @{name} een bericht plaatst", "account.domain_blocked": "Domein geblokkeerd", "account.edit_profile": "Profiel bewerken", - "account.enable_notifications": "Geef een melding wanneer @{name} toot", + "account.enable_notifications": "Geef een melding wanneer @{name} een bericht plaatst", "account.endorse": "Op profiel weergeven", "account.follow": "Volgen", "account.followers": "Volgers", "account.followers.empty": "Niemand volgt nog deze gebruiker.", "account.followers_counter": "{count, plural, one {{counter} volger} other {{counter} volgers}}", - "account.following": "Following", + "account.following": "Volgend", "account.following_counter": "{count, plural, one {{counter} volgend} other {{counter} volgend}}", "account.follows.empty": "Deze gebruiker volgt nog niemand.", "account.follows_you": "Volgt jou", "account.hide_reblogs": "Boosts van @{name} verbergen", "account.joined": "Geregistreerd in {date}", "account.link_verified_on": "Eigendom van deze link is gecontroleerd op {date}", - "account.locked_info": "De privacystatus van dit account is op besloten gezet. De eigenaar bepaalt handmatig wie hen kan volgen.", + "account.locked_info": "De privacystatus van dit account is op besloten gezet. De eigenaar bepaalt handmatig wie diegene kan volgen.", "account.media": "Media", "account.mention": "@{name} vermelden", "account.moved_to": "{name} is verhuisd naar:", "account.mute": "@{name} negeren", "account.mute_notifications": "Meldingen van @{name} negeren", "account.muted": "Genegeerd", - "account.posts": "Toots", - "account.posts_with_replies": "Toots en reacties", + "account.posts": "Berichten", + "account.posts_with_replies": "Berichten en reacties", "account.report": "@{name} rapporteren", "account.requested": "Wacht op goedkeuring. Klik om het volgverzoek te annuleren", "account.share": "Profiel van @{name} delen", "account.show_reblogs": "Boosts van @{name} tonen", - "account.statuses_counter": "{count, plural, one {{counter} toot} other {{counter} toots}}", + "account.statuses_counter": "{count, plural, one {{counter} bericht} other {{counter} berichten}}", "account.unblock": "@{name} deblokkeren", "account.unblock_domain": "{domain} niet langer verbergen", - "account.unblock_short": "Unblock", + "account.unblock_short": "Deblokkeren", "account.unendorse": "Niet op profiel weergeven", "account.unfollow": "Ontvolgen", "account.unmute": "@{name} niet langer negeren", "account.unmute_notifications": "Meldingen van @{name} niet langer negeren", - "account.unmute_short": "Unmute", + "account.unmute_short": "Niet langer negeren", "account_note.placeholder": "Klik om een opmerking toe te voegen", "admin.dashboard.daily_retention": "User retention rate by day after sign-up", "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", @@ -79,7 +79,7 @@ "column.lists": "Lijsten", "column.mutes": "Genegeerde gebruikers", "column.notifications": "Meldingen", - "column.pins": "Vastgezette toots", + "column.pins": "Vastgezette berichten", "column.public": "Globale tijdlijn", "column_back_button.label": "Terug", "column_header.hide_settings": "Instellingen verbergen", @@ -92,10 +92,10 @@ "community.column_settings.local_only": "Alleen lokaal", "community.column_settings.media_only": "Alleen media", "community.column_settings.remote_only": "Alleen andere servers", - "compose_form.direct_message_warning": "Deze toot wordt alleen naar vermelde gebruikers verstuurd.", + "compose_form.direct_message_warning": "Dit bericht wordt alleen naar vermelde gebruikers verstuurd.", "compose_form.direct_message_warning_learn_more": "Meer leren", - "compose_form.hashtag_warning": "Deze toot valt niet onder een hashtag te bekijken, omdat deze niet op openbare tijdlijnen wordt getoond. Alleen openbare toots kunnen via hashtags gevonden worden.", - "compose_form.lock_disclaimer": "Jouw account is niet {locked}. Iedereen kan jou volgen en kan de toots zien die je alleen aan jouw volgers hebt gericht.", + "compose_form.hashtag_warning": "Dit bericht valt niet onder een hashtag te bekijken, omdat deze niet op openbare tijdlijnen wordt getoond. Alleen openbare berichten kunnen via hashtags gevonden worden.", + "compose_form.lock_disclaimer": "Jouw account is niet {locked}. Iedereen kan jou volgen en kan de berichten zien die je alleen aan jouw volgers hebt gericht.", "compose_form.lock_disclaimer.lock": "besloten", "compose_form.placeholder": "Wat wil je kwijt?", "compose_form.poll.add_option": "Keuze toevoegen", @@ -106,7 +106,7 @@ "compose_form.poll.switch_to_single": "Poll wijzigen om een enkele keuze toe te staan", "compose_form.publish": "Toot", "compose_form.publish_loud": "{publish}!", - "compose_form.save_changes": "Save changes", + "compose_form.save_changes": "Wijzigingen opslaan", "compose_form.sensitive.hide": "{count, plural, one {Media als gevoelig markeren} other {Media als gevoelig markeren}}", "compose_form.sensitive.marked": "{count, plural, one {Media is als gevoelig gemarkeerd} other {Media is als gevoelig gemarkeerd}}", "compose_form.sensitive.unmarked": "{count, plural, one {Media is niet als gevoelig gemarkeerd} other {Media is niet als gevoelig gemarkeerd}}", @@ -118,22 +118,22 @@ "confirmations.block.confirm": "Blokkeren", "confirmations.block.message": "Weet je het zeker dat je {name} wilt blokkeren?", "confirmations.delete.confirm": "Verwijderen", - "confirmations.delete.message": "Weet je het zeker dat je deze toot wilt verwijderen?", + "confirmations.delete.message": "Weet je het zeker dat je dit bericht wilt verwijderen?", "confirmations.delete_list.confirm": "Verwijderen", "confirmations.delete_list.message": "Weet je zeker dat je deze lijst definitief wilt verwijderen?", "confirmations.discard_edit_media.confirm": "Weggooien", "confirmations.discard_edit_media.message": "Je hebt niet-opgeslagen wijzigingen in de mediabeschrijving of voorvertonning, wil je deze toch weggooien?", "confirmations.domain_block.confirm": "Verberg alles van deze server", - "confirmations.domain_block.message": "Weet je het echt heel erg zeker dat je alles van {domain} wilt negeren? In de meeste gevallen is het blokkeren of negeren van een paar specifieke personen voldoende en beter. Je zult geen toots van deze server op openbare tijdlijnen zien of in jouw meldingen. Jouw volgers van deze server worden verwijderd.", + "confirmations.domain_block.message": "Weet je het echt heel erg zeker dat je alles van {domain} wilt negeren? In de meeste gevallen is het blokkeren of negeren van een paar specifieke personen voldoende en beter. Je zult geen berichten van deze server op openbare tijdlijnen zien of in jouw meldingen. Jouw volgers van deze server worden verwijderd.", "confirmations.logout.confirm": "Uitloggen", "confirmations.logout.message": "Weet je zeker dat je wilt uitloggen?", "confirmations.mute.confirm": "Negeren", - "confirmations.mute.explanation": "Dit verbergt toots van hen en toots waar hen in wordt vermeld, maar hen kan nog steeds jouw toots bekijken en jou volgen.", + "confirmations.mute.explanation": "Dit verbergt diens berichten en berichten waar diegene in wordt vermeld, maar diegene kan nog steeds jouw berichten bekijken en jou volgen.", "confirmations.mute.message": "Weet je het zeker dat je {name} wilt negeren?", "confirmations.redraft.confirm": "Verwijderen en herschrijven", - "confirmations.redraft.message": "Weet je zeker dat je deze toot wilt verwijderen en herschrijven? Je verliest wel de boosts en favorieten, en de reacties op de originele toot zitten niet meer aan de nieuwe toot vast.", + "confirmations.redraft.message": "Weet je zeker dat je dit bericht wilt verwijderen en herschrijven? Je verliest wel de boosts en favorieten, en de reacties op het originele bericht raak je kwijt.", "confirmations.reply.confirm": "Reageren", - "confirmations.reply.message": "Door nu te reageren overschrijf je de toot die je op dit moment aan het schrijven bent. Weet je zeker dat je verder wil gaan?", + "confirmations.reply.message": "Door nu te reageren overschrijf je het bericht dat je op dit moment aan het schrijven bent. Weet je zeker dat je verder wil gaan?", "confirmations.unfollow.confirm": "Ontvolgen", "confirmations.unfollow.message": "Weet je het zeker dat je {name} wilt ontvolgen?", "conversation.delete": "Gesprek verwijderen", @@ -144,7 +144,7 @@ "directory.local": "Alleen {domain}", "directory.new_arrivals": "Nieuwe accounts", "directory.recently_active": "Onlangs actief", - "embed.instructions": "Embed deze toot op jouw website, door de onderstaande code te kopiëren.", + "embed.instructions": "Embed dit bericht op jouw website door de onderstaande code te kopiëren.", "embed.preview": "Zo komt het eruit te zien:", "emoji_button.activity": "Activiteiten", "emoji_button.custom": "Lokale emoji’s", @@ -161,41 +161,41 @@ "emoji_button.symbols": "Symbolen", "emoji_button.travel": "Reizen en locaties", "empty_column.account_suspended": "Account opgeschort", - "empty_column.account_timeline": "Hier zijn geen toots!", + "empty_column.account_timeline": "Hier zijn geen berichten!", "empty_column.account_unavailable": "Profiel is niet beschikbaar", "empty_column.blocks": "Jij hebt nog geen enkele gebruiker geblokkeerd.", - "empty_column.bookmarked_statuses": "Jij hebt nog geen toots aan je bladwijzers toegevoegd. Wanneer je er een aan jouw bladwijzers toevoegt, valt deze hier te zien.", - "empty_column.community": "De lokale tijdlijn is nog leeg. Toot iets in het openbaar om de spits af te bijten!", + "empty_column.bookmarked_statuses": "Jij hebt nog geen berichten aan je bladwijzers toegevoegd. Wanneer je er een aan jouw bladwijzers toevoegt, valt deze hier te zien.", + "empty_column.community": "De lokale tijdlijn is nog leeg. Plaats een openbaar bericht om de spits af te bijten!", "empty_column.direct": "Je hebt nog geen directe berichten. Wanneer je er een verzend of ontvangt, zijn deze hier te zien.", "empty_column.domain_blocks": "Er zijn nog geen geblokkeerde domeinen.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", - "empty_column.favourited_statuses": "Jij hebt nog geen favoriete toots. Wanneer je er een aan jouw favorieten toevoegt, valt deze hier te zien.", - "empty_column.favourites": "Niemand heeft deze toot nog aan hun favorieten toegevoegd. Wanneer iemand dit doet, valt dat hier te zien.", + "empty_column.explore_statuses": "Momenteel zijn er geen trends. Kom later terug!", + "empty_column.favourited_statuses": "Jij hebt nog geen favoriete berichten. Wanneer je er een aan jouw favorieten toevoegt, valt deze hier te zien.", + "empty_column.favourites": "Niemand heeft dit bericht nog aan diens favorieten toegevoegd. Wanneer iemand dit doet, valt dat hier te zien.", "empty_column.follow_recommendations": "Het lijkt er op dat er geen aanbevelingen voor jou aangemaakt kunnen worden. Je kunt proberen te zoeken naar mensen die je wellicht kent, zoeken op hashtags, de lokale en globale tijdlijnen bekijken of de gebruikersgids doorbladeren.", "empty_column.follow_requests": "Jij hebt nog enkel volgverzoek ontvangen. Wanneer je er eentje ontvangt, valt dat hier te zien.", "empty_column.hashtag": "Er is nog niks te vinden onder deze hashtag.", "empty_column.home": "Deze tijdlijn is leeg! Volg meer mensen om het te vullen. {suggestions}", "empty_column.home.suggestions": "Enkele aanbevelingen bekijken", - "empty_column.list": "Er is nog niks te zien in deze lijst. Wanneer lijstleden nieuwe toots publiceren, zijn deze hier te zien.", + "empty_column.list": "Er is nog niks te zien in deze lijst. Wanneer lijstleden nieuwe berichten plaatsen, zijn deze hier te zien.", "empty_column.lists": "Jij hebt nog geen enkele lijst. Wanneer je er eentje hebt aangemaakt, valt deze hier te zien.", "empty_column.mutes": "Jij hebt nog geen gebruikers genegeerd.", "empty_column.notifications": "Je hebt nog geen meldingen. Begin met iemand een gesprek.", - "empty_column.public": "Er is hier helemaal niks! Toot iets in het openbaar of volg mensen van andere servers om het te vullen", + "empty_column.public": "Er is hier helemaal niks! Plaatst een openbaar bericht of volg mensen van andere servers om het te vullen", "error.unexpected_crash.explanation": "Als gevolg van een bug in onze broncode of als gevolg van een compatibiliteitsprobleem met jouw webbrowser, kan deze pagina niet goed worden weergegeven.", "error.unexpected_crash.explanation_addons": "Deze pagina kon niet correct geladen worden. Deze fout wordt waarschijnlijk door een browser-add-on of een automatische vertalingshulpmiddel veroorzaakt.", "error.unexpected_crash.next_steps": "Probeer deze pagina te vernieuwen. Wanneer dit niet helpt is het nog steeds mogelijk om Mastodon in een andere webbrowser of mobiele app te gebruiken.", "error.unexpected_crash.next_steps_addons": "Probeer deze uit te schakelen en de pagina te verversen. Wanneer dat niet helpt, kun je Mastodon nog altijd met een andere webbrowser of mobiele app gebruiken.", "errors.unexpected_crash.copy_stacktrace": "Stacktrace naar klembord kopiëren", "errors.unexpected_crash.report_issue": "Technisch probleem melden", - "explore.search_results": "Search results", - "explore.suggested_follows": "For you", - "explore.title": "Explore", - "explore.trending_links": "News", - "explore.trending_statuses": "Posts", + "explore.search_results": "Zoekresultaten", + "explore.suggested_follows": "Voor jou", + "explore.title": "Verkennen", + "explore.trending_links": "Nieuws", + "explore.trending_statuses": "Berichten", "explore.trending_tags": "Hashtags", "follow_recommendations.done": "Klaar", - "follow_recommendations.heading": "Volg mensen waarvan je graag toots wil zien! Hier zijn enkele aanbevelingen.", - "follow_recommendations.lead": "Toots van mensen die je volgt zullen in chronologische volgorde onder start verschijnen. Wees niet bang om hierin fouten te maken, want je kunt mensen op elk moment net zo eenvoudig ontvolgen!", + "follow_recommendations.heading": "Volg mensen waarvan je graag berichten wil zien! Hier zijn enkele aanbevelingen.", + "follow_recommendations.lead": "Berichten van mensen die je volgt zullen in chronologische volgorde onder start verschijnen. Wees niet bang om hierin fouten te maken, want je kunt mensen op elk moment net zo eenvoudig ontvolgen!", "follow_request.authorize": "Goedkeuren", "follow_request.reject": "Afkeuren", "follow_requests.unlocked_explanation": "Ook al is jouw account niet besloten, de medewerkers van {domain} denken dat jij misschien de volgende volgverzoeken handmatig wil controleren.", @@ -227,13 +227,13 @@ "intervals.full.minutes": "{number, plural, one {# minuut} other {# minuten}}", "keyboard_shortcuts.back": "Ga terug", "keyboard_shortcuts.blocked": "Geblokkeerde gebruikers tonen", - "keyboard_shortcuts.boost": "Toot boosten", + "keyboard_shortcuts.boost": "Bericht boosten", "keyboard_shortcuts.column": "Op één van de kolommen focussen", - "keyboard_shortcuts.compose": "Tekstveld voor toots focussen", + "keyboard_shortcuts.compose": "Tekstveld om een bericht te schrijven focussen", "keyboard_shortcuts.description": "Omschrijving", "keyboard_shortcuts.direct": "Jouw directe berichten tonen", "keyboard_shortcuts.down": "Naar beneden in de lijst bewegen", - "keyboard_shortcuts.enter": "Toot volledig tonen", + "keyboard_shortcuts.enter": "Volledig bericht tonen", "keyboard_shortcuts.favourite": "Aan jouw favorieten toevoegen", "keyboard_shortcuts.favourites": "Favorieten tonen", "keyboard_shortcuts.federated": "Globale tijdlijn tonen", @@ -247,7 +247,7 @@ "keyboard_shortcuts.my_profile": "Jouw profiel tonen", "keyboard_shortcuts.notifications": "Meldingen tonen", "keyboard_shortcuts.open_media": "Media openen", - "keyboard_shortcuts.pinned": "Jouw vastgezette toots tonen", + "keyboard_shortcuts.pinned": "Jouw vastgemaakte berichten tonen", "keyboard_shortcuts.profile": "Gebruikersprofiel auteur openen", "keyboard_shortcuts.reply": "Reageren", "keyboard_shortcuts.requests": "Jouw volgverzoeken tonen", @@ -256,7 +256,7 @@ "keyboard_shortcuts.start": "\"Aan de slag\" tonen", "keyboard_shortcuts.toggle_hidden": "Inhoudswaarschuwing tonen/verbergen", "keyboard_shortcuts.toggle_sensitivity": "Media tonen/verbergen", - "keyboard_shortcuts.toot": "Nieuwe toot schrijven", + "keyboard_shortcuts.toot": "Nieuw bericht schrijven", "keyboard_shortcuts.unfocus": "Tekst- en zoekveld ontfocussen", "keyboard_shortcuts.up": "Naar boven in de lijst bewegen", "lightbox.close": "Sluiten", @@ -289,12 +289,12 @@ "navigation_bar.blocks": "Geblokkeerde gebruikers", "navigation_bar.bookmarks": "Bladwijzers", "navigation_bar.community_timeline": "Lokale tijdlijn", - "navigation_bar.compose": "Nieuw toot schrijven", + "navigation_bar.compose": "Nieuw bericht schrijven", "navigation_bar.direct": "Directe berichten", "navigation_bar.discover": "Ontdekken", "navigation_bar.domain_blocks": "Geblokkeerde domeinen", "navigation_bar.edit_profile": "Profiel bewerken", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Verkennen", "navigation_bar.favourites": "Favorieten", "navigation_bar.filters": "Filters", "navigation_bar.follow_requests": "Volgverzoeken", @@ -305,23 +305,23 @@ "navigation_bar.logout": "Uitloggen", "navigation_bar.mutes": "Genegeerde gebruikers", "navigation_bar.personal": "Persoonlijk", - "navigation_bar.pins": "Vastgezette toots", + "navigation_bar.pins": "Vastgemaakte berichten", "navigation_bar.preferences": "Instellingen", "navigation_bar.public_timeline": "Globale tijdlijn", "navigation_bar.security": "Beveiliging", - "notification.admin.sign_up": "{name} signed up", - "notification.favourite": "{name} voegde jouw toot als favoriet toe", + "notification.admin.sign_up": "{name} heeft zich aangemeld", + "notification.favourite": "{name} voegde jouw bericht als favoriet toe", "notification.follow": "{name} volgt jou nu", "notification.follow_request": "{name} wil jou graag volgen", "notification.mention": "{name} vermeldde jou", "notification.own_poll": "Jouw poll is beëindigd", "notification.poll": "Een poll waaraan jij hebt meegedaan is beëindigd", - "notification.reblog": "{name} boostte jouw toot", - "notification.status": "{name} heeft zojuist een toot geplaatst", - "notification.update": "{name} edited a post", + "notification.reblog": "{name} boostte jouw bericht", + "notification.status": "{name} heeft zojuist een bericht geplaatst", + "notification.update": "{name} heeft een bericht bewerkt", "notifications.clear": "Meldingen verwijderen", "notifications.clear_confirmation": "Weet je het zeker dat je al jouw meldingen wilt verwijderen?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Nieuwe aanmeldingen:", "notifications.column_settings.alert": "Desktopmeldingen", "notifications.column_settings.favourite": "Favorieten:", "notifications.column_settings.filter_bar.advanced": "Alle categorieën tonen", @@ -335,10 +335,10 @@ "notifications.column_settings.reblog": "Boosts:", "notifications.column_settings.show": "In kolom tonen", "notifications.column_settings.sound": "Geluid afspelen", - "notifications.column_settings.status": "Nieuwe toots:", + "notifications.column_settings.status": "Nieuwe berichten:", "notifications.column_settings.unread_notifications.category": "Ongelezen meldingen", "notifications.column_settings.unread_notifications.highlight": "Ongelezen meldingen markeren", - "notifications.column_settings.update": "Edits:", + "notifications.column_settings.update": "Bewerkingen:", "notifications.filter.all": "Alles", "notifications.filter.boosts": "Boosts", "notifications.filter.favourites": "Favorieten", @@ -365,7 +365,7 @@ "poll.votes": "{votes, plural, one {# stem} other {# stemmen}}", "poll_button.add_poll": "Poll toevoegen", "poll_button.remove_poll": "Poll verwijderen", - "privacy.change": "Zichtbaarheid van toot aanpassen", + "privacy.change": "Zichtbaarheid van bericht aanpassen", "privacy.direct.long": "Alleen aan vermelde gebruikers tonen", "privacy.direct.short": "Direct", "privacy.private.long": "Alleen aan volgers tonen", @@ -378,100 +378,100 @@ "regeneration_indicator.label": "Aan het laden…", "regeneration_indicator.sublabel": "Jouw tijdlijn wordt aangemaakt!", "relative_time.days": "{number}d", - "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 {# dag} other {# dagen}} geleden", + "relative_time.full.hours": "{number, plural, one {# uur} other {# uur}} geleden", + "relative_time.full.just_now": "zojuist", + "relative_time.full.minutes": "{number, plural, one {# minuut} other {# minuten}} geleden", + "relative_time.full.seconds": "{number, plural, one {# seconde} other {# seconden}} geleden", "relative_time.hours": "{number}u", "relative_time.just_now": "nu", "relative_time.minutes": "{number}m", "relative_time.seconds": "{number}s", "relative_time.today": "vandaag", "reply_indicator.cancel": "Annuleren", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", - "report.categories.other": "Other", + "report.block": "Blokkeren", + "report.block_explanation": "Je kunt diens berichten niet zien. Je kunt door diegene niet gevolgd worden en jouw berichten zijn onzichtbaar. Diegene kan zien dat die door jou is geblokkeerd.", + "report.categories.other": "Overig", "report.categories.spam": "Spam", - "report.categories.violation": "Content violates one or more server rules", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.categories.violation": "De inhoud overtreedt een of meerdere serverregels", + "report.category.subtitle": "Kies wat het meeste overeenkomt", + "report.category.title": "Vertel ons wat er met dit {type} aan de hand is", + "report.category.title_account": "profiel", + "report.category.title_status": "bericht", + "report.close": "Klaar", + "report.comment.title": "Zijn er nog andere dingen waarvan je denkt dat wij dat moeten weten?", "report.forward": "Naar {target} doorsturen", "report.forward_hint": "Het account bevindt zich op een andere server. Wil je daar eveneens een geanonimiseerde kopie van deze rapportage naar toe sturen?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Negeren", + "report.mute_explanation": "Je kunt diens berichten niet zien. Je kunt nog wel gevolgd worden en jouw berichten zijn nog zichtbaar, maar diegene kan niet zien dat die wordt genegeerd.", + "report.next": "Volgende", "report.placeholder": "Extra opmerkingen", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "Ik vind het niet leuk", + "report.reasons.dislike_description": "Het is iets wat je niet wilt zien", + "report.reasons.other": "Het is iets anders", + "report.reasons.other_description": "Het probleem past niet in een andere categorie", + "report.reasons.spam": "Het is spam", + "report.reasons.spam_description": "Schadelijke links, reclame, misleiding of herhalende antwoorden", + "report.reasons.violation": "Het schendt de serverregels", + "report.reasons.violation_description": "Je weet dat het specifieke regels schendt", + "report.rules.subtitle": "Selecteer wat van toepassing is", + "report.rules.title": "Welke regels worden geschonden?", + "report.statuses.subtitle": "Selecteer wat van toepassing is", + "report.statuses.title": "Zijn er berichten die deze rapportage ondersteunen?", "report.submit": "Verzenden", "report.target": "{target} rapporteren", - "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": "Hier zijn jouw opties waarmee je kunt bepalen wat je in Mastodon wilt zien:", + "report.thanks.take_action_actionable": "Terwijl wij jouw rapportage beroordelen, kun je deze acties ondernemen tegen @{name}:", + "report.thanks.title": "Wil je dit niet zien?", + "report.thanks.title_actionable": "Dank je voor het rapporteren. Wij gaan er naar kijken.", + "report.unfollow": "@{name} ontvolgen", + "report.unfollow_explanation": "Je volgt dit account. Om diens berichten niet meer op jouw starttijdlijn te zien, kun je diegene ontvolgen.", "search.placeholder": "Zoeken", "search_popout.search_format": "Geavanceerd zoeken", - "search_popout.tips.full_text": "Gebruik gewone tekst om te zoeken in jouw toots, gebooste toots, favorieten en in toots waarin je bent vermeldt, en tevens naar gebruikersnamen, weergavenamen en hashtags.", + "search_popout.tips.full_text": "Gebruik gewone tekst om te zoeken in jouw berichten, gebooste berichten, favorieten en in berichten waarin je bent vermeldt, en tevens naar gebruikersnamen, weergavenamen en hashtags.", "search_popout.tips.hashtag": "hashtag", - "search_popout.tips.status": "toot", + "search_popout.tips.status": "bericht", "search_popout.tips.text": "Gebruik gewone tekst om te zoeken op weergavenamen, gebruikersnamen en hashtags", "search_popout.tips.user": "gebruiker", "search_results.accounts": "Gebruikers", - "search_results.all": "All", + "search_results.all": "Alles", "search_results.hashtags": "Hashtags", - "search_results.nothing_found": "Could not find anything for these search terms", - "search_results.statuses": "Toots", - "search_results.statuses_fts_disabled": "Het zoeken in toots is op deze Mastodon-server niet ingeschakeld.", + "search_results.nothing_found": "Deze zoektermen leveren geen resultaat op", + "search_results.statuses": "Berichten", + "search_results.statuses_fts_disabled": "Het zoeken in berichten is op deze Mastodon-server niet ingeschakeld.", "search_results.total": "{count, number} {count, plural, one {resultaat} other {resultaten}}", "status.admin_account": "Moderatie-omgeving van @{name} openen", - "status.admin_status": "Deze toot in de moderatie-omgeving openen", + "status.admin_status": "Dit bericht in de moderatie-omgeving openen", "status.block": "@{name} blokkeren", "status.bookmark": "Bladwijzer toevoegen", "status.cancel_reblog_private": "Niet langer boosten", - "status.cannot_reblog": "Deze toot kan niet geboost worden", - "status.copy": "Link naar toot kopiëren", + "status.cannot_reblog": "Dit bericht kan niet geboost worden", + "status.copy": "Link naar bericht kopiëren", "status.delete": "Verwijderen", "status.detailed_status": "Uitgebreide gespreksweergave", "status.direct": "@{name} een direct bericht sturen", - "status.edit": "Edit", - "status.edited": "Edited {date}", - "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", + "status.edit": "Bewerken", + "status.edited": "Bewerkt op {date}", + "status.edited_x_times": "{count, plural, one {{count} keer} other {{count} keer}} bewerkt", "status.embed": "Insluiten", "status.favourite": "Favoriet", "status.filtered": "Gefilterd", - "status.history.created": "{name} created {date}", - "status.history.edited": "{name} edited {date}", + "status.history.created": "{name} plaatste dit {date}", + "status.history.edited": "{name} bewerkte dit {date}", "status.load_more": "Meer laden", "status.media_hidden": "Media verborgen", "status.mention": "@{name} vermelden", "status.more": "Meer", "status.mute": "@{name} negeren", "status.mute_conversation": "Negeer gesprek", - "status.open": "Volledige toot tonen", + "status.open": "Volledig bericht tonen", "status.pin": "Aan profielpagina vastmaken", - "status.pinned": "Vastgemaakte toot", + "status.pinned": "Vastgemaakt bericht", "status.read_more": "Meer lezen", "status.reblog": "Boosten", "status.reblog_private": "Boost naar oorspronkelijke ontvangers", "status.reblogged_by": "{name} boostte", - "status.reblogs.empty": "Niemand heeft deze toot nog geboost. Wanneer iemand dit doet, valt dat hier te zien.", + "status.reblogs.empty": "Niemand heeft dit bericht nog geboost. Wanneer iemand dit doet, valt dat hier te zien.", "status.redraft": "Verwijderen en herschrijven", "status.remove_bookmark": "Bladwijzer verwijderen", "status.reply": "Reageren", @@ -502,7 +502,7 @@ "timeline_hint.remote_resource_not_displayed": "{resource} van andere servers worden niet getoond.", "timeline_hint.resources.followers": "Volgers", "timeline_hint.resources.follows": "Volgend", - "timeline_hint.resources.statuses": "Oudere toots", + "timeline_hint.resources.statuses": "Oudere berichten", "trends.counter_by_accounts": "{count, plural, one {{counter} persoon} other {{counter} personen}} zijn aan het praten", "trends.trending_now": "Huidige trends", "ui.beforeunload": "Je concept gaat verloren wanneer je Mastodon verlaat.", diff --git a/config/locales/activerecord.nl.yml b/config/locales/activerecord.nl.yml index 6bbdc5b40..b5a122001 100644 --- a/config/locales/activerecord.nl.yml +++ b/config/locales/activerecord.nl.yml @@ -24,7 +24,7 @@ nl: status: attributes: reblog: - taken: van toot bestaat al + taken: van bericht bestaat al user: attributes: email: diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 054db2e5b..6c5fc95fe 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -490,6 +490,7 @@ ca: other: Intents fallits en %{count} diferents dies. no_failures_recorded: Sense errors registrats. title: Disponibilitat + warning: El darrer intent de connectar a aquest servidor no ha tingut èxit back_to_all: Totes back_to_limited: Limitades back_to_warning: Avís diff --git a/config/locales/da.yml b/config/locales/da.yml index 34e56ded4..b264dffae 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -490,6 +490,7 @@ da: other: Mislykkede forsøg på %{count} forskellige dage. no_failures_recorded: Ingen fejl noteret. title: Tilgængelighed + warning: Seneste forsøg på at oprette forbindelse til denne server mislykkedes back_to_all: Alle back_to_limited: Begrænset back_to_warning: Advarsel diff --git a/config/locales/de.yml b/config/locales/de.yml index 4768f4e80..d595fdd42 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -373,6 +373,7 @@ de: enable: Aktivieren enabled: Aktiviert enabled_msg: Das Emoji wurde aktiviert + image_hint: PNG oder GIF bis %{size} list: Liste listed: Gelistet new: @@ -489,6 +490,7 @@ de: other: Fehlgeschlagener Versuch am %{count}. Tag. no_failures_recorded: Keine Fehler bei der Aufzeichnung. title: Verfügbarkeit + warning: Der letzte Versuch, sich mit diesem Server zu verbinden, war nicht erfolgreich back_to_all: Alle back_to_limited: Beschränkt back_to_warning: Warnung @@ -1436,6 +1438,7 @@ de: disallowed_hashtags: one: 'enthält einen verbotenen Hashtag: %{tags}' other: 'enthält verbotene Hashtags: %{tags}' + edited_at_html: Bearbeitet %{date} errors: in_reply_not_found: Der Beitrag, auf den du antworten möchtest, scheint nicht zu existieren. open_in_web: Im Web öffnen diff --git a/config/locales/doorkeeper.id.yml b/config/locales/doorkeeper.id.yml index 050d97dc5..9a3fed94d 100644 --- a/config/locales/doorkeeper.id.yml +++ b/config/locales/doorkeeper.id.yml @@ -73,6 +73,10 @@ id: index: authorized_at: Diberi hak otorisasi pada %{date} description_html: Ini adalah aplikasi yang dapat mengakses akun Anda menggunakan API. Jika ada aplikasi yang tidak Anda kenal di sini, atau aplikasi yang berperilaku aneh, Anda dapat mencabut hak aksesnya. + last_used_at: Terakhir dipakai pada %{date} + never_used: Tidak pernah dipakai + scopes: Hak akses + superapp: Internal title: Aplikasi yang anda izinkan errors: messages: @@ -108,6 +112,33 @@ id: authorized_applications: destroy: notice: Aplikasi dicabut. + grouped_scopes: + access: + read: Akses baca-saja + read/write: Akses baca dan tulis + write: Akses tulis-saja + title: + accounts: Akun + admin/accounts: Administrasi akun + admin/all: Semua fungsi administratif + admin/reports: Administrasi laporan + all: Segalanya + blocks: Blokir + bookmarks: Markah + conversations: Percakapan + crypto: Enkripsi end-to-end + favourites: Favorit + filters: Saringan + follow: Hubungan + follows: Mengikuti + lists: Daftar + media: Lampiran media + mutes: Bisukan + notifications: Notifikasi + push: Notifikasi dorong + reports: Laporan + search: Pencarian + statuses: Kiriman layouts: admin: nav: @@ -122,6 +153,7 @@ id: admin:write: ubah semua data di server admin:write:accounts: lakukan aksi moderasi akun admin:write:reports: lakukan aksi moderasi laporan + crypto: menggunakan enkripsi end-to-end follow: mengikuti, blokir, menghapus blokir, dan berhenti mengikuti akun push: terima notifikasi dorong read: membaca data pada akun anda @@ -141,6 +173,7 @@ id: write:accounts: ubah profil Anda write:blocks: blokir akun dan domain write:bookmarks: status markah + write:conversations: bisukan dan hapus percakapan write:favourites: status favorit write:filters: buat saringan write:follows: ikuti orang diff --git a/config/locales/doorkeeper.ku.yml b/config/locales/doorkeeper.ku.yml index 3a98486e3..6db8bb73d 100644 --- a/config/locales/doorkeeper.ku.yml +++ b/config/locales/doorkeeper.ku.yml @@ -130,7 +130,7 @@ ku: favourites: Bijarte filters: Parzûn follow: Pêwendî - follows: Şopîner + follows: Dişopîne lists: Rêzok media: Pêvekên medya mutes: Bêdengkirin @@ -162,7 +162,7 @@ ku: read:bookmarks: şûnpelên xwe bibîne read:favourites: bijarteyên xwe bibîne read:filters: parzûnûn xwe bibîne - read:follows: şopînerên xwe bibîne + read:follows: ên tu dişopînî bibîne read:lists: rêzoka xwe bibîne read:mutes: ajimêrên bêdeng kirî bibîne read:notifications: agahdariyên xwe bibîne diff --git a/config/locales/doorkeeper.nl.yml b/config/locales/doorkeeper.nl.yml index cb0c70aab..76f3b88c3 100644 --- a/config/locales/doorkeeper.nl.yml +++ b/config/locales/doorkeeper.nl.yml @@ -60,6 +60,8 @@ nl: error: title: Er is een fout opgetreden new: + prompt_html: "%{client_name} heeft toestemming nodig om toegang te krijgen tot jouw account. Het betreft een third-party-toepassing.Als je dit niet vertrouwt, moet je geen toestemming verlenen." + review_permissions: Toestemmingen beoordelen title: Autorisatie vereist show: title: Kopieer deze autorisatiecode en plak het in de toepassing. @@ -69,6 +71,11 @@ nl: confirmations: revoke: Weet je het zeker? index: + authorized_at: Toestemming verleent op %{date} + last_used_at: Voor het laatst gebruikt op %{date} + never_used: Nooit gebruikt + scopes: Toestemmingen + superapp: Intern title: Jouw geautoriseerde toepassingen errors: messages: @@ -104,6 +111,33 @@ nl: authorized_applications: destroy: notice: Toepassing ingetrokken. + grouped_scopes: + access: + read: Alleen leestoegang + read/write: Lees- en schrijftoegang + write: Alleen schrijftoegang + title: + accounts: Accounts + admin/accounts: Accountbeheer + admin/all: Alle beheerfuncties + admin/reports: Rapportagebeheer + all: Alles + blocks: Blokkeren + bookmarks: Bladwijzers + conversations: Gesprekken + crypto: End-to-end-encryptie + favourites: Favorieten + filters: Filters + follow: Relaties + follows: Volgend + lists: Lijsten + media: Mediabijlagen + mutes: Negeren + notifications: Meldingen + push: Pushmeldingen + reports: Rapportages + search: Zoeken + statuses: Berichten layouts: admin: nav: @@ -118,6 +152,7 @@ nl: admin:write: wijzig alle gegevens op de server admin:write:accounts: moderatieacties op accounts uitvoeren admin:write:reports: moderatieacties op rapportages uitvoeren + crypto: end-to-end-encryptie gebruiken follow: relaties tussen accounts bewerken push: jouw pushmeldingen ontvangen read: alle gegevens van jouw account lezen @@ -130,14 +165,15 @@ nl: read:lists: jouw lijsten bekijken read:mutes: jouw genegeerde gebruikers bekijken read:notifications: jouw meldingen bekijken - read:reports: jouw gerapporteerde toots bekijken + read:reports: jouw gerapporteerde berichten bekijken read:search: namens jou zoeken - read:statuses: alle toots bekijken + read:statuses: alle berichten bekijken write: alle gegevens van jouw account bewerken write:accounts: jouw profiel bewerken write:blocks: accounts en domeinen blokkeren - write:bookmarks: toots aan bladwijzers toevoegen - write:favourites: toots als favoriet markeren + write:bookmarks: berichten aan bladwijzers toevoegen + write:conversations: gespreken negeren en verwijderen + write:favourites: berichten als favoriet markeren write:filters: filters aanmaken write:follows: mensen volgen write:lists: lijsten aanmaken @@ -145,4 +181,4 @@ nl: write:mutes: mensen en gesprekken negeren write:notifications: meldingen verwijderen write:reports: andere mensen rapporteren - write:statuses: toots publiceren + write:statuses: berichten plaatsen diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index 7dee30a27..2acc958a7 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -490,6 +490,7 @@ es-AR: other: Intentos fallidos en %{count} días. no_failures_recorded: No hay fallos en el registro. title: Disponibilidad + warning: El último intento de conexión a este servidor no fue exitoso back_to_all: Todos back_to_limited: Limitados back_to_warning: Advertencia diff --git a/config/locales/es.yml b/config/locales/es.yml index bcce44e20..31970da48 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -490,6 +490,7 @@ es: other: Intentos fallidos en %{count} días diferentes. no_failures_recorded: No hay fallos en el registro. title: Disponibilidad + warning: El último intento de conexión a este servidor no ha tenido éxito back_to_all: Todos back_to_limited: Limitados back_to_warning: Advertencia diff --git a/config/locales/gl.yml b/config/locales/gl.yml index f3a4beb70..27642844c 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -490,6 +490,7 @@ gl: other: Intentos fallidos durante %{count} días distintos. no_failures_recorded: Non hai fallos rexistrados. title: Dispoñibilidade + warning: Fallou o último intento de conectar con este servidor back_to_all: Todo back_to_limited: Limitado back_to_warning: Aviso diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 000184317..ec2d4fa94 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -492,6 +492,7 @@ hu: other: Sikertelen próbálkozás %{count} különböző napon. no_failures_recorded: Nem rögzítettünk hibát. title: Elérhetőség + warning: Sikertelen volt az utolsó csatlakozási próbálkozás ehhez a szerverhez back_to_all: Mind back_to_limited: Korlátozott back_to_warning: Figyelmeztetés diff --git a/config/locales/id.yml b/config/locales/id.yml index 97443b4a5..63b9066ce 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -477,6 +477,7 @@ id: other: Upaya gagal dalam %{count} hari berbeda. no_failures_recorded: Tidak ada kegagalan tercatat. title: Ketersediaan + warning: Upaya terakhir untuk menyambung ke server ini tidak berhasil back_to_all: Semua back_to_limited: Terbatas back_to_warning: Peringatan diff --git a/config/locales/is.yml b/config/locales/is.yml index 04d193975..92eb0e31e 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -490,6 +490,7 @@ is: other: Misheppnaðar tilraunir á %{count} mismunandi dögum. no_failures_recorded: Engar misheppnaðar tilraunir á skrá. title: Tiltækileiki + warning: Síðasta tilraun til að tengjast þessum netþjóni mistókst back_to_all: Allt back_to_limited: Takmarkað back_to_warning: Aðvörun diff --git a/config/locales/it.yml b/config/locales/it.yml index d96e58540..5af135fbc 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -490,6 +490,7 @@ it: other: Tentativo fallito %{count} giorni differenti. no_failures_recorded: Nessun fallimento registrato. title: Disponibilità + warning: L'ultimo tentativo di connessione a questo server non è riuscito back_to_all: Tutto back_to_limited: Limitato back_to_warning: Avviso diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 7dacd90d3..19cabb1ce 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -481,6 +481,7 @@ ko: other: 실패한 전달 시도 총 %{count}일. no_failures_recorded: 실패 기록이 없습니다. title: 가용성 + warning: 이 서버에 대한 마지막 연결 시도가 성공적이지 않았습니다 back_to_all: 전체 back_to_limited: 제한됨 back_to_warning: 경고 diff --git a/config/locales/ku.yml b/config/locales/ku.yml index 5245f85ec..7dac9ae44 100644 --- a/config/locales/ku.yml +++ b/config/locales/ku.yml @@ -133,7 +133,7 @@ ku: enabled: Çalakkirî enabled_msg: Ajimêra %{username} bi serkeftî hat çalak kirin followers: Şopîner - follows: Dişopînê + follows: Dişopîne header: Jormalper inbox_url: Peyamên hatî URl invite_request_text: Sedemên tevlêbûnê @@ -492,6 +492,7 @@ ku: other: Hewldanên têkçûyî di %{count} rojên cuda de. no_failures_recorded: Di tomarê de têkçûn tune. title: Berdestbûnî + warning: Hewldana dawî ji bo girêdana bi vê rajekarê re bi ser neket back_to_all: Hemû back_to_limited: Sînorkirî back_to_warning: Hişyarî @@ -543,7 +544,7 @@ ku: title: Giştî total_blocked_by_us: Ji aliyê me ve hatiye astengkirin total_followed_by_them: Ji aliyê wan ve hatiye şopandin - total_followed_by_us: Ji aliyê ve me hate şopandin + total_followed_by_us: Ji aliyê me ve hatiye şopandin total_reported: Giliyên derheqê wan de total_storage: Pêvekên medyayê totals_time_period_hint_html: Tevahiyên ku li jêr têne xuyakirin daneyên hemû deman dihewîne. @@ -975,7 +976,7 @@ ku: close: An jî, tu dikarî tenê ev çarçoveyê bigirî. return: Profîla vê bikarhênerê nîşan bike web: Biçe tevneyê - title: Bişopîne %{acct} + title: "%{acct} bişopîne" challenge: confirm: Bidomîne hint_html: "Nîşe:Ji bo demjimêreke din em ê pêborîna te careke din ji te nexwazin." @@ -1247,7 +1248,7 @@ ku: follow: body: "%{name} niha te dişopîne!" subject: "%{name} niha te dişopîne" - title: Şopînereke nû + title: Şopînera nû follow_request: action: Daxwazên şopandinê bi rê ve bibe body: "%{name} daxwaza şopandina te kir" @@ -1416,7 +1417,7 @@ ku: notifications: Agahdarî preferences: Hilbijarte profile: Profîl - relationships: Yên tê şopandin û şopîner + relationships: Şopandin û şopîner statuses_cleanup: Bi xweberî ve jêbirina şandiya strikes: Binpêkirinên çavdêriyê two_factor_authentication: Piştrastkirinê du-faktorî diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 8f6df9961..3440da7ef 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -501,6 +501,7 @@ lv: zero: Neizdevušies mēģinājumi %{count} dienās. no_failures_recorded: Nav reģistrētu kļūdu. title: Pieejamība + warning: Pēdējais mēģinājums izveidot savienojumu ar šo serveri ir bijis neveiksmīgs back_to_all: Visas back_to_limited: Ierobežotās back_to_warning: Brīdinājums diff --git a/config/locales/nl.yml b/config/locales/nl.yml index a51ef07af..276fdb9b2 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -1,7 +1,7 @@ --- nl: about: - about_hashtag_html: Dit zijn openbare toots die getagged zijn met #%{hashtag}. Je kunt er op reageren of iets anders mee doen als je op Mastodon (of ergens anders in de fediverse) een account hebt. + about_hashtag_html: Dit zijn openbare berichten die getagged zijn met #%{hashtag}. Je kunt er op reageren of iets anders mee doen als je op Mastodon (of ergens anders in de fediverse) een account hebt. about_mastodon_html: Mastodon is een sociaal netwerk dat gebruikt maakt van open webprotocollen en vrije software. Het is net zoals e-mail gedecentraliseerd. about_this: Over deze server active_count_after: actief @@ -31,7 +31,7 @@ nl: source_code: Broncode status_count_after: one: toot - other: toots + other: berichten status_count_before: Zij schreven tagline: Vrienden volgen en nieuwe ontdekken terms: Gebruiksvoorwaarden @@ -41,7 +41,7 @@ nl: reason: 'Reden:' rejecting_media: 'Mediabestanden van deze server worden niet verwerkt en er worden geen thumbnails getoond. Je moet handmatig naar deze server doorklikken om de mediabestanden te kunnen bekijken:' rejecting_media_title: Mediabestanden geweigerd - silenced: Toots van deze server worden nergens weergegeven, behalve op jouw eigen starttijdlijn wanneer je het account volgt. + silenced: Berichten van deze server worden nergens weergegeven, behalve op jouw eigen starttijdlijn wanneer je het account volgt. silenced_title: Beperkte servers suspended: Je bent niet in staat om iemand van deze server te volgen, en er worden geen gegevens van deze server verwerkt of opgeslagen, en met deze server uitgewisseld. suspended_title: Opgeschorte servers @@ -74,9 +74,9 @@ nl: following: Je moet dit account wel al volgen, alvorens je het kan aanbevelen posts: one: Toot - other: Toots - posts_tab_heading: Toots - posts_with_replies: Toots en reacties + other: Berichten + posts_tab_heading: Berichten + posts_with_replies: Berichten en reacties roles: admin: Beheerder bot: Bot @@ -193,7 +193,7 @@ nl: targeted_reports: Door anderen gerapporteerd silence: Beperken silenced: Beperkt - statuses: Toots + statuses: Berichten subscribe: Abonneren suspended: Opgeschort suspension_irreversible: De gegevens van dit account zijn onomkeerbaar verwijderd. Je kunt het opschorten van dit account ongedaan maken zodat het weer valt te gebruiken, maar de verwijderde gegevens worden hiermee niet hersteld. @@ -229,7 +229,7 @@ nl: destroy_custom_emoji: Lokale emoji verwijderen destroy_domain_allow: Domeingoedkeuring verwijderen destroy_domain_block: Domeinblokkade verwijderen - destroy_email_domain_block: E-maildomeinblokkade verwijderen + destroy_email_domain_block: Blokkade van e-maildomein verwijderen destroy_ip_block: IP-regel verwijderen destroy_status: Toot verwijderen destroy_unavailable_domain: Niet beschikbaar domein verwijderen @@ -245,16 +245,16 @@ nl: reset_password_user: Wachtwoord opnieuw instellen resolve_report: Rapportage oplossen sensitive_account: De media in jouw account als gevoelig markeren - silence_account: Account negeren + silence_account: Account beperken suspend_account: Account opschorten unassigned_report: Rapportage niet langer toewijzen unsensitive_account: De media in jouw account niet langer als gevoelig markeren - unsilence_account: Account niet langer negeren + unsilence_account: Account niet langer beperken unsuspend_account: Account niet langer opschorten update_announcement: Mededeling bijwerken update_custom_emoji: Lokale emoji bijwerken update_domain_block: Domeinblokkade bijwerken - update_status: Toot bijwerken + update_status: Bericht bijwerken actions: assigned_to_self_report_html: "%{name} heeft rapportage %{target} aan zichzelf toegewezen" change_email_user_html: "%{name} veranderde het e-mailadres van gebruiker %{target}" @@ -274,7 +274,7 @@ nl: destroy_domain_block_html: Domein %{target} is door %{name} gedeblokkeerd destroy_email_domain_block_html: "%{name} heeft het e-maildomein %{target} gedeblokkeerd" destroy_ip_block_html: "%{name} verwijderde regel voor IP %{target}" - destroy_status_html: Toot van %{target} is door %{name} verwijderd + destroy_status_html: Bericht van %{target} is door %{name} verwijderd destroy_unavailable_domain_html: "%{name} heeft de bezorging voor domein %{target} hervat" disable_2fa_user_html: De vereiste tweestapsverificatie voor %{target} is door %{name} uitgeschakeld disable_custom_emoji_html: Emoji %{target} is door %{name} uitgeschakeld @@ -297,8 +297,8 @@ nl: update_announcement_html: "%{name} heeft de mededeling %{target} bijgewerkt" update_custom_emoji_html: Emoji %{target} is door %{name} bijgewerkt update_domain_block_html: "%{name} heeft de domeinblokkade bijgewerkt voor %{target}" - update_status_html: "%{name} heeft de toots van %{target} bijgewerkt" - deleted_status: "(verwijderde toot}" + update_status_html: "%{name} heeft de berichten van %{target} bijgewerkt" + deleted_status: "(verwijderd bericht}" empty: Geen logs gevonden. filter_by_action: Op actie filteren filter_by_user: Op gebruiker filteren @@ -461,11 +461,11 @@ nl: relays: add_new: Nieuwe relayserver toevoegen delete: Verwijderen - description_html: Een federatierelay is een tussenliggende server die grote hoeveelheden openbare toots uitwisselt tussen servers die zich hierop hebben geabonneerd. Het kan kleine en middelgrote servers helpen om content uit de fediverse te ontdekken, waarvoor anders lokale gebruikers handmatig mensen van externe servers moeten volgen. + description_html: Een federatierelay is een tussenliggende server die grote hoeveelheden openbare berichten uitwisselt tussen servers die zich hierop hebben geabonneerd. Het kan kleine en middelgrote servers helpen om content van de fediverse te ontdekken, waarvoor anders lokale gebruikers handmatig mensen van externe servers moeten volgen. disable: Uitschakelen disabled: Uitgeschakeld enable: Inschakelen - enable_hint: Eenmaal ingeschakeld gaat jouw server zich op alle openbare toots van deze relayserver abonneren en stuurt het de openbare toots van jouw server naar de relayserver. + enable_hint: Eenmaal ingeschakeld gaat jouw server zich op alle openbare berichten van deze relayserver abonneren en stuurt het de openbare berichten van jouw server naar de relayserver. enabled: Ingeschakeld inbox_url: Relay-URL pending: Aan het wachten op toestemming van de relayserver @@ -506,7 +506,7 @@ nl: reported_by: Gerapporteerd door resolved: Opgelost resolved_msg: Rapportage succesvol opgelost! - status: Toot + status: Bericht title: Rapportages unassign: Niet langer toewijzen unresolved: Onopgelost @@ -520,7 +520,7 @@ nl: title: Serverregels settings: activity_api_enabled: - desc_html: Wekelijks overzicht van de hoeveelheid lokale toots, actieve gebruikers en nieuwe registraties + desc_html: Wekelijks overzicht van de hoeveelheid lokale berichten, actieve gebruikers en nieuwe registraties title: Statistieken over gebruikersactiviteit via de API publiceren bootstrap_timeline_accounts: desc_html: Meerdere gebruikersnamen met komma's scheiden. Deze accounts worden in ieder geval aan nieuwe gebruikers aanbevolen @@ -533,7 +533,7 @@ nl: title: Aangepaste CSS default_noindex: desc_html: Heeft invloed op alle gebruikers die deze instelling niet zelf hebben veranderd - title: Toots van gebruikers standaard niet door zoekmachines laten indexeren + title: Berichten van gebruikers standaard niet door zoekmachines laten indexeren domain_blocks: all: Aan iedereen disabled: Aan niemand @@ -561,7 +561,7 @@ nl: desc_html: Wordt op de voorpagina weergegeven wanneer registratie van nieuwe accounts is uitgeschakeld
    En ook hier kan je HTML gebruiken title: Bericht wanneer registratie is uitgeschakeld deletion: - desc_html: Toestaan dat iedereen hun eigen account kan verwijderen + desc_html: Toestaan dat iedereen diens eigen account kan verwijderen title: Verwijderen account toestaan min_invite_role: disabled: Niemand @@ -606,7 +606,7 @@ nl: title: Hashtags toestaan om trending te worden zonder voorafgaande beoordeling trends: desc_html: Eerder beoordeelde hashtags die op dit moment trending zijn openbaar tonen - title: Trending hashtags + title: Trends site_uploads: delete: Geüpload bestand verwijderen destroyed_msg: Verwijderen website-upload geslaagd! @@ -615,8 +615,8 @@ nl: deleted: Verwijderd media: title: Media - no_status_selected: Er werden geen toots gewijzigd, omdat er geen enkele werd geselecteerd - title: Toots van account + no_status_selected: Er werden geen berichten gewijzigd, omdat er geen enkele werd geselecteerd + title: Berichten van account with_media: Met media system_checks: database_schema_check: @@ -662,14 +662,14 @@ nl: guide_link: https://crowdin.com/project/mastodon/nl guide_link_text: Iedereen kan bijdragen. sensitive_content: Gevoelige inhoud - toot_layout: Lay-out van toots + toot_layout: Lay-out van berichten application_mailer: notification_preferences: E-mailvoorkeuren wijzigen salutation: "%{name}," settings: 'E-mailvoorkeuren wijzigen: %{link}' view: 'Bekijk:' view_profile: Profiel bekijken - view_status: Toot bekijken + view_status: Bericht bekijken applications: created: Aanmaken toepassing geslaagd destroyed: Verwijderen toepassing geslaagd @@ -768,8 +768,8 @@ nl: success_msg: Jouw account is succesvol verwijderd warning: before: 'Lees deze tekst zorgvuldig voordat je verder gaat:' - caches: Toots en media die op andere servers zijn opgeslagen kunnen daar achterblijven - data_removal: Jouw toots en andere gegevens worden permanent verwijderd + caches: Berichten en media die op andere servers zijn opgeslagen kunnen daar achterblijven + data_removal: Jouw berichten en andere gegevens worden permanent verwijderd email_change_html: Je kunt je e-mailadres wijzigen zonder dat je jouw account hoeft te verwijderen email_contact_html: Wanneer het nog steeds niet aankomt, kun je voor hulp e-mailen naar %{email} email_reconfirmation_html: Wanneer je de bevestigingsmail niet hebt ontvangen, kun je deze opnieuw aanvragen @@ -805,7 +805,7 @@ nl: archive_takeout: date: Datum download: Jouw archief downloaden - hint_html: Je kunt een archief opvragen van jouw toots en geüploade media. De geëxporteerde gegevens zijn in het ActivityPub-formaat, dat door hiervoor geschikte software valt uit te lezen. Je kunt elke 7 dagen een kopie van je archief aanvragen. + hint_html: Je kunt een archief opvragen van jouw berichten en geüploade media. De geëxporteerde gegevens zijn in het ActivityPub-formaat, dat door hiervoor geschikte software valt uit te lezen. Je kunt elke 7 dagen een kopie van je archief aanvragen. in_progress: Jouw archief wordt samengesteld... request: Jouw archief opvragen size: Omvang @@ -820,7 +820,7 @@ nl: add_new: Nieuwe toevoegen errors: limit: Je hebt al het maximaal aantal hashtags uitgelicht - hint_html: "Wat zijn uitgelichte hashtags? Deze worden prominent op jouw openbare profiel getoond en stelt mensen in staat om jouw openbare toots per hashtag te bekijken. Het zijn een goed hulpmiddel om creatieve werkzaamheden of langetermijnprojecten bij te houden." + hint_html: "Wat zijn uitgelichte hashtags? Deze worden prominent op jouw openbare profiel getoond en stelt mensen in staat om jouw openbare berichten per hashtag te bekijken. Het zijn een goed hulpmiddel om creatieve werkzaamheden of langetermijnprojecten bij te houden." filters: contexts: account: Profielen @@ -901,7 +901,7 @@ nl: limit: Je hebt het maximaal aantal lijsten bereikt media_attachments: validations: - images_and_video: Een video kan niet aan een toot met afbeeldingen worden gekoppeld + images_and_video: Een video kan niet aan een bericht met afbeeldingen worden gekoppeld not_ready: Kan geen bestanden toevoegen die nog niet zijn verwerkt. Probeer het later opnieuw! too_many: Er kunnen niet meer dan 4 afbeeldingen toegevoegd worden migrations: @@ -954,8 +954,8 @@ nl: other: "%{count} nieuwe meldingen sinds jouw laatste bezoek \U0001F418" title: Tijdens jouw afwezigheid... favourite: - body: 'Jouw toot werd door %{name} aan hun favorieten toegevoegd:' - subject: "%{name} voegde jouw toot als favoriet toe" + body: 'Jouw bericht werd door %{name} aan diens favorieten toegevoegd:' + subject: "%{name} voegde jouw bericht als favoriet toe" title: Nieuwe favoriet follow: body: "%{name} volgt jou nu!" @@ -974,11 +974,11 @@ nl: poll: subject: Een poll van %{name} is beëindigd reblog: - body: 'Jouw toot werd door %{name} geboost:' - subject: "%{name} boostte jouw toot" + body: 'Jouw bericht werd door %{name} geboost:' + subject: "%{name} boostte jouw bericht" title: Nieuwe boost status: - subject: "%{name} heeft zojuist een toot geplaatst" + subject: "%{name} heeft zojuist een bericht geplaatst" notifications: email_events: E-mailmeldingen voor gebeurtenissen email_events_hint: 'Selecteer gebeurtenissen waarvoor je meldingen wilt ontvangen:' @@ -997,7 +997,7 @@ nl: code_hint: Voer de code in die door de authenticatie-app werd gegenereerd description_html: Na het instellen van tweestapsverificatie met een authenticatie-app, kun je alleen inloggen als je jouw mobiele telefoon bij je hebt. Hiermee genereer je namelijk de in te voeren toegangscode. enable: Inschakelen - instructions_html: "Scan deze QR-code in Google Authenticator of een soortgelijke app op jouw mobiele telefoon. Van nu af aan genereert deze app toegangscodes die je bij het inloggen moet invoeren." + instructions_html: "Scan deze QR-code in Google Authenticator of een soortgelijke app op jouw mobiele telefoon. Vanaf nu genereert deze app toegangscodes die je bij het inloggen moet invoeren." manual_instructions: 'Voor het geval je de QR-code niet kunt scannen en het handmatig moet invoeren, vind je hieronder de geheime code in platte tekst:' setup: Instellen wrong_code: De ingevoerde code is ongeldig! Klopt de systeemtijd van de server en die van jouw apparaat? @@ -1053,17 +1053,17 @@ nl: remote_interaction: favourite: proceed: Doorgaan met toevoegen aan jouw favorieten - prompt: 'Je wilt de volgende toot aan jouw favorieten toevoegen:' + prompt: 'Je wilt het volgende bericht aan jouw favorieten toevoegen:' reblog: proceed: Doorgaan met boosten - prompt: 'Je wilt de volgende toot boosten:' + prompt: 'Je wilt het volgende bericht boosten:' reply: proceed: Doorgaan met reageren - prompt: 'Je wilt op de volgende toot reageren:' + prompt: 'Je wilt op het volgende bericht reageren:' scheduled_statuses: - over_daily_limit: Je hebt de limiet van %{limit} in te plannen toots voor die dag overschreden - over_total_limit: Je hebt de limiet van %{limit} in te plannen toots overschreden - too_soon: De datum voor de ingeplande toot moet in de toekomst liggen + over_daily_limit: Je hebt de limiet van %{limit} in te plannen berichten voor vandaag overschreden + over_total_limit: Je hebt de limiet van %{limit} in te plannen berichten overschreden + too_soon: De datum voor het ingeplande bericht moet in de toekomst liggen sessions: activity: Laatst actief browser: Webbrowser @@ -1093,7 +1093,7 @@ nl: adobe_air: Adobe Air android: Android blackberry: Blackberry - chrome_os: ChromeOS + chrome_os: Chrome OS firefox_os: Firefox OS ios: iOS linux: Linux @@ -1144,12 +1144,12 @@ nl: one: 'bevatte een niet toegestane hashtag: %{tags}' other: 'bevatte niet toegestane hashtags: %{tags}' errors: - in_reply_not_found: De toot waarop je probeert te reageren lijkt niet te bestaan. + in_reply_not_found: Het bericht waarop je probeert te reageren lijkt niet te bestaan. open_in_web: In de webapp openen over_character_limit: Limiet van %{max} tekens overschreden pin_errors: - limit: Je hebt het maximaal aantal toots al vastgezet - ownership: Een toot van iemand anders kan niet worden vastgezet + limit: Je hebt het maximaal aantal bericht al vastgemaakt + ownership: Een bericht van iemand anders kan niet worden vastgemaakt reblog: Een boost kan niet worden vastgezet poll: total_people: @@ -1174,7 +1174,7 @@ nl: unlisted: Minder openbaar unlisted_long: Aan iedereen tonen, maar niet op openbare tijdlijnen stream_entries: - pinned: Vastgemaakte toot + pinned: Vastgemaakt bericht reblogged: boostte sensitive_content: Gevoelige inhoud tags: @@ -1332,7 +1332,7 @@ nl: otp_lost_help_html: Als je toegang tot beiden kwijt bent geraakt, neem dan contact op via %{email} seamless_external_login: Je bent ingelogd via een externe dienst, daarom zijn wachtwoorden en e-mailinstellingen niet beschikbaar. signed_in_as: 'Ingelogd als:' - suspicious_sign_in_confirmation: Het lijkt er op dat je nog niet eerder op dit apparaat bent ingelogd, en je bent een tijdje niet ingelogd, dus sturen we een beveiligingscode naar je e-mailadres om te bevestigen dat jij het bent. + suspicious_sign_in_confirmation: Het lijkt er op dat je nog niet eerder op dit apparaat bent ingelogd, dus sturen we een beveiligingscode naar jouw e-mailadres om te bevestigen dat jij het bent. verification: explanation_html: 'Je kunt jezelf verifiëren als de eigenaar van de links in de metadata van jouw profiel. Hiervoor moet op de gelinkte website een link terug naar jouw Mastodonprofiel staan. Deze link moet het rel="me"-attribuut bevatten. De omschrijving van de link maakt niet uit. Hier is een voorbeeld:' verification: Verificatie diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index 0fdfff517..348545cbf 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -490,6 +490,7 @@ pt-PT: other: Tentativas em %{count} dias diferentes. no_failures_recorded: Sem falhas registadas. title: Disponibilidade + warning: A última tentativa de conectar a este servidor não foi bem sucedida back_to_all: Todas back_to_limited: Limitadas back_to_warning: Aviso diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 579ea6462..4440f3336 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -480,6 +480,7 @@ ru: availability: no_failures_recorded: Сбоев в записи нет. title: Доступность + warning: Последняя попытка подключения к этому серверу не удалась back_to_all: Все узлы back_to_limited: Все ограниченные узлы back_to_warning: Все узлы требующие внимания @@ -742,6 +743,7 @@ ru: none: "%{name} отправил(а) предупреждение %{target}" sensitive: "%{name} отметил(а) учетную запись %{target} как деликатную" silence: "%{name} ограничил(а) учетную запись %{target}" + appeal_approved: Обжаловано appeal_pending: Обжалование в обработке system_checks: database_schema_check: @@ -806,6 +808,8 @@ ru: empty: Вы еще не определили пресеты предупреждений. title: Управление шаблонами предупреждений admin_mailer: + new_appeal: + subject: "%{username} обжалует решение модерации на %{instance}" new_pending_account: body: Ниже указана информация учётной записи. Вы можете одобрить или отклонить заявку. subject: Новая учётная запись для рассмотрения на %{instance} (%{username}) diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml index 679d7d8fd..7fdd3b7a8 100644 --- a/config/locales/simple_form.fa.yml +++ b/config/locales/simple_form.fa.yml @@ -27,6 +27,8 @@ fa: scheduled_at: برای انتشار فوری اعلامیه، خالی بگذارید starts_at: اختیاری. در صورتی که اعلامیه‌تان محدود به بازهٔ زمانی خاصی است text: می‌توانید مانند یک بوق‌ معمولی بنویسید. یادتان باشد که اعلامیهٔ شما فضای صفحهٔ کاربران را اشغال خواهد کرد + appeal: + text: فقط یک بار می‌توانید برای اخطار اعتراض کنید defaults: autofollow: کسانی که از راه دعوت‌نامه عضو می‌شوند به طور خودکار پیگیر شما خواهند شد avatar: یکی از قالب‌های PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد @@ -35,6 +37,7 @@ fa: current_password: به دلایل امنیتی لطفاً رمز این حساب را وارد کنید current_username: برای تأیید، لطفاً نام کاربری حساب فعلی را وارد کنید digest: تنها وقتی فرستاده می‌شود که مدتی طولانی فعالیتی نداشته باشید و در این مدت برای شما پیغام خصوصی‌ای نوشته شده باشد + discoverable: اجازه دهید حساب‌تان از طریق پیشنهادها، پرطرفدارها و سایر قابلیت‌ها، توسط افراد غریبه قابل کشف باشد email: به شما ایمیل تأییدی فرستاده خواهد شد fields: شما می‌توانید تا چهار مورد را در یک جدول در نمایهٔ خود نمایش دهید header: یکی از قالب‌های PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد @@ -60,6 +63,7 @@ fa: domain_allow: domain: این دامین خواهد توانست داده‌ها از این سرور را دریافت کند و داده‌های از این دامین در این‌جا پردازش و ذخیره خواهند شد email_domain_block: + domain: این می‌تواند نام دامنه‌ای باشد که در نشانی رایانامه یا رکورد MX استفاده می‌شود. پس از ثبت نام بررسی خواهند شد. with_dns_records: تلاشی برای resolve کردن رکوردهای ساناد دامنهٔ داده‌شده انجام شده و نتیجه نیز مسدود خواهد شد featured_tag: name: 'شاید بخواهید چنین چیزهایی را به کار ببرید:' @@ -116,6 +120,8 @@ fa: scheduled_at: زمان‌بندی انتشار starts_at: آغاز رویداد text: اعلامیه + appeal: + text: توضیح دهید که چرا این تصمیم باید معکوس شود defaults: autofollow: دعوت از دیگران برای عضو شدن و پیگیری حساب شما avatar: تصویر نمایه @@ -194,6 +200,7 @@ fa: sign_up_requires_approval: محدود کردن ثبت نام‌ها severity: قانون notification_emails: + appeal: شخصی به تصمیم ناظر اعتراض کرد digest: فرستادن رایانامه‌های خلاصه favourite: وقتی کسی نوشتهٔ شما را پسندید ایمیل بفرست follow: وقتی کسی پیگیر شما شد ایمیل بفرست @@ -201,6 +208,8 @@ fa: mention: وقتی کسی از شما نام برد ایمیل بفرست pending_account: وقتی حساب تازه‌ای نیاز به بازبینی داشت ایمیل بفرست reblog: وقتی کسی نوشتهٔ شما را بازبوقید ایمیل بفرست + report: گزارش جدیدی فرستاده شد + trending_tag: روند جدیدی نیازمند بازبینی است rule: text: قانون tag: diff --git a/config/locales/simple_form.ku.yml b/config/locales/simple_form.ku.yml index 4f38ae030..dcf723591 100644 --- a/config/locales/simple_form.ku.yml +++ b/config/locales/simple_form.ku.yml @@ -144,7 +144,7 @@ ku: inbox_url: URLya guhêzkera wergirtî irreversible: Li şûna veşartinê jê bibe locale: Zimanê navrûyê - locked: Ajimêr qefl bike + locked: Ajimêr kilît bike max_uses: Hejmara bikaranîna herî zêde new_password: Pêborîna nû note: Jiyanname diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml index 13d86443c..33968b508 100644 --- a/config/locales/simple_form.nl.yml +++ b/config/locales/simple_form.nl.yml @@ -7,18 +7,18 @@ nl: account_migration: acct: Vul de gebruikersnaam@domein van het account in, waarnaartoe je wilt verhuizen account_warning_preset: - text: Je kunt voor toots specifieke tekst gebruiken, zoals URL's, hashtags en vermeldingen + text: Je kunt specifieke tekst voor berichten gebruiken, zoals URL's, hashtags en vermeldingen title: Optioneel. Niet zichtbaar voor de ontvanger admin_account_action: - include_statuses: De gebruiker ziet welke toots verantwoordelijk zijn voor de moderatieactie of waarschuwing - send_email_notification: De gebruiker ontvangt een uitleg over wat er met hun account is gebeurd - text_html: Optioneel. Je kunt voor toots specifieke tekst gebruiken. Om tijd te besparen kun je presets voor waarschuwingen toevoegen + include_statuses: De gebruiker ziet welke berichten verantwoordelijk zijn voor de moderatieactie of waarschuwing + send_email_notification: De gebruiker ontvangt een uitleg over wat er met diens account is gebeurd + text_html: Optioneel. Je kunt specifieke tekst voor berichten gebruiken. Om tijd te besparen kun je presets voor waarschuwingen toevoegen type_html: Kies wat er met %{acct} moet gebeuren types: - disable: Voorkom dat de gebruiker hun account gebruikt, maar verwijder of verberg de inhoud niet. + disable: Voorkom dat de gebruiker diens account gebruikt, maar verwijder of verberg de inhoud niet. none: Gebruik dit om een waarschuwing naar de gebruiker te sturen, zonder dat nog een andere actie wordt uitgevoerd. sensitive: Forceer dat alle mediabijlagen van deze gebruiker als gevoelig worden gemarkeerd. - silence: Voorkom dat de gebruiker openbare toots kan versturen, verberg hun toots en meldingen voor mensen die hen niet volgen. + silence: Voorkom dat de gebruiker openbare berichten kan versturen, verberg diens berichten en meldingen voor mensen die diegene niet volgen. suspend: Alle interacties van en met dit account blokkeren en de inhoud verwijderen. Dit kan binnen dertig dagen worden teruggedraaid. warning_preset_id: Optioneel. Je kunt nog steeds handmatig tekst toevoegen aan het eind van de voorinstelling announcement: @@ -26,7 +26,7 @@ nl: ends_at: Optioneel. De publicatie van de mededeling wordt op dit tijdstip automatisch beëindigd scheduled_at: Laat leeg om de mededeling meteen te publiceren starts_at: Optioneel. In het geval dat jouw mededeling aan een bepaald tijdvak is gebonden - text: Je kunt voor toots specifieke tekst gebruiken. Let op de ruimte die de mededeling op het scherm van de gebruiker inneemt + text: Je kunt specifieke tekst voor berichten gebruiken. Let op de ruimte die de mededeling op het scherm van de gebruiker inneemt defaults: autofollow: Mensen die zich via de uitnodiging hebben geregistreerd, volgen jou automatisch avatar: PNG, GIF of JPG. Maximaal %{size}. Wordt teruggeschaald naar %{dimensions}px @@ -39,20 +39,20 @@ nl: fields: Je kan maximaal 4 items als een tabel op je profiel weergeven header: PNG, GIF of JPG. Maximaal %{size}. Wordt teruggeschaald naar %{dimensions}px inbox_url: Kopieer de URL van de voorpagina van de relayserver die je wil gebruiken - irreversible: Gefilterde toots verdwijnen onomkeerbaar, zelfs als de filter later wordt verwijderd + irreversible: Gefilterde berichten verdwijnen onomkeerbaar, zelfs als de filter later wordt verwijderd locale: De taal van de gebruikersomgeving, e-mails en pushmeldingen locked: Door het goedkeuren van volgers handmatig bepalen wie jou mag volgen password: Gebruik tenminste 8 tekens phrase: Komt overeen ongeacht hoofd-/kleine letters of een inhoudswaarschuwing scopes: Tot welke API's heeft de toepassing toegang. Wanneer je een toestemming van het bovenste niveau kiest, hoef je geen individuele toestemmingen meer te kiezen. - setting_aggregate_reblogs: Geen nieuwe boosts tonen voor toots die recentelijk nog zijn geboost (heeft alleen effect op nieuw ontvangen boosts) + setting_aggregate_reblogs: Geen nieuwe boosts tonen voor berichten die recentelijk nog zijn geboost (heeft alleen effect op nieuw ontvangen boosts) setting_default_sensitive: Gevoelige media wordt standaard verborgen en kan met één klik worden getoond setting_display_media_default: Als gevoelig gemarkeerde media verbergen setting_display_media_hide_all: Media altijd verbergen setting_display_media_show_all: Media altijd tonen setting_hide_network: Wie jij volgt en wie jou volgen wordt niet op jouw profiel getoond - setting_noindex: Heeft invloed op jouw openbare profiel en toots - setting_show_application: De toepassing de je gebruikt om te tooten wordt in de gedetailleerde weergave van de toot getoond + setting_noindex: Heeft invloed op jouw openbare profiel en pagina's met berichten + setting_show_application: De toepassing de je gebruikt om berichten te plaatsen wordt in de gedetailleerde weergave van het bericht getoond setting_use_blurhash: Wazige kleurovergangen zijn gebaseerd op de kleuren van de verborgen media, waarmee elk detail verdwijnt setting_use_pending_items: De tijdlijn wordt bijgewerkt door op het aantal nieuwe items te klikken, in plaats van dat deze automatisch wordt bijgewerkt username: Jouw gebruikersnaam is uniek op %{domain} @@ -85,7 +85,7 @@ nl: tag: name: Je kunt elk woord met een hoofdletter beginnen, om zo bijvoorbeeld de tekst leesbaarder te maken user: - chosen_languages: Alleen toots in de aangevinkte talen worden op de openbare tijdlijnen getoond + chosen_languages: Alleen berichten in de aangevinkte talen worden op de openbare tijdlijnen getoond labels: account: fields: @@ -99,7 +99,7 @@ nl: text: Tekst van preset title: Titel admin_account_action: - include_statuses: Gerapporteerde toots aan de e-mail toevoegen + include_statuses: Gerapporteerde berichten aan de e-mail toevoegen send_email_notification: Meld dit per e-mail aan de gebruiker text: Aangepaste waarschuwing type: Actie @@ -146,22 +146,22 @@ nl: setting_advanced_layout: Geavanceerde webomgeving inschakelen setting_aggregate_reblogs: Boosts in tijdlijnen groeperen setting_auto_play_gif: Speel geanimeerde GIF's automatisch af - setting_boost_modal: Vraag voor het boosten van een toot een bevestiging - setting_crop_images: Afbeeldingen bijsnijden tot 16x9 in toots op tijdlijnen - setting_default_language: Taal van jouw toots - setting_default_privacy: Standaardzichtbaarheid van jouw toots + setting_boost_modal: Vraag voor het boosten van een bericht een bevestiging + setting_crop_images: Afbeeldingen bijsnijden tot 16x9 in berichten op tijdlijnen + setting_default_language: Taal van jouw berichten + setting_default_privacy: Zichtbaarheid van nieuwe berichten setting_default_sensitive: Media altijd als gevoelig markeren - setting_delete_modal: Vraag voor het verwijderen van een toot een bevestiging + setting_delete_modal: Vraag voor het verwijderen van een bericht een bevestiging setting_disable_swiping: Swipebewegingen uitschakelen setting_display_media: Mediaweergave setting_display_media_default: Standaard setting_display_media_hide_all: Alles verbergen setting_display_media_show_all: Alles tonen - setting_expand_spoilers: Altijd toots met inhoudswaarschuwingen uitklappen + setting_expand_spoilers: Altijd berichten met inhoudswaarschuwingen uitklappen setting_hide_network: Jouw volgers en wie je volgt verbergen - setting_noindex: Jouw toots niet door zoekmachines laten indexeren + setting_noindex: Jouw berichten niet door zoekmachines laten indexeren setting_reduce_motion: Langzamere animaties - setting_show_application: Toepassing onthullen die je voor het verzenden van toots gebruikt + setting_show_application: Toepassing onthullen die je voor het verzenden van berichten gebruikt setting_system_font_ui: Standaardlettertype van jouw systeem gebruiken setting_theme: Thema website setting_trends: Trends van vandaag tonen @@ -195,19 +195,19 @@ nl: severity: Regel notification_emails: digest: Periodiek e-mails met een samenvatting versturen - favourite: Wanneer iemand jouw toot aan hun favorieten heeft toegevoegd + favourite: Wanneer iemand jouw bericht aan diens favorieten heeft toegevoegd follow: Wanneer iemand jou is gaan volgen follow_request: Wanneer iemand jou wil volgen mention: Wanneer iemand jou heeft vermeld pending_account: Wanneer een nieuw account moet worden beoordeeld - reblog: Wanneer iemand jouw toot heeft geboost + reblog: Wanneer iemand jouw bericht heeft geboost rule: text: Regel tag: listable: Toestaan dat deze hashtag in zoekopdrachten en aanbevelingen te zien valt name: Hashtag trendable: Toestaan dat deze hashtag onder trends te zien valt - usable: Toestaan dat deze hashtag in toots gebruikt mag worden + usable: Toestaan dat deze hashtag in berichten gebruikt mag worden 'no': Nee recommended: Aanbevolen required: diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index 6127cb9d5..b954b50fe 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -74,7 +74,7 @@ th: text: นี่จะช่วยให้เราตรวจทานใบสมัครของคุณ ip_block: comment: ไม่จำเป็น จดจำเหตุผลที่คุณเพิ่มกฎนี้ - ip: ป้อนที่อยู่ IPv4 หรือ IPv6 คุณสามารถปิดกั้นทั้งช่วงได้โดยใช้ไวยากรณ์ CIDR ระวังอย่าล็อคตัวเองออก! + ip: ป้อนที่อยู่ IPv4 หรือ IPv6 คุณสามารถปิดกั้นทั้งช่วงได้โดยใช้ไวยากรณ์ CIDR ระวังอย่าล็อคตัวคุณเองออก! severities: no_access: ปิดกั้นการเข้าถึงทรัพยากรทั้งหมด sign_up_requires_approval: การลงทะเบียนใหม่จะต้องมีการอนุมัติของคุณ diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 40337ce69..441044516 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -404,6 +404,8 @@ sv: status: Status title: Följ rekommendationer instances: + availability: + warning: Det senaste försöket att ansluta till denna värddator har misslyckats back_to_all: Alla back_to_limited: Begränsat back_to_warning: Varning diff --git a/config/locales/th.yml b/config/locales/th.yml index beafc4da4..d6248b7a8 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -556,6 +556,9 @@ th: other: "%{count} หมายเหตุ" action_log: รายการบันทึกการตรวจสอบ action_taken_by: ใช้การกระทำโดย + actions: + resolve_description_html: จะไม่ใช้การกระทำกับบัญชีที่รายงาน ไม่มีการบันทึกการดำเนินการ และจะปิดรายงาน + actions_description_html: ตัดสินใจว่าการกระทำใดที่จะใช้เพื่อแก้ปัญหารายงานนี้ หากคุณใช้การกระทำที่เป็นการลงโทษกับบัญชีที่รายงาน จะส่งการแจ้งเตือนอีเมลถึงเขา ยกเว้นเมื่อมีการเลือกหมวดหมู่ สแปม are_you_sure: คุณแน่ใจหรือไม่? assign_to_self: มอบหมายให้ฉัน assigned: ผู้ควบคุมที่ได้รับมอบหมาย @@ -883,6 +886,7 @@ th: confirming: กำลังรอการยืนยันอีเมลให้เสร็จสมบูรณ์ functional: บัญชีของคุณทำงานได้อย่างเต็มที่ pending: ใบสมัครของคุณกำลังรอดำเนินการตรวจทานโดยพนักงานของเรา นี่อาจใช้เวลาสักครู่ คุณจะได้รับอีเมลหากใบสมัครของคุณได้รับการอนุมัติ + view_strikes: ดูการดำเนินการที่ผ่านมากับบัญชีของคุณ too_fast: ส่งแบบฟอร์มเร็วเกินไป ลองอีกครั้ง trouble_logging_in: มีปัญหาในการเข้าสู่ระบบ? use_security_key: ใช้กุญแจความปลอดภัย @@ -954,6 +958,7 @@ th: submit: ส่งการอุทธรณ์ associated_report: รายงานที่เกี่ยวข้อง created_at: ลงวันที่ + description_html: นี่คือการกระทำที่ใช้กับบัญชีของคุณและคำเตือนที่ส่งถึงคุณโดยพนักงานของ %{instance} recipient: ส่งถึง status: 'โพสต์ #%{id}' title: "%{action} จาก %{date}" @@ -1410,9 +1415,11 @@ th: user_mailer: appeal_approved: action: ไปยังบัญชีของคุณ + explanation: อนุมัติการอุทธรณ์การดำเนินการกับบัญชีของคุณเมื่อ %{strike_date} ที่คุณได้ส่งเมื่อ %{appeal_date} แล้ว บัญชีของคุณอยู่ในสถานะที่ดีอีกครั้งหนึ่ง subject: อนุมัติการอุทธรณ์ของคุณจาก %{date} แล้ว title: อนุมัติการอุทธรณ์แล้ว appeal_rejected: + explanation: ปฏิเสธการอุทธรณ์การดำเนินการกับบัญชีของคุณเมื่อ %{strike_date} ที่คุณได้ส่งเมื่อ %{appeal_date} แล้ว subject: ปฏิเสธการอุทธรณ์ของคุณจาก %{date} แล้ว title: ปฏิเสธการอุทธรณ์แล้ว backup_ready: @@ -1431,6 +1438,12 @@ th: categories: spam: สแปม violation: เนื้อหาละเมิดหลักเกณฑ์ชุมชนดังต่อไปนี้ + explanation: + delete_statuses: มีการพบว่าบางโพสต์ของคุณละเมิดหนึ่งหลักเกณฑ์ชุมชนหรือมากกว่าและได้รับการเอาออกโดยผู้ควบคุมของ %{instance} ในเวลาต่อมา + disable: คุณไม่สามารถใช้บัญชีของคุณได้อีกต่อไป แต่โปรไฟล์และข้อมูลอื่น ๆ ของคุณยังคงอยู่ในสภาพเดิม คุณสามารถขอข้อมูลสำรองของข้อมูลของคุณ เปลี่ยนการตั้งค่าบัญชี หรือลบบัญชีของคุณ + mark_statuses_as_sensitive: ทำเครื่องหมายบางโพสต์ของคุณว่าละเอียดอ่อนโดยผู้ควบคุมของ %{instance} แล้ว นี่หมายความว่าผู้คนจะต้องแตะสื่อในโพสต์ก่อนที่จะแสดงตัวอย่าง คุณสามารถทำเครื่องหมายสื่อว่าละเอียดอ่อนด้วยตัวคุณเองเมื่อโพสต์ในอนาคต + sensitive: จากนี้ไป จะทำเครื่องหมายไฟล์สื่อที่อัปโหลดทั้งหมดของคุณว่าละเอียดอ่อนและซ่อนอยู่หลังการคลิกไปยังคำเตือน + silence: คุณยังคงสามารถใช้บัญชีของคุณแต่เฉพาะผู้คนที่กำลังติดตามคุณอยู่แล้วเท่านั้นที่จะเห็นโพสต์ของคุณในเซิร์ฟเวอร์นี้ และอาจแยกคุณออกจากคุณลักษณะการค้นพบต่าง ๆ อย่างไรก็ตาม ผู้อื่นอาจยังติดตามคุณด้วยตนเอง reason: 'เหตุผล:' statuses: 'โพสต์ที่อ้างถึง:' subject: diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 6e6477b92..47a55326b 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -490,6 +490,7 @@ tr: other: "%{count} farklı gün başarısız girişim." no_failures_recorded: Kayıtlı başarısızlık yok. title: Ulaşılabilirlik + warning: Bu sunucuya önceki bağlanma denemesi başarısız olmuştu back_to_all: Tümü back_to_limited: Sınırlı back_to_warning: Uyarı diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 6561a5716..6341b4eed 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -479,6 +479,7 @@ zh-CN: other: 在 %{count} 天中尝试失败。 no_failures_recorded: 没有失败记录。 title: 可用性 + warning: 上一次连接到此服务器的尝试失败了 back_to_all: 全部 back_to_limited: 受限 back_to_warning: 警告 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 43a71a5dd..1b64f9893 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -479,6 +479,7 @@ zh-TW: other: 錯誤嘗試於 %{count} 天。 no_failures_recorded: 報告中沒有錯誤。 title: 可用狀態 + warning: 上一次嘗試連線至本伺服器失敗 back_to_all: 所有 back_to_limited: 受限制的 back_to_warning: 警告 From b58db8f12eb19787ee3bd1ec8abab21027b3d4ef Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 25 Mar 2022 19:31:35 +0100 Subject: [PATCH 136/276] Add workaround for YouTube Shorts links (#17869) * Add workaround for YouTube Shorts links * Update link_details_extractor_spec.rb --- app/lib/link_details_extractor.rb | 2 +- spec/lib/link_details_extractor_spec.rb | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/lib/link_details_extractor.rb b/app/lib/link_details_extractor.rb index fabbd244d..b0c4e4f42 100644 --- a/app/lib/link_details_extractor.rb +++ b/app/lib/link_details_extractor.rb @@ -208,7 +208,7 @@ class LinkDetailsExtractor end def valid_url_or_nil(str, same_origin_only: false) - return if str.blank? + return if str.blank? || str == 'null' url = @original_url + Addressable::URI.parse(str) diff --git a/spec/lib/link_details_extractor_spec.rb b/spec/lib/link_details_extractor_spec.rb index 84bb4579c..7ea867c61 100644 --- a/spec/lib/link_details_extractor_spec.rb +++ b/spec/lib/link_details_extractor_spec.rb @@ -25,6 +25,14 @@ RSpec.describe LinkDetailsExtractor do expect(subject.canonical_url).to eq 'https://foo.com/article' end end + + context 'when canonical URL is set to "null"' do + let(:html) { '' } + + it 'ignores the canonical URLs' do + expect(subject.canonical_url).to eq original_url + end + end end context 'when structured data is present' do From f65eaa5aae8a71431bdcfb9c49c869cbdbc4da3f Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 25 Mar 2022 21:00:59 +0100 Subject: [PATCH 137/276] Add admin dashboard checks for Elasticsearch version (#17863) --- app/lib/admin/system_check.rb | 1 + .../admin/system_check/elasticsearch_check.rb | 39 +++++++++++++++++++ config/locales/en.yml | 5 +++ 3 files changed, 45 insertions(+) create mode 100644 app/lib/admin/system_check/elasticsearch_check.rb diff --git a/app/lib/admin/system_check.rb b/app/lib/admin/system_check.rb index afb20cb47..877a42ef6 100644 --- a/app/lib/admin/system_check.rb +++ b/app/lib/admin/system_check.rb @@ -5,6 +5,7 @@ class Admin::SystemCheck Admin::SystemCheck::DatabaseSchemaCheck, Admin::SystemCheck::SidekiqProcessCheck, Admin::SystemCheck::RulesCheck, + Admin::SystemCheck::ElasticsearchCheck, ].freeze def self.perform diff --git a/app/lib/admin/system_check/elasticsearch_check.rb b/app/lib/admin/system_check/elasticsearch_check.rb new file mode 100644 index 000000000..1b48a5415 --- /dev/null +++ b/app/lib/admin/system_check/elasticsearch_check.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +class Admin::SystemCheck::ElasticsearchCheck < Admin::SystemCheck::BaseCheck + def pass? + return true unless Chewy.enabled? + + running_version.present? && compatible_version? + end + + def message + if running_version.present? + Admin::SystemCheck::Message.new(:elasticsearch_version_check, I18n.t('admin.system_checks.elasticsearch_version_check.version_comparison', running_version: running_version, required_version: required_version)) + else + Admin::SystemCheck::Message.new(:elasticsearch_running_check) + end + end + + private + + def running_version + @running_version ||= begin + Chewy.client.info['version']['number'] + rescue Faraday::ConnectionFailed + nil + end + end + + def required_version + '7.x' + end + + def compatible_version? + Gem::Version.new(running_version) >= Gem::Version.new(required_version) + end + + def missing_queues + @missing_queues ||= Sidekiq::ProcessSet.new.reduce(SIDEKIQ_QUEUES) { |queues, process| queues - process['queues'] } + end +end diff --git a/config/locales/en.yml b/config/locales/en.yml index a6ded38f7..db29922fa 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -780,6 +780,11 @@ en: message_html: You haven't defined any server rules. sidekiq_process_check: message_html: No Sidekiq process running for the %{value} queue(s). Please review your Sidekiq configuration + elasticsearch_running_check: + message_html: Could not connect to Elasticsearch. Please check that it is running, or disable full-text search + elasticsearch_version_check: + message_html: "Incompatible Elasticsearch version: %{value}" + version_comparison: "Elasticsearch %{running_version} is running while %{required_version} is required" tags: review: Review status updated_msg: Hashtag settings updated successfully From f572a68a0cec49551948858dc0957bc7703e580d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 25 Mar 2022 21:41:17 +0100 Subject: [PATCH 138/276] Chore: i18n-tasks normalize (#17873) --- config/locales/en.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config/locales/en.yml b/config/locales/en.yml index db29922fa..5fa3c012e 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -775,16 +775,16 @@ en: system_checks: database_schema_check: message_html: There are pending database migrations. Please run them to ensure the application behaves as expected + elasticsearch_running_check: + message_html: Could not connect to Elasticsearch. Please check that it is running, or disable full-text search + elasticsearch_version_check: + message_html: 'Incompatible Elasticsearch version: %{value}' + version_comparison: Elasticsearch %{running_version} is running while %{required_version} is required rules_check: action: Manage server rules message_html: You haven't defined any server rules. sidekiq_process_check: message_html: No Sidekiq process running for the %{value} queue(s). Please review your Sidekiq configuration - elasticsearch_running_check: - message_html: Could not connect to Elasticsearch. Please check that it is running, or disable full-text search - elasticsearch_version_check: - message_html: "Incompatible Elasticsearch version: %{value}" - version_comparison: "Elasticsearch %{running_version} is running while %{required_version} is required" tags: review: Review status updated_msg: Hashtag settings updated successfully From e3a220306181f9aeda41940bfb11e4350d113e77 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 26 Mar 2022 00:26:50 +0100 Subject: [PATCH 139/276] Add offset pagination to trends in REST API (#17872) --- .../api/v1/trends/links_controller.rb | 26 ++++++++++++++++++- .../api/v1/trends/statuses_controller.rb | 24 ++++++++++++++++- .../api/v1/trends/tags_controller.rb | 26 ++++++++++++++++++- app/models/trends/query.rb | 4 +-- 4 files changed, 75 insertions(+), 5 deletions(-) diff --git a/app/controllers/api/v1/trends/links_controller.rb b/app/controllers/api/v1/trends/links_controller.rb index ad20e7f8b..b1cde5a4b 100644 --- a/app/controllers/api/v1/trends/links_controller.rb +++ b/app/controllers/api/v1/trends/links_controller.rb @@ -3,6 +3,10 @@ class Api::V1::Trends::LinksController < Api::BaseController before_action :set_links + after_action :insert_pagination_headers + + DEFAULT_LINKS_LIMIT = 10 + def index render json: @links, each_serializer: REST::Trends::LinkSerializer end @@ -20,6 +24,26 @@ class Api::V1::Trends::LinksController < Api::BaseController end def links_from_trends - Trends.links.query.allowed.in_locale(content_locale).limit(limit_param(10)) + Trends.links.query.allowed.in_locale(content_locale).offset(offset_param).limit(limit_param(DEFAULT_LINKS_LIMIT)) + end + + def insert_pagination_headers + set_pagination_headers(next_path, prev_path) + end + + def pagination_params(core_params) + params.slice(:limit).permit(:limit).merge(core_params) + end + + def next_path + api_v1_trends_links_url pagination_params(offset: offset_param + limit_param(DEFAULT_LINKS_LIMIT)) + end + + def prev_path + api_v1_trends_links_url pagination_params(offset: offset_param - limit_param(DEFAULT_LINKS_LIMIT)) if offset_param > limit_param(DEFAULT_LINKS_LIMIT) + end + + def offset_param + params[:offset].to_i end end diff --git a/app/controllers/api/v1/trends/statuses_controller.rb b/app/controllers/api/v1/trends/statuses_controller.rb index d4ec97ae5..4977803fb 100644 --- a/app/controllers/api/v1/trends/statuses_controller.rb +++ b/app/controllers/api/v1/trends/statuses_controller.rb @@ -3,6 +3,8 @@ class Api::V1::Trends::StatusesController < Api::BaseController before_action :set_statuses + after_action :insert_pagination_headers + def index render json: @statuses, each_serializer: REST::StatusSerializer end @@ -22,6 +24,26 @@ class Api::V1::Trends::StatusesController < Api::BaseController def statuses_from_trends scope = Trends.statuses.query.allowed.in_locale(content_locale) scope = scope.filtered_for(current_account) if user_signed_in? - scope.limit(limit_param(DEFAULT_STATUSES_LIMIT)) + scope.offset(offset_param).limit(limit_param(DEFAULT_STATUSES_LIMIT)) + end + + def insert_pagination_headers + set_pagination_headers(next_path, prev_path) + end + + def pagination_params(core_params) + params.slice(:limit).permit(:limit).merge(core_params) + end + + def next_path + api_v1_trends_statuses_url pagination_params(offset: offset_param + limit_param(DEFAULT_STATUSES_LIMIT)) + end + + def prev_path + api_v1_trends_statuses_url pagination_params(offset: offset_param - limit_param(DEFAULT_STATUSES_LIMIT)) if offset_param > limit_param(DEFAULT_STATUSES_LIMIT) + end + + def offset_param + params[:offset].to_i end end diff --git a/app/controllers/api/v1/trends/tags_controller.rb b/app/controllers/api/v1/trends/tags_controller.rb index 1334b72d2..d77857871 100644 --- a/app/controllers/api/v1/trends/tags_controller.rb +++ b/app/controllers/api/v1/trends/tags_controller.rb @@ -3,6 +3,10 @@ class Api::V1::Trends::TagsController < Api::BaseController before_action :set_tags + after_action :insert_pagination_headers + + DEFAULT_TAGS_LIMIT = 10 + def index render json: @tags, each_serializer: REST::TagSerializer end @@ -12,10 +16,30 @@ class Api::V1::Trends::TagsController < Api::BaseController def set_tags @tags = begin if Setting.trends - Trends.tags.query.allowed.limit(limit_param(10)) + Trends.tags.query.allowed.limit(limit_param(DEFAULT_TAGS_LIMIT)) else [] end end end + + def insert_pagination_headers + set_pagination_headers(next_path, prev_path) + end + + def pagination_params(core_params) + params.slice(:limit).permit(:limit).merge(core_params) + end + + def next_path + api_v1_trends_tags_url pagination_params(offset: offset_param + limit_param(DEFAULT_TAGS_LIMIT)) + end + + def prev_path + api_v1_trends_tags_url pagination_params(offset: offset_param - limit_param(DEFAULT_TAGS_LIMIT)) if offset_param > limit_param(DEFAULT_TAGS_LIMIT) + end + + def offset_param + params[:offset].to_i + end end diff --git a/app/models/trends/query.rb b/app/models/trends/query.rb index 64a4c0c1f..231b65228 100644 --- a/app/models/trends/query.rb +++ b/app/models/trends/query.rb @@ -37,7 +37,7 @@ class Trends::Query end def offset!(value) - @offset = value + @offset = value.to_i self end @@ -46,7 +46,7 @@ class Trends::Query end def limit!(value) - @limit = value + @limit = value.to_i self end From 71f2b95106b2e75d3efb40040b29c216c2d99ee6 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 26 Mar 2022 00:38:44 +0100 Subject: [PATCH 140/276] Fix edits with no actual changes being allowed (#17843) * Fix edits with no actual changes being allowed locally * Fix edits with no actual changes being allowed through ActivityPub * Fix false positive changes caused by description processing in model * Fix not recording poll expiration update * Fix test * Revert changes to ProcessStatusUpdateService * Various fixes and improvements * Fix code style issues * Various changes and improvements * Add guard clause --- .../parser/media_attachment_parser.rb | 4 ++- .../concerns/status_snapshot_concern.rb | 35 +++++++++++++++++++ app/models/media_attachment.rb | 7 +--- app/models/status.rb | 21 +---------- .../process_status_update_service.rb | 22 ++++++------ app/services/update_status_service.rb | 28 ++++++++++++--- spec/models/media_attachment_spec.rb | 8 ----- .../process_status_update_service_spec.rb | 31 ++++++++++++++-- spec/services/update_status_service_spec.rb | 17 +++++++++ 9 files changed, 121 insertions(+), 52 deletions(-) create mode 100644 app/models/concerns/status_snapshot_concern.rb diff --git a/app/lib/activitypub/parser/media_attachment_parser.rb b/app/lib/activitypub/parser/media_attachment_parser.rb index 1798e58a4..30bea1f0e 100644 --- a/app/lib/activitypub/parser/media_attachment_parser.rb +++ b/app/lib/activitypub/parser/media_attachment_parser.rb @@ -27,7 +27,9 @@ class ActivityPub::Parser::MediaAttachmentParser end def description - @json['summary'].presence || @json['name'].presence + str = @json['summary'].presence || @json['name'].presence + str = str.strip[0...MediaAttachment::MAX_DESCRIPTION_LENGTH] if str.present? + str end def focus diff --git a/app/models/concerns/status_snapshot_concern.rb b/app/models/concerns/status_snapshot_concern.rb new file mode 100644 index 000000000..9741b9aeb --- /dev/null +++ b/app/models/concerns/status_snapshot_concern.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module StatusSnapshotConcern + extend ActiveSupport::Concern + + included do + has_many :edits, class_name: 'StatusEdit', inverse_of: :status, dependent: :destroy + end + + def edited? + edited_at.present? + end + + def build_snapshot(account_id: nil, at_time: nil, rate_limit: true) + # We don't use `edits#new` here to avoid it having saved when the + # status is saved, since we want to control that manually + + StatusEdit.new( + status_id: id, + text: text, + spoiler_text: spoiler_text, + sensitive: sensitive, + ordered_media_attachment_ids: ordered_media_attachment_ids&.dup || media_attachments.pluck(:id), + media_descriptions: ordered_media_attachments.map(&:description), + poll_options: preloadable_poll&.options&.dup, + account_id: account_id || self.account_id, + created_at: at_time || edited_at, + rate_limit: rate_limit + ) + end + + def snapshot!(**options) + build_snapshot(**options).save! + end +end diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb index a3115637e..21c663e47 100644 --- a/app/models/media_attachment.rb +++ b/app/models/media_attachment.rb @@ -185,7 +185,7 @@ class MediaAttachment < ApplicationRecord remotable_attachment :thumbnail, IMAGE_LIMIT, suppress_errors: true, download_on_assign: false validates :account, presence: true - validates :description, length: { maximum: MAX_DESCRIPTION_LENGTH }, if: :local? + validates :description, length: { maximum: MAX_DESCRIPTION_LENGTH } validates :file, presence: true, if: :local? validates :thumbnail, absence: true, if: -> { local? && !audio_or_video? } @@ -258,7 +258,6 @@ class MediaAttachment < ApplicationRecord after_commit :enqueue_processing, on: :create after_commit :reset_parent_cache, on: :update - before_create :prepare_description, unless: :local? before_create :set_unknown_type before_create :set_processing @@ -306,10 +305,6 @@ class MediaAttachment < ApplicationRecord self.type = :unknown if file.blank? && !type_changed? end - def prepare_description - self.description = description.strip[0...MAX_DESCRIPTION_LENGTH] unless description.nil? - end - def set_type_and_extension self.type = begin if VIDEO_MIME_TYPES.include?(file_content_type) diff --git a/app/models/status.rb b/app/models/status.rb index 5b984543e..bf5a49b7f 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -35,6 +35,7 @@ class Status < ApplicationRecord include Paginable include Cacheable include StatusThreadingConcern + include StatusSnapshotConcern include RateLimitable rate_limit by: :account, family: :statuses @@ -59,8 +60,6 @@ class Status < ApplicationRecord belongs_to :thread, foreign_key: 'in_reply_to_id', class_name: 'Status', inverse_of: :replies, optional: true belongs_to :reblog, foreign_key: 'reblog_of_id', class_name: 'Status', inverse_of: :reblogs, optional: true - has_many :edits, class_name: 'StatusEdit', inverse_of: :status, dependent: :destroy - has_many :favourites, inverse_of: :status, dependent: :destroy has_many :bookmarks, inverse_of: :status, dependent: :destroy has_many :reblogs, foreign_key: 'reblog_of_id', class_name: 'Status', inverse_of: :reblog, dependent: :destroy @@ -212,24 +211,6 @@ class Status < ApplicationRecord public_visibility? || unlisted_visibility? end - def snapshot!(account_id: nil, at_time: nil, rate_limit: true) - edits.create!( - text: text, - spoiler_text: spoiler_text, - sensitive: sensitive, - ordered_media_attachment_ids: ordered_media_attachment_ids || media_attachments.pluck(:id), - media_descriptions: ordered_media_attachments.map(&:description), - poll_options: preloadable_poll&.options, - account_id: account_id || self.account_id, - created_at: at_time || edited_at, - rate_limit: rate_limit - ) - end - - def edited? - edited_at.present? - end - alias sign? distributable? def with_media? diff --git a/app/services/activitypub/process_status_update_service.rb b/app/services/activitypub/process_status_update_service.rb index 47a788c30..6dc14d8c2 100644 --- a/app/services/activitypub/process_status_update_service.rb +++ b/app/services/activitypub/process_status_update_service.rb @@ -4,6 +4,8 @@ class ActivityPub::ProcessStatusUpdateService < BaseService include JsonLdHelper def call(status, json) + raise ArgumentError, 'Status has unsaved changes' if status.changed? + @json = json @status_parser = ActivityPub::Parser::StatusParser.new(@json) @uri = @status_parser.uri @@ -17,16 +19,19 @@ class ActivityPub::ProcessStatusUpdateService < BaseService last_edit_date = status.edited_at.presence || status.created_at + # Since we rely on tracking of previous changes, ensure clean slate + status.clear_changes_information + # Only allow processing one create/update per status at a time RedisLock.acquire(lock_options) do |lock| if lock.acquired? Status.transaction do - create_previous_edit! + record_previous_edit! update_media_attachments! update_poll! update_immediate_attributes! update_metadata! - create_edit! + create_edits! end queue_poll_notifications! @@ -216,19 +221,14 @@ class ActivityPub::ProcessStatusUpdateService < BaseService { redis: Redis.current, key: "create:#{@uri}", autorelease: 15.minutes.seconds } end - def create_previous_edit! - # We only need to create a previous edit when no previous edits exist, e.g. - # when the status has never been edited. For other cases, we always create - # an edit, so the step can be skipped - - return if @status.edits.any? - - @status.snapshot!(at_time: @status.created_at, rate_limit: false) + def record_previous_edit! + @previous_edit = @status.build_snapshot(at_time: @status.created_at, rate_limit: false) if @status.edits.empty? end - def create_edit! + def create_edits! return unless significant_changes? + @previous_edit&.save! @status.snapshot!(account_id: @account.id, rate_limit: false) end diff --git a/app/services/update_status_service.rb b/app/services/update_status_service.rb index 055e5968d..c4c934976 100644 --- a/app/services/update_status_service.rb +++ b/app/services/update_status_service.rb @@ -4,6 +4,8 @@ class UpdateStatusService < BaseService include Redisable include LanguagesHelper + class NoChangesSubmittedError < StandardError; end + # @param [Status] status # @param [Integer] account_id # @param [Hash] options @@ -17,6 +19,8 @@ class UpdateStatusService < BaseService @status = status @options = options @account_id = account_id + @media_attachments_changed = false + @poll_changed = false Status.transaction do create_previous_edit! @@ -32,18 +36,24 @@ class UpdateStatusService < BaseService broadcast_updates! @status + rescue NoChangesSubmittedError + # For calls that result in no changes, swallow the error + # but get back to the original state + + @status.reload end private def update_media_attachments! - previous_media_attachments = @status.media_attachments.to_a + previous_media_attachments = @status.ordered_media_attachments.to_a next_media_attachments = validate_media! added_media_attachments = next_media_attachments - previous_media_attachments MediaAttachment.where(id: added_media_attachments.map(&:id)).update_all(status_id: @status.id) @status.ordered_media_attachment_ids = (@options[:media_ids] || []).map(&:to_i) & next_media_attachments.map(&:id) + @media_attachments_changed = previous_media_attachments.map(&:id) != @status.ordered_media_attachment_ids @status.media_attachments.reload end @@ -69,20 +79,23 @@ class UpdateStatusService < BaseService # If for some reasons the options were changed, it invalidates all previous # votes, so we need to remove them - poll_changed = true if @options[:poll][:options] != poll.options || ActiveModel::Type::Boolean.new.cast(@options[:poll][:multiple]) != poll.multiple + @poll_changed = true if @options[:poll][:options] != poll.options || ActiveModel::Type::Boolean.new.cast(@options[:poll][:multiple]) != poll.multiple poll.options = @options[:poll][:options] poll.hide_totals = @options[:poll][:hide_totals] || false poll.multiple = @options[:poll][:multiple] || false poll.expires_in = @options[:poll][:expires_in] - poll.reset_votes! if poll_changed + poll.reset_votes! if @poll_changed poll.save! @status.poll_id = poll.id elsif previous_poll.present? previous_poll.destroy + @poll_changed = true @status.poll_id = nil end + + @poll_changed = true if @previous_expires_at != @status.preloadable_poll&.expires_at end def update_immediate_attributes! @@ -90,8 +103,11 @@ class UpdateStatusService < BaseService @status.spoiler_text = @options[:spoiler_text] || '' if @options.key?(:spoiler_text) @status.sensitive = @options[:sensitive] || @options[:spoiler_text].present? if @options.key?(:sensitive) || @options.key?(:spoiler_text) @status.language = valid_locale_cascade(@options[:language], @status.language, @status.account.user&.preferred_posting_language, I18n.default_locale) - @status.edited_at = Time.now.utc + # We raise here to rollback the entire transaction + raise NoChangesSubmittedError unless significant_changes? + + @status.edited_at = Time.now.utc @status.save! end @@ -137,4 +153,8 @@ class UpdateStatusService < BaseService def create_edit! @status.snapshot!(account_id: @account_id) end + + def significant_changes? + @status.changed? || @poll_changed || @media_attachments_changed + end end diff --git a/spec/models/media_attachment_spec.rb b/spec/models/media_attachment_spec.rb index 7360b23cf..cbd9a09c5 100644 --- a/spec/models/media_attachment_spec.rb +++ b/spec/models/media_attachment_spec.rb @@ -186,14 +186,6 @@ RSpec.describe MediaAttachment, type: :model do expect(media.valid?).to be false end - describe 'descriptions for remote attachments' do - it 'are cut off at 1500 characters' do - media = Fabricate(:media_attachment, description: 'foo' * 1000, remote_url: 'http://example.com/blah.jpg') - - expect(media.description.size).to be <= 1_500 - end - end - describe 'size limit validation' do it 'rejects video files that are too large' do stub_const 'MediaAttachment::IMAGE_LIMIT', 100.megabytes diff --git a/spec/services/activitypub/process_status_update_service_spec.rb b/spec/services/activitypub/process_status_update_service_spec.rb index 788c7c9d9..f87adcae1 100644 --- a/spec/services/activitypub/process_status_update_service_spec.rb +++ b/spec/services/activitypub/process_status_update_service_spec.rb @@ -46,6 +46,29 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do expect(status.reload.spoiler_text).to eq 'Show more' end + context 'with no changes at all' do + let(:payload) do + { + '@context': 'https://www.w3.org/ns/activitystreams', + id: 'foo', + type: 'Note', + content: 'Hello world', + } + end + + before do + subject.call(status, json) + end + + it 'does not create any edits' do + expect(status.reload.edits).to be_empty + end + + it 'does not mark status as edited' do + expect(status.edited?).to be false + end + end + context 'with no changes and originally with no ordered_media_attachment_ids' do let(:payload) do { @@ -61,8 +84,12 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do subject.call(status, json) end - it 'does not record an update' do - expect(status.reload.edited?).to be false + it 'does not create any edits' do + expect(status.reload.edits).to be_empty + end + + it 'does not mark status as edited' do + expect(status.edited?).to be false end end diff --git a/spec/services/update_status_service_spec.rb b/spec/services/update_status_service_spec.rb index 78cc89cd4..71a73be5b 100644 --- a/spec/services/update_status_service_spec.rb +++ b/spec/services/update_status_service_spec.rb @@ -3,6 +3,23 @@ require 'rails_helper' RSpec.describe UpdateStatusService, type: :service do subject { described_class.new } + context 'when nothing changes' do + let!(:status) { Fabricate(:status, text: 'Foo', language: 'en') } + + before do + allow(ActivityPub::DistributionWorker).to receive(:perform_async) + subject.call(status, status.account_id, text: 'Foo') + end + + it 'does not create an edit' do + expect(status.reload.edits).to be_empty + end + + it 'does not notify anyone' do + expect(ActivityPub::DistributionWorker).to_not have_received(:perform_async) + end + end + context 'when text changes' do let!(:status) { Fabricate(:status, text: 'Foo') } let(:preview_card) { Fabricate(:preview_card) } From 6907605026a5d46acf8a5f3aaf5384807c1d8d3c Mon Sep 17 00:00:00 2001 From: Jeong Arm Date: Sat, 26 Mar 2022 08:39:54 +0900 Subject: [PATCH 141/276] Add stop delivery link also for failing instance (#17871) --- app/views/admin/instances/show.html.haml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/admin/instances/show.html.haml b/app/views/admin/instances/show.html.haml index 70912a4f5..ef4de602d 100644 --- a/app/views/admin/instances/show.html.haml +++ b/app/views/admin/instances/show.html.haml @@ -87,7 +87,8 @@ - else %span.negative-hint = t('admin.instances.availability.failures_recorded', count: @instance.delivery_failure_tracker.days) - = link_to t('admin.instances.delivery.clear'), clear_delivery_errors_admin_instance_path(@instance), data: { confirm: t('admin.accounts.are_you_sure'), method: :post } unless @instance.exhausted_deliveries_days.empty? + %span= link_to t('admin.instances.delivery.clear'), clear_delivery_errors_admin_instance_path(@instance), data: { confirm: t('admin.accounts.are_you_sure'), method: :post } unless @instance.exhausted_deliveries_days.empty? + %span= link_to t('admin.instances.delivery.stop'), stop_delivery_admin_instance_path(@instance), data: { confirm: t('admin.accounts.are_you_sure'), method: :post } - if @instance.purgeable? %p= t('admin.instances.purge_description_html') From 52813830bee5607332b49bee2916956286ec5dc1 Mon Sep 17 00:00:00 2001 From: mayaeh Date: Sat, 26 Mar 2022 10:52:51 +0900 Subject: [PATCH 142/276] Add a hashtag public link to the trending hashtag page (#17140) * Add a hashtag public link to the hashtag management page * Add support for element 'target' to Counter.js. Remove 'rel' element. * Update app/javascript/mastodon/components/admin/Counter.js Co-authored-by: Claire Co-authored-by: Eugen Rochko Co-authored-by: Claire --- app/javascript/mastodon/components/admin/Counter.js | 5 +++-- app/views/admin/tags/show.html.haml | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/javascript/mastodon/components/admin/Counter.js b/app/javascript/mastodon/components/admin/Counter.js index 6edb7bcfc..5a5b2b869 100644 --- a/app/javascript/mastodon/components/admin/Counter.js +++ b/app/javascript/mastodon/components/admin/Counter.js @@ -33,6 +33,7 @@ export default class Counter extends React.PureComponent { label: PropTypes.string.isRequired, href: PropTypes.string, params: PropTypes.object, + target: PropTypes.string, }; state = { @@ -54,7 +55,7 @@ export default class Counter extends React.PureComponent { } render () { - const { label, href } = this.props; + const { label, href, target } = this.props; const { loading, data } = this.state; let content; @@ -100,7 +101,7 @@ export default class Counter extends React.PureComponent { if (href) { return ( - + {inner} ); diff --git a/app/views/admin/tags/show.html.haml b/app/views/admin/tags/show.html.haml index 007dc005e..df72bd5f5 100644 --- a/app/views/admin/tags/show.html.haml +++ b/app/views/admin/tags/show.html.haml @@ -11,7 +11,7 @@ .dashboard .dashboard__item - = react_admin_component :counter, measure: 'tag_accounts', start_at: @time_period.first, end_at: @time_period.last, params: { id: @tag.id }, label: t('admin.trends.tags.dashboard.tag_accounts_measure') + = react_admin_component :counter, measure: 'tag_accounts', start_at: @time_period.first, end_at: @time_period.last, params: { id: @tag.id }, label: t('admin.trends.tags.dashboard.tag_accounts_measure'), href: tag_url(@tag), target: '_blank' .dashboard__item = react_admin_component :counter, measure: 'tag_uses', start_at: @time_period.first, end_at: @time_period.last, params: { id: @tag.id }, label: t('admin.trends.tags.dashboard.tag_uses_measure') .dashboard__item From 2dd30804b62f750c2780b7043318cbe00d137429 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 26 Mar 2022 02:53:13 +0100 Subject: [PATCH 143/276] Change how unconfirmed accounts are displayed in admin UI (#17874) Fix #17815 --- app/models/account.rb | 2 +- app/models/user.rb | 6 +++++- app/views/admin/accounts/_account.html.haml | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/models/account.rb b/app/models/account.rb index 1717f1605..a8c5df208 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -128,13 +128,13 @@ class Account < ApplicationRecord :approved?, :pending?, :disabled?, + :unconfirmed?, :unconfirmed_or_pending?, :role, :admin?, :moderator?, :staff?, :locale, - :hides_network?, :shows_application?, to: :user, prefix: true, diff --git a/app/models/user.rb b/app/models/user.rb index 146bdcd2a..f2d9c49eb 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -208,8 +208,12 @@ class User < ApplicationRecord confirmed? && approved? && !disabled? && !account.suspended? && !account.memorial? && account.moved_to_account_id.nil? end + def unconfirmed? + !confirmed? + end + def unconfirmed_or_pending? - !(confirmed? && approved?) + unconfirmed? || pending? end def inactive_message diff --git a/app/views/admin/accounts/_account.html.haml b/app/views/admin/accounts/_account.html.haml index 2df91301e..82dd8dfb2 100644 --- a/app/views/admin/accounts/_account.html.haml +++ b/app/views/admin/accounts/_account.html.haml @@ -1,4 +1,4 @@ -.batch-table__row{ class: [!account.suspended? && account.user_pending? && 'batch-table__row--attention', account.suspended? && 'batch-table__row--muted'] } +.batch-table__row{ class: [!account.suspended? && account.user_pending? && 'batch-table__row--attention', (account.suspended? || account.user_unconfirmed?) && 'batch-table__row--muted'] } %label.batch-table__row__select.batch-table__row__select--aligned.batch-checkbox = f.check_box :account_ids, { multiple: true, include_hidden: false }, account.id .batch-table__row__content.batch-table__row__content--unpadded From cefa526c6d3a45df2d0fcb7643ced828e2e87dea Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 26 Mar 2022 02:53:34 +0100 Subject: [PATCH 144/276] Refactor formatter (#17828) * Refactor formatter * Move custom emoji pre-rendering logic to view helpers * Move more methods out of Formatter * Fix code style issues * Remove Formatter * Add inline poll options to RSS feeds * Remove unused helper method * Fix code style issues * Various fixes and improvements * Fix test --- app/chewy/statuses_index.rb | 2 +- app/controllers/api/web/embeds_controller.rb | 2 +- app/helpers/accounts_helper.rb | 6 +- app/helpers/admin/trends/statuses_helper.rb | 5 +- app/helpers/application_helper.rb | 4 + app/helpers/formatting_helper.rb | 19 + app/helpers/routing_helper.rb | 3 +- app/helpers/statuses_helper.rb | 14 - app/lib/activitypub/activity/create.rb | 4 +- app/lib/emoji_formatter.rb | 98 +++ app/lib/extractor.rb | 82 ++- app/lib/feed_manager.rb | 3 +- app/lib/formatter.rb | 294 -------- app/lib/html_aware_formatter.rb | 38 ++ app/lib/plain_text_formatter.rb | 30 + app/lib/rss/serializer.rb | 23 +- app/lib/text_formatter.rb | 158 +++++ app/mailers/application_mailer.rb | 1 + .../activitypub/actor_serializer.rb | 7 +- .../activitypub/note_serializer.rb | 6 +- app/serializers/rest/account_serializer.rb | 7 +- .../rest/announcement_serializer.rb | 4 +- .../rest/status_edit_serializer.rb | 4 +- app/serializers/rest/status_serializer.rb | 4 +- app/services/fetch_link_card_service.rb | 2 +- app/views/accounts/_bio.html.haml | 6 +- app/views/admin/accounts/show.html.haml | 6 +- app/views/admin/reports/_status.html.haml | 6 +- app/views/admin/reports/show.html.haml | 2 +- app/views/directories/index.html.haml | 2 +- app/views/disputes/strikes/show.html.haml | 2 +- .../notification_mailer/_status.html.haml | 4 +- .../notification_mailer/_status.text.erb | 2 +- app/views/notification_mailer/digest.text.erb | 2 +- app/views/statuses/_detailed_status.html.haml | 5 +- app/views/statuses/_poll.html.haml | 4 +- app/views/statuses/_simple_status.html.haml | 5 +- app/views/user_mailer/warning.html.haml | 2 +- config/initializers/twitter_regex.rb | 26 - spec/lib/emoji_formatter_spec.rb | 55 ++ spec/lib/formatter_spec.rb | 626 ------------------ spec/lib/html_aware_formatter.rb | 44 ++ spec/lib/plain_text_formatter_spec.rb | 24 + spec/lib/text_formatter_spec.rb | 313 +++++++++ 44 files changed, 932 insertions(+), 1024 deletions(-) create mode 100644 app/helpers/formatting_helper.rb create mode 100644 app/lib/emoji_formatter.rb delete mode 100644 app/lib/formatter.rb create mode 100644 app/lib/html_aware_formatter.rb create mode 100644 app/lib/plain_text_formatter.rb create mode 100644 app/lib/text_formatter.rb create mode 100644 spec/lib/emoji_formatter_spec.rb delete mode 100644 spec/lib/formatter_spec.rb create mode 100644 spec/lib/html_aware_formatter.rb create mode 100644 spec/lib/plain_text_formatter_spec.rb create mode 100644 spec/lib/text_formatter_spec.rb diff --git a/app/chewy/statuses_index.rb b/app/chewy/statuses_index.rb index 65cbb6fcd..d119f7cac 100644 --- a/app/chewy/statuses_index.rb +++ b/app/chewy/statuses_index.rb @@ -57,7 +57,7 @@ class StatusesIndex < Chewy::Index field :id, type: 'long' field :account_id, type: 'long' - field :text, type: 'text', value: ->(status) { [status.spoiler_text, Formatter.instance.plaintext(status)].concat(status.ordered_media_attachments.map(&:description)).concat(status.preloadable_poll ? status.preloadable_poll.options : []).join("\n\n") } do + field :text, type: 'text', value: ->(status) { [status.spoiler_text, PlainTextFormatter.new(status.text, status.local?).to_s].concat(status.ordered_media_attachments.map(&:description)).concat(status.preloadable_poll ? status.preloadable_poll.options : []).join("\n\n") } do field :stemmed, type: 'text', analyzer: 'content' end diff --git a/app/controllers/api/web/embeds_controller.rb b/app/controllers/api/web/embeds_controller.rb index 741ba910f..58f6345e6 100644 --- a/app/controllers/api/web/embeds_controller.rb +++ b/app/controllers/api/web/embeds_controller.rb @@ -15,7 +15,7 @@ class Api::Web::EmbedsController < Api::Web::BaseController return not_found if oembed.nil? begin - oembed[:html] = Formatter.instance.sanitize(oembed[:html], Sanitize::Config::MASTODON_OEMBED) + oembed[:html] = Sanitize.fragment(oembed[:html], Sanitize::Config::MASTODON_OEMBED) rescue ArgumentError return not_found end diff --git a/app/helpers/accounts_helper.rb b/app/helpers/accounts_helper.rb index a33961724..557f60f26 100644 --- a/app/helpers/accounts_helper.rb +++ b/app/helpers/accounts_helper.rb @@ -2,10 +2,12 @@ module AccountsHelper def display_name(account, **options) + str = account.display_name.presence || account.username + if options[:custom_emojify] - Formatter.instance.format_display_name(account, **options) + prerender_custom_emojis(h(str), account.emojis) else - account.display_name.presence || account.username + str end end diff --git a/app/helpers/admin/trends/statuses_helper.rb b/app/helpers/admin/trends/statuses_helper.rb index d16e3dd12..214c1e2a6 100644 --- a/app/helpers/admin/trends/statuses_helper.rb +++ b/app/helpers/admin/trends/statuses_helper.rb @@ -12,9 +12,6 @@ module Admin::Trends::StatusesHelper return '' if text.blank? - html = Formatter.instance.send(:encode, text) - html = Formatter.instance.send(:encode_custom_emojis, html, status.emojis, prefers_autoplay?) - - html.html_safe # rubocop:disable Rails/OutputSafety + prerender_custom_emojis(h(text), status.emojis) end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index e997570b5..651a98a85 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -239,4 +239,8 @@ module ApplicationHelper end end.values end + + def prerender_custom_emojis(html, custom_emojis) + EmojiFormatter.new(html, custom_emojis, animate: prefers_autoplay?).to_s + end end diff --git a/app/helpers/formatting_helper.rb b/app/helpers/formatting_helper.rb new file mode 100644 index 000000000..66e9e1e91 --- /dev/null +++ b/app/helpers/formatting_helper.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module FormattingHelper + def html_aware_format(text, local, options = {}) + HtmlAwareFormatter.new(text, local, options).to_s + end + + def linkify(text, options = {}) + TextFormatter.new(text, options).to_s + end + + def extract_plain_text(text, local) + PlainTextFormatter.new(text, local).to_s + end + + def status_content_format(status) + html_aware_format(status.text, status.local?, preloaded_accounts: [status.account] + (status.respond_to?(:active_mentions) ? status.active_mentions.map(&:account) : [])) + end +end diff --git a/app/helpers/routing_helper.rb b/app/helpers/routing_helper.rb index fb24a1b28..f95f46a56 100644 --- a/app/helpers/routing_helper.rb +++ b/app/helpers/routing_helper.rb @@ -2,6 +2,7 @@ module RoutingHelper extend ActiveSupport::Concern + include Rails.application.routes.url_helpers include ActionView::Helpers::AssetTagHelper include Webpacker::Helper @@ -22,8 +23,6 @@ module RoutingHelper full_asset_url(asset_pack_path(source, **options)) end - private - def use_storage? Rails.configuration.x.use_s3 || Rails.configuration.x.use_swift end diff --git a/app/helpers/statuses_helper.rb b/app/helpers/statuses_helper.rb index d328f89b7..e92b4c839 100644 --- a/app/helpers/statuses_helper.rb +++ b/app/helpers/statuses_helper.rb @@ -113,20 +113,6 @@ module StatusesHelper end end - private - - def simplified_text(text) - text.dup.tap do |new_text| - URI.extract(new_text).each do |url| - new_text.gsub!(url, '') - end - - new_text.gsub!(Account::MENTION_RE, '') - new_text.gsub!(Tag::HASHTAG_RE, '') - new_text.gsub!(/\s+/, '') - end - end - def embedded_view? params[:controller] == EMBEDDED_CONTROLLER && params[:action] == EMBEDDED_ACTION end diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index ea8d146d4..f4f98e29c 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class ActivityPub::Activity::Create < ActivityPub::Activity + include FormattingHelper + def perform dereference_object! @@ -367,7 +369,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity end def converted_text - Formatter.instance.linkify([@status_parser.title.presence, @status_parser.spoiler_text.presence, @status_parser.url || @status_parser.uri].compact.join("\n\n")) + linkify([@status_parser.title.presence, @status_parser.spoiler_text.presence, @status_parser.url || @status_parser.uri].compact.join("\n\n")) end def unsupported_media_type?(mime_type) diff --git a/app/lib/emoji_formatter.rb b/app/lib/emoji_formatter.rb new file mode 100644 index 000000000..f808f3a22 --- /dev/null +++ b/app/lib/emoji_formatter.rb @@ -0,0 +1,98 @@ +# frozen_string_literal: true + +class EmojiFormatter + include RoutingHelper + + DISALLOWED_BOUNDING_REGEX = /[[:alnum:]:]/.freeze + + attr_reader :html, :custom_emojis, :options + + # @param [ActiveSupport::SafeBuffer] html + # @param [Array] custom_emojis + # @param [Hash] options + # @option options [Boolean] :animate + def initialize(html, custom_emojis, options = {}) + raise ArgumentError unless html.html_safe? + + @html = html + @custom_emojis = custom_emojis + @options = options + end + + def to_s + return html if custom_emojis.empty? || html.blank? + + i = -1 + tag_open_index = nil + inside_shortname = false + shortname_start_index = -1 + invisible_depth = 0 + last_index = 0 + result = ''.dup + + while i + 1 < html.size + i += 1 + + if invisible_depth.zero? && inside_shortname && html[i] == ':' + inside_shortname = false + shortcode = html[shortname_start_index + 1..i - 1] + char_after = html[i + 1] + + next unless (char_after.nil? || !DISALLOWED_BOUNDING_REGEX.match?(char_after)) && (emoji = emoji_map[shortcode]) + + result << html[last_index..shortname_start_index - 1] if shortname_start_index.positive? + result << image_for_emoji(shortcode, emoji) + last_index = i + 1 + elsif tag_open_index && html[i] == '>' + tag = html[tag_open_index..i] + tag_open_index = nil + + if invisible_depth.positive? + invisible_depth += count_tag_nesting(tag) + elsif tag == '' - end - end - - context 'given a post containing unlinkable mentions' do - let(:status) { Fabricate(:status, text: '@alice', uri: nil) } - - it 'does not create a mention link' do - is_expected.to include '@alice' - end - end - - context do - subject do - status = Fabricate(:status, text: text, uri: nil) - Formatter.instance.format(status) - end - - include_examples 'encode and link URLs' - end - - context 'given a post with custom_emojify option' do - let!(:emoji) { Fabricate(:custom_emoji) } - let(:status) { Fabricate(:status, account: local_account, text: text) } - - subject { Formatter.instance.format(status, custom_emojify: true) } - - context 'given a post with an emoji shortcode at the start' do - let(:text) { ':coolcat: Beep boop' } - - it 'converts the shortcode to an image tag' do - is_expected.to match(/

    :coolcat::coolcat: Beep boop
    ' } - - it 'converts the shortcode to an image tag' do - is_expected.to match(/

    :coolcat:Beep :coolcat: boop

    ' } - - it 'converts the shortcode to an image tag' do - is_expected.to match(/Beep :coolcat::coolcat::coolcat:

    ' } - - it 'does not touch the shortcodes' do - is_expected.to match(/

    :coolcat::coolcat:<\/p>/) - end - end - - context 'given a post with an emoji shortcode at the end' do - let(:text) { '

    Beep boop
    :coolcat:

    ' } - - it 'converts the shortcode to an image tag' do - is_expected.to match(/
    :coolcat:alert("Hello")' } - - it 'strips the scripts' do - is_expected.to_not include '' - end - end - - context 'given a post containing malicious classes' do - let(:text) { 'Show more' } - - it 'strips the malicious classes' do - is_expected.to_not include 'status__content__spoiler-link' - end - end - end - - describe '#plaintext' do - subject { Formatter.instance.plaintext(status) } - - context 'given a post with local status' do - let(:status) { Fabricate(:status, text: '

    a text by a nerd who uses an HTML tag in text

    ', uri: nil) } - - it 'returns the raw text' do - is_expected.to eq '

    a text by a nerd who uses an HTML tag in text

    ' - end - end - - context 'given a post with remote status' do - let(:status) { Fabricate(:status, account: remote_account, text: '') } - - it 'returns tag-stripped text' do - is_expected.to eq '' - end - end - end - - describe '#simplified_format' do - subject { Formatter.instance.simplified_format(account) } - - context 'given a post with local status' do - let(:account) { Fabricate(:account, domain: nil, note: text) } - - context 'given a post containing linkable mentions for local accounts' do - let(:text) { '@alice' } - - before { local_account } - - it 'creates a mention link' do - is_expected.to eq '

    @alice

    ' - end - end - - context 'given a post containing linkable mentions for remote accounts' do - let(:text) { '@bob@remote.test' } - - before { remote_account } - - it 'creates a mention link' do - is_expected.to eq '

    @bob

    ' - end - end - - context 'given a post containing unlinkable mentions' do - let(:text) { '@alice' } - - it 'does not create a mention link' do - is_expected.to eq '

    @alice

    ' - end - end - - context 'given a post with custom_emojify option' do - let!(:emoji) { Fabricate(:custom_emoji) } - - before { account.note = text } - subject { Formatter.instance.simplified_format(account, custom_emojify: true) } - - context 'given a post with an emoji shortcode at the start' do - let(:text) { ':coolcat: Beep boop' } - - it 'converts the shortcode to an image tag' do - is_expected.to match(/

    :coolcat:alert("Hello")' } - let(:account) { Fabricate(:account, domain: 'remote', note: text) } - - it 'reformats' do - is_expected.to_not include '' - end - - context 'with custom_emojify option' do - let!(:emoji) { Fabricate(:custom_emoji, domain: remote_account.domain) } - - before { remote_account.note = text } - - subject { Formatter.instance.simplified_format(remote_account, custom_emojify: true) } - - context 'given a post with an emoji shortcode at the start' do - let(:text) { '

    :coolcat: Beep boop
    ' } - - it 'converts shortcode to image tag' do - is_expected.to match(/

    :coolcat:Beep :coolcat: boop

    ' } - - it 'converts shortcode to image tag' do - is_expected.to match(/Beep :coolcat::coolcat::coolcat:

    ' } - - it 'does not touch the shortcodes' do - is_expected.to match(/

    :coolcat::coolcat:<\/p>/) - end - end - - context 'given a post with an emoji shortcode at the end' do - let(:text) { '

    Beep boop
    :coolcat:

    ' } - - it 'converts shortcode to image tag' do - is_expected.to match(/
    :coolcat:alert("Hello")' } - - subject { Formatter.instance.sanitize(html, Sanitize::Config::MASTODON_STRICT) } - - it 'sanitizes' do - is_expected.to eq '' - end - end -end diff --git a/spec/lib/html_aware_formatter.rb b/spec/lib/html_aware_formatter.rb new file mode 100644 index 000000000..18d23abf5 --- /dev/null +++ b/spec/lib/html_aware_formatter.rb @@ -0,0 +1,44 @@ +require 'rails_helper' + +RSpec.describe HtmlAwareFormatter do + describe '#to_s' do + subject { described_class.new(text, local).to_s } + + context 'when local' do + let(:local) { true } + let(:text) { 'Foo bar' } + + it 'returns formatted text' do + is_expected.to eq '

    Foo bar

    ' + end + end + + context 'when remote' do + let(:local) { false } + + context 'given plain text' do + let(:text) { 'Beep boop' } + + it 'keeps the plain text' do + is_expected.to include 'Beep boop' + end + end + + context 'given text containing script tags' do + let(:text) { '' } + + it 'strips the scripts' do + is_expected.to_not include '' + end + end + + context 'given text containing malicious classes' do + let(:text) { 'Show more' } + + it 'strips the malicious classes' do + is_expected.to_not include 'status__content__spoiler-link' + end + end + end + end +end diff --git a/spec/lib/plain_text_formatter_spec.rb b/spec/lib/plain_text_formatter_spec.rb new file mode 100644 index 000000000..c3d0ee630 --- /dev/null +++ b/spec/lib/plain_text_formatter_spec.rb @@ -0,0 +1,24 @@ +require 'rails_helper' + +RSpec.describe PlainTextFormatter do + describe '#to_s' do + subject { described_class.new(status.text, status.local?).to_s } + + context 'given a post with local status' do + let(:status) { Fabricate(:status, text: '

    a text by a nerd who uses an HTML tag in text

    ', uri: nil) } + + it 'returns the raw text' do + is_expected.to eq '

    a text by a nerd who uses an HTML tag in text

    ' + end + end + + context 'given a post with remote status' do + let(:remote_account) { Fabricate(:account, domain: 'remote.test', username: 'bob', url: 'https://remote.test/') } + let(:status) { Fabricate(:status, account: remote_account, text: '

    Hello

    ') } + + it 'returns tag-stripped text' do + is_expected.to eq 'Hello' + end + end + end +end diff --git a/spec/lib/text_formatter_spec.rb b/spec/lib/text_formatter_spec.rb new file mode 100644 index 000000000..52a9d2498 --- /dev/null +++ b/spec/lib/text_formatter_spec.rb @@ -0,0 +1,313 @@ +require 'rails_helper' + +RSpec.describe TextFormatter do + describe '#to_s' do + let(:preloaded_accounts) { nil } + + subject { described_class.new(text, preloaded_accounts: preloaded_accounts).to_s } + + context 'given text containing plain text' do + let(:text) { 'text' } + + it 'paragraphizes the text' do + is_expected.to eq '

    text

    ' + end + end + + context 'given text containing line feeds' do + let(:text) { "line\nfeed" } + + it 'removes line feeds' do + is_expected.not_to include "\n" + end + end + + context 'given text containing linkable mentions' do + let(:preloaded_accounts) { [Fabricate(:account, username: 'alice')] } + let(:text) { '@alice' } + + it 'creates a mention link' do + is_expected.to include '@alice' + end + end + + context 'given text containing unlinkable mentions' do + let(:preloaded_accounts) { [] } + let(:text) { '@alice' } + + it 'does not create a mention link' do + is_expected.to include '@alice' + end + end + + context 'given a stand-alone medium URL' do + let(:text) { 'https://hackernoon.com/the-power-to-build-communities-a-response-to-mark-zuckerberg-3f2cac9148a4' } + + it 'matches the full URL' do + is_expected.to include 'href="https://hackernoon.com/the-power-to-build-communities-a-response-to-mark-zuckerberg-3f2cac9148a4"' + end + end + + context 'given a stand-alone google URL' do + let(:text) { 'http://google.com' } + + it 'matches the full URL' do + is_expected.to include 'href="http://google.com"' + end + end + + context 'given a stand-alone URL with a newer TLD' do + let(:text) { 'http://example.gay' } + + it 'matches the full URL' do + is_expected.to include 'href="http://example.gay"' + end + end + + context 'given a stand-alone IDN URL' do + let(:text) { 'https://nic.みんな/' } + + it 'matches the full URL' do + is_expected.to include 'href="https://nic.みんな/"' + end + + it 'has display URL' do + is_expected.to include 'nic.みんな/' + end + end + + context 'given a URL with a trailing period' do + let(:text) { 'http://www.mcmansionhell.com/post/156408871451/50-states-of-mcmansion-hell-scottsdale-arizona. ' } + + it 'matches the full URL but not the period' do + is_expected.to include 'href="http://www.mcmansionhell.com/post/156408871451/50-states-of-mcmansion-hell-scottsdale-arizona"' + end + end + + context 'given a URL enclosed with parentheses' do + let(:text) { '(http://google.com/)' } + + it 'matches the full URL but not the parentheses' do + is_expected.to include 'href="http://google.com/"' + end + end + + context 'given a URL with a trailing exclamation point' do + let(:text) { 'http://www.google.com!' } + + it 'matches the full URL but not the exclamation point' do + is_expected.to include 'href="http://www.google.com"' + end + end + + context 'given a URL with a trailing single quote' do + let(:text) { "http://www.google.com'" } + + it 'matches the full URL but not the single quote' do + is_expected.to include 'href="http://www.google.com"' + end + end + + context 'given a URL with a trailing angle bracket' do + let(:text) { 'http://www.google.com>' } + + it 'matches the full URL but not the angle bracket' do + is_expected.to include 'href="http://www.google.com"' + end + end + + context 'given a URL with a query string' do + context 'with escaped unicode character' do + let(:text) { 'https://www.ruby-toolbox.com/search?utf8=%E2%9C%93&q=autolink' } + + it 'matches the full URL' do + is_expected.to include 'href="https://www.ruby-toolbox.com/search?utf8=%E2%9C%93&q=autolink"' + end + end + + context 'with unicode character' do + let(:text) { 'https://www.ruby-toolbox.com/search?utf8=✓&q=autolink' } + + it 'matches the full URL' do + is_expected.to include 'href="https://www.ruby-toolbox.com/search?utf8=✓&q=autolink"' + end + end + + context 'with unicode character at the end' do + let(:text) { 'https://www.ruby-toolbox.com/search?utf8=✓' } + + it 'matches the full URL' do + is_expected.to include 'href="https://www.ruby-toolbox.com/search?utf8=✓"' + end + end + + context 'with escaped and not escaped unicode characters' do + let(:text) { 'https://www.ruby-toolbox.com/search?utf8=%E2%9C%93&utf81=✓&q=autolink' } + + it 'preserves escaped unicode characters' do + is_expected.to include 'href="https://www.ruby-toolbox.com/search?utf8=%E2%9C%93&utf81=✓&q=autolink"' + end + end + end + + context 'given a URL with parentheses in it' do + let(:text) { 'https://en.wikipedia.org/wiki/Diaspora_(software)' } + + it 'matches the full URL' do + is_expected.to include 'href="https://en.wikipedia.org/wiki/Diaspora_(software)"' + end + end + + context 'given a URL in quotation marks' do + let(:text) { '"https://example.com/"' } + + it 'does not match the quotation marks' do + is_expected.to include 'href="https://example.com/"' + end + end + + context 'given a URL in angle brackets' do + let(:text) { '' } + + it 'does not match the angle brackets' do + is_expected.to include 'href="https://example.com/"' + end + end + + context 'given a URL with Japanese path string' do + let(:text) { 'https://ja.wikipedia.org/wiki/日本' } + + it 'matches the full URL' do + is_expected.to include 'href="https://ja.wikipedia.org/wiki/日本"' + end + end + + context 'given a URL with Korean path string' do + let(:text) { 'https://ko.wikipedia.org/wiki/대한민국' } + + it 'matches the full URL' do + is_expected.to include 'href="https://ko.wikipedia.org/wiki/대한민국"' + end + end + + context 'given a URL with a full-width space' do + let(:text) { 'https://example.com/ abc123' } + + it 'does not match the full-width space' do + is_expected.to include 'href="https://example.com/"' + end + end + + context 'given a URL in Japanese quotation marks' do + let(:text) { '「[https://example.org/」' } + + it 'does not match the quotation marks' do + is_expected.to include 'href="https://example.org/"' + end + end + + context 'given a URL with Simplified Chinese path string' do + let(:text) { 'https://baike.baidu.com/item/中华人民共和国' } + + it 'matches the full URL' do + is_expected.to include 'href="https://baike.baidu.com/item/中华人民共和国"' + end + end + + context 'given a URL with Traditional Chinese path string' do + let(:text) { 'https://zh.wikipedia.org/wiki/臺灣' } + + it 'matches the full URL' do + is_expected.to include 'href="https://zh.wikipedia.org/wiki/臺灣"' + end + end + + context 'given a URL containing unsafe code (XSS attack, visible part)' do + let(:text) { %q{http://example.com/bb} } + + it 'does not include the HTML in the URL' do + is_expected.to include '"http://example.com/b"' + end + + it 'escapes the HTML' do + is_expected.to include '<del>b</del>' + end + end + + context 'given a URL containing unsafe code (XSS attack, invisible part)' do + let(:text) { %q{http://example.com/blahblahblahblah/a} } + + it 'does not include the HTML in the URL' do + is_expected.to include '"http://example.com/blahblahblahblah/a"' + end + + it 'escapes the HTML' do + is_expected.to include '<script>alert("Hello")</script>' + end + end + + context 'given text containing HTML code (script tag)' do + let(:text) { '' } + + it 'escapes the HTML' do + is_expected.to include '

    <script>alert("Hello")</script>

    ' + end + end + + context 'given text containing HTML (XSS attack)' do + let(:text) { %q{} } + + it 'escapes the HTML' do + is_expected.to include '

    <img src="javascript:alert('XSS');">

    ' + end + end + + context 'given an invalid URL' do + let(:text) { 'http://www\.google\.com' } + + it 'outputs the raw URL' do + is_expected.to eq '

    http://www\.google\.com

    ' + end + end + + context 'given text containing a hashtag' do + let(:text) { '#hashtag' } + + it 'creates a hashtag link' do + is_expected.to include '/tags/hashtag" class="mention hashtag" rel="tag">#hashtag' + end + end + + context 'given text containing a hashtag with Unicode chars' do + let(:text) { '#hashtagタグ' } + + it 'creates a hashtag link' do + is_expected.to include '/tags/hashtag%E3%82%BF%E3%82%B0" class="mention hashtag" rel="tag">#hashtagタグ' + end + end + + context 'given text with a stand-alone xmpp: URI' do + let(:text) { 'xmpp:user@instance.com' } + + it 'matches the full URI' do + is_expected.to include 'href="xmpp:user@instance.com"' + end + end + + context 'given text with an xmpp: URI with a query-string' do + let(:text) { 'please join xmpp:muc@instance.com?join right now' } + + it 'matches the full URI' do + is_expected.to include 'href="xmpp:muc@instance.com?join"' + end + end + + context 'given text containing a magnet: URI' do + let(:text) { 'wikipedia gives this example of a magnet uri: magnet:?xt=urn:btih:c12fe1c06bba254a9dc9f519b335aa7c1367a88a' } + + it 'matches the full URI' do + is_expected.to include 'href="magnet:?xt=urn:btih:c12fe1c06bba254a9dc9f519b335aa7c1367a88a"' + end + end + end +end From 07f8b4d1b19f734d04e69daeb4c3421ef9767aac Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 26 Mar 2022 02:54:11 +0100 Subject: [PATCH 145/276] Bump version to 3.5.0rc2 (#17855) --- CHANGELOG.md | 6 ++++++ lib/mastodon/version.rb | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 52a62a213..f0305d148 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -81,6 +81,7 @@ All notable changes to this project will be documented in this file. - Add lazy loading for emoji picker in web UI ([mashirozx](https://github.com/mastodon/mastodon/pull/16907), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17011)) - Add single option votes tooltip in polls in web UI ([Brawaru](https://github.com/mastodon/mastodon/pull/16849)) - Add confirmation modal when closing media edit modal with unsaved changes in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16518)) +- Add hint about missing media attachment description in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17845)) - Add support for fetching Create and Announce activities by URI in ActivityPub ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16383)) - Add `S3_FORCE_SINGLE_REQUEST` environment variable ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16866)) - Add `OMNIAUTH_ONLY` environment variable ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17288), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17345)) @@ -130,6 +131,11 @@ All notable changes to this project will be documented in this file. ### Fixed +- Fix IDN domains not being rendered correctly in a few left-over places ([Gargron](https://github.com/mastodon/mastodon/pull/17848)) +- Fix Sanskrit translation not being used in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17820)) +- Fix Kurdish languages having the wrong language codes ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17812)) +- Fix pghero making database schema suggestions ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17807)) +- Fix encoding glitch in the OpenGraph description of a profile page ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17821)) - Fix web manifest not permitting PWA usage from alternate domains ([HolgerHuo](https://github.com/mastodon/mastodon/pull/16714)) - Fix not being able to edit media attachments for scheduled posts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17690)) - Fix subscribed relay activities being recorded as boosts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17571)) diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index f6e437d3a..acaa978bb 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -17,7 +17,7 @@ module Mastodon end def flags - 'rc1' + 'rc2' end def suffix From 24e78969ae97501aad18595eb3af8c7338a1cb7c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 26 Mar 2022 04:02:19 +0100 Subject: [PATCH 146/276] Fix typo (#17875) --- app/serializers/activitypub/actor_serializer.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/serializers/activitypub/actor_serializer.rb b/app/serializers/activitypub/actor_serializer.rb index bd1648348..30f86aae3 100644 --- a/app/serializers/activitypub/actor_serializer.rb +++ b/app/serializers/activitypub/actor_serializer.rb @@ -195,7 +195,7 @@ class ActivityPub::ActorSerializer < ActivityPub::Serializer end def value - html_aware_format(object.value, object.account.value?, with_rel_me: true, with_domains: true, multiline: false) + html_aware_format(object.value, object.account.local?, with_rel_me: true, with_domains: true, multiline: false) end end From d7d049aab7578028492e73671769f0a350e34203 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 26 Mar 2022 04:29:36 +0100 Subject: [PATCH 147/276] Bump version to 3.5.0rc3 (#17876) --- lib/mastodon/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index acaa978bb..b1bd692a5 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -17,7 +17,7 @@ module Mastodon end def flags - 'rc2' + 'rc3' end def suffix From e6a159a64869927cca5535943cdf3a280aeb5394 Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 28 Mar 2022 01:16:02 +0200 Subject: [PATCH 148/276] =?UTF-8?q?Fix=20extra=20=E2=80=9Czero=E2=80=9D=20?= =?UTF-8?q?key=20in=20some=20plural=20translation=20strings=20(#17883)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/locales/en.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/config/locales/en.yml b/config/locales/en.yml index 5fa3c012e..829cd61d0 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -168,7 +168,6 @@ en: previous_strikes_description_html: one: This account has one strike. other: This account has %{count} strikes. - zero: This account is in good standing. promote: Promote protocol: Protocol public: Public @@ -530,7 +529,6 @@ en: known_accounts: one: "%{count} known account" other: "%{count} known accounts" - zero: No known account moderation: all: All limited: Limited @@ -802,7 +800,6 @@ en: shared_by_over_week: one: Shared by one person over the last week other: Shared by %{count} people over the last week - zero: Shared by noone over the last week title: Trending links usage_comparison: Shared %{today} times today, compared to %{yesterday} yesterday pending_review: Pending review @@ -845,7 +842,6 @@ en: used_by_over_week: one: Used by one person over the last week other: Used by %{count} people over the last week - zero: Used by noone over the last week title: Trends warning_presets: add_new: Add new From 2c45859ca9076c0b9916922e0be21ff83fc3b143 Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 28 Mar 2022 01:17:17 +0200 Subject: [PATCH 149/276] Refactor account and status formatting (#17877) * Refactor status formatting * Add account formatting helpers * Remove StatusFormatter * Fixup * Fix copied typo --- app/chewy/statuses_index.rb | 4 +++- app/helpers/formatting_helper.rb | 12 ++++++++++-- app/lib/feed_manager.rb | 2 +- app/serializers/activitypub/actor_serializer.rb | 4 ++-- app/serializers/rest/account_serializer.rb | 4 ++-- app/views/accounts/_bio.html.haml | 4 ++-- app/views/admin/accounts/show.html.haml | 4 ++-- app/views/admin/reports/show.html.haml | 2 +- app/views/directories/index.html.haml | 2 +- app/views/notification_mailer/_status.text.erb | 2 +- app/views/notification_mailer/digest.text.erb | 2 +- 11 files changed, 26 insertions(+), 16 deletions(-) diff --git a/app/chewy/statuses_index.rb b/app/chewy/statuses_index.rb index d119f7cac..bfd61a048 100644 --- a/app/chewy/statuses_index.rb +++ b/app/chewy/statuses_index.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class StatusesIndex < Chewy::Index + include FormattingHelper + settings index: { refresh_interval: '15m' }, analysis: { filter: { english_stop: { @@ -57,7 +59,7 @@ class StatusesIndex < Chewy::Index field :id, type: 'long' field :account_id, type: 'long' - field :text, type: 'text', value: ->(status) { [status.spoiler_text, PlainTextFormatter.new(status.text, status.local?).to_s].concat(status.ordered_media_attachments.map(&:description)).concat(status.preloadable_poll ? status.preloadable_poll.options : []).join("\n\n") } do + field :text, type: 'text', value: ->(status) { [status.spoiler_text, extract_status_plain_text(status)].concat(status.ordered_media_attachments.map(&:description)).concat(status.preloadable_poll ? status.preloadable_poll.options : []).join("\n\n") } do field :stemmed, type: 'text', analyzer: 'content' end diff --git a/app/helpers/formatting_helper.rb b/app/helpers/formatting_helper.rb index 66e9e1e91..e11156999 100644 --- a/app/helpers/formatting_helper.rb +++ b/app/helpers/formatting_helper.rb @@ -9,11 +9,19 @@ module FormattingHelper TextFormatter.new(text, options).to_s end - def extract_plain_text(text, local) - PlainTextFormatter.new(text, local).to_s + def extract_status_plain_text(status) + PlainTextFormatter.new(status.text, status.local?).to_s end def status_content_format(status) html_aware_format(status.text, status.local?, preloaded_accounts: [status.account] + (status.respond_to?(:active_mentions) ? status.active_mentions.map(&:account) : [])) end + + def account_bio_format(account) + html_aware_format(account.note, account.local?) + end + + def account_field_value_format(field, with_rel_me: true) + html_aware_format(field.value, field.account.local?, with_rel_me: with_rel_me, with_domains: true, multiline: false) + end end diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb index 53d1390d4..709450080 100644 --- a/app/lib/feed_manager.rb +++ b/app/lib/feed_manager.rb @@ -446,7 +446,7 @@ class FeedManager status = status.reblog if status.reblog? combined_text = [ - extract_plain_text(status.text, status.local?), + extract_status_plain_text(status), status.spoiler_text, status.preloadable_poll ? status.preloadable_poll.options.join("\n\n") : nil, status.ordered_media_attachments.map(&:description).join("\n\n"), diff --git a/app/serializers/activitypub/actor_serializer.rb b/app/serializers/activitypub/actor_serializer.rb index 30f86aae3..e6dd8040e 100644 --- a/app/serializers/activitypub/actor_serializer.rb +++ b/app/serializers/activitypub/actor_serializer.rb @@ -103,7 +103,7 @@ class ActivityPub::ActorSerializer < ActivityPub::Serializer end def summary - object.suspended? ? '' : html_aware_format(object.note, object.local?) + object.suspended? ? '' : account_bio_format(object) end def icon @@ -195,7 +195,7 @@ class ActivityPub::ActorSerializer < ActivityPub::Serializer end def value - html_aware_format(object.value, object.account.local?, with_rel_me: true, with_domains: true, multiline: false) + account_field_value_format(object) end end diff --git a/app/serializers/rest/account_serializer.rb b/app/serializers/rest/account_serializer.rb index 2f67e06b2..4cf7b253f 100644 --- a/app/serializers/rest/account_serializer.rb +++ b/app/serializers/rest/account_serializer.rb @@ -20,7 +20,7 @@ class REST::AccountSerializer < ActiveModel::Serializer attributes :name, :value, :verified_at def value - html_aware_format(object.value, object.account.local?, with_rel_me: true, with_domains: true, multiline: false) + account_field_value_format(object) end end @@ -35,7 +35,7 @@ class REST::AccountSerializer < ActiveModel::Serializer end def note - object.suspended? ? '' : html_aware_format(object.note, object.local?) + object.suspended? ? '' : account_bio_format(object) end def url diff --git a/app/views/accounts/_bio.html.haml b/app/views/accounts/_bio.html.haml index df4f9bdb8..e2539b1d4 100644 --- a/app/views/accounts/_bio.html.haml +++ b/app/views/accounts/_bio.html.haml @@ -10,12 +10,12 @@ - if field.verified? %span.verified__mark{ title: t('accounts.link_verified_on', date: l(field.verified_at)) } = fa_icon 'check' - = prerender_custom_emojis(html_aware_format(field.value, account.local?, with_rel_me: true, with_domains: true, multiline: false), account.emojis) + = prerender_custom_emojis(account_field_value_format(field), account.emojis) = account_badge(account) - if account.note.present? - .account__header__content.emojify= prerender_custom_emojis(html_aware_format(account.note, account.local?), account.emojis) + .account__header__content.emojify= prerender_custom_emojis(account_bio_format(account), account.emojis) .public-account-bio__extra = t 'accounts.joined', date: l(account.created_at, format: :month) diff --git a/app/views/admin/accounts/show.html.haml b/app/views/admin/accounts/show.html.haml index b252f3eac..1230294fe 100644 --- a/app/views/admin/accounts/show.html.haml +++ b/app/views/admin/accounts/show.html.haml @@ -21,11 +21,11 @@ - if field.verified? %span.verified__mark{ title: t('accounts.link_verified_on', date: l(field.verified_at)) } = fa_icon 'check' - = prerender_custom_emojis(html_aware_format(field.value, account.local?, with_rel_me: true, with_domains: true, multiline: false), account.emojis) + = prerender_custom_emojis(account_field_value_format(field, with_rel_me: false), account.emojis) - if account.note.present? %div - .account__header__content.emojify= prerender_custom_emojis(html_aware_format(account.note, account.local?), account.emojis) + .account__header__content.emojify= prerender_custom_emojis(account_bio_format(account), account.emojis) .dashboard__counters.admin-account-counters %div diff --git a/app/views/admin/reports/show.html.haml b/app/views/admin/reports/show.html.haml index 41fed2efb..cf960565f 100644 --- a/app/views/admin/reports/show.html.haml +++ b/app/views/admin/reports/show.html.haml @@ -27,7 +27,7 @@ = fa_icon('lock') if @report.target_account.locked? - if @report.target_account.note.present? .account-card__bio.emojify - = prerender_custom_emojis(html_aware_format(@report.target_account.note, @report.target_account.local?), @report.target_account.emojis) + = prerender_custom_emojis(account_bio_format(@report.target_account), @report.target_account.emojis) .account-card__actions .account-card__counters .account-card__counters__item diff --git a/app/views/directories/index.html.haml b/app/views/directories/index.html.haml index a032ddb8d..48f8c4bc2 100644 --- a/app/views/directories/index.html.haml +++ b/app/views/directories/index.html.haml @@ -34,7 +34,7 @@ = fa_icon('lock') if account.locked? - if account.note.present? .account-card__bio.emojify - = prerender_custom_emojis(html_aware_format(account.note, account.local?), account.emojis) + = prerender_custom_emojis(account_bio_format(account), account.emojis) - else .flex-spacer .account-card__actions diff --git a/app/views/notification_mailer/_status.text.erb b/app/views/notification_mailer/_status.text.erb index bf6d2b620..1dc8de739 100644 --- a/app/views/notification_mailer/_status.text.erb +++ b/app/views/notification_mailer/_status.text.erb @@ -3,6 +3,6 @@ > ---- > <% end %> -> <%= raw word_wrap(extract_plain_text(status.text, status.local?), break_sequence: "\n> ") %> +> <%= raw word_wrap(extract_status_plain_text(status), break_sequence: "\n> ") %> <%= raw t('application_mailer.view')%> <%= web_url("statuses/#{status.id}") %> diff --git a/app/views/notification_mailer/digest.text.erb b/app/views/notification_mailer/digest.text.erb index b767eb9c4..0f84a4ef0 100644 --- a/app/views/notification_mailer/digest.text.erb +++ b/app/views/notification_mailer/digest.text.erb @@ -5,7 +5,7 @@ * <%= raw t('notification_mailer.digest.mention', name: notification.from_account.pretty_acct) %> - <%= raw extract_plain_text(notification.target_status.text, notification.target_status.local?) %> + <%= raw extract_status_plain_text(notification.target_status) %> <%= raw t('application_mailer.view')%> <%= web_url("statuses/#{notification.target_status.id}") %> <% end %> From 56edc6552f71a1f58fd8ca5ea2f0603015be0c2c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 28 Mar 2022 09:39:31 +0200 Subject: [PATCH 150/276] Add `SMTP_RETURN_PATH` environment variable to set bounce domain (#17886) --- config/environments/production.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index 7fe381040..b003cce9e 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -91,11 +91,13 @@ Rails.application.configure do # E-mails outgoing_email_address = ENV.fetch('SMTP_FROM_ADDRESS', 'notifications@localhost') - outgoing_mail_domain = Mail::Address.new(outgoing_email_address).domain + outgoing_email_domain = Mail::Address.new(outgoing_email_address).domain + config.action_mailer.default_options = { from: outgoing_email_address, reply_to: ENV['SMTP_REPLY_TO'], - 'Message-ID': -> { "<#{Mail.random_tag}@#{outgoing_mail_domain}>" }, + return_path: ENV['SMTP_RETURN_PATH'], + message_id: -> { "<#{Mail.random_tag}@#{outgoing_email_domain}>" }, } config.action_mailer.smtp_settings = { From 30658924a80434e6a2bceb61267b911ea8d37898 Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 28 Mar 2022 12:43:58 +0200 Subject: [PATCH 151/276] Fix test-related issues (#17888) * Remove obsolete RSS::Serializer test Since #17828, RSS::Serializer no longer has specific code for deleted statuses, but it is never called on deleted statuses anyway. * Rename erroneously-named test files * Fix failing test * Fix test deprecation warnings * Update CircleCI Ruby orb 1.4.0 has a bug that does not match all the test files due to incorrect globbing --- .circleci/config.yml | 2 +- .../admin/accounts_controller_spec.rb | 10 ++-- ..._specs.rb => bookmarks_controller_spec.rb} | 13 ++++-- ...matter.rb => html_aware_formatter_spec.rb} | 0 spec/lib/rss/serializer_spec.rb | 7 --- spec/services/after_block_service_spec.rb | 8 ++-- spec/services/delete_account_service_spec.rb | 14 +++--- spec/services/mute_service_spec.rb | 22 ++++----- spec/services/notify_service_spec.rb | 46 +++++++++---------- spec/services/suspend_account_service_spec.rb | 12 ++--- .../unsuspend_account_service_spec.rb | 26 +++++------ 11 files changed, 70 insertions(+), 90 deletions(-) rename spec/controllers/settings/exports/{bookmarks_controller_specs.rb => bookmarks_controller_spec.rb} (54%) rename spec/lib/{html_aware_formatter.rb => html_aware_formatter_spec.rb} (100%) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4fcc8c618..b9228f996 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,7 @@ version: 2.1 orbs: - ruby: circleci/ruby@1.4.0 + ruby: circleci/ruby@1.4.1 node: circleci/node@5.0.1 executors: diff --git a/spec/controllers/admin/accounts_controller_spec.rb b/spec/controllers/admin/accounts_controller_spec.rb index 0f71d697c..1779fb7c0 100644 --- a/spec/controllers/admin/accounts_controller_spec.rb +++ b/spec/controllers/admin/accounts_controller_spec.rb @@ -194,9 +194,7 @@ RSpec.describe Admin::AccountsController, type: :controller do end describe 'POST #unblock_email' do - subject do - -> { post :unblock_email, params: { id: account.id } } - end + subject { post :unblock_email, params: { id: account.id } } let(:current_user) { Fabricate(:user, admin: admin) } let(:account) { Fabricate(:account, suspended: true) } @@ -206,11 +204,11 @@ RSpec.describe Admin::AccountsController, type: :controller do let(:admin) { true } it 'succeeds in removing email blocks' do - is_expected.to change { CanonicalEmailBlock.where(reference_account: account).count }.from(1).to(0) + expect { subject }.to change { CanonicalEmailBlock.where(reference_account: account).count }.from(1).to(0) end it 'redirects to admin account path' do - subject.call + subject expect(response).to redirect_to admin_account_path(account.id) end end @@ -219,7 +217,7 @@ RSpec.describe Admin::AccountsController, type: :controller do let(:admin) { false } it 'fails to remove avatar' do - subject.call + subject expect(response).to have_http_status :forbidden end end diff --git a/spec/controllers/settings/exports/bookmarks_controller_specs.rb b/spec/controllers/settings/exports/bookmarks_controller_spec.rb similarity index 54% rename from spec/controllers/settings/exports/bookmarks_controller_specs.rb rename to spec/controllers/settings/exports/bookmarks_controller_spec.rb index 85761577b..a06c02e0c 100644 --- a/spec/controllers/settings/exports/bookmarks_controller_specs.rb +++ b/spec/controllers/settings/exports/bookmarks_controller_spec.rb @@ -3,11 +3,16 @@ require 'rails_helper' describe Settings::Exports::BookmarksController do render_views - describe 'GET #index' do - it 'returns a csv of the bookmarked toots' do - user = Fabricate(:user) - user.account.bookmarks.create!(status: Fabricate(:status, uri: 'https://foo.bar/statuses/1312')) + let(:user) { Fabricate(:user) } + let(:account) { Fabricate(:account, domain: 'foo.bar') } + let(:status) { Fabricate(:status, account: account, uri: 'https://foo.bar/statuses/1312') } + describe 'GET #index' do + before do + user.account.bookmarks.create!(status: status) + end + + it 'returns a csv of the bookmarked toots' do sign_in user, scope: :user get :index, format: :csv diff --git a/spec/lib/html_aware_formatter.rb b/spec/lib/html_aware_formatter_spec.rb similarity index 100% rename from spec/lib/html_aware_formatter.rb rename to spec/lib/html_aware_formatter_spec.rb diff --git a/spec/lib/rss/serializer_spec.rb b/spec/lib/rss/serializer_spec.rb index 0364d13de..1da45d302 100644 --- a/spec/lib/rss/serializer_spec.rb +++ b/spec/lib/rss/serializer_spec.rb @@ -13,13 +13,6 @@ describe RSS::Serializer do subject { RSS::Serializer.new.send(:status_title, status) } - context 'if destroyed?' do - it 'returns "#{account.acct} deleted status"' do - status.destroy! - expect(subject).to eq "#{account.acct} deleted status" - end - end - context 'on a toot with long text' do let(:text) { "This toot's text is longer than the allowed number of characters" } diff --git a/spec/services/after_block_service_spec.rb b/spec/services/after_block_service_spec.rb index fe5b26b2b..c09425d7c 100644 --- a/spec/services/after_block_service_spec.rb +++ b/spec/services/after_block_service_spec.rb @@ -1,9 +1,7 @@ require 'rails_helper' RSpec.describe AfterBlockService, type: :service do - subject do - -> { described_class.new.call(account, target_account) } - end + subject { described_class.new.call(account, target_account) } let(:account) { Fabricate(:account) } let(:target_account) { Fabricate(:account) } @@ -24,7 +22,7 @@ RSpec.describe AfterBlockService, type: :service do FeedManager.instance.push_to_home(account, other_account_status) FeedManager.instance.push_to_home(account, other_account_reblog) - is_expected.to change { + expect { subject }.to change { Redis.current.zrange(home_timeline_key, 0, -1) }.from([status.id.to_s, other_account_status.id.to_s, other_account_reblog.id.to_s]).to([other_account_status.id.to_s]) end @@ -43,7 +41,7 @@ RSpec.describe AfterBlockService, type: :service do FeedManager.instance.push_to_list(list, other_account_status) FeedManager.instance.push_to_list(list, other_account_reblog) - is_expected.to change { + expect { subject }.to change { Redis.current.zrange(list_timeline_key, 0, -1) }.from([status.id.to_s, other_account_status.id.to_s, other_account_reblog.id.to_s]).to([other_account_status.id.to_s]) end diff --git a/spec/services/delete_account_service_spec.rb b/spec/services/delete_account_service_spec.rb index 9c785fc17..1fbe4d07c 100644 --- a/spec/services/delete_account_service_spec.rb +++ b/spec/services/delete_account_service_spec.rb @@ -23,12 +23,10 @@ RSpec.describe DeleteAccountService, type: :service do let!(:account_note) { Fabricate(:account_note, account: account) } - subject do - -> { described_class.new.call(account) } - end + subject { described_class.new.call(account) } it 'deletes associated owned records' do - is_expected.to change { + expect { subject }.to change { [ account.statuses, account.media_attachments, @@ -43,7 +41,7 @@ RSpec.describe DeleteAccountService, type: :service do end it 'deletes associated target records' do - is_expected.to change { + expect { subject }.to change { [ AccountPin.where(target_account: account), ].map(&:count) @@ -51,7 +49,7 @@ RSpec.describe DeleteAccountService, type: :service do end it 'deletes associated target notifications' do - is_expected.to change { + expect { subject }.to change { [ 'poll', 'favourite', 'status', 'mention', 'follow' ].map { |type| Notification.where(type: type).count } @@ -73,7 +71,7 @@ RSpec.describe DeleteAccountService, type: :service do let!(:local_follower) { Fabricate(:account) } it 'sends a delete actor activity to all known inboxes' do - subject.call + subject expect(a_request(:post, "https://alice.com/inbox")).to have_been_made.once expect(a_request(:post, "https://bob.com/inbox")).to have_been_made.once end @@ -91,7 +89,7 @@ RSpec.describe DeleteAccountService, type: :service do let!(:local_follower) { Fabricate(:account) } it 'sends a reject follow to follower inboxes' do - subject.call + subject expect(a_request(:post, account.inbox_url)).to have_been_made.once end end diff --git a/spec/services/mute_service_spec.rb b/spec/services/mute_service_spec.rb index 4bb839b8d..bdec1c67b 100644 --- a/spec/services/mute_service_spec.rb +++ b/spec/services/mute_service_spec.rb @@ -1,9 +1,7 @@ require 'rails_helper' RSpec.describe MuteService, type: :service do - subject do - -> { described_class.new.call(account, target_account) } - end + subject { described_class.new.call(account, target_account) } let(:account) { Fabricate(:account) } let(:target_account) { Fabricate(:account) } @@ -21,45 +19,41 @@ RSpec.describe MuteService, type: :service do FeedManager.instance.push_to_home(account, status) FeedManager.instance.push_to_home(account, other_account_status) - is_expected.to change { + expect { subject }.to change { Redis.current.zrange(home_timeline_key, 0, -1) }.from([status.id.to_s, other_account_status.id.to_s]).to([other_account_status.id.to_s]) end end it 'mutes account' do - is_expected.to change { + expect { subject }.to change { account.muting?(target_account) }.from(false).to(true) end context 'without specifying a notifications parameter' do it 'mutes notifications from the account' do - is_expected.to change { + expect { subject }.to change { account.muting_notifications?(target_account) }.from(false).to(true) end end context 'with a true notifications parameter' do - subject do - -> { described_class.new.call(account, target_account, notifications: true) } - end + subject { described_class.new.call(account, target_account, notifications: true) } it 'mutes notifications from the account' do - is_expected.to change { + expect { subject }.to change { account.muting_notifications?(target_account) }.from(false).to(true) end end context 'with a false notifications parameter' do - subject do - -> { described_class.new.call(account, target_account, notifications: false) } - end + subject { described_class.new.call(account, target_account, notifications: false) } it 'does not mute notifications from the account' do - is_expected.to_not change { + expect { subject }.to_not change { account.muting_notifications?(target_account) }.from(false) end diff --git a/spec/services/notify_service_spec.rb b/spec/services/notify_service_spec.rb index 7433866b7..294c31b04 100644 --- a/spec/services/notify_service_spec.rb +++ b/spec/services/notify_service_spec.rb @@ -1,9 +1,7 @@ require 'rails_helper' RSpec.describe NotifyService, type: :service do - subject do - -> { described_class.new.call(recipient, type, activity) } - end + subject { described_class.new.call(recipient, type, activity) } let(:user) { Fabricate(:user) } let(:recipient) { user.account } @@ -11,42 +9,42 @@ RSpec.describe NotifyService, type: :service do let(:activity) { Fabricate(:follow, account: sender, target_account: recipient) } let(:type) { :follow } - it { is_expected.to change(Notification, :count).by(1) } + it { expect { subject }.to change(Notification, :count).by(1) } it 'does not notify when sender is blocked' do recipient.block!(sender) - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end it 'does not notify when sender is muted with hide_notifications' do recipient.mute!(sender, notifications: true) - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end it 'does notify when sender is muted without hide_notifications' do recipient.mute!(sender, notifications: false) - is_expected.to change(Notification, :count) + expect { subject }.to change(Notification, :count) end it 'does not notify when sender\'s domain is blocked' do recipient.block_domain!(sender.domain) - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end it 'does still notify when sender\'s domain is blocked but sender is followed' do recipient.block_domain!(sender.domain) recipient.follow!(sender) - is_expected.to change(Notification, :count) + expect { subject }.to change(Notification, :count) end it 'does not notify when sender is silenced and not followed' do sender.silence! - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end it 'does not notify when recipient is suspended' do recipient.suspend! - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end context 'for direct messages' do @@ -61,7 +59,7 @@ RSpec.describe NotifyService, type: :service do let(:enabled) { true } it 'does not notify' do - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end context 'if the message chain is initiated by recipient, but is not direct message' do @@ -70,7 +68,7 @@ RSpec.describe NotifyService, type: :service do let(:activity) { Fabricate(:mention, account: recipient, status: Fabricate(:status, account: sender, visibility: :direct, thread: reply_to)) } it 'does not notify' do - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end end @@ -81,7 +79,7 @@ RSpec.describe NotifyService, type: :service do let(:activity) { Fabricate(:mention, account: recipient, status: Fabricate(:status, account: sender, visibility: :direct, thread: dummy_reply)) } it 'does not notify' do - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end end @@ -91,7 +89,7 @@ RSpec.describe NotifyService, type: :service do let(:activity) { Fabricate(:mention, account: recipient, status: Fabricate(:status, account: sender, visibility: :direct, thread: reply_to)) } it 'does notify' do - is_expected.to change(Notification, :count) + expect { subject }.to change(Notification, :count) end end end @@ -100,7 +98,7 @@ RSpec.describe NotifyService, type: :service do let(:enabled) { false } it 'does notify' do - is_expected.to change(Notification, :count) + expect { subject }.to change(Notification, :count) end end end @@ -112,17 +110,17 @@ RSpec.describe NotifyService, type: :service do it 'shows reblogs by default' do recipient.follow!(sender) - is_expected.to change(Notification, :count) + expect { subject }.to change(Notification, :count) end it 'shows reblogs when explicitly enabled' do recipient.follow!(sender, reblogs: true) - is_expected.to change(Notification, :count) + expect { subject }.to change(Notification, :count) end it 'shows reblogs when disabled' do recipient.follow!(sender, reblogs: false) - is_expected.to change(Notification, :count) + expect { subject }.to change(Notification, :count) end end @@ -134,12 +132,12 @@ RSpec.describe NotifyService, type: :service do it 'does not notify when conversation is muted' do recipient.mute_conversation!(activity.status.conversation) - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end it 'does not notify when it is a reply to a blocked user' do recipient.block!(asshole) - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end end @@ -147,7 +145,7 @@ RSpec.describe NotifyService, type: :service do let(:sender) { recipient } it 'does not notify when recipient is the sender' do - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end end @@ -163,7 +161,7 @@ RSpec.describe NotifyService, type: :service do let(:enabled) { true } it 'sends email' do - is_expected.to change(ActionMailer::Base.deliveries, :count).by(1) + expect { subject }.to change(ActionMailer::Base.deliveries, :count).by(1) end end @@ -171,7 +169,7 @@ RSpec.describe NotifyService, type: :service do let(:enabled) { false } it "doesn't send email" do - is_expected.to_not change(ActionMailer::Base.deliveries, :count).from(0) + expect { subject }.to_not change(ActionMailer::Base.deliveries, :count).from(0) end end end diff --git a/spec/services/suspend_account_service_spec.rb b/spec/services/suspend_account_service_spec.rb index cf7eb257a..5d45e4ffd 100644 --- a/spec/services/suspend_account_service_spec.rb +++ b/spec/services/suspend_account_service_spec.rb @@ -5,9 +5,7 @@ RSpec.describe SuspendAccountService, type: :service do let!(:local_follower) { Fabricate(:user, current_sign_in_at: 1.hour.ago).account } let!(:list) { Fabricate(:list, account: local_follower) } - subject do - -> { described_class.new.call(account) } - end + subject { described_class.new.call(account) } before do allow(FeedManager.instance).to receive(:unmerge_from_home).and_return(nil) @@ -18,13 +16,13 @@ RSpec.describe SuspendAccountService, type: :service do end it "unmerges from local followers' feeds" do - subject.call + subject expect(FeedManager.instance).to have_received(:unmerge_from_home).with(account, local_follower) expect(FeedManager.instance).to have_received(:unmerge_from_list).with(account, list) end it 'marks account as suspended' do - is_expected.to change { account.suspended? }.from(false).to(true) + expect { subject }.to change { account.suspended? }.from(false).to(true) end end @@ -51,7 +49,7 @@ RSpec.describe SuspendAccountService, type: :service do end it 'sends an update actor to followers and reporters' do - subject.call + subject expect(a_request(:post, remote_follower.inbox_url).with { |req| match_update_actor_request(req, account) }).to have_been_made.once expect(a_request(:post, remote_reporter.inbox_url).with { |req| match_update_actor_request(req, account) }).to have_been_made.once end @@ -77,7 +75,7 @@ RSpec.describe SuspendAccountService, type: :service do end it 'sends a reject follow' do - subject.call + subject expect(a_request(:post, account.inbox_url).with { |req| match_reject_follow_request(req, account, local_followee) }).to have_been_made.once end end diff --git a/spec/services/unsuspend_account_service_spec.rb b/spec/services/unsuspend_account_service_spec.rb index 0593beb6f..3ac4cc085 100644 --- a/spec/services/unsuspend_account_service_spec.rb +++ b/spec/services/unsuspend_account_service_spec.rb @@ -5,9 +5,7 @@ RSpec.describe UnsuspendAccountService, type: :service do let!(:local_follower) { Fabricate(:user, current_sign_in_at: 1.hour.ago).account } let!(:list) { Fabricate(:list, account: local_follower) } - subject do - -> { described_class.new.call(account) } - end + subject { described_class.new.call(account) } before do allow(FeedManager.instance).to receive(:merge_into_home).and_return(nil) @@ -33,7 +31,7 @@ RSpec.describe UnsuspendAccountService, type: :service do end it 'marks account as unsuspended' do - is_expected.to change { account.suspended? }.from(true).to(false) + expect { subject }.to change { account.suspended? }.from(true).to(false) end include_examples 'common behavior' do @@ -47,13 +45,13 @@ RSpec.describe UnsuspendAccountService, type: :service do end it "merges back into local followers' feeds" do - subject.call + subject expect(FeedManager.instance).to have_received(:merge_into_home).with(account, local_follower) expect(FeedManager.instance).to have_received(:merge_into_list).with(account, list) end it 'sends an update actor to followers and reporters' do - subject.call + subject expect(a_request(:post, remote_follower.inbox_url).with { |req| match_update_actor_request(req, account) }).to have_been_made.once expect(a_request(:post, remote_reporter.inbox_url).with { |req| match_update_actor_request(req, account) }).to have_been_made.once end @@ -75,18 +73,18 @@ RSpec.describe UnsuspendAccountService, type: :service do end it 're-fetches the account' do - subject.call + subject expect(resolve_account_service).to have_received(:call).with(account) end it "merges back into local followers' feeds" do - subject.call + subject expect(FeedManager.instance).to have_received(:merge_into_home).with(account, local_follower) expect(FeedManager.instance).to have_received(:merge_into_list).with(account, list) end it 'marks account as unsuspended' do - is_expected.to change { account.suspended? }.from(true).to(false) + expect { subject }.to change { account.suspended? }.from(true).to(false) end end @@ -99,18 +97,18 @@ RSpec.describe UnsuspendAccountService, type: :service do end it 're-fetches the account' do - subject.call + subject expect(resolve_account_service).to have_received(:call).with(account) end it "does not merge back into local followers' feeds" do - subject.call + subject expect(FeedManager.instance).to_not have_received(:merge_into_home).with(account, local_follower) expect(FeedManager.instance).to_not have_received(:merge_into_list).with(account, list) end it 'does not mark the account as unsuspended' do - is_expected.not_to change { account.suspended? } + expect { subject }.not_to change { account.suspended? } end end @@ -120,12 +118,12 @@ RSpec.describe UnsuspendAccountService, type: :service do end it 're-fetches the account' do - subject.call + subject expect(resolve_account_service).to have_received(:call).with(account) end it "does not merge back into local followers' feeds" do - subject.call + subject expect(FeedManager.instance).to_not have_received(:merge_into_home).with(account, local_follower) expect(FeedManager.instance).to_not have_received(:merge_into_list).with(account, list) end From 22eeaf2645e44ea800a6e4c4acb7bf9d72211344 Mon Sep 17 00:00:00 2001 From: Shlee Date: Tue, 29 Mar 2022 08:08:20 +1030 Subject: [PATCH 152/276] Split build image actions (#17793) * Update build-image.yml * Update build-image.yml * Update build-image.yml * Update build-image.yml --- .github/workflows/build-image.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index 75c7b54a6..0fa28aca1 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -13,6 +13,9 @@ on: jobs: build-image: runs-on: ubuntu-latest + strategy: + matrix: + os: [linux/arm64, linux/amd64] steps: - uses: actions/checkout@v2 - uses: docker/setup-qemu-action@v1 @@ -35,7 +38,7 @@ jobs: - uses: docker/build-push-action@v2 with: context: . - platforms: linux/amd64,linux/arm64 + platforms: ${{ matrix.os }} push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta.outputs.tags }} cache-from: type=registry,ref=tootsuite/mastodon:latest From 894956e20cfa7ea36bb124fb3561fde5694ac955 Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 28 Mar 2022 23:57:38 +0200 Subject: [PATCH 153/276] Fix /api/v1/admin/accounts (#17887) * Fix /api/v1/admin/accounts Compatibility was broken since #17009 which changed the underlying filter class without changing the controller. This commits restore support for the old parameters. * Add /api/v2/admin/accounts with the new parameters * Add tests * Add missing filter for `silenced` status Co-authored-by: Eugen Rochko Co-authored-by: Eugen Rochko --- .../api/v1/admin/accounts_controller.rb | 16 +++- .../api/v2/admin/accounts_controller.rb | 31 ++++++++ app/models/account_filter.rb | 4 + config/routes.rb | 4 + .../api/v1/admin/accounts_controller_spec.rb | 35 ++++++++- .../api/v2/admin/accounts_controller_spec.rb | 73 +++++++++++++++++++ 6 files changed, 159 insertions(+), 4 deletions(-) create mode 100644 app/controllers/api/v2/admin/accounts_controller.rb create mode 100644 spec/controllers/api/v2/admin/accounts_controller_spec.rb diff --git a/app/controllers/api/v1/admin/accounts_controller.rb b/app/controllers/api/v1/admin/accounts_controller.rb index 65330b8c8..4b6dab208 100644 --- a/app/controllers/api/v1/admin/accounts_controller.rb +++ b/app/controllers/api/v1/admin/accounts_controller.rb @@ -104,13 +104,27 @@ class Api::V1::Admin::AccountsController < Api::BaseController end def filtered_accounts - AccountFilter.new(filter_params).results + AccountFilter.new(translated_filter_params).results end def filter_params params.permit(*FILTER_PARAMS) end + def translated_filter_params + translated_params = { origin: 'local', status: 'active' }.merge(filter_params.slice(*AccountFilter::KEYS)) + + translated_params[:origin] = 'remote' if params[:remote].present? + + %i(active pending disabled silenced suspended).each do |status| + translated_params[:status] = status.to_s if params[status].present? + end + + translated_params[:permissions] = 'staff' if params[:staff].present? + + translated_params + end + def insert_pagination_headers set_pagination_headers(next_path, prev_path) end diff --git a/app/controllers/api/v2/admin/accounts_controller.rb b/app/controllers/api/v2/admin/accounts_controller.rb new file mode 100644 index 000000000..a89e6835e --- /dev/null +++ b/app/controllers/api/v2/admin/accounts_controller.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +class Api::V2::Admin::AccountsController < Api::V1::Admin::AccountsController + FILTER_PARAMS = %i( + origin + status + permissions + username + by_domain + display_name + email + ip + invited_by + ).freeze + + PAGINATION_PARAMS = (%i(limit) + FILTER_PARAMS).freeze + + private + + def filtered_accounts + AccountFilter.new(filter_params).results + end + + def filter_params + params.permit(*FILTER_PARAMS) + end + + def pagination_params(core_params) + params.slice(*PAGINATION_PARAMS).permit(*PAGINATION_PARAMS).merge(core_params) + end +end diff --git a/app/models/account_filter.rb b/app/models/account_filter.rb index 9da1522dd..ec309ce09 100644 --- a/app/models/account_filter.rb +++ b/app/models/account_filter.rb @@ -80,6 +80,10 @@ class AccountFilter accounts_with_users.merge(User.pending) when 'suspended' Account.suspended + when 'disabled' + accounts_with_users.merge(User.disabled) + when 'silenced' + Account.silenced else raise "Unknown status: #{value}" end diff --git a/config/routes.rb b/config/routes.rb index c108e2ec4..7c9a13dc4 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -576,6 +576,10 @@ Rails.application.routes.draw do resources :media, only: [:create] get '/search', to: 'search#index', as: :search resources :suggestions, only: [:index] + + namespace :admin do + resources :accounts, only: [:index] + end end namespace :web do diff --git a/spec/controllers/api/v1/admin/accounts_controller_spec.rb b/spec/controllers/api/v1/admin/accounts_controller_spec.rb index 3f61bbc0b..b69595f7e 100644 --- a/spec/controllers/api/v1/admin/accounts_controller_spec.rb +++ b/spec/controllers/api/v1/admin/accounts_controller_spec.rb @@ -30,15 +30,44 @@ RSpec.describe Api::V1::Admin::AccountsController, type: :controller do end describe 'GET #index' do + let!(:remote_account) { Fabricate(:account, domain: 'example.org') } + let!(:other_remote_account) { Fabricate(:account, domain: 'foo.bar') } + let!(:suspended_account) { Fabricate(:account, suspended: true) } + let!(:suspended_remote) { Fabricate(:account, domain: 'foo.bar', suspended: true) } + let!(:disabled_account) { Fabricate(:user, disabled: true).account } + let!(:pending_account) { Fabricate(:user, approved: false).account } + let!(:admin_account) { user.account } + + let(:params) { {} } + before do - get :index + pending_account.user.update(approved: false) + get :index, params: params end it_behaves_like 'forbidden for wrong scope', 'write:statuses' it_behaves_like 'forbidden for wrong role', 'user' - it 'returns http success' do - expect(response).to have_http_status(200) + [ + [{ active: 'true', local: 'true', staff: 'true' }, [:admin_account]], + [{ by_domain: 'example.org', remote: 'true' }, [:remote_account]], + [{ suspended: 'true' }, [:suspended_account]], + [{ disabled: 'true' }, [:disabled_account]], + [{ pending: 'true' }, [:pending_account]], + ].each do |params, expected_results| + context "when called with #{params.inspect}" do + let(:params) { params } + + it 'returns http success' do + expect(response).to have_http_status(200) + end + + it "returns the correct accounts (#{expected_results.inspect})" do + json = body_as_json + + expect(json.map { |a| a[:id].to_i }).to eq (expected_results.map { |symbol| send(symbol).id }) + end + end end end diff --git a/spec/controllers/api/v2/admin/accounts_controller_spec.rb b/spec/controllers/api/v2/admin/accounts_controller_spec.rb new file mode 100644 index 000000000..3212ddb84 --- /dev/null +++ b/spec/controllers/api/v2/admin/accounts_controller_spec.rb @@ -0,0 +1,73 @@ +require 'rails_helper' + +RSpec.describe Api::V2::Admin::AccountsController, type: :controller do + render_views + + let(:role) { 'moderator' } + let(:user) { Fabricate(:user, role: role) } + let(:scopes) { 'admin:read admin:write' } + let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) } + let(:account) { Fabricate(:account) } + + before do + allow(controller).to receive(:doorkeeper_token) { token } + end + + shared_examples 'forbidden for wrong scope' do |wrong_scope| + let(:scopes) { wrong_scope } + + it 'returns http forbidden' do + expect(response).to have_http_status(403) + end + end + + shared_examples 'forbidden for wrong role' do |wrong_role| + let(:role) { wrong_role } + + it 'returns http forbidden' do + expect(response).to have_http_status(403) + end + end + + describe 'GET #index' do + let!(:remote_account) { Fabricate(:account, domain: 'example.org') } + let!(:other_remote_account) { Fabricate(:account, domain: 'foo.bar') } + let!(:suspended_account) { Fabricate(:account, suspended: true) } + let!(:suspended_remote) { Fabricate(:account, domain: 'foo.bar', suspended: true) } + let!(:disabled_account) { Fabricate(:user, disabled: true).account } + let!(:pending_account) { Fabricate(:user, approved: false).account } + let!(:admin_account) { user.account } + + let(:params) { {} } + + before do + pending_account.user.update(approved: false) + get :index, params: params + end + + it_behaves_like 'forbidden for wrong scope', 'write:statuses' + it_behaves_like 'forbidden for wrong role', 'user' + + [ + [{ status: 'active', origin: 'local', permissions: 'staff' }, [:admin_account]], + [{ by_domain: 'example.org', origin: 'remote' }, [:remote_account]], + [{ status: 'suspended' }, [:suspended_remote, :suspended_account]], + [{ status: 'disabled' }, [:disabled_account]], + [{ status: 'pending' }, [:pending_account]], + ].each do |params, expected_results| + context "when called with #{params.inspect}" do + let(:params) { params } + + it 'returns http success' do + expect(response).to have_http_status(200) + end + + it "returns the correct accounts (#{expected_results.inspect})" do + json = body_as_json + + expect(json.map { |a| a[:id].to_i }).to eq (expected_results.map { |symbol| send(symbol).id }) + end + end + end + end +end From 1e46c290470b54ff63e9034d17d9c14c26d0ad1f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 29 Mar 2022 03:51:09 +0200 Subject: [PATCH 154/276] New Crowdin updates (#17864) * New translations doorkeeper.en.yml (Kazakh) * New translations doorkeeper.en.yml (Estonian) * New translations doorkeeper.en.yml (Latvian) * New translations doorkeeper.en.yml (Hindi) * New translations doorkeeper.en.yml (Welsh) * New translations doorkeeper.en.yml (Serbian (Latin)) * New translations doorkeeper.en.yml (Esperanto) * New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong) * New translations doorkeeper.en.yml (Tatar) * New translations doorkeeper.en.yml (Malayalam) * New translations doorkeeper.en.yml (Breton) * New translations doorkeeper.en.yml (Sinhala) * New translations doorkeeper.en.yml (Occitan) * New translations activerecord.en.yml (Czech) * New translations devise.en.yml (Polish) * New translations activerecord.en.yml (Dutch) * New translations devise.en.yml (Dutch) * New translations activerecord.en.yml (Norwegian) * New translations devise.en.yml (Norwegian) * New translations activerecord.en.yml (Polish) * New translations activerecord.en.yml (Portuguese) * New translations devise.en.yml (Portuguese) * New translations activerecord.en.yml (Russian) * New translations devise.en.yml (Russian) * New translations activerecord.en.yml (Slovak) * New translations devise.en.yml (Slovak) * New translations activerecord.en.yml (Slovenian) * New translations devise.en.yml (Slovenian) * New translations activerecord.en.yml (Albanian) * New translations devise.en.yml (Albanian) * New translations activerecord.en.yml (Serbian (Cyrillic)) * New translations devise.en.yml (Korean) * New translations devise.en.yml (Czech) * New translations activerecord.en.yml (Hebrew) * New translations activerecord.en.yml (Danish) * New translations devise.en.yml (Danish) * New translations activerecord.en.yml (German) * New translations devise.en.yml (German) * New translations activerecord.en.yml (Greek) * New translations devise.en.yml (Greek) * New translations activerecord.en.yml (Basque) * New translations devise.en.yml (Basque) * New translations activerecord.en.yml (Finnish) * New translations devise.en.yml (Finnish) * New translations devise.en.yml (Hebrew) * New translations activerecord.en.yml (Korean) * New translations activerecord.en.yml (Hungarian) * New translations devise.en.yml (Hungarian) * New translations activerecord.en.yml (Armenian) * New translations devise.en.yml (Armenian) * New translations activerecord.en.yml (Italian) * New translations devise.en.yml (Italian) * New translations activerecord.en.yml (Japanese) * New translations devise.en.yml (Japanese) * New translations activerecord.en.yml (Georgian) * New translations devise.en.yml (Georgian) * New translations devise.en.yml (Serbian (Cyrillic)) * New translations activerecord.en.yml (Swedish) * New translations devise.en.yml (Norwegian Nynorsk) * New translations activerecord.en.yml (Bengali) * New translations devise.en.yml (Bengali) * New translations activerecord.en.yml (Marathi) * New translations activerecord.en.yml (Thai) * New translations activerecord.en.yml (Croatian) * New translations devise.en.yml (Croatian) * New translations activerecord.en.yml (Norwegian Nynorsk) * New translations activerecord.en.yml (Kazakh) * New translations activerecord.en.yml (Spanish, Mexico) * New translations devise.en.yml (Kazakh) * New translations activerecord.en.yml (Estonian) * New translations devise.en.yml (Estonian) * New translations activerecord.en.yml (Latvian) * New translations devise.en.yml (Latvian) * New translations activerecord.en.yml (Hindi) * New translations devise.en.yml (Hindi) * New translations devise.en.yml (Spanish, Mexico) * New translations devise.en.yml (Spanish, Argentina) * New translations devise.en.yml (Swedish) * New translations activerecord.en.yml (Vietnamese) * New translations activerecord.en.yml (Turkish) * New translations devise.en.yml (Turkish) * New translations activerecord.en.yml (Ukrainian) * New translations devise.en.yml (Ukrainian) * New translations activerecord.en.yml (Chinese Simplified) * New translations devise.en.yml (Chinese Simplified) * New translations activerecord.en.yml (Chinese Traditional) * New translations devise.en.yml (Chinese Traditional) * New translations devise.en.yml (Urdu (Pakistan)) * New translations devise.en.yml (Vietnamese) * New translations activerecord.en.yml (Spanish, Argentina) * New translations activerecord.en.yml (Galician) * New translations devise.en.yml (Galician) * New translations activerecord.en.yml (Portuguese, Brazilian) * New translations devise.en.yml (Portuguese, Brazilian) * New translations activerecord.en.yml (Indonesian) * New translations devise.en.yml (Indonesian) * New translations activerecord.en.yml (Persian) * New translations devise.en.yml (Persian) * New translations activerecord.en.yml (Tamil) * New translations devise.en.yml (Tamil) * New translations devise.en.yml (Welsh) * New translations activerecord.en.yml (Sorani (Kurdish)) * New translations devise.en.yml (Sorani (Kurdish)) * New translations activerecord.en.yml (Corsican) * New translations devise.en.yml (Corsican) * New translations activerecord.en.yml (Sardinian) * New translations devise.en.yml (Sardinian) * New translations activerecord.en.yml (Kabyle) * New translations activerecord.en.yml (Kurmanji (Kurdish)) * New translations devise.en.yml (Kabyle) * New translations devise.en.yml (Ido) * New translations activerecord.en.yml (Standard Moroccan Tamazight) * New translations devise.en.yml (Serbian (Latin)) * New translations activerecord.en.yml (Esperanto) * New translations activerecord.en.yml (Breton) * New translations activerecord.en.yml (Chinese Traditional, Hong Kong) * New translations devise.en.yml (Chinese Traditional, Hong Kong) * New translations activerecord.en.yml (Tatar) * New translations devise.en.yml (Tatar) * New translations activerecord.en.yml (Malayalam) * New translations devise.en.yml (Malayalam) * New translations devise.en.yml (Breton) * New translations activerecord.en.yml (Serbian (Latin)) * New translations activerecord.en.yml (Sinhala) * New translations devise.en.yml (Sinhala) * New translations devise.en.yml (Kannada) * New translations activerecord.en.yml (Occitan) * New translations devise.en.yml (Occitan) * New translations devise.en.yml (Standard Moroccan Tamazight) * New translations en.json (Portuguese, Brazilian) * New translations en.yml (Portuguese, Brazilian) * New translations en.json (Portuguese, Brazilian) * New translations doorkeeper.en.yml (Portuguese, Brazilian) * New translations en.json (Portuguese, Brazilian) * New translations en.yml (Chinese Traditional) * New translations en.yml (Danish) * New translations en.yml (Vietnamese) * New translations en.yml (Galician) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Albanian) * New translations en.json (Albanian) * New translations en.json (Albanian) * New translations en.yml (Scottish Gaelic) * New translations en.json (Scottish Gaelic) * New translations doorkeeper.en.yml (Scottish Gaelic) * New translations simple_form.en.yml (Scottish Gaelic) * New translations en.yml (Icelandic) * New translations en.yml (Spanish) * New translations en.yml (Polish) * New translations en.yml (French) * New translations en.yml (French) * New translations en.json (French) * New translations en.yml (Portuguese) * New translations en.yml (Italian) * New translations en.yml (Ukrainian) * New translations en.json (Ukrainian) * New translations doorkeeper.en.yml (Ukrainian) * New translations en.json (Ukrainian) * New translations en.yml (Indonesian) * New translations en.yml (Vietnamese) * New translations en.yml (Vietnamese) * New translations en.yml (Vietnamese) * New translations en.yml (Vietnamese) * New translations en.yml (Vietnamese) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.json (Czech) * New translations en.json (Czech) * New translations en.yml (Czech) * New translations en.yml (Thai) * New translations en.yml (Czech) * New translations en.json (Czech) * New translations en.yml (Czech) * New translations en.json (Czech) * New translations en.json (Czech) * New translations en.json (Czech) * New translations simple_form.en.yml (Czech) * New translations en.yml (Czech) * New translations en.json (Czech) * New translations en.json (Czech) * New translations en.json (Czech) * New translations en.json (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Korean) * New translations en.yml (Portuguese) * New translations en.yml (Hungarian) * New translations en.yml (Polish) * New translations en.yml (Albanian) * New translations en.yml (Basque) * New translations en.yml (Turkish) * New translations en.yml (Ukrainian) * New translations en.yml (Chinese Traditional) * New translations en.yml (Icelandic) * New translations en.yml (Indonesian) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Finnish) * New translations en.yml (Galician) * New translations en.yml (Chinese Simplified) * New translations en.yml (Swedish) * New translations en.yml (Arabic) * New translations en.yml (French) * New translations en.yml (Spanish) * New translations en.yml (Catalan) * New translations en.yml (Hebrew) * New translations en.yml (Italian) * New translations en.yml (Japanese) * New translations en.yml (Russian) * New translations en.yml (German) * New translations en.yml (Vietnamese) * New translations en.yml (Thai) * New translations en.yml (Scottish Gaelic) * New translations en.yml (Danish) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Latvian) * New translations en.yml (Chinese Traditional) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Chinese Traditional) * New translations en.yml (Catalan) * New translations en.yml (Korean) * New translations en.yml (Danish) * New translations en.yml (Danish) * New translations en.yml (Spanish) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (Hungarian) * New translations en.yml (Icelandic) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Czech) * New translations en.yml (Albanian) * New translations en.yml (Russian) * New translations en.yml (Russian) * New translations en.yml (Russian) * New translations en.json (Persian) * New translations en.yml (Persian) * New translations simple_form.en.yml (Persian) * New translations doorkeeper.en.yml (Persian) * New translations en.yml (Indonesian) * New translations en.json (Persian) * New translations en.yml (Persian) * New translations simple_form.en.yml (Persian) * New translations doorkeeper.en.yml (Persian) * New translations en.yml (Italian) * New translations en.yml (Vietnamese) * Run `yarn manage:translations` * Run `bundle exec i18n-tasks normalize` Co-authored-by: Yamagishi Kazutoshi --- app/javascript/mastodon/locales/cs.json | 46 ++++---- app/javascript/mastodon/locales/fa.json | 4 +- app/javascript/mastodon/locales/fr.json | 4 +- app/javascript/mastodon/locales/gd.json | 8 +- app/javascript/mastodon/locales/pt-BR.json | 40 +++---- app/javascript/mastodon/locales/sq.json | 8 +- app/javascript/mastodon/locales/th.json | 4 +- app/javascript/mastodon/locales/uk.json | 10 +- config/locales/activerecord.ku.yml | 2 +- config/locales/ar.yml | 3 - config/locales/ca.yml | 17 +-- config/locales/cs.yml | 35 +++++- config/locales/da.yml | 19 ++-- config/locales/de.yml | 16 --- config/locales/devise.ku.yml | 26 ++--- config/locales/devise.th.yml | 2 +- config/locales/doorkeeper.fa.yml | 31 +++++- config/locales/doorkeeper.gd.yml | 37 +++++++ config/locales/doorkeeper.ku.yml | 4 +- config/locales/doorkeeper.pt-BR.yml | 1 + config/locales/doorkeeper.uk.yml | 15 +++ config/locales/es-AR.yml | 17 +-- config/locales/es-MX.yml | 22 +--- config/locales/es.yml | 11 +- config/locales/eu.yml | 8 -- config/locales/fa.yml | 123 +++++++++++++++------ config/locales/fi.yml | 16 --- config/locales/fr.yml | 24 ++-- config/locales/gd.yml | 117 +++++++++++++++++--- config/locales/gl.yml | 21 +--- config/locales/he.yml | 11 -- config/locales/hu.yml | 13 ++- config/locales/id.yml | 21 ++-- config/locales/is.yml | 9 +- config/locales/it.yml | 9 +- config/locales/ja.yml | 4 - config/locales/ko.yml | 13 +-- config/locales/ku.yml | 51 ++++----- config/locales/lv.yml | 21 +--- config/locales/pl.yml | 9 +- config/locales/pt-BR.yml | 1 + config/locales/pt-PT.yml | 21 +--- config/locales/ru.yml | 29 +++-- config/locales/simple_form.cs.yml | 1 + config/locales/simple_form.fa.yml | 34 +++--- config/locales/simple_form.gd.yml | 9 ++ config/locales/simple_form.ku.yml | 36 +++--- config/locales/simple_form.th.yml | 2 +- config/locales/sq.yml | 24 ++-- config/locales/sv.yml | 4 - config/locales/th.yml | 23 +--- config/locales/tr.yml | 16 --- config/locales/uk.yml | 18 ++- config/locales/vi.yml | 74 ++++++------- config/locales/zh-CN.yml | 16 --- config/locales/zh-TW.yml | 15 +-- 56 files changed, 659 insertions(+), 516 deletions(-) diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index d48780042..c6ffaa6f2 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -75,7 +75,7 @@ "column.domain_blocks": "Blokované domény", "column.favourites": "Oblíbené", "column.follow_requests": "Žádosti o sledování", - "column.home": "Domů", + "column.home": "Domovská časová osa", "column.lists": "Seznamy", "column.mutes": "Skrytí uživatelé", "column.notifications": "Oznámení", @@ -294,7 +294,7 @@ "navigation_bar.discover": "Objevujte", "navigation_bar.domain_blocks": "Blokované domény", "navigation_bar.edit_profile": "Upravit profil", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Objevování", "navigation_bar.favourites": "Oblíbené", "navigation_bar.filters": "Skrytá slova", "navigation_bar.follow_requests": "Žádosti o sledování", @@ -318,7 +318,7 @@ "notification.poll": "Anketa, ve které jste hlasovali, skončila", "notification.reblog": "Uživatel {name} boostnul váš příspěvek", "notification.status": "Nový příspěvek od {name}", - "notification.update": "{name} edited a post", + "notification.update": "uživatel {name} upravil příspěvek", "notifications.clear": "Smazat oznámení", "notifications.clear_confirmation": "Opravdu chcete trvale smazat všechna vaše oznámení?", "notifications.column_settings.admin.sign_up": "New sign-ups:", @@ -338,7 +338,7 @@ "notifications.column_settings.status": "Nové příspěvky:", "notifications.column_settings.unread_notifications.category": "Nepřečtená oznámení", "notifications.column_settings.unread_notifications.highlight": "Zvýraznit nepřečtená oznámení", - "notifications.column_settings.update": "Edits:", + "notifications.column_settings.update": "Úpravy:", "notifications.filter.all": "Vše", "notifications.filter.boosts": "Boosty", "notifications.filter.favourites": "Oblíbení", @@ -380,7 +380,7 @@ "relative_time.days": "{number} d", "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.just_now": "právě teď", "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", "relative_time.hours": "{number} h", @@ -391,11 +391,11 @@ "reply_indicator.cancel": "Zrušit", "report.block": "Block", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", - "report.categories.other": "Other", + "report.categories.other": "Ostatní", "report.categories.spam": "Spam", - "report.categories.violation": "Content violates one or more server rules", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", + "report.categories.violation": "Obsah porušuje jedno nebo více pravidel serveru", + "report.category.subtitle": "Vyberte nejbližší možnost", + "report.category.title": "Povězte nám, proč chcete {type} nahlásit", "report.category.title_account": "profile", "report.category.title_status": "post", "report.close": "Done", @@ -404,20 +404,20 @@ "report.forward_hint": "Tento účet je z jiného serveru. Chcete na něj také poslat anonymizovanou kopii hlášení?", "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.next": "Dále", "report.placeholder": "Dodatečné komentáře", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", - "report.reasons.violation": "It violates server rules", - "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.dislike": "Nelíbí se mi", + "report.reasons.dislike_description": "Není to něco, co chcete vidět", + "report.reasons.other": "Jde o něco jiného", + "report.reasons.other_description": "Problém neodpovídá ostatním kategoriím", + "report.reasons.spam": "Je to spam", + "report.reasons.spam_description": "Škodlivé odkazy, falešné interakce nebo opakované odpovědi", + "report.reasons.violation": "Porušuje pravidla serveru", + "report.reasons.violation_description": "Máte za to, že porušuje konkrétní pravidla", + "report.rules.subtitle": "Vyberte všechna relevantní", + "report.rules.title": "Která pravidla porušuje?", + "report.statuses.subtitle": "Vyberte všechny relevantní", + "report.statuses.title": "Existují příspěvky dokládající toto hlášení?", "report.submit": "Odeslat", "report.target": "Nahlášení uživatele {target}", "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", @@ -490,7 +490,7 @@ "suggestions.dismiss": "Odmítnout návrh", "suggestions.header": "Mohlo by vás zajímat…", "tabs_bar.federated_timeline": "Federovaná", - "tabs_bar.home": "Domů", + "tabs_bar.home": "Domovská", "tabs_bar.local_timeline": "Místní", "tabs_bar.notifications": "Oznámení", "tabs_bar.search": "Hledat", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index d5276039d..73a65ed78 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -9,7 +9,7 @@ "account.browse_more_on_origin_server": "مرور بیش‌تر روی نمایهٔ اصلی", "account.cancel_follow_request": "لغو درخواست پی‌گیری", "account.direct": "پیام مستقیم به ‎@{name}", - "account.disable_notifications": "آگاهی به من هنگام فرستادن‌های ‎@{name} پایان یابد", + "account.disable_notifications": "آگاه کردن من هنگام فرسته‌های ‎@{name} را متوقّف کن", "account.domain_blocked": "دامنه مسدود شد", "account.edit_profile": "ویرایش نمایه", "account.enable_notifications": "هنگام فرسته‌های ‎@{name} مرا آگاه کن", @@ -444,7 +444,7 @@ "status.admin_status": "گشودن این فرسته در واسط مدیریت", "status.block": "مسدود کردن ‎@{name}", "status.bookmark": "نشانک", - "status.cancel_reblog_private": "لغو تقویت", + "status.cancel_reblog_private": "ناتقویت", "status.cannot_reblog": "این فرسته قابل تقویت نیست", "status.copy": "رونوشت پیوند فرسته", "status.delete": "حذف", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 65d3c6ea1..13d89502b 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -229,7 +229,7 @@ "keyboard_shortcuts.blocked": "Ouvrir la liste des comptes bloqués", "keyboard_shortcuts.boost": "Partager le message", "keyboard_shortcuts.column": "Se placer dans une colonne", - "keyboard_shortcuts.compose": "se placer dans la zone de rédaction", + "keyboard_shortcuts.compose": "Se placer dans la zone de rédaction", "keyboard_shortcuts.description": "Description", "keyboard_shortcuts.direct": "Ouvrir la colonne des messages directs", "keyboard_shortcuts.down": "Descendre dans la liste", @@ -246,7 +246,7 @@ "keyboard_shortcuts.muted": "Ouvrir la liste des comptes masqués", "keyboard_shortcuts.my_profile": "Ouvrir votre profil", "keyboard_shortcuts.notifications": "Ouvrir la colonne de notifications", - "keyboard_shortcuts.open_media": "ouvrir le média", + "keyboard_shortcuts.open_media": "Ouvrir le média", "keyboard_shortcuts.pinned": "Ouvrir la liste des messages épinglés", "keyboard_shortcuts.profile": "Ouvrir le profil de l’auteur·rice", "keyboard_shortcuts.reply": "Répondre au message", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index aae73a23e..9ca41b2f6 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -18,7 +18,7 @@ "account.followers": "Luchd-leantainn", "account.followers.empty": "Chan eil neach sam bith a’ leantainn air a’ chleachdaiche seo fhathast.", "account.followers_counter": "{count, plural, one {{counter} neach-leantainn} two {{counter} neach-leantainn} few {{counter} luchd-leantainn} other {{counter} luchd-leantainn}}", - "account.following": "Following", + "account.following": "A’ leantainn", "account.following_counter": "{count, plural, one {A’ leantainn air {counter}} two {A’ leantainn air {counter}} few {A’ leantainn air {counter}} other {A’ leantainn air {counter}}}", "account.follows.empty": "Chan eil an cleachdaiche seo a’ leantainn air neach sam bith fhathast.", "account.follows_you": "’Gad leantainn", @@ -41,12 +41,12 @@ "account.statuses_counter": "{count, plural, one {{counter} phost} two {{counter} phost} few {{counter} postaichean} other {{counter} post}}", "account.unblock": "Dì-bhac @{name}", "account.unblock_domain": "Dì-bhac an àrainn {domain}", - "account.unblock_short": "Unblock", + "account.unblock_short": "Dì-bhac", "account.unendorse": "Na brosnaich air a’ phròifil", "account.unfollow": "Na lean tuilleadh", "account.unmute": "Dì-mhùch @{name}", "account.unmute_notifications": "Dì-mhùch na brathan o @{name}", - "account.unmute_short": "Unmute", + "account.unmute_short": "Dì-mhùch", "account_note.placeholder": "Briog airson nòta a chur ris", "admin.dashboard.daily_retention": "Reat glèidheadh nan cleachdaichean às dèidh an clàradh a-rèir latha", "admin.dashboard.monthly_retention": "Reat glèidheadh nan cleachdaichean às dèidh an clàradh a-rèir mìos", @@ -294,7 +294,7 @@ "navigation_bar.discover": "Fidir", "navigation_bar.domain_blocks": "Àrainnean bacte", "navigation_bar.edit_profile": "Deasaich a’ phròifil", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Rùraich", "navigation_bar.favourites": "Na h-annsachdan", "navigation_bar.filters": "Faclan mùchte", "navigation_bar.follow_requests": "Iarrtasan leantainn", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index c597aa20d..2b9755c06 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -18,7 +18,7 @@ "account.followers": "Seguidores", "account.followers.empty": "Nada aqui.", "account.followers_counter": "{count, plural, one {{counter} seguidor} other {{counter} seguidores}}", - "account.following": "Following", + "account.following": "Seguindo", "account.following_counter": "{count, plural, one {segue {counter}} other {segue {counter}}}", "account.follows.empty": "Nada aqui.", "account.follows_you": "te segue", @@ -41,14 +41,14 @@ "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}", "account.unblock": "Desbloquear @{name}", "account.unblock_domain": "Desbloquear domínio {domain}", - "account.unblock_short": "Unblock", + "account.unblock_short": "Desbloquear", "account.unendorse": "Remover", "account.unfollow": "Deixar de seguir", "account.unmute": "Dessilenciar @{name}", "account.unmute_notifications": "Mostrar notificações de @{name}", - "account.unmute_short": "Unmute", + "account.unmute_short": "Reativar", "account_note.placeholder": "Nota pessoal sobre este perfil aqui", - "admin.dashboard.daily_retention": "User retention rate by day after sign-up", + "admin.dashboard.daily_retention": "Taxa de retenção de usuários por dia, após a inscrição", "admin.dashboard.monthly_retention": "Taxa de retenção de usuários por mês, após a inscrição", "admin.dashboard.retention.average": "Média", "admin.dashboard.retention.cohort": "Mês de inscrição", @@ -168,7 +168,7 @@ "empty_column.community": "A linha local está vazia. Publique algo para começar!", "empty_column.direct": "Nada aqui. Quando você enviar ou receber toots diretos, eles aparecerão aqui.", "empty_column.domain_blocks": "Nada aqui.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Nada está em alta no momento. Volte mais tarde!", "empty_column.favourited_statuses": "Nada aqui. Quando você favoritar um toot, ele aparecerá aqui.", "empty_column.favourites": "Nada aqui. Quando alguém favoritar, o autor aparecerá aqui.", "empty_column.follow_recommendations": "Parece que não há sugestões para você. Tente usar a pesquisa para encontrar pessoas que você possa conhecer ou explorar hashtags.", @@ -294,7 +294,7 @@ "navigation_bar.discover": "Descobrir", "navigation_bar.domain_blocks": "Domínios bloqueados", "navigation_bar.edit_profile": "Editar perfil", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Explorar", "navigation_bar.favourites": "Favoritos", "navigation_bar.filters": "Palavras filtradas", "navigation_bar.follow_requests": "Seguidores pendentes", @@ -390,42 +390,42 @@ "relative_time.today": "hoje", "reply_indicator.cancel": "Cancelar", "report.block": "Bloquear", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block_explanation": "Você não verá suas postagens. Eles não poderão ver suas postagens ou segui-lo. Eles serão capazes de perceber que estão bloqueados.", "report.categories.other": "Outro", "report.categories.spam": "Spam", "report.categories.violation": "O conteúdo viola uma ou mais regras do servidor", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", + "report.category.subtitle": "Escolha a alternativa de melhor correspondência", + "report.category.title": "Conte-nos o que está acontecendo com esse {type}", "report.category.title_account": "perfil", "report.category.title_status": "publicação", "report.close": "Concluído", - "report.comment.title": "Is there anything else you think we should know?", + "report.comment.title": "Há algo mais que você acredita que devemos saber?", "report.forward": "Encaminhar para {target}", "report.forward_hint": "A conta está em outra instância. Enviar uma cópia anônima da denúncia para lá?", "report.mute": "Silenciar", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.mute_explanation": "Você não verá suas postagens. Eles ainda podem seguir você e ver suas postagens e não saberão que estão silenciados.", "report.next": "Próximo", "report.placeholder": "Comentários adicionais aqui", "report.reasons.dislike": "Eu não gosto disso", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", + "report.reasons.dislike_description": "Não é algo que você quer ver", + "report.reasons.other": "É outra coisa", "report.reasons.other_description": "O problema não se encaixa em outras categorias", "report.reasons.spam": "É spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", - "report.reasons.violation": "It violates server rules", + "report.reasons.spam_description": "Links maliciosos, envolvimento falso ou respostas repetitivas", + "report.reasons.violation": "Viola as regras do servidor", "report.reasons.violation_description": "Você está ciente de que isso quebra regras específicas", "report.rules.subtitle": "Selecione tudo que se aplica", - "report.rules.title": "Which rules are being violated?", + "report.rules.title": "Que regras estão sendo violadas?", "report.statuses.subtitle": "Selecione tudo que se aplica", - "report.statuses.title": "Are there any posts that back up this report?", + "report.statuses.title": "Existem postagens que respaldam esse relatório?", "report.submit": "Enviar", "report.target": "Denunciando {target}", - "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", + "report.thanks.take_action": "Aqui estão suas opções para controlar o que você vê no Mastodon:", "report.thanks.take_action_actionable": "Enquanto revisamos isso, você pode tomar medidas contra @{name}:", "report.thanks.title": "Não quer ver isto?", "report.thanks.title_actionable": "Obrigado por reportar. Vamos analisar.", - "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.unfollow": "Deixar de seguir @{name}", + "report.unfollow_explanation": "Você está seguindo esta conta. Para não mais ver os posts dele em sua página inicial, deixe de segui-lo.", "search.placeholder": "Pesquisar", "search_popout.search_format": "Formato de pesquisa avançada", "search_popout.tips.full_text": "Texto simples retorna toots que você escreveu, favoritou, deu boost, ou em que foi mencionado, assim como nomes de usuário e de exibição, e hashtags correspondentes.", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index d1047f5da..ce3cdabd0 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -18,7 +18,7 @@ "account.followers": "Ndjekës", "account.followers.empty": "Këtë përdorues ende s’e ndjek kush.", "account.followers_counter": "{count, plural, one {{counter} Ndjekës} other {{counter} Ndjekës}}", - "account.following": "Following", + "account.following": "Ndjekje", "account.following_counter": "{count, plural, one {{counter} i Ndjekur} other {{counter} të Ndjekur}}", "account.follows.empty": "Ky përdorues ende s’ndjek kënd.", "account.follows_you": "Ju ndjek", @@ -41,12 +41,12 @@ "account.statuses_counter": "{count, plural, one {{counter} Mesazh} other {{counter} Mesazhe}}", "account.unblock": "Zhbllokoje @{name}", "account.unblock_domain": "Zhblloko përkatësinë {domain}", - "account.unblock_short": "Unblock", + "account.unblock_short": "Zhbllokoje", "account.unendorse": "Mos e përfshi në profil", "account.unfollow": "Resht së ndjekuri", "account.unmute": "Ktheji zërin @{name}", "account.unmute_notifications": "Hiqua ndalimin e shfaqjes njoftimeve nga @{name}", - "account.unmute_short": "Unmute", + "account.unmute_short": "Çheshtoje", "account_note.placeholder": "Klikoni për të shtuar shënim", "admin.dashboard.daily_retention": "Shkallë mbajtjeje përdoruesi, në ditë, pas regjistrimit", "admin.dashboard.monthly_retention": "Shkallë mbajtjeje përdoruesi, në muaj, pas regjistrimit", @@ -294,7 +294,7 @@ "navigation_bar.discover": "Zbuloni", "navigation_bar.domain_blocks": "Përkatësi të bllokuara", "navigation_bar.edit_profile": "Përpunoni profilin", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Eksploroni", "navigation_bar.favourites": "Të parapëlqyer", "navigation_bar.filters": "Fjalë të heshtuara", "navigation_bar.follow_requests": "Kërkesa për ndjekje", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index f7eddd11b..f8477e8fd 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -128,7 +128,7 @@ "confirmations.logout.confirm": "ออกจากระบบ", "confirmations.logout.message": "คุณแน่ใจหรือไม่ว่าต้องการออกจากระบบ?", "confirmations.mute.confirm": "ซ่อน", - "confirmations.mute.explanation": "นี่จะซ่อนโพสต์จากเขาและโพสต์ที่กล่าวถึงเขา แต่จะยังอนุญาตให้เขาเห็นโพสต์ของคุณและติดตามคุณ", + "confirmations.mute.explanation": "นี่จะซ่อนโพสต์จากเขาและโพสต์ที่กล่าวถึงเขา แต่จะยังคงอนุญาตให้เขาเห็นโพสต์ของคุณและติดตามคุณ", "confirmations.mute.message": "คุณแน่ใจหรือไม่ว่าต้องการซ่อน {name}?", "confirmations.redraft.confirm": "ลบแล้วร่างใหม่", "confirmations.redraft.message": "คุณแน่ใจหรือไม่ว่าต้องการลบโพสต์นี้แล้วร่างโพสต์ใหม่? รายการโปรดและการดันจะหายไป และการตอบกลับโพสต์ดั้งเดิมจะไม่มีความเกี่ยวพัน", @@ -403,7 +403,7 @@ "report.forward": "ส่งต่อไปยัง {target}", "report.forward_hint": "บัญชีมาจากเซิร์ฟเวอร์อื่น ส่งสำเนาของรายงานที่ไม่ระบุตัวตนไปที่นั่นด้วย?", "report.mute": "ซ่อน", - "report.mute_explanation": "คุณจะไม่เห็นโพสต์ของเขา เขายังสามารถติดตามคุณและเห็นโพสต์ของคุณและจะไม่ทราบว่ามีการซ่อนเขา", + "report.mute_explanation": "คุณจะไม่เห็นโพสต์ของเขา เขายังคงสามารถติดตามคุณและเห็นโพสต์ของคุณและจะไม่ทราบว่ามีการซ่อนเขา", "report.next": "ถัดไป", "report.placeholder": "ความคิดเห็นเพิ่มเติม", "report.reasons.dislike": "ฉันไม่ชอบโพสต์", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 876f8aa8a..e2e1386e6 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -18,7 +18,7 @@ "account.followers": "Підписники", "account.followers.empty": "Ніхто ще не підписався на цього користувача.", "account.followers_counter": "{count, plural, one {{counter} Підписник} few {{counter} Підписники} many {{counter} Підписників} other {{counter} Підписники}}", - "account.following": "Following", + "account.following": "Стежите", "account.following_counter": "{count, plural, one {{counter} Підписка} few {{counter} Підписки} many {{counter} Підписок} other {{counter} Підписки}}", "account.follows.empty": "Цей користувач ще ні на кого не підписався.", "account.follows_you": "Підписаний(-а) на вас", @@ -402,7 +402,7 @@ "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Надіслати до {target}", "report.forward_hint": "Це акаунт з іншого серверу. Відправити анонімізовану копію скарги і туди?", - "report.mute": "Mute", + "report.mute": "Заглушити", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Далі", "report.placeholder": "Додаткові коментарі", @@ -415,8 +415,8 @@ "report.reasons.violation": "It violates server rules", "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.rules.title": "Які правила порушено?", + "report.statuses.subtitle": "Виберіть усі варіанти, що підходять", "report.statuses.title": "Are there any posts that back up this report?", "report.submit": "Відправити", "report.target": "Скаржимося на {target}", @@ -424,7 +424,7 @@ "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": "Відписатися від @{name}", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "search.placeholder": "Пошук", "search_popout.search_format": "Розширений формат пошуку", diff --git a/config/locales/activerecord.ku.yml b/config/locales/activerecord.ku.yml index 3a3a1d843..340b7a777 100644 --- a/config/locales/activerecord.ku.yml +++ b/config/locales/activerecord.ku.yml @@ -9,7 +9,7 @@ ku: agreement: Peymana karûbarê email: Navnîşana E-nameyê locale: Herêmî - password: Pêborîn + password: Borînpeyv user/account: username: Navê bikarhêneriyê user/invite_request: diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 4ccadab8b..ba66c5749 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -474,9 +474,6 @@ ar: delivery_error_days: أيام أخطاء التوصيل delivery_error_hint: إذا كان التوصيل غير ممكناً لـ%{count} يوم، فستوضع عليها علامة {غير قابلة للتسليم} تلقائياً. empty: لم يتم العثور على نطاقات. - known_accounts: - one: "%{count} حساب معروف" - other: "%{count} حسابات معروفة" moderation: all: كافتها limited: محدود diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 6c5fc95fe..d7a8a4858 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -168,7 +168,6 @@ ca: previous_strikes_description_html: one: Aquest compte té una acció. other: Aquest compte té %{count} accions. - zero: Aquest compte està al dia. promote: Promociona protocol: Protocol public: Públic @@ -530,7 +529,6 @@ ca: known_accounts: one: "%{count} compte conegut" other: "%{count} comptes coneguts" - zero: Cap compte conegut moderation: all: Totes limited: Limitades @@ -775,6 +773,11 @@ ca: system_checks: database_schema_check: message_html: Hi ha pendents migracions de la base de dades. Si us plau executa-les per a assegurar que l'aplicació es comporta com s'espera + elasticsearch_running_check: + message_html: No s'ha pogut connectar a Elasticsearch. Si us plau verifica que estigui funcionant o desactiva la cerca de text complet + elasticsearch_version_check: + message_html: 'Versió incompatible de Elasticsearch: %{value}' + version_comparison: Elasticsearch %{running_version} està funcionant mentre %{required_version} és requerida rules_check: action: Gestiona les normes del servidor message_html: No has definit cap norma del servidor. @@ -795,9 +798,8 @@ ca: disallow: No permetre l'enllaç disallow_provider: No permetre el mitjà shared_by_over_week: - one: Compartit per un usuari en la darrera setmana - other: Compartit per %{count} usuaris en la darrera setmana - zero: Compartit per ningú en la darrera setmana + one: Compartit per una persona en la darrera setmana + other: Compartit per %{count} persones en la darrera setmana title: Enllaços en tendència usage_comparison: Compartit %{today} vegades avui, comparat amb %{yesterday} d'ahir pending_review: Revisió pendent @@ -838,9 +840,8 @@ ca: usable: Pot ser emprat usage_comparison: Usat %{today} vegades avui, comparat amb %{yesterday} d'ahir used_by_over_week: - one: Emprat per un usuari en la darrera setmana - other: Emprat per %{count} usuaris en la darrera setmana - zero: Emprat per ningú en la darrera setmana + one: Emprat per una persona en la darrera setmana + other: Emprat per %{count} persones en la darrera setmana title: Tendència warning_presets: add_new: Afegir-ne un de nou diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 8eda24b4f..107aa9a0b 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -168,6 +168,11 @@ cs: not_subscribed: Neodebírá pending: Čeká na posouzení perform_full_suspension: Pozastavit + previous_strikes_description_html: + few: Tento účet má %{count} strajky. + many: Tento účet má %{count} strajků. + one: Tento účet má jeden strajk. + other: Tento účet má %{count} strajků. promote: Povýšit protocol: Protokol public: Veřejný @@ -366,6 +371,7 @@ cs: enable: Povolit enabled: Povoleno enabled_msg: Emoji bylo úspěšně povoleno + image_hint: PNG nebo GIF do %{size} list: Uvést listed: Uvedeno new: @@ -446,6 +452,8 @@ cs: title: Doporučená sledování unsuppress: Obnovit doporučení sledování instances: + availability: + warning: Poslední pokus o připojení k tomuto serveru byl neúspěšný back_to_all: Vše back_to_limited: Omezený back_to_warning: Varování @@ -527,12 +535,15 @@ cs: one: "%{count} poznámka" other: "%{count} poznámek" action_taken_by: Akci vykonal uživatel - are_you_sure: Opravu? + are_you_sure: Jste si jisti? assign_to_self: Přidělit ke mně assigned: Přiřazený moderátor by_target_domain: Doména nahlášeného účtu + category: Kategorie + category_description_html: Důvod nahlášení tohoto účtu a/nebo obsahu bude uveden v komunikaci s nahlášeným účtem comment: none: Žádné + comment_description_html: 'Pro upřesnění uživatel %{name} napsal:' created_at: Nahlášené forwarded: Přeposláno forwarded_to: Přeposláno na %{domain} @@ -544,13 +555,19 @@ cs: create_and_unresolve: Znovu otevřít s poznámkou delete: Smazat placeholder: Popište, jaké akce byly vykonány, nebo jakékoliv jiné související aktuality… + title: Poznámky + notes_description_html: Zobrazit a zanechat poznámky pro ostatní moderátory i sebe v budoucnu + remote_user_placeholder: vzdálený uživatel z %{instance} reopen: Znovu otevřít hlášení report: 'Nahlásit #%{id}' reported_account: Nahlášený účet reported_by: Nahlášeno uživatelem resolved: Vyřešeno resolved_msg: Hlášení úspěšně vyřešeno! + skip_to_actions: Přeskočit k akcím status: Stav + statuses: Nahlášený obsah + statuses_description_html: Obsah porušující pravidla bude uveden v komunikaci s nahlášeným účtem target_origin: Původ nahlášeného účtu title: Hlášení unassign: Odebrat @@ -666,6 +683,11 @@ cs: system_checks: database_schema_check: message_html: Na spuštění čekají databázové migrace. Nechte je prosím proběhnout pro zajištění očekávaného chování aplikace + elasticsearch_running_check: + message_html: Nelze se připojit k Elasticsearch. Prosím zkontrolujte, že běží, nebo vypněte fulltextové vyhledávání + elasticsearch_version_check: + message_html: 'Nekompatibilní verze Elasticsearch: %{value}' + version_comparison: Je spuštěn Elasticsearch %{running_version} místo vyžadovaného %{required_version} rules_check: action: Spravovat pravidla serveru message_html: Nedefinovali jste žádná pravidla serveru. @@ -1041,6 +1063,9 @@ cs: carry_mutes_over_text: Tento účet se přesunul z %{acct}, který jste skryli. copy_account_note_text: 'Tento účet se přesunul z %{acct}, zde byly Vaše předchozí poznámky o něm:' notification_mailer: + admin: + sign_up: + subject: Uživatel %{name} se zaregistroval digest: action: Zobrazit všechna oznámení body: Zde najdete stručný souhrn zpráv, které jste zmeškali od vaší poslední návštěvy %{since} @@ -1082,6 +1107,8 @@ cs: title: Nový boost status: subject: Nový příspěvek od %{name} + update: + subject: Uživatel %{name} upravil příspěvek notifications: email_events: Události pro e-mailová oznámení email_events_hint: 'Vyberte události, pro které chcete dostávat oznámení:' @@ -1163,6 +1190,9 @@ cs: reply: proceed: Pokračovat k odpovědi prompt: 'Chcete odpovědět na tento příspěvek:' + reports: + errors: + invalid_rules: neodkazuje na platná pravidla scheduled_statuses: over_daily_limit: Překročili jste limit %{limit} příspěvků naplánovaných na tento den over_total_limit: Překročili jste limit %{limit} naplánovaných příspěvků @@ -1251,6 +1281,7 @@ cs: other: "%{count} videí" boosted_from_html: Boostnuto z %{acct_link} content_warning: 'Varování o obsahu: %{warning}' + default_language: Stejný jako jazyk rozhraní disallowed_hashtags: few: 'obsahoval nepovolené hashtagy: %{tags}' many: 'obsahoval nepovolené hashtagy: %{tags}' @@ -1450,6 +1481,8 @@ cs: subject: Potvrďte prosím pokus o přihlášení title: Pokus o přihlášení warning: + explanation: + delete_statuses: Bylo shledáno, že některé vaše příspěvky porušují jednu nebo více zásad komunity a následně byly odstraněny moderátory %{instance}. subject: disable: Váš účet %{acct} byl zmrazen none: Varování pro %{acct} diff --git a/config/locales/da.yml b/config/locales/da.yml index b264dffae..d3182ad7f 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -166,9 +166,8 @@ da: perform_full_suspension: Suspendér previous_strikes: Tidligere anmeldelser (strikes) previous_strikes_description_html: - one: Denne konto har et anmeldelse. + one: Denne konto har en anmeldelse. other: Denne konto har %{count} anmeldelser. - zero: Denne konto er på god fod. promote: Forfrem protocol: Protokol public: Offentlig @@ -530,7 +529,6 @@ da: known_accounts: one: "%{count} kendt konto" other: "%{count} kendte konti" - zero: Ingen kendt konto moderation: all: Alle limited: Begrænset @@ -775,6 +773,11 @@ da: system_checks: database_schema_check: message_html: Databasemigreringer afventer. Kør dem for at sikre den forventede adfærd fra applikationen + elasticsearch_running_check: + message_html: Kunne ikke oprette forbindelse til Elasticsearch. Tjek, at den kører, eller deaktivér fuldtekstsøgning + elasticsearch_version_check: + message_html: 'Inkompatibel Elasticsearch-version: %{value}' + version_comparison: Elasticsearch %{running_version} kører, men %{required_version} kræves rules_check: action: Håndtér serverregler message_html: Ingen serverregler defineret. @@ -795,9 +798,8 @@ da: disallow: Tillad ikke link disallow_provider: Tillad ikke udgiver shared_by_over_week: - one: Delt af én person i løbet af den seneste uge - other: Delt af %{count} personer i løbet af den seneste uge - zero: Ikke delt af nogen i løbet af den seneste uge + one: Delt af én person den seneste uge + other: Delt af %{count} personer den seneste uge title: Populære links usage_comparison: Delt %{today} gange i dag, sammenlignet med %{yesterday} i går pending_review: Afventer revision @@ -838,9 +840,8 @@ da: usable: Kan anvendes usage_comparison: Anvendt %{today} gange i dag, sammenlignet med %{yesterday} i går used_by_over_week: - one: Anvendt af én person i løbet af den seneste uge - other: Anvendt af %{count} personer i løbet af den seneste uge - zero: Ikke anvendt af nogen i løbet af den seneste uge + one: Brugt af én person den seneste uge + other: Brugt af %{count} personer den seneste uge title: Trends warning_presets: add_new: Tilføj ny diff --git a/config/locales/de.yml b/config/locales/de.yml index d595fdd42..78ba2c440 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -165,10 +165,6 @@ de: pending: In Warteschlange perform_full_suspension: Verbannen previous_strikes: Vorherige Strikes - previous_strikes_description_html: - one: Dieses Konto hat einen Strike. - other: Dieses Konto hat %{count} Strikes. - zero: Dieses Konto ist in gutem Stand. promote: Befördern protocol: Protokoll public: Öffentlich @@ -527,10 +523,6 @@ de: delivery_error_hint: Wenn eine Lieferung für %{count} Tage nicht möglich ist, wird sie automatisch als nicht lieferbar markiert. destroyed_msg: Daten von %{domain} sind nun in der Warteschlange für die bevorstehende Löschung. empty: Keine Domains gefunden. - known_accounts: - one: "%{count} bekanntes Konto" - other: "%{count} bekannte Konten" - zero: Kein bekanntes Konto moderation: all: Alle limited: Beschränkt @@ -794,10 +786,6 @@ de: description_html: Dies sind Links, die derzeit von Konten geteilt werden, von denen dein Server Beiträge sieht. Es kann deinen Benutzern helfen, herauszufinden, was in der Welt vor sich geht. Es werden keine Links öffentlich angezeigt, bis du den Publisher genehmigst. Du kannst auch einzelne Links zulassen oder ablehnen. disallow: Verbiete Link disallow_provider: Verbiete Herausgeber - shared_by_over_week: - one: In der letzten Woche geteilt von einer Person - other: In der letzten Woche geteilt von %{count} Personen - zero: Geteilt von niemandem in der letzten Woche title: Angesagte Links usage_comparison: Heute %{today} mal geteilt, gestern %{yesterday} mal pending_review: Überprüfung ausstehend @@ -837,10 +825,6 @@ de: trending_rank: 'Trend #%{rank}' usable: Kann verwendet werden usage_comparison: Heute %{today} mal genutzt, gestern %{yesterday} mal - used_by_over_week: - one: In der letzten Woche genutzt von einer Person - other: In der letzten Woche genutzt von %{count} Personen - zero: Genutzt von niemandem in der letzten Woche title: Trends warning_presets: add_new: Neu hinzufügen diff --git a/config/locales/devise.ku.yml b/config/locales/devise.ku.yml index 9ae76dab2..18187a156 100644 --- a/config/locales/devise.ku.yml +++ b/config/locales/devise.ku.yml @@ -8,10 +8,10 @@ ku: failure: already_authenticated: Jixwe te berê têketin kiriye. inactive: Ajimêra te hîn nehatiye çalakkirin. - invalid: Nederbasdar %{authentication_keys} an jî şîfre. + invalid: "%{authentication_keys} an jî borînpeyv nederbasdar e." last_attempt: Peşiya kilît kirina ajimêra te carek din jî biceribîne. locked: Ajimêra ye hat kilît kirin. - not_found_in_database: Nederbasdar %{authentication_keys} an jî şîfre. + not_found_in_database: "%{authentication_keys} an jî borînpeyv nederbasdar e." pending: Ajimêra te hîn tê vekolandin. timeout: Danişîna te qedîya. Ji kerema xwe ji bo berdewamiyê dîsa têkeve. unauthenticated: Peşiya berdewamiya te têketina xwe bike an jî xwe tomar bike. @@ -33,10 +33,10 @@ ku: subject: 'Mastodon: E-name hate guhertin' title: Navnîşana e-nameya nû password_change: - explanation: Pêborîna ajimêra te hate guhertin. + explanation: Borînpeyva ajimêra te hate guhertin. extra: Heke te ajimêra xwe ne guhertiye. Ew tê wateya ku kesek ketiye ajimêrê te. Jkx pêborîna xwe zû biguherîne an jî bi rêveberiya rajekar re têkeve têkiliyê heke tu êdî nikare ajimêra xwe bi kar bînî. subject: 'Mastodon: pêborîn hate guhertin' - title: Pêborîn hate guhertin + title: Borînpeyv hate guhertin reconfirmation_instructions: explanation: Navnîşana nû piştrast bike da ku tu e-nameya xwe biguherînî. extra: |- @@ -45,13 +45,13 @@ ku: subject: 'Mastodon: E-nameyê piştrast bike bo %{instance}' title: Navnîşana e-nameyê piştrast bike reset_password_instructions: - action: Pêborînê biguherîne + action: Borînpeyvê biguherîne explanation: Te ji bo ajimêra xwe daxwaza pêborîneke nû kiriye. - extra: Heke te ev daxwaz nekir, jkx guh nede vê e-nameyê. Pêborîna te wê neyê guhertin heya ku tu li girêdana Jêrin bitikînî û yeka nû çê bikî. + extra: Heke te ev daxwaz nekir, jkx guh nede vê e-nameyê. Borînpeyva te wê neyê guhertin heya ku tu li girêdana Jêrin bitikînî û yeka nû çê bikî. subject: 'Mastodon: rêwerzên jê birina pêborîn' - title: Pêborîn ji nû ve saz bike + title: Borînpeyv ji nû ve saz bike two_factor_disabled: - explanation: Ji bo ajimêrê te piştrastkirina du-faktorî hat asteng kirin. Niha tu tenê bi navnîşana e-name û şîfre ya xwe dikarî têketin bikî. + explanation: Ji bo ajimêrê te piştrastkirina du-faktorî hat asteng kirin. Niha tu tenê bi navnîşana e-name û borînpeyva xwe dikarî têketinê bikî. subject: 'Mastodon: piştrastkirina du- faktorî neçalak bike' title: 2FA Neçalak e two_factor_enabled: @@ -85,11 +85,11 @@ ku: failure: Nikare ji %{kind} rastandinê bikê ji bo " %{reason}". success: Ji ajimêra %{kind} bi serkeftî hate rastandin. passwords: - no_token: Tu nikarî xwe bigihînî vê rûpelê bêyî ku tu ji e-nameya ji nû ve sazkirina pêborînê wernegerî. Heke tu ji e-nameya ji nû ve sazkirina pêborînê tê, ji kerema xwe pê ewle be ku tu girêdanê ya tevahî bi kar tînî. - send_instructions: Heke navnîşana te ya e-nameyê di danegeha me da hebê, tu yê di navnîşana xwe ya e-nameyê da girêdana rizgarkirina pêborînê bistînî. Heke te ev e-name wernegirtibe, ji kerema xwe peldanka xwe ya spamê kontrol bike. - send_paranoid_instructions: Heke navnîşana te ya e-nameyê di danegeha me da hebê, tu yê di navnîşana xwe ya e-nameyê da girêdana rizgarkirina pêborînê bistînî di hundir çend xulkan de. Heke te ev e-name wernegirtibe, ji kerema xwe peldanka xwe ya spamê kontrol bike. - updated: Pêborîna te bi serkeftî hate guhertin. Niha tu têketî ye. - updated_not_active: Pêborîna te bi serkeftî hate guhertin. + no_token: Tu nikarî xwe bigihînî vê rûpelê bêyî ku tu ji e-nameya ji nû ve sazkirina borînpeyvê wernegerî. Heke tu ji e-nameya ji nû ve sazkirina borînpeyvê tê, ji kerema xwe pê ewle be ku tu girêdanê ya tevahî bi kar tînî. + send_instructions: Heke navnîşana te ya e-nameyê di danegeha me da hebê, tu yê di navnîşana xwe ya e-nameyê da girêdana rizgarkirina borînpeyvê bistînî. Heke te ev e-name wernegirtibe, ji kerema xwe peldanka xwe ya spamê kontrol bike. + send_paranoid_instructions: Heke navnîşana te ya e-nameyê di danegeha me da hebê, tu yê di navnîşana xwe ya e-nameyê da girêdana rizgarkirina borînpeyvê bistînî di hundir çend xulkan de. Heke te ev e-name wernegirtibe, ji kerema xwe peldanka xwe ya spamê kontrol bike. + updated: Borînpeyva te bi serkeftî hate guhertin. Niha tu têketî ye. + updated_not_active: Borînpeyva te bi serkeftî hate guhertin. registrations: destroyed: Xatirê te! Ajimêra te bi serkeftî hate pûçkirin. Em hêvî dikin ku tu di nêzîk de te dîsa bibînin. signed_up: Bi xêr hatî! Te bi serkeftî tomarkirin kir. diff --git a/config/locales/devise.th.yml b/config/locales/devise.th.yml index 14f99f2c3..287ea49c5 100644 --- a/config/locales/devise.th.yml +++ b/config/locales/devise.th.yml @@ -12,7 +12,7 @@ th: last_attempt: คุณลองได้อีกหนึ่งครั้งก่อนที่บัญชีของคุณจะถูกล็อค locked: บัญชีของคุณถูกล็อค not_found_in_database: "%{authentication_keys} หรือรหัสผ่านไม่ถูกต้อง" - pending: บัญชีของคุณยังอยู่ระหว่างการตรวจทาน + pending: บัญชีของคุณยังคงอยู่ระหว่างการตรวจทาน timeout: เซสชันของคุณหมดอายุแล้ว โปรดลงชื่อเข้าอีกครั้งเพื่อดำเนินการต่อ unauthenticated: คุณจำเป็นต้องลงชื่อเข้าหรือลงทะเบียนก่อนดำเนินการต่อ unconfirmed: คุณต้องยืนยันที่อยู่อีเมลของคุณก่อนดำเนินการต่อ diff --git a/config/locales/doorkeeper.fa.yml b/config/locales/doorkeeper.fa.yml index cc479fbc1..9f455e64b 100644 --- a/config/locales/doorkeeper.fa.yml +++ b/config/locales/doorkeeper.fa.yml @@ -29,7 +29,7 @@ fa: edit: title: ویرایش برنامه form: - error: اوخ! ببینید چیزی را اشتباهی در فرم وارد نکرده‌اید؟ + error: اوخ! ببینید چیزی را اشتباهی در فرم وارد نکرده‌اید help: native_redirect_uri: برای آزمایش‌های محلی %{native_redirect_uri} را به کار ببرید redirect_uri: هر URI را در یک سطر جدا بنویسید @@ -60,6 +60,7 @@ fa: error: title: خطایی رخ داد new: + review_permissions: بازبینی اجازه‌ها title: نیاز به اجازه دادن show: title: این کد مجوز را کپی کرده و در برنامه وارد کنید. @@ -69,6 +70,7 @@ fa: confirmations: revoke: آیا مطمئن هستید؟ index: + scopes: اجازه‌ها title: برنامه‌های مجاز errors: messages: @@ -104,6 +106,29 @@ fa: authorized_applications: destroy: notice: برنامه فسخ شد. + grouped_scopes: + access: + read: فقط دسترسی خواندن + read/write: دسترسی خواندن و نوشتن + write: فقط دسترسی نوشتن + title: + accounts: حساب‌ها + all: همه چیز + blocks: مسدودها + bookmarks: نشانک‌ها + conversations: گفت‌وگوها + crypto: رمزگذاری سرتاسری + favourites: پسندیده‌ها + filters: پالایه‌ها + follows: پی‌گرفتگان + lists: سیاهه‌ها + media: پیوست‌های رسانه‌ای + mutes: خموش‌ها + notifications: آگاهی‌ها + push: آگاهی‌های ارسالی + reports: گزارش‌ها + search: جست‌وجو + statuses: فرسته‌ها layouts: admin: nav: @@ -118,11 +143,12 @@ fa: admin:write: تغییر تمام داده‌ها روی کارساز admin:write:accounts: انجام کنش مدیریتی روی حساب‌ها admin:write:reports: انجام کنش مدیریتی روی گزارش‌ها + crypto: از رمزگذاری سرتاسر استفاده کنید follow: پیگیری، مسدودسازی، لغو مسدودسازی، و لغو پیگیری حساب‌ها push: دریافت آگاهی‌ای ارسالیتان read: خواندن اطلاعات حساب شما read:accounts: دیدن اطّلاعات حساب - read:blocks: دیدن انسدادهایتان + read:blocks: دیدن مسدودهایتان read:bookmarks: دیدن نشانک‌هایتان read:favourites: دیدن برگزیده‌هایتان read:filters: دیدن پالایه‌هایتان @@ -137,6 +163,7 @@ fa: write:accounts: تغییر نمایه‌تان write:blocks: انسداد حساب‌ها و دامنه‌ها write:bookmarks: نشانک‌گذاری وضعیت‌ها + write:conversations: مکالمات را بی‌صدا و حذف کنید write:favourites: برگزیدن وضعیت‌ها write:filters: ایحاد پالایش‌ها write:follows: پی‌گیری افراد diff --git a/config/locales/doorkeeper.gd.yml b/config/locales/doorkeeper.gd.yml index 217dca738..c5a830fc7 100644 --- a/config/locales/doorkeeper.gd.yml +++ b/config/locales/doorkeeper.gd.yml @@ -60,6 +60,8 @@ gd: error: title: Thachair mearachd new: + prompt_html: Bu mhiann le %{client_name} cead gus an cunntas agad inntrigeadh. Seo aplacaid threas-phàrtaidh. Mur eil earbsa agad ann, na ùghdarraich e. + review_permissions: Thoir sùil air na ceadan title: Tha feum air ùghdarrachadh show: title: Dèan lethbhreac dhen chòd ùghdarrachaidh seo ’s cuir san aplacaid e. @@ -69,6 +71,12 @@ gd: confirmations: revoke: A bheil thu cinnteach? index: + authorized_at: Air ùghdarrachadh %{date} + description_html: Seo na h-aplacaidean as urrainn dhaibh an cunntas agad inntrigeadh leis an API. Ma tha aplacaid an-seo nach aithne dhut no ma tha droch-ghiùlan air aplacaid, ’s urrainn dhut an t-inntrigeadh aice a chùl-ghairm. + last_used_at: Air a chleachdadh %{date} an turas mu dheireadh + never_used: Cha deach a chleachdadh a-riamh + scopes: Ceadan + superapp: Inntearnail title: Na h-aplacaidean ùghdarraichte agad errors: messages: @@ -104,6 +112,33 @@ gd: authorized_applications: destroy: notice: Chaidh an t-iarrtas a chùl-ghairm. + grouped_scopes: + access: + read: Inntrigeadh leughaidh a-mhàin + read/write: Inntrigeadh leughaidh is sgrìobhaidh + write: Inntrigeadh sgrìobhaidh a-mhàin + title: + accounts: Cunntasan + admin/accounts: Rianachd nan cunntas + admin/all: Gach gleus na rianachd + admin/reports: Rianachd nan gearan + all: A h-uile rud + blocks: Bacaidhean + bookmarks: Comharran-lìn + conversations: Còmhraidhean + crypto: Crioptachadh o cheann gu ceann + favourites: Annsachdan + filters: Criathragan + follow: Dàimhean + follows: Leantainn + lists: Liostaichean + media: Ceanglachain mheadhanan + mutes: Mùchaidhean + notifications: Brathan + push: Brathan putaidh + reports: Gearanan + search: Lorg + statuses: Postaichean layouts: admin: nav: @@ -118,6 +153,7 @@ gd: admin:write: dàta sam bith atharrachadh air an fhrithealaiche admin:write:accounts: gnìomhan na maorsainneachd a ghabhail air cunntasan admin:write:reports: gnìomhan na maorsainneachd a ghabhail air gearanan + crypto: crioptachadh o cheann gu ceann a chleachdadh follow: dàimhean chunntasan atharrachadh push: na brathan putaidh agad fhaighinn read: dàta sam bith a’ cunntais agad a leughadh @@ -137,6 +173,7 @@ gd: write:accounts: a’ phròifil agad atharrachadh write:blocks: cunntasan is àrainnean a bhacadh write:bookmarks: comharran-lìn a dhèanamh de phostaichean + write:conversations: còmhraidhean a mhùchadh is a sguabadh às write:favourites: postaichean a chur ris na h-annsachdan write:filters: criathragan a chruthachadh write:follows: leantainn air daoine diff --git a/config/locales/doorkeeper.ku.yml b/config/locales/doorkeeper.ku.yml index 6db8bb73d..f92a228d1 100644 --- a/config/locales/doorkeeper.ku.yml +++ b/config/locales/doorkeeper.ku.yml @@ -31,7 +31,7 @@ ku: form: error: Wey li min! kontrol bikeku form çewtî tê de tune help: - native_redirect_uri: Bo testên herêmî %{native_redirect_uri} bikar bîne + native_redirect_uri: Bo testên herêmî %{native_redirect_uri} bi kar bîne redirect_uri: Serê URl de rêzek bikarbînin scopes: Berfirehî bi valahîyan re veqetîne. Bo bikaranîna berfirehî ya standard vala bihêle. index: @@ -81,7 +81,7 @@ ku: errors: messages: access_denied: Xwedîyê çavkanîyê an jî destûrmendê rajeker daxwazî red kirin. - credential_flow_not_configured: Herikîna pêborînê bawername ya xwediyê çavkaniyê, ji ber Doorkeeper.configure.resource_owner_from_credentials nehat pevsazkirin. + credential_flow_not_configured: Herikîna borînpeyvê bawername ya xwediyê çavkaniyê, ji ber Doorkeeper.configure.resource_owner_from_credentials nehat pevsazkirin. invalid_client: Erêkirina nasnameyê rajegir ji ber rajegirê nediyar têk çû, erêkirina nasnameyê rajegir di nav da tinne an jî rêbaza erêkirinê ne piştgirêdayî ye. invalid_grant: Mafê ku hatiye peyda kirin ne derbasdar e, qediya ye, pûç e, girêdana ya ku di daxwaza mafê de tê bikaranîn li hev nagire an jî rajegirekî din hildaye. invalid_redirect_uri: Girêdan beralîkirî ya di nav da ne derbasdar e. diff --git a/config/locales/doorkeeper.pt-BR.yml b/config/locales/doorkeeper.pt-BR.yml index 7c77af88b..93cd0c55a 100644 --- a/config/locales/doorkeeper.pt-BR.yml +++ b/config/locales/doorkeeper.pt-BR.yml @@ -113,6 +113,7 @@ pt-BR: accounts: Contas all: Tudo blocks: Blocos + bookmarks: Salvos conversations: Conversas crypto: Criptografia de ponta a ponta favourites: Favoritos diff --git a/config/locales/doorkeeper.uk.yml b/config/locales/doorkeeper.uk.yml index 7d522497d..e9000cf46 100644 --- a/config/locales/doorkeeper.uk.yml +++ b/config/locales/doorkeeper.uk.yml @@ -60,6 +60,7 @@ uk: error: title: Сталася помилка new: + review_permissions: Переглянути дозволи title: Необхідна авторизація show: title: Скопіюйте цей код авторизації та вставте його у додаток. @@ -69,8 +70,11 @@ uk: confirmations: revoke: Ви впевнені? index: + authorized_at: Авторизовано %{date} + last_used_at: Востаннє використано %{date} never_used: Ніколи не використовувалися scopes: Дозволи + superapp: Внутрішній title: Ваші авторизовані додатки errors: messages: @@ -107,17 +111,27 @@ uk: destroy: notice: Авторизацію додатка відкликано. grouped_scopes: + access: + read: Доступ без права внесення змін + read/write: Доступ до читання і запису + write: Доступ лише для запису title: accounts: Облікові записи + admin/accounts: Адміністрація облікових записів + admin/all: Усі адміністративні функції admin/reports: Адміністрація звітів all: Усе blocks: Блокування bookmarks: Закладки conversations: Бесіди crypto: Наскрізне шифрування + favourites: Вподобане filters: Фільтри + follow: Взаємозв'язки + follows: Підписки lists: Списки media: Мультимедійні вкладення + mutes: Заглушені notifications: Сповіщення push: Push-сповіщення reports: Скарги @@ -157,6 +171,7 @@ uk: write:accounts: змінювати ваш профіль write:blocks: блокувати облікові записи і домени write:bookmarks: додавати пости в закладки + write:conversations: заглушити і видалити розмови write:favourites: вподобані статуси write:filters: створювати фільтри write:follows: підписуйтесь на людей diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index 2acc958a7..36b46eb47 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -168,7 +168,6 @@ es-AR: previous_strikes_description_html: one: Esta cuenta tiene un incumplimiento. other: Esta cuenta tiene %{count} incumplimientos. - zero: Esta cuenta está en buen estado. promote: Promover protocol: Protocolo public: Pública @@ -530,7 +529,6 @@ es-AR: known_accounts: one: "%{count} cuenta conocida" other: "%{count} cuentas conocidas" - zero: Ninguna cuenta conocida moderation: all: Todas limited: Limitadas @@ -775,6 +773,11 @@ es-AR: system_checks: database_schema_check: message_html: Hay migraciones pendientes de la base de datos. Por favor, ejecutalas para asegurarte de que la aplicación funciona según lo esperado + elasticsearch_running_check: + message_html: No se pudo conectar a Elasticsearch. Por favor, revisá que se esté ejecutando, o deshabilitá la búsqueda de texto completo + elasticsearch_version_check: + message_html: 'Versión incompatible de Elasticsearch: %{value}' + version_comparison: Se está ejecutando la versión %{running_version} de Elasticsearch, mientras que la versión requerida es la %{required_version} rules_check: action: Administrar reglas del servidor message_html: No definiste ninguna regla del servidor. @@ -795,9 +798,8 @@ es-AR: disallow: Rechazar enlace disallow_provider: Rechazar medio shared_by_over_week: - one: Compartido por una persona en la última semana - other: Compartido por %{count} personas en la última semana - zero: Compartido por nadie en la última semana + one: Compartido por una persona durante la última semana + other: Compartido por %{count} personas durante la última semana title: Enlaces en tendencia usage_comparison: Compartido %{today} veces hoy, comparado con la/s %{yesterday} vez/veces de ayer pending_review: Revisión pendiente @@ -838,9 +840,8 @@ es-AR: usable: Pueden usarse usage_comparison: Usadas %{today} veces hoy, comparado con la/s %{yesterday} vez/veces de ayer used_by_over_week: - one: Usada por una persona en la última semana - other: Usada por %{count} personas en la última semana - zero: Usada por nadie en la última semana + one: Usada por una persona durante la última semana + other: Usada por %{count} personas durante la última semana title: Tendencias warning_presets: add_new: Agregar nuevo diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index da321d7ee..17af40f2c 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -165,10 +165,6 @@ es-MX: pending: Revisión pendiente perform_full_suspension: Suspender previous_strikes: Amonestaciones anteriores - previous_strikes_description_html: - one: Esta cuenta tiene una amonestación. - other: Esta cuenta tiene %{count} amonestaciones. - zero: Esta cuenta está en buen estado. promote: Promocionar protocol: Protocolo public: Público @@ -490,6 +486,7 @@ es-MX: other: Intentos fallidos en %{count} días diferentes. no_failures_recorded: No hay fallos en el registro. title: Disponibilidad + warning: El último intento de conexión a este servidor no ha tenido éxito back_to_all: Todos back_to_limited: Limitados back_to_warning: Advertencia @@ -526,10 +523,6 @@ es-MX: delivery_error_hint: Si la entrega no es posible a lo largo de %{count} días, se marcará automáticamente como no entregable. destroyed_msg: Los datos de %{domain} están ahora en cola para su inminente eliminación. empty: No se encontraron dominios. - known_accounts: - one: "%{count} cuenta conocida" - other: "%{count} cuentas conocidas" - zero: Ninguna cuenta conocida moderation: all: Todos limited: Limitado @@ -774,6 +767,11 @@ es-MX: system_checks: database_schema_check: message_html: Hay migraciones pendientes de la base de datos. Por favor, ejecútalas para asegurarte de que la aplicación funciona como debería + elasticsearch_running_check: + message_html: No se pudo conectar a Elasticsearch. Por favor, comprueba que está ejecutándose, o desactiva la búsqueda de texto completo + elasticsearch_version_check: + message_html: 'Versión incompatible de Elasticsearch: %{value}' + version_comparison: Elasticsearch %{running_version} se está ejecutando pero se necesita Elasticsearch %{required_version} rules_check: action: Administrar reglas del servidor message_html: No ha definido ninguna regla del servidor. @@ -793,10 +791,6 @@ es-MX: description_html: Estos son enlaces que actualmente están siendo compartidos mucho por las cuentas desde las que tu servidor ve los mensajes. Pueden ayudar a tus usuarios a averiguar qué está pasando en el mundo. Ningún enlace se muestren públicamente hasta que autorice al dominio. También puede permitir o rechazar enlaces individuales. disallow: Rechazar enlace disallow_provider: Rechazar editor - shared_by_over_week: - one: Compartido por una persona en la última semana - other: Compartido por %{count} personas durante la última semana - zero: Compartido por nadie en la última semana title: Enlaces en tendencia usage_comparison: Compartido %{today} veces hoy, comparado a %{yesterday} ayer pending_review: Revisión pendiente @@ -836,10 +830,6 @@ es-MX: trending_rank: Tendencia n.º %{rank} usable: Pueden usarse usage_comparison: Usada %{today} veces hoy, comparado con %{yesterday} ayer - used_by_over_week: - one: Usada por una persona durante la última semana - other: Usada por %{count} personas durante la última semana - zero: Usada por nadie en la última semana title: Tendencias warning_presets: add_new: Añadir nuevo diff --git a/config/locales/es.yml b/config/locales/es.yml index 31970da48..2ac09ea44 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -168,7 +168,6 @@ es: previous_strikes_description_html: one: Esta cuenta tiene una amonestación. other: Esta cuenta tiene %{count} amonestaciones. - zero: Esta cuenta está en buen estado. promote: Promocionar protocol: Protocolo public: Público @@ -530,7 +529,6 @@ es: known_accounts: one: "%{count} cuenta conocida" other: "%{count} cuentas conocidas" - zero: Ninguna cuenta conocida moderation: all: Todos limited: Limitado @@ -775,6 +773,11 @@ es: system_checks: database_schema_check: message_html: Hay migraciones pendientes de la base de datos. Por favor, ejecútalas para asegurarte de que la aplicación funciona como debería + elasticsearch_running_check: + message_html: No se pudo conectar a Elasticsearch. Por favor, comprueba que está ejecutándose, o desactiva la búsqueda de texto completo + elasticsearch_version_check: + message_html: 'Versión incompatible de Elasticsearch: %{value}' + version_comparison: Elasticsearch %{running_version} se está ejecutando pero se necesita Elasticsearch %{required_version} rules_check: action: Administrar reglas del servidor message_html: No ha definido ninguna regla del servidor. @@ -795,9 +798,8 @@ es: disallow: Rechazar enlace disallow_provider: Rechazar medio shared_by_over_week: - one: Compartido por una persona en la última semana + one: Compartido por una persona durante la última semana other: Compartido por %{count} personas durante la última semana - zero: Compartido por nadie en la última semana title: Enlaces en tendencia usage_comparison: Compartido %{today} veces hoy, comparado con %{yesterday} ayer pending_review: Revisión pendiente @@ -840,7 +842,6 @@ es: used_by_over_week: one: Usada por una persona durante la última semana other: Usada por %{count} personas durante la última semana - zero: Usada por nadie en la última semana title: Tendencias warning_presets: add_new: Añadir nuevo diff --git a/config/locales/eu.yml b/config/locales/eu.yml index d6f49058e..a41a77baf 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -163,10 +163,6 @@ eu: pending: Berrikusketa egiteke perform_full_suspension: Kanporatu previous_strikes: Aurreko abisuak - previous_strikes_description_html: - one: Kontu honek abisu bat dauka. - other: Kontu honek %{count} abisu dauzka. - zero: Kontu honek ez dauka abisurik. promote: Sustatu protocol: Protokoloa public: Publikoa @@ -497,10 +493,6 @@ eu: delivery_error_hint: Banaketa ezin bada %{count} egunean egin, banaezin bezala markatuko da automatikoki. destroyed_msg: "%{domain} domeinuko datuak berehala ezabatzeko ilaran daude orain." empty: Ez da domeinurik aurkitu. - known_accounts: - one: Kontu ezagun %{count} - other: "%{count} kontu ezagun" - zero: Kontu ezagunik ez moderation: all: Denak limited: Mugatua diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 1776505ba..2379e63da 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -16,6 +16,7 @@ fa: contact: تماس contact_missing: تنظیم نشده contact_unavailable: موجود نیست + continue_to_web: در کارهٔ وب ادامه دهید discover_users: یافتن کاربران documentation: مستندات federation_hint_html: با حسابی روی %{instance} می‌توانید افراد روی هر کارساز ماستودون و بیش از آن را پی بگیرید. @@ -25,6 +26,8 @@ fa: این حساب، بازیگری مجازی به نمایندگی خود کارساز بوده و کاربری واقعی نیست. این حساب برای مقاصد خودگردانی به کار می‌رفته و نباید مسدود شود؛ مگر این که بخواهید کل نمونه را مسدود کنید که در آن صورت نیز باید از انسداد دامنه استفاده کنید. learn_more: بیشتر بدانید + logged_in_as_html: شما هم‌اکنون به عنوان %{username} وارد شده‌اید. + logout_before_registering: شما هم‌اکنون وارد شده‌اید. privacy_policy: سیاست رازداری rules: قوانین کارساز rules_html: 'در زیر خلاصه‌ای از قوانینی که در صورت علاقه به داشتن حسابی روی این کارساز ماستودون، باید رعایت کنید آمده است:' @@ -75,10 +78,10 @@ fa: pin_errors: following: باید کاربری که می‌خواهید پیشنهاد دهید را دنبال کرده باشید posts: - one: بوق - other: بوق - posts_tab_heading: بوق‌ها - posts_with_replies: بوق‌ها و پاسخ‌ها + one: فرسته + other: فرسته‌ها + posts_tab_heading: فرسته‌ها + posts_with_replies: فرسته‌ها و پاسخ‌ها roles: admin: مدیر bot: ربات @@ -161,6 +164,7 @@ fa: not_subscribed: مشترک نیست pending: در انتظار بررسی perform_full_suspension: تعلیق + previous_strikes: اخطارهای پیشین promote: ترفیع‌دادن protocol: پروتکل public: عمومی @@ -202,8 +206,9 @@ fa: silence: خموشاندن silenced: خموشانده statuses: نوشته‌ها - strikes: اخطار های پیشین + strikes: اخطارهای پیشین subscribe: اشتراک + suspend: تعلیق suspended: تعلیق‌شده suspension_irreversible: داده‌های این حساب به صورت بی‌بازگشت حذف شد. می‌توانید برای قابل استفاده کردنش، آن را نامعلّق کنید، ولی این کار هیچ داده‌ای را که از پیش داده، برنخواهد گرداند. suspension_reversible_hint_html: حساب معلّق شد و داده‌ها به صورت کامل در %{date} برداشته خواهند شد. تا آن زمان، حساب می‌تواند بی هیچ عوارضی بازگردانده شود. اگر می‌خواهید فوراً همهٔ داده‌های حساب را بردارید، می‌توانید در پایین این کار را بکنید. @@ -224,6 +229,7 @@ fa: whitelisted: فهرست مجاز action_logs: action_types: + approve_appeal: پذیرش درخواست تجدیدنظر approve_user: تایید کاربر assigned_to_self_report: واگذاری گزارش change_email_user: تغییر رایانامه برای کاربر @@ -255,6 +261,7 @@ fa: enable_user: به کار انداختن کاربر memorialize_account: یادسپاری حساب promote_user: ترفیع کاربر + reject_appeal: رد کردن درخواست تجدیدنظر reject_user: رد کاربر remove_avatar_user: برداشتن تصویر نمایه reopen_report: بازگشایی گزارش @@ -273,6 +280,7 @@ fa: update_domain_block: به‌روزرسانی مسدودسازی دامنه update_status: به‌روز رسانی وضعیت actions: + approve_appeal_html: "%{name} درخواست تجدیدنظر تصمیم مدیر را از %{target} پذیرفت" approve_user_html: "%{name} ثبت نام %{target} را تایید کرد" assigned_to_self_report_html: "%{name} رسیدگی به گزارش %{target} را به عهده گرفت" change_email_user_html: "%{name} نشانی رایانامهٔ کاربر %{target} را عوض کرد" @@ -304,6 +312,7 @@ fa: enable_user_html: "%{name} ورود را برای کاربر %{target} فعال کرد" memorialize_account_html: "%{name} حساب %{target} را تبدیل به صفحهٔ یادمان کرد" promote_user_html: "%{name} کاربر %{target} را ترفیع داد" + reject_appeal_html: "%{name} درخواست تجدیدنظر تصمیم مدیر را از %{target} رد کرد" reject_user_html: "%{name} ثبت نام %{target} را رد کرد" remove_avatar_user_html: "%{name} تصویر نمایهٔ %{target} را حذف کرد" reopen_report_html: "%{name} گزارش %{target} را دوباره به جریان انداخت" @@ -381,6 +390,18 @@ fa: media_storage: ذخیره‌ساز رسانه new_users: کاربران جدید opened_reports: گزارش باز شده + pending_appeals_html: + one: "%{count} درخواست تجدیدنظر در انتظار" + other: "%{count} درخواست تجدیدنظر در انتظار" + pending_reports_html: + one: "%{count} گزارش در انتظار" + other: "%{count} گزارش در انتظار" + pending_tags_html: + one: "%{count} هشتگ در انتظار" + other: "%{count} هشتگ در انتظار" + pending_users_html: + one: "%{count} کاربر در انتظار" + other: "%{count} کاربر در انتظار" resolved_reports: گزارش حل شده software: نرم‌افزار sources: منابع ثبت‌نام @@ -389,6 +410,10 @@ fa: top_languages: زبان‌های فعّال‌تر top_servers: کاربران فعّال‌تر website: پایگاه وب + disputes: + appeals: + empty: هیچ درخواست تجدیدنظری یافت نشد + title: درخواست‌های تجدیدنظر domain_allows: add_new: مجاز کردن دامنه created_msg: دامنه با موفقیت مجاز شد @@ -497,11 +522,11 @@ fa: relays: add_new: افزودن رلهٔ تازه delete: حذف - description_html: یک رلهٔ میان‌سروری (federation relay) یک سرور میانجی است که حجم زیادی از بوق‌های عمومی را بین سرورهای گوناگونی که عضوش می‌شوند جابه‌جا می‌کند. رله‌ها به سرورهای کوچک و متوسط کمک می‌کنند تا مطالب عمومی بیشتری را بیابند. اگر رله نباشد، این مطالب عمومی تنها وقتی پیدا می‌شوند که کاربران محلی خودشان پیگیر کاربران روی سرورهای دیگر شوند. + description_html: یک رلهٔ میان‌سروری (federation relay) یک سرور میانجی است که حجم زیادی از فرسته‌های عمومی را بین سرورهای گوناگونی که عضوش می‌شوند جابه‌جا می‌کند. رله‌ها به سرورهای کوچک و متوسط کمک می‌کنند تا مطالب عمومی بیشتری را بیابند. اگر رله نباشد، این مطالب عمومی تنها وقتی پیدا می‌شوند که کاربران محلی خودشان پیگیر کاربران روی سرورهای دیگر شوند. disable: از کار انداختن disabled: از کار افتاده enable: به کار انداختن - enable_hint: اگر فعال باشد، کارساز شما عضو همهٔ بوق‌های عمومی‌ای را که از این رله می‌آید می‌گیرد، و بوق‌های عمومی این کارساز را به آن می‌فرستند. + enable_hint: اگر فعال باشد، کارساز شما عضو همهٔ فرسته‌های عمومی‌ای را که از این رله می‌آید می‌گیرد، و فرسته‌های عمومی این کارساز را به آن می‌فرستند. enabled: فعال inbox_url: نشانی رله pending: در انتظار پذیرش رله @@ -567,10 +592,10 @@ fa: title: قوانین کارساز settings: activity_api_enabled: - desc_html: تعداد بوق‌های محلی، کاربران فعال، و کاربران تازه در هر هفته + desc_html: تعداد فرسته‌های محلی، کاربران فعال، و کاربران تازه در هر هفته title: انتشار آمار تجمیعی دربارهٔ فعالیت کاربران bootstrap_timeline_accounts: - desc_html: نام‌های کاربری را با ویرگول از هم جدا کنید. تنها حساب‌های محلی و قفل‌نشده کار می‌کنند. اگر این‌جا را خالی بگذارید، به طور پیش‌فرض همهٔ مدیرهای این سرور پی‌گرفته خواهند شد. + desc_html: نام‌های کاربری را با ویرگول از هم جدا کنید. این حساب‌ها تضمین می‌شوند که در پیشنهادهای پی‌گیری نشان داده شوند title: پیگیری‌های پیش‌فرض برای کاربران تازه contact_information: email: ایمیل کاری @@ -584,7 +609,7 @@ fa: domain_blocks: all: برای همه disabled: برای هیچ‌کدام - title: نمایش دامین‌های مسدودشده + title: نمایش دامنه‌های مسدود شده users: برای کاربران محلی واردشده domain_blocks_rationale: title: دیدن دلیل @@ -623,7 +648,7 @@ fa: open: همه می‌توانند ثبت نام کنند title: شرایط ثبت نام show_known_fediverse_at_about_page: - desc_html: اگر انتخاب شود، بوق‌های همهٔ سرورهای دیگر نیز در پیش‌نمایش این سرور نمایش می‌یابد. وگرنه فقط بوق‌های محلی نشان داده می‌شوند. + desc_html: اگر از کار انداخته شود، خط‌زمانی همگانی را محدود می‌کند؛ تا فقط محتوای محلّی را نمایش دهد. title: نمایش سرورهای دیگر در پیش‌نمایش این سرور show_staff_badge: desc_html: نمایش علامت همکار روی صفحهٔ کاربر @@ -653,7 +678,7 @@ fa: title: بگذارید که برچسب‌های پرطرفدار بدون بازبینی قبلی نمایش داده شوند trends: desc_html: برچسب‌های عمومی که پیش‌تر بازبینی شده‌اند و هم‌اینک پرطرفدارند - title: برچسب‌های پرطرفدار + title: پرطرفدارها site_uploads: delete: پرونده بارگذاری شده را پاک کنید destroyed_msg: بارگذاری پایگاه با موفقیت حذف شد! @@ -666,9 +691,12 @@ fa: deleted: پاک‌شده media: title: رسانه - no_status_selected: هیچ بوقی تغییری نکرد زیرا هیچ‌کدام از آن‌ها انتخاب نشده بودند + no_status_selected: هیچ فرسته‌ای تغییری نکرد زیرا هیچ‌کدام از آن‌ها انتخاب نشده بودند title: نوشته‌های حساب with_media: دارای عکس یا ویدیو + strikes: + appeal_approved: درخواست تجدیدنظر کرد + appeal_pending: درخواست تجدیدنظر در انتظار system_checks: database_schema_check: message_html: تعداد مهاجرت پایگاه داده در انتظار انجام هستند. لطفا آن‌ها را اجرا کنید تا اطمینان یابید که برنامه مطابق انتظار رفتار خواهد کرد @@ -707,6 +735,7 @@ fa: not_listable: پیشنهاد نخواهد شد not_usable: غیر قابل استفاده title: برچسب‌های پرطرفدار + trending_rank: 'پرطرفدار #%{rank}' usable: قابل استفاده title: پرطرفدار warning_presets: @@ -716,6 +745,10 @@ fa: empty: هنز هیچ پیش‌تنظیم هشداری را تعریف نکرده‌اید. title: مدیریت هشدارهای پیش‌فرض admin_mailer: + new_appeal: + actions: + none: یک هشدار + silence: برای محدود کردن حساب آنها new_pending_account: body: جزئیات حساب تازه این‌جاست. شما می‌توانید آن را تأیید یا رد کنید. subject: حساب تازه‌ای در %{instance} نیازمند بررسی است (%{username}) @@ -723,6 +756,9 @@ fa: body: کاربر %{reporter} کاربر %{target} را گزارش داد body_remote: کسی از %{domain} گزارش %{target} را فرستاده subject: گزارش تازه‌ای برای %{instance} (#%{id}) + new_trends: + new_trending_links: + no_approved_links: در حال حاضر هیچ پیوند پرطرفداری پذیرفته نشده است. aliases: add_new: ساختن نام مستعار created_msg: نام مستعار تازه با موفقیت ساخته شد. الان می‌توانید انتقال از حساب قدیمی را آغاز کنید. @@ -741,7 +777,7 @@ fa: guide_link: https://crowdin.com/project/mastodon guide_link_text: همه می‌توانند کمک کنند. sensitive_content: محتوای حساس - toot_layout: آرایش بوق + toot_layout: آرایش فرسته application_mailer: notification_preferences: تغییر ترجیحات ایمیل salutation: "%{name}،" @@ -861,6 +897,18 @@ fa: directory: شاخهٔ نمایه explanation: کاربران را بر اساس علاقه‌مندی‌هایشان بیابید explore_mastodon: گشت و گذار در %{title} + disputes: + strikes: + appeal: درخواست تجدیدنظر + appeal_rejected: درخواست تجدیدنظر رد شده است + appeal_submitted_at: درخواست تجدیدنظر فرستاده شد + appeals: + submit: فرستادن درخواست تجدیدنظر + title_actions: + none: هشدار + your_appeal_approved: درخواست تجدیدنظر شما پذیرفته شد + your_appeal_pending: شما یک درخواست تجدیدنظر فرستادید + your_appeal_rejected: درخواست تجدیدنظر شما رد شد domain_validator: invalid_domain: نام دامین معتبر نیست errors: @@ -892,7 +940,7 @@ fa: blocks: حساب‌های مسدودشده bookmarks: نشانک‌ها csv: CSV - domain_blocks: دامین‌های مسدودشده + domain_blocks: دامنه‌های مسدود شده lists: سیاهه‌ها mutes: حساب‌های بی‌صداشده storage: تصویرهای ذخیره‌شده @@ -998,7 +1046,7 @@ fa: not_ready: پرونده‌هایی که پردازش را تمام نکرده‌اند نمی‌توانند پیوست شوند. یکبار دیگر امتحان کنید! too_many: نمی‌توان بیشتر از ۴ تصویر بارگذاری کرد migrations: - acct: username@domain حساب تازه + acct: جابه‌جایی به cancel: لغو انتقال cancel_explanation: با لغو انتقال، حساب شما دوباره فعال می‌شود، ولی این کار پیگیران شما را که به حساب دیگر منتقل شده‌اند برنمی‌گرداند. cancelled_msg: انتقال حساب با موفقیت لغو شد. @@ -1067,9 +1115,9 @@ fa: poll: subject: نظرسنجی‌ای از %{name} پایان یافت reblog: - body: "%{name} نوشتهٔ شما را بازبوقید:" - subject: "%{name} نوشتهٔ شما را بازبوقید" - title: بازبوق تازه + body: "%{name} فرستهٔ شما را تقویت کرد:" + subject: "%{name} فرستهٔ شما را تقویت کرد" + title: تقویت تازه status: subject: "%{name} چیزی فرستاد" notifications: @@ -1145,17 +1193,17 @@ fa: reason_html: "چرا این گام ضروریست؟ ممکن است %{instance} کارسازی نباشد که شما رویش حساب دارید؛ پس لازم است پیش از هرچیز، به کارساز خودتان هدایتتان کنیم." remote_interaction: favourite: - proceed: به سمت پسندیدن این بوق - prompt: 'شما می‌خواهید این بوق را بپسندید:' + proceed: به سمت پسندیدن + prompt: 'شما می‌خواهید این فرسته را بپسندید:' reblog: - proceed: به سمت بازبوقیدن - prompt: 'شما می‌خواهید این بوق را بازببوقید:' + proceed: به سمت تقویت + prompt: 'شما می‌خواهید این فرسته را تقویت کنید:' reply: proceed: به سمت پاسخ‌دادن - prompt: 'شما می‌خواهید به این بوق پاسخ دهید:' + prompt: 'شما می‌خواهید به این فرسته پاسخ دهید:' scheduled_statuses: - over_daily_limit: شما از حد مجاز %{limit} بوق زمان‌بندی‌شده در آن روز فراتر رفته‌اید - over_total_limit: شما از حد مجاز %{limit} بوق زمان‌بندی‌شده فراتر رفته‌اید + over_daily_limit: شما از حد مجاز %{limit} فرسته زمان‌بندی‌شده در آن روز فراتر رفته‌اید + over_total_limit: شما از حد مجاز %{limit} فرسته زمان‌بندی‌شده فراتر رفته‌اید too_soon: زمان تعیین‌شده باید در آینده باشد sessions: activity: آخرین فعالیت @@ -1233,19 +1281,19 @@ fa: video: one: "%{count} ویدیو" other: "%{count} ویدیو" - boosted_from_html: بازبوقیده از طرف %{acct_link} + boosted_from_html: تقویت شده از طرف %{acct_link} content_warning: 'هشدا محتوا: %{warning}' disallowed_hashtags: one: 'دارای هشتگ غیرمجاز: %{tags}' other: 'دارای هشتگ‌های غیرمجاز: %{tags}' errors: in_reply_not_found: به نظر نمی‌رسد وضعیتی که می‌خواهید به آن پاسخ دهید، وجود داشته باشد. - open_in_web: بازکردن در وب + open_in_web: گشودن در وب over_character_limit: از حد مجاز %{max} حرف فراتر رفتید pin_errors: limit: از این بیشتر نمی‌شود نوشته‌های ثابت داشت ownership: نوشته‌های دیگران را نمی‌توان ثابت کرد - reblog: بازبوق‌ها را نمی‌توان ثابت کرد + reblog: تقویت را نمی‌توان سنجاق کرد poll: total_people: one: "%{count} نفر" @@ -1295,17 +1343,17 @@ fa: '2629746': ۱ ماه '31556952': ۱ سال '5259492': ۲ ماه - '604800': 1 week + '604800': ۱ هفته '63113904': ۲ سال '7889238': ۳ ماه min_age_label: کرانهٔ سن min_favs: نگه داشتن فرسته‌هایی با برگزینش بیش از min_favs_hint: هیچ یک از فرسته‌هایتان را که بیش از این تعداد برگزیده شده باشند، حذف نمی‌کند. برای حذف فرسته‌ها فارغ از تعداد برگزینش‌هایشان، خالی بگذارید min_reblogs: نگه داشتن فرسته‌هایی با تقویت بیش از - min_reblogs_hint: هیچ یک از فرسته‌هایتان را که بیش از این تعداد تق. یت شده باشند، حذف نمی‌کند. برای حذف فرسته‌ها فارغ از تعداد تقویت‌هایشان، خالی بگذارید + min_reblogs_hint: هیچ یک از فرسته‌هایتان را که بیش از این تعداد تقویت شده باشند، حذف نمی‌کند. برای حذف فرسته‌ها فارغ از تعداد تقویت‌هایشان، خالی بگذارید stream_entries: pinned: نوشته‌های ثابت - reblogged: بازبوقید + reblogged: تقویت شده sensitive_content: محتوای حساس tags: does_not_match_previous_name: با نام پیشین مطابق نیست @@ -1417,6 +1465,15 @@ fa: recovery_instructions_html: اگر تلفن خود را گم کردید، می‌توانید با یکی از کدهای بازیابی زیر کنترل حساب خود را به دست بگیرید. این کدها را در جای امنی نگه دارید. مثلاً آن‌ها را چاپ کنید و کنار سایر مدارک مهم خود قرار دهید. webauthn: کلیدهای امنیتی user_mailer: + appeal_approved: + action: به حساب خودتان بروید + explanation: درخواست تجدیدنظر اخطار علیه حساب شما در %{strike_date} که در %{appeal_date} ارسال کرده‌اید، پذیرفته شده است. حساب شما بار دیگر در وضعیت خوبی قرار دارد. + subject: درخواست تجدیدنظر شما در %{date} پذیرفته شد + title: درخواست تجدیدنظر پذیرفته شد + appeal_rejected: + explanation: درخواست تجدیدنظر اخطار علیه حساب شما در %{strike_date} که در %{appeal_date} ارسال کرده‌اید، رد شده است. + subject: درخواست تجدیدنظر شما در %{date} رد شده است + title: درخواست تجدیدنظر رد شد backup_ready: explanation: شما یک نسخهٔ پشتیبان کامل از حساب خود را درخواست کردید. این پشتیبان الان آمادهٔ بارگیری است! subject: بایگانی شما آمادهٔ دریافت است @@ -1428,6 +1485,8 @@ fa: subject: لطفاً تلاش برای ورود را تأیید کنید title: تلاش برای ورود warning: + appeal: فرستادن یک درخواست تجدیدنظر + appeal_description: اگر فکر می‌کنید این یک خطا است، می‌توانید یک درخواست تجدیدنظر به کارکنان %{instance} ارسال کنید. categories: spam: هرزنامه reason: 'دلیل:' diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 918c505b1..1cdaed6ef 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -165,10 +165,6 @@ fi: pending: Odottaa tarkistusta perform_full_suspension: Siirrä kokonaan jäähylle previous_strikes: Aiemmat varoitukset - previous_strikes_description_html: - one: Tällä tilillä on yksi varoitus. - other: Tällä tilillä on %{count} varoitusta. - zero: Tämä tili on hyvässä kunnossa. promote: Ylennä protocol: Protokolla public: Julkinen @@ -495,10 +491,6 @@ fi: delivery_error_hint: Jos toimitus ei ole mahdollista %{count} päivän aikana, se merkitään automaattisesti toimittamattomaksi. destroyed_msg: Tiedot %{domain} on nyt jonossa välitöntä poistoa varten. empty: Verkkotunnuksia ei löytynyt. - known_accounts: - one: "%{count} tunnettu tili" - other: "%{count} tunnettua tiliä" - zero: Ei tunnettua tiliä moderation: all: Kaikki limited: Rajoitettu @@ -760,10 +752,6 @@ fi: description_html: Nämä ovat linkkejä, joita jaetaan tällä hetkellä paljon tileillä, joilta palvelimesi näkee viestejä. Se voi auttaa käyttäjiäsi saamaan selville, mitä maailmassa tapahtuu. Linkkejä ei näytetä julkisesti, ennen kuin hyväksyt julkaisijan. Voit myös sallia tai hylätä yksittäiset linkit. disallow: Hylkää linkki disallow_provider: Estä julkaisija - shared_by_over_week: - one: Jakanut yksi henkilö viimeisen viikon aikana - other: Jakanut %{count} henkilöä viimeisen viikon aikana - zero: Kukaan ei ole jakanut viimeisen viikon aikana title: Suositut linkit usage_comparison: Jaettu %{today} kertaa tänään verrattuna eilen %{yesterday} pending_review: Odottaa tarkistusta @@ -803,10 +791,6 @@ fi: trending_rank: 'Nousussa #%{rank}' usable: Voidaan käyttää usage_comparison: Käytetty %{today} kertaa tänään, verrattuna %{yesterday} eiliseen - used_by_over_week: - one: Yhden henkilön käyttämä viimeisen viikon aikana - other: Käyttänyt %{count} henkilöä viimeisen viikon aikana - zero: Ei kenenkään käytössä viimeisen viikon aikana title: Trendit warning_presets: add_new: Lisää uusi diff --git a/config/locales/fr.yml b/config/locales/fr.yml index e3879be0a..bc1902cf8 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -166,9 +166,8 @@ fr: perform_full_suspension: Suspendre previous_strikes: Sanctions précédentes previous_strikes_description_html: - one: Ce compte a reçu une sanction. + one: Ce compte a reçu %{count} sanction. other: Ce compte a reçu %{count} sanctions. - zero: Ce compte est en règle. promote: Promouvoir protocol: Protocole public: Publique @@ -482,8 +481,12 @@ fr: instances: availability: failure_threshold_reached: Le seuil de défaillance a été atteint le %{date}. + failures_recorded: + one: Tentative échouée pendant %{count} jour. + other: Tentatives échouées pendant %{count} jours différents. no_failures_recorded: Pas d'échec enregistré. title: Disponibilité + warning: La dernière tentative de connexion à ce serveur a échoué back_to_all: Tout back_to_limited: Limité back_to_warning: Avertissement @@ -523,7 +526,6 @@ fr: known_accounts: one: "%{count} compte connu" other: "%{count} comptes connus" - zero: Pas de compte connu moderation: all: Tout limited: Limité @@ -768,6 +770,11 @@ fr: system_checks: database_schema_check: message_html: Vous avez des migrations de base de données en attente. Veuillez les exécuter pour vous assurer que l'application se comporte comme prévu + elasticsearch_running_check: + message_html: Impossible de se connecter à Elasticsearch. Veuillez vérifier qu’il est en cours d’exécution ou désactiver la recherche en plein texte + elasticsearch_version_check: + message_html: 'Version d’Elasticsearch incompatible : %{value}' + version_comparison: Elasticsearch %{running_version} est en cours d’exécution alors que %{required_version} est requise rules_check: action: Gérer les règles du serveur message_html: Vous n'avez pas défini de règles pour le serveur. @@ -788,9 +795,8 @@ fr: disallow: Interdire le lien disallow_provider: Interdire l'éditeur shared_by_over_week: - one: Partagé par une personne au cours de la semaine dernière - other: Partagé par %{count} personnes au cours de la semaine dernière - zero: Non partagé au cours de la semaine dernière + one: Partagé par %{count} personne au cours de la dernière semaine + other: Partagé par %{count} personnes au cours de la dernière semaine title: Liens tendances usage_comparison: Partagé %{today} fois aujourd'hui, comparé à %{yesterday} hier pending_review: En attente de révision @@ -831,9 +837,8 @@ fr: usable: Peut être utilisé usage_comparison: Utilisé %{today} fois aujourd'hui, comparé à %{yesterday} hier used_by_over_week: - one: Utilisé par une personne au cours de la semaine dernière - other: Utilisé par %{count} personnes au cours de la semaine dernière - zero: Non utilisé au cours de la semaine dernière + one: Utilisé par %{count} personne au cours de la dernière semaine + other: Utilisé par %{count} personnes au cours de la dernière semaine title: Tendances warning_presets: add_new: Ajouter un nouveau @@ -1431,6 +1436,7 @@ fr: disallowed_hashtags: one: 'contient un hashtag désactivé : %{tags}' other: 'contient les hashtags désactivés : %{tags}' + edited_at_html: Édité le %{date} errors: in_reply_not_found: Le message auquel vous essayez de répondre ne semble pas exister. open_in_web: Ouvrir sur le web diff --git a/config/locales/gd.yml b/config/locales/gd.yml index 6729b0443..0f6524fbd 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -173,10 +173,6 @@ gd: pending: A’ feitheamh air lèirmheas perform_full_suspension: Cuir à rèim previous_strikes: Rabhaidhean roimhe - previous_strikes_description_html: - one: Fhuair an cunntas seo aon rabhadh. - other: Fhuair an cunntas seo %{count} rabhaidhean. - zero: Tha deagh chliù aig a’ chunntas seo. promote: Àrdaich protocol: Pròtacal public: Poblach @@ -381,6 +377,7 @@ gd: enable: Cuir an comas enabled: Chaidh a chur an comas enabled_msg: Chaidh an t-Emoji sin a chur an comas + image_hint: PNG no GIF suas ri %{size} list: Liosta listed: Liostaichte new: @@ -485,6 +482,7 @@ gd: resolve: Fuasgail an àrainn title: Bac àrainn puist-d ùr no_email_domain_block_selected: Cha deach bacadh àrainn puist-d sam bith atharrachadh o nach deach gin dhiubh a thaghadh + resolved_dns_records_hint_html: Thèid ainm na h-àrainne fhuasgladh nan àrainnean MX a leanas agus an urra riutha-san gun gabh iad ri post-d. Ma bhacas tu àrainn MX, bacaidh seo an clàradh o sheòladh puist-d sam bith a chleachdas an aon àrainn MX fiù ’s ma bhios ainm àrainne eadar-dhealaichte ’ga sealltainn. Thoir an aire nach bac thu solaraichean puist-d mòra. resolved_through_html: Chaidh fuasgladh slighe %{domain} title: Àrainnean puist-d ’gam bacadh follow_recommendations: @@ -496,11 +494,46 @@ gd: title: Molaidhean leantainn unsuppress: Aisig am moladh leantainn instances: + availability: + description_html: + few: Ma dh’fhàilligeas an lìbhrigeadh dhan àrainn fad %{count} làithean, chan fheuch sinn a-rithist leis an lìbhrigeadh ach às dèidh lìbhrigeadh fhaighinn on àrainn ud fhèin. + one: Ma dh’fhàilligeas an lìbhrigeadh dhan àrainn fad %{count} latha, chan fheuch sinn a-rithist leis an lìbhrigeadh ach às dèidh lìbhrigeadh fhaighinn on àrainn ud fhèin. + other: Ma dh’fhàilligeas an lìbhrigeadh dhan àrainn fad %{count} latha, chan fheuch sinn a-rithist leis an lìbhrigeadh ach às dèidh lìbhrigeadh fhaighinn on àrainn ud fhèin. + two: Ma dh’fhàilligeas an lìbhrigeadh dhan àrainn fad %{count} latha, chan fheuch sinn a-rithist leis an lìbhrigeadh ach às dèidh lìbhrigeadh fhaighinn on àrainn ud fhèin. + failure_threshold_reached: Chaidh stairsneach an fhàilligidh a ruigsinn %{date}. + failures_recorded: + few: Oidhirp a dh’fhàillig rè %{count} làithean. + one: Oidhirp a dh’fhàillig rè %{count} latha. + other: Oidhirp a dh’fhàillig rè %{count} latha. + two: Oidhirp a dh’fhàillig rè %{count} latha. + no_failures_recorded: Cha deach fàilligeadh sam bith a chlàradh. + title: Faotainneachd + warning: Cha deach leis an oidhirp mu dheireadh air ceangal ris an fhrithealaiche seo back_to_all: Na h-uile back_to_limited: Cuingichte back_to_warning: Rabhadh by_domain: Àrainn confirm_purge: A bheil thu cinnteach gu bheil thu airson an dàta on àrainn seo a sguabadh às gu buan? + content_policies: + comment: Nòta taobh a-staigh + description_html: "’S urrainn dhut poileasaidhean susbainte a mhìneachadh a thèid a chur an sàs air a h-uile cunntas on àrainn seo ’s a fo-àrainnean-se." + policies: + reject_media: Diùlt meadhanan + reject_reports: Diùlt gearanan + silence: Cuingich + suspend: Cuir à rèim + policy: Poileasaidh + reason: Adhbhar poblach + title: Poileasaidhean susbainte + dashboard: + instance_accounts_dimension: Cunntasan ’gan leantainn as trice + instance_accounts_measure: cunntasan ’gan stòradh + instance_followers_measure: an luchd-leantainn againne thall + instance_follows_measure: an luchd-leantainn acasan an-seo + instance_languages_dimension: Brod nan cànan + instance_media_attachments_measure: ceanglachain mheadhanan ’gan stòradh + instance_reports_measure: gearanan mun dèidhinn + instance_statuses_measure: postaichean ’gan stòradh delivery: all: Na h-uile clear: Falamhaich na mearachdan lìbhrigidh @@ -512,10 +545,6 @@ gd: delivery_error_hint: Mura gabh a lìbhrigeadh fad %{count} là(ithean), thèid comharra a chur ris gu fèin-obrachail a dh’innseas nach gabh a lìbhrigeadh. destroyed_msg: Tha an dàta o %{domain} air ciutha an sguabaidh às aithghearr. empty: Cha deach àrainn a lorg. - known_accounts: - one: "%{count} chunntas as aithne dhuinn" - other: "%{count} cunntas(an) as aithne dhuinn" - zero: Gun chunntas as aithne dhuinn moderation: all: Na h-uile limited: Cuingichte @@ -523,12 +552,14 @@ gd: private_comment: Beachd prìobhaideachd public_comment: Beachd poblach purge: Purgaidich + purge_description_html: Ma tha thu dhen bheachd gu bheil an àrainn seo far loidhne gu buan, ’s urrainn dhut a h-uile clàr cunntais ’s an dàta co-cheangailte on àrainn ud a sguabadh às san stòras agad. Dh’fhaoidte gun doir sin greis mhath. title: Co-nasgadh total_blocked_by_us: "‘Ga bhacadh leinne" total_followed_by_them: "’Ga leantainn leotha-san" total_followed_by_us: "’Ga leantainn leinne" total_reported: Gearanan mun dèidhinn total_storage: Ceanglachain mheadhanan + totals_time_period_hint_html: Gabhaidh na h-iomlanan gu h-ìosal a-staigh an dàta o chian nan cian. invites: deactivate_all: Cuir na h-uile à gnìomh filter: @@ -584,9 +615,13 @@ gd: action_log: Sgrùd an loga action_taken_by: Chaidh an gnìomh a ghabhail le actions: + delete_description_html: Thèid na postaichean le gearan orra a sguabadh às agus rabhadh a chlàradh gus do chuideachadh ach am bi thu nas teinne le droch-ghiùlan on aon chunntas sam àm ri teachd. + mark_as_sensitive_description_html: Thèid comharra an fhrionasachd a chur ris na meadhanan sna postaichean le gearan orra agus rabhadh a chlàradh gus do chuideachadh ach am bi thu nas teinne le droch-ghiùlan on aon chunntas sam àm ri teachd. other_description_html: Seall barrachd roghainnean airson giùlan a’ chunntais a stiùireadh agus an conaltradh leis a’ chunntas a chaidh gearan a dhèanamh mu dhèidhinn a ghnàthachadh. + resolve_description_html: Cha dèid gnìomh sam bith a ghabhail an aghaidh a’ chunntais le gearan air agus thèid an gearan a dhùnadh gun rabhadh a chlàradh. silence_description_html: Chan fhaic ach an fheadhainn a tha a’ leantainn oirre mu thràth no a lorgas a làimh i a’ phròifil seo agus cuingichidh seo uiread nan daoine a ruigeas i gu mòr. Gabhaidh seo a neo-dhèanamh uair sam bith. suspend_description_html: Cha ghabh a’ phròifil seo agus an t-susbaint gu leòr aice inntrigeadh gus an dèid a sguabadh às air deireadh na sgeòil. Cha ghabh eadar-ghabhail a dhèanamh leis a’ chunntas. Gabhaidh seo a neo-dhèanamh am broinn 30 latha. + actions_description_html: Cuir romhad dè an gnìomh a ghabhas tu gus an gearan seo fhuasgladh. Ma chuireas tu peanas air a’ chunntas le gearan air, gheibh iad brath air a’ phost-d mura tagh thu an roinn-seòrsa Spama. add_to_report: Cuir barrachd ris a’ ghearan are_you_sure: A bheil thu cinnteach? assign_to_self: Iomruin dhomh-sa @@ -756,6 +791,11 @@ gd: system_checks: database_schema_check: message_html: Tha imrichean stòir-dhàta ri dhèiligeadh ann. Ruith iad a dhèanamh cinnteach gum bi giùlan na h-aplacaid mar a bhiodhte ’n dùil + elasticsearch_running_check: + message_html: Cha b’ urrainn dhuinn ceangal ri Elasticsearch. Dearbh thu bheil e a’ ruith no cuir an lorg làn-teacsa à comas + elasticsearch_version_check: + message_html: 'Tionndadh Elasticsearch nach eil co-chòrdail: %{value}' + version_comparison: Tha Elasticsearch %{running_version} a ruith ach tha feum air %{required_version} rules_check: action: Stiùirich riaghailtean an fhrithealaiche message_html: Cha do mhìnich thu riaghailtean an fhrithealaiche fhathast. @@ -772,23 +812,22 @@ gd: links: allow: Ceadaich an ceangal allow_provider: Ceadaich am foillsichear + description_html: Seo na ceanglaichean a tha ’gan co-roinneadh le iomadh cunntas on a chì am frithealaiche agad na postaichean. Faodaidh iad a bhith ’nan cuideachadh dhan luchd-cleachdaidh ach am faigh iad a-mach dè tha tachairt air an t-saoghal. Cha dèid ceanglaichean a shealltainn gu poblach gus an aontaich thu ris an fhoillsichear. ’S urrainn dhut ceanglaichean àraidh a cheadachadh no a dhiùltadh cuideachd. disallow: Na ceadaich an ceangal disallow_provider: Na ceadaich am foillsichear - shared_by_over_week: - one: Chaidh a cho-roinneadh le aonar rè na seachdain seo chaidh - other: Chaidh a cho-roinneadh le %{count} rè na seachdain seo chaidh - zero: Cha deach a cho-roinneadh rè na seachdain seo chaidh title: Ceanglaichean a’ treandadh usage_comparison: Chaidh a cho-roinneadh %{today} tura(i)s an-diugh an coimeas ri %{yesterday} an-dè pending_review: A’ feitheamh air lèirmheas preview_card_providers: allowed: Faodaidh ceanglaichean on fhoillsichear seo treandadh + description_html: Seo na h-àrainnean on a thèid ceanglaichean a cho-roinneadh air an fhrithealaiche agad gu tric. Cha bhi ceanglaichean a’ treandadh mura dh’aontaich thu ri àrainn a’ cheangail. Gabhaidh d’ aonta (no do dhiùltadh) a-staigh na fo-àrainnean. rejected: Cha treandaich ceanglaichean on fhoillsichear seo title: Foillsichearan rejected: Air a dhiùltadh statuses: allow: Ceadaich am post allow_account: Ceadaich an t-ùghdar + description_html: Seo na postaichean air a bheil am frithealaiche agad eòlach ’s a tha ’gan co-roinneadh is ’nan annsachd gu tric aig an àm seo. Faodaidh iad a bhith ’nan cuideachadh dhan luchd-cleachdaidh ùr no a thill ach an lorg iad daoine airson leantainn orra. Cha dèid postaichean a shealltainn gu poblach gus an gabh thu ris an ùghdar agus gus an aontaich an t-ùghdar gun dèid an cunntas aca a mholadh do dhaoine eile. ’S urrainn dhut postaichean àraidh a cheadachadh no a dhiùltadh cuideachd. disallow: Na ceadaich am post disallow_account: Na ceadaich an t-ùghdar not_discoverable: Cha do chuir an t-ùghdar roimhe gun gabh a lorg @@ -806,6 +845,7 @@ gd: tag_servers_dimension: Brod nam frithealaichean tag_servers_measure: frithealaichean eadar-dhealaichte tag_uses_measure: cleachdaidhean iomlan + description_html: Seo na tagaichean hais a nochdas ann an grunn phostaichean a chì am frithealaiche agad aig an àm seo. Faodaidh iad a bhith ’nan cuideachadh dhan luchd-cleachdaidh agad ach am faigh iad a-mach cò air a tha daoine a’ bruidhinn nas trice aig an àm seo. Cha dèid tagaichean hais a shealltainn gu poblach gus an aontaich thu riutha. listable: Gabhaidh a mholadh not_listable: Cha dèid a mholadh not_trendable: Cha nochd e am measg nan treandaichean @@ -816,10 +856,6 @@ gd: trending_rank: 'A’ treandadh #%{rank}' usable: Gabhaidh a chleachdadh usage_comparison: Chaidh a chleachdadh %{today} tura(i)s an-diugh an coimeas ri %{yesterday} an-dè - used_by_over_week: - one: Chaidh a chleachdadh le aonar rè na seachdain seo chaidh - other: Chaidh a chleachdadh le %{count} rè na seachdain seo chaidh - zero: Cha deach a chleachdadh rè na seachdain seo chaidh title: Treandaichean warning_presets: add_new: Cuir fear ùr ris @@ -851,12 +887,15 @@ gd: body: 'Tha na nithean seo feumach air lèirmheas mus nochd iad gu poblach:' new_trending_links: no_approved_links: Chan eil ceangal a’ treandadh le aontachadh ann. + requirements: "’S urrainn do ghin dhe na tagraichean seo dol thairis air #%{rank} a tha aig a’ cheangal “%{lowest_link_title}” a’ treandadh as ìsle le aontachadh agus sgòr de %{lowest_link_score} air." title: Ceanglaichean a’ treandadh new_trending_statuses: no_approved_statuses: Chan eil post a’ treandadh le aontachadh ann. + requirements: "’S urrainn do ghin dhe na tagraichean seo dol thairis air #%{rank} a tha aig a’ phost %{lowest_status_url} a’ treandadh as ìsle le aontachadh agus sgòr de %{lowest_status_score} air." title: Postaichean a’ treandadh new_trending_tags: no_approved_tags: Chan eil taga hais a’ treandadh le aontachadh ann. + requirements: "’S urrainn do ghin dhe na tagraichean seo dol thairis air #%{rank} a tha aig an taga hais #%{lowest_tag_name} a’ treandadh as ìsle le aontachadh agus sgòr de %{lowest_tag_score} air." title: Tagaichean hais a’ treandadh subject: Tha treandaichean ùra a’ feitheamh air lèirmheas air %{instance} aliases: @@ -1011,6 +1050,19 @@ gd: submit: Cuir a-null an t-ath-thagradh associated_report: An gearan co-cheangailte created_at: Ceann-là + description_html: Seo na gnìomhan a chaidh a ghabhail an aghaidh a’ chunntais agad agus na rabhaidhean a chaidh a chur thugad le luchd-obrach %{instance}. + recipient: Faightear + status: 'Post #%{id}' + status_removed: Chaidh am post a thoirt air falbh on t-siostam mu thràth + title: "%{action} o %{date}" + title_actions: + delete_statuses: Toirt air falbh puist + disable: Reòthadh cunntais + mark_statuses_as_sensitive: Comharra na frionasachd air postaichean + none: Rabhadh + sensitive: Comharra na frionasachd air cunntais + silence: Cuingeachadh cunntais + suspend: Cur à rèim cunntais your_appeal_approved: Chaidh aontachadh ris an ath-thagradh agad your_appeal_pending: Chuir thu ath-thagradh a-null your_appeal_rejected: Chaidh an t-ath-thagradh agad a dhiùltadh @@ -1192,6 +1244,9 @@ gd: carry_mutes_over_text: Chaidh an cleachdaiche seo imrich o %{acct} a b’ àbhaist dhut a mhùchadh. copy_account_note_text: 'Da cleachdaiche air gluasad o %{acct}, seo na nòtaichean a bh’ agad mu dhèidhinn roimhe:' notification_mailer: + admin: + sign_up: + subject: Chlàraich %{name} digest: action: Seall a h-uile brath body: Seo geàrr-chunntas air na h-atharraichean nach fhaca thu on tadhal mu dheireadh agad %{since} @@ -1233,6 +1288,8 @@ gd: title: Brosnachadh ùr status: subject: Tha %{name} air post a sgrìobhadh + update: + subject: Dheasaich %{name} post notifications: email_events: Tachartasan nam brathan puist-d email_events_hint: 'Tagh na tachartasan dhan a bheil thu airson brathan fhaighinn:' @@ -1314,6 +1371,9 @@ gd: reply: proceed: Lean air adhart gus freagairt prompt: 'Tha thu airson freagairt dhan phost seo:' + reports: + errors: + invalid_rules: gun iomradh air riaghailtean dligheach scheduled_statuses: over_daily_limit: Chaidh thu thar na crìoch de %{limit} post(aichean) sgeidealaichte an-diugh over_total_limit: Chaidh thu thar na crìoch de %{limit} post(aichean) sgeidealaichte @@ -1380,6 +1440,7 @@ gd: profile: Pròifil relationships: Dàimhean leantainn statuses_cleanup: Sguabadh às fèin-obrachail phostaichean + strikes: Rabhaidhean na maorsainneachd two_factor_authentication: Dearbhadh dà-cheumnach webauthn_authentication: Iuchraichean tèarainteachd statuses: @@ -1402,11 +1463,13 @@ gd: two: "%{count} video" boosted_from_html: Brosnachadh o %{acct_link} content_warning: 'Rabhadh susbainte: %{warning}' + default_language: Co-ionnan ri cànan na h-eadar-aghaidh disallowed_hashtags: few: "– bha na tagaichean hais toirmisgte seo ann: %{tags}" one: "– bha na tagaichean hais toirmisgte seo ann: %{tags}" other: "– bha na tagaichean hais toirmisgte seo ann: %{tags}" two: "– bha na tagaichean hais toirmisgte seo ann: %{tags}" + edited_at_html: Air a dheasachadh %{date} errors: in_reply_not_found: Tha coltas nach eil am post dhan a tha thu airson freagairt ann. open_in_web: Fosgail air an lìon @@ -1469,7 +1532,7 @@ gd: '2629746': Mìos '31556952': Bliadhna '5259492': 2 mhìos - '604800': 1 week + '604800': Seachdain '63113904': 2 bhliadhna '7889238': 3 mìosan min_age_label: Stairsneach aoise @@ -1484,7 +1547,7 @@ gd: tags: does_not_match_previous_name: "– chan eil seo a-rèir an ainm roimhe" terms: - body_html: '

    Poileasaidh prìobhaideachd

    Dè am fiosrachadh a chruinnicheas sinn?

    • Fiosrachadh bunasach a’ cunntais: Ma chlàraicheas tu leis an fhrithealaiche seo, dh’fhaoidte gun dèid iarraidh ort gun cuir thu a-steach ainm-cleachdaiche, seòladh puist-d agus facal-faire. Faodaidh tu barrachd fiosrachaidh a chur ris a’ phròifil agad ma thogras tu, can ainm-taisbeanaidh agus teacsa mu do dhèidhinn agus dealbhan pròifile ’s banna-chinn a luchdadh suas. Thèid an t-ainm-cleachdaiche, an t-ainm-taisbeanaidh, an teacsa mu do dhèidhinn agus dealbhan na pròifile ’s a bhanna-chinn a shealltainn gu poblach an-còmhnaidh.
    • Postaichean, luchd-leantainn agus fiosrachadh poblach eile: Tha liosta nan daoine air a leanas tu poblach mar a tha i dhan luchd-leantainn agad. Nuair a chuireas tu a-null teachdaireachd, thèid an t-àm ’s an ceann-latha a stòradh cho math ris an aplacaid leis an do chuir thu am foirm a-null. Faodaidh ceanglachain meadhain a bhith am broinn teachdaireachdan, can dealbhan no videothan. Tha postaichean poblach agus postaichean falaichte o liostaichean ri ’m faighinn gu poblach. Nuair a bhrosnaicheas tu post air a’ phròifil agad, ’s e fiosrachadh poblach a tha sin cuideachd. Thèid na postaichean agad a lìbhrigeadh dhan luchd-leantainn agad agus is ciall dha seo gun dèid an lìbhrigeadh gu frithealaichean eile aig amannan is gun dèid lethbhreacan dhiubh a stòradh thall. Nuair a sguabas tu às post, thèid sin a lìbhrigeadh dhan luchd-leantainn agad cuideachd. Tha ath-bhlogachadh no dèanamh annsachd de phost eile poblach an-còmhnaidh.
    • Postaichean dìreach is dhan luchd-leantainn a-mhàin: Thèid a h-uile post a stòradh ’s a phròiseasadh air an fhrithealaiche. Thèid na postaichean dhan luchd-leantainn a-mhàin a lìbhrigeadh dhan luchd-leantainn agad agus dhan luchd-chleachdaidh a chaidh iomradh a dhèanamh orra sa phost. Thèid postaichean dìreach a lìbhrigeadh dhan luchd-chleachdaidh a chaidh iomradh a dhèanamh orra sa phost a-mhàin. Is ciall dha seo gun dèid an lìbhrigeadh gu frithealaichean eile aig amannan is gun dèid lethbhreacan dhiubh a stòradh thall. Nì sinn ar dìcheall gun cuingich sinn an t-inntrigeadh dha na postaichean air na daoine a fhuair ùghdarrachadh dhaibh ach dh’fhaoidte nach dèan frithealaichean eile seo. Mar sin dheth, tha e cudromach gun doir thu sùil air na frithealaichean dhan a bhuineas an luchd-leantainn agad. Faodaidh tu roghainn a chur air no dheth a leigeas leat aontachadh ri luchd-leantainn ùra no an diùltadh a làimh. Thoir an aire gum faic rianairean an fhrithealaiche agus frithealaiche sam bith a gheibh am fiosrachadh na teachdaireachdan dhen leithid agus gur urrainn dha na faightearan glacaidhean-sgrìn no lethbhreacan dhiubh a dhèanamh no an cho-roinneadh air dòighean eile. Na co-roinn fiosrachadh cunnartach air Mastodon idir.
    • IPan is meata-dàta eile: Nuair a nì thu clàradh a-steach, clàraidh sinn an seòladh IP on a rinn thu clàradh a-steach cuide ri ainm aplacaid a’ bhrabhsair agad. Bidh a h-uile seisean clàraidh a-steach ri làimh dhut airson an lèirmheas agus an cùl-ghairm sna roghainnean. Thèid an seòladh IP as ùire a chleachd thu a stòradh suas ri 12 mhìos. Faodaidh sinn cuideachd logaichean an fhrithealaiche a chumail a ghabhas a-steach seòladh IP aig a h-uile iarrtas dhan fhrithealaiche againn.

    Dè na h-adhbharan air an cleachd sinn am fiosrachadh agad?

    Seo na dòighean air an cleachd sinn fiosrachadh sam bith a chruinnich sinn uat ma dh’fhaoidte:

    • Airson bun-ghleusan Mhastodon a lìbhrigeadh. Chan urrainn dhut conaltradh le susbaint càich no an t-susbaint agad fhèin a phostadh ach nuair a bhios tu air do chlàradh a-steach. Mar eisimpleir, faodaidh tu leantainn air càch ach am faic thu na postaichean aca còmhla air loidhne-ama pearsanaichte na dachaigh agad.
    • Airson cuideachadh le maorsainneachd na coimhearsnachd, can airson coimeas a dhèanamh eadar an seòladh IP agad ri feadhainn eile feuch am mothaich sinn do sheachnadh toirmisg no briseadh eile nan riaghailtean.
    • Faodaidh sinn an seòladh puist-d agad a chleachdadh airson fiosrachadh no brathan mu chonaltraidhean càich leis an t-susbaint agad no teachdaireachdan a chur thugad, airson freagairt ri ceasnachaidhean agus/no iarrtasan no ceistean eile.

    Ciamar a dhìonas sinn am fiosrachadh agad?

    Cuiridh sinn iomadh gleus tèarainteachd an sàs ach an glèidheadh sinn sàbhailteachd an fhiosrachaidh phearsanta agad nuair a chuireas tu gin a-steach, nuair a chuireas tu a-null e no nuair a nì thu inntrigeadh air. Am measg gleusan eile, thèid seisean a’ bhrabhsair agad cuide ris an trafaig eadar na h-aplacaidean agad ’s an API a dhìon le SSL agus thèid hais a dhèanamh dhen fhacal-fhaire agad le algairim aon-shligheach làidir. Faodaidh tu dearbhadh dà-cheumnach a chur an comas airson barrachd tèarainteachd a chur ris an inntrigeadh dhan chunntas agad.


    Dè am poileasaidh cumail dàta againn?

    Nì sinn ar dìcheall:

    • Nach cùm sinn logaidhean an fhrithealaiche sa bheil seòlaidhean IP nan iarrtasan uile dhan fhrithealaiche seo nas fhaide na 90 latha ma chumas sinn logaichean dhen leithid idir.
    • Nach cùm sinn na seòlaidhean IP a tha co-cheangailte ri cleachdaichean clàraichte nas fhaide na 12 mhìos.

    ’S urrainn dhut tasg-lann iarraidh dhen t-susbaint agad ’s a luchdadh a-nuas is gabhaidh seo a-staigh na postaichean, na ceanglachain meadhain, dealbh na pròifil agus dealbh a’ bhanna-chinn agad.

    ’S urrainn dhut an cunntas agad a sguabadh às gu buan uair sam bith.


    An cleachd sinn briosgaidhean?

    Cleachdaidh. ’S e faidhlichean beaga a tha sna briosgaidean a thar-chuireas làrach no solaraiche seirbheise gu clàr-cruaidh a’ choimpiutair agad leis a’ bhrabhsair-lìn agad (ma cheadaicheas tu sin). Bheir na briosgaidean sin comas dhan làrach gun aithnich i am brabhsair agad agus ma tha cunntas clàraichte agad, gun co-cheangail i ris a’ chunntas chlàraichte agad e.

    Cleachdaidh sinn briosgaidean airson na roghainnean agad a thuigsinn ’s a ghlèidheadh gus an tadhail thu oirnn san àm ri teachd.


    Am foillsich sinn fiosrachadh sam bith gu pàrtaidhean air an taobh a-muigh?

    Cha reic, malairt no tar-chuir sinn fiosrachadh air a dh’aithnichear thu fhèin gu pàrtaidh sam bith air an taobh a-muigh. Cha ghabh seo a-staigh treas-phàrtaidhean earbsach a chuidicheas leinn le ruith na làraich againn, le obrachadh a’ ghnìomhachais againn no gus an t-seirbheis a thoirt leat cho fada ’s a dh’aontaicheas na treas-phàrtaidhean sin gun cùm iad am fiosrachadh dìomhair. Faodaidh sinn am fiosrachadh agad fhoillseachadh cuideachd nuair a bhios sinn dhen bheachd gu bheil am foillseachadh sin iomchaidh airson gèilleadh dhan lagh, poileasaidhean na làraich againn èigneachadh no na còraichean, an sealbh no an t-sàbhailteachd againn fhèin no aig càch a dhìon.

    Dh’fhaoidte gun dèid an t-susbaint phoblach agad a luchdadh a-nuas le frithealaichean eile san lìonra. Thèid na postaichean poblach agad ’s an fheadhainn dhan luchd-leantainn a-mhàin a lìbhrigeadh dha na frithealaichean far a bheil an luchd-leantainn agad a’ còmhnaidh agus thèid na teachdaireachdan dìreach a lìbhrigeadh gu frithealaichean nam faightearan nuair a bhios iad a’ còmhnaidh air frithealaiche eile.

    Nuair a dh’ùghdarraicheas tu aplacaid gun cleachd i an cunntas agad, a-rèir sgòp nan ceadan a dh’aontaicheas tu riutha, faodaidh i fiosrachadh poblach na pròifil agad, liosta na feadhna air a bhios tu a’ leantainn, an luchd-leantainn agad, na liostaichean agad, na postaichean agad uile ’s na h-annsachdan agad inntrigeadh. Chan urrainn do dh’aplacaidean an seòladh puist-d no am facal-faire agad inntrigeadh idir.


    Cleachdadh na làraich leis a’ chloinn

    Ma tha am frithealaiche seo san Aonadh Eòrpach (AE) no san Roinn Eaconomach na h-Eòrpa (EEA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 16 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon GDPR (General Data Protection Regulation) nach cleachd thu an làrach seo.

    Ma tha am frithealaiche seo sna Stàitean Aonaichte (SAA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 13 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon COPPA (Children''s Online Privacy Protection Act)ha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 16 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon GDPR (General Data Protection Regulation) nach cleachd thu an làrach seo.

    Ma tha am frithealaiche seo sna Stàitean Aonaichte (SAA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 13 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon COPPA (Children''s Online Privacy Protection Act) nach cleachd thu an làrach seo.

    Dh’fhaoidte gu bheil am frithealaiche seo fo riatanasan lagha eile ma tha e ann an uachdranas laghail eile.


    Atharraichean air a’ phoileasaidh phrìobhaideachd againn

    Ma chuireas sinn romhainn am poileasaidh prìobhaideachd againn atharrachadh, postaichidh sinn na h-atharraichean dhan duilleag seo.

    Tha an sgrìobhainn seo fo cheadachas CC-BY-SA. Chaidh ùrachadh an turas mu dheireadh an t-7mh dhen Mhart 2018.

    Chaidh a fhreagarrachadh o thùs o phoileasaidh prìobhaideachd Discourse.

    nach cleachd thu an làrach seo.

    Dh’fhaoidte gu bheil am frithealaiche seo fo riatanasan lagha eile ma tha e ann an uachdranas laghail eile.


    Atharraichean air a’ phoileasaidh phrìobhaideachd againn

    Ma chuireas sinn romhainn am poileasaidh prìobhaideachd againn atharrachadh, postaichidh sinn na h-atharraichean dhan duilleag seo.

    Tha an sgrìobhainn seo fo cheadachas CC-BY-SA. Chaidh ùrachadh an turas mu dheireadh an t-7mh dhen Mhart 2018.

    Chaidh a fhreagarrachadh o thùs o phoileasaidh prìobhaideachd Discourse.

    + body_html: '

    Poileasaidh prìobhaideachd

    Dè am fiosrachadh a chruinnicheas sinn?

    • Fiosrachadh bunasach a’ cunntais: Ma chlàraicheas tu leis an fhrithealaiche seo, dh’fhaoidte gun dèid iarraidh ort gun cuir thu a-steach ainm-cleachdaiche, seòladh puist-d agus facal-faire. Faodaidh tu barrachd fiosrachaidh a chur ris a’ phròifil agad ma thogras tu, can ainm-taisbeanaidh agus teacsa mu do dhèidhinn agus dealbhan pròifile ’s banna-chinn a luchdadh suas. Thèid an t-ainm-cleachdaiche, an t-ainm-taisbeanaidh, an teacsa mu do dhèidhinn agus dealbhan na pròifile ’s a bhanna-chinn a shealltainn gu poblach an-còmhnaidh.
    • Postaichean, luchd-leantainn agus fiosrachadh poblach eile: Tha liosta nan daoine air a leanas tu poblach mar a tha i dhan luchd-leantainn agad. Nuair a chuireas tu a-null teachdaireachd, thèid an t-àm ’s an ceann-latha a stòradh cho math ris an aplacaid leis an do chuir thu am foirm a-null. Faodaidh ceanglachain meadhain a bhith am broinn teachdaireachdan, can dealbhan no videothan. Tha postaichean poblach agus postaichean falaichte o liostaichean ri ’m faighinn gu poblach. Nuair a bhrosnaicheas tu post air a’ phròifil agad, ’s e fiosrachadh poblach a tha sin cuideachd. Thèid na postaichean agad a lìbhrigeadh dhan luchd-leantainn agad agus is ciall dha seo gun dèid an lìbhrigeadh gu frithealaichean eile aig amannan is gun dèid lethbhreacan dhiubh a stòradh thall. Nuair a sguabas tu às post, thèid sin a lìbhrigeadh dhan luchd-leantainn agad cuideachd. Tha ath-bhlogachadh no dèanamh annsachd de phost eile poblach an-còmhnaidh.
    • Postaichean dìreach is dhan luchd-leantainn a-mhàin: Thèid a h-uile post a stòradh ’s a phròiseasadh air an fhrithealaiche. Thèid na postaichean dhan luchd-leantainn a-mhàin a lìbhrigeadh dhan luchd-leantainn agad agus dhan luchd-chleachdaidh a chaidh iomradh a dhèanamh orra sa phost. Thèid postaichean dìreach a lìbhrigeadh dhan luchd-chleachdaidh a chaidh iomradh a dhèanamh orra sa phost a-mhàin. Is ciall dha seo gun dèid an lìbhrigeadh gu frithealaichean eile aig amannan is gun dèid lethbhreacan dhiubh a stòradh thall. Nì sinn ar dìcheall gun cuingich sinn an t-inntrigeadh dha na postaichean air na daoine a fhuair ùghdarrachadh dhaibh ach dh’fhaoidte nach dèan frithealaichean eile seo. Mar sin dheth, tha e cudromach gun doir thu sùil air na frithealaichean dhan a bhuineas an luchd-leantainn agad. Faodaidh tu roghainn a chur air no dheth a leigeas leat aontachadh ri luchd-leantainn ùra no an diùltadh a làimh. Thoir an aire gum faic rianairean an fhrithealaiche agus frithealaiche sam bith a gheibh am fiosrachadh na teachdaireachdan dhen leithid agus gur urrainn dha na faightearan glacaidhean-sgrìn no lethbhreacan dhiubh a dhèanamh no an cho-roinneadh air dòighean eile. Na co-roinn fiosrachadh cunnartach air Mastodon idir.
    • IPan is meata-dàta eile: Nuair a nì thu clàradh a-steach, clàraidh sinn an seòladh IP on a rinn thu clàradh a-steach cuide ri ainm aplacaid a’ bhrabhsair agad. Bidh a h-uile seisean clàraidh a-steach ri làimh dhut airson an lèirmheas agus an cùl-ghairm sna roghainnean. Thèid an seòladh IP as ùire a chleachd thu a stòradh suas ri 12 mhìos. Faodaidh sinn cuideachd logaichean an fhrithealaiche a chumail a ghabhas a-steach seòladh IP aig a h-uile iarrtas dhan fhrithealaiche againn.

    Dè na h-adhbharan air an cleachd sinn am fiosrachadh agad?

    Seo na dòighean air an cleachd sinn fiosrachadh sam bith a chruinnich sinn uat ma dh’fhaoidte:

    • Airson bun-ghleusan Mhastodon a lìbhrigeadh. Chan urrainn dhut eadar-ghnìomh a ghabhail le susbaint càich no an t-susbaint agad fhèin a phostadh ach nuair a bhios tu air do chlàradh a-steach. Mar eisimpleir, faodaidh tu leantainn air càch ach am faic thu na postaichean aca còmhla air loidhne-ama pearsanaichte na dachaigh agad.
    • Airson cuideachadh le maorsainneachd na coimhearsnachd, can airson coimeas a dhèanamh eadar an seòladh IP agad ri feadhainn eile feuch am mothaich sinn do sheachnadh toirmisg no briseadh eile nan riaghailtean.
    • Faodaidh sinn an seòladh puist-d agad a chleachdadh airson fiosrachadh no brathan mu eadar-ghnìomhan a ghabh càch leis an t-susbaint agad no teachdaireachdan a chur thugad, airson freagairt ri ceasnachaidhean agus/no iarrtasan no ceistean eile.

    Ciamar a dhìonas sinn am fiosrachadh agad?

    Cuiridh sinn iomadh gleus tèarainteachd an sàs ach an glèidheadh sinn sàbhailteachd an fhiosrachaidh phearsanta agad nuair a chuireas tu gin a-steach, nuair a chuireas tu a-null e no nuair a nì thu inntrigeadh air. Am measg gleusan eile, thèid seisean a’ bhrabhsair agad cuide ris an trafaig eadar na h-aplacaidean agad ’s an API a dhìon le SSL agus thèid hais a dhèanamh dhen fhacal-fhaire agad le algairim aon-shligheach làidir. Faodaidh tu dearbhadh dà-cheumnach a chur an comas airson barrachd tèarainteachd a chur ris an inntrigeadh dhan chunntas agad.


    Dè am poileasaidh cumail dàta againn?

    Nì sinn ar dìcheall:

    • Nach cùm sinn logaidhean an fhrithealaiche sa bheil seòlaidhean IP nan iarrtasan uile dhan fhrithealaiche seo nas fhaide na 90 latha ma chumas sinn logaichean dhen leithid idir.
    • Nach cùm sinn na seòlaidhean IP a tha co-cheangailte ri cleachdaichean clàraichte nas fhaide na 12 mhìos.

    ’S urrainn dhut tasg-lann iarraidh dhen t-susbaint agad ’s a luchdadh a-nuas is gabhaidh seo a-staigh na postaichean, na ceanglachain meadhain, dealbh na pròifil agus dealbh a’ bhanna-chinn agad.

    ’S urrainn dhut an cunntas agad a sguabadh às gu buan uair sam bith.


    An cleachd sinn briosgaidhean?

    Cleachdaidh. ’S e faidhlichean beaga a tha sna briosgaidean a thar-chuireas làrach no solaraiche seirbheise gu clàr-cruaidh a’ choimpiutair agad leis a’ bhrabhsair-lìn agad (ma cheadaicheas tu sin). Bheir na briosgaidean sin comas dhan làrach gun aithnich i am brabhsair agad agus ma tha cunntas clàraichte agad, gun co-cheangail i ris a’ chunntas chlàraichte agad e.

    Cleachdaidh sinn briosgaidean airson na roghainnean agad a thuigsinn ’s a ghlèidheadh gus an tadhail thu oirnn san àm ri teachd.


    Am foillsich sinn fiosrachadh sam bith gu pàrtaidhean air an taobh a-muigh?

    Cha reic, malairt no tar-chuir sinn fiosrachadh air a dh’aithnichear thu fhèin gu pàrtaidh sam bith air an taobh a-muigh. Cha ghabh seo a-staigh treas-phàrtaidhean earbsach a chuidicheas leinn le ruith na làraich againn, le obrachadh a’ ghnìomhachais againn no gus an t-seirbheis a thoirt leat cho fada ’s a dh’aontaicheas na treas-phàrtaidhean sin gun cùm iad am fiosrachadh dìomhair. Faodaidh sinn am fiosrachadh agad fhoillseachadh cuideachd nuair a bhios sinn dhen bheachd gu bheil am foillseachadh sin iomchaidh airson gèilleadh dhan lagh, poileasaidhean na làraich againn èigneachadh no na còraichean, an sealbh no an t-sàbhailteachd againn fhèin no aig càch a dhìon.

    Dh’fhaoidte gun dèid an t-susbaint phoblach agad a luchdadh a-nuas le frithealaichean eile san lìonra. Thèid na postaichean poblach agad ’s an fheadhainn dhan luchd-leantainn a-mhàin a lìbhrigeadh dha na frithealaichean far a bheil an luchd-leantainn agad a’ còmhnaidh agus thèid na teachdaireachdan dìreach a lìbhrigeadh gu frithealaichean nam faightearan nuair a bhios iad a’ còmhnaidh air frithealaiche eile.

    Nuair a dh’ùghdarraicheas tu aplacaid gun cleachd i an cunntas agad, a-rèir sgòp nan ceadan a dh’aontaicheas tu riutha, faodaidh i fiosrachadh poblach na pròifil agad, liosta na feadhna air a bhios tu a’ leantainn, an luchd-leantainn agad, na liostaichean agad, na postaichean agad uile ’s na h-annsachdan agad inntrigeadh. Chan urrainn do dh’aplacaidean an seòladh puist-d no am facal-faire agad inntrigeadh idir.


    Cleachdadh na làraich leis a’ chloinn

    Ma tha am frithealaiche seo san Aonadh Eòrpach (AE) no san Roinn Eaconomach na h-Eòrpa (EEA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 16 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon GDPR (General Data Protection Regulation) nach cleachd thu an làrach seo.

    Ma tha am frithealaiche seo sna Stàitean Aonaichte (SAA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 13 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon COPPA (Children''s Online Privacy Protection Act)ha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 16 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon GDPR (General Data Protection Regulation) nach cleachd thu an làrach seo.

    Ma tha am frithealaiche seo sna Stàitean Aonaichte (SAA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 13 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon COPPA (Children''s Online Privacy Protection Act) nach cleachd thu an làrach seo.

    Dh’fhaoidte gu bheil am frithealaiche seo fo riatanasan lagha eile ma tha e ann an uachdranas laghail eile.


    Atharraichean air a’ phoileasaidh phrìobhaideachd againn

    Ma chuireas sinn romhainn am poileasaidh prìobhaideachd againn atharrachadh, postaichidh sinn na h-atharraichean dhan duilleag seo.

    Tha an sgrìobhainn seo fo cheadachas CC-BY-SA. Chaidh ùrachadh an turas mu dheireadh an t-7mh dhen Mhart 2018.

    Chaidh a fhreagarrachadh o thùs o phoileasaidh prìobhaideachd Discourse.

    ' title: Teirmichean na seirbheise ⁊ poileasaidh prìobhaideachd %{instance} @@ -1513,6 +1576,15 @@ gd: recovery_instructions_html: Ma chailleas tu an t-inntrigeadh dhan fhòn agad, ’s urrainn dhut fear dhe na còdan aisig gu h-ìosal a chleachdadh airson faighinn a-steach dhan chunntas agad a-rithist. Cùm na còdan aisig sàbhailte. Mar eisimpleir, ’s urrainn dhut an clò-bhualadh ’s a chumail far a bheil thu a’ cumail na sgrìobhainnean cudromach eile agad. webauthn: Iuchraichean tèarainteachd user_mailer: + appeal_approved: + action: Tadhail air a’ chunntas agad + explanation: Chaidh aontachadh ris an ath-thagradh agad air an rabhadh o %{strike_date} a chuir thu a-null %{appeal_date}. Tha deagh chliù air a’ chunntas agad a-rithist. + subject: Chaidh aontachadh ris an ath-thagradh agad o %{date} + title: Chaidh aontachadh ri ath-thagradh + appeal_rejected: + explanation: Chaidh an t-ath-thagradh agad air an rabhadh o %{strike_date} a chuir thu a-null %{appeal_date} a dhiùltadh. + subject: Chaidh an t-ath-thagradh agad o %{date} a dhiùltadh + title: Chaidh ath-thagradh a dhiùltadh backup_ready: explanation: Dh’iarr thu lethbhreac-glèidhidh slàn dhen chunntas Mastodon agad. Tha e deis ri luchdadh a-nuas a-nis! subject: Tha an tasg-lann agad deis ri luchdadh a-nuas @@ -1524,25 +1596,34 @@ gd: subject: Dearbh an oidhirp air clàradh a-steach title: Oidhirp clàraidh a-steach warning: + appeal: Cuir ath-thagradh a-null + appeal_description: Ma tha thu dhen bheachd gur e mearachd a th’ ann, ’s urrainn dhut ath-thagradh a chur a-null gun sgioba aig %{instance}. categories: spam: Spama violation: Tha an t-susbaint a’ briseadh na riaghailtean giùlain a leanas explanation: + delete_statuses: Thathar dhen bheachd gu bheil cuid dhe na postaichean agad a’ briseadh riaghailt no riaghailtean giùlain agus chaidh an toirt air falbh le maoir %{instance} an uairsin. disable: Chan urrainn dhut an cunntas agad a chleachdadh tuilleadh ach mairidh a’ phròifil ’s an dàta eile agad. Faodaidh tu lethbhreac-glèidhidh dhen dàta agad iarraidh, roghainnean a’ chunntais atharrachadh no an cunntas agad a sguabadh às. + mark_statuses_as_sensitive: Chuir maoir %{instance} comharra na frionasachd ri cuid dhe na postaichean agad. Is ciall dha seo gum feumar gnogag a thoirt air na meadhanan sna postaichean mus faicear ro-shealladh. ’S urrainn dhut fhèin comharra a chur gu bheil meadhan frionasach nuair a sgrìobhas tu post san à ri teachd. sensitive: O seo a-mach, thèid comharra na frionasachd a chur ri faidhle meadhain sam bith a luchdaicheas tu suas agus thèid am falach air cùlaibh rabhaidh a ghabhas briogadh air. silence: "’S urrainn dhut an cunntas agad a chleachdadh fhathast ach chan fhaic ach na daoine a tha a’ leantainn ort mu thràth na postaichean agad air an fhrithealaiche seo agus dh’fhaoidte gun dèid d’ às-dhùnadh o iomadh gleus luirg. Gidheadh, faodaidh càch leantainn ort a làimh fhathast." suspend: Chan urrainn dhut an cunntas agad a chleachdadh tuilleadh agus chan fhaigh thu grèim air a’ phròifil no air an dàta eile agad. ’S urrainn dhut clàradh a-steach fhathast airson lethbhreac-glèidhidh dhen dàta agad iarraidh mur dèid an dàta a thoirt air falbh an ceann 30 latha gu slàn ach cumaidh sinn cuid dhen dàta bhunasach ach nach seachain thu an cur à rèim. reason: 'Adhbhar:' + statuses: 'Iomradh air postaichean:' subject: delete_statuses: Chaidh na postaichean agad air %{acct} a thoirt air falbh disable: Chaidh an cunntas %{acct} agad a reòthadh + mark_statuses_as_sensitive: Chaidh comharra na frionasachd a chur ris na postaichean agad air %{acct} none: Rabhadh dha %{acct} + sensitive: Thèid comharra na frionasachd a chur ris na postaichean agad air %{acct} o seo a-mach silence: Chaidh an cunntas %{acct} agad a chuingeachadh suspend: Chaidh an cunntas %{acct} agad a chur à rèim title: delete_statuses: Chaidh postaichean a thoirt air falbh disable: Cunntas reòite + mark_statuses_as_sensitive: Chaidh comharra na frionasachd a chur ri postaichean none: Rabhadh + sensitive: Chaidh comharra na frionasachd a chur ri cunntas silence: Cunntas cuingichte suspend: Cunntas à rèim welcome: diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 27642844c..e28d9e018 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -165,10 +165,6 @@ gl: pending: Revisión pendente perform_full_suspension: Suspender previous_strikes: Accións previas - previous_strikes_description_html: - one: Esta conta ten un evento. - other: Esta conta ten %{count} eventos. - zero: Esta conta ten boa reputación. promote: Promocionar protocol: Protocolo public: Público @@ -527,10 +523,6 @@ gl: delivery_error_hint: Se non é posible a entrega durante %{count} días, será automáticamente marcado como non entregable. destroyed_msg: Os datos desde %{domain} están na cola para o borrado inminente. empty: Non se atopan dominios. - known_accounts: - one: "%{count} conta coñecida" - other: "%{count} contas coñecidas" - zero: Sen contas coñecidas moderation: all: Todo limited: Limitado @@ -775,6 +767,11 @@ gl: system_checks: database_schema_check: message_html: Existen migracións pendentes na base de datos. Bota man desta tarefa para facer que a aplicación funcione como se agarda dela + elasticsearch_running_check: + message_html: Non se puido conectar con Elasticsearch. Comproba que está funcionando, ou desactiva a busca por texto completo + elasticsearch_version_check: + message_html: 'Versión incompatible de Elasticsearch: %{value}' + version_comparison: Está executándose Elasticsearch %{running_version} pero requírese a %{required_version} rules_check: action: Xestionar regras do servidor message_html: Non tes definidas regras para o servidor. @@ -794,10 +791,6 @@ gl: description_html: Estas son ligazóns que actualmente están sendo compartidas por moitas contas das que o teu servidor recibe publicación. Pode ser de utilidade para as túas usuarias para saber o que acontece polo mundo. Non se mostran ligazóns de xeito público a non ser que autorices a quen as publica. Tamén podes permitir ou rexeitar ligazóns de xeito individual. disallow: Denegar ligazón disallow_provider: Denegar orixe - shared_by_over_week: - one: Compartido por unha persoa na última semana - other: Compartido por %{count} persoas na última semana - zero: Non foi compartido na última semana title: Ligazóns en voga usage_comparison: Compartido %{today} veces hoxe, comparado con %{yesterday} onte pending_review: Revisión pendente @@ -837,10 +830,6 @@ gl: trending_rank: 'En voga #%{rank}' usable: Pode ser usado usage_comparison: Utilizado %{today} veces hoxe, comparado coas %{yesterday} de onte - used_by_over_week: - one: Utilizado por unha persoa na última semana - other: Utilizado por %{count} persoas na última semana - zero: Non foi utilizado na última semana title: Tendencias warning_presets: add_new: Engadir novo diff --git a/config/locales/he.yml b/config/locales/he.yml index 67f3df609..97138fffa 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -169,17 +169,6 @@ he: remove_from_report: הסרה מהדיווח report: דווח title: ניהול - trends: - links: - shared_by_over_week: - one: שותף ע"י משתמש\ת אחד\ת בשבוע האחרון - other: שותף ע"י %{count} משתמשים בשבוע האחרון - zero: לא שותף בכלל בשבוע האחרון - tags: - used_by_over_week: - one: היה בשימוש משתמש\ת אחד\ת בשבוע האחרון - other: היה בשימוש ע"י %{count} משתמשים בשבוע האחרון - zero: לא היה בשימוש בכלל בשבוע האחרון application_mailer: settings: 'שינוי הגדרות דוא"ל: %{link}' view: 'תצוגה:' diff --git a/config/locales/hu.yml b/config/locales/hu.yml index ec2d4fa94..abe5baf48 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -170,7 +170,6 @@ hu: previous_strikes_description_html: one: Ezt a fiókot egyszer szankcionálták. other: Ezt a fiókot %{count} esetben szankcionálták. - zero: Ez a fiók makulátlan. promote: Előléptetés protocol: Protokoll public: Nyilvános @@ -532,7 +531,6 @@ hu: known_accounts: one: "%{count} ismert fiók" other: "%{count} ismert fiók" - zero: Nincs ismert fiók moderation: all: Mind limited: Korlátozott @@ -777,6 +775,11 @@ hu: system_checks: database_schema_check: message_html: Vannak esedékes adatbázis migrációink. Kérlek, futtasd őket, hogy biztosítsd, hogy az alkalmazás megfelelően működjön + elasticsearch_running_check: + message_html: Nem sikerült az Elasticsearchhöz kapcsolódni. Ellenőrizze, hogy fut-e, vagy kapcsolja ki a teljes szöveges keresést. + elasticsearch_version_check: + message_html: 'Nem kompatibilis Elasticsearch verzió: %{value}' + version_comparison: Az Elasticsearch %{running_version} fut, de %{required_version} szükséges rules_check: action: Szerver szabályok menedzselése message_html: Még nem definiáltál egy szerver szabályt sem. @@ -797,9 +800,8 @@ hu: disallow: Hivatkozás letiltása disallow_provider: Közzétevő letiltása shared_by_over_week: - one: Egy ember osztotta meg az elmúlt héten - other: "%{count} ember osztotta meg az elmúlt héten" - zero: Senki sem osztotta meg az elmúlt héten + one: Egy ember osztotta meg a múlt héten + other: "%{count} ember osztotta meg a múlt héten" title: Felkapott hivatkozások usage_comparison: "%{today} alkalommal lett ma megosztva, a tegnapi %{yesterday} alkalomhoz képest" pending_review: Áttekintésre vár @@ -842,7 +844,6 @@ hu: used_by_over_week: one: Egy ember használta a múlt héten other: "%{count} ember használta a múlt héten" - zero: Senki sem használta a múlt héten title: Trendek warning_presets: add_new: Új hozzáadása diff --git a/config/locales/id.yml b/config/locales/id.yml index 63b9066ce..ccb71ebdd 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -160,9 +160,7 @@ id: perform_full_suspension: Lakukan suspen penuh previous_strikes: Peringatan sebelumnya previous_strikes_description_html: - one: Akun ini mendapatkan satu peringatan. - other: Akun ini mendapatkan %{count} peringatan. - zero: Akun ini status bagus. + other: Akun ini mendapatkan %{count} hukuman. promote: Promosikan protocol: Protokol public: Publik @@ -515,9 +513,7 @@ id: destroyed_msg: Data dari %{domain} masuk antrean dihapus dalam waktu dekat. empty: Domain tidak ditemukan. known_accounts: - one: "%{count} akun dikenal" - other: "%{count} akun dikenal" - zero: Tidak ada akun yang dikenal + other: "%{count} akun yang dikenal" moderation: all: Semua limited: Terbatas @@ -761,6 +757,11 @@ id: system_checks: database_schema_check: message_html: Ada proses migrasi basis data tertunda. Silakan jalankan untuk memastikan aplikasi bekerja seperti yang diharapkan + elasticsearch_running_check: + message_html: Tidak dapat tersambung ke Elasticsearch. Pastikan itu berjalan, atau nonaktifkan pencarian teks penuh + elasticsearch_version_check: + message_html: 'Versi Elasticsearch tidak kompatibel: %{value}' + version_comparison: Elasticsearch %{running_version} sedang berjalan, sementara yang diwajibkan adalah %{required_version} rules_check: action: Kelola aturan server message_html: Anda belum menentukan aturan server apapun. @@ -781,9 +782,7 @@ id: disallow: Batalkan izin tautan disallow_provider: Batalkan izin penerbit shared_by_over_week: - one: Dibagikan oleh satu orang lebih dari seminggu lalu - other: Dibagikan oleh %{count} orang lebih dari seminggu lalu - zero: Tidak dibagikan siapapun lebih dari seminggu lalu + other: Dibagikan oleh %{count} orang selama seminggu terakhir title: Tautan sedang tren usage_comparison: Dibagikan %{today} kali hari ini, dibandingkan %{yesterday} kemarin pending_review: Tinjauan tertunda @@ -823,9 +822,7 @@ id: usable: Dapat digunakan usage_comparison: Digunakan %{today} kali hari ini, dibandingkan %{yesterday} kemarin used_by_over_week: - one: Dipakai oleh satu orang lebih dari seminggu lalu - other: Dipakai oleh %{count} orang selama seminggu terakhir - zero: Tidak dipakai siapapun lebih dari seminggu lalu + other: Digunakan oleh %{count} orang selama seminggu terakhir title: Tren warning_presets: add_new: Tambah baru diff --git a/config/locales/is.yml b/config/locales/is.yml index 92eb0e31e..910ae0b79 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -168,7 +168,6 @@ is: previous_strikes_description_html: one: Þessi notandaaðgangur er með eina refsingu. other: Þessi notandaaðgangur er með %{count} refsingar. - zero: Þessi notandaaðgangur er í góðu lagi. promote: Hækka í tign protocol: Samskiptamáti public: Opinber @@ -530,7 +529,6 @@ is: known_accounts: one: "%{count} þekktur notandaaðgangur" other: "%{count} þekktir notendaaðgangar" - zero: Enginn þekktur notandaaðgangur moderation: all: Allt limited: Takmarkað @@ -775,6 +773,11 @@ is: system_checks: database_schema_check: message_html: Það eru fyrirliggjandi yfirfærslur á gagnagrunnum. Keyrðu þær til að tryggja að forritið hegði sér eins og skyldi + elasticsearch_running_check: + message_html: Gat ekki tengst við Elasticsearch-leitina. Gakktu úr skugga um að hún sé í gangi, eða gerðu leit í öllum texta óvirka + elasticsearch_version_check: + message_html: 'Ósamhæfð útgáfa Elasticsearch-leitar: %{value}' + version_comparison: Elasticsearch %{running_version} er í gangi á meðan útgáfa %{required_version} er nauðsynleg rules_check: action: Sýsla með reglur netþjónsins message_html: Þú hefur ekki skilgreint neinar reglur fyrir netþjón. @@ -797,7 +800,6 @@ is: shared_by_over_week: one: Deilt af einum aðila síðustu vikuna other: Deilt af %{count} aðilum síðustu vikuna - zero: Ekki deilt af neinum aðila síðustu vikuna title: Vinsælir tenglar usage_comparison: Deilt %{today} sinnum í dag, samanborið við %{yesterday} í gær pending_review: Bíður eftir yfirlestri @@ -840,7 +842,6 @@ is: used_by_over_week: one: Notað af einum aðila síðustu vikuna other: Notað af %{count} aðilum síðustu vikuna - zero: Ekki notað af neinum aðila síðustu vikuna title: Tilhneiging warning_presets: add_new: Bæta við nýju diff --git a/config/locales/it.yml b/config/locales/it.yml index 5af135fbc..92cd18d1a 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -168,7 +168,6 @@ it: previous_strikes_description_html: one: Questo account ha una violazione. other: Questo account ha %{count} violazioni. - zero: Questo account ha una buona reputazione. promote: Promuovi protocol: Protocollo public: Pubblico @@ -530,7 +529,6 @@ it: known_accounts: one: "%{count} account noto" other: "%{count} account noti" - zero: Nessun account noto moderation: all: Tutto limited: Limitato @@ -775,6 +773,11 @@ it: system_checks: database_schema_check: message_html: Ci sono migrazioni del database in attesa. Sei pregato di eseguirle per assicurarti che l'applicazione si comporti come previsto + elasticsearch_running_check: + message_html: Impossibile connettersi a Elasticsearch. Verificare che sia in esecuzione o disabilitare la ricerca full-text + elasticsearch_version_check: + message_html: 'Versione Elasticsearch incompatibile: %{value}' + version_comparison: È in esecuzione la versione %{running_version} di Elasticsearch, ma è richiesta la versione %{required_version} rules_check: action: Gestisci regole del server message_html: Non hai definito alcuna regola del server. @@ -797,7 +800,6 @@ it: shared_by_over_week: one: Condiviso da una persona nell'ultima settimana other: Condiviso da %{count} persone nell'ultima settimana - zero: Condiviso da nessuno nell'ultima settimana title: Link in tendenza usage_comparison: Condiviso %{today} volte oggi, rispetto a %{yesterday} ieri pending_review: Revisione in sospeso @@ -840,7 +842,6 @@ it: used_by_over_week: one: Usato da una persona nell'ultima settimana other: Usato da %{count} persone nell'ultima settimana - zero: Usato da nessuno nell'ultima settimana title: Tendenze warning_presets: add_new: Aggiungi nuovo diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 58c4694c0..84559e499 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -474,10 +474,6 @@ ja: delivery_error_hint: "%{count} 日間配送ができない場合は、自動的に配送不可としてマークされます。" destroyed_msg: "%{domain} からのデータは、すぐに削除されるように、キューに追加されました。" empty: ドメインが見つかりませんでした。 - known_accounts: - one: 既知のアカウントが%{count}件あります - other: 既知のアカウントが%{count}件あります - zero: 既知のアカウントはありません moderation: all: すべて limited: 制限あり diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 19cabb1ce..a8e8e3622 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -162,9 +162,7 @@ ko: perform_full_suspension: 정지시키기 previous_strikes: 이전의 처벌들 previous_strikes_description_html: - one: 이 계정은 번의 처벌이 있었습니다. other: 이 계정은 %{count} 번의 처벌이 있었습니다. - zero: 이 계정은 처벌 기록이 없습니다. promote: 승급 protocol: 프로토콜 public: 공개 @@ -519,9 +517,7 @@ ko: destroyed_msg: "%{domain}의 데이터는 곧바로 지워지도록 대기열에 들어갔습니다." empty: 도메인이 하나도 없습니다. known_accounts: - one: "%{count} 개의 알려진 계정" other: "%{count} 개의 알려진 계정" - zero: 알려진 계정이 없습니다 moderation: all: 모두 limited: 제한됨 @@ -765,6 +761,11 @@ ko: system_checks: database_schema_check: message_html: 데이터베이스 마이그레이션이 대기중입니다. 응용프로그램이 예상한대로 동작할 수 있도록 마이그레이션을 실행해 주세요 + elasticsearch_running_check: + message_html: Elasticsearch에 연결할 수 없습니다. 실행중인지 확인하거나, 전문검색을 비활성화하세요 + elasticsearch_version_check: + message_html: '호환되지 않는 Elasticsearch 버전: %{value}' + version_comparison: Elasticsearch %{required_version}버전이 필요하지만 %{running_version}버전이 실행 중입니다. rules_check: action: 서버 규칙 관리 message_html: 아직 서버규칙을 정하지 않았습니다. @@ -785,9 +786,7 @@ ko: disallow: 링크 거부하기 disallow_provider: 출처 거부하기 shared_by_over_week: - one: 지난 주 동안 한 명의 사람이 공유했습니다 other: 지난 주 동안 %{count} 명의 사람들이 공유했습니다 - zero: 지난 주 동안 공유한 사람이 없습니다 title: 유행하는 링크 usage_comparison: 오늘은 %{today}회 공유되었고, 어제는 %{yesterday}회 공유되었습니다 pending_review: 심사 대기 @@ -827,9 +826,7 @@ ko: usable: 사용 가능 usage_comparison: 오늘은 %{today}회 사용되었고, 어제는 %{yesterday}회 사용되었습니다 used_by_over_week: - one: 지난 주 동안 한 명의 사람이 사용했습니다 other: 지난 주 동안 %{count} 명의 사람들이 사용했습니다 - zero: 지난 주 동안 사용한 사람이 없습니다 title: 유행 warning_presets: add_new: 새로 추가 diff --git a/config/locales/ku.yml b/config/locales/ku.yml index 7dac9ae44..1f5554f4b 100644 --- a/config/locales/ku.yml +++ b/config/locales/ku.yml @@ -168,7 +168,6 @@ ku: previous_strikes_description_html: one: Ev ajimêr yek binpêkirin kiriye. other: Ev ajimêr %{count} binpêkirin kiriye. - zero: Ev ajimêr di rewşeke baş de ye. promote: Derbasê asteke bilind be protocol: Protokol public: Gelemperî @@ -186,7 +185,7 @@ ku: send: E-nameya pejirandinê dîsa bişîne success: E-nameya pejirandinê bi awayekî serkeftî hate şandin! reset: Ji nû ve saz bike - reset_password: Pêborînê ji nû ve saz bike + reset_password: Borînpeyvê ji nû ve saz bike resubscribe: Dîsa beşdar bibe role: Maf roles: @@ -198,9 +197,9 @@ ku: search_same_email_domain: Bikarhênerên din ên bi heman navpera e-nameyê search_same_ip: Bikarhênerên din ên xwedî heman IP security_measures: - only_password: Têne pêborîn - password_and_2fa: Pêborîn û 2FA - password_and_sign_in_token: Pêborîn û navnîşana e-nameyê + only_password: Têne borînpeyv + password_and_2fa: Borînpeyv û 2FA + password_and_sign_in_token: Borînpeyv û navnîşana e-nameyê sensitive: Hêz-hestiyar sensitized: Wek hestiyar hatiye nîşankirin shared_inbox_url: URLya wergirtiyên parvekirî @@ -269,7 +268,7 @@ ku: reject_user: Bikarhêner nepejirîne remove_avatar_user: Avatarê rake reopen_report: Ragihandina ji nû ve veke - reset_password_user: Pêborînê ji nû ve saz bike + reset_password_user: Borînpeyvê ji nû ve saz bike resolve_report: Ragihandinê çareser bike sensitive_account: Ajimêra hêz-hestiyar silence_account: Ajimêrê bi sînor bike @@ -320,7 +319,7 @@ ku: reject_user_html: "%{name} tomarkirina ji %{target} nepejirand" remove_avatar_user_html: "%{name} avatara bikarhêner %{target} rakir" reopen_report_html: "%{name} ragihandina %{target} ji nû ve vekir" - reset_password_user_html: "%{name} pêborîna bikarhênerê %{target} ji nû ve saz kir" + reset_password_user_html: "%{name} borînpeyva bikarhêner %{target} ji nû ve saz kir" resolve_report_html: "%{name} ragihandina %{target} çareser kir" sensitive_account_html: "%{name} medyayê %{target} wekî hestiyarî nîşan kir" silence_account_html: "%{name} ajimêra %{target} bi sînor kir" @@ -532,7 +531,6 @@ ku: known_accounts: one: "%{count} ajimêra naskirî" other: "%{count} ajimêrên naskirî" - zero: Ajimêra naskirî tune ye moderation: all: Hemû limited: Sînorkirî @@ -777,6 +775,11 @@ ku: system_checks: database_schema_check: message_html: Koçberiyên databasê yên li bendê hene. Ji kerema xwe wan bişopîne da ku bicîh bikî ku sepan wekî ku tê hêvî kirin tevbigere + elasticsearch_running_check: + message_html: Bi Elasticsearch re nayê girêdan. Ji kerema xwe kontrol bike ku ew dixebite, an lêgerîna tev-nivîsî neçalak bike + elasticsearch_version_check: + message_html: 'Guhertoya Elasticsearch a nelihevhatî: %{value}' + version_comparison: Elasticsearch %{running_version} dixebite lê %{required_version} pêwîst e rules_check: action: Rêzikên rajekara bi rê ve bibe message_html: Te qet rêzikên rajekara diyar nekiriye. @@ -798,8 +801,7 @@ ku: disallow_provider: Mafê nede weşanger shared_by_over_week: one: Di nava hefteya dawî de ji aliyê keskekî ve hate parvekirin - other: Di nava hefteya dawî de ji aliyê %{count} kes ve hate parvekirin - zero: Di nava hefteya dawî de ji aliyê kesekî ve nehate parvekirin + other: Di nava hefteya dawî de ji aliyê %{count} ve hate parvekirin title: Girêdanên di rojevê de usage_comparison: Îro %{today} car hate parvekirin, li gorî %{yesterday} duh pending_review: Li benda nirxandinê ye @@ -842,7 +844,6 @@ ku: used_by_over_week: one: Di nava hefteya dawî de ji aliyê kesekî ve hatiye bikaranîn other: Di nava hefteya dawî de ji %{count} kes ve hatiye bikaranîn - zero: Di nava hefteya dawî de ji aliyê kesekî ve nehate bikaranîn title: Rojev warning_presets: add_new: Yeka nû tevlî bike @@ -921,7 +922,7 @@ ku: your_token: Nîşana gihîştina te auth: apply_for_account: Daxwaza vexwendinekê bike - change_password: Pêborîn + change_password: Borînpeyv checkbox_agreement_html: Ez rêbazên rajeker û hêmanên karûbaran dipejirînim checkbox_agreement_without_rules_html: Ez hêmanên karûbaran rêbazên rajeker dipejirînim delete_account: Ajimêr jê bibe @@ -932,8 +933,8 @@ ku: suffix: Bi ajimêrekê, tu yê karibî kesan bişopînî, rojanekirinan bişînî û bi bikarhênerên ji her rajekarê Mastodon re peyaman bişînî û bêhtir! didnt_get_confirmation: Te rêwerzên pejirandinê wernegirt? dont_have_your_security_key: Kilîda te ya ewlehiyê tune ye? - forgot_password: Te pêborîna xwe jibîrkir? - invalid_reset_password_token: Ji nû ve sazkirina pêborînê nederbasdar e an jî qediya ye. Jkx daxwaza yeka nû bike. + forgot_password: Te borînpeyva xwe ji bîr kir? + invalid_reset_password_token: Ji nû ve sazkirina borînpeyvê nederbasdar e an jî qediya ye. Jkx daxwaza yeka nû bike. link_to_otp: Ji têlefona xwe an jî ji kodeke rizgarkirinê kodeke du-gavî binivîsine link_to_webauth: Amûra kilîta ewlehiya xwe bi kar bîne log_in_with: Têkeve bi riya @@ -948,9 +949,9 @@ ku: register: Tomar bibe registration_closed: "%{instance} endamên nû napejirîne" resend_confirmation: Rêwerên pejirandinê ji nû ve bişîne - reset_password: Pêborînê ji nû ve saz bike + reset_password: Borînpeyvê ji nû ve saz bike security: Ewlehî - set_new_password: Pêborîneke nû ji nû ve saz bike + set_new_password: Borînpeyveke nû ji nû ve saz bike setup: email_below_hint_html: Heke navnîşana e-nameya jêrîn ne rast be, tu dikarî wê li vir biguherîne û e-nameyeke pejirandinê ya nû bistîne. email_settings_hint_html: E-nameya pejirandinê ji %{email} re hate şandin. Heke ew navnîşana e-nameyê ne rast be, tu dikarî wê di sazkariyên ajimêr de biguherîne. @@ -964,7 +965,7 @@ ku: view_strikes: Binpêkirinên berê yên dijî ajimêrê xwe bibîne too_fast: Form pir zû hat şandin, dîsa biceribîne. trouble_logging_in: Têketina te de pirsgirêk çêdibe? - use_security_key: Kilîteke ewlehiyê bikar bîne + use_security_key: Kilîteke ewlehiyê bi kar bîne authorize_follow: already_following: Jixwe tu vê ajimêrê dişopînî already_requested: Jixwe te ji vê ajimêrê re daxwazîya şopandinê şandi bû @@ -979,9 +980,9 @@ ku: title: "%{acct} bişopîne" challenge: confirm: Bidomîne - hint_html: "Nîşe:Ji bo demjimêreke din em ê pêborîna te careke din ji te nexwazin." - invalid_password: Pêborîna nederbasdar - prompt: Ji bo bidomî lêborînê bipejirîne + hint_html: "Nîşe:Ji bo demjimêreke din em ê borînpeyva te careke din ji te nexwazin." + invalid_password: Borînpeyva nederbasdar + prompt: Ji bo bidomî borînpeyvê bipejirîne crypto: errors: invalid_key: ed25519 ne derbasdare ne jî Curve25519 kilîta @@ -1006,7 +1007,7 @@ ku: x_seconds: "%{count}çirke" deletes: challenge_not_passed: Zanyariyên ku te nivîsandî ne rast in - confirm_password: Pêborîna xwe ya heyî binivîsine da ku nasnameya xwe piştrast bikî + confirm_password: Borînpeyva xwe ya heyî binivîsine da ku nasnameya xwe piştrast bikî confirm_username: Navê bikarhêneriyê xwe binivîse da ku prosedurê piştrast bike proceed: Ajimêr jê bibe success_msg: Ajimêra te bi serkeftî hate jêbirin @@ -1176,10 +1177,10 @@ ku: login_activities: authentication_methods: otp: sepandina rastandina du-gavî - password: pêborîn + password: borînpeyv sign_in_token: koda ewlehiyê bo e-nameyê webauthn: kilîtên ewlehiyê - description_html: Heke çalakiya ku nas nakî dibînî, çêtir dibe ku pêborîna xwe biguherînî û rastandina du-gavî çalak bikî. + description_html: Heke çalakiya ku nas nakî dibînî, çêtir dibe ku borînpeyva xwe biguherînî û rastandina du-gavî çalak bikî. empty: Dîroka piştrastkirinê tune ye failed_sign_in_html: Hewldana têketinê ser neket bi%{method} ji %{ip} (%{browser}) de successful_sign_in_html: Bi serkeftî têketin bi %{method} ji %{ip}(%{browser}) çêbû @@ -1637,7 +1638,7 @@ ku: sign_in_token: details: 'Li vir hûrgiliyên hewldanê hene:' explanation: 'Me hewildanek têketina ajimêra te ji navnîşana IP ya nenas destnîşan kir. Ger ev tu bî, ji kerema xwe koda ewlehiyê ya jêr binivîsîne di rûpela jêpirsînê de:' - further_actions: 'Ger ev ne tu bî, ji kerema xwe re pêborîna xwe biguherîne û li ser ajimêra xwe rastkirina du-gavî çalak bike. Tu dikarî wê ji vê derê çê bikî:' + further_actions: 'Ku ev ne tu bî, ji kerema xwe re borînpeyva xwe biguherîne û li ser ajimêra xwe rastkirina du-gavî çalak bike. Tu dikarî wê ji vê derê çê bikî:' subject: Ji kerema xwe re hewldanên têketinê piştrast bike title: Hewldanên têketinê warning: @@ -1694,7 +1695,7 @@ ku: invalid_otp_token: Koda du-gavî ya nelê invalid_sign_in_token: Kilîda ewlehiyê a nelê otp_lost_help_html: Heke te gihîştina herduyan ji dest da, dibe ku tu bi %{email} re têkilî deyne - seamless_external_login: Te bi servîsekî biyanî re têketina xwe kir, ji ber vê yekê şîfre û e-name nayê bikaranîn. + seamless_external_login: Te bi rajekarke biyanî re têketina xwe kir, ji ber vê yekê borînpeyv û e-name nayê bikaranîn. signed_in_as: 'Têketin wekî:' suspicious_sign_in_confirmation: Xuya dike ku te berê têketin ji vê amûrê nekiriye, ji ber vê yekê em kodeke ewlehiyê ji navnîşana e-nameya te re dişînin da ku piştrast bikî ku tu ye an na. verification: diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 3440da7ef..d695c5191 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -169,10 +169,6 @@ lv: pending: Gaida pārskatīšanu perform_full_suspension: Apturēt previous_strikes: Iepriekšējie brīdinājumi - previous_strikes_description_html: - one: Šim kontam ir viens brīdinājums. - other: Šim kontam ir %{count} brīdinājumi. - zero: Š konta stāvoklis ir labs. promote: Veicināt protocol: Protokols public: Publisks @@ -538,10 +534,6 @@ lv: delivery_error_hint: Ja piegāde nav iespējama %{count} dienas, tā tiks automātiski atzīmēta kā nepiegādājama. destroyed_msg: Dati no %{domain} tagad ir gaidīšanas rindā, lai tos drīzumā dzēstu. empty: Domēni nav atrasti. - known_accounts: - one: "%{count} zināms konts" - other: "%{count} zināmi konti" - zero: Nav zināmu kontu moderation: all: Visas limited: Ierobežotās @@ -787,6 +779,11 @@ lv: system_checks: database_schema_check: message_html: Notiek datubāzu migrācijas. Lūdzu, palaid tās, lai nodrošinātu, ka lietojumprogramma darbojas, kā paredzēts + elasticsearch_running_check: + message_html: Nevarēja izveidot savienojumu ar Elasticsearch. Lūdzu, pārbaudi, vai tā darbojas, vai atspējo pilna teksta meklēšanu + elasticsearch_version_check: + message_html: 'Nesaderīga Elasticsearch versija: %{value}' + version_comparison: Darbojas Elasticsearch %{running_version}, tomēr ir nepieciešama %{required_version} rules_check: action: Pārvaldīt servera nosacījumus message_html: Tu neesi definējis nevienu servera nosacījumu. @@ -806,10 +803,6 @@ lv: description_html: Šīs ir saites, kuras pašlaik bieži koplieto konti, no kuriem tavs serveris redz ziņas. Tas var palīdzēt taviem lietotājiem uzzināt, kas notiek pasaulē. Kamēr tu neapstiprini izdevēju, neviena saite netiek rādīta publiski. Vari arī atļaut vai noraidīt atsevišķas saites. disallow: Neatļaut saiti disallow_provider: Neatļaut publicētāju - shared_by_over_week: - one: Pēdējās nedēļas laikā kopīgoja viena persona - other: Pēdējās nedēļas laikā kopīgoja %{count} personas - zero: Pēdējās nedēļas laikā neviens nav kopīgojis title: Populārākās saites usage_comparison: Šodien kopīgots %{today} reizes, salīdzinot ar %{yesterday} vakar pending_review: Gaida pārskatīšanu @@ -850,10 +843,6 @@ lv: trending_rank: 'Populārākie #%{rank}' usable: Var tikt lietots usage_comparison: Šodien lietots %{today} reizes, salīdzinot ar %{yesterday} vakar - used_by_over_week: - one: Pēdējās nedēļas laikā izmantoja viens cilvēks - other: Pēdējās nedēļas laikā izmantoja %{count} personas - zero: Pēdējās nedēļas laikā neviens nav izmantojis title: Tendences warning_presets: add_new: Pievienot jaunu diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 9a093f9d3..15755bde7 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -170,10 +170,6 @@ pl: pending: Oczekuje na przegląd perform_full_suspension: Zawieś previous_strikes: Poprzednie ostrzeżenia - previous_strikes_description_html: - one: To konto ma jedno ostrzeżenie. - other: To konto ma %{count} ostrzeżeń. - zero: To konto jest w dobrym stanie. promote: Podnieś uprawnienia protocol: Protokół public: Publiczne @@ -748,6 +744,11 @@ pl: system_checks: database_schema_check: message_html: Istnieją oczekujące migracje bazy danych. Uruchom je, aby upewnić się, że aplikacja działa tak, jak powinna + elasticsearch_running_check: + message_html: Nie można połączyć się z Elasticsearch. Sprawdź czy jest uruchomiony lub wyłącz wyszukiwanie pełnotekstowe + elasticsearch_version_check: + message_html: 'Niekompatybilna wersja Elasticsearch: %{value}' + version_comparison: Elasticsearch w wersji %{running_version} jest uruchomiony, ale wymagana wersja to %{required_version} rules_check: action: Zarządzaj regułami serwera message_html: Nie zdefiniowano żadnych reguł serwera. diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 912e42a7d..1d0de0d4a 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -1471,6 +1471,7 @@ pt-BR: title: delete_statuses: Publicações removidas disable: Conta bloqueada + mark_statuses_as_sensitive: Postagens marcadas como sensíveis none: Aviso silence: Conta silenciada suspend: Conta banida diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index 348545cbf..05f6ebf07 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -165,10 +165,6 @@ pt-PT: pending: Pendente de revisão perform_full_suspension: Fazer suspensão completa previous_strikes: Punições anteriores - previous_strikes_description_html: - one: Esta conta tem 1 punição. - other: Esta conta tem %{count} punições. - zero: Esta conta está em situação regular. promote: Promover protocol: Protocolo public: Público @@ -527,10 +523,6 @@ pt-PT: delivery_error_hint: Se a entrega não for possível durante %{count} dias, será automaticamente marcada como não realizável. destroyed_msg: Dados de %{domain} estão agora na fila para iminente eliminação. empty: Não foram encontrados domínios. - known_accounts: - one: "%{count} conta conhecida" - other: "%{count} contas conhecidas" - zero: Nenhuma conta conhecida moderation: all: Todas limited: Limitadas @@ -775,6 +767,11 @@ pt-PT: system_checks: database_schema_check: message_html: Existem migrações de base de dados pendentes. Por favor, execute-as para garantir que o aplicativo se comporte como esperado + elasticsearch_running_check: + message_html: Não foi possível conectar ao Elasticsearch. Por favor, verifique se está em execução, ou desabilite a pesquisa de texto completo + elasticsearch_version_check: + message_html: 'Versão de Elasticsearch incompatível: %{value}' + version_comparison: A versão de Elasticsearch %{running_version} está em execução. No entanto, é obrigatória a versão %{required_version} rules_check: action: Gerir regras da instância message_html: Não definiu nenhuma regra para a instância. @@ -794,10 +791,6 @@ pt-PT: description_html: Estes são links que atualmente estão a ser frequentemente partilhados por contas visiveis pelo seu servidor. Eles podem ajudar os seus utilizador a descobrir o que está a acontecer no mundo. Nenhum link é exibido publicamente até que aprove o editor. Também pode permitir ou rejeitar links individualmente. disallow: Não permitir link disallow_provider: Não permitir editor - shared_by_over_week: - one: Partilhado por uma pessoa na última semana - other: Partilhado por %{count} pessoas na última semana - zero: Partilhado por ninguém na última semana title: Links em destaque usage_comparison: Partilhado %{today} vezes hoje, em comparação com %{yesterday} ontem pending_review: Pendente de revisão @@ -837,10 +830,6 @@ pt-PT: trending_rank: 'Tendência #%{rank}' usable: Pode ser utilizada usage_comparison: Utilizada %{today} vezes hoje, em comparação com %{yesterday} ontem - used_by_over_week: - one: Utilizada por uma pessoa na última semana - other: Utilizada por %{count} pessoas na última semana - zero: Utilizada por ninguém na última semana title: Tendências warning_presets: add_new: Adicionar novo diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 4440f3336..d6eab2a99 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -174,9 +174,10 @@ ru: perform_full_suspension: Блокировка previous_strikes: Предыдущие замечания previous_strikes_description_html: - one: У этой учетной записи одно замечание. - other: У этой учетной записи %{count} замечания. - zero: У этой учетной записи хорошая репутация. + few: У этой учётной записи %{count} замечания. + many: У этой учётной записи %{count} замечаний. + one: У этой учётной записи одно замечание. + other: У этой учетной записи %{count} замечание. promote: Повысить protocol: Протокол public: Публичный @@ -505,9 +506,10 @@ ru: destroyed_msg: Данные для домена %{domain} поставлены в очередь на удаление. empty: Домены не найдены. known_accounts: + few: "%{count} известные учётные записи" + many: "%{count} известных учётных записей" one: "%{count} известная учётная запись" - other: "%{count} известных учётных записей" - zero: Нет известных учётных записей + other: "%{count} известная учётная запись" moderation: all: Все limited: Ограниченные @@ -748,6 +750,11 @@ ru: system_checks: database_schema_check: message_html: Есть отложенные миграции базы данных. Запустите их, чтобы убедиться, что приложение работает должным образом + elasticsearch_running_check: + message_html: Не удалось подключиться к Elasticsearch. Пожалуйста, проверьте, что он запущен, или отключите полнотекстовый поиск + elasticsearch_version_check: + message_html: 'Несовместимая версия Elasticsearch: %{value}' + version_comparison: Запущен Elasticsearch %{running_version}, а необходим %{required_version} rules_check: action: Управление правилами сервера message_html: Вы не определили правила сервера. @@ -767,9 +774,10 @@ ru: disallow: Запретить ссылку disallow_provider: Отклонить издание shared_by_over_week: + few: Поделилось %{count} человека за последнюю неделю + many: Поделилось %{count} человек за последнюю неделю one: Поделился один человек за последнюю неделю - other: Поделилось %{count} людей за последнюю неделю - zero: Никто не поделился за последнюю неделю + other: Поделился %{count} человек за последнюю неделю title: Актуальные ссылки usage_comparison: Поделились %{today} раз сегодня, по сравнению с %{yesterday} вчера pending_review: Ожидает рассмотрения @@ -797,9 +805,10 @@ ru: usable: Может использоваться usage_comparison: Использовано %{today} сегодня, для сравнения вчера %{yesterday} used_by_over_week: - one: За последнюю неделю использовано одним человеком - other: За последнюю неделю использовано %{count} людьми - zero: За последнюю неделю никто не использовал + few: За последнюю неделю использовало %{count} человека + many: За последнюю неделю использовало %{count} человек + one: За последнюю неделю использовал один человек + other: За последнюю неделю использовал %{count} человек title: Популярное warning_presets: add_new: Добавить diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml index 3276b4843..233a9f6ee 100644 --- a/config/locales/simple_form.cs.yml +++ b/config/locales/simple_form.cs.yml @@ -35,6 +35,7 @@ cs: current_password: Z bezpečnostních důvodů prosím zadejte heslo současného účtu current_username: Potvrďte prosím tuto akci zadáním uživatelského jména aktuálního účtu digest: Odesíláno pouze po dlouhé době nečinnosti a pouze, pokud jste při své nepřítomnosti obdrželi osobní zprávy + discoverable: Umožnit, aby mohli váš účet objevit neznámí lidé pomocí doporučení, trendů a dalších funkcí email: Bude vám poslán potvrzovací e-mail fields: Na profilu můžete mít až 4 položky zobrazené jako tabulka header: PNG, GIF či JPG. Maximálně %{size}. Bude zmenšen na %{dimensions} px diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml index 7fdd3b7a8..e3b4921cd 100644 --- a/config/locales/simple_form.fa.yml +++ b/config/locales/simple_form.fa.yml @@ -7,12 +7,12 @@ fa: account_migration: acct: نشانی username@domain را برای حسابی که می‌خواهید به آن منتقل شوید بنویسید account_warning_preset: - text: می‌توانید مانند بوق‌های معمولی کاربران دیگر را نام ببرید یا پیوند و برچسب بگذارید + text: می‌توانید مانند فرسته‌های معمولی کاربران دیگر را نام ببرید یا پیوند و برچسب بگذارید title: اختیاری. برای گیرنده قابل مشاهده نیست admin_account_action: - include_statuses: این کاربر خواهد دید که کدام بوق او موجب اقدام مدیریتی یا هشدار شده است + include_statuses: این کاربر خواهد دید که کدام فرسته او موجب اقدام مدیریتی یا هشدار شده است send_email_notification: توضیحی که کاربر می‌بینید که برای حسابش چه رخ داده است - text_html: اختیاری. می‌توانید مثل بوق‌های معمولی بنویسید. می‌توانید برای صرفه‌جویی در زمان هشدارهای ازپیش‌آماده بیفزایید + text_html: اختیاری. می‌توانید مثل فرسته‌های معمولی بنویسید. می‌توانید برای صرفه‌جویی در زمان هشدارهای ازپیش‌آماده بیفزایید type_html: با حساب %{acct} می‌خواهید چه کار کنید؟‌ types: disable: از استفادهٔ کاربر از حسابش جلوگیری می‌کند، ولی محتوایش را حذف یا پنهان نمی‌کند. @@ -26,9 +26,9 @@ fa: ends_at: اختیاری. اعلامیه در این به صورت خودکار نامنتشر خواهد شد scheduled_at: برای انتشار فوری اعلامیه، خالی بگذارید starts_at: اختیاری. در صورتی که اعلامیه‌تان محدود به بازهٔ زمانی خاصی است - text: می‌توانید مانند یک بوق‌ معمولی بنویسید. یادتان باشد که اعلامیهٔ شما فضای صفحهٔ کاربران را اشغال خواهد کرد + text: می‌توانید مانند یک فرسته‌ معمولی بنویسید. یادتان باشد که اعلامیهٔ شما فضای صفحهٔ کاربران را اشغال خواهد کرد appeal: - text: فقط یک بار می‌توانید برای اخطار اعتراض کنید + text: فقط یک بار می‌توانید برای اخطار درخواست تجدیدنظر کنید defaults: autofollow: کسانی که از راه دعوت‌نامه عضو می‌شوند به طور خودکار پیگیر شما خواهند شد avatar: یکی از قالب‌های PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد @@ -42,20 +42,20 @@ fa: fields: شما می‌توانید تا چهار مورد را در یک جدول در نمایهٔ خود نمایش دهید header: یکی از قالب‌های PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد inbox_url: نشانی صفحهٔ اصلی رله‌ای را که می‌خواهید به کار ببرید کپی کنید - irreversible: بوق‌های پالوده به طور برگشت‌ناپذیری ناپدید می‌شوند، حتا اگر بعدها پالایه برداشته شود + irreversible: فرسته‌های پالوده به طور برگشت‌ناپذیری ناپدید می‌شوند، حتا اگر بعدها پالایه برداشته شود locale: زبان واسط کاربری، رایانامه‌ها و آگاهی‌های ارسالی locked: باید پیگیران تازه را خودتان تأیید کنید password: دست‌کم باید ۸ نویسه داشته باشد - phrase: مستقل از کوچکی و بزرگی حروف، با متن اصلی یا هشدار محتوای بوق‌ها مقایسه می‌شود + phrase: مستقل از کوچکی و بزرگی حروف، با متن اصلی یا هشدار محتوای فرسته‌ها مقایسه می‌شود scopes: واسط‌های برنامه‌نویسی که این برنامه به آن دسترسی دارد. اگر بالاترین سطح دسترسی را انتخاب کنید، دیگر نیازی به انتخاب سطح‌های پایینی ندارید. - setting_aggregate_reblogs: برای بازبوق‌هایی که به تازگی برایتان نمایش داده شده‌اند، بازبوق‌های بیشتر را نشان نده (فقط روی بازبوق‌های اخیر تأثیر می‌گذارد) + setting_aggregate_reblogs: برای تقویت‌هایی که به تازگی برایتان نمایش داده شده‌اند، تقویت‌های بیشتر را نمایش نده (فقط روی تقویت‌های اخیر تأثیر می‌گذارد) setting_default_sensitive: تصاویر حساس به طور پیش‌فرض پنهان هستند و می‌توانند با یک کلیک آشکار شوند setting_display_media_default: تصویرهایی را که به عنوان حساس علامت زده شده‌اند پنهان کن setting_display_media_hide_all: همیشه همهٔ عکس‌ها و ویدیوها را پنهان کن setting_display_media_show_all: همیشه تصویرهایی را که به عنوان حساس علامت زده شده‌اند را نشان بده setting_hide_network: فهرست پیگیران شما و فهرست کسانی که شما پی می‌گیرید روی نمایهٔ شما دیده نخواهد شد setting_noindex: روی نمایهٔ عمومی و صفحهٔ نوشته‌های شما تأثیر می‌گذارد - setting_show_application: برنامه‌ای که به کمک آن بوق می‌زنید، در جزئیات بوق شما نمایش خواهد یافت + setting_show_application: برنامه‌ای که به کمک آن فرسته می‌زنید، در جزئیات فرسته شما نمایش خواهد یافت setting_use_blurhash: سایه‌ها بر اساس رنگ‌های به‌کاررفته در تصویر پنهان‌شده ساخته می‌شوند ولی جزئیات تصویر در آن‌ها آشکار نیست setting_use_pending_items: به جای پیش‌رفتن خودکار در فهرست، به‌روزرسانی فهرست نوشته‌ها را پشت یک کلیک پنهان کن username: نام کاربری شما روی %{domain} یکتا خواهد بود @@ -103,7 +103,7 @@ fa: text: متن از پیش آماده‌شده title: عنوان admin_account_action: - include_statuses: بوق‌های گزارش‌شده را در ایمیل بگنجان + include_statuses: فرسته‌های گزارش‌شده را در ایمیل بگنجان send_email_notification: اطلاع‌رسانی به کاربر از راه ایمیل text: هشدار موردی type: کنش @@ -150,10 +150,10 @@ fa: password: رمز phrase: کلیدواژه یا عبارت setting_advanced_layout: فعال‌سازی رابط کاربری پیشرفته - setting_aggregate_reblogs: بازبوق‌ها را متحد کن + setting_aggregate_reblogs: تقویت‌ها را در خط‌زمانی گروه‌بندی کن setting_auto_play_gif: پخش خودکار تصویرهای متحرک - setting_boost_modal: نمایش پیغام تأیید پیش از بازبوقیدن - setting_crop_images: در بوق‌های بازنشده، تصویرها را به ابعاد ۱۶×۹ کوچک کن + setting_boost_modal: نمایش پیغام تأیید پیش از تقویت کردن + setting_crop_images: در فرسته‌های ناگسترده، تصویرها را به ابعاد ‎۱۶×۹ کوچک کن setting_default_language: زبان نوشته‌های شما setting_default_privacy: حریم خصوصی نوشته‌ها setting_default_sensitive: همیشه تصاویر را به عنوان حساس علامت بزن @@ -163,7 +163,7 @@ fa: setting_display_media_default: پیش‌فرض setting_display_media_hide_all: نهفتن همه setting_display_media_show_all: نمایش همه - setting_expand_spoilers: همیشه بوق‌هایی را که هشدار محتوا دارند کامل نشان بده + setting_expand_spoilers: همیشه فرسته‌هایی را که هشدار محتوا دارند کامل نشان بده setting_hide_network: نهفتن شبکهٔ ارتباطی setting_noindex: درخواست از موتورهای جستجوگر برای ظاهر نشدن در نتایج جستجو setting_reduce_motion: کاستن از حرکت در پویانمایی‌ها @@ -200,14 +200,14 @@ fa: sign_up_requires_approval: محدود کردن ثبت نام‌ها severity: قانون notification_emails: - appeal: شخصی به تصمیم ناظر اعتراض کرد + appeal: شخصی به تصمیم مدیر اعتراض کرد digest: فرستادن رایانامه‌های خلاصه favourite: وقتی کسی نوشتهٔ شما را پسندید ایمیل بفرست follow: وقتی کسی پیگیر شما شد ایمیل بفرست follow_request: وقتی کسی درخواست پیگیری کرد ایمیل بفرست mention: وقتی کسی از شما نام برد ایمیل بفرست pending_account: وقتی حساب تازه‌ای نیاز به بازبینی داشت ایمیل بفرست - reblog: وقتی کسی نوشتهٔ شما را بازبوقید ایمیل بفرست + reblog: وقتی کسی فرستهٔ شما را تقویت کرد ایمیل بفرست report: گزارش جدیدی فرستاده شد trending_tag: روند جدیدی نیازمند بازبینی است rule: @@ -216,7 +216,7 @@ fa: listable: اجازه به این برچسب برای ظاهر شدن در جست‌وجوها و پیشنهادها name: برچسب trendable: بگذارید که این برچسب در موضوعات پرطرفدار دیده شود - usable: بگذارید که این برچسب در بوق‌ها به کار بروند + usable: بگذارید که این برچسب در فرسته‌ها به کار بروند 'no': خیر recommended: توصیه می‌شود required: diff --git a/config/locales/simple_form.gd.yml b/config/locales/simple_form.gd.yml index ac71f8307..31b636344 100644 --- a/config/locales/simple_form.gd.yml +++ b/config/locales/simple_form.gd.yml @@ -27,6 +27,8 @@ gd: scheduled_at: Fàg seo bàn airson am brath-fios fhoillseachadh sa bhad starts_at: Roghainnean. Cleachd seo airson am brath-fios a chuingeachadh rè ama shònraichte text: "’S urrainn dhut co-chàradh puist a chleachdadh. Thoir an aire air am meud a chaitheas am brath-fios air sgrìn an luchd-chleachdaidh" + appeal: + text: Chan urrainn dhut ath-thagradh a dhèanamh air rabhadh ach aon turas defaults: autofollow: Leanaidh na daoine a chlàraicheas leis a cuireadh ort gu fèin-obrachail avatar: PNG, GIF or JPG. %{size} air a char as motha. Thèid a sgèileadh sìos gu %{dimensions}px @@ -35,6 +37,7 @@ gd: current_password: A chùm tèarainteachd, cuir a-steach facal-faire a’ chunntais làithrich current_username: Airson seo a dhearbhadh, cuir a-steach ainm-cleachdaiche a’ chunntais làithrich digest: Cha dèid seo a chur ach nuair a bhios tu air ùine mhòr gun ghnìomh a ghabhail agus ma fhuair thu teachdaireachd phearsanta fhad ’s a bha thu air falbh + discoverable: Ceadaich gun lorg coigrich an cunntas agad le taic o mholaidhean, treandaichean is gleusan eile email: Thèid post-d dearbhaidh a chur thugad fields: Faodaidh tu suas ri 4 nithean a shealltainn mar chlàr air a’ phròifil agad header: PNG, GIF or JPG. %{size} air a char as motha. Thèid a sgèileadh sìos gu %{dimensions}px @@ -60,6 +63,7 @@ gd: domain_allow: domain: "’S urrainn dhan àrainn seo dàta fhaighinn on fhrithealaiche seo agus thèid an dàta a thig a-steach uaithe a phròiseasadh ’s a stòradh" email_domain_block: + domain: Seo ainm na h-àrainne a nochdas san t-seòladh puist-d no sa chlàr MX a chleachdas e. Thèid an dearbhadh aig àm a’ chlàraidh. with_dns_records: Thèid oidhirp a dhèanamh air fuasgladh clàran DNS na h-àrainne a chaidh a thoirt seachad agus thèid na toraidhean a bhacadh cuideachd featured_tag: name: 'Mholamaid fear dhe na tagaichean seo:' @@ -116,6 +120,8 @@ gd: scheduled_at: Cuir foillseachadh air an sgeideal starts_at: Toiseach an tachartais text: Brath-fios + appeal: + text: Mìnich carson a bu chòir an caochladh a chur orra defaults: autofollow: Thoir cuireadh dhaibh airson leantainn air a’ chunntas agad avatar: Avatar @@ -194,6 +200,7 @@ gd: sign_up_requires_approval: Cuingich clàraidhean ùra severity: Riaghailt notification_emails: + appeal: Tha cuideigin ag ath-thagradh co-dhùnadh na maorsainneachd digest: Cuir puist-d le geàrr-chunntas favourite: Is annsa le cuideigin am post agad follow: Lean cuideigin ort @@ -201,6 +208,8 @@ gd: mention: Thug cuideigin iomradh ort pending_account: Tha cunntas ùr feumach air lèirmheas reblog: Bhrosnaich cuideigin am post agad + report: Chaidh gearan ùr a chur a-null + trending_tag: Tha treand ùr ri lèirmheasadh rule: text: Riaghailt tag: diff --git a/config/locales/simple_form.ku.yml b/config/locales/simple_form.ku.yml index dcf723591..09621771d 100644 --- a/config/locales/simple_form.ku.yml +++ b/config/locales/simple_form.ku.yml @@ -3,20 +3,20 @@ ku: simple_form: hints: account_alias: - acct: Ajimêrê ku tu dixwazî bar bikî navê bikarhêner@domain diyar bike + acct: Ajimêrê ku tu dixwazî jê bar bikî navê bikarhêner@navpar diyar bike account_migration: - acct: Ajimêrê ku tu dixwazî bar bikî navê bikarhêner@domain diyar bike + acct: Ajimêrê ku tu dixwazî bar bikî bo wê navê bikarhêner@navpar diyar bike account_warning_preset: - text: Tu dikarî wek URLyan, hashtagan û şîroveyan, tootê ristesazî jî bikarbînî + text: Tu dikarî hevoksaziya şandiyê wekî URL, hashtag û şîroveyan, bi kar bînî title: Bi dilê xwe ye. Ji wergir re nay xûyakirin admin_account_action: - include_statuses: Bikarhênerê bibîne kîjan toot dibin sedemê çalakî an jî agahdarî + include_statuses: Bikarhêner wê bibîne kîjan şandî dibin sedemê çalakî an jî agahdarikirina çavdêriyê send_email_notification: Bikarhêner dê ravekirinê tiştê ku bi ajimêra wan re qewimî bistîne - text_html: Bi dili xwe ye. Tu dikarî hevoksazî ye toot bikarbînî. Tu dikarî pêşsazîyên hişyariyê lê zêde bikî ji bo ku demê derbas nekî + text_html: Bi dilê xwe ye. Tu dikarî hevoksaziye şandiyê bi kar bînî. Tu dikarî pêşsaziyên hişyariyê tevlî bikî ji bo ku demê derbas nekî type_html: Hilbijêre ka tu yê çi bikî bi %{acct} re types: - disable: Nehêle bila bikarhêner ajimêrê xwe bikar bîne lê naverokan jê nebe an jî veneşêre. - none: Ji bo ku tu hişyariyekê ji bikarhêner re bişînî vê bi kar bîne, bêyî ku çalakiyeke din dest lê neda. + disable: Nehêle bikarhêner ajimêrê xwe bi kar bîne lê naverokan jê nabe an jî veneşêre. + none: Ji bo ku tu hişyariyekê ji bikarhêner re bişînî vê bi kar bîne, bêyî ku çalakiyeke din bikî. sensitive: Neçar bihêle ku ev bikarhêner hemû pêvekên medyayê hestiyar nîşan bike. silence: Pêşî li bikarhêneran bigire ku bikarhêner bi herkesî ra xûyabarî neşîne, post û agahdarîyên xwe ji mirovên ku wan naşopîne veşêre. suspend: Pêşîya hevbandorîya vî ajimêrê bigire û naveroka wê jê bibe. Di nava 30 rojan de tê vegerandin. @@ -26,7 +26,7 @@ ku: ends_at: Bi dilê xwe ye. Daxuyanî di vê demê de bi xweberî ji weşanê de rabe scheduled_at: Vala bihêle ku yekcar daxûyanî were weşandin starts_at: Bi dilê xwe ye. Heke daxûyanî ya te di demeke diyar ve girêdayî be - text: Tu dikarî hevoksazî yên toot bikarbînî. Ji kerema xwe cihê ku ev daxuyanî li ser dîmenderê bikarhêner bigire baldar be + text: Tu dikarî hevoksaziya şandiyê bi kar bînî. Ji kerema xwe bila haya te ji cihê ku ev daxuyanî li ser dîmenderê bikarhêner bigire hebe appeal: text: Tu dikarî tenê carekê îtîraza binpêkirinê bikî defaults: @@ -34,7 +34,7 @@ ku: avatar: PNG, GIF an jî JPG. Herî zêde %{size} dê ber bi %{dimensions}px ve were kêmkirin bot: Ji yên din re nîşan bike ku ajimêr bi piranî kiryarên xweberî dike û dibe ku neyê çavdêrî kirin context: Yek an jî zêdetir girêdan divê parzûn were sepandin - current_password: Ji bo ewlehiyê ji kerema xwe şîfreya ajimêrê xwe niha têkevin + current_password: Ji bo ewlehiyê ji kerema xwe borînpeyva ajimêrê xwe têxe current_username: Ji bo piştrastkirinê, ji kerema xwe navê bikarhêner ya ajimêrê niha binvîse digest: Tenê piştî demek dirêj neçalakiyê de û tenê di nebûna te da peyamên teybetî standî be tê şandin discoverable: Mafê biden ku ajimêra te bi pêşniyar û taybetmendiyên din ji aliyê biyaniyan ve bê vedîtin @@ -42,10 +42,10 @@ ku: fields: Tu dikarî heya 4 hêmanan wekî tabloyek li ser profîla xwe nîşan bidî header: PNG, GIF an jî JPG. Herî zêde %{size} ber bi %{dimensions}px ve were kêmkirin inbox_url: URLyê di rûpela pêşî de guhêrkerê ku tu dixwazî bi kar bînî jê bigire - irreversible: Tootên parzûnkirî êdî bê veger wenda bibe, heger parzûn paşê were rakirin jî nabe + irreversible: Şandiyên parzûnkirî êdî bê veger wenda bibe, heger parzûn paşê were rakirin jî nabe locale: Zimanê navrûyê bikarhêner, agahdarîyên e-name û pêl kirin locked: Bi destan daxwazên şopê hilbijêrîne da ku kî bikaribe te bişopîne - password: Herî kêm 8 karakter bikar bîne + password: Herî kêm 8 tîpan bi kar bîne phrase: Ji rewşa nivîsê tîpên girdek/hûrdek an jî ji hişyariya naveroka ya şandiyê wek serbixwe wê were hevbeş kirin scopes: |- Sepana ku dê kîjan maf bide bigihije APIyan. @@ -56,7 +56,7 @@ ku: setting_display_media_hide_all: Medyayê tim veşêre setting_display_media_show_all: Medyayê tim nîşan bike setting_hide_network: Kesên ku te dişopîne û kesên tu dişopînî ev ên profîla te de were veşartin - setting_noindex: Bandor li hemî profîla te û tootên rûpela te dike + setting_noindex: Bandor li hemî profîla te û şandiyên rûpela te dike setting_show_application: Navê sepana ku tu ji bo şandinê wê bi kar tîne dê di dîtinê berferh ên di şandiyên te de were xuyakirin setting_use_blurhash: Gradyen xwe bi rengên dîtbarîyên veşartî ve radigire, lê belê hûrgilîyan diveşêre setting_use_pending_items: Li şûna ku herkê wek bixweber bizivirînî nûvekirina demnameyê li paş tikandinekî veşêre @@ -129,10 +129,10 @@ ku: avatar: Wêne bot: Ev ajimêrekî bot e chosen_languages: Parzûnê zimanan - confirm_new_password: Peborîna nû bipejirîne - confirm_password: Peborîn bipejirîne + confirm_new_password: Borînpeyva nû bipejirîne + confirm_password: Borînpeyvê bipejirîne context: Parzûnê naverokan - current_password: Pêborîna heyî + current_password: Borînpeyva heyî data: Dane discoverable: Ji yên din re ajimêrê pêşniyar bike display_name: Navê nîşandanê @@ -146,10 +146,10 @@ ku: locale: Zimanê navrûyê locked: Ajimêr kilît bike max_uses: Hejmara bikaranîna herî zêde - new_password: Pêborîna nû + new_password: Borînpeyva nû note: Jiyanname otp_attempt: Koda du faktoran - password: Pêborîn + password: Borînpeyv phrase: Peyvkilîd an jî hevok setting_advanced_layout: Navrûya tevnê yê pêşketî çalak bike setting_aggregate_reblogs: Di demnameyê de şandiyên bilindkirî kom bike @@ -169,7 +169,7 @@ ku: setting_hide_network: Grafîka xwe ya civakî veşêre setting_noindex: Bes e nexe di nav rêzên lêgerîna gerokan setting_reduce_motion: Lîstikên livoka kêm bike - setting_show_application: Sepana ku ji bo şandina toot'a tê bikaranîn diyar bike + setting_show_application: Sepana ku ji bo şandina şandiyan tê bikaranîn diyar bike setting_system_font_ui: Curenivîsa berdest a pergalê bi kar bîne setting_theme: Rûkarê malperê setting_trends: Rojeva îro nîşan bide diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index b954b50fe..ed8420aea 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -20,7 +20,7 @@ th: sensitive: บังคับให้ทำเครื่องหมายไฟล์แนบสื่อของผู้ใช้นี้ทั้งหมดว่าละเอียดอ่อน silence: ป้องกันไม่ให้ผู้ใช้สามารถโพสต์โดยมีการมองเห็นเป็นสาธารณะ ซ่อนโพสต์และการแจ้งเตือนของเขาจากผู้คนที่ไม่ได้กำลังติดตามผู้ใช้ suspend: ป้องกันไม่ให้มีการโต้ตอบใด ๆ จากหรือไปยังบัญชีนี้และลบเนื้อหาของบัญชี แปลงกลับได้ภายใน 30 วัน - warning_preset_id: ไม่จำเป็น คุณยังสามารถเพิ่มข้อความที่กำหนดเองที่จุดสิ้นสุดของค่าที่ตั้งไว้ล่วงหน้า + warning_preset_id: ไม่จำเป็น คุณยังคงสามารถเพิ่มข้อความที่กำหนดเองที่จุดสิ้นสุดของค่าที่ตั้งไว้ล่วงหน้า announcement: all_day: เมื่อกาเครื่องหมาย จะแสดงเฉพาะวันที่ของช่วงเวลาเท่านั้น ends_at: ไม่จำเป็น จะเลิกเผยแพร่ประกาศที่เวลานี้โดยอัตโนมัติ diff --git a/config/locales/sq.yml b/config/locales/sq.yml index a497ef81a..560f4bff7 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -166,9 +166,8 @@ sq: perform_full_suspension: Pezulloje previous_strikes: Paralajmërime të mëparshme previous_strikes_description_html: - one: Kjo llogari ka one paralajmërim. + one: Kjo llogari ka një paralajmërim. other: Kjo llogari ka %{count} paralajmërime. - zero: Kjo llogari është në pozita të mira. promote: Promovojeni protocol: Protokoll public: Publike @@ -373,6 +372,7 @@ sq: enable: Aktivizoje enabled: I aktivizuar enabled_msg: Ai emoxhi u aktivizua me sukses + image_hint: PNG ose GIF deri në %{size} list: Vëre në listë listed: Në listë new: @@ -468,6 +468,7 @@ sq: title: Zë i ri email në listë bllokimesh no_email_domain_block_selected: S’u ndryshuan blloqe përkatësish email, ngaqë s’qe përzgjedhur ndonjë resolved_dns_records_hint_html: Emri i përkatësisë jep u përket përkatësive vijuese MX, që janë përgjegjëset për pranim email-esh. Bllokimi i një përkatësie MX do të bllokojë regjistrime nga çfarëdo adrese email që përdor të njëjtën përkatësi MX, edhe nëse emri i dukshëm i përkatësisë është i ndryshëm. Jini i kujdesshëm të mos bllokoni shërbime të njohur email-esh. + resolved_through_html: Zgjidhur përmes %{domain} title: Listë bllokimesh email-esh follow_recommendations: description_html: "Rekomandimet për ndjekje ndihmojnë përdoruesit e rinj të gjejnë shpejt lëndë me interes. Kur një përdorues nuk ka ndërvepruar mjaftueshëm me të tjerët, që të formohen rekomandime të personalizuara ndjekjeje, rekomandohen këto llogari. Ato përzgjidhen çdo ditë, prej një përzierje llogarish me shkallën më të lartë të angazhimit dhe numrin më të lartë të ndjekësve vendorë për një gjuhë të dhënë." @@ -487,6 +488,7 @@ sq: one: Përpjekje e dështuar në %{count} ditë. other: Përpjekje e dështuar në %{count} ditë të ndryshme. no_failures_recorded: S’ka dështime të regjistruara. + warning: Përpjekja e fundit për t’u lidhur me këtë shërbyes ka qenë e pasuksesshme back_to_all: Krejt back_to_limited: E kufizuar back_to_warning: Kujdes @@ -526,7 +528,6 @@ sq: known_accounts: one: "%{count} llogari e njohur" other: "%{count} llogari të njohura" - zero: Pa llogari të njohur moderation: all: Krejt limited: Të kufizuarat @@ -771,6 +772,11 @@ sq: system_checks: database_schema_check: message_html: Ka migrime bazash të dhënash pezull. Ju lutemi, kryejini, për të qenë të sigurt se aplikacioni sillet siç priteet + elasticsearch_running_check: + message_html: S’u lidh dot me Elasticsearch. Ju lutemi, kontrolloni nëse ky xhiron, ose çaktivizoni kërkimin në tërë tekstin + elasticsearch_version_check: + message_html: 'Version Elasticsearch i papërputhshëm: %{value}' + version_comparison: Xhiron Elasticsearch %{running_version}, ndërkohë që është i domosdoshëm %{required_version} rules_check: action: Administroni rregulla shërbyesi message_html: S’keni përcaktuar ndonjë rregull shërbyesi. @@ -791,9 +797,8 @@ sq: disallow: Hiq lejimin e lidhjes disallow_provider: Mos e lejo botuesin shared_by_over_week: - one: Ndarë nga një person javën e kaluar - other: Ndarë nga %{count} persona javën e kaluar - zero: E pandarë nga njeri gjatë javës së kaluar + one: Ndarë me të tjerë nga një person gjatë javës së kaluar + other: Ndarë me të tjerë nga %{count} vetë gjatë javës së kaluar title: Lidhje në modë usage_comparison: Ndarë %{today} herë sot, kundrejt %{yesterday} dje pending_review: Në pritje të shqyrtimit @@ -832,9 +837,8 @@ sq: usable: Mund të përdoret usage_comparison: Përdorur %{today} herë sot, krahasuar me %{yesterday} dje used_by_over_week: - one: Përdorur nga një persona gjatë javës së kaluar - other: Përdorur nga %{count} persona gjatë javës së kaluar - zero: E papërdorur nga njeri gjatë javës së kaluar + one: Përdorur nga një person gjatë javës së kaluar + other: Përdorur nga %{count} vetë gjatë javës së kaluar title: Në modë warning_presets: add_new: Shtoni të ri @@ -1408,6 +1412,7 @@ sq: profile: Profil relationships: Ndjekje dhe ndjekës statuses_cleanup: Fshirje e automatizuar postimesh + strikes: Paralajmërime nga moderimi two_factor_authentication: Mirëfilltësim Dyfaktorësh webauthn_authentication: Kyçe sigurie statuses: @@ -1428,6 +1433,7 @@ sq: disallowed_hashtags: one: 'përmbante një hashtag të palejuar: %{tags}' other: 'përmbante hashtag-ë të palejuar: %{tags}' + edited_at_html: Përpunuar më %{date} errors: in_reply_not_found: Gjendja të cilës po provoni t’i përgjigjeni s’duket se ekziston. open_in_web: Hape në internet diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 441044516..c8424e5f5 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -160,10 +160,6 @@ sv: pending: Inväntar granskning perform_full_suspension: Utför full avstängning previous_strikes: Tidigare varningar - previous_strikes_description_html: - one: Detta konto har en varning. - other: Detta konto har %{count} varningar. - zero: Detta konto är i gott skick. promote: Befordra protocol: Protokoll public: Offentlig diff --git a/config/locales/th.yml b/config/locales/th.yml index d6248b7a8..ce40b9517 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -156,10 +156,6 @@ th: pending: การตรวจทานที่รอดำเนินการ perform_full_suspension: ระงับ previous_strikes: การดำเนินการก่อนหน้านี้ - previous_strikes_description_html: - one: บัญชีนี้มี หนึ่ง การดำเนินการ - other: บัญชีนี้มี %{count} การดำเนินการ - zero: บัญชีนี้ อยู่ในสถานะที่ดี promote: เลื่อนขั้น protocol: โปรโตคอล public: สาธารณะ @@ -490,10 +486,6 @@ th: delivery_available: มีการจัดส่ง delivery_error_days: วันที่มีข้อผิดพลาดการจัดส่ง empty: ไม่พบโดเมน - known_accounts: - one: "%{count} บัญชีที่รู้จัก" - other: "%{count} บัญชีที่รู้จัก" - zero: ไม่มีบัญชีที่รู้จัก moderation: all: ทั้งหมด limited: จำกัดอยู่ @@ -717,6 +709,8 @@ th: suspend: "%{name} ได้ระงับบัญชีของ %{target}" appeal_approved: อุทธรณ์แล้ว system_checks: + elasticsearch_version_check: + message_html: 'รุ่น Elasticsearch ที่เข้ากันไม่ได้: %{value}' rules_check: action: จัดการกฎของเซิร์ฟเวอร์ message_html: คุณไม่ได้กำหนดกฎของเซิร์ฟเวอร์ใด ๆ @@ -735,10 +729,6 @@ th: allow_provider: อนุญาตผู้เผยแพร่ disallow: ไม่อนุญาตลิงก์ disallow_provider: ไม่อนุญาตผู้เผยแพร่ - shared_by_over_week: - one: แบ่งปันโดยหนึ่งคนในช่วงสัปดาห์ที่ผ่านมา - other: แบ่งปันโดย %{count} คนในช่วงสัปดาห์ที่ผ่านมา - zero: ไม่มีใครแบ่งปันในช่วงสัปดาห์ที่ผ่านมา title: ลิงก์ที่กำลังนิยม usage_comparison: แบ่งปัน %{today} ครั้งวันนี้ เทียบกับ %{yesterday} เมื่อวานนี้ pending_review: การตรวจทานที่รอดำเนินการ @@ -773,10 +763,6 @@ th: trending_rank: 'กำลังนิยม #%{rank}' usable: สามารถใช้ usage_comparison: ใช้ %{today} ครั้งวันนี้ เทียบกับ %{yesterday} เมื่อวานนี้ - used_by_over_week: - one: ใช้โดยหนึ่งคนในช่วงสัปดาห์ที่ผ่านมา - other: ใช้โดย %{count} คนในช่วงสัปดาห์ที่ผ่านมา - zero: ไม่มีใครใช้ในช่วงสัปดาห์ที่ผ่านมา title: แนวโน้ม warning_presets: add_new: เพิ่มใหม่ @@ -1439,11 +1425,12 @@ th: spam: สแปม violation: เนื้อหาละเมิดหลักเกณฑ์ชุมชนดังต่อไปนี้ explanation: - delete_statuses: มีการพบว่าบางโพสต์ของคุณละเมิดหนึ่งหลักเกณฑ์ชุมชนหรือมากกว่าและได้รับการเอาออกโดยผู้ควบคุมของ %{instance} ในเวลาต่อมา + delete_statuses: มีการพบว่าโพสต์บางส่วนของคุณละเมิดหนึ่งหลักเกณฑ์ชุมชนหรือมากกว่าและได้รับการเอาออกโดยผู้ควบคุมของ %{instance} ในเวลาต่อมา disable: คุณไม่สามารถใช้บัญชีของคุณได้อีกต่อไป แต่โปรไฟล์และข้อมูลอื่น ๆ ของคุณยังคงอยู่ในสภาพเดิม คุณสามารถขอข้อมูลสำรองของข้อมูลของคุณ เปลี่ยนการตั้งค่าบัญชี หรือลบบัญชีของคุณ - mark_statuses_as_sensitive: ทำเครื่องหมายบางโพสต์ของคุณว่าละเอียดอ่อนโดยผู้ควบคุมของ %{instance} แล้ว นี่หมายความว่าผู้คนจะต้องแตะสื่อในโพสต์ก่อนที่จะแสดงตัวอย่าง คุณสามารถทำเครื่องหมายสื่อว่าละเอียดอ่อนด้วยตัวคุณเองเมื่อโพสต์ในอนาคต + mark_statuses_as_sensitive: ทำเครื่องหมายโพสต์บางส่วนของคุณว่าละเอียดอ่อนโดยผู้ควบคุมของ %{instance} แล้ว นี่หมายความว่าผู้คนจะต้องแตะสื่อในโพสต์ก่อนที่จะแสดงตัวอย่าง คุณสามารถทำเครื่องหมายสื่อว่าละเอียดอ่อนด้วยตัวคุณเองเมื่อโพสต์ในอนาคต sensitive: จากนี้ไป จะทำเครื่องหมายไฟล์สื่อที่อัปโหลดทั้งหมดของคุณว่าละเอียดอ่อนและซ่อนอยู่หลังการคลิกไปยังคำเตือน silence: คุณยังคงสามารถใช้บัญชีของคุณแต่เฉพาะผู้คนที่กำลังติดตามคุณอยู่แล้วเท่านั้นที่จะเห็นโพสต์ของคุณในเซิร์ฟเวอร์นี้ และอาจแยกคุณออกจากคุณลักษณะการค้นพบต่าง ๆ อย่างไรก็ตาม ผู้อื่นอาจยังติดตามคุณด้วยตนเอง + suspend: คุณไม่สามารถใช้บัญชีของคุณได้อีกต่อไป และจะไม่สามารถเข้าถึงโปรไฟล์และข้อมูลอื่น ๆ ของคุณได้อีกต่อไป คุณยังคงสามารถเข้าสู่ระบบเพื่อขอข้อมูลสำรองของข้อมูลของคุณจนกว่าจะเอาข้อมูลออกอย่างสมบูรณ์ในเวลาประมาณ 30 วัน แต่เราจะเก็บรักษาข้อมูลพื้นฐานบางอย่างไว้เพื่อป้องกันไม่ให้คุณหลบเลี่ยงการระงับ reason: 'เหตุผล:' statuses: 'โพสต์ที่อ้างถึง:' subject: diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 47a55326b..2733f5eba 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -165,10 +165,6 @@ tr: pending: Bekleyen yorum perform_full_suspension: Askıya al previous_strikes: Önceki eylemler - previous_strikes_description_html: - one: Bu hesap için bir eylem yapılmış. - other: Bu hesap için %{count} eylem yapılmış. - zero: Bu hesap hali iyi durumda. promote: Yükselt protocol: Protokol public: Herkese açık @@ -527,10 +523,6 @@ tr: delivery_error_hint: Eğer teslimat %{count} gün boyunca mümkün olmazsa, otomatik olarak teslim edilemiyor olarak işaretlenecek. destroyed_msg: "%{domain} alan adından veriler hemen silinmek üzere kuyruğa alındı." empty: Alan adı bulunamadı. - known_accounts: - one: "%{count} bilinen hesap" - other: "%{count} bilinen hesap" - zero: Bilinen hesap yok moderation: all: Tümü limited: Sınırlı @@ -794,10 +786,6 @@ tr: description_html: Bu bağlantılar şu anda sunucunuzun gönderilerini gördüğü hesaplarca bolca paylaşılıyor. Kullanıcılarınızın dünyada neler olduğunu görmesine yardımcı olabilir. Yayıncıyı onaylamadığınız sürece hiçbir bağlantı herkese açık yayınlanmaz. Tekil bağlantıları onaylayabilir veya reddedebilirsiniz. disallow: Bağlantıya izin verme disallow_provider: Yayıncıya izin verme - shared_by_over_week: - one: Geçen hafta bir kişi paylaştı - other: Geçen hafta %{count} kişi paylaştı - zero: Geçen hafta kimse paylaşmadı title: Öne çıkan bağlantılar usage_comparison: Bugün %{today} kere paylaşıldı, dün %{yesterday} kere paylaşılmıştı pending_review: İnceleme bekliyor @@ -837,10 +825,6 @@ tr: trending_rank: 'Öne çıkanlar #%{rank}' usable: Kullanılabilir usage_comparison: Bugün %{today} kere kullanıldı, dün %{yesterday} kere kullanılmıştı - used_by_over_week: - one: Geçen hafta bir kişi tarafından kullanıldı - other: Geçen hafta %{count} kişi tarafından kullanıldı - zero: Geçen hafta kimse tarafından kullanılmadı title: Öne çıkanlar warning_presets: add_new: Yeni ekle diff --git a/config/locales/uk.yml b/config/locales/uk.yml index ec0036226..a42f048d6 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -440,10 +440,15 @@ uk: add_new: Додати created_msg: Успішно додано поштовий домен до чорного списку delete: Видалити + dns: + types: + mx: MX-запис domain: Домен new: create: Додати домен + resolve: Розв'язати домен title: Нове блокування поштового домену + resolved_through_html: Розв'язано через %{domain} title: Чорний список поштових доменів follow_recommendations: description_html: "Слідувати рекомендаціям та допомогти новим користувачам швидко знайти цікавий вміст. Коли користувачі не взаємодіяли з іншими людьми достатньо, щоб сформувати персоналізовані рекомендації, радимо замість цього вказувати ці облікові записи. Вони щоденно переобчислюються з масиву облікових записів з найбільшою кількістю недавніх взаємодій і найбільшою кількістю місцевих підписників розраховується для цієї мови." @@ -481,10 +486,6 @@ uk: delivery_error_hint: Якщо доставляння неможливе впродовж %{count} днів, воно автоматично позначиться недоставленим. destroyed_msg: Дані з %{domain} тепер у черзі на видалення. empty: Доменів не знайдено. - known_accounts: - one: "%{count} відомий обліковий запис" - other: "%{count} відомих облікових записів" - zero: Немає відомих облікових записів moderation: all: Усі limited: Обмежені @@ -571,6 +572,7 @@ uk: forwarded: Переслано forwarded_to: Переслано до %{domain} mark_as_resolved: Відмітити як вирішену + mark_as_sensitive: Позначити делікатним mark_as_unresolved: Відмітити як невирішену no_one_assigned: Ніхто notes: @@ -745,6 +747,7 @@ uk: statuses: allow: Дозволити оприлюднення allow_account: Дозволити автора + disallow: Заборонити допис disallow_account: Заборонити автора tags: current_score: Поточний результат %{score} @@ -862,6 +865,7 @@ uk: status: account_status: Статус облікового запису confirming: Очікуємо на завершення підтвердження за допомогою електронної пошти. + functional: Ваш обліковий запис повністю робочий. pending: Ваша заява очікує на розгляд нашим персоналом. Це може зайняти деякий час. Ви отримаєте електронний лист, якщо ваша заява буде схвалена. redirecting_to: Ваш обліковий запис наразі неактивний, тому що він перенаправлений до %{acct}. too_fast: Форму подано занадто швидко, спробуйте ще раз. @@ -938,13 +942,16 @@ uk: submit: Подати апеляцію associated_report: Пов'язана скарга created_at: Застарілі + recipient: Адресант status: 'Допис #%{id}' status_removed: Допис уже вилучено з системи title: "%{action} від %{date}" title_actions: delete_statuses: Вилучення допису disable: Заморожування облікового запису + mark_statuses_as_sensitive: Позначати дописи делікатними none: Попередження + sensitive: Позначення облікового запису делікатним silence: Обмеження облікового запису suspend: Призупинення облікового запису your_appeal_approved: Вашу апеляцію було схвалено @@ -1128,6 +1135,9 @@ uk: carry_mutes_over_text: Цей користувач переїхав з %{acct}, який ви заглушили. copy_account_note_text: 'Цей користувач був переміщений з %{acct}, ось ваші попередні нотатки:' notification_mailer: + admin: + sign_up: + subject: "%{name} приєднується" digest: action: Показати усі сповіщення body: Коротко про пропущене вами з Вашого останнього входу %{since} diff --git a/config/locales/vi.yml b/config/locales/vi.yml index ea196a5cd..14e6c1c3b 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -160,9 +160,7 @@ vi: perform_full_suspension: Vô hiệu hóa previous_strikes: Lịch sử kiểm duyệt previous_strikes_description_html: - one: Người dùng này có một lần cảnh cáo. - other: Người dùng này có %{count} lần cảnh cáo. - zero: Người dùng này chưa từng bị cảnh cáo. + other: Người này bị cảnh cáo %{count} lần. promote: Chỉ định vai trò protocol: Giao thức public: Công khai @@ -230,22 +228,22 @@ vi: approve_appeal: Phê duyệt kháng cáo approve_user: Phê duyệt người dùng assigned_to_self_report: Tự xử lý báo cáo - change_email_user: Đổi email - confirm_user: Xác thực - create_account_warning: Cảnh cáo + change_email_user: Đổi email người dùng + confirm_user: Xác thực người dùng + create_account_warning: Cảnh cáo người dùng create_announcement: Tạo thông báo mới - create_custom_emoji: Tạo emoji mới - create_domain_allow: Tạo cho phép máy chủ mới - create_domain_block: Tạo chặn máy chủ mới - create_email_domain_block: Tạo chặn tên miền email mới + create_custom_emoji: Tạo emoji + create_domain_allow: Cho phép máy chủ + create_domain_block: Chặn máy chủ + create_email_domain_block: Chặn tên miền email create_ip_block: Tạo chặn IP mới - create_unavailable_domain: Tạo máy chủ không khả dụng + create_unavailable_domain: Máy chủ không khả dụng demote_user: Xóa vai trò destroy_announcement: Xóa thông báo destroy_custom_emoji: Xóa emoji - destroy_domain_allow: Xóa máy chủ cho phép - destroy_domain_block: Xóa máy chủ đã chặn - destroy_email_domain_block: Xóa tên miền email đã chặn + destroy_domain_allow: Bỏ cho phép máy chủ + destroy_domain_block: Bỏ chặn máy chủ + destroy_email_domain_block: Bỏ chặn tên miền email destroy_instance: Thanh trừng máy chủ destroy_ip_block: Xóa IP đã chặn destroy_status: Xóa tút @@ -253,10 +251,10 @@ vi: disable_2fa_user: Vô hiệu hóa 2FA disable_custom_emoji: Vô hiệu hóa emoji disable_sign_in_token_auth_user: Tắt xác thực bằng email cho người dùng - disable_user: Khóa người dùng - enable_custom_emoji: Kích hoạt Emoji + disable_user: Vô hiệu hóa đăng nhập + enable_custom_emoji: Cho phép Emoji enable_sign_in_token_auth_user: Bật xác thực bằng email cho người dùng - enable_user: Kích hoạt lại người dùng + enable_user: Bỏ vô hiệu hóa đăng nhập memorialize_account: Đánh dấu tưởng niệm promote_user: Chỉ định vai trò reject_appeal: Từ chối kháng cáo @@ -265,24 +263,24 @@ vi: reopen_report: Mở lại báo cáo reset_password_user: Đặt lại mật khẩu resolve_report: Xử lý báo cáo - sensitive_account: Đánh dấu nhạy cảm - silence_account: Đánh dấu hạn chế - suspend_account: Đánh dấu vô hiệu hóa + sensitive_account: Áp đặt nhạy cảm + silence_account: Áp đặt hạn chế + suspend_account: Áp đặt vô hiệu hóa unassigned_report: Báo cáo chưa xử lý unblock_email_account: Mở khóa địa chỉ email unsensitive_account: Bỏ nhạy cảm unsilence_account: Bỏ hạn chế unsuspend_account: Bỏ vô hiệu hóa update_announcement: Cập nhật thông báo - update_custom_emoji: Cập nhật Emoji mới + update_custom_emoji: Cập nhật Emoji update_domain_block: Cập nhật máy chủ chặn update_status: Cập nhật tút actions: approve_appeal_html: "%{name} đã phê duyệt quyết định kiểm duyệt từ %{target}" approve_user_html: "%{name} đã chấp nhận đăng ký từ %{target}" assigned_to_self_report_html: "%{name} tự xử lý báo cáo %{target}" - change_email_user_html: "%{name} đã thay đổi địa chỉ email cho %{target}" - confirm_user_html: "%{name} xác nhận địa chỉ email của người dùng %{target}" + change_email_user_html: "%{name} đã thay đổi địa chỉ email của %{target}" + confirm_user_html: "%{name} đã xác thực địa chỉ email của %{target}" create_account_warning_html: "%{name} đã gửi cảnh cáo %{target}" create_announcement_html: "%{name} tạo thông báo mới %{target}" create_custom_emoji_html: "%{name} đã tải lên biểu tượng cảm xúc mới %{target}" @@ -307,14 +305,14 @@ vi: disable_user_html: "%{name} vô hiệu hóa đăng nhập %{target}" enable_custom_emoji_html: "%{name} cho phép Emoji %{target}" enable_sign_in_token_auth_user_html: "%{name} bật xác thực email của %{target}" - enable_user_html: "%{name} mở khóa cho người dùng %{target}" + enable_user_html: "%{name} bỏ vô hiệu hóa đăng nhập %{target}" memorialize_account_html: "%{name} đã biến tài khoản %{target} thành một trang tưởng niệm" promote_user_html: "%{name} chỉ định vai trò cho %{target}" - reject_appeal_html: "%{name} đã phản đối quyết định kiểm duyệt từ %{target}" + reject_appeal_html: "%{name} đã từ chối kháng cáo của %{target}" reject_user_html: "%{name} đã từ chối đăng ký từ %{target}" remove_avatar_user_html: "%{name} đã xóa ảnh đại diện của %{target}" reopen_report_html: "%{name} mở lại báo cáo %{target}" - reset_password_user_html: "%{name} đặt lại mật khẩu của người dùng %{target}" + reset_password_user_html: "%{name} đã đặt lại mật khẩu của %{target}" resolve_report_html: "%{name} đã xử lý báo cáo %{target}" sensitive_account_html: "%{name} đánh dấu nội dung của %{target} là nhạy cảm" silence_account_html: "%{name} đã ẩn %{target}" @@ -323,15 +321,15 @@ vi: unblock_email_account_html: "%{name} mở khóa địa chỉ email của %{target}" unsensitive_account_html: "%{name} đánh dấu nội dung của %{target} là bình thường" unsilence_account_html: "%{name} đã bỏ ẩn %{target}" - unsuspend_account_html: "%{name} đã ngừng vô hiệu hóa %{target}" + unsuspend_account_html: "%{name} đã bỏ vô hiệu hóa %{target}" update_announcement_html: "%{name} cập nhật thông báo %{target}" update_custom_emoji_html: "%{name} đã cập nhật emoji %{target}" update_domain_block_html: "%{name} cập nhật chặn máy chủ %{target}" update_status_html: "%{name} cập nhật tút của %{target}" deleted_status: "(tút đã xóa)" empty: Không tìm thấy bản ghi. - filter_by_action: Lọc theo hành động - filter_by_user: Lọc theo người + filter_by_action: Theo hành động + filter_by_user: Theo người title: Nhật ký kiểm duyệt announcements: destroyed_msg: Xóa thông báo thành công! @@ -477,6 +475,7 @@ vi: other: Thất bại tạm thời vào %{count} ngày khác. no_failures_recorded: Chưa bao giờ thất bại. title: Khả dụng + warning: Lần thử cuối cùng để kết nối tới máy chủ này đã không thành công back_to_all: Toàn bộ back_to_limited: Hạn chế back_to_warning: Cảnh báo @@ -514,9 +513,7 @@ vi: destroyed_msg: Dữ liệu từ %{domain} đã lên lịch để xóa. empty: Không có máy chủ nào. known_accounts: - one: "%{count} người dùng đã biết" - other: "%{count} người dùng đã biết" - zero: Không có người dùng đã biết + other: "%{count} tài khoản đã biết" moderation: all: Tất cả limited: Hạn chế @@ -760,6 +757,11 @@ vi: system_checks: database_schema_check: message_html: Có cơ sở dữ liệu đang chờ xử lý. Xin khởi động nó để ứng dụng có thể hoạt động một cách ổn định nhất + elasticsearch_running_check: + message_html: Không thể kết nối Elasticsearch. Hãy kiểm tra xem nó có đang chạy, hay tìm kiếm full-text bị tắt + elasticsearch_version_check: + message_html: 'Phiên bản Elasticsearch không tương thích: %{value}' + version_comparison: Đang dùng Elasticsearch %{running_version} trong khi bắt buộc phải có %{required_version} rules_check: action: Sửa quy tắc máy chủ message_html: Bạn chưa cập nhật quy tắc máy chủ. @@ -780,9 +782,7 @@ vi: disallow: Cấm liên kết disallow_provider: Cấm nguồn đăng shared_by_over_week: - one: một người chia sẻ trong tuần qua - other: "%{count} người chia sẻ trong tuần qua" - zero: Không ai chia sẻ trong tuần qua + other: "%{count} người chia sẻ tuần rồi" title: Liên kết xu hướng usage_comparison: Chia sẻ %{today} lần hôm nay, so với %{yesterday} lần hôm qua pending_review: Đang chờ @@ -822,9 +822,7 @@ vi: usable: Có thể dùng usage_comparison: Dùng %{today} lần hôm nay, so với %{yesterday} hôm qua used_by_over_week: - one: Dùng bởi một người trong tuần qua - other: Dùng bởi %{count} người trong tuần qua - zero: Không ai dùng trong tuần qua + other: "%{count} người dùng tuần rồi" title: Xu hướng warning_presets: add_new: Thêm mới diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 6341b4eed..48c2ec09a 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -161,10 +161,6 @@ zh-CN: pending: 待审核 perform_full_suspension: 封禁 previous_strikes: 既往处罚 - previous_strikes_description_html: - one: 此账号有1次处罚。 - other: 此账号有%{count}次处罚。 - zero: 此账号记录良好。 promote: 升任 protocol: 协议 public: 公开页面 @@ -516,10 +512,6 @@ zh-CN: delivery_error_hint: 如果投递已不可用 %{count} 天,它将被自动标记为无法投递。 destroyed_msg: "%{domain} 中的数据现在正在排队等待被立刻删除。" empty: 暂无域名。 - known_accounts: - one: "%{count} 个已知帐户" - other: "%{count} 个已知帐户" - zero: 没有已知账户 moderation: all: 全部 limited: 受限的 @@ -782,10 +774,6 @@ zh-CN: description_html: 这些是当前此服务器可见账号的嘟文中被大量分享的链接。它可以帮助用户了解正在发生的事情。发布者获得批准前不会公开显示任何链接。你也可以批准或拒绝单个链接。 disallow: 不允许链接 disallow_provider: 不允许发布者 - shared_by_over_week: - one: 过去一周内被 1 个人分享过 - other: 过去一周内被 %{count} 个人分享过 - zero: 过去一周内未被分享过 title: 热门链接 usage_comparison: 今日被分享 %{today} 次,前一日为 %{yesterday} 次 pending_review: 待审核 @@ -824,10 +812,6 @@ zh-CN: trending_rank: '热门 #%{rank}' usable: 可以使用 usage_comparison: 今日被使用 %{today} 次,前一日为 %{yesterday} 次 - used_by_over_week: - one: 过去一周内被 1 个人使用过 - other: 过去一周内被 %{count} 个人使用过 - zero: 过去一周内未被使用过 title: 流行趋势 warning_presets: add_new: 添加新条目 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 1b64f9893..90625c5fd 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -160,9 +160,7 @@ zh-TW: perform_full_suspension: 停權 previous_strikes: 先前的警示 previous_strikes_description_html: - one: 此帳號已有 1 次警示。 other: 此帳號已有 %{count} 次警示。 - zero: 此帳號信譽良好。 promote: 晉級 protocol: 協議 public: 公開 @@ -517,9 +515,7 @@ zh-TW: destroyed_msg: 來自 %{domain} 的資料現在正在佇列中等待刪除。 empty: 找不到網域 known_accounts: - one: "%{count} 個已知帳號" other: "%{count} 個已知帳號" - zero: 沒有已知帳號 moderation: all: 全部 limited: 限制 @@ -763,6 +759,11 @@ zh-TW: system_checks: database_schema_check: message_html: 有挂起的数据库迁移,请运行它们以确保应用程序按照预期运行。 + elasticsearch_running_check: + message_html: 無法連接 Elasticsearch。請檢查是否正在執行中,或者已關閉全文搜尋。 + elasticsearch_version_check: + message_html: 不相容的 Elasticsearch 版本:%{value} + version_comparison: Elasticsearch %{running_version} 版正在執行,需要 %{required_version} 版。 rules_check: action: 管理服务器规则 message_html: 你没有定义任何服务器规则。 @@ -783,9 +784,7 @@ zh-TW: disallow: 不允許連結 disallow_provider: 不允許發行者 shared_by_over_week: - one: 上週由 1 個人分享 - other: 上週由 %{count} 個人分享 - zero: 上週無人分享 + other: 上週被 %{count} 名使用者分享 title: 熱門連結 usage_comparison: 於今日被 %{today} 人分享,相較於昨日 %{yesterday} 人 pending_review: 等待審核中 @@ -825,9 +824,7 @@ zh-TW: usable: 可被使用 usage_comparison: 於今日被使用 %{today} 次,相較於昨日 %{yesterday} 次 used_by_over_week: - one: 上週被 1 個人使用 other: 上週被 %{count} 個人使用 - zero: 上週無人使用 title: 熱門榜 warning_presets: add_new: 新增 From 0949881355ef2a39ef66ec6c98b26cf42ae363ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 17:50:40 +0900 Subject: [PATCH 155/276] Bump yargs from 17.3.1 to 17.4.0 (#17834) Bumps [yargs](https://github.com/yargs/yargs) from 17.3.1 to 17.4.0. - [Release notes](https://github.com/yargs/yargs/releases) - [Changelog](https://github.com/yargs/yargs/blob/main/CHANGELOG.md) - [Commits](https://github.com/yargs/yargs/compare/v17.3.1...v17.4.0) --- updated-dependencies: - dependency-name: yargs dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 83bf03bd3..9033a2838 100644 --- a/package.json +++ b/package.json @@ -190,7 +190,7 @@ "react-test-renderer": "^16.14.0", "sass-lint": "^1.13.1", "webpack-dev-server": "^3.11.3", - "yargs": "^17.3.1" + "yargs": "^17.4.0" }, "resolutions": { "kind-of": "^6.0.3" diff --git a/yarn.lock b/yarn.lock index 394d08e59..bb7efe76b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11536,10 +11536,10 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.3.1: - version "17.3.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" - integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== +yargs@^17.4.0: + version "17.4.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz#9fc9efc96bd3aa2c1240446af28499f0e7593d00" + integrity sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA== dependencies: cliui "^7.0.2" escalade "^3.1.1" From c6302848b474cacddb363f3576a5e7dda206a5d1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 17:51:13 +0900 Subject: [PATCH 156/276] Bump devise-two-factor from 4.0.1 to 4.0.2 (#17892) Bumps [devise-two-factor](https://github.com/tinfoil/devise-two-factor) from 4.0.1 to 4.0.2. - [Release notes](https://github.com/tinfoil/devise-two-factor/releases) - [Changelog](https://github.com/tinfoil/devise-two-factor/blob/main/CHANGELOG.md) - [Commits](https://github.com/tinfoil/devise-two-factor/compare/v4.0.1...v4.0.2) --- updated-dependencies: - dependency-name: devise-two-factor dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index cafb814a6..73b23126b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -96,7 +96,7 @@ GEM aws-sigv4 (~> 1.4) aws-sigv4 (1.4.0) aws-eventstream (~> 1, >= 1.0.2) - bcrypt (3.1.16) + bcrypt (3.1.17) better_errors (2.9.1) coderay (>= 1.0.0) erubi (>= 1.0.0) @@ -174,11 +174,11 @@ GEM railties (>= 4.1.0) responders warden (~> 1.2.3) - devise-two-factor (4.0.1) - activesupport (< 6.2) + devise-two-factor (4.0.2) + activesupport (< 7.1) attr_encrypted (>= 1.3, < 4, != 2) devise (~> 4.0) - railties (< 6.2) + railties (< 7.1) rotp (~> 6.0) devise_pam_authenticatable2 (9.2.0) devise (>= 4.0.0) From a2091f9daf6770833be8290834be3b50a8929493 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 17:51:55 +0900 Subject: [PATCH 157/276] Bump prettier from 2.6.0 to 2.6.1 (#17893) Bumps [prettier](https://github.com/prettier/prettier) from 2.6.0 to 2.6.1. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/2.6.0...2.6.1) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 9033a2838..36999d4ab 100644 --- a/package.json +++ b/package.json @@ -184,7 +184,7 @@ "eslint-plugin-promise": "~6.0.0", "eslint-plugin-react": "~7.29.4", "jest": "^27.5.1", - "prettier": "^2.6.0", + "prettier": "^2.6.1", "raf": "^3.4.1", "react-intl-translations-manager": "^5.0.3", "react-test-renderer": "^16.14.0", diff --git a/yarn.lock b/yarn.lock index bb7efe76b..7b9473eba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8651,10 +8651,10 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -prettier@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.0.tgz#12f8f504c4d8ddb76475f441337542fa799207d4" - integrity sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A== +prettier@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.1.tgz#d472797e0d7461605c1609808e27b80c0f9cfe17" + integrity sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A== pretty-format@^25.2.1, pretty-format@^25.5.0: version "25.5.0" From 8d7064faeb2d90c4e09546a0ffa8d4511d3d6388 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 17:52:24 +0900 Subject: [PATCH 158/276] Bump @testing-library/jest-dom from 5.16.2 to 5.16.3 (#17895) Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.16.2 to 5.16.3. - [Release notes](https://github.com/testing-library/jest-dom/releases) - [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md) - [Commits](https://github.com/testing-library/jest-dom/compare/v5.16.2...v5.16.3) --- updated-dependencies: - dependency-name: "@testing-library/jest-dom" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 36999d4ab..de440c6b2 100644 --- a/package.json +++ b/package.json @@ -174,7 +174,7 @@ "ws": "^8.5.0" }, "devDependencies": { - "@testing-library/jest-dom": "^5.16.2", + "@testing-library/jest-dom": "^5.16.3", "@testing-library/react": "^12.1.4", "babel-eslint": "^10.1.0", "babel-jest": "^27.5.1", diff --git a/yarn.lock b/yarn.lock index 7b9473eba..155e9579b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1490,10 +1490,10 @@ lz-string "^1.4.4" pretty-format "^27.0.2" -"@testing-library/jest-dom@^5.16.2": - version "5.16.2" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.2.tgz#f329b36b44aa6149cd6ced9adf567f8b6aa1c959" - integrity sha512-6ewxs1MXWwsBFZXIk4nKKskWANelkdUehchEOokHsN8X7c2eKXGw+77aRV63UU8f/DTSVUPLaGxdrj4lN7D/ug== +"@testing-library/jest-dom@^5.16.3": + version "5.16.3" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.3.tgz#b76851a909586113c20486f1679ffb4d8ec27bfa" + integrity sha512-u5DfKj4wfSt6akfndfu1eG06jsdyA/IUrlX2n3pyq5UXgXMhXY+NJb8eNK/7pqPWAhCKsCGWDdDO0zKMKAYkEA== dependencies: "@babel/runtime" "^7.9.2" "@types/testing-library__jest-dom" "^5.9.1" From 560f2cc9e3c4be37e734f160f11f902c51fc82bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 17:52:52 +0900 Subject: [PATCH 159/276] Bump babel-loader from 8.2.3 to 8.2.4 (#17894) Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.2.3 to 8.2.4. - [Release notes](https://github.com/babel/babel-loader/releases) - [Changelog](https://github.com/babel/babel-loader/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel-loader/compare/v8.2.3...v8.2.4) --- updated-dependencies: - dependency-name: babel-loader dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index de440c6b2..35966f2f4 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "arrow-key-navigation": "^1.2.0", "autoprefixer": "^9.8.8", "axios": "^0.26.1", - "babel-loader": "^8.2.3", + "babel-loader": "^8.2.4", "babel-plugin-lodash": "^3.3.4", "babel-plugin-preval": "^5.1.0", "babel-plugin-react-intl": "^6.2.0", diff --git a/yarn.lock b/yarn.lock index 155e9579b..6b0a7979c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2361,13 +2361,13 @@ babel-jest@^27.5.1: graceful-fs "^4.2.9" slash "^3.0.0" -babel-loader@^8.2.3: - version "8.2.3" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" - integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw== +babel-loader@^8.2.4: + version "8.2.4" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.4.tgz#95f5023c791b2e9e2ca6f67b0984f39c82ff384b" + integrity sha512-8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A== dependencies: find-cache-dir "^3.3.1" - loader-utils "^1.4.0" + loader-utils "^2.0.0" make-dir "^3.1.0" schema-utils "^2.6.5" From 64e087e0c31a804ebb9d1ffd13a84adaf8a99dbf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 17:53:21 +0900 Subject: [PATCH 160/276] Bump concurrent-ruby from 1.1.9 to 1.1.10 (#17889) Bumps [concurrent-ruby](https://github.com/ruby-concurrency/concurrent-ruby) from 1.1.9 to 1.1.10. - [Release notes](https://github.com/ruby-concurrency/concurrent-ruby/releases) - [Changelog](https://github.com/ruby-concurrency/concurrent-ruby/blob/master/CHANGELOG.md) - [Commits](https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.1.9...v1.1.10) --- updated-dependencies: - dependency-name: concurrent-ruby dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 73b23126b..64e449186 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -157,7 +157,7 @@ GEM climate_control (0.2.0) coderay (1.1.3) color_diff (0.1) - concurrent-ruby (1.1.9) + concurrent-ruby (1.1.10) connection_pool (2.2.5) cose (1.0.0) cbor (~> 0.5.9) From 5b83733d327c8c944ccc995b7f9f8ab8a710d649 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 18:49:00 +0900 Subject: [PATCH 161/276] Bump capistrano from 3.16.0 to 3.17.0 (#17774) * Bump capistrano from 3.16.0 to 3.17.0 Bumps [capistrano](https://github.com/capistrano/capistrano) from 3.16.0 to 3.17.0. - [Release notes](https://github.com/capistrano/capistrano/releases) - [Commits](https://github.com/capistrano/capistrano/compare/v3.16.0...v3.17.0) --- updated-dependencies: - dependency-name: capistrano dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * 3.17.0 Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Yamagishi Kazutoshi --- Gemfile | 2 +- Gemfile.lock | 4 ++-- config/deploy.rb | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 0cf26980d..b29bf6818 100644 --- a/Gemfile +++ b/Gemfile @@ -137,7 +137,7 @@ group :development do gem 'brakeman', '~> 5.2', require: false gem 'bundler-audit', '~> 0.9', require: false - gem 'capistrano', '~> 3.16' + gem 'capistrano', '~> 3.17' gem 'capistrano-rails', '~> 1.6' gem 'capistrano-rbenv', '~> 2.2' gem 'capistrano-yarn', '~> 2.0' diff --git a/Gemfile.lock b/Gemfile.lock index 64e449186..c0fb74c1d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -121,7 +121,7 @@ GEM bundler (>= 1.2.0, < 3) thor (~> 1.0) byebug (11.1.3) - capistrano (3.16.0) + capistrano (3.17.0) airbrussh (>= 1.0.0) i18n rake (>= 10.0.0) @@ -732,7 +732,7 @@ DEPENDENCIES browser bullet (~> 7.0) bundler-audit (~> 0.9) - capistrano (~> 3.16) + capistrano (~> 3.17) capistrano-rails (~> 1.6) capistrano-rbenv (~> 2.2) capistrano-yarn (~> 2.0) diff --git a/config/deploy.rb b/config/deploy.rb index f642e6e59..8a2316b57 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -lock '3.16.0' +lock '3.17.0' set :repo_url, ENV.fetch('REPO', 'https://github.com/mastodon/mastodon.git') set :branch, ENV.fetch('BRANCH', 'master') From 22c19eefb11b4d8d9ef7c483443c78929d4a9733 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 18:58:28 +0900 Subject: [PATCH 162/276] Bump rubocop from 1.26.0 to 1.26.1 (#17891) Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.26.0 to 1.26.1. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.26.0...v1.26.1) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c0fb74c1d..d8b684ce8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -431,7 +431,7 @@ GEM openssl-signature_algorithm (0.4.0) orm_adapter (0.5.0) ox (2.14.10) - parallel (1.22.0) + parallel (1.22.1) parser (3.1.1.0) ast (~> 2.4.1) parslet (2.0.0) @@ -559,7 +559,7 @@ GEM rspec-support (3.11.0) rspec_junit_formatter (0.5.1) rspec-core (>= 2, < 4, != 2.12.0) - rubocop (1.26.0) + rubocop (1.26.1) parallel (~> 1.10) parser (>= 3.1.0.0) rainbow (>= 2.2.2, < 4.0) From cc9cd25d30e5d2b33e589c4f6f579d6002208445 Mon Sep 17 00:00:00 2001 From: Yurii Izorkin Date: Tue, 29 Mar 2022 23:16:59 +0300 Subject: [PATCH 163/276] caniuse-lite: add hash sum (#17902) --- yarn.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index 6b0a7979c..f59fcc41b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2943,7 +2943,7 @@ caniuse-api@^3.0.0: caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001271, caniuse-lite@^1.0.30001286: version "1.0.30001310" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001310.tgz" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001310.tgz#da02cd07432c9eece6992689d1b84ca18139eea8" integrity sha512-cb9xTV8k9HTIUA3GnPUJCk0meUnrHL5gy5QePfDjxHyNBcnzPzrHFv5GqfP7ue5b1ZyzZL0RJboD6hQlPXjhjg== chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: From 2de5128e6658cf448b521498e687b17d83b5db02 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 29 Mar 2022 22:55:37 +0200 Subject: [PATCH 164/276] Fix regression of status colors in actions modal in web UI (#17903) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #17900 Regression in #17844 (#17851 restored the code in the wrong place…) --- .../styles/mastodon/components.scss | 74 +++++++++---------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index d627d9557..3bd52eed3 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -1009,6 +1009,43 @@ .audio-player { margin-top: 8px; } + + &.light { + .status__relative-time, + .status__visibility-icon { + color: $light-text-color; + } + + .status__display-name { + color: $inverted-text-color; + } + + .display-name { + color: $light-text-color; + + strong { + color: $inverted-text-color; + } + } + + .status__content { + color: $inverted-text-color; + + a { + color: $highlight-text-color; + } + + a.status__content__spoiler-link { + color: $primary-text-color; + background: $ui-primary-color; + + &:hover, + &:focus { + background: lighten($ui-primary-color, 8%); + } + } + } + } } .status__relative-time, @@ -1154,43 +1191,6 @@ .audio-player { margin-top: 8px; } - - &.light { - .status__relative-time, - .status__visibility-icon { - color: $light-text-color; - } - - .status__display-name { - color: $inverted-text-color; - } - - .display-name { - color: $light-text-color; - - strong { - color: $inverted-text-color; - } - } - - .status__content { - color: $inverted-text-color; - - a { - color: $highlight-text-color; - } - - a.status__content__spoiler-link { - color: $primary-text-color; - background: $ui-primary-color; - - &:hover, - &:focus { - background: lighten($ui-primary-color, 8%); - } - } - } - } } .detailed-status__meta { From 2cc7ba26715c9f3fcc81ee5d30b282b1493a2e0b Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 30 Mar 2022 10:26:51 +0200 Subject: [PATCH 165/276] Refactor `response_to_recipient?` CTE (#17899) * Optimize and clean up `response_to_recipient?` CTE Marginally improve performances, and make the CTE much more readable * Limit max depth in `response_to_recipient?` CTE --- app/services/notify_service.rb | 40 +++++++--------------------------- 1 file changed, 8 insertions(+), 32 deletions(-) diff --git a/app/services/notify_service.rb b/app/services/notify_service.rb index b1f9fd755..a90f17cfd 100644 --- a/app/services/notify_service.rb +++ b/app/services/notify_service.rb @@ -48,47 +48,23 @@ class NotifyService < BaseService return false if @notification.target_status.in_reply_to_id.nil? # Using an SQL CTE to avoid unneeded back-and-forth with SQL server in case of long threads - !Status.count_by_sql([<<-SQL.squish, id: @notification.target_status.in_reply_to_id, recipient_id: @recipient.id, sender_id: @notification.from_account.id]).zero? - WITH RECURSIVE ancestors(id, in_reply_to_id, replying_to_sender, path) AS ( - SELECT - s.id, - s.in_reply_to_id, - (CASE - WHEN s.account_id = :recipient_id THEN - EXISTS ( - SELECT * - FROM mentions m - WHERE m.silent = FALSE AND m.account_id = :sender_id AND m.status_id = s.id - ) - ELSE - FALSE - END), - ARRAY[s.id] + !Status.count_by_sql([<<-SQL.squish, id: @notification.target_status.in_reply_to_id, recipient_id: @recipient.id, sender_id: @notification.from_account.id, depth_limit: 100]).zero? + WITH RECURSIVE ancestors(id, in_reply_to_id, mention_id, path, depth) AS ( + SELECT s.id, s.in_reply_to_id, m.id, ARRAY[s.id], 0 FROM statuses s + LEFT JOIN mentions m ON m.silent = FALSE AND m.account_id = :sender_id AND m.status_id = s.id WHERE s.id = :id UNION ALL - SELECT - s.id, - s.in_reply_to_id, - (CASE - WHEN s.account_id = :recipient_id THEN - EXISTS ( - SELECT * - FROM mentions m - WHERE m.silent = FALSE AND m.account_id = :sender_id AND m.status_id = s.id - ) - ELSE - FALSE - END), - st.path || s.id + SELECT s.id, s.in_reply_to_id, m.id, st.path || s.id, st.depth + 1 FROM ancestors st JOIN statuses s ON s.id = st.in_reply_to_id - WHERE st.replying_to_sender IS FALSE AND NOT s.id = ANY(path) + LEFT JOIN mentions m ON m.silent = FALSE AND m.account_id = :sender_id AND m.status_id = s.id + WHERE st.mention_id IS NULL AND NOT s.id = ANY(path) AND st.depth < :depth_limit ) SELECT COUNT(*) FROM ancestors st JOIN statuses s ON s.id = st.id - WHERE st.replying_to_sender IS TRUE AND s.visibility = 3 + WHERE st.mention_id IS NOT NULL AND s.visibility = 3 SQL end From 607ce67e05885108fbcbe0e3c170718a5586044e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 30 Mar 2022 14:34:53 +0200 Subject: [PATCH 166/276] Revert "Split build image actions (#17793)" (#17907) This reverts commit 22eeaf2645e44ea800a6e4c4acb7bf9d72211344. --- .github/workflows/build-image.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index 0fa28aca1..75c7b54a6 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -13,9 +13,6 @@ on: jobs: build-image: runs-on: ubuntu-latest - strategy: - matrix: - os: [linux/arm64, linux/amd64] steps: - uses: actions/checkout@v2 - uses: docker/setup-qemu-action@v1 @@ -38,7 +35,7 @@ jobs: - uses: docker/build-push-action@v2 with: context: . - platforms: ${{ matrix.os }} + platforms: linux/amd64,linux/arm64 push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta.outputs.tags }} cache-from: type=registry,ref=tootsuite/mastodon:latest From 5554ff2a1d6f451d63d03f4eb0a740d8c91455de Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 30 Mar 2022 14:45:52 +0200 Subject: [PATCH 167/276] Fix being able to bypass e-mail restrictions (#17909) --- app/models/user.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index f2d9c49eb..e25c0ddb0 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -91,11 +91,11 @@ class User < ApplicationRecord validates :invite_request, presence: true, on: :create, if: :invite_text_required? validates :locale, inclusion: I18n.available_locales.map(&:to_s), if: :locale? - validates_with BlacklistedEmailValidator, on: :create + validates_with BlacklistedEmailValidator, if: -> { !confirmed? } validates_with EmailMxValidator, if: :validate_email_dns? validates :agreement, acceptance: { allow_nil: false, accept: [true, 'true', '1'] }, on: :create - # Those are honeypot/antispam fields + # Honeypot/anti-spam fields attr_accessor :registration_form_time, :website, :confirm_password validates_with RegistrationFormTimeValidator, on: :create From bbc7afa2a24519ac238cbcd4e8aec310a002c40e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 30 Mar 2022 14:46:03 +0200 Subject: [PATCH 168/276] Fix being able to post URLs longer than 4096 characters (#17908) --- app/lib/extractor.rb | 6 +++ app/validators/status_length_validator.rb | 50 +++++++++++++------ .../status_length_validator_spec.rb | 15 ++++++ 3 files changed, 57 insertions(+), 14 deletions(-) diff --git a/app/lib/extractor.rb b/app/lib/extractor.rb index ef9407864..aea60dae5 100644 --- a/app/lib/extractor.rb +++ b/app/lib/extractor.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true module Extractor + MAX_DOMAIN_LENGTH = 253 + extend Twitter::TwitterText::Extractor module_function @@ -30,6 +32,10 @@ module Extractor after = $' unless Twitter::TwitterText::Regex[:end_mention_match].match?(after) + _, domain = screen_name.split('@') + + next if domain.present? && domain.length > MAX_DOMAIN_LENGTH + start_position = match_data.char_begin(1) - 1 end_position = match_data.char_end(1) diff --git a/app/validators/status_length_validator.rb b/app/validators/status_length_validator.rb index 4c258ec16..e107912b7 100644 --- a/app/validators/status_length_validator.rb +++ b/app/validators/status_length_validator.rb @@ -3,35 +3,57 @@ class StatusLengthValidator < ActiveModel::Validator MAX_CHARS = 500 URL_PLACEHOLDER_CHARS = 23 - URL_PLACEHOLDER = "\1#{'x' * URL_PLACEHOLDER_CHARS}" + URL_PLACEHOLDER = 'x' * 23 def validate(status) return unless status.local? && !status.reblog? - @status = status - status.errors.add(:text, I18n.t('statuses.over_character_limit', max: MAX_CHARS)) if too_long? + status.errors.add(:text, I18n.t('statuses.over_character_limit', max: MAX_CHARS)) if too_long?(status) end private - def too_long? - countable_length > MAX_CHARS + def too_long?(status) + countable_length(combined_text(status)) > MAX_CHARS end - def countable_length - total_text.mb_chars.grapheme_length + def countable_length(str) + str.mb_chars.grapheme_length end - def total_text - [@status.spoiler_text, countable_text].join + def combined_text(status) + [status.spoiler_text, countable_text(status.text)].join end - def countable_text - return '' if @status.text.nil? + def countable_text(str) + return '' if str.blank? - @status.text.dup.tap do |new_text| - new_text.gsub!(FetchLinkCardService::URL_PATTERN, URL_PLACEHOLDER) - new_text.gsub!(Account::MENTION_RE, '@\2') + # To ensure that we only give length concessions to entities that + # will be correctly parsed during formatting, we go through full + # entity extraction + + entities = Extractor.remove_overlapping_entities(Extractor.extract_urls_with_indices(str, extract_url_without_protocol: false) + Extractor.extract_mentions_or_lists_with_indices(str)) + + rewrite_entities(str, entities) do |entity| + if entity[:url] + URL_PLACEHOLDER + elsif entity[:screen_name] + "@#{entity[:screen_name].split('@').first}" + end end end + + def rewrite_entities(str, entities) + entities.sort_by! { |entity| entity[:indices].first } + result = ''.dup + + last_index = entities.reduce(0) do |index, entity| + result << str[index...entity[:indices].first] + result << yield(entity) + entity[:indices].last + end + + result << str[last_index..-1] + result + end end diff --git a/spec/validators/status_length_validator_spec.rb b/spec/validators/status_length_validator_spec.rb index bef3f29f5..db9c728a8 100644 --- a/spec/validators/status_length_validator_spec.rb +++ b/spec/validators/status_length_validator_spec.rb @@ -50,6 +50,13 @@ describe StatusLengthValidator do expect(status.errors).to have_received(:add) end + it 'does not count overly long URLs as 23 characters flat' do + text = "http://example.com/valid?#{'#foo?' * 1000}" + status = double(spoiler_text: '', text: text, errors: double(add: nil), local?: true, reblog?: false) + subject.validate(status) + expect(status.errors).to have_received(:add) + end + it 'counts only the front part of remote usernames' do text = ('a' * 475) + " @alice@#{'b' * 30}.com" status = double(spoiler_text: '', text: text, errors: double(add: nil), local?: true, reblog?: false) @@ -57,5 +64,13 @@ describe StatusLengthValidator do subject.validate(status) expect(status.errors).to_not have_received(:add) end + + it 'does count both parts of remote usernames for overly long domains' do + text = "@alice@#{'b' * 500}.com" + status = double(spoiler_text: '', text: text, errors: double(add: nil), local?: true, reblog?: false) + + subject.validate(status) + expect(status.errors).to have_received(:add) + end end end From 8c7223f4eac80b5725485be742d3fa2c984f4670 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 30 Mar 2022 14:52:37 +0200 Subject: [PATCH 169/276] Bump version to 3.5.0 (#17911) --- CHANGELOG.md | 7 ++++++- lib/mastodon/version.rb | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0305d148..dd0ccc5f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ Changelog All notable changes to this project will be documented in this file. -## Unreleased +## [3.5.0] - 2022-03-30 ### Added - **Add support for incoming edited posts** ([Gargron](https://github.com/mastodon/mastodon/pull/16697), [Gargron](https://github.com/mastodon/mastodon/pull/17727), [Gargron](https://github.com/mastodon/mastodon/pull/17728), [Gargron](https://github.com/mastodon/mastodon/pull/17320), [Gargron](https://github.com/mastodon/mastodon/pull/17404), [Gargron](https://github.com/mastodon/mastodon/pull/17390), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17335), [Gargron](https://github.com/mastodon/mastodon/pull/17696), [Gargron](https://github.com/mastodon/mastodon/pull/17745), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17740), [Gargron](https://github.com/mastodon/mastodon/pull/17697), [Gargron](https://github.com/mastodon/mastodon/pull/17648), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17531), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17499), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17498), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17380), [Gargron](https://github.com/mastodon/mastodon/pull/17373), [Gargron](https://github.com/mastodon/mastodon/pull/17334), [Gargron](https://github.com/mastodon/mastodon/pull/17333), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17699), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17748)) @@ -197,6 +197,11 @@ All notable changes to this project will be documented in this file. - Fix hashtag autocomplete overriding user-typed case ([weex](https://github.com/mastodon/mastodon/pull/16460)) - Fix WebAuthn authentication setup to not prompt for PIN ([truongnmt](https://github.com/mastodon/mastodon/pull/16545)) +### Security + +- Fix being able to post URLs longer than 4096 characters ([Gargron](https://github.com/mastodon/mastodon/pull/17908)) +- Fix being able to bypass e-mail restrictions ([Gargron](https://github.com/mastodon/mastodon/pull/17909)) + ## [3.4.6] - 2022-02-03 ### Fixed diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index b1bd692a5..256a3d3b7 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -17,7 +17,7 @@ module Mastodon end def flags - 'rc3' + '' end def suffix From ef196c913c77338be5ebb1e02af2f6225f857080 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 31 Mar 2022 00:49:24 +0200 Subject: [PATCH 170/276] Fix error MethodError in Chewy::Strategy::Sidekiq::Worker (#17912) Also refactor a bit to reduce code duplication. --- app/chewy/statuses_index.rb | 2 +- app/helpers/formatting_helper.rb | 1 + app/lib/feed_manager.rb | 11 +---------- app/models/status.rb | 9 +++++++++ 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/app/chewy/statuses_index.rb b/app/chewy/statuses_index.rb index bfd61a048..1381a96ed 100644 --- a/app/chewy/statuses_index.rb +++ b/app/chewy/statuses_index.rb @@ -59,7 +59,7 @@ class StatusesIndex < Chewy::Index field :id, type: 'long' field :account_id, type: 'long' - field :text, type: 'text', value: ->(status) { [status.spoiler_text, extract_status_plain_text(status)].concat(status.ordered_media_attachments.map(&:description)).concat(status.preloadable_poll ? status.preloadable_poll.options : []).join("\n\n") } do + field :text, type: 'text', value: ->(status) { status.searchable_text } do field :stemmed, type: 'text', analyzer: 'content' end diff --git a/app/helpers/formatting_helper.rb b/app/helpers/formatting_helper.rb index e11156999..a58dd608f 100644 --- a/app/helpers/formatting_helper.rb +++ b/app/helpers/formatting_helper.rb @@ -12,6 +12,7 @@ module FormattingHelper def extract_status_plain_text(status) PlainTextFormatter.new(status.text, status.local?).to_s end + module_function :extract_status_plain_text def status_content_format(status) html_aware_format(status.text, status.local?, preloaded_accounts: [status.account] + (status.respond_to?(:active_mentions) ? status.active_mentions.map(&:account) : [])) diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb index 709450080..085f1b274 100644 --- a/app/lib/feed_manager.rb +++ b/app/lib/feed_manager.rb @@ -5,7 +5,6 @@ require 'singleton' class FeedManager include Singleton include Redisable - include FormattingHelper # Maximum number of items stored in a single feed MAX_ITEMS = 400 @@ -443,16 +442,8 @@ class FeedManager return false if active_filters.empty? combined_regex = Regexp.union(active_filters) - status = status.reblog if status.reblog? - combined_text = [ - extract_status_plain_text(status), - status.spoiler_text, - status.preloadable_poll ? status.preloadable_poll.options.join("\n\n") : nil, - status.ordered_media_attachments.map(&:description).join("\n\n"), - ].compact.join("\n\n") - - combined_regex.match?(combined_text) + combined_regex.match?(status.proper.searchable_text) end # Adds a status to an account's feed, returning true if a status was diff --git a/app/models/status.rb b/app/models/status.rb index bf5a49b7f..a71451f50 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -155,6 +155,15 @@ class Status < ApplicationRecord ids.uniq end + def searchable_text + [ + spoiler_text, + FormattingHelper.extract_status_plain_text(self), + preloadable_poll ? preloadable_poll.options.join("\n\n") : nil, + ordered_media_attachments.map(&:description).join("\n\n"), + ].compact.join("\n\n") + end + def reply? !in_reply_to_id.nil? || attributes['reply'] end From ea0cfd8e7ed41b32aaa47eabb1c73845ae843fcb Mon Sep 17 00:00:00 2001 From: Holger Date: Thu, 31 Mar 2022 17:20:26 +0800 Subject: [PATCH 171/276] fix: PWA web manifest not changed to new routes (#17921) --- app/serializers/manifest_serializer.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/serializers/manifest_serializer.rb b/app/serializers/manifest_serializer.rb index 4786aa760..ad05fdf6b 100644 --- a/app/serializers/manifest_serializer.rb +++ b/app/serializers/manifest_serializer.rb @@ -44,7 +44,7 @@ class ManifestSerializer < ActiveModel::Serializer end def start_url - '/web/timelines/home' + '/web/home' end def scope @@ -69,7 +69,7 @@ class ManifestSerializer < ActiveModel::Serializer [ { name: 'New toot', - url: '/web/statuses/new', + url: '/web/publish', icons: [ { src: '/shortcuts/new-status.png', @@ -91,7 +91,7 @@ class ManifestSerializer < ActiveModel::Serializer }, { name: 'Direct messages', - url: '/web/timelines/direct', + url: '/web/conversations', icons: [ { src: '/shortcuts/direct.png', From 24d446adf22644c61e4d61ef612458cf087326dd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 31 Mar 2022 19:10:40 +0900 Subject: [PATCH 172/276] Bump puma from 5.6.2 to 5.6.4 (#17914) Bumps [puma](https://github.com/puma/puma) from 5.6.2 to 5.6.4. - [Release notes](https://github.com/puma/puma/releases) - [Changelog](https://github.com/puma/puma/blob/master/History.md) - [Commits](https://github.com/puma/puma/compare/v5.6.2...v5.6.4) --- updated-dependencies: - dependency-name: puma dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d8b684ce8..16492c41e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -459,7 +459,7 @@ GEM pry-rails (0.3.9) pry (>= 0.10.4) public_suffix (4.0.6) - puma (5.6.2) + puma (5.6.4) nio4r (~> 2.0) pundit (2.2.0) activesupport (>= 3.0.0) From 44b7be45f1161d6378dba13e083b3c05d90cf0fa Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 1 Apr 2022 23:55:32 +0200 Subject: [PATCH 173/276] Fix assets failing to build with OpenSSL 3 because of deprecated hash algorithm (#17930) Fixes #17924 --- config/webpack/shared.js | 1 + 1 file changed, 1 insertion(+) diff --git a/config/webpack/shared.js b/config/webpack/shared.js index 05828aebe..3447e711c 100644 --- a/config/webpack/shared.js +++ b/config/webpack/shared.js @@ -37,6 +37,7 @@ module.exports = { filename: 'js/[name]-[chunkhash].js', chunkFilename: 'js/[name]-[chunkhash].chunk.js', hotUpdateChunkFilename: 'js/[id]-[hash].hot-update.js', + hashFunction: 'sha256', path: output.path, publicPath: output.publicPath, }, From 39b489ba4c362997b41dd039971b8b510f6fe10d Mon Sep 17 00:00:00 2001 From: Holger Date: Sat, 2 Apr 2022 05:56:23 +0800 Subject: [PATCH 174/276] fix: `s3_force_single_request` not parsed (#17922) --- config/application.rb | 1 - config/initializers/paperclip.rb | 20 ++++++++++++++++++++ lib/paperclip/storage_extensions.rb | 21 --------------------- 3 files changed, 20 insertions(+), 22 deletions(-) delete mode 100644 lib/paperclip/storage_extensions.rb diff --git a/config/application.rb b/config/application.rb index eb5af9cc0..bed935ce3 100644 --- a/config/application.rb +++ b/config/application.rb @@ -27,7 +27,6 @@ require_relative '../lib/sanitize_ext/sanitize_config' require_relative '../lib/redis/namespace_extensions' require_relative '../lib/paperclip/url_generator_extensions' require_relative '../lib/paperclip/attachment_extensions' -require_relative '../lib/paperclip/storage_extensions' require_relative '../lib/paperclip/lazy_thumbnail' require_relative '../lib/paperclip/gif_transcoder' require_relative '../lib/paperclip/transcoder' diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb index e2a045647..26b0a2f7c 100644 --- a/config/initializers/paperclip.rb +++ b/config/initializers/paperclip.rb @@ -83,6 +83,26 @@ if ENV['S3_ENABLED'] == 'true' s3_host_alias: ENV['S3_ALIAS_HOST'] || ENV['S3_CLOUDFRONT_HOST'] ) end + + # Some S3-compatible providers might not actually be compatible with some APIs + # used by kt-paperclip, see https://github.com/mastodon/mastodon/issues/16822 + if ENV['S3_FORCE_SINGLE_REQUEST'] == 'true' + module Paperclip + module Storage + module S3Extensions + def copy_to_local_file(style, local_dest_path) + log("copying #{path(style)} to local file #{local_dest_path}") + s3_object(style).download_file(local_dest_path, { mode: 'single_request' }) + rescue Aws::Errors::ServiceError => e + warn("#{e} - cannot copy #{path(style)} to local file #{local_dest_path}") + false + end + end + end + end + + Paperclip::Storage::S3.prepend(Paperclip::Storage::S3Extensions) + end elsif ENV['SWIFT_ENABLED'] == 'true' require 'fog/openstack' diff --git a/lib/paperclip/storage_extensions.rb b/lib/paperclip/storage_extensions.rb deleted file mode 100644 index 95c35641e..000000000 --- a/lib/paperclip/storage_extensions.rb +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true - -# Some S3-compatible providers might not actually be compatible with some APIs -# used by kt-paperclip, see https://github.com/mastodon/mastodon/issues/16822 -if ENV['S3_ENABLED'] == 'true' && ENV['S3_FORCE_SINGLE_REQUEST'] == 'true' - module Paperclip - module Storage - module S3Extensions - def copy_to_local_file(style, local_dest_path) - log("copying #{path(style)} to local file #{local_dest_path}") - s3_object(style).download_file(local_dest_path, { mode: 'single_request' }) - rescue Aws::Errors::ServiceError => e - warn("#{e} - cannot copy #{path(style)} to local file #{local_dest_path}") - false - end - end - end - end - - Paperclip::Storage::S3.prepend(Paperclip::Storage::S3Extensions) -end From 0a8a0fb5990eb6d3842948654d0b6140e776d8a9 Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 1 Apr 2022 23:59:13 +0200 Subject: [PATCH 175/276] Fix unusual number formatting in some locales (#17929) * Fix unusual number formatting in some locales Fixes #17904 * Fix typo --- app/helpers/application_helper.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 651a98a85..9984820da 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -19,8 +19,11 @@ module ApplicationHelper # is looked up from the locales definition, and rails-i18n comes with # values that don't seem to make much sense for many languages, so # override these values with a default of 3 digits of precision. - options[:precision] = 3 - options[:strip_insignificant_zeros] = true + options = options.merge( + precision: 3, + strip_insignificant_zeros: true, + significant: true + ) number_to_human(number, **options) end From 80ded02a4bd2ea6d5b9b69198753063224773f66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Pokorn=C3=BD?= Date: Sun, 3 Apr 2022 14:02:29 +0200 Subject: [PATCH 176/276] Update en.yml (#17942) typo --- config/locales/en.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/en.yml b/config/locales/en.yml index 829cd61d0..4a16098a8 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -598,7 +598,7 @@ en: action_taken_by: Action taken by actions: delete_description_html: The reported posts will be deleted and a strike will be recorded to help you escalate on future infractions by the same account. - mark_as_sensitive_description_html: The media in the reported posts will be marked as sensitive and a strike will be recorded to help you escalate on future refractions by the same account. + mark_as_sensitive_description_html: The media in the reported posts will be marked as sensitive and a strike will be recorded to help you escalate on future infractions by the same account. other_description_html: See more options for controlling the account's behaviour and customize communication to the reported account. resolve_description_html: No action will be taken against the reported account, no strike recorded, and the report will be closed. silence_description_html: The profile will be visible only to those who already follow it or manually look it up, severely limiting its reach. Can always be reverted. From 0ec695e036dab45d57598f451266bd0b176df9fd Mon Sep 17 00:00:00 2001 From: CommanderRoot Date: Mon, 4 Apr 2022 18:19:45 +0200 Subject: [PATCH 177/276] Replace deprecated String.prototype.substr() (#17949) * Replace deprecated String.prototype.substr() .substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated * Change String.prototype.substring() to String.prototype.slice() .substring() and .slice() work very similary but .slice() is a bit faster and stricter * Add ESLint rule to forbid usage of .substr and .substring .substr() is deprecated and .substring() is very similar to .slice() so better to use .slice() at all times Signed-off-by: Tobias Speicher --- .eslintrc.js | 5 +++++ .../mastodon/features/emoji/emoji_mart_search_light.js | 2 +- app/javascript/mastodon/features/status/components/card.js | 2 +- app/javascript/mastodon/features/video/index.js | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 7dda01108..2a882f59c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -79,6 +79,11 @@ module.exports = { 'no-irregular-whitespace': 'error', 'no-mixed-spaces-and-tabs': 'warn', 'no-nested-ternary': 'warn', + 'no-restricted-properties': [ + 'error', + { property: 'substring', message: 'Use .slice instead of .substring.' }, + { property: 'substr', message: 'Use .slice instead of .substr.' }, + ], 'no-trailing-spaces': 'warn', 'no-undef': 'error', 'no-unreachable': 'error', diff --git a/app/javascript/mastodon/features/emoji/emoji_mart_search_light.js b/app/javascript/mastodon/features/emoji/emoji_mart_search_light.js index e4519a13e..70694ab6d 100644 --- a/app/javascript/mastodon/features/emoji/emoji_mart_search_light.js +++ b/app/javascript/mastodon/features/emoji/emoji_mart_search_light.js @@ -124,7 +124,7 @@ function search(value, { emojisToShowFilter, maxResults, include, exclude, custo for (let id in aPool) { let emoji = aPool[id], { search } = emoji, - sub = value.substr(0, length), + sub = value.slice(0, length), subIndex = search.indexOf(sub); if (subIndex !== -1) { diff --git a/app/javascript/mastodon/features/status/components/card.js b/app/javascript/mastodon/features/status/components/card.js index 90f9ae7ae..3d81bcb29 100644 --- a/app/javascript/mastodon/features/status/components/card.js +++ b/app/javascript/mastodon/features/status/components/card.js @@ -32,7 +32,7 @@ const trim = (text, len) => { return text; } - return text.substring(0, cut) + (text.length > len ? '…' : ''); + return text.slice(0, cut) + (text.length > len ? '…' : ''); }; const domParser = new DOMParser(); diff --git a/app/javascript/mastodon/features/video/index.js b/app/javascript/mastodon/features/video/index.js index 8d47e479a..4f90e955f 100644 --- a/app/javascript/mastodon/features/video/index.js +++ b/app/javascript/mastodon/features/video/index.js @@ -91,7 +91,7 @@ export const fileNameFromURL = str => { const pathname = url.pathname; const index = pathname.lastIndexOf('/'); - return pathname.substring(index + 1); + return pathname.slice(index + 1); }; export default @injectIntl From 275dad97024d010853d995350b5224c0a3edc400 Mon Sep 17 00:00:00 2001 From: rinsuki <428rinsuki+git@gmail.com> Date: Tue, 5 Apr 2022 19:00:31 +0900 Subject: [PATCH 178/276] fix: returns nil instead of empty URL on status.application.website (#17962) --- app/serializers/rest/status_serializer.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/serializers/rest/status_serializer.rb b/app/serializers/rest/status_serializer.rb index 32c4e405e..6bd6a23e5 100644 --- a/app/serializers/rest/status_serializer.rb +++ b/app/serializers/rest/status_serializer.rb @@ -137,6 +137,10 @@ class REST::StatusSerializer < ActiveModel::Serializer class ApplicationSerializer < ActiveModel::Serializer attributes :name, :website + + def website + object.website.presence + end end class MentionSerializer < ActiveModel::Serializer From 95256f26f5160abd1b28f087e119c2a762420524 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Apr 2022 03:01:48 +0900 Subject: [PATCH 179/276] Bump pg from 1.3.4 to 1.3.5 (#17953) Bumps [pg](https://github.com/ged/ruby-pg) from 1.3.4 to 1.3.5. - [Release notes](https://github.com/ged/ruby-pg/releases) - [Changelog](https://github.com/ged/ruby-pg/blob/master/History.rdoc) - [Commits](https://github.com/ged/ruby-pg/commits) --- updated-dependencies: - dependency-name: pg dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 16492c41e..1019ebe10 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -437,7 +437,7 @@ GEM parslet (2.0.0) pastel (0.8.0) tty-color (~> 0.5) - pg (1.3.4) + pg (1.3.5) pghero (2.8.2) activerecord (>= 5) pkg-config (1.4.7) From b15b41cb2c0d137af277f83d55afbbe3d41dd3d1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Apr 2022 03:02:07 +0900 Subject: [PATCH 180/276] Bump ox from 2.14.10 to 2.14.11 (#17954) Bumps [ox](https://github.com/ohler55/ox) from 2.14.10 to 2.14.11. - [Release notes](https://github.com/ohler55/ox/releases) - [Changelog](https://github.com/ohler55/ox/blob/develop/CHANGELOG.md) - [Commits](https://github.com/ohler55/ox/compare/v2.14.10...v2.14.11) --- updated-dependencies: - dependency-name: ox dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1019ebe10..c17a1dedf 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -430,7 +430,7 @@ GEM openssl (2.2.0) openssl-signature_algorithm (0.4.0) orm_adapter (0.5.0) - ox (2.14.10) + ox (2.14.11) parallel (1.22.1) parser (3.1.1.0) ast (~> 2.4.1) From bf29651fe32d01146c758b88c429ff193868f8ce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Apr 2022 03:02:35 +0900 Subject: [PATCH 181/276] Bump react-redux from 7.2.6 to 7.2.8 (#17955) Bumps [react-redux](https://github.com/reduxjs/react-redux) from 7.2.6 to 7.2.8. - [Release notes](https://github.com/reduxjs/react-redux/releases) - [Changelog](https://github.com/reduxjs/react-redux/blob/master/CHANGELOG.md) - [Commits](https://github.com/reduxjs/react-redux/compare/v7.2.6...v7.2.8) --- updated-dependencies: - dependency-name: react-redux dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 35966f2f4..86c41c98a 100644 --- a/package.json +++ b/package.json @@ -136,7 +136,7 @@ "react-motion": "^0.5.2", "react-notification": "^6.8.5", "react-overlays": "^0.9.3", - "react-redux": "^7.2.6", + "react-redux": "^7.2.8", "react-redux-loading-bar": "^4.0.8", "react-router-dom": "^4.1.1", "react-router-scroll-4": "^1.0.0-beta.1", diff --git a/yarn.lock b/yarn.lock index f59fcc41b..9cb1ee1b1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9011,10 +9011,10 @@ react-redux-loading-bar@^4.0.8: prop-types "^15.6.2" react-lifecycles-compat "^3.0.2" -react-redux@^7.2.6: - version "7.2.6" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.6.tgz#49633a24fe552b5f9caf58feb8a138936ddfe9aa" - integrity sha512-10RPdsz0UUrRL1NZE0ejTkucnclYSgXp5q+tB5SWx2qeG2ZJQJyymgAhwKy73yiL/13btfB6fPr+rgbMAaZIAQ== +react-redux@^7.2.8: + version "7.2.8" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.8.tgz#a894068315e65de5b1b68899f9c6ee0923dd28de" + integrity sha512-6+uDjhs3PSIclqoCk0kd6iX74gzrGc3W5zcAjbrFgEdIjRSQObdIwfx80unTkVUYvbQ95Y8Av3OvFHq1w5EOUw== dependencies: "@babel/runtime" "^7.15.4" "@types/react-redux" "^7.1.20" From c35ef5cb498c69769dc791df01d43852df6d4e95 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Apr 2022 03:02:51 +0900 Subject: [PATCH 182/276] Bump sidekiq-unique-jobs from 7.1.15 to 7.1.16 (#17956) Bumps [sidekiq-unique-jobs](https://github.com/mhenrixon/sidekiq-unique-jobs) from 7.1.15 to 7.1.16. - [Release notes](https://github.com/mhenrixon/sidekiq-unique-jobs/releases) - [Changelog](https://github.com/mhenrixon/sidekiq-unique-jobs/blob/main/CHANGELOG.md) - [Commits](https://github.com/mhenrixon/sidekiq-unique-jobs/compare/v7.1.15...v7.1.16) --- updated-dependencies: - dependency-name: sidekiq-unique-jobs dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c17a1dedf..e9e246be9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -604,7 +604,7 @@ GEM sidekiq (>= 3) thwait tilt (>= 1.4.0) - sidekiq-unique-jobs (7.1.15) + sidekiq-unique-jobs (7.1.16) brpoplpush-redis_script (> 0.1.1, <= 2.0.0) concurrent-ruby (~> 1.0, >= 1.0.5) sidekiq (>= 5.0, < 8.0) From 76f7759ecbc1e0522c7c88965e9e1d3a7953f0b3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Apr 2022 03:03:13 +0900 Subject: [PATCH 183/276] Bump redis from 4.0.4 to 4.0.6 (#17957) Bumps [redis](https://github.com/redis/node-redis) from 4.0.4 to 4.0.6. - [Release notes](https://github.com/redis/node-redis/releases) - [Changelog](https://github.com/redis/node-redis/blob/master/CHANGELOG.md) - [Commits](https://github.com/redis/node-redis/compare/redis@4.0.4...redis@4.0.6) --- updated-dependencies: - dependency-name: redis dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index 86c41c98a..215c03f39 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "react-swipeable-views": "^0.14.0", "react-textarea-autosize": "^8.3.3", "react-toggle": "^4.1.2", - "redis": "^4.0.4", + "redis": "^4.0.6", "redux": "^4.1.2", "redux-immutable": "^4.0.0", "redux-thunk": "^2.4.1", diff --git a/yarn.lock b/yarn.lock index 9cb1ee1b1..7a1a22eeb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1415,10 +1415,10 @@ resolved "https://registry.yarnpkg.com/@node-redis/bloom/-/bloom-1.0.1.tgz#144474a0b7dc4a4b91badea2cfa9538ce0a1854e" integrity sha512-mXEBvEIgF4tUzdIN89LiYsbi6//EdpFA7L8M+DHCvePXg+bfHWi+ct5VI6nHUFQE5+ohm/9wmgihCH3HSkeKsw== -"@node-redis/client@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@node-redis/client/-/client-1.0.4.tgz#fe185750df3bcc07524f63fe8dbc8d14d22d6cbb" - integrity sha512-IM/NRAqg7MvNC3bIRQipXGrEarunrdgvrbAzsd3ty93LSHi/M+ybQulOERQi8a3M+P5BL8HenwXjiIoKm6ml2g== +"@node-redis/client@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@node-redis/client/-/client-1.0.5.tgz#ebac5e2bbf12214042a37621604973a954ede755" + integrity sha512-ESZ3bd1f+od62h4MaBLKum+klVJfA4wAeLHcVQBkoXa1l0viFesOWnakLQqKg+UyrlJhZmXJWtu0Y9v7iTMrig== dependencies: cluster-key-slot "1.1.0" generic-pool "3.8.2" @@ -1435,10 +1435,10 @@ resolved "https://registry.yarnpkg.com/@node-redis/json/-/json-1.0.2.tgz#8ad2d0f026698dc1a4238cc3d1eb099a3bee5ab8" integrity sha512-qVRgn8WfG46QQ08CghSbY4VhHFgaTY71WjpwRBGEuqGPfWwfRcIf3OqSpR7Q/45X+v3xd8mvYjywqh0wqJ8T+g== -"@node-redis/search@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@node-redis/search/-/search-1.0.3.tgz#7c3d026bf994caf82019fd0c3924cfc09f041a29" - integrity sha512-rsrzkGWI84di/uYtEctS/4qLusWt0DESx/psjfB0TFpORDhe7JfC0h8ary+eHulTksumor244bXLRSqQXbFJmw== +"@node-redis/search@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@node-redis/search/-/search-1.0.5.tgz#96050007eb7c50a7e47080320b4f12aca8cf94c4" + integrity sha512-MCOL8iCKq4v+3HgEQv8zGlSkZyXSXtERgrAJ4TSryIG/eLFy84b57KmNNa/V7M1Q2Wd2hgn2nPCGNcQtk1R1OQ== "@node-redis/time-series@1.0.2": version "1.0.2" @@ -9229,16 +9229,16 @@ redis-parser@3.0.0: dependencies: redis-errors "^1.0.0" -redis@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/redis/-/redis-4.0.4.tgz#b567f82f59086df38433982f7f424b48e924ec7a" - integrity sha512-KaM1OAj/nGrSeybmmOWSMY0LXTGT6FVWgUZZrd2MYzXKJ+VGtqVaciGQeNMfZiQX+kDM8Ke4uttb54m2rm6V0A== +redis@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/redis/-/redis-4.0.6.tgz#a2ded4d9f4f4bad148e54781051618fc684cd858" + integrity sha512-IaPAxgF5dV0jx+A9l6yd6R9/PAChZIoAskDVRzUODeLDNhsMlq7OLLTmu0AwAr0xjrJ1bibW5xdpRwqIQ8Q0Xg== dependencies: "@node-redis/bloom" "1.0.1" - "@node-redis/client" "1.0.4" + "@node-redis/client" "1.0.5" "@node-redis/graph" "1.0.0" "@node-redis/json" "1.0.2" - "@node-redis/search" "1.0.3" + "@node-redis/search" "1.0.5" "@node-redis/time-series" "1.0.2" redux-immutable@^4.0.0: From 5e49cb8f0f35f2fa718fb86fccd996661624c02a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Apr 2022 03:03:26 +0900 Subject: [PATCH 184/276] Bump prettier from 2.6.1 to 2.6.2 (#17958) Bumps [prettier](https://github.com/prettier/prettier) from 2.6.1 to 2.6.2. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/2.6.1...2.6.2) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 215c03f39..388eea139 100644 --- a/package.json +++ b/package.json @@ -184,7 +184,7 @@ "eslint-plugin-promise": "~6.0.0", "eslint-plugin-react": "~7.29.4", "jest": "^27.5.1", - "prettier": "^2.6.1", + "prettier": "^2.6.2", "raf": "^3.4.1", "react-intl-translations-manager": "^5.0.3", "react-test-renderer": "^16.14.0", diff --git a/yarn.lock b/yarn.lock index 7a1a22eeb..db9fb41d6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8651,10 +8651,10 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -prettier@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.1.tgz#d472797e0d7461605c1609808e27b80c0f9cfe17" - integrity sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A== +prettier@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" + integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== pretty-format@^25.2.1, pretty-format@^25.5.0: version "25.5.0" From 04b4b541f81e82f4ee3c8e5283123450df949a4b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Apr 2022 03:03:45 +0900 Subject: [PATCH 185/276] Bump sass from 1.49.9 to 1.49.11 (#17959) Bumps [sass](https://github.com/sass/dart-sass) from 1.49.9 to 1.49.11. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.49.9...1.49.11) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 388eea139..e39fe7bcb 100644 --- a/package.json +++ b/package.json @@ -154,7 +154,7 @@ "requestidlecallback": "^0.3.0", "reselect": "^4.1.5", "rimraf": "^3.0.2", - "sass": "^1.49.9", + "sass": "^1.49.11", "sass-loader": "^10.2.0", "stacktrace-js": "^2.0.2", "stringz": "^2.1.0", diff --git a/yarn.lock b/yarn.lock index db9fb41d6..aa290014c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9616,10 +9616,10 @@ sass-loader@^10.2.0: schema-utils "^3.0.0" semver "^7.3.2" -sass@^1.49.9: - version "1.49.9" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" - integrity sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A== +sass@^1.49.11: + version "1.49.11" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.11.tgz#1ffeb77faeed8b806a2a1e021d7c9fd3fc322cb7" + integrity sha512-wvS/geXgHUGs6A/4ud5BFIWKO1nKd7wYIGimDk4q4GFkJicILActpv9ueMT4eRGSsp1BdKHuw1WwAHXbhsJELQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From d116cb7733bb535bb72207b20fba9a7d0da371ed Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 6 Apr 2022 20:56:57 +0200 Subject: [PATCH 186/276] Fix `GET /api/v1/trends/tags` missing `offset` param in REST API (#17973) --- app/controllers/api/v1/trends/tags_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/api/v1/trends/tags_controller.rb b/app/controllers/api/v1/trends/tags_controller.rb index d77857871..329ef5ae7 100644 --- a/app/controllers/api/v1/trends/tags_controller.rb +++ b/app/controllers/api/v1/trends/tags_controller.rb @@ -16,7 +16,7 @@ class Api::V1::Trends::TagsController < Api::BaseController def set_tags @tags = begin if Setting.trends - Trends.tags.query.allowed.limit(limit_param(DEFAULT_TAGS_LIMIT)) + Trends.tags.query.allowed.offset(offset_param).limit(limit_param(DEFAULT_TAGS_LIMIT)) else [] end From 62c6e12fa58adea57954e395d10d0ffc2c0cd73c Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 6 Apr 2022 20:57:18 +0200 Subject: [PATCH 187/276] Fix admin API unconditionally requiring CSRF token (#17975) Fixes #17898 Since #17204, the admin API has only been available through the web application because of the unconditional requirement to provide a valid CSRF token. This commit changes it back to `null_session`, which should make it work both with session-based authentication (provided a CSRF token) and with a bearer token. --- app/controllers/api/v1/admin/account_actions_controller.rb | 2 -- app/controllers/api/v1/admin/accounts_controller.rb | 2 -- app/controllers/api/v1/admin/dimensions_controller.rb | 2 -- app/controllers/api/v1/admin/measures_controller.rb | 2 -- app/controllers/api/v1/admin/reports_controller.rb | 2 -- app/controllers/api/v1/admin/retention_controller.rb | 2 -- app/controllers/api/v1/admin/trends/links_controller.rb | 2 -- app/controllers/api/v1/admin/trends/statuses_controller.rb | 2 -- app/controllers/api/v1/admin/trends/tags_controller.rb | 2 -- 9 files changed, 18 deletions(-) diff --git a/app/controllers/api/v1/admin/account_actions_controller.rb b/app/controllers/api/v1/admin/account_actions_controller.rb index 15af50822..6c9e04402 100644 --- a/app/controllers/api/v1/admin/account_actions_controller.rb +++ b/app/controllers/api/v1/admin/account_actions_controller.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true class Api::V1::Admin::AccountActionsController < Api::BaseController - protect_from_forgery with: :exception - before_action -> { authorize_if_got_token! :'admin:write', :'admin:write:accounts' } before_action :require_staff! before_action :set_account diff --git a/app/controllers/api/v1/admin/accounts_controller.rb b/app/controllers/api/v1/admin/accounts_controller.rb index 4b6dab208..dc9d3402f 100644 --- a/app/controllers/api/v1/admin/accounts_controller.rb +++ b/app/controllers/api/v1/admin/accounts_controller.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true class Api::V1::Admin::AccountsController < Api::BaseController - protect_from_forgery with: :exception - include Authorization include AccountableConcern diff --git a/app/controllers/api/v1/admin/dimensions_controller.rb b/app/controllers/api/v1/admin/dimensions_controller.rb index b1f738990..49a5be1c3 100644 --- a/app/controllers/api/v1/admin/dimensions_controller.rb +++ b/app/controllers/api/v1/admin/dimensions_controller.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true class Api::V1::Admin::DimensionsController < Api::BaseController - protect_from_forgery with: :exception - before_action -> { authorize_if_got_token! :'admin:read' } before_action :require_staff! before_action :set_dimensions diff --git a/app/controllers/api/v1/admin/measures_controller.rb b/app/controllers/api/v1/admin/measures_controller.rb index d64c3cdf7..da95d3422 100644 --- a/app/controllers/api/v1/admin/measures_controller.rb +++ b/app/controllers/api/v1/admin/measures_controller.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true class Api::V1::Admin::MeasuresController < Api::BaseController - protect_from_forgery with: :exception - before_action -> { authorize_if_got_token! :'admin:read' } before_action :require_staff! before_action :set_measures diff --git a/app/controllers/api/v1/admin/reports_controller.rb b/app/controllers/api/v1/admin/reports_controller.rb index fbfd0ee12..865ba3d23 100644 --- a/app/controllers/api/v1/admin/reports_controller.rb +++ b/app/controllers/api/v1/admin/reports_controller.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true class Api::V1::Admin::ReportsController < Api::BaseController - protect_from_forgery with: :exception - include Authorization include AccountableConcern diff --git a/app/controllers/api/v1/admin/retention_controller.rb b/app/controllers/api/v1/admin/retention_controller.rb index 4af5a5c4d..98d1a3d81 100644 --- a/app/controllers/api/v1/admin/retention_controller.rb +++ b/app/controllers/api/v1/admin/retention_controller.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true class Api::V1::Admin::RetentionController < Api::BaseController - protect_from_forgery with: :exception - before_action -> { authorize_if_got_token! :'admin:read' } before_action :require_staff! before_action :set_cohorts diff --git a/app/controllers/api/v1/admin/trends/links_controller.rb b/app/controllers/api/v1/admin/trends/links_controller.rb index 63b3d9358..0a191fe4b 100644 --- a/app/controllers/api/v1/admin/trends/links_controller.rb +++ b/app/controllers/api/v1/admin/trends/links_controller.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true class Api::V1::Admin::Trends::LinksController < Api::BaseController - protect_from_forgery with: :exception - before_action -> { authorize_if_got_token! :'admin:read' } before_action :require_staff! before_action :set_links diff --git a/app/controllers/api/v1/admin/trends/statuses_controller.rb b/app/controllers/api/v1/admin/trends/statuses_controller.rb index 86633cc74..cb145f165 100644 --- a/app/controllers/api/v1/admin/trends/statuses_controller.rb +++ b/app/controllers/api/v1/admin/trends/statuses_controller.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true class Api::V1::Admin::Trends::StatusesController < Api::BaseController - protect_from_forgery with: :exception - before_action -> { authorize_if_got_token! :'admin:read' } before_action :require_staff! before_action :set_statuses diff --git a/app/controllers/api/v1/admin/trends/tags_controller.rb b/app/controllers/api/v1/admin/trends/tags_controller.rb index 5cc4c269d..9c28b0412 100644 --- a/app/controllers/api/v1/admin/trends/tags_controller.rb +++ b/app/controllers/api/v1/admin/trends/tags_controller.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true class Api::V1::Admin::Trends::TagsController < Api::BaseController - protect_from_forgery with: :exception - before_action -> { authorize_if_got_token! :'admin:read' } before_action :require_staff! before_action :set_tags From abb11778d7d9ac04fe1feeccf5cefc6d2ed58780 Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 6 Apr 2022 20:57:52 +0200 Subject: [PATCH 188/276] Fix inconsistency in error handling when removing a status (#17974) Not completely sure this could actually have any ill effect, but if `RemoveStatusService` fails to acquire a lock in an `ActivityPub::ProcessingWorker` job processing a `Delete`, the status is currently discarded and causes a job failure but the next time the job is attempted, it will skip deleting the status due to it being discarded. This commit makes the behavior of `RemoveStatusService` a bit more consistent in case of failure to acquire the lock. --- app/services/remove_status_service.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb index 159aec1f2..41730154d 100644 --- a/app/services/remove_status_service.rb +++ b/app/services/remove_status_service.rb @@ -17,10 +17,10 @@ class RemoveStatusService < BaseService @account = status.account @options = options - @status.discard - RedisLock.acquire(lock_options) do |lock| if lock.acquired? + @status.discard + remove_from_self if @account.local? remove_from_followers remove_from_lists From 6221b36b278c02cdbf5b6d1c0753654b506b44fd Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 6 Apr 2022 20:58:12 +0200 Subject: [PATCH 189/276] Remove sign-in token authentication, instead send e-mail about new sign-in (#17970) --- ...ign_in_token_authentications_controller.rb | 27 ---- app/controllers/auth/sessions_controller.rb | 9 +- .../sign_in_token_authentication_concern.rb | 56 ------- app/javascript/styles/mailer.scss | 4 + app/lib/suspicious_sign_in_detector.rb | 42 +++++ app/mailers/user_mailer.rb | 12 +- app/models/user.rb | 16 +- app/policies/user_policy.rb | 8 - app/views/admin/accounts/show.html.haml | 8 +- .../auth/sessions/sign_in_token.html.haml | 14 -- ...html.haml => suspicious_sign_in.html.haml} | 50 +----- ...n.text.erb => suspicious_sign_in.text.erb} | 10 +- config/locales/en.yml | 17 +- config/routes.rb | 1 - lib/mastodon/accounts_cli.rb | 11 +- .../auth/sessions_controller_spec.rb | 151 ------------------ spec/lib/suspicious_sign_in_detector_spec.rb | 57 +++++++ spec/mailers/previews/user_mailer_preview.rb | 6 +- 18 files changed, 137 insertions(+), 362 deletions(-) delete mode 100644 app/controllers/admin/sign_in_token_authentications_controller.rb delete mode 100644 app/controllers/concerns/sign_in_token_authentication_concern.rb create mode 100644 app/lib/suspicious_sign_in_detector.rb delete mode 100644 app/views/auth/sessions/sign_in_token.html.haml rename app/views/user_mailer/{sign_in_token.html.haml => suspicious_sign_in.html.haml} (55%) rename app/views/user_mailer/{sign_in_token.text.erb => suspicious_sign_in.text.erb} (56%) create mode 100644 spec/lib/suspicious_sign_in_detector_spec.rb diff --git a/app/controllers/admin/sign_in_token_authentications_controller.rb b/app/controllers/admin/sign_in_token_authentications_controller.rb deleted file mode 100644 index e620ab292..000000000 --- a/app/controllers/admin/sign_in_token_authentications_controller.rb +++ /dev/null @@ -1,27 +0,0 @@ -# frozen_string_literal: true - -module Admin - class SignInTokenAuthenticationsController < BaseController - before_action :set_target_user - - def create - authorize @user, :enable_sign_in_token_auth? - @user.update(skip_sign_in_token: false) - log_action :enable_sign_in_token_auth, @user - redirect_to admin_account_path(@user.account_id) - end - - def destroy - authorize @user, :disable_sign_in_token_auth? - @user.update(skip_sign_in_token: true) - log_action :disable_sign_in_token_auth, @user - redirect_to admin_account_path(@user.account_id) - end - - private - - def set_target_user - @user = User.find(params[:user_id]) - end - end -end diff --git a/app/controllers/auth/sessions_controller.rb b/app/controllers/auth/sessions_controller.rb index 4d2695bf5..c4c8151e3 100644 --- a/app/controllers/auth/sessions_controller.rb +++ b/app/controllers/auth/sessions_controller.rb @@ -8,7 +8,6 @@ class Auth::SessionsController < Devise::SessionsController skip_before_action :update_user_sign_in include TwoFactorAuthenticationConcern - include SignInTokenAuthenticationConcern before_action :set_instance_presenter, only: [:new] before_action :set_body_classes @@ -66,7 +65,7 @@ class Auth::SessionsController < Devise::SessionsController end def user_params - params.require(:user).permit(:email, :password, :otp_attempt, :sign_in_token_attempt, credential: {}) + params.require(:user).permit(:email, :password, :otp_attempt, credential: {}) end def after_sign_in_path_for(resource) @@ -142,6 +141,12 @@ class Auth::SessionsController < Devise::SessionsController ip: request.remote_ip, user_agent: request.user_agent ) + + UserMailer.suspicious_sign_in(user, request.remote_ip, request.user_agent, Time.now.utc).deliver_later! if suspicious_sign_in?(user) + end + + def suspicious_sign_in?(user) + SuspiciousSignInDetector.new(user).suspicious?(request) end def on_authentication_failure(user, security_measure, failure_reason) diff --git a/app/controllers/concerns/sign_in_token_authentication_concern.rb b/app/controllers/concerns/sign_in_token_authentication_concern.rb deleted file mode 100644 index 384c5c50c..000000000 --- a/app/controllers/concerns/sign_in_token_authentication_concern.rb +++ /dev/null @@ -1,56 +0,0 @@ -# frozen_string_literal: true - -module SignInTokenAuthenticationConcern - extend ActiveSupport::Concern - - included do - prepend_before_action :authenticate_with_sign_in_token, if: :sign_in_token_required?, only: [:create] - end - - def sign_in_token_required? - find_user&.suspicious_sign_in?(request.remote_ip) - end - - def valid_sign_in_token_attempt?(user) - Devise.secure_compare(user.sign_in_token, user_params[:sign_in_token_attempt]) - end - - def authenticate_with_sign_in_token - if user_params[:email].present? - user = self.resource = find_user_from_params - prompt_for_sign_in_token(user) if user&.external_or_valid_password?(user_params[:password]) - elsif session[:attempt_user_id] - user = self.resource = User.find_by(id: session[:attempt_user_id]) - return if user.nil? - - if session[:attempt_user_updated_at] != user.updated_at.to_s - restart_session - elsif user_params.key?(:sign_in_token_attempt) - authenticate_with_sign_in_token_attempt(user) - end - end - end - - def authenticate_with_sign_in_token_attempt(user) - if valid_sign_in_token_attempt?(user) - on_authentication_success(user, :sign_in_token) - else - on_authentication_failure(user, :sign_in_token, :invalid_sign_in_token) - flash.now[:alert] = I18n.t('users.invalid_sign_in_token') - prompt_for_sign_in_token(user) - end - end - - def prompt_for_sign_in_token(user) - if user.sign_in_token_expired? - user.generate_sign_in_token && user.save - UserMailer.sign_in_token(user, request.remote_ip, request.user_agent, Time.now.utc.to_s).deliver_later! - end - - set_attempt_session(user) - - @body_classes = 'lighter' - - set_locale { render :sign_in_token } - end -end diff --git a/app/javascript/styles/mailer.scss b/app/javascript/styles/mailer.scss index 34852178e..18fe522eb 100644 --- a/app/javascript/styles/mailer.scss +++ b/app/javascript/styles/mailer.scss @@ -435,6 +435,10 @@ h5 { background: $success-green; } + &.warning-icon td { + background: $gold-star; + } + &.alert-icon td { background: $error-red; } diff --git a/app/lib/suspicious_sign_in_detector.rb b/app/lib/suspicious_sign_in_detector.rb new file mode 100644 index 000000000..1af5188c6 --- /dev/null +++ b/app/lib/suspicious_sign_in_detector.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +class SuspiciousSignInDetector + IPV6_TOLERANCE_MASK = 64 + IPV4_TOLERANCE_MASK = 16 + + def initialize(user) + @user = user + end + + def suspicious?(request) + !sufficient_security_measures? && !freshly_signed_up? && !previously_seen_ip?(request) + end + + private + + def sufficient_security_measures? + @user.otp_required_for_login? + end + + def previously_seen_ip?(request) + @user.ips.where('ip <<= ?', masked_ip(request)).exists? + end + + def freshly_signed_up? + @user.current_sign_in_at.blank? + end + + def masked_ip(request) + masked_ip_addr = begin + ip_addr = IPAddr.new(request.remote_ip) + + if ip_addr.ipv6? + ip_addr.mask(IPV6_TOLERANCE_MASK) + else + ip_addr.mask(IPV4_TOLERANCE_MASK) + end + end + + "#{masked_ip_addr}/#{masked_ip_addr.prefix}" + end +end diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index 1a823328c..ce36dd6f5 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -167,9 +167,7 @@ class UserMailer < Devise::Mailer @statuses = @warning.statuses.includes(:account, :preloadable_poll, :media_attachments, active_mentions: [:account]) I18n.with_locale(@resource.locale || I18n.default_locale) do - mail to: @resource.email, - subject: I18n.t("user_mailer.warning.subject.#{@warning.action}", acct: "@#{user.account.local_username_and_domain}"), - reply_to: ENV['SMTP_REPLY_TO'] + mail to: @resource.email, subject: I18n.t("user_mailer.warning.subject.#{@warning.action}", acct: "@#{user.account.local_username_and_domain}") end end @@ -193,7 +191,7 @@ class UserMailer < Devise::Mailer end end - def sign_in_token(user, remote_ip, user_agent, timestamp) + def suspicious_sign_in(user, remote_ip, user_agent, timestamp) @resource = user @instance = Rails.configuration.x.local_domain @remote_ip = remote_ip @@ -201,12 +199,8 @@ class UserMailer < Devise::Mailer @detection = Browser.new(user_agent) @timestamp = timestamp.to_time.utc - return unless @resource.active_for_authentication? - I18n.with_locale(@resource.locale || I18n.default_locale) do - mail to: @resource.email, - subject: I18n.t('user_mailer.sign_in_token.subject'), - reply_to: ENV['SMTP_REPLY_TO'] + mail to: @resource.email, subject: I18n.t('user_mailer.suspicious_sign_in.subject') end end end diff --git a/app/models/user.rb b/app/models/user.rb index e25c0ddb0..d19fe2c92 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -47,6 +47,7 @@ class User < ApplicationRecord remember_token current_sign_in_ip last_sign_in_ip + skip_sign_in_token ) include Settings::Extend @@ -132,7 +133,7 @@ class User < ApplicationRecord :disable_swiping, to: :settings, prefix: :setting, allow_nil: false - attr_reader :invite_code, :sign_in_token_attempt + attr_reader :invite_code attr_writer :external, :bypass_invite_request_check def confirmed? @@ -200,10 +201,6 @@ class User < ApplicationRecord !account.memorial? end - def suspicious_sign_in?(ip) - !otp_required_for_login? && !skip_sign_in_token? && current_sign_in_at.present? && !ips.where(ip: ip).exists? - end - def functional? confirmed? && approved? && !disabled? && !account.suspended? && !account.memorial? && account.moved_to_account_id.nil? end @@ -368,15 +365,6 @@ class User < ApplicationRecord setting_display_media == 'hide_all' end - def sign_in_token_expired? - sign_in_token_sent_at.nil? || sign_in_token_sent_at < 5.minutes.ago - end - - def generate_sign_in_token - self.sign_in_token = Devise.friendly_token(6) - self.sign_in_token_sent_at = Time.now.utc - end - protected def send_devise_notification(notification, *args, **kwargs) diff --git a/app/policies/user_policy.rb b/app/policies/user_policy.rb index 92e2c4f4b..140905e1f 100644 --- a/app/policies/user_policy.rb +++ b/app/policies/user_policy.rb @@ -13,14 +13,6 @@ class UserPolicy < ApplicationPolicy admin? && !record.staff? end - def disable_sign_in_token_auth? - staff? - end - - def enable_sign_in_token_auth? - staff? - end - def confirm? staff? && !record.confirmed? end diff --git a/app/views/admin/accounts/show.html.haml b/app/views/admin/accounts/show.html.haml index 1230294fe..a69832b04 100644 --- a/app/views/admin/accounts/show.html.haml +++ b/app/views/admin/accounts/show.html.haml @@ -128,17 +128,11 @@ %td{ rowspan: can?(:reset_password, @account.user) ? 2 : 1 } - if @account.user&.two_factor_enabled? = t 'admin.accounts.security_measures.password_and_2fa' - - elsif @account.user&.skip_sign_in_token? - = t 'admin.accounts.security_measures.only_password' - else - = t 'admin.accounts.security_measures.password_and_sign_in_token' + = t 'admin.accounts.security_measures.only_password' %td - if @account.user&.two_factor_enabled? = table_link_to 'unlock', t('admin.accounts.disable_two_factor_authentication'), admin_user_two_factor_authentication_path(@account.user.id), method: :delete if can?(:disable_2fa, @account.user) - - elsif @account.user&.skip_sign_in_token? - = table_link_to 'lock', t('admin.accounts.enable_sign_in_token_auth'), admin_user_sign_in_token_authentication_path(@account.user.id), method: :post if can?(:enable_sign_in_token_auth, @account.user) - - else - = table_link_to 'unlock', t('admin.accounts.disable_sign_in_token_auth'), admin_user_sign_in_token_authentication_path(@account.user.id), method: :delete if can?(:disable_sign_in_token_auth, @account.user) - if can?(:reset_password, @account.user) %tr diff --git a/app/views/auth/sessions/sign_in_token.html.haml b/app/views/auth/sessions/sign_in_token.html.haml deleted file mode 100644 index 8923203cd..000000000 --- a/app/views/auth/sessions/sign_in_token.html.haml +++ /dev/null @@ -1,14 +0,0 @@ -- content_for :page_title do - = t('auth.login') - -= simple_form_for(resource, as: resource_name, url: session_path(resource_name), method: :post) do |f| - %p.hint.otp-hint= t('users.suspicious_sign_in_confirmation') - - .fields-group - = f.input :sign_in_token_attempt, type: :number, wrapper: :with_label, label: t('simple_form.labels.defaults.sign_in_token_attempt'), input_html: { 'aria-label' => t('simple_form.labels.defaults.sign_in_token_attempt'), :autocomplete => 'off' }, autofocus: true - - .actions - = f.button :button, t('auth.login'), type: :submit - - - if Setting.site_contact_email.present? - %p.hint.subtle-hint= t('users.generic_access_help_html', email: mail_to(Setting.site_contact_email, nil)) diff --git a/app/views/user_mailer/sign_in_token.html.haml b/app/views/user_mailer/suspicious_sign_in.html.haml similarity index 55% rename from app/views/user_mailer/sign_in_token.html.haml rename to app/views/user_mailer/suspicious_sign_in.html.haml index 826b34e7c..856f9fb7c 100644 --- a/app/views/user_mailer/sign_in_token.html.haml +++ b/app/views/user_mailer/suspicious_sign_in.html.haml @@ -13,32 +13,14 @@ %tbody %tr %td.column-cell.text-center.padded - %table.hero-icon.alert-icon{ align: 'center', cellspacing: 0, cellpadding: 0 } + %table.hero-icon.warning-icon{ align: 'center', cellspacing: 0, cellpadding: 0 } %tbody %tr %td - = image_tag full_pack_url('media/images/mailer/icon_email.png'), alt: '' + = image_tag full_pack_url('media/images/mailer/icon_lock_open.png'), alt: '' - %h1= t 'user_mailer.sign_in_token.title' - %p.lead= t 'user_mailer.sign_in_token.explanation' - -%table.email-table{ cellspacing: 0, cellpadding: 0 } - %tbody - %tr - %td.email-body - .email-container - %table.content-section{ cellspacing: 0, cellpadding: 0 } - %tbody - %tr - %td.content-cell.content-start - %table.column{ cellspacing: 0, cellpadding: 0 } - %tbody - %tr - %td.column-cell.input-cell - %table.input{ align: 'center', cellspacing: 0, cellpadding: 0 } - %tbody - %tr - %td= @resource.sign_in_token + %h1= t 'user_mailer.suspicious_sign_in.title' + %p= t 'user_mailer.suspicious_sign_in.explanation' %table.email-table{ cellspacing: 0, cellpadding: 0 } %tbody @@ -55,7 +37,7 @@ %tbody %tr %td.column-cell.text-center - %p= t 'user_mailer.sign_in_token.details' + %p= t 'user_mailer.suspicious_sign_in.details' %tr %td.column-cell.text-center %p @@ -82,24 +64,4 @@ %tbody %tr %td.column-cell.text-center - %p= t 'user_mailer.sign_in_token.further_actions' - -%table.email-table{ cellspacing: 0, cellpadding: 0 } - %tbody - %tr - %td.email-body - .email-container - %table.content-section{ cellspacing: 0, cellpadding: 0 } - %tbody - %tr - %td.content-cell - %table.column{ cellspacing: 0, cellpadding: 0 } - %tbody - %tr - %td.column-cell.button-cell - %table.button{ align: 'center', cellspacing: 0, cellpadding: 0 } - %tbody - %tr - %td.button-primary - = link_to edit_user_registration_url do - %span= t 'settings.account_settings' + %p= t 'user_mailer.suspicious_sign_in.further_actions_html', action: link_to(t('user_mailer.suspicious_sign_in.change_password'), edit_user_registration_url) diff --git a/app/views/user_mailer/sign_in_token.text.erb b/app/views/user_mailer/suspicious_sign_in.text.erb similarity index 56% rename from app/views/user_mailer/sign_in_token.text.erb rename to app/views/user_mailer/suspicious_sign_in.text.erb index 2539ddaf6..7d2ca28e8 100644 --- a/app/views/user_mailer/sign_in_token.text.erb +++ b/app/views/user_mailer/suspicious_sign_in.text.erb @@ -1,17 +1,15 @@ -<%= t 'user_mailer.sign_in_token.title' %> +<%= t 'user_mailer.suspicious_sign_in.title' %> === -<%= t 'user_mailer.sign_in_token.explanation' %> +<%= t 'user_mailer.suspicious_sign_in.explanation' %> -=> <%= @resource.sign_in_token %> - -<%= t 'user_mailer.sign_in_token.details' %> +<%= t 'user_mailer.suspicious_sign_in.details' %> <%= t('sessions.ip') %>: <%= @remote_ip %> <%= t('sessions.browser') %>: <%= t('sessions.description', browser: t("sessions.browsers.#{@detection.id}", default: "#{@detection.id}"), platform: t("sessions.platforms.#{@detection.platform.id}", default: "#{@detection.platform.id}")) %> <%= l(@timestamp) %> -<%= t 'user_mailer.sign_in_token.further_actions' %> +<%= t 'user_mailer.suspicious_sign_in.further_actions_html', action: t('user_mailer.suspicious_sign_in.change_password') %> => <%= edit_user_registration_url %> diff --git a/config/locales/en.yml b/config/locales/en.yml index 4a16098a8..4fa9abc51 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -199,7 +199,6 @@ en: security_measures: only_password: Only password password_and_2fa: Password and 2FA - password_and_sign_in_token: Password and e-mail token sensitive: Force-sensitive sensitized: Marked as sensitive shared_inbox_url: Shared inbox URL @@ -1634,12 +1633,13 @@ en: explanation: You requested a full backup of your Mastodon account. It's now ready for download! subject: Your archive is ready for download title: Archive takeout - sign_in_token: - details: 'Here are details of the attempt:' - explanation: 'We detected an attempt to sign in to your account from an unrecognized IP address. If this is you, please enter the security code below on the sign in challenge page:' - further_actions: 'If this wasn''t you, please change your password and enable two-factor authentication on your account. You can do so here:' - subject: Please confirm attempted sign in - title: Sign in attempt + suspicious_sign_in: + change_password: change your password + details: 'Here are details of the sign-in:' + explanation: We've detected a sign-in to your account from a new IP address. + further_actions_html: If this wasn't you, we recommend that you %{action} immediately and enable two-factor authentication to keep your account secure. + subject: Your account has been accessed from a new IP address + title: A new sign-in warning: appeal: Submit an appeal appeal_description: If you believe this is an error, you can submit an appeal to the staff of %{instance}. @@ -1690,13 +1690,10 @@ en: title: Welcome aboard, %{name}! users: follow_limit_reached: You cannot follow more than %{limit} people - generic_access_help_html: Trouble accessing your account? You may get in touch with %{email} for assistance invalid_otp_token: Invalid two-factor code - invalid_sign_in_token: Invalid security code otp_lost_help_html: If you lost access to both, you may get in touch with %{email} seamless_external_login: You are logged in via an external service, so password and e-mail settings are not available. signed_in_as: 'Signed in as:' - suspicious_sign_in_confirmation: You appear to not have logged in from this device before, so we're sending a security code to your e-mail address to confirm that it's you. verification: explanation_html: 'You can verify yourself as the owner of the links in your profile metadata. For that, the linked website must contain a link back to your Mastodon profile. The link back must have a rel="me" attribute. The text content of the link does not matter. Here is an example:' verification: Verification diff --git a/config/routes.rb b/config/routes.rb index 7c9a13dc4..b05d31e4e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -295,7 +295,6 @@ Rails.application.routes.draw do resources :users, only: [] do resource :two_factor_authentication, only: [:destroy] - resource :sign_in_token_authentication, only: [:create, :destroy] end resources :custom_emojis, only: [:index, :new, :create] do diff --git a/lib/mastodon/accounts_cli.rb b/lib/mastodon/accounts_cli.rb index 2ef85d0a9..7256d1da9 100644 --- a/lib/mastodon/accounts_cli.rb +++ b/lib/mastodon/accounts_cli.rb @@ -55,7 +55,6 @@ module Mastodon option :email, required: true option :confirmed, type: :boolean option :role, default: 'user', enum: %w(user moderator admin) - option :skip_sign_in_token, type: :boolean option :reattach, type: :boolean option :force, type: :boolean desc 'create USERNAME', 'Create a new user' @@ -69,9 +68,6 @@ module Mastodon With the --role option one of "user", "admin" or "moderator" can be supplied. Defaults to "user" - With the --skip-sign-in-token option, you can ensure that - the user is never asked for an e-mailed security code. - With the --reattach option, the new user will be reattached to a given existing username of an old account. If the old account is still in use by someone else, you can supply @@ -81,7 +77,7 @@ module Mastodon def create(username) account = Account.new(username: username) password = SecureRandom.hex - user = User.new(email: options[:email], password: password, agreement: true, approved: true, admin: options[:role] == 'admin', moderator: options[:role] == 'moderator', confirmed_at: options[:confirmed] ? Time.now.utc : nil, bypass_invite_request_check: true, skip_sign_in_token: options[:skip_sign_in_token]) + user = User.new(email: options[:email], password: password, agreement: true, approved: true, admin: options[:role] == 'admin', moderator: options[:role] == 'moderator', confirmed_at: options[:confirmed] ? Time.now.utc : nil, bypass_invite_request_check: true) if options[:reattach] account = Account.find_local(username) || Account.new(username: username) @@ -125,7 +121,6 @@ module Mastodon option :disable_2fa, type: :boolean option :approve, type: :boolean option :reset_password, type: :boolean - option :skip_sign_in_token, type: :boolean desc 'modify USERNAME', 'Modify a user' long_desc <<-LONG_DESC Modify a user account. @@ -147,9 +142,6 @@ module Mastodon With the --reset-password option, the user's password is replaced by a randomly-generated one, printed in the output. - - With the --skip-sign-in-token option, you can ensure that - the user is never asked for an e-mailed security code. LONG_DESC def modify(username) user = Account.find_local(username)&.user @@ -171,7 +163,6 @@ module Mastodon user.disabled = true if options[:disable] user.approved = true if options[:approve] user.otp_required_for_login = false if options[:disable_2fa] - user.skip_sign_in_token = options[:skip_sign_in_token] unless options[:skip_sign_in_token].nil? user.confirm if options[:confirm] if user.save diff --git a/spec/controllers/auth/sessions_controller_spec.rb b/spec/controllers/auth/sessions_controller_spec.rb index 64ec7b794..1b8fd0b7b 100644 --- a/spec/controllers/auth/sessions_controller_spec.rb +++ b/spec/controllers/auth/sessions_controller_spec.rb @@ -225,22 +225,6 @@ RSpec.describe Auth::SessionsController, type: :controller do end end - context 'using email and password after an unfinished log-in attempt with a sign-in token challenge' do - let!(:other_user) do - Fabricate(:user, email: 'z@y.com', password: 'abcdefgh', otp_required_for_login: false, current_sign_in_at: 1.month.ago) - end - - before do - post :create, params: { user: { email: other_user.email, password: other_user.password } } - post :create, params: { user: { email: user.email, password: user.password } } - end - - it 'renders two factor authentication page' do - expect(controller).to render_template("two_factor") - expect(controller).to render_template(partial: "_otp_authentication_form") - end - end - context 'using upcase email and password' do before do post :create, params: { user: { email: user.email.upcase, password: user.password } } @@ -266,21 +250,6 @@ RSpec.describe Auth::SessionsController, type: :controller do end end - context 'using a valid OTP, attempting to leverage previous half-login to bypass password auth' do - let!(:other_user) do - Fabricate(:user, email: 'z@y.com', password: 'abcdefgh', otp_required_for_login: false, current_sign_in_at: 1.month.ago) - end - - before do - post :create, params: { user: { email: other_user.email, password: other_user.password } } - post :create, params: { user: { email: user.email, otp_attempt: user.current_otp } }, session: { attempt_user_updated_at: user.updated_at.to_s } - end - - it "doesn't log the user in" do - expect(controller.current_user).to be_nil - end - end - context 'when the server has an decryption error' do before do allow_any_instance_of(User).to receive(:validate_and_consume_otp!).and_raise(OpenSSL::Cipher::CipherError) @@ -401,126 +370,6 @@ RSpec.describe Auth::SessionsController, type: :controller do end end end - - context 'when 2FA is disabled and IP is unfamiliar' do - let!(:user) { Fabricate(:user, email: 'x@y.com', password: 'abcdefgh', current_sign_in_at: 3.weeks.ago) } - - before do - request.remote_ip = '10.10.10.10' - request.user_agent = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0' - - allow(UserMailer).to receive(:sign_in_token).and_return(double('email', deliver_later!: nil)) - end - - context 'using email and password' do - before do - post :create, params: { user: { email: user.email, password: user.password } } - end - - it 'renders sign in token authentication page' do - expect(controller).to render_template("sign_in_token") - end - - it 'generates sign in token' do - expect(user.reload.sign_in_token).to_not be_nil - end - - it 'sends sign in token e-mail' do - expect(UserMailer).to have_received(:sign_in_token) - end - end - - context 'using email and password after an unfinished log-in attempt to a 2FA-protected account' do - let!(:other_user) do - Fabricate(:user, email: 'z@y.com', password: 'abcdefgh', otp_required_for_login: true, otp_secret: User.generate_otp_secret(32)) - end - - before do - post :create, params: { user: { email: other_user.email, password: other_user.password } } - post :create, params: { user: { email: user.email, password: user.password } } - end - - it 'renders sign in token authentication page' do - expect(controller).to render_template("sign_in_token") - end - - it 'generates sign in token' do - expect(user.reload.sign_in_token).to_not be_nil - end - - it 'sends sign in token e-mail' do - expect(UserMailer).to have_received(:sign_in_token) - end - end - - context 'using email and password after an unfinished log-in attempt with a sign-in token challenge' do - let!(:other_user) do - Fabricate(:user, email: 'z@y.com', password: 'abcdefgh', otp_required_for_login: false, current_sign_in_at: 1.month.ago) - end - - before do - post :create, params: { user: { email: other_user.email, password: other_user.password } } - post :create, params: { user: { email: user.email, password: user.password } } - end - - it 'renders sign in token authentication page' do - expect(controller).to render_template("sign_in_token") - end - - it 'generates sign in token' do - expect(user.reload.sign_in_token).to_not be_nil - end - - it 'sends sign in token e-mail' do - expect(UserMailer).to have_received(:sign_in_token).with(user, any_args) - end - end - - context 'using a valid sign in token' do - before do - user.generate_sign_in_token && user.save - post :create, params: { user: { sign_in_token_attempt: user.sign_in_token } }, session: { attempt_user_id: user.id, attempt_user_updated_at: user.updated_at.to_s } - end - - it 'redirects to home' do - expect(response).to redirect_to(root_path) - end - - it 'logs the user in' do - expect(controller.current_user).to eq user - end - end - - context 'using a valid sign in token, attempting to leverage previous half-login to bypass password auth' do - let!(:other_user) do - Fabricate(:user, email: 'z@y.com', password: 'abcdefgh', otp_required_for_login: false, current_sign_in_at: 1.month.ago) - end - - before do - user.generate_sign_in_token && user.save - post :create, params: { user: { email: other_user.email, password: other_user.password } } - post :create, params: { user: { email: user.email, sign_in_token_attempt: user.sign_in_token } }, session: { attempt_user_updated_at: user.updated_at.to_s } - end - - it "doesn't log the user in" do - expect(controller.current_user).to be_nil - end - end - - context 'using an invalid sign in token' do - before do - post :create, params: { user: { sign_in_token_attempt: 'wrongotp' } }, session: { attempt_user_id: user.id, attempt_user_updated_at: user.updated_at.to_s } - end - - it 'shows a login error' do - expect(flash[:alert]).to match I18n.t('users.invalid_sign_in_token') - end - - it "doesn't log the user in" do - expect(controller.current_user).to be_nil - end - end - end end describe 'GET #webauthn_options' do diff --git a/spec/lib/suspicious_sign_in_detector_spec.rb b/spec/lib/suspicious_sign_in_detector_spec.rb new file mode 100644 index 000000000..101a18aa0 --- /dev/null +++ b/spec/lib/suspicious_sign_in_detector_spec.rb @@ -0,0 +1,57 @@ +require 'rails_helper' + +RSpec.describe SuspiciousSignInDetector do + describe '#suspicious?' do + let(:user) { Fabricate(:user, current_sign_in_at: 1.day.ago) } + let(:request) { double(remote_ip: remote_ip) } + let(:remote_ip) { nil } + + subject { described_class.new(user).suspicious?(request) } + + context 'when user has 2FA enabled' do + before do + user.update!(otp_required_for_login: true) + end + + it 'returns false' do + expect(subject).to be false + end + end + + context 'when exact IP has been used before' do + let(:remote_ip) { '1.1.1.1' } + + before do + user.update!(sign_up_ip: remote_ip) + end + + it 'returns false' do + expect(subject).to be false + end + end + + context 'when similar IP has been used before' do + let(:remote_ip) { '1.1.2.2' } + + before do + user.update!(sign_up_ip: '1.1.1.1') + end + + it 'returns false' do + expect(subject).to be false + end + end + + context 'when IP is completely unfamiliar' do + let(:remote_ip) { '2.2.2.2' } + + before do + user.update!(sign_up_ip: '1.1.1.1') + end + + it 'returns true' do + expect(subject).to be true + end + end + end +end diff --git a/spec/mailers/previews/user_mailer_preview.rb b/spec/mailers/previews/user_mailer_preview.rb index 8de7d8669..95712e6cf 100644 --- a/spec/mailers/previews/user_mailer_preview.rb +++ b/spec/mailers/previews/user_mailer_preview.rb @@ -87,8 +87,8 @@ class UserMailerPreview < ActionMailer::Preview UserMailer.appeal_approved(User.first, Appeal.last) end - # Preview this email at http://localhost:3000/rails/mailers/user_mailer/sign_in_token - def sign_in_token - UserMailer.sign_in_token(User.first.tap { |user| user.generate_sign_in_token }, '127.0.0.1', 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0', Time.now.utc) + # Preview this email at http://localhost:3000/rails/mailers/user_mailer/suspicious_sign_in + def suspicious_sign_in + UserMailer.suspicious_sign_in(User.first, '127.0.0.1', 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0', Time.now.utc) end end From 454ef42aab48e73613c4588faaacfb5941bd3e6a Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 6 Apr 2022 20:58:23 +0200 Subject: [PATCH 190/276] Fix error when encountering invalid pinned posts (#17964) --- .../fetch_featured_collection_service.rb | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/app/services/activitypub/fetch_featured_collection_service.rb b/app/services/activitypub/fetch_featured_collection_service.rb index 780741feb..66234b711 100644 --- a/app/services/activitypub/fetch_featured_collection_service.rb +++ b/app/services/activitypub/fetch_featured_collection_service.rb @@ -22,9 +22,19 @@ class ActivityPub::FetchFeaturedCollectionService < BaseService private def process_items(items) - status_ids = items.map { |item| value_or_id(item) } - .filter_map { |uri| ActivityPub::FetchRemoteStatusService.new.call(uri, on_behalf_of: local_follower) unless ActivityPub::TagManager.instance.local_uri?(uri) } - .filter_map { |status| status.id if status.account_id == @account.id } + status_ids = items.filter_map do |item| + uri = value_or_id(item) + next if ActivityPub::TagManager.instance.local_uri?(uri) + + status = ActivityPub::FetchRemoteStatusService.new.call(uri, on_behalf_of: local_follower) + next unless status.account_id == @account.id + + status.id + rescue ActiveRecord::RecordInvalid => e + Rails.logger.debug "Invalid pinned status #{uri}: #{e.message}" + nil + end + to_remove = [] to_add = status_ids From 8f91e304a5adb98b657a5c096359d0423a5d7e84 Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 6 Apr 2022 21:01:02 +0200 Subject: [PATCH 191/276] Fix spurious edits and require incoming edits to be explicitly marked as such (#17918) * Change post text edit to not be considered significant if it's identical after reformatting * We don't need to clear previous change information anymore * Require status edits to be explicit, except for poll tallies * Fix tests * Add some tests * Add poll-related tests * Add HTML-formatting related tests --- .../process_status_update_service.rb | 50 ++++- .../fetch_remote_status_service_spec.rb | 4 +- .../process_status_update_service_spec.rb | 178 ++++++++++++++++++ 3 files changed, 220 insertions(+), 12 deletions(-) diff --git a/app/services/activitypub/process_status_update_service.rb b/app/services/activitypub/process_status_update_service.rb index 6dc14d8c2..3d9d9cb84 100644 --- a/app/services/activitypub/process_status_update_service.rb +++ b/app/services/activitypub/process_status_update_service.rb @@ -17,10 +17,19 @@ class ActivityPub::ProcessStatusUpdateService < BaseService # Only native types can be updated at the moment return @status if !expected_type? || already_updated_more_recently? - last_edit_date = status.edited_at.presence || status.created_at + if @status_parser.edited_at.present? && (@status.edited_at.nil? || @status_parser.edited_at > @status.edited_at) + handle_explicit_update! + else + handle_implicit_update! + end - # Since we rely on tracking of previous changes, ensure clean slate - status.clear_changes_information + @status + end + + private + + def handle_explicit_update! + last_edit_date = @status.edited_at.presence || @status.created_at # Only allow processing one create/update per status at a time RedisLock.acquire(lock_options) do |lock| @@ -45,12 +54,20 @@ class ActivityPub::ProcessStatusUpdateService < BaseService end end - forward_activity! if significant_changes? && @status_parser.edited_at.present? && @status_parser.edited_at > last_edit_date - - @status + forward_activity! if significant_changes? && @status_parser.edited_at > last_edit_date end - private + def handle_implicit_update! + RedisLock.acquire(lock_options) do |lock| + if lock.acquired? + update_poll!(allow_significant_changes: false) + else + raise Mastodon::RaceConditionError + end + end + + queue_poll_notifications! + end def update_media_attachments! previous_media_attachments = @status.media_attachments.to_a @@ -98,7 +115,7 @@ class ActivityPub::ProcessStatusUpdateService < BaseService @media_attachments_changed = true if @status.ordered_media_attachment_ids != previous_media_attachments_ids end - def update_poll! + def update_poll!(allow_significant_changes: true) previous_poll = @status.preloadable_poll @previous_expires_at = previous_poll&.expires_at poll_parser = ActivityPub::Parser::PollParser.new(@json) @@ -109,6 +126,7 @@ class ActivityPub::ProcessStatusUpdateService < BaseService # If for some reasons the options were changed, it invalidates all previous # votes, so we need to remove them @poll_changed = true if poll_parser.significantly_changes?(poll) + return if @poll_changed && !allow_significant_changes poll.last_fetched_at = Time.now.utc poll.options = poll_parser.options @@ -121,6 +139,8 @@ class ActivityPub::ProcessStatusUpdateService < BaseService @status.poll_id = poll.id elsif previous_poll.present? + return unless allow_significant_changes + previous_poll.destroy! @poll_changed = true @status.poll_id = nil @@ -132,7 +152,10 @@ class ActivityPub::ProcessStatusUpdateService < BaseService @status.spoiler_text = @status_parser.spoiler_text || '' @status.sensitive = @account.sensitized? || @status_parser.sensitive || false @status.language = @status_parser.language - @status.edited_at = @status_parser.edited_at || Time.now.utc if significant_changes? + + @significant_changes = text_significantly_changed? || @status.spoiler_text_changed? || @media_attachments_changed || @poll_changed + + @status.edited_at = @status_parser.edited_at if significant_changes? @status.save! end @@ -243,7 +266,14 @@ class ActivityPub::ProcessStatusUpdateService < BaseService end def significant_changes? - @status.text_changed? || @status.text_previously_changed? || @status.spoiler_text_changed? || @status.spoiler_text_previously_changed? || @media_attachments_changed || @poll_changed + @significant_changes + end + + def text_significantly_changed? + return false unless @status.text_changed? + + old, new = @status.text_change + HtmlAwareFormatter.new(old, false).to_s != HtmlAwareFormatter.new(new, false).to_s end def already_updated_more_recently? diff --git a/spec/services/activitypub/fetch_remote_status_service_spec.rb b/spec/services/activitypub/fetch_remote_status_service_spec.rb index 68816e554..943cb161d 100644 --- a/spec/services/activitypub/fetch_remote_status_service_spec.rb +++ b/spec/services/activitypub/fetch_remote_status_service_spec.rb @@ -195,7 +195,7 @@ RSpec.describe ActivityPub::FetchRemoteStatusService, type: :service do let(:existing_status) { Fabricate(:status, account: sender, text: 'Foo', uri: note[:id]) } context 'with a Note object' do - let(:object) { note } + let(:object) { note.merge(updated: '2021-09-08T22:39:25Z') } it 'updates status' do existing_status.reload @@ -211,7 +211,7 @@ RSpec.describe ActivityPub::FetchRemoteStatusService, type: :service do id: "https://#{valid_domain}/@foo/1234/create", type: 'Create', actor: ActivityPub::TagManager.instance.uri_for(sender), - object: note, + object: note.merge(updated: '2021-09-08T22:39:25Z'), } end diff --git a/spec/services/activitypub/process_status_update_service_spec.rb b/spec/services/activitypub/process_status_update_service_spec.rb index f87adcae1..481572742 100644 --- a/spec/services/activitypub/process_status_update_service_spec.rb +++ b/spec/services/activitypub/process_status_update_service_spec.rb @@ -1,5 +1,9 @@ require 'rails_helper' +def poll_option_json(name, votes) + { type: 'Note', name: name, replies: { type: 'Collection', totalItems: votes } } +end + RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do let!(:status) { Fabricate(:status, text: 'Hello world', account: Fabricate(:account, domain: 'example.com')) } @@ -46,6 +50,180 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do expect(status.reload.spoiler_text).to eq 'Show more' end + context 'when the changes are only in sanitized-out HTML' do + let!(:status) { Fabricate(:status, text: '

    Hello world joinmastodon.org

    ', account: Fabricate(:account, domain: 'example.com')) } + + let(:payload) do + { + '@context': 'https://www.w3.org/ns/activitystreams', + id: 'foo', + type: 'Note', + updated: '2021-09-08T22:39:25Z', + content: '

    Hello world joinmastodon.org

    ', + } + end + + before do + subject.call(status, json) + end + + it 'does not create any edits' do + expect(status.reload.edits).to be_empty + end + + it 'does not mark status as edited' do + expect(status.edited?).to be false + end + end + + context 'when the status has not been explicitly edited' do + let(:payload) do + { + '@context': 'https://www.w3.org/ns/activitystreams', + id: 'foo', + type: 'Note', + content: 'Updated text', + } + end + + before do + subject.call(status, json) + end + + it 'does not create any edits' do + expect(status.reload.edits).to be_empty + end + + it 'does not mark status as edited' do + expect(status.reload.edited?).to be false + end + + it 'does not update the text' do + expect(status.reload.text).to eq 'Hello world' + end + end + + context 'when the status has not been explicitly edited and features a poll' do + let(:account) { Fabricate(:account, domain: 'example.com') } + let!(:expiration) { 10.days.from_now.utc } + let!(:status) do + Fabricate(:status, + text: 'Hello world', + account: account, + poll_attributes: { + options: %w(Foo Bar), + account: account, + multiple: false, + hide_totals: false, + expires_at: expiration + } + ) + end + + let(:payload) do + { + '@context': 'https://www.w3.org/ns/activitystreams', + id: 'https://example.com/foo', + type: 'Question', + content: 'Hello world', + endTime: expiration.iso8601, + oneOf: [ + poll_option_json('Foo', 4), + poll_option_json('Bar', 3), + ], + } + end + + before do + subject.call(status, json) + end + + it 'does not create any edits' do + expect(status.reload.edits).to be_empty + end + + it 'does not mark status as edited' do + expect(status.reload.edited?).to be false + end + + it 'does not update the text' do + expect(status.reload.text).to eq 'Hello world' + end + + it 'updates tallies' do + expect(status.poll.reload.cached_tallies).to eq [4, 3] + end + end + + context 'when the status changes a poll despite being not explicitly marked as updated' do + let(:account) { Fabricate(:account, domain: 'example.com') } + let!(:expiration) { 10.days.from_now.utc } + let!(:status) do + Fabricate(:status, + text: 'Hello world', + account: account, + poll_attributes: { + options: %w(Foo Bar), + account: account, + multiple: false, + hide_totals: false, + expires_at: expiration + } + ) + end + + let(:payload) do + { + '@context': 'https://www.w3.org/ns/activitystreams', + id: 'https://example.com/foo', + type: 'Question', + content: 'Hello world', + endTime: expiration.iso8601, + oneOf: [ + poll_option_json('Foo', 4), + poll_option_json('Bar', 3), + poll_option_json('Baz', 3), + ], + } + end + + before do + subject.call(status, json) + end + + it 'does not create any edits' do + expect(status.reload.edits).to be_empty + end + + it 'does not mark status as edited' do + expect(status.reload.edited?).to be false + end + + it 'does not update the text' do + expect(status.reload.text).to eq 'Hello world' + end + + it 'does not update tallies' do + expect(status.poll.reload.cached_tallies).to eq [0, 0] + end + end + + context 'when receiving an edit older than the latest processed' do + before do + status.snapshot!(at_time: status.created_at, rate_limit: false) + status.update!(text: 'Hello newer world', edited_at: Time.now.utc) + status.snapshot!(rate_limit: false) + end + + it 'does not create any edits' do + expect { subject.call(status, json) }.not_to change { status.reload.edits.pluck(&:id) } + end + + it 'does not update the text, spoiler_text or edited_at' do + expect { subject.call(status, json) }.not_to change { s = status.reload; [s.text, s.spoiler_text, s.edited_at] } + end + end + context 'with no changes at all' do let(:payload) do { From dd4c156f33a24b8bb89b45b2697aa4036c3ae5be Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 6 Apr 2022 21:01:41 +0200 Subject: [PATCH 192/276] Fix possible duplicate statuses in timelines in some edge cases (#17971) In some rare cases, when receiving statuses out of order from the streaming API then polling from the REST API, it was possible for the `expandNormalizedTimeline` function to insert duplicates in the timeline, which would then result in several bugs. This commits ensures that there are no duplicates inserted in the timeline. --- app/javascript/mastodon/reducers/timelines.js | 39 +++++++++++++++---- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/app/javascript/mastodon/reducers/timelines.js b/app/javascript/mastodon/reducers/timelines.js index b66c19fd5..301997567 100644 --- a/app/javascript/mastodon/reducers/timelines.js +++ b/app/javascript/mastodon/reducers/timelines.js @@ -16,7 +16,7 @@ import { ACCOUNT_MUTE_SUCCESS, ACCOUNT_UNFOLLOW_SUCCESS, } from '../actions/accounts'; -import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable'; +import { Map as ImmutableMap, List as ImmutableList, OrderedSet as ImmutableOrderedSet, fromJS } from 'immutable'; import compareId from '../compare_id'; const initialState = ImmutableMap(); @@ -32,6 +32,13 @@ const initialTimeline = ImmutableMap({ }); const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, isLoadingRecent, usePendingItems) => { + // This method is pretty tricky because: + // - existing items in the timeline might be out of order + // - the existing timeline may have gaps, most often explicitly noted with a `null` item + // - ideally, we don't want it to reorder existing items of the timeline + // - `statuses` may include items that are already included in the timeline + // - this function can be called either to fill in a gap, or load newer items + return state.update(timeline, initialTimeline, map => map.withMutations(mMap => { mMap.set('isLoading', false); mMap.set('isPartial', isPartial); @@ -46,15 +53,33 @@ const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, is mMap.update(usePendingItems ? 'pendingItems' : 'items', ImmutableList(), oldIds => { const newIds = statuses.map(status => status.get('id')); - const lastIndex = oldIds.findLastIndex(id => id !== null && compareId(id, newIds.last()) >= 0) + 1; - const firstIndex = oldIds.take(lastIndex).findLastIndex(id => id !== null && compareId(id, newIds.first()) > 0); + // Now this gets tricky, as we don't necessarily know for sure where the gap to fill is + // and some items in the timeline may not be properly ordered. - if (firstIndex < 0) { - return (isPartial ? newIds.unshift(null) : newIds).concat(oldIds.skip(lastIndex)); + // However, we know that `newIds.last()` is the oldest item that was requested and that + // there is no “hole” between `newIds.last()` and `newIds.first()`. + + // First, find the furthest (if properly sorted, oldest) item in the timeline that is + // newer than the oldest fetched one, as it's most likely that it delimits the gap. + // Start the gap *after* that item. + const lastIndex = oldIds.findLastIndex(id => id !== null && compareId(id, newIds.last()) >= 0) + 1; + + // Then, try to find the furthest (if properly sorted, oldest) item in the timeline that + // is newer than the most recent fetched one, as it delimits a section comprised of only + // items present in `newIds` (or that were deleted from the server, so should be removed + // anyway). + // Stop the gap *after* that item. + const firstIndex = oldIds.take(lastIndex).findLastIndex(id => id !== null && compareId(id, newIds.first()) > 0) + 1; + + // Make sure we aren't inserting duplicates + let insertedIds = ImmutableOrderedSet(newIds).subtract(oldIds.take(firstIndex), oldIds.skip(lastIndex)).toList(); + // Finally, insert a gap marker if the data is marked as partial by the server + if (isPartial && (firstIndex === 0 || oldIds.get(firstIndex - 1) !== null)) { + insertedIds = insertedIds.unshift(null); } - return oldIds.take(firstIndex + 1).concat( - isPartial && oldIds.get(firstIndex) !== null ? newIds.unshift(null) : newIds, + return oldIds.take(firstIndex).concat( + insertedIds, oldIds.skip(lastIndex), ); }); From f382192862893c48cf97f13e9fbfb85b80cdc97d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 6 Apr 2022 22:53:29 +0200 Subject: [PATCH 193/276] Add pagination for trending statuses in web UI (#17976) --- app/javascript/mastodon/actions/trends.js | 54 +++++++++++++++++-- .../mastodon/features/explore/statuses.js | 15 ++++-- .../mastodon/reducers/status_lists.js | 7 +++ 3 files changed, 68 insertions(+), 8 deletions(-) diff --git a/app/javascript/mastodon/actions/trends.js b/app/javascript/mastodon/actions/trends.js index 304bbebef..edda0b5b5 100644 --- a/app/javascript/mastodon/actions/trends.js +++ b/app/javascript/mastodon/actions/trends.js @@ -1,4 +1,4 @@ -import api from '../api'; +import api, { getLinks } from '../api'; import { importFetchedStatuses } from './importer'; export const TRENDS_TAGS_FETCH_REQUEST = 'TRENDS_TAGS_FETCH_REQUEST'; @@ -13,6 +13,10 @@ export const TRENDS_STATUSES_FETCH_REQUEST = 'TRENDS_STATUSES_FETCH_REQUEST'; export const TRENDS_STATUSES_FETCH_SUCCESS = 'TRENDS_STATUSES_FETCH_SUCCESS'; export const TRENDS_STATUSES_FETCH_FAIL = 'TRENDS_STATUSES_FETCH_FAIL'; +export const TRENDS_STATUSES_EXPAND_REQUEST = 'TRENDS_STATUSES_EXPAND_REQUEST'; +export const TRENDS_STATUSES_EXPAND_SUCCESS = 'TRENDS_STATUSES_EXPAND_SUCCESS'; +export const TRENDS_STATUSES_EXPAND_FAIL = 'TRENDS_STATUSES_EXPAND_FAIL'; + export const fetchTrendingHashtags = () => (dispatch, getState) => { dispatch(fetchTrendingHashtagsRequest()); @@ -68,11 +72,16 @@ export const fetchTrendingLinksFail = error => ({ }); export const fetchTrendingStatuses = () => (dispatch, getState) => { + if (getState().getIn(['status_lists', 'trending', 'isLoading'])) { + return; + } + dispatch(fetchTrendingStatusesRequest()); - api(getState).get('/api/v1/trends/statuses').then(({ data }) => { - dispatch(importFetchedStatuses(data)); - dispatch(fetchTrendingStatusesSuccess(data)); + api(getState).get('/api/v1/trends/statuses').then(response => { + const next = getLinks(response).refs.find(link => link.rel === 'next'); + dispatch(importFetchedStatuses(response.data)); + dispatch(fetchTrendingStatusesSuccess(response.data, next ? next.uri : null)); }).catch(err => dispatch(fetchTrendingStatusesFail(err))); }; @@ -81,9 +90,10 @@ export const fetchTrendingStatusesRequest = () => ({ skipLoading: true, }); -export const fetchTrendingStatusesSuccess = statuses => ({ +export const fetchTrendingStatusesSuccess = (statuses, next) => ({ type: TRENDS_STATUSES_FETCH_SUCCESS, statuses, + next, skipLoading: true, }); @@ -93,3 +103,37 @@ export const fetchTrendingStatusesFail = error => ({ skipLoading: true, skipAlert: true, }); + + +export const expandTrendingStatuses = () => (dispatch, getState) => { + const url = getState().getIn(['status_lists', 'trending', 'next'], null); + + if (url === null || getState().getIn(['status_lists', 'trending', 'isLoading'])) { + return; + } + + dispatch(expandTrendingStatusesRequest()); + + api(getState).get(url).then(response => { + const next = getLinks(response).refs.find(link => link.rel === 'next'); + dispatch(importFetchedStatuses(response.data)); + dispatch(expandTrendingStatusesSuccess(response.data, next ? next.uri : null)); + }).catch(error => { + dispatch(expandTrendingStatusesFail(error)); + }); +}; + +export const expandTrendingStatusesRequest = () => ({ + type: TRENDS_STATUSES_EXPAND_REQUEST, +}); + +export const expandTrendingStatusesSuccess = (statuses, next) => ({ + type: TRENDS_STATUSES_EXPAND_SUCCESS, + statuses, + next, +}); + +export const expandTrendingStatusesFail = error => ({ + type: TRENDS_STATUSES_EXPAND_FAIL, + error, +}); diff --git a/app/javascript/mastodon/features/explore/statuses.js b/app/javascript/mastodon/features/explore/statuses.js index 4e5530d84..33e5b4179 100644 --- a/app/javascript/mastodon/features/explore/statuses.js +++ b/app/javascript/mastodon/features/explore/statuses.js @@ -4,11 +4,13 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; import StatusList from 'mastodon/components/status_list'; import { FormattedMessage } from 'react-intl'; import { connect } from 'react-redux'; -import { fetchTrendingStatuses } from 'mastodon/actions/trends'; +import { fetchTrendingStatuses, expandTrendingStatuses } from 'mastodon/actions/trends'; +import { debounce } from 'lodash'; const mapStateToProps = state => ({ statusIds: state.getIn(['status_lists', 'trending', 'items']), isLoading: state.getIn(['status_lists', 'trending', 'isLoading'], true), + hasMore: !!state.getIn(['status_lists', 'trending', 'next']), }); export default @connect(mapStateToProps) @@ -17,6 +19,7 @@ class Statuses extends React.PureComponent { static propTypes = { statusIds: ImmutablePropTypes.list, isLoading: PropTypes.bool, + hasMore: PropTypes.bool, multiColumn: PropTypes.bool, dispatch: PropTypes.func.isRequired, }; @@ -26,8 +29,13 @@ class Statuses extends React.PureComponent { dispatch(fetchTrendingStatuses()); } + handleLoadMore = debounce(() => { + const { dispatch } = this.props; + dispatch(expandTrendingStatuses()); + }, 300, { leading: true }) + render () { - const { isLoading, statusIds, multiColumn } = this.props; + const { isLoading, hasMore, statusIds, multiColumn } = this.props; const emptyMessage = ; @@ -36,8 +44,9 @@ class Statuses extends React.PureComponent { trackScroll statusIds={statusIds} scrollKey='explore-statuses' - hasMore={false} + hasMore={hasMore} isLoading={isLoading} + onLoadMore={this.handleLoadMore} emptyMessage={emptyMessage} bindToDocument={!multiColumn} withCounters diff --git a/app/javascript/mastodon/reducers/status_lists.js b/app/javascript/mastodon/reducers/status_lists.js index 49bc94a40..a7c56cc19 100644 --- a/app/javascript/mastodon/reducers/status_lists.js +++ b/app/javascript/mastodon/reducers/status_lists.js @@ -21,6 +21,9 @@ import { TRENDS_STATUSES_FETCH_REQUEST, TRENDS_STATUSES_FETCH_SUCCESS, TRENDS_STATUSES_FETCH_FAIL, + TRENDS_STATUSES_EXPAND_REQUEST, + TRENDS_STATUSES_EXPAND_SUCCESS, + TRENDS_STATUSES_EXPAND_FAIL, } from '../actions/trends'; import { Map as ImmutableMap, List as ImmutableList } from 'immutable'; import { @@ -111,11 +114,15 @@ export default function statusLists(state = initialState, action) { case BOOKMARKED_STATUSES_EXPAND_SUCCESS: return appendToList(state, 'bookmarks', action.statuses, action.next); case TRENDS_STATUSES_FETCH_REQUEST: + case TRENDS_STATUSES_EXPAND_REQUEST: return state.setIn(['trending', 'isLoading'], true); case TRENDS_STATUSES_FETCH_FAIL: + case TRENDS_STATUSES_EXPAND_FAIL: return state.setIn(['trending', 'isLoading'], false); case TRENDS_STATUSES_FETCH_SUCCESS: return normalizeList(state, 'trending', action.statuses, action.next); + case TRENDS_STATUSES_EXPAND_SUCCESS: + return appendToList(state, 'trending', action.statuses, action.next); case FAVOURITE_SUCCESS: return prependOneToList(state, 'favourites', action.status); case UNFAVOURITE_SUCCESS: From 1b91359a4508b3068207ef4fd798a56549575591 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 7 Apr 2022 11:27:35 +0200 Subject: [PATCH 194/276] Fix older items possibly disappearing on timeline updates (#17980) In some rare cases, when receiving statuses out of order from the streaming API then polling from the REST API, it was possible for the `expandNormalizedTimeline` function to remove older items from the timeline. This commit ensures that any item from the replaced slice that is older than the oldest item retrieved from the API gets added back to the replaced slice. --- app/javascript/mastodon/reducers/timelines.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/app/javascript/mastodon/reducers/timelines.js b/app/javascript/mastodon/reducers/timelines.js index 301997567..53a644e47 100644 --- a/app/javascript/mastodon/reducers/timelines.js +++ b/app/javascript/mastodon/reducers/timelines.js @@ -66,13 +66,22 @@ const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, is // Then, try to find the furthest (if properly sorted, oldest) item in the timeline that // is newer than the most recent fetched one, as it delimits a section comprised of only - // items present in `newIds` (or that were deleted from the server, so should be removed + // items older or within `newIds` (or that were deleted from the server, so should be removed // anyway). // Stop the gap *after* that item. const firstIndex = oldIds.take(lastIndex).findLastIndex(id => id !== null && compareId(id, newIds.first()) > 0) + 1; - // Make sure we aren't inserting duplicates - let insertedIds = ImmutableOrderedSet(newIds).subtract(oldIds.take(firstIndex), oldIds.skip(lastIndex)).toList(); + let insertedIds = ImmutableOrderedSet(newIds).withMutations(insertedIds => { + // It is possible, though unlikely, that the slice we are replacing contains items older + // than the elements we got from the API. Get them and add them back at the back of the + // slice. + const olderIds = oldIds.slice(firstIndex, lastIndex).filter(id => id !== null && compareId(id, newIds.last()) < 0); + insertedIds.union(olderIds); + + // Make sure we aren't inserting duplicates + insertedIds.subtract(oldIds.take(firstIndex), oldIds.skip(lastIndex)); + }).toList(); + // Finally, insert a gap marker if the data is marked as partial by the server if (isPartial && (firstIndex === 0 || oldIds.get(firstIndex - 1) !== null)) { insertedIds = insertedIds.unshift(null); From 8c03b45fffc54a66d1c9c3eec75a7c6f741d0947 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 7 Apr 2022 13:32:12 +0200 Subject: [PATCH 195/276] Fix unset `SMTP_RETURN_PATH` environment variable causing e-mail not to send (#17982) --- config/environments/production.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index b003cce9e..95f8a6f32 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -95,11 +95,12 @@ Rails.application.configure do config.action_mailer.default_options = { from: outgoing_email_address, - reply_to: ENV['SMTP_REPLY_TO'], - return_path: ENV['SMTP_RETURN_PATH'], message_id: -> { "<#{Mail.random_tag}@#{outgoing_email_domain}>" }, } + config.action_mailer.default_options[:reply_to] = ENV['SMTP_REPLY_TO'] if ENV['SMTP_REPLY_TO'].present? + config.action_mailer.default_options[:return_path] = ENV['SMTP_RETURN_PATH'] if ENV['SMTP_RETURN_PATH'].present? + config.action_mailer.smtp_settings = { :port => ENV['SMTP_PORT'], :address => ENV['SMTP_SERVER'], From ce9dcbea32e7212dc19d83bbb7a21afe8756ced0 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 7 Apr 2022 14:47:30 +0200 Subject: [PATCH 196/276] Fix failure when sending warning emails with custom text (#17983) * Add tests * Fix failure when sending warning emails with custom text --- app/mailers/user_mailer.rb | 1 + spec/mailers/user_mailer_spec.rb | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index ce36dd6f5..e47bedec6 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -7,6 +7,7 @@ class UserMailer < Devise::Mailer helper :application helper :instance helper :statuses + helper :formatting helper RoutingHelper diff --git a/spec/mailers/user_mailer_spec.rb b/spec/mailers/user_mailer_spec.rb index 9c866788f..2ed33c1e4 100644 --- a/spec/mailers/user_mailer_spec.rb +++ b/spec/mailers/user_mailer_spec.rb @@ -83,4 +83,15 @@ describe UserMailer, type: :mailer do include_examples 'localized subject', 'devise.mailer.email_changed.subject' end + + describe 'warning' do + let(:strike) { Fabricate(:account_warning, target_account: receiver.account, text: 'dont worry its just the testsuite', action: 'suspend') } + let(:mail) { UserMailer.warning(receiver, strike) } + + it 'renders warning notification' do + receiver.update!(locale: nil) + expect(mail.body.encoded).to include I18n.t("user_mailer.warning.title.suspend", acct: receiver.account.acct) + expect(mail.body.encoded).to include strike.text + end + end end From ebe01ea194104b14af6cd6abe6d20637f1a3e140 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 7 Apr 2022 16:08:17 +0200 Subject: [PATCH 197/276] Fix potentially missing statuses when reconnecting to websocket (#17981) * Fix potentially missing statuses when reconnecting to websocket * Add gap on reconnect rather than maintaining it constantly --- app/javascript/mastodon/actions/timelines.js | 1 + app/javascript/mastodon/reducers/timelines.js | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/javascript/mastodon/actions/timelines.js b/app/javascript/mastodon/actions/timelines.js index 31ae09e4a..8bbaa104a 100644 --- a/app/javascript/mastodon/actions/timelines.js +++ b/app/javascript/mastodon/actions/timelines.js @@ -184,6 +184,7 @@ export function connectTimeline(timeline) { return { type: TIMELINE_CONNECT, timeline, + usePendingItems: preferPendingItems, }; }; diff --git a/app/javascript/mastodon/reducers/timelines.js b/app/javascript/mastodon/reducers/timelines.js index 53a644e47..d72109e69 100644 --- a/app/javascript/mastodon/reducers/timelines.js +++ b/app/javascript/mastodon/reducers/timelines.js @@ -171,6 +171,17 @@ const updateTop = (state, timeline, top) => { })); }; +const reconnectTimeline = (state, usePendingItems) => { + if (state.get('online')) { + return state; + } + + return state.withMutations(mMap => { + mMap.update(usePendingItems ? 'pendingItems' : 'items', items => items.first() ? items.unshift(null) : items); + mMap.set('online', true); + }); +}; + export default function timelines(state = initialState, action) { switch(action.type) { case TIMELINE_LOAD_PENDING: @@ -196,7 +207,7 @@ export default function timelines(state = initialState, action) { case TIMELINE_SCROLL_TOP: return updateTop(state, action.timeline, action.top); case TIMELINE_CONNECT: - return state.update(action.timeline, initialTimeline, map => map.set('online', true)); + return state.update(action.timeline, initialTimeline, map => reconnectTimeline(map, action.usePendingItems)); case TIMELINE_DISCONNECT: return state.update( action.timeline, From 465ee7792ff48905088efdf3df6f718081b5e244 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 7 Apr 2022 18:06:15 +0200 Subject: [PATCH 198/276] Fix pagination header on empty trends responses in REST API (#17986) --- app/controllers/api/v1/trends/links_controller.rb | 6 +++++- app/controllers/api/v1/trends/statuses_controller.rb | 6 +++++- app/controllers/api/v1/trends/tags_controller.rb | 6 +++++- app/models/trends/query.rb | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/app/controllers/api/v1/trends/links_controller.rb b/app/controllers/api/v1/trends/links_controller.rb index b1cde5a4b..2385fe438 100644 --- a/app/controllers/api/v1/trends/links_controller.rb +++ b/app/controllers/api/v1/trends/links_controller.rb @@ -36,13 +36,17 @@ class Api::V1::Trends::LinksController < Api::BaseController end def next_path - api_v1_trends_links_url pagination_params(offset: offset_param + limit_param(DEFAULT_LINKS_LIMIT)) + api_v1_trends_links_url pagination_params(offset: offset_param + limit_param(DEFAULT_LINKS_LIMIT)) if records_continue? end def prev_path api_v1_trends_links_url pagination_params(offset: offset_param - limit_param(DEFAULT_LINKS_LIMIT)) if offset_param > limit_param(DEFAULT_LINKS_LIMIT) end + def records_continue? + @links.size == limit_param(DEFAULT_LINKS_LIMIT) + end + def offset_param params[:offset].to_i end diff --git a/app/controllers/api/v1/trends/statuses_controller.rb b/app/controllers/api/v1/trends/statuses_controller.rb index 4977803fb..1f2fff582 100644 --- a/app/controllers/api/v1/trends/statuses_controller.rb +++ b/app/controllers/api/v1/trends/statuses_controller.rb @@ -36,7 +36,7 @@ class Api::V1::Trends::StatusesController < Api::BaseController end def next_path - api_v1_trends_statuses_url pagination_params(offset: offset_param + limit_param(DEFAULT_STATUSES_LIMIT)) + api_v1_trends_statuses_url pagination_params(offset: offset_param + limit_param(DEFAULT_STATUSES_LIMIT)) if records_continue? end def prev_path @@ -46,4 +46,8 @@ class Api::V1::Trends::StatusesController < Api::BaseController def offset_param params[:offset].to_i end + + def records_continue? + @statuses.size == limit_param(DEFAULT_STATUSES_LIMIT) + end end diff --git a/app/controllers/api/v1/trends/tags_controller.rb b/app/controllers/api/v1/trends/tags_controller.rb index 329ef5ae7..38003f599 100644 --- a/app/controllers/api/v1/trends/tags_controller.rb +++ b/app/controllers/api/v1/trends/tags_controller.rb @@ -32,7 +32,7 @@ class Api::V1::Trends::TagsController < Api::BaseController end def next_path - api_v1_trends_tags_url pagination_params(offset: offset_param + limit_param(DEFAULT_TAGS_LIMIT)) + api_v1_trends_tags_url pagination_params(offset: offset_param + limit_param(DEFAULT_TAGS_LIMIT)) if records_continue? end def prev_path @@ -42,4 +42,8 @@ class Api::V1::Trends::TagsController < Api::BaseController def offset_param params[:offset].to_i end + + def records_continue? + @tags.size == limit_param(DEFAULT_TAGS_LIMIT) + end end diff --git a/app/models/trends/query.rb b/app/models/trends/query.rb index 231b65228..f19df162f 100644 --- a/app/models/trends/query.rb +++ b/app/models/trends/query.rb @@ -59,7 +59,7 @@ class Trends::Query @records end - delegate :each, :empty?, :first, :last, to: :records + delegate :each, :empty?, :first, :last, :size, to: :records def to_ary records.dup From 5f0fc639dada7a58d2bb5524b4ec081ee6cc143f Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 7 Apr 2022 20:17:49 +0200 Subject: [PATCH 199/276] Fix error re-running some migrations if they get interrupted at the wrong moment (#17989) --- lib/mastodon/migration_helpers.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/mastodon/migration_helpers.rb b/lib/mastodon/migration_helpers.rb index e920ff88f..beef83362 100644 --- a/lib/mastodon/migration_helpers.rb +++ b/lib/mastodon/migration_helpers.rb @@ -813,6 +813,9 @@ module Mastodon def update_index(table_name, index_name, columns, **index_options) if index_name_exists?(table_name, "#{index_name}_new") && index_name_exists?(table_name, index_name) remove_index table_name, "#{index_name}_new" + elsif index_name_exists?(table_name, "#{index_name}_new") + # Very unlikely case where the script has been interrupted during/after removal but before renaming + rename_index table_name, "#{index_name}_new", index_name end begin From cb45c04d2642291cedd85b2483f0d827d130d6e2 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 7 Apr 2022 20:46:30 +0200 Subject: [PATCH 200/276] Fix migration error handling (#17991) --- lib/mastodon/migration_helpers.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mastodon/migration_helpers.rb b/lib/mastodon/migration_helpers.rb index beef83362..2ab8150ec 100644 --- a/lib/mastodon/migration_helpers.rb +++ b/lib/mastodon/migration_helpers.rb @@ -812,7 +812,7 @@ module Mastodon # removing the old one def update_index(table_name, index_name, columns, **index_options) if index_name_exists?(table_name, "#{index_name}_new") && index_name_exists?(table_name, index_name) - remove_index table_name, "#{index_name}_new" + remove_index table_name, name: "#{index_name}_new" elsif index_name_exists?(table_name, "#{index_name}_new") # Very unlikely case where the script has been interrupted during/after removal but before renaming rename_index table_name, "#{index_name}_new", index_name From 2afe479d0187537c6abe867323b22153dcdb0a6c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Apr 2022 13:40:05 +0900 Subject: [PATCH 201/276] Bump lograge from 0.11.2 to 0.12.0 (#17961) Bumps [lograge](https://github.com/roidrage/lograge) from 0.11.2 to 0.12.0. - [Release notes](https://github.com/roidrage/lograge/releases) - [Changelog](https://github.com/roidrage/lograge/blob/master/CHANGELOG.md) - [Commits](https://github.com/roidrage/lograge/compare/v0.11.2...v0.12.0) --- updated-dependencies: - dependency-name: lograge dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index b29bf6818..43b9c2dcb 100644 --- a/Gemfile +++ b/Gemfile @@ -146,7 +146,7 @@ group :development do end group :production do - gem 'lograge', '~> 0.11' + gem 'lograge', '~> 0.12' end gem 'concurrent-ruby', require: false diff --git a/Gemfile.lock b/Gemfile.lock index e9e246be9..3defe3039 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -360,12 +360,12 @@ GEM llhttp-ffi (0.4.0) ffi-compiler (~> 1.0) rake (~> 13.0) - lograge (0.11.2) + lograge (0.12.0) actionpack (>= 4) activesupport (>= 4) railties (>= 4) request_store (~> 1.0) - loofah (2.15.0) + loofah (2.16.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) mail (2.7.1) @@ -525,7 +525,7 @@ GEM redis-namespace (1.8.2) redis (>= 3.0.4) regexp_parser (2.2.1) - request_store (1.5.0) + request_store (1.5.1) rack (>= 1.4) responders (3.0.1) actionpack (>= 5.0) @@ -773,7 +773,7 @@ DEPENDENCIES letter_opener (~> 1.8) letter_opener_web (~> 2.0) link_header (~> 0.0) - lograge (~> 0.11) + lograge (~> 0.12) makara (~> 0.5) mario-redis-lock (~> 1.2) memory_profiler From 29264336d7569597ed89a2549a3eddffe7ba6dcf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Apr 2022 13:40:23 +0900 Subject: [PATCH 202/276] Bump fabrication from 2.27.0 to 2.28.0 (#17960) Bumps [fabrication](https://gitlab.com/fabrication-gem/fabrication) from 2.27.0 to 2.28.0. - [Release notes](https://gitlab.com/fabrication-gem/fabrication/tags) - [Changelog](https://gitlab.com/fabrication-gem/fabrication/blob/master/Changelog.markdown) - [Commits](https://gitlab.com/fabrication-gem/fabrication/compare/2.27.0...2.28.0) --- updated-dependencies: - dependency-name: fabrication dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 43b9c2dcb..bab5e61c9 100644 --- a/Gemfile +++ b/Gemfile @@ -99,7 +99,7 @@ gem 'json-ld-preloaded', '~> 3.2' gem 'rdf-normalize', '~> 0.5' group :development, :test do - gem 'fabrication', '~> 2.27' + gem 'fabrication', '~> 2.28' gem 'fuubar', '~> 2.5' gem 'i18n-tasks', '~> 0.9', require: false gem 'pry-byebug', '~> 3.9' diff --git a/Gemfile.lock b/Gemfile.lock index 3defe3039..357bb201b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -211,7 +211,7 @@ GEM et-orbi (1.2.6) tzinfo excon (0.76.0) - fabrication (2.27.0) + fabrication (2.28.0) faker (2.20.0) i18n (>= 1.8.11, < 2) faraday (1.9.3) @@ -750,7 +750,7 @@ DEPENDENCIES doorkeeper (~> 5.5) dotenv-rails (~> 2.7) ed25519 (~> 1.3) - fabrication (~> 2.27) + fabrication (~> 2.28) faker (~> 2.20) fast_blank (~> 1.0) fastimage From 46633f1de1dafb860ee444d041f8454c4a0bd62f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Apr 2022 13:44:40 +0900 Subject: [PATCH 203/276] Bump gitlab-omniauth-openid-connect from 0.5.0 to 0.9.1 (#17779) Bumps [gitlab-omniauth-openid-connect](https://gitlab.com/gitlab-org/gitlab-omniauth-openid-connect) from 0.5.0 to 0.9.1. - [Release notes](https://gitlab.com/gitlab-org/gitlab-omniauth-openid-connect/tags) - [Changelog](https://gitlab.com/gitlab-org/gitlab-omniauth-openid-connect/blob/master/CHANGELOG.md) - [Commits](https://gitlab.com/gitlab-org/gitlab-omniauth-openid-connect/compare/v0.5.0...v0.9.1) --- updated-dependencies: - dependency-name: gitlab-omniauth-openid-connect dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Gemfile b/Gemfile index bab5e61c9..4f5a65062 100644 --- a/Gemfile +++ b/Gemfile @@ -40,7 +40,7 @@ end gem 'net-ldap', '~> 0.17' gem 'omniauth-cas', '~> 2.0' gem 'omniauth-saml', '~> 1.10' -gem 'gitlab-omniauth-openid-connect', '~>0.5.0', require: 'omniauth_openid_connect' +gem 'gitlab-omniauth-openid-connect', '~>0.9.1', require: 'omniauth_openid_connect' gem 'omniauth', '~> 1.9' gem 'omniauth-rails_csrf_protection', '~> 0.1' diff --git a/Gemfile.lock b/Gemfile.lock index 357bb201b..2716ab493 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -262,7 +262,7 @@ GEM fuubar (2.5.1) rspec-core (~> 3.0) ruby-progressbar (~> 1.4) - gitlab-omniauth-openid-connect (0.5.0) + gitlab-omniauth-openid-connect (0.9.1) addressable (~> 2.7) omniauth (~> 1.9) openid_connect (~> 1.2) @@ -278,7 +278,7 @@ GEM hamlit (>= 1.2.0) railties (>= 4.0.1) hashdiff (1.0.1) - hashie (4.1.0) + hashie (5.0.0) highline (2.0.3) hiredis (0.6.3) hkdf (0.3.0) @@ -417,7 +417,7 @@ GEM omniauth-saml (1.10.3) omniauth (~> 1.3, >= 1.3.2) ruby-saml (~> 1.9) - openid_connect (1.2.0) + openid_connect (1.3.0) activemodel attr_required (>= 1.0.0) json-jwt (>= 1.5.0) @@ -470,7 +470,7 @@ GEM rack (>= 1.0, < 3) rack-cors (1.1.1) rack (>= 2.0.0) - rack-oauth2 (1.16.0) + rack-oauth2 (1.19.0) activesupport attr_required httpclient @@ -635,7 +635,7 @@ GEM stoplight (2.2.1) strong_migrations (0.7.9) activerecord (>= 5) - swd (1.2.0) + swd (1.3.0) activesupport (>= 3) attr_required (>= 0.0.5) httpclient (>= 2.4) @@ -691,7 +691,7 @@ GEM safety_net_attestation (~> 0.4.0) securecompare (~> 1.0) tpm-key_attestation (~> 0.9.0) - webfinger (1.1.0) + webfinger (1.2.0) activesupport httpclient (>= 2.4) webmock (3.14.0) @@ -757,7 +757,7 @@ DEPENDENCIES fog-core (<= 2.1.0) fog-openstack (~> 0.3) fuubar (~> 2.5) - gitlab-omniauth-openid-connect (~> 0.5.0) + gitlab-omniauth-openid-connect (~> 0.9.1) hamlit-rails (~> 0.2) hiredis (~> 0.6) htmlentities (~> 4.3) From 6e418bf3465d2df6b47e9b43d3b960504b81e8fb Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 8 Apr 2022 12:47:18 +0200 Subject: [PATCH 204/276] Fix cookies secure flag being set when served over Tor (#17992) --- config/application.rb | 1 - config/initializers/devise.rb | 4 +--- config/initializers/session_store.rb | 2 +- lib/action_dispatch/cookie_jar_extensions.rb | 25 -------------------- 4 files changed, 2 insertions(+), 30 deletions(-) delete mode 100644 lib/action_dispatch/cookie_jar_extensions.rb diff --git a/config/application.rb b/config/application.rb index bed935ce3..a1ba71f61 100644 --- a/config/application.rb +++ b/config/application.rb @@ -40,7 +40,6 @@ require_relative '../lib/devise/two_factor_pam_authenticatable' require_relative '../lib/chewy/strategy/custom_sidekiq' require_relative '../lib/webpacker/manifest_extensions' require_relative '../lib/webpacker/helper_extensions' -require_relative '../lib/action_dispatch/cookie_jar_extensions' require_relative '../lib/rails/engine_extensions' require_relative '../lib/active_record/database_tasks_extensions' require_relative '../lib/active_record/batches' diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index b434c68fa..c55bea7a7 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -8,7 +8,6 @@ Warden::Manager.after_set_user except: :fetch do |user, warden| value: session_id, expires: 1.year.from_now, httponly: true, - secure: (Rails.env.production? || ENV['LOCAL_HTTPS'] == 'true'), same_site: :lax, } end @@ -23,7 +22,6 @@ Warden::Manager.after_fetch do |user, warden| value: session_id, expires: 1.year.from_now, httponly: true, - secure: (Rails.env.production? || ENV['LOCAL_HTTPS'] == 'true'), same_site: :lax, } else @@ -265,7 +263,7 @@ Devise.setup do |config| # Options to be passed to the created cookie. For instance, you can set # secure: true in order to force SSL only cookies. - config.rememberable_options = { secure: true } + config.rememberable_options = {} # ==> Configuration for :validatable # Range for password length. diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb index 3d9bf96fd..210964b1f 100644 --- a/config/initializers/session_store.rb +++ b/config/initializers/session_store.rb @@ -2,5 +2,5 @@ Rails.application.config.session_store :cookie_store, key: '_mastodon_session', - secure: (Rails.env.production? || ENV['LOCAL_HTTPS'] == 'true'), + secure: false, # All cookies have their secure flag set by the force_ssl option in production same_site: :lax diff --git a/lib/action_dispatch/cookie_jar_extensions.rb b/lib/action_dispatch/cookie_jar_extensions.rb deleted file mode 100644 index 1be9053ba..000000000 --- a/lib/action_dispatch/cookie_jar_extensions.rb +++ /dev/null @@ -1,25 +0,0 @@ -# frozen_string_literal: true - -module ActionDispatch - module CookieJarExtensions - private - - # Monkey-patch ActionDispatch to serve secure cookies to Tor Hidden Service - # users. Otherwise, ActionDispatch would drop the cookie over HTTP. - def write_cookie?(*) - request.host.end_with?('.onion') || super - end - end -end - -ActionDispatch::Cookies::CookieJar.prepend(ActionDispatch::CookieJarExtensions) - -module Rack - module SessionPersistedExtensions - def security_matches?(request, options) - request.host.end_with?('.onion') || super - end - end -end - -Rack::Session::Abstract::Persisted.prepend(Rack::SessionPersistedExtensions) From f06a3b56a3190191b80bff4eb91c12939afbba2b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 8 Apr 2022 12:52:22 +0200 Subject: [PATCH 205/276] New Crowdin updates (#17897) * New translations en.yml (Danish) * New translations en.yml (German) * New translations en.yml (Basque) * New translations en.yml (Finnish) * New translations en.yml (Hungarian) * New translations en.yml (Hebrew) * New translations en.yml (Catalan) * New translations en.yml (Spanish) * New translations en.yml (French) * New translations en.yml (Arabic) * New translations en.yml (Armenian) * New translations en.yml (Afrikaans) * New translations en.yml (Polish) * New translations en.yml (Punjabi) * New translations en.yml (Serbian (Cyrillic)) * New translations en.yml (Portuguese) * New translations en.yml (Albanian) * New translations en.yml (Dutch) * New translations en.yml (Turkish) * New translations en.yml (Chinese Traditional) * New translations en.yml (Urdu (Pakistan)) * New translations en.yml (Icelandic) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Indonesian) * New translations en.yml (Tamil) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Norwegian) * New translations en.yml (Korean) * New translations en.yml (Macedonian) * New translations en.yml (Slovenian) * New translations en.yml (Chinese Simplified) * New translations en.yml (Swedish) * New translations en.yml (Italian) * New translations en.yml (Japanese) * New translations en.yml (Russian) * New translations en.yml (Slovak) * New translations en.yml (Vietnamese) * New translations en.yml (Lithuanian) * New translations en.yml (Scottish Gaelic) * New translations en.yml (Occitan) * New translations en.yml (Persian) * New translations en.yml (Galician) * New translations en.yml (Georgian) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Bengali) * New translations en.yml (Sinhala) * New translations en.yml (Silesian) * New translations en.yml (Taigi) * New translations en.yml (Ido) * New translations en.yml (Kabyle) * New translations en.yml (Sanskrit) * New translations en.yml (Sardinian) * New translations en.yml (Corsican) * New translations en.yml (Sorani (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Serbian (Latin)) * New translations en.yml (Asturian) * New translations en.yml (Kannada) * New translations en.yml (Cornish) * New translations en.yml (Breton) * New translations en.yml (Marathi) * New translations en.yml (Malayalam) * New translations en.yml (Tatar) * New translations en.yml (Chinese Traditional, Hong Kong) * New translations en.yml (Uyghur) * New translations en.yml (Esperanto) * New translations en.yml (Welsh) * New translations en.yml (Telugu) * New translations en.yml (Malay) * New translations en.yml (Hindi) * New translations en.yml (Latvian) * New translations en.yml (Estonian) * New translations en.yml (Kazakh) * New translations en.yml (Norwegian Nynorsk) * New translations en.yml (Croatian) * New translations en.yml (Standard Moroccan Tamazight) * New translations en.yml (German) * New translations en.yml (Icelandic) * New translations en.yml (Catalan) * New translations en.yml (Czech) * New translations en.yml (Italian) * New translations doorkeeper.en.yml (Czech) * New translations en.yml (Danish) * New translations en.json (Czech) * New translations doorkeeper.en.yml (Czech) * New translations en.yml (Czech) * New translations doorkeeper.en.yml (Czech) * New translations en.yml (Latvian) * New translations doorkeeper.en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Indonesian) * New translations en.yml (Czech) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations simple_form.en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Hungarian) * New translations simple_form.en.yml (Czech) * New translations simple_form.en.yml (Czech) * New translations en.yml (Korean) * New translations en.yml (Spanish) * New translations en.yml (Czech) * New translations simple_form.en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Portuguese) * New translations en.yml (Polish) * New translations en.yml (Chinese Traditional) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.json (Chinese Traditional) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.json (Chinese Traditional) * New translations en.json (Chinese Traditional) * New translations en.yml (Czech) * New translations en.json (Chinese Traditional) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Spanish, Argentina) * New translations en.json (Chinese Traditional) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.json (Italian) * New translations en.yml (Galician) * New translations en.yml (French) * New translations en.yml (Vietnamese) * New translations simple_form.en.yml (Vietnamese) * New translations en.yml (Vietnamese) * New translations simple_form.en.yml (Vietnamese) * New translations en.yml (Vietnamese) * New translations simple_form.en.yml (Vietnamese) * New translations simple_form.en.yml (Vietnamese) * New translations en.yml (Korean) * New translations en.json (Korean) * New translations simple_form.en.yml (Galician) * New translations en.yml (Korean) * New translations en.yml (Portuguese) * New translations en.yml (Hungarian) * New translations en.yml (Armenian) * New translations en.yml (Dutch) * New translations en.yml (Norwegian) * New translations en.yml (Polish) * New translations en.yml (Albanian) * New translations en.yml (Basque) * New translations en.yml (Turkish) * New translations en.yml (Ukrainian) * New translations en.yml (Chinese Traditional) * New translations en.yml (Icelandic) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Indonesian) * New translations en.yml (Tamil) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Finnish) * New translations en.yml (Greek) * New translations en.yml (Galician) * New translations en.yml (Slovak) * New translations en.yml (Chinese Simplified) * New translations en.yml (Swedish) * New translations en.yml (Arabic) * New translations en.yml (French) * New translations en.yml (Spanish) * New translations en.yml (Catalan) * New translations en.yml (Italian) * New translations en.yml (Japanese) * New translations en.yml (Russian) * New translations en.yml (Slovenian) * New translations en.yml (German) * New translations en.yml (Vietnamese) * New translations en.yml (Thai) * New translations en.yml (Scottish Gaelic) * New translations en.yml (Occitan) * New translations en.yml (Persian) * New translations en.yml (Romanian) * New translations en.yml (Czech) * New translations en.yml (Danish) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Kabyle) * New translations en.yml (Sardinian) * New translations en.yml (Corsican) * New translations en.yml (Sorani (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Breton) * New translations en.yml (Chinese Traditional, Hong Kong) * New translations en.yml (Esperanto) * New translations en.yml (Welsh) * New translations en.yml (Latvian) * New translations en.yml (Norwegian Nynorsk) * New translations en.yml (Croatian) * New translations en.yml (Catalan) * New translations en.yml (Latvian) * New translations en.yml (Catalan) * New translations en.yml (Latvian) * New translations en.yml (Icelandic) * New translations en.yml (Chinese Traditional) * New translations en.yml (Swedish) * New translations en.yml (Russian) * New translations en.yml (Czech) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Czech) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Danish) * New translations en.yml (Danish) * New translations en.yml (Korean) * New translations en.yml (Korean) * New translations en.yml (Galician) * New translations en.yml (Vietnamese) * New translations en.yml (Galician) * New translations en.yml (Turkish) * New translations en.yml (Polish) * New translations en.yml (Hungarian) * New translations en.yml (Hungarian) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Italian) * New translations en.yml (Spanish) * New translations en.yml (Arabic) * New translations en.json (Arabic) * New translations doorkeeper.en.yml (Arabic) * New translations en.yml (Arabic) * New translations en.yml (French) * New translations en.json (Arabic) * New translations en.json (Arabic) * New translations en.json (Arabic) * New translations en.json (Breton) * New translations en.yml (Arabic) * New translations en.json (Arabic) * New translations en.yml (Vietnamese) * New translations en.yml (Korean) * New translations en.yml (Vietnamese) * New translations en.yml (Esperanto) * New translations en.json (Esperanto) * New translations en.json (Esperanto) * New translations en.json (Esperanto) * New translations en.json (Esperanto) * New translations en.yml (Esperanto) * New translations en.json (Esperanto) * New translations en.yml (Esperanto) * New translations en.yml (Esperanto) * New translations en.yml (Esperanto) * Run `yarn manage:translations` * Run `bundle exec i18n-tasks normalzie` Co-authored-by: Yamagishi Kazutoshi --- app/javascript/mastodon/locales/af.json | 1 + app/javascript/mastodon/locales/ar.json | 33 +- app/javascript/mastodon/locales/ast.json | 1 + app/javascript/mastodon/locales/bg.json | 1 + app/javascript/mastodon/locales/bn.json | 1 + app/javascript/mastodon/locales/br.json | 7 +- app/javascript/mastodon/locales/ca.json | 1 + app/javascript/mastodon/locales/ckb.json | 1 + app/javascript/mastodon/locales/co.json | 1 + app/javascript/mastodon/locales/cs.json | 95 +++--- app/javascript/mastodon/locales/cy.json | 1 + app/javascript/mastodon/locales/da.json | 7 +- app/javascript/mastodon/locales/de.json | 1 + .../mastodon/locales/defaultMessages.json | 4 + app/javascript/mastodon/locales/el.json | 1 + app/javascript/mastodon/locales/en.json | 1 + app/javascript/mastodon/locales/eo.json | 35 +- app/javascript/mastodon/locales/es-AR.json | 1 + app/javascript/mastodon/locales/es-MX.json | 1 + app/javascript/mastodon/locales/es.json | 1 + app/javascript/mastodon/locales/et.json | 1 + app/javascript/mastodon/locales/eu.json | 1 + app/javascript/mastodon/locales/fa.json | 1 + app/javascript/mastodon/locales/fi.json | 1 + app/javascript/mastodon/locales/fr.json | 1 + app/javascript/mastodon/locales/ga.json | 1 + app/javascript/mastodon/locales/gd.json | 1 + app/javascript/mastodon/locales/gl.json | 1 + app/javascript/mastodon/locales/he.json | 1 + app/javascript/mastodon/locales/hi.json | 1 + app/javascript/mastodon/locales/hr.json | 1 + app/javascript/mastodon/locales/hu.json | 1 + app/javascript/mastodon/locales/hy.json | 1 + app/javascript/mastodon/locales/id.json | 1 + app/javascript/mastodon/locales/io.json | 1 + app/javascript/mastodon/locales/is.json | 1 + app/javascript/mastodon/locales/it.json | 7 +- app/javascript/mastodon/locales/ja.json | 1 + app/javascript/mastodon/locales/ka.json | 1 + app/javascript/mastodon/locales/kab.json | 1 + app/javascript/mastodon/locales/kk.json | 1 + app/javascript/mastodon/locales/kn.json | 1 + app/javascript/mastodon/locales/ko.json | 7 +- app/javascript/mastodon/locales/ku.json | 1 + app/javascript/mastodon/locales/kw.json | 1 + app/javascript/mastodon/locales/lt.json | 1 + app/javascript/mastodon/locales/lv.json | 1 + app/javascript/mastodon/locales/mk.json | 1 + app/javascript/mastodon/locales/ml.json | 1 + app/javascript/mastodon/locales/mr.json | 1 + app/javascript/mastodon/locales/ms.json | 1 + app/javascript/mastodon/locales/nl.json | 1 + app/javascript/mastodon/locales/nn.json | 1 + app/javascript/mastodon/locales/no.json | 1 + app/javascript/mastodon/locales/oc.json | 35 +- app/javascript/mastodon/locales/pa.json | 1 + app/javascript/mastodon/locales/pl.json | 1 + app/javascript/mastodon/locales/pt-BR.json | 1 + app/javascript/mastodon/locales/pt-PT.json | 1 + app/javascript/mastodon/locales/ro.json | 1 + app/javascript/mastodon/locales/ru.json | 1 + app/javascript/mastodon/locales/sa.json | 1 + app/javascript/mastodon/locales/sc.json | 1 + app/javascript/mastodon/locales/si.json | 1 + app/javascript/mastodon/locales/sk.json | 1 + app/javascript/mastodon/locales/sl.json | 7 +- app/javascript/mastodon/locales/sq.json | 1 + app/javascript/mastodon/locales/sr-Latn.json | 1 + app/javascript/mastodon/locales/sr.json | 1 + app/javascript/mastodon/locales/sv.json | 1 + app/javascript/mastodon/locales/szl.json | 1 + app/javascript/mastodon/locales/ta.json | 1 + app/javascript/mastodon/locales/tai.json | 1 + app/javascript/mastodon/locales/te.json | 1 + app/javascript/mastodon/locales/th.json | 1 + app/javascript/mastodon/locales/tr.json | 1 + app/javascript/mastodon/locales/tt.json | 1 + app/javascript/mastodon/locales/ug.json | 1 + app/javascript/mastodon/locales/uk.json | 7 +- app/javascript/mastodon/locales/ur.json | 1 + app/javascript/mastodon/locales/vi.json | 15 +- app/javascript/mastodon/locales/zgh.json | 1 + app/javascript/mastodon/locales/zh-CN.json | 3 +- app/javascript/mastodon/locales/zh-HK.json | 1 + app/javascript/mastodon/locales/zh-TW.json | 97 +++--- config/locales/ar.yml | 43 ++- config/locales/br.yml | 1 - config/locales/ca.yml | 17 +- config/locales/ckb.yml | 9 - config/locales/co.yml | 10 - config/locales/cs.yml | 304 +++++++++++++++--- config/locales/cy.yml | 9 - config/locales/da.yml | 15 +- config/locales/de.yml | 17 +- config/locales/doorkeeper.ar.yml | 15 + config/locales/doorkeeper.cs.yml | 45 ++- config/locales/doorkeeper.oc.yml | 9 + config/locales/doorkeeper.vi.yml | 2 +- config/locales/el.yml | 9 - config/locales/eo.yml | 33 +- config/locales/es-AR.yml | 19 +- config/locales/es-MX.yml | 24 +- config/locales/es.yml | 19 +- config/locales/eu.yml | 62 +++- config/locales/fa.yml | 10 - config/locales/fi.yml | 11 - config/locales/fr.yml | 15 +- config/locales/gd.yml | 31 +- config/locales/gl.yml | 31 +- config/locales/hr.yml | 1 - config/locales/hu.yml | 17 +- config/locales/hy.yml | 4 - config/locales/id.yml | 10 - config/locales/is.yml | 17 +- config/locales/it.yml | 19 +- config/locales/ja.yml | 10 - config/locales/kab.yml | 1 - config/locales/ko.yml | 23 +- config/locales/ku.yml | 14 +- config/locales/lv.yml | 35 +- config/locales/nl.yml | 9 - config/locales/nn.yml | 10 - config/locales/no.yml | 10 - config/locales/oc.yml | 2 - config/locales/pl.yml | 19 +- config/locales/pt-BR.yml | 10 - config/locales/pt-PT.yml | 22 +- config/locales/ro.yml | 1 - config/locales/ru.yml | 17 +- config/locales/sc.yml | 9 - config/locales/simple_form.cs.yml | 14 +- config/locales/simple_form.gl.yml | 2 +- config/locales/simple_form.it.yml | 4 +- config/locales/simple_form.uk.yml | 4 + config/locales/simple_form.vi.yml | 22 +- config/locales/sk.yml | 4 - config/locales/sl.yml | 3 - config/locales/sq.yml | 11 - config/locales/sv.yml | 9 +- config/locales/ta.yml | 11 - config/locales/th.yml | 18 +- config/locales/tr.yml | 35 +- config/locales/uk.yml | 44 ++- config/locales/vi.yml | 85 +++-- config/locales/zh-CN.yml | 32 +- config/locales/zh-HK.yml | 10 - config/locales/zh-TW.yml | 17 +- 147 files changed, 1044 insertions(+), 731 deletions(-) diff --git a/app/javascript/mastodon/locales/af.json b/app/javascript/mastodon/locales/af.json index 088b5ff36..4373287dd 100644 --- a/app/javascript/mastodon/locales/af.json +++ b/app/javascript/mastodon/locales/af.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Delete", diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 6580f5d44..b1e6483c7 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -2,8 +2,8 @@ "account.account_note_header": "مُلاحظة", "account.add_or_remove_from_list": "الإضافة أو الإزالة من القائمة", "account.badges.bot": "روبوت", - "account.badges.group": "مجموعة", - "account.block": "حظر @{name}", + "account.badges.group": "فريق", + "account.block": "احجب @{name}", "account.block_domain": "حظر اسم النِّطاق {domain}", "account.blocked": "محظور", "account.browse_more_on_origin_server": "تصفح المزيد في الملف الشخصي الأصلي", @@ -11,14 +11,14 @@ "account.direct": "مراسلة @{name} بشكل مباشر", "account.disable_notifications": "توقف عن إشعاري عندما ينشر @{name}", "account.domain_blocked": "اسم النِّطاق محظور", - "account.edit_profile": "تحرير الملف الشخصي", + "account.edit_profile": "تعديل الملف الشخصي", "account.enable_notifications": "أشعرني عندما ينشر @{name}", "account.endorse": "أوصِ به على صفحتك الشخصية", - "account.follow": "المُتابعة", - "account.followers": "المُتابِعون", - "account.followers.empty": "لا أحدَ يُتابع هذا المُستخدم حتى الآن.", + "account.follow": "متابعة", + "account.followers": "مُتابِعون", + "account.followers.empty": "لا أحدَ يُتابع هذا المُستخدم إلى حد الآن.", "account.followers_counter": "{count, plural, zero{لا مُتابع} one {مُتابعٌ واحِد} two{مُتابعانِ اِثنان} few{{counter} مُتابِعين} many{{counter} مُتابِعًا} other {{counter} مُتابع}}", - "account.following": "Following", + "account.following": "الإشتراكات", "account.following_counter": "{count, plural, zero{لا يُتابِع} one {يُتابِعُ واحد} two{يُتابِعُ اِثنان} few{يُتابِعُ {counter}} many{يُتابِعُ {counter}} other {يُتابِعُ {counter}}}", "account.follows.empty": "لا يُتابع هذا المُستخدمُ أيَّ أحدٍ حتى الآن.", "account.follows_you": "يُتابِعُك", @@ -35,18 +35,18 @@ "account.posts": "منشورات", "account.posts_with_replies": "المنشورات والرُدود", "account.report": "الإبلاغ عن @{name}", - "account.requested": "في اِنتظر القُبول. اِنقُر لإلغاء طلب المُتابعة", + "account.requested": "في انتظار القبول. اضغط لإلغاء طلب المُتابعة", "account.share": "مُشاركة الملف الشخصي لـ @{name}", "account.show_reblogs": "عرض مشاركات @{name}", - "account.statuses_counter": "{count, plural, zero {لَا تَبويقات} one {تَبويقةٌ واحدة} two {تَبويقَتانِ اِثنتان} few {{counter} تَبويقات} many {{counter} تَبويقتًا} other {{counter} تَبويقة}}", + "account.statuses_counter": "{count, plural, zero {لَا منشورات} one {منشور واحد} two {منشوران إثنان} few {{counter} منشورات} many {{counter} منشورًا} other {{counter} منشور}}", "account.unblock": "إلغاء الحَظر عن @{name}", "account.unblock_domain": "إلغاء الحَظر عن النِّطاق {domain}", - "account.unblock_short": "Unblock", + "account.unblock_short": "ألغ الحجب", "account.unendorse": "لا تُرَوِّج لهُ في الملف الشخصي", "account.unfollow": "إلغاء المُتابعة", "account.unmute": "إلغاء الكَتم عن @{name}", "account.unmute_notifications": "إلغاء كَتم الإشعارات عن @{name}", - "account.unmute_short": "Unmute", + "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", @@ -78,7 +78,7 @@ "column.home": "الرئيسية", "column.lists": "القوائم", "column.mutes": "المُستَخدِمون المَكتومون", - "column.notifications": "الإشعارَات", + "column.notifications": "الإشعارات", "column.pins": "المنشورات المُثَبَّتَة", "column.public": "الخَطُّ الزَّمَنِيُّ المُوَحَّد", "column_back_button.label": "العودة", @@ -294,7 +294,7 @@ "navigation_bar.discover": "اكتشف", "navigation_bar.domain_blocks": "النطاقات المخفية", "navigation_bar.edit_profile": "عدّل الملف التعريفي", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "استكشف", "navigation_bar.favourites": "المفضلة", "navigation_bar.filters": "الكلمات المكتومة", "navigation_bar.follow_requests": "طلبات المتابعة", @@ -315,7 +315,7 @@ "notification.follow_request": "لقد طلب {name} متابعتك", "notification.mention": "{name} ذكرك", "notification.own_poll": "انتهى استطلاعك للرأي", - "notification.poll": "لقد إنتها تصويت شاركت فيه", + "notification.poll": "لقد انتهى استطلاع رأي شاركتَ فيه", "notification.reblog": "قام {name} بمشاركة منشورك", "notification.status": "{name} نشر للتو", "notification.update": "{name} edited a post", @@ -410,7 +410,7 @@ "report.reasons.dislike_description": "ألا ترغب برؤيته", "report.reasons.other": "It's something else", "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", + "report.reasons.spam": "إنها رسالة مزعجة", "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.violation": "ينتهك قواعد الخادم", "report.reasons.violation_description": "You are aware that it breaks specific rules", @@ -470,7 +470,7 @@ "status.read_more": "اقرأ المزيد", "status.reblog": "رَقِّي", "status.reblog_private": "القيام بالترقية إلى الجمهور الأصلي", - "status.reblogged_by": "رقّاه {name}", + "status.reblogged_by": "شارَكَه {name}", "status.reblogs.empty": "لم يقم أي أحد بمشاركة هذا المنشور بعد. عندما يقوم أحدهم بذلك سوف يظهر هنا.", "status.redraft": "إزالة و إعادة الصياغة", "status.remove_bookmark": "احذفه مِن الفواصل المرجعية", @@ -515,6 +515,7 @@ "upload_error.poll": "لا يمكن إدراج ملفات في استطلاعات الرأي.", "upload_form.audio_description": "وصف للأشخاص ذي قِصر السمع", "upload_form.description": "وصف للمعاقين بصريا", + "upload_form.description_missing": "No description added", "upload_form.edit": "تعديل", "upload_form.thumbnail": "غيّر الصورة المصغرة", "upload_form.undo": "حذف", diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json index 14e46e458..fe5c1e569 100644 --- a/app/javascript/mastodon/locales/ast.json +++ b/app/javascript/mastodon/locales/ast.json @@ -515,6 +515,7 @@ "upload_error.poll": "La xuba de ficheros nun ta permitida con encuestes.", "upload_form.audio_description": "Descripción pa persones con perda auditiva", "upload_form.description": "Descripción pa discapacitaos visuales", + "upload_form.description_missing": "No description added", "upload_form.edit": "Editar", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Desaniciar", diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index e65681394..3efde0381 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -515,6 +515,7 @@ "upload_error.poll": "Качването на файлове не е позволено с анкети.", "upload_form.audio_description": "Опишете за хора със загуба на слуха", "upload_form.description": "Опишете за хора със зрителни увреждания", + "upload_form.description_missing": "No description added", "upload_form.edit": "Редакция", "upload_form.thumbnail": "Промяна на миниизображението", "upload_form.undo": "Отмяна", diff --git a/app/javascript/mastodon/locales/bn.json b/app/javascript/mastodon/locales/bn.json index 3542c4e46..75e0fbb77 100644 --- a/app/javascript/mastodon/locales/bn.json +++ b/app/javascript/mastodon/locales/bn.json @@ -515,6 +515,7 @@ "upload_error.poll": "নির্বাচনক্ষেত্রে কোনো ফাইল যুক্ত করা যাবেনা।", "upload_form.audio_description": "শ্রবণশক্তি লোকদের জন্য বর্ণনা করুন", "upload_form.description": "যারা দেখতে পায়না তাদের জন্য এটা বর্ণনা করতে", + "upload_form.description_missing": "No description added", "upload_form.edit": "সম্পাদন", "upload_form.thumbnail": "থাম্বনেল পরিবর্তন করুন", "upload_form.undo": "মুছে ফেলতে", diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json index 51b78f777..8b86cd62a 100644 --- a/app/javascript/mastodon/locales/br.json +++ b/app/javascript/mastodon/locales/br.json @@ -187,12 +187,12 @@ "error.unexpected_crash.next_steps_addons": "Klaskit azbevaat ar bajenn. Ma n'ez a ket en-dro e c'hallit klask ober gant Mastodon dre ur merdeer disheñvel pe dre an arload genidik.", "errors.unexpected_crash.copy_stacktrace": "Eilañ ar roudoù diveugañ er golver", "errors.unexpected_crash.report_issue": "Danevellañ ur fazi", - "explore.search_results": "Search results", + "explore.search_results": "Disoc'hoù an enklask", "explore.suggested_follows": "For you", - "explore.title": "Explore", + "explore.title": "Ergerzhit", "explore.trending_links": "News", "explore.trending_statuses": "Posts", - "explore.trending_tags": "Hashtags", + "explore.trending_tags": "Gerioù-klik", "follow_recommendations.done": "Graet", "follow_recommendations.heading": "Heuliit tud e plijfe deoc'h lenn toudoù! Setu un tamm alioù.", "follow_recommendations.lead": "Toudoù eus tud heuliet ganeoc'h a zeuio war wel en un urzh amzeroniezhel war ho red degemer. N'ho peus ket aon ober fazioù, gallout a rit paouez heuliañ tud ken aes n'eus forzh pegoulz!", @@ -515,6 +515,7 @@ "upload_error.poll": "Pellgargañ restroù n'eo ket aotreet gant sontadegoù.", "upload_form.audio_description": "Diskrivañ evit tud a zo kollet o c'hlev", "upload_form.description": "Diskrivañ evit tud a zo kollet o gweled", + "upload_form.description_missing": "No description added", "upload_form.edit": "Aozañ", "upload_form.thumbnail": "Kemmañ ar velvenn", "upload_form.undo": "Dilemel", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 055732cfd..79ec113c2 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -515,6 +515,7 @@ "upload_error.poll": "No es permet l'enviament de fitxers en les enquestes.", "upload_form.audio_description": "Descriviu per a les persones amb pèrdua auditiva", "upload_form.description": "Descriure per els que tenen problemes visuals", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edita", "upload_form.thumbnail": "Canvia la miniatura", "upload_form.undo": "Esborra", diff --git a/app/javascript/mastodon/locales/ckb.json b/app/javascript/mastodon/locales/ckb.json index 7209633ad..09058276f 100644 --- a/app/javascript/mastodon/locales/ckb.json +++ b/app/javascript/mastodon/locales/ckb.json @@ -515,6 +515,7 @@ "upload_error.poll": "پەڕگەکە ڕێی پێنەدراوە بە ڕاپرسی باربکرێت.", "upload_form.audio_description": "بۆ ئەو کەسانەی کە گوێ بیستیان هەیە وەسف دەکات", "upload_form.description": "وەسف بکە بۆ کەمبینایان", + "upload_form.description_missing": "No description added", "upload_form.edit": "دەستکاری", "upload_form.thumbnail": "گۆڕانی وینۆچکە", "upload_form.undo": "سڕینەوە", diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json index 21240bc3b..453aa9653 100644 --- a/app/javascript/mastodon/locales/co.json +++ b/app/javascript/mastodon/locales/co.json @@ -515,6 +515,7 @@ "upload_error.poll": "Ùn si pò micca caricà fugliali cù i scandagli.", "upload_form.audio_description": "Discrizzione per i ciochi", "upload_form.description": "Discrizzione per i malvistosi", + "upload_form.description_missing": "No description added", "upload_form.edit": "Mudificà", "upload_form.thumbnail": "Cambià vignetta", "upload_form.undo": "Sguassà", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index c6ffaa6f2..1f1c2740c 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -5,7 +5,7 @@ "account.badges.group": "Skupina", "account.block": "Zablokovat @{name}", "account.block_domain": "Blokovat doménu {domain}", - "account.blocked": "Blokováno", + "account.blocked": "Blokován", "account.browse_more_on_origin_server": "Více na původním profilu", "account.cancel_follow_request": "Zrušit žádost o sledování", "account.direct": "Poslat @{name} přímou zprávu", @@ -18,7 +18,7 @@ "account.followers": "Sledující", "account.followers.empty": "Tohoto uživatele ještě nikdo nesleduje.", "account.followers_counter": "{count, plural, one {{counter} Sledující} few {{counter} Sledující} many {{counter} Sledujících} other {{counter} Sledujících}}", - "account.following": "Following", + "account.following": "Sledujete", "account.following_counter": "{count, plural, one {{counter} Sledovaný} few {{counter} Sledovaní} many {{counter} Sledovaných} other {{counter} Sledovaných}}", "account.follows.empty": "Tento uživatel ještě nikoho nesleduje.", "account.follows_you": "Sleduje vás", @@ -41,15 +41,15 @@ "account.statuses_counter": "{count, plural, one {{counter} Příspěvek} few {{counter} Příspěvky} many {{counter} Příspěvků} other {{counter} Příspěvků}}", "account.unblock": "Odblokovat @{name}", "account.unblock_domain": "Odblokovat doménu {domain}", - "account.unblock_short": "Unblock", + "account.unblock_short": "Odblokovat", "account.unendorse": "Nezvýrazňovat na profilu", "account.unfollow": "Přestat sledovat", - "account.unmute": "Zrušit skrytí @{name}", - "account.unmute_notifications": "Zrušit skrytí oznámení od @{name}", - "account.unmute_short": "Unmute", + "account.unmute": "Odkrýt @{name}", + "account.unmute_notifications": "Odkrýt oznámení od @{name}", + "account.unmute_short": "Odkrýt", "account_note.placeholder": "Klikněte pro přidání poznámky", - "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.daily_retention": "Míra udržení uživatelů podle dne po registraci", + "admin.dashboard.monthly_retention": "Míra udržení uživatelů podle měsíce po registraci", "admin.dashboard.retention.average": "Průměr", "admin.dashboard.retention.cohort": "Měsíc registrace", "admin.dashboard.retention.cohort_size": "Noví uživatelé", @@ -106,7 +106,7 @@ "compose_form.poll.switch_to_single": "Povolit u ankety výběr jediné možnosti", "compose_form.publish": "Odeslat", "compose_form.publish_loud": "{publish}!", - "compose_form.save_changes": "Save changes", + "compose_form.save_changes": "Uložit změny", "compose_form.sensitive.hide": "{count, plural, one {Označit média za citlivá} few {Označit média za citlivá} many {Označit média za citlivá} other {Označit média za citlivá}}", "compose_form.sensitive.marked": "{count, plural, one {Média jsou označena za citlivá} few {Média jsou označena za citlivá} many {Média jsou označena za citlivá} other {Média jsou označena za citlivá}}", "compose_form.sensitive.unmarked": "{count, plural, one {Média nejsou označena za citlivá} few {Média nejsou označena za citlivá} many {Média nejsou označena za citlivá} other {Média nejsou označena za citlivá}}", @@ -168,7 +168,7 @@ "empty_column.community": "Místní časová osa je prázdná. Napište něco veřejně a rozhýbejte to tu!", "empty_column.direct": "Ještě nemáte žádné přímé zprávy. Pokud nějakou pošlete nebo dostanete, zobrazí se zde.", "empty_column.domain_blocks": "Ještě nemáte žádné blokované domény.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Momentálně není nic populární. Vraťte se později!", "empty_column.favourited_statuses": "Ještě nemáte žádné oblíbené příspěvky. Pokud si nějaký oblíbíte, zobrazí se zde.", "empty_column.favourites": "Tento příspěvek si ještě nikdo neoblíbil. Pokud to někdo udělá, zobrazí se zde.", "empty_column.follow_recommendations": "Zdá se, že pro vás nelze vygenerovat žádné návrhy. Můžete zkusit přes vyhledávání naleznout lidi, které znáte, nebo prozkoumat populární hashtagy.", @@ -187,18 +187,18 @@ "error.unexpected_crash.next_steps_addons": "Zkuste je vypnout a stránku obnovit. Pokud to nepomůže, zkuste otevřít Mastodon v jiném prohlížeči nebo nativní aplikaci.", "errors.unexpected_crash.copy_stacktrace": "Zkopírovat stacktrace do schránky", "errors.unexpected_crash.report_issue": "Nahlásit problém", - "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": "Výsledky hledání", + "explore.suggested_follows": "Pro vás", + "explore.title": "Objevování", + "explore.trending_links": "Zprávy", + "explore.trending_statuses": "Příspěvky", + "explore.trending_tags": "Hashtagy", "follow_recommendations.done": "Hotovo", "follow_recommendations.heading": "Sledujte lidi, jejichž příspěvky chcete vidět! Tady jsou nějaké návrhy.", "follow_recommendations.lead": "Příspěvky od lidí, které sledujete, se budou objevovat v chronologickém pořadí ve vaší domovské ose. Nebojte se, že uděláte chybu, můžete lidi stejně snadno kdykoliv přestat sledovat!", "follow_request.authorize": "Autorizovat", "follow_request.reject": "Odmítnout", - "follow_requests.unlocked_explanation": "Přestože váš účet není uzamčen, {domain} si myslí, že budete chtít následující požadavky na sledování zkontrolovat ručně.", + "follow_requests.unlocked_explanation": "Přestože váš účet není uzamčen, personál {domain} usoudil, že byste mohli chtít tyto požadavky na sledování zkontrolovat ručně.", "generic.saved": "Uloženo", "getting_started.developers": "Vývojáři", "getting_started.directory": "Adresář profilů", @@ -309,7 +309,7 @@ "navigation_bar.preferences": "Předvolby", "navigation_bar.public_timeline": "Federovaná časová osa", "navigation_bar.security": "Zabezpečení", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "Uživatel {name} se zaregistroval", "notification.favourite": "Uživatel {name} si oblíbil váš příspěvek", "notification.follow": "Uživatel {name} vás začal sledovat", "notification.follow_request": "Uživatel {name} požádal o povolení vás sledovat", @@ -318,10 +318,10 @@ "notification.poll": "Anketa, ve které jste hlasovali, skončila", "notification.reblog": "Uživatel {name} boostnul váš příspěvek", "notification.status": "Nový příspěvek od {name}", - "notification.update": "uživatel {name} upravil příspěvek", - "notifications.clear": "Smazat oznámení", + "notification.update": "Uživatel {name} upravil příspěvek", + "notifications.clear": "Vymazat oznámení", "notifications.clear_confirmation": "Opravdu chcete trvale smazat všechna vaše oznámení?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Nové registrace:", "notifications.column_settings.alert": "Oznámení na počítači", "notifications.column_settings.favourite": "Oblíbení:", "notifications.column_settings.filter_bar.advanced": "Zobrazit všechny kategorie", @@ -378,32 +378,32 @@ "regeneration_indicator.label": "Načítání…", "regeneration_indicator.sublabel": "Váš domovský kanál se připravuje!", "relative_time.days": "{number} d", - "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.days": "před {number, plural, one {# dnem} few {# dny} many {# dny} other {# dny}}", + "relative_time.full.hours": "před {number, plural, one {# hodinou} few {# hodinami} many {# hodinami} other {# hodinami}}", "relative_time.full.just_now": "právě teď", - "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.minutes": "před {number, plural, one {# minutou} few {# minutami} many {# minutami} other {# minutami}}", + "relative_time.full.seconds": "před {number, plural, one {# sekundou} few {# sekundami} many {# sekundami} other {# sekundami}}", "relative_time.hours": "{number} h", "relative_time.just_now": "teď", "relative_time.minutes": "{number} m", "relative_time.seconds": "{number} s", "relative_time.today": "dnes", "reply_indicator.cancel": "Zrušit", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "Zablokovat", + "report.block_explanation": "Neuvidíte jejich příspěvky. Oni neuvidí vaše příspěvky ani vás nebudou moci sledovat. Poznají, že jsou blokováni.", "report.categories.other": "Ostatní", "report.categories.spam": "Spam", "report.categories.violation": "Obsah porušuje jedno nebo více pravidel serveru", "report.category.subtitle": "Vyberte nejbližší možnost", "report.category.title": "Povězte nám, proč chcete {type} nahlásit", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.title_account": "profil", + "report.category.title_status": "příspěvek", + "report.close": "Hotovo", + "report.comment.title": "Ještě něco jiného, co myslíte, že bychom měli vědět?", "report.forward": "Přeposlat na {target}", "report.forward_hint": "Tento účet je z jiného serveru. Chcete na něj také poslat anonymizovanou kopii hlášení?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.mute": "Skrýt", + "report.mute_explanation": "Neuvidíte jejich příspěvky. Oni vás mohou nadále sledovat i vidět vaše příspěvky a nebudou vědět, že jsou skryti.", "report.next": "Dále", "report.placeholder": "Dodatečné komentáře", "report.reasons.dislike": "Nelíbí se mi", @@ -420,12 +420,12 @@ "report.statuses.title": "Existují příspěvky dokládající toto hlášení?", "report.submit": "Odeslat", "report.target": "Nahlášení uživatele {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": "Tady jsou vaše možnosti pro řízení toho, co na Mastodonu vidíte:", + "report.thanks.take_action_actionable": "Zatímco to posuzujeme, můžete podniknout kroky proti @{name}:", + "report.thanks.title": "Nechcete tohle vidět?", + "report.thanks.title_actionable": "Děkujeme za nahlášení, podíváme se na to.", + "report.unfollow": "Přestat sledovat @{name}", + "report.unfollow_explanation": "Tento účet sledujete. Abyste už neviděli jejich příspěvky ve své domácí časové ose, přestaňte je sledovat.", "search.placeholder": "Hledat", "search_popout.search_format": "Pokročilé hledání", "search_popout.tips.full_text": "Jednoduchý text vrací příspěvky, které jste napsali, oblíbili si, boostnuli, nebo vás v nich někdo zmínil, a také odpovídající přezdívky, zobrazovaná jména a hashtagy.", @@ -434,9 +434,9 @@ "search_popout.tips.text": "Jednoduchý text vrací odpovídající zobrazovaná jména, přezdívky a hashtagy", "search_popout.tips.user": "uživatel", "search_results.accounts": "Lidé", - "search_results.all": "All", + "search_results.all": "Vše", "search_results.hashtags": "Hashtagy", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Pro tyto hledané výrazy nebylo nic nenalezeno", "search_results.statuses": "Příspěvky", "search_results.statuses_fts_disabled": "Vyhledávání příspěvků podle jejich obsahu není na tomto Mastodon serveru povoleno.", "search_results.total": "{count, number} {count, plural, one {výsledek} few {výsledky} many {výsledků} other {výsledků}}", @@ -450,14 +450,14 @@ "status.delete": "Smazat", "status.detailed_status": "Podrobné zobrazení konverzace", "status.direct": "Poslat @{name} přímou zprávu", - "status.edit": "Edit", - "status.edited": "Edited {date}", - "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", + "status.edit": "Upravit", + "status.edited": "Upraven {date}", + "status.edited_x_times": "Upraven {count, plural, one {{count}krát} few {{count}krát} many {{count}krát} other {{count}krát}}", "status.embed": "Vložit na web", "status.favourite": "Oblíbit", "status.filtered": "Filtrováno", - "status.history.created": "{name} created {date}", - "status.history.edited": "{name} edited {date}", + "status.history.created": "Uživatel {name} vytvořil {date}", + "status.history.edited": "Uživatel {name} upravil {date}", "status.load_more": "Zobrazit více", "status.media_hidden": "Média skryta", "status.mention": "Zmínit @{name}", @@ -501,7 +501,7 @@ "time_remaining.seconds": "{number, plural, one {Zbývá # sekunda} few {Zbývají # sekundy} many {Zbývá # sekund} other {Zbývá # sekund}}", "timeline_hint.remote_resource_not_displayed": "{resource} z jiných serveru se nezobrazuje.", "timeline_hint.resources.followers": "Sledující", - "timeline_hint.resources.follows": "Sleduje", + "timeline_hint.resources.follows": "Sledovaní", "timeline_hint.resources.statuses": "Starší příspěvky", "trends.counter_by_accounts": "zmiňuje {count, plural, one {{counter} člověk} few {{counter} lidé} many {{counter} lidí} other {{counter} lidí}}", "trends.trending_now": "Právě populární", @@ -515,6 +515,7 @@ "upload_error.poll": "U anket není nahrávání souborů povoleno.", "upload_form.audio_description": "Popis pro sluchově postižené", "upload_form.description": "Popis pro zrakově postižené", + "upload_form.description_missing": "No description added", "upload_form.edit": "Upravit", "upload_form.thumbnail": "Změnit miniaturu", "upload_form.undo": "Smazat", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index d3ac8d806..b220db1c5 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -515,6 +515,7 @@ "upload_error.poll": "Nid oes modd uwchlwytho ffeiliau â phleidleisiau.", "upload_form.audio_description": "Disgrifio ar gyfer pobl sydd â cholled clyw", "upload_form.description": "Disgrifio i'r rheini a nam ar ei golwg", + "upload_form.description_missing": "No description added", "upload_form.edit": "Golygu", "upload_form.thumbnail": "Newid mân-lun", "upload_form.undo": "Dileu", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index 12023bfb0..d029e6244 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -506,15 +506,16 @@ "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} personer}} taler", "trends.trending_now": "Hot lige nu", "ui.beforeunload": "Dit udkast går tabt, hvis du lukker Mastodon.", - "units.short.billion": "{count} MIA", - "units.short.million": "{count} M", - "units.short.thousand": "{count} K", + "units.short.billion": "{count} mia.", + "units.short.million": "{count} mio.", + "units.short.thousand": "{count} tusind", "upload_area.title": "Træk og slip for at uploade", "upload_button.label": "Tilføj billed-, video- eller lydfil(er)", "upload_error.limit": "Grænse for filupload nået.", "upload_error.poll": "Filupload ikke tilladt for afstemninger.", "upload_form.audio_description": "Beskrivelse til hørehæmmede", "upload_form.description": "Beskrivelse til svagtseende", + "upload_form.description_missing": "No description added", "upload_form.edit": "Redigér", "upload_form.thumbnail": "Skift miniature", "upload_form.undo": "Slet", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 72c723e2e..03bfdcb5d 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -515,6 +515,7 @@ "upload_error.poll": "Dateiuploads sind in Kombination mit Umfragen nicht erlaubt.", "upload_form.audio_description": "Beschreibe die Audiodatei für Menschen mit Hörschädigungen", "upload_form.description": "Für Menschen mit Sehbehinderung beschreiben", + "upload_form.description_missing": "No description added", "upload_form.edit": "Bearbeiten", "upload_form.thumbnail": "Miniaturansicht ändern", "upload_form.undo": "Löschen", diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json index a93f3260e..0b1a53693 100644 --- a/app/javascript/mastodon/locales/defaultMessages.json +++ b/app/javascript/mastodon/locales/defaultMessages.json @@ -1442,6 +1442,10 @@ { "defaultMessage": "Edit", "id": "upload_form.edit" + }, + { + "defaultMessage": "No description added", + "id": "upload_form.description_missing" } ], "path": "app/javascript/mastodon/features/compose/components/upload.json" diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index 3c797d47d..47b234785 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -515,6 +515,7 @@ "upload_error.poll": "Στις δημοσκοπήσεις δεν επιτρέπεται η μεταφόρτωση αρχείου.", "upload_form.audio_description": "Περιγραφή για άτομα με προβλήματα ακοής", "upload_form.description": "Περιέγραψε για όσους & όσες έχουν προβλήματα όρασης", + "upload_form.description_missing": "No description added", "upload_form.edit": "Ενημέρωση", "upload_form.thumbnail": "Αλλαγή μικρογραφίας", "upload_form.undo": "Διαγραφή", diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index 910c68672..87c651a95 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Delete", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 7f999c34f..38eb02258 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -168,10 +168,10 @@ "empty_column.community": "La loka templinio estas malplena. Skribu ion por plenigi ĝin!", "empty_column.direct": "Vi ankoraŭ ne havas rektan mesaĝon. Kiam vi sendos aŭ ricevos iun, ĝi aperos ĉi tie.", "empty_column.domain_blocks": "Ankoraŭ neniu domajno estas blokita.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Nenio tendencas nun. Rekontrolu poste!", "empty_column.favourited_statuses": "Vi ankoraŭ ne stelumis mesaĝon. Kiam vi stelumos iun, tiu aperos ĉi tie.", "empty_column.favourites": "Ankoraŭ neniu stelumis tiun mesaĝon. Kiam iu faros tion, tiu aperos ĉi tie.", - "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": "Ŝajnas, ke neniuj sugestoj povis esti generitaj por vi. Vi povas provi uzi serĉon por serĉi homojn, kiujn vi eble konas, aŭ esplori tendencajn kradvortojn.", "empty_column.follow_requests": "Vi ne ankoraŭ havas iun peton de sekvado. Kiam vi ricevos unu, ĝi aperos ĉi tie.", "empty_column.hashtag": "Ankoraŭ estas nenio per ĉi tiu kradvorto.", "empty_column.home": "Via hejma tempolinio estas malplena! Vizitu {public} aŭ uzu la serĉilon por renkonti aliajn uzantojn.", @@ -294,7 +294,7 @@ "navigation_bar.discover": "Esplori", "navigation_bar.domain_blocks": "Blokitaj domajnoj", "navigation_bar.edit_profile": "Redakti profilon", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Esplori", "navigation_bar.favourites": "Stelumoj", "navigation_bar.filters": "Silentigitaj vortoj", "navigation_bar.follow_requests": "Petoj de sekvado", @@ -321,7 +321,7 @@ "notification.update": "{name} redaktis afiŝon", "notifications.clear": "Forviŝi sciigojn", "notifications.clear_confirmation": "Ĉu vi certas, ke vi volas porĉiame forviŝi ĉiujn viajn sciigojn?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Novaj registriĝoj:", "notifications.column_settings.alert": "Retumilaj sciigoj", "notifications.column_settings.favourite": "Stelumoj:", "notifications.column_settings.filter_bar.advanced": "Montri ĉiujn kategoriojn", @@ -337,7 +337,7 @@ "notifications.column_settings.sound": "Eligi sonon", "notifications.column_settings.status": "Novaj mesaĝoj:", "notifications.column_settings.unread_notifications.category": "Nelegitaj sciigoj", - "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", + "notifications.column_settings.unread_notifications.highlight": "Marki nelegitajn sciigojn", "notifications.column_settings.update": "Redaktoj:", "notifications.filter.all": "Ĉiuj", "notifications.filter.boosts": "Diskonigoj", @@ -394,8 +394,8 @@ "report.categories.other": "Aliaj", "report.categories.spam": "Spamo", "report.categories.violation": "Content violates one or more server rules", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", + "report.category.subtitle": "Elektu la plej bonan kongruon", + "report.category.title": "Diru al ni kio okazas pri ĉi tiu {type}", "report.category.title_account": "profilo", "report.category.title_status": "afiŝo", "report.close": "Farita", @@ -407,25 +407,25 @@ "report.next": "Sekva", "report.placeholder": "Pliaj komentoj", "report.reasons.dislike": "Mi ne ŝatas ĝin", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", + "report.reasons.dislike_description": "Ĝi ne estas io, kiun vi volas vidi", + "report.reasons.other": "Io alia", + "report.reasons.other_description": "La problemo ne taŭgas en aliaj kategorioj", + "report.reasons.spam": "Ĝi estas trudaĵo", "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.violation": "Ĝi malrespektas servilajn regulojn", "report.reasons.violation_description": "You are aware that it breaks specific rules", - "report.rules.subtitle": "Select all that apply", + "report.rules.subtitle": "Elektu ĉiujn, kiuj validas", "report.rules.title": "Which rules are being violated?", - "report.statuses.subtitle": "Select all that apply", + "report.statuses.subtitle": "Elektu ĉiujn, kiuj validas", "report.statuses.title": "Are there any posts that back up this report?", "report.submit": "Sendi", "report.target": "Signali {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.thanks.title": "Ĉu vi ne volas vidi ĉi tion?", + "report.thanks.title_actionable": "Dankon pro raporti, ni esploros ĉi tion.", "report.unfollow": "Malsekvi @{name}", - "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", + "report.unfollow_explanation": "Vi estas sekvanta ĉi tiun konton. Por ne plu vidi ties afiŝojn en via hejma templinio, malsekvu ilin.", "search.placeholder": "Serĉi", "search_popout.search_format": "Detala serĉo", "search_popout.tips.full_text": "Simplaj tekstoj montras la mesaĝojn, kiujn vi skribis, stelumis, diskonigis, aŭ en kiuj vi estis menciita, sed ankaŭ kongruajn uzantnomojn, montratajn nomojn, kaj kradvortojn.", @@ -436,7 +436,7 @@ "search_results.accounts": "Homoj", "search_results.all": "Ĉiuj", "search_results.hashtags": "Kradvortoj", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Povis trovi nenion por ĉi tiuj serĉaj terminoj", "search_results.statuses": "Mesaĝoj", "search_results.statuses_fts_disabled": "Serĉi mesaĝojn laŭ enhavo ne estas ebligita en ĉi tiu Mastodon-servilo.", "search_results.total": "{count, number} {count, plural, one {rezulto} other {rezultoj}}", @@ -515,6 +515,7 @@ "upload_error.poll": "Alŝuto de dosiero ne permesita kun balotenketo.", "upload_form.audio_description": "Priskribi por homoj kiuj malfacile aŭdi", "upload_form.description": "Priskribi por misvidantaj homoj", + "upload_form.description_missing": "No description added", "upload_form.edit": "Redakti", "upload_form.thumbnail": "Ŝanĝi etigita bildo", "upload_form.undo": "Forigi", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index b239c69e6..8c2a2373f 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -515,6 +515,7 @@ "upload_error.poll": "No se permite la subida de archivos en encuestas.", "upload_form.audio_description": "Agregá una descripción para personas con dificultades auditivas", "upload_form.description": "Agregá una descripción para personas con dificultades visuales", + "upload_form.description_missing": "No description added", "upload_form.edit": "Editar", "upload_form.thumbnail": "Cambiar miniatura", "upload_form.undo": "Eliminar", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index ccdca8d9c..4ad7249be 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -515,6 +515,7 @@ "upload_error.poll": "Subida de archivos no permitida con encuestas.", "upload_form.audio_description": "Describir para personas con problemas auditivos", "upload_form.description": "Describir para los usuarios con dificultad visual", + "upload_form.description_missing": "No description added", "upload_form.edit": "Editar", "upload_form.thumbnail": "Cambiar miniatura", "upload_form.undo": "Borrar", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index ba33d8a6c..97ed35bdd 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -515,6 +515,7 @@ "upload_error.poll": "Subida de archivos no permitida con encuestas.", "upload_form.audio_description": "Describir para personas con problemas auditivos", "upload_form.description": "Describir para los usuarios con dificultad visual", + "upload_form.description_missing": "No description added", "upload_form.edit": "Editar", "upload_form.thumbnail": "Cambiar miniatura", "upload_form.undo": "Borrar", diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json index e3bcdb521..bb10fd504 100644 --- a/app/javascript/mastodon/locales/et.json +++ b/app/javascript/mastodon/locales/et.json @@ -515,6 +515,7 @@ "upload_error.poll": "Küsitlustes pole faili üleslaadimine lubatud.", "upload_form.audio_description": "Kirjelda kuulmispuudega inimeste jaoks", "upload_form.description": "Kirjelda vaegnägijatele", + "upload_form.description_missing": "No description added", "upload_form.edit": "Redigeeri", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Kustuta", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index a5cbf5128..6aca056d0 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -515,6 +515,7 @@ "upload_error.poll": "Ez da inkestetan fitxategiak igotzea onartzen.", "upload_form.audio_description": "Deskribatu entzumen galera duten pertsonentzat", "upload_form.description": "Deskribatu ikusmen arazoak dituztenentzat", + "upload_form.description_missing": "No description added", "upload_form.edit": "Editatu", "upload_form.thumbnail": "Aldatu koadro txikia", "upload_form.undo": "Ezabatu", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index 73a65ed78..17399a01f 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -515,6 +515,7 @@ "upload_error.poll": "بارگذاری پرونده در نظرسنجی‌ها مجاز نیست.", "upload_form.audio_description": "برای ناشنوایان توصیفش کنید", "upload_form.description": "برای کم‌بینایان توصیفش کنید", + "upload_form.description_missing": "No description added", "upload_form.edit": "ویرایش", "upload_form.thumbnail": "تغییر بندانگشتی", "upload_form.undo": "حذف", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 39df81770..9bc176db4 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -515,6 +515,7 @@ "upload_error.poll": "Tiedon lataaminen ei ole sallittua kyselyissä.", "upload_form.audio_description": "Kuvaile kuulovammaisille", "upload_form.description": "Anna kuvaus näkörajoitteisia varten", + "upload_form.description_missing": "No description added", "upload_form.edit": "Muokkaa", "upload_form.thumbnail": "Vaihda pikkukuva", "upload_form.undo": "Peru", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 13d89502b..794b3aafb 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -515,6 +515,7 @@ "upload_error.poll": "L’envoi de fichiers n’est pas autorisé avec les sondages.", "upload_form.audio_description": "Décrire pour les personnes ayant des difficultés d’audition", "upload_form.description": "Décrire pour les malvoyant·e·s", + "upload_form.description_missing": "No description added", "upload_form.edit": "Modifier", "upload_form.thumbnail": "Changer la vignette", "upload_form.undo": "Supprimer", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index 5bf1681a8..e72e8bca0 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Delete", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index 9ca41b2f6..becbbaf04 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -515,6 +515,7 @@ "upload_error.poll": "Chan fhaod thu faidhle a luchdadh suas an cois cunntais-bheachd.", "upload_form.audio_description": "Mìnich e dhan fheadhainn le èisteachd bheag", "upload_form.description": "Mìnich e dhan fheadhainn le cion-lèirsinne", + "upload_form.description_missing": "No description added", "upload_form.edit": "Deasaich", "upload_form.thumbnail": "Atharraich an dealbhag", "upload_form.undo": "Sguab às", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 56fd5ca7f..d5aff7d59 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -515,6 +515,7 @@ "upload_error.poll": "Non se poden subir ficheiros nas enquisas.", "upload_form.audio_description": "Describir para persoas con problemas auditivos", "upload_form.description": "Describir para persoas con problemas visuais", + "upload_form.description_missing": "No description added", "upload_form.edit": "Editar", "upload_form.thumbnail": "Cambiar a miniatura", "upload_form.undo": "Eliminar", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index db25a33fd..db192fa53 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "תיאור לכבדי ראיה", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "ביטול", diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json index 8a464f7ec..ecc6898c3 100644 --- a/app/javascript/mastodon/locales/hi.json +++ b/app/javascript/mastodon/locales/hi.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "संशोधन करें", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "मिटाए", diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json index bbe62cf38..25bd26c8e 100644 --- a/app/javascript/mastodon/locales/hr.json +++ b/app/javascript/mastodon/locales/hr.json @@ -515,6 +515,7 @@ "upload_error.poll": "Prijenos datoteka nije dopušten kod anketa.", "upload_form.audio_description": "Opišite za ljude sa slabim sluhom", "upload_form.description": "Opišite za ljude sa slabim vidom", + "upload_form.description_missing": "No description added", "upload_form.edit": "Uredi", "upload_form.thumbnail": "Promijeni pretpregled", "upload_form.undo": "Obriši", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index d121d6573..5eccf8fe0 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -515,6 +515,7 @@ "upload_error.poll": "Szavazásnál nem lehet fájlt feltölteni.", "upload_form.audio_description": "Írja le a hallássérültek számára", "upload_form.description": "Leírás látáskorlátozottak számára", + "upload_form.description_missing": "No description added", "upload_form.edit": "Szerkesztés", "upload_form.thumbnail": "Előnézet megváltoztatása", "upload_form.undo": "Törlés", diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json index 2b7cdf5ac..a83fa31d5 100644 --- a/app/javascript/mastodon/locales/hy.json +++ b/app/javascript/mastodon/locales/hy.json @@ -515,6 +515,7 @@ "upload_error.poll": "Հարցումների հետ նիշք կցել հնարաւոր չէ։", "upload_form.audio_description": "Նկարագրիր ձայնագրութեան բովանդակութիւնը լսողական խնդիրներով անձանց համար", "upload_form.description": "Նկարագիր՝ տեսողական խնդիրներ ունեցողների համար", + "upload_form.description_missing": "No description added", "upload_form.edit": "Խմբագրել", "upload_form.thumbnail": "Փոխել պատկերակը", "upload_form.undo": "Յետարկել", diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json index ee7810379..e9b2899c5 100644 --- a/app/javascript/mastodon/locales/id.json +++ b/app/javascript/mastodon/locales/id.json @@ -515,6 +515,7 @@ "upload_error.poll": "Unggah berkas tak diizinkan di japat ini.", "upload_form.audio_description": "Penjelasan untuk orang dengan gangguan pendengaran", "upload_form.description": "Deskripsikan untuk mereka yang tidak bisa melihat dengan jelas", + "upload_form.description_missing": "No description added", "upload_form.edit": "Sunting", "upload_form.thumbnail": "Ubah gambar kecil", "upload_form.undo": "Undo", diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json index 77c6871a4..2ffee1eb2 100644 --- a/app/javascript/mastodon/locales/io.json +++ b/app/javascript/mastodon/locales/io.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Desfacar", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index bf1b892e6..75a73b430 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -515,6 +515,7 @@ "upload_error.poll": "Innsending skráa er ekki leyfð í könnunum.", "upload_form.audio_description": "Lýstu þessu fyrir heyrnarskerta", "upload_form.description": "Lýstu þessu fyrir sjónskerta", + "upload_form.description_missing": "No description added", "upload_form.edit": "Breyta", "upload_form.thumbnail": "Skipta um smámynd", "upload_form.undo": "Eyða", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index 1985450a5..02c8e2d89 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -148,7 +148,7 @@ "embed.preview": "Ecco come apparirà:", "emoji_button.activity": "Attività", "emoji_button.custom": "Personalizzato", - "emoji_button.flags": "Segnalazioni", + "emoji_button.flags": "Bandiere", "emoji_button.food": "Cibo & Bevande", "emoji_button.label": "Inserisci emoji", "emoji_button.nature": "Natura", @@ -483,7 +483,7 @@ "status.show_less_all": "Mostra meno per tutti", "status.show_more": "Mostra di più", "status.show_more_all": "Mostra di più per tutti", - "status.show_thread": "Mostra thread", + "status.show_thread": "Mostra conversazione", "status.uncached_media_warning": "Non disponibile", "status.unmute_conversation": "Annulla silenzia conversazione", "status.unpin": "Non fissare in cima al profilo", @@ -503,7 +503,7 @@ "timeline_hint.resources.followers": "Follower", "timeline_hint.resources.follows": "Segue", "timeline_hint.resources.statuses": "Post meno recenti", - "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} persone}} ne parla·no", + "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} persone}} ne parlano", "trends.trending_now": "Di tendenza ora", "ui.beforeunload": "La bozza andrà persa se esci da Mastodon.", "units.short.billion": "{count}G", @@ -515,6 +515,7 @@ "upload_error.poll": "Caricamento file non consentito nei sondaggi.", "upload_form.audio_description": "Descrizione per persone con difetti uditivi", "upload_form.description": "Descrizione per utenti con disabilità visive", + "upload_form.description_missing": "No description added", "upload_form.edit": "Modifica", "upload_form.thumbnail": "Cambia miniatura", "upload_form.undo": "Cancella", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index b5257e80d..13d08bf56 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -515,6 +515,7 @@ "upload_error.poll": "アンケートではファイルをアップロードできません。", "upload_form.audio_description": "聴取が難しいユーザーへの説明", "upload_form.description": "閲覧が難しいユーザーへの説明", + "upload_form.description_missing": "No description added", "upload_form.edit": "編集", "upload_form.thumbnail": "サムネイルを変更", "upload_form.undo": "削除", diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json index f6f3f1e10..a0a2b821d 100644 --- a/app/javascript/mastodon/locales/ka.json +++ b/app/javascript/mastodon/locales/ka.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "აღწერილობა ვიზუალურად უფასურისთვის", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "გაუქმება", diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json index d6fcc2c7b..b6628332e 100644 --- a/app/javascript/mastodon/locales/kab.json +++ b/app/javascript/mastodon/locales/kab.json @@ -515,6 +515,7 @@ "upload_error.poll": "Ur ittusireg ara usali n ufaylu s tefranin.", "upload_form.audio_description": "Glem-d i yemdanen i yesɛan ugur deg tmesliwt", "upload_form.description": "Glem-d i yemdaneni yesɛan ugur deg yiẓri", + "upload_form.description_missing": "No description added", "upload_form.edit": "Ẓreg", "upload_form.thumbnail": "Beddel tugna", "upload_form.undo": "Kkes", diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json index 28156f956..f8185fe95 100644 --- a/app/javascript/mastodon/locales/kk.json +++ b/app/javascript/mastodon/locales/kk.json @@ -515,6 +515,7 @@ "upload_error.poll": "Сауалнамамен бірге файл жүктеуге болмайды.", "upload_form.audio_description": "Есту қабілеті нашар адамдарға сипаттама беріңіз", "upload_form.description": "Көру қабілеті нашар адамдар үшін сипаттаңыз", + "upload_form.description_missing": "No description added", "upload_form.edit": "Түзету", "upload_form.thumbnail": "Суретті өзгерту", "upload_form.undo": "Өшіру", diff --git a/app/javascript/mastodon/locales/kn.json b/app/javascript/mastodon/locales/kn.json index 450944dca..74b3992c7 100644 --- a/app/javascript/mastodon/locales/kn.json +++ b/app/javascript/mastodon/locales/kn.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Delete", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 454b3977a..ef2bb4939 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -131,7 +131,7 @@ "confirmations.mute.explanation": "이 동작은 그의 게시물, 그를 멘션하는 게시물을 숨깁니다, 하지만 여전히 그가 당신의 게시물을 보고 팔로우 할 수 있습니다.", "confirmations.mute.message": "정말로 {name}를 뮤트하시겠습니까?", "confirmations.redraft.confirm": "삭제하고 다시 쓰기", - "confirmations.redraft.message": "정말로 이 게시물을 삭제하고 다시 쓰시겠습니까? 해당 포스트에 대한 부스트와 즐겨찾기를 잃게 되고 원본에 대한 답장은 연결 되지 않습니다.", + "confirmations.redraft.message": "정말로 이 게시물을 삭제하고 다시 쓰시겠습니까? 해당 게시물에 대한 부스트와 즐겨찾기를 잃게 되고 원본에 대한 답장은 연결 되지 않습니다.", "confirmations.reply.confirm": "답글", "confirmations.reply.message": "답글을 달기 위해 현재 작성 중인 메시지가 덮어 씌워집니다. 진행하시겠습니까?", "confirmations.unfollow.confirm": "팔로우 해제", @@ -365,7 +365,7 @@ "poll.votes": "{votes} 표", "poll_button.add_poll": "투표 추가", "poll_button.remove_poll": "투표 삭제", - "privacy.change": "포스트의 프라이버시 설정을 변경", + "privacy.change": "게시물의 프라이버시 설정을 변경", "privacy.direct.long": "멘션한 사용자에게만 공개", "privacy.direct.short": "다이렉트", "privacy.private.long": "팔로워에게만 공개", @@ -445,7 +445,7 @@ "status.block": "@{name} 차단", "status.bookmark": "보관", "status.cancel_reblog_private": "부스트 취소", - "status.cannot_reblog": "이 포스트는 부스트 할 수 없습니다", + "status.cannot_reblog": "이 게시물은 부스트 할 수 없습니다", "status.copy": "게시물 링크 복사", "status.delete": "삭제", "status.detailed_status": "대화 자세히 보기", @@ -515,6 +515,7 @@ "upload_error.poll": "파일 업로드는 투표와 함께 첨부할 수 없습니다.", "upload_form.audio_description": "청각 장애인을 위한 설명", "upload_form.description": "시각장애인을 위한 설명", + "upload_form.description_missing": "No description added", "upload_form.edit": "편집", "upload_form.thumbnail": "썸네일 변경", "upload_form.undo": "삭제", diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json index 2bf8fc520..76a240faa 100644 --- a/app/javascript/mastodon/locales/ku.json +++ b/app/javascript/mastodon/locales/ku.json @@ -515,6 +515,7 @@ "upload_error.poll": "Di rapirsîyan de mafê barkirina pelan nayê dayîn.", "upload_form.audio_description": "Ji bona kesên kêm dibihîsin re pênase bike", "upload_form.description": "Ji bona astengdarên dîtinê re vebêje", + "upload_form.description_missing": "No description added", "upload_form.edit": "Serrast bike", "upload_form.thumbnail": "Wêneyê biçûk biguherîne", "upload_form.undo": "Jê bibe", diff --git a/app/javascript/mastodon/locales/kw.json b/app/javascript/mastodon/locales/kw.json index ca6eed5c1..8ca7c68c1 100644 --- a/app/javascript/mastodon/locales/kw.json +++ b/app/javascript/mastodon/locales/kw.json @@ -515,6 +515,7 @@ "upload_error.poll": "Nyns yw gesys ughkarga restrennow gans sondyansow.", "upload_form.audio_description": "Deskrifewgh rag tus vodharek", "upload_form.description": "Deskrifewgh rag tus dhallek", + "upload_form.description_missing": "No description added", "upload_form.edit": "Golegi", "upload_form.thumbnail": "Chanjya avenik", "upload_form.undo": "Dilea", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index bb432a8af..d54fc64f0 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Delete", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index f16df5423..889b45f0e 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -515,6 +515,7 @@ "upload_error.poll": "Datņu augšupielādes aptaujās nav atļautas.", "upload_form.audio_description": "Aprakstiet cilvēkiem ar dzirdes zudumu", "upload_form.description": "Aprakstiet vājredzīgajiem", + "upload_form.description_missing": "No description added", "upload_form.edit": "Rediģēt", "upload_form.thumbnail": "Nomainīt sīktēlu", "upload_form.undo": "Dzēst", diff --git a/app/javascript/mastodon/locales/mk.json b/app/javascript/mastodon/locales/mk.json index c6f097134..def8e718b 100644 --- a/app/javascript/mastodon/locales/mk.json +++ b/app/javascript/mastodon/locales/mk.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Delete", diff --git a/app/javascript/mastodon/locales/ml.json b/app/javascript/mastodon/locales/ml.json index 1a0f4ac38..adca25974 100644 --- a/app/javascript/mastodon/locales/ml.json +++ b/app/javascript/mastodon/locales/ml.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "കേൾവിശക്തി ഇല്ലാത്തവർക്ക് വേണ്ടി വിവരണം നൽകൂ", "upload_form.description": "കാഴ്ചശക്തി ഇല്ലാത്തവർക്ക് വേണ്ടി വിവരണം നൽകൂ", + "upload_form.description_missing": "No description added", "upload_form.edit": "തിരുത്തുക", "upload_form.thumbnail": "ലഘുചിത്രം മാറ്റുക", "upload_form.undo": "ഇല്ലാതാക്കുക", diff --git a/app/javascript/mastodon/locales/mr.json b/app/javascript/mastodon/locales/mr.json index a731ff87b..373b8b026 100644 --- a/app/javascript/mastodon/locales/mr.json +++ b/app/javascript/mastodon/locales/mr.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Delete", diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json index 96d300492..f4cc1c7ba 100644 --- a/app/javascript/mastodon/locales/ms.json +++ b/app/javascript/mastodon/locales/ms.json @@ -515,6 +515,7 @@ "upload_error.poll": "Tidak boleh memuat naik fail bersama undian.", "upload_form.audio_description": "Jelaskan untuk orang yang ada masalah pendengaran", "upload_form.description": "Jelaskan untuk orang yang ada masalah penglihatan", + "upload_form.description_missing": "No description added", "upload_form.edit": "Sunting", "upload_form.thumbnail": "Ubah gambar kecil", "upload_form.undo": "Padam", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index d1cfdd5f4..86a7b0023 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -515,6 +515,7 @@ "upload_error.poll": "Het uploaden van bestanden is in polls niet toegestaan.", "upload_form.audio_description": "Omschrijf dit voor mensen met een auditieve beperking", "upload_form.description": "Omschrijf dit voor mensen met een visuele beperking", + "upload_form.description_missing": "No description added", "upload_form.edit": "Bewerken", "upload_form.thumbnail": "Miniatuurafbeelding wijzigen", "upload_form.undo": "Verwijderen", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index 40a961c5e..491b24a40 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -515,6 +515,7 @@ "upload_error.poll": "Filopplasting ikkje tillate med meiningsmålingar.", "upload_form.audio_description": "Grei ut for folk med nedsett høyrsel", "upload_form.description": "Skildr for synshemja", + "upload_form.description_missing": "No description added", "upload_form.edit": "Rediger", "upload_form.thumbnail": "Bytt miniatyrbilete", "upload_form.undo": "Slett", diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json index e4474f6d9..0a1286f7b 100644 --- a/app/javascript/mastodon/locales/no.json +++ b/app/javascript/mastodon/locales/no.json @@ -515,6 +515,7 @@ "upload_error.poll": "Filopplasting inni avstemninger er ikke tillatt.", "upload_form.audio_description": "Beskriv det for folk med hørselstap", "upload_form.description": "Beskriv for synshemmede", + "upload_form.description_missing": "No description added", "upload_form.edit": "Rediger", "upload_form.thumbnail": "Endre miniatyrbilde", "upload_form.undo": "Angre", diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index ff819e0fd..83cd3a632 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -106,7 +106,7 @@ "compose_form.poll.switch_to_single": "Cambiar lo sondatge per permetre una sola causida", "compose_form.publish": "Tut", "compose_form.publish_loud": "{publish} !", - "compose_form.save_changes": "Save changes", + "compose_form.save_changes": "Salvar los cambiaments", "compose_form.sensitive.hide": "Marcar coma sensible", "compose_form.sensitive.marked": "Lo mèdia es marcat coma sensible", "compose_form.sensitive.unmarked": "Lo mèdia es pas marcat coma sensible", @@ -187,9 +187,9 @@ "error.unexpected_crash.next_steps_addons": "Ensajatz de los desactivar o actualizatz la pagina. Se aquò ajuda pas, podètz ensajar d’utilizar Mastodon via un autre navigador o una aplicacion nativa.", "errors.unexpected_crash.copy_stacktrace": "Copiar las traças al quichapapièrs", "errors.unexpected_crash.report_issue": "Senhalar un problèma", - "explore.search_results": "Search results", + "explore.search_results": "Resultats de recèrca", "explore.suggested_follows": "For you", - "explore.title": "Explore", + "explore.title": "Explorar", "explore.trending_links": "News", "explore.trending_statuses": "Posts", "explore.trending_tags": "Hashtags", @@ -362,7 +362,7 @@ "poll.total_votes": "{count, plural, one {# vòte} other {# vòtes}}", "poll.vote": "Votar", "poll.voted": "Avètz votat per aquesta responsa", - "poll.votes": "{votes, plural, one {# vote} other {# votes}}", + "poll.votes": "{votes, plural, one {# vòte} other {# vòtes}}", "poll_button.add_poll": "Ajustar un sondatge", "poll_button.remove_poll": "Levar lo sondatge", "privacy.change": "Ajustar la confidencialitat del messatge", @@ -378,35 +378,35 @@ "regeneration_indicator.label": "Cargament…", "regeneration_indicator.sublabel": "Sèm a preparar vòstre flux d’acuèlh !", "relative_time.days": "fa {number}d", - "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 {# jorn} other {# jorns}} ago", + "relative_time.full.hours": "fa {number, plural, one {# ora} other {# oras}}", + "relative_time.full.just_now": "ara", + "relative_time.full.minutes": "fa {number, plural, one {# minuta} other {# minutas}}", + "relative_time.full.seconds": "fa {number, plural, one {# segonda} other {# segondas}}", "relative_time.hours": "fa {number}h", "relative_time.just_now": "ara", "relative_time.minutes": "fa {number} min", "relative_time.seconds": "fa {number}s", "relative_time.today": "uèi", "reply_indicator.cancel": "Anullar", - "report.block": "Block", + "report.block": "Blocar", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", "report.category.subtitle": "Choose the best match", "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", + "report.category.title_account": "perfil", + "report.category.title_status": "publicacion", + "report.close": "Acabat", "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Far sègre a {target}", "report.forward_hint": "Lo compte ven d’un autre servidor. Volètz mandar una còpia anonima del rapòrt enlai tanben ?", - "report.mute": "Mute", + "report.mute": "Amudir", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.next": "Seguent", "report.placeholder": "Comentaris addicionals", - "report.reasons.dislike": "I don't like it", + "report.reasons.dislike": "M’agrada pas", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", "report.reasons.other_description": "The issue does not fit into other categories", @@ -450,7 +450,7 @@ "status.delete": "Escafar", "status.detailed_status": "Vista detalhada de la convèrsa", "status.direct": "Messatge per @{name}", - "status.edit": "Edit", + "status.edit": "Modificar", "status.edited": "Edited {date}", "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", "status.embed": "Embarcar", @@ -515,6 +515,7 @@ "upload_error.poll": "Lo mandadís de fichièr es pas autorizat pels sondatges.", "upload_form.audio_description": "Descriure per las personas amb pèrdas auditivas", "upload_form.description": "Descripcion pels mal vesents", + "upload_form.description_missing": "No description added", "upload_form.edit": "Modificar", "upload_form.thumbnail": "Cambiar la vinheta", "upload_form.undo": "Suprimir", diff --git a/app/javascript/mastodon/locales/pa.json b/app/javascript/mastodon/locales/pa.json index 088b5ff36..4373287dd 100644 --- a/app/javascript/mastodon/locales/pa.json +++ b/app/javascript/mastodon/locales/pa.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Delete", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index f9b7de8c5..3a9ae6297 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -515,6 +515,7 @@ "upload_error.poll": "Dołączanie plików nie dozwolone z głosowaniami.", "upload_form.audio_description": "Opisz dla osób niesłyszących i niedosłyszących", "upload_form.description": "Wprowadź opis dla niewidomych i niedowidzących", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edytuj", "upload_form.thumbnail": "Zmień miniaturę", "upload_form.undo": "Usuń", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index 2b9755c06..e6ee77212 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -515,6 +515,7 @@ "upload_error.poll": "Mídias não podem ser anexadas em toots com enquetes.", "upload_form.audio_description": "Descrever para deficientes auditivos", "upload_form.description": "Descrever para deficientes visuais", + "upload_form.description_missing": "No description added", "upload_form.edit": "Editar", "upload_form.thumbnail": "Alterar miniatura", "upload_form.undo": "Excluir", diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json index 4e06401ec..5514ad446 100644 --- a/app/javascript/mastodon/locales/pt-PT.json +++ b/app/javascript/mastodon/locales/pt-PT.json @@ -515,6 +515,7 @@ "upload_error.poll": "Carregamento de ficheiros não é permitido em votações.", "upload_form.audio_description": "Descreva para pessoas com diminuição da acuidade auditiva", "upload_form.description": "Descrição da imagem para pessoas com dificuldades visuais", + "upload_form.description_missing": "No description added", "upload_form.edit": "Editar", "upload_form.thumbnail": "Alterar miniatura", "upload_form.undo": "Eliminar", diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json index bd91f19b9..49babba8b 100644 --- a/app/javascript/mastodon/locales/ro.json +++ b/app/javascript/mastodon/locales/ro.json @@ -515,6 +515,7 @@ "upload_error.poll": "Încărcarea fișierului nu este permisă cu sondaje.", "upload_form.audio_description": "Descrie pentru persoanele cu deficiență a auzului", "upload_form.description": "Adaugă o descriere pentru persoanele cu deficiențe de vedere", + "upload_form.description_missing": "No description added", "upload_form.edit": "Modifică", "upload_form.thumbnail": "Schimbă miniatura", "upload_form.undo": "Șterge", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 79fac6eb5..c227150f9 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -515,6 +515,7 @@ "upload_error.poll": "К опросам нельзя прикреплять файлы.", "upload_form.audio_description": "Опишите аудиофайл для людей с нарушением слуха", "upload_form.description": "Добавьте описание для людей с нарушениями зрения:", + "upload_form.description_missing": "No description added", "upload_form.edit": "Изменить", "upload_form.thumbnail": "Изменить обложку", "upload_form.undo": "Отменить", diff --git a/app/javascript/mastodon/locales/sa.json b/app/javascript/mastodon/locales/sa.json index e1910d283..ef06ba0b1 100644 --- a/app/javascript/mastodon/locales/sa.json +++ b/app/javascript/mastodon/locales/sa.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Delete", diff --git a/app/javascript/mastodon/locales/sc.json b/app/javascript/mastodon/locales/sc.json index 1c29dfb79..1375f2fb6 100644 --- a/app/javascript/mastodon/locales/sc.json +++ b/app/javascript/mastodon/locales/sc.json @@ -515,6 +515,7 @@ "upload_error.poll": "Non si permitit s'imbiu de archìvios in is sondàgios.", "upload_form.audio_description": "Descritzione pro persones cun pèrdida auditiva", "upload_form.description": "Descritzione pro persones cun problemas visuales", + "upload_form.description_missing": "No description added", "upload_form.edit": "Modìfica", "upload_form.thumbnail": "Càmbia sa miniadura", "upload_form.undo": "Cantzella", diff --git a/app/javascript/mastodon/locales/si.json b/app/javascript/mastodon/locales/si.json index a74105406..26c98ea35 100644 --- a/app/javascript/mastodon/locales/si.json +++ b/app/javascript/mastodon/locales/si.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "සංස්කරණය", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Delete", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index 860e65413..9bdbf15c3 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -515,6 +515,7 @@ "upload_error.poll": "Nahrávanie súborov pri anketách nieje možné.", "upload_form.audio_description": "Popíš, pre ľudí so stratou sluchu", "upload_form.description": "Opis pre slabo vidiacich", + "upload_form.description_missing": "No description added", "upload_form.edit": "Uprav", "upload_form.thumbnail": "Zmeniť miniatúru", "upload_form.undo": "Vymaž", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index 92a3ffcc9..f8bd9058b 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -46,10 +46,10 @@ "account.unfollow": "Prenehaj slediti", "account.unmute": "Odtišaj @{name}", "account.unmute_notifications": "Vklopi obvestila od @{name}", - "account.unmute_short": "Unmute", + "account.unmute_short": "Odtišaj", "account_note.placeholder": "Click to add a note", - "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.daily_retention": "Mera ohranjanja uporabnikov po dnevih od registracije", + "admin.dashboard.monthly_retention": "Mera ohranjanja uporabnikov po mesecih od registracije", "admin.dashboard.retention.average": "Povprečje", "admin.dashboard.retention.cohort": "Mesec prijave", "admin.dashboard.retention.cohort_size": "Novi uporabniki", @@ -515,6 +515,7 @@ "upload_error.poll": "Prenos datoteke z anketami ni dovoljen.", "upload_form.audio_description": "Opiši za osebe z okvaro sluha", "upload_form.description": "Opišite za slabovidne", + "upload_form.description_missing": "No description added", "upload_form.edit": "Uredi", "upload_form.thumbnail": "Spremeni sličico", "upload_form.undo": "Izbriši", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index ce3cdabd0..8f0beacff 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -515,6 +515,7 @@ "upload_error.poll": "Me pyetësorët s’lejohet ngarkim kartelash.", "upload_form.audio_description": "Përshkruajeni për persona me dëgjim të kufizuar", "upload_form.description": "Përshkruajeni për persona me probleme shikimi", + "upload_form.description_missing": "No description added", "upload_form.edit": "Përpunoni", "upload_form.thumbnail": "Ndryshoni miniaturën", "upload_form.undo": "Fshije", diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json index 332352cc1..7a0efa255 100644 --- a/app/javascript/mastodon/locales/sr-Latn.json +++ b/app/javascript/mastodon/locales/sr-Latn.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Opiši za slabovide osobe", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Opozovi", diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json index e7f1e54cc..ea6dbb5ab 100644 --- a/app/javascript/mastodon/locales/sr.json +++ b/app/javascript/mastodon/locales/sr.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Опишите за особе са оштећеним видом", + "upload_form.description_missing": "No description added", "upload_form.edit": "Уреди", "upload_form.thumbnail": "Промени приказ слика", "upload_form.undo": "Обриши", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index 65e547183..636591be8 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -515,6 +515,7 @@ "upload_error.poll": "Filuppladdning tillåts inte med omröstningar.", "upload_form.audio_description": "Beskriv för personer med hörselnedsättning", "upload_form.description": "Beskriv för synskadade", + "upload_form.description_missing": "No description added", "upload_form.edit": "Redigera", "upload_form.thumbnail": "Ändra miniatyr", "upload_form.undo": "Radera", diff --git a/app/javascript/mastodon/locales/szl.json b/app/javascript/mastodon/locales/szl.json index 088b5ff36..4373287dd 100644 --- a/app/javascript/mastodon/locales/szl.json +++ b/app/javascript/mastodon/locales/szl.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Delete", diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json index 3c4bcb234..f79454e0b 100644 --- a/app/javascript/mastodon/locales/ta.json +++ b/app/javascript/mastodon/locales/ta.json @@ -515,6 +515,7 @@ "upload_error.poll": "கோப்பு பதிவேற்றம் அனுமதிக்கப்படவில்லை.", "upload_form.audio_description": "செவித்திறன் குறைபாடு உள்ளவர்களுக்காக விளக்குக‌", "upload_form.description": "பார்வையற்ற விவரிக்கவும்", + "upload_form.description_missing": "No description added", "upload_form.edit": "தொகு", "upload_form.thumbnail": "சிறுபடத்தை மாற்ற", "upload_form.undo": "நீக்கு", diff --git a/app/javascript/mastodon/locales/tai.json b/app/javascript/mastodon/locales/tai.json index 2f8936a9c..888902b3f 100644 --- a/app/javascript/mastodon/locales/tai.json +++ b/app/javascript/mastodon/locales/tai.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Delete", diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json index 05af59c6a..ce2fe0fda 100644 --- a/app/javascript/mastodon/locales/te.json +++ b/app/javascript/mastodon/locales/te.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "దృష్టి లోపమున్న వారి కోసం వివరించండి", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "తొలగించు", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index f8477e8fd..9f592fd83 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -515,6 +515,7 @@ "upload_error.poll": "ไม่อนุญาตให้อัปโหลดไฟล์กับการลงคะแนน", "upload_form.audio_description": "อธิบายสำหรับผู้สูญเสียการได้ยิน", "upload_form.description": "อธิบายสำหรับผู้บกพร่องทางการมองเห็น", + "upload_form.description_missing": "No description added", "upload_form.edit": "แก้ไข", "upload_form.thumbnail": "เปลี่ยนภาพขนาดย่อ", "upload_form.undo": "ลบ", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 96d6f83c3..959af5693 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -515,6 +515,7 @@ "upload_error.poll": "Anketlerde dosya yüklemesine izin verilmez.", "upload_form.audio_description": "İşitme kaybı olan kişiler için tarif edin", "upload_form.description": "Görme engelliler için açıklama", + "upload_form.description_missing": "No description added", "upload_form.edit": "Düzenle", "upload_form.thumbnail": "Küçük resmi değiştir", "upload_form.undo": "Sil", diff --git a/app/javascript/mastodon/locales/tt.json b/app/javascript/mastodon/locales/tt.json index 06936f110..e44106844 100644 --- a/app/javascript/mastodon/locales/tt.json +++ b/app/javascript/mastodon/locales/tt.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "Үзгәртү", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Бетерү", diff --git a/app/javascript/mastodon/locales/ug.json b/app/javascript/mastodon/locales/ug.json index 088b5ff36..4373287dd 100644 --- a/app/javascript/mastodon/locales/ug.json +++ b/app/javascript/mastodon/locales/ug.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Delete", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index e2e1386e6..b8f6bed42 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -412,9 +412,9 @@ "report.reasons.other_description": "The issue does not fit into other categories", "report.reasons.spam": "Це спам", "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", - "report.reasons.violation": "It violates server rules", - "report.reasons.violation_description": "You are aware that it breaks specific rules", - "report.rules.subtitle": "Select all that apply", + "report.reasons.violation": "Порушує правила сервера", + "report.reasons.violation_description": "Ви впевнені, що це порушує певні правила", + "report.rules.subtitle": "Виберіть усі варіанти, що підходять", "report.rules.title": "Які правила порушено?", "report.statuses.subtitle": "Виберіть усі варіанти, що підходять", "report.statuses.title": "Are there any posts that back up this report?", @@ -515,6 +515,7 @@ "upload_error.poll": "Не можна завантажувати файли до опитувань.", "upload_form.audio_description": "Опишіть для людей із вадами слуху", "upload_form.description": "Опишіть для людей з вадами зору", + "upload_form.description_missing": "No description added", "upload_form.edit": "Змінити", "upload_form.thumbnail": "Змінити мініатюру", "upload_form.undo": "Видалити", diff --git a/app/javascript/mastodon/locales/ur.json b/app/javascript/mastodon/locales/ur.json index e5aad2355..47e06c3b2 100644 --- a/app/javascript/mastodon/locales/ur.json +++ b/app/javascript/mastodon/locales/ur.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "Edit", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Delete", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index d47033881..8da449cef 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -11,7 +11,7 @@ "account.direct": "Nhắn riêng @{name}", "account.disable_notifications": "Không thông báo khi @{name} đăng tút", "account.domain_blocked": "Người đã chặn", - "account.edit_profile": "Chỉnh sửa trang cá nhân", + "account.edit_profile": "Sửa hồ sơ", "account.enable_notifications": "Thông báo khi @{name} đăng tút", "account.endorse": "Tôn vinh người này", "account.follow": "Theo dõi", @@ -227,7 +227,7 @@ "intervals.full.minutes": "{number, plural, other {# phút}}", "keyboard_shortcuts.back": "trở lại", "keyboard_shortcuts.blocked": "mở danh sách người đã chặn", - "keyboard_shortcuts.boost": "Đăng lại", + "keyboard_shortcuts.boost": "đăng lại", "keyboard_shortcuts.column": "mở các mục", "keyboard_shortcuts.compose": "mở khung soạn tút", "keyboard_shortcuts.description": "Mô tả", @@ -244,11 +244,11 @@ "keyboard_shortcuts.local": "mở máy chủ của bạn", "keyboard_shortcuts.mention": "nhắc đến ai đó", "keyboard_shortcuts.muted": "mở danh sách người đã ẩn", - "keyboard_shortcuts.my_profile": "mở trang cá nhân của bạn", + "keyboard_shortcuts.my_profile": "mở hồ sơ của bạn", "keyboard_shortcuts.notifications": "mở mục thông báo", "keyboard_shortcuts.open_media": "mở ảnh hoặc video", "keyboard_shortcuts.pinned": "mở danh sách tút ghim", - "keyboard_shortcuts.profile": "mở trang cá nhân của người viết tút", + "keyboard_shortcuts.profile": "mở hồ sơ của người viết tút", "keyboard_shortcuts.reply": "trả lời", "keyboard_shortcuts.requests": "mở danh sách yêu cầu theo dõi", "keyboard_shortcuts.search": "mở tìm kiếm", @@ -293,7 +293,7 @@ "navigation_bar.direct": "Tin nhắn", "navigation_bar.discover": "Khám phá", "navigation_bar.domain_blocks": "Máy chủ đã ẩn", - "navigation_bar.edit_profile": "Trang cá nhân", + "navigation_bar.edit_profile": "Sửa hồ sơ", "navigation_bar.explore": "Xu hướng", "navigation_bar.favourites": "Thích", "navigation_bar.filters": "Bộ lọc từ ngữ", @@ -465,7 +465,7 @@ "status.mute": "Ẩn @{name}", "status.mute_conversation": "Không quan tâm nữa", "status.open": "Xem nguyên văn", - "status.pin": "Ghim lên trang cá nhân", + "status.pin": "Ghim lên hồ sơ", "status.pinned": "Tút đã ghim", "status.read_more": "Đọc tiếp", "status.reblog": "Đăng lại", @@ -486,7 +486,7 @@ "status.show_thread": "Xem chuỗi tút này", "status.uncached_media_warning": "Uncached", "status.unmute_conversation": "Quan tâm", - "status.unpin": "Bỏ ghim trên trang cá nhân", + "status.unpin": "Bỏ ghim trên hồ sơ", "suggestions.dismiss": "Tắt đề xuất", "suggestions.header": "Có thể bạn quan tâm…", "tabs_bar.federated_timeline": "Thế giới", @@ -515,6 +515,7 @@ "upload_error.poll": "Không cho phép đính kèm tập tin.", "upload_form.audio_description": "Mô tả cho người mất thính giác", "upload_form.description": "Mô tả cho người khiếm thị", + "upload_form.description_missing": "No description added", "upload_form.edit": "Biên tập", "upload_form.thumbnail": "Đổi ảnh thumbnail", "upload_form.undo": "Xóa bỏ", diff --git a/app/javascript/mastodon/locales/zgh.json b/app/javascript/mastodon/locales/zgh.json index b321d1525..6e6b1cd86 100644 --- a/app/javascript/mastodon/locales/zgh.json +++ b/app/javascript/mastodon/locales/zgh.json @@ -515,6 +515,7 @@ "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", + "upload_form.description_missing": "No description added", "upload_form.edit": "ⵙⵏⴼⵍ", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "ⴽⴽⵙ", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 9e306688e..e49284653 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -160,7 +160,7 @@ "emoji_button.search_results": "搜索结果", "emoji_button.symbols": "符号", "emoji_button.travel": "旅行和地点", - "empty_column.account_suspended": "账户被封禁", + "empty_column.account_suspended": "账户已停用", "empty_column.account_timeline": "这里没有嘟文!", "empty_column.account_unavailable": "个人资料不可用", "empty_column.blocks": "你目前没有屏蔽任何用户。", @@ -515,6 +515,7 @@ "upload_error.poll": "投票中不允许上传文件。", "upload_form.audio_description": "为听障人士添加文字描述", "upload_form.description": "为视觉障碍人士添加文字说明", + "upload_form.description_missing": "No description added", "upload_form.edit": "编辑", "upload_form.thumbnail": "更改缩略图", "upload_form.undo": "删除", diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index b60560cd1..462c05447 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -515,6 +515,7 @@ "upload_error.poll": "不允許在投票上傳檔案。", "upload_form.audio_description": "簡單描述內容給聽障人士", "upload_form.description": "為視覺障礙人士添加文字說明", + "upload_form.description_missing": "No description added", "upload_form.edit": "編輯", "upload_form.thumbnail": "更改預覽圖", "upload_form.undo": "刪除", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index f9366fe17..866fed93c 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -1,12 +1,12 @@ { "account.account_note_header": "備註", - "account.add_or_remove_from_list": "從名單中新增或移除", + "account.add_or_remove_from_list": "從列表中新增或移除", "account.badges.bot": "機器人", "account.badges.group": "群組", "account.block": "封鎖 @{name}", "account.block_domain": "封鎖來自 {domain} 網域的所有內容", "account.blocked": "已封鎖", - "account.browse_more_on_origin_server": "在該伺服器的個人檔案頁上瀏覽更多", + "account.browse_more_on_origin_server": "於該伺服器的個人檔案頁上瀏覽更多", "account.cancel_follow_request": "取消跟隨請求", "account.direct": "傳私訊給 @{name}", "account.disable_notifications": "取消來自 @{name} 嘟文的通知", @@ -53,7 +53,7 @@ "admin.dashboard.retention.average": "平均", "admin.dashboard.retention.cohort": "註冊月份", "admin.dashboard.retention.cohort_size": "新使用者", - "alert.rate_limited.message": "請在 {retry_time, time, medium} 後重試", + "alert.rate_limited.message": "請在 {retry_time, time, medium} 後重試。", "alert.rate_limited.title": "已限速", "alert.unexpected.message": "發生了非預期的錯誤。", "alert.unexpected.title": "哎呀!", @@ -76,7 +76,7 @@ "column.favourites": "最愛", "column.follow_requests": "跟隨請求", "column.home": "首頁", - "column.lists": "名單", + "column.lists": "列表", "column.mutes": "已靜音的使用者", "column.notifications": "通知", "column.pins": "釘選的嘟文", @@ -95,7 +95,7 @@ "compose_form.direct_message_warning": "這條嘟文只有被提及的使用者才看得到。", "compose_form.direct_message_warning_learn_more": "了解更多", "compose_form.hashtag_warning": "由於這則嘟文設定為「不公開」,它將不會被列於任何主題標籤下。只有公開的嘟文才能藉由主題標籤找到。", - "compose_form.lock_disclaimer": "您的帳戶尚未{locked}。任何人都能關注您並看到您設定成只有跟隨者能看的嘟文。", + "compose_form.lock_disclaimer": "您的帳戶尚未 {locked}。任何人都能關注您並看到您設定成只有跟隨者能看的嘟文。", "compose_form.lock_disclaimer.lock": "上鎖", "compose_form.placeholder": "正在想些什麼嗎?", "compose_form.poll.add_option": "新增選項", @@ -116,26 +116,26 @@ "confirmation_modal.cancel": "取消", "confirmations.block.block_and_report": "封鎖並檢舉", "confirmations.block.confirm": "封鎖", - "confirmations.block.message": "確定要封鎖 {name} 嗎?", + "confirmations.block.message": "您確定要封鎖 {name} ?", "confirmations.delete.confirm": "刪除", "confirmations.delete.message": "您確定要刪除這則嘟文?", "confirmations.delete_list.confirm": "刪除", - "confirmations.delete_list.message": "確定永久刪除此名單?", + "confirmations.delete_list.message": "您確定要永久刪除此列表?", "confirmations.discard_edit_media.confirm": "捨棄", "confirmations.discard_edit_media.message": "您在媒體描述或預覽區塊有未儲存的變更。是否要捨棄這些變更?", "confirmations.domain_block.confirm": "隱藏整個域名", "confirmations.domain_block.message": "真的非常確定封鎖整個 {domain} 網域嗎?大部分情況下,您只需要封鎖或靜音少數特定的帳帳戶能滿足需求了。您將不能在任何公開的時間軸及通知中看到來自此網域的內容。您來自該網域的跟隨者也將被移除。", "confirmations.logout.confirm": "登出", - "confirmations.logout.message": "確定要登出嗎?", + "confirmations.logout.message": "您確定要登出嗎?", "confirmations.mute.confirm": "靜音", "confirmations.mute.explanation": "這將會隱藏來自他們的嘟文與通知,但是他們還是可以查閱您的嘟文與跟隨您。", - "confirmations.mute.message": "確定靜音 {name} ?", + "confirmations.mute.message": "您確定要靜音 {name} ?", "confirmations.redraft.confirm": "刪除並重新編輯", - "confirmations.redraft.message": "確定刪掉這則嘟文並重新編輯嗎?將會失去這則嘟文的轉嘟及最愛,且回覆這則的嘟文將會變成獨立的嘟文。", + "confirmations.redraft.message": "您確定要刪掉這則嘟文並重新編輯嗎?將會失去這則嘟文的轉嘟及最愛,且回覆這則的嘟文將會變成獨立的嘟文。", "confirmations.reply.confirm": "回覆", "confirmations.reply.message": "現在回覆將蓋掉您目前正在撰寫的訊息。是否仍要回覆?", "confirmations.unfollow.confirm": "取消跟隨", - "confirmations.unfollow.message": "確定要取消跟隨 {name} 嗎?", + "confirmations.unfollow.message": "您確定要取消跟隨 {name} 嗎?", "conversation.delete": "刪除對話", "conversation.mark_as_read": "標記為已讀", "conversation.open": "檢視對話", @@ -176,8 +176,8 @@ "empty_column.hashtag": "這個主題標籤下什麼也沒有。", "empty_column.home": "您的首頁時間軸是空的!前往 {suggestions} 或使用搜尋功能來認識其他人。", "empty_column.home.suggestions": "檢視部份建議", - "empty_column.list": "這份名單還沒有東西。當此名單的成員嘟出了新的嘟文時,它們就會顯示於此。", - "empty_column.lists": "您還沒有建立任何名單。這裡將會顯示您所建立的名單。", + "empty_column.list": "這份列表下什麼也沒有。當此列表的成員嘟出了新的嘟文時,它們就會顯示於此。", + "empty_column.lists": "您還沒有建立任何列表。這裡將會顯示您所建立的列表。", "empty_column.mutes": "您尚未靜音任何使用者。", "empty_column.notifications": "您尚未收到任何通知,和別人互動開啟對話吧。", "empty_column.public": "這裡什麼都沒有!嘗試寫些公開的嘟文,或著自己跟隨其他伺服器的使用者後就會有嘟文出現了", @@ -194,8 +194,8 @@ "explore.trending_statuses": "嘟文", "explore.trending_tags": "主題標籤", "follow_recommendations.done": "完成", - "follow_recommendations.heading": "跟隨您想檢視其貼文的人!這裡有一些建議。", - "follow_recommendations.lead": "來自您跟隨的人的貼文將會按時間順序顯示在您的家 feed 上。不要害怕犯錯,您隨時都可以取消跟隨其他人!", + "follow_recommendations.heading": "跟隨您想檢視其嘟文的人!這裡有一些建議。", + "follow_recommendations.lead": "來自您跟隨的人之嘟文將會按時間順序顯示在您的首頁時間軸上。不要害怕犯錯,您隨時都可以取消跟隨其他人!", "follow_request.authorize": "授權", "follow_request.reject": "拒絕", "follow_requests.unlocked_explanation": "即便您的帳戶未被鎖定,{domain} 的管理員認為您可能想要自己審核這些帳戶的跟隨請求。", @@ -232,10 +232,10 @@ "keyboard_shortcuts.compose": "將焦點移至撰寫文字區塊", "keyboard_shortcuts.description": "說明", "keyboard_shortcuts.direct": "開啟私訊欄", - "keyboard_shortcuts.down": "在名單中往下移動", + "keyboard_shortcuts.down": "在列表中往下移動", "keyboard_shortcuts.enter": "檢視嘟文", "keyboard_shortcuts.favourite": "加到最愛", - "keyboard_shortcuts.favourites": "開啟最愛名單", + "keyboard_shortcuts.favourites": "開啟最愛列表", "keyboard_shortcuts.federated": "開啟聯邦時間軸", "keyboard_shortcuts.heading": "鍵盤快速鍵", "keyboard_shortcuts.home": "開啟首頁時間軸", @@ -243,47 +243,47 @@ "keyboard_shortcuts.legend": "顯示此圖例", "keyboard_shortcuts.local": "開啟本機時間軸", "keyboard_shortcuts.mention": "提及作者", - "keyboard_shortcuts.muted": "開啟靜音使用者名單", + "keyboard_shortcuts.muted": "開啟靜音使用者列表", "keyboard_shortcuts.my_profile": "開啟個人資料頁面", "keyboard_shortcuts.notifications": "開啟通知欄", "keyboard_shortcuts.open_media": "開啟媒體", - "keyboard_shortcuts.pinned": "開啟釘選的嘟文名單", + "keyboard_shortcuts.pinned": "開啟釘選的嘟文列表", "keyboard_shortcuts.profile": "開啟作者的個人資料頁面", "keyboard_shortcuts.reply": "回應嘟文", - "keyboard_shortcuts.requests": "開啟跟隨請求名單", + "keyboard_shortcuts.requests": "開啟跟隨請求列表", "keyboard_shortcuts.search": "將焦點移至搜尋框", "keyboard_shortcuts.spoilers": "顯示或隱藏被折疊的正文", "keyboard_shortcuts.start": "開啟「開始使用」欄位", - "keyboard_shortcuts.toggle_hidden": "顯示/隱藏在內容警告之後的正文", - "keyboard_shortcuts.toggle_sensitivity": "顯示 / 隱藏媒體", + "keyboard_shortcuts.toggle_hidden": "顯示或隱藏在內容警告之後的正文", + "keyboard_shortcuts.toggle_sensitivity": "顯示或隱藏媒體", "keyboard_shortcuts.toot": "開始發出新嘟文", "keyboard_shortcuts.unfocus": "取消輸入文字區塊 / 搜尋的焦點", - "keyboard_shortcuts.up": "在名單中往上移動", + "keyboard_shortcuts.up": "在列表中往上移動", "lightbox.close": "關閉", "lightbox.compress": "折疊圖片檢視框", "lightbox.expand": "展開圖片檢視框", "lightbox.next": "下一步", "lightbox.previous": "上一步", - "lists.account.add": "新增至名單", - "lists.account.remove": "從名單中移除", - "lists.delete": "刪除名單", - "lists.edit": "編輯名單", + "lists.account.add": "新增至列表", + "lists.account.remove": "從列表中移除", + "lists.delete": "刪除列表", + "lists.edit": "編輯列表", "lists.edit.submit": "變更標題", - "lists.new.create": "新增名單", - "lists.new.title_placeholder": "新名單標題", + "lists.new.create": "新增列表", + "lists.new.title_placeholder": "新列表標題", "lists.replies_policy.followed": "任何跟隨的使用者", - "lists.replies_policy.list": "名單成員", + "lists.replies_policy.list": "列表成員", "lists.replies_policy.none": "沒有人", "lists.replies_policy.title": "顯示回覆:", "lists.search": "搜尋您跟隨的使用者", - "lists.subheading": "您的名單", + "lists.subheading": "您的列表", "load_pending": "{count, plural, one {# 個新項目} other {# 個新項目}}", "loading_indicator.label": "讀取中...", "media_gallery.toggle_visible": "切換可見性", "missing_indicator.label": "找不到", "missing_indicator.sublabel": "找不到此資源", "mute_modal.duration": "持續時間", - "mute_modal.hide_notifications": "隱藏來自這位使用者的通知?", + "mute_modal.hide_notifications": "是否隱藏來自這位使用者的通知?", "mute_modal.indefinite": "無期限", "navigation_bar.apps": "行動應用程式", "navigation_bar.blocks": "封鎖使用者", @@ -301,7 +301,7 @@ "navigation_bar.follows_and_followers": "跟隨中與跟隨者", "navigation_bar.info": "關於此伺服器", "navigation_bar.keyboard_shortcuts": "快速鍵", - "navigation_bar.lists": "名單", + "navigation_bar.lists": "列表", "navigation_bar.logout": "登出", "navigation_bar.mutes": "靜音的使用者", "navigation_bar.personal": "個人", @@ -320,7 +320,7 @@ "notification.status": "{name} 剛剛嘟文", "notification.update": "{name} 編輯了嘟文", "notifications.clear": "清除通知", - "notifications.clear_confirmation": "確定要永久清除您的通知嗎?", + "notifications.clear_confirmation": "您確定要永久清除您的通知嗎?", "notifications.column_settings.admin.sign_up": "新註冊帳號:", "notifications.column_settings.alert": "桌面通知", "notifications.column_settings.favourite": "最愛:", @@ -345,13 +345,13 @@ "notifications.filter.follows": "跟隨的使用者", "notifications.filter.mentions": "提及", "notifications.filter.polls": "投票結果", - "notifications.filter.statuses": "已跟隨使用者的最新動態", + "notifications.filter.statuses": "您跟隨的使用者之最新動態", "notifications.grant_permission": "授予權限", "notifications.group": "{count} 條通知", "notifications.mark_as_read": "將所有通知都標記為已讀", "notifications.permission_denied": "由於之前拒絕了瀏覽器請求,因此桌面通知不可用", - "notifications.permission_denied_alert": "因為之前瀏覽器權限被拒絕,無法啟用桌面通知", - "notifications.permission_required": "因為尚未授予所需的權限,所以桌面通知不可用。", + "notifications.permission_denied_alert": "由於之前瀏覽器權限被拒絕,無法啟用桌面通知", + "notifications.permission_required": "由於尚未授予所需的權限,所以桌面通知不可用。", "notifications_permission_banner.enable": "啟用桌面通知", "notifications_permission_banner.how_to_control": "啟用桌面通知以在 Mastodon 沒有開啟的時候接收通知。在已經啟用桌面通知的時候,您可以透過上面的 {icon} 按鈕準確的控制哪些類型的互動會產生桌面通知。", "notifications_permission_banner.title": "不要錯過任何東西!", @@ -372,20 +372,20 @@ "privacy.private.short": "僅跟隨者", "privacy.public.long": "公開,且顯示於公開時間軸", "privacy.public.short": "公開", - "privacy.unlisted.long": "公開,但不會顯示在公開時間軸", + "privacy.unlisted.long": "公開,但不會顯示於公開時間軸", "privacy.unlisted.short": "不公開", "refresh": "重新整理", "regeneration_indicator.label": "載入中…", - "regeneration_indicator.sublabel": "您的主頁時間軸正在準備中!", + "regeneration_indicator.sublabel": "您的首頁時間軸正在準備中!", "relative_time.days": "{number} 天", "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.hours": "{number} 小時前", "relative_time.just_now": "剛剛", - "relative_time.minutes": "{number} 分前", + "relative_time.minutes": "{number} 分鐘前", "relative_time.seconds": "{number} 秒", "relative_time.today": "今天", "reply_indicator.cancel": "取消", @@ -401,7 +401,7 @@ "report.close": "已完成", "report.comment.title": "有什麼其他您想讓我們知道的嗎?", "report.forward": "轉寄到 {target}", - "report.forward_hint": "這個帳戶屬於其他伺服器。要像該伺服器發送匿名的檢舉訊息嗎?", + "report.forward_hint": "這個帳戶屬於其他伺服器。要像該伺服器發送匿名的檢舉訊息嗎?", "report.mute": "靜音", "report.mute_explanation": "您將不再看到他們的嘟文。他們仍能可以跟隨您以及察看您的嘟文,並且不會知道他們已被靜音。", "report.next": "繼續", @@ -425,7 +425,7 @@ "report.thanks.title": "不想再看到這個?", "report.thanks.title_actionable": "感謝您的檢舉,我們將會著手處理。", "report.unfollow": "取消跟隨 @{name}", - "report.unfollow_explanation": "您正在跟隨此帳號。如不欲於首頁再見到他們的嘟文,請取消跟隨。", + "report.unfollow_explanation": "您正在跟隨此帳號。如不欲於首頁時間軸再見到他們的嘟文,請取消跟隨。", "search.placeholder": "搜尋", "search_popout.search_format": "進階搜尋格式", "search_popout.tips.full_text": "輸入簡單的文字,搜尋由您撰寫、最愛、轉嘟或提您的嘟文,以及與關鍵詞匹配的使用者名稱、帳戶顯示名稱和主題標籤。", @@ -472,7 +472,7 @@ "status.reblog_private": "轉嘟給原有關注者", "status.reblogged_by": "{name} 轉嘟了", "status.reblogs.empty": "還沒有人轉嘟過這則嘟文。當有人轉嘟時,它將於此顯示。", - "status.redraft": "刪除 & 編輯", + "status.redraft": "刪除並重新編輯", "status.remove_bookmark": "移除書籤", "status.reply": "回覆", "status.replyAll": "回覆討論串", @@ -494,9 +494,9 @@ "tabs_bar.local_timeline": "本機", "tabs_bar.notifications": "通知", "tabs_bar.search": "搜尋", - "time_remaining.days": "剩餘{number, plural, one {# 天} other {# 天}}", - "time_remaining.hours": "剩餘{number, plural, one {# 小時} other {# 小時}}", - "time_remaining.minutes": "剩餘{number, plural, one {# 分鐘} other {# 分鐘}}", + "time_remaining.days": "剩餘 {number, plural, one {# 天} other {# 天}}", + "time_remaining.hours": "剩餘 {number, plural, one {# 小時} other {# 小時}}", + "time_remaining.minutes": "剩餘 {number, plural, one {# 分鐘} other {# 分鐘}}", "time_remaining.moments": "剩餘時間", "time_remaining.seconds": "剩餘 {number, plural, one {# 秒} other {# 秒}}", "timeline_hint.remote_resource_not_displayed": "不會顯示來自其他伺服器的 {resource}", @@ -515,10 +515,11 @@ "upload_error.poll": "不允許在投票中上傳檔案。", "upload_form.audio_description": "描述內容給聽障人士", "upload_form.description": "為視障人士增加文字說明", + "upload_form.description_missing": "No description added", "upload_form.edit": "編輯", "upload_form.thumbnail": "更改預覽圖", "upload_form.undo": "刪除", - "upload_form.video_description": "描述給聽障或視障人士", + "upload_form.video_description": "描述內容給聽障或視障人士", "upload_modal.analyzing_picture": "正在分析圖片…", "upload_modal.apply": "套用", "upload_modal.applying": "正在套用⋯⋯", diff --git a/config/locales/ar.yml b/config/locales/ar.yml index ba66c5749..e6f59971e 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -209,7 +209,6 @@ ar: security_measures: only_password: كلمة المرور فقط password_and_2fa: كلمة المرور و 2FA - password_and_sign_in_token: كلمة المرور ورمز البريد الإلكتروني sensitive: حساس sensitized: مُعَين كمنشور حساس shared_inbox_url: رابط الصندوق المُشترَك للبريد الوارد @@ -460,10 +459,22 @@ ar: title: اقتراحات المتابعة unsuppress: إستعادة إقتراحات المتابعة instances: + availability: + title: التوفر back_to_all: الكل back_to_limited: محدود back_to_warning: تحذير by_domain: النطاق + content_policies: + comment: ملاحظة داخلية + policies: + reject_media: رفض الوسائط + reject_reports: رفض الشكاوى + policy: القواعد + reason: السبب العلني + title: سياسات المحتوى + dashboard: + instance_languages_dimension: اللغات الأكثر استخدامًا delivery: all: الكل clear: مسح أخطاء التسليم @@ -556,6 +567,7 @@ ar: forwarded: أُعيد توجيهه forwarded_to: أُعيد توجيهه إلى %{domain} mark_as_resolved: اعتبار الشكوى كمحلولة + mark_as_sensitive: تعيينه كمنشور حساس mark_as_unresolved: علم كغير محلولة no_one_assigned: لا أحد notes: @@ -721,6 +733,12 @@ ar: preview_card_providers: title: الناشرون rejected: مرفوض + statuses: + allow: السماح بالمنشور + allow_account: السماح للناشر + disallow: رفض المنشور + disallow_account: رفض الناشر + title: المنشورات المتداولة tags: current_score: التقييم الحالي %{score} dashboard: @@ -764,6 +782,8 @@ ar: body_remote: أبلغ شخص ما من %{domain} عن %{target} subject: تقرير جديد ل%{instance} (#%{id}) new_trends: + new_trending_links: + title: الروابط المتداولة new_trending_statuses: title: المنشورات الشائعة new_trending_tags: @@ -841,6 +861,7 @@ ar: status: account_status: حالة الحساب confirming: في انتظار اكتمال تأكيد البريد الإلكتروني. + functional: حسابك يعمل بشكل كامل. pending: إن طلبك قيد المراجعة من قبل فريقنا. قد يستغرق هذا بعض الوقت. سوف تتلقى بريدا إلكترونيا إذا تمت الموافقة على طلبك. redirecting_to: حسابك غير نشط لأنه تم تحويله حاليا إلى %{acct}. too_fast: تم إرسال النموذج بسرعة كبيرة، حاول مرة أخرى. @@ -1302,7 +1323,7 @@ ar: preferences: التفضيلات profile: الملف التعريفي relationships: المتابِعون والمتابَعون - statuses_cleanup: حذف المنشور الآلي + statuses_cleanup: الحذف الآلي للمنشورات two_factor_authentication: المُصادقة بخُطوَتَيْن webauthn_authentication: مفاتيح الأمان statuses: @@ -1339,6 +1360,7 @@ ar: other: 'يحتوي على وسوم غير مسموح بها: %{tags}' two: 'يحتوي على وسوم غير مسموح بها: %{tags}' zero: 'يحتوي على وسوم غير مسموح بها: %{tags}' + edited_at_html: عُدّل في %{date} errors: in_reply_not_found: إنّ المنشور الذي تحاول الرد عليه غير موجود على ما يبدو. open_in_web: افتح في الويب @@ -1405,7 +1427,7 @@ ar: '31556952': سنة واحدة '5259492': شهران '604800': أسبوع - '63113904': أسبوعان + '63113904': سنتان '7889238': 3 أشهر min_age_label: عتبة العمر min_favs: إبقاء المشاركات المفضلة أكثر من @@ -1414,7 +1436,7 @@ ar: min_reblogs_hint: لن تُحذف أي من منشوراتك التي أعيد مشاركتها أكثر من هذا العدد من المرات. اتركه فارغاً لحذف المنشورات بغض النظر عن عدد إعادات المشاركة stream_entries: pinned: منشور مثبّت - reblogged: رقّاه + reblogged: شارَكَه sensitive_content: محتوى حساس tags: does_not_match_previous_name: لا يطابق الإسم السابق @@ -1538,12 +1560,9 @@ ar: explanation: لقد قمت بطلب نسخة كاملة لحسابك على ماستدون. إنها متوفرة الآن للتنزيل! subject: نسخة بيانات حسابك جاهزة للتنزيل title: المغادرة بأرشيف الحساب - sign_in_token: - details: 'وفيما يلي تفاصيل المحاولة:' - explanation: 'اكتشفنا محاولة لتسجيل الدخول إلى حسابك من عنوان IP غير معروف. إذا كان هذا أنت ، يرجى إدخال رمز الأمان أدناه في صفحة تحدي تسجيل الدخول:' - further_actions: 'إذا لم يكن ذلك صادر منك، يرجى تغيير كلمتك السرية وتنشيط المصادقة الثنائية في حسابك. يمكنك القيام بذلك هنا:' - subject: الرجاء تأكيد محاولة الولوج - title: محاولة الولوج + suspicious_sign_in: + change_password: غيّر كلمتك السرية + subject: تم النفاذ عبر حسابك من خلال عنوان إيبي جديد warning: appeal: تقديم طعن appeal_description: إذا كنت تعتقد أن هذا خطأ، يمكنك تقديم طعن إلى فريق %{instance}. @@ -1554,6 +1573,7 @@ ar: sensitive: من الآن فصاعدا، سيتم وضع علامة على جميع ملفات الوسائط التي يتم تحميلها على أنها حساسة وستكون مخفية خلف تحذير يُنقر. silence: لا يزال بإمكانك استخدام حسابك ولكن فقط الأشخاص الذين يتابعونك فقط يمكنهم رؤية منشوراتك على هذا الخادم، وقد يتم استبعادك من ميزات الاكتشاف المختلفة. قد يتبعك آخرون على كل حال يدوياً. reason: 'السبب:' + statuses: 'المنشورات المذكورة:' subject: disable: تم تجميد حسابك %{acct} none: تحذير إلى %{acct} @@ -1586,13 +1606,10 @@ ar: title: أهلاً بك، %{name}! users: follow_limit_reached: لا يمكنك متابعة أكثر مِن %{limit} أشخاص - generic_access_help_html: صادفت مشكلة في الوصول إلى حسابك؟ اتصل بـ %{email} للحصول على المساعدة invalid_otp_token: رمز المصادقة بخطوتين غير صالح - invalid_sign_in_token: رمز الآمان غير صحيح otp_lost_help_html: إن فقدتَهُما ، يمكنك الاتصال بـ %{email} seamless_external_login: لقد قمت بتسجيل الدخول عبر خدمة خارجية، إنّ إعدادات الكلمة السرية و البريد الإلكتروني غير متوفرة. signed_in_as: 'تم تسجيل دخولك بصفة:' - suspicious_sign_in_confirmation: يبدو أنك لم تقم بتسجيل الدخول عبر هذا الجهاز من قبل، ولم تقم بتسجيل الدخول لفترة منذ مدة، لذلك نقوم بإرسال رمز الأمان إلى عنوان بريدك الإلكتروني للتأكد من أنه أنت من قام بالطلب. verification: explanation_html: 'يمكنك التحقق من نفسك كمالك لروابط البيانات التعريفية على صفحتك الشخصية. لذلك، يجب أن يحتوي الموقع المقترِن على رابط إلى صفحتك التعريفية الشخصية على ماستدون. الرابط الخلفي يجب أن يحتوي على رمز rel="me". محتوى النص في الرابط غير مهم. على سبيل المثال:' verification: التحقق diff --git a/config/locales/br.yml b/config/locales/br.yml index 618ea48b5..07e12a531 100644 --- a/config/locales/br.yml +++ b/config/locales/br.yml @@ -314,7 +314,6 @@ br: title: Degemer mat e bourzh, %{name}! users: signed_in_as: 'Aet-tre evel:' - suspicious_sign_in_confirmation: N'ez aec'h ket tre d'ho kont deus ar benveg-se araok, neuze eo kaset deoc'h ur c'hod surentez d'ho postel evit bezañ sur c'hwi eo. verification: explanation_html: 'Gallout a rit gwiriañ c''hwi a zo perc''henn. ez liammoù metadata ho profil. Ret eo d''al lec''hienn web staget enderc''hel ul liamm evit mont d''ho profil Mastodon. Ret eo d''al liamm-se enderc''hel un doarenn rel="me". Ne ra forzh an destenn a zo e-barzh al liamm. Setu ur skouer:' verification: Amprouadur diff --git a/config/locales/ca.yml b/config/locales/ca.yml index d7a8a4858..411c0137e 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -199,7 +199,6 @@ ca: security_measures: only_password: Només contrasenya password_and_2fa: Contrasenya i 2FA - password_and_sign_in_token: Contrasenya i token per correu sensitive: Sensible sensitized: marcar com a sensible shared_inbox_url: URL de la safata d'entrada compartida @@ -1633,12 +1632,13 @@ ca: explanation: Has sol·licitat una copia completa del teu compte Mastodon. Ara ja està a punt per a descàrrega! subject: El teu arxiu està preparat per a descàrrega title: Recollida del arxiu - sign_in_token: - details: 'Aquí es mostren els detalls del intent:' - explanation: 'Hem detectat un intent d’inici de sessió al teu compte des d’una IP desconeguda. Si ets tu, si us plau introdueix el codi de seguretat a sota, en la pàgina de desafiament d’inici de sessió:' - further_actions: 'Si no has estat tu, si us plau canvia la contrasenya i activa l’autenticació de dos factors del teu compte. Pots fer-ho aquí:' - subject: Si us plau confirma l’intent d’inici de sessió - title: Intent d’inici de sessió + suspicious_sign_in: + change_password: canvia la teva contrasenya + details: 'Aquí estan els detalls del inici de sessió:' + explanation: Hem detectat un inici de sessió del teu compte des d'una nova adreça IP. + further_actions_html: Si no has estat tu, recomanem que tu %{action} immediatament i activis l'autenticació de dos-factors per a mantenir el teu compte segur. + subject: El teu compte ha estat accedit des d'una nova adreça IP + title: Un nou inici de sessió warning: appeal: Trametre una apel·lació appeal_description: Si creus que això és un error pots emetre una apel·lació al equip de %{instance}. @@ -1689,13 +1689,10 @@ ca: title: Benvingut a bord, %{name}! users: follow_limit_reached: No pots seguir més de %{limit} persones - generic_access_help_html: Problemes accedint al teu compte? Pots contactar amb %{email} per a demanar assistència invalid_otp_token: El codi de dos factors no és correcte - invalid_sign_in_token: Codi de seguretat invàlid otp_lost_help_html: Si has perdut l'accés a tots dos pots contactar per %{email} seamless_external_login: Has iniciat sessió via un servei extern per tant els ajustos de contrasenya i correu electrònic no estan disponibles. signed_in_as: 'Sessió iniciada com a:' - suspicious_sign_in_confirmation: Aparentment no has iniciat sessió des d’aquest dispositiu abans i no ho has fet des de fa cert temps per tant t’enviarem un codi de seguretat al teu correu electrònic per a confirmar que ets tu. verification: explanation_html: 'Pots verificar-te com a propietari dels enllaços a les metadades del teu perfil. Per això, el lloc web enllaçat ha de contenir un enllaç al teu perfil de Mastodon. El vincle ha de tenir l''atribut rel="me". El contingut del text de l''enllaç no importa. Aquí tens un exemple:' verification: Verificació diff --git a/config/locales/ckb.yml b/config/locales/ckb.yml index c7b26e23e..80cbe678e 100644 --- a/config/locales/ckb.yml +++ b/config/locales/ckb.yml @@ -1148,12 +1148,6 @@ ckb: explanation: ئێوە وشانێکی پاڵپشتی تەواوت لە هەژمارەکەی خۆت داوا کردووە، ئەم پاڵپشتییە ئێستا ئامادەی بارکردنە! subject: ئارشیڤی ئێوە ئامادەی داگرتنە title: وەرگرتنی ئارشیڤ - sign_in_token: - details: 'وردەکاریی هەوڵەکان:' - explanation: 'هەوڵێک بۆ هاتنە نێو هەژمارەکەتان لە ناونیسانێکی ئای‌پی پەیداکرا. گەر خۆتانن. تێپەڕوشەی پاراستن بۆ پەڕەی بەرنگاری دابین بکە:' - further_actions: 'گەر ئێوە نیین تکایە تێپەڕوشە بگۆڕە وە لێرەوە پەسەند بوونی دوو قۆناغی لە سەر هەژمارەکەتان چالاک بکەن:' - subject: تکایە دڵنیابە لە هەوڵدان بۆ چوونە ژوورەوە - title: هەوڵدان بۆ چوونە ژوورەوە warning: subject: disable: هەژمارەکەت %{acct} بەستراوە @@ -1184,13 +1178,10 @@ ckb: title: بەخێربێیت، بەکارهێنەر %{name}! users: follow_limit_reached: ناتوانیت زیاتر لە %{limit} خەڵک پەیڕەو کەیت - generic_access_help_html: کێشەت هەیە لە گەیشتن بە هەژمارەکەت؟ دەتوانیت لەگەڵ %{email} بۆ یارمەتیدان پەیوەندی بگرن invalid_otp_token: کۆدی دوو-فاکتەر نادروستە - invalid_sign_in_token: کۆدی پاراستن دروست نیە otp_lost_help_html: گەر بەو دووڕێگا نەتوانی بچیتە ژوورەوە، لەوانەیە پەیوەندی بگری بە %{email} بۆ یارمەتی seamless_external_login: تۆ لە ڕێگەی خزمەتگوزاری دەرەکیەوە داخڵ بووی، بۆیە ڕێکبەندەکانی نهێنوشە و ئیمەیل بەردەست نین. signed_in_as: 'چوونە ژوورەوە وەک:' - suspicious_sign_in_confirmation: وادیارە تۆ پێشتر لەم ئامێرە نەچویتە ژوورەوە، و بۆ ماوەیەک نەچویتە ژوورەوە، بۆیە کۆدی پاراستن دەنێردرینە ناونیشانی ئیمەیڵەکەت بۆ دڵنیابوون لەوەی کە ئەوە تۆیت. verification: explanation_html: 'دەتوانیت خۆت بسەلمێنیت وەک خاوەنی لینکەکان لە مێتاداتای پرۆفایلەکەت. بۆ ئەمە، ماڵپەڕە لینککراوەکە پێویستە لینکێکی تێدا بێت بۆ پرۆفایلی ماستۆدۆنەکەت. بەستەری دەبێت هەبێت ="me". ناوەڕۆکی دەقی لینکەکە گرنگ نییە. ئەمە نموونەیەکە:' verification: ساغ کردنەوە diff --git a/config/locales/co.yml b/config/locales/co.yml index c09f4c24e..76ed69b0d 100644 --- a/config/locales/co.yml +++ b/config/locales/co.yml @@ -191,7 +191,6 @@ co: security_measures: only_password: Solu a chjave d'accessu password_and_2fa: Chjave d’accessu è A2F - password_and_sign_in_token: Chjave d’accessu è codice da l'e-mail sensitive: Sensibile sensitized: indicatu cum’è sensibile shared_inbox_url: URL di l’inbox spartuta @@ -1357,12 +1356,6 @@ co: explanation: Avete dumandatu un’archiviu cumpletu di u vostru contu Mastodon. Avà hè prontu per scaricà! subject: U vostru archiviu hè prontu à scaricà title: Archiviu prontu - sign_in_token: - details: 'Ditagli di u tentativu quì sottu:' - explanation: 'Avemu ditettatu un tentativu di cunnessione nant''à u vostru contu da un''indirizzu IP ch''ùn avemu micca ricunisciutu. S''ellu era voi, vi pricuremu d''entrà u codice di sicurità quì sottu nant''à a pagina di cunfirmazione di cunnessione:' - further_actions: 'S''ellu ùn era micca voi, duvete cambià a vostra chjave d''accessu è attivà l''identificazione à dui fattori nant''à u vostru contu. Pudete fà quessi quì:' - subject: Cunfirmate u tentativu di cunnessione - title: Tentativu di cunnessione warning: subject: disable: U vostru contu %{acct} hè statu ghjacciatu @@ -1393,13 +1386,10 @@ co: title: Benvenutu·a, %{name}! users: follow_limit_reached: Ùn pidete seguità più di %{limit} conti - generic_access_help_html: Prublemi d'accessu à u vostru contu? Pudete cuntattà %{email} per ottene aiutu invalid_otp_token: U codice d’identificazione ùn hè currettu - invalid_sign_in_token: Codice di sicurità micca validu otp_lost_help_html: S’è voi avete persu i dui, pudete cuntattà %{email} seamless_external_login: Site cunnettatu·a dapoi un serviziu esternu, allora i parametri di chjave d’accessu è d’indirizzu e-mail ùn so micca dispunibili. signed_in_as: 'Cunnettatu·a cum’è:' - suspicious_sign_in_confirmation: Ci pare ch'ùn vi site mai cunnettatu·a da quess'apparechju, è ùn vi site micca cunnettatu·a dapoi una stonda, allora vi mandemu un codice di sicurità à u vostr'indirizzu e-mail per cunfirmà chì site voi. verification: explanation_html: 'Pudete verificavi cum''è u pruprietariu di i ligami in i metadati di u vostru prufile. Per quessa, u vostru situ deve avè un ligame versu a vostra pagina Mastodon. U ligame deve avè un''attributu rel="me". U cuntenutu di u testu di u ligame ùn hè micca impurtante. Eccu un''esempiu:' verification: Verificazione diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 107aa9a0b..ec3cfef74 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -16,6 +16,7 @@ cs: contact: Kontakt contact_missing: Nenastaveno contact_unavailable: Neuvedeno + continue_to_web: Pokračovat do webové aplikace discover_users: Objevujte uživatele documentation: Dokumentace federation_hint_html: S účtem na serveru %{instance} můžete sledovat lidi na jakémkoliv ze serverů Mastodon a dalších službách. @@ -25,6 +26,8 @@ cs: Tento účet je virtuální aktér, který představuje server samotný, nikoliv účet jednotlivého uživatele. Používá se pro účely federace a nesmí být blokován, pokud nechcete blokovat celý server. V takovém případě použijte blokaci domény. learn_more: Zjistit více + logged_in_as_html: Aktuálně jste přihlášeni jako %{username}. + logout_before_registering: Již jste přihlášeni. privacy_policy: Zásady ochrany osobních údajů rules: Pravidla serveru rules_html: 'Níže je shrnutí pravidel, která musíte dodržovat, pokud chcete mít účet na tomto Mastodon serveru:' @@ -119,6 +122,7 @@ cs: confirm: Potvrdit confirmed: Potvrzeno confirming: Potvrzuji + custom: Vlastní delete: Smazat data deleted: Smazáno demote: Degradovat @@ -168,11 +172,12 @@ cs: not_subscribed: Neodebírá pending: Čeká na posouzení perform_full_suspension: Pozastavit + previous_strikes: Předchozí prohřešky previous_strikes_description_html: - few: Tento účet má %{count} strajky. - many: Tento účet má %{count} strajků. - one: Tento účet má jeden strajk. - other: Tento účet má %{count} strajků. + few: Tento účet má %{count} prohřešky. + many: Tento účet má %{count} prohřešků. + one: Tento účet má jeden prohřešek. + other: Tento účet má %{count} prohřešků. promote: Povýšit protocol: Protokol public: Veřejný @@ -196,7 +201,7 @@ cs: roles: admin: Administrátor moderator: Moderátor - staff: Člen personálu + staff: Personál user: Uživatel search: Hledat search_same_email_domain: Ostatní uživatelé se stejnou e-mailovou doménou @@ -204,7 +209,6 @@ cs: security_measures: only_password: Pouze heslo password_and_2fa: Heslo a 2FA - password_and_sign_in_token: Heslo a e-mailový token sensitive: Citlivý sensitized: označen jako citlivý shared_inbox_url: URL sdílené příchozí schránky @@ -214,7 +218,9 @@ cs: silence: Omezit silenced: Omezen statuses: Příspěvky + strikes: Předchozí prohřešky subscribe: Odebírat + suspend: Pozastavit suspended: Uživatel pozastaven suspension_irreversible: Data tohoto účtu byla nevratně smazána. Účet můžete obnovit, aby byl použitelný, ale nebudou obnovena žádná jeho dřívější data. suspension_reversible_hint_html: Účet byl pozastaven a jeho data budou kompletně smazána %{date}. Do té doby může být tento účet kompletně obnoven do původního stavu. Chcete-li smazat všechna data účtu ihned, můžete tak učinit níže. @@ -235,6 +241,7 @@ cs: whitelisted: Povoleno federovat action_logs: action_types: + approve_appeal: Schválit odvolání approve_user: Schválit uživatele assigned_to_self_report: Přiřadit hlášení change_email_user: Změnit uživateli e-mailovou adresu @@ -242,16 +249,16 @@ cs: create_account_warning: Vytvořit varování create_announcement: Nové oznámení create_custom_emoji: Vytvořit vlastní emoji - create_domain_allow: Povolit doménu - create_domain_block: Zablokovat doménu + create_domain_allow: Vytvořit povolení domény + create_domain_block: Vytvořit blokaci domény create_email_domain_block: Zablokovat e-mailovou doménu create_ip_block: Vytvořit IP pravidlo create_unavailable_domain: Vytvořit nedostupnou doménu demote_user: Snížit roli uživatele destroy_announcement: Odstranit oznámení destroy_custom_emoji: Odstranit vlastní emoji - destroy_domain_allow: Odstranit povolenou doménu - destroy_domain_block: Odstranit blokování domény + destroy_domain_allow: Odstranit povolení domény + destroy_domain_block: Odstranit blokaci domény destroy_email_domain_block: Smazat blokaci e-mailové domény destroy_instance: Odmazat doménu destroy_ip_block: Smazat IP pravidlo @@ -266,6 +273,7 @@ cs: enable_user: Povolit uživatele memorialize_account: Změna na „in memoriam“ promote_user: Povýšit uživatele + reject_appeal: Zamítnout odvolání reject_user: Odmítnout uživatele remove_avatar_user: Odstranit avatar reopen_report: Znovu otevřít hlášení @@ -284,11 +292,12 @@ cs: update_domain_block: Změnit blokaci domény update_status: Aktualizovat Příspěvek actions: + approve_appeal_html: Uživatel %{name} schválil odvolání proti rozhodnutí moderátora %{target} approve_user_html: "%{name} schválil registraci od %{target}" assigned_to_self_report_html: Uživatel %{name} si přidělil hlášení %{target} change_email_user_html: Uživatel %{name} změnil e-mailovou adresu uživatele %{target} confirm_user_html: Uživatel %{name} potvrdil e-mailovou adresu uživatele %{target} - create_account_warning_html: Uživatel %{name} poslal varování uživateli %{target} + create_account_warning_html: Uživatel %{name} poslal %{target} varování create_announcement_html: Uživatel %{name} vytvořil nové oznámení %{target} create_custom_emoji_html: Uživatel %{name} nahrál nové emoji %{target} create_domain_allow_html: Uživatel %{name} povolil federaci s doménou %{target} @@ -303,7 +312,7 @@ cs: destroy_domain_block_html: Uživatel %{name} odblokoval doménu %{target} destroy_email_domain_block_html: Uživatel %{name} odblokoval e-mailovou doménu %{target} destroy_instance_html: Uživatel %{name} odmazal doménu %{target} - destroy_ip_block_html: "%{name} odstranil pravidlo pro IP %{target}" + destroy_ip_block_html: Uživatel %{name} odstranil pravidlo pro IP %{target} destroy_status_html: Uživatel %{name} odstranil příspěvek uživatele %{target} destroy_unavailable_domain_html: "%{name} obnovil doručování na doménu %{target}" disable_2fa_user_html: Uživatel %{name} vypnul dvoufázové ověřování pro uživatele %{target} @@ -315,6 +324,7 @@ cs: enable_user_html: Uživatel %{name} povolil přihlašování pro uživatele %{target} memorialize_account_html: Uživatel %{name} změnil účet %{target} na „in memoriam“ stránku promote_user_html: Uživatel %{name} povýšil uživatele %{target} + reject_appeal_html: Uživatel %{name} zamítl odvolání proti rozhodnutí moderátora %{target} reject_user_html: "%{name} odmítl registraci od %{target}" remove_avatar_user_html: Uživatel %{name} odstranil avatar uživatele %{target} reopen_report_html: Uživatel %{name} znovu otevřel hlášení %{target} @@ -336,7 +346,7 @@ cs: empty: Nebyly nalezeny žádné záznamy. filter_by_action: Filtrovat podle akce filter_by_user: Filtrovat podle uživatele - title: Auditovací protokol + title: Protokol auditu announcements: destroyed_msg: Oznámení bylo úspěšně odstraněno! edit: @@ -393,6 +403,26 @@ cs: media_storage: Úložiště médií new_users: noví uživatelé opened_reports: podáno hlášení + pending_appeals_html: + few: "%{count} čekající odvolání" + many: "%{count} čekajících odvolání" + one: "%{count} čekající odvolání" + other: "%{count} čekajících odvolání" + pending_reports_html: + few: "%{count} čekající hlášení" + many: "%{count} čekajících hlášení" + one: "%{count} čekající hlášení" + other: "%{count} čekajících hlášení" + pending_tags_html: + few: "%{count} čekající hashtagy" + many: "%{count} čekajících hashtagů" + one: "%{count} čekající hashtag" + other: "%{count} čekajících hashtagů" + pending_users_html: + few: "%{count} čekající uživatelé" + many: "%{count} čekajících uživatelů" + one: "%{count} čekající uživatel" + other: "%{count} čekajících uživatelů" resolved_reports: vyřešeno hlášení software: Software sources: Zdroje registrací @@ -401,6 +431,10 @@ cs: top_languages: Nejaktivnější jazyky top_servers: Nejaktivnější servery website: Webová stránka + disputes: + appeals: + empty: Nenalazena žádná odvolání. + title: Odvolání domain_allows: add_new: Povolit federaci s doménou created_msg: S doménou byla úspěšně povolena federace @@ -409,9 +443,9 @@ cs: domain_blocks: add_new: Přidat novou blokaci domény created_msg: Blokace domény se právě vyřizuje - destroyed_msg: Blokace domény byla zrušena + destroyed_msg: Blokace domény byla vrácena domain: Doména - edit: Upravit doménovou blokaci + edit: Upravit blokaci domény existing_domain_block_html: Pro účet %{name} jste už nastavili přísnější omezení, nejprve jej odblokujte. new: create: Vytvořit blokaci @@ -432,16 +466,28 @@ cs: reject_media_hint: Odstraní lokálně uložené mediální soubory a odmítne jejich stahování v budoucnosti. Nepodstatné pro pozastavení reject_reports: Odmítat hlášení reject_reports_hint: Ignorovat všechna hlášení pocházející z této domény. Nepodstatné pro pozastavení - undo: Odvolat blokaci domény + undo: Vrátit blokaci domény view: Zobrazit blokaci domény email_domain_blocks: add_new: Přidat + attempts_over_week: + few: "%{count} pokusy o registraci za poslední týden" + many: "%{count} pokusů o registraci za poslední týden" + one: "%{count} pokus o registraci za poslední týden" + other: "%{count} pokusů o registraci za poslední týden" created_msg: E-mailová doména úspěšně zablokována delete: Smazat + dns: + types: + mx: MX záznam domain: Doména new: create: Přidat doménu + resolve: Přeložit doménu title: Blokovat novou e-mailovou doménu + no_email_domain_block_selected: Žádné blokace e-mailové domény nebyly změněny, protože nebyly žádné vybrány + resolved_dns_records_hint_html: Doménové jméno vede na následující MX domény, které mají nakonec na starost přijímání e-mailů. Blokování MX domény zablokuje registrace z jakékoliv e-mailové adresy, která používá stejnou MX doménu, i když je viditelné doménové jméno jiné. Dejte si pozor, abyste nezablokovali velké e-mailové poskytovatele. + resolved_through_html: Přeložena přes %{domain} title: Blokované e-mailové domény follow_recommendations: description_html: "Doporučená sledování pomáhají novým uživatelům rychle najít zajímavý obsah. Pokud uživatel neinteragoval s ostatními natolik, aby mu byla vytvořena doporučená sledování na míru, jsou použity tyto účty. Jsou přepočítávány na denní bázi ze směsi účtů s největším nedávným zapojením a nejvyšším počtem místních sledovatelů pro daný jazyk." @@ -453,12 +499,45 @@ cs: unsuppress: Obnovit doporučení sledování instances: availability: + description_html: + few: Pokud doručování na doménu selhává nepřerušeně ve %{count} různých dnech, nebudou činěny žádné další pokusy o doručení, dokud nedorazí doručení od domény. + many: Pokud doručování na doménu selhává nepřerušeně v %{count} různých dnech, nebudou činěny žádné další pokusy o doručení, dokud nedorazí doručení od domény. + one: Pokud doručování na doménu selhává nepřerušeně %{count} den, nebudou činěny žádné další pokusy o doručení, dokud nedorazí doručení od domény. + other: Pokud doručování na doménu selhává nepřerušeně v %{count} různých dnech, nebudou činěny žádné další pokusy o doručení, dokud nedorazí doručení od domény. + failure_threshold_reached: Prahu selhání dosaženo %{date}. + failures_recorded: + few: Neúspěšné pokusy ve %{count} různých dnech. + many: Neúspěšné pokusy ve %{count} různých dnech. + one: Neúspěšný pokus v %{count} dni. + other: Neúspěšné pokusy ve %{count} různých dnech. + no_failures_recorded: Žádné zaznamenané selhání. + title: Dostupnost warning: Poslední pokus o připojení k tomuto serveru byl neúspěšný back_to_all: Vše back_to_limited: Omezený back_to_warning: Varování by_domain: Doména confirm_purge: Jste si jisti, že chcete nevratně smazat data z této domény? + content_policies: + comment: Interní poznámka + description_html: Můžete definovat politiky obsahu, které budou aplikovány na všechny účty z této domény i jakoukoliv z jejích subdomén. + policies: + reject_media: Odmítat média + reject_reports: Odmítat hlášení + silence: Omezit + suspend: Pozastavit + policy: Politika + reason: Veřejný důvod + title: Politiky obsahu + dashboard: + instance_accounts_dimension: Nejsledovanější účty + instance_accounts_measure: uložené účty + instance_followers_measure: sledujících nás tam + instance_follows_measure: sledujících je tady + instance_languages_dimension: Nejčastější jazyky + instance_media_attachments_measure: uložené mediální přílohy + instance_reports_measure: hlášení o nich + instance_statuses_measure: uložené příspěvky delivery: all: Vše clear: Vymazat chyby doručení @@ -470,6 +549,11 @@ cs: delivery_error_hint: Není-li možné doručení po dobu %{count} dnů, bude automaticky označen za nedoručitelný. destroyed_msg: Data z %{domain} nyní čekají na smazání. empty: Nebyly nalezeny žádné domény. + known_accounts: + few: "%{count} známé účty" + many: "%{count} známých účtů" + one: "%{count} známý účet" + other: "%{count} známých účtů" moderation: all: Všechny limited: Omezený @@ -477,12 +561,14 @@ cs: private_comment: Soukromý komentář public_comment: Veřejný komentář purge: Odmazat + purge_description_html: Pokud se domníváte, že tato doména je offline už navždy, můžete ze svého úložiště smazat všechny záznamy účtů a přidružená data z této domény. To může chvíli trvat. title: Federace total_blocked_by_us: Blokované námi total_followed_by_them: Sledované jimi total_followed_by_us: Sledované námi total_reported: Hlášení o nich total_storage: Mediální přílohy + totals_time_period_hint_html: Níže zobrazené součty zahrnují data za celou dobu. invites: deactivate_all: Deaktivovat vše filter: @@ -527,6 +613,7 @@ cs: report_notes: created_msg: Poznámka o hlášení úspěšně vytvořena! destroyed_msg: Poznámka o hlášení úspěšně smazána! + today_at: Dnes v %{time} reports: account: notes: @@ -534,7 +621,17 @@ cs: many: "%{count} poznámek" one: "%{count} poznámka" other: "%{count} poznámek" + action_log: Protokol auditu action_taken_by: Akci vykonal uživatel + actions: + delete_description_html: Nahlášené příspěvky budou smazány a prohřešek zaznamenán pro pomoc s eskalací v případě budoucích porušení stejným účtem. + mark_as_sensitive_description_html: Média v nahlášených příspěvcích budou označena jako citlivá a bude zaznamenán prohřešek pro pomoc s eskalací v případě budoucích porušení stejným účtem. + other_description_html: Podívejte se na další možnosti kontroly chování účtu a přizpůsobte komunikaci k nahlášenému účtu. + resolve_description_html: Nebudou učiněny žádné kroky proti nahlášenému účtu, žádný prohřešek zaznamenán a hlášení bude uzavřeno. + silence_description_html: Profil bude viditelný pouze těm, kdo ho již sledují nebo jej ručně vyhledají, což značně omezí jeho dosah. Lze vždy vrátit zpět. + suspend_description_html: Profil a veškerý jeho obsah se stane nedostupným, dokud nebude časem smazán. Interakce s účtem nebude možná. Vratné do 30 dnů. + actions_description_html: Rozhodněte, který krok učinit pro vyřešení tohoto hlášení. Pokud podniknete kárný krok proti nahlášenému účtu, bude mu zasláno e-mailové oznámení, s výjimkou případu, kdy je zvolena kategorie Spam. + add_to_report: Přidat do hlášení další are_you_sure: Jste si jisti? assign_to_self: Přidělit ke mně assigned: Přiřazený moderátor @@ -545,10 +642,13 @@ cs: none: Žádné comment_description_html: 'Pro upřesnění uživatel %{name} napsal:' created_at: Nahlášené + delete_and_resolve: Smazat příspěvky forwarded: Přeposláno forwarded_to: Přeposláno na %{domain} mark_as_resolved: Označit jako vyřešené + mark_as_sensitive: Označit jako citlivé mark_as_unresolved: Označit jako nevyřešené + no_one_assigned: Nikdo notes: create: Přidat poznámku create_and_resolve: Vyřešit s poznámkou @@ -557,9 +657,10 @@ cs: placeholder: Popište, jaké akce byly vykonány, nebo jakékoliv jiné související aktuality… title: Poznámky notes_description_html: Zobrazit a zanechat poznámky pro ostatní moderátory i sebe v budoucnu + quick_actions_description_html: 'Proveďte rychlou akci nebo skrolujte dolů pro nahlášený obsah:' remote_user_placeholder: vzdálený uživatel z %{instance} reopen: Znovu otevřít hlášení - report: 'Nahlásit #%{id}' + report: 'Hlášení #%{id}' reported_account: Nahlášený účet reported_by: Nahlášeno uživatelem resolved: Vyřešeno @@ -573,6 +674,7 @@ cs: unassign: Odebrat unresolved: Nevyřešeno updated_at: Aktualizováno + view_profile: Zobrazit profil rules: add_new: Přidat pravidlo delete: Smazat @@ -599,7 +701,7 @@ cs: domain_blocks: all: Všem disabled: Nikomu - title: Zobrazit blokované domény + title: Zobrazit blokace domén users: Přihlášeným místním uživatelům domain_blocks_rationale: title: Zobrazit odůvodnění @@ -641,7 +743,7 @@ cs: desc_html: Je-li vypnuto, bude veřejná časová osa, na kterou odkazuje hlavní stránka serveru, omezena pouze na místní obsah title: Zahrnout federovaný obsah na neautentizované stránce veřejné časové osy show_staff_badge: - desc_html: Zobrazit na stránce uživatele odznak člena personálu + desc_html: Zobrazit na stránce uživatele odznak personálu title: Zobrazit odznak personálu site_description: desc_html: Úvodní odstavec v API. Popište, čím se tento server Mastodon odlišuje od ostatních, a cokoliv jiného, co je důležité. Můžete zde používat HTML značky, hlavně <a> a <em>. @@ -674,12 +776,27 @@ cs: destroyed_msg: Upload stránky byl úspěšně smazán! statuses: back_to_account: Zpět na stránku účtu + back_to_report: Zpět na stránku hlášení + batch: + remove_from_report: Odebrat z hlášení + report: Nahlásit deleted: Smazáno media: title: 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 + strikes: + actions: + delete_statuses: Uživatel %{name} smazal příspěvky %{target} + disable: Uživatel %{name} zmrazil účet %{target} + mark_statuses_as_sensitive: Uživatel %{name} označil příspěvky %{target} jako citlivé + none: Uživatel %{name} poslal %{target} varování + sensitive: Uživatel %{name} označil účet %{target} jako citlivý + silence: Uživatel %{name} omezil účet %{target} + suspend: Uživatel %{name} pozastavil účet %{target} + appeal_approved: Podáno odvolání + appeal_pending: Čekající odvolání system_checks: database_schema_check: message_html: Na spuštění čekají databázové migrace. Nechte je prosím proběhnout pro zajištění očekávaného chování aplikace @@ -704,16 +821,36 @@ cs: links: allow: Povolit odkaz allow_provider: Povolit vydavatele + description_html: Toto jsou odkazy, které jsou momentálně hojně sdíleny účty, jejichž příspěvky váš server vidí. To může pomoct vašim uživatelům zjistit, co se děje ve světě. Žádné odkazy se nezobrazují veřejně, dokud neschválíte vydavatele. Můžete také povolit nebo zamítnout jednotlivé odkazy. disallow: Zakázat odkaz disallow_provider: Zakázat vydavatele + shared_by_over_week: + few: Sdílený %{count} lidmi za poslední týden + many: Sdílený %{count} lidmi za poslední týden + one: Sdílený jedním člověkem za poslední týden + other: Sdílený %{count} lidmi za poslední týden title: Populární odkazy usage_comparison: Za dnešek %{today} sdílení, oproti %{yesterday} včera pending_review: Čeká na posouzení preview_card_providers: allowed: Odkazy z tohoto vydavatele se smí objevovat mezi populárními + description_html: Toto jsou domény, na které vedou odkazy často sdílené na vašem serveru. Odkazy se nezobrazí veřejně mezi populárními, pokud příslušné domény nebudou schváleny. Vaše schválení (nebo zamítnutí) se vztahuje i na subdomény. rejected: Odkazy z tohoto vydavatele se neobjeví mezi populárními title: Vydavatelé - rejected: Zamítnutí + rejected: Zamítnuté + statuses: + allow: Povolit příspěvek + allow_account: Povolit autora + description_html: Toto jsou příspěvky, o kterých váš server ví, že jsou momentálně hodně sdíleny a oblibovány. To může pomoci vašim novým i vracejícím se uživatelům najít další lidi ke sledování. Žádné příspěvky se nezobrazují veřejně, dokud neschválíte autora a tento autor nepovolí navrhování svého účtu ostatním. Můžete také povolit či zamítnout jednotlivé příspěvky. + disallow: Zakázat příspěvek + disallow_account: Zakázat autora + not_discoverable: Autor nepovolil navrhování svého účtu ostatním + shared_by: + few: "%{friendly_count} sdílení nebo oblíbení" + many: "%{friendly_count} sdílení nebo oblíbení" + one: Jednou sdílen nebo oblíben + other: "%{friendly_count} sdílení nebo oblíbení" + title: Populární příspěvky tags: current_score: Aktuální skóre %{score} dashboard: @@ -722,6 +859,7 @@ cs: tag_servers_dimension: Nejčastější servery tag_servers_measure: různých serverů tag_uses_measure: použití celkem + description_html: Toto jsou hashtagy, které se momentálně objevují v mnoha příspěvcích, které váš server vidí. To může pomoci vašim uživatelům zjistit, o čem lidé zrovna nejvíce mluví. Žádné hashtagy se nezobrazují veřejně, dokud je neschválíte. listable: Může být navrhován not_listable: Nebude navrhován not_trendable: Neobjeví se mezi populárními @@ -732,6 +870,11 @@ cs: trending_rank: 'Populární #%{rank}' usable: Může být používán usage_comparison: Za dnešek %{today} použití, oproti %{yesterday} včera + used_by_over_week: + few: Použit %{count} lidmi za poslední týden + many: Použit %{count} lidmi za poslední týden + one: Použit jedním člověkem za poslední týden + other: Použit %{count} lidmi za poslední týden title: Trendy warning_presets: add_new: Přidat nové @@ -740,6 +883,18 @@ cs: empty: Zatím jste nedefinovali žádné předlohy varování. title: Spravovat předlohy pro varování admin_mailer: + new_appeal: + actions: + delete_statuses: smazání jeho příspěvků + disable: zmrazení jeho účtu + mark_statuses_as_sensitive: označení jeho příspěvků jako citlivých + none: varování + sensitive: označení jeho účtu jako citlivého + silence: omezení jeho účtu + suspend: pozastavení jeho účtu + body: 'Uživatel %{target} se odvolává proti rozhodnutí moderátora %{action_taken_by} z %{date}, kterým bylo %{type}. Napsal:' + next_steps: Můžete schválit odvolání pro vrácení rozhodnutí moderátora, nebo to ignorovat. + subject: Uživatel %{username} se odvolává proti rozhodnutí moderátora na %{instance} new_pending_account: body: Detaily nového účtu jsou uvedeny níže. Tuto žádost můžete schválit nebo zamítnout. subject: Nový účet na serveru %{instance} čekající na posouzení (%{username}) @@ -747,6 +902,21 @@ cs: body: Uživatel %{reporter} nahlásil uživatele %{target} body_remote: Někdo z domény %{domain} nahlásil uživatele %{target} subject: Nové hlášení pro %{instance} (#%{id}) + new_trends: + body: 'Následující položky vyžadují posouzení, než mohou být zobrazeny veřejně:' + new_trending_links: + no_approved_links: Momentálně nejsou žádné schválené populární odkazy. + requirements: 'Kterýkoliv z těchto kandidátů by mohl předehnat schválený populární odkaz #%{rank}, kterým je momentálně "%{lowest_link_title}" se skóre %{lowest_link_score}.' + title: Populární odkazy + new_trending_statuses: + no_approved_statuses: Momentálně nejsou žádné schválené populární příspěvky. + requirements: 'Kterýkoliv z těchto kandidátů by mohl předehnat schválený populární příspěvek #%{rank}, kterým je momentálně %{lowest_status_url} se skóre %{lowest_status_score}.' + title: Populární příspěvky + new_trending_tags: + no_approved_tags: Momentálně nejsou žádné schválené populární hashtagy. + requirements: 'Kterýkoliv z těchto kandidátů by mohl předehnat schválený populární hashtag #%{rank}, kterým je momentálně #%{lowest_tag_name} se skóre %{lowest_tag_score}.' + title: Populární hashtagy + subject: Nové trendy k posouzení na %{instance} aliases: add_new: Vytvořit alias created_msg: Nový alias byl úspěšně vytvořen. Nyní můžete zahájit přesun ze starého účtu. @@ -820,8 +990,10 @@ cs: status: account_status: Stav účtu confirming: Čeká na dokončení potvrzení e-mailu. + functional: Váš účet je plně funkční. pending: Vaše žádost čeká na posouzení naším personálem. To může nějakou dobu trvat. Pokud bude váš požadavek schválen, obdržíte e-mail. redirecting_to: Váš účet je neaktivní, protože je právě přesměrován na účet %{acct}. + view_strikes: Zobrazit minulé prohřešky vašeho účtu too_fast: Formulář byl odeslán příliš rychle, zkuste to znovu. trouble_logging_in: Problémy s přihlášením? use_security_key: Použít bezpečnostní klíč @@ -885,6 +1057,34 @@ cs: directory: Adresář profilů explanation: Objevujte uživatele podle jejich zájmů explore_mastodon: Prozkoumejte %{title} + disputes: + strikes: + action_taken: Přijaté opatření + appeal: Odvolání + appeal_approved: Odvolání proti tomuto prohřešku bylo úspěšné a není tak už platný + appeal_rejected: Odvolání bylo zamítnuto + appeal_submitted_at: Odvolání podáno + appealed_msg: Vaše odvolání bylo podáno. Pokud bude schváleno, budete informováni. + appeals: + submit: Podat odvolání + associated_report: Přidružené hlášení + created_at: Datováno + description_html: Toto jsou kroky podniknuté proti vašemu účtu a varování, která vám byla poslána personálem %{instance}. + recipient: Adresováno + status: 'Příspěvek #%{id}' + status_removed: Příspěvek už byl ze systému odstraněn + title: "%{action} ze dne %{date}" + title_actions: + delete_statuses: Odstranění příspěvku + disable: Zmrazení účtu + mark_statuses_as_sensitive: Označení příspěvků jako citlivých + none: Varování + sensitive: Označení účtu jako citlivého + silence: Omezení účtu + suspend: Pozastavení účtu + your_appeal_approved: Vaše odvolání bylo schváleno + your_appeal_pending: Podali jste odvolání + your_appeal_rejected: Vaše odvolání bylo zamítnuto domain_validator: invalid_domain: není platné doménové jméno errors: @@ -916,10 +1116,10 @@ cs: blocks: Blokujete bookmarks: Záložky csv: CSV - domain_blocks: Blokování domén + domain_blocks: Doménové blokace lists: Seznamy mutes: Skrýváte - storage: Paměť médií + storage: Úložiště médií featured_tags: add_new: Přidat nový errors: @@ -1235,8 +1435,8 @@ cs: windows: Windows windows_mobile: Windows Mobile windows_phone: Windows Phone - revoke: Zrušit - revoke_success: Relace úspěšně zrušena + revoke: Odvolat + revoke_success: Relace úspěšně odvolána title: Relace view_authentication_history: Zobrazit historii přihlášení do vašeho účtu settings: @@ -1259,6 +1459,7 @@ cs: profile: Profil relationships: Sledovaní a sledující statuses_cleanup: Automatické mazání příspěvků + strikes: Moderační prohřešky two_factor_authentication: Dvoufázové ověřování webauthn_authentication: Bezpečnostní klíče statuses: @@ -1283,10 +1484,11 @@ cs: content_warning: 'Varování o obsahu: %{warning}' default_language: Stejný jako jazyk rozhraní disallowed_hashtags: - few: 'obsahoval nepovolené hashtagy: %{tags}' - many: 'obsahoval nepovolené hashtagy: %{tags}' - one: 'obsahoval nepovolený hashtag: %{tags}' - other: 'obsahoval nepovolené hashtagy: %{tags}' + few: 'obsahoval zakázané hashtagy: %{tags}' + many: 'obsahoval zakázané hashtagy: %{tags}' + one: 'obsahoval zakázaný hashtag: %{tags}' + other: 'obsahoval zakázané hashtagy: %{tags}' + edited_at_html: Upraven %{date} errors: in_reply_not_found: Příspěvek, na který se pokoušíte odpovědět, neexistuje. open_in_web: Otevřít na webu @@ -1349,7 +1551,7 @@ cs: '2629746': 1 měsíc '31556952': 1 rok '5259492': 2 měsíce - '604800': 1 week + '604800': 1 týden '63113904': 2 roky '7889238': 3 měsíce min_age_label: Hranice stáří @@ -1454,6 +1656,7 @@ cs: formats: default: "%d. %b %Y, %H:%M" month: "%b %Y" + time: "%H:%M" two_factor_authentication: add: Přidat disable: Vypnout 2FA @@ -1470,27 +1673,55 @@ cs: recovery_instructions_html: Ztratíte-li někdy přístup ke svému telefonu, můžete k získání přístupu k účtu použít jeden ze záložních kódů. Uchovejte tyto kódy v bezpečí. Můžete si je například vytisknout a uložit je mezi jiné důležité dokumenty. webauthn: Bezpečnostní klíče user_mailer: + appeal_approved: + action: Přejít do vašeho účtu + explanation: Odvolání proti prohřešku vašeho účtu ze dne %{strike_date}, které jste podali %{appeal_date}, bylo schváleno. Váš účet je opět v pořádku. + subject: Vaše odvolání ze dne %{date} bylo schváleno + title: Odvolání schváleno + appeal_rejected: + explanation: Odvolání proti prohřešku vašeho účtu ze dne %{strike_date}, které jste podali %{appeal_date}, bylo zamítnuto. + subject: Vaše odvolání z %{date} bylo zamítnuto + title: Odvolání zamítnuto backup_ready: explanation: Vyžádali jste si úplnou zálohu svého účtu Mastodon. Nyní je připravena ke stažení! subject: Váš archiv je připraven ke stažení title: Stažení archivu - sign_in_token: - details: 'Zde jsou podrobnosti pokusu:' - explanation: 'Zjistili jsme, že se někdo pokusil k vašemu přihlásit z neznámé IP adresy. Pokud jste to vy, zadejte níže uvedený kód na přihlašovací stránce s výzvou:' - further_actions: 'Pokud jste to nebyli vy, změňte prosím své heslo a zapněte si dvoufázově ověřování svého účtu. Můžete tak učinit hned tady:' - subject: Potvrďte prosím pokus o přihlášení - title: Pokus o přihlášení + suspicious_sign_in: + change_password: změnit vaše heslo + details: 'Tady jsou detaily přihášení:' + explanation: Detekovali jsme přihlášení do vašeho účtu z nové IP adresy. + further_actions_html: Pokud jste to nebyli vy, doporučujeme pro zabezpečení vašeho účtu okamžitě %{action} a zapnout dvoufázové ověřování. + subject: Váš účet byl použit z nové IP adresy + title: Nové přihlášení warning: + appeal: Podat odvolání + appeal_description: Pokud se domníváte, že se jedná o chybu, můžete podat odvolání personálu %{instance}. + categories: + spam: Spam + violation: Obsah porušuje následující zásady komunity explanation: delete_statuses: Bylo shledáno, že některé vaše příspěvky porušují jednu nebo více zásad komunity a následně byly odstraněny moderátory %{instance}. + disable: Nemůžete už používat svůj účet, ale váš profil a další data zůstávají nedotčeny. Můžete si vyžádat zálohu svých dat, měnit nastavení účtu nebo ho smazat. + mark_statuses_as_sensitive: Některé vaše příspěvky byly označeny jako citlivé moderátory %{instance}. To znamená, že pro zobrazení náhledu médií v příspěvcích na ně budou muset lidé nejprve kliknout. Média můžete při psaní budoucích příspěvků označit jako citlivá sami. + sensitive: Odteď budou všechny vámi nahrané mediální soubory označeny jako citlivé a skryté za proklikávacím varováním. + silence: Můžete nadále používat svůj účet, ale pouze lidé, kteří vás již sledovali, uvidí vaše příspěvky na tomto serveru a můžete být vynecháni z různých doporučovacích funkcí. Ostatní vás však stále mohou začít ručně sledovat. + suspend: Nemůžete už používat svůj účet a váš profil a ostatní data již nejsou dostupná. Stále se můžete přihlásit pro vyžádání zálohy svých dat, dokud nebudou za přibližně 30 dnů zcela smazána, ale ponecháme si některé základní údaje, abychom vám zabránili v obcházení pozastavení. + reason: 'Důvod:' + statuses: 'Předmětné příspěvky:' subject: + delete_statuses: Vaše příspěvky na %{acct} byly odstraněny disable: Váš účet %{acct} byl zmrazen + mark_statuses_as_sensitive: Vaše příspěvky pod %{acct} byly označeny jako citlivé none: Varování pro %{acct} + sensitive: Vaše příspěvky pod %{acct} budou od nynějška označeny jako citlivé silence: Váš účet %{acct} byl omezen suspend: Váš účet %{acct} byl pozastaven title: + delete_statuses: Příspěvky odstraněny disable: Účet zmrazen + mark_statuses_as_sensitive: Příspěvky označeny jako citlivé none: Varování + sensitive: Účet označen jako citlivý silence: Účet omezen suspend: Účet pozastaven welcome: @@ -1512,13 +1743,10 @@ cs: title: Vítejte na palubě, %{name}! users: follow_limit_reached: Nemůžete sledovat více než %{limit} lidí - generic_access_help_html: Máte potíže s přístupem ke svému účtu? Můžete nás kontaktovat pro pomoc na %{email} invalid_otp_token: Neplatný kód pro dvoufázové ověřování - invalid_sign_in_token: Neplatný bezpečnostní kód otp_lost_help_html: Pokud jste ztratili přístup k oběma, spojte se s %{email} seamless_external_login: Jste přihlášeni přes externí službu, nastavení hesla a e-mailu proto nejsou dostupná. signed_in_as: 'Přihlášeni jako:' - suspicious_sign_in_confirmation: Zdá se, že se z tohoto zařízení přihlašujete poprvé, proto pro ověření přihlášení na vaši e-mailovou adresu posíláme bezpečnostní kód. verification: explanation_html: 'Můžete se ověřit jako vlastník odkazů v metadatech profilu. Pro tento účel musí stránka v odkazu obsahovat odkaz zpět na váš profil na Mastodonu. Odkaz zpět musí mít atribut rel="me". Na textu odkazu nezáleží. Zde je příklad:' verification: Ověření diff --git a/config/locales/cy.yml b/config/locales/cy.yml index 15de9ac76..3d12d4098 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -1151,12 +1151,6 @@ cy: explanation: Fe wnaethoch chi gais am gopi wrth gefn llawn o'ch cyfrif Mastodon. Mae nawr yn barod i'w lawrlwytho! subject: Mae eich archif yn barod i'w lawrlwytho title: Allfudo archif - sign_in_token: - details: 'Dyma''r manylion o''r ceisiad:' - explanation: 'Wnaethom ni synhwyro ceisiad i fewngofnodi i''ch cyfrif o gyfeiriad IP anabyddiedig. Os mae hyn yn chi, mewnbynnwch y cod diogelwch isod i fewn i''r dudalen herio mewngofnodiad:' - further_actions: 'Os nad oedd hyn yn chi, newidwch eich cyfrinair ac alluogi awdurdodi dauffactor ar eich cyfrif. Gallwch gwneud hyn fama:' - subject: Cadarnhewch yr ymgais mewngofnodi - title: Ymgais mewngofnodi warning: subject: disable: Mae'ch cyfrif %{acct} wedi'i rewi @@ -1187,13 +1181,10 @@ cy: title: Croeso, %{name}! users: follow_limit_reached: Nid oes modd i chi ddilyn mwy na %{limit} o bobl - generic_access_help_html: Cael trafferth yn cyrchu eich cyfrif? Efallai hoffwch cysylltu â %{email} am gymorth invalid_otp_token: Côd dau-ffactor annilys - invalid_sign_in_token: Cod diogelwch annilys otp_lost_help_html: Os colloch chi fynediad i'r ddau, mae modd i chi gysylltu a %{email} seamless_external_login: Yr ydych wedi'ch mewngofnodi drwy wasanaeth allanol, felly nid yw gosodiadau cyfrinair ac e-bost ar gael. signed_in_as: 'Wedi mewngofnodi fel:' - suspicious_sign_in_confirmation: Mae'n edrych fel nad ydych wedi mewngofnodi o'r dyfais hyn o'r blaen, a nid ydych wedi mewngofnodi am sbel, felly rydym yn anfon cod diogelwch i'ch cyfeiriad ebost i gadarnhau bod chi yw hi. verification: explanation_html: 'Mae modd i chi ddilysu eich hun fel perchenog y dolenni yn metadata eich proffil. Rhaid i''r wefan a dolen iddi gynnwys dolen yn ôl i''ch proffil Mastodon. Rhaid i''r ddolen yn ôl gael nodwedd rel="fi". Nid oes ots beth yw cynnwys testun y ddolen. Dyma enghraifft:' verification: Dilysu diff --git a/config/locales/da.yml b/config/locales/da.yml index d3182ad7f..a0839d5d1 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -199,7 +199,6 @@ da: security_measures: only_password: Kun adgangskode password_and_2fa: Adgangskode og 2FA - password_and_sign_in_token: Adgangskode og e-mailtoken sensitive: Gennemtving sensitiv sensitized: Markeret som sensitiv shared_inbox_url: Delt indbakke-URL @@ -1549,12 +1548,11 @@ da: explanation: Den anmodede fulde sikkerhedskopi af din Mastodon-konto er nu klar til download! subject: Dit arkiv er klar til download title: Arkiv download - sign_in_token: - details: 'Her er nogle detaljer om forsøget:' - explanation: 'Der er registreret et forsøg på at logge ind på din konto fra en ukendt IP-adresse. Er dette er dig, så angiv nedenstående sikkerhedskode på log ind-bekræftelsessiden:' - further_actions: 'Var dette ikke dig, så ændr adgangskoden og aktivér tofaktorgodkendelse på din konto, hvilket kan gøres hér:' - subject: Bekræft indlogningsforsøg - title: Indlogningsforsøg + suspicious_sign_in: + change_password: skift din adgangskode + explanation: Indlogning på din konto fra en ny IP-adresse detekteret. + subject: Din konto er blevet tilgået fra en ny IP-adresse + title: Ny indlogning warning: appeal: Indgiv appel appeal_description: Mener du, at dette er en fejl, kan der indgives en appel til %{instance}-personalet. @@ -1605,13 +1603,10 @@ da: title: Velkommen ombord, %{name}! users: follow_limit_reached: Du kan maks. følge %{limit} personer - generic_access_help_html: Problemer med at tilgå din konto? Du kan kontakte %{email} for hjælp invalid_otp_token: Ugyldig tofaktorkode - invalid_sign_in_token: Ugyldig sikkerhedskode otp_lost_help_html: Har du mistet adgang til begge, kan du kontakte %{email} seamless_external_login: Du er logget ind via en ekstern tjeneste, så adgangskode- og e-mailindstillinger er utilgængelige. signed_in_as: 'Logget ind som:' - suspicious_sign_in_confirmation: Du lader ikke at have logget ind fra denne enhed før, og du har ikke logget ind i et stykke tid, så der sendes en sikkerhedskode til din e-mailadresse mhp. at bekræfte din identitet. verification: explanation_html: 'Du kan bekræfte dig selv som ejer af linkene i din profilmetadata. For at gøre det, skal det linkede websted indeholde et link pegende tilbage til din Mastodon-profil. Returlinket skal have en rel="mig"-attribut. Linkets tekstindhold betyder ikke noget. Her er et eksempel:' verification: Bekræftelse diff --git a/config/locales/de.yml b/config/locales/de.yml index 78ba2c440..b2875732f 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -196,7 +196,6 @@ de: security_measures: only_password: Nur Passwort password_and_2fa: Passwort und 2FA - password_and_sign_in_token: Passwort und E-Mail-Token sensitive: NSFW sensitized: Als NSFW markieren shared_inbox_url: Geteilte Posteingang-URL @@ -592,7 +591,7 @@ de: action_taken_by: Maßnahme ergriffen durch actions: delete_description_html: Der gemeldete Beitrag wird gelöscht und ein Strike wird aufgezeichnet, um dir bei zukünftigen Verstößen des gleichen Accounts zu helfen. - mark_as_sensitive_description_html: Der gemeldete Beitrag wird als NSFW markiert und ein Strike wird aufgezeichnet, um dir bei zukünftigen Verstößen des gleichen Accounts zu helfen. + mark_as_sensitive_description_html: The media in the reported posts will be marked as sensitive and a strike will be recorded to help you escalate on future infractions by the same account. other_description_html: Weitere Optionen zur Kontrolle des Kontoverhaltens und zur Anpassung der Kommunikation an das gemeldete Konto. resolve_description_html: Es wird keine Maßnahme gegen den gemeldeten Account ergriffen, es wird kein Strike verzeichnet und die Meldung wird geschlossen. silence_description_html: Das Profil wird nur für diejenigen sichtbar sein, die es bereits verfolgen oder manuell nachschlagen und die Reichweite wird stark begrenzt. Kann immer rückgängig gemacht werden. @@ -767,6 +766,11 @@ de: system_checks: database_schema_check: message_html: Es gibt ausstehende Datenbankmigrationen. Bitte führen Sie sie aus, um sicherzustellen, dass sich die Anwendung wie erwartet verhält + elasticsearch_running_check: + message_html: Verbindung mit Elasticsearch konnte nicht hergestellt werden. Bitte prüfe ob Elasticsearch läuft oder deaktiviere die Volltextsuche + elasticsearch_version_check: + message_html: 'Inkompatible Elasticsearch-Version: %{value}' + version_comparison: Elasticsearch %{running_version} läuft, aber %{required_version} wird benötigt rules_check: action: Serverregeln verwalten message_html: Sie haben keine Serverregeln definiert. @@ -1618,12 +1622,6 @@ de: explanation: Du hast ein vollständiges Backup von deinem Mastodon-Konto angefragt. Es kann jetzt heruntergeladen werden! subject: Dein Archiv ist bereit zum Download title: Archiv-Download - sign_in_token: - details: 'Hier sind die Details des Versuchs:' - explanation: 'Wir haben einen Versuch festgestellt, sich mit deinem Konto von einer nicht erkannten IP-Adresse anzumelden. Wenn du das bist, gib bitte den Sicherheitscode unten auf der Anmeldecode-Seite ein:' - further_actions: 'Wenn du das nicht warst, ändere bitte dein Passwort und aktiviere die Zwei-Faktor-Authentifizierung in deinem Konto. Du kannst das hier tun:' - subject: Bitte bestätige den Anmeldeversuch - title: Anmeldeversuch warning: appeal: Einspruch einsenden appeal_description: Wenn du glaubst, dass dies ein Fehler ist, kannst du einen Einspruch an die Mitarbeiter von %{instance} senden. @@ -1674,13 +1672,10 @@ de: title: Willkommen an Bord, %{name}! users: follow_limit_reached: Du kannst nicht mehr als %{limit} Leuten folgen - generic_access_help_html: Probleme beim Zugriff auf dein Konto? Du kannst dich mit %{email} in Verbindung setzen, um Hilfe zu erhalten invalid_otp_token: Ungültiger Zwei-Faktor-Authentisierungs-Code - invalid_sign_in_token: Ungültiger Sicherheitscode otp_lost_help_html: Wenn Du beides nicht mehr weißt, melde Dich bei uns unter der E-Mailadresse %{email} seamless_external_login: Du bist angemeldet über einen Drittanbieter-Dienst, weswegen Passwort- und E-Maileinstellungen nicht verfügbar sind. signed_in_as: 'Angemeldet als:' - suspicious_sign_in_confirmation: Du hast dich anscheinend seit einer ganzen Weile noch nicht von diesem Gerät eingeloggt, also senden wir einen Sicherheitscode an deine E-Mail-Adresse, um zu bestätigen, dass du es bist. verification: explanation_html: 'Du kannst bestätigen, dass die Links in deinen Profil-Metadaten dir gehören. Dafür muss die verlinkte Website einen Link zurück auf dein Mastodon-Profil enthalten. Dieser Link muss ein rel="me"-Attribut enthalten. Der Linktext ist dabei egal. Hier ist ein Beispiel:' verification: Verifizierung diff --git a/config/locales/doorkeeper.ar.yml b/config/locales/doorkeeper.ar.yml index d35253c3c..0bd196d16 100644 --- a/config/locales/doorkeeper.ar.yml +++ b/config/locales/doorkeeper.ar.yml @@ -119,6 +119,20 @@ ar: admin/all: جميع المهام الإدارية admin/reports: إدارة التقارير all: كل شيء + bookmarks: الفواصل المرجعية + conversations: المحادثات + crypto: التشفير من الطرف إلى نهاية الطرف + favourites: المفضلة + filters: عوامل التصفية + follow: العلاقات + follows: الإشتراكات + lists: القوائم + media: الوسائط المرفقة + notifications: الإشعارات + push: الإخطارات المدفوعة + reports: الشكاوى + search: البحث + statuses: المنشورات layouts: admin: nav: @@ -133,6 +147,7 @@ ar: admin:write: تعديل كافة البيانات على الخادم admin:write:accounts: اتخاذ إجراءات إشراف على الحسابات admin:write:reports: اتخاذ إجراءات إشراف على الإبلاغات + crypto: استخدم التشفير من الطرف إلى نهاية الطرف follow: تعديل علاقات الحساب push: تلقي إشعاراتك read: قراءة كافة بيانات حسابك diff --git a/config/locales/doorkeeper.cs.yml b/config/locales/doorkeeper.cs.yml index d47e1afac..5475114f6 100644 --- a/config/locales/doorkeeper.cs.yml +++ b/config/locales/doorkeeper.cs.yml @@ -60,22 +60,30 @@ cs: error: title: Vyskytla se chyba new: + prompt_html: "%{client_name} si přeje oprávnění pro přístup k vašemu účtu. Je to aplikace třetí strany. Pokud jí nedůvěřujete, pak byste ji neměli autorizovat." + review_permissions: Zkontrolujte oprávnění title: Je vyžadována autorizace show: title: Zkopírujte tento autorizační kód a vložte ho do aplikace. authorized_applications: buttons: - revoke: Zamítnout + revoke: Odvolat confirmations: revoke: Opravdu? index: + authorized_at: Autorizována %{date} + description_html: Toto jsou aplikace, které mohou přistupovat k vašemu účtu s použitím API. Pokud jsou zde aplikace, které nepoznáváte, nebo se aplikace nechová správně, můžete odvolat její přístup. + last_used_at: Naposledy použito %{date} + never_used: Nikdy nepoužito + scopes: Oprávnění + superapp: Interní title: Vaše autorizované aplikace errors: messages: access_denied: Vlastník zdroje či autorizační server žádost zamítl. credential_flow_not_configured: Proud Resource Owner Password Credentials selhal, protože Doorkeeper.configure.resource_owner_from_credentials nebylo nakonfigurováno. invalid_client: Ověření klienta selhalo kvůli neznámému klientovi, chybějící klientské autentizaci či nepodporované autentizační metodě. - invalid_grant: Poskytnuté oprávnění je neplatné, vypršela jeho platnost, bylo zamítnuto, neshoduje se s URI přesměrování použitým v požadavku o autorizaci, nebo bylo uděleno jinému klientu. + invalid_grant: Poskytnuté oprávnění je neplatné, vypršela jeho platnost, bylo odvoláno, neshoduje se s URI přesměrování použitým v požadavku o autorizaci, nebo bylo uděleno jinému klientu. invalid_redirect_uri: URI pro přesměrování není platné. invalid_request: missing_param: 'Chybí potřebný parametr: %{value}.' @@ -85,7 +93,7 @@ cs: invalid_scope: Požadovaný rozsah je neplatný, neznámý, nebo špatně formulovaný. invalid_token: expired: Přístupový token vypršel - revoked: Přístupový token byl zamítnut + revoked: Přístupový token byl odvolán unknown: Přístupový token je neplatný resource_owner_authenticator_not_configured: Nález Resource Owner selhal, protože Doorkeeper.configure.resource_owner_authenticator nebylo nakonfigurováno. server_error: Autorizační server se setkal s neočekávanou chybou, která mu zabránila ve vykonání požadavku. @@ -103,7 +111,34 @@ cs: notice: Aplikace aktualizována. authorized_applications: destroy: - notice: Aplikace zamítnuta. + notice: Aplikace odvolána. + grouped_scopes: + access: + read: Přístup pouze pro čtení + read/write: Přístup ke čtení a zápisu + write: Přístup pouze pro zápis + title: + accounts: Účty + admin/accounts: Správa účtů + admin/all: Všechny správcovské funkce + admin/reports: Správa hlášení + all: Všechno + blocks: Blokace + bookmarks: Záložky + conversations: Konverzace + crypto: End-to-end šifrování + favourites: Oblíbení + filters: Filtry + follow: Vztahy + follows: Sledovaní + lists: Seznamy + media: Mediální přílohy + mutes: Skrytí + notifications: Oznámení + push: Push oznámení + reports: Hlášení + search: Hledání + statuses: Příspěvky layouts: admin: nav: @@ -118,6 +153,7 @@ cs: admin:write: měnit všechna data na serveru admin:write:accounts: provádět moderátorské akce s účty admin:write:reports: provádět moderátorské akce s hlášeními + crypto: používat end-to-end šifrování follow: upravovat vztahy mezi profily push: přijímat vaše push oznámení read: vidět všechna data vašeho účtu @@ -137,6 +173,7 @@ cs: write:accounts: měnit váš profil write:blocks: blokovat účty a domény write:bookmarks: přidávat příspěvky do záložek + write:conversations: skrývat a mazat konverzace write:favourites: oblibovat si příspěvky write:filters: vytvářet filtry write:follows: sledovat lidi diff --git a/config/locales/doorkeeper.oc.yml b/config/locales/doorkeeper.oc.yml index 7160ee5ac..692ecc3b7 100644 --- a/config/locales/doorkeeper.oc.yml +++ b/config/locales/doorkeeper.oc.yml @@ -104,6 +104,15 @@ oc: authorized_applications: destroy: notice: Aplicacion revocada. + grouped_scopes: + title: + accounts: Comptes + bookmarks: Marcadors + filters: Filtres + lists: Listas + media: Fichièrs junts + notifications: Notificacions + search: Recercar layouts: admin: nav: diff --git a/config/locales/doorkeeper.vi.yml b/config/locales/doorkeeper.vi.yml index ecd5cfc4c..d2071a1b4 100644 --- a/config/locales/doorkeeper.vi.yml +++ b/config/locales/doorkeeper.vi.yml @@ -170,7 +170,7 @@ vi: read:search: thay mặt bạn tìm kiếm read:statuses: xem toàn bộ tút write: sửa đổi mọi dữ liệu tài khoản của bạn - write:accounts: sửa đổi trang cá nhân của bạn + write:accounts: sửa đổi trang hồ sơ của bạn write:blocks: chặn người dùng và máy chủ write:bookmarks: sửa đổi những thứ bạn lưu write:conversations: ẩn và xóa thảo luận diff --git a/config/locales/el.yml b/config/locales/el.yml index f14420306..0de3b705c 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -1247,12 +1247,6 @@ el: explanation: Είχες ζητήσει εφεδρικό αντίγραφο του λογαριασμού σου στο Mastodon. Είναι έτοιμο για κατέβασμα! subject: Το εφεδρικό αντίγραφό σου είναι έτοιμο για κατέβασμα title: Λήψη εφεδρικού αρχείου - sign_in_token: - details: 'Οι λεπτομέρειες της απόπειρας:' - explanation: 'Εντοπίσαμε απόπειρα εισόδου στο λογαριασμό σου από άγνωστη διεύθυνση IP. Άν έγινε από εσένα, παρακαλούμε αντέγραψε τον παρακάτω κωδικό ασφαλείας στη σελίδα εισόδου:' - further_actions: 'Αν δεν ήσουν εσύ, παρακαλούμε άλλαξε το κωδικό ασφαλείας σου και ενεργοποίησε τον έλεγχο δύο παραγόντων (2FA) στο λογαριασμό σου. Αυτό το κάνεις εδώ:' - subject: Παρακαλούμε επιβεβαίωσε την απόπειρα εισόδου - title: Απόπειρα εισόδου warning: categories: spam: Ανεπιθύμητο @@ -1286,13 +1280,10 @@ el: title: Καλώς όρισες, %{name}! users: follow_limit_reached: Δεν μπορείς να ακολουθήσεις περισσότερα από %{limit} άτομα - generic_access_help_html: Δυσκολεύεσαι να μπεις στο λογαριασμό σου; Μπορείς να επικοινωνήσεις στο %{email} για βοήθεια invalid_otp_token: Άκυρος κωδικός πιστοποίησης 2 παραγόντων (2FA) - invalid_sign_in_token: Άκυρος κωδικός ασφάλειας otp_lost_help_html: Αν χάσεις και τα δύο, μπορείς να επικοινωνήσεις με τον/την %{email} seamless_external_login: Επειδή έχεις συνδεθεί μέσω τρίτης υπηρεσίας, οι ρυθμίσεις συνθηματικού και email δεν είναι διαθέσιμες. signed_in_as: 'Έχεις συνδεθεί ως:' - suspicious_sign_in_confirmation: Φαίνεσαι να συνδέεσαι πρώτη φορά από αυτή τη συσκευή και δεν έχεις συνδεθεί εδώ και αρκετό καιρό. Για αυτό το λόγο σου στείλαμε έναν κωδικό ασφαλείας στο email σου για να σιγουρευτούμε πως είσαι όντως εσύ. verification: explanation_html: 'Μπορείς να πιστοποιήσεις τον εαυτό σου ως ιδιοκτήτη των συνδέσμων που εμφανίζεις στα μεταδεδομένα του προφίλ σου. Για να συμβεί αυτό, ο συνδεδεμένος ιστότοπος πρέπει να περιέχει ένα σύνδεσμο που να επιστρέφει προς το προφίλ σου στο Mastodon. Ο σύνδεσμος επιστροφής πρέπει περιέχει την ιδιότητα (attribute) rel="me". Το περιεχόμενο του κειμένου δεν έχει σημασία. Για παράδειγμα:' verification: Πιστοποίηση diff --git a/config/locales/eo.yml b/config/locales/eo.yml index f9cc35533..cc7484c9e 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -16,6 +16,7 @@ eo: contact: Kontakti contact_missing: Ne elektita contact_unavailable: Ne disponebla + continue_to_web: Daŭrigi al la retaplikaĵo discover_users: Malkovri uzantojn documentation: Dokumentado federation_hint_html: Per konto ĉe %{instance}, vi povos sekvi homojn ĉe iu ajn Mastodon nodo kaj preter. @@ -174,7 +175,6 @@ eo: security_measures: only_password: Nur pasvorto password_and_2fa: Pasvorto kaj 2FA - password_and_sign_in_token: Pasvorto kaj retpoŝta ĵetono sensitive: Tikla sensitized: markita tikla shared_inbox_url: URL de kunhavigita leterkesto @@ -199,7 +199,7 @@ eo: whitelisted: En la blanka listo action_logs: action_types: - approve_user: Aprobu Uzanton + approve_user: Aprobi Uzanton assigned_to_self_report: Atribui Raporton change_email_user: Ŝanĝi retadreson de uzanto confirm_user: Konfermi uzanto @@ -226,6 +226,7 @@ eo: enable_user: Ebligi uzanton memorialize_account: Memorigu Konton promote_user: Promocii Uzanton + reject_user: Malakcepti Uzanton remove_avatar_user: Forigi profilbildon reopen_report: Remalfermi signalon reset_password_user: Restarigi pasvorton @@ -234,6 +235,7 @@ eo: silence_account: Silentigi konton suspend_account: Haltigi konton unassigned_report: Malatribui Raporton + unblock_email_account: Malbloki retpoŝtadreson unsensitive_account: Malmarku la amaskomunikilojn en via konto kiel sentemaj unsilence_account: Malsilentigi konton unsuspend_account: Malhaltigi konton @@ -242,6 +244,7 @@ eo: update_domain_block: Ĝigdatigi domajnan blokadon update_status: Ĝisdatigi staton actions: + approve_user_html: "%{name} aprobis registriĝon de %{target}" assigned_to_self_report_html: "%{name} asignis signalon %{target} al si mem" change_email_user_html: "%{name} ŝanĝis retadreson de uzanto %{target}" confirm_user_html: "%{name} konfirmis retadreson de uzanto %{target}" @@ -267,8 +270,10 @@ eo: enable_user_html: "%{name} ebligis ensaluton por uzanto %{target}" memorialize_account_html: "%{name} ŝanĝis la konton de %{target} al memora paĝo" promote_user_html: "%{name} plirangigis uzanton %{target}" + reject_user_html: "%{name} malakceptis registriĝon de %{target}" remove_avatar_user_html: "%{name} forigis profilbildon de %{target}" reopen_report_html: "%{name} remalfermis signalon %{target}" + update_announcement_html: "%{name} ĝisdatigis anoncon %{target}" deleted_status: "(forigita mesaĝo)" empty: Neniu protokolo trovita. filter_by_action: Filtri per ago @@ -328,6 +333,8 @@ eo: interactions: interago media_storage: Aŭdvidaĵa memorilo new_users: novaj uzantoj + opened_reports: raportoj malfermitaj + resolved_reports: raportoj solvitaj software: Programo space: Memorspaca uzado title: Kontrolpanelo @@ -379,10 +386,22 @@ eo: suppressed: Subpremita title: Rekomendoj de sekvado instances: + availability: + title: Disponebleco back_to_all: Ĉiuj back_to_limited: Limigita back_to_warning: Averta by_domain: Domajno + content_policies: + policies: + reject_reports: Malakcepti raportojn + dashboard: + instance_accounts_dimension: Plej sekvataj kontoj + instance_accounts_measure: konservitaj kontoj + instance_followers_measure: niaj sekvantoj tie + instance_follows_measure: iliaj sekvantoj ĉi tie + instance_reports_measure: raportoj pri ili + instance_statuses_measure: konservitaj afiŝoj delivery: all: Ĉiuj delivery_available: Liverado disponeblas @@ -442,36 +461,44 @@ eo: report_notes: created_msg: Signala noto sukcese kreita! destroyed_msg: Signala noto sukcese forigita! + today_at: Hodiaŭ je %{time} reports: account: notes: one: "%{count} noto" other: "%{count} notoj" action_taken_by: Ago farita de + add_to_report: Aldoni pli al raporto are_you_sure: Ĉu vi certas? assign_to_self: Asigni al mi assigned: Asignita kontrolanto by_target_domain: Domajno de la signalita konto + category: Kategorio comment: none: Nenio created_at: Signalita + delete_and_resolve: Forigi afiŝojn forwarded: Plusendita forwarded_to: Plusendita al %{domain} mark_as_resolved: Marki solvita mark_as_unresolved: Marki nesolvita + no_one_assigned: Neniu notes: create: Aldoni noton create_and_resolve: Solvi per noto create_and_unresolve: Remalfermi per noto delete: Forigi placeholder: Priskribu faritajn agojn, aŭ ajnan novan informon pri tiu signalo… + title: Notoj reopen: Remalfermi signalon report: 'Signalo #%{id}' reported_account: Signalita konto reported_by: Signalita de resolved: Solvitaj resolved_msg: Signalo sukcese solvita! + skip_to_actions: Salti al agoj status: Mesaĝoj + statuses: Raportita enhavo title: Signaloj unassign: Malasigni unresolved: Nesolvitaj @@ -789,6 +816,7 @@ eo: delete: Forigi order_by: Ordigi de save_changes: Konservi ŝanĝojn + today: hodiaŭ validation_errors: one: Io mise okazis! Bonvolu konsulti la suban erar-raporton other: Io mise okazis! Bonvolu konsulti la subajn %{count} erar-raportojn @@ -1174,7 +1202,6 @@ eo: users: follow_limit_reached: Vi ne povas sekvi pli ol %{limit} homo(j) invalid_otp_token: Nevalida kodo de dufaktora aŭtentigo - invalid_sign_in_token: Nevalida sekureca kodo otp_lost_help_html: Se vi perdas aliron al ambaŭ, vi povas kontakti %{email} seamless_external_login: Vi estas ensalutinta per ekstera servo, do pasvortaj kaj retadresaj agordoj ne estas disponeblaj. signed_in_as: 'Salutinta kiel:' diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index 36b46eb47..bf2c71ba6 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -199,7 +199,6 @@ es-AR: security_measures: only_password: Sólo contraseña password_and_2fa: Contraseña y 2FA - password_and_sign_in_token: Contraseña y token por correo electrónico sensitive: Forzar como sensible sensitized: Marcado como sensible shared_inbox_url: Dirección web de la bandeja de entrada compartida @@ -598,7 +597,7 @@ es-AR: action_taken_by: Acción tomada por actions: delete_description_html: Los mensajes denunciados serán eliminados y se registrará un incumplimiento para ayudarte a escalar en futuras infracciones por la misma cuenta. - mark_as_sensitive_description_html: Los archivos de medios en los mensajes denunciados se marcarán como sensibles y se registrará un incumplimiento para ayudarte a escalar las futuras acciones de la misma cuenta. + mark_as_sensitive_description_html: Los archivos de medios en los mensajes denunciados se marcarán como sensibles y se registrará un incumplimiento para ayudarte a escalar las futuras infracciones de la misma cuenta. other_description_html: Ver más opciones para controlar el comportamiento de la cuenta y personalizar la comunicación de la cuenta denunciada. resolve_description_html: No se tomarán medidas contra la cuenta denunciada, no se registrará el incumplimiento, y se cerrará la denuncia. silence_description_html: El perfil será visible sólo para aquellos que ya sigan esta cuenta o que la busquen manualmente, limitando seriamente su alcance. Siempre puede ser revertido. @@ -1633,12 +1632,13 @@ es-AR: explanation: Solicitaste un resguardo completo de tu cuenta de Mastodon. ¡Ya está listo para descargar! subject: Tu archivo historial está listo para descargar title: Descargar archivo historial - sign_in_token: - details: 'Acá están los detalles del intento:' - explanation: 'Detectamos un intento de inicio de sesión en tu cuenta desde una dirección IP no reconocida. Si fuiste vos, por favor, ingresá el código de seguridad de abajo en la página del desafío:' - further_actions: 'Si no eras vos, por favor, cambiá tu contraseña y habilitá la autenticación de dos factores en tu cuenta. Podés hacerlo acá:' - subject: Por favor, confirmá el intento de inicio de sesión - title: Intento de inicio de sesión + suspicious_sign_in: + change_password: cambiés tu contraseña + details: 'Acá están los detalles del inicio de sesión:' + explanation: Detectamos un inicio de sesión de tu cuenta desde una nueva dirección IP. + further_actions_html: Si no fuiste vos, te recomendamos que %{action} inmediatamente y habilités la autenticación de dos factores para mantener tu cuenta segura. + subject: Se accedió a tu cuenta desde una nueva dirección IP + title: Un nuevo inicio de sesión warning: appeal: Enviar una apelación appeal_description: Si creés que esto es un error, podés enviar una apelación al equipo de %{instance}. @@ -1689,13 +1689,10 @@ es-AR: title: "¡Bienvenido a bordo, %{name}!" users: follow_limit_reached: No podés seguir a más de %{limit} cuentas - generic_access_help_html: "¿Tenés problemas para acceder a tu cuenta? Podés ponerte en contacto con %{email} para obtener ayuda" invalid_otp_token: Código de dos factores no válido - invalid_sign_in_token: Código de seguridad no válido otp_lost_help_html: Si perdiste al acceso a ambos, podés ponerte en contacto con %{email} seamless_external_login: Iniciaste sesión desde un servicio externo, así que la configuración de contraseña y correo electrónico no están disponibles. signed_in_as: 'Iniciaste sesión como:' - suspicious_sign_in_confirmation: Parece que no iniciaste sesión desde este dispositivo antes, y no iniciaste sesión durante un tiempo, así que te estamos enviando un código de seguridad a tu dirección de correo electrónico para confirmar que sos vos. verification: explanation_html: 'Podés verificarte a vos mismo como el propietario de los enlaces en los metadatos de tu perfil. Para eso, el sitio web del enlace debe contener un enlace de vuelta a tu perfil de Mastodon. El enlace en tu sitio debe tener un atributo rel="me". El contenido del texto del enlace no importa. Acá tenés un ejemplo:' verification: Verificación diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index 17af40f2c..9d0cf8cfe 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -165,6 +165,9 @@ es-MX: pending: Revisión pendiente perform_full_suspension: Suspender previous_strikes: Amonestaciones anteriores + previous_strikes_description_html: + one: Esta cuenta tiene una amonestación. + other: Esta cuenta tiene %{count} amonestaciones. promote: Promocionar protocol: Protocolo public: Público @@ -196,7 +199,6 @@ es-MX: security_measures: only_password: Sólo contraseña password_and_2fa: Contraseña y 2FA - password_and_sign_in_token: Contraseña y token de correo electrónico sensitive: Sensible sensitized: marcado como sensible shared_inbox_url: URL de bandeja compartida @@ -523,6 +525,9 @@ es-MX: delivery_error_hint: Si la entrega no es posible a lo largo de %{count} días, se marcará automáticamente como no entregable. destroyed_msg: Los datos de %{domain} están ahora en cola para su inminente eliminación. empty: No se encontraron dominios. + known_accounts: + one: "%{count} cuenta conocida" + other: "%{count} cuentas conocidas" moderation: all: Todos limited: Limitado @@ -592,7 +597,7 @@ es-MX: action_taken_by: Acción tomada por actions: delete_description_html: Los mensajes denunciados serán eliminados y se registrará una amonestación para ayudarte a escalar en futuras infracciones por la misma cuenta. - mark_as_sensitive_description_html: Los archivos multimedia en los mensajes informados se marcarán como sensibles y se aplicará una amonestación para ayudarte a escalar futuras acciones sobre la misma cuenta. + mark_as_sensitive_description_html: Los archivos multimedia en los mensajes informados se marcarán como sensibles y se aplicará una amonestación para ayudarte a escalar las futuras infracciones de la misma cuenta. other_description_html: Ver más opciones para controlar el comportamiento de la cuenta y personalizar la comunicación de la cuenta reportada. resolve_description_html: No se tomarán medidas contra la cuenta denunciada, no se registrará la amonestación, y se cerrará el informe. silence_description_html: El perfil será visible solo para aquellos que ya lo sigan o lo busquen manualmente, limitando seriamente su alcance. Siempre puede ser revertido. @@ -791,6 +796,9 @@ es-MX: description_html: Estos son enlaces que actualmente están siendo compartidos mucho por las cuentas desde las que tu servidor ve los mensajes. Pueden ayudar a tus usuarios a averiguar qué está pasando en el mundo. Ningún enlace se muestren públicamente hasta que autorice al dominio. También puede permitir o rechazar enlaces individuales. disallow: Rechazar enlace disallow_provider: Rechazar editor + shared_by_over_week: + one: Compartido por una persona durante la última semana + other: Compartido por %{count} personas durante la última semana title: Enlaces en tendencia usage_comparison: Compartido %{today} veces hoy, comparado a %{yesterday} ayer pending_review: Revisión pendiente @@ -830,6 +838,9 @@ es-MX: trending_rank: Tendencia n.º %{rank} usable: Pueden usarse usage_comparison: Usada %{today} veces hoy, comparado con %{yesterday} ayer + used_by_over_week: + one: Usada por una persona durante la última semana + other: Usada por %{count} personas durante la última semana title: Tendencias warning_presets: add_new: Añadir nuevo @@ -1621,12 +1632,6 @@ es-MX: explanation: Has solicitado una copia completa de tu cuenta de Mastodon. ¡Ya está preparada para descargar! subject: Tu archivo está preparado para descargar title: Descargar archivo - sign_in_token: - details: 'Aquí están los detalles del intento:' - explanation: 'Hemos detectado un intento de inicio de sesión en tu cuenta desde una dirección IP no reconocida. Si has sido tú, por favor ingresa el siguiente código de seguridad en la página del desafío:' - further_actions: 'Si no has sido tú, por favor cambia tu contraseña y habilita la autenticación de dos factores en tu cuenta. Puedes hacerlo aquí:' - subject: Por favor, confirma el intento de inicio de sesión - title: Intento de inicio de sesión warning: appeal: Enviar una apelación appeal_description: Si crees que esto es un error, puedes enviar una apelación al equipo de %{instance}. @@ -1677,13 +1682,10 @@ es-MX: title: Te damos la bienvenida a bordo, %{name}! users: follow_limit_reached: No puedes seguir a más de %{limit} personas - generic_access_help_html: "¿Tienes problemas para acceder a tu cuenta? Puedes ponerte en contacto con %{email} para conseguir ayuda" invalid_otp_token: Código de dos factores incorrecto - invalid_sign_in_token: Código de seguridad no válido otp_lost_help_html: Si perdiste al acceso a ambos, puedes ponerte en contancto con %{email} seamless_external_login: Has iniciado sesión desde un servicio externo, así que los ajustes de contraseña y correo no están disponibles. signed_in_as: 'Sesión iniciada como:' - suspicious_sign_in_confirmation: Parece que no has iniciado sesión desde este dispositivo antes, y no has iniciado sesión durante un tiempo, así que estamos enviando un código de seguridad a tu dirección de correo electrónico para confirmar que eres tú. verification: explanation_html: 'Puedes verificarte a ti mismo como el dueño de los links en los metadatos de tu perfil . Para eso, el sitio vinculado debe contener un vínculo a tu perfil de Mastodon. El vínculo en tu sitio debe tener un atributo rel="me". El texto del vínculo no importa. Aquí un ejemplo:' verification: Verificación diff --git a/config/locales/es.yml b/config/locales/es.yml index 2ac09ea44..391a2681c 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -199,7 +199,6 @@ es: security_measures: only_password: Sólo contraseña password_and_2fa: Contraseña y 2FA - password_and_sign_in_token: Contraseña y token de correo electrónico sensitive: Sensible sensitized: marcado como sensible shared_inbox_url: URL de bandeja compartida @@ -598,7 +597,7 @@ es: action_taken_by: Acción tomada por actions: delete_description_html: Los mensajes denunciados serán eliminados y se registrará una amonestación para ayudarte a escalar en futuras infracciones por la misma cuenta. - mark_as_sensitive_description_html: Los archivos multimedia en los mensajes informados se marcarán como sensibles y se aplicará una amonestación para ayudarte a escalar futuras acciones sobre la misma cuenta. + mark_as_sensitive_description_html: Los archivos multimedia en los mensajes informados se marcarán como sensibles y se aplicará una amonestación para ayudarte a escalar las futuras infracciones de la misma cuenta. other_description_html: Ver más opciones para controlar el comportamiento de la cuenta y personalizar la comunicación de la cuenta reportada. resolve_description_html: No se tomarán medidas contra la cuenta denunciada, no se registrará la amonestación, y se cerrará el informe. silence_description_html: El perfil será visible solo para aquellos que ya lo sigan o lo busquen manualmente, limitando seriamente su alcance. Siempre puede ser revertido. @@ -1633,12 +1632,13 @@ es: explanation: Has solicitado una copia completa de tu cuenta de Mastodon. ¡Ya está preparada para descargar! subject: Tu archivo está preparado para descargar title: Descargar archivo - sign_in_token: - details: 'Aquí están los detalles del intento:' - explanation: 'Hemos detectado un intento de inicio de sesión en tu cuenta desde una dirección IP no reconocida. Si has sido tú, por favor ingresa el siguiente código de seguridad en la página del desafío:' - further_actions: 'Si no has sido tú, por favor cambia tu contraseña y habilita la autenticación de dos factores en tu cuenta. Puedes hacerlo aquí:' - subject: Por favor, confirma el intento de inicio de sesión - title: Intento de inicio de sesión + suspicious_sign_in: + change_password: cambies tu contraseña + details: 'Aquí están los detalles del inicio de sesión:' + explanation: Hemos detectado un inicio de sesión en tu cuenta desde una nueva dirección IP. + further_actions_html: Si fuiste tú, te recomendamos que %{action} inmediatamente y habilites la autenticación de dos factores para mantener tu cuenta segura. + subject: Tu cuenta ha sido accedida desde una nueva dirección IP + title: Un nuevo inicio de sesión warning: appeal: Enviar una apelación appeal_description: Si crees que esto es un error, puedes enviar una apelación al equipo de %{instance}. @@ -1689,13 +1689,10 @@ es: title: Te damos la bienvenida a bordo, %{name}! users: follow_limit_reached: No puedes seguir a más de %{limit} personas - generic_access_help_html: "¿Tienes problemas para acceder a tu cuenta? Puedes ponerte en contacto con %{email} para conseguir ayuda" invalid_otp_token: Código de dos factores incorrecto - invalid_sign_in_token: Código de seguridad no válido otp_lost_help_html: Si perdiste al acceso a ambos, puedes ponerte en contancto con %{email} seamless_external_login: Has iniciado sesión desde un servicio externo, así que los ajustes de contraseña y correo no están disponibles. signed_in_as: 'Sesión iniciada como:' - suspicious_sign_in_confirmation: Parece que no has iniciado sesión desde este dispositivo antes, y no has iniciado sesión durante un tiempo, así que estamos enviando un código de seguridad a tu dirección de correo electrónico para confirmar que eres tú. verification: explanation_html: 'Puedes verificarte a ti mismo como el dueño de los links en los metadatos de tu perfil . Para eso, el sitio vinculado debe contener un vínculo a tu perfil de Mastodon. El vínculo en tu sitio debe tener un atributo rel="me". El texto del vínculo no importa. Aquí un ejemplo:' verification: Verificación diff --git a/config/locales/eu.yml b/config/locales/eu.yml index a41a77baf..18c52ee29 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -163,6 +163,9 @@ eu: pending: Berrikusketa egiteke perform_full_suspension: Kanporatu previous_strikes: Aurreko abisuak + previous_strikes_description_html: + one: Kontu honek abisu bat dauka. + other: Kontu honek %{count} abisu dauzka. promote: Sustatu protocol: Protokoloa public: Publikoa @@ -194,7 +197,6 @@ eu: security_measures: only_password: Soilik pasahitza password_and_2fa: Pasahitza eta 2FA - password_and_sign_in_token: Pasahitza eta e-posta tokena sensitive: Hunkigarria sensitized: hunkigarri gisa markatua shared_inbox_url: Partekatutako sarrera ontziaren URL-a @@ -457,9 +459,13 @@ eu: unsuppress: Berrezarri jarraitzeko gomendioa instances: availability: + description_html: + one: Domeinura entregatzeak arrakastarik gabe huts egiten badu egun %{count} igaro ondoren, ez da entregatzeko saiakera gehiago egingo, ez bada domeinu horretatik entregarik jasotzen. + other: Domeinura entregatzeak arrakastarik gabe huts egiten badu %{count} egun igaro ondoren, ez da entregatzeko saiakera gehiago egingo, ez bada domeinu horretatik entregarik jasotzen. failure_threshold_reached: Hutsegite atalasera iritsi da %{date} datan. no_failures_recorded: Ez dago hutsegiterik erregistroan. title: Egoera + warning: Zerbitzari honetara konektatzeko azken saiakerak huts egin du back_to_all: Guztiak back_to_limited: Mugatua back_to_warning: Abisua @@ -482,6 +488,9 @@ eu: instance_followers_measure: gure jarraitzaileak hemen instance_follows_measure: beren jarraitzaileak hemen instance_languages_dimension: Hizkuntza nagusiak + instance_media_attachments_measure: multimedia eranskin biltegiratuta + instance_reports_measure: txosten berari buruz + instance_statuses_measure: bidalketa gordeta delivery: all: Guztiak clear: Garbitu banaketa erroreak @@ -493,6 +502,9 @@ eu: delivery_error_hint: Banaketa ezin bada %{count} egunean egin, banaezin bezala markatuko da automatikoki. destroyed_msg: "%{domain} domeinuko datuak berehala ezabatzeko ilaran daude orain." empty: Ez da domeinurik aurkitu. + known_accounts: + one: Kontu ezagun %{count} + other: "%{count} kontu ezagun" moderation: all: Denak limited: Mugatua @@ -500,12 +512,14 @@ eu: private_comment: Iruzkin pribatua public_comment: Iruzkin publikoa purge: Ezabatu betiko + purge_description_html: Domeinu hau behin betiko lineaz kanpo dagoela uste baduzu, domeinuko kontu guztien erregistroak eta erlazionatutako datuak ezabatu ditzakezu biltegitik. Honek luze jo dezake. title: Federazioa total_blocked_by_us: Guk blokeatuta total_followed_by_them: Haiek jarraitua total_followed_by_us: Guk jarraitua total_reported: Heiei buruzko txostenak total_storage: Multimedia eranskinak + totals_time_period_hint_html: Behean bistaratutako guztizkoek datu guztiak hartzen dituzte barne. invites: deactivate_all: Desgaitu guztiak filter: @@ -559,7 +573,9 @@ eu: action_log: Auditoria-egunkaria action_taken_by: Neurrien hartzailea actions: + delete_description_html: Salatutako bidalketak ezabatuko dira eta abisu bat gordeko da, etorkizunean kontu berarekin elkarrekintzarik baduzu kontuan izan dezazun. other_description_html: Ikusi kontuaren portaera kontrolatzeko eta salatutako kontuarekin komunikazioa pertsonalizatzeko aukera gehiago. + resolve_description_html: Ez da neurririk hartuko salatutako kontuaren aurka, ez da abisurik gordeko eta salaketa itxiko da. silence_description_html: Profila dagoeneko jarraitzen dutenei edo eskuz bilatzen dutenei bakarrik agertuko zaie, bere irismena asko mugatuz. Beti bota daiteke atzera. suspend_description_html: Profila eta bere eduki guztiak iritsiezinak bihurtuko dira, ezabatzen den arte. Kontuarekin ezin da interakziorik eduki. Atzera bota daiteke 30 eguneko epean. actions_description_html: Erabaki txosten hau konpontzeko ze ekintza hartu. Salatutako kontuaren aurka zigor ekintza bat hartzen baduzu, eposta jakinarazpen bat bidaliko zaie, Spam kategoria hautatzean ezik. @@ -578,6 +594,7 @@ eu: forwarded: Birbidalia forwarded_to: 'Hona birbidalia: %{domain}' mark_as_resolved: Markatu konpondutako gisa + mark_as_sensitive: Markatu hunkigarri gisa mark_as_unresolved: Markatu konpondu gabeko gisa no_one_assigned: Inor ez notes: @@ -589,6 +606,7 @@ eu: title: Oharrak notes_description_html: Ikusi eta idatzi oharrak beste moderatzaileentzat eta zuretzat etorkizunerako quick_actions_description_html: 'Hartu ekintza azkar bat edo korritu behera salatutako edukia ikusteko:' + remote_user_placeholder: "%{instance} instantziako urruneko erabiltzailea" reopen: Berrireki salaketa report: 'Salaketa #%{id}' reported_account: Salatutako kontua @@ -720,10 +738,21 @@ eu: actions: delete_statuses: "%{name} erabiltzaileak %{target} erabiltzailearen bidalketak ezabatu ditu" disable: "%{name} erabiltzailea %{target} erabiltzailearen kontua izoztu du" + mark_statuses_as_sensitive: "%{name} erabiltzaileak %{target} erabiltzailearen bidalketak hunkigarri bezala markatu ditu" none: "%{name} erabiltzaileak abisua bidali dio %{target} erabiltzaileari" + sensitive: "%{name} erabiltzaileak %{target} erabiltzailearen kontua hunkigarri bezala markatu ditu" + silence: "%{name} erabiltzaileak %{target} kontua mugatu du" + suspend: "%{name} erabiltzaileak %{target} kontua kanporatu du" + appeal_approved: Apelatua + appeal_pending: Apelazioa zain system_checks: database_schema_check: message_html: Aplikatu gabeko datu-basearen migrazioak daude. Exekutatu aplikazioak esperotako portaera izan dezan + elasticsearch_running_check: + message_html: Ezin izan da Elasticsearch-era konektatu. Egiaztatu martxan dagoela edo desgaitu testu osoko bilaketa + elasticsearch_version_check: + message_html: 'Elasticsearch bertsio bateraezina: %{value}' + version_comparison: Elasticsearch %{running_version} exekutatzen ari da, baina %{required_version} behar da rules_check: action: Kudeatu zerbitzariaren arauak message_html: Ez duzu zerbitzariaren araurik definitu. @@ -740,8 +769,12 @@ eu: links: allow: Onartu esteka allow_provider: Onartu argitaratzailea + description_html: Esteka hauek zure zerbitzariak ikusten dituen kontuek asko zabaltzen ari diren estekak dira. Zure erabiltzaileei munduan ze berri den jakiteko lagungarriak izan daitezke. Ez da estekarik bistaratzen argitaratzaileak onartu arte. Esteka bakoitza onartu edo baztertu dezakezu. disallow: Ukatu esteka disallow_provider: Ukatu argitaratzailea + shared_by_over_week: + one: Pertsona batek partekatua azken astean + other: "%{count} pertsonak partekatua azken astean" title: Esteken joerak usage_comparison: "%{today} aldiz partekatua gaur, atzo %{yesterday} aldiz" pending_review: Berrikusketaren zain @@ -750,6 +783,11 @@ eu: rejected: Argitaratzaile honen estekek ezin dute joera izan title: Argitaratzaileak rejected: Ukatua + statuses: + allow: Onartu bidalketa + allow_account: Onartu egilea + disallow: Ez onartu bidalketa + disallow_account: Ez onartu egilea tags: current_score: Uneko emaitza%{score} dashboard: @@ -783,6 +821,11 @@ eu: body: "%{reporter}(e)k %{target} salatu du" body_remote: "%{domain} domeinuko norbaitek %{target} salatu du" subject: Salaketa berria %{instance} instantzian (#%{id}) + new_trends: + new_trending_links: + title: Esteken joerak + new_trending_tags: + title: Traolak joeran aliases: add_new: Sortu ezizena created_msg: Ongi sortu da ezizena. Orain kontu zaharretik migratzen hasi zaitezke. @@ -834,6 +877,7 @@ eu: invalid_reset_password_token: Pasahitza berrezartzeko token-a baliogabea da edo iraungitu du. Eskatu beste bat. link_to_otp: Erabili zure mugikorreko bi faktoreko kodea edo berreskuratze kode bat link_to_webauth: Erabili zure segurtasun gako gailua + log_in_with: 'Saioa hasi honekin:' login: Hasi saioa logout: Amaitu saioa migrate_account: Migratu beste kontu batera @@ -855,6 +899,7 @@ eu: status: account_status: Kontuaren egoera confirming: E-mail baieztapena osatu bitartean zain. + functional: Zure kontua guztiz erabilgarri dago. pending: Zure eskaera gainbegiratzeko dago oraindik. Honek denbora behar lezake. Zure eskaera onartzen bada e-mail bat jasoko duzu. redirecting_to: Zure kontua ez dago aktibo orain %{acct} kontura birbideratzen duelako. too_fast: Formularioa azkarregi bidali duzu, saiatu berriro. @@ -920,6 +965,12 @@ eu: directory: Profilen direktorioa explanation: Deskubritu erabiltzaileak interesen arabera explore_mastodon: Esploratu %{title} + disputes: + strikes: + appeal: Apelazioa + appeals: + submit: Bidali apelazioa + recipient: Honi zuzendua domain_validator: invalid_domain: ez da domeinu izen baliogarria errors: @@ -1479,12 +1530,6 @@ eu: explanation: Zure Mastodon kontuaren babes-kopia osoa eskatu duzu. Deskargatzeko prest dago! subject: Zure artxiboa deskargatzeko prest dago title: Artxiboa jasotzea - sign_in_token: - details: 'Hemen daude saiakeraren xehetasunak:' - explanation: 'IP helbide ezezagun batetik zure kontuan saioa hasteko saiakera bat detektatu dugu. Zu bazara, sartu beheko segurtasun kodea saioa hasteko erronkaren orrian:' - further_actions: 'Ez bazara zu, aldatu zure pasahitza eta gaitu bi faktoreko autentifikazioa zure kontuan. Hemen egin dezakezu:' - subject: Berretsi saioa hasteko saiakera - title: Saioa hasteko saiakera warning: subject: disable: Zure %{acct} kontua izoztu da @@ -1515,13 +1560,10 @@ eu: title: Ongi etorri, %{name}! users: follow_limit_reached: Ezin dituzu %{limit} pertsona baino gehiago jarraitu - generic_access_help_html: Arazoak dituzu zure kontura sartzeko? Jarri harremanetan %{email} helbidearekin laguntzarako invalid_otp_token: Bi faktoreetako kode baliogabea - invalid_sign_in_token: Segurtasun kode baliogabea otp_lost_help_html: 'Bietara sarbidea galdu baduzu, jarri kontaktuan hemen: %{email}' seamless_external_login: Kanpo zerbitzu baten bidez hasi duzu saioa, beraz pasahitza eta e-mail ezarpenak ez daude eskuragarri. signed_in_as: 'Saioa honela hasita:' - suspicious_sign_in_confirmation: Dirudienez inoiz ez duzu saioa hasi gailu honetatik eta aspaldian ez duzu saiorik hasi. Horregatik, segurtasun kode bat bidaliko dizugu zure e-posta helbidera zu zarela egiaztatzeko. verification: explanation_html: 'Ezin duzu zure burua zure profileko metadatuen esteken jabe gisa egiaztatu. Horretarako, estekatutako webgunean zure Mastodon profilera daraman esteka bat egon behar du. Mastodonera daraman esteka horrekderrigorrez rel="me" artibutua izan behar du . Estekaren testuak ez du axola. Hona adibide bat:' verification: Egiaztaketa diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 2379e63da..efd9904cd 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -196,7 +196,6 @@ fa: security_measures: only_password: فقط گذرواژه password_and_2fa: گذرواژه و ۲عاملی - password_and_sign_in_token: گذرواژه و ژتون رایانامه‌ای sensitive: حساس sensitized: علامت‌زده به عنوان حساس shared_inbox_url: نشانی صندوق ورودی مشترک @@ -1478,12 +1477,6 @@ fa: explanation: شما یک نسخهٔ پشتیبان کامل از حساب خود را درخواست کردید. این پشتیبان الان آمادهٔ بارگیری است! subject: بایگانی شما آمادهٔ دریافت است title: گرفتن بایگانی - sign_in_token: - details: 'جزییات تلاش‌ها:' - explanation: 'تلاشی برای ورود به حسابتان از یک نشانی آی‌پی ناشناخته کشف کردیم. اگر خودتان بودید، لطفاً رمز امنیتی زیر را در صفحهٔ چالش وارد کنید:' - further_actions: 'اگر خودتان نیودید، لطفاً گذرواژه‌تان را عوض کرده و از این‌جا تأیید هویت دو مرحله‌ای را روی حسابتان به کار بیندازید:' - subject: لطفاً تلاش برای ورود را تأیید کنید - title: تلاش برای ورود warning: appeal: فرستادن یک درخواست تجدیدنظر appeal_description: اگر فکر می‌کنید این یک خطا است، می‌توانید یک درخواست تجدیدنظر به کارکنان %{instance} ارسال کنید. @@ -1520,13 +1513,10 @@ fa: title: خوش آمدید، کاربر %{name}! users: follow_limit_reached: شما نمی‌توانید بیش از %{limit} نفر را پی بگیرید - generic_access_help_html: مشکل در دسترسی به حسابتان؟ می‌توانید برای کمک با %{email} تکاس بگیرید invalid_otp_token: کد ورود دومرحله‌ای نامعتبر است - invalid_sign_in_token: کد امنیتی نادرست otp_lost_help_html: اگر شما دسترسی به هیچ‌کدامشان ندارید، باید با ایمیل %{email} تماس بگیرید seamless_external_login: شما با یک سرویس خارج از مجموعه وارد شده‌اید، به همین دلیل تنظیمات ایمیل و رمز برای شما در دسترس نیست. signed_in_as: 'واردشده به نام:' - suspicious_sign_in_confirmation: به نظر می‌رسد پیش‌تر از این افزاره وارد نشده بودید و مدتی می‌شود که وارد نشده‌اید. داریم برای تأیید، یک رمز امنیتی به نشانی رایانامه‌تان می‌فرستیم. verification: explanation_html: 'شما می‌توانید خود را به عنوان مالک صفحه‌ای که در نمایه‌تان به آن پیوند داده‌اید تأیید کنید. برای این کار، صفحه‌ای که به آن پیوند داده‌اید، خودش باید پیوندی به نمایهٔ ماستودون شما داشته باشد. پیوند در آن صفحه باید عبارت rel="me"‎ را به عنوان مشخّصهٔ (attribute) در خود داشته باشد. محتوای متن پیوند اهمتی ندارد. یک نمونه از چنین پیوندی:' verification: تأیید diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 1cdaed6ef..2230b8705 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -196,7 +196,6 @@ fi: security_measures: only_password: Vain salasana password_and_2fa: Salasana ja kaksivaiheinen tunnistautuminen - password_and_sign_in_token: Salasana ja sähköpostitunnus sensitive: Pakotus arkaluontoiseksi sensitized: Merkitty arkaluontoiseksi shared_inbox_url: Jaetun saapuvan postilaatikon osoite @@ -558,7 +557,6 @@ fi: action_taken_by: Toimenpiteen tekijä actions: delete_description_html: Ilmoitetut viestit poistetaan ja kirjataan varoitus, joka auttaa sinua saman tilin tulevista rikkomuksista. - mark_as_sensitive_description_html: Ilmoitettujen viestien media merkitään arkaluonteisiksi ja varoitus tallennetaan, jotta voit lisätä saman tilin tulevia rikkomuksia. other_description_html: Katso lisää vaihtoehtoja tilin käytöksen hallitsemiseksi ja ilmoitetun tilin viestinnän mukauttamiseksi. resolve_description_html: Ilmoitettua tiliä vastaan ei ryhdytä toimenpiteisiin, varoitusta ei kirjata ja raportti suljetaan. silence_description_html: Profiili näkyy vain niille, jotka jo seuraavat sitä tai etsivät sen manuaalisesti, mikä rajoittaa merkittävästi kattavuutta. Se voidaan aina palauttaa. @@ -1500,12 +1498,6 @@ fi: explanation: Pyysit täydellistä varmuuskopiota Mastodon-tilistäsi. Voit nyt ladata sen! subject: Arkisto on valmiina ladattavaksi title: Arkiston tallennus - sign_in_token: - details: 'Tässä yrityksen yksityiskohtia:' - explanation: 'Tunnistimme sisäänkirjautumisyrityksen tunnistamattomasta IP-osoitteesta. Jos se olit sinä, syötä alla oleva turvakoodi sisäänkirjautumissivulle:' - further_actions: 'Jos tämä et ollut sinä, vaihda salasanasi ja ota käyttöön kaksivaiheinen todennus tililläsi. Voit tehdä sen täällä:' - subject: Ole hyvä ja vahvista sisäänkirjautumisyritys - title: Sisäänkirjautumisyritys warning: appeal: Lähetä valitus appeal_description: Jos uskot, että tämä on virhe, voit hakea muutosta henkilökunnalta %{instance}. @@ -1556,13 +1548,10 @@ fi: title: Tervetuloa mukaan, %{name}! users: follow_limit_reached: Et voi seurata yli %{limit} henkilöä - generic_access_help_html: Onko sinulla pääsy tiliisi? Voit ottaa yhteyttä %{email} saadaksesi apua invalid_otp_token: Virheellinen kaksivaiheisen todentamisen koodi - invalid_sign_in_token: Virheellinen turvakoodi otp_lost_help_html: Jos sinulla ei ole pääsyä kumpaankaan, voit ottaa yhteyttä osoitteeseen %{email} seamless_external_login: Olet kirjautunut ulkoisen palvelun kautta, joten salasana- ja sähköpostiasetukset eivät ole käytettävissä. signed_in_as: 'Kirjautunut henkilönä:' - suspicious_sign_in_confirmation: Et ilmeisesti ole kirjautunut sisään tältä laitteelta aikaisemmin, joten lähetämme sähköpostiisi turvakoodin vahvistaaksesi, että se olet sinä. verification: explanation_html: 'Voit vahvistaa itsesi profiilisi metatietojen linkkien omistajaksi.. Tätä varten linkitetyn verkkosivuston on sisällettävä linkki takaisin Mastodon -profiiliisi. Palauttavalla linkillä täytyy olla rel="minä" tuntomerkki. Linkin tekstisisällöllä ei ole väliä. Tässä on esimerkki:' verification: Vahvistus diff --git a/config/locales/fr.yml b/config/locales/fr.yml index bc1902cf8..e6e411e13 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -199,7 +199,6 @@ fr: security_measures: only_password: Mot de passe uniquement password_and_2fa: Mot de passe et 2FA - password_and_sign_in_token: Mot de passe et jeton par courriel sensitive: Sensible sensitized: marqué comme sensible shared_inbox_url: URL de la boite de réception partagée @@ -1630,12 +1629,11 @@ fr: explanation: Vous avez demandé une sauvegarde complète de votre compte Mastodon. Elle est maintenant prête à être téléchargée ! subject: Votre archive est prête à être téléchargée title: Récupération de l’archive - sign_in_token: - details: 'Voici les détails de la tentative :' - explanation: 'Nous avons détecté une tentative de connexion à votre compte à partir d’une adresse IP non reconnue. Si c’est vous, veuillez entrer le code de sécurité ci-dessous sur la page de négociation de connexion :' - further_actions: 'S’il ne s’agit pas de vous, veuillez changer votre mot de passe et activer l’authentification à deux facteurs sur votre compte. Vous pouvez le faire ici :' - subject: Veuillez confirmer la tentative de connexion - title: Tentative de connexion + suspicious_sign_in: + change_password: changer votre mot de passe + explanation: Nous avons détecté une connexion à votre compte à partir d’une nouvelle adresse IP. + further_actions_html: Si ce n’était pas vous, nous vous recommandons de %{action} immédiatement et d’activer l’authentification à deux facteurs afin de garder votre compte sécurisé. + title: Une nouvelle connexion warning: appeal: Faire appel appeal_description: Si vous pensez qu'il s'agit d'une erreur, vous pouvez faire appel auprès de l'équipe de %{instance}. @@ -1686,13 +1684,10 @@ fr: title: Bienvenue à bord, %{name} ! users: follow_limit_reached: Vous ne pouvez pas suivre plus de %{limit} personnes - generic_access_help_html: Rencontrez-vous des difficultés d’accès à votre compte ? Vous pouvez contacter %{email} pour obtenir de l’aide invalid_otp_token: Le code d’authentification à deux facteurs est invalide - invalid_sign_in_token: Code de sécurité non valide otp_lost_help_html: Si vous perdez accès aux deux, vous pouvez contacter %{email} seamless_external_login: Vous êtes connecté via un service externe, donc les paramètres concernant le mot de passe et le courriel ne sont pas disponibles. signed_in_as: 'Connecté·e en tant que :' - suspicious_sign_in_confirmation: Il semblerait que vous ne vous êtes pas connecté depuis cet appareil auparavant et que vous ne vous êtes pas connecté depuis un moment, alors nous envoyons un code de sécurité à votre adresse courriel pour confirmer qu’il s’agit bien de vous. verification: explanation_html: 'Vous pouvez vous vérifier en tant que propriétaire des liens dans les métadonnées de votre profil. Pour cela, le site web lié doit contenir un lien vers votre profil Mastodon. Le lien de retour doit avoir un attribut rel="me" . Le texte du lien n’a pas d’importance. Voici un exemple :' verification: Vérification diff --git a/config/locales/gd.yml b/config/locales/gd.yml index 0f6524fbd..a3874e42c 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -173,6 +173,11 @@ gd: pending: A’ feitheamh air lèirmheas perform_full_suspension: Cuir à rèim previous_strikes: Rabhaidhean roimhe + previous_strikes_description_html: + few: Fhuair an cunntas seo %{count} rabhaidhean. + one: Fhuair an cunntas seo %{count} rabhadh. + other: Fhuair an cunntas seo %{count} rabhadh. + two: Fhuair an cunntas seo %{count} rabhadh. promote: Àrdaich protocol: Pròtacal public: Poblach @@ -204,7 +209,6 @@ gd: security_measures: only_password: Facal-faire a-mhàin password_and_2fa: Facal-faire ’s dà-cheumnach - password_and_sign_in_token: Facal-faire ’s tòcan puist-d sensitive: Spàrr an fhrionasachd air sensitized: Chaidh comharradh gu bheil e frionasach shared_inbox_url: URL a’ bhogsa a-steach cho-roinnte @@ -545,6 +549,11 @@ gd: delivery_error_hint: Mura gabh a lìbhrigeadh fad %{count} là(ithean), thèid comharra a chur ris gu fèin-obrachail a dh’innseas nach gabh a lìbhrigeadh. destroyed_msg: Tha an dàta o %{domain} air ciutha an sguabaidh às aithghearr. empty: Cha deach àrainn a lorg. + known_accounts: + few: "%{count} cunntasan as aithne dhuinn" + one: "%{count} chunntas as aithne dhuinn" + other: "%{count} cunntas as aithne dhuinn" + two: "%{count} chunntas as aithne dhuinn" moderation: all: Na h-uile limited: Cuingichte @@ -616,7 +625,6 @@ gd: action_taken_by: Chaidh an gnìomh a ghabhail le actions: delete_description_html: Thèid na postaichean le gearan orra a sguabadh às agus rabhadh a chlàradh gus do chuideachadh ach am bi thu nas teinne le droch-ghiùlan on aon chunntas sam àm ri teachd. - mark_as_sensitive_description_html: Thèid comharra an fhrionasachd a chur ris na meadhanan sna postaichean le gearan orra agus rabhadh a chlàradh gus do chuideachadh ach am bi thu nas teinne le droch-ghiùlan on aon chunntas sam àm ri teachd. other_description_html: Seall barrachd roghainnean airson giùlan a’ chunntais a stiùireadh agus an conaltradh leis a’ chunntas a chaidh gearan a dhèanamh mu dhèidhinn a ghnàthachadh. resolve_description_html: Cha dèid gnìomh sam bith a ghabhail an aghaidh a’ chunntais le gearan air agus thèid an gearan a dhùnadh gun rabhadh a chlàradh. silence_description_html: Chan fhaic ach an fheadhainn a tha a’ leantainn oirre mu thràth no a lorgas a làimh i a’ phròifil seo agus cuingichidh seo uiread nan daoine a ruigeas i gu mòr. Gabhaidh seo a neo-dhèanamh uair sam bith. @@ -815,6 +823,11 @@ gd: description_html: Seo na ceanglaichean a tha ’gan co-roinneadh le iomadh cunntas on a chì am frithealaiche agad na postaichean. Faodaidh iad a bhith ’nan cuideachadh dhan luchd-cleachdaidh ach am faigh iad a-mach dè tha tachairt air an t-saoghal. Cha dèid ceanglaichean a shealltainn gu poblach gus an aontaich thu ris an fhoillsichear. ’S urrainn dhut ceanglaichean àraidh a cheadachadh no a dhiùltadh cuideachd. disallow: Na ceadaich an ceangal disallow_provider: Na ceadaich am foillsichear + shared_by_over_week: + few: Chaidh a cho-roinneadh le %{count} rè na seachdain seo chaidh + one: Chaidh a cho-roinneadh le %{count} rè na seachdain seo chaidh + other: Chaidh a cho-roinneadh le %{count} rè na seachdain seo chaidh + two: Chaidh a cho-roinneadh le %{count} rè na seachdain seo chaidh title: Ceanglaichean a’ treandadh usage_comparison: Chaidh a cho-roinneadh %{today} tura(i)s an-diugh an coimeas ri %{yesterday} an-dè pending_review: A’ feitheamh air lèirmheas @@ -856,6 +869,11 @@ gd: trending_rank: 'A’ treandadh #%{rank}' usable: Gabhaidh a chleachdadh usage_comparison: Chaidh a chleachdadh %{today} tura(i)s an-diugh an coimeas ri %{yesterday} an-dè + used_by_over_week: + few: Chaidh a chleachdadh le %{count} rè na seachdain seo chaidh + one: Chaidh a chleachdadh le %{count} rè na seachdain seo chaidh + other: Chaidh a chleachdadh le %{count} rè na seachdain seo chaidh + two: Chaidh a chleachdadh le %{count} rè na seachdain seo chaidh title: Treandaichean warning_presets: add_new: Cuir fear ùr ris @@ -1589,12 +1607,6 @@ gd: explanation: Dh’iarr thu lethbhreac-glèidhidh slàn dhen chunntas Mastodon agad. Tha e deis ri luchdadh a-nuas a-nis! subject: Tha an tasg-lann agad deis ri luchdadh a-nuas title: Tasg-lann dhut - sign_in_token: - details: 'Seo mion-fhiosrachadh mun oidhirp:' - explanation: 'Mhothaich sinn do dh’oidhirp clàraidh a-steach dhan chunntas agad o sheòladh IP nach aithne dhuinn. Mas e tusa a bh’ ann, cuir a-steach an còd tèarainteachd gu h-ìosal air duilleag dùbhlan a’ chlàraidh a-steach:' - further_actions: 'Mur e tusa a bh’ ann, atharraich am facal-faire agad agus cuir an comas an dearbhadh dà-cheumnach air a’ chunntas agad. ’S urrainn dhut sin a dhèanamh an-seo:' - subject: Dearbh an oidhirp air clàradh a-steach - title: Oidhirp clàraidh a-steach warning: appeal: Cuir ath-thagradh a-null appeal_description: Ma tha thu dhen bheachd gur e mearachd a th’ ann, ’s urrainn dhut ath-thagradh a chur a-null gun sgioba aig %{instance}. @@ -1645,13 +1657,10 @@ gd: title: Fàilte air bòrd, %{name}! users: follow_limit_reached: Chan urrainn dhut leantainn air còrr is %{limit} daoine - generic_access_help_html: A bheil trioblaid agad le inntrigeadh a’ chunntais agad? ’S urrainn dhut fios a chur gu %{email} airson taic invalid_otp_token: Còd dà-cheumnach mì-dhligheach - invalid_sign_in_token: Còd tèarainteachd mì-dhligheach otp_lost_help_html: Ma chaill thu an t-inntrigeadh dhan dà chuid diubh, ’s urrainn dhut fios a chur gu %{email} seamless_external_login: Rinn thu clàradh a-steach le seirbheis on taobh a-muigh, mar sin chan eil roghainnean an fhacail-fhaire ’s a’ phuist-d ri làimh dhut. signed_in_as: 'Chlàraich thu a-steach mar:' - suspicious_sign_in_confirmation: Tha coltas nach do rinn thu clàradh a-steach on uidheam seo cheana. Air an adhbhar sin, cuiridh sinn còd tèarainteachd dhan t-seòladh puist-d agad ach an dearbhamaid gur e tusa a th’ ann. verification: explanation_html: '’S urrainn dhut dearbhadh gur e seilbheadair nan ceanglaichean ann am meata-dàta na pròifil agad a th’ annad. Airson sin a dhèanamh, feumaidh ceangal air ais dhan phròifil Mastodon a bhith aig an làrach-lìn cheangailte. Feumaidh buadh rel="me" a bhith aig a’ cheangal air ais. Chan eil e gu diofar dè an t-susbaint a tha ann an teacsa a’ cheangail. Seo ball-eisimpleir dhut:' verification: Dearbhadh diff --git a/config/locales/gl.yml b/config/locales/gl.yml index e28d9e018..20db4c8b2 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -165,6 +165,9 @@ gl: pending: Revisión pendente perform_full_suspension: Suspender previous_strikes: Accións previas + previous_strikes_description_html: + one: Esta conta ten un aviso. + other: Esta conta ten %{count} avisos. promote: Promocionar protocol: Protocolo public: Público @@ -196,7 +199,6 @@ gl: security_measures: only_password: Só contrasinal password_and_2fa: Contrasinal e 2FA - password_and_sign_in_token: Contrasinal e token nun email sensitive: Forzar como sensible sensitized: Marcado como sensible shared_inbox_url: URL da caixa de entrada compartida @@ -523,6 +525,9 @@ gl: delivery_error_hint: Se non é posible a entrega durante %{count} días, será automáticamente marcado como non entregable. destroyed_msg: Os datos desde %{domain} están na cola para o borrado inminente. empty: Non se atopan dominios. + known_accounts: + one: "%{count} conta coñecida" + other: "%{count} contas coñecidas" moderation: all: Todo limited: Limitado @@ -592,7 +597,7 @@ gl: action_taken_by: Acción tomada por actions: delete_description_html: As publicacións denunciadas van ser eliminadas e gárdase un aviso para axudarche a xestionar futuras infraccións desta conta. - mark_as_sensitive_description_html: O multimedia das publicacións denunciadas vai ser marcado como sensible e apúntase un aviso para axudarche a facer seguimento das infraccións da mesma conta. + mark_as_sensitive_description_html: Os multimedia das publicacións denunciadas serán marcados como sensibles e engadirase un aviso para axudarche a xestionar futuras infraccións da mesma conta. other_description_html: Mira máis opcións para controlar o comportamento da conta e personalizar as comunicacións coa conta denunciada. resolve_description_html: Non se van tomar accións contra a conta denunciada, nin se gardan avisos, e a denuncia arquivada. silence_description_html: O perfil será visible só para quen xa o está a seguir ou quen o buscou manualmente, limitando moito o seu alcance. Pódese cambiar. @@ -791,6 +796,9 @@ gl: description_html: Estas son ligazóns que actualmente están sendo compartidas por moitas contas das que o teu servidor recibe publicación. Pode ser de utilidade para as túas usuarias para saber o que acontece polo mundo. Non se mostran ligazóns de xeito público a non ser que autorices a quen as publica. Tamén podes permitir ou rexeitar ligazóns de xeito individual. disallow: Denegar ligazón disallow_provider: Denegar orixe + shared_by_over_week: + one: Compartido por unha persoa na última semana + other: Compartido por %{count} persoas na última semana title: Ligazóns en voga usage_comparison: Compartido %{today} veces hoxe, comparado con %{yesterday} onte pending_review: Revisión pendente @@ -830,6 +838,9 @@ gl: trending_rank: 'En voga #%{rank}' usable: Pode ser usado usage_comparison: Utilizado %{today} veces hoxe, comparado coas %{yesterday} de onte + used_by_over_week: + one: Utilizado por unha persoa na última semana + other: Utilizado por %{count} persoas na última semana title: Tendencias warning_presets: add_new: Engadir novo @@ -1621,12 +1632,13 @@ gl: explanation: Solicitaches os datos completos da túa conta de Mastodon. Xa está preparados para descargar! subject: O teu ficheiro xa está preparado para descargar title: Leve o ficheiro - sign_in_token: - details: 'Detalles sobre o intento:' - explanation: 'Detectamos un intento de acceso coa túa conta desde un enderezo IP descoñecido. Se es ti, escribe o código de seguridade inferior na páxina de desafío de conexión:' - further_actions: 'Se non foches ti, cambia agora o contrasinal e activa o segundo factor de autenticación para a túa conta. Pódelo facer aquí:' - subject: Por favor confirma o intento de conexión - title: Intento de conexión + suspicious_sign_in: + change_password: cambia o teu contrasinal + details: 'Estos son os detalles do acceso:' + explanation: Detectamos que accedeches á conta desde un novo enderezo IP. + further_actions_html: Se non foches ti, recomendámosche %{action} inmediatamente e activa o segundo factor de autenticación para manter conta segura. + subject: Accedeuse á túa conta desde novos enderezos IP + title: Novo acceso warning: appeal: Enviar unha apelación appeal_description: Se cres que esto é un erro, podes enviar un recurso á administración de %{instance}. @@ -1677,13 +1689,10 @@ gl: title: Benvida, %{name}! users: follow_limit_reached: Non pode seguir a máis de %{limit} persoas - generic_access_help_html: Problemas para acceder a conta? Podes contactar con %{email} para obter axuda invalid_otp_token: O código do segundo factor non é válido - invalid_sign_in_token: Código de seguridade non válido otp_lost_help_html: Se perdes o acceso a ambos, podes contactar con %{email} seamless_external_login: Accedeches a través dun servizo externo, polo que os axustes de contrasinal e correo-e non están dispoñibles. signed_in_as: 'Rexistrada como:' - suspicious_sign_in_confirmation: Semella que non entraches antes usando este dispositivo, así que ímosche enviar un código de seguridade ao teu enderezo de email para confirmar que es ti. verification: explanation_html: 'Podes validarte a ti mesma como a dona das ligazóns nos metadatos do teu perfil. Para esto, o sitio web ligado debe conter unha ligazón de retorno ao perfil de Mastodon. Esta ligazón de retorno ten que ter un atributo rel="me". O texto da ligazón non importa. Aquí tes un exemplo:' verification: Validación diff --git a/config/locales/hr.yml b/config/locales/hr.yml index 2e6af8cda..dd3b99dcc 100644 --- a/config/locales/hr.yml +++ b/config/locales/hr.yml @@ -267,7 +267,6 @@ hr: tips: Savjeti users: invalid_otp_token: Nevažeći dvo-faktorski kôd - invalid_sign_in_token: Nevažeći sigurnosni kôd signed_in_as: 'Prijavljeni kao:' verification: verification: Verifikacija diff --git a/config/locales/hu.yml b/config/locales/hu.yml index abe5baf48..8872b8bbb 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -201,7 +201,6 @@ hu: security_measures: only_password: Csak jelszó password_and_2fa: Jelszó és kétlépcsős hitelesítés - password_and_sign_in_token: Jelszó és e-mail token sensitive: Kényes sensitized: kényesnek jelölve shared_inbox_url: Megosztott bejövő üzenetek URL @@ -1635,12 +1634,13 @@ hu: explanation: A Mastodon fiókod teljes mentését kérted. A mentés kész ás letölthető! subject: Az adataidról készült archív letöltésre kész title: Archiválás - sign_in_token: - details: 'Itt vannak a kísérlet részletei:' - explanation: 'Fiókodba történő belépési kísérletet fogtunk ismeretlen IP címről. Ha te vagy az, kérlek az alábbi biztonsági kódot írd be a bejelentkező oldal ezt kérő részén:' - further_actions: 'Ha nem te voltál, változtasd meg a jelszavadat és engedélyezd a két-faktoros azonosítást a fiókodban. Itt megteheted:' - subject: Erősítsd meg a megkísérelt belépést - title: Belépési kísérlet + suspicious_sign_in: + change_password: módosítsd a jelszavad + details: 'Itt vannak a bejelentkezés részletei:' + explanation: Egy új IP-címről történő bejelentkezést észleltünk. + further_actions_html: Ha nem te voltál, akkor azt javasoljuk, hogy azonnal %{action} és engedélyezd a kétlépcsős hitelesítést, hogy biztonságban tudd a fiókodat. + subject: A fiókodat egy új IP-címről érték el + title: Új bejelentkezés warning: appeal: Fellebbezés beküldése appeal_description: Ha azt gondolod, hogy ez hibás, beküldhetsz egy fellebbezést a(z) %{instance} szerver csapatának. @@ -1691,13 +1691,10 @@ hu: title: Üdv a fedélzeten, %{name}! users: follow_limit_reached: Nem követhetsz több, mint %{limit} embert - generic_access_help_html: Nem tudod elérni a fiókodat? Segítségért lépj kapcsolatba velünk ezen %{email} invalid_otp_token: Érvénytelen ellenőrző kód - invalid_sign_in_token: Érvénytelen biztonsági kód otp_lost_help_html: Ha mindkettőt elvesztetted, kérhetsz segítséget itt %{email} seamless_external_login: Külső szolgáltatáson keresztül jelentkeztél be, így a jelszó és e-mail beállítások nem elérhetőek. signed_in_as: Bejelentkezve mint - suspicious_sign_in_confirmation: Úgy tűnik, erről az eszközről még sosem léptél be és egy ideje már nem láttunk, ezért egy biztonsági kódot küldünk az email címedre, hogy megerősítsd, tényleg te vagy az. verification: explanation_html: 'A profilodon hitelesítheted magad, mint az itt található linkek tulajdonosa. Ehhez a linkelt weboldalnak tartalmaznia kell egy linket vissza a Mastodon profilodra. Ennek tartalmaznia kell a rel="me" attribútumot. A link szövege bármi lehet. Itt egy példa:' verification: Hitelesítés diff --git a/config/locales/hy.yml b/config/locales/hy.yml index e7d8bd414..50d2ec535 100644 --- a/config/locales/hy.yml +++ b/config/locales/hy.yml @@ -187,7 +187,6 @@ hy: security_measures: only_password: Միայն ծածկագիր password_and_2fa: Ծածկագիր եւ 2FA - password_and_sign_in_token: ծածկագիր եւ էլ. նամակով բանալի sensitive: Զգայուն sensitized: նշուեց որպէս դիւրազգաց shared_inbox_url: Ընդհանուր մուտքային URL @@ -1016,8 +1015,6 @@ hy: recovery_codes_regenerated: Վերականգման կոդերը հաջողութեամբ ստեղծուել են webauthn: Անվտանգութեան բանալիներ user_mailer: - sign_in_token: - title: Մուտքի փորձ warning: subject: disable: Քո %{acct} հաշիւը սառեցուել է @@ -1040,7 +1037,6 @@ hy: title: Բարի գալուստ նաւամատոյց, %{name} users: invalid_otp_token: Անվաւեր 2F կոդ - invalid_sign_in_token: Անվաւեր անվտանգութեան կոդ signed_in_as: Մոտք գործել որպէս․ verification: explanation_html: Պիտակների յղումների հեղինակութիւնը կարելի է վաւերացնել։ Անհրաժեշտ է որ յղուած կայքը պարունակի յետադարձ յղում ձեր մաստադոնի էջին, որը պէտք է ունենայ rel="me" նիշքը։ Յղման բովանդակութիւնը կարևոր չէ։ Օրինակ՝ diff --git a/config/locales/id.yml b/config/locales/id.yml index ccb71ebdd..a8aeaae34 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -192,7 +192,6 @@ id: security_measures: only_password: Hanya kata sandi password_and_2fa: Kata sandi dan 2FA - password_and_sign_in_token: Kata sandi dan token email sensitive: Sensitif sensitized: ditandai sebagai sensitif shared_inbox_url: URL kotak masuk bersama @@ -1604,12 +1603,6 @@ id: explanation: Cadangan penuh akun Mastodon Anda sudah dapat diunduh! subject: Arsip Anda sudah siap diunduh title: Ambil arsip - sign_in_token: - details: 'Ini dia rincian usaha masuk akun:' - explanation: 'Kami mendeteksi usaha masuk ke akun Anda dari alamat IP tak dikenal. Jika ini Anda, mohon masukkan kode keamanan di bawah pada halaman masuk:' - further_actions: 'Jika ini bukan Anda, mohon ganti kata sandi dan aktifkan autentikasi dua-faktor pada akun Anda. Anda bisa melakukannya di sini:' - subject: Harap konfirmasi usaha masuk akun - title: Usaha masuk akun warning: appeal: Ajukan banding appeal_description: Jika Anda yakin ini galat, Anda dapat mengajukan banding ke staf %{instance}. @@ -1660,13 +1653,10 @@ id: title: Selamat datang, %{name}! users: follow_limit_reached: Anda tidak dapat mengikuti lebih dari %{limit} orang - generic_access_help_html: Mengalami masalah saat akses akun? Anda mungkin perlu menghubungi %{email} untuk mencari bantuan invalid_otp_token: Kode dua faktor tidak cocok - invalid_sign_in_token: Kode keamanan tidak valid otp_lost_help_html: Jika Anda kehilangan akses keduanya, Anda dapat menghubungi %{email} seamless_external_login: Anda masuk via layanan eksternal, sehingga pengaturan kata sandi dan email tidak tersedia. signed_in_as: 'Masuk sebagai:' - suspicious_sign_in_confirmation: Anda terlihat belum pernah masuk dari perangkat ini, dan sudah lama Anda tidak masuk akun, sehingga kami mengirim kode keamanan ke alamat email Anda untuk mengonfirmasi bahwa ini adalah Anda. verification: explanation_html: 'Anda dapat memverifikasi diri Anda sebagai pemiliki tautan pada metadata profil. Situsweb yang ditautkan haruslah berisi tautan ke profil Mastodon Anda. Tautan tersebut harus memiliki atribut rel="me". Isi teks tautan tidaklah penting. Ini contohnya:' verification: Verifikasi diff --git a/config/locales/is.yml b/config/locales/is.yml index 910ae0b79..6b714c571 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -199,7 +199,6 @@ is: security_measures: only_password: Aðeins lykilorð password_and_2fa: Lykilorð og 2-þátta auðkenning - password_and_sign_in_token: Lykilorð og teikn í tölvupósti sensitive: Viðkvæmt sensitized: merkt sem viðkvæmt shared_inbox_url: Slóð á sameiginlegt innhólf @@ -1633,12 +1632,13 @@ is: explanation: Þú baðst um fullt öryggisafrit af Mastodon notandaaðgangnum þínum. Það er núna tilbúið til niðurhals! subject: Safnskráin þín er tilbúin til niðurhals title: Taka út í safnskrá - sign_in_token: - details: 'Hér eru nánari upplýsingar um atvikið:' - explanation: 'Við sjáum að reynt hefur verið að skrá sig inn á aðganginn þinn frá óþekktu IP-vistfangi. Ef það varst þú, skaltu setja inn öryggiskóðann neðst á staðfestingarsíðu innskráningar:' - further_actions: 'Ef þetta varst ekki þú, skaltu endilega skipta um lykilorð og virkja tveggja-þrepa auðkenningu fyrir aðganginn þinn. Þú getur gert það hér:' - subject: Endilega staðfestu tilraun til innskráningar - title: Tilraun til innskráningar + suspicious_sign_in: + change_password: breytir lykilorðinu þínu + details: 'Hér eru nánari upplýsingar um innskráninguna:' + explanation: Við greindum innskráningu inn á aðganginn þinn frá nýju IP-vistfangi. + further_actions_html: Ef þetta varst ekki þú, þá mælum við með að þú %{action} strax og virkjir tveggja-þátta auðkenningu til að halda aðgangnum þínum öruggum. + subject: Skráð hefur verið inn á aðganginn þinn frá nýju IP-vistfangi + title: Ný innskráning warning: appeal: Ssenda inn áfrýjun appeal_description: Ef þú álítur að um mistök sé að ræða, geturðu sent áfrýjun til umsjónarmanna %{instance}. @@ -1689,13 +1689,10 @@ is: title: Velkomin/n um borð, %{name}! users: follow_limit_reached: Þú getur ekki fylgst með fleiri en %{limit} aðilum - generic_access_help_html: Vandamál við að tengjast aðgangnum þínum? Þú getur sett þig í samband við %{email} til að fá aðstoð invalid_otp_token: Ógildur tveggja-þátta kóði - invalid_sign_in_token: Ógildur öryggiskóði otp_lost_help_html: Ef þú hefur misst aðganginn að hvoru tveggja, geturðu sett þig í samband við %{email} seamless_external_login: Innskráning þín er í gegnum utanaðkomandi þjónustu, þannig að stillingar fyrir lykilorð og tölvupóst eru ekki aðgengilegar. signed_in_as: 'Skráð inn sem:' - suspicious_sign_in_confirmation: Það virðist sem þú hafir ekki skráð þig inn af þessu tæki áður og að nokkur tími sé liðinn frá því þú hefur skráð þig inn, þannig að við erum að senda þér öryggiskóða á tölvupóstfangið þitt til að staðfesta að þetta sért þú. verification: explanation_html: 'Þú getur vottað að þú sért eigandi og ábyrgur fyrir tenglunum í lýsigögnum notandasniðsins þíns. Til að það virki, þurfa vefsvæðin sem vísað er í að innihalda tengil til baka í Mastodon-notandasniðið. Tengillinn sem vísar til baka verður að vera með rel="me" eigindi. Textinn í tenglinum skiptir ekki máli. Hérna er dæmi:' verification: Sannprófun diff --git a/config/locales/it.yml b/config/locales/it.yml index 92cd18d1a..d3516d0a2 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -199,7 +199,6 @@ it: security_measures: only_password: Solo password password_and_2fa: Password e autenticazione a due fattori - password_and_sign_in_token: Password e codice via email sensitive: Sensibile sensitized: contrassegnato come sensibile shared_inbox_url: URL Inbox Condiviso @@ -598,7 +597,7 @@ it: action_taken_by: Azione intrapresa da actions: delete_description_html: I post segnalati saranno eliminati e la violazione sarà registrata per aiutarti a prendere ulteriori provvedimenti sulle future infrazioni dello stesso account. - mark_as_sensitive_description_html: I media nei post segnalati saranno segnati come sensibili e la violazione sarà registrata per aiutarti a prendere ulteriori provvedimenti sulle future infrazioni dello stesso account. + mark_as_sensitive_description_html: I contenuti nei post segnalati saranno segnati come sensibili e verrà registrata una violazione per aiutarti a prendere ulteriori provvedimenti sulle future infrazioni dello stesso account. other_description_html: Vedi altre opzioni per controllare il comportamento dell'account e personalizzare la comunicazione all'account segnalato. resolve_description_html: Nessuna azione sarà intrapresa contro l'account segnalato, nessuna violazione registrata, e la segnalazione sarà chiusa. silence_description_html: Il profilo sarà visibile solo a coloro che lo seguono o lo cercano manualmente, limitandone fortemente la raggiungibilità. Può sempre essere annullato. @@ -1638,12 +1637,13 @@ it: explanation: Hai richiesto un backup completo del tuo account Mastodon. È pronto per essere scaricato! subject: Il tuo archivio è pronto per essere scaricato title: Esportazione archivio - sign_in_token: - details: 'Questi sono i dettagli del tentativo:' - explanation: 'Abbiamo rilevato un tentativo di accedere al tuo account da un indirizzo IP non riconosciuto. Se sei tu, inserisci il codice di sicurezza qui sotto nella pagina di controllo dell''accesso:' - further_actions: 'Se non sei stato tu, cambia la password e abilita l''autenticazione a due fattori sul tuo account. Puoi farlo qui:' - subject: Conferma il tentativo di accesso - title: Tentativo di accesso + suspicious_sign_in: + change_password: cambia la tua password + details: 'Questi sono i dettagli del tentativo di accesso:' + explanation: Abbiamo rilevato un accesso al tuo account da un nuovo indirizzo IP. + further_actions_html: Se non eri tu, ti consigliamo di %{action} subito e di abilitare l'autenticazione a due fattori per mantenere il tuo account al sicuro. + subject: C'è stato un accesso al tuo account da un nuovo indirizzo IP + title: Un nuovo accesso warning: appeal: Presenta un appello appeal_description: Se credi che si tratti di un errore, puoi presentare un appello allo staff di %{instance}. @@ -1694,13 +1694,10 @@ it: title: Benvenuto a bordo, %{name}! users: follow_limit_reached: Non puoi seguire più di %{limit} persone - generic_access_help_html: Problemi nell'accesso al tuo account? Puoi contattare %{email} per assistenza invalid_otp_token: Codice d'accesso non valido - invalid_sign_in_token: Codice di sicurezza non valido otp_lost_help_html: Se perdessi l'accesso ad entrambi, puoi entrare in contatto con %{email} seamless_external_login: Hai effettuato l'accesso tramite un servizio esterno, quindi le impostazioni di password e e-mail non sono disponibili. signed_in_as: 'Hai effettuato l''accesso come:' - suspicious_sign_in_confirmation: Sembra che tu non abbia effettuato l'accesso da questo dispositivo prima d'ora, e non hai effettuato l'accesso per un po', quindi inviamo un codice di sicurezza al tuo indirizzo e-mail per confermare che sei proprio tu. verification: explanation_html: 'Puoi certificare te stesso come proprietario dei link nei metadati del tuo profilo. Per farlo, il sito a cui punta il link deve contenere un link che punta al tuo profilo Mastodon. Il link di ritorno deve avere l''attributo rel="me". Il testo del link non ha importanza. Ecco un esempio:' verification: Verifica diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 84559e499..cbbe25eb9 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -189,7 +189,6 @@ ja: security_measures: only_password: パスワードのみ password_and_2fa: パスワードと 2FA - password_and_sign_in_token: パスワードとメールトークン sensitive: 閲覧注意 sensitized: 閲覧注意としてマーク済み shared_inbox_url: Shared inbox URL @@ -1493,12 +1492,6 @@ ja: explanation: Mastodonアカウントのアーカイブを受け付けました。今すぐダウンロードできます! subject: アーカイブの準備ができました title: アーカイブの取り出し - sign_in_token: - details: '検出したログインの詳細は以下のとおりです:' - explanation: '認識できないIPアドレスから、あなたのアカウントへのログインを検出しました。あなたがログインしようとしている場合は、ログインページに以下のセキュリティコードを入力してください:' - further_actions: '心当たりがない場合、パスワードを変更し二段階認証を有効にしてください。こちらから設定できます:' - subject: ログイン試行を確認してください - title: ログインを検出しました warning: appeal: 抗議を送信 categories: @@ -1544,13 +1537,10 @@ ja: title: ようこそ、%{name}! users: follow_limit_reached: あなたは現在 %{limit} 人以上フォローできません - generic_access_help_html: アクセスできませんか? %{email} に問い合わせることができます。 invalid_otp_token: 二段階認証コードが間違っています - invalid_sign_in_token: 無効なセキュリティコードです otp_lost_help_html: どちらも使用できない場合、%{email} に連絡を取ると解決できるかもしれません seamless_external_login: あなたは外部サービスを介してログインしているため、パスワードとメールアドレスの設定は利用できません。 signed_in_as: '下記でログイン中:' - suspicious_sign_in_confirmation: おかえりなさい。このデバイスからのアクセスは初めてなので、セキュリティ確保のためにメールでセキュリティーコードを送信しました。 verification: explanation_html: プロフィール内のリンクの所有者であることを認証することができます。そのためにはリンクされたウェブサイトにMastodonプロフィールへのリンクが含まれている必要があります。リンクにはrel="me"属性を必ず与えなければなりません。リンクのテキストについては重要ではありません。以下は例です: verification: 認証 diff --git a/config/locales/kab.yml b/config/locales/kab.yml index 99e178512..87e901292 100644 --- a/config/locales/kab.yml +++ b/config/locales/kab.yml @@ -165,7 +165,6 @@ kab: security_measures: only_password: Awal uffir kan password_and_2fa: Awal uffir d 2FA - password_and_sign_in_token: Ajiṭun n wawal uffir d yimayl shared_inbox_url: Bḍu URL n tbewwaḍt show: created_reports: Eg ineqqisen diff --git a/config/locales/ko.yml b/config/locales/ko.yml index a8e8e3622..d0970118c 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -194,7 +194,6 @@ ko: security_measures: only_password: 암호만 password_and_2fa: 암호와 2단계 인증 - password_and_sign_in_token: 암호와 이메일 토큰 sensitive: 민감함 sensitized: 민감함으로 설정됨 shared_inbox_url: 공유된 inbox URL @@ -290,7 +289,7 @@ ko: create_domain_block_html: "%{name} 님이 도메인 %{target}를 차단했습니다" create_email_domain_block_html: "%{name} 님이 이메일 도메인 %{target}를 차단했습니다" create_ip_block_html: "%{name} 님이 IP 규칙 %{target}을 만들었습니다" - create_unavailable_domain_html: "%{name} 님이 도메인 %{target}에 대한 전달을 중지" + create_unavailable_domain_html: "%{name} 님이 도메인 %{target}에 대한 전달을 중지했습니다" demote_user_html: "%{name} 님이 사용자 %{target} 님을 강등했습니다" destroy_announcement_html: "%{name} 님이 공지 %{target}을 삭제했습니다" destroy_custom_emoji_html: "%{name} 님이 %{target} 에모지를 삭제했습니다" @@ -1411,7 +1410,7 @@ ko: other: "%{count} 이미지" video: other: "%{count}개의 영상" - boosted_from_html: "%{acct_link} 님으로부터 부스트" + boosted_from_html: "%{acct_link}의 글을 부스트" content_warning: '열람 주의: %{warning}' default_language: 화면 표시 언어와 동일하게 disallowed_hashtags: @@ -1564,7 +1563,7 @@ ko:

    개인정보 정책의 변경

    -

    만약 우리의 개인정보 정책이 바뀐다면, 이 페이지에 바뀐 정책이 포스트 됩니다.

    +

    만약 우리의 개인정보 정책이 바뀐다면, 이 페이지에 바뀐 정책이 게시됩니다.

    이 문서는 CC-BY-SA 라이센스입니다. 마지막 업데이트는 2018년 3월 7일입니다.

    @@ -1608,12 +1607,13 @@ ko: explanation: 당신이 요청한 계정의 풀 백업이 이제 다운로드 가능합니다! subject: 당신의 아카이브를 다운로드 가능합니다 title: 아카이브 테이크 아웃 - sign_in_token: - details: '시도에 대한 상세 내용입니다:' - explanation: '알 수 없는 IP로부터 당신의 계정에 대한 로그인 시도를 감지했습니다. 이것이 당신이라면, 아래의 보안 코드를 로그인 시도 페이지에 입력하세요:' - further_actions: '이것이 당신이 아니라면 암호를 바꾸고 계정의 2-factor 인증을 활성화 하세요. 여기에서 할 수 있습니다:' - subject: 로그인 시도를 확인해 주십시오 - title: 로그인 시도 + suspicious_sign_in: + change_password: 암호 변경 + details: '로그인에 대한 상세 정보입니다:' + explanation: 새로운 IP 주소에서 내 계정에 로그인한 것을 감지했습니다. + further_actions_html: 직접 로그인한 것이 아니라면, 지금 바로 %{action}과 2단계 인증을 활성화하여 계정을 안전하게 보호하시길 권해드립니다. + subject: 계정이 새로운 IP에서 접근됨 + title: 새로운 로그인 warning: appeal: 이의 제출하기 appeal_description: 이것이 오류라고 생각한다면, %{instance}의 중재자에게 이의신청을 할 수 있습니다. @@ -1664,13 +1664,10 @@ ko: title: 환영합니다 %{name} 님! users: follow_limit_reached: 당신은 %{limit}명의 사람을 넘어서 팔로우 할 수 없습니다 - generic_access_help_html: 계정 로그인에 문제가 있나요? %{email} 로 도움을 요청할 수 있습니다 invalid_otp_token: 2단계 인증 코드가 올바르지 않습니다 - invalid_sign_in_token: 잘못된 보안 코드 otp_lost_help_html: 만약 양쪽 모두를 잃어버렸다면 %{email}을 통해 복구할 수 있습니다 seamless_external_login: 외부 서비스를 이용해 로그인 했습니다, 패스워드와 이메일 설정을 할 수 없습니다. signed_in_as: '다음과 같이 로그인 중:' - suspicious_sign_in_confirmation: 이 기기에서 로그인 한 적이 없거나, 로그인 한 지 오래된 것으로보입니다. 본인임을 확인하기 위해 이메일 주소로 보안 코드를 보냈습니다. verification: explanation_html: '당신은 프로필 메타데이터의 링크 소유자임을 검증할 수 있습니다. 이것을 하기 위해서는, 링크 된 웹사이트에서 당신의 마스토돈 프로필을 역으로 링크해야 합니다. 역링크는 반드시 rel="me" 속성을 가지고 있어야 합니다. 링크의 텍스트는 상관이 없습니다. 여기 예시가 있습니다:' verification: 검증 diff --git a/config/locales/ku.yml b/config/locales/ku.yml index 1f5554f4b..550e95a2b 100644 --- a/config/locales/ku.yml +++ b/config/locales/ku.yml @@ -199,7 +199,6 @@ ku: security_measures: only_password: Têne borînpeyv password_and_2fa: Borînpeyv û 2FA - password_and_sign_in_token: Borînpeyv û navnîşana e-nameyê sensitive: Hêz-hestiyar sensitized: Wek hestiyar hatiye nîşankirin shared_inbox_url: URLya wergirtiyên parvekirî @@ -1635,12 +1634,10 @@ ku: explanation: Te yedekîya tijê ya ajimêrê xwe Mastodonê xwest. Niha ji daxistinê re amade ye! subject: Arşîva te amede ye bo daxistinê title: Pakêtkirina arşîvan - sign_in_token: - details: 'Li vir hûrgiliyên hewldanê hene:' - explanation: 'Me hewildanek têketina ajimêra te ji navnîşana IP ya nenas destnîşan kir. Ger ev tu bî, ji kerema xwe koda ewlehiyê ya jêr binivîsîne di rûpela jêpirsînê de:' - further_actions: 'Ku ev ne tu bî, ji kerema xwe re borînpeyva xwe biguherîne û li ser ajimêra xwe rastkirina du-gavî çalak bike. Tu dikarî wê ji vê derê çê bikî:' - subject: Ji kerema xwe re hewldanên têketinê piştrast bike - title: Hewldanên têketinê + suspicious_sign_in: + change_password: borînpeyva xwe biguherîne + details: 'Li vir hûrgiliyên hewldanên têketinê hene:' + title: Têketineke nû warning: appeal: Îtîrazekê bişîne appeal_description: Heke tu bawer dikî ku ev şaşetiyeke, tu dikarî îtîrazekê ji karmendên %{instance} re bişînî. @@ -1691,13 +1688,10 @@ ku: title: Bi xêr hatî, %{name}! users: follow_limit_reached: Tu nikarî zêdetirî %{limit} kesan bişopînî - generic_access_help_html: Di gihîştina ajimêrê te de pirsgirêk heye? Tu dikarî ji bo alîkariyê bi %{email} re têkilî deyne invalid_otp_token: Koda du-gavî ya nelê - invalid_sign_in_token: Kilîda ewlehiyê a nelê otp_lost_help_html: Heke te gihîştina herduyan ji dest da, dibe ku tu bi %{email} re têkilî deyne seamless_external_login: Te bi rajekarke biyanî re têketina xwe kir, ji ber vê yekê borînpeyv û e-name nayê bikaranîn. signed_in_as: 'Têketin wekî:' - suspicious_sign_in_confirmation: Xuya dike ku te berê têketin ji vê amûrê nekiriye, ji ber vê yekê em kodeke ewlehiyê ji navnîşana e-nameya te re dişînin da ku piştrast bikî ku tu ye an na. verification: explanation_html: 'Tu dikarî xwe wekî xwediyê girêdanên li daneyê meta profîla xwe piştrast bikî. Ji bo vê, hewceye girêda malperê di nav profîla te ya mastodonê de girêdanekî paş hebe. Girêdana paşhewceye taybetîyek rel="me"hebe. Naveroka nivîsa girêdanê ne girîng e. Ev jî mînakek e:' verification: Piştrastkirin diff --git a/config/locales/lv.yml b/config/locales/lv.yml index d695c5191..d1b344a3c 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -169,6 +169,10 @@ lv: pending: Gaida pārskatīšanu perform_full_suspension: Apturēt previous_strikes: Iepriekšējie brīdinājumi + previous_strikes_description_html: + one: Šim kontam ir viens brīdinājums. + other: Šim kontam ir %{count} brīdinājumi. + zero: Šim kontam ir %{count} brīdinājumi. promote: Veicināt protocol: Protokols public: Publisks @@ -200,7 +204,6 @@ lv: security_measures: only_password: Tikai parole password_and_2fa: Parole un 2FA - password_and_sign_in_token: Parole un e-pasta marķieris sensitive: Sensitīvs sensitized: Atzīmēts kā sensitīvs shared_inbox_url: Koplietotās iesūtnes URL @@ -534,6 +537,10 @@ lv: delivery_error_hint: Ja piegāde nav iespējama %{count} dienas, tā tiks automātiski atzīmēta kā nepiegādājama. destroyed_msg: Dati no %{domain} tagad ir gaidīšanas rindā, lai tos drīzumā dzēstu. empty: Domēni nav atrasti. + known_accounts: + one: "%{count} zināms konts" + other: "%{count} zināmi konti" + zero: "%{count} zināmu kontu" moderation: all: Visas limited: Ierobežotās @@ -604,7 +611,7 @@ lv: action_taken_by: Veiktā darbība actions: delete_description_html: Raksti, par kurām ziņots, tiks dzēsti, un tiks reģistrēts brīdinājums, lai palīdzētu tev izvērst turpmākos pārkāpumus saistībā ar to pašu kontu. - mark_as_sensitive_description_html: Mediju faili ziņojumos, par kuriem ziņots, tiks atzīmēti kā sensitīvi, un tiks reģistrēts brīdinājums, lai palīdzētu tev palielināt tā paša konta turpmākās refrakcijas. + mark_as_sensitive_description_html: Mediju faili ziņojumos, par kuriem ziņots, tiks atzīmēti kā sensitīvi, un tiks reģistrēts brīdinājums, lai palīdzētu tev izvērst turpmākus pārkāpumus saistībā ar to pašu kontu. other_description_html: Skatīt vairāk iespēju kontrolēt konta uzvedību un pielāgot saziņu ar paziņoto kontu. resolve_description_html: Pret norādīto kontu netiks veiktas nekādas darbības, netiks reģistrēts brīdinājums, un ziņojums tiks slēgts. silence_description_html: Profils būs redzams tikai tiem, kas jau tam seko vai manuāli apskata, stingri ierobežojot tās sasniedzamību. Šo vienmēr var atgriezt. @@ -803,6 +810,10 @@ lv: description_html: Šīs ir saites, kuras pašlaik bieži koplieto konti, no kuriem tavs serveris redz ziņas. Tas var palīdzēt taviem lietotājiem uzzināt, kas notiek pasaulē. Kamēr tu neapstiprini izdevēju, neviena saite netiek rādīta publiski. Vari arī atļaut vai noraidīt atsevišķas saites. disallow: Neatļaut saiti disallow_provider: Neatļaut publicētāju + shared_by_over_week: + one: Pēdējās nedēļas laikā kopīgoja viena persona + other: Pēdējās nedēļas laikā kopīgoja %{count} personas + zero: Pēdējās nedēļas laikā kopīgoja %{count} personas title: Populārākās saites usage_comparison: Šodien kopīgots %{today} reizes, salīdzinot ar %{yesterday} vakar pending_review: Gaida pārskatīšanu @@ -843,6 +854,10 @@ lv: trending_rank: 'Populārākie #%{rank}' usable: Var tikt lietots usage_comparison: Šodien lietots %{today} reizes, salīdzinot ar %{yesterday} vakar + used_by_over_week: + one: Pēdējās nedēļas laikā izmantoja viens cilvēks + other: Pēdējās nedēļas laikā izmantoja %{count} personas + zero: Pēdējās nedēļas laikā izmantoja %{count} personas title: Tendences warning_presets: add_new: Pievienot jaunu @@ -1656,12 +1671,13 @@ lv: explanation: Tu pieprasīji pilnu sava Mastodon konta dublējumu. Tagad tas ir gatavs lejupielādei! subject: Tavs arhīvs ir gatavs lejupielādei title: Arhīva līdzņemšana - sign_in_token: - details: 'Šeit ir sīkāka informācija par mēģinājumu:' - explanation: 'Mēs atklājām mēģinājumu pierakstīties tavā kontā no neatpazītas IP adreses. Ja tas esi tu, lūdzu, ievadi zemāk esošo drošības kodu pierakstīšanās izaicinājumu lapā:' - further_actions: 'Ja tas nebiji tu, lūdzu, nomaini paroli un savā kontā iespējo divfaktoru autentifikāciju. To var izdarīt šeit:' - subject: Lūdzu, apstiprini pierakstīšanās mēģinājumu - title: Pierakstīšanās mēģinājums + suspicious_sign_in: + change_password: mainīt paroli + details: 'Šeit ir detalizēta informācija par pierakstīšanos:' + explanation: Esam konstatējuši pierakstīšanos tavā kontā no jaunas IP adreses. + further_actions_html: Ja tas nebiji tu, iesakām nekavējoties %{action} un iespējot divu faktoru autentifikāciju, lai tavs konts būtu drošībā. + subject: Tavam kontam ir piekļūts no jaunas IP adreses + title: Jauna pierakstīšanās warning: appeal: Iesniegt apelāciju appeal_description: Ja uzskatāt, ka tā ir kļūda, varat iesniegt apelāciju %{instance} darbiniekiem. @@ -1712,13 +1728,10 @@ lv: title: Laipni lūgts uz borta, %{name}! users: follow_limit_reached: Tu nevari sekot vairāk par %{limit} cilvēkiem - generic_access_help_html: Vai nevari piekļūt savam kontam? Lai saņemtu palīdzību, tu vari sazināties ar %{email} invalid_otp_token: Nederīgs divfaktora kods - invalid_sign_in_token: Nederīgs drošības kods otp_lost_help_html: Ja esi zaudējis piekļuvi abiem, tu vari sazināties ar %{email} seamless_external_login: Tu esi pieteicies, izmantojot ārēju pakalpojumu, tāpēc paroles un e-pasta iestatījumi nav pieejami. signed_in_as: 'Pierakstījies kā:' - suspicious_sign_in_confirmation: Šķiet, ka tu iepriekš neesi pieteicies no šīs ierīces, tāpēc mēs nosūtām drošības kodu uz tavu e-pasta adresi, lai apstiprinātu, ka tas esi tu. verification: explanation_html: 'Tu vari apstiprināt sevi kā sava profila metadatos esošo saišu īpašnieku. Lai to izdarītu, saistītajā vietnē ir jābūt saitei uz tavu Mastodon profilu. Atpakaļsaitē jābūt atribūtam rel="me". Saites teksta saturam nav nozīmes. Šeit ir piemērs:' verification: Pārbaude diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 276fdb9b2..a3fc748fd 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -1290,12 +1290,6 @@ nl: explanation: Je hebt een volledige back-up van jouw Mastodon-account opgevraagd. Het staat nu klaar om te worden gedownload! subject: Jouw archief staat klaar om te worden gedownload title: Archief ophalen - sign_in_token: - details: 'Hier zijn details van de poging:' - explanation: 'We hebben een inlogpoging op je account ontdekt vanaf een onbekend IP-adres. Als jij dit bent, vul dan de beveiligingscode hieronder in op de inlog-uitdagingspagina:' - further_actions: 'Als jij dit niet was, verander dan je wachtwoord en schakel tweestapsverificatie voor je account in. Dat kun je hier doen:' - subject: Bevestig de inlogpoging - title: Inlogpoging warning: subject: disable: Jouw account %{acct} is bevroren @@ -1326,13 +1320,10 @@ nl: title: Welkom aan boord %{name}! users: follow_limit_reached: Je kunt niet meer dan %{limit} accounts volgen - generic_access_help_html: Problemen met toegang tot je account? Neem dan contact op met %{email} voor assistentie invalid_otp_token: Ongeldige tweestaps-toegangscode - invalid_sign_in_token: Ongeldige beveiligingscode otp_lost_help_html: Als je toegang tot beiden kwijt bent geraakt, neem dan contact op via %{email} seamless_external_login: Je bent ingelogd via een externe dienst, daarom zijn wachtwoorden en e-mailinstellingen niet beschikbaar. signed_in_as: 'Ingelogd als:' - suspicious_sign_in_confirmation: Het lijkt er op dat je nog niet eerder op dit apparaat bent ingelogd, dus sturen we een beveiligingscode naar jouw e-mailadres om te bevestigen dat jij het bent. verification: explanation_html: 'Je kunt jezelf verifiëren als de eigenaar van de links in de metadata van jouw profiel. Hiervoor moet op de gelinkte website een link terug naar jouw Mastodonprofiel staan. Deze link moet het rel="me"-attribuut bevatten. De omschrijving van de link maakt niet uit. Hier is een voorbeeld:' verification: Verificatie diff --git a/config/locales/nn.yml b/config/locales/nn.yml index 3af989a14..d22c91d21 100644 --- a/config/locales/nn.yml +++ b/config/locales/nn.yml @@ -189,7 +189,6 @@ nn: security_measures: only_password: Bare passord password_and_2fa: Passord og 2FA - password_and_sign_in_token: Passord og e-post token sensitized: Merket som følsom shared_inbox_url: Delt Innboks URL show: @@ -1249,12 +1248,6 @@ nn: backup_ready: explanation: Du ba om en fullstendig sikkerhetskopi av Mastodon-kontoen din. Den er nå klar for nedlasting! subject: Arkivet ditt er klart til å lastes ned - sign_in_token: - details: 'Her er forsøksdetaljane:' - explanation: 'Vi oppdaget et forsøk på å logge på kontoen fra en ukjent IP-adresse. Hvis dette er deg, vennligst skriv inn sikkerhetskoden nedenfor på påloggingssiden:' - further_actions: 'Om dette ikkje var deg, so venlegast endra passordet ditt og skruv på tostegsgodkjenning på kontoen din. Du kan gjera det her:' - subject: Venlegast stadfest forsøket på å logga inn - title: Forsøk på å logga inn warning: subject: disable: Kontoen din, %{acct}, har blitt fryst @@ -1285,13 +1278,10 @@ nn: title: Velkomen om bord, %{name}! users: follow_limit_reached: Du kan ikkje fylgja fleire enn %{limit} folk - generic_access_help_html: Har du vanskar med tilgjenge til kontoen din? Tak gjerne kontakt med %{email} invalid_otp_token: Ugyldig tostegskode - invalid_sign_in_token: Ugild trygdenykel otp_lost_help_html: Hvis du mistet tilgangen til begge deler, kan du komme i kontakt med %{email} seamless_external_login: Du er logga inn gjennom eit eksternt reiskap, so passord og e-postinstillingar er ikkje tilgjengelege. signed_in_as: 'Logga inn som:' - suspicious_sign_in_confirmation: Det verkar ikkje som du har logga inn frå dette reiskapet før, og du har ikkje logga inn på ei stund, difor sender me deg ein trygdekode til e-post-addressa di for å stadfesta at det er deg. verification: explanation_html: 'Du kan bekrefte at du selv er eieren av lenkene i din profilmetadata. For å gjøre det, må det tillenkede nettstedet inneholde en lenke som fører tilbake til Mastodon-profilen din. Lenken tilbake ha en rel="me"-attributt. Tekstinnholdet til lenken er irrelevant. Her er et eksempel:' verification: Stadfesting diff --git a/config/locales/no.yml b/config/locales/no.yml index a7ba74063..44a24cab6 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -189,7 +189,6 @@ security_measures: only_password: Bare passord password_and_2fa: Passord og 2FA - password_and_sign_in_token: Passord og e-post token sensitized: Merket som følsom shared_inbox_url: Delt Innboks URL show: @@ -1230,12 +1229,6 @@ backup_ready: explanation: Du ba om en fullstendig sikkerhetskopi av Mastodon-kontoen din. Den er nå klar for nedlasting! subject: Arkivet ditt er klart til å lastes ned - sign_in_token: - details: 'Her er detaljene om forsøket:' - explanation: 'Vi oppdaget et forsøk på å logge på kontoen fra en ukjent IP-adresse. Hvis dette er deg, vennligst skriv inn sikkerhetskoden nedenfor på påloggingssiden:' - further_actions: 'Hvis dette ikke var deg, vennligst endre passordet ditt og aktivere to-faktor autentisering på kontoen din. Du kan gjøre det her:' - subject: Bekreft forsøk på å logge inn - title: Påloggingsforsøk warning: subject: disable: Kontoen din, %{acct}, har blitt fryst @@ -1266,13 +1259,10 @@ title: Velkommen ombord, %{name}! users: follow_limit_reached: Du kan ikke følge mer enn %{limit} personer - generic_access_help_html: Problemer med å få tilgang til din konto? Du kan kontakte %{email} for assistanse invalid_otp_token: Ugyldig to-faktorkode - invalid_sign_in_token: Ugyldig sikkerhetskode otp_lost_help_html: Hvis du mistet tilgangen til begge deler, kan du komme i kontakt med %{email} seamless_external_login: Du er logget inn via en ekstern tjeneste, så passord og e-post innstillinger er ikke tilgjengelige. signed_in_as: 'Innlogget som:' - suspicious_sign_in_confirmation: Du ser ikke ut til å ha logget inn fra denne enheten før, og du har ikke logget inn en stund, så vi sender en sikkerhetskode til din e-postadresse for å bekrefte at det er deg. verification: explanation_html: 'Du kan bekrefte at du selv er eieren av lenkene i din profilmetadata. For å gjøre det, må det tillenkede nettstedet inneholde en lenke som fører tilbake til Mastodon-profilen din. Lenken tilbake ha en rel="me"-attributt. Tekstinnholdet til lenken er irrelevant. Her er et eksempel:' verification: Bekreftelse diff --git a/config/locales/oc.yml b/config/locales/oc.yml index 4654d5e27..faca57c16 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -172,7 +172,6 @@ oc: security_measures: only_password: Sonque senhal password_and_2fa: Senhal e 2FA - password_and_sign_in_token: Senhal e geton via mail sensitive: Sensible sensitized: marcar coma sensible shared_inbox_url: URL de recepcion partejada @@ -1183,7 +1182,6 @@ oc: users: follow_limit_reached: Podètz pas sègre mai de %{limit} personas invalid_otp_token: Còdi d’autentificacion en dos temps invalid - invalid_sign_in_token: Còdi de seguretat invalid otp_lost_help_html: Se perdatz l’accès al dos, podètz benlèu contactar %{email} seamless_external_login: Sètz connectat via un servici extèrn, los paramètres de senhal e de corrièl son doncas pas disponibles. signed_in_as: 'Session a :' diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 15755bde7..07ae5b225 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -201,7 +201,6 @@ pl: security_measures: only_password: Tylko hasło password_and_2fa: Hasło i 2FA - password_and_sign_in_token: Hasło i token e-mail sensitive: Wrażliwe sensitized: oznaczono jako wrażliwe shared_inbox_url: Adres udostępnianej skrzynki @@ -570,7 +569,7 @@ pl: action_taken_by: Działanie podjęte przez actions: delete_description_html: Zgłoszone posty zostaną usunięte, a zdarzenie zostanie zapisane, aby pomóc w eskalacji przyszłych wykroczeń na tym samym koncie. - mark_as_sensitive_description_html: Media w zgłaszanych postach zostaną oznaczone jako wrażliwe, a ostrzeżenie zostanie nagane, aby pomóc w eskalacji przyszłych przewinień na tym samym koncie. + mark_as_sensitive_description_html: Media w zgłaszanych postach zostaną oznaczone jako wrażliwe, a ostrzeżenie zostanie nagrane, aby pomóc w eskalacji przyszłych przewinień na tym samym koncie. other_description_html: Zobacz więcej opcji do kontrolowania zachowania konta i dostosuj komunikację do zgłoszonego konta. resolve_description_html: Nie zostaną podjęte żadne działania przeciwko zgłoszonemu sprawozdaniu, zdarzenie nie zostanie zarejestrowane, a zgłoszenie zostanie zamknięte. silence_description_html: Profil będzie widoczny tylko dla tych, którzy go już obserwują lub szukaj ręcznie, poważnie ograniczając jego zasięg. Może być zawsze cofnięty. @@ -1586,12 +1585,13 @@ pl: 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 - sign_in_token: - details: 'Oto szczegóły próby:' - explanation: 'Wykryliśmy próbę zalogowania na Twoje konto z adresu IP którego nie możemy rozpoznać. Jeżeli to Ty, wprowadź poniższy kod na stronie logowania:' - further_actions: 'Jeśli to nie Ty, zmień swoje hasło i włącz weryfikację dwuetapową na swoim koncie. Możesz to zrobić tutaj:' - subject: Potwierdź próbę zalogowania - title: Próba logowania + suspicious_sign_in: + change_password: zmień hasło + details: 'Oto szczegóły logowania:' + explanation: Wykryliśmy logowanie na Twoje konto z nowego adresu IP. + further_actions_html: Jeśli to nie Ty, zalecamy %{action} natychmiastowo i włącz uwierzytelnianie dwuetapowe, aby Twoje konto było bezpieczne. + subject: Uzyskano dostęp do twojego konta z nowego adresu IP + title: Nowe logowanie warning: categories: spam: Spam @@ -1639,13 +1639,10 @@ pl: title: Witaj na pokładzie, %{name}! users: follow_limit_reached: Nie możesz śledzić więcej niż %{limit} osób - generic_access_help_html: Nie możesz uzyskać dostępu do konta? Skontaktuj się z %{email} aby uzyskać pomoc invalid_otp_token: Kod uwierzytelniający jest niepoprawny - invalid_sign_in_token: Nieprawidłowy kod zabezpieczający otp_lost_help_html: Jeżeli utracisz dostęp do obu, możesz skontaktować się z %{email} seamless_external_login: Zalogowano z użyciem zewnętrznej usługi, więc ustawienia hasła i adresu e-mail nie są dostępne. signed_in_as: 'Zalogowany jako:' - suspicious_sign_in_confirmation: Wygląda na to, że nie logowałeś się wcześniej z tego urządzenia i przez jakiś czas nie logowałeś się, więc wysłaliśmy na Twój adres e-mail kod zabezpieczający, aby potwierdzić, że to Ty. verification: explanation_html: 'Możesz zweryfikować siebie jako właściciela stron, do których odnośniki znajdują się w metadanych. Aby to zrobić, strona musi zawierać odnośnik do Twojego profilu na Mastodonie. Odnośnik musi zawierać atrybut rel="me". Jego zawartość nie ma znaczenia. Przykład:' verification: Weryfikacja diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 1d0de0d4a..8af4cb13e 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -193,7 +193,6 @@ pt-BR: security_measures: only_password: Somente senha password_and_2fa: Senha e 2FA - password_and_sign_in_token: Token de senha e e-mail sensitive: Sensíveis sensitized: marcadas como sensíveis shared_inbox_url: Link da caixa de entrada compartilhada @@ -1448,12 +1447,6 @@ pt-BR: explanation: Você pediu um backup completo da sua conta no Mastodon. E agora está pronto para ser baixado! subject: Seu arquivo está pronto para ser baixado title: Baixar arquivo - sign_in_token: - details: 'Aqui estão os detalhes da tentativa:' - explanation: 'Detectamos uma tentativa de acessar sua conta a partir de um endereço IP não reconhecido. Se for você, insira o código de segurança abaixo na página de desafio:' - further_actions: 'Se não foi você, por favor mude sua senha e ative a autenticação de dois fatores em sua conta. Você pode fazê-lo aqui:' - subject: Por favor, confirme a tentativa de acesso - title: Tentativa de acesso warning: appeal: Enviar uma contestação categories: @@ -1494,13 +1487,10 @@ pt-BR: title: Boas vindas, %{name}! users: follow_limit_reached: Você não pode seguir mais de %{limit} pessoas - generic_access_help_html: Problemas para acessar sua conta? Você pode entrar em contato com %{email} para obter ajuda invalid_otp_token: Código de dois fatores inválido - invalid_sign_in_token: Cógido de segurança inválido otp_lost_help_html: Se você perder o acesso à ambos, você pode entrar em contato com %{email} seamless_external_login: Você entrou usando um serviço externo, então configurações de e-mail e senha não estão disponíveis. signed_in_as: 'Entrou como:' - suspicious_sign_in_confirmation: Parece que você não fez login deste dispositivo antes, e você não fez login por um tempo. Portanto, estamos enviando um código de segurança para o seu endereço de e-mail para confirmar que é você. verification: explanation_html: 'Você pode verificar os links nos metadados do seu perfil. Para isso, o site citado deve conter um link de volta para o seu perfil do Mastodon. O link de volta deve conter um atributo rel="me". O conteúdo ou texto do link não importa. Aqui está um exemplo:' verification: Verificação diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index 05f6ebf07..1ee43b569 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -165,6 +165,9 @@ pt-PT: pending: Pendente de revisão perform_full_suspension: Fazer suspensão completa previous_strikes: Punições anteriores + previous_strikes_description_html: + one: Esta conta tem 1 punição. + other: Esta conta tem %{count} punições. promote: Promover protocol: Protocolo public: Público @@ -196,7 +199,6 @@ pt-PT: security_measures: only_password: Apenas palavra-passe password_and_2fa: Palavra-passe e 2FA - password_and_sign_in_token: Palavra-passe e token por e-mail sensitive: Marcar como sensível sensitized: marcada como sensível shared_inbox_url: URL da caixa de entrada compartilhada @@ -523,6 +525,9 @@ pt-PT: delivery_error_hint: Se a entrega não for possível durante %{count} dias, será automaticamente marcada como não realizável. destroyed_msg: Dados de %{domain} estão agora na fila para iminente eliminação. empty: Não foram encontrados domínios. + known_accounts: + one: "%{count} conta conhecida" + other: "%{count} contas conhecidas" moderation: all: Todas limited: Limitadas @@ -791,6 +796,9 @@ pt-PT: description_html: Estes são links que atualmente estão a ser frequentemente partilhados por contas visiveis pelo seu servidor. Eles podem ajudar os seus utilizador a descobrir o que está a acontecer no mundo. Nenhum link é exibido publicamente até que aprove o editor. Também pode permitir ou rejeitar links individualmente. disallow: Não permitir link disallow_provider: Não permitir editor + shared_by_over_week: + one: Partilhado por uma pessoa na última semana + other: Partilhado por %{count} pessoas na última semana title: Links em destaque usage_comparison: Partilhado %{today} vezes hoje, em comparação com %{yesterday} ontem pending_review: Pendente de revisão @@ -830,6 +838,9 @@ pt-PT: trending_rank: 'Tendência #%{rank}' usable: Pode ser utilizada usage_comparison: Utilizada %{today} vezes hoje, em comparação com %{yesterday} ontem + used_by_over_week: + one: Utilizada por uma pessoa na última semana + other: Utilizada por %{count} pessoas na última semana title: Tendências warning_presets: add_new: Adicionar novo @@ -1621,12 +1632,6 @@ pt-PT: explanation: Pediste uma cópia completa da tua conta Mastodon. Ela já está pronta para descarregares! subject: O teu arquivo está pronto para descarregar title: Arquivo de ficheiros - sign_in_token: - details: 'Aqui estão os detalhes da tentativa:' - explanation: 'Detectamos uma tentativa de entrar na sua conta a partir de um endereço IP não reconhecido. Se é você, por favor, insira o código de segurança abaixo na página de acesso:' - further_actions: 'Se não foi você, por favor altere a sua palavra-passe e ative a autenticação em duas etapzs na sua conta. Pode fazê-lo aqui:' - subject: Por favor, confirme a tentativa de acesso - title: Tentativa de acesso warning: appeal: Submeter um recurso appeal_description: Se acredita que isso é um erro, pode submeter um recurso para a equipa de %{instance}. @@ -1677,13 +1682,10 @@ pt-PT: title: Bem-vindo a bordo, %{name}! users: follow_limit_reached: Não podes seguir mais do que %{limit} pessoas - generic_access_help_html: Problemas para aceder à sua conta? Pode entrar em contacto com %{email} para obter ajuda invalid_otp_token: Código de autenticação inválido - invalid_sign_in_token: Cógido de segurança inválido otp_lost_help_html: Se perdeu acesso a ambos, pode entrar em contacto com %{email} seamless_external_login: Tu estás ligado via um serviço externo. Por isso, as configurações da palavra-passe e do e-mail não estão disponíveis. signed_in_as: 'Registado como:' - suspicious_sign_in_confirmation: Parece que não iniciou sessão através deste dispositivo antes, e não acede à sua conta há algum tempo. Portanto, enviámos um código de segurança para o seu endereço de e-mail para confirmar que é você. verification: explanation_html: 'Pode comprovar que é o dono dos links nos metadados do seu perfil. Para isso, o website para o qual o link aponta tem de conter um link para o seu perfil do Mastodon. Esse link tem de ter um atributo rel="me". O conteúdo do texto não é relevante. Aqui está um exemplo:' verification: Verificação diff --git a/config/locales/ro.yml b/config/locales/ro.yml index d6a37f8c4..4f3861b00 100644 --- a/config/locales/ro.yml +++ b/config/locales/ro.yml @@ -196,7 +196,6 @@ ro: security_measures: only_password: Doar parola password_and_2fa: Parolă și Conectarea în 2 pași - password_and_sign_in_token: Parola și token-ul e-mail sensitive: Sensibil sensitized: Marcat ca sensibil shared_inbox_url: URL inbox distribuit diff --git a/config/locales/ru.yml b/config/locales/ru.yml index d6eab2a99..67a988c8f 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -209,7 +209,6 @@ ru: security_measures: only_password: Только пароль password_and_2fa: Пароль и 2FA - password_and_sign_in_token: Пароль и e-mail код sensitive: Отметить как «деликатного содержания» sensitized: отмечено как «деликатного характера» shared_inbox_url: URL общих входящих @@ -1590,12 +1589,13 @@ ru: explanation: Вы запросили архив всех данных вашей учётной записи Mastodon. Что ж, он готов к скачиванию. subject: Ваш архив готов к загрузке title: Архив ваших данных готов - sign_in_token: - details: 'Вот подробная информация о попытке:' - explanation: 'Мы обнаружили попытку войти в вашу учётную запись с нераспознанного IP-адреса. Если это вы, введите код безопасности ниже на странице вызова:' - further_actions: 'Если это были не вы, пожалуйста, смените пароль и включите двухфакторную аутентификацию для вашей учётной записи. Вы можете сделать это здесь:' - subject: Пожалуйста, подтвердите попытку входа - title: Попытка входа + suspicious_sign_in: + change_password: сменить пароль + details: 'Подробности о новом входе:' + explanation: Мы заметили вход в вашу учётную запись с нового IP-адреса. + further_actions_html: Если это были не вы, рекомендуем вам немедленно %{action} и включить двухфакторную авторизацию, чтобы обезопасить свою учётную запись. + subject: В вашу учётную запись был выполнен вход с нового IP-адреса + title: Выполнен вход warning: appeal: Обжаловать categories: @@ -1642,13 +1642,10 @@ ru: title: Добро пожаловать на борт, %{name}! users: follow_limit_reached: Вы не можете подписаться больше, чем на %{limit} человек - generic_access_help_html: Не можете войти в свою учётную запись? Свяжитесь с %{email} для помощи invalid_otp_token: Введен неверный код двухфакторной аутентификации - invalid_sign_in_token: Неверный код безопасности otp_lost_help_html: Если Вы потеряли доступ к обоим, свяжитесь с %{email} seamless_external_login: Вы залогинены через сторонний сервис, поэтому настройки e-mail и пароля недоступны. signed_in_as: 'Выполнен вход под именем:' - suspicious_sign_in_confirmation: Похоже, вы раньше не входили с этого устройства, и давно не осуществляли вход, поэтому мы отправили вам код безопасности на почту, чтобы подтвердить, что это действительно вы. verification: explanation_html: 'Владение ссылками в профиле можно подтвердить. Для этого на указанном сайте должна содержаться ссылка на ваш профиль Mastodon, а у самой ссылки должен быть атрибут rel="me". Что внутри ссылки — значения не имеет. Вот вам пример ссылки:' verification: Верификация ссылок diff --git a/config/locales/sc.yml b/config/locales/sc.yml index aab2e6134..21f84772d 100644 --- a/config/locales/sc.yml +++ b/config/locales/sc.yml @@ -1286,12 +1286,6 @@ sc: explanation: As pedidu una còpia de seguresa totale de su contu de Mastodon tuo. Immoe est pronta pro s'iscarrigamentu! subject: S'archìviu tuo est prontu pro èssere iscarrigadu title: Collida dae s'archìviu - sign_in_token: - details: 'Custos sunt is detàllios de su tentativu:' - explanation: 'Amus rilevadu unu tentativu de identificatzione in su contu tuo dae un''indiritzu IP non reconnotu. Si fias tue, inserta su còdighe de seguresa in bàsciu in sa pàgina de disafiu de identificatzione:' - further_actions: 'Si non fias tue, càmbia sa crae tua e ativa s''autenticatzione in duos passos in su contu tuo. Ddu podes fàghere inoghe:' - subject: Cunfirma su tentativu de identificatzione - title: Tentativu de identificatzione warning: subject: disable: Su contu tuo %{acct} est istadu cungeladu @@ -1322,13 +1316,10 @@ sc: title: Ti donamus su benebènnidu, %{name}! users: follow_limit_reached: Non podes sighire prus de %{limit} persones - generic_access_help_html: Tenes problemas a intrare in su contu tuo? Podes cuntatare a %{email} pro retzire agiudu invalid_otp_token: Còdighe a duas fases non vàlidu - invalid_sign_in_token: Còdighe de seguresa non vàlidu otp_lost_help_html: Si as pèrdidu s'atzessu a ambos, podes cuntatare a %{email} seamless_external_login: As abertu sa sessione pro mèdiu de unu servìtziu esternu, e pro custa resone is cunfiguratziones de sa crae de intrada e de posta eletrònica non sunt a disponimentu. signed_in_as: 'Sessione aberta comente:' - suspicious_sign_in_confirmation: Paret chi no as mai abertu sa sessione dae custu dispositivu e est dae unu pagu de tempus chi no intras in Mastodon, duncas ti semus imbiende unu còdighe de seguresa a s'indiritzu de posta eletrònica tuo pro cunfirmare chi ses tue. verification: explanation_html: 'Ti podes verificare a sa sola comente mere de is ligòngios in is metadatos de su profilu tuo. Pro ddu fàghere su situ ligadu depet cuntènnere unu ligòngiu chi torret a su profilu de Mastodon tuo. Su ligòngiu in su situ depet tènnere un''atributu rel="me". Su testu cuntenutu in su ligòngiu no est de importu. Custu est un''esèmpiu:' verification: Verìfica diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml index 233a9f6ee..2a55c57b9 100644 --- a/config/locales/simple_form.cs.yml +++ b/config/locales/simple_form.cs.yml @@ -27,6 +27,8 @@ cs: scheduled_at: Pro okamžité zveřejnění ponechte prázdné starts_at: Volitelné. Jen pokud je oznámení vázáno na konkrétní časové období text: Můžete použít syntax příspěvků. Mějte prosím na paměti, kolik prostoru oznámení zabere na obrazovce uživatele + appeal: + text: Proti prohřešku se můžete odvolat jen jednou defaults: autofollow: Lidé, kteří se zaregistrují na základě pozvánky, vás budou automaticky sledovat avatar: PNG, GIF či JPG. Maximálně %{size}. Bude zmenšen na %{dimensions} px @@ -61,6 +63,7 @@ cs: domain_allow: domain: Tato doména bude moci stahovat data z tohoto serveru a příchozí data z ní budou zpracována a uložena email_domain_block: + domain: Toto může být doménové jméno, které je v e-mailové adrese nebo MX záznam, který používá. Budou zkontrolovány při registraci. with_dns_records: Dojde k pokusu o překlad DNS záznamů dané domény a výsledky budou rovněž zablokovány featured_tag: name: 'Nejspíš budete chtít použít jeden z těchto:' @@ -105,11 +108,11 @@ cs: text: Vlastní varování type: Akce types: - disable: Deaktivovat přihlašování + disable: Zmrazit none: Nic nedělat sensitive: Citlivý - silence: Ztišit - suspend: Pozastavit účet a nenávratně smazat jeho data + silence: Omezit + suspend: Pozastavit warning_preset_id: Použít předlohu pro varování announcement: all_day: Celodenní událost @@ -117,6 +120,8 @@ cs: scheduled_at: Naplánovat zveřejnění starts_at: Začátek události text: Oznámení + appeal: + text: Vysvětlete proč by toto rozhodnutí mělo být vráceno defaults: autofollow: Pozvat ke sledování vašeho účtu avatar: Avatar @@ -195,6 +200,7 @@ cs: sign_up_requires_approval: Omezit registrace severity: Pravidlo notification_emails: + appeal: Někdo se odvolává proti rozhodnutí moderátora digest: Posílat e-maily s přehledem favourite: Někdo si oblíbil váš příspěvek follow: Někdo vás začal sledovat @@ -202,6 +208,8 @@ cs: mention: Někdo vás zmínil pending_account: Je třeba posoudit nový účet reblog: Někdo boostnul váš příspěvek + report: Je odesláno nové hlášení + trending_tag: Nový trend vyžaduje posouzení rule: text: Pravidlo tag: diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml index e120c2c8b..dd5c6264e 100644 --- a/config/locales/simple_form.gl.yml +++ b/config/locales/simple_form.gl.yml @@ -66,7 +66,7 @@ gl: domain: Este pode ser o nome de dominio que aparece no enderezo de email ou o rexistro MX que utiliza. Será comprobado no momento do rexistro. with_dns_records: Vaise facer un intento de resolver os rexistros DNS proporcionados e os resultados tamén irán a lista de bloqueo featured_tag: - name: 'Poderías usar algunha destas:' + name: 'Poderías usar algún destos:' form_challenge: current_password: Estás entrando nun área segura imports: diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml index 7e44489b5..17cf652a4 100644 --- a/config/locales/simple_form.it.yml +++ b/config/locales/simple_form.it.yml @@ -151,7 +151,7 @@ it: phrase: Parola chiave o frase setting_advanced_layout: Abilita interfaccia web avanzata setting_aggregate_reblogs: Raggruppa condivisioni in timeline - setting_auto_play_gif: Play automatico GIF animate + setting_auto_play_gif: Riproduci automaticamente le GIF animate setting_boost_modal: Mostra dialogo di conferma prima del boost setting_crop_images: Ritaglia immagini in post non espansi a 16x9 setting_default_language: Lingua dei post @@ -169,7 +169,7 @@ it: setting_reduce_motion: Riduci movimento nelle animazioni setting_show_application: Rendi pubblica l'applicazione usata per inviare i post setting_system_font_ui: Usa il carattere predefinito del sistema - setting_theme: Tema sito + setting_theme: Tema del sito setting_trends: Mostra tendenze di oggi setting_unfollow_modal: Chiedi conferma prima di smettere di seguire qualcuno setting_use_blurhash: Mostra i gradienti colorati per i media nascosti diff --git a/config/locales/simple_form.uk.yml b/config/locales/simple_form.uk.yml index 339af8ffb..1d4512597 100644 --- a/config/locales/simple_form.uk.yml +++ b/config/locales/simple_form.uk.yml @@ -116,6 +116,8 @@ uk: scheduled_at: Відкладена публікація starts_at: Час початку text: Оголошення + appeal: + text: Поясніть, чому це рішення слід скасувати defaults: autofollow: Запросити слідкувати за вашим обліковим записом avatar: Аватар @@ -194,6 +196,7 @@ uk: sign_up_requires_approval: Обмеження реєстрації severity: Правило notification_emails: + appeal: Хтось подає апеляцію на рішення модератора digest: Надсилати дайджест електронною поштою favourite: Надсилати листа, коли комусь подобається Ваш статус follow: Надсилати листа, коли хтось підписується на Вас @@ -202,6 +205,7 @@ uk: pending_account: Надсилати електронного листа, коли новий обліковий запис потребує розгляду reblog: Надсилати листа, коли хтось передмухує Ваш статус report: Нову скаргу надіслано + trending_tag: Нове популярне вимагає розгляду rule: text: Правило tag: diff --git a/config/locales/simple_form.vi.yml b/config/locales/simple_form.vi.yml index 033209456..3a42a33a6 100644 --- a/config/locales/simple_form.vi.yml +++ b/config/locales/simple_form.vi.yml @@ -39,7 +39,7 @@ vi: digest: Chỉ gửi sau một thời gian dài không hoạt động hoặc khi bạn nhận được tin nhắn (trong thời gian vắng mặt) discoverable: Cho phép tài khoản của bạn xuất hiện trong gợi ý theo dõi, xu hướng và những tính năng khác email: Bạn sẽ được gửi một email xác nhận - fields: Được phép tạo tối đa 4 mục trên trang cá nhân của bạn + fields: Được phép thêm tối đa 4 mục trên trang hồ sơ của bạn header: PNG, GIF hoặc JPG. Kích cỡ tối đa %{size}. Sẽ bị nén xuống %{dimensions}px inbox_url: Sao chép URL của máy chủ mà bạn muốn dùng irreversible: Các tút đã lọc sẽ không thể phục hồi, kể cả sau khi xóa bộ lọc @@ -48,16 +48,16 @@ vi: password: Dùng ít nhất 8 ký tự phrase: Sẽ được hiện thị trong văn bản hoặc cảnh báo nội dung của một tút scopes: API nào ứng dụng sẽ được phép truy cập. Nếu bạn chọn quyền hạn cấp cao nhất, bạn không cần chọn từng phạm vi. - setting_aggregate_reblogs: Nếu một tút đã được đăng lại thì những lượt đăng lại sau sẽ không hiển thị trên bảng tin nữa - setting_default_sensitive: Mặc định là nội dung nhạy cảm và chỉ hiển thị nếu nhấn vào + setting_aggregate_reblogs: Nếu một tút đã được đăng lại thì những lượt đăng lại sau sẽ không hiện trên bảng tin nữa + setting_default_sensitive: Mặc định là nội dung nhạy cảm và chỉ hiện nếu nhấn vào setting_display_media_default: Làm mờ những thứ được đánh dấu là nhạy cảm setting_display_media_hide_all: Không hiển thị - setting_display_media_show_all: Luôn luôn hiển thị - setting_hide_network: Ẩn những người bạn theo dõi và những người theo dõi bạn trên trang cá nhân + setting_display_media_show_all: Luôn hiển thị + setting_hide_network: Ẩn những người bạn theo dõi và những người theo dõi bạn trên trang hồ sơ setting_noindex: Ảnh hưởng đến trang cá nhân và tút của bạn - setting_show_application: Tên ứng dụng bạn dùng để đăng tút sẽ hiện trong chi tiết bài đăng + setting_show_application: Tên ứng dụng bạn dùng để đăng tút sẽ hiện trong chi tiết của tút setting_use_blurhash: Lớp phủ mờ dựa trên màu sắc của hình ảnh nhạy cảm - setting_use_pending_items: Dồn lại toàn bộ tút mới và chỉ hiển thị khi nhấp chuột vào + setting_use_pending_items: Dồn lại toàn bộ tút mới và chỉ hiển thị khi nhấn vào username: Tên người dùng của bạn sẽ là duy nhất trên %{domain} whole_word: Khi từ khóa hoặc cụm từ là chữ và số, nó sẽ chỉ hiện ra những từ chính xác như vậy domain_allow: @@ -132,7 +132,7 @@ vi: context: Áp dụng current_password: Mật khẩu hiện tại data: Dữ liệu - discoverable: Liệt kê tài khoản trên danh sách thành viên + discoverable: Đề xuất tài khoản display_name: Tên hiển thị email: Địa chỉ email expires_in: Hết hạn sau @@ -149,7 +149,7 @@ vi: otp_attempt: Xác thực hai bước password: Mật khẩu phrase: Từ khóa hoặc cụm từ - setting_advanced_layout: Bật giao diện nhiều cột + setting_advanced_layout: Bật bố cục nhiều cột setting_aggregate_reblogs: Không hiện lượt đăng lại trùng lặp setting_auto_play_gif: Tự động phát ảnh GIF setting_boost_modal: Yêu cầu xác nhận trước khi đăng lại tút @@ -163,7 +163,7 @@ vi: setting_display_media_default: Mặc định setting_display_media_hide_all: Ẩn toàn bộ setting_display_media_show_all: Hiện toàn bộ - setting_expand_spoilers: Luôn hiển thị đầy đủ nội dung tút + setting_expand_spoilers: Luôn hiển thị tút có nội dung ẩn setting_hide_network: Ẩn quan hệ của bạn setting_noindex: Không xuất hiện trong công cụ tìm kiếm setting_reduce_motion: Giảm chuyển động ảnh GIF @@ -171,7 +171,7 @@ vi: setting_system_font_ui: Dùng phông chữ mặc định của hệ thống setting_theme: Giao diện setting_trends: Hiển thị xu hướng hôm nay - setting_unfollow_modal: Yêu cầu xác nhận trước khi hủy theo dõi ai đó + setting_unfollow_modal: Yêu cầu xác nhận trước khi ngưng theo dõi ai đó setting_use_blurhash: Làm mờ trước ảnh/video nhạy cảm setting_use_pending_items: Không tự động cập nhật bảng tin severity: Mức độ nghiêm trọng diff --git a/config/locales/sk.yml b/config/locales/sk.yml index 687f4d40d..c116714de 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -1144,9 +1144,6 @@ sk: explanation: Vyžiadal/a si si úplnú zálohu svojho Mastodon účtu. Táto záloha je teraz pripravená na stiahnutie! subject: Tvoj archív je pripravený na stiahnutie title: Odber archívu - sign_in_token: - subject: Prosím potvrď pokus o prihlásenie - title: Pokus o prihlásenie warning: subject: disable: Tvoj účet %{acct} bol zamrazený @@ -1181,7 +1178,6 @@ sk: otp_lost_help_html: Pokiaľ si stratil/a prístup k obom, môžeš dať vedieť %{email} seamless_external_login: Si prihlásená/ý cez externú službu, takže nastavenia hesla a emailu ti niesú prístupné. signed_in_as: 'Prihlásená/ý ako:' - suspicious_sign_in_confirmation: Vyzerá to, že si sa predtým z tohto zariadenia ešte neprihlasoval/a, takže ti na tvoju emailovú adresu pošleme bezpečnostný kód, aby sa potvrdilo, že si to ty. verification: explanation_html: 'Môžeš sa overiť ako majiteľ odkazov v metadátach tvojho profilu. Na to ale musí odkazovaná stránka obsahovať odkaz späť na tvoj Mastodon profil. Tento spätný odkaz musí mať prívlastok rel="me". Na texte odkazu nezáleží. Tu je príklad:' verification: Overenie diff --git a/config/locales/sl.yml b/config/locales/sl.yml index 6de760dbc..e73143ad6 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -1116,8 +1116,6 @@ sl: explanation: Zahtevali ste popolno varnostno kopijo računa Mastodon. Zdaj je pripravljen za prenos! subject: Vaš arhiv je pripravljen za prenos title: Prevzem arhiva - sign_in_token: - title: Poskus prijave warning: reason: 'Razlog:' subject: @@ -1151,7 +1149,6 @@ sl: users: follow_limit_reached: Ne morete spremljati več kot %{limit} ljudi invalid_otp_token: Neveljavna dvofaktorska koda - invalid_sign_in_token: Neveljavna varnostna koda otp_lost_help_html: Če ste izgubili dostop do obeh, stopite v stik z %{email} seamless_external_login: Prijavljeni ste prek zunanje storitve, tako da nastavitve gesla in e-pošte niso na voljo. signed_in_as: 'Vpisani kot:' diff --git a/config/locales/sq.yml b/config/locales/sq.yml index 560f4bff7..bdcbaabbb 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -199,7 +199,6 @@ sq: security_measures: only_password: Vetëm fjalëkalim password_and_2fa: Fjalëkalim dhe 2FA - password_and_sign_in_token: Fjalëkalim dhe token email-i sensitive: Rezervat sensitized: iu vu shenjë si rezervat shared_inbox_url: URL kutie të përbashkët mesazhesh @@ -597,7 +596,6 @@ sq: action_taken_by: Veprimi i ndërmarrë nga actions: delete_description_html: Postimet e raportuara do të fshihen dhe do të regjistrohet një paralajmërim, për t’ju ndihmuar të përshkallëzoni hapat në rast shkeljesh të ardhme nga e njëjta llogari. - mark_as_sensitive_description_html: Media në postimet e raportuar do të shënohet si rezervat dhe do të regjistrohet një paralajmërim për t’ju ndihmuar ta shpini çështjen më tej, në rast shkeljesh të ardhshme nga e njëjta llogari. other_description_html: Shihni më tepër mundësi për kontroll të sjelljes së një llogari dhe përshtatni komunikimin me llogarinë e raportuar. resolve_description_html: Ndaj llogarisë së raportuar nuk do të ndërmerret ndonjë veprim, s’do të regjistrohet ndonjë paralajmërim dhe raporti do të mbyllet. silence_description_html: Profili do të jetë i dukshëm vetëm për ata që e ndjekin tashmë, ose që e kërkojnë dorazi, duke reduktuar rëndë përhapjen e tij. Mundet përherë të prapakthehet. @@ -1627,12 +1625,6 @@ sq: explanation: Kërkuat një kopjeruajtje të plotë të llogarisë tuaj Mastodon. E keni gati për shkarkim! subject: Arkivi juaj është gati për shkarkim title: Marrje arkivi me vete - sign_in_token: - details: 'Ja hollësitë e përpjekjes:' - explanation: 'Pikasëm një përpjekje për të bërë hyrje në llogarinë tuaj nga një adresë IP jo e pranuar. Nëse ky jeni ju, ju lutemi jepni kodin e sigurisë më poshtë te faqja e pyetjes për hyrje:' - further_actions: 'Nëse ky s’qetë ju, ju lutemi, ndryshoni fjalëkalimin tuaj dhe aktivizoni në llogarinë tuaj mirëfilltësim dyfaktorësh. Këtë mund ta bëni këtu:' - subject: Ju lutemi, ripohoni përpjekje hyrjeje - title: Përpjekje hyrjeje warning: appeal: Parashtroni një apelim appeal_description: Nëse besoni se është gabim, mund t’i parashtroni një apelim stafit të %{instance}. @@ -1683,13 +1675,10 @@ sq: title: Mirë se vini, %{name}! users: follow_limit_reached: S’mund të ndiqni më tepër se %{limit} persona - generic_access_help_html: Problem me hyrjen në llogarinë tuaj? Për asistencë mund të lidheni me %{email} invalid_otp_token: Kod dyfaktorësh i pavlefshëm - invalid_sign_in_token: Kod sigurie i pavlefshëm otp_lost_help_html: Nëse humbët hyrjen te të dy, mund të lidheni me %{email} seamless_external_login: Jeni futur përmes një shërbimi të jashtëm, ndaj s’ka rregullime fjalëkalimi dhe email. signed_in_as: 'I futur si:' - suspicious_sign_in_confirmation: Duket se s’keni hyrë më parë nga kjo pajisje, dhe se keni kohë pa bërë hyrje, ndaj po ju dërgojmë një kod sigurie te adresa juaj email, që të ripohoni se jeni ju. verification: explanation_html: 'Mundeni të verifikoni veten si i zoti i lidhjeve te tejtëdhënat e profilit tuaj. Për këtë, sajti i lidhur duhet të përmbajë një lidhje për te profili juaj Mastodon. Lidhje për te ajo duhet të ketë një atribut rel="me". Lënda tekst e lidhjes nuk ngre peshë. Ja një shembull:' verification: Verifikim diff --git a/config/locales/sv.yml b/config/locales/sv.yml index c8424e5f5..1b3ae61f3 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -187,7 +187,6 @@ sv: security_measures: only_password: Endast lösenord password_and_2fa: Lösenord och 2FA - password_and_sign_in_token: Lösenord och e-post token sensitive: Känsligt sensitized: markerad som känsligt shared_inbox_url: Delad inkorg URL @@ -1263,10 +1262,8 @@ sv: explanation: Du begärde en fullständig säkerhetskopiering av ditt Mastodon-konto. Det är nu klart för nedladdning! subject: Ditt arkiv är klart för nedladdning title: Arkivuttagning - sign_in_token: - details: 'Här är detaljerna för försöket:' - further_actions: 'Om det inte var du, vänligen ändra ditt lösenord och aktivera tvåfaktor-autentisering i ditt konto. Du kan göra det här:' - title: Inloggningsförsök + suspicious_sign_in: + change_password: Ändra ditt lösenord warning: reason: 'Anledning:' subject: @@ -1298,9 +1295,7 @@ sv: title: Välkommen ombord, %{name}! users: follow_limit_reached: Du kan inte följa fler än %{limit} personer - generic_access_help_html: Har du problem med att komma åt ditt konto? Du kan komma i kontakt med %{email} för assistans invalid_otp_token: Ogiltig tvåfaktorskod - invalid_sign_in_token: Ogiltig säkerhetskod otp_lost_help_html: Om du förlorat åtkomst till båda kan du komma i kontakt med %{email} seamless_external_login: Du är inloggad via en extern tjänst, så lösenord och e-postinställningar är inte tillgängliga. signed_in_as: 'Inloggad som:' diff --git a/config/locales/ta.yml b/config/locales/ta.yml index d5ba7603d..e3b61a487 100644 --- a/config/locales/ta.yml +++ b/config/locales/ta.yml @@ -300,14 +300,3 @@ ta: errors: in_reply_not_found: நீங்கள் மறுமொழி அளிக்க முயலும் பதிவு இருப்பதுபோல் தெரியவில்லை. show_thread: தொடரைக் காட்டு - user_mailer: - sign_in_token: - details: 'அம்முயற்சி பற்றிய விவரங்கள் இங்கே:' - explanation: 'அங்கீகரிக்கப்படாத ஓர் IP முகவரியிலிருந்து உங்கள் கணக்கிற்குள் நுழையும் முயற்சி நடந்துள்ளது. இது நீங்கள்தான் என்றால், தயவுசெய்து பாதுகாப்பு குறியீட்டைக் கீழே உள்ளிடவும்:' - further_actions: 'இது நீங்கள் இல்லை என்றால், தயவுசெய்து உங்கள் கடவுச்சொல்லை மாற்றவும். மேலும், உங்கள் கணக்கிற்கு இரண்டு கட்ட அங்கீகாரத்தை (two-factor authentication) செயலாக்கவும். அதை இங்கு செய்ய இயலும்:' - subject: உள்நுழைய முயற்சித்ததை தயவுசெய்து உறுதிபடுத்தவும் - title: உள்நுழைய முயற்சி - users: - generic_access_help_html: உங்கள் கணக்கை அணுகுவதில் சிக்கலா? உதவிக்கு %{email} -உடன் தொடர்பு கொள்ளவும் - invalid_sign_in_token: தவறான பாதுகாப்புக் குறியீடு - suspicious_sign_in_confirmation: இதற்கு முன்பு இந்த சாதனத்திலிருந்து நீங்கள் உள்நுழைந்ததுபோல் தெரியவில்லை. மேலும், நீங்கள் உள்நுழைந்தே சில காலம் ஆகிறது. எனவே, இது நீங்கள்தானா என்பதை உறுதிப்படுத்த உங்கள் மின்னஞ்சல் முகவரிக்கு ஒரு பாதுகாப்புக் குறியீட்டை அனுப்புகிறோம். diff --git a/config/locales/th.yml b/config/locales/th.yml index ce40b9517..8ca32ca03 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -156,6 +156,8 @@ th: pending: การตรวจทานที่รอดำเนินการ perform_full_suspension: ระงับ previous_strikes: การดำเนินการก่อนหน้านี้ + previous_strikes_description_html: + other: บัญชีนี้มี %{count} การดำเนินการ promote: เลื่อนขั้น protocol: โปรโตคอล public: สาธารณะ @@ -186,7 +188,6 @@ th: security_measures: only_password: รหัสผ่านเท่านั้น password_and_2fa: รหัสผ่านและ 2FA - password_and_sign_in_token: รหัสผ่านและโทเคนอีเมล sensitive: บังคับให้ละเอียดอ่อน sensitized: ทำเครื่องหมายว่าละเอียดอ่อนแล้ว shared_inbox_url: URL กล่องขาเข้าที่แบ่งปัน @@ -486,6 +487,8 @@ th: delivery_available: มีการจัดส่ง delivery_error_days: วันที่มีข้อผิดพลาดการจัดส่ง empty: ไม่พบโดเมน + known_accounts: + other: "%{count} บัญชีที่รู้จัก" moderation: all: ทั้งหมด limited: จำกัดอยู่ @@ -729,6 +732,8 @@ th: allow_provider: อนุญาตผู้เผยแพร่ disallow: ไม่อนุญาตลิงก์ disallow_provider: ไม่อนุญาตผู้เผยแพร่ + shared_by_over_week: + other: แบ่งปันโดย %{count} คนในช่วงสัปดาห์ที่ผ่านมา title: ลิงก์ที่กำลังนิยม usage_comparison: แบ่งปัน %{today} ครั้งวันนี้ เทียบกับ %{yesterday} เมื่อวานนี้ pending_review: การตรวจทานที่รอดำเนินการ @@ -763,6 +768,8 @@ th: trending_rank: 'กำลังนิยม #%{rank}' usable: สามารถใช้ usage_comparison: ใช้ %{today} ครั้งวันนี้ เทียบกับ %{yesterday} เมื่อวานนี้ + used_by_over_week: + other: ใช้โดย %{count} คนในช่วงสัปดาห์ที่ผ่านมา title: แนวโน้ม warning_presets: add_new: เพิ่มใหม่ @@ -1412,12 +1419,6 @@ th: explanation: คุณได้ขอข้อมูลสำรองแบบเต็มของบัญชี Mastodon ของคุณ ตอนนี้ข้อมูลสำรองพร้อมสำหรับการดาวน์โหลดแล้ว! subject: การเก็บถาวรของคุณพร้อมสำหรับการดาวน์โหลดแล้ว title: การส่งออกการเก็บถาวร - sign_in_token: - details: 'นี่คือรายละเอียดของความพยายาม:' - explanation: 'เราตรวจพบความพยายามลงชื่อเข้าบัญชีของคุณจากที่อยู่ IP ที่ไม่รู้จัก หากนี่คือคุณ โปรดป้อนรหัสความปลอดภัยด้านล่างในหน้าตรวจสอบการลงชื่อเข้า:' - further_actions: 'หากนี่ไม่ใช่คุณ โปรดเปลี่ยนรหัสผ่านของคุณและเปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยในบัญชีของคุณ คุณสามารถทำได้ที่นี่:' - subject: โปรดยืนยันการลงชื่อเข้าที่พยายาม - title: ความพยายามลงชื่อเข้า warning: appeal: ส่งการอุทธรณ์ appeal_description: หากคุณเชื่อว่านี่เป็นข้อผิดพลาด คุณสามารถส่งการอุทธรณ์ไปยังพนักงานของ %{instance} @@ -1468,13 +1469,10 @@ th: title: ยินดีต้อนรับ %{name}! users: follow_limit_reached: คุณไม่สามารถติดตามมากกว่า %{limit} คน - generic_access_help_html: มีปัญหาในการเข้าถึงบัญชีของคุณ? คุณสามารถติดต่อ %{email} สำหรับความช่วยเหลือ invalid_otp_token: รหัสสองปัจจัยไม่ถูกต้อง - invalid_sign_in_token: รหัสความปลอดภัยไม่ถูกต้อง otp_lost_help_html: หากคุณสูญเสียการเข้าถึงทั้งสองอย่าง คุณสามารถติดต่อ %{email} seamless_external_login: คุณได้เข้าสู่ระบบผ่านบริการภายนอก ดังนั้นจึงไม่มีการตั้งค่ารหัสผ่านและอีเมล signed_in_as: 'ลงชื่อเข้าเป็น:' - suspicious_sign_in_confirmation: ดูเหมือนว่าคุณไม่เคยเข้าสู่ระบบจากอุปกรณ์นี้มาก่อน ดังนั้นเราจึงส่งรหัสความปลอดภัยไปยังที่อยู่อีเมลของคุณเพื่อยืนยันว่าเป็นคุณ verification: verification: การตรวจสอบ webauthn_credentials: diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 2733f5eba..a0145c644 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -165,6 +165,9 @@ tr: pending: Bekleyen yorum perform_full_suspension: Askıya al previous_strikes: Önceki eylemler + previous_strikes_description_html: + one: Bu hesap için bir eylem yapılmış. + other: Bu hesap için %{count} eylem yapılmış. promote: Yükselt protocol: Protokol public: Herkese açık @@ -196,7 +199,6 @@ tr: security_measures: only_password: Sadece parola password_and_2fa: Parola ve İki aşamalı doğrulama - password_and_sign_in_token: Parola ve e-posta tokeni sensitive: Hassas sensitized: Hassas olarak işaretlendi shared_inbox_url: Paylaşılan gelen kutusu bağlantısı @@ -523,6 +525,9 @@ tr: delivery_error_hint: Eğer teslimat %{count} gün boyunca mümkün olmazsa, otomatik olarak teslim edilemiyor olarak işaretlenecek. destroyed_msg: "%{domain} alan adından veriler hemen silinmek üzere kuyruğa alındı." empty: Alan adı bulunamadı. + known_accounts: + one: "%{count} bilinen hesap" + other: "%{count} bilinen hesap" moderation: all: Tümü limited: Sınırlı @@ -592,7 +597,6 @@ tr: action_taken_by: tarafından gerçekleştirilen eylem actions: delete_description_html: Bildirilen gönderiler silinecek ve aynı hesapla ileride yaşabileceğiniz etkileşimlerde çoğaltmanız için bir eylem kaydedilecek. - mark_as_sensitive_description_html: Bildirilen gönderilerdeki medya dosyaları hassas olarak işaretlenecek ve aynı hesapla ileride yaşayabileceğiniz etkileşimlerde kullanabilmeniz için bir eylem kaydedilecek. other_description_html: Hesabın davranışını denetlemek ve bildirilen hesabın iletişimini yapılandırmak için daha fazla seçenek görün. resolve_description_html: Bildirilen hesap için bir şey yapılmayacak, eylem kaydedilmeyecek ve bildirim kapatılacak. silence_description_html: Profil sadece halihazırda takip edenler ve elle bakanlarca görünecek, böylece erişimi ciddi bir şekilde kısıtlanacak. Her zaman geri alınabilir. @@ -767,6 +771,11 @@ tr: system_checks: database_schema_check: message_html: Beklemede olan veritabanı güncellemeleri mevcut. Uygulamanın beklenildiği gibi çalışması için lütfen onları çalıştırın + elasticsearch_running_check: + message_html: Elasticsearch'e bağlanılamıyor. Çalıştığından emin olun veya tüm metin aramayı devre dışı bırakın + elasticsearch_version_check: + message_html: 'Uyumsuz Elasticsearch sürümü: %{value}' + version_comparison: Elasticsearch %{running_version} sürümü çalışıyor, ancak %{required_version} sürümü gerekiyor rules_check: action: Sunucu kurallarını yönet message_html: Herhangi bir sunucu kuralı belirlemediniz. @@ -786,6 +795,9 @@ tr: description_html: Bu bağlantılar şu anda sunucunuzun gönderilerini gördüğü hesaplarca bolca paylaşılıyor. Kullanıcılarınızın dünyada neler olduğunu görmesine yardımcı olabilir. Yayıncıyı onaylamadığınız sürece hiçbir bağlantı herkese açık yayınlanmaz. Tekil bağlantıları onaylayabilir veya reddedebilirsiniz. disallow: Bağlantıya izin verme disallow_provider: Yayıncıya izin verme + shared_by_over_week: + one: Geçen hafta bir kişi paylaştı + other: Geçen hafta %{count} kişi paylaştı title: Öne çıkan bağlantılar usage_comparison: Bugün %{today} kere paylaşıldı, dün %{yesterday} kere paylaşılmıştı pending_review: İnceleme bekliyor @@ -825,6 +837,9 @@ tr: trending_rank: 'Öne çıkanlar #%{rank}' usable: Kullanılabilir usage_comparison: Bugün %{today} kere kullanıldı, dün %{yesterday} kere kullanılmıştı + used_by_over_week: + one: Geçen hafta bir kişi tarafından kullanıldı + other: Geçen hafta %{count} kişi tarafından kullanıldı title: Öne çıkanlar warning_presets: add_new: Yeni ekle @@ -1616,12 +1631,13 @@ tr: explanation: Mastodon hesabınızın tam yedeğini istemiştiniz. Şimdi indirilebilir durumda! subject: Arşiviniz indirilmeye hazır title: Arşiv paketlemesi - sign_in_token: - details: 'İşte bu girişimin ayrıntıları:' - explanation: 'Tanınmayan bir IP adresinden hesabınızda oturum açma denemesi tespit ettik. Bu sizseniz, lütfen oturum açma sorgulama sayfasına aşağıdaki güvenlik kodunu girin:' - further_actions: 'Bu siz değildiyseniz, lütfen şifrenizi değiştirin ve hesabınızda iki faktörlü kimlik doğrulamayı etkinleştirin. Bunu buradan yapabilirsiniz:' - subject: Lütfen oturum açma girişimini onaylayın - title: Oturum açma girişimi + suspicious_sign_in: + change_password: parolanızı değiştirin + details: 'Oturum açma ayrıntıları şöyledir:' + explanation: Hesabınıza yeni bir IP adresinden oturum açıldığını farkettik. + further_actions_html: Eğer oturum açan siz değildiyseniz, hesabınızı güvenli tutmanız için hemen %{action} yapmanızı ve iki aşamalı yetkilendirmeyi etkinleştirmenizi öneriyoruz. + subject: Hesabınıza yeni bir IP adresinden erişim oldu + title: Yeni bir oturum açma warning: appeal: Bir itiraz gönder appeal_description: Bunun bir hata olduğunu düşünüyorsanız, %{instance} sunucusunun personeline bir itiraz gönderebilirsiniz. @@ -1672,13 +1688,10 @@ tr: title: Gemiye hoşgeldin, %{name}! users: follow_limit_reached: "%{limit} kişiden daha fazlasını takip edemezsiniz" - generic_access_help_html: Hesabınıza erişirken sorun mu yaşıyorsunuz? Yardım için %{email} ile iletişime geçebilirsiniz invalid_otp_token: Geçersiz iki adımlı doğrulama kodu - invalid_sign_in_token: Geçersiz güvenlik kodu otp_lost_help_html: Her ikisine de erişiminizi kaybettiyseniz, %{email} ile irtibata geçebilirsiniz seamless_external_login: Harici bir servis aracılığıyla oturum açtınız, bu nedenle parola ve e-posta ayarları mevcut değildir. signed_in_as: 'Oturum açtı:' - suspicious_sign_in_confirmation: Bu cihazdan daha önce oturum açmamış gibi görünüyorsunuz ve bir süredir oturum açmamışsınız, bu yüzden kimliğinizi doğrulamak için e-posta adresinize bir güvenlik kodu gönderiyoruz. verification: explanation_html: 'Profil meta verisindeki bağlantıların sahibi olarak kendinizi doğrulayabilirsiniz. Bunun için, link verilen web sitesi Mastodon profilinize geri bir link içermelidir. Geri link bir rel="me" özelliğine sahip olmalıdır. Bağlantının metin içeriği önemli değildir. İşte bir örnek:' verification: Doğrulama diff --git a/config/locales/uk.yml b/config/locales/uk.yml index a42f048d6..cfc05a1a0 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -199,7 +199,6 @@ uk: security_measures: only_password: Лише пароль password_and_2fa: Пароль та 2FA - password_and_sign_in_token: Пароль та токен з е-пошти sensitive: Делікатне sensitized: позначено делікатним shared_inbox_url: URL спільного вхідного кошика @@ -459,12 +458,15 @@ uk: title: Поради щодо підписок unsuppress: Відновити поради щодо підписок instances: + availability: + title: Доступність back_to_all: Усі back_to_limited: Обмежені back_to_warning: Попередження by_domain: Домен confirm_purge: Ви впевнені, що хочете видалити ці дані з цього домену? content_policies: + comment: Внутрішня примітка policies: reject_media: Відхилити медіа reject_reports: Відхилити скарги @@ -486,6 +488,11 @@ uk: delivery_error_hint: Якщо доставляння неможливе впродовж %{count} днів, воно автоматично позначиться недоставленим. destroyed_msg: Дані з %{domain} тепер у черзі на видалення. empty: Доменів не знайдено. + known_accounts: + few: "%{count} відомі облікові записи" + many: "%{count} відомих облікових записів" + one: "%{count} відомий обліковий запис" + other: "%{count} відомих облікових записів" moderation: all: Усі limited: Обмежені @@ -583,6 +590,7 @@ uk: placeholder: Опишіть, які дії були виконані, або інші зміни, що стосуються справи... title: Примітки notes_description_html: Переглядайте та залишайте примітки для інших модераторів та для себе на майбутнє + remote_user_placeholder: віддалений користувач із %{instance} reopen: Перевідкрити скаргу report: 'Скарга #%{id}' reported_account: Обліковий запис порушника @@ -715,6 +723,14 @@ uk: strikes: actions: delete_statuses: "%{name} видаляє допис від %{target}" + disable: "%{name} заморожує обліковий запис %{target}" + mark_statuses_as_sensitive: "%{name} позначає допис від %{target} делікатним" + none: "%{name} надсилає попередження до %{target}" + sensitive: "%{name} позначає обліковий запис %{target} делікатним" + silence: "%{name} обмежує обліковий запис %{target}" + suspend: "%{name} заморожує обліковий запис %{target}" + appeal_approved: Оскаржено + appeal_pending: Оскарження в очікуванні system_checks: database_schema_check: message_html: Існують відкладені перенесення бази даних. Запустіть їх, щоб забезпечити очікувану роботу програми @@ -749,6 +765,7 @@ uk: allow_account: Дозволити автора disallow: Заборонити допис disallow_account: Заборонити автора + title: Популярні дописи tags: current_score: Поточний результат %{score} dashboard: @@ -767,6 +784,11 @@ uk: trending_rank: 'Популярність #%{rank}' usable: Може бути використано usage_comparison: Сьогодні використано %{today} разів, у порівнянні з %{yesterday} вчора + used_by_over_week: + few: Використали %{count} людини за минулий тиждень + many: Використали %{count} людей за минулий тиждень + one: Використала одна людина за минулий тиждень + other: Використали %{count} людей за минулий тиждень title: Популярні warning_presets: add_new: Додати новий @@ -779,6 +801,7 @@ uk: actions: delete_statuses: щоб видалити їхні дописи disable: щоб заморозити їхній обліковий запис + mark_statuses_as_sensitive: позначати їхні повідомлення делікатними none: попередження sensitive: щоб позначати їхній обліковий запис делікатним silence: щоб обмежити їхній обліковий запис @@ -792,6 +815,16 @@ uk: body: "%{reporter} поскаржився(-лася) на %{target}" body_remote: Хтось з домену %{domain} поскаржився(-лася) на %{target} subject: Нова скарга до %{instance} (#%{id}) + new_trends: + new_trending_links: + title: Популярні посилання + new_trending_statuses: + no_approved_statuses: На цей час немає схвалених популярних дописів. + title: Популярні дописи + new_trending_tags: + no_approved_tags: На цей час немає схвалених популярних хештегів. + title: Популярні хештеги + subject: Нове популярне до розгляду на %{instance} aliases: add_new: Створити псевдонім created_msg: Новий псевдонім успішно створено. Тепер ви можете починати переміщення зі старого облікового запису. @@ -1474,12 +1507,6 @@ uk: explanation: Ви робили запит повної резервної копії вашого облікового запису Mastodon. Вона вже готова для завантаження! subject: Ваш архів готовий до завантаження title: Винесення архіву - sign_in_token: - details: 'Детальніше про спробу входу:' - explanation: 'Ми виявили спробу входу до вашого облікового запису з невідомої IP-адреси. Якщо це ви, будь ласка, введіть наведений нижче код безпеки на сторінці входу:' - further_actions: 'Якщо це були не ви, будь ласка, змініть свій пароль та увімкніть двофакторну автентифікацію для вашого облікового запису. Ви можете зробити це тут:' - subject: Будь ласка, підтвердіть спробу входу - title: Спроба входу warning: appeal: Подати апеляцію categories: @@ -1522,13 +1549,10 @@ uk: title: Ласкаво просимо, %{name}! users: follow_limit_reached: Не можна слідкувати більш ніж за %{limit} людей - generic_access_help_html: Не вдається отримати доступ до облікового запису? Ви можете зв'язатися з %{email} для допомоги invalid_otp_token: Введено неправильний код - invalid_sign_in_token: Хибний код безпеки otp_lost_help_html: Якщо ви втратили доступ до обох, ви можете отримати доступ з %{email} seamless_external_login: Ви увійшли за допомогою зовнішнього сервісу, тому налаштування паролю та електронної пошти недоступні. signed_in_as: 'Ви увійшли як:' - suspicious_sign_in_confirmation: Здається, ви не входили до цього облікового запису з цього пристрою, а також не входили взагалі деякий час, таким чином ми надсилаємо код безпеки на вашу адресу електронної пошти, щоб підтвердити, що це ви. verification: explanation_html: 'Володіння посиланнями у профілі можна підтвердити. Для цього на зазначеному сайті повинна міститися посилання на ваш профіль Mastodon, а у самому посиланні повинен бути атрибут rel="me". Що всередині посилання - значення не має. Ось вам приклад посилання:' verification: Підтвердження diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 14e6c1c3b..6730df9ec 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -165,7 +165,7 @@ vi: protocol: Giao thức public: Công khai push_subscription_expires: Đăng ký PuSH hết hạn - redownload: Làm mới trang cá nhân + redownload: Làm mới trang hồ sơ redownloaded_msg: Đã tiếp nhận tài khoản %{username} thành công reject: Từ chối rejected_msg: Đã từ chối đăng ký tài khoản %{username} @@ -192,13 +192,12 @@ vi: security_measures: only_password: Chỉ mật khẩu password_and_2fa: Mật khẩu và 2FA - password_and_sign_in_token: Mật khẩu và email sensitive: Nhạy cảm sensitized: Đánh dấu nhạy cảm shared_inbox_url: Hộp thư của máy chủ người này show: - created_reports: Lượt báo cáo - targeted_reports: Báo cáo bởi người khác + created_reports: Gửi báo cáo + targeted_reports: Bị báo cáo silence: Ẩn silenced: Hạn chế statuses: Tút @@ -225,8 +224,8 @@ vi: whitelisted: Danh sách trắng action_logs: action_types: - approve_appeal: Phê duyệt kháng cáo - approve_user: Phê duyệt người dùng + approve_appeal: Chấp nhận kháng cáo + approve_user: Chấp nhận người dùng assigned_to_self_report: Tự xử lý báo cáo change_email_user: Đổi email người dùng confirm_user: Xác thực người dùng @@ -252,7 +251,7 @@ vi: disable_custom_emoji: Vô hiệu hóa emoji disable_sign_in_token_auth_user: Tắt xác thực bằng email cho người dùng disable_user: Vô hiệu hóa đăng nhập - enable_custom_emoji: Cho phép Emoji + enable_custom_emoji: Cho phép emoji enable_sign_in_token_auth_user: Bật xác thực bằng email cho người dùng enable_user: Bỏ vô hiệu hóa đăng nhập memorialize_account: Đánh dấu tưởng niệm @@ -272,11 +271,11 @@ vi: unsilence_account: Bỏ hạn chế unsuspend_account: Bỏ vô hiệu hóa update_announcement: Cập nhật thông báo - update_custom_emoji: Cập nhật Emoji + update_custom_emoji: Cập nhật emoji update_domain_block: Cập nhật máy chủ chặn update_status: Cập nhật tút actions: - approve_appeal_html: "%{name} đã phê duyệt quyết định kiểm duyệt từ %{target}" + approve_appeal_html: "%{name} đã chấp nhận kháng cáo của %{target}" approve_user_html: "%{name} đã chấp nhận đăng ký từ %{target}" assigned_to_self_report_html: "%{name} tự xử lý báo cáo %{target}" change_email_user_html: "%{name} đã thay đổi địa chỉ email của %{target}" @@ -582,11 +581,11 @@ vi: action_taken_by: Hành động được thực hiện bởi actions: delete_description_html: Những tút bị báo cáo sẽ được xóa và 1 lần cảnh cáo sẽ được ghi lại để giúp bạn lưu ý về tài khoản này trong tương lai. - mark_as_sensitive_description_html: Media trong báo cáo sẽ bị đánh dấu nhạy cảm và họ nhận 1 lần cảnh cáo. + mark_as_sensitive_description_html: Media trong các tút bị báo cáo sẽ được đánh dấu là nhạy cảm và 1 lần cảnh cáo sẽ được ghi lại để giúp bạn nắm bắt nhanh những vi phạm của cùng một tài khoản. other_description_html: Những tùy chọn để kiểm soát tài khoản và giao tiếp với tài khoản bị báo cáo. resolve_description_html: Không có hành động nào áp dụng đối với tài khoản bị báo cáo, không có cảnh cáo, và báo cáo sẽ được đóng. - silence_description_html: Trang cá nhân sẽ chỉ hiển thị với những người đã theo dõi hoặc tìm kiếm thủ công, hạn chế tối đa tầm ảnh hưởng của nó. Có thể đổi lại bình thường sau. - suspend_description_html: Trang cá nhân và tất cả các nội dung sẽ không thể truy cập cho đến khi nó bị xóa hoàn toàn. Không thể tương tác với tài khoản. Đảo ngược trong vòng 30 ngày. + silence_description_html: Trang hồ sơ sẽ chỉ hiển thị với những người đã theo dõi hoặc tìm kiếm thủ công, hạn chế tối đa tầm ảnh hưởng của nó. Có thể đổi lại bình thường sau. + suspend_description_html: Trang hồ sơ và tất cả các nội dung sẽ không thể truy cập cho đến khi nó bị xóa hoàn toàn. Không thể tương tác với tài khoản. Đảo ngược trong vòng 30 ngày. actions_description_html: Hướng xử lý báo cáo này. Nếu áp đặt trừng phạt, một email thông báo sẽ được gửi cho họ, ngoại trừ Spam. add_to_report: Bổ sung báo cáo are_you_sure: Bạn có chắc không? @@ -631,7 +630,7 @@ vi: unassign: Bỏ qua unresolved: Chờ xử lý updated_at: Cập nhật lúc - view_profile: Xem trang cá nhân + view_profile: Xem trang hồ sơ rules: add_new: Thêm quy tắc delete: Xóa bỏ @@ -874,7 +873,7 @@ vi: remove: Bỏ liên kết bí danh appearance: advanced_web_interface: Bố cục - advanced_web_interface_hint: 'Giao diện nhiều cột cho phép bạn chuyển bố cục hiển thị thành nhiều cột khác nhau. Bao gồm: Bảng tin, thông báo, thế giới, cũng như danh sách và hashtag. Rất thích hợp nếu bạn đang dùng màn hình rộng.' + advanced_web_interface_hint: 'Bố cục nhiều cột cho phép bạn chuyển bố cục hiển thị thành nhiều cột khác nhau. Bao gồm: Bảng tin, thông báo, thế giới, cũng như danh sách và hashtag. Thích hợp nếu bạn đang dùng màn hình rộng.' animations_and_accessibility: Bảng tin confirmation_dialogs: Hộp thoại xác nhận discovery: Khám phá @@ -889,7 +888,7 @@ vi: salutation: "%{name}," settings: 'Thay đổi tùy chọn email: %{link}' view: 'Chi tiết:' - view_profile: Xem trang cá nhân + view_profile: Xem trang hồ sơ view_status: Xem tút applications: created: Đơn đăng ký được tạo thành công @@ -920,7 +919,7 @@ vi: login: Đăng nhập logout: Đăng xuất migrate_account: Chuyển sang tài khoản khác - migrate_account_html: Nếu bạn muốn bỏ tài khoản này để dùng một tài khoản khác, bạn có thể thiết lập nó ở đây. + migrate_account_html: Nếu bạn muốn bỏ tài khoản này để dùng một tài khoản khác, bạn có thể thiết lập tại đây. or_log_in_with: Hoặc đăng nhập bằng providers: cas: CAS @@ -954,7 +953,7 @@ vi: following: Chúc mừng! Bạn đã trở thành người theo dõi post_follow: close: Bạn có thể đóng cửa sổ này rồi. - return: Xem trang cá nhân + return: Xem trang hồ sơ web: Mở trong Mastodon title: Theo dõi %{acct} challenge: @@ -1007,7 +1006,7 @@ vi: explore_mastodon: Thành viên %{title} disputes: strikes: - action_taken: Hành động đã thực hiện + action_taken: Hành động thực hiện appeal: Khiếu nại appeal_approved: Khiếu nại đã được chấp nhận và cảnh cáo không còn giá trị appeal_rejected: Khiếu nại bị từ chối @@ -1061,21 +1060,21 @@ vi: in_progress: Đang tổng hợp dữ liệu của bạn... request: Tải về dữ liệu của bạn size: Dung lượng - blocks: Người bạn chặn + blocks: Người chặn bookmarks: Tút đã lưu csv: CSV - domain_blocks: Máy chủ bạn chặn + domain_blocks: Máy chủ chặn lists: Danh sách - mutes: Người bạn ẩn + mutes: Người ẩn storage: Tập tin featured_tags: add_new: Thêm mới errors: limit: Bạn đã đạt tới số lượng hashtag tối đa - hint_html: "Hashtag thường dùng là gì? Chúng là những hashtag sẽ được hiển thị nổi bật trên trang cá nhân của bạn, cho phép mọi người tìm kiếm các bài đăng công khai của bạn có chứa các hashtag đó. Tính năng này có thể dùng để đánh dấu chuỗi tác phẩm sáng tạo hoặc dự án dài hạn." + hint_html: "Hashtag thường dùng là gì? Chúng là những hashtag sẽ được hiển thị nổi bật trên trang hồ sơ của bạn, cho phép mọi người tìm kiếm các bài đăng công khai của bạn có chứa các hashtag đó. Tính năng này có thể dùng để đánh dấu chuỗi tác phẩm sáng tạo hoặc dự án dài hạn." filters: contexts: - account: Trang cá nhân + account: Trang hồ sơ home: Bảng tin notifications: Thông báo public: Tin công khai @@ -1195,9 +1194,9 @@ vi: cooldown: Bạn sẽ bị hạn chế chuyển sang tài khoản mới trong thời gian sắp tới disabled_account: Tài khoản này sẽ không thể tiếp tục dùng nữa. Tuy nhiên, bạn có quyền truy cập để xuất dữ liệu cũng như kích hoạt lại. followers: Hành động này sẽ chuyển tất cả người theo dõi từ tài khoản hiện tại sang tài khoản mới - only_redirect_html: Ngoài ra, bạn có thể đặt chuyển hướng trên trang cá nhân của bạn. + only_redirect_html: Ngoài ra, bạn có thể đặt chuyển hướng trên trang hồ sơ của bạn. other_data: Dữ liệu khác sẽ không được di chuyển tự động - redirect: Trang cá nhân hiện tại của bạn sẽ hiển thị thông báo chuyển hướng và bị loại khỏi kết quả tìm kiếm + redirect: Trang hồ sơ hiện tại của bạn sẽ hiển thị thông báo chuyển hướng và bị loại khỏi kết quả tìm kiếm moderation: title: Kiểm duyệt move_handler: @@ -1287,7 +1286,7 @@ vi: preferences: other: Khác posting_defaults: Mặc định cho tút - public_timelines: Bảng tin máy chủ + public_timelines: Bảng tin reactions: errors: limit_reached: Bạn không nên thao tác liên tục @@ -1384,7 +1383,7 @@ vi: back: Quay lại Mastodon delete: Xóa tài khoản development: Lập trình - edit_profile: Trang cá nhân + edit_profile: Sửa hồ sơ export: Xuất dữ liệu featured_tags: Hashtag thường dùng import: Nhập dữ liệu @@ -1392,7 +1391,7 @@ vi: migrate: Chuyển tài khoản sang máy chủ khác notifications: Thông báo preferences: Chung - profile: Trang cá nhân + profile: Hồ sơ relationships: Quan hệ statuses_cleanup: Tự động xóa tút cũ strikes: Lần cảnh cáo @@ -1490,7 +1489,7 @@ vi:
    • Thông tin tài khoản cơ bản: Nếu bạn đăng ký trên máy chủ này, bạn phải cung cấp tên người dùng, địa chỉ email và mật khẩu. Bạn cũng có thể tùy chọn bổ sung tên hiển thị, tiểu sử, ảnh đại diện, ảnh bìa. Tên người dùng, tên hiển thị, tiểu sử, ảnh hồ sơ và ảnh bìa luôn được hiển thị công khai.
    • -
    • Tút, lượt theo dõi và nội dung công khai khác: Danh sách những người bạn theo dõi được liệt kê công khai, cũng tương tự như danh sách những người theo dõi bạn. Khi bạn đăng tút, ngày giờ và ứng dụng sử dụng được lưu trữ. Tút có thể chứa tệp đính kèm hình ảnh và video. Tút công khai và tút mở sẽ hiển thị công khai. Khi bạn đăng một tút trên trang cá nhân của bạn, đó là nội dung công khai. Tút của bạn sẽ gửi đến những người theo dõi của bạn, đồng nghĩa với việc sẽ có các bản sao được lưu trữ ở máy chủ của họ. Khi bạn xóa bài viết, bản sao từ những người theo dõi của bạn cũng bị xóa theo. Hành động chia sẻ hoặc thích một tút luôn luôn là công khai.
    • +
    • Tút, lượt theo dõi và nội dung công khai khác: Danh sách những người bạn theo dõi được liệt kê công khai, cũng tương tự như danh sách những người theo dõi bạn. Khi bạn đăng tút, ngày giờ và ứng dụng sử dụng được lưu trữ. Tút có thể chứa tệp đính kèm hình ảnh và video. Tút công khai và tút mở sẽ hiển thị công khai. Khi bạn đăng một tút trên trang hồ sơ của bạn, đó là nội dung công khai. Tút của bạn sẽ gửi đến những người theo dõi của bạn, đồng nghĩa với việc sẽ có các bản sao được lưu trữ ở máy chủ của họ. Khi bạn xóa bài viết, bản sao từ những người theo dõi của bạn cũng bị xóa theo. Hành động chia sẻ hoặc thích một tút luôn luôn là công khai.
    • Tin nhắn và tút dành cho người theo dõi: Toàn bộ tút được lưu trữ và xử lý trên máy chủ. Các tút dành cho người theo dõi được gửi đến những người theo dõi và những người được gắn thẻ trong tút. Còn các tin nhắn chỉ được gửi đến cho người nhận. Điều đó có nghĩa là chúng được gửi đến các máy chủ khác nhau và có các bản sao được lưu trữ ở đó. Chúng tôi đề nghị chỉ cho những người được ủy quyền truy cập vào đó, nhưng không phải máy chủ nào cũng làm như vậy. Do đó, điều quan trọng là phải xem xét kỹ máy chủ của người theo dõi của bạn. Bạn có thể thiết lập tự mình phê duyệt và từ chối người theo dõi mới trong cài đặt. Xin lưu ý rằng quản trị viên máy chủ của bạn và bất kỳ máy chủ của người nhận nào cũng có thể xem các tin nhắn. Người nhận tin nhắn có thể chụp màn hình, sao chép hoặc chia sẻ lại chúng. Không nên chia sẻ bất kỳ thông tin rủi ro nào trên Mastodon.
    • Địa chỉ IP và siêu dữ liệu khác: Khi bạn đăng nhập, chúng tôi ghi nhớ địa chỉ IP đăng nhập cũng như tên trình duyệt của bạn. Tất cả các phiên đăng nhập sẽ để bạn xem xét và hủy bỏ trong phần cài đặt. Địa chỉ IP sử dụng được lưu trữ tối đa 12 tháng. Chúng tôi cũng có thể giữ lại nhật ký máy chủ bao gồm địa chỉ IP của những lượt đăng ký tài khoản trên máy chủ của chúng tôi.

    @@ -1521,7 +1520,7 @@ vi:

    Chúng tôi có tiết lộ bất cứ thông tin nào ra ngoài không?

    Chúng tôi không bán, trao đổi hoặc chuyển nhượng thông tin nhận dạng cá nhân của bạn cho bên thứ ba. Trừ khi bên thứ ba đó đang hỗ trợ chúng tôi điều hành Mastodon, tiến hành kinh doanh hoặc phục vụ bạn, miễn là các bên đó đồng ý giữ bí mật thông tin này. Chúng tôi cũng có thể tiết lộ thông tin của bạn nếu việc công bố là để tuân thủ luật pháp, thực thi quy tắc máy chủ của chúng tôi hoặc bảo vệ quyền, tài sản hợp pháp hoặc sự an toàn của chúng tôi hoặc bất kỳ ai.

    Nội dung công khai của bạn có thể được tải xuống bởi các máy chủ khác trong mạng liên hợp. Các tút công khai hay dành cho người theo dõi được gửi đến các máy chủ nơi người theo dõi của bạn là thành viên và tin nhắn được gửi đến máy chủ của người nhận, cho đến khi những người theo dõi hoặc người nhận đó chuyển sang một máy chủ khác.

    -

    Nếu bạn cho phép một ứng dụng sử dụng tài khoản của mình, tùy thuộc vào phạm vi quyền bạn phê duyệt, ứng dụng có thể truy cập thông tin trang cá nhân, danh sách người theo dõi, danh sách của bạn, tất cả tút và lượt thích của bạn. Các ứng dụng không bao giờ có thể truy cập địa chỉ e-mail hoặc mật khẩu của bạn.

    +

    Nếu bạn cho phép một ứng dụng sử dụng tài khoản của mình, tùy thuộc vào phạm vi quyền bạn phê duyệt, ứng dụng có thể truy cập thông tin trang hồ sơ, danh sách người theo dõi, danh sách của bạn, tất cả tút và lượt thích của bạn. Các ứng dụng không bao giờ có thể truy cập địa chỉ e-mail hoặc mật khẩu của bạn.


    Cấm trẻ em sử dụng

    Nếu máy chủ này ở EU hoặc EEA: Trang web của chúng tôi, các sản phẩm và dịch vụ đều dành cho những người trên 16 tuổi. Nếu bạn dưới 16 tuổi, xét theo GDPR (Quy định bảo vệ dữ liệu chung) thì không được sử dụng trang web này.

    @@ -1559,7 +1558,7 @@ vi: webauthn: Khóa bảo mật user_mailer: appeal_approved: - action: Đến trang cá nhân của bạn + action: Đến trang hồ sơ của bạn explanation: Khiếu nại về tài khoản của bạn vào %{strike_date}, được gửi lúc %{appeal_date} đã được chấp nhận. Tài khoản của bạn đã có thể sử dụng bình thường. subject: Khiếu nại của bạn từ %{date} đã được chấp nhận title: Khiếu nại đã được chấp nhận @@ -1571,12 +1570,13 @@ vi: explanation: Bạn đã yêu cầu sao lưu toàn bộ tài khoản Mastodon của mình. Bây giờ có thể tải về! subject: Dữ liệu cá nhân của bạn đã sẵn sàng để tải về title: Nhận dữ liệu cá nhân - sign_in_token: - details: 'Chi tiết cụ thể:' - explanation: 'Tài khoản của bạn vừa đăng nhập từ một địa chỉ IP lạ. Nếu thật là bạn, hãy nhập mã an toàn bên dưới vào trang đăng nhập:' - further_actions: 'Nếu không phải là bạn, hãy lập tức thay đổi mật khẩu và kích hoạt xác thực hai bước ở đây:' - subject: Xác nhận đăng nhập - title: Đăng nhập + suspicious_sign_in: + change_password: đổi mật khẩu của bạn + details: 'Chi tiết thông tin đăng nhập:' + explanation: Chúng tôi phát hiện lần đăng nhập bất thường tài khoản của bạn từ một địa chỉ IP mới. + further_actions_html: Nếu đó không phải là bạn, chúng tôi khuyến nghị %{action} lập tức và bật xác thực hai bước để giữ tài khoản được an toàn. + subject: Đăng nhập tài khoản từ địa chỉ IP mới + title: Lần đăng nhập mới warning: appeal: Gửi khiếu nại appeal_description: Nếu bạn nghĩ đây chỉ là nhầm lẫn, hãy gửi một khiếu nại cho %{instance}. @@ -1601,7 +1601,7 @@ vi: silence: Tài khoản %{acct} của bạn đã bị hạn chế suspend: Tài khoản %{acct} của bạn đã bị vô hiệu hóa title: - delete_statuses: Tút đã bị xóa + delete_statuses: Xóa tút disable: Tài khoản bị đóng băng mark_statuses_as_sensitive: Tút đã bị đánh dấu nhạy cảm none: Cảnh báo @@ -1609,8 +1609,8 @@ vi: silence: Tài khoản bị hạn chế suspend: Tài khoản bị vô hiệu hóa welcome: - edit_profile_action: Cài đặt trang cá nhân - edit_profile_step: Bạn có thể tùy chỉnh trang cá nhân của mình bằng cách tải lên ảnh đại diện, ảnh bìa, thay đổi tên hiển thị và hơn thế nữa. Nếu bạn muốn những người theo dõi mới phải được phê duyệt, hãy chuyển tài khoản sang trạng thái khóa. + edit_profile_action: Cài đặt trang hồ sơ + edit_profile_step: Bạn có thể chỉnh sửa trang hồ sơ của mình bằng cách tải lên ảnh đại diện, ảnh bìa, thay đổi tên hiển thị và hơn thế nữa. Nếu bạn muốn tự phê duyệt những người theo dõi mới, hãy chuyển tài khoản sang trạng thái khóa. explanation: Dưới đây là một số mẹo để giúp bạn bắt đầu final_action: Viết tút mới final_step: 'Viết tút mới! Ngay cả khi chưa có người theo dõi, người khác vẫn có thể xem tút công khai của bạn trên bảng tin máy chủ và trong hashtag. Hãy giới thiệu bản thân với hashtag #introduction.' @@ -1627,15 +1627,12 @@ vi: title: Xin chào %{name}! users: follow_limit_reached: Bạn chỉ có thể theo dõi tối đa %{limit} người - generic_access_help_html: Gặp trục trặc với tài khoản? Liên hệ %{email} để được trợ giúp invalid_otp_token: Mã xác thực hai bước không hợp lệ - invalid_sign_in_token: Mã an toàn không hợp lệ otp_lost_help_html: Nếu bạn mất quyền truy cập vào cả hai, bạn có thể đăng nhập bằng %{email} seamless_external_login: Bạn đã đăng nhập thông qua một dịch vụ bên ngoài, vì vậy mật khẩu và email không khả dụng. signed_in_as: 'Đăng nhập với tư cách là:' - suspicious_sign_in_confirmation: Đây là lần đầu tiên bạn đăng nhập trên thiết bị này. Vì vậy, chúng tôi sẽ gửi một mã an toàn đến email của bạn để xác thực danh tính. verification: - explanation_html: 'Bạn có thể xác minh mình là chủ sở hữu của các trang web ở đầu trang cá nhân của bạn. Để xác minh, trang web phải chèn mã rel="me". Văn bản thay thế cho liên kết không quan trọng. Đây là một ví dụ:' + explanation_html: 'Bạn có thể xác minh mình là chủ sở hữu của các trang web ở đầu trang hồ sơ của bạn. Để xác minh, trang web phải chèn mã rel="me". Văn bản thay thế cho liên kết không quan trọng. Đây là một ví dụ:' verification: Xác minh webauthn_credentials: add: Thêm khóa bảo mật mới diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 48c2ec09a..a5c64fcbf 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -48,7 +48,7 @@ zh-CN: silenced: 来自这些服务器上的帖子将不会出现在公共时间轴和会话中,通知功能也不会提醒这些用户的动态;只有你关注了这些用户,才会收到用户互动的通知消息。 silenced_title: 已隐藏的服务器 suspended: 这些服务器的数据将不会被处理、存储或者交换,本站也将无法和来自这些服务器的用户互动或者交流。 - suspended_title: 已封禁的服务器 + suspended_title: 已被封禁的服务器 unavailable_content_html: 通常来说,在 Mastodon 上,你可以浏览联邦宇宙中任何一台服务器上的内容,并且和上面的用户互动。但是某些站点上不排除会有例外。 user_count_after: other: 位用户 @@ -62,7 +62,7 @@ zh-CN: followers: other: 关注者 following: 正在关注 - instance_actor_flash: 这个账户是虚拟账户,用来代表服务器自身,不代表任何实际用户。它用于互通功能,不应该封禁。 + instance_actor_flash: 这个账户是一个虚拟账户,用来代表服务器自身,不代表任何实际用户。它用于互通功能,不应该被封禁。 joined: 加入于 %{date} last_active: 最近活动 link_verified_on: 此链接的所有权已在 %{date} 检查 @@ -161,6 +161,8 @@ zh-CN: pending: 待审核 perform_full_suspension: 封禁 previous_strikes: 既往处罚 + previous_strikes_description_html: + other: 此账号已有%{count}次处罚。 promote: 升任 protocol: 协议 public: 公开页面 @@ -192,7 +194,6 @@ zh-CN: security_measures: only_password: 仅密码 password_and_2fa: 密码和双重认证 - password_and_sign_in_token: 密码和电子邮件令牌 sensitive: 敏感内容 sensitized: 已标记为敏感内容 shared_inbox_url: 公用收件箱(Shared Inbox)URL @@ -321,7 +322,7 @@ zh-CN: unblock_email_account_html: "%{name} 取消屏蔽了 %{target} 的邮件地址" unsensitive_account_html: "%{name} 去除了 %{target} 的媒体的敏感内容标记" unsilence_account_html: "%{name} 解除了用户 %{target} 的隐藏状态" - unsuspend_account_html: "%{name} 解除了用户 %{target} 的封禁状态" + unsuspend_account_html: "%{name} 解封了用户 %{target}" update_announcement_html: "%{name} 更新了公告 %{target}" update_custom_emoji_html: "%{name} 更新了自定义表情 %{target}" update_domain_block_html: "%{name} 更新了对 %{target} 的域名屏蔽" @@ -512,6 +513,8 @@ zh-CN: delivery_error_hint: 如果投递已不可用 %{count} 天,它将被自动标记为无法投递。 destroyed_msg: "%{domain} 中的数据现在正在排队等待被立刻删除。" empty: 暂无域名。 + known_accounts: + other: "%{count} 个已知账号" moderation: all: 全部 limited: 受限的 @@ -580,7 +583,6 @@ zh-CN: action_taken_by: 操作执行者 actions: delete_description_html: 被举报的嘟文将被删除,同时该账号将被标记一次处罚,以供未来同一账号再次违规时参考。 - mark_as_sensitive_description_html: 被举报的嘟文将被标记为敏感内容,同时该账号将被标记一次处罚,以供未来同一账号再次违规时参考。 other_description_html: 查看更多控制该账号行为的选项,并自定义编写与被举报账号的通信。 resolve_description_html: 不会对被举报账号采取任何动作,举报将被关闭,也不会留下处罚记录。 silence_description_html: 只有关注或手工搜索此账号才能查看其资料,将严重限制其触达范围。可随时撤销。 @@ -755,6 +757,11 @@ zh-CN: system_checks: database_schema_check: message_html: 有待处理的数据库迁移。请运行它们以确保应用程序正常运行。 + elasticsearch_running_check: + message_html: 无法连接到 Elasticsearch。请检查它是否正在运行,或禁用全文搜索 + elasticsearch_version_check: + message_html: '不兼容的 Elasticsearch 版本: %{value}' + version_comparison: Elasticsearch 最低版本要求 %{required_version},正在运行的版本是 %{running_version} rules_check: action: 管理服务器规则 message_html: 你没有定义任何服务器规则。 @@ -774,6 +781,8 @@ zh-CN: description_html: 这些是当前此服务器可见账号的嘟文中被大量分享的链接。它可以帮助用户了解正在发生的事情。发布者获得批准前不会公开显示任何链接。你也可以批准或拒绝单个链接。 disallow: 不允许链接 disallow_provider: 不允许发布者 + shared_by_over_week: + other: 过去一周内被 %{count} 个人分享过 title: 热门链接 usage_comparison: 今日被分享 %{today} 次,前一日为 %{yesterday} 次 pending_review: 待审核 @@ -812,6 +821,8 @@ zh-CN: trending_rank: '热门 #%{rank}' usable: 可以使用 usage_comparison: 今日被使用 %{today} 次,前一日为 %{yesterday} 次 + used_by_over_week: + other: 过去一周内被 %{count} 个人使用过 title: 流行趋势 warning_presets: add_new: 添加新条目 @@ -1593,12 +1604,6 @@ zh-CN: explanation: 你请求了一份 Mastodon 帐户的完整备份。现在你可以下载了! subject: 你的存档已经准备完毕 title: 存档导出 - sign_in_token: - details: 该尝试详情如下: - explanation: 我们检查到有来自未经识别的 IP 地址的登录请求。如果这确实是你,请在登录确认页面输入下方的安全码: - further_actions: 如果这不是你,请更换你的密码并且在你的账号上开启双重认证。你可以在这里设置: - subject: 请确认登录请求: - title: 登录请求 warning: appeal: 提交申诉 appeal_description: 如果你认为此结果有误,可以向 %{instance} 的工作人员提交申诉。 @@ -1629,7 +1634,7 @@ zh-CN: none: 警示 sensitive: 账户已被标记为敏感内容 silence: 帐户被隐藏 - suspend: 账号被封禁 + suspend: 账号被挂起 welcome: edit_profile_action: 设置个人资料 edit_profile_step: 你可以自定义你的个人资料,包括上传头像、横幅图片、更改昵称等等。如果你想在新的关注者关注你之前对他们进行审核,你也可以选择为你的帐户开启保护。 @@ -1649,13 +1654,10 @@ zh-CN: title: "%{name},欢迎你的加入!" users: follow_limit_reached: 你不能关注超过 %{limit} 个人 - generic_access_help_html: 登录账号出现问题?你可以向 %{email} 寻求帮助 invalid_otp_token: 输入的双重认证代码无效 - invalid_sign_in_token: 无效安全码 otp_lost_help_html: 如果你不慎丢失了所有的代码,请联系 %{email} 寻求帮助 seamless_external_login: 因为你是通过外部服务登录的,所以密码和电子邮件地址设置都不可用。 signed_in_as: 当前登录的帐户: - suspicious_sign_in_confirmation: 你似乎没有在这台设备上登录过,并且你也有很久没有登录过了,所以我们给你的电子邮箱发了封邮件,想确认一下确实是你。 verification: explanation_html: 你可以 验证自己是个人资料元数据中的某个链接的所有者。 为此,被链接网站必须包含一个到你的 Mastodon 主页的链接。链接中 必须 包括 rel="me" 属性。链接的文本内容可以随意填写。例如: verification: 验证 diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml index f85291b2c..ae2b50074 100644 --- a/config/locales/zh-HK.yml +++ b/config/locales/zh-HK.yml @@ -187,7 +187,6 @@ zh-HK: security_measures: only_password: 僅密碼 password_and_2fa: 密碼和兩步認證 - password_and_sign_in_token: 密碼與 e-mail 驗證碼 sensitive: 敏感内容 sensitized: 已標記為敏感內容 shared_inbox_url: 公共收件箱(Shared Inbox)URL @@ -1335,12 +1334,6 @@ zh-HK: explanation: 你要求的 Mastodon 帳號完整備份檔案現已就緒,可供下載。 subject: 你的備份檔已可供下載 title: 檔案匯出 - sign_in_token: - details: 這是嘗試的詳細資訊 - explanation: 我們發現有人嘗試以未使用過的 IP 位址登入到你的帳號。 如果這個登入的人是你,請在「登入請求」頁面上輸入以下安全代碼: - further_actions: 如果這不是你,請到這裏更改你的密碼,並啟用雙重認證: - subject: 請確認登入請求 - title: 登入請求 warning: subject: disable: 你的帳號 %{acct} 已經被涷結 @@ -1371,13 +1364,10 @@ zh-HK: title: 歡迎 %{name} 加入! users: follow_limit_reached: 你不能關注多於%{limit} 人 - generic_access_help_html: 不能登入?你可以寄電郵至 %{email} 尋求協助 invalid_otp_token: 雙重認證碼不正確 - invalid_sign_in_token: 無效的安全碼 otp_lost_help_html: 如果這兩者你均無法登入,你可以聯繫 %{email} seamless_external_login: 因為你正在使用第三方服務登入,所以不能設定密碼和電郵。 signed_in_as: 目前登入的帳戶: - suspicious_sign_in_confirmation: 你似乎未曾從此設備登入,而你又有一段時間沒有登入了。我們剛剛把安全碼傳送到你的電郵地址,請查看你的電郵信箱,以確認你是帳號擁有者本人。 verification: explanation_html: 你可以認證個人資料頁面的元數據 (Metadata) 連結是屬於你的。要認證,那些連結的目的地網站必須有一條回到你 Mastodon 個人頁面的連結,而且連結必須具有rel="me"屬性。連結的文字內容都不會影響認證。這裏有一個例子: verification: 驗證 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 90625c5fd..39d986b02 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -192,7 +192,6 @@ zh-TW: security_measures: only_password: 僅使用密碼 password_and_2fa: 密碼及二重因素驗證 - password_and_sign_in_token: 密碼及電子信箱 token 驗證 sensitive: 敏感内容 sensitized: 已標記為敏感內容 shared_inbox_url: 共享收件箱網址 @@ -1604,12 +1603,13 @@ zh-TW: explanation: 你要求的 Mastodon 帳戶完整備份檔案現已就緒,可供下載! subject: 你的備份檔已可供下載 title: 檔案匯出 - sign_in_token: - details: 以下是嘗試登入的詳細資訊: - explanation: 我們偵測到有人試圖從陌生的 IP 位置登入您的帳號。如果這是您,請在「登入確認」頁面輸入安全碼: - further_actions: 如果這不是你,請立即到這裡變更你的密碼,並啟用兩步驟驗證: - subject: 請確認登入嘗試 - title: 登入嘗試 + suspicious_sign_in: + change_password: 變更密碼 + details: 以下是該登入之詳細資訊: + explanation: 我們偵測到有新 IP 地址登入您的帳號 + further_actions_html: 如果這個不是您,我們建議您立即 %{action} ,並且啟用二階段驗證 (2FA) 以確保帳號安全。 + subject: 您的帳號已被新 IP 地址存取 + title: 新登入 warning: appeal: 遞交申訴 appeal_description: 若您認為這是錯誤,您可以向 %{instance} 的工作人員提出申訴。 @@ -1660,13 +1660,10 @@ zh-TW: title: "%{name} 歡迎你的加入!" users: follow_limit_reached: 您無法追蹤多於 %{limit} 個人 - generic_access_help_html: 存取您的帳號時遇到困難?您可以透過 %{email} 取得協助 invalid_otp_token: 兩階段認證碼不正確 - invalid_sign_in_token: 安全碼無效 otp_lost_help_html: 如果你無法訪問這兩者,可以通過 %{email} 與我們聯繫 seamless_external_login: 由於你是從外部系統登入,所以不能設定密碼與電子郵件。 signed_in_as: 目前登入的帳戶: - suspicious_sign_in_confirmation: 您之前似乎未從此裝置登入過,再加上您也有一段時間沒有登入了,因此我們剛剛傳送了安全碼到您的電子郵件地址以確認真的是您。 verification: explanation_html: 您在 Mastodon 個人資料頁上所列出的連結,可以用此方式驗證您確實掌控該連結網頁的內容。您可以在連結的網頁上加上一個連回 Mastodon 個人資料頁的連結,該連結的原始碼 必須包含rel="me"屬性。連結的顯示文字可自由發揮,以下為範例: verification: 驗證連結 From 6b72641641a25ae664413d0d587080ffe70af6c2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Apr 2022 20:14:50 +0900 Subject: [PATCH 206/276] Bump i18n-tasks from 0.9.37 to 1.0.8 (#17993) * Bump i18n-tasks from 0.9.37 to 1.0.8 Bumps [i18n-tasks](https://github.com/glebm/i18n-tasks) from 0.9.37 to 1.0.8. - [Release notes](https://github.com/glebm/i18n-tasks/releases) - [Changelog](https://github.com/glebm/i18n-tasks/blob/main/CHANGES.md) - [Commits](https://github.com/glebm/i18n-tasks/compare/v0.9.37...v1.0.8) --- updated-dependencies: - dependency-name: i18n-tasks dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * Run `bundle exec i18n-tasks normalize` * Add `admin_mailer.new_appeal.actions.*` to ignore_unused Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Yamagishi Kazutoshi --- Gemfile | 2 +- Gemfile.lock | 15 +++++++++++++-- config/i18n-tasks.yml | 1 + config/locales/ar.yml | 12 ++++++------ config/locales/bg.yml | 4 ++-- config/locales/ca.yml | 4 ++-- config/locales/ckb.yml | 4 ++-- config/locales/co.yml | 4 ++-- config/locales/cs.yml | 8 ++++---- config/locales/da.yml | 4 ++-- config/locales/de.yml | 4 ++-- config/locales/el.yml | 4 ++-- config/locales/en.yml | 4 ++-- config/locales/en_GB.yml | 4 ++-- config/locales/eo.yml | 4 ++-- config/locales/es-AR.yml | 4 ++-- config/locales/es-MX.yml | 4 ++-- config/locales/es.yml | 4 ++-- config/locales/et.yml | 4 ++-- config/locales/eu.yml | 4 ++-- config/locales/fa.yml | 4 ++-- config/locales/fi.yml | 4 ++-- config/locales/fr.yml | 4 ++-- config/locales/gd.yml | 8 ++++---- config/locales/gl.yml | 4 ++-- config/locales/hu.yml | 4 ++-- config/locales/id.yml | 2 +- config/locales/io.yml | 4 ++-- config/locales/is.yml | 4 ++-- config/locales/it.yml | 4 ++-- config/locales/ja.yml | 2 +- config/locales/ka.yml | 4 ++-- config/locales/kab.yml | 4 ++-- config/locales/kk.yml | 4 ++-- config/locales/ko.yml | 2 +- config/locales/ku.yml | 4 ++-- config/locales/lv.yml | 4 ++-- config/locales/nl.yml | 4 ++-- config/locales/nn.yml | 4 ++-- config/locales/no.yml | 4 ++-- config/locales/oc.yml | 4 ++-- config/locales/pl.yml | 8 ++++---- config/locales/pt-BR.yml | 4 ++-- config/locales/pt-PT.yml | 4 ++-- config/locales/ru.yml | 8 ++++---- config/locales/sc.yml | 4 ++-- config/locales/sk.yml | 8 ++++---- config/locales/sl.yml | 8 ++++---- config/locales/sq.yml | 4 ++-- config/locales/sr-Latn.yml | 6 +++--- config/locales/sr.yml | 6 +++--- config/locales/sv.yml | 4 ++-- config/locales/th.yml | 2 +- config/locales/tr.yml | 4 ++-- config/locales/uk.yml | 8 ++++---- config/locales/vi.yml | 2 +- config/locales/zh-CN.yml | 2 +- config/locales/zh-HK.yml | 4 ++-- config/locales/zh-TW.yml | 2 +- 59 files changed, 140 insertions(+), 128 deletions(-) diff --git a/Gemfile b/Gemfile index 4f5a65062..0e924b78d 100644 --- a/Gemfile +++ b/Gemfile @@ -101,7 +101,7 @@ gem 'rdf-normalize', '~> 0.5' group :development, :test do gem 'fabrication', '~> 2.28' gem 'fuubar', '~> 2.5' - gem 'i18n-tasks', '~> 0.9', require: false + gem 'i18n-tasks', '~> 1.0', require: false gem 'pry-byebug', '~> 3.9' gem 'pry-rails', '~> 0.3' gem 'rspec-rails', '~> 5.1' diff --git a/Gemfile.lock b/Gemfile.lock index 2716ab493..e19bfde09 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -101,6 +101,14 @@ GEM coderay (>= 1.0.0) erubi (>= 1.0.0) rack (>= 0.9.0) + better_html (1.0.16) + actionview (>= 4.0) + activesupport (>= 4.0) + ast (~> 2.0) + erubi (~> 1.4) + html_tokenizer (~> 0.0.6) + parser (>= 2.4) + smart_properties bindata (2.4.10) binding_of_caller (1.0.0) debug_inspector (>= 0.0.1) @@ -282,6 +290,7 @@ GEM highline (2.0.3) hiredis (0.6.3) hkdf (0.3.0) + html_tokenizer (0.0.7) htmlentities (4.3.4) http (5.0.4) addressable (~> 2.8) @@ -298,9 +307,10 @@ GEM rainbow (>= 2.0.0) i18n (1.10.0) concurrent-ruby (~> 1.0) - i18n-tasks (0.9.37) + i18n-tasks (1.0.8) activesupport (>= 4.0.2) ast (>= 2.1.0) + better_html (~> 1.0) erubi highline (>= 2.0.0) i18n @@ -620,6 +630,7 @@ GEM simplecov_json_formatter (~> 0.1) simplecov-html (0.12.3) simplecov_json_formatter (0.1.2) + smart_properties (1.17.0) sprockets (3.7.2) concurrent-ruby (~> 1.0) rack (> 1, < 3) @@ -764,7 +775,7 @@ DEPENDENCIES http (~> 5.0) http_accept_language (~> 2.1) httplog (~> 1.5.0) - i18n-tasks (~> 0.9) + i18n-tasks (~> 1.0) idn-ruby json-ld json-ld-preloaded (~> 3.2) diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml index bc48323e4..42a7afb33 100644 --- a/config/i18n-tasks.yml +++ b/config/i18n-tasks.yml @@ -59,6 +59,7 @@ ignore_unused: - 'errors.429' - 'admin.accounts.roles.*' - 'admin.action_logs.actions.*' + - 'admin_mailer.new_appeal.actions.*' - 'statuses.attached.*' - 'move_handler.carry_{mutes,blocks}_over_text' - 'notification_mailer.*' diff --git a/config/locales/ar.yml b/config/locales/ar.yml index e6f59971e..e8db63f9d 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -1142,12 +1142,12 @@ ar: two: رائع، لقد قام بمتابَعتك %{count} مُتابِعون جُدد أثناء فترة غيابك عن ماستدون! zero: رائع، لقد قام بمتابَعتك %{count} مُتابِعون جُدد أثناء فترة غيابك عن ماستدون! subject: - few: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418" - many: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418" - one: "إشعار واحد 1 منذ آخر زيارة لك لـ \U0001F418" - other: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418" - two: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418" - zero: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418" + few: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى 🐘" + many: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى 🐘" + one: "إشعار واحد 1 منذ آخر زيارة لك لـ 🐘" + other: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى 🐘" + two: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى 🐘" + zero: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى 🐘" title: أثناء فترة غيابك... favourite: body: 'أُعجب %{name} بمنشورك:' diff --git a/config/locales/bg.yml b/config/locales/bg.yml index e017dd0e2..4fd970308 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -243,8 +243,8 @@ bg: one: Имаш един нов последовател! Ура! other: Имаш %{count} нови последователи! Изумително! subject: - one: "1 ново известие от последното ти посещение \U0001F418" - other: "%{count} нови известия от последното ти посещение \U0001F418" + one: "1 ново известие от последното ти посещение 🐘" + other: "%{count} нови известия от последното ти посещение 🐘" favourite: body: 'Публикацията ти беше харесана от %{name}:' subject: "%{name} хареса твоята публикация" diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 411c0137e..0cafd20d0 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -1236,8 +1236,8 @@ ca: one: A més, has adquirit un nou seguidor durant la teva absència! Visca! other: A més, has adquirit %{count} nous seguidors mentre estaves fora! Increïble! subject: - one: "1 notificació nova des de la darrera visita \U0001F418" - other: "%{count} notificacions noves des de la darrera visita \U0001F418" + one: "1 notificació nova des de la darrera visita 🐘" + other: "%{count} notificacions noves des de la darrera visita 🐘" title: Durant la teva absència… favourite: body: "%{name} ha marcat com a favorit el teu estat:" diff --git a/config/locales/ckb.yml b/config/locales/ckb.yml index 80cbe678e..3ab2fc63d 100644 --- a/config/locales/ckb.yml +++ b/config/locales/ckb.yml @@ -837,8 +837,8 @@ ckb: one: لەکاتێک کە نەبوو ،شوێنکەوتوویێکی نوێت پەیداکرد،ئافەرم! other: کاتیک کە نەبووی %{count} شوێنکەوتوویێکی نوێت پەیدا کرد! چ باشە! subject: - one: "ئاگاداریێکی نووی لە دوایین سەردانی ئێوە\U0001F418" - other: "%{count} ئاگاداریێکی نوێ لە دوایین سەردانی ئێوە\U0001F418" + one: "ئاگاداریێکی نووی لە دوایین سەردانی ئێوە🐘" + other: "%{count} ئاگاداریێکی نوێ لە دوایین سەردانی ئێوە🐘" title: لە غیابی تۆدا... favourite: body: 'دۆخت پەسەندکراوە لەلایەن %{name}:' diff --git a/config/locales/co.yml b/config/locales/co.yml index 76ed69b0d..e39117e99 100644 --- a/config/locales/co.yml +++ b/config/locales/co.yml @@ -988,8 +988,8 @@ co: one: Avete ancu un’abbunatu novu! other: Avete ancu %{count} abbunati novi! subject: - one: "Una nutificazione nova dapoi à a vostr’ultima visita \U0001F418" - other: "%{count} nutificazione nove dapoi à a vostr’ultima visita \U0001F418" + one: "Una nutificazione nova dapoi à a vostr’ultima visita 🐘" + other: "%{count} nutificazione nove dapoi à a vostr’ultima visita 🐘" title: Dapoi l’ultima volta… favourite: body: "%{name} hà aghjuntu u vostru statutu à i so favuriti :" diff --git a/config/locales/cs.yml b/config/locales/cs.yml index ec3cfef74..7cfc4f66f 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -1276,10 +1276,10 @@ cs: one: Zatímco jste byli pryč jste navíc získali jednoho nového sledujícího! Hurá! other: Zatímco jste byli pryč jste navíc získali %{count} nových sledujících! Úžasné! subject: - few: "%{count} nová oznámení od vaší poslední návštěvy \U0001F418" - many: "%{count} nových oznámení od vaší poslední návštěvy \U0001F418" - one: "1 nové oznámení od vaší poslední návštěvy \U0001F418" - other: "%{count} nových oznámení od vaší poslední návštěvy \U0001F418" + few: "%{count} nová oznámení od vaší poslední návštěvy 🐘" + many: "%{count} nových oznámení od vaší poslední návštěvy 🐘" + one: "1 nové oznámení od vaší poslední návštěvy 🐘" + other: "%{count} nových oznámení od vaší poslední návštěvy 🐘" title: Ve vaší nepřítomnosti… favourite: body: 'Váš příspěvek si oblíbil uživatel %{name}:' diff --git a/config/locales/da.yml b/config/locales/da.yml index a0839d5d1..037530459 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -1232,8 +1232,8 @@ da: one: Under dit fravær har du har også fået en ny følger! Sådan! other: Under dit fravær har du har også fået %{count} nye følgere! Sådan! subject: - one: "1 ny notifikation siden senest besøg \U0001F418" - other: "%{count} nye notifikationer siden senest besøg \U0001F418" + one: "1 ny notifikation siden senest besøg 🐘" + other: "%{count} nye notifikationer siden senest besøg 🐘" title: I dit fravær... favourite: body: "%{name} favoritmarkerede dit indlæg:" diff --git a/config/locales/de.yml b/config/locales/de.yml index b2875732f..b5e63c79a 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -1224,8 +1224,8 @@ de: one: Außerdem ist dir seit du weg warst ein weiteres Wesen gefolgt! Juhu! other: Außerdem sind dir seit du weg warst %{count} weitere Wesen gefolgt! Großartig! subject: - one: "1 neue Mitteilung seit deinem letzten Besuch \U0001F418" - other: "%{count} neue Mitteilungen seit deinem letzten Besuch \U0001F418" + one: "1 neue Mitteilung seit deinem letzten Besuch 🐘" + other: "%{count} neue Mitteilungen seit deinem letzten Besuch 🐘" title: In deiner Abwesenheit... favourite: body: 'Dein Beitrag wurde von %{name} favorisiert:' diff --git a/config/locales/el.yml b/config/locales/el.yml index 0de3b705c..518fae886 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -930,8 +930,8 @@ el: one: Επίσης, απέκτησες έναν νέο ακόλουθο ενώ ήσουν μακριά! other: Επίσης, απέκτησες %{count} νέους ακόλουθους ενώ ήσουν μακριά! Εκπληκτικό! subject: - one: "1 νέα ειδοποίηση από την τελευταία επίσκεψή σου \U0001F418" - other: "%{count} νέες ειδοποιήσεις από την τελευταία επίσκεψή σου \U0001F418" + one: "1 νέα ειδοποίηση από την τελευταία επίσκεψή σου 🐘" + other: "%{count} νέες ειδοποιήσεις από την τελευταία επίσκεψή σου 🐘" title: Ενώ έλειπες... favourite: body: 'Η κατάστασή σου αγαπήθηκε από τον/την %{name}:' diff --git a/config/locales/en.yml b/config/locales/en.yml index 4fa9abc51..294747790 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1236,8 +1236,8 @@ en: one: Also, you have acquired one new follower while being away! Yay! other: Also, you have acquired %{count} new followers while being away! Amazing! subject: - one: "1 new notification since your last visit \U0001F418" - other: "%{count} new notifications since your last visit \U0001F418" + one: "1 new notification since your last visit 🐘" + other: "%{count} new notifications since your last visit 🐘" title: In your absence... favourite: body: 'Your post was favourited by %{name}:' diff --git a/config/locales/en_GB.yml b/config/locales/en_GB.yml index a287810aa..2cba40da0 100644 --- a/config/locales/en_GB.yml +++ b/config/locales/en_GB.yml @@ -700,8 +700,8 @@ en_GB: one: Also, you have acquired one new follower while being away! Yay! other: Also, you have acquired %{count} new followers while being away! Amazing! subject: - one: "1 new notification since your last visit \U0001F418" - other: "%{count} new notifications since your last visit \U0001F418" + one: "1 new notification since your last visit 🐘" + other: "%{count} new notifications since your last visit 🐘" title: In your absence... favourite: body: 'Your status was favourited by %{name}:' diff --git a/config/locales/eo.yml b/config/locales/eo.yml index cc7484c9e..d9ce89447 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -904,8 +904,8 @@ eo: one: Ankaŭ, vi ekhavis novan sekvanton en via foresto! Jej! other: Ankaŭ, vi ekhavis %{count} novajn sekvantojn en via foresto! Mirinde! subject: - one: "1 nova sciigo ekde via lasta vizito \U0001F418" - other: "%{count} novaj sciigoj ekde via lasta vizito \U0001F418" + one: "1 nova sciigo ekde via lasta vizito 🐘" + other: "%{count} novaj sciigoj ekde via lasta vizito 🐘" title: En via foresto… favourite: body: "%{name} stelumis vian mesaĝon:" diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index bf2c71ba6..3ee4df6fd 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -1236,8 +1236,8 @@ es-AR: one: Además, ¡ganaste un nuevo seguidor mientras estabas ausente! ¡Esa! other: Además, ¡ganaste %{count} nuevos seguidores mientras estabas ausente! ¡Esssa! subject: - one: "1 nueva notificación desde tu última visita \U0001F418" - other: "%{count} nuevas notificaciones desde tu última visita \U0001F418" + one: "1 nueva notificación desde tu última visita 🐘" + other: "%{count} nuevas notificaciones desde tu última visita 🐘" title: En tu ausencia... favourite: body: 'Tu mensaje fue marcado como favorito por %{name}:' diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index 9d0cf8cfe..5a3b9cea1 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -1236,8 +1236,8 @@ es-MX: one: "¡Ademas, has adquirido un nuevo seguidor mientras no estabas! ¡Hurra!" other: "¡Ademas, has adquirido %{count} nuevos seguidores mientras no estabas! ¡Genial!" subject: - one: "1 nueva notificación desde tu última visita \U0001F418" - other: "%{count} nuevas notificaciones desde tu última visita \U0001F418" + one: "1 nueva notificación desde tu última visita 🐘" + other: "%{count} nuevas notificaciones desde tu última visita 🐘" title: En tu ausencia… favourite: body: 'Tu estado fue marcado como favorito por %{name}:' diff --git a/config/locales/es.yml b/config/locales/es.yml index 391a2681c..4f3a9e0da 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -1236,8 +1236,8 @@ es: one: "¡Ademas, has adquirido un nuevo seguidor mientras no estabas! ¡Hurra!" other: "¡Ademas, has adquirido %{count} nuevos seguidores mientras no estabas! ¡Genial!" subject: - one: "1 nueva notificación desde tu última visita \U0001F418" - other: "%{count} nuevas notificaciones desde tu última visita \U0001F418" + one: "1 nueva notificación desde tu última visita 🐘" + other: "%{count} nuevas notificaciones desde tu última visita 🐘" title: En tu ausencia… favourite: body: 'Tu estado fue marcado como favorito por %{name}:' diff --git a/config/locales/et.yml b/config/locales/et.yml index ac8404885..ddb206d12 100644 --- a/config/locales/et.yml +++ b/config/locales/et.yml @@ -792,8 +792,8 @@ et: one: Ja veel, Te saite ühe uue jälgija kui Te olite eemal! Jee! other: Ja veel, Te saite %{count} uut jälgijat kui Te olite eemal! Hämmastav! subject: - one: "1 uus teavitus peale Teie eelmist külastust \U0001F418" - other: "%{count} uut teavitust peale Teie eelmist külastust \U0001F418" + one: "1 uus teavitus peale Teie eelmist külastust 🐘" + other: "%{count} uut teavitust peale Teie eelmist külastust 🐘" title: Teie puudumisel... favourite: body: "%{name} lisas Teie staatuse lemmikutesse:" diff --git a/config/locales/eu.yml b/config/locales/eu.yml index 18c52ee29..0dc5d88d6 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -1153,8 +1153,8 @@ eu: one: Kanpoan zeundela jarraitzaile berri bat gehitu zaizu! other: Kanpoan zeundela %{count} jarraitzaile berri bat gehitu zaizkizu! subject: - one: "Jakinarazpen berri bat azken bisitatik \U0001F418" - other: "%{count} jakinarazpen berri azken bisitatik \U0001F418" + one: "Jakinarazpen berri bat azken bisitatik 🐘" + other: "%{count} jakinarazpen berri azken bisitatik 🐘" title: Kanpoan zeundela... favourite: body: "%{name}(e)k zure bidalketa gogoko du:" diff --git a/config/locales/fa.yml b/config/locales/fa.yml index efd9904cd..020b21287 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -1090,8 +1090,8 @@ fa: one: در ضمن، وقتی که نبودید یک پیگیر تازه پیدا کردید! ای ول! other: در ضمن، وقتی که نبودید %{count} پیگیر تازه پیدا کردید! چه عالی! subject: - one: "یک اعلان تازه از زمان آخرین بازدید شما \U0001F418" - other: "%{count} آگاهی جدید از آخرین بازدیدتان \U0001F418" + one: "یک اعلان تازه از زمان آخرین بازدید شما 🐘" + other: "%{count} آگاهی جدید از آخرین بازدیدتان 🐘" title: در مدتی که نبودید... favourite: body: "%{name} این نوشتهٔ شما را پسندید:" diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 2230b8705..f671bd20f 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -1184,8 +1184,8 @@ fi: one: Olet myös saanut yhden uuden seuraajan! Juhuu! other: Olet myös saanut %{count} uutta seuraajaa! Aivan mahtavaa! subject: - one: "1 uusi ilmoitus viime käyntisi jälkeen \U0001F418" - other: "%{count} uutta ilmoitusta viime käyntisi jälkeen \U0001F418" + one: "1 uusi ilmoitus viime käyntisi jälkeen 🐘" + other: "%{count} uutta ilmoitusta viime käyntisi jälkeen 🐘" title: Poissaollessasi… favourite: body: "%{name} tykkäsi tilastasi:" diff --git a/config/locales/fr.yml b/config/locales/fr.yml index e6e411e13..2cfbc5c86 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -1233,8 +1233,8 @@ fr: one: De plus, vous avez un·e nouvel·le abonné·e ! Youpi ! other: De plus, vous avez %{count} abonné·e·s de plus ! Incroyable ! subject: - one: "Une nouvelle notification depuis votre dernière visite \U0001F418" - other: "%{count} nouvelles notifications depuis votre dernière visite \U0001F418" + one: "Une nouvelle notification depuis votre dernière visite 🐘" + other: "%{count} nouvelles notifications depuis votre dernière visite 🐘" title: Pendant votre absence… favourite: body: "%{name} a ajouté votre message à ses favoris :" diff --git a/config/locales/gd.yml b/config/locales/gd.yml index a3874e42c..767faff6e 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -1275,10 +1275,10 @@ gd: other: Cuideachd, bhuannaich thu %{count} luchd-leantainn ùr on àm a bha thu air falbh! Nach ma sin! two: Cuideachd, bhuannaich thu %{count} neach-leantainn ùr on àm a bha thu air falbh! Nach ma sin! subject: - few: "%{count} brathan ùra on tadhal mu dheireadh agad \U0001F418" - one: "%{count} bhrath ùr on tadhal mu dheireadh agad \U0001F418" - other: "%{count} brath ùr on tadhal mu dheireadh agad \U0001F418" - two: "%{count} bhrath ùr on tadhal mu dheireadh agad \U0001F418" + few: "%{count} brathan ùra on tadhal mu dheireadh agad 🐘" + one: "%{count} bhrath ùr on tadhal mu dheireadh agad 🐘" + other: "%{count} brath ùr on tadhal mu dheireadh agad 🐘" + two: "%{count} bhrath ùr on tadhal mu dheireadh agad 🐘" title: Fhad ’s a bha thu air falbh… favourite: body: 'Is annsa le %{name} am post agad:' diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 20db4c8b2..d642ee4e1 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -1236,8 +1236,8 @@ gl: one: Ademáis, ten unha nova seguidora desde entón! Ben! other: Ademáis, obtivo %{count} novas seguidoras desde entón! Tremendo! subject: - one: "1 nova notificación desde a súa última visita \U0001F418" - other: "%{count} novas notificacións desde a súa última visita \U0001F418" + one: "1 nova notificación desde a súa última visita 🐘" + other: "%{count} novas notificacións desde a súa última visita 🐘" title: Na súa ausencia... favourite: body: 'A túa publicación foi marcada como favorita por %{name}:' diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 8872b8bbb..c28cc7bae 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -1238,8 +1238,8 @@ hu: one: Sőt, egy új követőd is lett, amióta nem jártál itt. Hurrá! other: Sőt, %{count} új követőd is lett, amióta nem jártál itt. Hihetetlen! subject: - one: "Egy új értesítésed érkezett legutóbbi látogatásod óta \U0001F418" - other: "%{count} új értesítésed érkezett legutóbbi látogatásod óta \U0001F418" + one: "Egy új értesítésed érkezett legutóbbi látogatásod óta 🐘" + other: "%{count} új értesítésed érkezett legutóbbi látogatásod óta 🐘" title: Amíg távol voltál… favourite: body: 'A bejegyzésedet kedvencnek jelölte %{name}:' diff --git a/config/locales/id.yml b/config/locales/id.yml index a8aeaae34..32996de45 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -1214,7 +1214,7 @@ id: new_followers_summary: other: Anda mendapatkan %{count} pengikut baru! Luar biasa! subject: - other: "%{count} notifikasi baru sejak kunjungan terakhir anda pada \U0001F418" + other: "%{count} notifikasi baru sejak kunjungan terakhir anda pada 🐘" title: Saat Anda tidak muncul... favourite: body: 'Status anda disukai oleh %{name}:' diff --git a/config/locales/io.yml b/config/locales/io.yml index 4360d804e..c6e39ea2a 100644 --- a/config/locales/io.yml +++ b/config/locales/io.yml @@ -102,8 +102,8 @@ io: one: Tu obtenis nova sequanto! Yey! other: Tu obtenis %{count} nova sequanti! Astonive! subject: - one: "1 nova savigo depos tua lasta vizito \U0001F418" - other: "%{count} nova savigi depos tua lasta vizito \U0001F418" + one: "1 nova savigo depos tua lasta vizito 🐘" + other: "%{count} nova savigi depos tua lasta vizito 🐘" favourite: body: "%{name} favoris tua mesajo:" subject: "%{name} favoris tua mesajo" diff --git a/config/locales/is.yml b/config/locales/is.yml index 6b714c571..a3570fec2 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -1236,8 +1236,8 @@ is: one: Að auki, þú hefur fengið einn nýjan fylgjanda á meðan þú varst fjarverandi! Húh! other: Að auki, þú hefur fengið %{count} nýja fylgjendur á meðan þú varst fjarverandi! Frábært! subject: - one: "1 ný tilkynning síðan þú leist inn síðast \U0001F418" - other: "%{count} nýjar tilkynningar síðan þú leist inn síðast \U0001F418" + one: "1 ný tilkynning síðan þú leist inn síðast 🐘" + other: "%{count} nýjar tilkynningar síðan þú leist inn síðast 🐘" title: Á meðan þú varst fjarverandi... favourite: body: 'Færslan þín var sett í eftirlæti af %{name}:' diff --git a/config/locales/it.yml b/config/locales/it.yml index d3516d0a2..cada5a48c 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -1238,8 +1238,8 @@ it: one: E inoltre hai ricevuto un nuovo seguace mentre eri assente! Urrà! other: Inoltre, hai acquisito %{count} nuovi seguaci mentre eri assente! Incredibile! subject: - one: "1 nuova notifica dalla tua ultima visita \U0001F418" - other: "%{count} nuove notifiche dalla tua ultima visita \U0001F418" + one: "1 nuova notifica dalla tua ultima visita 🐘" + other: "%{count} nuove notifiche dalla tua ultima visita 🐘" title: In tua assenza… favourite: body: 'Il tuo status è stato apprezzato da %{name}:' diff --git a/config/locales/ja.yml b/config/locales/ja.yml index cbbe25eb9..e98dc0cd8 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -1114,7 +1114,7 @@ ja: new_followers_summary: other: また、離れている間に%{count} 人の新たなフォロワーを獲得しました! subject: - other: "新しい%{count}件の通知 \U0001F418" + other: "新しい%{count}件の通知 🐘" title: 不在の間に… favourite: body: "%{name} さんにお気に入り登録された、あなたの投稿があります:" diff --git a/config/locales/ka.yml b/config/locales/ka.yml index 29b3715bc..859f20b24 100644 --- a/config/locales/ka.yml +++ b/config/locales/ka.yml @@ -463,8 +463,8 @@ ka: one: ასევე, არყოფნისას შეგეძინათ ერთი ახალი მიმდევარი! იეი! other: ასევე, არყოფნისას შეგეძინათ %{count} ახალი მიმდევარი! შესანიშნავია! subject: - one: "1 ახალი შეტყობინება თქვენი ბოლო სტუმრობის შემდეგ \U0001F418" - other: "%{count} ახალი შეტყობინება თქვენი ბოლო სტუმრობის შემდეგ \U0001F418" + one: "1 ახალი შეტყობინება თქვენი ბოლო სტუმრობის შემდეგ 🐘" + other: "%{count} ახალი შეტყობინება თქვენი ბოლო სტუმრობის შემდეგ 🐘" title: თქვენს არყოფნაში... favourite: body: 'თქვენი სტატუსი ფავორიტი გახადა %{name}-მა:' diff --git a/config/locales/kab.yml b/config/locales/kab.yml index 87e901292..8c10e6358 100644 --- a/config/locales/kab.yml +++ b/config/locales/kab.yml @@ -649,8 +649,8 @@ kab: action: Wali akk tilγa mention: 'Yuder-ik-id %{name} deg:' subject: - one: "1 wulɣu seg tirza-inek·inm taneqqarut ar tura \U0001F418" - other: "%{count} ilɣa imaynuten seg tirza-nek·inem taneggarut ar tura \U0001F418" + one: "1 wulɣu seg tirza-inek·inm taneqqarut ar tura 🐘" + other: "%{count} ilɣa imaynuten seg tirza-nek·inem taneggarut ar tura 🐘" favourite: subject: "%{name} yesmenyaf addad-ik·im" follow: diff --git a/config/locales/kk.yml b/config/locales/kk.yml index 9055b531f..79f29dc41 100644 --- a/config/locales/kk.yml +++ b/config/locales/kk.yml @@ -711,8 +711,8 @@ kk: one: Сондай-ақ, сіз бір жаңа оқырман таптыңыз! Алақай! other: Сондай-ақ, сіз %{count} жаңа оқырман таптыңыз! Керемет! subject: - one: "Соңғы кіруіңізден кейін 1 ескертпе келіпті \U0001F418" - other: "Соңғы кіруіңізден кейін %{count} ескертпе келіпті \U0001F418" + one: "Соңғы кіруіңізден кейін 1 ескертпе келіпті 🐘" + other: "Соңғы кіруіңізден кейін %{count} ескертпе келіпті 🐘" title: Сіз жоқ кезде... favourite: body: 'Жазбаңызды ұнатып, таңдаулыға қосты %{name}:' diff --git a/config/locales/ko.yml b/config/locales/ko.yml index d0970118c..ced74277f 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -1218,7 +1218,7 @@ ko: new_followers_summary: other: 게다가, 접속하지 않은 동안 %{count} 명의 팔로워가 생겼습니다! subject: - other: "%{count}건의 새로운 알림 \U0001F418" + other: "%{count}건의 새로운 알림 🐘" title: 당신이 없는 동안에... favourite: body: '당신의 게시물을 %{name} 님이 즐겨찾기에 등록했습니다:' diff --git a/config/locales/ku.yml b/config/locales/ku.yml index 550e95a2b..8a3fe91ce 100644 --- a/config/locales/ku.yml +++ b/config/locales/ku.yml @@ -1238,8 +1238,8 @@ ku: one: Herwiha, dema tu dûr bûyî te şopînerek nû bi dest xist! Bijî! other: Herwiha, dema tu dûr bûyî te %{count} şopînerek nû bi dest xist! Bijî! subject: - one: "1 agahdarî ji serdana te ya herî dawî ji \U0001F418" - other: "%{count} agahdarî ji serdana te ya herî dawî ji \U0001F418" + one: "1 agahdarî ji serdana te ya herî dawî ji 🐘" + other: "%{count} agahdarî ji serdana te ya herî dawî ji 🐘" title: Di tunebûna te de... favourite: body: 'Şandiya te hate bijartin ji alî %{name} ve:' diff --git a/config/locales/lv.yml b/config/locales/lv.yml index d1b344a3c..1655883c1 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -1256,8 +1256,8 @@ lv: other: Turklāt, atrodoties prom, esi ieguvis %{count} jaunus sekotājus! Apbrīnojami! zero: "%{count} jaunu sekotāju!" subject: - one: "1 jauns paziņojums kopš tava pēdējā apmeklējuma \U0001F418" - other: "%{count} jauni paziņojumi kopš tava pēdējā apmeklējuma \U0001F418" + one: "1 jauns paziņojums kopš tava pēdējā apmeklējuma 🐘" + other: "%{count} jauni paziņojumi kopš tava pēdējā apmeklējuma 🐘" zero: "%{count} jaunu paziņojumu" title: Tavas prombūtnes laikā... favourite: diff --git a/config/locales/nl.yml b/config/locales/nl.yml index a3fc748fd..b3157ebaf 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -950,8 +950,8 @@ nl: one: Je hebt trouwens sinds je weg was er ook een nieuwe volger bijgekregen! Hoera! other: Je hebt trouwens sinds je weg was er ook %{count} nieuwe volgers bijgekregen! Fantastisch! subject: - one: "1 nieuwe melding sinds jouw laatste bezoek \U0001F418" - other: "%{count} nieuwe meldingen sinds jouw laatste bezoek \U0001F418" + one: "1 nieuwe melding sinds jouw laatste bezoek 🐘" + other: "%{count} nieuwe meldingen sinds jouw laatste bezoek 🐘" title: Tijdens jouw afwezigheid... favourite: body: 'Jouw bericht werd door %{name} aan diens favorieten toegevoegd:' diff --git a/config/locales/nn.yml b/config/locales/nn.yml index d22c91d21..9275804e2 100644 --- a/config/locales/nn.yml +++ b/config/locales/nn.yml @@ -909,8 +909,8 @@ nn: one: Du har forresten fått deg ein ny fylgjar mens du var borte! Hurra! other: Du har forresten fått deg %{count} nye fylgjarar mens du var borte! Hurra! subject: - one: "1 nytt varsel sidan siste gong du var innom \U0001F418" - other: "%{count} nye varsel sidan siste gong du var innom \U0001F418" + one: "1 nytt varsel sidan siste gong du var innom 🐘" + other: "%{count} nye varsel sidan siste gong du var innom 🐘" title: Mens du var borte... favourite: body: 'Statusen din vart merkt som favoritt av %{name}:' diff --git a/config/locales/no.yml b/config/locales/no.yml index 44a24cab6..3d4ce5056 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -893,8 +893,8 @@ one: I tillegg har du fått en ny følger mens du var borte. Hurra! other: I tillegg har du har fått %{count} nye følgere mens du var borte! Imponerende! subject: - one: "1 ny hendelse siden ditt siste besøk \U0001F418" - other: "%{count} nye hendelser siden ditt siste besøk \U0001F418" + one: "1 ny hendelse siden ditt siste besøk 🐘" + other: "%{count} nye hendelser siden ditt siste besøk 🐘" title: I ditt fravær… favourite: body: 'Statusen din ble likt av %{name}:' diff --git a/config/locales/oc.yml b/config/locales/oc.yml index faca57c16..2a005f405 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -813,8 +813,8 @@ oc: one: Avètz un nòu seguidor dempuèi vòstra darrièra visita ! Ouà ! other: Avètz %{count} nòus seguidors dempuèi vòstra darrièra visita ! Qué crane ! subject: - one: "Una nòva notificacion dempuèi vòstra darrièra visita \U0001F418" - other: "%{count} nòvas notificacions dempuèi vòstra darrièra visita \U0001F418" + one: "Una nòva notificacion dempuèi vòstra darrièra visita 🐘" + other: "%{count} nòvas notificacions dempuèi vòstra darrièra visita 🐘" title: Pendent vòstra abséncia… favourite: body: "%{name} a mes vòstre estatut en favorit :" diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 07ae5b225..ed0253227 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -1186,10 +1186,10 @@ pl: one: Dodatkowo, w czasie nieobecności zaczęła śledzić Cię jedna osoba Gratulacje! other: Dodatkowo, zaczęło Cię śledzić %{count} nowych osób! Wspaniale! subject: - few: "%{count} nowe powiadomienia od Twojej ostatniej wizyty \U0001F418" - many: "%{count} nowych powiadomień od Twojej ostatniej wizyty \U0001F418" - one: "1 nowe powiadomienie od Twojej ostatniej wizyty \U0001F418" - other: "%{count} nowych powiadomień od Twojej ostatniej wizyty \U0001F418" + few: "%{count} nowe powiadomienia od Twojej ostatniej wizyty 🐘" + many: "%{count} nowych powiadomień od Twojej ostatniej wizyty 🐘" + one: "1 nowe powiadomienie od Twojej ostatniej wizyty 🐘" + other: "%{count} nowych powiadomień od Twojej ostatniej wizyty 🐘" title: W trakcie Twojej nieobecności… favourite: body: 'Twój wpis został polubiony przez %{name}:' diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 8af4cb13e..453dca9bc 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -1064,8 +1064,8 @@ pt-BR: one: Você tem um novo seguidor! Uia! other: Você tem %{count} novos seguidores! AÊÊÊ! subject: - one: "Uma nova notificação desde o seu último acesso \U0001F418" - other: "%{count} novas notificações desde o seu último acesso \U0001F418" + one: "Uma nova notificação desde o seu último acesso 🐘" + other: "%{count} novas notificações desde o seu último acesso 🐘" title: Enquanto você estava ausente... favourite: body: "%{name} favoritou seu toot:" diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index 1ee43b569..648a7b402 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -1236,8 +1236,8 @@ pt-PT: one: Tens um novo seguidor! Boa! other: Tens %{count} novos seguidores! Fantástico! subject: - one: "1 nova notificação desde o último acesso \U0001F418" - other: "%{count} novas notificações desde o último acesso \U0001F418" + one: "1 nova notificação desde o último acesso 🐘" + other: "%{count} novas notificações desde o último acesso 🐘" title: Enquanto estiveste ausente… favourite: body: 'O teu post foi adicionado aos favoritos por %{name}:' diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 67a988c8f..10420f860 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -1186,10 +1186,10 @@ ru: one: Также, пока вас не было, у вас появился новый подписчик! Ура! other: Также, пока вас не было, у вас появилось %{count} новых подписчиков! Отлично! subject: - few: "%{count} новых уведомления с вашего последнего захода \U0001F418" - many: "%{count} новых уведомлений с вашего последнего захода \U0001F418" - one: "%{count} новое уведомление с вашего последнего захода \U0001F418" - other: "%{count} новых уведомлений с вашего последнего захода \U0001F418" + few: "%{count} новых уведомления с вашего последнего захода 🐘" + many: "%{count} новых уведомлений с вашего последнего захода 🐘" + one: "%{count} новое уведомление с вашего последнего захода 🐘" + other: "%{count} новых уведомлений с вашего последнего захода 🐘" title: В ваше отсутствие… favourite: body: "%{name} добавил(а) ваш пост в избранное:" diff --git a/config/locales/sc.yml b/config/locales/sc.yml index 21f84772d..9c3ef007b 100644 --- a/config/locales/sc.yml +++ b/config/locales/sc.yml @@ -936,8 +936,8 @@ sc: one: In prus, %{count} persone noa ti sighit dae cando fias assente. Incredìbile! other: In prus, %{count} persones noas ti sighint dae cando fias assente. Incredìbile! subject: - one: "1 notìfica noa dae s'ùrtima visita tua \U0001F418" - other: "%{count} notìficas noas dae s'ùrtima visita tua \U0001F418" + one: "1 notìfica noa dae s'ùrtima visita tua 🐘" + other: "%{count} notìficas noas dae s'ùrtima visita tua 🐘" title: Durante s'ausèntzia tua... favourite: body: "%{name} at marcadu comente a preferidu s'istadu tuo:" diff --git a/config/locales/sk.yml b/config/locales/sk.yml index c116714de..322fa1611 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -895,10 +895,10 @@ sk: one: A ešte, kým si bol/a preč, si získal/a jedného nového následovateľa! Hurá! other: A ešte, kým si bol/a preč, si získal/a %{count} nových následovateľov! Hurá! subject: - few: "%{count} nových oboznámení od tvojej poslednej návštevy \U0001F418" - many: "%{count} nových oboznámení od tvojej poslednej návštevy \U0001F418" - one: "Jedno nové oboznámenie od tvojej poslednej návštevy \U0001F418" - other: "%{count} nové oboznámenia od tvojej poslednej návštevy \U0001F418" + few: "%{count} nových oboznámení od tvojej poslednej návštevy 🐘" + many: "%{count} nových oboznámení od tvojej poslednej návštevy 🐘" + one: "Jedno nové oboznámenie od tvojej poslednej návštevy 🐘" + other: "%{count} nové oboznámenia od tvojej poslednej návštevy 🐘" title: Zatiaľ čo si bol/a preč… favourite: body: 'Tvoj príspevok bol uložený medzi obľúbené užívateľa %{name}:' diff --git a/config/locales/sl.yml b/config/locales/sl.yml index e73143ad6..3b10c53f0 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -799,10 +799,10 @@ sl: other: Prav tako ste pridobili %{count} novih sledilcev, ko ste bili odsotni! Juhu! two: Prav tako ste pridobili %{count} nova sledilca, ko ste bili odsotni! Juhu! subject: - few: "%{count} nova obvestila od vašega zadnjega obiska \U0001F418" - one: "1 novo obvestilo od vašega zadnjega obiska \U0001F418" - other: "%{count} novih obvestil od vašega zadnjega obiska \U0001F418" - two: "%{count} novi obvestili od vašega zadnjega obiska \U0001F418" + few: "%{count} nova obvestila od vašega zadnjega obiska 🐘" + one: "1 novo obvestilo od vašega zadnjega obiska 🐘" + other: "%{count} novih obvestil od vašega zadnjega obiska 🐘" + two: "%{count} novi obvestili od vašega zadnjega obiska 🐘" title: V vaši odsotnosti... favourite: body: "%{name} je vzljubil/a vaše stanje:" diff --git a/config/locales/sq.yml b/config/locales/sq.yml index bdcbaabbb..8c61d1d0c 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -1229,8 +1229,8 @@ sq: one: Veç kësaj, u bëtë me një ndjekës të ri, teksa s’ishit këtu! Ëhë! other: Veç kësaj, u bëtë me %{count} ndjekës të rinj, teksa s’ishit këtu! Shkëlqyeshëm! subject: - one: "1 njoftim i ri që nga vizita juaj e fundit \U0001F418" - other: "%{count} njoftime të reja që nga vizita juaj e fundit \U0001F418" + one: "1 njoftim i ri që nga vizita juaj e fundit 🐘" + other: "%{count} njoftime të reja që nga vizita juaj e fundit 🐘" title: Gjatë mungesës tuaj… favourite: body: 'Gjendja juaj u parapëlqye nga %{name}:' diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml index 7dcff987b..283cfe28e 100644 --- a/config/locales/sr-Latn.yml +++ b/config/locales/sr-Latn.yml @@ -337,9 +337,9 @@ sr-Latn: one: Dobili ste jednog novog pratioca! Jeee! other: Dobili ste %{count} novih pratioca! Sjajno! subject: - few: "%{count} nova obaveštenja od poslednje posete \U0001F418" - one: "1 novo obaveštenje od poslednje posete \U0001F418" - other: "%{count} novih obaveštenja od poslednje posete \U0001F418" + few: "%{count} nova obaveštenja od poslednje posete 🐘" + one: "1 novo obaveštenje od poslednje posete 🐘" + other: "%{count} novih obaveštenja od poslednje posete 🐘" favourite: body: "%{name} je postavio kao omiljen Vaš status:" subject: "%{name} je postavio kao omiljen Vaš status" diff --git a/config/locales/sr.yml b/config/locales/sr.yml index e89e43879..e8e44a651 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -530,9 +530,9 @@ sr: one: Добили сте једног новог пратиоца! Јеее! other: Добили сте %{count} нових пратиоца! Сјајно! subject: - few: "%{count} нова обавештења од последње посете \U0001F418" - one: "1 ново обавештење од последње посете \U0001F418" - other: "%{count} нових обавештења од последње посете \U0001F418" + few: "%{count} нова обавештења од последње посете 🐘" + one: "1 ново обавештење од последње посете 🐘" + other: "%{count} нових обавештења од последње посете 🐘" title: Док нисте били ту... favourite: body: "%{name} је поставио као омиљен Ваш статус:" diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 1b3ae61f3..b1e3ddd4d 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -906,8 +906,8 @@ sv: one: Du har också förvärvat en ny följare! Jippie! other: Du har också fått %{count} nya följare medans du var iväg! Otroligt! subject: - one: "1 nytt meddelande sedan ditt senaste besök \U0001F418" - other: "%{count} nya meddelanden sedan ditt senaste besök \U0001F418" + one: "1 nytt meddelande sedan ditt senaste besök 🐘" + other: "%{count} nya meddelanden sedan ditt senaste besök 🐘" title: I din frånvaro... favourite: body: 'Din status favoriserades av %{name}:' diff --git a/config/locales/th.yml b/config/locales/th.yml index 8ca32ca03..a5f8a86df 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -1127,7 +1127,7 @@ th: new_followers_summary: other: นอกจากนี้คุณยังได้รับ %{count} ผู้ติดตามใหม่ขณะที่ไม่อยู่! มหัศจรรย์! subject: - other: "%{count} การแจ้งเตือนใหม่นับตั้งแต่การเยี่ยมชมล่าสุดของคุณ \U0001F418" + other: "%{count} การแจ้งเตือนใหม่นับตั้งแต่การเยี่ยมชมล่าสุดของคุณ 🐘" title: เมื่อคุณไม่อยู่... favourite: body: 'โพสต์ของคุณได้รับการชื่นชอบโดย %{name}:' diff --git a/config/locales/tr.yml b/config/locales/tr.yml index a0145c644..fcfa49524 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -1235,8 +1235,8 @@ tr: one: Ayrıca, uzaktayken yeni bir takipçi kazandınız! Yaşasın! other: Ayrıca, uzaktayken %{count} yeni takipçi kazandınız! İnanılmaz! subject: - one: "Son ziyaretinizden bu yana 1 yeni bildirim \U0001F418" - other: "Son ziyaretinizden bu yana %{count} yeni bildirim \U0001F418" + one: "Son ziyaretinizden bu yana 1 yeni bildirim 🐘" + other: "Son ziyaretinizden bu yana %{count} yeni bildirim 🐘" title: Senin yokluğunda... favourite: body: "%{name} durumunu beğendi:" diff --git a/config/locales/uk.yml b/config/locales/uk.yml index cfc05a1a0..c35f941b0 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -1181,10 +1181,10 @@ uk: one: Також, у Вас з'явився новий підписник, коли ви були відсутні! Ура! other: Також, у Вас з'явилось %{count} нових підписників, поки ви були відсутні! Чудово! subject: - few: "%{count} нові сповіщення з Вашого останнього входу \U0001F418" - many: "%{count} нових сповіщень з Вашого останнього входу \U0001F418" - one: "1 нове сповіщення з Вашого останнього входу \U0001F418" - other: "%{count} нових сповіщень з Вашого останнього входу \U0001F418" + few: "%{count} нові сповіщення з Вашого останнього входу 🐘" + many: "%{count} нових сповіщень з Вашого останнього входу 🐘" + one: "1 нове сповіщення з Вашого останнього входу 🐘" + other: "%{count} нових сповіщень з Вашого останнього входу 🐘" title: Поки ви були відсутні... favourite: body: 'Ваш статус подобається %{name}:' diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 6730df9ec..e2b4ef7ef 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -1214,7 +1214,7 @@ vi: new_followers_summary: other: Ngoài ra, bạn đã có %{count} người theo dõi mới trong khi đi chơi! Ngạc nhiên chưa! subject: - other: "%{count} thông báo mới kể từ lần truy cập trước \U0001F418" + other: "%{count} thông báo mới kể từ lần truy cập trước 🐘" title: Khi bạn offline... favourite: body: Tút của bạn vừa được thích bởi %{name} diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index a5c64fcbf..6be97eb59 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -1215,7 +1215,7 @@ zh-CN: new_followers_summary: other: 而且,你不在的时候,有 %{count} 个人关注了你!好棒! subject: - other: "自从上次访问后,有 %{count} 条新通知 \U0001F418" + other: "自从上次访问后,有 %{count} 条新通知 🐘" title: 在你不在的这段时间…… favourite: body: 你的嘟文被 %{name} 喜欢了: diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml index ae2b50074..76c051587 100644 --- a/config/locales/zh-HK.yml +++ b/config/locales/zh-HK.yml @@ -594,7 +594,7 @@ zh-HK: desc_html: 本站詳細資訊頁的內文
    你可以在此使用 HTML title: 本站詳細資訊 site_short_description: - desc_html: 顯示在側邊欄和網頁標籤(meta tags)。以一句話描述Mastodon是甚麼,有甚麼令這個伺服器脫\U000294D9而出。 + desc_html: "顯示在側邊欄和網頁標籤(meta tags)。以一句話描述Mastodon是甚麼,有甚麼令這個伺服器脫𩓙而出。" title: 伺服器短描述 site_terms: desc_html: 可以填寫自己的隱私權政策、使用條款或其他法律文本。可以使用 HTML 標籤 @@ -964,7 +964,7 @@ zh-HK: new_followers_summary: other: 你新獲得了 %{count} 位關注者了!好厲害! subject: - other: "自從上次登入以來,你收到 %{count} 則新的通知 \U0001F418" + other: "自從上次登入以來,你收到 %{count} 則新的通知 🐘" title: 在你不在的這段時間…… favourite: body: 你的文章被 %{name} 喜愛: diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 39d986b02..f2b55d7a3 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -1216,7 +1216,7 @@ zh-TW: new_followers_summary: other: 此外,您在離開時獲得了 %{count} 位新的追蹤者!超棒的! subject: - other: "從您上次造訪以來有 %{count} 個新通知 \U0001F418" + other: "從您上次造訪以來有 %{count} 個新通知 🐘" title: 你不在的時候... favourite: body: '你的嘟文被 %{name} 加入了最愛:' From fd9a9b07c2cd19ef08d15e138fd3fc59fc5318b6 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 8 Apr 2022 17:10:53 +0200 Subject: [PATCH 207/276] Fix trends returning less results per page when filtered in REST API (#17996) - Change filtering and pagination to occur in SQL instead of Redis - Change rank/score displayed on trends in admin UI to be locale-specific --- app/models/trends/base.rb | 8 +++---- app/models/trends/query.rb | 11 +++++---- app/models/trends/statuses.rb | 24 ++++--------------- .../trends/links/_preview_card.html.haml | 4 ++-- .../admin/trends/statuses/_status.html.haml | 4 ++-- 5 files changed, 20 insertions(+), 31 deletions(-) diff --git a/app/models/trends/base.rb b/app/models/trends/base.rb index 7ed13228d..38a49246b 100644 --- a/app/models/trends/base.rb +++ b/app/models/trends/base.rb @@ -37,12 +37,12 @@ class Trends::Base Trends::Query.new(key_prefix, klass) end - def score(id) - redis.zscore("#{key_prefix}:all", id) || 0 + def score(id, locale: nil) + redis.zscore([key_prefix, 'all', locale].compact.join(':'), id) || 0 end - def rank(id) - redis.zrevrank("#{key_prefix}:allowed", id) + def rank(id, locale: nil) + redis.zrevrank([key_prefix, 'allowed', locale].compact.join(':'), id) end def currently_trending_ids(allowed, limit) diff --git a/app/models/trends/query.rb b/app/models/trends/query.rb index f19df162f..cd5571bc6 100644 --- a/app/models/trends/query.rb +++ b/app/models/trends/query.rb @@ -14,8 +14,8 @@ class Trends::Query @records = [] @loaded = false @allowed = false - @limit = -1 - @offset = 0 + @limit = nil + @offset = nil end def allowed! @@ -73,7 +73,10 @@ class Trends::Query if tmp_ids.empty? klass.none else - klass.joins("join unnest(array[#{tmp_ids.join(',')}]) with ordinality as x (id, ordering) on #{klass.table_name}.id = x.id").reorder('x.ordering') + scope = klass.joins("join unnest(array[#{tmp_ids.join(',')}]) with ordinality as x (id, ordering) on #{klass.table_name}.id = x.id").reorder('x.ordering') + scope = scope.offset(@offset) if @offset.present? + scope = scope.limit(@limit) if @limit.present? + scope end end @@ -93,7 +96,7 @@ class Trends::Query end def ids - redis.zrevrange(key, @offset, @limit.positive? ? @limit - 1 : @limit).map(&:to_i) + redis.zrevrange(key, 0, -1).map(&:to_i) end def perform_queries diff --git a/app/models/trends/statuses.rb b/app/models/trends/statuses.rb index e785413ec..dc5309554 100644 --- a/app/models/trends/statuses.rb +++ b/app/models/trends/statuses.rb @@ -22,25 +22,11 @@ class Trends::Statuses < Trends::Base private def apply_scopes(scope) - scope.includes(:account) - end - - def perform_queries - return super if @account.nil? - - statuses = super - account_ids = statuses.map(&:account_id) - account_domains = statuses.map(&:account_domain) - - preloaded_relations = { - blocking: Account.blocking_map(account_ids, @account.id), - blocked_by: Account.blocked_by_map(account_ids, @account.id), - muting: Account.muting_map(account_ids, @account.id), - following: Account.following_map(account_ids, @account.id), - domain_blocking_by_domain: Account.domain_blocking_map_by_domain(account_domains, @account.id), - } - - statuses.reject { |status| StatusFilter.new(status, @account, preloaded_relations).filtered? } + if @account.nil? + scope + else + scope.not_excluded_by_account(@account).not_domain_blocked_by_account(@account) + end end end diff --git a/app/views/admin/trends/links/_preview_card.html.haml b/app/views/admin/trends/links/_preview_card.html.haml index 2e6a0c62f..7d4897c7e 100644 --- a/app/views/admin/trends/links/_preview_card.html.haml +++ b/app/views/admin/trends/links/_preview_card.html.haml @@ -18,9 +18,9 @@ = t('admin.trends.links.shared_by_over_week', count: preview_card.history.reduce(0) { |sum, day| sum + day.accounts }) - - if preview_card.trendable? && (rank = Trends.links.rank(preview_card.id)) + - if preview_card.trendable? && (rank = Trends.links.rank(preview_card.id, locale: params[:locale].presence)) • - %abbr{ title: t('admin.trends.tags.current_score', score: Trends.links.score(preview_card.id)) }= t('admin.trends.tags.trending_rank', rank: rank + 1) + %abbr{ title: t('admin.trends.tags.current_score', score: Trends.links.score(preview_card.id, locale: params[:locale].presence)) }= t('admin.trends.tags.trending_rank', rank: rank + 1) - if preview_card.decaying? • diff --git a/app/views/admin/trends/statuses/_status.html.haml b/app/views/admin/trends/statuses/_status.html.haml index 0c463c6b1..e4d75bbb9 100644 --- a/app/views/admin/trends/statuses/_status.html.haml +++ b/app/views/admin/trends/statuses/_status.html.haml @@ -25,9 +25,9 @@ - if status.trendable? && !status.account.discoverable? • = t('admin.trends.statuses.not_discoverable') - - if status.trendable? && (rank = Trends.statuses.rank(status.id)) + - if status.trendable? && (rank = Trends.statuses.rank(status.id, locale: params[:locale].presence)) • - %abbr{ title: t('admin.trends.tags.current_score', score: Trends.statuses.score(status.id)) }= t('admin.trends.tags.trending_rank', rank: rank + 1) + %abbr{ title: t('admin.trends.tags.current_score', score: Trends.statuses.score(status.id, locale: params[:locale].presence)) }= t('admin.trends.tags.trending_rank', rank: rank + 1) - elsif status.requires_review? • = t('admin.trends.pending_review') From 8e20e16cf030fef48850df4764bbf13a317f6b0c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 8 Apr 2022 18:03:31 +0200 Subject: [PATCH 208/276] Change e-mail notifications to only be sent when recipient is offline (#17984) * Change e-mail notifications to only be sent when recipient is offline Change the default for follow and mention notifications back on * Add preference to always send e-mail notifications * Change wording --- .../settings/preferences_controller.rb | 3 +- app/lib/user_settings_decorator.rb | 5 ++ app/models/user.rb | 2 +- app/services/notify_service.rb | 63 ++++++++++++------- .../preferences/notifications/show.html.haml | 3 + config/locales/simple_form.en.yml | 2 + config/settings.yml | 5 +- 7 files changed, 58 insertions(+), 25 deletions(-) diff --git a/app/controllers/settings/preferences_controller.rb b/app/controllers/settings/preferences_controller.rb index c7492700c..bfe651bc6 100644 --- a/app/controllers/settings/preferences_controller.rb +++ b/app/controllers/settings/preferences_controller.rb @@ -54,7 +54,8 @@ class Settings::PreferencesController < Settings::BaseController :setting_use_pending_items, :setting_trends, :setting_crop_images, - notification_emails: %i(follow follow_request reblog favourite mention digest report pending_account trending_tag), + :setting_always_send_emails, + notification_emails: %i(follow follow_request reblog favourite mention digest report pending_account trending_tag appeal), interactions: %i(must_be_follower must_be_following must_be_following_dm) ) end diff --git a/app/lib/user_settings_decorator.rb b/app/lib/user_settings_decorator.rb index de054e403..5fb7655a9 100644 --- a/app/lib/user_settings_decorator.rb +++ b/app/lib/user_settings_decorator.rb @@ -38,6 +38,7 @@ class UserSettingsDecorator user.settings['use_pending_items'] = use_pending_items_preference if change?('setting_use_pending_items') user.settings['trends'] = trends_preference if change?('setting_trends') user.settings['crop_images'] = crop_images_preference if change?('setting_crop_images') + user.settings['always_send_emails'] = always_send_emails_preference if change?('setting_always_send_emails') end def merged_notification_emails @@ -132,6 +133,10 @@ class UserSettingsDecorator boolean_cast_setting 'setting_crop_images' end + def always_send_emails_preference + boolean_cast_setting 'setting_always_send_emails' + end + def boolean_cast_setting(key) ActiveModel::Type::Boolean.new.cast(settings[key]) end diff --git a/app/models/user.rb b/app/models/user.rb index d19fe2c92..9da7b2639 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -130,7 +130,7 @@ class User < ApplicationRecord :reduce_motion, :system_font_ui, :noindex, :theme, :display_media, :expand_spoilers, :default_language, :aggregate_reblogs, :show_application, :advanced_layout, :use_blurhash, :use_pending_items, :trends, :crop_images, - :disable_swiping, + :disable_swiping, :always_send_emails, to: :settings, prefix: :setting, allow_nil: false attr_reader :invite_code diff --git a/app/services/notify_service.rb b/app/services/notify_service.rb index a90f17cfd..d30b33876 100644 --- a/app/services/notify_service.rb +++ b/app/services/notify_service.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class NotifyService < BaseService + include Redisable + def call(recipient, type, activity) @recipient = recipient @activity = activity @@ -8,10 +10,15 @@ class NotifyService < BaseService return if recipient.user.nil? || blocked? - create_notification! + @notification.save! + + # It's possible the underlying activity has been deleted + # between the save call and now + return if @notification.activity.nil? + push_notification! push_to_conversation! if direct_message? - send_email! if email_enabled? + send_email! if email_needed? rescue ActiveRecord::RecordInvalid nil end @@ -92,8 +99,8 @@ class NotifyService < BaseService end def blocked? - blocked = @recipient.suspended? # Skip if the recipient account is suspended anyway - blocked ||= from_self? && @notification.type != :poll # Skip for interactions with self + blocked = @recipient.suspended? + blocked ||= from_self? && @notification.type != :poll return blocked if message? && from_staff? @@ -117,38 +124,52 @@ class NotifyService < BaseService end end - def create_notification! - @notification.save! + def push_notification! + push_to_streaming_api! if subscribed_to_streaming_api? + push_to_web_push_subscriptions! end - def push_notification! - return if @notification.activity.nil? + def push_to_streaming_api! + redis.publish("timeline:#{@recipient.id}:notifications", Oj.dump(event: :notification, payload: InlineRenderer.render(@notification, @recipient, :notification))) + end - Redis.current.publish("timeline:#{@recipient.id}:notifications", Oj.dump(event: :notification, payload: InlineRenderer.render(@notification, @recipient, :notification))) - send_push_notifications! + def subscribed_to_streaming_api? + redis.exists?("subscribed:timeline:#{@recipient.id}") || redis.exists?("subscribed:timeline:#{@recipient.id}:notifications") end def push_to_conversation! - return if @notification.activity.nil? AccountConversation.add_status(@recipient, @notification.target_status) end - def send_push_notifications! - subscriptions_ids = ::Web::PushSubscription.where(user_id: @recipient.user.id) - .select { |subscription| subscription.pushable?(@notification) } - .map(&:id) + def push_to_web_push_subscriptions! + ::Web::PushNotificationWorker.push_bulk(web_push_subscriptions.select { |subscription| subscription.pushable?(@notification) }) { |subscription| [subscription.id, @notification.id] } + end - ::Web::PushNotificationWorker.push_bulk(subscriptions_ids) do |subscription_id| - [subscription_id, @notification.id] - end + def web_push_subscriptions + @web_push_subscriptions ||= ::Web::PushSubscription.where(user_id: @recipient.user.id).to_a + end + + def subscribed_to_web_push? + web_push_subscriptions.any? end def send_email! - return if @notification.activity.nil? - NotificationMailer.public_send(@notification.type, @recipient, @notification).deliver_later(wait: 2.minutes) + NotificationMailer.public_send(@notification.type, @recipient, @notification).deliver_later(wait: 2.minutes) if NotificationMailer.respond_to?(@notification.type) end - def email_enabled? + def email_needed? + (!recipient_online? || always_send_emails?) && send_email_for_notification_type? + end + + def recipient_online? + subscribed_to_streaming_api? || subscribed_to_web_push? + end + + def always_send_emails? + @recipient.user.settings.always_send_emails + end + + def send_email_for_notification_type? @recipient.user.settings.notification_emails[@notification.type.to_s] end end diff --git a/app/views/settings/preferences/notifications/show.html.haml b/app/views/settings/preferences/notifications/show.html.haml index 223e5d740..42754a852 100644 --- a/app/views/settings/preferences/notifications/show.html.haml +++ b/app/views/settings/preferences/notifications/show.html.haml @@ -25,6 +25,9 @@ = ff.input :pending_account, as: :boolean, wrapper: :with_label = ff.input :trending_tag, as: :boolean, wrapper: :with_label + .fields-group + = f.input :setting_always_send_emails, as: :boolean, wrapper: :with_label + .fields-group = f.simple_fields_for :notification_emails, hash_to_object(current_user.settings.notification_emails) do |ff| = ff.input :digest, as: :boolean, wrapper: :with_label diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index b19b7891f..b784b1da7 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -49,6 +49,7 @@ en: phrase: Will be matched regardless of casing in text or content warning of a post scopes: Which APIs the application will be allowed to access. If you select a top-level scope, you don't need to select individual ones. setting_aggregate_reblogs: Do not show new boosts for posts that have been recently boosted (only affects newly-received boosts) + setting_always_send_emails: Normally e-mail notifications won't be sent when you are actively using Mastodon setting_default_sensitive: Sensitive media is hidden by default and can be revealed with a click setting_display_media_default: Hide media marked as sensitive setting_display_media_hide_all: Always hide media @@ -151,6 +152,7 @@ en: phrase: Keyword or phrase setting_advanced_layout: Enable advanced web interface setting_aggregate_reblogs: Group boosts in timelines + setting_always_send_emails: Always send e-mail notifications setting_auto_play_gif: Auto-play animated GIFs setting_boost_modal: Show confirmation dialog before boosting setting_crop_images: Crop images in non-expanded posts to 16x9 diff --git a/config/settings.yml b/config/settings.yml index 06dd2b3f3..eaa05071e 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -38,16 +38,17 @@ defaults: &defaults trendable_by_default: false crop_images: true notification_emails: - follow: false + follow: true reblog: false favourite: false - mention: false + mention: true follow_request: true digest: true report: true pending_account: true trending_tag: true appeal: true + always_send_emails: false interactions: must_be_follower: false must_be_following: false From 3906dd67ed84f963238f9bdccef63fe3fd3a05aa Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 8 Apr 2022 19:17:37 +0200 Subject: [PATCH 209/276] Fix extremely rare race condition when deleting a toot or account (#17994) --- app/controllers/api/v1/admin/accounts_controller.rb | 3 ++- app/controllers/api/v1/statuses_controller.rb | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/controllers/api/v1/admin/accounts_controller.rb b/app/controllers/api/v1/admin/accounts_controller.rb index dc9d3402f..65ed69f7b 100644 --- a/app/controllers/api/v1/admin/accounts_controller.rb +++ b/app/controllers/api/v1/admin/accounts_controller.rb @@ -65,8 +65,9 @@ class Api::V1::Admin::AccountsController < Api::BaseController def destroy authorize @account, :destroy? + json = render_to_body json: @account, serializer: REST::Admin::AccountSerializer Admin::AccountDeletionWorker.perform_async(@account.id) - render json: @account, serializer: REST::Admin::AccountSerializer + render json: json end def unsensitive diff --git a/app/controllers/api/v1/statuses_controller.rb b/app/controllers/api/v1/statuses_controller.rb index 3fe137bfd..9270117da 100644 --- a/app/controllers/api/v1/statuses_controller.rb +++ b/app/controllers/api/v1/statuses_controller.rb @@ -77,10 +77,12 @@ class Api::V1::StatusesController < Api::BaseController authorize @status, :destroy? @status.discard - RemovalWorker.perform_async(@status.id, { 'redraft' => true }) @status.account.statuses_count = @status.account.statuses_count - 1 + json = render_to_body json: @status, serializer: REST::StatusSerializer, source_requested: true - render json: @status, serializer: REST::StatusSerializer, source_requested: true + RemovalWorker.perform_async(@status.id, { 'redraft' => true }) + + render json: json end private From a39bf04fe6b6a98547737cc15f42727428376e67 Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 8 Apr 2022 19:17:54 +0200 Subject: [PATCH 210/276] Auto-fill timeline gaps when getting re-connecting to Websocket/EventSource stream (#17987) --- app/javascript/mastodon/actions/streaming.js | 17 ++++++++++++---- app/javascript/mastodon/actions/timelines.js | 21 ++++++++++++++++++++ 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/app/javascript/mastodon/actions/streaming.js b/app/javascript/mastodon/actions/streaming.js index 8fbb22271..d76f045c8 100644 --- a/app/javascript/mastodon/actions/streaming.js +++ b/app/javascript/mastodon/actions/streaming.js @@ -7,6 +7,10 @@ import { expandHomeTimeline, connectTimeline, disconnectTimeline, + fillHomeTimelineGaps, + fillPublicTimelineGaps, + fillCommunityTimelineGaps, + fillListTimelineGaps, } from './timelines'; import { updateNotifications, expandNotifications } from './notifications'; import { updateConversations } from './conversations'; @@ -35,6 +39,7 @@ const randomUpTo = max => * @param {Object.} params * @param {Object} options * @param {function(Function, Function): void} [options.fallback] + * @param {function(): void} [options.fillGaps] * @param {function(object): boolean} [options.accept] * @return {function(): void} */ @@ -61,6 +66,10 @@ export const connectTimelineStream = (timelineId, channelName, params = {}, opti clearTimeout(pollingId); pollingId = null; } + + if (options.fillGaps) { + dispatch(options.fillGaps()); + } }, onDisconnect() { @@ -119,7 +128,7 @@ const refreshHomeTimelineAndNotification = (dispatch, done) => { * @return {function(): void} */ export const connectUserStream = () => - connectTimelineStream('home', 'user', {}, { fallback: refreshHomeTimelineAndNotification }); + connectTimelineStream('home', 'user', {}, { fallback: refreshHomeTimelineAndNotification, fillGaps: fillHomeTimelineGaps }); /** * @param {Object} options @@ -127,7 +136,7 @@ export const connectUserStream = () => * @return {function(): void} */ export const connectCommunityStream = ({ onlyMedia } = {}) => - connectTimelineStream(`community${onlyMedia ? ':media' : ''}`, `public:local${onlyMedia ? ':media' : ''}`); + connectTimelineStream(`community${onlyMedia ? ':media' : ''}`, `public:local${onlyMedia ? ':media' : ''}`, {}, { fillGaps: () => (fillCommunityTimelineGaps({ onlyMedia })) }); /** * @param {Object} options @@ -136,7 +145,7 @@ export const connectCommunityStream = ({ onlyMedia } = {}) => * @return {function(): void} */ export const connectPublicStream = ({ onlyMedia, onlyRemote } = {}) => - connectTimelineStream(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, `public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`); + connectTimelineStream(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, `public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, {}, { fillGaps: () => fillPublicTimelineGaps({ onlyMedia, onlyRemote }) }); /** * @param {string} columnId @@ -159,4 +168,4 @@ export const connectDirectStream = () => * @return {function(): void} */ export const connectListStream = listId => - connectTimelineStream(`list:${listId}`, 'list', { list: listId }); + connectTimelineStream(`list:${listId}`, 'list', { list: listId }, { fillGaps: () => fillListTimelineGaps(listId) }); diff --git a/app/javascript/mastodon/actions/timelines.js b/app/javascript/mastodon/actions/timelines.js index 8bbaa104a..44fedd5c2 100644 --- a/app/javascript/mastodon/actions/timelines.js +++ b/app/javascript/mastodon/actions/timelines.js @@ -124,6 +124,22 @@ export function expandTimeline(timelineId, path, params = {}, done = noOp) { }; }; +export function fillTimelineGaps(timelineId, path, params = {}, done = noOp) { + return (dispatch, getState) => { + const timeline = getState().getIn(['timelines', timelineId], ImmutableMap()); + const items = timeline.get('items'); + const nullIndexes = items.map((statusId, index) => statusId === null ? index : null); + const gaps = nullIndexes.map(index => index > 0 ? items.get(index - 1) : null); + + // Only expand at most two gaps to avoid doing too many requests + done = gaps.take(2).reduce((done, maxId) => { + return (() => dispatch(expandTimeline(timelineId, path, { ...params, maxId }, done))); + }, done); + + done(); + }; +} + export const expandHomeTimeline = ({ maxId } = {}, done = noOp) => expandTimeline('home', '/api/v1/timelines/home', { max_id: maxId }, done); export const expandPublicTimeline = ({ maxId, onlyMedia, onlyRemote } = {}, done = noOp) => expandTimeline(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, '/api/v1/timelines/public', { remote: !!onlyRemote, max_id: maxId, only_media: !!onlyMedia }, done); export const expandCommunityTimeline = ({ maxId, onlyMedia } = {}, done = noOp) => expandTimeline(`community${onlyMedia ? ':media' : ''}`, '/api/v1/timelines/public', { local: true, max_id: maxId, only_media: !!onlyMedia }, done); @@ -141,6 +157,11 @@ export const expandHashtagTimeline = (hashtag, { maxId, tags, local } = }, done); }; +export const fillHomeTimelineGaps = (done = noOp) => fillTimelineGaps('home', '/api/v1/timelines/home', {}, done); +export const fillPublicTimelineGaps = ({ onlyMedia, onlyRemote } = {}, done = noOp) => fillTimelineGaps(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, '/api/v1/timelines/public', { remote: !!onlyRemote, only_media: !!onlyMedia }, done); +export const fillCommunityTimelineGaps = ({ onlyMedia } = {}, done = noOp) => fillTimelineGaps(`community${onlyMedia ? ':media' : ''}`, '/api/v1/timelines/public', { local: true, only_media: !!onlyMedia }, done); +export const fillListTimelineGaps = (id, done = noOp) => fillTimelineGaps(`list:${id}`, `/api/v1/timelines/list/${id}`, {}, done); + export function expandTimelineRequest(timeline, isLoadingMore) { return { type: TIMELINE_EXPAND_REQUEST, From 68273a7c6d6c630b6c88764579580682e12eebce Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 8 Apr 2022 19:35:31 +0200 Subject: [PATCH 211/276] Fix dangling language-specific trends (#17997) - Change score half-life for trending statuses from 2 to 6 hours - Change score threshold for trimming old items from 1 to 0.3 --- app/models/trends/base.rb | 4 ++-- app/models/trends/links.rb | 5 +++-- app/models/trends/statuses.rb | 7 ++++--- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/models/trends/base.rb b/app/models/trends/base.rb index 38a49246b..200f8d635 100644 --- a/app/models/trends/base.rb +++ b/app/models/trends/base.rb @@ -65,8 +65,8 @@ class Trends::Base end def trim_older_items - redis.zremrangebyscore("#{key_prefix}:all", '-inf', '(1') - redis.zremrangebyscore("#{key_prefix}:allowed", '-inf', '(1') + redis.zremrangebyscore("#{key_prefix}:all", '-inf', '(0.3') + redis.zremrangebyscore("#{key_prefix}:allowed", '-inf', '(0.3') end def score_at_rank(rank) diff --git a/app/models/trends/links.rb b/app/models/trends/links.rb index 62308e706..5f046643a 100644 --- a/app/models/trends/links.rb +++ b/app/models/trends/links.rb @@ -30,7 +30,6 @@ class Trends::Links < Trends::Base def refresh(at_time = Time.now.utc) preview_cards = PreviewCard.where(id: (recently_used_ids(at_time) + currently_trending_ids(false, -1)).uniq) calculate_scores(preview_cards, at_time) - trim_older_items end def request_review @@ -101,6 +100,8 @@ class Trends::Links < Trends::Base }) end + trim_older_items + # Clean up localized sets by calculating the intersection with the main # set. We do this instead of just deleting the localized sets to avoid # having moments where the API returns empty results @@ -108,7 +109,7 @@ class Trends::Links < Trends::Base redis.pipelined do Trends.available_locales.each do |locale| redis.zinterstore("#{key_prefix}:all:#{locale}", ["#{key_prefix}:all:#{locale}", "#{key_prefix}:all"], aggregate: 'max') - redis.zinterstore("#{key_prefix}:allowed:#{locale}", ["#{key_prefix}:allowed:#{locale}", "#{key_prefix}:all"], aggregate: 'max') + redis.zinterstore("#{key_prefix}:allowed:#{locale}", ["#{key_prefix}:allowed:#{locale}", "#{key_prefix}:allowed"], aggregate: 'max') end end end diff --git a/app/models/trends/statuses.rb b/app/models/trends/statuses.rb index dc5309554..d9b07446e 100644 --- a/app/models/trends/statuses.rb +++ b/app/models/trends/statuses.rb @@ -6,7 +6,7 @@ class Trends::Statuses < Trends::Base self.default_options = { threshold: 5, review_threshold: 3, - score_halflife: 2.hours.freeze, + score_halflife: 6.hours.freeze, } class Query < Trends::Query @@ -48,7 +48,6 @@ class Trends::Statuses < Trends::Base def refresh(at_time = Time.now.utc) statuses = Status.where(id: (recently_used_ids(at_time) + currently_trending_ids(false, -1)).uniq).includes(:account, :media_attachments) calculate_scores(statuses, at_time) - trim_older_items end def request_review @@ -111,13 +110,15 @@ class Trends::Statuses < Trends::Base }) end + trim_older_items + # Clean up localized sets by calculating the intersection with the main # set. We do this instead of just deleting the localized sets to avoid # having moments where the API returns empty results Trends.available_locales.each do |locale| redis.zinterstore("#{key_prefix}:all:#{locale}", ["#{key_prefix}:all:#{locale}", "#{key_prefix}:all"], aggregate: 'max') - redis.zinterstore("#{key_prefix}:allowed:#{locale}", ["#{key_prefix}:allowed:#{locale}", "#{key_prefix}:all"], aggregate: 'max') + redis.zinterstore("#{key_prefix}:allowed:#{locale}", ["#{key_prefix}:allowed:#{locale}", "#{key_prefix}:allowed"], aggregate: 'max') end end end From 82655597db6da3e3089b35fdbd25991aa06d1229 Mon Sep 17 00:00:00 2001 From: Yamagishi Kazutoshi Date: Sat, 9 Apr 2022 03:18:20 +0900 Subject: [PATCH 212/276] Add v3.5.x to SECURITY.md (#17998) --- SECURITY.md | 1 + 1 file changed, 1 insertion(+) diff --git a/SECURITY.md b/SECURITY.md index 5531a306e..12f50ed88 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -12,6 +12,7 @@ A "vulnerability in Mastodon" is a vulnerability in the code distributed through | Version | Supported | | ------- | ------------------ | +| 3.5.x | Yes | | 3.4.x | Yes | | 3.3.x | Yes | | < 3.3 | No | From 012537452a1b9087ea085253e8d42fe4129cea42 Mon Sep 17 00:00:00 2001 From: 0x2019 <34298117+single-right-quote@users.noreply.github.com> Date: Fri, 8 Apr 2022 19:21:49 +0000 Subject: [PATCH 213/276] Fix error resposes for `from` search prefix (#17963) * Fix error responses in `from` search prefix (addresses mastodon/mastodon#17941) Using unsupported prefixes now reports a 422; searching for posts from an account the instance is not aware of reports a 404. TODO: The UI for this on the front end is abysmal. Searching `from:username@domain` now succeeds when `domain` is the local domain; searching `from:@username(@domain)?` now works as expected. * Remove unused methods on new Error classes as they are not being used Currently when `raise`d there are error messages being supplied, but this is not actually being used. The associated `raise`s have been edited accordingly. * Remove needless comments * Satisfy rubocop * Try fixing tests being unable to find AccountFindingConcern methods * Satisfy rubocop * Simplify `from` prefix logic This incorporates @ClearlyClaire's suggestion (see https://github.com/mastodon/mastodon/pull/17963#pullrequestreview-933986737). Accepctable account strings in `from:` clauses are more lenient than before this commit; for example, `from:@user@example.org@asnteo +cat` will not error, and return posts by @user@example.org containing the word "cat". This is more consistent with how Mastodon matches mentions in statuses. In addition, `from` clauses will not be checked for syntatically invalid usernames or domain names, simply 404ing when `Account.find_remote!` raises ActiveRecord::NotFound. New code for this PR that is no longer used has been removed. --- app/controllers/api/v2/search_controller.rb | 4 ++++ app/lib/search_query_transformer.rb | 8 ++++---- lib/exceptions.rb | 1 + 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/controllers/api/v2/search_controller.rb b/app/controllers/api/v2/search_controller.rb index f17431dd1..a30560133 100644 --- a/app/controllers/api/v2/search_controller.rb +++ b/app/controllers/api/v2/search_controller.rb @@ -11,6 +11,10 @@ class Api::V2::SearchController < Api::BaseController def index @search = Search.new(search_results) render json: @search, serializer: REST::SearchSerializer + rescue Mastodon::SyntaxError + unprocessable_entity + rescue ActiveRecord::RecordNotFound + not_found end private diff --git a/app/lib/search_query_transformer.rb b/app/lib/search_query_transformer.rb index c685d7b6f..aef05e9d9 100644 --- a/app/lib/search_query_transformer.rb +++ b/app/lib/search_query_transformer.rb @@ -88,14 +88,14 @@ class SearchQueryTransformer < Parslet::Transform case prefix when 'from' @filter = :account_id - username, domain = term.split('@') - account = Account.find_remote(username, domain) - raise "Account not found: #{term}" unless account + username, domain = term.gsub(/\A@/, '').split('@') + domain = nil if TagManager.instance.local_domain?(domain) + account = Account.find_remote!(username, domain) @term = account.id else - raise "Unknown prefix: #{prefix}" + raise Mastodon::SyntaxError end end end diff --git a/lib/exceptions.rb b/lib/exceptions.rb index eb472abaa..0c677b660 100644 --- a/lib/exceptions.rb +++ b/lib/exceptions.rb @@ -10,6 +10,7 @@ module Mastodon class StreamValidationError < ValidationError; end class RaceConditionError < Error; end class RateLimitExceededError < Error; end + class SyntaxError < Error; end class UnexpectedResponseError < Error attr_reader :response From ed5491e5de6ede501715c421ad5fa53493f61250 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 8 Apr 2022 21:57:24 +0200 Subject: [PATCH 214/276] Bump version to 3.5.1 (#18000) --- CHANGELOG.md | 43 +++++++++++++++++++++++++++++++++++++++++ lib/mastodon/version.rb | 2 +- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dd0ccc5f7..8814d5a4c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,49 @@ Changelog All notable changes to this project will be documented in this file. +## [3.5.1] - 2022-04-08 +### Added + +- Add pagination for trending statuses in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17976)) + +### Changed + +- Change e-mail notifications to only be sent when recipient is offline ([Gargron](https://github.com/mastodon/mastodon/pull/17984)) + - Send e-mails for mentions and follows by default again + - But only when recipient does not have push notifications through an app +- Change `website` attribute to be nullable on `Application` entity in REST API ([rinsuki](https://github.com/mastodon/mastodon/pull/17962)) + +### Removed + +- Remove sign-in token authentication, instead send e-mail about new sign-in ([Gargron](https://github.com/mastodon/mastodon/pull/17970)) + - You no longer need to enter a security code sent through e-mail + - Instead you get an e-mail about a new sign-in from an unfamiliar IP address + +### Fixed + +- Fix error resposes for `from` search prefix ([single-right-quote](https://github.com/mastodon/mastodon/pull/17963)) +- Fix dangling language-specific trends ([Gargron](https://github.com/mastodon/mastodon/pull/17997)) +- Fix extremely rare race condition when deleting a status or account ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17994)) +- Fix trends returning less results per page when filtered in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17996)) +- Fix pagination header on empty trends responses in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17986)) +- Fix cookies secure flag being set when served over Tor ([Gargron](https://github.com/mastodon/mastodon/pull/17992)) +- Fix migration error handling ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17991)) +- Fix error when re-running some migrations if they get interrupted at the wrong moment ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17989)) +- Fix potentially missing statuses when reconnecting to streaming API in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17981), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17987), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17980)) +- Fix error when sending warning emails with custom text ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17983)) +- Fix unset `SMTP_RETURN_PATH` environment variable causing e-mail not to send ([Gargron](https://github.com/mastodon/mastodon/pull/17982)) +- Fix possible duplicate statuses in timelines in some edge cases in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17971)) +- Fix spurious edits and require incoming edits to be explicitly marked as such ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17918)) +- Fix error when encountering invalid pinned statuses ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17964)) +- Fix inconsistency in error handling when removing a status ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17974)) +- Fix admin API unconditionally requiring CSRF token ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17975)) +- Fix trending tags endpoint missing `offset` param in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17973)) +- Fix unusual number formatting in some locales ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17929)) +- Fix `S3_FORCE_SINGLE_REQUEST` environment variable not working ([HolgerHuo](https://github.com/mastodon/mastodon/pull/17922)) +- Fix failure to build assets with OpenSSL 3 ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17930)) +- Fix PWA manifest using outdated routes ([HolgerHuo](https://github.com/mastodon/mastodon/pull/17921)) +- Fix error when indexing statuses into Elasticsearch ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17912)) + ## [3.5.0] - 2022-03-30 ### Added diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index 256a3d3b7..23e164b2e 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -13,7 +13,7 @@ module Mastodon end def patch - 0 + 1 end def flags From dc503472477000597f2ff1b6a5c37e8ac4dd2d8c Mon Sep 17 00:00:00 2001 From: Claire Date: Sat, 9 Apr 2022 20:11:06 +0200 Subject: [PATCH 215/276] Fix crash in alias settings page (#18004) --- app/models/account_alias.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/models/account_alias.rb b/app/models/account_alias.rb index 3d659142a..b421c66e2 100644 --- a/app/models/account_alias.rb +++ b/app/models/account_alias.rb @@ -28,6 +28,11 @@ class AccountAlias < ApplicationRecord super(val.start_with?('@') ? val[1..-1] : val) end + def pretty_acct + username, domain = acct.split('@') + domain.nil? ? username : "#{username}@#{Addressable::IDNA.to_unicode(domain)}" + end + private def set_uri From 4c9949560dacac8053cc44a5364534c215ac3a93 Mon Sep 17 00:00:00 2001 From: dogelover911 <84288771+dogelover911@users.noreply.github.com> Date: Mon, 11 Apr 2022 14:17:03 -0500 Subject: [PATCH 216/276] FeedManager: skip account when target_account's last status is too old (#18009) Co-authored-by: dogelover911 --- app/lib/feed_manager.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb index 085f1b274..34bb63b8d 100644 --- a/app/lib/feed_manager.rb +++ b/app/lib/feed_manager.rb @@ -243,7 +243,7 @@ class FeedManager account.following.includes(:account_stat).find_each do |target_account| if redis.zcard(timeline_key) >= limit oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true).first.last.to_i - last_status_score = Mastodon::Snowflake.id_at(account.last_status_at) + last_status_score = Mastodon::Snowflake.id_at(target_account.last_status_at) # If the feed is full and this account has not posted more recently # than the last item on the feed, then we can skip the whole account From 331cca40159f7627f73c73030b512e5f616ed52b Mon Sep 17 00:00:00 2001 From: Alexandra Catalina Date: Mon, 11 Apr 2022 18:26:50 -0700 Subject: [PATCH 217/276] chore(deps): update tootsuite/mastodon docker tag to v3.5.1 (#18023) Co-authored-by: Renovate Bot --- chart/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chart/values.yaml b/chart/values.yaml index 54627854d..ef105f625 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -8,7 +8,7 @@ image: # built from the most recent commit # # tag: latest - tag: v3.4.6 + tag: v3.5.1 # use `Always` when using `latest` tag pullPolicy: IfNotPresent From 85b34a8d62054cb3ff9eb02ded6b1f86195ccb5b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Apr 2022 21:20:40 +0900 Subject: [PATCH 218/276] Bump nokogiri from 1.13.3 to 1.13.4 (#18025) Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.3 to 1.13.4. - [Release notes](https://github.com/sparklemotion/nokogiri/releases) - [Changelog](https://github.com/sparklemotion/nokogiri/blob/v1.13.4/CHANGELOG.md) - [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.3...v1.13.4) --- updated-dependencies: - dependency-name: nokogiri dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index e19bfde09..08f137dd0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -405,7 +405,7 @@ GEM net-ssh (>= 2.6.5, < 7.0.0) net-ssh (6.1.0) nio4r (2.5.8) - nokogiri (1.13.3) + nokogiri (1.13.4) mini_portile2 (~> 2.8.0) racc (~> 1.4) nsa (0.2.8) From 1de748bf5e775b7b5f6b45b73d90772cba899a6d Mon Sep 17 00:00:00 2001 From: Jeong Arm Date: Wed, 13 Apr 2022 20:25:42 +0900 Subject: [PATCH 219/276] Fix FetchFeaturedCollectionService (#18030) --- app/services/activitypub/fetch_featured_collection_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/services/activitypub/fetch_featured_collection_service.rb b/app/services/activitypub/fetch_featured_collection_service.rb index 66234b711..07a9fe039 100644 --- a/app/services/activitypub/fetch_featured_collection_service.rb +++ b/app/services/activitypub/fetch_featured_collection_service.rb @@ -27,7 +27,7 @@ class ActivityPub::FetchFeaturedCollectionService < BaseService next if ActivityPub::TagManager.instance.local_uri?(uri) status = ActivityPub::FetchRemoteStatusService.new.call(uri, on_behalf_of: local_follower) - next unless status.account_id == @account.id + next unless status&.account_id == @account.id status.id rescue ActiveRecord::RecordInvalid => e From 07994cf4f69c54ede56d67ead389df8236324bb6 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 13 Apr 2022 19:52:53 +0200 Subject: [PATCH 220/276] New Crowdin updates (#17995) * New translations en.json (Catalan) * New translations en.yml (Persian) * New translations en.yml (Romanian) * New translations en.yml (Afrikaans) * New translations en.yml (Bulgarian) * New translations en.yml (Czech) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Sanskrit) * New translations en.yml (Asturian) * New translations en.yml (Serbian (Latin)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Sorani (Kurdish)) * New translations en.yml (Corsican) * New translations en.yml (Sardinian) * New translations en.yml (Kabyle) * New translations en.yml (Cornish) * New translations en.yml (Ido) * New translations en.yml (Taigi) * New translations en.yml (Silesian) * New translations en.yml (Standard Moroccan Tamazight) * New translations en.json (Czech) * New translations en.json (Hungarian) * New translations en.yml (Kannada) * New translations en.yml (Sinhala) * New translations en.yml (Bengali) * New translations en.yml (Hindi) * New translations en.yml (Marathi) * New translations en.yml (Croatian) * New translations en.yml (Norwegian Nynorsk) * New translations en.yml (Kazakh) * New translations en.yml (Estonian) * New translations en.yml (Latvian) * New translations en.yml (Malay) * New translations en.yml (Breton) * New translations en.yml (Telugu) * New translations en.yml (Welsh) * New translations en.yml (Esperanto) * New translations en.yml (Uyghur) * New translations en.yml (Chinese Traditional, Hong Kong) * New translations en.yml (Tatar) * New translations en.yml (Malayalam) * New translations en.json (Icelandic) * New translations en.json (Vietnamese) * New translations en.yml (Korean) * New translations en.yml (Catalan) * New translations en.yml (Czech) * New translations en.yml (Icelandic) * New translations en.json (Korean) * New translations en.json (Polish) * New translations en.yml (Albanian) * New translations en.json (Albanian) * New translations en.yml (Vietnamese) * New translations en.yml (Chinese Traditional) * New translations en.json (Chinese Traditional) * New translations en.json (Vietnamese) * New translations en.json (Russian) * New translations en.yml (Russian) * New translations en.json (Russian) * New translations en.json (Latvian) * New translations en.yml (Spanish, Argentina) * New translations en.json (Spanish, Argentina) * New translations en.yml (Danish) * New translations en.yml (Latvian) * New translations en.yml (Spanish) * New translations en.json (Spanish) * New translations simple_form.en.yml (Catalan) * New translations simple_form.en.yml (Chinese Traditional) * New translations simple_form.en.yml (Portuguese) * New translations simple_form.en.yml (Russian) * New translations simple_form.en.yml (Slovak) * New translations simple_form.en.yml (Albanian) * New translations simple_form.en.yml (Serbian (Cyrillic)) * New translations simple_form.en.yml (Swedish) * New translations simple_form.en.yml (Turkish) * New translations simple_form.en.yml (Ukrainian) * New translations simple_form.en.yml (Dutch) * New translations simple_form.en.yml (Vietnamese) * New translations simple_form.en.yml (Galician) * New translations simple_form.en.yml (Icelandic) * New translations simple_form.en.yml (Portuguese, Brazilian) * New translations simple_form.en.yml (Indonesian) * New translations simple_form.en.yml (Persian) * New translations simple_form.en.yml (Tamil) * New translations simple_form.en.yml (Spanish, Argentina) * New translations simple_form.en.yml (Spanish, Mexico) * New translations simple_form.en.yml (Bengali) * New translations simple_form.en.yml (Norwegian) * New translations simple_form.en.yml (Slovenian) * New translations simple_form.en.yml (Danish) * New translations simple_form.en.yml (Chinese Simplified) * New translations simple_form.en.yml (Thai) * New translations simple_form.en.yml (Polish) * New translations simple_form.en.yml (Romanian) * New translations simple_form.en.yml (French) * New translations simple_form.en.yml (Spanish) * New translations simple_form.en.yml (Arabic) * New translations simple_form.en.yml (Bulgarian) * New translations simple_form.en.yml (Czech) * New translations simple_form.en.yml (German) * New translations simple_form.en.yml (Greek) * New translations simple_form.en.yml (Basque) * New translations simple_form.en.yml (Finnish) * New translations simple_form.en.yml (Hebrew) * New translations simple_form.en.yml (Hungarian) * New translations simple_form.en.yml (Armenian) * New translations simple_form.en.yml (Italian) * New translations simple_form.en.yml (Japanese) * New translations simple_form.en.yml (Georgian) * New translations simple_form.en.yml (Korean) * New translations simple_form.en.yml (Croatian) * New translations simple_form.en.yml (Ido) * New translations simple_form.en.yml (Kabyle) * New translations simple_form.en.yml (Sardinian) * New translations simple_form.en.yml (Corsican) * New translations simple_form.en.yml (Sorani (Kurdish)) * New translations simple_form.en.yml (Kurmanji (Kurdish)) * New translations simple_form.en.yml (Serbian (Latin)) * New translations simple_form.en.yml (Occitan) * New translations simple_form.en.yml (Asturian) * New translations simple_form.en.yml (Scottish Gaelic) * New translations simple_form.en.yml (Norwegian Nynorsk) * New translations simple_form.en.yml (Sinhala) * New translations simple_form.en.yml (Breton) * New translations simple_form.en.yml (Malayalam) * New translations simple_form.en.yml (Tatar) * New translations simple_form.en.yml (Chinese Traditional, Hong Kong) * New translations simple_form.en.yml (Esperanto) * New translations simple_form.en.yml (Welsh) * New translations simple_form.en.yml (Latvian) * New translations simple_form.en.yml (Estonian) * New translations simple_form.en.yml (Kazakh) * New translations simple_form.en.yml (Standard Moroccan Tamazight) * New translations simple_form.en.yml (Czech) * New translations simple_form.en.yml (Latvian) * New translations simple_form.en.yml (Spanish) * New translations simple_form.en.yml (Czech) * New translations simple_form.en.yml (Korean) * New translations simple_form.en.yml (Russian) * New translations simple_form.en.yml (Spanish, Argentina) * New translations simple_form.en.yml (Polish) * New translations en.json (Swedish) * New translations en.yml (Italian) * New translations en.json (Italian) * New translations simple_form.en.yml (Italian) * New translations simple_form.en.yml (Catalan) * New translations en.yml (Portuguese) * New translations en.json (Portuguese) * New translations en.yml (Kurmanji (Kurdish)) * New translations simple_form.en.yml (Portuguese) * New translations simple_form.en.yml (Russian) * New translations en.json (French) * New translations simple_form.en.yml (French) * New translations en.json (Polish) * New translations en.json (Polish) * New translations en.yml (Kurmanji (Kurdish)) * New translations simple_form.en.yml (Kurmanji (Kurdish)) * New translations simple_form.en.yml (Arabic) * New translations en.yml (Arabic) * New translations simple_form.en.yml (Arabic) * New translations doorkeeper.en.yml (Arabic) * New translations en.yml (Arabic) * New translations doorkeeper.en.yml (Arabic) * New translations simple_form.en.yml (Chinese Traditional) * New translations en.yml (Esperanto) * New translations en.json (Esperanto) * New translations en.yml (Esperanto) * New translations en.yml (Turkish) * New translations en.json (Turkish) * New translations simple_form.en.yml (Turkish) * New translations en.yml (Czech) * New translations en.yml (Esperanto) * New translations en.yml (Esperanto) * New translations en.yml (Esperanto) * New translations en.yml (Greek) * New translations en.json (Greek) * New translations simple_form.en.yml (Greek) * New translations simple_form.en.yml (Icelandic) * New translations en.yml (Czech) * New translations en.yml (Ukrainian) * New translations en.yml (Ukrainian) * New translations en.json (Ukrainian) * New translations simple_form.en.yml (Ukrainian) * New translations en.yml (Ukrainian) * New translations en.json (Ukrainian) * New translations doorkeeper.en.yml (Ukrainian) * New translations simple_form.en.yml (Danish) * New translations en.yml (Galician) * New translations en.json (Galician) * New translations simple_form.en.yml (Galician) * New translations simple_form.en.yml (Vietnamese) * New translations en.yml (German) * New translations en.json (German) * New translations en.yml (Esperanto) * New translations en.yml (Esperanto) * New translations en.yml (Esperanto) * New translations en.yml (Esperanto) * New translations en.yml (Esperanto) * New translations en.yml (Esperanto) * New translations en.json (French) * New translations en.yml (Indonesian) * New translations en.json (Indonesian) * New translations en.yml (Indonesian) * New translations simple_form.en.yml (Indonesian) * New translations en.yml (Thai) * New translations en.json (Thai) * New translations simple_form.en.yml (Thai) * New translations simple_form.en.yml (Thai) * New translations en.yml (Armenian) * New translations en.json (Armenian) * New translations en.yml (Italian) * New translations en.json (Italian) * New translations en.yml (Catalan) * New translations en.json (Catalan) * New translations en.yml (Spanish, Argentina) * New translations en.json (Kurmanji (Kurdish)) * New translations simple_form.en.yml (Hungarian) * New translations en.yml (Chinese Simplified) * New translations simple_form.en.yml (Chinese Simplified) * New translations en.json (Chinese Simplified) * New translations en.yml (Chinese Simplified) * New translations en.yml (Chinese Simplified) * New translations en.yml (Chinese Simplified) * New translations en.yml (Chinese Simplified) * New translations en.json (Chinese Simplified) * New translations en.yml (Chinese Simplified) * New translations simple_form.en.yml (Chinese Simplified) * New translations en.yml (Chinese Simplified) * New translations en.json (Polish) * New translations en.json (Polish) * New translations en.json (Polish) * New translations en.json (Polish) * New translations doorkeeper.en.yml (Polish) * New translations doorkeeper.en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations simple_form.en.yml (Polish) * New translations en.json (Polish) * New translations en.json (Polish) * New translations en.json (Catalan) * New translations en.json (Vietnamese) * New translations en.yml (Vietnamese) * New translations en.json (Vietnamese) * New translations en.json (Vietnamese) * New translations en.yml (Vietnamese) * Run `yarn manage:translations` * Run `bundle exec i18n-tasks normalize` Co-authored-by: Yamagishi Kazutoshi --- app/javascript/mastodon/locales/ca.json | 10 +- app/javascript/mastodon/locales/cs.json | 2 +- app/javascript/mastodon/locales/de.json | 2 +- app/javascript/mastodon/locales/el.json | 2 +- app/javascript/mastodon/locales/eo.json | 2 +- app/javascript/mastodon/locales/es-AR.json | 2 +- app/javascript/mastodon/locales/es.json | 2 +- app/javascript/mastodon/locales/fr.json | 4 +- app/javascript/mastodon/locales/gl.json | 2 +- app/javascript/mastodon/locales/hu.json | 2 +- app/javascript/mastodon/locales/hy.json | 10 +- app/javascript/mastodon/locales/id.json | 2 +- app/javascript/mastodon/locales/is.json | 2 +- app/javascript/mastodon/locales/it.json | 4 +- app/javascript/mastodon/locales/ko.json | 2 +- app/javascript/mastodon/locales/ku.json | 2 +- app/javascript/mastodon/locales/lv.json | 2 +- app/javascript/mastodon/locales/pl.json | 102 ++++++++++----------- app/javascript/mastodon/locales/pt-PT.json | 2 +- app/javascript/mastodon/locales/ru.json | 4 +- app/javascript/mastodon/locales/sq.json | 2 +- app/javascript/mastodon/locales/sv.json | 2 +- app/javascript/mastodon/locales/th.json | 2 +- app/javascript/mastodon/locales/tr.json | 2 +- app/javascript/mastodon/locales/uk.json | 46 +++++----- app/javascript/mastodon/locales/vi.json | 20 ++-- app/javascript/mastodon/locales/zh-CN.json | 6 +- app/javascript/mastodon/locales/zh-TW.json | 2 +- config/locales/ar.yml | 10 +- config/locales/bg.yml | 3 - config/locales/ca.yml | 8 +- config/locales/ckb.yml | 3 - config/locales/co.yml | 3 - config/locales/cs.yml | 6 +- config/locales/cy.yml | 7 -- config/locales/de.yml | 12 ++- config/locales/doorkeeper.ar.yml | 5 + config/locales/doorkeeper.pl.yml | 37 ++++++++ config/locales/doorkeeper.uk.yml | 8 +- config/locales/eo.yml | 53 ++++++++++- config/locales/es-AR.yml | 2 +- config/locales/es-MX.yml | 10 +- config/locales/et.yml | 3 - config/locales/eu.yml | 3 - config/locales/fa.yml | 3 - config/locales/fi.yml | 3 - config/locales/fr.yml | 3 - config/locales/gd.yml | 5 - config/locales/gl.yml | 4 +- config/locales/hu.yml | 3 - config/locales/hy.yml | 2 +- config/locales/id.yml | 9 +- config/locales/io.yml | 3 - config/locales/it.yml | 2 +- config/locales/ja.yml | 2 - config/locales/ka.yml | 3 - config/locales/kab.yml | 3 - config/locales/kk.yml | 3 - config/locales/ko.yml | 2 +- config/locales/ku.yml | 7 +- config/locales/lv.yml | 2 +- config/locales/nl.yml | 3 - config/locales/nn.yml | 3 - config/locales/no.yml | 3 - config/locales/oc.yml | 3 - config/locales/pl.yml | 71 ++++++++++++-- config/locales/pt-BR.yml | 3 - config/locales/pt-PT.yml | 11 ++- config/locales/ru.yml | 8 +- config/locales/sc.yml | 3 - config/locales/simple_form.ar.yml | 2 + config/locales/simple_form.ca.yml | 2 + config/locales/simple_form.cs.yml | 2 + config/locales/simple_form.da.yml | 2 + config/locales/simple_form.el.yml | 2 + config/locales/simple_form.es-AR.yml | 2 + config/locales/simple_form.es.yml | 2 + config/locales/simple_form.fr.yml | 2 + config/locales/simple_form.gl.yml | 2 + config/locales/simple_form.hu.yml | 2 + config/locales/simple_form.id.yml | 2 + config/locales/simple_form.is.yml | 2 + config/locales/simple_form.it.yml | 2 + config/locales/simple_form.ko.yml | 2 + config/locales/simple_form.ku.yml | 2 + config/locales/simple_form.lv.yml | 2 + config/locales/simple_form.pl.yml | 10 ++ config/locales/simple_form.pt-PT.yml | 2 + config/locales/simple_form.ru.yml | 2 + config/locales/simple_form.th.yml | 2 + config/locales/simple_form.tr.yml | 2 + config/locales/simple_form.uk.yml | 1 + config/locales/simple_form.vi.yml | 2 + config/locales/simple_form.zh-CN.yml | 6 +- config/locales/simple_form.zh-TW.yml | 2 + config/locales/sk.yml | 5 - config/locales/sl.yml | 5 - config/locales/sq.yml | 8 ++ config/locales/sr-Latn.yml | 4 - config/locales/sr.yml | 4 - config/locales/sv.yml | 3 - config/locales/th.yml | 4 + config/locales/uk.yml | 23 +++-- config/locales/vi.yml | 8 +- config/locales/zh-CN.yml | 52 ++++++----- config/locales/zh-HK.yml | 2 - 106 files changed, 463 insertions(+), 300 deletions(-) diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 79ec113c2..87bc87712 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -48,10 +48,10 @@ "account.unmute_notifications": "Activar notificacions de @{name}", "account.unmute_short": "Deixa de silenciar", "account_note.placeholder": "Fes clic per afegir una nota", - "admin.dashboard.daily_retention": "Ràtio de retenció per dia després del registre", - "admin.dashboard.monthly_retention": "Ràtio de retenció per mes després del registre", + "admin.dashboard.daily_retention": "Ràtio de retenció d'usuaris nous, per dia, després del registre", + "admin.dashboard.monthly_retention": "Ràtio de retenció d'usuaris nous, per mes, després del registre", "admin.dashboard.retention.average": "Mitjana", - "admin.dashboard.retention.cohort": "Registres mes", + "admin.dashboard.retention.cohort": "Mes del registre", "admin.dashboard.retention.cohort_size": "Nous usuaris", "alert.rate_limited.message": "Si us plau prova-ho després de {retry_time, time, medium}.", "alert.rate_limited.title": "Límit de freqüència", @@ -411,7 +411,7 @@ "report.reasons.other": "Això és una altre cosa", "report.reasons.other_description": "El problema no encaixa en altres categories", "report.reasons.spam": "Això és contingut brossa", - "report.reasons.spam_description": "Enllaços maliciosos, compromís falç o respostes repetitives", + "report.reasons.spam_description": "Enllaços maliciosos, falç compromís o respostes repetitives", "report.reasons.violation": "Viola les regles del servidor", "report.reasons.violation_description": "Ets conscient que trenca regles especifiques", "report.rules.subtitle": "Selecciona totes les aplicables", @@ -515,7 +515,7 @@ "upload_error.poll": "No es permet l'enviament de fitxers en les enquestes.", "upload_form.audio_description": "Descriviu per a les persones amb pèrdua auditiva", "upload_form.description": "Descriure per els que tenen problemes visuals", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Cap descripció afegida", "upload_form.edit": "Edita", "upload_form.thumbnail": "Canvia la miniatura", "upload_form.undo": "Esborra", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index 1f1c2740c..0b49c3f77 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -515,7 +515,7 @@ "upload_error.poll": "U anket není nahrávání souborů povoleno.", "upload_form.audio_description": "Popis pro sluchově postižené", "upload_form.description": "Popis pro zrakově postižené", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Nebyl přidán popis", "upload_form.edit": "Upravit", "upload_form.thumbnail": "Změnit miniaturu", "upload_form.undo": "Smazat", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 03bfdcb5d..47e3f33c2 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -515,7 +515,7 @@ "upload_error.poll": "Dateiuploads sind in Kombination mit Umfragen nicht erlaubt.", "upload_form.audio_description": "Beschreibe die Audiodatei für Menschen mit Hörschädigungen", "upload_form.description": "Für Menschen mit Sehbehinderung beschreiben", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Keine Beschreibung hinzugefügt", "upload_form.edit": "Bearbeiten", "upload_form.thumbnail": "Miniaturansicht ändern", "upload_form.undo": "Löschen", diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index 47b234785..8b4a9c168 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -515,7 +515,7 @@ "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": "Διαγραφή", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 38eb02258..f72bb7244 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -515,7 +515,7 @@ "upload_error.poll": "Alŝuto de dosiero ne permesita kun balotenketo.", "upload_form.audio_description": "Priskribi por homoj kiuj malfacile aŭdi", "upload_form.description": "Priskribi por misvidantaj homoj", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Neniu priskribo aldonita", "upload_form.edit": "Redakti", "upload_form.thumbnail": "Ŝanĝi etigita bildo", "upload_form.undo": "Forigi", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index 8c2a2373f..233794b84 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -515,7 +515,7 @@ "upload_error.poll": "No se permite la subida de archivos en encuestas.", "upload_form.audio_description": "Agregá una descripción para personas con dificultades auditivas", "upload_form.description": "Agregá una descripción para personas con dificultades visuales", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "No se agregó descripción", "upload_form.edit": "Editar", "upload_form.thumbnail": "Cambiar miniatura", "upload_form.undo": "Eliminar", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index 97ed35bdd..22cf97faa 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -515,7 +515,7 @@ "upload_error.poll": "Subida de archivos no permitida con encuestas.", "upload_form.audio_description": "Describir para personas con problemas auditivos", "upload_form.description": "Describir para los usuarios con dificultad visual", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Ninguna descripción añadida", "upload_form.edit": "Editar", "upload_form.thumbnail": "Cambiar miniatura", "upload_form.undo": "Borrar", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 794b3aafb..48fc0d5a1 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -279,7 +279,7 @@ "lists.subheading": "Vos listes", "load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}", "loading_indicator.label": "Chargement…", - "media_gallery.toggle_visible": "Intervertir la visibilité", + "media_gallery.toggle_visible": "{number, plural, one {Cacher l’image} other {Cacher les images}}", "missing_indicator.label": "Non trouvé", "missing_indicator.sublabel": "Ressource introuvable", "mute_modal.duration": "Durée", @@ -515,7 +515,7 @@ "upload_error.poll": "L’envoi de fichiers n’est pas autorisé avec les sondages.", "upload_form.audio_description": "Décrire pour les personnes ayant des difficultés d’audition", "upload_form.description": "Décrire pour les malvoyant·e·s", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Description manquante", "upload_form.edit": "Modifier", "upload_form.thumbnail": "Changer la vignette", "upload_form.undo": "Supprimer", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index d5aff7d59..3d145e272 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -515,7 +515,7 @@ "upload_error.poll": "Non se poden subir ficheiros nas enquisas.", "upload_form.audio_description": "Describir para persoas con problemas auditivos", "upload_form.description": "Describir para persoas con problemas visuais", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Sen descrición", "upload_form.edit": "Editar", "upload_form.thumbnail": "Cambiar a miniatura", "upload_form.undo": "Eliminar", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 5eccf8fe0..2f747f591 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -515,7 +515,7 @@ "upload_error.poll": "Szavazásnál nem lehet fájlt feltölteni.", "upload_form.audio_description": "Írja le a hallássérültek számára", "upload_form.description": "Leírás látáskorlátozottak számára", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Nincs leírás megadva", "upload_form.edit": "Szerkesztés", "upload_form.thumbnail": "Előnézet megváltoztatása", "upload_form.undo": "Törlés", diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json index a83fa31d5..dc6234766 100644 --- a/app/javascript/mastodon/locales/hy.json +++ b/app/javascript/mastodon/locales/hy.json @@ -187,12 +187,12 @@ "error.unexpected_crash.next_steps_addons": "Փորձիր անջատել յաւելուածները եւ թարմացնել էջը։ Եթե դա չօգնի, կարող ես օգտուել Մաստադոնից այլ դիտարկիչով կամ յաւելուածով։", "errors.unexpected_crash.copy_stacktrace": "Պատճենել սթաքթրեյսը սեղմատախտակին", "errors.unexpected_crash.report_issue": "Զեկուցել խնդրի մասին", - "explore.search_results": "Search results", - "explore.suggested_follows": "For you", + "explore.search_results": "Որոնման արդիւնքներ", + "explore.suggested_follows": "Ձեզ համար", "explore.title": "Explore", - "explore.trending_links": "News", - "explore.trending_statuses": "Posts", - "explore.trending_tags": "Hashtags", + "explore.trending_links": "Նորութիւններ", + "explore.trending_statuses": "Գրառումներ", + "explore.trending_tags": "Պիտակներ", "follow_recommendations.done": "Աւարտուած է", "follow_recommendations.heading": "Հետեւիր այն մարդկանց, որոնց գրառումները կը ցանկանաս տեսնել։ Ահա մի քանի առաջարկ։", "follow_recommendations.lead": "Քո հոսքում, ժամանակագրական դասաւորութեամբ կը տեսնես այն մարդկանց գրառումները, որոնց հետեւում ես։ Մի վախեցիր սխալուել, դու միշտ կարող ես հեշտութեամբ ապահետեւել մարդկանց։", diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json index e9b2899c5..04366f1f8 100644 --- a/app/javascript/mastodon/locales/id.json +++ b/app/javascript/mastodon/locales/id.json @@ -515,7 +515,7 @@ "upload_error.poll": "Unggah berkas tak diizinkan di japat ini.", "upload_form.audio_description": "Penjelasan untuk orang dengan gangguan pendengaran", "upload_form.description": "Deskripsikan untuk mereka yang tidak bisa melihat dengan jelas", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Tidak ada deskripsi yang ditambahkan", "upload_form.edit": "Sunting", "upload_form.thumbnail": "Ubah gambar kecil", "upload_form.undo": "Undo", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index 75a73b430..e7cceedf7 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -515,7 +515,7 @@ "upload_error.poll": "Innsending skráa er ekki leyfð í könnunum.", "upload_form.audio_description": "Lýstu þessu fyrir heyrnarskerta", "upload_form.description": "Lýstu þessu fyrir sjónskerta", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Engri lýsingu bætt við", "upload_form.edit": "Breyta", "upload_form.thumbnail": "Skipta um smámynd", "upload_form.undo": "Eyða", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index 02c8e2d89..f64ca1b5c 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -460,7 +460,7 @@ "status.history.edited": "{name} ha modificato {date}", "status.load_more": "Mostra di più", "status.media_hidden": "Allegato nascosto", - "status.mention": "Nomina @{name}", + "status.mention": "Menziona @{name}", "status.more": "Altro", "status.mute": "Silenzia @{name}", "status.mute_conversation": "Silenzia conversazione", @@ -515,7 +515,7 @@ "upload_error.poll": "Caricamento file non consentito nei sondaggi.", "upload_form.audio_description": "Descrizione per persone con difetti uditivi", "upload_form.description": "Descrizione per utenti con disabilità visive", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Nessuna descrizione inserita", "upload_form.edit": "Modifica", "upload_form.thumbnail": "Cambia miniatura", "upload_form.undo": "Cancella", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index ef2bb4939..86d8d1ef4 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -515,7 +515,7 @@ "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": "삭제", diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json index 76a240faa..642ec5fba 100644 --- a/app/javascript/mastodon/locales/ku.json +++ b/app/javascript/mastodon/locales/ku.json @@ -515,7 +515,7 @@ "upload_error.poll": "Di rapirsîyan de mafê barkirina pelan nayê dayîn.", "upload_form.audio_description": "Ji bona kesên kêm dibihîsin re pênase bike", "upload_form.description": "Ji bona astengdarên dîtinê re vebêje", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Ti danasîn nehatiye tevlîkirin", "upload_form.edit": "Serrast bike", "upload_form.thumbnail": "Wêneyê biçûk biguherîne", "upload_form.undo": "Jê bibe", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index 889b45f0e..559d06f98 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -515,7 +515,7 @@ "upload_error.poll": "Datņu augšupielādes aptaujās nav atļautas.", "upload_form.audio_description": "Aprakstiet cilvēkiem ar dzirdes zudumu", "upload_form.description": "Aprakstiet vājredzīgajiem", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Apraksts nav pievienots", "upload_form.edit": "Rediģēt", "upload_form.thumbnail": "Nomainīt sīktēlu", "upload_form.undo": "Dzēst", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 3a9ae6297..5bce19bfb 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -48,8 +48,8 @@ "account.unmute_notifications": "Cofnij wyciszenie powiadomień od @{name}", "account.unmute_short": "Włącz dźwięki", "account_note.placeholder": "Naciśnij aby dodać notatkę", - "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.daily_retention": "Wskaźnik utrzymania użytkowników po dniach od rejestracji", + "admin.dashboard.monthly_retention": "Wskaźnik utrzymania użytkowników po miesiącach od rejestracji", "admin.dashboard.retention.average": "Średnia", "admin.dashboard.retention.cohort": "Miesiąc rejestracji", "admin.dashboard.retention.cohort_size": "Nowi użytkownicy", @@ -94,7 +94,7 @@ "community.column_settings.remote_only": "Tylko Zdalne", "compose_form.direct_message_warning": "Ten wpis będzie widoczny tylko dla wszystkich wspomnianych użytkowników.", "compose_form.direct_message_warning_learn_more": "Dowiedz się więcej", - "compose_form.hashtag_warning": "Ten wpis nie będzie widoczny pod podanymi hashtagami, ponieważ jest oznaczony jako niewidoczny. Tylko publiczne wpisy mogą zostać znalezione z użyciem hashtagów.", + "compose_form.hashtag_warning": "Ten wpis nie będzie widoczny pod podanymi hasztagami, ponieważ jest oznaczony jako niewidoczny. Tylko publiczne wpisy mogą zostać znalezione z użyciem hasztagów.", "compose_form.lock_disclaimer": "Twoje konto nie jest {locked}. Każdy, kto Cię śledzi, może wyświetlać Twoje wpisy przeznaczone tylko dla śledzących.", "compose_form.lock_disclaimer.lock": "zablokowane", "compose_form.placeholder": "Co Ci chodzi po głowie?", @@ -168,12 +168,12 @@ "empty_column.community": "Lokalna oś czasu jest pusta. Napisz coś publicznie, aby zagaić!", "empty_column.direct": "Nie masz żadnych wiadomości bezpośrednich. Kiedy dostaniesz lub wyślesz jakąś, pojawi się ona tutaj.", "empty_column.domain_blocks": "Brak ukrytych domen.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Nic nie jest w tej chwili popularne. Sprawdź później!", "empty_column.favourited_statuses": "Nie dodałeś(-aś) żadnego wpisu do ulubionych. Kiedy to zrobisz, pojawi się on tutaj.", "empty_column.favourites": "Nikt nie dodał tego wpisu do ulubionych. Gdy ktoś to zrobi, pojawi się tutaj.", - "empty_column.follow_recommendations": "Wygląda na to, że nie można wygenerować dla Ciebie żadnych sugestii. Możesz spróbować wyszukać osoby, które znasz, lub przeglądać popularne hashtagi.", + "empty_column.follow_recommendations": "Wygląda na to, że nie można wygenerować dla Ciebie żadnych sugestii. Możesz spróbować wyszukać osoby, które znasz, lub przeglądać popularne hasztagi.", "empty_column.follow_requests": "Nie masz żadnych próśb o możliwość śledzenia. Kiedy ktoś utworzy ją, pojawi się tutaj.", - "empty_column.hashtag": "Nie ma wpisów oznaczonych tym hashtagiem. Możesz napisać pierwszy(-a)!", + "empty_column.hashtag": "Nie ma wpisów oznaczonych tym hasztagiem. Możesz napisać pierwszy(-a).", "empty_column.home": "Nie śledzisz nikogo. Odwiedź globalną oś czasu lub użyj wyszukiwarki, aby znaleźć interesujące Cię profile.", "empty_column.home.suggestions": "Zobacz kilka sugestii", "empty_column.list": "Nie ma nic na tej liście. Kiedy członkowie listy dodadzą nowe wpisy, pojawia się one tutaj.", @@ -187,12 +187,12 @@ "error.unexpected_crash.next_steps_addons": "Spróbuj je wyłączyć lub odświeżyć stronę. Jeśli to nie pomoże, możesz wciąż korzystać z Mastodona w innej przeglądarce lub natywnej aplikacji.", "errors.unexpected_crash.copy_stacktrace": "Skopiuj ślad stosu do schowka", "errors.unexpected_crash.report_issue": "Zgłoś problem", - "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": "Wyniki wyszukiwania", + "explore.suggested_follows": "Dla ciebie", + "explore.title": "Odkrywaj", + "explore.trending_links": "Aktualności", + "explore.trending_statuses": "Posty", + "explore.trending_tags": "Hasztagi", "follow_recommendations.done": "Gotowe", "follow_recommendations.heading": "Śledź ludzi, których wpisy chcesz czytać. Oto kilka propozycji.", "follow_recommendations.lead": "Wpisy osób, które śledzisz będą pojawiać się w porządku chronologicznym na stronie głównej. Nie bój się popełniać błędów, możesz bez problemu przestać śledzić każdego w każdej chwili!", @@ -212,7 +212,7 @@ "hashtag.column_header.tag_mode.any": "lub {additional}", "hashtag.column_header.tag_mode.none": "bez {additional}", "hashtag.column_settings.select.no_options_message": "Nie odnaleziono sugestii", - "hashtag.column_settings.select.placeholder": "Wprowadź hashtagi…", + "hashtag.column_settings.select.placeholder": "Wprowadź hasztagi…", "hashtag.column_settings.tag_mode.all": "Wszystkie", "hashtag.column_settings.tag_mode.any": "Dowolne", "hashtag.column_settings.tag_mode.none": "Żadne", @@ -294,7 +294,7 @@ "navigation_bar.discover": "Odkrywaj", "navigation_bar.domain_blocks": "Ukryte domeny", "navigation_bar.edit_profile": "Edytuj profil", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Odkrywaj", "navigation_bar.favourites": "Ulubione", "navigation_bar.filters": "Wyciszone słowa", "navigation_bar.follow_requests": "Prośby o śledzenie", @@ -309,7 +309,7 @@ "navigation_bar.preferences": "Preferencje", "navigation_bar.public_timeline": "Globalna oś czasu", "navigation_bar.security": "Bezpieczeństwo", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "Użytkownik {name} zarejestrował się", "notification.favourite": "{name} dodał(a) Twój wpis do ulubionych", "notification.follow": "{name} zaczął(-ęła) Cię śledzić", "notification.follow_request": "{name} poprosił(a) o możliwość śledzenia Cię", @@ -321,7 +321,7 @@ "notification.update": "{name} edytował post", "notifications.clear": "Wyczyść powiadomienia", "notifications.clear_confirmation": "Czy na pewno chcesz bezpowrotnie usunąć wszystkie powiadomienia?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Nowe rejestracje:", "notifications.column_settings.alert": "Powiadomienia na pulpicie", "notifications.column_settings.favourite": "Dodanie do ulubionych:", "notifications.column_settings.filter_bar.advanced": "Wyświetl wszystkie kategorie", @@ -389,54 +389,54 @@ "relative_time.seconds": "{number} s.", "relative_time.today": "dzisiaj", "reply_indicator.cancel": "Anuluj", - "report.block": "Block", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", + "report.block": "Zablokuj", + "report.block_explanation": "Nie zobaczysz ich postów. Nie będą mogli zobaczyć Twoich postów ani cię śledzić. Będą mogli domyślić się, że są zablokowani.", "report.categories.other": "Inne", "report.categories.spam": "Spam", "report.categories.violation": "Zawartość narusza co najmniej jedną zasadę serwera", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", + "report.category.subtitle": "Wybierz najbardziej pasującą opcję", + "report.category.title": "Powiedz, co się dzieje z tym {type}", + "report.category.title_account": "profil", "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.close": "Gotowe", + "report.comment.title": "Czy jest jeszcze coś, co uważasz, że powinniśmy wiedzieć?", "report.forward": "Przekaż na {target}", "report.forward_hint": "To konto znajduje się na innej instancji. Czy chcesz wysłać anonimową kopię zgłoszenia rnież na nią?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Wycisz", + "report.mute_explanation": "Nie zobaczysz ich wpisów. Mimo to będą mogli wciąż śledzić cię i widzieć twoje wpisy, ale nie będą widzieli, że są wyciszeni.", + "report.next": "Dalej", "report.placeholder": "Dodatkowe komentarze", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", + "report.reasons.dislike": "Nie podoba mi się to", + "report.reasons.dislike_description": "Nie jest to coś, co chciałoby się zobaczyć", + "report.reasons.other": "Coś innego", + "report.reasons.other_description": "Zgłoszenie nie pasuje do żadnej z pozostałych kategorii", + "report.reasons.spam": "To spam", "report.reasons.spam_description": "Niebezpieczne linki, fałszywe zaangażowanie lub powtarzające się odpowiedzi", - "report.reasons.violation": "It violates server rules", - "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": "Narusza to zasady serwera", + "report.reasons.violation_description": "Zdajesz sobie sprawę, że narusza to szczególne zasady", + "report.rules.subtitle": "Wybierz wszystkie pasujące", + "report.rules.title": "Które zasady zostały złamane?", + "report.statuses.subtitle": "Wybierz wszystkie pasujące", + "report.statuses.title": "Czy są jakieś wpisy, które obrazują opisany w zgłoszeniu problem?", "report.submit": "Wyślij", "report.target": "Zgłaszanie {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": "Oto opcje, dzięki którym możesz kontrolować, co widzisz na Mastodon:", + "report.thanks.take_action_actionable": "W trakcie jak będziemy się przyglądać tej sprawie, możesz podjąć akcje przeciwko @{name}:", + "report.thanks.title": "Nie chcesz tego widzieć?", + "report.thanks.title_actionable": "Dziękujemy za zgłoszenie. Przyjrzymy się tej sprawie.", + "report.unfollow": "Przestań śledzić @{name}", + "report.unfollow_explanation": "Śledzisz to konto. Jeśli nie chcesz już widzieć postów z tego konta w swojej głównej osi czasu, przestań je śledzić.", "search.placeholder": "Szukaj", "search_popout.search_format": "Zaawansowane wyszukiwanie", "search_popout.tips.full_text": "Pozwala na wyszukiwanie wpisów które napisałeś(-aś), dodałeś(-aś) do ulubionych lub podbiłeś(-aś), w których o Tobie wspomniano, oraz pasujące nazwy użytkowników, pełne nazwy i hashtagi.", "search_popout.tips.hashtag": "hasztag", "search_popout.tips.status": "wpis", - "search_popout.tips.text": "Proste wyszukiwanie pasujących pseudonimów, nazw użytkowników i hashtagów", + "search_popout.tips.text": "Proste wyszukiwanie pasujących pseudonimów, nazw użytkowników i hasztagów", "search_popout.tips.user": "użytkownik", "search_results.accounts": "Ludzie", - "search_results.all": "All", - "search_results.hashtags": "Hashtagi", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.all": "Wszystkie", + "search_results.hashtags": "Hasztagi", + "search_results.nothing_found": "Nie znaleziono innych wyników dla tego wyszukania", "search_results.statuses": "Wpisy", "search_results.statuses_fts_disabled": "Szukanie wpisów przy pomocy ich zawartości nie jest włączone na tym serwerze Mastodona.", "search_results.total": "{count, number} {count, plural, one {wynik} few {wyniki} many {wyników} more {wyników}}", @@ -452,12 +452,12 @@ "status.direct": "Wyślij wiadomość bezpośrednią do @{name}", "status.edit": "Edytuj", "status.edited": "Edytowano {date}", - "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", + "status.edited_x_times": "Edytowano {count, plural, one {{count} raz} other {{count} razy}}", "status.embed": "Osadź", "status.favourite": "Dodaj do ulubionych", "status.filtered": "Filtrowany(-a)", - "status.history.created": "{name} created {date}", - "status.history.edited": "{name} edited {date}", + "status.history.created": "{name} utworzył(a) {date}", + "status.history.edited": "{name} edytował(a) {date}", "status.load_more": "Załaduj więcej", "status.media_hidden": "Zawartość multimedialna ukryta", "status.mention": "Wspomnij o @{name}", @@ -515,7 +515,7 @@ "upload_error.poll": "Dołączanie plików nie dozwolone z głosowaniami.", "upload_form.audio_description": "Opisz dla osób niesłyszących i niedosłyszących", "upload_form.description": "Wprowadź opis dla niewidomych i niedowidzących", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Nie dodano opisu", "upload_form.edit": "Edytuj", "upload_form.thumbnail": "Zmień miniaturę", "upload_form.undo": "Usuń", diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json index 5514ad446..01b9c4f65 100644 --- a/app/javascript/mastodon/locales/pt-PT.json +++ b/app/javascript/mastodon/locales/pt-PT.json @@ -515,7 +515,7 @@ "upload_error.poll": "Carregamento de ficheiros não é permitido em votações.", "upload_form.audio_description": "Descreva para pessoas com diminuição da acuidade auditiva", "upload_form.description": "Descrição da imagem para pessoas com dificuldades visuais", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Nenhuma descrição adicionada", "upload_form.edit": "Editar", "upload_form.thumbnail": "Alterar miniatura", "upload_form.undo": "Eliminar", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index c227150f9..8cdfad609 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -436,7 +436,7 @@ "search_results.accounts": "Люди", "search_results.all": "Все", "search_results.hashtags": "Хэштеги", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Ничего не найдено по этому запросу", "search_results.statuses": "Посты", "search_results.statuses_fts_disabled": "Поиск постов по их содержанию не поддерживается данным сервером Mastodon.", "search_results.total": "{count, number} {count, plural, one {результат} few {результата} many {результатов} other {результатов}}", @@ -515,7 +515,7 @@ "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": "Отменить", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index 8f0beacff..d0472db29 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -515,7 +515,7 @@ "upload_error.poll": "Me pyetësorët s’lejohet ngarkim kartelash.", "upload_form.audio_description": "Përshkruajeni për persona me dëgjim të kufizuar", "upload_form.description": "Përshkruajeni për persona me probleme shikimi", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "S’u shtua përshkrim", "upload_form.edit": "Përpunoni", "upload_form.thumbnail": "Ndryshoni miniaturën", "upload_form.undo": "Fshije", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index 636591be8..2df958d4d 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -515,7 +515,7 @@ "upload_error.poll": "Filuppladdning tillåts inte med omröstningar.", "upload_form.audio_description": "Beskriv för personer med hörselnedsättning", "upload_form.description": "Beskriv för synskadade", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Beskrivning saknas", "upload_form.edit": "Redigera", "upload_form.thumbnail": "Ändra miniatyr", "upload_form.undo": "Radera", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 9f592fd83..56cff648e 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -515,7 +515,7 @@ "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": "ลบ", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 959af5693..1ab3b4427 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -515,7 +515,7 @@ "upload_error.poll": "Anketlerde dosya yüklemesine izin verilmez.", "upload_form.audio_description": "İşitme kaybı olan kişiler için tarif edin", "upload_form.description": "Görme engelliler için açıklama", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Açıklama eklenmedi", "upload_form.edit": "Düzenle", "upload_form.thumbnail": "Küçük resmi değiştir", "upload_form.undo": "Sil", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index b8f6bed42..3aeb40209 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -29,9 +29,9 @@ "account.media": "Медіа", "account.mention": "Згадати @{name}", "account.moved_to": "{name} переїхав на:", - "account.mute": "Заглушити @{name}", + "account.mute": "Нехтувати @{name}", "account.mute_notifications": "Не показувати сповіщення від @{name}", - "account.muted": "Заглушений", + "account.muted": "Нехтується", "account.posts": "Дмухи", "account.posts_with_replies": "Дмухи й відповіді", "account.report": "Поскаржитися на @{name}", @@ -44,9 +44,9 @@ "account.unblock_short": "Розблокувати", "account.unendorse": "Не публікувати у профілі", "account.unfollow": "Відписатися", - "account.unmute": "Зняти глушення з @{name}", + "account.unmute": "Не нехтувати @{name}", "account.unmute_notifications": "Показувати сповіщення від @{name}", - "account.unmute_short": "Unmute", + "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", @@ -77,7 +77,7 @@ "column.follow_requests": "Запити на підписку", "column.home": "Головна", "column.lists": "Списки", - "column.mutes": "Заглушені користувачі", + "column.mutes": "Нехтувані користувачі", "column.notifications": "Сповіщення", "column.pins": "Закріплені дмухи", "column.public": "Глобальна стрічка", @@ -124,12 +124,12 @@ "confirmations.discard_edit_media.confirm": "Відкинути", "confirmations.discard_edit_media.message": "У вас є незбережені зміни в описі медіа або попереднього перегляду, все одно відкинути їх?", "confirmations.domain_block.confirm": "Сховати весь домен", - "confirmations.domain_block.message": "Ви точно, точно впевнені, що хочете заблокувати весь домен {domain}? У більшості випадків для нормальної роботи краще заблокувати/заглушити лише деяких користувачів. Ви не зможете бачити контент з цього домену у будь-яких стрічках або ваших сповіщеннях. Ваші підписники з цього домену будуть відписані від вас.", + "confirmations.domain_block.message": "Ви точно, точно впевнені, що хочете заблокувати весь домен {domain}? У більшості випадків для нормальної роботи краще заблокувати або нехтувати лише деяких користувачів. Ви не зможете бачити контент з цього домену у будь-яких стрічках або ваших сповіщеннях. Ваші підписники з цього домену будуть відписані від вас.", "confirmations.logout.confirm": "Вийти", "confirmations.logout.message": "Ви впевнені, що хочете вийти?", - "confirmations.mute.confirm": "Заглушити", - "confirmations.mute.explanation": "Це приховає пости від них і пости зі згадками про них, проте вони все одно матимуть змогу бачити ваші пости і підписуватися на вас.", - "confirmations.mute.message": "Ви впевнені, що хочете заглушити {name}?", + "confirmations.mute.confirm": "Нехтуавти", + "confirmations.mute.explanation": "Це сховає дописи від них і дописи зі згадками про них, проте вони все одно матимуть змогу бачити ваші дописи й підписуватися на вас.", + "confirmations.mute.message": "Ви впевнені, що хочете нехтувати {name}?", "confirmations.redraft.confirm": "Видалити та перестворити", "confirmations.redraft.message": "Ви впевнені, що хочете видалити допис і перестворити його? Ви втратите всі відповіді, передмухи та вподобайки допису.", "confirmations.reply.confirm": "Відповісти", @@ -178,7 +178,7 @@ "empty_column.home.suggestions": "Переглянути пропозиції", "empty_column.list": "Немає нічого в цьому списку. Коли його учасники дмухнуть нові статуси, вони з'являться тут.", "empty_column.lists": "У вас ще немає списків. Коли ви їх створите, вони з'являться тут.", - "empty_column.mutes": "Ви ще не заглушили жодного користувача.", + "empty_column.mutes": "Ви ще не нехтуєте жодного користувача.", "empty_column.notifications": "У вас ще немає сповіщень. Переписуйтесь з іншими користувачами, щоб почати розмову.", "empty_column.public": "Тут поки нічого немає! Опублікуйте щось, або вручну підпишіться на користувачів інших інстанцій, щоб заповнити стрічку", "error.unexpected_crash.explanation": "Ця сторінка не може бути коректно відображена через баґ у нашому коді або через проблему сумісності браузера.", @@ -243,7 +243,7 @@ "keyboard_shortcuts.legend": "показати підказку", "keyboard_shortcuts.local": "відкрити локальну стрічку", "keyboard_shortcuts.mention": "згадати автора", - "keyboard_shortcuts.muted": "відкрити список заглушених користувачів", + "keyboard_shortcuts.muted": "Відкрити список нехтуваних користувачів", "keyboard_shortcuts.my_profile": "відкрити ваш профіль", "keyboard_shortcuts.notifications": "відкрити колонку сповіщень", "keyboard_shortcuts.open_media": "відкрити медіа", @@ -283,7 +283,7 @@ "missing_indicator.label": "Не знайдено", "missing_indicator.sublabel": "Ресурс не знайдений", "mute_modal.duration": "Тривалість", - "mute_modal.hide_notifications": "Приховати сповіщення від користувача?", + "mute_modal.hide_notifications": "Сховати сповіщення від користувача?", "mute_modal.indefinite": "Не визначено", "navigation_bar.apps": "Мобільні додатки", "navigation_bar.blocks": "Заблоковані користувачі", @@ -294,7 +294,7 @@ "navigation_bar.discover": "Знайти", "navigation_bar.domain_blocks": "Приховані домени", "navigation_bar.edit_profile": "Редагувати профіль", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Огляд", "navigation_bar.favourites": "Вподобане", "navigation_bar.filters": "Приховані слова", "navigation_bar.follow_requests": "Запити на підписку", @@ -303,7 +303,7 @@ "navigation_bar.keyboard_shortcuts": "Гарячі клавіші", "navigation_bar.lists": "Списки", "navigation_bar.logout": "Вийти", - "navigation_bar.mutes": "Заглушені користувачі", + "navigation_bar.mutes": "Нехтувані користувачі", "navigation_bar.personal": "Особисте", "navigation_bar.pins": "Закріплені дмухи", "navigation_bar.preferences": "Налаштування", @@ -402,8 +402,8 @@ "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Надіслати до {target}", "report.forward_hint": "Це акаунт з іншого серверу. Відправити анонімізовану копію скарги і туди?", - "report.mute": "Заглушити", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.mute": "Нехтувати", + "report.mute_explanation": "Ви не побачите їхніх дописів. Вони все ще можуть стежити за вами, бачити ваші дописи та не знатимуть про нехтування.", "report.next": "Далі", "report.placeholder": "Додаткові коментарі", "report.reasons.dislike": "Мені це не подобається", @@ -422,8 +422,8 @@ "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.thanks.title": "Не хочете це бачити?", + "report.thanks.title_actionable": "Дякуємо за скаргу, ми розглянемо її.", "report.unfollow": "Відписатися від @{name}", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "search.placeholder": "Пошук", @@ -436,7 +436,7 @@ "search_results.accounts": "Люди", "search_results.all": "Усе", "search_results.hashtags": "Хештеґи", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Нічого не вдалося знайти за цими пошуковими термінами", "search_results.statuses": "Дмухів", "search_results.statuses_fts_disabled": "Пошук дмухів за вмістом недоступний на цьому сервері Mastodon.", "search_results.total": "{count, number} {count, plural, one {результат} few {результати} many {результатів} other {результатів}}", @@ -462,8 +462,8 @@ "status.media_hidden": "Медіа приховано", "status.mention": "Згадати @{name}", "status.more": "Більше", - "status.mute": "Заглушити @{name}", - "status.mute_conversation": "Заглушити діалог", + "status.mute": "Нехтувати @{name}", + "status.mute_conversation": "Нехтувати діалог", "status.open": "Розгорнути допис", "status.pin": "Закріпити у профілі", "status.pinned": "Закріплений дмух", @@ -485,7 +485,7 @@ "status.show_more_all": "Показувати більше для всіх", "status.show_thread": "Показати ланцюжок", "status.uncached_media_warning": "Недоступно", - "status.unmute_conversation": "Зняти глушення з діалогу", + "status.unmute_conversation": "Не нехтувати діалог", "status.unpin": "Відкріпити від профілю", "suggestions.dismiss": "Відхилити пропозицію", "suggestions.header": "Вас може зацікавити…", @@ -515,7 +515,7 @@ "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": "Видалити", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 8da449cef..9211f6007 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -9,10 +9,10 @@ "account.browse_more_on_origin_server": "Truy cập trang của người này", "account.cancel_follow_request": "Hủy yêu cầu theo dõi", "account.direct": "Nhắn riêng @{name}", - "account.disable_notifications": "Không thông báo khi @{name} đăng tút", + "account.disable_notifications": "Tắt thông báo khi @{name} đăng tút", "account.domain_blocked": "Người đã chặn", "account.edit_profile": "Sửa hồ sơ", - "account.enable_notifications": "Thông báo khi @{name} đăng tút", + "account.enable_notifications": "Nhận thông báo khi @{name} đăng tút", "account.endorse": "Tôn vinh người này", "account.follow": "Theo dõi", "account.followers": "Người theo dõi", @@ -104,7 +104,7 @@ "compose_form.poll.remove_option": "Xóa lựa chọn này", "compose_form.poll.switch_to_multiple": "Có thể chọn nhiều lựa chọn", "compose_form.poll.switch_to_single": "Chỉ cho phép chọn duy nhất một lựa chọn", - "compose_form.publish": "Đăng tút", + "compose_form.publish": "Đăng", "compose_form.publish_loud": "{publish}!", "compose_form.save_changes": "Lưu thay đổi", "compose_form.sensitive.hide": "{count, plural, other {Đánh dấu nội dung nhạy cảm}}", @@ -112,7 +112,7 @@ "compose_form.sensitive.unmarked": "{count, plural, other {Nội dung này bình thường}}", "compose_form.spoiler.marked": "Hủy nội dung ẩn", "compose_form.spoiler.unmarked": "Tạo nội dung ẩn", - "compose_form.spoiler_placeholder": "Viết nội dung ẩn của bạn ở đây", + "compose_form.spoiler_placeholder": "Lời dẫn cho nội dung ẩn", "confirmation_modal.cancel": "Hủy bỏ", "confirmations.block.block_and_report": "Chặn & Báo cáo", "confirmations.block.confirm": "Chặn", @@ -378,11 +378,11 @@ "regeneration_indicator.label": "Đang tải…", "regeneration_indicator.sublabel": "Bảng tin của bạn đang được cập nhật!", "relative_time.days": "{number} ngày", - "relative_time.full.days": "{number, plural, other {# ngày}} trước", - "relative_time.full.hours": "{number, plural, other {# giờ}} trước", + "relative_time.full.days": "{number, plural, other {# ngày}}", + "relative_time.full.hours": "{number, plural, other {# giờ}}", "relative_time.full.just_now": "vừa xong", - "relative_time.full.minutes": "{number, plural, other {# phút}} trước", - "relative_time.full.seconds": "{number, plural, other {# giây}} trước", + "relative_time.full.minutes": "{number, plural, other {# phút}}", + "relative_time.full.seconds": "{number, plural, other {#s}}", "relative_time.hours": "{number} giờ", "relative_time.just_now": "vừa xong", "relative_time.minutes": "{number} phút", @@ -458,7 +458,7 @@ "status.filtered": "Bộ lọc", "status.history.created": "{name} tạo lúc {date}", "status.history.edited": "{name} sửa lúc {date}", - "status.load_more": "Xem thêm", + "status.load_more": "Tải thêm", "status.media_hidden": "Đã ẩn", "status.mention": "Nhắc đến @{name}", "status.more": "Thêm", @@ -515,7 +515,7 @@ "upload_error.poll": "Không cho phép đính kèm tập tin.", "upload_form.audio_description": "Mô tả cho người mất thính giác", "upload_form.description": "Mô tả cho người khiếm thị", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Chưa thêm mô tả", "upload_form.edit": "Biên tập", "upload_form.thumbnail": "Đổi ảnh thumbnail", "upload_form.undo": "Xóa bỏ", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index e49284653..d9447a01a 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -41,12 +41,12 @@ "account.statuses_counter": "{counter} 条嘟文", "account.unblock": "解除屏蔽 @{name}", "account.unblock_domain": "不再屏蔽 {domain} 实例", - "account.unblock_short": "移出黑名单", + "account.unblock_short": "解除屏蔽", "account.unendorse": "不在个人资料中推荐此用户", "account.unfollow": "取消关注", "account.unmute": "不再隐藏 @{name}", "account.unmute_notifications": "不再隐藏来自 @{name} 的通知", - "account.unmute_short": "恢复消息提醒", + "account.unmute_short": "取消静音", "account_note.placeholder": "点击添加备注", "admin.dashboard.daily_retention": "注册后用户留存率(按日计算)", "admin.dashboard.monthly_retention": "注册后用户留存率(按月计算)", @@ -515,7 +515,7 @@ "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": "删除", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 866fed93c..d08d49af5 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -515,7 +515,7 @@ "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": "刪除", diff --git a/config/locales/ar.yml b/config/locales/ar.yml index e8db63f9d..da2a74e2e 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -474,6 +474,7 @@ ar: reason: السبب العلني title: سياسات المحتوى dashboard: + instance_accounts_dimension: الحسابات الأكثر متابعة instance_languages_dimension: اللغات الأكثر استخدامًا delivery: all: الكل @@ -940,10 +941,12 @@ ar: created_at: بتاريخ recipient: موجّه إلى status: 'المنشور #%{id}' + title: "%{action} في %{date}" title_actions: delete_statuses: إزالة منشور disable: تجميد للحساب none: تحذير + silence: الحد من الحساب suspend: تعليق للحساب your_appeal_approved: تمت الموافقة على طعنك your_appeal_pending: لقد قمت بتقديم طعن @@ -1141,13 +1144,6 @@ ar: other: رائع، لقد قام بمتابَعتك %{count} مُتابِعون جُدد أثناء فترة غيابك عن ماستدون! two: رائع، لقد قام بمتابَعتك %{count} مُتابِعون جُدد أثناء فترة غيابك عن ماستدون! zero: رائع، لقد قام بمتابَعتك %{count} مُتابِعون جُدد أثناء فترة غيابك عن ماستدون! - subject: - few: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى 🐘" - many: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى 🐘" - one: "إشعار واحد 1 منذ آخر زيارة لك لـ 🐘" - other: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى 🐘" - two: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى 🐘" - zero: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى 🐘" title: أثناء فترة غيابك... favourite: body: 'أُعجب %{name} بمنشورك:' diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 4fd970308..c9e264787 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -242,9 +242,6 @@ bg: new_followers_summary: one: Имаш един нов последовател! Ура! other: Имаш %{count} нови последователи! Изумително! - subject: - one: "1 ново известие от последното ти посещение 🐘" - other: "%{count} нови известия от последното ти посещение 🐘" favourite: body: 'Публикацията ти беше харесана от %{name}:' subject: "%{name} хареса твоята публикация" diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 0cafd20d0..b2346b602 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -371,7 +371,7 @@ ca: enable: Habilita enabled: Activat enabled_msg: S'ha habilitat amb èxit emoji - image_hint: PNG or GIF fins a %{size} + image_hint: PNG o GIF fins a %{size} list: Llista listed: Enumerat new: @@ -488,7 +488,7 @@ ca: other: Intents fallits en %{count} diferents dies. no_failures_recorded: Sense errors registrats. title: Disponibilitat - warning: El darrer intent de connectar a aquest servidor no ha tingut èxit + warning: El darrer intent de connexió a aquest servidor no ha tingut èxit back_to_all: Totes back_to_limited: Limitades back_to_warning: Avís @@ -1236,8 +1236,8 @@ ca: one: A més, has adquirit un nou seguidor durant la teva absència! Visca! other: A més, has adquirit %{count} nous seguidors mentre estaves fora! Increïble! subject: - one: "1 notificació nova des de la darrera visita 🐘" - other: "%{count} notificacions noves des de la darrera visita 🐘" + one: "1 notificació nova des de la teva darrera visita 🐘" + other: "%{count} notificacions noves des de la teva darrera visita 🐘" title: Durant la teva absència… favourite: body: "%{name} ha marcat com a favorit el teu estat:" diff --git a/config/locales/ckb.yml b/config/locales/ckb.yml index 3ab2fc63d..14ff930fe 100644 --- a/config/locales/ckb.yml +++ b/config/locales/ckb.yml @@ -836,9 +836,6 @@ ckb: new_followers_summary: one: لەکاتێک کە نەبوو ،شوێنکەوتوویێکی نوێت پەیداکرد،ئافەرم! other: کاتیک کە نەبووی %{count} شوێنکەوتوویێکی نوێت پەیدا کرد! چ باشە! - subject: - one: "ئاگاداریێکی نووی لە دوایین سەردانی ئێوە🐘" - other: "%{count} ئاگاداریێکی نوێ لە دوایین سەردانی ئێوە🐘" title: لە غیابی تۆدا... favourite: body: 'دۆخت پەسەندکراوە لەلایەن %{name}:' diff --git a/config/locales/co.yml b/config/locales/co.yml index e39117e99..156ec696e 100644 --- a/config/locales/co.yml +++ b/config/locales/co.yml @@ -987,9 +987,6 @@ co: new_followers_summary: one: Avete ancu un’abbunatu novu! other: Avete ancu %{count} abbunati novi! - subject: - one: "Una nutificazione nova dapoi à a vostr’ultima visita 🐘" - other: "%{count} nutificazione nove dapoi à a vostr’ultima visita 🐘" title: Dapoi l’ultima volta… favourite: body: "%{name} hà aghjuntu u vostru statutu à i so favuriti :" diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 7cfc4f66f..6e235eb50 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -303,7 +303,7 @@ cs: create_domain_allow_html: Uživatel %{name} povolil federaci s doménou %{target} create_domain_block_html: Uživatel %{name} zablokoval doménu %{target} create_email_domain_block_html: Uživatel %{name} zablokoval e-mailovou doménu %{target} - create_ip_block_html: "%{name} vytvořil pravidlo pro IP %{target}" + create_ip_block_html: Uživatel %{name} vytvořil pravidlo pro IP %{target} create_unavailable_domain_html: "%{name} zastavil doručování na doménu %{target}" demote_user_html: Uživatel %{name} degradoval uživatele %{target} destroy_announcement_html: Uživatel %{name} odstranil oznámení %{target} @@ -931,9 +931,9 @@ cs: confirmation_dialogs: Potvrzovací dialogy discovery: Objevování localization: - body: Mastodon je přeložen do češtiny díky dobrovolníkům. + body: Mastodon je překládán dobrovolníky. guide_link: https://cs.crowdin.com/project/mastodon - guide_link_text: Každý může pomoci. + guide_link_text: Zapojit se může každý. sensitive_content: Citlivý obsah toot_layout: Rozložení příspěvků application_mailer: diff --git a/config/locales/cy.yml b/config/locales/cy.yml index 3d12d4098..d3b5eaf65 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -832,13 +832,6 @@ cy: other: Hefyd, rydych wedi ennill %{count} dilynwr newydd tra eich bod i ffwrdd! Hwrê! two: Hefyd, rydych wedi ennill %{count} dilynwr newydd tra eich bod i ffwrdd! Hwrê! zero: Hefyd, rydych wedi ennill %{count} dilynwr newydd tra eich bod i ffwrdd! Hwrê! - subject: - few: "%{count} hysbysiad newydd ers eich ymweliad diwethaf" - many: "%{count} hysbysiad newydd ers eich ymweliad diwethaf" - one: 1 hysbysiad newydd ers eich ymweliad diwethaf - other: "%{count} hysbysiad newydd ers eich ymweliad diwethaf" - two: "%{count} hysbysiad newydd ers eich ymweliad diwethaf" - zero: "%{count} hysbysiad newydd ers eich ymweliad diwethaf" title: Yn eich absenoldeb... favourite: body: 'Cafodd eich statws ei hoffi gan %{name}:' diff --git a/config/locales/de.yml b/config/locales/de.yml index b5e63c79a..44f59c396 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -522,6 +522,9 @@ de: delivery_error_hint: Wenn eine Lieferung für %{count} Tage nicht möglich ist, wird sie automatisch als nicht lieferbar markiert. destroyed_msg: Daten von %{domain} sind nun in der Warteschlange für die bevorstehende Löschung. empty: Keine Domains gefunden. + known_accounts: + one: "%{count} bekanntes Konto" + other: "%{count} bekannte Konten" moderation: all: Alle limited: Beschränkt @@ -790,6 +793,9 @@ de: description_html: Dies sind Links, die derzeit von Konten geteilt werden, von denen dein Server Beiträge sieht. Es kann deinen Benutzern helfen, herauszufinden, was in der Welt vor sich geht. Es werden keine Links öffentlich angezeigt, bis du den Publisher genehmigst. Du kannst auch einzelne Links zulassen oder ablehnen. disallow: Verbiete Link disallow_provider: Verbiete Herausgeber + shared_by_over_week: + one: In der letzten Woche von einer Person geteilt + other: In der letzten Woche von %{count} Personen geteilt title: Angesagte Links usage_comparison: Heute %{today} mal geteilt, gestern %{yesterday} mal pending_review: Überprüfung ausstehend @@ -829,6 +835,9 @@ de: trending_rank: 'Trend #%{rank}' usable: Kann verwendet werden usage_comparison: Heute %{today} mal genutzt, gestern %{yesterday} mal + used_by_over_week: + one: In der letzten Woche von einer Person genutzt + other: In der letzten Woche von %{count} Personen genutzt title: Trends warning_presets: add_new: Neu hinzufügen @@ -1223,9 +1232,6 @@ de: new_followers_summary: one: Außerdem ist dir seit du weg warst ein weiteres Wesen gefolgt! Juhu! other: Außerdem sind dir seit du weg warst %{count} weitere Wesen gefolgt! Großartig! - subject: - one: "1 neue Mitteilung seit deinem letzten Besuch 🐘" - other: "%{count} neue Mitteilungen seit deinem letzten Besuch 🐘" title: In deiner Abwesenheit... favourite: body: 'Dein Beitrag wurde von %{name} favorisiert:' diff --git a/config/locales/doorkeeper.ar.yml b/config/locales/doorkeeper.ar.yml index 0bd196d16..7c8d0b239 100644 --- a/config/locales/doorkeeper.ar.yml +++ b/config/locales/doorkeeper.ar.yml @@ -60,6 +60,7 @@ ar: error: title: حدث هناك خطأ new: + review_permissions: مراجعة الصلاحيات title: إذن بالتصريح show: title: قم بنسخ رمز المصادقة و إلصاقه على التطبيق. @@ -69,6 +70,7 @@ ar: confirmations: revoke: متأكد ؟ index: + authorized_at: تاريخ التخويل %{date} last_used_at: آخر استخدام في %{date} never_used: لم يُستخدَم قط scopes: الصلاحيات @@ -119,6 +121,7 @@ ar: admin/all: جميع المهام الإدارية admin/reports: إدارة التقارير all: كل شيء + blocks: تم حجبها bookmarks: الفواصل المرجعية conversations: المحادثات crypto: التشفير من الطرف إلى نهاية الطرف @@ -128,6 +131,7 @@ ar: follows: الإشتراكات lists: القوائم media: الوسائط المرفقة + mutes: تم كتمها notifications: الإشعارات push: الإخطارات المدفوعة reports: الشكاوى @@ -167,6 +171,7 @@ ar: write:accounts: تعديل صفحتك التعريفية write:blocks: حجب الحسابات و النطاقات write:bookmarks: الإحتفاظ بالمنشورات في الفواصل المرجعية + write:conversations: كتم وحذف المحادثات write:favourites: الإعجاب بمنشورات write:filters: إنشاء عوامل تصفية write:follows: متابَعة الأشخاص diff --git a/config/locales/doorkeeper.pl.yml b/config/locales/doorkeeper.pl.yml index 13ac6b7ff..c508aab94 100644 --- a/config/locales/doorkeeper.pl.yml +++ b/config/locales/doorkeeper.pl.yml @@ -60,6 +60,8 @@ pl: error: title: Wystapił błąd new: + prompt_html: "%{client_name} chciałby uzyskać pozwolenie na dostęp do Twojego konta. Jest to aplikacja zewnętrzna. Jeśli jej nie ufasz, nie powinno się jej autoryzować." + review_permissions: Sprawdź uprawnienia title: Wymagana jest autoryzacja show: title: Skopiuj kod uwierzytelniający i wklej go w aplikacji. @@ -69,6 +71,12 @@ pl: confirmations: revoke: Czy na pewno? index: + authorized_at: Autoryzowano %{date} + description_html: Są to aplikacje, które mogą uzyskać dostęp do Twojego konta za pomocą API. Jeśli są tu aplikacje, których nie rozpoznajesz lub aplikacja zachowuje się nieprawidłowo, możesz usunąć jej dostęp. + last_used_at: Ostatnio używane %{date} + never_used: Nigdy nieużywane + scopes: Uprawnienia + superapp: Wewnętrzne title: Twoje autoryzowane aplikacje errors: messages: @@ -104,6 +112,33 @@ pl: authorized_applications: destroy: notice: Unieważniono aplikację. + grouped_scopes: + access: + read: Dostęp w trybie tylko do odczytu + read/write: Uprawnienia do odczytu i zapisu + write: Dostęp w trybie tylko do odczytu + title: + accounts: Konta + admin/accounts: Zarządzanie kontami użytkowników + admin/all: Wszystkie opcje administratora + admin/reports: Zarządzanie zgłoszeniami + all: Wszystko + blocks: Zablokowane + bookmarks: Zakładki + conversations: Konwersacje + crypto: Szyfrowanie End-to-End + favourites: Ulubione + filters: Filtry + follow: Relacje + follows: Śledzenia + lists: Listy + media: Załączniki multimedialne + mutes: Wyciszenia + notifications: Powiadomienia + push: Powiadomienia push + reports: Zgłoszenia + search: Szukaj + statuses: Wpisy layouts: admin: nav: @@ -118,6 +153,7 @@ pl: admin:write: zmodyfikuj wszystkie dane na serwerze admin:write:accounts: wykonaj działania moderacyjne na kontach admin:write:reports: wykonaj działania moderacyjne na zgłoszeniach + crypto: użyj szyfrowania end-to-end follow: możliwość śledzenia kont push: otrzymywanie powiadomień push dla Twojego konta read: możliwość odczytu wszystkich danych konta @@ -137,6 +173,7 @@ pl: write:accounts: możliwość modyfikowania informacji o koncie write:blocks: możliwość blokowania domen i użytkowników write:bookmarks: możliwość dodawania wpisów do zakładek + write:conversations: wycisz i usuń konwersacje write:favourites: możliwość dodawnia wpisów do ulubionych write:filters: możliwość tworzenia filtrów write:follows: możliwość śledzenia ludzi diff --git a/config/locales/doorkeeper.uk.yml b/config/locales/doorkeeper.uk.yml index e9000cf46..e04ba9e0b 100644 --- a/config/locales/doorkeeper.uk.yml +++ b/config/locales/doorkeeper.uk.yml @@ -131,7 +131,7 @@ uk: follows: Підписки lists: Списки media: Мультимедійні вкладення - mutes: Заглушені + mutes: Нехтувані notifications: Сповіщення push: Push-сповіщення reports: Скарги @@ -162,7 +162,7 @@ uk: read:filters: бачити Ваші фільтри read:follows: бачити Ваші підписки read:lists: бачити Ваші списки - read:mutes: бачити ваші заглушення + read:mutes: бачити ваші нехтування read:notifications: бачити Ваші сповіщення read:reports: бачити Ваші скарги read:search: шукати від вашого імені @@ -171,13 +171,13 @@ uk: write:accounts: змінювати ваш профіль write:blocks: блокувати облікові записи і домени write:bookmarks: додавати пости в закладки - write:conversations: заглушити і видалити розмови + write:conversations: нехтувати й видалити бесіди write:favourites: вподобані статуси write:filters: створювати фільтри write:follows: підписуйтесь на людей write:lists: створювайте списки write:media: завантажити медіафайли - write:mutes: заглушити людей або бесіди + write:mutes: нехтувати людей або бесіди write:notifications: очищувати Ваші сповіщення write:reports: надіслати скаргу про людей write:statuses: публікувати статуси diff --git a/config/locales/eo.yml b/config/locales/eo.yml index d9ce89447..d7e08e9a5 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -187,6 +187,8 @@ eo: subscribe: Aboni suspended: Haltigita title: Kontoj + unblock_email: Malbloki retpoŝtadresojn + unblocked_email_msg: Sukcese malblokis la retpoŝtadreson de %{username} unconfirmed_email: Nekonfirmita retadreso undo_sensitized: Malfari sentema undo_silenced: Malfari kaŝon @@ -388,6 +390,7 @@ eo: instances: availability: title: Disponebleco + warning: La lasta provo por konektiĝi al ĉi tiu servilo estis malsukcesa back_to_all: Ĉiuj back_to_limited: Limigita back_to_warning: Averta @@ -395,6 +398,7 @@ eo: content_policies: policies: reject_reports: Malakcepti raportojn + policy: Politiko dashboard: instance_accounts_dimension: Plej sekvataj kontoj instance_accounts_measure: konservitaj kontoj @@ -499,10 +503,12 @@ eo: skip_to_actions: Salti al agoj status: Mesaĝoj statuses: Raportita enhavo + target_origin: Origino de raportita konto title: Signaloj unassign: Malasigni unresolved: Nesolvitaj updated_at: Ĝisdatigita + view_profile: Vidi profilon rules: add_new: Aldoni regulon delete: Forigi @@ -590,14 +596,23 @@ eo: title: Furoraj kradvortoj site_uploads: delete: Forigi elŝutitan dosieron + destroyed_msg: Reteja alŝuto sukcese forigita! statuses: back_to_account: Reveni al konta paĝo + batch: + remove_from_report: Forigi de raporto + report: Raporti deleted: Forigita media: title: Aŭdovidaĵoj 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 + strikes: + actions: + delete_statuses: "%{name} forigis afiŝojn de %{target}" + disable: "%{name} malebligis la konton de %{target}" + appeal_approved: Apelaciita system_checks: database_schema_check: message_html: Estas pritraktataj datumbazaj migradoj. Bonvolu ekzekuti ilin por certigi, ke la apliko kondutas kiel atendite @@ -608,12 +623,35 @@ eo: review: La statuso de la recenzo updated_msg: Kradvorto agordoj ĝisdatigis sukcese title: Administrado + trends: + allow: Permesi + disallow: Malpermesi + links: + allow: Permesi ligilon + disallow: Malpermesi ligilon + title: Tendencantaj ligiloj + pending_review: Atendante revizion + statuses: + allow: Permesi afiŝon + allow_account: Permesi aŭtoron + disallow: Malpermesi afiŝon + disallow_account: Malpermesi aŭtoron + title: Tendencantaj afiŝoj + tags: + dashboard: + tag_accounts_measure: unikaj uzoj + tag_servers_measure: malsamaj serviloj + not_usable: Ne povas esti uzata + title: Tendencantaj kradvortoj warning_presets: add_new: Aldoni novan delete: Forigi edit_preset: Redakti avertan antaŭagordon title: Administri avertajn antaŭagordojn admin_mailer: + new_appeal: + actions: + disable: por malebligi ties konton new_pending_account: body: La detaloj de la nova konto estas sube. Vi povas aprobi aŭ Malakcepti ĉi kandidatiĝo. subject: Nova konto atendas por recenzo en %{instance} (%{username}) @@ -621,6 +659,11 @@ eo: body: "%{reporter} signalis %{target}" body_remote: Iu de %{domain} signalis %{target} subject: Nova signalo por %{instance} (#%{id}) + new_trends: + new_trending_links: + title: Tendencantaj ligiloj + new_trending_tags: + title: Tendencantaj kradvortoj aliases: add_new: Krei alinomon created_msg: Kreis novan alinomon sukcese. Vi povas inici la transloki el la malnovan konton nun. @@ -744,6 +787,10 @@ eo: directory: Profilujo explanation: Malkovru uzantojn per iliaj interesoj explore_mastodon: Esplori %{title} + disputes: + strikes: + title_actions: + delete_statuses: Forigo de afiŝo domain_validator: invalid_domain: ne estas valida domajna nomo errors: @@ -893,6 +940,7 @@ eo: set_redirect: Agordi alidirekton warning: only_redirect_html: Alie, vi povas nur aldoni alidirekton en via profilo. + other_data: Neniu alia datumo estos movita aŭtomate moderation: title: Kontrolado notification_mailer: @@ -903,9 +951,6 @@ eo: new_followers_summary: one: Ankaŭ, vi ekhavis novan sekvanton en via foresto! Jej! other: Ankaŭ, vi ekhavis %{count} novajn sekvantojn en via foresto! Mirinde! - subject: - one: "1 nova sciigo ekde via lasta vizito 🐘" - other: "%{count} novaj sciigoj ekde via lasta vizito 🐘" title: En via foresto… favourite: body: "%{name} stelumis vian mesaĝon:" @@ -931,6 +976,8 @@ eo: title: Nova diskonigo status: subject: "%{name} ĵus afiŝita" + update: + subject: "%{name} redaktis afiŝon" notifications: email_events: Eventoj por retpoŝtaj sciigoj email_events_hint: 'Elekti la eventojn pri kioj vi volas ricevi sciigojn:' diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index 3ee4df6fd..9a13264fb 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -906,7 +906,7 @@ es-AR: notification_preferences: Cambiar configuración de correo electrónico salutation: "%{name}:" settings: 'Cambiar configuración de correo electrónico: %{link}' - view: 'Vista:' + view: 'Visitá:' view_profile: Ver perfil view_status: Ver mensaje applications: diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index 5a3b9cea1..f8b4ef462 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -1235,9 +1235,6 @@ es-MX: new_followers_summary: one: "¡Ademas, has adquirido un nuevo seguidor mientras no estabas! ¡Hurra!" other: "¡Ademas, has adquirido %{count} nuevos seguidores mientras no estabas! ¡Genial!" - subject: - one: "1 nueva notificación desde tu última visita 🐘" - other: "%{count} nuevas notificaciones desde tu última visita 🐘" title: En tu ausencia… favourite: body: 'Tu estado fue marcado como favorito por %{name}:' @@ -1632,6 +1629,13 @@ es-MX: explanation: Has solicitado una copia completa de tu cuenta de Mastodon. ¡Ya está preparada para descargar! subject: Tu archivo está preparado para descargar title: Descargar archivo + suspicious_sign_in: + change_password: cambies tu contraseña + details: 'Aquí están los detalles del inicio de sesión:' + explanation: Hemos detectado un inicio de sesión en tu cuenta desde una nueva dirección IP. + further_actions_html: Si fuiste tú, te recomendamos que %{action} inmediatamente y habilites la autenticación de dos factores para mantener tu cuenta segura. + subject: Tu cuenta ha sido accedida desde una nueva dirección IP + title: Un nuevo inicio de sesión warning: appeal: Enviar una apelación appeal_description: Si crees que esto es un error, puedes enviar una apelación al equipo de %{instance}. diff --git a/config/locales/et.yml b/config/locales/et.yml index ddb206d12..e08b091b1 100644 --- a/config/locales/et.yml +++ b/config/locales/et.yml @@ -791,9 +791,6 @@ et: new_followers_summary: one: Ja veel, Te saite ühe uue jälgija kui Te olite eemal! Jee! other: Ja veel, Te saite %{count} uut jälgijat kui Te olite eemal! Hämmastav! - subject: - one: "1 uus teavitus peale Teie eelmist külastust 🐘" - other: "%{count} uut teavitust peale Teie eelmist külastust 🐘" title: Teie puudumisel... favourite: body: "%{name} lisas Teie staatuse lemmikutesse:" diff --git a/config/locales/eu.yml b/config/locales/eu.yml index 0dc5d88d6..bfb06e3ee 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -1152,9 +1152,6 @@ eu: new_followers_summary: one: Kanpoan zeundela jarraitzaile berri bat gehitu zaizu! other: Kanpoan zeundela %{count} jarraitzaile berri bat gehitu zaizkizu! - subject: - one: "Jakinarazpen berri bat azken bisitatik 🐘" - other: "%{count} jakinarazpen berri azken bisitatik 🐘" title: Kanpoan zeundela... favourite: body: "%{name}(e)k zure bidalketa gogoko du:" diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 020b21287..566cfc4b7 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -1089,9 +1089,6 @@ fa: new_followers_summary: one: در ضمن، وقتی که نبودید یک پیگیر تازه پیدا کردید! ای ول! other: در ضمن، وقتی که نبودید %{count} پیگیر تازه پیدا کردید! چه عالی! - subject: - one: "یک اعلان تازه از زمان آخرین بازدید شما 🐘" - other: "%{count} آگاهی جدید از آخرین بازدیدتان 🐘" title: در مدتی که نبودید... favourite: body: "%{name} این نوشتهٔ شما را پسندید:" diff --git a/config/locales/fi.yml b/config/locales/fi.yml index f671bd20f..55e2332cf 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -1183,9 +1183,6 @@ fi: new_followers_summary: one: Olet myös saanut yhden uuden seuraajan! Juhuu! other: Olet myös saanut %{count} uutta seuraajaa! Aivan mahtavaa! - subject: - one: "1 uusi ilmoitus viime käyntisi jälkeen 🐘" - other: "%{count} uutta ilmoitusta viime käyntisi jälkeen 🐘" title: Poissaollessasi… favourite: body: "%{name} tykkäsi tilastasi:" diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 2cfbc5c86..168f046dd 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -1232,9 +1232,6 @@ fr: new_followers_summary: one: De plus, vous avez un·e nouvel·le abonné·e ! Youpi ! other: De plus, vous avez %{count} abonné·e·s de plus ! Incroyable ! - subject: - one: "Une nouvelle notification depuis votre dernière visite 🐘" - other: "%{count} nouvelles notifications depuis votre dernière visite 🐘" title: Pendant votre absence… favourite: body: "%{name} a ajouté votre message à ses favoris :" diff --git a/config/locales/gd.yml b/config/locales/gd.yml index 767faff6e..d22a81868 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -1274,11 +1274,6 @@ gd: one: Cuideachd, bhuannaich thu %{count} neach-leantainn ùr on àm a bha thu air falbh! Nach ma sin! other: Cuideachd, bhuannaich thu %{count} luchd-leantainn ùr on àm a bha thu air falbh! Nach ma sin! two: Cuideachd, bhuannaich thu %{count} neach-leantainn ùr on àm a bha thu air falbh! Nach ma sin! - subject: - few: "%{count} brathan ùra on tadhal mu dheireadh agad 🐘" - one: "%{count} bhrath ùr on tadhal mu dheireadh agad 🐘" - other: "%{count} brath ùr on tadhal mu dheireadh agad 🐘" - two: "%{count} bhrath ùr on tadhal mu dheireadh agad 🐘" title: Fhad ’s a bha thu air falbh… favourite: body: 'Is annsa le %{name} am post agad:' diff --git a/config/locales/gl.yml b/config/locales/gl.yml index d642ee4e1..75062eca6 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -1236,8 +1236,8 @@ gl: one: Ademáis, ten unha nova seguidora desde entón! Ben! other: Ademáis, obtivo %{count} novas seguidoras desde entón! Tremendo! subject: - one: "1 nova notificación desde a súa última visita 🐘" - other: "%{count} novas notificacións desde a súa última visita 🐘" + one: "1 nova notificación desde a última visita 🐘" + other: "%{count} novas notificacións desde a última visita 🐘" title: Na súa ausencia... favourite: body: 'A túa publicación foi marcada como favorita por %{name}:' diff --git a/config/locales/hu.yml b/config/locales/hu.yml index c28cc7bae..5148f8c08 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -1237,9 +1237,6 @@ hu: new_followers_summary: one: Sőt, egy új követőd is lett, amióta nem jártál itt. Hurrá! other: Sőt, %{count} új követőd is lett, amióta nem jártál itt. Hihetetlen! - subject: - one: "Egy új értesítésed érkezett legutóbbi látogatásod óta 🐘" - other: "%{count} új értesítésed érkezett legutóbbi látogatásod óta 🐘" title: Amíg távol voltál… favourite: body: 'A bejegyzésedet kedvencnek jelölte %{name}:' diff --git a/config/locales/hy.yml b/config/locales/hy.yml index 50d2ec535..4c10773cb 100644 --- a/config/locales/hy.yml +++ b/config/locales/hy.yml @@ -18,7 +18,7 @@ hy: contact_unavailable: Ոչինչ չկա discover_users: Գտնել օգտատերներ documentation: Փաստաթղթեր - federation_hint_html: "«%{instance}»-ում հաշիւ բացելով դու կը կարողանաք հետեւել մարդկանց Մաստադոնի ցանկացած հանգոյցից և ոչ միայն։" + federation_hint_html: "«%{instance}»-ում հաշիւ բացելով դուք կը կարողանաք հետեւել մարդկանց Մաստադոնի ցանկացած հանգոյցից և ոչ միայն։" get_apps: Փորձեք բջջային հավելվածը hosted_on: Մաստոդոնը տեղակայուած է %{domain}ում instance_actor_flash: "Այս հաշիւ վիրտուալ դերասան է, օգտագործուում է սպասարկիչը, այլ ոչ անհատ օգտատիրոջը ներկայացնելու, համար։ Օգտագործուում է ֆեդերացիայի նպատակով, ու չպէտք է արգելափակուի, եթէ չէք ցանկանում արգելափակել ողջ հանգոյցը, որի դէպքում պէտք է օգտագործէք տիրոյթի արգելափակումը։ \n" diff --git a/config/locales/id.yml b/config/locales/id.yml index 32996de45..d4f26c969 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -1214,7 +1214,7 @@ id: new_followers_summary: other: Anda mendapatkan %{count} pengikut baru! Luar biasa! subject: - other: "%{count} notifikasi baru sejak kunjungan terakhir anda pada 🐘" + other: "%{count} notifikasi baru sejak kunjungan Anda terakhir 🐘" title: Saat Anda tidak muncul... favourite: body: 'Status anda disukai oleh %{name}:' @@ -1603,6 +1603,13 @@ id: explanation: Cadangan penuh akun Mastodon Anda sudah dapat diunduh! subject: Arsip Anda sudah siap diunduh title: Ambil arsip + suspicious_sign_in: + change_password: mengubah kata sandi Anda + details: 'Ini rincian masuk akun Anda:' + explanation: Kami mendeteksi masuk akun Anda dari alamat IP baru. + further_actions_html: Jika ini bukan Anda, kami menyarankan Anda untuk melakukan %{action} langsung dan mengaktifkan otentikasi dua-faktor untuk mengamankan akun Anda. + subject: Akun Anda telah diakses dari alamat IP baru + title: Masuk akun baru warning: appeal: Ajukan banding appeal_description: Jika Anda yakin ini galat, Anda dapat mengajukan banding ke staf %{instance}. diff --git a/config/locales/io.yml b/config/locales/io.yml index c6e39ea2a..f2fa8ce07 100644 --- a/config/locales/io.yml +++ b/config/locales/io.yml @@ -101,9 +101,6 @@ io: new_followers_summary: one: Tu obtenis nova sequanto! Yey! other: Tu obtenis %{count} nova sequanti! Astonive! - subject: - one: "1 nova savigo depos tua lasta vizito 🐘" - other: "%{count} nova savigi depos tua lasta vizito 🐘" favourite: body: "%{name} favoris tua mesajo:" subject: "%{name} favoris tua mesajo" diff --git a/config/locales/it.yml b/config/locales/it.yml index cada5a48c..d630a4f29 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -895,7 +895,7 @@ it: advanced_web_interface_hint: |- Se vuoi utilizzare l'intera larghezza dello schermo, l'interfaccia web avanzata ti consente di configurare varie colonne per mostrare più informazioni allo stesso tempo, secondo le tue preferenze: Home, notifiche, timeline federata, qualsiasi numero di liste e etichette. - animations_and_accessibility: Animazioni e accessibiiltà + animations_and_accessibility: Animazioni e accessibilità confirmation_dialogs: Dialoghi di conferma discovery: Scoperta localization: diff --git a/config/locales/ja.yml b/config/locales/ja.yml index e98dc0cd8..f4bcad358 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -1113,8 +1113,6 @@ ja: mention: "%{name} さんがあなたに返信しました:" new_followers_summary: other: また、離れている間に%{count} 人の新たなフォロワーを獲得しました! - subject: - other: "新しい%{count}件の通知 🐘" title: 不在の間に… favourite: body: "%{name} さんにお気に入り登録された、あなたの投稿があります:" diff --git a/config/locales/ka.yml b/config/locales/ka.yml index 859f20b24..151817ef4 100644 --- a/config/locales/ka.yml +++ b/config/locales/ka.yml @@ -462,9 +462,6 @@ ka: new_followers_summary: one: ასევე, არყოფნისას შეგეძინათ ერთი ახალი მიმდევარი! იეი! other: ასევე, არყოფნისას შეგეძინათ %{count} ახალი მიმდევარი! შესანიშნავია! - subject: - one: "1 ახალი შეტყობინება თქვენი ბოლო სტუმრობის შემდეგ 🐘" - other: "%{count} ახალი შეტყობინება თქვენი ბოლო სტუმრობის შემდეგ 🐘" title: თქვენს არყოფნაში... favourite: body: 'თქვენი სტატუსი ფავორიტი გახადა %{name}-მა:' diff --git a/config/locales/kab.yml b/config/locales/kab.yml index 8c10e6358..66d029d7a 100644 --- a/config/locales/kab.yml +++ b/config/locales/kab.yml @@ -648,9 +648,6 @@ kab: digest: action: Wali akk tilγa mention: 'Yuder-ik-id %{name} deg:' - subject: - one: "1 wulɣu seg tirza-inek·inm taneqqarut ar tura 🐘" - other: "%{count} ilɣa imaynuten seg tirza-nek·inem taneggarut ar tura 🐘" favourite: subject: "%{name} yesmenyaf addad-ik·im" follow: diff --git a/config/locales/kk.yml b/config/locales/kk.yml index 79f29dc41..1cf4b3ccf 100644 --- a/config/locales/kk.yml +++ b/config/locales/kk.yml @@ -710,9 +710,6 @@ kk: new_followers_summary: one: Сондай-ақ, сіз бір жаңа оқырман таптыңыз! Алақай! other: Сондай-ақ, сіз %{count} жаңа оқырман таптыңыз! Керемет! - subject: - one: "Соңғы кіруіңізден кейін 1 ескертпе келіпті 🐘" - other: "Соңғы кіруіңізден кейін %{count} ескертпе келіпті 🐘" title: Сіз жоқ кезде... favourite: body: 'Жазбаңызды ұнатып, таңдаулыға қосты %{name}:' diff --git a/config/locales/ko.yml b/config/locales/ko.yml index ced74277f..c95b5f9ce 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -1218,7 +1218,7 @@ ko: new_followers_summary: other: 게다가, 접속하지 않은 동안 %{count} 명의 팔로워가 생겼습니다! subject: - other: "%{count}건의 새로운 알림 🐘" + other: 마지막 방문 이후로 %{count} 건의 새로운 알림 title: 당신이 없는 동안에... favourite: body: '당신의 게시물을 %{name} 님이 즐겨찾기에 등록했습니다:' diff --git a/config/locales/ku.yml b/config/locales/ku.yml index 8a3fe91ce..8d218985b 100644 --- a/config/locales/ku.yml +++ b/config/locales/ku.yml @@ -1238,8 +1238,8 @@ ku: one: Herwiha, dema tu dûr bûyî te şopînerek nû bi dest xist! Bijî! other: Herwiha, dema tu dûr bûyî te %{count} şopînerek nû bi dest xist! Bijî! subject: - one: "1 agahdarî ji serdana te ya herî dawî ji 🐘" - other: "%{count} agahdarî ji serdana te ya herî dawî ji 🐘" + one: "1 agahdarî ji serdana te ya herî dawî 🐘" + other: "%{count} agahdarî ji serdana te ya herî dawî 🐘" title: Di tunebûna te de... favourite: body: 'Şandiya te hate bijartin ji alî %{name} ve:' @@ -1637,6 +1637,9 @@ ku: suspicious_sign_in: change_password: borînpeyva xwe biguherîne details: 'Li vir hûrgiliyên hewldanên têketinê hene:' + explanation: Me têketineke nû ji ajimêra te ji navnîşaneke IP ya nû dît. + further_actions_html: Ku ev ne tu bû, em ji te re pêşniyar dikin ku tu di tavilê de %{action} bikî û piştrastkirina du-gavî çalak bikî da ku ajimêra te di ewlehiyê de bimîne. + subject: Ajimêra te ji navnîşaneke IP ya nû ve hatiye gihîştin title: Têketineke nû warning: appeal: Îtîrazekê bişîne diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 1655883c1..7da86b954 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -1258,7 +1258,7 @@ lv: subject: one: "1 jauns paziņojums kopš tava pēdējā apmeklējuma 🐘" other: "%{count} jauni paziņojumi kopš tava pēdējā apmeklējuma 🐘" - zero: "%{count} jaunu paziņojumu" + zero: "%{count} jaunu paziņojumu kopš tava pēdējā apmeklējuma" title: Tavas prombūtnes laikā... favourite: body: 'Tavu ziņu izlasei pievienoja %{name}:' diff --git a/config/locales/nl.yml b/config/locales/nl.yml index b3157ebaf..8e12893f4 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -949,9 +949,6 @@ nl: new_followers_summary: one: Je hebt trouwens sinds je weg was er ook een nieuwe volger bijgekregen! Hoera! other: Je hebt trouwens sinds je weg was er ook %{count} nieuwe volgers bijgekregen! Fantastisch! - subject: - one: "1 nieuwe melding sinds jouw laatste bezoek 🐘" - other: "%{count} nieuwe meldingen sinds jouw laatste bezoek 🐘" title: Tijdens jouw afwezigheid... favourite: body: 'Jouw bericht werd door %{name} aan diens favorieten toegevoegd:' diff --git a/config/locales/nn.yml b/config/locales/nn.yml index 9275804e2..48191ce98 100644 --- a/config/locales/nn.yml +++ b/config/locales/nn.yml @@ -908,9 +908,6 @@ nn: new_followers_summary: one: Du har forresten fått deg ein ny fylgjar mens du var borte! Hurra! other: Du har forresten fått deg %{count} nye fylgjarar mens du var borte! Hurra! - subject: - one: "1 nytt varsel sidan siste gong du var innom 🐘" - other: "%{count} nye varsel sidan siste gong du var innom 🐘" title: Mens du var borte... favourite: body: 'Statusen din vart merkt som favoritt av %{name}:' diff --git a/config/locales/no.yml b/config/locales/no.yml index 3d4ce5056..9f0d7b8c4 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -892,9 +892,6 @@ new_followers_summary: one: I tillegg har du fått en ny følger mens du var borte. Hurra! other: I tillegg har du har fått %{count} nye følgere mens du var borte! Imponerende! - subject: - one: "1 ny hendelse siden ditt siste besøk 🐘" - other: "%{count} nye hendelser siden ditt siste besøk 🐘" title: I ditt fravær… favourite: body: 'Statusen din ble likt av %{name}:' diff --git a/config/locales/oc.yml b/config/locales/oc.yml index 2a005f405..2a194350d 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -812,9 +812,6 @@ oc: new_followers_summary: one: Avètz un nòu seguidor dempuèi vòstra darrièra visita ! Ouà ! other: Avètz %{count} nòus seguidors dempuèi vòstra darrièra visita ! Qué crane ! - subject: - one: "Una nòva notificacion dempuèi vòstra darrièra visita 🐘" - other: "%{count} nòvas notificacions dempuèi vòstra darrièra visita 🐘" title: Pendent vòstra abséncia… favourite: body: "%{name} a mes vòstre estatut en favorit :" diff --git a/config/locales/pl.yml b/config/locales/pl.yml index ed0253227..3a2798f32 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -16,6 +16,7 @@ pl: contact: Kontakt contact_missing: Nie ustawiono contact_unavailable: Nie dotyczy + continue_to_web: Kontynuuj przez aplikację webową discover_users: Odkrywaj użytkowników documentation: Dokumentacja federation_hint_html: Z kontem na %{instance}, możesz śledzić użytkowników każdego serwera Mastodona i nie tylko. @@ -25,6 +26,8 @@ pl: To konto jest wirtualnym nadawcą, używanym do reprezentacji serwera, a nie jakiegokolwiek użytkownika. Jest używane w celu federowania i nie powinno być blokowane, chyba że chcesz zablokować całą instację, w takim przypadku użyj blokady domeny. learn_more: Dowiedz się więcej + logged_in_as_html: Jesteś obecnie zalogowany/a jako %{username}. + logout_before_registering: Jesteś już zalogowany/a. privacy_policy: Polityka prywatności rules: Regulamin serwera rules_html: 'Poniżej znajduje się podsumowanie zasad, których musisz przestrzegać, jeśli chcesz mieć konto na tym serwerze Mastodona:' @@ -373,6 +376,7 @@ pl: enable: Włącz enabled: Włączone enabled_msg: Pomyślnie przywrócono emoji + image_hint: PNG lub GIF do %{size} list: Dodaj do listy listed: Widoczne new: @@ -484,11 +488,36 @@ pl: title: Polecane konta unsuppress: Przywróć polecenie śledzenia konta instances: + availability: + failure_threshold_reached: Próg niepowodzenia osiągnięty dnia %{date}. + no_failures_recorded: Brak błędów w rejestrze. + title: Dostępność + warning: Ostatnia próba połączenia z tym serwerem zakończyła się niepowodzeniem back_to_all: Wszystkie back_to_limited: Ograniczone back_to_warning: Ostrzeżenie by_domain: Domena confirm_purge: Czy na pewno chcesz trwale usunąć dane z tej domeny? + content_policies: + comment: Wewnętrzna notatka + description_html: Możesz zdefiniować zasady treści, które zostaną zastosowane do wszystkich kont z tej domeny i jej subdomen. + policies: + reject_media: Odrzucaj media + reject_reports: Odrzucaj zgłoszenia + silence: Ogranicz + suspend: Zawieś + policy: Polityka + reason: Powód publiczny + title: Polityki zawartości + dashboard: + instance_accounts_dimension: Najczęściej śledzone konta + instance_accounts_measure: przechowywane konta + instance_followers_measure: nasi śledzący tam + instance_follows_measure: ich śledzący tutaj + instance_languages_dimension: Najpopularniejsze języki + instance_media_attachments_measure: przechowywane załączniki multimedialne + instance_reports_measure: zgłoszenia dotyczące ich + instance_statuses_measure: przechowywane wpisy delivery: all: Wszystkie clear: Wyczyść błędy w doręczaniu @@ -507,12 +536,14 @@ pl: private_comment: Prywatny komentarz public_comment: Publiczny komentarz purge: Wyczyść + purge_description_html: Jeśli uważasz, że ta domena została zamknięta na dobre, możesz usunąć wszystkie rejestry konta i powiązane dane z tej domeny z pamięci. Proces ten może chwilę potrwać. title: Znane instancje total_blocked_by_us: Zablokowane przez nas total_followed_by_them: Śledzeni przez nich total_followed_by_us: Śledzeni przez nas total_reported: Zgłoszenia dotyczące ich total_storage: Załączniki multimedialne + totals_time_period_hint_html: Poniższe sumy zawierają dane od początku serwera. invites: deactivate_all: Unieważnij wszystkie filter: @@ -602,6 +633,7 @@ pl: title: Notatki notes_description_html: Przeglądaj i zostaw notatki innym moderatorom i sobie samemu quick_actions_description_html: 'Wykonaj szybkie działanie lub przewiń w dół, aby zobaczyć zgłoszoną zawartość:' + remote_user_placeholder: zdalny użytkownik z %{instance} reopen: Otwórz ponownie report: 'Zgłoszenie #%{id}' reported_account: Zgłoszone konto @@ -772,14 +804,17 @@ pl: pending_review: Oczekuje na przegląd preview_card_providers: allowed: Linki od tego wydawcy mogą podlegać trendom + description_html: Są to domeny, z których linki są często udostępniane na Twoim serwerze. Linki nie będą się rozwijały publicznie, chyba że domena linku zostanie zatwierdzona. Twoja zgoda (lub odrzucenie) rozciąga się na subdomeny. rejected: Linki od tego wydawcy nie mogą podlegać trendom title: Wydawcy rejected: Odrzucono statuses: allow: Zezwól na post allow_account: Zezwól na autora + description_html: Są to wpisy, o których Twój serwer wie i które są obecnie często udostępniane i dodawane do ulubionych. Może to pomóc nowym i powracającym użytkownikom znaleźć więcej osób do śledzenia. Żadne posty nie są wyświetlane publicznie, dopóki nie zatwierdzisz autora, a autor ustawi zezwolenie na wyświetlanie się w katalogu. Możesz również zezwolić lub odrzucić poszczególne posty. disallow: Nie zezwalaj na post disallow_account: Nie zezwalaj na autora + not_discoverable: Autor nie włączył opcji, by być wyświetlany w katalogu title: Popularne teraz tags: current_score: Bieżący wynik %{score} @@ -789,6 +824,7 @@ pl: tag_servers_dimension: Najlepsze serwery tag_servers_measure: różne serwery tag_uses_measure: użyć łącznie + description_html: To są hasztagi, które obecnie pojawiają się w wielu wpisach, które widzisz na serwerze. Może to pomóc Twoim użytkownikom dowiedzieć się, o czym obecnie ludzie najchętniej rozmawiają. Żadne hasztagi nie są wyświetlane publicznie, dopóki ich nie zaakceptujesz. listable: Można zasugerować not_listable: Nie można zasugerować not_trendable: Nie pojawia się pod trendami @@ -830,6 +866,17 @@ pl: body: 'Następujące elementy potrzebują recenzji zanim będą mogły być wyświetlane publicznie:' new_trending_links: no_approved_links: Obecnie nie ma zatwierdzonych linków trendów. + requirements: 'Każdy z tych kandydatów może przekroczyć #%{rank} zatwierdzonych popularnych linków, który wynosi obecnie "%{lowest_link_title}" z wynikiem %{lowest_link_score}.' + title: Popularne linki + new_trending_statuses: + no_approved_statuses: Obecnie nie ma zatwierdzonych popularnych linków. + requirements: 'Każdy z tych kandydatów może przekroczyć #%{rank} zatwierdzonych popularnych teraz wpisów, który wynosi obecnie %{lowest_status_url} z wynikiem %{lowest_status_score}.' + title: Popularne teraz + new_trending_tags: + no_approved_tags: Obecnie nie ma żadnych zatwierdzonych popularnych hasztagów. + requirements: 'Każdy z tych kandydatów może przekroczyć #%{rank} zatwierdzonych popularnych teraz hasztagów, który wynosi obecnie %{lowest_tag_name} z wynikiem %{lowest_tag_score}.' + title: Popularne hasztagi + subject: Nowe popularne do przeglądu na %{instance} aliases: add_new: Utwórz alias created_msg: Pomyślnie utworzono nowy alias. Możesz teraz rozpocząć przenoszenie ze starego konta. @@ -903,8 +950,10 @@ pl: status: account_status: Stan konta confirming: Oczekiwanie na potwierdzenie adresu e-mail. + functional: Twoje konto jest w pełni funkcjonalne. pending: Twoje zgłoszenie czeka na zatwierdzenie przez nas. Może to trochę potrwać. Jeżeli zgłoszenie zostanie przyjęte, otrzymasz wiadomość e-mail. redirecting_to: Twoje konto jest nieaktywne, ponieważ obecnie przekierowuje je na %{acct}. + view_strikes: Zobacz dawne ostrzeżenia nałożone na twoje konto too_fast: Zbyt szybko przesłano formularz, spróbuj ponownie. trouble_logging_in: Masz problem z zalogowaniem się? use_security_key: Użyj klucza bezpieczeństwa @@ -980,6 +1029,7 @@ pl: submit: Zgłoś odwołanie associated_report: Powiązany raport created_at: Data + description_html: Są to działania podjęte przeciwko Twojemu kontu i ostrzeżenia wysłane do ciebie przez administrację %{instance}. recipient: Adresowane do status: 'Post #%{id}' status_removed: Post został już usunięty z systemu @@ -1185,11 +1235,6 @@ pl: many: "(%{count}) nowych osób Cię śledzi! Wspaniale!" one: Dodatkowo, w czasie nieobecności zaczęła śledzić Cię jedna osoba Gratulacje! other: Dodatkowo, zaczęło Cię śledzić %{count} nowych osób! Wspaniale! - subject: - few: "%{count} nowe powiadomienia od Twojej ostatniej wizyty 🐘" - many: "%{count} nowych powiadomień od Twojej ostatniej wizyty 🐘" - one: "1 nowe powiadomienie od Twojej ostatniej wizyty 🐘" - other: "%{count} nowych powiadomień od Twojej ostatniej wizyty 🐘" title: W trakcie Twojej nieobecności… favourite: body: 'Twój wpis został polubiony przez %{name}:' @@ -1217,6 +1262,8 @@ pl: title: Nowe podbicie status: subject: "%{name} właśnie opublikował(a) wpis" + update: + subject: "%{name} edytował/a wpis" notifications: email_events: 'Powiadamiaj e-mailem o:' email_events_hint: 'Wybierz wydarzenia, o których chcesz otrzymywać powiadomienia:' @@ -1367,6 +1414,7 @@ pl: profile: Profil relationships: Śledzeni i śledzący statuses_cleanup: Automatyczne usuwanie posta + strikes: Ostrzeżenia moderacyjne two_factor_authentication: Uwierzytelnianie dwuetapowe webauthn_authentication: Klucze bezpieczeństwa statuses: @@ -1395,6 +1443,7 @@ pl: many: 'zawiera niedozwolone hashtagi: %{tags}' one: 'zawiera niedozwolony hashtag: %{tags}' other: 'zawiera niedozwolone hashtagi: %{tags}' + edited_at_html: Edytowane %{date} errors: in_reply_not_found: Post, na który próbujesz odpowiedzieć, nie istnieje. open_in_web: Otwórz w przeglądarce @@ -1457,7 +1506,7 @@ pl: '2629746': 1 miesiąc '31556952': 1 rok '5259492': 2 miesiące - '604800': 1 week + '604800': 1 tydzień '63113904': 2 lata '7889238': 3 miesiące min_age_label: Próg wieku @@ -1581,6 +1630,13 @@ pl: user_mailer: appeal_approved: action: Przejdź do swojego konta + explanation: Twoje odwołanie dotyczące ostrzeżenia nałożonego na twoje konto dnia %{strike_date}, które zostało wysłane dnia %{appeal_date} zostało zatwierdzone. Twoje konto jest ponownie w dobrej kondycji. + subject: Twoje odwołanie z dnia %{date} zostało zatwierdzone + title: Odwołanie zatwierdzone + appeal_rejected: + explanation: Twoje odwołanie dotyczące ostrzeżenia nałożonego na twoje konto dnia %{strike_date}, które zostało wysłane dnia %{appeal_date} zostało odrzucone. + subject: Twoje odwołanie z dnia %{date} zostało odrzucone + title: Odwołanie odrzucone backup_ready: explanation: Zażądałeś pełnej kopii zapasowej konta na Mastodonie. Jest ona dostępna do pobrania! subject: Twoje archiwum jest gotowe do pobrania @@ -1593,10 +1649,13 @@ pl: subject: Uzyskano dostęp do twojego konta z nowego adresu IP title: Nowe logowanie warning: + appeal: Złóż odwołanie + appeal_description: Jeśli uważasz, że zaszło nieporozumienie, możesz złożyć odwołanie do zespołu %{instance}. categories: spam: Spam violation: Zawartość narusza następujące wytyczne społeczności explanation: + delete_statuses: Stwierdzono, że niektóre z twoich wpisów łamią jedną lub więcej wytycznych dla społeczności, przez co zostały usunięte przez moderatorów %{instance}. disable: Nie możesz już używać swojego konta, ale Twój profil i inne dane pozostają nienaruszone. Możesz poprosić o kopię swoich danych, zmienić ustawienia konta lub usunąć swoje konto. mark_statuses_as_sensitive: Niektóre z Twoich postów zostały oznaczone jako wrażliwe przez moderatorów %{instance}. Oznacza to, że ludzie będą musieli dotknąć mediów w postach przed wyświetleniem podglądu. Możesz oznaczyć media jako wrażliwe podczas publikowania w przyszłości. sensitive: Od teraz wszystkie przesłane pliki multimedialne będą oznaczone jako wrażliwe i ukryte za ostrzeżeniem kliknięcia. diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 453dca9bc..e7428af0f 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -1063,9 +1063,6 @@ pt-BR: new_followers_summary: one: Você tem um novo seguidor! Uia! other: Você tem %{count} novos seguidores! AÊÊÊ! - subject: - one: "Uma nova notificação desde o seu último acesso 🐘" - other: "%{count} novas notificações desde o seu último acesso 🐘" title: Enquanto você estava ausente... favourite: body: "%{name} favoritou seu toot:" diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index 648a7b402..62233d648 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -1236,8 +1236,8 @@ pt-PT: one: Tens um novo seguidor! Boa! other: Tens %{count} novos seguidores! Fantástico! subject: - one: "1 nova notificação desde o último acesso 🐘" - other: "%{count} novas notificações desde o último acesso 🐘" + one: "1 nova notificação desde o seu último acesso 🐘" + other: "%{count} novas notificações desde o seu último acesso 🐘" title: Enquanto estiveste ausente… favourite: body: 'O teu post foi adicionado aos favoritos por %{name}:' @@ -1632,6 +1632,13 @@ pt-PT: explanation: Pediste uma cópia completa da tua conta Mastodon. Ela já está pronta para descarregares! subject: O teu arquivo está pronto para descarregar title: Arquivo de ficheiros + suspicious_sign_in: + change_password: alterar a sua palavra-passe + details: 'Aqui estão os detalhes do inicio de sessão:' + explanation: Detetamos um inicio de sessão na sua conta a partir de um novo endereço IP. + further_actions_html: Se não foi você, recomendamos que %{action} imediatamente e ative a autenticação de dois fatores para manter a sua conta segura. + subject: A sua conta foi acessada a partir de um novo endereço IP + title: Novo inicio de sessão warning: appeal: Submeter um recurso appeal_description: Se acredita que isso é um erro, pode submeter um recurso para a equipa de %{instance}. diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 10420f860..45689ec4d 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -1186,10 +1186,10 @@ ru: one: Также, пока вас не было, у вас появился новый подписчик! Ура! other: Также, пока вас не было, у вас появилось %{count} новых подписчиков! Отлично! subject: - few: "%{count} новых уведомления с вашего последнего захода 🐘" - many: "%{count} новых уведомлений с вашего последнего захода 🐘" - one: "%{count} новое уведомление с вашего последнего захода 🐘" - other: "%{count} новых уведомлений с вашего последнего захода 🐘" + few: "%{count} новых уведомления с вашего последнего посещения 🐘" + many: "%{count} новых уведомлений с вашего последнего посещения 🐘" + one: "1 новое уведомление с вашего последнего посещения 🐘" + other: "%{count} новых уведомлений с вашего последнего посещения 🐘" title: В ваше отсутствие… favourite: body: "%{name} добавил(а) ваш пост в избранное:" diff --git a/config/locales/sc.yml b/config/locales/sc.yml index 9c3ef007b..d4b9f6639 100644 --- a/config/locales/sc.yml +++ b/config/locales/sc.yml @@ -935,9 +935,6 @@ sc: new_followers_summary: one: In prus, %{count} persone noa ti sighit dae cando fias assente. Incredìbile! other: In prus, %{count} persones noas ti sighint dae cando fias assente. Incredìbile! - subject: - one: "1 notìfica noa dae s'ùrtima visita tua 🐘" - other: "%{count} notìficas noas dae s'ùrtima visita tua 🐘" title: Durante s'ausèntzia tua... favourite: body: "%{name} at marcadu comente a preferidu s'istadu tuo:" diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml index cf8140278..60d893cce 100644 --- a/config/locales/simple_form.ar.yml +++ b/config/locales/simple_form.ar.yml @@ -48,6 +48,7 @@ ar: phrase: سوف يتم العثور عليه مهما كان نوع النص أو حتى و إن كان داخل الويب فيه تحذير عن المحتوى scopes: ما هي المجالات المسموح بها في التطبيق ؟ إن قمت باختيار أعلى المجالات فيمكنك الاستغناء عن الخَيار اليدوي. setting_aggregate_reblogs: لا تقم بعرض المشارَكات الجديدة لمنشورات قد قُمتَ بمشاركتها سابقا (هذا الإجراء يعني المشاركات الجديدة فقط التي تلقيتَها) + setting_always_send_emails: عادة لن ترسل الإشعارات إلى بريدك الإلكتروني عندما تكون نشط على ماستدون setting_default_sensitive: تُخفى الوسائط الحساسة تلقائيا ويمكن اظهارها عن طريق النقر عليها setting_display_media_default: إخفاء الوسائط المُعيَّنة كحساسة setting_display_media_hide_all: إخفاء كافة الوسائط دائمًا @@ -149,6 +150,7 @@ ar: phrase: كلمة مفتاح أو عبارة setting_advanced_layout: تمكين واجهة الويب المتقدمة setting_aggregate_reblogs: جمع الترقيات في خيوط زمنية + setting_always_send_emails: ارسل إشعارات البريد الإلكتروني دائماً setting_auto_play_gif: تشغيل تلقائي لِوَسائط جيف المتحركة setting_boost_modal: إظهار مربع حوار التأكيد قبل إعادة مشاركة أي منشور setting_crop_images: قص الصور في المنشورات غير الموسعة إلى 16x9 diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml index b1b87ff89..8dcbf539c 100644 --- a/config/locales/simple_form.ca.yml +++ b/config/locales/simple_form.ca.yml @@ -49,6 +49,7 @@ ca: phrase: Es combinarà independentment del format en el text o l'avís de contingut del tut scopes: A quines API es permetrà a l'aplicació accedir. Si selecciones un àmbit d'alt nivell, no cal que seleccionis un d'individual. setting_aggregate_reblogs: No mostrar els nous impulsos de les publicacions que ja s'han impulsat recentment (només afecta els impulsos nous rebuts) + setting_always_send_emails: Normalment, les notificacions per correu electrònic no s'enviaran si estàs fent servir activament Mastodon setting_default_sensitive: El contingut gràfic sensible està ocult per defecte i es pot revelar amb un clic setting_display_media_default: Ocultar el contigut gràfic marcat com a sensible setting_display_media_hide_all: Oculta sempre tot el contingut multimèdia @@ -151,6 +152,7 @@ ca: phrase: Paraula clau o frase setting_advanced_layout: Activar l’interfície web avançada setting_aggregate_reblogs: Agrupar impulsos en les línies de temps + setting_always_send_emails: Envia sempre notificacions per correu electrònic setting_auto_play_gif: Reproduir automàticament els GIFs animats setting_boost_modal: Mostrar la finestra de confirmació abans d'impulsar setting_crop_images: Retalla les imatges en tuts no ampliats a 16x9 diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml index 2a55c57b9..32711aa0d 100644 --- a/config/locales/simple_form.cs.yml +++ b/config/locales/simple_form.cs.yml @@ -49,6 +49,7 @@ cs: phrase: Shoda bude nalezena bez ohledu na velikost písmen v textu příspěvku či varování o obsahu scopes: Která API bude aplikaci povoleno používat. Pokud vyberete rozsah nejvyššího stupně, nebudete je muset vybírat jednotlivě. setting_aggregate_reblogs: Nezobrazovat nové boosty pro příspěvky, které byly nedávno boostnuty (ovlivňuje pouze nově přijaté boosty) + setting_always_send_emails: Jinak nebudou e-mailové notifikace posílány, když Mastodon aktivně používáte setting_default_sensitive: Citlivá média jsou ve výchozím stavu skryta a mohou být zobrazena kliknutím setting_display_media_default: Skrývat média označená jako citlivá setting_display_media_hide_all: Vždy skrývat média @@ -151,6 +152,7 @@ cs: phrase: Klíčové slovo či fráze setting_advanced_layout: Povolit pokročilé webové rozhraní setting_aggregate_reblogs: Seskupovat boosty v časových osách + setting_always_send_emails: Vždy posílat e-mailová oznámení setting_auto_play_gif: Automaticky přehrávat animace GIF setting_boost_modal: Před boostnutím zobrazovat potvrzovací okno setting_crop_images: Ořezávat obrázky v nerozbalených příspěvcích na 16x9 diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml index f69a92a60..88b17a6c5 100644 --- a/config/locales/simple_form.da.yml +++ b/config/locales/simple_form.da.yml @@ -49,6 +49,7 @@ da: phrase: Matches uanset uanset brug af store/små bogstaver i teksten eller indholdsadvarsel for et indlæg scopes: De API'er, som applikationen vil kunne tilgå. Vælges en topniveaudstrækning, vil detailvalg være unødvendige. setting_aggregate_reblogs: Vis ikke nye boosts for nyligt boostede indlæg (påvirker kun nyligt modtagne boosts) + setting_always_send_emails: Normalt sendes ingen e-mailnotifikationer under aktivt brug af Mastodon setting_default_sensitive: Sensitive medier er som standard skjult og kan vises med et klik setting_display_media_default: Skjul medier med sensitiv-markering setting_display_media_hide_all: Skjul altid medier @@ -151,6 +152,7 @@ da: phrase: Nøgleord/-sætning setting_advanced_layout: Aktivér avanceret webgrænseflade setting_aggregate_reblogs: Gruppér boosts på tidslinjer + setting_always_send_emails: Send altid en e-mailnotifikationer setting_auto_play_gif: Autoafspil animerede GIF'er setting_boost_modal: Vis bekræftelsesdialog inden boosting setting_crop_images: Beskær billeder i ikke-ekspanderede indlæg til 16x9 diff --git a/config/locales/simple_form.el.yml b/config/locales/simple_form.el.yml index 39dbef161..89ddae0cb 100644 --- a/config/locales/simple_form.el.yml +++ b/config/locales/simple_form.el.yml @@ -46,6 +46,7 @@ el: phrase: Θα ταιριάζει ανεξαρτήτως πεζών/κεφαλαίων ή προειδοποίησης περιεχομένου του τουτ scopes: Ποια API θα επιτρέπεται στην εφαρμογή να χρησιμοποιήσεις. Αν επιλέξεις κάποιο υψηλό εύρος εφαρμογής, δε χρειάζεται να επιλέξεις και εξειδικευμένα. setting_aggregate_reblogs: Απόκρυψη των νέων προωθήσεωνγια τα τουτ που έχουν προωθηθεί πρόσφατα (επηρεάζει μόνο τις νέες προωθήσεις) + setting_always_send_emails: Κανονικά οι ειδοποιήσεις μέσω ηλεκτρονικού ταχυδρομείου δεν θα αποστέλλονται όταν χρησιμοποιείτε ενεργά το Mastodon setting_default_sensitive: Τα ευαίσθητα πολυμέσα είναι κρυμμένα και εμφανίζονται με ένα κλικ setting_display_media_default: Απόκρυψη ευαίσθητων πολυμέσων setting_display_media_hide_all: Μόνιμη απόκρυψη όλων των πολυμέσων @@ -145,6 +146,7 @@ el: phrase: Λέξη ή φράση κλειδί setting_advanced_layout: Ενεργοποίηση προηγμένης λειτουργίας χρήσης setting_aggregate_reblogs: Ομαδοποίηση προωθήσεων στις ροές + setting_always_send_emails: Πάντα να αποστέλλονται ειδοποίησεις μέσω email setting_auto_play_gif: Αυτόματη αναπαραγωγή των GIF setting_boost_modal: Επιβεβαίωση πριν την προώθηση setting_crop_images: Περιορισμός των εικόνων σε μη-ανεπτυγμένα τουτ σε αναλογία 16x9 diff --git a/config/locales/simple_form.es-AR.yml b/config/locales/simple_form.es-AR.yml index 00d4ce897..d4a9ad264 100644 --- a/config/locales/simple_form.es-AR.yml +++ b/config/locales/simple_form.es-AR.yml @@ -49,6 +49,7 @@ es-AR: phrase: Se aplicará sin importar las mayúsculas o las advertencias de contenido de un mensaje scopes: Qué APIs de la aplicación tendrán acceso. Si seleccionás el alcance de nivel más alto, no necesitás seleccionar las individuales. setting_aggregate_reblogs: No mostrar nuevas adhesiones de los mensajes que fueron recientemente adheridos (sólo afecta a las adhesiones recibidas recientemente) + setting_always_send_emails: Normalmente las notificaciones por correo electrónico no se enviarán cuando estés usando Mastodon activamente setting_default_sensitive: El contenido de medios sensibles está oculto predeterminadamente y puede ser mostrado con un clic setting_display_media_default: Ocultar medios marcados como sensibles setting_display_media_hide_all: Siempre ocultar todos los medios @@ -151,6 +152,7 @@ es-AR: phrase: Palabra clave o frase setting_advanced_layout: Habilitar interface web avanzada setting_aggregate_reblogs: Agrupar adhesiones en las líneas temporales + setting_always_send_emails: Siempre enviar notificaciones por correo electrónico setting_auto_play_gif: Reproducir automáticamente los GIFs animados setting_boost_modal: Mostrar diálogo de confirmación antes de adherir setting_crop_images: Recortar imágenes en mensajes no expandidos a 16x9 diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml index 274f54a08..53c6d9c45 100644 --- a/config/locales/simple_form.es.yml +++ b/config/locales/simple_form.es.yml @@ -49,6 +49,7 @@ es: phrase: Se aplicará sin importar las mayúsculas o los avisos de contenido de una publicación scopes: Qué APIs de la aplicación tendrán acceso. Si seleccionas el alcance de nivel mas alto, no necesitas seleccionar las individuales. setting_aggregate_reblogs: No mostrar nuevos retoots para las publicaciones que han sido recientemente retooteadas (sólo afecta a los retoots recibidos recientemente) + setting_always_send_emails: Normalmente las notificaciones por correo electrónico no se enviarán cuando estés usando Mastodon activamente setting_default_sensitive: El contenido multimedia sensible está oculto por defecto y puede ser mostrado con un click setting_display_media_default: Ocultar contenido multimedia marcado como sensible setting_display_media_hide_all: Siempre ocultar todo el contenido multimedia @@ -151,6 +152,7 @@ es: phrase: Palabra clave o frase setting_advanced_layout: Habilitar interfaz web avanzada setting_aggregate_reblogs: Agrupar retoots en las líneas de tiempo + setting_always_send_emails: Enviar siempre notificaciones por correo setting_auto_play_gif: Reproducir automáticamente los GIFs animados setting_boost_modal: Mostrar ventana de confirmación antes de retootear setting_crop_images: Recortar a 16x9 las imágenes de las publicaciones no expandidas diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml index 52e4ceb2a..9a777c45c 100644 --- a/config/locales/simple_form.fr.yml +++ b/config/locales/simple_form.fr.yml @@ -49,6 +49,7 @@ fr: phrase: Sera filtré peu importe la casse ou l’avertissement de contenu du message scopes: À quelles APIs l’application sera autorisée à accéder. Si vous sélectionnez une permission générale, vous n’avez pas besoin de sélectionner les permissions plus précises. setting_aggregate_reblogs: Ne pas afficher les nouveaux partages pour les messages déjà récemment partagés (n’affecte que les partages futurs) + setting_always_send_emails: Normalement, les notifications par courriel ne seront pas envoyées lorsque vous utilisez Mastodon activement setting_default_sensitive: Les médias sensibles sont cachés par défaut et peuvent être révélés d’un simple clic setting_display_media_default: Masquer les médias marqués comme sensibles setting_display_media_hide_all: Toujours masquer les médias @@ -151,6 +152,7 @@ fr: phrase: Mot-clé ou phrase setting_advanced_layout: Activer l’interface Web avancée setting_aggregate_reblogs: Grouper les partages dans les fils d’actualités + setting_always_send_emails: Toujours envoyer les notifications par courriel setting_auto_play_gif: Lire automatiquement les GIFs animés setting_boost_modal: Demander confirmation avant de partager un message setting_crop_images: Recadrer en 16x9 les images des messages qui ne sont pas ouverts en vue détaillée diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml index dd5c6264e..83447f7ec 100644 --- a/config/locales/simple_form.gl.yml +++ b/config/locales/simple_form.gl.yml @@ -49,6 +49,7 @@ gl: phrase: Concordará independentemente das maiúsculas ou avisos de contido na publicación scopes: A que APIs terá acceso a aplicación. Se escolles un ámbito de alto nivel, non precisas seleccionar elementos individuais. setting_aggregate_reblogs: Non mostrar novas promocións de publicacións que foron promovidas recentemente (só afecta a promocións recén recibidas) + setting_always_send_emails: Como norma xeral non che enviamos emails se usas activamente Mastodon setting_default_sensitive: Medios sensibles marcados como ocultos por defecto e móstranse cun click setting_display_media_default: Ocultar medios marcados como sensibles setting_display_media_hide_all: Ocultar sempre os medios @@ -151,6 +152,7 @@ gl: phrase: Palabra chave ou frase setting_advanced_layout: Activar interface web avanzada setting_aggregate_reblogs: Agrupar promocións nas cronoloxías + setting_always_send_emails: Enviar sempre notificacións por email setting_auto_play_gif: Reprodución automática de GIFs animados setting_boost_modal: Pedir confirmación antes de promocionar setting_crop_images: Recortar imaxes a 16x9 en publicacións non despregadas diff --git a/config/locales/simple_form.hu.yml b/config/locales/simple_form.hu.yml index 0b9451db8..0df4f2df1 100644 --- a/config/locales/simple_form.hu.yml +++ b/config/locales/simple_form.hu.yml @@ -49,6 +49,7 @@ hu: phrase: Illeszkedni fog kis/nagybetű függetlenül, és tartalom-figyelmeztetések mögött is scopes: Mely API-kat érheti el az alkalmazás. Ha felső szintű hatáskört választasz, nem kell egyesével kiválasztanod az alatta lévőeket. setting_aggregate_reblogs: Ne mutassunk megtolásokat olyan bejegyzésekhez, melyeket nemrég toltak meg (csak új megtolásokra lép életbe) + setting_always_send_emails: Alapesetben nem küldünk e-mail értesítéseket, ha aktívan használod a Mastodont setting_default_sensitive: A kényes médiatartalmat alapesetben elrejtjük, de egyetlen kattintással előhozható setting_display_media_default: Kényes tartalomnak jelölt média elrejtése setting_display_media_hide_all: Mindig minden média elrejtése @@ -151,6 +152,7 @@ hu: phrase: Kulcsszó vagy kifejezés setting_advanced_layout: Haladó webes felület engedélyezése setting_aggregate_reblogs: Megtolások csoportosítása az idővonalakon + setting_always_send_emails: E-mail értesítések küldése mindig setting_auto_play_gif: GIF-ek automatikus lejátszása setting_boost_modal: Megerősítés kérése megtolás előtt setting_crop_images: Képek 16x9-re vágása nem kinyitott bejegyzéseknél diff --git a/config/locales/simple_form.id.yml b/config/locales/simple_form.id.yml index bba49f1e2..dfc4902ab 100644 --- a/config/locales/simple_form.id.yml +++ b/config/locales/simple_form.id.yml @@ -49,6 +49,7 @@ id: phrase: Akan dicocokkan terlepas dari luaran dalam teks atau peringatan konten dari toot scopes: API mana yang diizinkan untuk diakses aplikasi. Jika Anda memilih cakupan level-atas, Anda tak perlu memilih yang individual. setting_aggregate_reblogs: Jangan tampilkan boost baru untuk toot yang baru saja di-boost (hanya memengaruhi boost yang baru diterima) + setting_always_send_emails: Secara normal, notifikasi email tidak akan dikirimkan kepada Anda ketika Anda sedang aktif menggunakan Mastodon setting_default_sensitive: Media sensitif disembunyikan secara bawaan dan akan ditampilkan dengan klik setting_display_media_default: Sembunyikan media yang ditandai sebagai sensitif setting_display_media_hide_all: Selalu sembunyikan semua media @@ -151,6 +152,7 @@ id: phrase: Kata kunci atau frasa setting_advanced_layout: Aktifkan antar muka web mahir setting_aggregate_reblogs: Boost grup di linimasa + setting_always_send_emails: Selalu kirim notifikasi email setting_auto_play_gif: Mainkan otomatis animasi GIF setting_boost_modal: Tampilkan dialog konfirmasi dialog sebelum boost setting_crop_images: Potong gambar ke 16x9 pada toot yang tidak dibentangkan diff --git a/config/locales/simple_form.is.yml b/config/locales/simple_form.is.yml index c04660f22..44b6a54a8 100644 --- a/config/locales/simple_form.is.yml +++ b/config/locales/simple_form.is.yml @@ -49,6 +49,7 @@ is: phrase: Verður notað til samsvörunar burtséð frá stafstöðu texta eða viðvörunar vegna efnis í færslu scopes: Að hvaða API-kerfisviðmótum forritið fær aðgang. Ef þú velur efsta-stigs svið, þarftu ekki að gefa einstakar heimildir. setting_aggregate_reblogs: Ekki sýna nýjar endurbirtingar á færslum sem hafa nýlega verið endurbirtar (hefur bara áhrif á ný-mótteknar endurbirtingar) + setting_always_send_emails: Venjulega eru tilkynningar í tölvupósti ekki sendar þegar þú ert virk/ur í að nota Mastodon setting_default_sensitive: Viðkvæmt myndefni er sjálfgefið falið og er hægt að birta með smelli setting_display_media_default: Fela myndefni sem merkt er viðkvæmt setting_display_media_hide_all: Alltaf fela allt myndefni @@ -151,6 +152,7 @@ is: phrase: Stikkorð eða frasi setting_advanced_layout: Virkja ítarlegt vefviðmót setting_aggregate_reblogs: Hópa endurbirtingar í tímalínum + setting_always_send_emails: Alltaf senda tilkynningar í tölvupósti setting_auto_play_gif: Spila sjálfkrafa GIF-hreyfimyndir setting_boost_modal: Sýna staðfestingarglugga fyrir endurbirtingu setting_crop_images: Utansníða myndir í ekki-útfelldum færslum í 16x9 diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml index 17cf652a4..7eb014193 100644 --- a/config/locales/simple_form.it.yml +++ b/config/locales/simple_form.it.yml @@ -49,6 +49,7 @@ it: phrase: Il confronto sarà eseguito ignorando minuscole/maiuscole e i content warning scopes: A quali API l'applicazione potrà avere accesso. Se selezionate un ambito di alto livello, non c'è bisogno di selezionare quelle singole. setting_aggregate_reblogs: Non mostrare nuove condivisioni per toot che sono stati condivisi di recente (ha effetto solo sulle nuove condivisioni) + setting_always_send_emails: Normalmente le notifiche e-mail non vengono inviate quando si utilizza attivamente Mastodon setting_default_sensitive: Media con contenuti sensibili sono nascosti in modo predefinito e possono essere rivelati con un click setting_display_media_default: Nascondi media segnati come sensibili setting_display_media_hide_all: Nascondi sempre tutti i media @@ -151,6 +152,7 @@ it: phrase: Parola chiave o frase setting_advanced_layout: Abilita interfaccia web avanzata setting_aggregate_reblogs: Raggruppa condivisioni in timeline + setting_always_send_emails: Manda sempre notifiche via email setting_auto_play_gif: Riproduci automaticamente le GIF animate setting_boost_modal: Mostra dialogo di conferma prima del boost setting_crop_images: Ritaglia immagini in post non espansi a 16x9 diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml index 7ca16089e..8ee83f20c 100644 --- a/config/locales/simple_form.ko.yml +++ b/config/locales/simple_form.ko.yml @@ -49,6 +49,7 @@ ko: phrase: 게시물 내용이나 열람주의 내용 안에서 대소문자 구분 없이 매칭 됩니다 scopes: 애플리케이션에 허용할 API들입니다. 최상위 스코프를 선택하면 개별적인 것은 선택하지 않아도 됩니다. setting_aggregate_reblogs: 최근에 부스트 됐던 게시물은 새로 부스트 되어도 보여주지 않기 (새로 받은 부스트에만 적용됩니다) + setting_always_send_emails: 기본적으로 마스토돈을 활동적으로 사용하고 있을 때에는 이메일 알림이 보내지지 않습니다 setting_default_sensitive: 민감한 미디어는 기본적으로 가려져 있으며 클릭해서 볼 수 있습니다 setting_display_media_default: 민감함으로 설정 된 미디어 가리기 setting_display_media_hide_all: 항상 모든 미디어를 가리기 @@ -151,6 +152,7 @@ ko: phrase: 키워드 또는 문장 setting_advanced_layout: 고급 웹 UI 활성화 setting_aggregate_reblogs: 타임라인의 부스트를 그룹화 + setting_always_send_emails: 항상 이메일 알림 보내기 setting_auto_play_gif: 애니메이션 GIF를 자동 재생 setting_boost_modal: 부스트 전 확인 창을 표시 setting_crop_images: 확장되지 않은 게시물의 이미지를 16x9로 자르기 diff --git a/config/locales/simple_form.ku.yml b/config/locales/simple_form.ku.yml index 09621771d..e9e6603cd 100644 --- a/config/locales/simple_form.ku.yml +++ b/config/locales/simple_form.ku.yml @@ -51,6 +51,7 @@ ku: Sepana ku dê kîjan maf bide bigihije APIyan. Ger te asteke jor hilbijartibe, ne pêwîste ku tu yên berfirehî a kesane hilbijêrî. setting_aggregate_reblogs: Bilindkirinên ku nû hatine weşan ji şandiyên di dema dawî de nîşan nede (tenê li ser bilindkirinên nû wergirtî bandor dike) + setting_always_send_emails: Dema ku tu Mastodon bi rengek çalak bi kar tînî, bi gelemperî agahdariya e-nameyê nayê şandin setting_default_sensitive: Medyaya hestiyar berdestî ve tê veşartin û bi tikandin dikare were eşkere kirin setting_display_media_default: Medyaya wekî hestyarî hatiye nîşankirî ye veşêre setting_display_media_hide_all: Medyayê tim veşêre @@ -153,6 +154,7 @@ ku: phrase: Peyvkilîd an jî hevok setting_advanced_layout: Navrûya tevnê yê pêşketî çalak bike setting_aggregate_reblogs: Di demnameyê de şandiyên bilindkirî kom bike + setting_always_send_emails: Her dem agahdariya e-nameyê bişîne setting_auto_play_gif: GIF ên livok bi xweber bilîzine setting_boost_modal: Gotûbêja pejirandinê nîşan bide berî ku şandî werê bilindkirin setting_crop_images: Wêneyên di nav şandiyên ku nehatine berfireh kirin wek 16×9 jê bike diff --git a/config/locales/simple_form.lv.yml b/config/locales/simple_form.lv.yml index 6f466fba8..e512551ba 100644 --- a/config/locales/simple_form.lv.yml +++ b/config/locales/simple_form.lv.yml @@ -49,6 +49,7 @@ lv: phrase: Tiks saskaņots neatkarīgi no ziņas teksta reģistra vai satura brīdinājuma scopes: Kuriem API lietojumprogrammai būs atļauta piekļuve. Ja izvēlies augstākā līmeņa tvērumu, tev nav jāatlasa atsevišķi vienumi. setting_aggregate_reblogs: Nerādīt jaunus palielinājumus ziņām, kas nesen tika palielinātas (ietekmē tikai nesen saņemtos palielinājumus) + setting_always_send_emails: Parasti e-pasta paziņojumi netiek sūtīti, kad aktīvi izmantojat Mastodon setting_default_sensitive: Sensitīvi mediji pēc noklusējuma ir paslēpti, un tos var atklāt, noklikšķinot setting_display_media_default: Paslēpt mediju, kas atzīmēts kā sensitīvs setting_display_media_hide_all: Vienmēr slēpt medijus @@ -151,6 +152,7 @@ lv: phrase: Atslēgvārds vai frāze setting_advanced_layout: Iespējot paplašināto web interfeisu setting_aggregate_reblogs: Grupēt paaugstinājumus ziņu lentās + setting_always_send_emails: Vienmēr sūtīt e-pasta paziņojumus setting_auto_play_gif: Automātiski atskaņot animētos GIF setting_boost_modal: Parādīt apstiprinājuma dialogu pirms paaugstināšanas setting_crop_images: Apgrieziet attēlus neizvērstajās ziņās līdz 16x9 diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml index 8aa8626f9..0793f55bc 100644 --- a/config/locales/simple_form.pl.yml +++ b/config/locales/simple_form.pl.yml @@ -27,6 +27,8 @@ pl: scheduled_at: Pozostaw puste, aby opublikować ogłoszenie natychmiastowo starts_at: Nieobowiązkowe. Jeżeli ogłoszenie jest związane z danym przedziałem czasu text: Możesz używać składni wpisu. Pamiętaj o tym, ile miejsca zajmie ogłoszenie na ekranie użytkownika + appeal: + text: Możesz wysłać odwołanie do ostrzeżenia tylko raz defaults: autofollow: Osoby, które zarejestrują się z Twojego zaproszenia automatycznie zaczną Cię śledzić avatar: PNG, GIF lub JPG. Maksymalnie %{size}. Zostanie zmniejszony do %{dimensions}px @@ -35,6 +37,7 @@ pl: current_password: Ze względów bezpieczeństwa wprowadź hasło obecnego konta current_username: Aby potwierdzić, wprowadź nazwę użytkownika obecnego konta digest: Wysyłane tylko po długiej nieaktywności, jeżeli w tym czasie otrzymaleś jakąś wiadomość bezpośrednią + discoverable: Pozwala na odkrywanie twojego konta przez nieznajomych poprzez rekomendacje, popularne wpisy i inne funkcje email: Otrzymasz e-mail potwierdzający fields: Możesz ustawić maksymalnie 4 niestandardowe pola wyświetlane jako tabela na Twoim profilu header: PNG, GIF lub JPG. Maksymalnie %{size}. Zostanie zmniejszony do %{dimensions}px @@ -46,6 +49,7 @@ pl: phrase: Zostanie wykryte nawet, gdy znajduje się za ostrzeżeniem o zawartości scopes: Wybór API, do których aplikacja będzie miała dostęp. Jeżeli wybierzesz nadrzędny zakres, nie musisz wybierać jego elementów. setting_aggregate_reblogs: Nie pokazuj nowych podbić dla wpisów, które zostały niedawno podbite (dotyczy tylko nowo otrzymanych podbić) + setting_always_send_emails: Powiadomienia e-mail zwykle nie będą wysyłane, gdy używasz Mastodon setting_default_sensitive: Wrażliwe multimedia są domyślnie schowane i mogą być odkryte kliknięciem setting_display_media_default: Ukrywaj zawartość multimedialną oznaczoną jako wrażliwa setting_display_media_hide_all: Zawsze ukrywaj zawartość multimedialną @@ -117,6 +121,8 @@ pl: scheduled_at: Zaplanuj publikację starts_at: Początek wydarzenia text: Ogłoszenie + appeal: + text: Wyjaśnij, dlaczego ta decyzja powinna zostać cofnięta defaults: autofollow: Zapraszaj do śledzenia swojego konta avatar: Awatar @@ -146,6 +152,7 @@ pl: phrase: Słowo kluczowe lub fraza setting_advanced_layout: Włącz zaawansowany interfejs użytkownika setting_aggregate_reblogs: Grupuj podbicia na osiach czasu + setting_always_send_emails: Zawsze wysyłaj powiadomienia e-mail setting_auto_play_gif: Automatycznie odtwarzaj animowane GIFy setting_boost_modal: Pytaj o potwierdzenie przed podbiciem setting_crop_images: Przycinaj obrazki w nierozwiniętych wpisach do 16x9 @@ -195,6 +202,7 @@ pl: sign_up_requires_approval: Ogranicz rejestracje severity: Reguła notification_emails: + appeal: Ktoś odwołuje się od decyzji moderatora digest: Wysyłaj podsumowania e-mailem favourite: Powiadamiaj mnie e-mailem, gdy ktoś polubi mój wpis follow: Powiadamiaj mnie e-mailem, gdy ktoś zacznie mnie śledzić @@ -202,6 +210,8 @@ pl: mention: Powiadamiaj mnie e-mailem, gdy ktoś o mnie wspomni pending_account: Wyślij e-mail kiedy nowe konto potrzebuje recenzji reblog: Powiadamiaj mnie e-mailem, gdy ktoś podbije mój wpis + report: Nowy raport został wysłany + trending_tag: Nowe popularne wymagają przeglądu rule: text: Zasada tag: diff --git a/config/locales/simple_form.pt-PT.yml b/config/locales/simple_form.pt-PT.yml index 7e75b96e5..42116174f 100644 --- a/config/locales/simple_form.pt-PT.yml +++ b/config/locales/simple_form.pt-PT.yml @@ -49,6 +49,7 @@ pt-PT: phrase: Será correspondido independentemente da capitalização ou do aviso de conteúdo duma publicação scopes: Quais as APIs a que será concedido acesso. Se escolheres uma abrangência de nível superior, não precisarás de as seleccionar individualmente. setting_aggregate_reblogs: Não mostrar novas partilhas que foram partilhadas recentemente (só afecta as novas partilhas) + setting_always_send_emails: Normalmente as notificações por e-mail não serão enviadas quando estiver a utilizar ativamente o Mastodon setting_default_sensitive: Media sensível está oculta por padrão e pode ser revelada com um clique setting_display_media_default: Esconder media marcada como sensível setting_display_media_hide_all: Esconder sempre toda a media @@ -151,6 +152,7 @@ pt-PT: phrase: Palavra ou expressão-chave setting_advanced_layout: Ativar interface web avançada setting_aggregate_reblogs: Agrupar partilhas em cronologias + setting_always_send_emails: Enviar notificações de email sempre setting_auto_play_gif: Reproduzir GIFs automaticamente setting_boost_modal: Solicitar confirmação antes de partilhar uma publicação setting_crop_images: Cortar imagens em toots não expandidos para o formato 16x9 diff --git a/config/locales/simple_form.ru.yml b/config/locales/simple_form.ru.yml index ef3bf4ad3..30e7bd3a3 100644 --- a/config/locales/simple_form.ru.yml +++ b/config/locales/simple_form.ru.yml @@ -49,6 +49,7 @@ ru: phrase: Будет сопоставлено независимо от присутствия в тексте или предупреждения о содержании поста scopes: Какие API приложению будет позволено использовать. Если вы выберете самый верхний, нижестоящие будут выбраны автоматически. setting_aggregate_reblogs: Не показывать новые продвижения постов, которые уже были недавно продвинуты (относится только к новым продвижениям). + setting_always_send_emails: По умолчанию, когда вы активно используете Mastodon, уведомления по электронной почте не отправляются setting_default_sensitive: Медиафайлы «деликатного характера» скрыты по умолчанию и могут быть показаны по нажатию на них. setting_display_media_default: Скрывать файлы «деликатного характера» setting_display_media_hide_all: Всегда скрывать любые медиафайлы @@ -151,6 +152,7 @@ ru: phrase: Слово или фраза setting_advanced_layout: Включить многоколоночный интерфейс setting_aggregate_reblogs: Группировать продвижения в лентах + setting_always_send_emails: Всегда отправлять уведомления по электронной почте setting_auto_play_gif: Автоматически проигрывать GIF анимации setting_boost_modal: Всегда спрашивать перед продвижением setting_crop_images: Кадрировать изображения в нераскрытых постах до 16:9 diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index ed8420aea..8df50ab3a 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -49,6 +49,7 @@ th: phrase: จะถูกจับคู่โดยไม่คำนึงถึงตัวพิมพ์ใหญ่เล็กในข้อความหรือคำเตือนเนื้อหาของโพสต์ scopes: API ใดที่จะอนุญาตให้แอปพลิเคชันเข้าถึง หากคุณเลือกขอบเขตระดับบนสุด คุณไม่จำเป็นต้องเลือกแต่ละขอบเขต setting_aggregate_reblogs: ไม่แสดงการดันใหม่สำหรับโพสต์ที่เพิ่งดัน (มีผลต่อการดันที่ได้รับใหม่เท่านั้น) + setting_always_send_emails: โดยปกติจะไม่ส่งการแจ้งเตือนอีเมลเมื่อคุณกำลังใช้ Mastodon อยู่ setting_default_sensitive: ซ่อนสื่อที่ละเอียดอ่อนเป็นค่าเริ่มต้นและสามารถเปิดเผยได้ด้วยการคลิก setting_display_media_default: ซ่อนสื่อที่มีการทำเครื่องหมายว่าละเอียดอ่อน setting_display_media_hide_all: ซ่อนสื่อเสมอ @@ -146,6 +147,7 @@ th: phrase: คำสำคัญหรือวลี setting_advanced_layout: เปิดใช้งานส่วนติดต่อเว็บขั้นสูง setting_aggregate_reblogs: จัดกลุ่มการดันในเส้นเวลา + setting_always_send_emails: ส่งการแจ้งเตือนอีเมลเสมอ setting_auto_play_gif: เล่น GIF แบบเคลื่อนไหวโดยอัตโนมัติ setting_boost_modal: แสดงกล่องโต้ตอบการยืนยันก่อนดัน setting_crop_images: ครอบตัดภาพในโพสต์ที่ไม่ได้ขยายเป็น 16x9 diff --git a/config/locales/simple_form.tr.yml b/config/locales/simple_form.tr.yml index 4a2115742..901e9a4a3 100644 --- a/config/locales/simple_form.tr.yml +++ b/config/locales/simple_form.tr.yml @@ -49,6 +49,7 @@ tr: phrase: Metnin büyük/küçük harf durumundan veya tootun içerik uyarısından bağımsız olarak eşleştirilecek scopes: Uygulamanın erişmesine izin verilen API'ler. Üst seviye bir kapsam seçtiyseniz, bireysel kapsam seçmenize gerek yoktur. setting_aggregate_reblogs: Yakın zamanda boostlanmış tootlar için yeni boostları göstermeyin (yalnızca yeni alınan boostları etkiler) + setting_always_send_emails: Normalde, Mastodon'u aktif olarak kullanırken e-posta bildirimleri gönderilmeyecektir setting_default_sensitive: Hassas medya varsayılan olarak gizlidir ve bir tıklama ile gösterilebilir setting_display_media_default: Hassas olarak işaretlenmiş medyayı gizle setting_display_media_hide_all: Medyayı her zaman gizle @@ -151,6 +152,7 @@ tr: phrase: Anahtar kelime veya kelime öbeği setting_advanced_layout: Gelişmiş web arayüzünü etkinleştir setting_aggregate_reblogs: Zaman çizelgesindeki boostları grupla + setting_always_send_emails: Her zaman e-posta bildirimleri gönder setting_auto_play_gif: Hareketli GIF'leri otomatik oynat setting_boost_modal: Boostlamadan önce onay iletişim kutusu göster setting_crop_images: Genişletilmemiş tootlardaki resimleri 16x9 olarak kırp diff --git a/config/locales/simple_form.uk.yml b/config/locales/simple_form.uk.yml index 1d4512597..f33b31831 100644 --- a/config/locales/simple_form.uk.yml +++ b/config/locales/simple_form.uk.yml @@ -147,6 +147,7 @@ uk: phrase: Ключове слово або фраза setting_advanced_layout: Увімкнути розширений web-інтерфейс setting_aggregate_reblogs: Групувати просування в стрічках + setting_always_send_emails: Завжди надсилати сповіщення електронною поштою setting_auto_play_gif: Автоматично відтворювати анімовані GIF setting_boost_modal: Відображати діалог підтвердження під час передмухування setting_crop_images: Обрізати зображення в нерозкритих постах до 16x9 diff --git a/config/locales/simple_form.vi.yml b/config/locales/simple_form.vi.yml index 3a42a33a6..bff43d310 100644 --- a/config/locales/simple_form.vi.yml +++ b/config/locales/simple_form.vi.yml @@ -49,6 +49,7 @@ vi: phrase: Sẽ được hiện thị trong văn bản hoặc cảnh báo nội dung của một tút scopes: API nào ứng dụng sẽ được phép truy cập. Nếu bạn chọn quyền hạn cấp cao nhất, bạn không cần chọn từng phạm vi. setting_aggregate_reblogs: Nếu một tút đã được đăng lại thì những lượt đăng lại sau sẽ không hiện trên bảng tin nữa + setting_always_send_emails: Bình thường thì email thông báo sẽ không gửi khi bạn đang dùng Mastodon setting_default_sensitive: Mặc định là nội dung nhạy cảm và chỉ hiện nếu nhấn vào setting_display_media_default: Làm mờ những thứ được đánh dấu là nhạy cảm setting_display_media_hide_all: Không hiển thị @@ -151,6 +152,7 @@ vi: phrase: Từ khóa hoặc cụm từ setting_advanced_layout: Bật bố cục nhiều cột setting_aggregate_reblogs: Không hiện lượt đăng lại trùng lặp + setting_always_send_emails: Luôn gửi email thông báo setting_auto_play_gif: Tự động phát ảnh GIF setting_boost_modal: Yêu cầu xác nhận trước khi đăng lại tút setting_crop_images: Hiển thị ảnh theo tỉ lệ 16x9 diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml index 2867b47b6..33602885c 100644 --- a/config/locales/simple_form.zh-CN.yml +++ b/config/locales/simple_form.zh-CN.yml @@ -37,7 +37,7 @@ zh-CN: current_password: 为了安全起见,请输入当前账号的密码 current_username: 请输入当前账号的用户名以确认 digest: 仅在你长时间未登录,且收到了私信时发送 - discoverable: 允许他人通过推荐、趋势和其他途径发现你的账户 + discoverable: 允许他人通过推荐、热门和其他途径发现你的账户 email: 我们会向你发送一封确认邮件 fields: 这将会在个人资料页上以表格的形式展示,最多 4 个项目 header: 文件大小限制 %{size},只支持 PNG、GIF 或 JPG 格式。图片分辨率将会压缩至 %{dimensions}px @@ -49,6 +49,7 @@ zh-CN: phrase: 匹配将忽略嘟文或内容警告里的字母大小写 scopes: 哪些 API 被允许使用。如果你勾选了更高一级的范围,就不用单独选中子项目了。 setting_aggregate_reblogs: 不显示最近已经被转嘟过的嘟文(只会影响新收到的转嘟) + setting_always_send_emails: 一般情况下,如果您活跃使用 Mastodon,我们不会给您发送电子邮件通知 setting_default_sensitive: 敏感内容默认隐藏,并在点击后显示 setting_display_media_default: 隐藏被标记为敏感内容的媒体 setting_display_media_hide_all: 隐藏所有媒体 @@ -151,6 +152,7 @@ zh-CN: phrase: 关键词 setting_advanced_layout: 启用高级 Web 界面 setting_aggregate_reblogs: 在时间轴中合并转嘟 + setting_always_send_emails: 总是发送电子邮件通知 setting_auto_play_gif: 自动播放 GIF 动画 setting_boost_modal: 在转嘟前询问我 setting_crop_images: 把未展开嘟文中的图片裁剪到 16x9 @@ -209,7 +211,7 @@ zh-CN: pending_account: 在有账号需要审核时,发送电子邮件提醒我 reblog: 当有用户转嘟了我的嘟文时,发送电子邮件提醒我 report: 新举报已提交 - trending_tag: 新趋势待审核 + trending_tag: 新热门待审核 rule: text: 规则 tag: diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml index 9501533f1..1a2a449f0 100644 --- a/config/locales/simple_form.zh-TW.yml +++ b/config/locales/simple_form.zh-TW.yml @@ -49,6 +49,7 @@ zh-TW: phrase: 無論是嘟文的本文或是內容警告都會被過濾 scopes: 允許讓應用程式存取的 API。 若您選擇最高階範圍,則無須選擇個別項目。 setting_aggregate_reblogs: 請勿顯示最近已被轉嘟之嘟文的最新轉嘟(只影響最新收到的嘟文) + setting_always_send_emails: 一般情況下若您活躍使用 Mastodon ,我們不會寄送 e-mail 通知 setting_default_sensitive: 敏感媒體預設隱藏,且按一下即可重新顯示 setting_display_media_default: 隱藏標為敏感的媒體 setting_display_media_hide_all: 總是隱藏所有媒體 @@ -151,6 +152,7 @@ zh-TW: phrase: 關鍵字或片語 setting_advanced_layout: 啟用進階網頁介面 setting_aggregate_reblogs: 時間軸中的群組轉嘟 + setting_always_send_emails: 總是發送 e-mail 通知 setting_auto_play_gif: 自動播放 GIF 動畫 setting_boost_modal: 在轉嘟前先詢問我 setting_crop_images: 將未展開嘟文中的圖片裁剪至 16x9 diff --git a/config/locales/sk.yml b/config/locales/sk.yml index 322fa1611..5412b8fd1 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -894,11 +894,6 @@ sk: many: A ešte, kým si bol/a preč, si získal/a %{count} nových následovateľov! Hurá! one: A ešte, kým si bol/a preč, si získal/a jedného nového následovateľa! Hurá! other: A ešte, kým si bol/a preč, si získal/a %{count} nových následovateľov! Hurá! - subject: - few: "%{count} nových oboznámení od tvojej poslednej návštevy 🐘" - many: "%{count} nových oboznámení od tvojej poslednej návštevy 🐘" - one: "Jedno nové oboznámenie od tvojej poslednej návštevy 🐘" - other: "%{count} nové oboznámenia od tvojej poslednej návštevy 🐘" title: Zatiaľ čo si bol/a preč… favourite: body: 'Tvoj príspevok bol uložený medzi obľúbené užívateľa %{name}:' diff --git a/config/locales/sl.yml b/config/locales/sl.yml index 3b10c53f0..cf7564542 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -798,11 +798,6 @@ sl: one: Prav tako ste pridobili enega novega sledilca, ko ste bili odsotni! Juhu! other: Prav tako ste pridobili %{count} novih sledilcev, ko ste bili odsotni! Juhu! two: Prav tako ste pridobili %{count} nova sledilca, ko ste bili odsotni! Juhu! - subject: - few: "%{count} nova obvestila od vašega zadnjega obiska 🐘" - one: "1 novo obvestilo od vašega zadnjega obiska 🐘" - other: "%{count} novih obvestil od vašega zadnjega obiska 🐘" - two: "%{count} novi obvestili od vašega zadnjega obiska 🐘" title: V vaši odsotnosti... favourite: body: "%{name} je vzljubil/a vaše stanje:" diff --git a/config/locales/sq.yml b/config/locales/sq.yml index 8c61d1d0c..8e3bf730f 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -596,6 +596,7 @@ sq: action_taken_by: Veprimi i ndërmarrë nga actions: delete_description_html: Postimet e raportuara do të fshihen dhe do të regjistrohet një paralajmërim, për t’ju ndihmuar të përshkallëzoni hapat në rast shkeljesh të ardhme nga e njëjta llogari. + mark_as_sensitive_description_html: Medias te postimet e raportuara do t’i vihet shenjë si me spec dhe për të do të regjistrohet një paralajmërim, për t’ju ndihmuar të përshkallëzoni masat tuaja mbi shkelje të ardhshme nga e njëjta llogari. other_description_html: Shihni më tepër mundësi për kontroll të sjelljes së një llogari dhe përshtatni komunikimin me llogarinë e raportuar. resolve_description_html: Ndaj llogarisë së raportuar nuk do të ndërmerret ndonjë veprim, s’do të regjistrohet ndonjë paralajmërim dhe raporti do të mbyllet. silence_description_html: Profili do të jetë i dukshëm vetëm për ata që e ndjekin tashmë, ose që e kërkojnë dorazi, duke reduktuar rëndë përhapjen e tij. Mundet përherë të prapakthehet. @@ -1625,6 +1626,13 @@ sq: explanation: Kërkuat një kopjeruajtje të plotë të llogarisë tuaj Mastodon. E keni gati për shkarkim! subject: Arkivi juaj është gati për shkarkim title: Marrje arkivi me vete + suspicious_sign_in: + change_password: ndryshoni fjalëkalimin tuaj + details: 'Ja hollësitë për hyrjen:' + explanation: Kemi pikasur një hyrje në llogarinë tuaj që nga adresë e re IP. + further_actions_html: Nëse s’ishit ju, këshillojmë të %{action} menjëherë dhe të aktivizoni mirëfilltësim dyfaktorësh, për ta mbajtur llogarinë tuaj të sigurt. + subject: Llogaria juaj është përdorur që nga një adresë e re IP + title: Hyrje e re warning: appeal: Parashtroni një apelim appeal_description: Nëse besoni se është gabim, mund t’i parashtroni një apelim stafit të %{instance}. diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml index 283cfe28e..321fc6398 100644 --- a/config/locales/sr-Latn.yml +++ b/config/locales/sr-Latn.yml @@ -336,10 +336,6 @@ sr-Latn: few: Dobili ste %{count} nova pratioca! Sjajno! one: Dobili ste jednog novog pratioca! Jeee! other: Dobili ste %{count} novih pratioca! Sjajno! - subject: - few: "%{count} nova obaveštenja od poslednje posete 🐘" - one: "1 novo obaveštenje od poslednje posete 🐘" - other: "%{count} novih obaveštenja od poslednje posete 🐘" favourite: body: "%{name} je postavio kao omiljen Vaš status:" subject: "%{name} je postavio kao omiljen Vaš status" diff --git a/config/locales/sr.yml b/config/locales/sr.yml index e8e44a651..94d8c43cf 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -529,10 +529,6 @@ sr: few: Добили сте %{count} нова пратиоца! Сјајно! one: Добили сте једног новог пратиоца! Јеее! other: Добили сте %{count} нових пратиоца! Сјајно! - subject: - few: "%{count} нова обавештења од последње посете 🐘" - one: "1 ново обавештење од последње посете 🐘" - other: "%{count} нових обавештења од последње посете 🐘" title: Док нисте били ту... favourite: body: "%{name} је поставио као омиљен Ваш статус:" diff --git a/config/locales/sv.yml b/config/locales/sv.yml index b1e3ddd4d..1db82f0f6 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -905,9 +905,6 @@ sv: new_followers_summary: one: Du har också förvärvat en ny följare! Jippie! other: Du har också fått %{count} nya följare medans du var iväg! Otroligt! - subject: - one: "1 nytt meddelande sedan ditt senaste besök 🐘" - other: "%{count} nya meddelanden sedan ditt senaste besök 🐘" title: I din frånvaro... favourite: body: 'Din status favoriserades av %{name}:' diff --git a/config/locales/th.yml b/config/locales/th.yml index a5f8a86df..675a8c445 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -1419,6 +1419,10 @@ th: explanation: คุณได้ขอข้อมูลสำรองแบบเต็มของบัญชี Mastodon ของคุณ ตอนนี้ข้อมูลสำรองพร้อมสำหรับการดาวน์โหลดแล้ว! subject: การเก็บถาวรของคุณพร้อมสำหรับการดาวน์โหลดแล้ว title: การส่งออกการเก็บถาวร + suspicious_sign_in: + change_password: เปลี่ยนรหัสผ่านของคุณ + details: 'นี่คือรายละเอียดของการลงชื่อเข้า:' + title: การลงชื่อเข้าใหม่ warning: appeal: ส่งการอุทธรณ์ appeal_description: หากคุณเชื่อว่านี่เป็นข้อผิดพลาด คุณสามารถส่งการอุทธรณ์ไปยังพนักงานของ %{instance} diff --git a/config/locales/uk.yml b/config/locales/uk.yml index c35f941b0..2c52a2145 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -16,6 +16,7 @@ uk: contact: Зв'язатися contact_missing: Не зазначено contact_unavailable: Недоступно + continue_to_web: Перейти до вебзастосунку discover_users: Знайдіть цікавих користувачів documentation: Документація federation_hint_html: З обліковим записом на %{instance} ви зможете слідкувати за людьми на будь-якому сервері Mastodon та поза ним. @@ -23,6 +24,7 @@ uk: hosted_on: Mastodon розміщено на %{domain} instance_actor_flash: "Цей обліковий запис є віртуальною особою, яка використовується для представлення самого сервера, а не певного користувача. Він використовується для потреб федерації і не повинен бути заблокований, якщо тільки ви не хочете заблокувати весь сервер, у цьому випадку ви повинні скористатися блокуванням домену. \n" learn_more: Дізнатися більше + logged_in_as_html: Зараз ви увійшли як %{username}. logout_before_registering: Ви вже увійшли. privacy_policy: Політика приватності rules: Правила сервера @@ -476,7 +478,14 @@ uk: reason: Суспільна причина title: Політика вмісту dashboard: + instance_accounts_dimension: Найвідстежуваніші облікові записи + instance_accounts_measure: розміщені облікові записи + instance_followers_measure: наші підписники там + instance_follows_measure: їхні підписники тут instance_languages_dimension: Найуживаніші мови + instance_media_attachments_measure: розміщені медіавкладення + instance_reports_measure: звітів про них + instance_statuses_measure: розміщені дописи delivery: all: Усі clear: Очистити помилки доставляння @@ -1023,7 +1032,7 @@ uk: csv: CSV domain_blocks: Блокування доменів lists: Списки - mutes: Список глушення + mutes: Список нехтуваних storage: Ваш медіаконтент featured_tags: add_new: Додати новий @@ -1165,7 +1174,7 @@ uk: title: Модерація move_handler: carry_blocks_over_text: Цей користувач переїхав з %{acct}, який ви заблокували. - carry_mutes_over_text: Цей користувач переїхав з %{acct}, який ви заглушили. + carry_mutes_over_text: Цей користувач переїхав з %{acct}, який ви нехтуєте. copy_account_note_text: 'Цей користувач був переміщений з %{acct}, ось ваші попередні нотатки:' notification_mailer: admin: @@ -1180,11 +1189,6 @@ uk: many: У Вас з'явилось %{count} нових підписників! Чудово! one: Також, у Вас з'явився новий підписник, коли ви були відсутні! Ура! other: Також, у Вас з'явилось %{count} нових підписників, поки ви були відсутні! Чудово! - subject: - few: "%{count} нові сповіщення з Вашого останнього входу 🐘" - many: "%{count} нових сповіщень з Вашого останнього входу 🐘" - one: "1 нове сповіщення з Вашого останнього входу 🐘" - other: "%{count} нових сповіщень з Вашого останнього входу 🐘" title: Поки ви були відсутні... favourite: body: 'Ваш статус подобається %{name}:' @@ -1502,11 +1506,14 @@ uk: subject: Вашу апеляцію від %{date} було схвалено title: Апеляцію схвалено appeal_rejected: + subject: Вашу апеляцію від %{date} було відхилено title: Апеляцію відхилено backup_ready: explanation: Ви робили запит повної резервної копії вашого облікового запису Mastodon. Вона вже готова для завантаження! subject: Ваш архів готовий до завантаження title: Винесення архіву + suspicious_sign_in: + title: Новий вхід warning: appeal: Подати апеляцію categories: @@ -1527,7 +1534,9 @@ uk: title: delete_statuses: Дописи вилучено disable: Обліковий запис заморожено + mark_statuses_as_sensitive: Дописи позначено делікатними none: Попередження + sensitive: Обліковий запис позначено делікатним silence: Ообліковий запис обмежено suspend: Обліковий запис призупинено welcome: diff --git a/config/locales/vi.yml b/config/locales/vi.yml index e2b4ef7ef..6403a0283 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -177,7 +177,7 @@ vi: already_confirmed: Người dùng này đã được xác thực send: Gửi lại email xác nhận success: Email xác nhận đã gửi thành công! - reset: Làm tươi + reset: Đặt lại reset_password: Đặt lại mật khẩu resubscribe: Đăng ký lại role: Vai trò @@ -1097,7 +1097,7 @@ vi: trending_now: Xu hướng generic: all: Tất cả - changes_saved_msg: Đã cập nhật thay đổi xong! + changes_saved_msg: Đã lưu thay đổi! copy: Sao chép delete: Xóa none: Trống @@ -1214,7 +1214,7 @@ vi: new_followers_summary: other: Ngoài ra, bạn đã có %{count} người theo dõi mới trong khi đi chơi! Ngạc nhiên chưa! subject: - other: "%{count} thông báo mới kể từ lần truy cập trước 🐘" + other: "%{count} thông báo mới kể từ lần đăng nhập cuối 🐘" title: Khi bạn offline... favourite: body: Tút của bạn vừa được thích bởi %{name} @@ -1477,7 +1477,7 @@ vi: min_reblogs: Giữ những tút đã đăng lại lâu hơn min_reblogs_hint: Những tút có lượt đăng lại nhiều hơn số này sẽ không bị xóa. Để trống nếu bạn muốn xóa hết stream_entries: - pinned: Tút được ghim + pinned: Tút đã ghim reblogged: đăng lại sensitive_content: NSFW tags: diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 6be97eb59..fa7f39ba4 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -387,7 +387,7 @@ zh-CN: interactions: 互动数 media_storage: 媒体存储 new_users: 新用户 - opened_reports: 被发起的举报 + opened_reports: 收到的举报 pending_appeals_html: other: "%{count} 个待处理申诉" pending_reports_html: @@ -476,7 +476,7 @@ zh-CN: other: 在 %{count} 天中尝试失败。 no_failures_recorded: 没有失败记录。 title: 可用性 - warning: 上一次连接到此服务器的尝试失败了 + warning: 上一次尝试连接此服务器失败 back_to_all: 全部 back_to_limited: 受限 back_to_warning: 警告 @@ -583,6 +583,7 @@ zh-CN: action_taken_by: 操作执行者 actions: delete_description_html: 被举报的嘟文将被删除,同时该账号将被标记一次处罚,以供未来同一账号再次违规时参考。 + mark_as_sensitive_description_html: 被举报的嘟文将被标记为敏感,同时该账号将被标记一次处罚,以供未来同一账号再次违规时参考。 other_description_html: 查看更多控制该账号行为的选项,并自定义编写与被举报账号的通信。 resolve_description_html: 不会对被举报账号采取任何动作,举报将被关闭,也不会留下处罚记录。 silence_description_html: 只有关注或手工搜索此账号才能查看其资料,将严重限制其触达范围。可随时撤销。 @@ -788,17 +789,17 @@ zh-CN: pending_review: 待审核 preview_card_providers: allowed: 来自此发布者的链接可进入流行列表 - description_html: 这些域名所属的链接经常在此服务器上被分享。在对应域名获得批准前链接不会公开显示在趋势中。批准和拒绝操作也会对子域名生效。 - rejected: 来自此发布者的链接不会进入流行列表 + description_html: 这些域名所属的链接经常在此服务器上被分享。在对应域名获得批准前链接不会公开显示在热门中。批准和拒绝操作也会对子域名生效。 + rejected: 来自此发布者的链接不会进入热门列表 title: 发布者 rejected: 已拒绝 statuses: allow: 允许嘟文 - allow_account: 允许作者 - description_html: 这些是当前此服务器可见的被大量分享和喜欢的嘟文。它可以帮助新用户和老用户发现更多可关注的账号。发布者获得批准前不会公开显示任何嘟文。同时发布者还需要允许其账号被推荐给其他用户。你也可以批准或拒绝单条嘟文。 - disallow: 禁止本嘟文 - disallow_account: 禁止本作者 - not_discoverable: 发布者未选择可被发现 + allow_account: 允许发布者 + description_html: 这些是当前此服务器可见的被大量分享和喜欢的嘟文。这些嘟文可以帮助新老用户找到更多可关注的账号。批准发布者且发布者允许将其账号推荐给其他用户前,不会公开显示任何嘟文。你也可以批准或拒绝单条嘟文。 + disallow: 禁止嘟文 + disallow_account: 禁止发布者 + not_discoverable: 发布者选择不被发现 shared_by: other: 被分享和喜欢%{friendly_count}次 title: 热门嘟文 @@ -813,11 +814,11 @@ zh-CN: description_html: 这些是当前此服务器可见嘟文中大量出现的标签。它可以帮助用户发现其他人正关注的话题。在获得批准前不会公开显示任何标签。 listable: 可被推荐 not_listable: 不会被推荐 - not_trendable: 不会出现在流行列表中 + not_trendable: 不会出现在热门列表中 not_usable: 不可使用 peaked_on_and_decaying: 在 %{date} 达到峰值,下降中 title: 热门标签 - trendable: 可显示在流行列表中 + trendable: 可显示在热门列表中 trending_rank: '热门 #%{rank}' usable: 可以使用 usage_comparison: 今日被使用 %{today} 次,前一日为 %{yesterday} 次 @@ -854,17 +855,17 @@ zh-CN: body: 以下项目需要审核才能公开显示: new_trending_links: no_approved_links: 当前没有经过批准的热门链接。 - requirements: '以下候选均可超过 #%{rank} 已批准趋势链接,当前为 "%{lowest_link_title}",分数为 %{lowest_link_score}。' + requirements: '以下候选均可超过 #%{rank} 已批准热门链接,当前为 "%{lowest_link_title}",分数为 %{lowest_link_score}。' title: 热门链接 new_trending_statuses: no_approved_statuses: 当前没有经过批准的热门链接。 - requirements: '以下候选均可超过 #%{rank} 已批准趋势嘟文,当前为 %{lowest_status_url} 分数为 %{lowest_status_score}。' + requirements: '以下候选均可超过 #%{rank} 已批准热门嘟文,当前为 %{lowest_status_url} 分数为 %{lowest_status_score}。' title: 热门嘟文 new_trending_tags: no_approved_tags: 目前没有经批准的热门标签。 requirements: '这些候选人都可能会超过#%{rank} 批准的热门标签,目前是 #%{lowest_tag_name} ,分数为 %{lowest_tag_score}。' title: 热门标签 - subject: "%{instance} 上的新趋势供审核" + subject: "%{instance} 上有新热门等待审核" aliases: add_new: 创建别名 created_msg: 成功创建了一个新别名。你现在可以从旧账户开始迁移了。 @@ -1215,7 +1216,7 @@ zh-CN: new_followers_summary: other: 而且,你不在的时候,有 %{count} 个人关注了你!好棒! subject: - other: "自从上次访问后,有 %{count} 条新通知 🐘" + other: "自上次访问以来,收到 %{count} 条新通知 🐘" title: 在你不在的这段时间…… favourite: body: 你的嘟文被 %{name} 喜欢了: @@ -1450,15 +1451,15 @@ zh-CN: ignore_favs: 取消喜欢 ignore_reblogs: 忽略转嘟 interaction_exceptions: 基于互动的例外 - interaction_exceptions_explanation: 请注意,如果嘟文超出转嘟和喜欢的阈值之后,又降到阈值以下,不能保证会被删除。 + interaction_exceptions_explanation: 请注意,如果嘟文超出转嘟和喜欢的阈值之后,又降到阈值以下,则可能不会被删除。 keep_direct: 保留私信 - keep_direct_hint: 没有删除你的任何私信 + keep_direct_hint: 不会删除你的任何私信 keep_media: 保留带媒体附件的嘟文 - keep_media_hint: 没有删除任何包含媒体附件的嘟文 + keep_media_hint: 不会删除任何包含媒体附件的嘟文 keep_pinned: 保留置顶嘟文 - keep_pinned_hint: 没有删除你的任何置顶嘟文 + keep_pinned_hint: 不会删除你的任何置顶嘟文 keep_polls: 保留投票 - keep_polls_hint: 没有删除你的任何投票 + keep_polls_hint: 不会删除你的任何投票 keep_self_bookmark: 保存被你加入书签的嘟文 keep_self_bookmark_hint: 如果你已将自己的嘟文添加书签,就不会删除这些嘟文 keep_self_fav: 保留你喜欢的嘟文 @@ -1474,9 +1475,9 @@ zh-CN: '7889238': 3个月 min_age_label: 过期阈值 min_favs: 保留如下嘟文:喜欢数超过 - min_favs_hint: 喜欢数超过该阈值的的嘟文不被删除。如果留空,则无视喜欢数,直接删除。 + min_favs_hint: 喜欢数超过该阈值的的嘟文不会被删除。如果留空,则无论嘟文获得多少喜欢,都将被删除。 min_reblogs: 保留如下嘟文:转嘟数超过 - min_reblogs_hint: 转嘟数超过该阈值的的嘟文不被删除。如果留空,则无视被转嘟的数量,直接删除。 + min_reblogs_hint: 转嘟数超过该阈值的的嘟文不会被删除。如果留空,则无论嘟文获得多少转嘟,都将被删除。 stream_entries: pinned: 置顶嘟文 reblogged: 转嘟 @@ -1604,6 +1605,13 @@ zh-CN: explanation: 你请求了一份 Mastodon 帐户的完整备份。现在你可以下载了! subject: 你的存档已经准备完毕 title: 存档导出 + suspicious_sign_in: + change_password: 更改密码 + details: 以下是该次登录的详细信息: + explanation: 我们检测到有新 IP 地址登录了您的账号。 + further_actions_html: 如果不是您自己的操作,我们建议您立即 %{action} 并启用双重验证,确保账号安全。 + subject: 已有新 IP 地址访问了您的账号 + title: 新登录 warning: appeal: 提交申诉 appeal_description: 如果你认为此结果有误,可以向 %{instance} 的工作人员提交申诉。 diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml index 76c051587..6437a57e1 100644 --- a/config/locales/zh-HK.yml +++ b/config/locales/zh-HK.yml @@ -963,8 +963,6 @@ zh-HK: mention: "%{name} 在此提及了你︰" new_followers_summary: other: 你新獲得了 %{count} 位關注者了!好厲害! - subject: - other: "自從上次登入以來,你收到 %{count} 則新的通知 🐘" title: 在你不在的這段時間…… favourite: body: 你的文章被 %{name} 喜愛: From daa8b9e0c10c90883e83530f8a5ed87c3b352102 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Apr 2022 19:29:52 +0900 Subject: [PATCH 221/276] Bump yargs from 17.4.0 to 17.4.1 (#18017) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e39fe7bcb..ec04f930c 100644 --- a/package.json +++ b/package.json @@ -190,7 +190,7 @@ "react-test-renderer": "^16.14.0", "sass-lint": "^1.13.1", "webpack-dev-server": "^3.11.3", - "yargs": "^17.4.0" + "yargs": "^17.4.1" }, "resolutions": { "kind-of": "^6.0.3" diff --git a/yarn.lock b/yarn.lock index aa290014c..f2e0565f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11536,10 +11536,10 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.4.0: - version "17.4.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz#9fc9efc96bd3aa2c1240446af28499f0e7593d00" - integrity sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA== +yargs@^17.4.1: + version "17.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.1.tgz#ebe23284207bb75cee7c408c33e722bfb27b5284" + integrity sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g== dependencies: cliui "^7.0.2" escalade "^3.1.1" From ab54d91fe32bb2aaf6cb68ed478cd32090d8f8ad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Apr 2022 19:30:54 +0900 Subject: [PATCH 222/276] Bump @babel/core from 7.17.8 to 7.17.9 (#18015) --- package.json | 2 +- yarn.lock | 76 ++++++++++++++++++++++++++++------------------------ 2 files changed, 42 insertions(+), 36 deletions(-) diff --git a/package.json b/package.json index ec04f930c..474fd8e48 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ }, "private": true, "dependencies": { - "@babel/core": "^7.17.8", + "@babel/core": "^7.17.9", "@babel/plugin-proposal-decorators": "^7.17.8", "@babel/plugin-transform-react-inline-elements": "^7.16.7", "@babel/plugin-transform-runtime": "^7.17.0", diff --git a/yarn.lock b/yarn.lock index f2e0565f1..c800d4668 100644 --- a/yarn.lock +++ b/yarn.lock @@ -33,31 +33,31 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== -"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.17.8", "@babel/core@^7.7.2", "@babel/core@^7.8.0": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" - integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ== +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.17.9", "@babel/core@^7.7.2", "@babel/core@^7.8.0": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.9.tgz#6bae81a06d95f4d0dec5bb9d74bbc1f58babdcfe" + integrity sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.7" + "@babel/generator" "^7.17.9" "@babel/helper-compilation-targets" "^7.17.7" "@babel/helper-module-transforms" "^7.17.7" - "@babel/helpers" "^7.17.8" - "@babel/parser" "^7.17.8" + "@babel/helpers" "^7.17.9" + "@babel/parser" "^7.17.9" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" + "@babel/traverse" "^7.17.9" "@babel/types" "^7.17.0" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.1.2" + json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@^7.17.3", "@babel/generator@^7.17.7", "@babel/generator@^7.7.2": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" - integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== +"@babel/generator@^7.17.9", "@babel/generator@^7.7.2": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.9.tgz#f4af9fd38fa8de143c29fce3f71852406fc1e2fc" + integrity sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ== dependencies: "@babel/types" "^7.17.0" jsesc "^2.5.1" @@ -168,6 +168,14 @@ "@babel/template" "^7.16.7" "@babel/types" "^7.16.7" +"@babel/helper-function-name@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" + integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== + dependencies: + "@babel/template" "^7.16.7" + "@babel/types" "^7.17.0" + "@babel/helper-get-function-arity@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" @@ -295,13 +303,13 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.17.8": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106" - integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== +"@babel/helpers@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.9.tgz#b2af120821bfbe44f9907b1826e168e819375a1a" + integrity sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q== dependencies: "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" + "@babel/traverse" "^7.17.9" "@babel/types" "^7.17.0" "@babel/highlight@^7.10.4": @@ -322,10 +330,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8", "@babel/parser@^7.7.0": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240" - integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.9", "@babel/parser@^7.7.0": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.9.tgz#9c94189a6062f0291418ca021077983058e171ef" + integrity sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" @@ -1052,18 +1060,18 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" - integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.9.tgz#1f9b207435d9ae4a8ed6998b2b82300d83c37a0d" + integrity sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw== dependencies: "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.3" + "@babel/generator" "^7.17.9" "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" + "@babel/helper-function-name" "^7.17.9" "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.3" + "@babel/parser" "^7.17.9" "@babel/types" "^7.17.0" debug "^4.1.0" globals "^11.1.0" @@ -6813,12 +6821,10 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" +json5@^2.1.2, json5@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== jsonfile@^3.0.0: version "3.0.1" From 9b7387d9174b16a29ec72752c97bfa5849ce60be Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Apr 2022 19:31:20 +0900 Subject: [PATCH 223/276] Bump i18n-tasks from 1.0.8 to 1.0.9 (#18014) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 08f137dd0..1f88d14b8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -307,7 +307,7 @@ GEM rainbow (>= 2.0.0) i18n (1.10.0) concurrent-ruby (~> 1.0) - i18n-tasks (1.0.8) + i18n-tasks (1.0.9) activesupport (>= 4.0.2) ast (>= 2.1.0) better_html (~> 1.0) From 072f1e4898b6490fc298793f9c85c2f24773eabb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Apr 2022 21:20:01 +0900 Subject: [PATCH 224/276] Bump @babel/plugin-proposal-decorators from 7.17.8 to 7.17.9 (#18020) Bumps [@babel/plugin-proposal-decorators](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-decorators) from 7.17.8 to 7.17.9. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.17.9/packages/babel-plugin-proposal-decorators) --- updated-dependencies: - dependency-name: "@babel/plugin-proposal-decorators" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 30 +++++++++++++++++++----------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 474fd8e48..b8110a9b8 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "private": true, "dependencies": { "@babel/core": "^7.17.9", - "@babel/plugin-proposal-decorators": "^7.17.8", + "@babel/plugin-proposal-decorators": "^7.17.9", "@babel/plugin-transform-react-inline-elements": "^7.16.7", "@babel/plugin-transform-runtime": "^7.17.0", "@babel/preset-env": "^7.16.11", diff --git a/yarn.lock b/yarn.lock index c800d4668..caed78fbc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -96,15 +96,15 @@ browserslist "^4.17.5" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.6": - version "7.17.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz#3778c1ed09a7f3e65e6d6e0f6fbfcc53809d92c9" - integrity sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg== +"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz#71835d7fb9f38bd9f1378e40a4c0902fdc2ea49d" + integrity sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-function-name" "^7.17.9" + "@babel/helper-member-expression-to-functions" "^7.17.7" "@babel/helper-optimise-call-expression" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" @@ -197,6 +197,13 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-member-expression-to-functions@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" + integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== + dependencies: + "@babel/types" "^7.17.0" + "@babel/helper-module-imports@^7.0.0-beta.49", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" @@ -377,14 +384,15 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-decorators@^7.17.8": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.8.tgz#4f0444e896bee85d35cf714a006fc5418f87ff00" - integrity sha512-U69odN4Umyyx1xO1rTII0IDkAEC+RNlcKXtqOblfpzqy1C+aOplb76BQNq0+XdpVkOaPlpEDwd++joY8FNFJKA== +"@babel/plugin-proposal-decorators@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.9.tgz#67a1653be9c77ce5b6c318aa90c8287b87831619" + integrity sha512-EfH2LZ/vPa2wuPwJ26j+kYRkaubf89UlwxKXtxqEm57HrgSEYDB8t4swFP+p8LcI9yiP9ZRJJjo/58hS6BnaDA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.17.6" + "@babel/helper-create-class-features-plugin" "^7.17.9" "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" "@babel/plugin-syntax-decorators" "^7.17.0" charcodes "^0.2.0" From b0fe837069b05dd232ff7123924a6a82dabec84e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Apr 2022 21:20:27 +0900 Subject: [PATCH 225/276] Bump @babel/runtime from 7.17.8 to 7.17.9 (#18012) Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.17.8 to 7.17.9. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.17.9/packages/babel-runtime) --- updated-dependencies: - dependency-name: "@babel/runtime" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index b8110a9b8..a50817bca 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "@babel/plugin-transform-runtime": "^7.17.0", "@babel/preset-env": "^7.16.11", "@babel/preset-react": "^7.16.7", - "@babel/runtime": "^7.17.8", + "@babel/runtime": "^7.17.9", "@gamestdio/websocket": "^0.3.2", "@github/webauthn-json": "^0.5.7", "@rails/ujs": "^6.1.5", diff --git a/yarn.lock b/yarn.lock index caed78fbc..0bd88f7ee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1052,10 +1052,10 @@ dependencies: regenerator-runtime "^0.12.0" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.17.8", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" - integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.17.9", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72" + integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg== dependencies: regenerator-runtime "^0.13.4" From 82d91dfce2e1d498beb0db8c108278ce5f3a566f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Apr 2022 21:21:05 +0900 Subject: [PATCH 226/276] Bump sidekiq-unique-jobs from 7.1.16 to 7.1.19 (#18018) Bumps [sidekiq-unique-jobs](https://github.com/mhenrixon/sidekiq-unique-jobs) from 7.1.16 to 7.1.19. - [Release notes](https://github.com/mhenrixon/sidekiq-unique-jobs/releases) - [Changelog](https://github.com/mhenrixon/sidekiq-unique-jobs/blob/main/CHANGELOG.md) - [Commits](https://github.com/mhenrixon/sidekiq-unique-jobs/compare/v7.1.16...v7.1.19) --- updated-dependencies: - dependency-name: sidekiq-unique-jobs dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1f88d14b8..85f284e37 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -614,7 +614,7 @@ GEM sidekiq (>= 3) thwait tilt (>= 1.4.0) - sidekiq-unique-jobs (7.1.16) + sidekiq-unique-jobs (7.1.19) brpoplpush-redis_script (> 0.1.1, <= 2.0.0) concurrent-ruby (~> 1.0, >= 1.0.5) sidekiq (>= 5.0, < 8.0) From 50c20546a488e77c3ece0b732d67bb6043ca5360 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Apr 2022 21:21:47 +0900 Subject: [PATCH 227/276] Bump brakeman from 5.2.1 to 5.2.2 (#18021) Bumps [brakeman](https://github.com/presidentbeef/brakeman) from 5.2.1 to 5.2.2. - [Release notes](https://github.com/presidentbeef/brakeman/releases) - [Changelog](https://github.com/presidentbeef/brakeman/blob/main/CHANGES.md) - [Commits](https://github.com/presidentbeef/brakeman/compare/v5.2.1...v5.2.2) --- updated-dependencies: - dependency-name: brakeman dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 85f284e37..8f4443c88 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -116,7 +116,7 @@ GEM ffi (~> 1.14) bootsnap (1.10.3) msgpack (~> 1.2) - brakeman (5.2.1) + brakeman (5.2.2) browser (4.2.0) brpoplpush-redis_script (0.1.2) concurrent-ruby (~> 1.0, >= 1.0.5) From 12be6a071f97b582134c9d9edfb37fc437d508ee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Apr 2022 21:22:07 +0900 Subject: [PATCH 228/276] Bump @testing-library/jest-dom from 5.16.3 to 5.16.4 (#18022) Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.16.3 to 5.16.4. - [Release notes](https://github.com/testing-library/jest-dom/releases) - [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md) - [Commits](https://github.com/testing-library/jest-dom/compare/v5.16.3...v5.16.4) --- updated-dependencies: - dependency-name: "@testing-library/jest-dom" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a50817bca..2f726c1c4 100644 --- a/package.json +++ b/package.json @@ -174,7 +174,7 @@ "ws": "^8.5.0" }, "devDependencies": { - "@testing-library/jest-dom": "^5.16.3", + "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^12.1.4", "babel-eslint": "^10.1.0", "babel-jest": "^27.5.1", diff --git a/yarn.lock b/yarn.lock index 0bd88f7ee..72de4e81c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1506,10 +1506,10 @@ lz-string "^1.4.4" pretty-format "^27.0.2" -"@testing-library/jest-dom@^5.16.3": - version "5.16.3" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.3.tgz#b76851a909586113c20486f1679ffb4d8ec27bfa" - integrity sha512-u5DfKj4wfSt6akfndfu1eG06jsdyA/IUrlX2n3pyq5UXgXMhXY+NJb8eNK/7pqPWAhCKsCGWDdDO0zKMKAYkEA== +"@testing-library/jest-dom@^5.16.4": + version "5.16.4" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.4.tgz#938302d7b8b483963a3ae821f1c0808f872245cd" + integrity sha512-Gy+IoFutbMQcky0k+bqqumXZ1cTGswLsFqmNLzNdSKkU9KGV2u9oXhukCbbJ9/LRPKiqwxEE8VpV/+YZlfkPUA== dependencies: "@babel/runtime" "^7.9.2" "@types/testing-library__jest-dom" "^5.9.1" From 822a7fecc63c008301a619b11b67687dda5daad4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Apr 2022 21:25:13 +0900 Subject: [PATCH 229/276] Bump eslint-plugin-import from 2.25.4 to 2.26.0 (#18011) Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.25.4 to 2.26.0. - [Release notes](https://github.com/import-js/eslint-plugin-import/releases) - [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md) - [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.25.4...v2.26.0) --- updated-dependencies: - dependency-name: eslint-plugin-import dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 52 +++++++++++++++++++++++++--------------------------- 2 files changed, 26 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index 2f726c1c4..8fb2c0cc4 100644 --- a/package.json +++ b/package.json @@ -179,7 +179,7 @@ "babel-eslint": "^10.1.0", "babel-jest": "^27.5.1", "eslint": "^7.32.0", - "eslint-plugin-import": "~2.25.4", + "eslint-plugin-import": "~2.26.0", "eslint-plugin-jsx-a11y": "~6.5.1", "eslint-plugin-promise": "~6.0.0", "eslint-plugin-react": "~7.29.4", diff --git a/yarn.lock b/yarn.lock index 72de4e81c..2a77e63b4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4353,32 +4353,32 @@ eslint-import-resolver-node@^0.3.6: debug "^3.2.7" resolve "^1.20.0" -eslint-module-utils@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz#1d0aa455dcf41052339b63cada8ab5fd57577129" - integrity sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg== +eslint-module-utils@^2.7.3: + version "2.7.3" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" + integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== dependencies: debug "^3.2.7" find-up "^2.1.0" -eslint-plugin-import@~2.25.4: - version "2.25.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1" - integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA== +eslint-plugin-import@~2.26.0: + version "2.26.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" + integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== dependencies: array-includes "^3.1.4" array.prototype.flat "^1.2.5" debug "^2.6.9" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.2" + eslint-module-utils "^2.7.3" has "^1.0.3" - is-core-module "^2.8.0" + is-core-module "^2.8.1" is-glob "^4.0.3" - minimatch "^3.0.4" + minimatch "^3.1.2" object.values "^1.1.5" - resolve "^1.20.0" - tsconfig-paths "^3.12.0" + resolve "^1.22.0" + tsconfig-paths "^3.14.1" eslint-plugin-jsx-a11y@~6.5.1: version "6.5.1" @@ -5925,14 +5925,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.2.0, is-core-module@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" - integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== - dependencies: - has "^1.0.3" - -is-core-module@^2.8.1: +is-core-module@^2.2.0, is-core-module@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== @@ -7344,6 +7337,11 @@ minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + minipass-collect@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" @@ -9484,7 +9482,7 @@ resolve.exports@^1.1.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== -resolve@^1.12.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0: +resolve@^1.12.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -10725,14 +10723,14 @@ ts-essentials@^2.0.3: resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-2.0.12.tgz#c9303f3d74f75fa7528c3d49b80e089ab09d8745" integrity sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w== -tsconfig-paths@^3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" - integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg== +tsconfig-paths@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" + integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.1" - minimist "^1.2.0" + minimist "^1.2.6" strip-bom "^3.0.0" tslib@^1.9.0: From c2fda997d1106e2f3dd4cacc1333c8dee02dcdd1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Apr 2022 21:33:11 +0900 Subject: [PATCH 230/276] Bump bootsnap from 1.10.3 to 1.11.1 (#17778) Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.10.3 to 1.11.1. - [Release notes](https://github.com/Shopify/bootsnap/releases) - [Changelog](https://github.com/Shopify/bootsnap/blob/main/CHANGELOG.md) - [Commits](https://github.com/Shopify/bootsnap/compare/v1.10.3...v1.11.1) --- updated-dependencies: - dependency-name: bootsnap dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 0e924b78d..1b0b719cc 100644 --- a/Gemfile +++ b/Gemfile @@ -26,7 +26,7 @@ gem 'blurhash', '~> 0.1' gem 'active_model_serializers', '~> 0.10' gem 'addressable', '~> 2.8' -gem 'bootsnap', '~> 1.10.3', require: false +gem 'bootsnap', '~> 1.11.1', require: false gem 'browser' gem 'charlock_holmes', '~> 0.7.7' gem 'chewy', '~> 7.2' diff --git a/Gemfile.lock b/Gemfile.lock index 8f4443c88..5a4d671a4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -114,7 +114,7 @@ GEM debug_inspector (>= 0.0.1) blurhash (0.1.6) ffi (~> 1.14) - bootsnap (1.10.3) + bootsnap (1.11.1) msgpack (~> 1.2) brakeman (5.2.2) browser (4.2.0) @@ -397,7 +397,7 @@ GEM mini_mime (1.1.2) mini_portile2 (2.8.0) minitest (5.15.0) - msgpack (1.4.4) + msgpack (1.5.1) multi_json (1.15.0) multipart-post (2.1.1) net-ldap (0.17.0) @@ -738,7 +738,7 @@ DEPENDENCIES better_errors (~> 2.9) binding_of_caller (~> 1.0) blurhash (~> 0.1) - bootsnap (~> 1.10.3) + bootsnap (~> 1.11.1) brakeman (~> 5.2) browser bullet (~> 7.0) From a3c8b022589e5ef4d98eb12aa8f3c9a46b72da93 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Apr 2022 15:27:17 +0900 Subject: [PATCH 231/276] Bump sass from 1.49.11 to 1.50.0 (#18016) Bumps [sass](https://github.com/sass/dart-sass) from 1.49.11 to 1.50.0. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.49.11...1.50.0) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 8fb2c0cc4..9aee75515 100644 --- a/package.json +++ b/package.json @@ -154,7 +154,7 @@ "requestidlecallback": "^0.3.0", "reselect": "^4.1.5", "rimraf": "^3.0.2", - "sass": "^1.49.11", + "sass": "^1.50.0", "sass-loader": "^10.2.0", "stacktrace-js": "^2.0.2", "stringz": "^2.1.0", diff --git a/yarn.lock b/yarn.lock index 2a77e63b4..00145314a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9628,10 +9628,10 @@ sass-loader@^10.2.0: schema-utils "^3.0.0" semver "^7.3.2" -sass@^1.49.11: - version "1.49.11" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.11.tgz#1ffeb77faeed8b806a2a1e021d7c9fd3fc322cb7" - integrity sha512-wvS/geXgHUGs6A/4ud5BFIWKO1nKd7wYIGimDk4q4GFkJicILActpv9ueMT4eRGSsp1BdKHuw1WwAHXbhsJELQ== +sass@^1.50.0: + version "1.50.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.50.0.tgz#3e407e2ebc53b12f1e35ce45efb226ea6063c7c8" + integrity sha512-cLsD6MEZ5URXHStxApajEh7gW189kkjn4Rc8DQweMyF+o5HF5nfEz8QYLMlPsTOD88DknatTmBWkOcw5/LnJLQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From f1b8150db4c0a49c9e97e702bf0ec5a4f84f1f94 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Apr 2022 15:27:43 +0900 Subject: [PATCH 232/276] Bump react-select from 5.2.2 to 5.3.0 (#18010) Bumps [react-select](https://github.com/JedWatson/react-select) from 5.2.2 to 5.3.0. - [Release notes](https://github.com/JedWatson/react-select/releases) - [Changelog](https://github.com/JedWatson/react-select/blob/master/docs/CHANGELOG.md) - [Commits](https://github.com/JedWatson/react-select/compare/react-select@5.2.2...react-select@5.3.0) --- updated-dependencies: - dependency-name: react-select dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 9aee75515..8048e9f6f 100644 --- a/package.json +++ b/package.json @@ -140,7 +140,7 @@ "react-redux-loading-bar": "^4.0.8", "react-router-dom": "^4.1.1", "react-router-scroll-4": "^1.0.0-beta.1", - "react-select": "^5.2.2", + "react-select": "^5.3.0", "react-sparklines": "^1.7.0", "react-swipeable-views": "^0.14.0", "react-textarea-autosize": "^8.3.3", diff --git a/yarn.lock b/yarn.lock index 00145314a..49bdba4f3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9068,10 +9068,10 @@ react-router@^4.3.1: prop-types "^15.6.1" warning "^4.0.1" -react-select@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.2.2.tgz#3d5edf0a60f1276fd5f29f9f90a305f0a25a5189" - integrity sha512-miGS2rT1XbFNjduMZT+V73xbJEeMzVkJOz727F6MeAr2hKE0uUSA8Ff7vD44H32x2PD3SRB6OXTY/L+fTV3z9w== +react-select@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.3.0.tgz#dc77c1f95e1037ec4cb01c5e5d6272d80be8d3f6" + integrity sha512-GM6Fbv1+X+kb3e5Fc4oNeyOJkCIesY/D4NBiReKlGY4RxoeztFYm3J0KREgwMaIKQqwTiuLqTlpUBY3SYw5goQ== dependencies: "@babel/runtime" "^7.12.0" "@emotion/cache" "^11.4.0" From a294981c596c089201d4cbeac1032abbbbac3aa2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Apr 2022 15:28:04 +0900 Subject: [PATCH 233/276] Bump rubocop from 1.26.1 to 1.27.0 (#18019) Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.26.1 to 1.27.0. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.26.1...v1.27.0) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index 1b0b719cc..055221253 100644 --- a/Gemfile +++ b/Gemfile @@ -132,7 +132,7 @@ group :development do gem 'letter_opener', '~> 1.8' gem 'letter_opener_web', '~> 2.0' gem 'memory_profiler' - gem 'rubocop', '~> 1.26', require: false + gem 'rubocop', '~> 1.27', require: false gem 'rubocop-rails', '~> 2.14', require: false gem 'brakeman', '~> 5.2', require: false gem 'bundler-audit', '~> 0.9', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 5a4d671a4..24a37d71f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -534,7 +534,7 @@ GEM redis (4.5.1) redis-namespace (1.8.2) redis (>= 3.0.4) - regexp_parser (2.2.1) + regexp_parser (2.3.0) request_store (1.5.1) rack (>= 1.4) responders (3.0.1) @@ -569,7 +569,7 @@ GEM rspec-support (3.11.0) rspec_junit_formatter (0.5.1) rspec-core (>= 2, < 4, != 2.12.0) - rubocop (1.26.1) + rubocop (1.27.0) parallel (~> 1.10) parser (>= 3.1.0.0) rainbow (>= 2.2.2, < 4.0) @@ -578,7 +578,7 @@ GEM rubocop-ast (>= 1.16.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 3.0) - rubocop-ast (1.16.0) + rubocop-ast (1.17.0) parser (>= 3.1.1.0) rubocop-rails (2.14.2) activesupport (>= 4.2.0) @@ -825,7 +825,7 @@ DEPENDENCIES rspec-rails (~> 5.1) rspec-sidekiq (~> 3.1) rspec_junit_formatter (~> 0.5) - rubocop (~> 1.26) + rubocop (~> 1.27) rubocop-rails (~> 2.14) ruby-progressbar (~> 1.11) sanitize (~> 6.0) From 50a088fd77d46110776789e13ec8eb27188f5f9d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Apr 2022 15:40:26 +0900 Subject: [PATCH 234/276] Bump async from 2.6.3 to 2.6.4 (#18040) Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4. - [Release notes](https://github.com/caolan/async/releases) - [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md) - [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4) --- updated-dependencies: - dependency-name: async dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 49bdba4f3..7cc4db817 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2305,9 +2305,9 @@ async-limiter@~1.0.0: integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== async@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== dependencies: lodash "^4.17.14" From 5781d1db841ff7f81301cd28acecc5331a68d97e Mon Sep 17 00:00:00 2001 From: Yamagishi Kazutoshi Date: Tue, 19 Apr 2022 16:11:58 +0900 Subject: [PATCH 235/276] Fix parsing `TRUSTED_PROXY_IP` (#18051) --- config/environments/production.rb | 2 +- streaming/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index 95f8a6f32..514c08cff 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -42,7 +42,7 @@ Rails.application.configure do config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX # Allow to specify public IP of reverse proxy if it's needed - config.action_dispatch.trusted_proxies = ENV['TRUSTED_PROXY_IP'].split.map { |item| IPAddr.new(item) } if ENV['TRUSTED_PROXY_IP'].present? + config.action_dispatch.trusted_proxies = ENV['TRUSTED_PROXY_IP'].split(/(?:\s*,\s*|\s+)/).map { |item| IPAddr.new(item) } if ENV['TRUSTED_PROXY_IP'].present? config.force_ssl = true config.ssl_options = { diff --git a/streaming/index.js b/streaming/index.js index d6b445a91..6935c4764 100644 --- a/streaming/index.js +++ b/streaming/index.js @@ -146,7 +146,7 @@ const startWorker = async (workerId) => { const app = express(); - app.set('trusted proxy', process.env.TRUSTED_PROXY_IP || 'loopback,uniquelocal'); + app.set('trust proxy', process.env.TRUSTED_PROXY_IP ? process.env.TRUSTED_PROXY_IP.split(/(?:\s*,\s*|\s+)/) : 'loopback,uniquelocal'); const pgPool = new pg.Pool(Object.assign(pgConfigs[env], dbUrlToConfig(process.env.DATABASE_URL))); const server = http.createServer(app); From 64dde6541baf37a1e182dec1212d0ce0cd359272 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 22 Apr 2022 02:33:04 +0900 Subject: [PATCH 236/276] Bump sidekiq-scheduler from 3.1.1 to 3.2.0 (#18052) Bumps [sidekiq-scheduler](https://github.com/moove-it/sidekiq-scheduler) from 3.1.1 to 3.2.0. - [Release notes](https://github.com/moove-it/sidekiq-scheduler/releases) - [Changelog](https://github.com/moove-it/sidekiq-scheduler/blob/v3.2.0/CHANGELOG.md) - [Commits](https://github.com/moove-it/sidekiq-scheduler/compare/v3.1.1...v3.2.0) --- updated-dependencies: - dependency-name: sidekiq-scheduler dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index 055221253..6bcec97ad 100644 --- a/Gemfile +++ b/Gemfile @@ -79,7 +79,7 @@ gem 'ruby-progressbar', '~> 1.11' gem 'sanitize', '~> 6.0' gem 'scenic', '~> 1.6' gem 'sidekiq', '~> 6.4' -gem 'sidekiq-scheduler', '~> 3.1' +gem 'sidekiq-scheduler', '~> 3.2' gem 'sidekiq-unique-jobs', '~> 7.1' gem 'sidekiq-bulk', '~>0.2.0' gem 'simple-navigation', '~> 4.3' diff --git a/Gemfile.lock b/Gemfile.lock index 24a37d71f..ce0b890b0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -216,7 +216,7 @@ GEM multi_json encryptor (3.0.0) erubi (1.10.0) - et-orbi (1.2.6) + et-orbi (1.2.7) tzinfo excon (0.76.0) fabrication (2.28.0) @@ -264,8 +264,8 @@ GEM fog-json (>= 1.0) ipaddress (>= 0.8) formatador (0.2.5) - fugit (1.5.2) - et-orbi (~> 1.1, >= 1.1.8) + fugit (1.5.3) + et-orbi (~> 1, >= 1.2.7) raabro (~> 1.4) fuubar (2.5.1) rspec-core (~> 3.0) @@ -607,7 +607,7 @@ GEM redis (>= 4.2.0) sidekiq-bulk (0.2.0) sidekiq - sidekiq-scheduler (3.1.1) + sidekiq-scheduler (3.2.0) e2mmap redis (>= 3, < 5) rufus-scheduler (~> 3.2) @@ -832,7 +832,7 @@ DEPENDENCIES scenic (~> 1.6) sidekiq (~> 6.4) sidekiq-bulk (~> 0.2.0) - sidekiq-scheduler (~> 3.1) + sidekiq-scheduler (~> 3.2) sidekiq-unique-jobs (~> 7.1) simple-navigation (~> 4.3) simple_form (~> 5.1) From 36f0eac09c5d0a9eb6191d2ac805e43d4284127e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 22 Apr 2022 02:33:26 +0900 Subject: [PATCH 237/276] Bump rack-attack from 6.6.0 to 6.6.1 (#18053) Bumps [rack-attack](https://github.com/rack/rack-attack) from 6.6.0 to 6.6.1. - [Release notes](https://github.com/rack/rack-attack/releases) - [Changelog](https://github.com/rack/rack-attack/blob/main/CHANGELOG.md) - [Commits](https://github.com/rack/rack-attack/compare/v6.6.0...v6.6.1) --- updated-dependencies: - dependency-name: rack-attack dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index ce0b890b0..497c58aa7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -476,7 +476,7 @@ GEM raabro (1.4.0) racc (1.6.0) rack (2.2.3) - rack-attack (6.6.0) + rack-attack (6.6.1) rack (>= 1.0, < 3) rack-cors (1.1.1) rack (>= 2.0.0) From 2051786c9e0bfd72cf21be429a60001b4bc6c67a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 22 Apr 2022 02:33:45 +0900 Subject: [PATCH 238/276] Bump @testing-library/react from 12.1.4 to 12.1.5 (#18054) Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 12.1.4 to 12.1.5. - [Release notes](https://github.com/testing-library/react-testing-library/releases) - [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md) - [Commits](https://github.com/testing-library/react-testing-library/compare/v12.1.4...v12.1.5) --- updated-dependencies: - dependency-name: "@testing-library/react" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 29 +++++++++++++++++++---------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 8048e9f6f..bc768f28a 100644 --- a/package.json +++ b/package.json @@ -175,7 +175,7 @@ }, "devDependencies": { "@testing-library/jest-dom": "^5.16.4", - "@testing-library/react": "^12.1.4", + "@testing-library/react": "^12.1.5", "babel-eslint": "^10.1.0", "babel-jest": "^27.5.1", "eslint": "^7.32.0", diff --git a/yarn.lock b/yarn.lock index 7cc4db817..961119c4f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1521,14 +1521,14 @@ lodash "^4.17.15" redent "^3.0.0" -"@testing-library/react@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-12.1.4.tgz#09674b117e550af713db3f4ec4c0942aa8bbf2c0" - integrity sha512-jiPKOm7vyUw311Hn/HlNQ9P8/lHNtArAx0PisXyFixDDvfl8DbD6EUdbshK5eqauvBSvzZd19itqQ9j3nferJA== +"@testing-library/react@^12.1.5": + version "12.1.5" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-12.1.5.tgz#bb248f72f02a5ac9d949dea07279095fa577963b" + integrity sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg== dependencies: "@babel/runtime" "^7.12.5" "@testing-library/dom" "^8.0.0" - "@types/react-dom" "*" + "@types/react-dom" "<18.0.0" "@tootallnate/once@1": version "1.1.2" @@ -1689,12 +1689,12 @@ resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== -"@types/react-dom@*": - version "17.0.11" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.11.tgz#e1eadc3c5e86bdb5f7684e00274ae228e7bcc466" - integrity sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q== +"@types/react-dom@<18.0.0": + version "17.0.15" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.15.tgz#f2c8efde11521a4b7991e076cb9c70ba3bb0d156" + integrity sha512-Tr9VU9DvNoHDWlmecmcsE5ZZiUkYx+nKBzum4Oxe1K0yJVyBlfbq7H3eXjxXqJczBKqPGq3EgfTru4MgKb9+Yw== dependencies: - "@types/react" "*" + "@types/react" "^17" "@types/react-redux@^7.1.20": version "7.1.20" @@ -1722,6 +1722,15 @@ "@types/scheduler" "*" csstype "^3.0.2" +"@types/react@^17": + version "17.0.44" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.44.tgz#c3714bd34dd551ab20b8015d9d0dbec812a51ec7" + integrity sha512-Ye0nlw09GeMp2Suh8qoOv0odfgCoowfM/9MG6WeRD60Gq9wS90bdkdRtYbRkNhXOpG4H+YXGvj4wOWhAC0LJ1g== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + "@types/scheduler@*": version "0.16.1" resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.1.tgz#18845205e86ff0038517aab7a18a62a6b9f71275" From ea0633e131340df45a7ccac42fc01b73d3911880 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 21 Apr 2022 20:21:08 +0200 Subject: [PATCH 239/276] New Crowdin updates (#18032) * New translations en.json (Vietnamese) * New translations en.yml (Chinese Simplified) * New translations en.json (Chinese Simplified) * New translations en.yml (Japanese) * New translations en.yml (French) * New translations en.json (Asturian) * New translations en.yml (Asturian) * New translations en.json (Asturian) * New translations en.yml (Asturian) * New translations simple_form.en.yml (Asturian) * New translations simple_form.en.yml (Asturian) * New translations en.yml (Turkish) * New translations en.yml (German) * New translations simple_form.en.yml (German) * New translations en.json (Vietnamese) * New translations en.json (Turkish) * New translations simple_form.en.yml (Turkish) * New translations en.yml (Korean) * New translations en.json (Korean) * New translations en.json (Turkish) * New translations en.json (Turkish) * New translations en.yml (Turkish) * New translations en.json (Turkish) * New translations simple_form.en.yml (Turkish) * New translations devise.en.yml (Turkish) * New translations en.yml (Catalan) * New translations en.json (Catalan) * New translations en.yml (German) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations simple_form.en.yml (Japanese) * New translations doorkeeper.en.yml (Japanese) * New translations en.yml (French) * New translations en.json (Japanese) * New translations en.yml (Japanese) * New translations doorkeeper.en.yml (Japanese) * New translations simple_form.en.yml (Japanese) * New translations en.yml (Japanese) * New translations simple_form.en.yml (Japanese) * New translations en.yml (Japanese) * New translations simple_form.en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.json (Portuguese, Brazilian) * New translations en.json (Chinese Simplified) * New translations en.json (Catalan) * New translations en.yml (Catalan) * New translations en.json (Catalan) * New translations en.yml (French) * New translations en.yml (Catalan) * New translations en.yml (Vietnamese) * New translations simple_form.en.yml (Catalan) * New translations en.json (Vietnamese) * New translations doorkeeper.en.yml (Catalan) * New translations en.yml (Catalan) * New translations en.json (Catalan) * New translations simple_form.en.yml (Catalan) * New translations simple_form.en.yml (Japanese) * New translations simple_form.en.yml (Japanese) * New translations simple_form.en.yml (Japanese) * New translations en.yml (Portuguese) * New translations en.yml (Hungarian) * New translations en.yml (Armenian) * New translations en.yml (Georgian) * New translations en.yml (Lithuanian) * New translations en.yml (Macedonian) * New translations en.yml (Dutch) * New translations en.yml (Norwegian) * New translations en.yml (Punjabi) * New translations en.yml (Polish) * New translations en.yml (Albanian) * New translations en.yml (Basque) * New translations en.yml (Serbian (Cyrillic)) * New translations en.yml (Ukrainian) * New translations en.yml (Chinese Traditional) * New translations en.yml (Urdu (Pakistan)) * New translations en.yml (Icelandic) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Indonesian) * New translations en.yml (Tamil) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Finnish) * New translations en.yml (Greek) * New translations en.yml (Galician) * New translations en.yml (Slovak) * New translations en.yml (Swedish) * New translations en.yml (Arabic) * New translations en.yml (Spanish) * New translations en.yml (Hebrew) * New translations en.yml (Italian) * New translations en.yml (Japanese) * New translations en.yml (Russian) * New translations en.yml (Slovenian) * New translations en.yml (Thai) * New translations en.yml (Persian) * New translations en.yml (Romanian) * New translations en.yml (Afrikaans) * New translations en.yml (Bulgarian) * New translations en.yml (Czech) * New translations en.yml (Danish) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Scottish Gaelic) * New translations en.yml (Occitan) * New translations en.yml (Bengali) * New translations en.yml (Malay) * New translations en.yml (Marathi) * New translations en.yml (Uyghur) * New translations en.yml (Esperanto) * New translations en.yml (Telugu) * New translations en.yml (Welsh) * New translations en.yml (Hindi) * New translations en.yml (Latvian) * New translations en.yml (Estonian) * New translations en.yml (Kazakh) * New translations en.yml (Norwegian Nynorsk) * New translations en.yml (Croatian) * New translations en.yml (Sorani (Kurdish)) * New translations en.yml (Silesian) * New translations en.yml (Taigi) * New translations en.yml (Ido) * New translations en.yml (Kabyle) * New translations en.yml (Sanskrit) * New translations en.yml (Sardinian) * New translations en.yml (Corsican) * New translations en.yml (Breton) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Serbian (Latin)) * New translations en.yml (Kannada) * New translations en.yml (Cornish) * New translations en.yml (Sinhala) * New translations en.yml (Malayalam) * New translations en.yml (Tatar) * New translations en.yml (Chinese Traditional, Hong Kong) * New translations en.yml (Standard Moroccan Tamazight) * Run `yarn manage:translations` * Run `bundle exec i18n-tasks normalize` * Run `bundle exec i18n-tasks normalize` Co-authored-by: Yamagishi Kazutoshi --- app/javascript/mastodon/locales/ast.json | 6 +- app/javascript/mastodon/locales/ca.json | 20 ++-- app/javascript/mastodon/locales/ja.json | 2 +- app/javascript/mastodon/locales/ko.json | 2 +- app/javascript/mastodon/locales/pt-BR.json | 2 +- app/javascript/mastodon/locales/tr.json | 12 +-- app/javascript/mastodon/locales/vi.json | 8 +- app/javascript/mastodon/locales/zh-CN.json | 6 +- config/locales/ast.yml | 2 + config/locales/ca.yml | 52 +++++----- config/locales/de.yml | 15 ++- config/locales/devise.tr.yml | 14 +-- config/locales/doorkeeper.ca.yml | 2 +- config/locales/doorkeeper.ja.yml | 10 ++ config/locales/es-MX.yml | 3 + config/locales/fr.yml | 8 ++ config/locales/ja.yml | 111 +++++++++++++++++++++ config/locales/ko.yml | 4 +- config/locales/simple_form.ast.yml | 2 +- config/locales/simple_form.ca.yml | 24 ++--- config/locales/simple_form.de.yml | 2 + config/locales/simple_form.ja.yml | 10 +- config/locales/simple_form.tr.yml | 12 +-- config/locales/tr.yml | 17 ++-- config/locales/vi.yml | 4 +- config/locales/zh-CN.yml | 2 +- 26 files changed, 253 insertions(+), 99 deletions(-) diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json index fe5c1e569..e7f7248e1 100644 --- a/app/javascript/mastodon/locales/ast.json +++ b/app/javascript/mastodon/locales/ast.json @@ -404,7 +404,7 @@ "report.forward_hint": "La cuenta ye d'otru sirvidor. ¿Quies unviar ellí tamién una copia anónima del informe?", "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.next": "Siguiente", "report.placeholder": "Comentarios adicionales", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", @@ -412,7 +412,7 @@ "report.reasons.other_description": "The issue does not fit into other categories", "report.reasons.spam": "It's spam", "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", - "report.reasons.violation": "It violates server rules", + "report.reasons.violation": "Incumple les regles del sirvidor", "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?", @@ -420,7 +420,7 @@ "report.statuses.title": "Are there any posts that back up this report?", "report.submit": "Unviar", "report.target": "Report {target}", - "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", + "report.thanks.take_action": "Equí tan les opciones pa controlar qué ver en 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.", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 87bc87712..bf0d621d7 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -11,7 +11,7 @@ "account.direct": "Missatge directe @{name}", "account.disable_notifications": "Deixa de notificar-me les publicacions de @{name}", "account.domain_blocked": "Domini bloquejat", - "account.edit_profile": "Edita el perfil", + "account.edit_profile": "Editar el perfil", "account.enable_notifications": "Notifica’m les publicacions de @{name}", "account.endorse": "Recomana en el teu perfil", "account.follow": "Segueix", @@ -38,7 +38,7 @@ "account.requested": "Esperant aprovació. Clic per a cancel·lar la petició de seguiment", "account.share": "Comparteix el perfil de @{name}", "account.show_reblogs": "Mostra els impulsos de @{name}", - "account.statuses_counter": "{count, plural, one {{counter} Tut} other {{counter} Tuts}}", + "account.statuses_counter": "{count, plural, one {{counter} Publicació} other {{counter} Publicacions}}", "account.unblock": "Desbloqueja @{name}", "account.unblock_domain": "Desbloqueja el domini {domain}", "account.unblock_short": "Desbloqueja", @@ -144,7 +144,7 @@ "directory.local": "Només de {domain}", "directory.new_arrivals": "Arribades noves", "directory.recently_active": "Recentment actius", - "embed.instructions": "Incrusta aquest tut al lloc web copiant el codi a continuació.", + "embed.instructions": "Incrusta aquesta publicació a la teva pàgina web copiant el codi següent.", "embed.preview": "Aquí està quin aspecte tindrà:", "emoji_button.activity": "Activitat", "emoji_button.custom": "Personalitzat", @@ -204,7 +204,7 @@ "getting_started.directory": "Directori de perfils", "getting_started.documentation": "Documentació", "getting_started.heading": "Primeres passes", - "getting_started.invite": "Convida gent", + "getting_started.invite": "Convidar gent", "getting_started.open_source_notice": "Mastodon és un programari de codi obert. Pots contribuir-hi o informar de problemes a GitHub a {github}.", "getting_started.security": "Configuració del compte", "getting_started.terms": "Termes del servei", @@ -233,7 +233,7 @@ "keyboard_shortcuts.description": "Descripció", "keyboard_shortcuts.direct": "Obre la columna de missatges directes", "keyboard_shortcuts.down": "Baixar en la llista", - "keyboard_shortcuts.enter": "Obre publicació", + "keyboard_shortcuts.enter": "Obrir publicació", "keyboard_shortcuts.favourite": "Afavorir publicació", "keyboard_shortcuts.favourites": "Obre la llista de favorits", "keyboard_shortcuts.federated": "Obre la línia de temps federada", @@ -247,7 +247,7 @@ "keyboard_shortcuts.my_profile": "Obre el teu perfil", "keyboard_shortcuts.notifications": "Obre la columna de notificacions", "keyboard_shortcuts.open_media": "Obre mèdia", - "keyboard_shortcuts.pinned": "Obre la llista de publicacions fixades", + "keyboard_shortcuts.pinned": "Obrir la llista de publicacions fixades", "keyboard_shortcuts.profile": "Obre el perfil de l'autor", "keyboard_shortcuts.reply": "Respon publicació", "keyboard_shortcuts.requests": "Obre la llista de sol·licituds de seguiment", @@ -256,7 +256,7 @@ "keyboard_shortcuts.start": "Obre la columna \"Primeres passes\"", "keyboard_shortcuts.toggle_hidden": "Mostra/oculta el text marcat com a sensible", "keyboard_shortcuts.toggle_sensitivity": "Mostra/amaga contingut multimèdia", - "keyboard_shortcuts.toot": "per a començar un tut nou de trinca", + "keyboard_shortcuts.toot": "Iniciar una nova publicació", "keyboard_shortcuts.unfocus": "Descentra l'àrea de composició de text/cerca", "keyboard_shortcuts.up": "Moure amunt en la llista", "lightbox.close": "Tanca", @@ -289,7 +289,7 @@ "navigation_bar.blocks": "Usuaris bloquejats", "navigation_bar.bookmarks": "Marcadors", "navigation_bar.community_timeline": "Línia de temps Local", - "navigation_bar.compose": "Redacta una nova publicació", + "navigation_bar.compose": "Redactar una nova publicació", "navigation_bar.direct": "Missatges directes", "navigation_bar.discover": "Descobrir", "navigation_bar.domain_blocks": "Dominis bloquejats", @@ -441,7 +441,7 @@ "search_results.statuses_fts_disabled": "La cerca de publicacions pel seu contingut no està habilitada en aquest servidor Mastodon.", "search_results.total": "{count, number} {count, plural, one {resultat} other {resultats}}", "status.admin_account": "Obre l'interfície de moderació per a @{name}", - "status.admin_status": "Obre aquesta publicació a la interfície de moderació", + "status.admin_status": "Obrir aquesta publicació a la interfície de moderació", "status.block": "Bloqueja @{name}", "status.bookmark": "Marcador", "status.cancel_reblog_private": "Desfer l'impuls", @@ -502,7 +502,7 @@ "timeline_hint.remote_resource_not_displayed": "{resource} dels altres servidors no son mostrats.", "timeline_hint.resources.followers": "Seguidors", "timeline_hint.resources.follows": "Seguiments", - "timeline_hint.resources.statuses": "Tuts més antics", + "timeline_hint.resources.statuses": "Publicacions més antigues", "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} persones}} parlant-hi", "trends.trending_now": "Ara en tendència", "ui.beforeunload": "El teu esborrany es perdrà si surts de Mastodon.", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 13d08bf56..5ee3bb303 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -515,7 +515,7 @@ "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": "削除", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 86d8d1ef4..b149c5879 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -140,7 +140,7 @@ "conversation.mark_as_read": "읽은 상태로 표시", "conversation.open": "대화 보기", "conversation.with": "{names} 님과", - "directory.federated": "알려진 별무리로부터", + "directory.federated": "알려진 연합우주로부터", "directory.local": "{domain}에서만", "directory.new_arrivals": "새로운 사람들", "directory.recently_active": "최근 활동", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index e6ee77212..9321fe303 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -515,7 +515,7 @@ "upload_error.poll": "Mídias não podem ser anexadas em toots com enquetes.", "upload_form.audio_description": "Descrever para deficientes auditivos", "upload_form.description": "Descrever para deficientes visuais", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Nenhuma descrição adicionada", "upload_form.edit": "Editar", "upload_form.thumbnail": "Alterar miniatura", "upload_form.undo": "Excluir", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 1ab3b4427..01de2c8c8 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -9,11 +9,11 @@ "account.browse_more_on_origin_server": "Orijinal profilde daha fazlasına göz atın", "account.cancel_follow_request": "Takip isteğini iptal et", "account.direct": "@{name} adlı kişiye mesaj gönder", - "account.disable_notifications": "@{name} gönderi atınca bana bildirmeyi durdur", + "account.disable_notifications": "@{name} kişisinin gönderi bildirimlerini kapat", "account.domain_blocked": "Alan adı engellendi", "account.edit_profile": "Profili düzenle", - "account.enable_notifications": "@{name} gönderi atınca bana bildir", - "account.endorse": "Profildeki özellik", + "account.enable_notifications": "@{name} kişisinin gönderi bildirimlerini aç", + "account.endorse": "Profilimde öne çıkar", "account.follow": "Takip et", "account.followers": "Takipçi", "account.followers.empty": "Henüz kimse bu kullanıcıyı takip etmiyor.", @@ -42,7 +42,7 @@ "account.unblock": "@{name} adlı kişinin engelini kaldır", "account.unblock_domain": "{domain} alan adının engelini kaldır", "account.unblock_short": "Engeli kaldır", - "account.unendorse": "Profilde gösterme", + "account.unendorse": "Profilimde öne çıkarma", "account.unfollow": "Takibi bırak", "account.unmute": "@{name} adlı kişinin sesini aç", "account.unmute_notifications": "@{name} adlı kişinin bildirimlerini aç", @@ -507,8 +507,8 @@ "trends.trending_now": "Şu an gündemde", "ui.beforeunload": "Mastodon'u terk ederseniz taslağınız kaybolacak.", "units.short.billion": "{count}Mr", - "units.short.million": "{count}Mn", - "units.short.thousand": "{count}Mn", + "units.short.million": "{count}M", + "units.short.thousand": "{count}Bin", "upload_area.title": "Karşıya yükleme için sürükle bırak yapınız", "upload_button.label": "Resim, video veya ses dosyası ekleyin", "upload_error.limit": "Dosya yükleme sınırı aşıldı.", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 9211f6007..9ea6a1e44 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -1,7 +1,7 @@ { "account.account_note_header": "Ghi chú", "account.add_or_remove_from_list": "Thêm hoặc Xóa khỏi danh sách", - "account.badges.bot": "Bot", + "account.badges.bot": "người máy", "account.badges.group": "Nhóm", "account.block": "Chặn @{name}", "account.block_domain": "Ẩn mọi thứ từ {domain}", @@ -22,7 +22,7 @@ "account.following_counter": "{count, plural, one {{counter} Theo dõi} other {{counter} Theo dõi}}", "account.follows.empty": "Người này chưa theo dõi ai.", "account.follows_you": "Đang theo dõi bạn", - "account.hide_reblogs": "Ẩn tút do @{name} đăng lại", + "account.hide_reblogs": "Ẩn tút @{name} đăng lại", "account.joined": "Đã tham gia {date}", "account.link_verified_on": "Liên kết này đã được xác thực vào {date}", "account.locked_info": "Đây là tài khoản riêng tư. Họ sẽ tự mình xét duyệt các yêu cầu theo dõi.", @@ -414,9 +414,9 @@ "report.reasons.spam_description": "Liên kết độc hại, tạo tương tác giả hoặc trả lời lặp đi lặp lại", "report.reasons.violation": "Vi phạm quy tắc máy chủ", "report.reasons.violation_description": "Bạn nhận thấy nó vi phạm quy tắc máy chủ", - "report.rules.subtitle": "Chọn tất cả những áp dụng", + "report.rules.subtitle": "Chọn tất cả những gì phù hợp", "report.rules.title": "Vi phạm quy tắc nào?", - "report.statuses.subtitle": "Chọn tất cả những áp dụng", + "report.statuses.subtitle": "Chọn tất cả những gì phù hợp", "report.statuses.title": "Bạn muốn gửi tút nào kèm báo cáo này?", "report.submit": "Gửi đi", "report.target": "Báo cáo {target}", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index d9447a01a..e479c63c6 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -198,7 +198,7 @@ "follow_recommendations.lead": "你关注的人的嘟文将按时间顺序在你的主页上显示。 别担心,你可以随时取消关注!", "follow_request.authorize": "同意", "follow_request.reject": "拒绝", - "follow_requests.unlocked_explanation": "虽说你没有锁嘟,但是 {domain} 的工作人员觉得你可能想手工审核关注请求。", + "follow_requests.unlocked_explanation": "虽说你没有锁嘟,但是 {domain} 的工作人员觉得你可能想手工审核这些账号的关注请求。", "generic.saved": "已保存", "getting_started.developers": "开发", "getting_started.directory": "用户目录", @@ -206,7 +206,7 @@ "getting_started.heading": "开始使用", "getting_started.invite": "邀请用户", "getting_started.open_source_notice": "Mastodon 是开源软件。欢迎前往 GitHub({github})贡献代码或反馈问题。", - "getting_started.security": "帐户安全", + "getting_started.security": "账户安全设置", "getting_started.terms": "使用条款", "hashtag.column_header.tag_mode.all": "以及 {additional}", "hashtag.column_header.tag_mode.any": "或是 {additional}", @@ -308,7 +308,7 @@ "navigation_bar.pins": "置顶嘟文", "navigation_bar.preferences": "首选项", "navigation_bar.public_timeline": "跨站公共时间轴", - "navigation_bar.security": "安全", + "navigation_bar.security": "安全性", "notification.admin.sign_up": "{name} 注册了", "notification.favourite": "{name} 喜欢了你的嘟文", "notification.follow": "{name} 开始关注你", diff --git a/config/locales/ast.yml b/config/locales/ast.yml index bed51bd94..48895f860 100644 --- a/config/locales/ast.yml +++ b/config/locales/ast.yml @@ -93,6 +93,7 @@ ast: not_permitted: Nun tienes permisu pa facer esta aición update_failed_msg: Nun pudo anovase esi fustaxe dashboard: + interactions: interaiciones media_storage: Almacenamientu multimedia software: Software top_languages: Les llingües más actives @@ -278,6 +279,7 @@ ast: following: Llista de siguidores muting: Llista de xente silenciao upload: Xubir + in_memoriam_html: N'alcordanza. invites: delete: Desactivar expired: Caducó diff --git a/config/locales/ca.yml b/config/locales/ca.yml index b2346b602..411b799ba 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -1,7 +1,7 @@ --- ca: about: - about_hashtag_html: Aquests són publicacions públiques etiquetades amb #%{hashtag}. Pots interactuar amb elles si tens un compte a qualsevol lloc del fedivers. + about_hashtag_html: Aquestes són publicacions públiques etiquetades amb #%{hashtag}. Pots interactuar amb elles si tens un compte a qualsevol lloc del fedivers. about_mastodon_html: 'La xarxa social del futur: sense anuncis, sense vigilància corporativa, disseny ètic i descentralització. Posseeix les teves dades amb Mastodon!' about_this: Quant a active_count_after: actiu @@ -43,7 +43,7 @@ ca: unavailable_content: Servidors moderats unavailable_content_description: domain: Servidor - reason: Raó + reason: Motiu rejecting_media: 'Els arxius multimèdia d''aquests servidors no seran processats o emmagatzemats i cap miniatura serà mostrada, requerint clic manual a través de l''arxiu original:' rejecting_media_title: Mèdia filtrat silenced: 'Les publicacions d''aquests servidors seran amagades en les línies de temps públiques i en les converses, i cap notificació serà generada de les interaccions dels seus usuaris, llevat que estiguis seguint-los:' @@ -207,7 +207,7 @@ ca: targeted_reports: Informes realitzats per altres silence: Silenci silenced: Silenciat - statuses: Tuts + statuses: Publicacions strikes: Accions anteriors subscribe: Subscriu suspend: Suspèn @@ -252,7 +252,7 @@ ca: destroy_email_domain_block: Esborra el bloqueig de domini de l'adreça de correu destroy_instance: Purga Domini destroy_ip_block: Eliminar regla IP - destroy_status: Esborra el tut + destroy_status: Esborrar la publicació destroy_unavailable_domain: Esborra domini no disponible disable_2fa_user: Desactiva 2FA disable_custom_emoji: Desactiva l'emoji personalitzat @@ -303,7 +303,7 @@ ca: destroy_email_domain_block_html: "%{name} ha desbloquejat el domini de correu electrònic %{target}" destroy_instance_html: "%{name} ha purgat el domini %{target}" destroy_ip_block_html: "%{name} ha esborrat la regla per a l'IP %{target}" - destroy_status_html: "%{name} ha eliminat el tut de %{target}" + destroy_status_html: "%{name} ha eliminat la publicació de %{target}" destroy_unavailable_domain_html: "%{name} ha représ el lliurament delivery al domini %{target}" disable_2fa_user_html: "%{name} ha desactivat el requisit de dos factors per a l'usuari %{target}" disable_custom_emoji_html: "%{name} ha desactivat l'emoji %{target}" @@ -332,7 +332,7 @@ ca: update_custom_emoji_html: "%{name} ha actualitzat l'emoji %{target}" update_domain_block_html: "%{name} ha actualitzat el bloqueig de domini per a %{target}" update_status_html: "%{name} ha actualitzat l'estat de %{target}" - deleted_status: "(tut esborrat)" + deleted_status: "(publicació esborrada)" empty: No s’han trobat registres. filter_by_action: Filtra per acció filter_by_user: Filtra per usuari @@ -503,7 +503,7 @@ ca: silence: Límit suspend: Suspèn policy: Política - reason: Raó pública + reason: Motiu públic title: Polítiques de contingut dashboard: instance_accounts_dimension: Comptes més seguits @@ -550,7 +550,7 @@ ca: available: Disponible expired: Caducat title: Filtre - title: Convida + title: Invitacions ip_blocks: add_new: Crear regla created_msg: S’ha afegit amb èxit la nova regla IP @@ -571,11 +571,11 @@ ca: relays: add_new: Afegiu un nou relay delete: Esborra - description_html: Un relay de federació és un servidor intermediari que intercanvia grans volums de tuts públics entre servidors que es subscriuen i publiquen en ell. Pot ajudar a servidors petits i mitjans a descobrir contingut del fedivers, no fent necessari que els usuaris locals manualment segueixin altres persones de servidors remots. + description_html: Un relay de federació és un servidor intermediari que intercanvia grans volums de publicacions públiques entre servidors que se subscriuen i publiquen en ell. Pot ajudar a servidors petits i mitjans a descobrir contingut del fedivers, no fent necessari que els usuaris locals manualment segueixin altres persones de servidors remots. disable: Inhabilita disabled: Desactivat enable: Activat - enable_hint: Una vegada habilitat, el teu servidor es subscriurà a tots els tuts públics d'aquest relay i començarà a enviar-hi tots els tuts públics d'aquest servidor. + enable_hint: Una vegada habilitat, el teu servidor se subscriurà a totes les publicacions públiques d'aquest relay i començarà a enviar-hi totes les publicacions públiques d'aquest servidor. enabled: Activat inbox_url: URL del Relay pending: S'està esperant l'aprovació del relay @@ -609,7 +609,7 @@ ca: assigned: Moderador assignat by_target_domain: Domini del compte reportat category: Categoria - category_description_html: La raó que aquest compte o contingut ha estat reportat serà citat en la comunicació amb el compte reportat + category_description_html: El motiu pel qual aquest compte o contingut ha estat reportat serà citat en la comunicació amb el compte reportat comment: none: Cap comment_description_html: 'Per a donar més informació, %{name} ha escrit:' @@ -656,7 +656,7 @@ ca: title: Normes del servidor settings: activity_api_enabled: - desc_html: Nombre de tuts publicats localment, usuaris actius i registres nous en períodes setmanals + desc_html: Nombre de publicacions publicades localment, usuaris actius i registres nous en períodes setmanals title: Publica estadístiques agregades sobre l'activitat de l'usuari bootstrap_timeline_accounts: desc_html: Separa diversos noms d'usuari amb comes. Només funcionaran els comptes locals i desblocats. El valor predeterminat quan està buit és tots els administradors locals. @@ -901,7 +901,7 @@ ca: guide_link: https://crowdin.com/project/mastodon guide_link_text: Tothom hi pot contribuir. sensitive_content: Contingut sensible - toot_layout: Disseny del tut + toot_layout: Disseny de la publicació application_mailer: notification_preferences: Canvia les preferències de correu salutation: "%{name}," @@ -1075,7 +1075,7 @@ ca: archive_takeout: date: Data download: Baixa l’arxiu - hint_html: Pots sol·licitar un arxiu dels teus tuts i dels fitxers multimèdia pujats. Les dades exportades tindran el format ActivityPub, llegible per qualsevol programari compatible. Pots sol·licitar un arxiu cada 7 dies. + hint_html: Pots sol·licitar un arxiu de les teves publicacions i dels fitxers multimèdia pujats. Les dades exportades tindran el format ActivityPub, llegible per qualsevol programari compatible. Pots sol·licitar un arxiu cada 7 dies. in_progress: S'està compilant el teu arxiu... request: Sol·licitar el teu arxiu size: Mida @@ -1167,7 +1167,7 @@ ca: table: expires_at: Caduca uses: Usos - title: Convida persones + title: Convidar persones lists: errors: limit: Has assolit la quantitat màxima de llistes @@ -1341,19 +1341,19 @@ ca: remote_interaction: favourite: proceed: Procedir a afavorir - prompt: 'Vols marcar com a favorit aquest tut:' + prompt: 'Vols marcar com a favorit aquesta publicació:' reblog: proceed: Procedir a impulsar - prompt: 'Vols impulsar aquest tut:' + prompt: 'Vols impulsar aquesta publicació:' reply: proceed: Procedir a respondre - prompt: 'Vols respondre a aquest tut:' + prompt: 'Vols respondre a aquesta publicació:' reports: errors: invalid_rules: no fa referència a normes vàlides scheduled_statuses: - over_daily_limit: Has superat el límit de %{limit} tuts programats per a aquell dia - over_total_limit: Has superat el limit de %{limit} tuts programats + over_daily_limit: Has superat el límit de %{limit} publicacions programades per a avui + over_total_limit: Has superat el límit de %{limit} publicacions programades too_soon: La data programada ha de ser futura sessions: activity: Última activitat @@ -1403,7 +1403,7 @@ ca: aliases: Àlies de compte appearance: Aparença authorized_apps: Aplicacions autoritzades - back: Torna a Mastodon + back: Tornar a Mastodon delete: Eliminació del compte development: Desenvolupament edit_profile: Edita el perfil @@ -1440,13 +1440,13 @@ ca: other: 'conté les etiquetes no permeses: %{tags}' edited_at_html: Editat %{date} errors: - in_reply_not_found: El tut al qual intentes respondre sembla que no existeix. + in_reply_not_found: La publicació a la qual intentes respondre sembla que no existeix. open_in_web: Obre en la web over_character_limit: Límit de caràcters de %{max} superat pin_errors: direct: Les publicacions que només son visibles per els usuaris mencionats no poden ser fixades - limit: Ja has fixat el màxim nombre de tuts - ownership: No es pot fixar el tut d'algú altre + limit: Ja has fixat el màxim nombre de publicacions + ownership: No es pot fixar la publicació d'algú altre reblog: No es pot fixar un impuls poll: total_people: @@ -1506,7 +1506,7 @@ ca: min_reblogs: Mantenir les publicacions impulsades més de min_reblogs_hint: No suprimeix cap de les teves publicacions que s'hagin impulsat més que aquest número de vegades. Deixa-ho en blanc per suprimir les publicacions independentment del nombre d'impulsos que tinguin stream_entries: - pinned: Tut fixat + pinned: Publicació fixada reblogged: ha impulsat sensitive_content: Contingut sensible tags: @@ -1652,7 +1652,7 @@ ca: sensitive: A partir d'ara, tots els mèdia pujats seran marcats com a sensibles i ocultats darrera un avís. silence: Encara pots fer servir el teu compte però només la gent que ja t'està seguint veuran les teves publicacions en aquest servidor i tu podries ser exclòs de les diverses opcions de descobriment. De totes maneres altres podrien encara seguir-te manualment. suspend: Ja no pots utilitzar el teu compte i el teu perfil i altres dades ja no son accessibles. Encara pots iniciar sessió per a demanar una copia de les teves dades fins que siguin totalment eliminades als 30 dies però es mantindran les dades bàsiques per evitar que esquivis la suspensió. - reason: 'Raó:' + reason: 'Motiu:' statuses: 'Publicacions citades:' subject: delete_statuses: Les teves publicacions de %{acct} han estat esborrades diff --git a/config/locales/de.yml b/config/locales/de.yml index 44f59c396..c3f8a3d95 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -165,6 +165,9 @@ de: pending: In Warteschlange perform_full_suspension: Verbannen previous_strikes: Vorherige Strikes + previous_strikes_description_html: + one: Dieses Konto hat einen Strike. + other: Dieses Konto hat %{count} Strikes. promote: Befördern protocol: Protokoll public: Öffentlich @@ -220,7 +223,7 @@ de: undo_suspension: Verbannung aufheben unsilenced_msg: "%{username}'s Konto erfolgreich freigegeben" unsubscribe: Abbestellen - unsuspended_msg: "%{username}'s Konto erfolgreich freigegeben" + unsuspended_msg: Konto von %{username} erfolgreich freigegeben username: Profilname view_domain: Übersicht für Domain anzeigen warn: Warnen @@ -1232,6 +1235,9 @@ de: new_followers_summary: one: Außerdem ist dir seit du weg warst ein weiteres Wesen gefolgt! Juhu! other: Außerdem sind dir seit du weg warst %{count} weitere Wesen gefolgt! Großartig! + subject: + one: "1 neue Mitteilung seit deinem letzten Besuch 🐘" + other: "%{count} neue Mitteilungen seit deinem letzten Besuch 🐘" title: In deiner Abwesenheit... favourite: body: 'Dein Beitrag wurde von %{name} favorisiert:' @@ -1628,6 +1634,13 @@ de: explanation: Du hast ein vollständiges Backup von deinem Mastodon-Konto angefragt. Es kann jetzt heruntergeladen werden! subject: Dein Archiv ist bereit zum Download title: Archiv-Download + suspicious_sign_in: + change_password: dein Passwort zu ändern + details: 'Hier sind die Details des Versuchs:' + explanation: Wir haben eine Anmeldung zu deinem Konto von einer neuen IP-Adresse festgestellt. + further_actions_html: Wenn du das nicht warst, empfehlen wir dir, %{action} und die Zwei-Faktor-Authentifizierung zu aktivieren, um dein Konto sicher zu halten. + subject: Es wurde auf dein Konto von einer neuen IP-Adresse zugegriffen + title: Eine neue Anmeldung warning: appeal: Einspruch einsenden appeal_description: Wenn du glaubst, dass dies ein Fehler ist, kannst du einen Einspruch an die Mitarbeiter von %{instance} senden. diff --git a/config/locales/devise.tr.yml b/config/locales/devise.tr.yml index a0bc7deae..98baf2916 100644 --- a/config/locales/devise.tr.yml +++ b/config/locales/devise.tr.yml @@ -11,7 +11,7 @@ tr: invalid: Geçersiz %{authentication_keys} ya da şifre. last_attempt: Hesabınız kilitlenmeden önce bir kez daha denemeniz gerekir. locked: Hesabınız kilitlendi. - not_found_in_database: Geçersiz %{authentication_keys} ya da şifre. + not_found_in_database: Geçersiz %{authentication_keys} ya da parola. pending: Hesabınız hala inceleniyor. timeout: Oturum süreniz sona erdi. Lütfen devam etmek için tekrar giriş yapınız. unauthenticated: Devam etmeden önce oturum açmanız veya kayıt olmanız gerek. @@ -33,19 +33,19 @@ tr: password_change: explanation: Hesabınızın şifresi değiştirildi. extra: Parolanızı değiştirmediyseniz, büyük olasılıkla birileri hesabınıza erişmiş olabilir. Lütfen derhal parolanızı değiştirin veya hesabınız kilitlendiyse sunucu yöneticisine başvurun. - subject: 'Mastodon: Şifre değiştirildi' - title: Şifre değiştirildi + subject: 'Mastodon: Parola değiştirildi' + title: Parola değiştirildi reconfirmation_instructions: explanation: E-postanızı değiştirmek için yeni adresi onaylayın. extra: Bu değişiklik sizin tarafınızdan başlatılmadıysa, lütfen bu e-postayı dikkate almayın. Mastodon hesabının e-posta adresi, yukarıdaki bağlantıya erişene kadar değişmez. subject: 'Mastodon: %{instance} için e-postayı onayla' title: E-posta adresinizi doğrulayın reset_password_instructions: - action: Şifreyi değiştir - explanation: Hesabınız için yeni bir şifre istediniz. + action: Parolayı değiştir + explanation: Hesabınız için yeni bir parola istediniz. extra: Bunu siz yapmadıysanız, lütfen bu e-postayı dikkate almayın. Parolanız yukarıdaki bağlantıya erişene ve yeni bir tane oluşturuncaya kadar değişmez. - subject: 'Mastodon: Şifre sıfırlama talimatları' - title: Şifre sıfırlama + subject: 'Mastodon: Parola sıfırlama talimatları' + title: Parola sıfırlama two_factor_disabled: explanation: Hesabınız için iki-adımlı kimlik doğrulama devre dışı bırakıldı. Şimdi sadece e-posta adresi ve parola kullanarak giriş yapabilirsiniz. subject: 'Mastodon: İki-adımlı kimlik doğrulama devre dışı bırakıldı' diff --git a/config/locales/doorkeeper.ca.yml b/config/locales/doorkeeper.ca.yml index 9725efe6c..51ddefc05 100644 --- a/config/locales/doorkeeper.ca.yml +++ b/config/locales/doorkeeper.ca.yml @@ -174,7 +174,7 @@ ca: write:blocks: bloqueja comptes i dominis write:bookmarks: publicacions a marcadors write:conversations: silencia i esborra converses - write:favourites: afavoreix publicacions + write:favourites: afavorir publicacions write:filters: crear filtres write:follows: seguir usuaris write:lists: crear llistes diff --git a/config/locales/doorkeeper.ja.yml b/config/locales/doorkeeper.ja.yml index 0a80a89f3..8f99abcb1 100644 --- a/config/locales/doorkeeper.ja.yml +++ b/config/locales/doorkeeper.ja.yml @@ -60,6 +60,8 @@ ja: error: title: エラーが発生しました new: + prompt_html: "%{client_name} があなたのアカウントにアクセスする許可を求めています。心当たりが無い場合はアクセス許可しないでください。" + review_permissions: アクセス許可を確認 title: 認証が必要です show: title: 認証コードをコピーしてアプリに貼り付けて下さい。 @@ -70,9 +72,11 @@ ja: revoke: 本当に取り消しますか? index: authorized_at: "%{date} に承認されました" + description_html: これらは、APIを使用してアカウントにアクセスできるアプリケーションです。ここに見覚えのないアプリケーションがある場合、またはアプリケーションの動作がおかしい場合、そのアクセスを取り消すことができます。 last_used_at: 最終使用日 %{date} never_used: 使用されていない scopes: 権限 + superapp: 内部 title: 認証済みアプリ errors: messages: @@ -115,13 +119,18 @@ ja: write: 書き込み専用アクセス title: accounts: アカウント + admin/accounts: アカウント管理 + admin/all: すべての管理機能 + admin/reports: 通報の管理 all: すべて blocks: ブロック bookmarks: ブックマーク + conversations: 会話 crypto: エンドツーエンド暗号化 favourites: お気に入り filters: フィルター follow: フォロー・フォロワー + follows: フォロー lists: リスト media: メディアの添付 mutes: ミュート @@ -164,6 +173,7 @@ ja: write:accounts: プロフィールの変更 write:blocks: ユーザーのブロックやドメインの非表示 write:bookmarks: 投稿のブックマーク登録 + write:conversations: 会話のミュートと削除 write:favourites: 投稿のお気に入り登録 write:filters: フィルターの変更 write:follows: あなたの代わりにフォロー、アンフォロー diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index f8b4ef462..ef2c9b43d 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -1235,6 +1235,9 @@ es-MX: new_followers_summary: one: "¡Ademas, has adquirido un nuevo seguidor mientras no estabas! ¡Hurra!" other: "¡Ademas, has adquirido %{count} nuevos seguidores mientras no estabas! ¡Genial!" + subject: + one: "1 nueva notificación desde tu última visita 🐘" + other: "%{count} nuevas notificaciones desde tu última visita 🐘" title: En tu ausencia… favourite: body: 'Tu estado fue marcado como favorito por %{name}:' diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 168f046dd..fd38f878b 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -479,6 +479,9 @@ fr: unsuppress: Rétablir les recommandations d'abonnement instances: availability: + description_html: + one: Si la livraison au domaine échoue pendant %{count} jour sans succès, aucune autre tentative de livraison ne sera faite à moins qu'une livraison depuis le domaine soit reçue. + other: Si la livraison au domaine échoue pendant %{count} jours différents sans succès, aucune autre tentative de livraison ne sera faite à moins qu'une livraison depuis le domaine soit reçue. failure_threshold_reached: Le seuil de défaillance a été atteint le %{date}. failures_recorded: one: Tentative échouée pendant %{count} jour. @@ -1232,6 +1235,9 @@ fr: new_followers_summary: one: De plus, vous avez un·e nouvel·le abonné·e ! Youpi ! other: De plus, vous avez %{count} abonné·e·s de plus ! Incroyable ! + subject: + one: "Une nouvelle notification depuis votre dernière visite 🐘" + other: "%{count} nouvelles notifications depuis votre dernière visite 🐘" title: Pendant votre absence… favourite: body: "%{name} a ajouté votre message à ses favoris :" @@ -1628,8 +1634,10 @@ fr: title: Récupération de l’archive suspicious_sign_in: change_password: changer votre mot de passe + details: 'Voici les détails de la connexion :' explanation: Nous avons détecté une connexion à votre compte à partir d’une nouvelle adresse IP. further_actions_html: Si ce n’était pas vous, nous vous recommandons de %{action} immédiatement et d’activer l’authentification à deux facteurs afin de garder votre compte sécurisé. + subject: Votre compte a été accédé à partir d'une nouvelle adresse IP title: Une nouvelle connexion warning: appeal: Faire appel diff --git a/config/locales/ja.yml b/config/locales/ja.yml index f4bcad358..80ae84b7b 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -158,6 +158,9 @@ ja: not_subscribed: 購読していない pending: 承認待ち perform_full_suspension: 活動を完全に停止させる + previous_strikes: 以前のストライク + previous_strikes_description_html: + other: "%{count} ストライクがあります。" promote: 昇格 protocol: プロトコル public: パブリック @@ -198,6 +201,7 @@ ja: silence: サイレンス silenced: サイレンス済み statuses: 投稿数 + strikes: 前回のストライク subscribe: 購読する suspend: サスペンド suspended: 停止済み @@ -437,6 +441,8 @@ ja: view: ドメインブロックを表示 email_domain_blocks: add_new: 新規追加 + attempts_over_week: + other: 先週は%{count}回サインアップが試みられました created_msg: メールドメインブロックに追加しました delete: 消去 dns: @@ -447,6 +453,9 @@ ja: create: ドメインを追加 resolve: ドメイン解決 title: 新規メールドメインブロック + no_email_domain_block_selected: 何も選択されていないためメールドメインブロックを変更しませんでした + resolved_dns_records_hint_html: ドメイン名はDNSでMXドメインに名前解決され、最終的にメールを受け付ける役割を担います。目に見えるドメイン名が異なっていても、同じMXドメインを使用するメールアドレスからのアカウント登録がブロックされます。主要なメールプロバイダーをブロックしないように注意して下さい。 + resolved_through_html: "%{domain} を通して解決しました" title: メールドメインブロック follow_recommendations: description_html: "おすすめフォローは、新規ユーザーが興味のあるコンテンツをすばやく見つけるのに役立ちます。ユーザーが他のユーザーとの交流を十分にしていない場合、パーソナライズされたおすすめフォローを生成する代わりに、これらのアカウントが表示されます。最近のエンゲージメントが最も高いアカウントと、特定の言語のローカルフォロワー数が最も多いアカウントを組み合わせて、毎日再計算されます。" @@ -457,11 +466,36 @@ ja: title: おすすめフォロー unsuppress: おすすめフォローを復元 instances: + availability: + failure_threshold_reached: "%{date} に失敗のしきい値に達しました。" + failures_recorded: + other: "%{count}日間試行に失敗しました。" + no_failures_recorded: 失敗は記録されていません。 + title: 可用性 + warning: このサーバーへの最後の接続試行に失敗しました back_to_all: すべて back_to_limited: 制限あり back_to_warning: 警告あり by_domain: ドメイン confirm_purge: このドメインを完全にブロックしてもよろしいですか? + content_policies: + comment: 内部メモ + description_html: このドメインとそのサブドメインのすべてのアカウントに適用されるコンテンツポリシーを定義できます。 + policies: + reject_media: メディアを拒否する + reject_reports: 通報を拒否 + silence: 制限 + suspend: サスペンド + policy: ポリシー + reason: 公開理由 + title: コンテンツ ポリシー + dashboard: + instance_accounts_dimension: 最もフォローされているアカウント + instance_accounts_measure: 保存されたアカウント + instance_languages_dimension: 人気の言語 + instance_media_attachments_measure: 保存されたメディア + instance_reports_measure: 通報 + instance_statuses_measure: 保存された投稿 delivery: all: すべて clear: 配送エラーをクリア @@ -473,6 +507,8 @@ ja: delivery_error_hint: "%{count} 日間配送ができない場合は、自動的に配送不可としてマークされます。" destroyed_msg: "%{domain} からのデータは、すぐに削除されるように、キューに追加されました。" empty: ドメインが見つかりませんでした。 + known_accounts: + other: 既知のアカウント数 %{count} moderation: all: すべて limited: 制限あり @@ -480,6 +516,7 @@ ja: private_comment: コメント (非公開) public_comment: コメント (公開) purge: パージ + purge_description_html: このドメインがオフラインであると思われる場合は、このドメインのすべてのアカウント記録と関連するデータをストレージから削除できます。 これは時間がかかることがあります。 title: 既知のサーバー total_blocked_by_us: ブロック合計 total_followed_by_them: 被フォロー合計 @@ -537,6 +574,14 @@ ja: other: "%{count} 件のメモ" action_log: 監査ログ action_taken_by: 通報処理者 + actions: + delete_description_html: 報告された投稿は削除され、ストライクが記録されます。同じアカウントによる今後の違反行為のエスカレーションに役立てられます。 + mark_as_sensitive_description_html: 報告された投稿のメディアは閲覧注意となり、ストライクが記録され、同じアカウントによる今後の違反行為のエスカレーションに役立てられます。 + other_description_html: アカウントの動作を制御するためのオプションや、報告されたアカウントへの通信をカスタマイズするためのオプションを確認してください。 + resolve_description_html: 報告されたアカウントに対していかなる措置も取られず、ストライクも記録されず、報告は終了します。 + silence_description_html: 既にフォローしている人、または自分で参照した人にのみ表示されるため、プロフィールが届く範囲が大きく制限されます。いつでも元に戻すことができます。 + suspend_description_html: プロフィールとすべてのコンテンツは、最終的に削除されるまでアクセスできなくなります。アカウントとのやり取りは不可能です。30日以内に取り消し可能です。 + actions_description_html: このレポートを解決するために取るアクションを決定します。 報告されたアカウントに対して懲罰的な措置を取った場合、メール通知が送信されます スパム カテゴリが選択されている場合を除きます。 add_to_report: 通報にさらに追加 are_you_sure: 本当に実行しますか? assign_to_self: 担当になる @@ -546,6 +591,7 @@ ja: category_description_html: 選択した理由は通報されたアカウントへの連絡時に引用されます comment: none: なし + comment_description_html: "%{name} からの詳細情報:" created_at: 通報日時 delete_and_resolve: 投稿を削除 forwarded: 転送済み @@ -692,13 +738,23 @@ ja: with_media: メディアあり strikes: actions: + delete_statuses: "%{name} さんが %{target} さんの投稿を削除しました" + disable: "%{name}さんが%{target}さんを凍結しました" mark_statuses_as_sensitive: "%{name} さんが %{target} さんの投稿を閲覧注意としてマークしました" + none: "%{name} が %{target} に警告を送信しました" sensitive: "%{name} さんが %{target} さんのアカウントを閲覧注意としてマークしました" + silence: "%{name}さんが%{target}さんを制限しました" + suspend: "%{name} さんが %{target} さんのアカウントを停止しました" appeal_approved: 抗議済み appeal_pending: 保留中の抗議 system_checks: database_schema_check: message_html: 未実行のデータベースマイグレーションがあります。実行して正常に動作するようにしてください。 + elasticsearch_running_check: + message_html: Elasticsearchに接続できませんでした。Elasticsearchが実行されていることを確認するか、全文検索を無効にしてください。 + elasticsearch_version_check: + message_html: '互換性のない Elasticsearch バージョン: %{value}' + version_comparison: Elasticsearch %{running_version} が実行されていますが、 %{required_version} が必要です rules_check: action: サーバーのルールを管理 message_html: サーバーのルールを定義していません。 @@ -715,13 +771,17 @@ ja: links: allow: リンクの許可 allow_provider: 発行者の承認 + description_html: これらは、多くのユーザーに共有されているリンクです。あなたのユーザーが世の中の動きを知るのに役立ちます。あなたが公開者を承認するまで、リンクは一般に表示されません。また、個別のリンクの許可・拒否も可能です。 disallow: リンクの拒否 disallow_provider: 発行者の拒否 + shared_by_over_week: + other: 先週%{count}人に共有されました title: トレンドリンク usage_comparison: 今日は %{today} 回、昨日は %{yesterday} 回共有されました pending_review: 保留中 preview_card_providers: allowed: この発行者からのリンクを許可 + description_html: これらは、よく共有されるリンク元のドメインです。リンク先のドメインが承認されない限り、リンクは公開されません。承認(または拒否)はサブドメインにも及びます。 rejected: この発行者からのリンクを拒否 title: 発行者 rejected: 拒否 @@ -739,6 +799,7 @@ ja: tag_servers_dimension: 人気のサーバー tag_servers_measure: その他のサーバー tag_uses_measure: 合計利用数 + description_html: これらは、多くの投稿に使用されているハッシュタグです。あなたのユーザーが、人々が今一番話題にしていることを知るのに役立ちます。あなたが承認するまで、ハッシュタグは一般に表示されません。 listable: おすすめに表示する not_listable: おすすめに表示しない not_trendable: トレンドに表示しない @@ -749,6 +810,8 @@ ja: trending_rank: '人気: %{rank} 位' usable: 使用を許可 usage_comparison: 今日は %{today} 回、昨日は %{yesterday} 回使用されました。 + used_by_over_week: + other: 先週%{count}人に使用されました title: トレンド warning_presets: add_new: 追加 @@ -759,8 +822,15 @@ ja: admin_mailer: new_appeal: actions: + delete_statuses: 投稿を削除する + disable: アカウントを無効にする + mark_statuses_as_sensitive: 閲覧注意としてマーク none: 警告 sensitive: アカウントを閲覧注意にする + silence: アカウントを制限する + suspend: アカウントを停止する + next_steps: モデレーションの決定を取り消すために申し立てを承認するか、無視することができます。 + subject: "%{instance} で %{username} からモデレーションへの申し立てが届きました。" new_pending_account: body: 新しいアカウントの詳細は以下の通りです。この申請を承認または却下することができます。 subject: "%{instance} で新しいアカウント (%{username}) が承認待ちです" @@ -769,12 +839,17 @@ ja: body_remote: "%{domain} の誰かが %{target} を通報しました" subject: "%{instance} の新しい通報 (#%{id})" new_trends: + body: 以下の項目は、公開する前に審査が必要です。 new_trending_links: + no_approved_links: 承認されたトレンドリンクはありません。 title: トレンドリンク new_trending_statuses: + no_approved_statuses: 承認されたトレンド投稿はありません。 title: トレンド投稿 new_trending_tags: + no_approved_tags: 承認されたトレンドハッシュタグはありません。 title: トレンドハッシュタグ + subject: "%{instance} で新しいトレンド が審査待ちです" aliases: add_new: エイリアスを作成 created_msg: エイリアスを作成しました。これで以前のアカウントから引っ越しを開始できます。 @@ -848,8 +923,10 @@ ja: status: account_status: アカウントの状態 confirming: メールアドレスの確認が完了するのを待っています。 + functional: アカウントは完全に機能しています。 pending: あなたの申請は現在サーバー管理者による審査待ちです。これにはしばらくかかります。申請が承認されるとメールが届きます。 redirecting_to: アカウントは %{acct} に引っ越し設定されているため非アクティブになっています。 + view_strikes: 過去のストライクを表示 too_fast: フォームの送信が速すぎます。もう一度やり直してください。 trouble_logging_in: ログインできませんか? use_security_key: セキュリティキーを使用 @@ -917,12 +994,18 @@ ja: strikes: action_taken: 取られた措置 appeal: 抗議 + appeal_approved: このストライクは申し立てが承認され、有効ではありません。 + appeal_rejected: 申し立ては拒否されました appeal_submitted_at: 抗議が送信されました + appealed_msg: 申し立てが送信されました。承認されると通知されます。 appeals: submit: 抗議を送信 associated_report: 関連する通報 created_at: 日時 + description_html: これらは、%{instance} のスタッフがあなたのアカウントに対して行った措置や、あなたに送られた警告です。 recipient: 送信元 + status: '投稿 #%{id}' + status_removed: 既に削除されています title: "%{date}に%{action}" title_actions: delete_statuses: 投稿の削除 @@ -932,6 +1015,9 @@ ja: sensitive: アカウントを閲覧注意としてマーク silence: アカウントの制限 suspend: アカウントの一時停止 + your_appeal_approved: 申し立てが承認されました + your_appeal_pending: 申し立てを送信しました + your_appeal_rejected: 申し立ては拒否されました domain_validator: invalid_domain: は無効なドメイン名です errors: @@ -1113,6 +1199,8 @@ ja: mention: "%{name} さんがあなたに返信しました:" new_followers_summary: other: また、離れている間に%{count} 人の新たなフォロワーを獲得しました! + subject: + other: "前回の訪問から%{count} 件の新しい通知 🐘" title: 不在の間に… favourite: body: "%{name} さんにお気に入り登録された、あなたの投稿があります:" @@ -1223,6 +1311,9 @@ ja: reply: proceed: 返信する prompt: '返信しようとしています:' + reports: + errors: + invalid_rules: 有効なルールを参照していません scheduled_statuses: over_daily_limit: その日予約できる投稿数 %{limit} を超えています over_total_limit: 予約できる投稿数 %{limit} を超えています @@ -1289,6 +1380,7 @@ ja: profile: プロフィール relationships: フォロー・フォロワー statuses_cleanup: 投稿の自動削除 + strikes: モデレーションストライク two_factor_authentication: 二段階認証 webauthn_authentication: セキュリティキー statuses: @@ -1484,24 +1576,43 @@ ja: recovery_instructions_html: 携帯電話を紛失した場合、以下の内どれかのリカバリーコードを使用してアカウントへアクセスすることができます。リカバリーコードは大切に保全してください。たとえば印刷してほかの重要な書類と一緒に保管することができます。 webauthn: セキュリティキー user_mailer: + appeal_approved: + action: アカウントへ + explanation: "%{strike_date} のストライクに対して、あなたが %{appeal_date} に行った申し立ては承認されました。アカウントは正常な状態に戻りました。" + subject: "%{date} の申し立てが承認されました" + title: 申し立てが承認されました。 appeal_rejected: + explanation: "%{strike_date} のストライクに対して、あなたが %{appeal_date} に行った申し立ては却下されました。" + subject: "%{date} の申し立てが拒否されました" title: 却下された抗議 backup_ready: explanation: Mastodonアカウントのアーカイブを受け付けました。今すぐダウンロードできます! subject: アーカイブの準備ができました title: アーカイブの取り出し + suspicious_sign_in: + change_password: パスワードを変更する + details: 'ログインの詳細は以下のとおりです:' + explanation: 新しいIPアドレスからあなたのアカウントへのサインインが検出されました。 + further_actions_html: あなたがログインしていない場合は、すぐに %{action} し、アカウントを安全に保つために二段階認証を有効にすることをお勧めします。 + subject: 新しいIPアドレスからのアクセスがありました + title: 新しいサインイン warning: appeal: 抗議を送信 + appeal_description: これが間違いだと思われる場合は、 %{instance} のスタッフに申し立てすることができます。 categories: spam: スパム violation: コンテンツは以下のコミュニティガイドラインに違反しています explanation: + delete_statuses: あなたの投稿のいくつかは、1つ以上のコミュニティガイドラインに違反していることが判明し、%{instance} のモデレータによって削除されました。 disable: アカウントは使用できませんが、プロフィールやその他のデータはそのまま残ります。 データのバックアップをリクエストしたり、アカウント設定を変更したり、アカウントを削除したりできます。 mark_statuses_as_sensitive: あなたのいくつかの投稿は、 %{instance} のモデレータによって閲覧注意としてマークされています。これは、プレビューが表示される前にユーザが投稿内のメディアをタップする必要があることを意味します。あなたは将来投稿する際に自分自身でメディアを閲覧注意としてマークすることができます。 sensitive: 今後、アップロードされたすべてのメディアファイルは閲覧注意としてマークされ、クリック解除式の警告で覆われるようになります。 silence: アカウントが制限されています。このサーバーでは既にフォローしている人だけがあなたの投稿を見ることができます。 様々な発見機能から除外されるかもしれません。他の人があなたを手動でフォローすることは可能です。 + suspend: アカウントは使用できなくなり、プロフィールなどのデータにもアクセスできなくなります。約30日後にデータが完全に削除されるまでは、ログインしてデータのバックアップを要求することができますが、アカウントの停止回避を防ぐために一部の基本データを保持します。 reason: '理由:' + statuses: '投稿:' subject: + delete_statuses: "%{acct} の投稿が削除されました" disable: あなたのアカウント %{acct} は凍結されました mark_statuses_as_sensitive: あなたの %{acct} の投稿は閲覧注意としてマークされました none: "%{acct} に対する警告" diff --git a/config/locales/ko.yml b/config/locales/ko.yml index c95b5f9ce..d439b0349 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -49,7 +49,7 @@ ko: silenced_title: 침묵 된 서버들 suspended: 이 서버의 아무도 팔로우 할 수 없으며, 어떤 데이터도 처리되거나 저장 되지 않고 데이터가 교환 되지도 않습니다. suspended_title: 금지된 서버들 - unavailable_content_html: 마스토돈은 일반적으로 별무리에 있는 어떤 서버의 유저와도 게시물을 보고 응답을 할 수 있도록 허용합니다. 다음 항목들은 특정한 서버에 대해 만들어 진 예외사항입니다. + unavailable_content_html: 마스토돈은 일반적으로 연합우주에 있는 어떤 서버의 유저와도 게시물을 보고 응답을 할 수 있도록 허용합니다. 다음 항목들은 특정한 서버에 대해 만들어 진 예외사항입니다. user_count_after: other: 명 user_count_before: 사용자 수 @@ -560,7 +560,7 @@ ko: relays: add_new: 릴레이 추가 delete: 삭제 - description_html: "연합 릴레이는 서버들 사이에서 많은 양의 공개 게시물을 구독하고 중개하는 서버입니다. 이것은 중소 규모의 서버에서 별무리를 발견하는 데에 도움을 줄 수 있습니다, 이제 로컬 유저들이 다른 서버의 유저들을 수동으로 팔로우 하지 않아도 됩니다." + description_html: "연합 릴레이는 서버들 사이에서 많은 양의 공개 게시물을 구독하고 중개하는 서버입니다. 이것은 중소 규모의 서버에서 연합우주를 발견하는 데에 도움을 줄 수 있습니다, 이제 로컬 유저들이 다른 서버의 유저들을 수동으로 팔로우 하지 않아도 됩니다." disable: 비활성화 disabled: 비활성화 됨 enable: 활성화 diff --git a/config/locales/simple_form.ast.yml b/config/locales/simple_form.ast.yml index ae7cf5217..c98913985 100644 --- a/config/locales/simple_form.ast.yml +++ b/config/locales/simple_form.ast.yml @@ -74,7 +74,7 @@ ast: setting_use_pending_items: Mou lentu severity: Severidá sign_in_token_attempt: Códigu de seguranza - type: Triba de la importación + type: Tipu de la importación username: Nome d'usuariu username_or_email: Nome d'usuariu o corréu whole_word: La pallabra entera diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml index 8dcbf539c..da3fb0a88 100644 --- a/config/locales/simple_form.ca.yml +++ b/config/locales/simple_form.ca.yml @@ -10,7 +10,7 @@ ca: text: Pots utilitzar totes les sintaxi com ara URL, etiquetes i mencions title: Opcional. No és visible per al destinatari admin_account_action: - include_statuses: L'usuari veurà quins tuts han causat l'acció de moderació o avís + include_statuses: L'usuari veurà quines publicacions han causat l'acció de moderació o avís send_email_notification: L'usuari rebrà una explicació del que ha passat amb el seu compte text_html: Opcional. Pots utilitzar tota la sintaxi. Pots afegir configuracions predefinides d'avís per a estalviar temps type_html: Tria què fer amb %{acct} @@ -18,7 +18,7 @@ ca: disable: Evita que l'usuari faci ús del seu compte però no li esborra o amaga els seus continguts. none: Fes servir això per a enviar un avís al usuari sense desencadenar cap altre acció. sensitive: Obliga a marcar tots els fitxers multi mèdia adjunts com a sensibles. - silence: Evita que l'usuari sigui capaç de publicar amb visibilitat publica, amaga els tuts i notificacions de usuaris que no el segueixen. + silence: Evitar que l'usuari sigui capaç de publicar amb visibilitat pública, amagar les seves publicacions i notificacions d'usuaris que no el segueixen. suspend: Evita qualsevol interacció de o a aquest compte i esborra els seus continguts. Reversible en un termini de 30 dies. warning_preset_id: Opcional. Encara pots afegir text personalitzat al final de la configuració predefinida announcement: @@ -26,7 +26,7 @@ ca: ends_at: Opcional. En aquest moment, l’anunci deixarà automàticament d'estar publicat scheduled_at: Deixa-ho en blanc per a publicar l’anunci immediatament starts_at: Opcional. En el cas que el teu anunci estigui vinculat a un interval de temps específic - text: Pots utilitzar sintaxi d'un tut. Tingues en compte l’espai que l’anunci ocuparà a la pantalla de l’usuari + text: Pots utilitzar la sintaxi de publicacions. Tingues en compte l’espai que l’anunci ocuparà a la pantalla de l’usuari appeal: text: Només pots emetre una apel·lació per cada acció defaults: @@ -42,11 +42,11 @@ ca: fields: Pots tenir fins a 4 elements que es mostren com a taula al teu perfil header: PNG, GIF o JPG. Màxim %{size}. S'escalarà a %{dimensions}px inbox_url: Copia l'URL des de la pàgina principal del relay que vols utilitzar - irreversible: Els tuts filtrats desapareixeran de manera irreversible, fins i tot si el filtre es retira més tard + irreversible: Les publicacions filtrades desapareixeran de manera irreversible, fins i tot si el filtre es retira més tard locale: L'idioma de la interfície d’usuari, els correus i les notificacions push locked: Requereix que aprovis manualment els seguidors password: Utilitza com a mínim 8 caràcters - phrase: Es combinarà independentment del format en el text o l'avís de contingut del tut + phrase: Es combinarà independentment del format en el text o l'avís de contingut de la publicació scopes: A quines API es permetrà a l'aplicació accedir. Si selecciones un àmbit d'alt nivell, no cal que seleccionis un d'individual. setting_aggregate_reblogs: No mostrar els nous impulsos de les publicacions que ja s'han impulsat recentment (només afecta els impulsos nous rebuts) setting_always_send_emails: Normalment, les notificacions per correu electrònic no s'enviaran si estàs fent servir activament Mastodon @@ -90,7 +90,7 @@ ca: tag: name: Només pots canviar la caixa de les lletres, per exemple, per fer-la més llegible user: - chosen_languages: Quan estigui marcat, només es mostraran els tuts de les llengües seleccionades en les línies de temps públiques + chosen_languages: Quan estigui marcat, només es mostraran les publicacions en les llengües seleccionades en les línies de temps públiques labels: account: fields: @@ -104,7 +104,7 @@ ca: text: Text predefinit title: Títol admin_account_action: - include_statuses: Inclou tuts reportats en el correu electrònic + include_statuses: Inclou les publicacions reportades en el correu electrònic send_email_notification: Notifica l'usuari per correu electrònic text: Avís personalitzat type: Acció @@ -124,7 +124,7 @@ ca: appeal: text: Explica perquè aquesta decisió hauria de ser revertida defaults: - autofollow: Convida a seguir el teu compte + autofollow: Convidar a seguir el teu compte avatar: Avatar bot: Aquest compte és un bot chosen_languages: Filtrar llengües @@ -155,17 +155,17 @@ ca: setting_always_send_emails: Envia sempre notificacions per correu electrònic setting_auto_play_gif: Reproduir automàticament els GIFs animats setting_boost_modal: Mostrar la finestra de confirmació abans d'impulsar - setting_crop_images: Retalla les imatges en tuts no ampliats a 16x9 + setting_crop_images: Retalla les imatges en publicacions no ampliades a 16x9 setting_default_language: Idioma de les publicacions setting_default_privacy: Privacitat de les publicacions setting_default_sensitive: Marcar sempre el contingut gràfic com a sensible - setting_delete_modal: Mostrar la finestra de confirmació abans d'esborrar un tut + setting_delete_modal: Mostrar la finestra de confirmació abans d'esborrar una publicació setting_disable_swiping: Desactivar les animacions setting_display_media: Visualització multimèdia setting_display_media_default: Per defecte setting_display_media_hide_all: Amaga-ho tot setting_display_media_show_all: Mostra-ho tot - setting_expand_spoilers: Sempre ampliar els tuts marcats amb advertències de contingut + setting_expand_spoilers: Sempre ampliar les publicacions marcades amb advertències de contingut setting_hide_network: Amagar la teva xarxa setting_noindex: Desactivar la indexació dels motors de cerca setting_reduce_motion: Reduir el moviment de les animacions @@ -218,7 +218,7 @@ ca: listable: Permet que aquesta etiqueta aparegui en les cerques i en el directori de perfils name: Etiqueta trendable: Permet que aquesta etiqueta aparegui en les tendències - usable: Permet als tuts emprar aquesta etiqueta + usable: Permetre a les publicacions emprar aquesta etiqueta 'no': 'No' recommended: Recomanat required: diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml index 5595059b1..e9ae17206 100644 --- a/config/locales/simple_form.de.yml +++ b/config/locales/simple_form.de.yml @@ -49,6 +49,7 @@ de: phrase: Wird schreibungsunabhängig mit dem Text und Inhaltswarnung eines Beitrags verglichen scopes: Welche Schnittstellen der Applikation erlaubt sind. Wenn du einen Top-Level-Scope auswählst, dann musst du nicht jeden einzelnen darunter auswählen. setting_aggregate_reblogs: Zeige denselben Beitrag nicht nochmal an, wenn er erneut geteilt wurde (dies betrifft nur neulich erhaltene erneut geteilte Beiträge) + setting_always_send_emails: Normalerweise werden E-Mail-Benachrichtigungen nicht gesendet, wenn du Mastodon aktiv verwendest setting_default_sensitive: NSFW-Medien werden erst nach einem Klick sichtbar setting_display_media_default: Verstecke Medien, die als NSFW markiert sind setting_display_media_hide_all: Alle Medien immer verstecken @@ -151,6 +152,7 @@ de: phrase: Schlagwort oder Satz setting_advanced_layout: Fortgeschrittene Benutzeroberfläche benutzen setting_aggregate_reblogs: Gruppiere erneut geteilte Beiträge auf der Startseite + setting_always_send_emails: E-Mail-Benachrichtigungen immer senden setting_auto_play_gif: Animierte GIFs automatisch abspielen setting_boost_modal: Bestätigungsdialog anzeigen, bevor ein Beitrag geteilt wird setting_crop_images: Bilder in nicht ausgeklappten Beiträgen auf 16:9 zuschneiden diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml index eac5c351c..803064a26 100644 --- a/config/locales/simple_form.ja.yml +++ b/config/locales/simple_form.ja.yml @@ -37,6 +37,7 @@ ja: current_password: 現在のアカウントのパスワードを入力してください current_username: 確認のため、現在のアカウントのユーザー名を入力してください digest: 長期間使用していない場合と不在時に返信を受けた場合のみ送信されます + discoverable: レコメンド、トレンド、その他の機能により、あなたのアカウントを他の人から見つけられるようにします email: 確認のメールが送信されます fields: プロフィールに表として4つまでの項目を表示することができます header: "%{size}までのPNG、GIF、JPGが利用可能です。 %{dimensions}pxまで縮小されます" @@ -48,6 +49,7 @@ ja: phrase: 投稿内容の大文字小文字や閲覧注意に関係なく一致 scopes: アプリの API に許可するアクセス権を選択してください。最上位のスコープを選択する場合、個々のスコープを選択する必要はありません。 setting_aggregate_reblogs: 最近ブーストされた投稿が新たにブーストされても表示しません (設定後受信したものにのみ影響) + setting_always_send_emails: 通常、Mastodon からメール通知は行われません。 setting_default_sensitive: 閲覧注意状態のメディアはデフォルトでは内容が伏せられ、クリックして初めて閲覧できるようになります setting_display_media_default: 閲覧注意としてマークされたメディアは隠す setting_display_media_hide_all: メディアを常に隠す @@ -62,6 +64,7 @@ ja: domain_allow: domain: 登録するとこのサーバーからデータを受信したり、このドメインから受信するデータを処理して保存できるようになります email_domain_block: + domain: 電子メールアドレスのドメイン名、または使用されるMXレコードを指定できます。新規登録時にチェックされます。 with_dns_records: 指定したドメインのDNSレコードを取得し、その結果もメールドメインブロックに登録されます featured_tag: name: 'これらを使うといいかもしれません:' @@ -149,6 +152,7 @@ ja: phrase: キーワードまたはフレーズ setting_advanced_layout: 上級者向け UI を有効にする setting_aggregate_reblogs: ブーストをまとめる + setting_always_send_emails: 常にメール通知を送信する setting_auto_play_gif: アニメーションGIFを自動再生する setting_boost_modal: ブーストする前に確認ダイアログを表示する setting_crop_images: 投稿の詳細以外では画像を16:9に切り抜く @@ -198,7 +202,7 @@ ja: sign_up_requires_approval: 登録を制限 severity: ルール notification_emails: - appeal: モデレーターの判断に異議申し立てが行われました + appeal: モデレーターの判断に異議申し立てが行われた時 digest: タイムラインからピックアップしてメールで通知する favourite: お気に入り登録された時 follow: フォローされた時 @@ -206,8 +210,8 @@ ja: mention: 返信が来た時 pending_account: 新しいアカウントの承認が必要な時 reblog: 投稿がブーストされた時 - report: 新しいレポートが送信されました - trending_tag: 新しいトレンドタグにはレビューが必要です + report: 新しい通報が送信された時 + trending_tag: 新しいトレンドのレビューをする必要がある時 rule: text: ルール tag: diff --git a/config/locales/simple_form.tr.yml b/config/locales/simple_form.tr.yml index 901e9a4a3..b6d1ad781 100644 --- a/config/locales/simple_form.tr.yml +++ b/config/locales/simple_form.tr.yml @@ -128,10 +128,10 @@ tr: avatar: Profil resmi bot: Bu bir bot hesabı chosen_languages: Dilleri filtrele - confirm_new_password: Yeni şifreyi onayla - confirm_password: Şifreyi onayla + confirm_new_password: Yeni parolayı onayla + confirm_password: Parolayı doğrula context: İçeriği filtrele - current_password: Geçerli şifre + current_password: Güncel parola data: Veri discoverable: Bu hesabı dizinde listele display_name: Görünen isim @@ -141,14 +141,14 @@ tr: header: Kapak resmi honeypot: "%{label} (doldurmayın)" inbox_url: Aktarıcı gelen kutusunun URL'si - irreversible: Gizlemek yerine bırak + irreversible: Gizlemek yerine benim için sil locale: Arayüz dili locked: Hesabı kilitle max_uses: Maksimum kullanım sayısı - new_password: Yeni şifre + new_password: Yeni parola note: Kişisel bilgiler otp_attempt: İki adımlı doğrulama kodu - password: Şifre + password: Parola phrase: Anahtar kelime veya kelime öbeği setting_advanced_layout: Gelişmiş web arayüzünü etkinleştir setting_aggregate_reblogs: Zaman çizelgesindeki boostları grupla diff --git a/config/locales/tr.yml b/config/locales/tr.yml index fcfa49524..9b08117e1 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -185,7 +185,7 @@ tr: send: Doğrulama epostasını yeniden gönder success: Onay e-postası başarıyla gönderildi! reset: Sıfırla - reset_password: Şifreyi sıfırla + reset_password: Parolayı sıfırla resubscribe: Yeniden abone ol role: İzinler roles: @@ -597,6 +597,7 @@ tr: action_taken_by: tarafından gerçekleştirilen eylem actions: delete_description_html: Bildirilen gönderiler silinecek ve aynı hesapla ileride yaşabileceğiniz etkileşimlerde çoğaltmanız için bir eylem kaydedilecek. + mark_as_sensitive_description_html: Bildirilen gönderilerdeki medya dosyaları hassas olarak işaretlenecek ve aynı hesabın gelecekteki ihlallerinde daha yetkili makamlara bildirmenize yardımcı olmak için bir eylem kaydedilecek. other_description_html: Hesabın davranışını denetlemek ve bildirilen hesabın iletişimini yapılandırmak için daha fazla seçenek görün. resolve_description_html: Bildirilen hesap için bir şey yapılmayacak, eylem kaydedilmeyecek ve bildirim kapatılacak. silence_description_html: Profil sadece halihazırda takip edenler ve elle bakanlarca görünecek, böylece erişimi ciddi bir şekilde kısıtlanacak. Her zaman geri alınabilir. @@ -918,7 +919,7 @@ tr: your_token: Erişim belirteciniz auth: apply_for_account: Davet et - change_password: Şifre + change_password: Parola checkbox_agreement_html: Sunucu kurallarını ve hizmet şartlarını kabul ediyorum checkbox_agreement_without_rules_html: Hizmet şartlarını kabul ediyorum delete_account: Hesabı sil @@ -929,7 +930,7 @@ tr: suffix: Bir hesapla, kişileri takip edebilir, güncellemeler gönderebilir, herhangi bir Mastodon sunucusundan kullanıcılarla mesaj alışverişinde bulunabilir ve daha birçok şey yapabilirsin! didnt_get_confirmation: Doğrulama talimatlarını almadınız mı? dont_have_your_security_key: Güvenlik anahtarınız yok mu? - forgot_password: Şifrenizi mi unuttunuz? + forgot_password: Parolanızı mı unuttunuz? invalid_reset_password_token: Parola sıfırlama belirteci geçersiz veya süresi dolmuş. Lütfen yeni bir tane talep edin. link_to_otp: Telefonunuzdan iki adımlı bir kod veya bir kurtarma kodu girin link_to_webauth: Güvenlik anahtarı cihazınızı kullanın @@ -945,9 +946,9 @@ tr: register: Kaydol registration_closed: "%{instance} yeni üyeler kabul etmemektedir" resend_confirmation: Onaylama talimatlarını tekrar gönder - reset_password: Şifreyi sıfırla + reset_password: Parolayı sıfırla security: Güvenlik - set_new_password: Yeni şifre belirle + set_new_password: Yeni parola belirle setup: email_below_hint_html: Eğer aşağıdaki e-posta adresi yanlışsa, onu burada değiştirebilir ve yeni bir doğrulama e-postası alabilirsiniz. email_settings_hint_html: Onaylama e-postası %{email} adresine gönderildi. Eğer bu e-posta adresi doğru değilse, hesap ayarlarından değiştirebilirsiniz. @@ -977,8 +978,8 @@ tr: challenge: confirm: Devam et hint_html: "İpucu: Önümüzdeki saat boyunca sana parolanı sormayacağız." - invalid_password: Geçersiz şifre - prompt: Devam etmek için şifreyi doğrulayın + invalid_password: Geçersiz parola + prompt: Devam etmek için parolanızı doğrulayın crypto: errors: invalid_key: geçerli bir Ed25519 veya Curve25519 anahtarı değil @@ -1002,7 +1003,7 @@ tr: x_months: "%{count}ay" x_seconds: "%{count}sn" deletes: - challenge_not_passed: Girdiğiniz bilgi doğru değildi + challenge_not_passed: Girdiğiniz bilgi hatalı confirm_password: Kimliğinizi doğrulamak için mevcut parolanızı girin confirm_username: Prosedürü doğrulamak için kullanıcı adınızı girin proceed: Hesabı sil diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 6403a0283..a7d9f1656 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -263,12 +263,12 @@ vi: reset_password_user: Đặt lại mật khẩu resolve_report: Xử lý báo cáo sensitive_account: Áp đặt nhạy cảm - silence_account: Áp đặt hạn chế + silence_account: Áp đặt ẩn suspend_account: Áp đặt vô hiệu hóa unassigned_report: Báo cáo chưa xử lý unblock_email_account: Mở khóa địa chỉ email unsensitive_account: Bỏ nhạy cảm - unsilence_account: Bỏ hạn chế + unsilence_account: Bỏ ẩn unsuspend_account: Bỏ vô hiệu hóa update_announcement: Cập nhật thông báo update_custom_emoji: Cập nhật emoji diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index fa7f39ba4..cd36a57a1 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -930,7 +930,7 @@ zh-CN: registration_closed: "%{instance} 目前不接收新成员" resend_confirmation: 重新发送确认邮件 reset_password: 重置密码 - security: 帐户安全 + security: 账户安全 set_new_password: 设置新密码 setup: email_below_hint_html: 如果下面的电子邮箱地址是错误的,你可以在这里修改并重新发送新的确认邮件。 From 4884e0ca419b4c2b76612dececd060ab170d4dd9 Mon Sep 17 00:00:00 2001 From: Yamagishi Kazutoshi Date: Fri, 22 Apr 2022 03:26:10 +0900 Subject: [PATCH 240/276] Add missing locale (#18061) --- config/locales/en.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales/en.yml b/config/locales/en.yml index 294747790..a4310ad60 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -517,6 +517,7 @@ en: delivery: all: All clear: Clear delivery errors + failing: Failing restart: Restart delivery stop: Stop delivery unavailable: Unavailable From ea383278160bcee81477e86a95107d4a2dc315ef Mon Sep 17 00:00:00 2001 From: Jeong Arm Date: Sun, 24 Apr 2022 04:47:27 +0900 Subject: [PATCH 241/276] Let votes statuses are also searchable (#18070) --- app/chewy/statuses_index.rb | 5 +++++ app/models/status.rb | 2 ++ 2 files changed, 7 insertions(+) diff --git a/app/chewy/statuses_index.rb b/app/chewy/statuses_index.rb index 1381a96ed..1304aeedb 100644 --- a/app/chewy/statuses_index.rb +++ b/app/chewy/statuses_index.rb @@ -55,6 +55,11 @@ class StatusesIndex < Chewy::Index data.each.with_object({}) { |(id, name), result| (result[id] ||= []).push(name) } end + crutch :votes do |collection| + data = ::PollVote.joins(:poll).where(poll: { status_id: collection.map(&:id) }).where(account: Account.local).pluck(:status_id, :account_id) + data.each.with_object({}) { |(id, name), result| (result[id] ||= []).push(name) } + end + root date_detection: false do field :id, type: 'long' field :account_id, type: 'long' diff --git a/app/models/status.rb b/app/models/status.rb index a71451f50..288d374fd 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -145,11 +145,13 @@ class Status < ApplicationRecord ids += favourites.where(account: Account.local).pluck(:account_id) ids += reblogs.where(account: Account.local).pluck(:account_id) ids += bookmarks.where(account: Account.local).pluck(:account_id) + ids += poll.votes.where(account: Account.local).pluck(:account_id) if poll.present? else ids += preloaded.mentions[id] || [] ids += preloaded.favourites[id] || [] ids += preloaded.reblogs[id] || [] ids += preloaded.bookmarks[id] || [] + ids += preloaded.votes[id] || [] end ids.uniq From 8ffa96b0595958e35ed44308a6801d3ea3160968 Mon Sep 17 00:00:00 2001 From: Claire Date: Sat, 23 Apr 2022 21:47:43 +0200 Subject: [PATCH 242/276] Fix web push notifications containing HTML entities (#18071) --- app/serializers/web/notification_serializer.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/serializers/web/notification_serializer.rb b/app/serializers/web/notification_serializer.rb index ee83ec8b2..c5a908b19 100644 --- a/app/serializers/web/notification_serializer.rb +++ b/app/serializers/web/notification_serializer.rb @@ -34,6 +34,6 @@ class Web::NotificationSerializer < ActiveModel::Serializer def body str = strip_tags(object.target_status&.spoiler_text&.presence || object.target_status&.text || object.from_account.note) - truncate(HTMLEntities.new.decode(str.to_str), length: 140) # Do not encode entities, since this value will not be used in HTML + truncate(HTMLEntities.new.decode(str.to_str), length: 140, escape: false) # Do not encode entities, since this value will not be used in HTML end end From f47a9ddc9ffca22258ec9e4b12ca51db8cac1eac Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 23 Apr 2022 23:33:26 +0200 Subject: [PATCH 243/276] New Crowdin updates (#18062) * New translations en.yml (Korean) * New translations en.yml (Portuguese) * New translations en.yml (Hungarian) * New translations en.yml (Armenian) * New translations en.yml (Georgian) * New translations en.yml (Lithuanian) * New translations en.yml (Macedonian) * New translations en.yml (Dutch) * New translations en.yml (Norwegian) * New translations en.yml (Punjabi) * New translations en.yml (Polish) * New translations en.yml (Albanian) * New translations en.yml (Basque) * New translations en.yml (Serbian (Cyrillic)) * New translations en.yml (Turkish) * New translations en.yml (Ukrainian) * New translations en.yml (Chinese Traditional) * New translations en.yml (Urdu (Pakistan)) * New translations en.yml (Icelandic) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Indonesian) * New translations en.yml (Tamil) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Finnish) * New translations en.yml (Greek) * New translations en.yml (Galician) * New translations en.yml (Slovak) * New translations en.yml (Chinese Simplified) * New translations en.yml (Swedish) * New translations en.yml (Arabic) * New translations en.yml (French) * New translations en.yml (Spanish) * New translations en.yml (Catalan) * New translations en.yml (Hebrew) * New translations en.yml (Italian) * New translations en.yml (Japanese) * New translations en.yml (Russian) * New translations en.yml (Slovenian) * New translations en.yml (German) * New translations en.yml (Vietnamese) * New translations en.yml (Thai) * New translations en.yml (Scottish Gaelic) * New translations en.yml (Occitan) * New translations en.yml (Persian) * New translations en.yml (Romanian) * New translations en.yml (Afrikaans) * New translations en.yml (Bulgarian) * New translations en.yml (Czech) * New translations en.yml (Danish) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Bengali) * New translations en.yml (Sinhala) * New translations en.yml (Silesian) * New translations en.yml (Taigi) * New translations en.yml (Ido) * New translations en.yml (Kabyle) * New translations en.yml (Sanskrit) * New translations en.yml (Sardinian) * New translations en.yml (Corsican) * New translations en.yml (Sorani (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Serbian (Latin)) * New translations en.yml (Asturian) * New translations en.yml (Kannada) * New translations en.yml (Cornish) * New translations en.yml (Breton) * New translations en.yml (Marathi) * New translations en.yml (Malayalam) * New translations en.yml (Tatar) * New translations en.yml (Chinese Traditional, Hong Kong) * New translations en.yml (Uyghur) * New translations en.yml (Esperanto) * New translations en.yml (Welsh) * New translations en.yml (Telugu) * New translations en.yml (Malay) * New translations en.yml (Hindi) * New translations en.yml (Latvian) * New translations en.yml (Estonian) * New translations en.yml (Kazakh) * New translations en.yml (Norwegian Nynorsk) * New translations en.yml (Croatian) * New translations en.yml (Standard Moroccan Tamazight) * New translations en.yml (Catalan) * New translations en.yml (Japanese) * New translations en.json (Catalan) * New translations en.yml (Greek) * New translations en.yml (Chinese Traditional) * New translations en.yml (Turkish) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Latvian) * New translations en.yml (Czech) * New translations en.yml (Russian) * New translations en.yml (Czech) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Korean) * New translations en.yml (Vietnamese) * New translations en.yml (Catalan) * New translations en.yml (French) * New translations en.yml (Spanish) * New translations en.yml (Galician) * New translations en.yml (Icelandic) * New translations en.yml (Italian) * New translations en.yml (Hungarian) * New translations en.yml (Thai) * New translations en.json (Irish) * New translations en.yml (Irish) * New translations simple_form.en.yml (Irish) * New translations activerecord.en.yml (Irish) * New translations devise.en.yml (Irish) * New translations doorkeeper.en.yml (Irish) * New translations simple_form.en.yml (Turkish) * New translations en.yml (Vietnamese) * New translations en.yml (Vietnamese) * New translations en.yml (Indonesian) * New translations en.yml (Ukrainian) * New translations en.yml (Thai) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.json (Irish) * New translations en.yml (Vietnamese) * New translations en.yml (German) * New translations en.json (German) * New translations en.json (German) * New translations en.json (German) * New translations en.json (German) * New translations en.yml (Arabic) * New translations en.json (Arabic) * New translations doorkeeper.en.yml (Arabic) * New translations en.yml (Turkish) * Run `yarn manage:translations` * Run `bundle exec i18n-tasks normalize` Co-authored-by: Yamagishi Kazutoshi --- app/javascript/mastodon/locales/ar.json | 14 +- app/javascript/mastodon/locales/ca.json | 2 +- app/javascript/mastodon/locales/de.json | 24 ++-- app/javascript/mastodon/locales/ga.json | 176 ++++++++++++------------ config/locales/activerecord.ga.yml | 1 + config/locales/ar.yml | 3 + config/locales/ca.yml | 5 +- config/locales/cs.yml | 13 +- config/locales/de.yml | 2 +- config/locales/devise.ga.yml | 1 + config/locales/doorkeeper.ar.yml | 1 + config/locales/doorkeeper.ga.yml | 1 + config/locales/el.yml | 2 + config/locales/es-AR.yml | 1 + config/locales/es.yml | 1 + config/locales/fr.yml | 1 + config/locales/ga.yml | 12 +- config/locales/gl.yml | 1 + config/locales/hu.yml | 4 + config/locales/id.yml | 1 + config/locales/is.yml | 1 + config/locales/it.yml | 1 + config/locales/ja.yml | 1 + config/locales/ko.yml | 1 + config/locales/ku.yml | 1 + config/locales/lv.yml | 1 + config/locales/ru.yml | 1 + config/locales/simple_form.ga.yml | 1 + config/locales/simple_form.tr.yml | 4 +- config/locales/th.yml | 3 +- config/locales/tr.yml | 3 +- config/locales/uk.yml | 1 + config/locales/vi.yml | 7 +- config/locales/zh-TW.yml | 1 + 34 files changed, 167 insertions(+), 126 deletions(-) create mode 100644 config/locales/activerecord.ga.yml create mode 100644 config/locales/devise.ga.yml create mode 100644 config/locales/doorkeeper.ga.yml create mode 100644 config/locales/simple_form.ga.yml diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index b1e6483c7..57d8376a9 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -309,7 +309,7 @@ "navigation_bar.preferences": "التفضيلات", "navigation_bar.public_timeline": "الخيط العام الموحد", "navigation_bar.security": "الأمان", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "أنشأ {name} حسابًا", "notification.favourite": "أُعجِب {name} بمنشورك", "notification.follow": "{name} يتابعك", "notification.follow_request": "لقد طلب {name} متابعتك", @@ -318,7 +318,7 @@ "notification.poll": "لقد انتهى استطلاع رأي شاركتَ فيه", "notification.reblog": "قام {name} بمشاركة منشورك", "notification.status": "{name} نشر للتو", - "notification.update": "{name} edited a post", + "notification.update": "عدّلَ {name} منشورًا", "notifications.clear": "امسح الإخطارات", "notifications.clear_confirmation": "أمتأكد من أنك تود مسح جل الإخطارات الخاصة بك و المتلقاة إلى حد الآن ؟", "notifications.column_settings.admin.sign_up": "التسجيلات الجديدة:", @@ -408,8 +408,8 @@ "report.placeholder": "تعليقات إضافية", "report.reasons.dislike": "لايعجبني", "report.reasons.dislike_description": "ألا ترغب برؤيته", - "report.reasons.other": "It's something else", - "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.other": "شيء آخر", + "report.reasons.other_description": "لا تندرج هذه المشكلة ضمن فئات أخرى", "report.reasons.spam": "إنها رسالة مزعجة", "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.violation": "ينتهك قواعد الخادم", @@ -456,8 +456,8 @@ "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}", @@ -515,7 +515,7 @@ "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": "حذف", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index bf0d621d7..a325426c3 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -8,7 +8,7 @@ "account.blocked": "Bloquejat", "account.browse_more_on_origin_server": "Navega més en el perfil original", "account.cancel_follow_request": "Anul·la la sol·licitud de seguiment", - "account.direct": "Missatge directe @{name}", + "account.direct": "Enviar missatge directe a @{name}", "account.disable_notifications": "Deixa de notificar-me les publicacions de @{name}", "account.domain_blocked": "Domini bloquejat", "account.edit_profile": "Editar el perfil", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 47e3f33c2..c37cc179c 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -13,22 +13,22 @@ "account.domain_blocked": "Domain versteckt", "account.edit_profile": "Profil bearbeiten", "account.enable_notifications": "Benachrichtige mich wenn @{name} etwas postet", - "account.endorse": "Auf Profil hervorheben", + "account.endorse": "Im Profil anzeigen", "account.follow": "Folgen", "account.followers": "Follower", - "account.followers.empty": "Diesem Profil folgt noch niemand.", + "account.followers.empty": "Diesem Profil folgt bislang niemand.", "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Follower}}", "account.following": "Folgt", - "account.following_counter": "{count, plural, one {{counter} Folgender} other {{counter} Folgende}}", + "account.following_counter": "{count, plural, one {{counter} Folgt} other {{counter} Folgt}}", "account.follows.empty": "Dieses Profil folgt noch niemandem.", "account.follows_you": "Folgt dir", "account.hide_reblogs": "Geteilte Beiträge von @{name} verbergen", "account.joined": "Beigetreten am {date}", "account.link_verified_on": "Besitz dieses Links wurde geprüft am {date}", - "account.locked_info": "Der Privatsphärenstatus dieses Accounts wurde auf gesperrt gesetzt. Die Person bestimmt manuell wer ihm/ihr folgen darf.", + "account.locked_info": "Der Privatsphärenstatus dieses Accounts wurde auf „gesperrt“ gesetzt. Die Person bestimmt manuell, wer ihm/ihr folgen darf.", "account.media": "Medien", "account.mention": "@{name} erwähnen", - "account.moved_to": "{name} ist umgezogen auf:", + "account.moved_to": "{name} ist umgezogen nach:", "account.mute": "@{name} stummschalten", "account.mute_notifications": "Benachrichtigungen von @{name} stummschalten", "account.muted": "Stummgeschaltet", @@ -39,26 +39,26 @@ "account.share": "Profil von @{name} teilen", "account.show_reblogs": "Von @{name} geteilte Beiträge anzeigen", "account.statuses_counter": "{count, plural, one {{counter} Beitrag} other {{counter} Beiträge}}", - "account.unblock": "@{name} entblocken", + "account.unblock": "Blockierung von @{name} aufheben", "account.unblock_domain": "{domain} wieder anzeigen", "account.unblock_short": "Blockierung aufheben", - "account.unendorse": "Nicht auf Profil hervorheben", + "account.unendorse": "Nicht mehr im Profil anzeigen", "account.unfollow": "Entfolgen", - "account.unmute": "@{name} nicht mehr stummschalten", + "account.unmute": "Stummschaltung von @{name} aufheben", "account.unmute_notifications": "Benachrichtigungen von @{name} einschalten", - "account.unmute_short": "Nicht mehr stummschalten", + "account.unmute_short": "Stummschaltung aufheben", "account_note.placeholder": "Notiz durch Klicken hinzufügen", "admin.dashboard.daily_retention": "Benutzerverbleibrate nach Tag nach Anmeldung", "admin.dashboard.monthly_retention": "Benutzerverbleibrate nach Monat nach Anmeldung", "admin.dashboard.retention.average": "Durchschnitt", - "admin.dashboard.retention.cohort": "Anmeldemonat", + "admin.dashboard.retention.cohort": "Monat der Anmeldung", "admin.dashboard.retention.cohort_size": "Neue Benutzer", - "alert.rate_limited.message": "Bitte versuche es nach {retry_time, time, medium}.", + "alert.rate_limited.message": "Bitte versuche es nach {retry_time, time, medium} erneut.", "alert.rate_limited.title": "Anfragelimit überschritten", "alert.unexpected.message": "Ein unerwarteter Fehler ist aufgetreten.", "alert.unexpected.title": "Hoppla!", "announcement.announcement": "Ankündigung", - "attachments_list.unprocessed": "(unverarbeitet)", + "attachments_list.unprocessed": "(ausstehend)", "autosuggest_hashtag.per_week": "{count} pro Woche", "boost_modal.combo": "Drücke {combo}, um dieses Fenster zu überspringen", "bundle_column_error.body": "Etwas ist beim Laden schiefgelaufen.", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index e72e8bca0..0f59bea92 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -1,54 +1,54 @@ { - "account.account_note_header": "Your note for @{name}", - "account.add_or_remove_from_list": "Add or Remove from lists", - "account.badges.bot": "Bot", - "account.badges.group": "Group", - "account.block": "Block @{name}", - "account.block_domain": "Hide everything from {domain}", - "account.blocked": "Blocked", - "account.browse_more_on_origin_server": "Browse more on the original profile", - "account.cancel_follow_request": "Cancel follow request", - "account.direct": "Direct message @{name}", - "account.disable_notifications": "Stop notifying me when @{name} posts", - "account.domain_blocked": "Domain hidden", - "account.edit_profile": "Edit profile", - "account.enable_notifications": "Notify me when @{name} posts", - "account.endorse": "Feature on profile", - "account.follow": "Follow", - "account.followers": "Followers", - "account.followers.empty": "No one follows this user yet.", - "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", - "account.following": "Following", - "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", - "account.follows.empty": "This user doesn't follow anyone yet.", - "account.follows_you": "Follows you", - "account.hide_reblogs": "Hide boosts from @{name}", - "account.joined": "Joined {date}", + "account.account_note_header": "Nóta", + "account.add_or_remove_from_list": "Cuir Le nó Bain De na liostaí", + "account.badges.bot": "Bota", + "account.badges.group": "Grúpa", + "account.block": "Bac @{name}", + "account.block_domain": "Bac ainm fearainn {domain}", + "account.blocked": "Bactha", + "account.browse_more_on_origin_server": "Brabhsáil níos mó ar an phróifíl bhunaidh", + "account.cancel_follow_request": "Cealaigh iarratas leanúnaí", + "account.direct": "Cuir teachtaireacht dhíreach ar @{name}", + "account.disable_notifications": "Éirigh as ag cuir mé in eol nuair bpostálann @{name}", + "account.domain_blocked": "Ainm fearainn bactha", + "account.edit_profile": "Cuir an phróifíl in eagar", + "account.enable_notifications": "Cuir mé in eol nuair bpostálann @{name}", + "account.endorse": "Cuir ar an phróifíl mar ghné", + "account.follow": "Lean", + "account.followers": "Leantóirí", + "account.followers.empty": "Ní leanann éinne an t-úsáideoir seo fós.", + "account.followers_counter": "{count, plural, one {Leantóir amháin} other {{counter} Leantóir}}", + "account.following": "Ag leanúint", + "account.following_counter": "{count, plural, one {Ag leanúint cúntas amháin} other {Ag leanúint {counter} cúntas}}", + "account.follows.empty": "Ní leanann an t-úsáideoir seo duine ar bith fós.", + "account.follows_you": "Do do leanúint", + "account.hide_reblogs": "Folaigh athphostálacha ó @{name}", + "account.joined": "Ina bhall ó {date}", "account.link_verified_on": "Ownership of this link was checked on {date}", - "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", - "account.media": "Media", - "account.mention": "Mention @{name}", - "account.moved_to": "{name} has moved to:", - "account.mute": "Mute @{name}", - "account.mute_notifications": "Mute notifications from @{name}", - "account.muted": "Muted", - "account.posts": "Toots", - "account.posts_with_replies": "Toots and replies", - "account.report": "Report @{name}", - "account.requested": "Awaiting approval", - "account.share": "Share @{name}'s profile", - "account.show_reblogs": "Show boosts from @{name}", - "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}", - "account.unblock": "Unblock @{name}", - "account.unblock_domain": "Unhide {domain}", - "account.unblock_short": "Unblock", - "account.unendorse": "Don't feature on profile", - "account.unfollow": "Unfollow", - "account.unmute": "Unmute @{name}", - "account.unmute_notifications": "Unmute notifications from @{name}", - "account.unmute_short": "Unmute", - "account_note.placeholder": "No comment provided", - "admin.dashboard.daily_retention": "User retention rate by day after sign-up", + "account.locked_info": "Tá an socrú príobháideachais don cuntas seo curtha go 'faoi ghlas'. Déanann an t-úinéir léirmheas ar cén daoine atá ceadaithe an cuntas leanúint.", + "account.media": "Ábhair", + "account.mention": "Luaigh @{name}", + "account.moved_to": "Tá {name} bogtha go:", + "account.mute": "Ciúnaigh @{name}", + "account.mute_notifications": "Ciúnaigh fógraí ó @{name}", + "account.muted": "Ciúnaithe", + "account.posts": "Postálacha", + "account.posts_with_replies": "Postálacha agus freagraí", + "account.report": "Gearán @{name}", + "account.requested": "Ag fanacht le ceadú. Cliceáil chun an iarratas leanúnaí a chealú", + "account.share": "Roinn próifíl @{name}", + "account.show_reblogs": "Taispeáin athphostálacha ó @{name}", + "account.statuses_counter": "{count, plural, one {Postáil amháin} other {{counter} Postáil}}", + "account.unblock": "Bain bac de @{name}", + "account.unblock_domain": "Bain bac den ainm fearainn {domain}", + "account.unblock_short": "Bain bac de", + "account.unendorse": "Ná chuir ar an phróifíl mar ghné", + "account.unfollow": "Ná lean a thuilleadh", + "account.unmute": "Díchiúnaigh @{name}", + "account.unmute_notifications": "Díchiúnaigh fógraí ó @{name}", + "account.unmute_short": "Díchiúnaigh", + "account_note.placeholder": "Cliceáil chun nóta a chuir leis", + "admin.dashboard.daily_retention": "Ráta coinneála an úsáideora de réir an lae tar éis clárú", "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", "admin.dashboard.retention.average": "Average", "admin.dashboard.retention.cohort": "Sign-up month", @@ -72,7 +72,7 @@ "column.community": "Local timeline", "column.direct": "Direct messages", "column.directory": "Browse profiles", - "column.domain_blocks": "Hidden domains", + "column.domain_blocks": "Blocked domains", "column.favourites": "Favourites", "column.follow_requests": "Follow requests", "column.home": "Home", @@ -121,8 +121,8 @@ "confirmations.delete.message": "Are you sure you want to delete this status?", "confirmations.delete_list.confirm": "Delete", "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?", - "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": "Faigh réidh de", + "confirmations.discard_edit_media.message": "Tá athruithe neamhshlánaithe don tuarascáil gné nó réamhamharc agat, faigh réidh dóibh ar aon nós?", "confirmations.domain_block.confirm": "Hide entire domain", "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.", "confirmations.logout.confirm": "Log out", @@ -152,7 +152,7 @@ "emoji_button.food": "Food & Drink", "emoji_button.label": "Insert emoji", "emoji_button.nature": "Nature", - "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻", + "emoji_button.not_found": "No matching emojis found", "emoji_button.objects": "Objects", "emoji_button.people": "People", "emoji_button.recent": "Frequently used", @@ -167,19 +167,19 @@ "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "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": "There are no hidden domains yet.", + "empty_column.domain_blocks": "There are no blocked domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "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": "You don't have any follow requests yet. When you receive one, it will show up here.", "empty_column.hashtag": "There is nothing in this hashtag yet.", - "empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.", + "empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}", "empty_column.home.suggestions": "See some suggestions", "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", "empty_column.mutes": "You haven't muted any users yet.", - "empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.", + "empty_column.notifications": "You don't have any notifications yet. When other people interact with you, you will see it here.", "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up", "error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.", "error.unexpected_crash.explanation_addons": "This page could not be displayed correctly. This error is likely caused by a browser add-on or automatic translation tools.", @@ -267,8 +267,8 @@ "lists.account.add": "Add to list", "lists.account.remove": "Remove from list", "lists.delete": "Delete list", - "lists.edit": "Edit list", - "lists.edit.submit": "Change title", + "lists.edit": "Cuir an liosta in eagar", + "lists.edit.submit": "Athraigh teideal", "lists.new.create": "Add list", "lists.new.title_placeholder": "New list title", "lists.replies_policy.followed": "Any followed user", @@ -279,7 +279,7 @@ "lists.subheading": "Your lists", "load_pending": "{count, plural, one {# new item} other {# new items}}", "loading_indicator.label": "Loading...", - "media_gallery.toggle_visible": "Hide media", + "media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}", "missing_indicator.label": "Not found", "missing_indicator.sublabel": "This resource could not be found", "mute_modal.duration": "Duration", @@ -293,12 +293,12 @@ "navigation_bar.direct": "Direct messages", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", - "navigation_bar.edit_profile": "Edit profile", + "navigation_bar.edit_profile": "Cuir an phróifíl in eagar", "navigation_bar.explore": "Explore", "navigation_bar.favourites": "Favourites", "navigation_bar.filters": "Muted words", "navigation_bar.follow_requests": "Follow requests", - "navigation_bar.follows_and_followers": "Follows and followers", + "navigation_bar.follows_and_followers": "Ag leanúint agus do do leanúint", "navigation_bar.info": "About this server", "navigation_bar.keyboard_shortcuts": "Hotkeys", "navigation_bar.lists": "Lists", @@ -311,14 +311,14 @@ "navigation_bar.security": "Security", "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your status", - "notification.follow": "{name} followed you", - "notification.follow_request": "{name} has requested to follow you", + "notification.follow": "Lean {name} thú", + "notification.follow_request": "D'iarr {name} ort do chuntas a leanúint", "notification.mention": "{name} mentioned you", "notification.own_poll": "Your poll has ended", "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} boosted your status", "notification.status": "{name} just posted", - "notification.update": "{name} edited a post", + "notification.update": "Chuir {name} postáil in eagar", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", "notifications.column_settings.admin.sign_up": "New sign-ups:", @@ -327,8 +327,8 @@ "notifications.column_settings.filter_bar.advanced": "Display all categories", "notifications.column_settings.filter_bar.category": "Quick filter bar", "notifications.column_settings.filter_bar.show_bar": "Show filter bar", - "notifications.column_settings.follow": "New followers:", - "notifications.column_settings.follow_request": "New follow requests:", + "notifications.column_settings.follow": "Leantóirí nua:", + "notifications.column_settings.follow_request": "Iarratais leanúnaí nua:", "notifications.column_settings.mention": "Mentions:", "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push notifications", @@ -338,7 +338,7 @@ "notifications.column_settings.status": "New toots:", "notifications.column_settings.unread_notifications.category": "Unread notifications", "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", - "notifications.column_settings.update": "Edits:", + "notifications.column_settings.update": "Eagair:", "notifications.filter.all": "All", "notifications.filter.boosts": "Boosts", "notifications.filter.favourites": "Favourites", @@ -366,13 +366,13 @@ "poll_button.add_poll": "Add a poll", "poll_button.remove_poll": "Remove poll", "privacy.change": "Adjust status privacy", - "privacy.direct.long": "Post to mentioned users only", + "privacy.direct.long": "Visible for mentioned users only", "privacy.direct.short": "Direct", - "privacy.private.long": "Post to followers only", - "privacy.private.short": "Followers-only", - "privacy.public.long": "Post to public timelines", + "privacy.private.long": "Sofheicthe do Leantóirí amháin", + "privacy.private.short": "Leantóirí amháin", + "privacy.public.long": "Visible for all, shown in public timelines", "privacy.public.short": "Public", - "privacy.unlisted.long": "Do not show in public timelines", + "privacy.unlisted.long": "Visible for all, but not in public timelines", "privacy.unlisted.short": "Unlisted", "refresh": "Refresh", "regeneration_indicator.label": "Loading…", @@ -405,20 +405,20 @@ "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Next", - "report.placeholder": "Additional comments", + "report.placeholder": "Type or paste additional comments", "report.reasons.dislike": "I don't like it", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", "report.reasons.other_description": "The issue does not fit into other categories", "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetetive replies", + "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.violation": "It violates server rules", "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.submit": "Submit", + "report.submit": "Submit report", "report.target": "Report {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}:", @@ -450,14 +450,14 @@ "status.delete": "Delete", "status.detailed_status": "Detailed conversation view", "status.direct": "Direct message @{name}", - "status.edit": "Edit", - "status.edited": "Edited {date}", - "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", + "status.edit": "Cuir in eagar", + "status.edited": "Curtha in eagar in {date}", + "status.edited_x_times": "Curtha in eagar {count, plural, one {{count} uair amháin} two {{count} uair} few {{count} uair} many {{count} uair} other {{count} uair}}", "status.embed": "Embed", "status.favourite": "Favourite", "status.filtered": "Filtered", "status.history.created": "{name} created {date}", - "status.history.edited": "{name} edited {date}", + "status.history.edited": "Curtha in eagar ag {name} in {date}", "status.load_more": "Load more", "status.media_hidden": "Media hidden", "status.mention": "Mention @{name}", @@ -500,7 +500,7 @@ "time_remaining.moments": "Moments remaining", "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left", "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.", - "timeline_hint.resources.followers": "Followers", + "timeline_hint.resources.followers": "Leantóirí", "timeline_hint.resources.follows": "Follows", "timeline_hint.resources.statuses": "Older toots", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking", @@ -510,13 +510,13 @@ "units.short.million": "{count}M", "units.short.thousand": "{count}K", "upload_area.title": "Drag & drop to upload", - "upload_button.label": "Add media ({formats})", + "upload_button.label": "Add images, a video or an audio file", "upload_error.limit": "File upload limit exceeded.", "upload_error.poll": "File upload not allowed with polls.", "upload_form.audio_description": "Describe for people with hearing loss", "upload_form.description": "Describe for the visually impaired", "upload_form.description_missing": "No description added", - "upload_form.edit": "Edit", + "upload_form.edit": "Cuir in eagar", "upload_form.thumbnail": "Change thumbnail", "upload_form.undo": "Delete", "upload_form.video_description": "Describe for people with hearing loss or visual impairment", @@ -526,19 +526,19 @@ "upload_modal.choose_image": "Choose image", "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog", "upload_modal.detect_text": "Detect text from picture", - "upload_modal.edit_media": "Edit media", + "upload_modal.edit_media": "Cuir gné in eagar", "upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.", "upload_modal.preparing_ocr": "Preparing OCR…", "upload_modal.preview_label": "Preview ({ratio})", - "upload_progress.label": "Uploading...", + "upload_progress.label": "Uploading…", "video.close": "Close video", "video.download": "Download file", "video.exit_fullscreen": "Exit full screen", "video.expand": "Expand video", "video.fullscreen": "Full screen", "video.hide": "Hide video", - "video.mute": "Mute sound", - "video.pause": "Pause", - "video.play": "Play", - "video.unmute": "Unmute sound" + "video.mute": "Ciúnaigh fuaim", + "video.pause": "Cuir ar sos", + "video.play": "Cuir ar siúl", + "video.unmute": "Díchiúnaigh fuaim" } diff --git a/config/locales/activerecord.ga.yml b/config/locales/activerecord.ga.yml new file mode 100644 index 000000000..20a9da24e --- /dev/null +++ b/config/locales/activerecord.ga.yml @@ -0,0 +1 @@ +ga: diff --git a/config/locales/ar.yml b/config/locales/ar.yml index da2a74e2e..e5cd29da7 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -26,6 +26,8 @@ ar: هذا الحساب هو ممثل افتراضي يستخدم لتمثيل الخادم نفسه وليس أي مستخدم فردي. يستخدم لأغراض الاتحاد ولا ينبغي حظره إلا إذا كنت ترغب في حظر مثيل الخادم بأكمله، في هذه الحالة يجب عليك استخدام أداة حظر النطاق. learn_more: تعلم المزيد + logged_in_as_html: أنت متصل حالياً كـ %{username}. + logout_before_registering: أنت متصل سلفًا. privacy_policy: سياسة الخصوصية rules: قوانين الخادم rules_html: 'فيما يلي ملخص للقوانين التي تحتاج إلى اتباعها إذا كنت تريد أن يكون لديك حساب على هذا الخادم من ماستدون:' @@ -178,6 +180,7 @@ ar: not_subscribed: غير مشترك pending: في انتظار المراجعة perform_full_suspension: تعليق الحساب + previous_strikes: العقوبات السابقة promote: ترقية protocol: البروتوكول public: عمومي diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 411b799ba..fe43fd47a 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -67,7 +67,7 @@ ca: following: Seguint instance_actor_flash: Aquest compte és un actor virtual usat per a representar el mateix servidor i no cap usuari individual. Es fa servir per a federar i no s'hauria d'esborrar. joined: Unit des de %{date} - last_active: darrer actiu + last_active: última activitat link_verified_on: La propietat d'aquest enllaç s'ha verificat el %{date} media: Mèdia moved_html: "%{name} s'ha mogut a %{new_profile_link}:" @@ -517,6 +517,7 @@ ca: delivery: all: Totes clear: Neteja els errors de lliurament + failing: Fallant restart: Reinicia el lliurament stop: Atura el lliurament unavailable: No disponible @@ -1321,7 +1322,7 @@ ca: followers: Seguidors following: Seguint invited: Convidat - last_active: Darrer actiu + last_active: Última activitat most_recent: Més recent moved: Mogut mutual: Mútua diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 6e235eb50..4c373d74c 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -500,10 +500,10 @@ cs: instances: availability: description_html: - few: Pokud doručování na doménu selhává nepřerušeně ve %{count} různých dnech, nebudou činěny žádné další pokusy o doručení, dokud nedorazí doručení od domény. - many: Pokud doručování na doménu selhává nepřerušeně v %{count} různých dnech, nebudou činěny žádné další pokusy o doručení, dokud nedorazí doručení od domény. - one: Pokud doručování na doménu selhává nepřerušeně %{count} den, nebudou činěny žádné další pokusy o doručení, dokud nedorazí doručení od domény. - other: Pokud doručování na doménu selhává nepřerušeně v %{count} různých dnech, nebudou činěny žádné další pokusy o doručení, dokud nedorazí doručení od domény. + few: Pokud doručování na doménu selže ve %{count} různých dnech, nebudou činěny žádné další pokusy o doručení, dokud nedorazí doručení od domény. + many: Pokud doručování na doménu selže v %{count} různých dnech, nebudou činěny žádné další pokusy o doručení, dokud nedorazí doručení od domény. + one: Pokud doručování na doménu selže %{count} den, nebudou činěny žádné další pokusy o doručení, dokud nedorazí doručení od domény. + other: Pokud doručování na doménu selže v %{count} různých dnech, nebudou činěny žádné další pokusy o doručení, dokud nedorazí doručení od domény. failure_threshold_reached: Prahu selhání dosaženo %{date}. failures_recorded: few: Neúspěšné pokusy ve %{count} různých dnech. @@ -514,7 +514,7 @@ cs: title: Dostupnost warning: Poslední pokus o připojení k tomuto serveru byl neúspěšný back_to_all: Vše - back_to_limited: Omezený + back_to_limited: Omezená back_to_warning: Varování by_domain: Doména confirm_purge: Jste si jisti, že chcete nevratně smazat data z této domény? @@ -541,9 +541,10 @@ cs: delivery: all: Vše clear: Vymazat chyby doručení + failing: Selhává restart: Restartovat doručování stop: Zastavit doručování - unavailable: Nedostupný + unavailable: Nedostupná delivery_available: Doručení je k dispozici delivery_error_days: Dny chybného doručování delivery_error_hint: Není-li možné doručení po dobu %{count} dnů, bude automaticky označen za nedoručitelný. diff --git a/config/locales/de.yml b/config/locales/de.yml index c3f8a3d95..ab562ba32 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -1677,7 +1677,7 @@ de: edit_profile_step: Du kannst dein Profil anpassen, indem du einen Avatar oder ein Titelbild hochlädst oder deinen Anzeigenamen änderst und mehr. Wenn du deine Folgenden vorher überprüfen möchtest, bevor sie dir folgen können, dann kannst du dein Profil sperren. explanation: Hier sind ein paar Tipps, um loszulegen final_action: Fang an zu posten - final_step: 'Fang an zu posten! Selbst ohne Follower werden deine öffentlichen Beitrage von anderen gesehen, zum Beispiel auf der lokalen Zeitleiste oder in Hashtags. Vielleicht möchtest du dich vorstellen mit dem #introductions-Hashtag.' + final_step: 'Fang an zu posten! Selbst ohne Follower werden deine öffentlichen Beiträge von anderen gesehen, zum Beispiel auf der lokalen Zeitleiste oder in Hashtags. Vielleicht möchtest du dich vorstellen mit dem #introductions-Hashtag.' full_handle: Dein vollständiger Benutzername full_handle_hint: Dies ist was du deinen Freunden sagen kannst, damit sie dich anschreiben oder von einem anderen Server folgen können. review_preferences_action: Einstellungen ändern diff --git a/config/locales/devise.ga.yml b/config/locales/devise.ga.yml new file mode 100644 index 000000000..20a9da24e --- /dev/null +++ b/config/locales/devise.ga.yml @@ -0,0 +1 @@ +ga: diff --git a/config/locales/doorkeeper.ar.yml b/config/locales/doorkeeper.ar.yml index 7c8d0b239..07314684d 100644 --- a/config/locales/doorkeeper.ar.yml +++ b/config/locales/doorkeeper.ar.yml @@ -71,6 +71,7 @@ ar: revoke: متأكد ؟ index: authorized_at: تاريخ التخويل %{date} + description_html: يمكن لهذه التطبيقات الوصول إلى حسابك من باستخدام الـ API. إذا وجدت تطبيقات لا تتعرف عليها أو لا تعمل بشكل طبيعي ، فيمكنك إبطال وصولها لحسابك. last_used_at: آخر استخدام في %{date} never_used: لم يُستخدَم قط scopes: الصلاحيات diff --git a/config/locales/doorkeeper.ga.yml b/config/locales/doorkeeper.ga.yml new file mode 100644 index 000000000..20a9da24e --- /dev/null +++ b/config/locales/doorkeeper.ga.yml @@ -0,0 +1 @@ +ga: diff --git a/config/locales/el.yml b/config/locales/el.yml index 518fae886..2d475c518 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -380,6 +380,8 @@ el: instances: by_domain: Τομέας confirm_purge: Είστε βέβαιοι ότι θέλετε να διαγράψετε μόνιμα τα δεδομένα από αυτόν τον τομέα; + delivery: + failing: Αποτυγχάνει delivery_available: Διαθέσιμη παράδοση destroyed_msg: Τα δεδομένα από το %{domain} βρίσκονται σε αναμονή για επικείμενη διαγραφή. empty: Δεν βρέθηκαν τομείς. diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index 9a13264fb..98b790487 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -517,6 +517,7 @@ es-AR: delivery: all: Todos clear: Limpiar errores de entrega + failing: Fallo restart: Reiniciar entrega stop: Detener entrega unavailable: No disponible diff --git a/config/locales/es.yml b/config/locales/es.yml index 4f3a9e0da..3a369f38e 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -517,6 +517,7 @@ es: delivery: all: Todos clear: Limpiar errores de entrega + failing: Fallando restart: Reiniciar entrega stop: Detener entrega unavailable: No disponible diff --git a/config/locales/fr.yml b/config/locales/fr.yml index fd38f878b..fac498c4e 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -517,6 +517,7 @@ fr: delivery: all: Tout clear: Effacer les erreurs de livraison + failing: Échouant restart: Redémarrer la livraison stop: Arrêter la livraison unavailable: Indisponible diff --git a/config/locales/ga.yml b/config/locales/ga.yml index 9f586aa37..5f433e280 100644 --- a/config/locales/ga.yml +++ b/config/locales/ga.yml @@ -1,4 +1,12 @@ --- ga: - about: - about_hashtag_html: Is toots phoiblí iad seo atá clibáilte le #%{hashtag}. Is féidir leat idirghníomhú leo má tá cuntas agat áit ar bith sa fediverse. + errors: + '400': The request you submitted was invalid or malformed. + '403': You don't have permission to view this page. + '404': The page you are looking for isn't here. + '406': This page is not available in the requested format. + '410': The page you were looking for doesn't exist here anymore. + '422': + '429': Too many requests + '500': + '503': The page could not be served due to a temporary server failure. diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 75062eca6..20dc58732 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -517,6 +517,7 @@ gl: delivery: all: Todo clear: Eliminar erros na entrega + failing: Con fallos restart: Restablecer a entrega stop: Deter a entrega unavailable: Non dispoñible diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 5148f8c08..73a63b3de 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -519,6 +519,7 @@ hu: delivery: all: Mind clear: Kézbesítési hibák törlése + failing: Sikertelen restart: Kézbesítés újraindítása stop: Kézbesítés leállítása unavailable: Nem elérhető @@ -1237,6 +1238,9 @@ hu: new_followers_summary: one: Sőt, egy új követőd is lett, amióta nem jártál itt. Hurrá! other: Sőt, %{count} új követőd is lett, amióta nem jártál itt. Hihetetlen! + subject: + one: "1 új értesítés az utolsó látogatásod óta 🐘" + other: "%{count} új értesítés az utolsó látogatásod óta 🐘" title: Amíg távol voltál… favourite: body: 'A bejegyzésedet kedvencnek jelölte %{name}:' diff --git a/config/locales/id.yml b/config/locales/id.yml index d4f26c969..b63807705 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -503,6 +503,7 @@ id: delivery: all: Semua clear: Hapus galat pengiriman + failing: Gagal restart: Mulai ulang pengiriman stop: Setop pengiriman unavailable: Tidak tersedia diff --git a/config/locales/is.yml b/config/locales/is.yml index a3570fec2..052d652bf 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -517,6 +517,7 @@ is: delivery: all: Allt clear: Hreinsa afhendingarvillur + failing: Mistekst restart: Endurræsa afhendingu stop: Stöðva afhendingu unavailable: Ekki tiltækt diff --git a/config/locales/it.yml b/config/locales/it.yml index d630a4f29..3ab203c39 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -517,6 +517,7 @@ it: delivery: all: Tutto clear: Cancella errori di consegna + failing: Con errori restart: Riavvia la consegna stop: Interrompi consegna unavailable: Non disponibile diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 80ae84b7b..4a1e9f7d3 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -499,6 +499,7 @@ ja: delivery: all: すべて clear: 配送エラーをクリア + failing: 配送失敗 restart: 配送を再開 stop: 配送を停止 unavailable: 配送不可 diff --git a/config/locales/ko.yml b/config/locales/ko.yml index d439b0349..fb574fee6 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -507,6 +507,7 @@ ko: delivery: all: 전체 clear: 전달 에러 초기화 + failing: 실패중 restart: 전달 재시작 stop: 전달 중지 unavailable: 사용불가 diff --git a/config/locales/ku.yml b/config/locales/ku.yml index 8d218985b..192cd0b8f 100644 --- a/config/locales/ku.yml +++ b/config/locales/ku.yml @@ -519,6 +519,7 @@ ku: delivery: all: Hemû clear: Çewtiyên gihandinê paqij bike + failing: Têkçûn restart: Gihandinê nû va bike stop: Gehandinê rawestîne unavailable: Nederbasdar diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 7da86b954..c97a183f9 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -529,6 +529,7 @@ lv: delivery: all: Visas clear: Notīrīt piegādes kļūdas + failing: Neizdošanās restart: Pārstartēt piegādi stop: Apturēt piegādi unavailable: Nav pieejams diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 45689ec4d..fd82bcf36 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -496,6 +496,7 @@ ru: delivery: all: Все clear: Очистить ошибки доставки + failing: Неудача restart: Перезапустить доставку stop: Остановить доставку unavailable: Недоступные diff --git a/config/locales/simple_form.ga.yml b/config/locales/simple_form.ga.yml new file mode 100644 index 000000000..20a9da24e --- /dev/null +++ b/config/locales/simple_form.ga.yml @@ -0,0 +1 @@ +ga: diff --git a/config/locales/simple_form.tr.yml b/config/locales/simple_form.tr.yml index b6d1ad781..21e3aab78 100644 --- a/config/locales/simple_form.tr.yml +++ b/config/locales/simple_form.tr.yml @@ -3,9 +3,9 @@ tr: simple_form: hints: account_alias: - acct: Taşımak istediğiniz hesabın kullanıcıadı@alanadını belirtin + acct: Taşıyacağınız hesabı kullanıcıadı@alanadı şeklinde belirtin account_migration: - acct: Taşımak istediğiniz hesabın kullanıcıadı@alanadını belirtin + acct: Yeni hesabınızı kullanıcıadı@alanadını şeklinde belirtin account_warning_preset: text: URL'ler, etiketler ve bahsedenler gibi toot sözdizimini kullanabilirsiniz title: İsteğe bağlı. Alıcıya görünmez diff --git a/config/locales/th.yml b/config/locales/th.yml index 675a8c445..c3601aa2a 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -1,7 +1,7 @@ --- th: about: - about_hashtag_html: มีการแท็กโพสต์สาธารณะเหล่านี้ด้วย #%{hashtag} คุณสามารถโต้ตอบกับโพสต์ได้หากคุณมีบัญชีที่ใดก็ตามในจักรวาลสหพันธ์ + about_hashtag_html: นี่คือโพสต์สาธารณะที่ได้รับการแท็กด้วย #%{hashtag} คุณสามารถโต้ตอบกับโพสต์ได้หากคุณมีบัญชีที่ใดก็ตามในจักรวาลสหพันธ์ about_mastodon_html: 'เครือข่ายสังคมแห่งอนาคต: ไม่มีโฆษณา ไม่มีการสอดแนมโดยองค์กร การออกแบบตามหลักจริยธรรม และการกระจายศูนย์! เป็นเจ้าของข้อมูลของคุณด้วย Mastodon!' about_this: เกี่ยวกับ active_count_after: ใช้งานอยู่ @@ -481,6 +481,7 @@ th: delivery: all: ทั้งหมด clear: ล้างข้อผิดพลาดการจัดส่ง + failing: ล้มเหลว restart: เริ่มการจัดส่งใหม่ stop: หยุดการจัดส่ง unavailable: ไม่พร้อมใช้งาน diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 9b08117e1..2099a066c 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -517,6 +517,7 @@ tr: delivery: all: Tümü clear: Teslimat hatalarını temizle + failing: Hata restart: Teslimatı yeniden başlat stop: Teslimatı durdur unavailable: Mevcut Değil @@ -1279,7 +1280,7 @@ tr: billion: Mr million: Mn quadrillion: Kn - thousand: Bn + thousand: Bin trillion: Tn otp_authentication: code_hint: Onaylamak için authenticator uygulamanız tarafından oluşturulan kodu girin diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 2c52a2145..bb4d3fd0d 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -489,6 +489,7 @@ uk: delivery: all: Усі clear: Очистити помилки доставляння + failing: Невдалі restart: Перезапустити доставляння stop: Припинити доставляння unavailable: Недоступно diff --git a/config/locales/vi.yml b/config/locales/vi.yml index a7d9f1656..1e839394b 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -51,7 +51,7 @@ vi: user_count_after: other: người dùng user_count_before: Nhà của - what_is_mastodon: Mastodon + what_is_mastodon: Mastodon là gì? accounts: choices_html: "%{name} tôn vinh:" endorsements_hint: Bạn có thể tôn vinh những người bạn theo dõi và họ sẽ hiển thị ở giao diện web. @@ -503,6 +503,7 @@ vi: delivery: all: Toàn bộ clear: Xóa phân phối lỗi + failing: Mất kết nối restart: Khởi động lại phân phối stop: Ngưng phân phối unavailable: Không khả dụng @@ -968,7 +969,7 @@ vi: date: formats: default: "%-d %B, %Y" - with_month_name: "%B %d, %Y" + with_month_name: "%-d tháng %-m, %Y" datetime: distance_in_words: about_x_hours: "%{count} giờ" @@ -1538,7 +1539,7 @@ vi: mastodon-light: Mastodon (Sáng) time: formats: - default: "%d.%m.%Y %H:%M" + default: "%-d.%m.%Y %H:%M" month: "%B %Y" time: "%H:%M" two_factor_authentication: diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index f2b55d7a3..8948932bb 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -505,6 +505,7 @@ zh-TW: delivery: all: 所有 clear: 清除遞送錯誤 + failing: 發送失敗 restart: 重新啟動遞送 stop: 停止遞送 unavailable: 無法使用 From 33cd80d69c1491ff70ce9191113763c76cb7e6b7 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 26 Apr 2022 21:22:09 +0200 Subject: [PATCH 244/276] Fix instance actor being incorrectly created when running migrations (#18109) * Add migration test about instance actor key * Fix old migration * Work around incorrect database state --- app/models/account.rb | 6 ++++++ app/models/concerns/account_finder_concern.rb | 2 +- db/migrate/20190715164535_add_instance_actor.rb | 8 ++++++++ lib/tasks/tests.rake | 5 +++++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/app/models/account.rb b/app/models/account.rb index a8c5df208..7b460b054 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -559,6 +559,12 @@ class Account < ApplicationRecord before_validation :prepare_username, on: :create before_destroy :clean_feed_manager + def ensure_keys! + return unless local? && private_key.blank? && public_key.blank? + generate_keys + save! + end + private def prepare_contents diff --git a/app/models/concerns/account_finder_concern.rb b/app/models/concerns/account_finder_concern.rb index 0dadddad1..e8b804934 100644 --- a/app/models/concerns/account_finder_concern.rb +++ b/app/models/concerns/account_finder_concern.rb @@ -13,7 +13,7 @@ module AccountFinderConcern end def representative - Account.find(-99) + Account.find(-99).tap(&:ensure_keys!) rescue ActiveRecord::RecordNotFound Account.create!(id: -99, actor_type: 'Application', locked: true, username: Rails.configuration.x.local_domain) end diff --git a/db/migrate/20190715164535_add_instance_actor.rb b/db/migrate/20190715164535_add_instance_actor.rb index 8c0301d69..0ae53199a 100644 --- a/db/migrate/20190715164535_add_instance_actor.rb +++ b/db/migrate/20190715164535_add_instance_actor.rb @@ -2,6 +2,14 @@ class AddInstanceActor < ActiveRecord::Migration[5.2] class Account < ApplicationRecord # Dummy class, to make migration possible across version changes validates :username, uniqueness: { scope: :domain, case_sensitive: false } + + before_create :generate_keys + + def generate_keys + keypair = OpenSSL::PKey::RSA.new(2048) + self.private_key = keypair.to_pem + self.public_key = keypair.public_key.to_pem + end end def up diff --git a/lib/tasks/tests.rake b/lib/tasks/tests.rake index 8082f32fb..0f3b44a74 100644 --- a/lib/tasks/tests.rake +++ b/lib/tasks/tests.rake @@ -33,6 +33,11 @@ namespace :tests do puts 'AccountConversation records not created as expected' exit(1) end + + if Account.find(-99).private_key.blank? + puts 'Instance actor does not have a private key' + exit(1) + end end desc 'Populate the database with test data for 2.4.0' From 0360135d4d39d838fa9b090abc1e76284eb8ff64 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 26 Apr 2022 21:25:26 +0200 Subject: [PATCH 245/276] =?UTF-8?q?Fix=20PeerTube=20videos=20appearing=20w?= =?UTF-8?q?ith=20an=20erroneous=20=E2=80=9CEdited=20at=E2=80=9D=20marker?= =?UTF-8?q?=20(#18100)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix PeerTube videos appearing with an erroneous “Edited at” marker PeerTube videos have an `updated` field equal to `published`. When processing an incoming activity that has the same value for `updated` and `published`, assume this doesn't represent an actual edit. * Please CodeClimate --- app/lib/activitypub/activity/create.rb | 2 +- spec/lib/activitypub/activity/create_spec.rb | 52 ++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index f4f98e29c..1f32d8cce 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -117,7 +117,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity language: @status_parser.language, spoiler_text: converted_object_type? ? '' : (@status_parser.spoiler_text || ''), created_at: @status_parser.created_at, - edited_at: @status_parser.edited_at, + edited_at: @status_parser.edited_at && @status_parser.edited_at != @status_parser.created_at ? @status_parser.edited_at : nil, override_timestamps: @options[:override_timestamps], reply: @status_parser.reply, sensitive: @account.sensitized? || @status_parser.sensitive || false, diff --git a/spec/lib/activitypub/activity/create_spec.rb b/spec/lib/activitypub/activity/create_spec.rb index 2703c18f3..1a25395fa 100644 --- a/spec/lib/activitypub/activity/create_spec.rb +++ b/spec/lib/activitypub/activity/create_spec.rb @@ -29,6 +29,58 @@ RSpec.describe ActivityPub::Activity::Create do subject.perform end + context 'object has been edited' do + let(:object_json) do + { + id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join, + type: 'Note', + content: 'Lorem ipsum', + published: '2022-01-22T15:00:00Z', + updated: '2022-01-22T16:00:00Z', + } + end + + it 'creates status' do + status = sender.statuses.first + + expect(status).to_not be_nil + expect(status.text).to eq 'Lorem ipsum' + end + + it 'marks status as edited' do + status = sender.statuses.first + + expect(status).to_not be_nil + expect(status.edited?).to eq true + end + end + + context 'object has update date equal to creation date' do + let(:object_json) do + { + id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join, + type: 'Note', + content: 'Lorem ipsum', + published: '2022-01-22T15:00:00Z', + updated: '2022-01-22T15:00:00Z', + } + end + + it 'creates status' do + status = sender.statuses.first + + expect(status).to_not be_nil + expect(status.text).to eq 'Lorem ipsum' + end + + it 'does not mark status as edited' do + status = sender.statuses.first + + expect(status).to_not be_nil + expect(status.edited?).to eq false + end + end + context 'unknown object type' do let(:object_json) do { From b9197486e5bb0710526d6155347cc2c6f8b5948a Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 26 Apr 2022 21:48:36 +0200 Subject: [PATCH 246/276] Fix UnmergeWorker being exceptionally slow in some conditions (#18110) --- app/lib/feed_manager.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb index 34bb63b8d..26285bfee 100644 --- a/app/lib/feed_manager.rb +++ b/app/lib/feed_manager.rb @@ -157,10 +157,10 @@ class FeedManager # @param [Account] into_account # @return [void] def unmerge_from_home(from_account, into_account) - timeline_key = key(:home, into_account.id) - oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true)&.first&.last&.to_i || 0 + timeline_key = key(:home, into_account.id) + timeline_status_ids = redis.zrange(timeline_key, 0, -1) - from_account.statuses.select('id, reblog_of_id').where('id > ?', oldest_home_score).reorder(nil).find_each do |status| + from_account.statuses.select('id, reblog_of_id').where(id: timeline_status_ids).reorder(nil).find_each do |status| remove_from_feed(:home, into_account.id, status, into_account.user&.aggregates_reblogs?) end end @@ -170,10 +170,10 @@ class FeedManager # @param [List] list # @return [void] def unmerge_from_list(from_account, list) - timeline_key = key(:list, list.id) - oldest_list_score = redis.zrange(timeline_key, 0, 0, with_scores: true)&.first&.last&.to_i || 0 + timeline_key = key(:list, list.id) + timeline_status_ids = redis.zrange(timeline_key, 0, -1) - from_account.statuses.select('id, reblog_of_id').where('id > ?', oldest_list_score).reorder(nil).find_each do |status| + from_account.statuses.select('id, reblog_of_id').where(id: timeline_status_ids).reorder(nil).find_each do |status| remove_from_feed(:list, list.id, status, list.account.user&.aggregates_reblogs?) end end From b93e2ae0a4b6e9ea7e3d3ea721ad46d43cb4eedb Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 26 Apr 2022 22:06:31 +0200 Subject: [PATCH 247/276] Fix n+1 query on feed merge and populate operations (#18111) --- app/lib/feed_manager.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb index 26285bfee..4811ebbcc 100644 --- a/app/lib/feed_manager.rb +++ b/app/lib/feed_manager.rb @@ -107,7 +107,7 @@ class FeedManager def merge_into_home(from_account, into_account) timeline_key = key(:home, into_account.id) aggregate = into_account.user&.aggregates_reblogs? - query = from_account.statuses.where(visibility: [:public, :unlisted, :private]).includes(:preloadable_poll, reblog: :account).limit(FeedManager::MAX_ITEMS / 4) + query = from_account.statuses.where(visibility: [:public, :unlisted, :private]).includes(:preloadable_poll, :media_attachments, reblog: :account).limit(FeedManager::MAX_ITEMS / 4) if redis.zcard(timeline_key) >= FeedManager::MAX_ITEMS / 4 oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true).first.last.to_i @@ -133,7 +133,7 @@ class FeedManager def merge_into_list(from_account, list) timeline_key = key(:list, list.id) aggregate = list.account.user&.aggregates_reblogs? - query = from_account.statuses.where(visibility: [:public, :unlisted, :private]).includes(:preloadable_poll, reblog: :account).limit(FeedManager::MAX_ITEMS / 4) + query = from_account.statuses.where(visibility: [:public, :unlisted, :private]).includes(:preloadable_poll, :media_attachments, reblog: :account).limit(FeedManager::MAX_ITEMS / 4) if redis.zcard(timeline_key) >= FeedManager::MAX_ITEMS / 4 oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true).first.last.to_i @@ -251,7 +251,7 @@ class FeedManager next if last_status_score < oldest_home_score end - statuses = target_account.statuses.where(visibility: [:public, :unlisted, :private]).includes(:preloadable_poll, reblog: :account).limit(limit) + statuses = target_account.statuses.where(visibility: [:public, :unlisted, :private]).includes(:preloadable_poll, :media_attachments, reblog: :account).limit(limit) crutches = build_crutches(account.id, statuses) statuses.each do |status| From 7598e0cd1f9beae37b236be38bc8e68e44b8af21 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Apr 2022 09:12:55 +0900 Subject: [PATCH 248/276] Bump sidekiq-unique-jobs from 7.1.19 to 7.1.21 (#18085) Bumps [sidekiq-unique-jobs](https://github.com/mhenrixon/sidekiq-unique-jobs) from 7.1.19 to 7.1.21. - [Release notes](https://github.com/mhenrixon/sidekiq-unique-jobs/releases) - [Changelog](https://github.com/mhenrixon/sidekiq-unique-jobs/blob/main/CHANGELOG.md) - [Commits](https://github.com/mhenrixon/sidekiq-unique-jobs/compare/v7.1.19...v7.1.21) --- updated-dependencies: - dependency-name: sidekiq-unique-jobs dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 497c58aa7..123aa5ce1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -614,7 +614,7 @@ GEM sidekiq (>= 3) thwait tilt (>= 1.4.0) - sidekiq-unique-jobs (7.1.19) + sidekiq-unique-jobs (7.1.21) brpoplpush-redis_script (> 0.1.1, <= 2.0.0) concurrent-ruby (~> 1.0, >= 1.0.5) sidekiq (>= 5.0, < 8.0) From 4bd82e15fb138763684bce74ab265cf5113459c6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Apr 2022 09:13:52 +0900 Subject: [PATCH 249/276] Bump aws-sdk-s3 from 1.113.0 to 1.113.1 (#18094) Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.113.0 to 1.113.1. - [Release notes](https://github.com/aws/aws-sdk-ruby/releases) - [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-ruby/commits) --- updated-dependencies: - dependency-name: aws-sdk-s3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 123aa5ce1..8751775ef 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -81,20 +81,20 @@ GEM attr_required (1.0.1) awrence (1.1.1) aws-eventstream (1.2.0) - aws-partitions (1.558.0) - aws-sdk-core (3.127.0) + aws-partitions (1.579.0) + aws-sdk-core (3.130.2) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.525.0) aws-sigv4 (~> 1.1) jmespath (~> 1.0) - aws-sdk-kms (1.55.0) + aws-sdk-kms (1.56.0) aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.113.0) + aws-sdk-s3 (1.113.1) aws-sdk-core (~> 3, >= 3.127.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.4) - aws-sigv4 (1.4.0) + aws-sigv4 (1.5.0) aws-eventstream (~> 1, >= 1.0.2) bcrypt (3.1.17) better_errors (2.9.1) @@ -320,7 +320,7 @@ GEM terminal-table (>= 1.5.1) idn-ruby (0.1.4) ipaddress (0.8.3) - jmespath (1.6.0) + jmespath (1.6.1) json (2.5.1) json-canonicalization (0.3.0) json-jwt (1.13.0) From b5d2c91d4aeeca01327bd1320cea3d6191097a78 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Apr 2022 09:16:18 +0900 Subject: [PATCH 250/276] Bump express from 4.17.3 to 4.18.0 (#18088) Bumps [express](https://github.com/expressjs/express) from 4.17.3 to 4.18.0. - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/master/History.md) - [Commits](https://github.com/expressjs/express/compare/4.17.3...4.18.0) --- updated-dependencies: - dependency-name: express dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 155 ++++++++++++++++++++++++++++----------------------- 2 files changed, 86 insertions(+), 71 deletions(-) diff --git a/package.json b/package.json index bc768f28a..42869908f 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "es6-symbol": "^3.1.3", "escape-html": "^1.0.3", "exif-js": "^2.3.0", - "express": "^4.17.3", + "express": "^4.18.0", "file-loader": "^6.2.0", "font-awesome": "^4.7.0", "glob": "^7.2.0", diff --git a/yarn.lock b/yarn.lock index 961119c4f..5e6a215c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2610,21 +2610,23 @@ bn.js@^5.1.1: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== -body-parser@1.19.2: - version "1.19.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e" - integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw== +body-parser@1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" + integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== dependencies: bytes "3.1.2" content-type "~1.0.4" debug "2.6.9" - depd "~1.1.2" - http-errors "1.8.1" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.9.7" - raw-body "2.4.3" + on-finished "2.4.1" + qs "6.10.3" + raw-body "2.5.1" type-is "~1.6.18" + unpipe "1.0.0" bonjour@^3.5.0: version "3.5.0" @@ -3359,10 +3361,10 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= -cookie@0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== copy-concurrently@^1.0.0: version "1.0.5" @@ -3883,6 +3885,11 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" @@ -3896,10 +3903,10 @@ des.js@^1.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== detect-file@^1.0.0: version "1.0.0" @@ -4712,38 +4719,39 @@ expect@^27.5.1: jest-matcher-utils "^27.5.1" jest-message-util "^27.5.1" -express@^4.17.1, express@^4.17.3: - version "4.17.3" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" - integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== +express@^4.17.1, express@^4.18.0: + version "4.18.0" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.0.tgz#7a426773325d0dd5406395220614c0db10b6e8e2" + integrity sha512-EJEXxiTQJS3lIPrU1AE2vRuT7X7E+0KBbpm5GSoK524yl0K8X+er8zS2P14E64eqsVNoWbMCT7MpmQ+ErAhgRg== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.19.2" + body-parser "1.20.0" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.4.2" + cookie "0.5.0" cookie-signature "1.0.6" debug "2.6.9" - depd "~1.1.2" + depd "2.0.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "~1.1.2" + finalhandler "1.2.0" fresh "0.5.2" + http-errors "2.0.0" merge-descriptors "1.0.1" methods "~1.1.2" - on-finished "~2.3.0" + on-finished "2.4.1" parseurl "~1.3.3" path-to-regexp "0.1.7" proxy-addr "~2.0.7" - qs "6.9.7" + qs "6.10.3" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.17.2" - serve-static "1.14.2" + send "0.18.0" + serve-static "1.15.0" setprototypeof "1.2.0" - statuses "~1.5.0" + statuses "2.0.1" type-is "~1.6.18" utils-merge "1.0.1" vary "~1.1.2" @@ -4876,17 +4884,17 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== dependencies: debug "2.6.9" encodeurl "~1.0.2" escape-html "~1.0.3" - on-finished "~2.3.0" + on-finished "2.4.1" parseurl "~1.3.3" - statuses "~1.5.0" + statuses "2.0.1" unpipe "~1.0.0" find-cache-dir@^2.1.0: @@ -5510,15 +5518,15 @@ http-deceiver@^1.2.7: resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= -http-errors@1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" - integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== dependencies: - depd "~1.1.2" + depd "2.0.0" inherits "2.0.4" setprototypeof "1.2.0" - statuses ">= 1.5.0 < 2" + statuses "2.0.1" toidentifier "1.0.1" http-errors@~1.6.2: @@ -7789,10 +7797,10 @@ offline-plugin@^5.0.7: minimatch "^3.0.3" slash "^1.0.0" -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== dependencies: ee-first "1.1.1" @@ -8840,10 +8848,12 @@ q@^1.1.2: resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= -qs@6.9.7: - version "6.9.7" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe" - integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw== +qs@6.10.3: + version "6.10.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" + integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== + dependencies: + side-channel "^1.0.4" querystring-es3@^0.2.0: version "0.2.1" @@ -8892,13 +8902,13 @@ range-parser@^1.2.1, range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c" - integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g== +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== dependencies: bytes "3.1.2" - http-errors "1.8.1" + http-errors "2.0.0" iconv-lite "0.4.24" unpipe "1.0.0" @@ -9735,24 +9745,24 @@ semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: dependencies: lru-cache "^6.0.0" -send@0.17.2: - version "0.17.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" - integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== dependencies: debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" + depd "2.0.0" + destroy "1.2.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" fresh "0.5.2" - http-errors "1.8.1" + http-errors "2.0.0" mime "1.6.0" ms "2.1.3" - on-finished "~2.3.0" + on-finished "2.4.1" range-parser "~1.2.1" - statuses "~1.5.0" + statuses "2.0.1" serialize-javascript@^2.1.2: version "2.1.2" @@ -9779,15 +9789,15 @@ serve-index@^1.9.1: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.14.2: - version "1.14.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" - integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ== +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" parseurl "~1.3.3" - send "0.17.2" + send "0.18.0" set-blocking@^2.0.0: version "2.0.0" @@ -10150,7 +10160,12 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2": version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= From bbe97548c21b94bb77fa7fb041f1d7c381eb61c6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Apr 2022 09:17:03 +0900 Subject: [PATCH 251/276] Bump npmlog from 6.0.1 to 6.0.2 (#18086) Bumps [npmlog](https://github.com/npm/npmlog) from 6.0.1 to 6.0.2. - [Release notes](https://github.com/npm/npmlog/releases) - [Changelog](https://github.com/npm/npmlog/blob/main/CHANGELOG.md) - [Commits](https://github.com/npm/npmlog/compare/v6.0.1...v6.0.2) --- updated-dependencies: - dependency-name: npmlog dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 66 ++++++++++++++++++++++++++++------------------------ 2 files changed, 36 insertions(+), 32 deletions(-) diff --git a/package.json b/package.json index 42869908f..5ad274b21 100644 --- a/package.json +++ b/package.json @@ -114,7 +114,7 @@ "marky": "^1.2.4", "mini-css-extract-plugin": "^1.6.2", "mkdirp": "^1.0.4", - "npmlog": "^6.0.1", + "npmlog": "^6.0.2", "object-assign": "^4.1.1", "object-fit-images": "^3.2.3", "object.values": "^1.1.5", diff --git a/yarn.lock b/yarn.lock index 5e6a215c5..2305861de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3226,7 +3226,7 @@ color-string@^1.5.2: color-name "^1.0.0" simple-swizzle "^0.2.2" -color-support@^1.1.2: +color-support@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== @@ -3327,7 +3327,7 @@ console-browserify@^1.1.0: resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== -console-control-strings@^1.0.0, console-control-strings@^1.1.0: +console-control-strings@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= @@ -5097,20 +5097,19 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -gauge@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.0.tgz#afba07aa0374a93c6219603b1fb83eaa2264d8f8" - integrity sha512-F8sU45yQpjQjxKkm1UOAhf0U/O0aFt//Fl7hsrNVto+patMHjs7dPI9mFOGUKbhrgKm0S3EjW3scMFuQmWSROw== +gauge@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" + integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== dependencies: - ansi-regex "^5.0.1" aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.2" - console-control-strings "^1.0.0" + color-support "^1.1.3" + console-control-strings "^1.1.0" has-unicode "^2.0.1" - signal-exit "^3.0.0" + signal-exit "^3.0.7" string-width "^4.2.3" strip-ansi "^6.0.1" - wide-align "^1.1.2" + wide-align "^1.1.5" generate-function@^2.0.0: version "2.3.1" @@ -7630,14 +7629,14 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -npmlog@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.1.tgz#06f1344a174c06e8de9c6c70834cfba2964bba17" - integrity sha512-BTHDvY6nrRHuRfyjt1MAufLxYdVXZfd099H4+i1f0lPywNQyI4foeNXJRObB/uy+TYqUW0vAD9gbdSOXPst7Eg== +npmlog@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" + integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== dependencies: are-we-there-yet "^3.0.0" console-control-strings "^1.1.0" - gauge "^4.0.0" + gauge "^4.0.3" set-blocking "^2.0.0" nth-check@^1.0.2: @@ -9892,6 +9891,11 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== +signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" @@ -10219,7 +10223,16 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.0.0: +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -10236,15 +10249,6 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - string.prototype.matchall@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" @@ -11404,12 +11408,12 @@ wicg-inert@^3.1.1: resolved "https://registry.yarnpkg.com/wicg-inert/-/wicg-inert-3.1.1.tgz#b033fd4fbfb9e3fd709e5d84becbdf2e06e5c229" integrity sha512-PhBaNh8ur9Xm4Ggy4umelwNIP6pPP1bv3EaWaKqfb/QNme2rdLjm7wIInvV4WhxVHhzA4Spgw9qNSqWtB/ca2A== -wide-align@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== +wide-align@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== dependencies: - string-width "^1.0.2 || 2" + string-width "^1.0.2 || 2 || 3 || 4" wildcard@^2.0.0: version "2.0.0" From bf75fba7942574f9b3b126084477693e9cc179c6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Apr 2022 09:17:44 +0900 Subject: [PATCH 252/276] Bump sass from 1.50.0 to 1.50.1 (#18089) Bumps [sass](https://github.com/sass/dart-sass) from 1.50.0 to 1.50.1. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.50.0...1.50.1) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 5ad274b21..2521fe0f7 100644 --- a/package.json +++ b/package.json @@ -154,7 +154,7 @@ "requestidlecallback": "^0.3.0", "reselect": "^4.1.5", "rimraf": "^3.0.2", - "sass": "^1.50.0", + "sass": "^1.50.1", "sass-loader": "^10.2.0", "stacktrace-js": "^2.0.2", "stringz": "^2.1.0", diff --git a/yarn.lock b/yarn.lock index 2305861de..20bae6f91 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9646,10 +9646,10 @@ sass-loader@^10.2.0: schema-utils "^3.0.0" semver "^7.3.2" -sass@^1.50.0: - version "1.50.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.50.0.tgz#3e407e2ebc53b12f1e35ce45efb226ea6063c7c8" - integrity sha512-cLsD6MEZ5URXHStxApajEh7gW189kkjn4Rc8DQweMyF+o5HF5nfEz8QYLMlPsTOD88DknatTmBWkOcw5/LnJLQ== +sass@^1.50.1: + version "1.50.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.50.1.tgz#e9b078a1748863013c4712d2466ce8ca4e4ed292" + integrity sha512-noTnY41KnlW2A9P8sdwESpDmo+KBNkukI1i8+hOK3footBUcohNHtdOJbckp46XO95nuvcHDDZ+4tmOnpK3hjw== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From d55154819e5e04f41a62d2c5551a140370425549 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 28 Apr 2022 07:34:28 +0200 Subject: [PATCH 253/276] New Crowdin updates (#18074) * New translations en.yml (German) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations devise.en.yml (Vietnamese) [ci skip] * New translations doorkeeper.en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.json (Irish) [ci skip] * New translations en.json (Irish) [ci skip] * New translations en.json (Irish) [ci skip] * New translations en.json (Scottish Gaelic) [ci skip] * New translations en.json (Irish) [ci skip] * New translations en.yml (Irish) [ci skip] * New translations en.yml (Irish) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations activerecord.en.yml (Catalan) [ci skip] * New translations devise.en.yml (Catalan) [ci skip] * New translations devise.en.yml (Catalan) [ci skip] * New translations devise.en.yml (Catalan) [ci skip] * New translations doorkeeper.en.yml (Catalan) [ci skip] * New translations devise.en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Hebrew) [ci skip] * New translations devise.en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations en.json (Irish) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations en.json (Irish) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Irish) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Irish) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations devise.en.yml (Catalan) [ci skip] * New translations en.json (Irish) [ci skip] * New translations devise.en.yml (Catalan) [ci skip] * New translations en.json (Irish) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.yml (Welsh) [ci skip] * New translations simple_form.en.yml (Welsh) [ci skip] * New translations en.json (Welsh) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations en.json (Irish) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (German) [ci skip] * New translations en.json (Turkish) [ci skip] * New translations en.yml (German) [ci skip] * New translations en.json (German) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.json (Korean) [ci skip] * New translations simple_form.en.yml (Korean) [ci skip] * New translations doorkeeper.en.yml (Korean) [ci skip] * New translations en.json (Slovak) [ci skip] * New translations en.yml (Scottish Gaelic) [ci skip] * New translations en.json (Scottish Gaelic) [ci skip] * New translations simple_form.en.yml (Scottish Gaelic) [ci skip] * New translations activerecord.en.yml (Scottish Gaelic) [ci skip] * New translations devise.en.yml (Scottish Gaelic) [ci skip] * New translations doorkeeper.en.yml (Scottish Gaelic) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.json (Icelandic) [ci skip] * New translations en.json (Icelandic) [ci skip] * New translations en.json (Icelandic) [ci skip] * New translations en.json (Sorani (Kurdish)) [ci skip] * New translations en.json (Sorani (Kurdish)) [ci skip] * New translations en.json (Sorani (Kurdish)) [ci skip] * Run `yarn manage:translations` * Run `bundle exec i18n-tasks normalize` Co-authored-by: Yamagishi Kazutoshi --- app/javascript/mastodon/locales/ca.json | 340 +++++++++++------------ app/javascript/mastodon/locales/ckb.json | 70 ++--- app/javascript/mastodon/locales/cy.json | 32 +-- app/javascript/mastodon/locales/de.json | 2 +- app/javascript/mastodon/locales/ga.json | 144 +++++----- app/javascript/mastodon/locales/gd.json | 4 +- app/javascript/mastodon/locales/gl.json | 6 +- app/javascript/mastodon/locales/is.json | 6 +- app/javascript/mastodon/locales/ko.json | 28 +- app/javascript/mastodon/locales/sk.json | 12 +- app/javascript/mastodon/locales/tr.json | 2 +- app/javascript/mastodon/locales/vi.json | 6 +- config/locales/activerecord.ca.yml | 4 +- config/locales/ca.yml | 50 ++-- config/locales/cy.yml | 6 + config/locales/de.yml | 9 +- config/locales/devise.ca.yml | 74 ++--- config/locales/devise.vi.yml | 50 ++-- config/locales/doorkeeper.ca.yml | 28 +- config/locales/doorkeeper.ko.yml | 2 +- config/locales/doorkeeper.vi.yml | 4 +- config/locales/fr.yml | 12 +- config/locales/ga.yml | 49 ++++ config/locales/gd.yml | 14 + config/locales/gl.yml | 4 +- config/locales/he.yml | 2 + config/locales/ko.yml | 30 +- config/locales/pt-BR.yml | 1 + config/locales/pt-PT.yml | 1 + config/locales/simple_form.ca.yml | 64 ++--- config/locales/simple_form.cy.yml | 4 + config/locales/simple_form.gd.yml | 2 + config/locales/simple_form.ko.yml | 2 +- config/locales/simple_form.vi.yml | 10 +- config/locales/vi.yml | 104 +++---- config/locales/zh-CN.yml | 5 +- 36 files changed, 632 insertions(+), 551 deletions(-) diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index a325426c3..f2d3e397d 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -1,6 +1,6 @@ { "account.account_note_header": "Nota", - "account.add_or_remove_from_list": "Afegir o Treure de les llistes", + "account.add_or_remove_from_list": "Afegeix o treu de les llistes", "account.badges.bot": "Bot", "account.badges.group": "Grup", "account.block": "Bloqueja @{name}", @@ -8,43 +8,43 @@ "account.blocked": "Bloquejat", "account.browse_more_on_origin_server": "Navega més en el perfil original", "account.cancel_follow_request": "Anul·la la sol·licitud de seguiment", - "account.direct": "Enviar missatge directe a @{name}", + "account.direct": "Envia missatge directe a @{name}", "account.disable_notifications": "Deixa de notificar-me les publicacions de @{name}", "account.domain_blocked": "Domini bloquejat", - "account.edit_profile": "Editar el perfil", + "account.edit_profile": "Edita el perfil", "account.enable_notifications": "Notifica’m les publicacions de @{name}", "account.endorse": "Recomana en el teu perfil", "account.follow": "Segueix", "account.followers": "Seguidors", "account.followers.empty": "Encara ningú no segueix aquest usuari.", "account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidors}}", - "account.following": "Seguint", + "account.following": "Seguits", "account.following_counter": "{count, plural, other {{counter} Seguint}}", - "account.follows.empty": "Aquest usuari encara no segueix a ningú.", + "account.follows.empty": "Aquest usuari encara no segueix ningú.", "account.follows_you": "Et segueix", "account.hide_reblogs": "Amaga els impulsos de @{name}", - "account.joined": "Unit des de {date}", + "account.joined": "Membre des de {date}", "account.link_verified_on": "La propietat d'aquest enllaç es va verificar el dia {date}", "account.locked_info": "Aquest estat de privadesa del compte està definit com a bloquejat. El propietari revisa manualment qui pot seguir-lo.", "account.media": "Mèdia", "account.mention": "Esmenta @{name}", - "account.moved_to": "{name} s'ha mogut a:", + "account.moved_to": "{name} s'ha traslladat a:", "account.mute": "Silencia @{name}", - "account.mute_notifications": "Notificacions silenciades de @{name}", + "account.mute_notifications": "Silencia les notificacions de @{name}", "account.muted": "Silenciat", "account.posts": "Publicacions", "account.posts_with_replies": "Publicacions i respostes", - "account.report": "Informar sobre @{name}", - "account.requested": "Esperant aprovació. Clic per a cancel·lar la petició de seguiment", + "account.report": "Informa sobre @{name}", + "account.requested": "Esperant aprovació. Fes clic per cancel·lar la petició de seguiment", "account.share": "Comparteix el perfil de @{name}", "account.show_reblogs": "Mostra els impulsos de @{name}", "account.statuses_counter": "{count, plural, one {{counter} Publicació} other {{counter} Publicacions}}", "account.unblock": "Desbloqueja @{name}", "account.unblock_domain": "Desbloqueja el domini {domain}", "account.unblock_short": "Desbloqueja", - "account.unendorse": "No recomanar en el perfil", + "account.unendorse": "No recomanis en el perfil", "account.unfollow": "Deixa de seguir", - "account.unmute": "Treure silenci de @{name}", + "account.unmute": "Deixa de silenciar @{name}", "account.unmute_notifications": "Activar notificacions de @{name}", "account.unmute_short": "Deixa de silenciar", "account_note.placeholder": "Fes clic per afegir una nota", @@ -53,14 +53,14 @@ "admin.dashboard.retention.average": "Mitjana", "admin.dashboard.retention.cohort": "Mes del registre", "admin.dashboard.retention.cohort_size": "Nous usuaris", - "alert.rate_limited.message": "Si us plau prova-ho després de {retry_time, time, medium}.", + "alert.rate_limited.message": "Si us plau, torna-ho a provar després de {retry_time, time, medium}.", "alert.rate_limited.title": "Límit de freqüència", "alert.unexpected.message": "S'ha produït un error inesperat.", "alert.unexpected.title": "Vaja!", "announcement.announcement": "Anunci", "attachments_list.unprocessed": "(sense processar)", "autosuggest_hashtag.per_week": "{count} per setmana", - "boost_modal.combo": "Pots prémer {combo} per saltar-te això el proper cop", + "boost_modal.combo": "Pots prémer {combo} per evitar-ho el pròxim cop", "bundle_column_error.body": "S'ha produït un error en carregar aquest component.", "bundle_column_error.retry": "Torna-ho a provar", "bundle_column_error.title": "Error de connexió", @@ -71,7 +71,7 @@ "column.bookmarks": "Marcadors", "column.community": "Línia de temps local", "column.direct": "Missatges directes", - "column.directory": "Navega els perfils", + "column.directory": "Navega pels perfils", "column.domain_blocks": "Dominis bloquejats", "column.favourites": "Favorits", "column.follow_requests": "Peticions per a seguir-te", @@ -92,50 +92,50 @@ "community.column_settings.local_only": "Només local", "community.column_settings.media_only": "Només multimèdia", "community.column_settings.remote_only": "Només remot", - "compose_form.direct_message_warning": "Aquesta publicació només serà enviat als usuaris esmentats.", - "compose_form.direct_message_warning_learn_more": "Aprèn més", - "compose_form.hashtag_warning": "Aquesta publicació no es mostrarà en cap etiqueta ja que no està llistada. Només les publicacions públiques poden ser cercades per etiqueta.", - "compose_form.lock_disclaimer": "El teu compte no està bloquejat {locked}. Tothom pot seguir-te i veure els teus missatges només a seguidors.", + "compose_form.direct_message_warning": "Aquesta publicació només s'enviarà als usuaris esmentats.", + "compose_form.direct_message_warning_learn_more": "Més informació", + "compose_form.hashtag_warning": "Aquesta publicació no es mostrarà en cap etiqueta, ja que no està llistada. Només les publicacions públiques es poden cercar per etiqueta.", + "compose_form.lock_disclaimer": "El teu compte no està bloquejat {locked}. Tothom pot seguir-te i veure els teus missatges només per a seguidors.", "compose_form.lock_disclaimer.lock": "bloquejat", - "compose_form.placeholder": "En què penses?", - "compose_form.poll.add_option": "Afegir una opció", + "compose_form.placeholder": "Què et passa pel cap?", + "compose_form.poll.add_option": "Afegeix una opció", "compose_form.poll.duration": "Durada de l'enquesta", "compose_form.poll.option_placeholder": "Opció {number}", "compose_form.poll.remove_option": "Elimina aquesta opció", "compose_form.poll.switch_to_multiple": "Canvia l’enquesta per a permetre diverses opcions", - "compose_form.poll.switch_to_single": "Canvia l’enquesta per a permetre una única opció", - "compose_form.publish": "Publicar", + "compose_form.poll.switch_to_single": "Canvia l’enquesta per permetre una única opció", + "compose_form.publish": "Publica", "compose_form.publish_loud": "{publish}!", "compose_form.save_changes": "Desa els canvis", - "compose_form.sensitive.hide": "{count, plural, one {Marca mèdia com a sensible} other {Marca mèdia com a sensible}}", - "compose_form.sensitive.marked": "{count, plural, one {Mèdia està marcat com a sensible} other {Mèdia estan marcats com a sensible}}", - "compose_form.sensitive.unmarked": "{count, plural, one {Mèdia no està marcada com a sensible} other {Mèdia no estan marcats com a sensibles}}", - "compose_form.spoiler.marked": "Treu l'avís de contingut", + "compose_form.sensitive.hide": "{count, plural, one {Marca contingut com a sensible} other {Marca contingut com a sensible}}", + "compose_form.sensitive.marked": "{count, plural, one {Contingut marcat com a sensible} other {Contingut marcat com a sensible}}", + "compose_form.sensitive.unmarked": "{count, plural, one {Contingut no marcat com a sensible} other {Contingut no marcat com a sensible}}", + "compose_form.spoiler.marked": "Elimina l'avís de contingut", "compose_form.spoiler.unmarked": "Afegeix avís de contingut", "compose_form.spoiler_placeholder": "Escriu l'avís aquí", "confirmation_modal.cancel": "Cancel·la", "confirmations.block.block_and_report": "Bloqueja i informa", "confirmations.block.confirm": "Bloqueja", - "confirmations.block.message": "Estàs segur que vols bloquejar a {name}?", + "confirmations.block.message": "Segur que vols bloquejar a {name}?", "confirmations.delete.confirm": "Suprimeix", - "confirmations.delete.message": "Estàs segur que vols suprimir aquesta publicació?", + "confirmations.delete.message": "Segur que vols suprimir aquesta publicació?", "confirmations.delete_list.confirm": "Suprimeix", - "confirmations.delete_list.message": "Estàs segur que vols suprimir permanentment aquesta llista?", + "confirmations.delete_list.message": "Segur que vols suprimir permanentment aquesta llista?", "confirmations.discard_edit_media.confirm": "Descarta", - "confirmations.discard_edit_media.message": "Tens canvis no desats de la descripciò de mèdia o previsualització, els vols descartar?", + "confirmations.discard_edit_media.message": "Tens canvis no desats en la descripció del contingut o en la previsualització, els vols descartar?", "confirmations.domain_block.confirm": "Bloqueja el domini sencer", - "confirmations.domain_block.message": "Estàs segur, realment segur que vols bloquejar totalment {domain}? En la majoria dels casos bloquejar o silenciar uns pocs objectius és suficient i preferible. No veuràs contingut d’aquest domini en cap de les línies de temps ni en les notificacions. Els teus seguidors d’aquest domini seran eliminats.", + "confirmations.domain_block.message": "N'estàs segur del tot que vols bloquejar totalment {domain}? En la majoria dels casos, bloquejar o silenciar uns pocs objectius és suficient i preferible. No veuràs el contingut d’aquest domini en cap de les línies de temps ni en les notificacions. Els teus seguidors d’aquest domini s'elimiran.", "confirmations.logout.confirm": "Tancar sessió", "confirmations.logout.message": "Segur que vols tancar la sessió?", "confirmations.mute.confirm": "Silencia", - "confirmations.mute.explanation": "Això amagarà les seves publicacions i les que els mencionen però encara els permetrà veure les teves i seguir-te.", - "confirmations.mute.message": "Estàs segur que vols silenciar {name}?", - "confirmations.redraft.confirm": "Esborrar i refer", - "confirmations.redraft.message": "Estàs segur que vols esborrar aquesta publicació i tornar a redactar-la? Perdràs tots els impulsos i favorits, i les respostes a la publicació original es quedaran orfes.", + "confirmations.mute.explanation": "Això amagarà les seves publicacions i les que els mencionen, però encara els permetrà veure les teves i seguir-te.", + "confirmations.mute.message": "Segur que vols silenciar {name}?", + "confirmations.redraft.confirm": "Esborra'l i reescriure-lo", + "confirmations.redraft.message": "Segur que vols esborrar aquesta publicació i tornar-la a escriure? Perdràs tots els impulsos i els favorits, i les respostes a la publicació original es quedaran orfes.", "confirmations.reply.confirm": "Respon", - "confirmations.reply.message": "Responen ara es sobreescriurà el missatge que estàs editant. Estàs segur que vols continuar?", + "confirmations.reply.message": "Si respons ara, sobreescriuràs el missatge que estàs editant. Segur que vols continuar?", "confirmations.unfollow.confirm": "Deixa de seguir", - "confirmations.unfollow.message": "Estàs segur que vols deixar de seguir {name}?", + "confirmations.unfollow.message": "Segur que vols deixar de seguir {name}?", "conversation.delete": "Elimina la conversa", "conversation.mark_as_read": "Marca com a llegida", "conversation.open": "Veure conversa", @@ -159,32 +159,32 @@ "emoji_button.search": "Cerca...", "emoji_button.search_results": "Resultats de la cerca", "emoji_button.symbols": "Símbols", - "emoji_button.travel": "Viatges i Llocs", + "emoji_button.travel": "Viatges i llocs", "empty_column.account_suspended": "Compte suspès", - "empty_column.account_timeline": "No hi ha publicacions aquí!", + "empty_column.account_timeline": "Aquí no hi ha publicacions!", "empty_column.account_unavailable": "Perfil no disponible", "empty_column.blocks": "Encara no has bloquejat cap usuari.", - "empty_column.bookmarked_statuses": "Encara no tens desada a marcadors cap publicació. Quan desis una apareixerà aquí.", - "empty_column.community": "La línia de temps local és buida. Escriu alguna cosa públicament per a fer rodar la pilota!", - "empty_column.direct": "Encara no tens missatges directes. Quan enviïs o rebis un, es mostrarà aquí.", + "empty_column.bookmarked_statuses": "Encara no has marcat com publicació com a preferida. Quan en marquis una apareixerà aquí.", + "empty_column.community": "La línia de temps local és buida. Escriu alguna cosa públicament per posar-ho tot en marxa!", + "empty_column.direct": "Encara no tens missatges directes. Quan n'enviïs o en rebis, es mostraran aquí.", "empty_column.domain_blocks": "Encara no hi ha dominis bloquejats.", - "empty_column.explore_statuses": "No hi ha res en tendència ara mateix. Verifica-ho més tard!", - "empty_column.favourited_statuses": "Encara no has afavorit cap publicació. Quan ho facis, apareixerà aquí.", - "empty_column.favourites": "Ningú no ha afavorit aquesta publicació encara. Quan algú ho faci, apareixerà aquí.", - "empty_column.follow_recommendations": "Sembla que no es poden generar sugerencies per a tu. Pots provar d'emprar la cerca per a trobar gent que voldries conèixer o explorar les etiquetes en tendència.", + "empty_column.explore_statuses": "No hi ha res en tendència ara mateix. Revisa-ho més tard!", + "empty_column.favourited_statuses": "Encara no has marcat cap publicació com a preferida. Quan les marquis, apareixeran aquí.", + "empty_column.favourites": "Encara ningú no ha marcat aquesta publicació com a preferida. Quan algú ho faci, apareixerà aquí.", + "empty_column.follow_recommendations": "Sembla que no s'han pogut generar suggeriments per a tu. Pots provar d'usar la cerca per trobar persones que vulguis conèixer o explorar les etiquetes en tendència.", "empty_column.follow_requests": "Encara no tens cap petició de seguiment. Quan en rebis una, apareixerà aquí.", "empty_column.hashtag": "Encara no hi ha res en aquesta etiqueta.", - "empty_column.home": "La teva línia de temps és buida! Segueix més gent per a emplenar-la. {suggestions}", - "empty_column.home.suggestions": "Mira algunes sugerencies", + "empty_column.home": "La teva línia de temps és buida! Segueix més gent per omplir-la. {suggestions}", + "empty_column.home.suggestions": "Mira algunes suggeriments", "empty_column.list": "Encara no hi ha res en aquesta llista. Quan els membres d'aquesta llista publiquin noves publicacions, apareixeran aquí.", - "empty_column.lists": "Encara no tens cap llista. Quan en facis una, apareixerà aquí.", + "empty_column.lists": "Encara no tens cap llista. Quan en creïs una, apareixerà aquí.", "empty_column.mutes": "Encara no has silenciat cap usuari.", - "empty_column.notifications": "Encara no tens notificacions. Quan altre gent interactuï amb tu, les veuràs aquí.", - "empty_column.public": "No hi ha res aquí! Escriu públicament alguna cosa o manualment segueix usuaris d'altres servidors per a omplir-ho", - "error.unexpected_crash.explanation": "A causa d'un bug en el nostre codi o un problema de compatibilitat del navegador, aquesta pàgina podria no ser mostrada correctament.", - "error.unexpected_crash.explanation_addons": "Aquesta pàgina podria no mostrar-se correctament. Aquest error és possiblement causat per una extensió del navegador o per eienes automàtiques de traducció.", - "error.unexpected_crash.next_steps": "Prova recarregant la pàgina. Si això no ajuda, encara podries ser capaç d'utilitzar Mastodon a través d'un navegador diferent o amb una aplicació nativa.", - "error.unexpected_crash.next_steps_addons": "Prova de desactivar-les i refrescant la pàgina. Si això no ajuda, encara pots ser capaç d’utilitzar Mastodon amb un altre navegador o aplicació nativa.", + "empty_column.notifications": "Encara no tens notificacions. Quan altres persones interactuïn amb tu, les veuràs aquí.", + "empty_column.public": "Aquí no hi ha res! Escriu públicament alguna cosa o segueix manualment usuaris d'altres servidors per omplir-ho", + "error.unexpected_crash.explanation": "A causa d'un error en el nostre codi o d'un problema de compatibilitat amb el navegador, aquesta pàgina no s'ha pogut mostrar correctament.", + "error.unexpected_crash.explanation_addons": "Aquesta pàgina no s'ha pogut mostrar correctament. És probable que aquest error sigui causat per un complement del navegador o per eines de traducció automàtica.", + "error.unexpected_crash.next_steps": "Prova d'actualitzar la pàgina. Si això no serveix, és possible que encara puguis fer servir Mastodon a través d'un navegador diferent o amb una aplicació nativa.", + "error.unexpected_crash.next_steps_addons": "Prova de desactivar-los i actualitza la pàgina. Si això no serveix, és possible que encara puguis fer servir Mastodon amb un altre navegador o una aplicació nativa.", "errors.unexpected_crash.copy_stacktrace": "Còpia stacktrace al porta-retalls", "errors.unexpected_crash.report_issue": "Informa d'un problema", "explore.search_results": "Resultats de la cerca", @@ -198,16 +198,16 @@ "follow_recommendations.lead": "Les publicacions del usuaris que segueixes es mostraran en ordre cronològic en la teva línia de temps Inici. No tinguis por en cometre errors, pots fàcilment deixar de seguir-los en qualsevol moment!", "follow_request.authorize": "Autoritza", "follow_request.reject": "Rebutja", - "follow_requests.unlocked_explanation": "Tot i que el teu compte no està bloquejat, el personal de {domain} ha pensat que és possible que vulguis revisar les sol·licituds de seguiment d’aquests comptes de forma manual.", + "follow_requests.unlocked_explanation": "Tot i que el teu compte no està bloquejat, el personal de {domain} ha pensat que és possible que vulguis revisar les sol·licituds de seguiment d’aquests comptes manualment.", "generic.saved": "Desat", "getting_started.developers": "Desenvolupadors", "getting_started.directory": "Directori de perfils", "getting_started.documentation": "Documentació", - "getting_started.heading": "Primeres passes", + "getting_started.heading": "Primers passos", "getting_started.invite": "Convidar gent", "getting_started.open_source_notice": "Mastodon és un programari de codi obert. Pots contribuir-hi o informar de problemes a GitHub a {github}.", "getting_started.security": "Configuració del compte", - "getting_started.terms": "Termes del servei", + "getting_started.terms": "Condicions de servei", "hashtag.column_header.tag_mode.all": "i {additional}", "hashtag.column_header.tag_mode.any": "o {additional}", "hashtag.column_header.tag_mode.none": "sense {additional}", @@ -225,20 +225,20 @@ "intervals.full.days": "{number, plural, one {# dia} other {# dies}}", "intervals.full.hours": "{number, plural, one {# hora} other {# hores}}", "intervals.full.minutes": "{number, plural, one {# minut} other {# minuts}}", - "keyboard_shortcuts.back": "Navegar enrere", + "keyboard_shortcuts.back": "Anar enrere", "keyboard_shortcuts.blocked": "Obre la llista d'usuaris bloquejats", "keyboard_shortcuts.boost": "Impulsa publicació", - "keyboard_shortcuts.column": "Centra columna", - "keyboard_shortcuts.compose": "Centra l'àrea de composició de text", + "keyboard_shortcuts.column": "Centra la columna", + "keyboard_shortcuts.compose": "Centra l'àrea de composició del text", "keyboard_shortcuts.description": "Descripció", "keyboard_shortcuts.direct": "Obre la columna de missatges directes", - "keyboard_shortcuts.down": "Baixar en la llista", - "keyboard_shortcuts.enter": "Obrir publicació", + "keyboard_shortcuts.down": "Mou-lo avall en la llista", + "keyboard_shortcuts.enter": "Obre publicació", "keyboard_shortcuts.favourite": "Afavorir publicació", - "keyboard_shortcuts.favourites": "Obre la llista de favorits", + "keyboard_shortcuts.favourites": "Obre la llista de preferits", "keyboard_shortcuts.federated": "Obre la línia de temps federada", "keyboard_shortcuts.heading": "Dreceres de teclat", - "keyboard_shortcuts.home": "Obre la línia de temps Inici", + "keyboard_shortcuts.home": "Obre la línia de temps de l'Inici", "keyboard_shortcuts.hotkey": "Tecla d'accés directe", "keyboard_shortcuts.legend": "Mostra aquesta llegenda", "keyboard_shortcuts.local": "Obre la línia de temps local", @@ -246,17 +246,17 @@ "keyboard_shortcuts.muted": "Obre la llista d'usuaris silenciats", "keyboard_shortcuts.my_profile": "Obre el teu perfil", "keyboard_shortcuts.notifications": "Obre la columna de notificacions", - "keyboard_shortcuts.open_media": "Obre mèdia", + "keyboard_shortcuts.open_media": "Obre multimèdia", "keyboard_shortcuts.pinned": "Obrir la llista de publicacions fixades", "keyboard_shortcuts.profile": "Obre el perfil de l'autor", - "keyboard_shortcuts.reply": "Respon publicació", - "keyboard_shortcuts.requests": "Obre la llista de sol·licituds de seguiment", + "keyboard_shortcuts.reply": "Respon a la publicació", + "keyboard_shortcuts.requests": "Obre la llista de les sol·licituds de seguiment", "keyboard_shortcuts.search": "Centra la barra de cerca", "keyboard_shortcuts.spoilers": "Mostra/amaga el camp CW", - "keyboard_shortcuts.start": "Obre la columna \"Primeres passes\"", + "keyboard_shortcuts.start": "Obre la columna \"Primers passos\"", "keyboard_shortcuts.toggle_hidden": "Mostra/oculta el text marcat com a sensible", "keyboard_shortcuts.toggle_sensitivity": "Mostra/amaga contingut multimèdia", - "keyboard_shortcuts.toot": "Iniciar una nova publicació", + "keyboard_shortcuts.toot": "Inicia una nova publicació", "keyboard_shortcuts.unfocus": "Descentra l'àrea de composició de text/cerca", "keyboard_shortcuts.up": "Moure amunt en la llista", "lightbox.close": "Tanca", @@ -264,45 +264,45 @@ "lightbox.expand": "Amplia el quadre de visualització de l’imatge", "lightbox.next": "Següent", "lightbox.previous": "Anterior", - "lists.account.add": "Afegir a la llista", - "lists.account.remove": "Treure de la llista", - "lists.delete": "Esborrar llista", - "lists.edit": "Editar llista", - "lists.edit.submit": "Canvi de títol", - "lists.new.create": "Afegir llista", - "lists.new.title_placeholder": "Nou títol de llista", - "lists.replies_policy.followed": "Qualsevol usuari seguit", + "lists.account.add": "Afegeix a la llista", + "lists.account.remove": "Elimina de la llista", + "lists.delete": "Esborra la llista", + "lists.edit": "Edita la llista", + "lists.edit.submit": "Canvia de títol", + "lists.new.create": "Afegeix llista", + "lists.new.title_placeholder": "Nou títol de la llista", + "lists.replies_policy.followed": "Qualsevol usuari que segueixis", "lists.replies_policy.list": "Membres de la llista", "lists.replies_policy.none": "Ningú", "lists.replies_policy.title": "Mostra respostes a:", - "lists.search": "Cercar entre les persones que segueixes", + "lists.search": "Cerca entre les persones que segueixes", "lists.subheading": "Les teves llistes", "load_pending": "{count, plural, one {# element nou} other {# elements nous}}", "loading_indicator.label": "Carregant...", "media_gallery.toggle_visible": "{number, plural, one {Amaga imatge} other {Amaga imatges}}", - "missing_indicator.label": "No trobat", - "missing_indicator.sublabel": "Aquest recurs no pot ser trobat", + "missing_indicator.label": "No s'ha trobat", + "missing_indicator.sublabel": "Aquest recurs no s'ha trobat", "mute_modal.duration": "Durada", - "mute_modal.hide_notifications": "Amagar notificacions d'aquest usuari?", + "mute_modal.hide_notifications": "Amagar les notificacions d'aquest usuari?", "mute_modal.indefinite": "Indefinit", "navigation_bar.apps": "Aplicacions mòbils", "navigation_bar.blocks": "Usuaris bloquejats", "navigation_bar.bookmarks": "Marcadors", - "navigation_bar.community_timeline": "Línia de temps Local", - "navigation_bar.compose": "Redactar una nova publicació", + "navigation_bar.community_timeline": "Línia de temps local", + "navigation_bar.compose": "Redacta una nova publicació", "navigation_bar.direct": "Missatges directes", "navigation_bar.discover": "Descobrir", "navigation_bar.domain_blocks": "Dominis bloquejats", - "navigation_bar.edit_profile": "Editar perfil", + "navigation_bar.edit_profile": "Edita el perfil", "navigation_bar.explore": "Explora", - "navigation_bar.favourites": "Favorits", + "navigation_bar.favourites": "Preferits", "navigation_bar.filters": "Paraules silenciades", "navigation_bar.follow_requests": "Sol·licituds de seguiment", "navigation_bar.follows_and_followers": "Seguits i seguidors", - "navigation_bar.info": "Quant a aquest servidor", + "navigation_bar.info": "Sobre aquest servidor", "navigation_bar.keyboard_shortcuts": "Dreceres de teclat", "navigation_bar.lists": "Llistes", - "navigation_bar.logout": "Tancar sessió", + "navigation_bar.logout": "Tanca la sessió", "navigation_bar.mutes": "Usuaris silenciats", "navigation_bar.personal": "Personal", "navigation_bar.pins": "Publicacions fixades", @@ -315,12 +315,12 @@ "notification.follow_request": "{name} ha sol·licitat seguir-te", "notification.mention": "{name} t'ha esmentat", "notification.own_poll": "La teva enquesta ha finalitzat", - "notification.poll": "Ha finalitzat una enquesta en la que has votat", + "notification.poll": "Ha finalitzat una enquesta en què has votat", "notification.reblog": "{name} ha impulsat el teu estat", "notification.status": "ha publicat {name}", "notification.update": "{name} ha editat una publicació", - "notifications.clear": "Netejar notificacions", - "notifications.clear_confirmation": "Estàs segur que vols esborrar permanentment totes les teves notificacions?", + "notifications.clear": "Esborra les notificacions", + "notifications.clear_confirmation": "Segur que vols esborrar permanentment totes les teves notificacions?", "notifications.column_settings.admin.sign_up": "Nous registres:", "notifications.column_settings.alert": "Notificacions d'escriptori", "notifications.column_settings.favourite": "Preferits:", @@ -337,24 +337,24 @@ "notifications.column_settings.sound": "Reproduir so", "notifications.column_settings.status": "Noves publicacions:", "notifications.column_settings.unread_notifications.category": "Notificacions no llegides", - "notifications.column_settings.unread_notifications.highlight": "Destaca notificacions no llegides", + "notifications.column_settings.unread_notifications.highlight": "Destaca les notificacions no llegides", "notifications.column_settings.update": "Edicions:", "notifications.filter.all": "Tots", "notifications.filter.boosts": "Impulsos", - "notifications.filter.favourites": "Favorits", + "notifications.filter.favourites": "Preferits", "notifications.filter.follows": "Seguiments", "notifications.filter.mentions": "Mencions", "notifications.filter.polls": "Resultats de l'enquesta", "notifications.filter.statuses": "Actualitzacions de gent que segueixes", "notifications.grant_permission": "Concedir permís.", "notifications.group": "{count} notificacions", - "notifications.mark_as_read": "Marca cada notificació com a llegida", + "notifications.mark_as_read": "Marca totes les notificacions com a llegides", "notifications.permission_denied": "Les notificacions d’escriptori no estan disponibles perquè prèviament s’ha denegat el permís al navegador", - "notifications.permission_denied_alert": "No es poden activar les notificacions del escriptori perquè el permís del navegador ha estat denegat abans", + "notifications.permission_denied_alert": "No es poden activar les notificacions de l'escriptori perquè el permís del navegador s'ha denegat prèviament", "notifications.permission_required": "Les notificacions d'escriptori no estan disponibles perquè el permís requerit no ha estat concedit.", - "notifications_permission_banner.enable": "Activar les notificacions d’escriptori", - "notifications_permission_banner.how_to_control": "Per a rebre notificacions quan Mastodon no és obert cal activar les notificacions d’escriptori. Pots controlar amb precisió quins tipus d’interaccions generen notificacions d’escriptori després d’activar el botó {icon} de dalt.", - "notifications_permission_banner.title": "Mai et perdis res", + "notifications_permission_banner.enable": "Activa les notificacions d’escriptori", + "notifications_permission_banner.how_to_control": "Per rebre notificacions quan Mastodon no estigui obert, cal activar les notificacions d’escriptori. Pots controlar exactament quins tipus d’interaccions generen notificacions d’escriptori si actives el botó {icon} de dalt.", + "notifications_permission_banner.title": "No et perdis mai res", "picture_in_picture.restore": "Retorna’l", "poll.closed": "Finalitzada", "poll.refresh": "Actualitza", @@ -363,12 +363,12 @@ "poll.vote": "Vota", "poll.voted": "Vas votar per aquesta resposta", "poll.votes": "{votes, plural, one {# vot} other {# vots}}", - "poll_button.add_poll": "Afegir una enquesta", + "poll_button.add_poll": "Afegeix una enquesta", "poll_button.remove_poll": "Elimina l'enquesta", - "privacy.change": "Ajustar la privacitat de la publicació", + "privacy.change": "Ajusta la privacitat de la publicació", "privacy.direct.long": "Visible només per als usuaris esmentats", "privacy.direct.short": "Directe", - "privacy.private.long": "Visible només pels seguidors", + "privacy.private.long": "Visible només per als seguidors", "privacy.private.short": "Només seguidors", "privacy.public.long": "Visible per a tothom, mostrat en línies de temps públiques", "privacy.public.short": "Públic", @@ -376,7 +376,7 @@ "privacy.unlisted.short": "No llistat", "refresh": "Actualitza", "regeneration_indicator.label": "Carregant…", - "regeneration_indicator.sublabel": "S'està preparant la teva línia de temps Inici!", + "regeneration_indicator.sublabel": "S'està preparant la teva línia de temps d'Inici!", "relative_time.days": "fa {number} dies", "relative_time.full.days": "fa {number, plural, one {# dia} other {# dies}}", "relative_time.full.hours": "fa {number, plural, one {# hora} other {# hores}}", @@ -388,9 +388,9 @@ "relative_time.minutes": "fa {number} minuts", "relative_time.seconds": "fa {number} segons", "relative_time.today": "avui", - "reply_indicator.cancel": "Cancel·lar", + "reply_indicator.cancel": "Cancel·la", "report.block": "Bloqueja", - "report.block_explanation": "No veuràs les seves publicacions. Ell no podran veure les teves publicacions ni seguir-te. Ells podran dir que estan bloquejats.", + "report.block_explanation": "No veuràs les seves publicacions. Ells no podran veure les teves publicacions ni et podran seguir. Podran saber que estan bloquejats.", "report.categories.other": "Altres", "report.categories.spam": "Contingut brossa", "report.categories.violation": "El contingut viola una o més regles del servidor", @@ -399,39 +399,39 @@ "report.category.title_account": "perfil", "report.category.title_status": "publicació", "report.close": "Fet", - "report.comment.title": "Hi ha res més que penses hauriem de saber?", + "report.comment.title": "Hi ha res més que creguis que hauríem de saber?", "report.forward": "Reenvia a {target}", - "report.forward_hint": "Aquest compte és d'un altre servidor. Enviar-hi també una copia anònima del informe?", + "report.forward_hint": "Aquest compte és d'un altre servidor. Vols enviar-li també una còpia anònima de l'informe?", "report.mute": "Silencia", - "report.mute_explanation": "No veuràs les seves publicacions. Ells encara poden seguir-te i veure les teves publicacions però no sabran que han estat silenciats.", + "report.mute_explanation": "No veuràs les seves publicacions. Encara poden seguir-te i veure les teves publicacions, però no sabran que han estat silenciats.", "report.next": "Següent", "report.placeholder": "Comentaris addicionals", "report.reasons.dislike": "No m'agrada", - "report.reasons.dislike_description": "Això no és quelcom que vulguis veure", - "report.reasons.other": "Això és una altre cosa", - "report.reasons.other_description": "El problema no encaixa en altres categories", - "report.reasons.spam": "Això és contingut brossa", - "report.reasons.spam_description": "Enllaços maliciosos, falç compromís o respostes repetitives", + "report.reasons.dislike_description": "No és una cosa que vulguis veure", + "report.reasons.other": "És una altra cosa", + "report.reasons.other_description": "El problema no encaixa a les altres categories", + "report.reasons.spam": "És contingut brossa", + "report.reasons.spam_description": "Enllaços maliciosos, implicació falsa o respostes repetitives", "report.reasons.violation": "Viola les regles del servidor", "report.reasons.violation_description": "Ets conscient que trenca regles especifiques", - "report.rules.subtitle": "Selecciona totes les aplicables", - "report.rules.title": "Quines regles han estat violades?", - "report.statuses.subtitle": "Selecciona tots els aplicables", + "report.rules.subtitle": "Selecciona tot el que correspongui", + "report.rules.title": "Quines regles s'han violat?", + "report.statuses.subtitle": "Selecciona tot el que correspongui", "report.statuses.title": "Hi ha alguna publicació que recolzi aquest informe?", - "report.submit": "Enviar", - "report.target": "Informes {target}", - "report.thanks.take_action": "Aquestes son les teves opcions per a controlar el que veus a Mastodon:", - "report.thanks.take_action_actionable": "Mentre ho revisem, pots pendre mesures contra @{name}:", + "report.submit": "Envia", + "report.target": "Denunciant a {target}", + "report.thanks.take_action": "Aquestes són les teves opcions per controlar el que veus a Mastodon:", + "report.thanks.take_action_actionable": "Mentre ho revisem, pots prendre mesures contra @{name}:", "report.thanks.title": "No vols veure això?", - "report.thanks.title_actionable": "Gràcies per informar, ho investigarem.", - "report.unfollow": "Deixar de seguir @{name}", - "report.unfollow_explanation": "Estàs seguint aquest compte. Per a no veure més les seves publicacions en la teva línia de temps Inici, deixa de seguir-lo.", - "search.placeholder": "Cercar", + "report.thanks.title_actionable": "Gràcies per denunciar-ho. Ho investigarem.", + "report.unfollow": "Deixa de seguir @{name}", + "report.unfollow_explanation": "Estàs seguint aquest compte. Per no veure les seves publicacions a la teva línia de temps d'Inici, deixa de seguir-lo.", + "search.placeholder": "Cerca", "search_popout.search_format": "Format de cerca avançada", - "search_popout.tips.full_text": "Text simple recupera publicacions que has escrit, les afavorides, les impulsades o en les que has estat esmentat, així com usuaris, noms d'usuari i etiquetes.", + "search_popout.tips.full_text": "El text simple recupera publicacions que has escrit, marcat com a preferides, que has impulsat o on t'han esmentat, així com els usuaris, els noms d'usuaris i les etiquetes.", "search_popout.tips.hashtag": "etiqueta", "search_popout.tips.status": "publicació", - "search_popout.tips.text": "El text simple retorna coincidències amb els noms de visualització, els noms d'usuari i les etiquetes", + "search_popout.tips.text": "El text simple recupera coincidències amb els usuaris, els noms d'usuari i les etiquetes", "search_popout.tips.user": "usuari", "search_results.accounts": "Gent", "search_results.all": "Tots", @@ -441,53 +441,53 @@ "search_results.statuses_fts_disabled": "La cerca de publicacions pel seu contingut no està habilitada en aquest servidor Mastodon.", "search_results.total": "{count, number} {count, plural, one {resultat} other {resultats}}", "status.admin_account": "Obre l'interfície de moderació per a @{name}", - "status.admin_status": "Obrir aquesta publicació a la interfície de moderació", + "status.admin_status": "Obre aquesta publicació a la interfície de moderació", "status.block": "Bloqueja @{name}", - "status.bookmark": "Marcador", - "status.cancel_reblog_private": "Desfer l'impuls", - "status.cannot_reblog": "Aquesta publicació no pot ser impulsada", + "status.bookmark": "Afavoreix", + "status.cancel_reblog_private": "Desfés l'impuls", + "status.cannot_reblog": "Aquesta publicació no es pot impulsar", "status.copy": "Copia l'enllaç a l'estat", "status.delete": "Esborra", "status.detailed_status": "Visualització detallada de la conversa", - "status.direct": "Missatge directe @{name}", + "status.direct": "Envia missatge directe a @{name}", "status.edit": "Edita", "status.edited": "Editat {date}", "status.edited_x_times": "Editat {count, plural, one {{count} vegada} other {{count} vegades}}", - "status.embed": "Incrustat", + "status.embed": "Incrusta", "status.favourite": "Favorit", "status.filtered": "Filtrat", "status.history.created": "{name} ha creat {date}", "status.history.edited": "{name} ha editat {date}", - "status.load_more": "Carrega més", - "status.media_hidden": "Multimèdia amagat", - "status.mention": "Esmentar @{name}", + "status.load_more": "Carregar-ne més", + "status.media_hidden": "Multimèdia amagada", + "status.mention": "Esmenta @{name}", "status.more": "Més", - "status.mute": "Silenciar @{name}", - "status.mute_conversation": "Silenciar conversació", - "status.open": "Ampliar aquest estat", + "status.mute": "Silencia @{name}", + "status.mute_conversation": "Silencia conversació", + "status.open": "Amplia la publicació", "status.pin": "Fixa en el perfil", "status.pinned": "Publicació fixada", - "status.read_more": "Llegir més", - "status.reblog": "Impuls", - "status.reblog_private": "Impulsar amb la visibilitat original", + "status.read_more": "Més informació", + "status.reblog": "Impulsa", + "status.reblog_private": "Impulsa amb la visibilitat original", "status.reblogged_by": "{name} ha impulsat", "status.reblogs.empty": "Encara ningú no ha impulsat aquesta publicació. Quan algú ho faci, apareixeran aquí.", - "status.redraft": "Esborrar i reescriure", + "status.redraft": "Esborra-la i reescriure-la", "status.remove_bookmark": "Suprimeix el marcador", - "status.reply": "Respondre", - "status.replyAll": "Respondre al fil", - "status.report": "Informar sobre @{name}", + "status.reply": "Respon", + "status.replyAll": "Respon al fil", + "status.report": "Denuncia @{name}", "status.sensitive_warning": "Contingut sensible", - "status.share": "Compartir", - "status.show_less": "Mostra menys", - "status.show_less_all": "Mostra menys per a tot", - "status.show_more": "Mostra més", - "status.show_more_all": "Mostra més per a tot", + "status.share": "Comparteix", + "status.show_less": "Mostrar-ne menys", + "status.show_less_all": "Mostrar-ne menys per a tot", + "status.show_more": "Mostrar-ne més", + "status.show_more_all": "Mostrar-ne més per a tot", "status.show_thread": "Mostra el fil", "status.uncached_media_warning": "No està disponible", - "status.unmute_conversation": "Activar conversació", - "status.unpin": "Deslliga del perfil", - "suggestions.dismiss": "Descartar suggeriment", + "status.unmute_conversation": "No silenciïs la conversa", + "status.unpin": "No fixis al perfil", + "suggestions.dismiss": "Ignora el suggeriment", "suggestions.header": "És possible que estiguis interessat en…", "tabs_bar.federated_timeline": "Federat", "tabs_bar.home": "Inici", @@ -503,23 +503,23 @@ "timeline_hint.resources.followers": "Seguidors", "timeline_hint.resources.follows": "Seguiments", "timeline_hint.resources.statuses": "Publicacions més antigues", - "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} persones}} parlant-hi", - "trends.trending_now": "Ara en tendència", + "trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} persones}} parlant-ne", + "trends.trending_now": "En tendència", "ui.beforeunload": "El teu esborrany es perdrà si surts de Mastodon.", "units.short.billion": "{count}B", "units.short.million": "{count}M", "units.short.thousand": "{count}K", - "upload_area.title": "Arrossega i deixa anar per a carregar", - "upload_button.label": "Afegir mèdia, un vídeo o un fitxer d'audio", + "upload_area.title": "Arrossega i deixa anar per carregar", + "upload_button.label": "Afegeix imatges, un vídeo o un fitxer d'àudio", "upload_error.limit": "S'ha superat el límit de càrrega d'arxius.", - "upload_error.poll": "No es permet l'enviament de fitxers en les enquestes.", - "upload_form.audio_description": "Descriviu per a les persones amb pèrdua auditiva", - "upload_form.description": "Descriure per els que tenen problemes visuals", - "upload_form.description_missing": "Cap descripció afegida", + "upload_error.poll": "No es permet carregar fitxers a les enquestes.", + "upload_form.audio_description": "Descripció per a persones amb discapacitat auditiva", + "upload_form.description": "Descripció per a persones amb discapacitat visual", + "upload_form.description_missing": "No s'ha afegit cap descripció", "upload_form.edit": "Edita", "upload_form.thumbnail": "Canvia la miniatura", "upload_form.undo": "Esborra", - "upload_form.video_description": "Descriu per a les persones amb pèrdua auditiva o deficiència visual", + "upload_form.video_description": "Descripció per a persones amb discapacitat auditiva o amb discapacitat visual", "upload_modal.analyzing_picture": "Analitzant imatge…", "upload_modal.apply": "Aplica", "upload_modal.applying": "Aplicant…", @@ -527,18 +527,18 @@ "upload_modal.description_placeholder": "Una ràpida guineu marró salta sobre el gos mandrós", "upload_modal.detect_text": "Detecta el text de l'imatge", "upload_modal.edit_media": "Editar multimèdia", - "upload_modal.hint": "Fes clic o arrossega el cercle en la previsualització per escollir el punt focal que sempre serà visible de totes les miniatures.", + "upload_modal.hint": "Fes clic o arrossega el cercle en la previsualització per escollir el punt focal que sempre serà visible en totes les miniatures.", "upload_modal.preparing_ocr": "Preparant OCR…", "upload_modal.preview_label": "Previsualitza ({ratio})", "upload_progress.label": "Pujant...", - "video.close": "Tancar el vídeo", + "video.close": "Tanca el vídeo", "video.download": "Descarrega l’arxiu", - "video.exit_fullscreen": "Sortir de pantalla completa", - "video.expand": "Ampliar el vídeo", + "video.exit_fullscreen": "Surt de la pantalla completa", + "video.expand": "Amplia el vídeo", "video.fullscreen": "Pantalla completa", - "video.hide": "Amaga vídeo", - "video.mute": "Silenciar el so", + "video.hide": "Amaga el vídeo", + "video.mute": "Silencia el so", "video.pause": "Pausa", - "video.play": "Reproduir", - "video.unmute": "Activar so" + "video.play": "Reprodueix", + "video.unmute": "Activa el so" } diff --git a/app/javascript/mastodon/locales/ckb.json b/app/javascript/mastodon/locales/ckb.json index 09058276f..ea976b3af 100644 --- a/app/javascript/mastodon/locales/ckb.json +++ b/app/javascript/mastodon/locales/ckb.json @@ -442,7 +442,7 @@ "search_results.total": "{count, number} {count, plural, one {دەرئەنجام} other {دەرئەنجام}}", "status.admin_account": "کردنەوەی میانڕەوی بەڕێوەبەر بۆ @{name}", "status.admin_status": "ئەم توتە بکەوە لە ناو ڕووکاری بەڕیوەبەر", - "status.block": "بلۆکی @{name}", + "status.block": "@{name} ئاستەنگ بکە", "status.bookmark": "نیشانه", "status.cancel_reblog_private": "بێبەهێزکردن", "status.cannot_reblog": "ئەم بابەتە ناتوانرێت بەرزبکرێتەوە", @@ -458,12 +458,12 @@ "status.filtered": "پاڵاوتن", "status.history.created": "{name} created {date}", "status.history.edited": "{name} edited {date}", - "status.load_more": "بارکردنی زیاتر", + "status.load_more": "زیاتر بار بکە", "status.media_hidden": "میدیای شاراوە", "status.mention": "ناوبنێ @{name}", "status.more": "زیاتر", - "status.mute": "بێدەنگکردن @{name}", - "status.mute_conversation": "گفتوگۆی بێدەنگ", + "status.mute": "@{name} بێدەنگ بکە", + "status.mute_conversation": "بێدەنگی بکە", "status.open": "ئەم توتە فراوان بکە", "status.pin": "لکاندن لەسەر پرۆفایل", "status.pinned": "توتی چەسپکراو", @@ -478,59 +478,59 @@ "status.replyAll": "بە نووسراوە وەڵام بدەوە", "status.report": "گوزارشت @{name}", "status.sensitive_warning": "ناوەڕۆکی هەستیار", - "status.share": "هاوبەش کردن", + "status.share": "هاوبەشی بکە", "status.show_less": "کەمتر نیشان بدە", - "status.show_less_all": "کەمتر نیشان بدە بۆ هەمووی", - "status.show_more": "زیاتر پیشان بدە", + "status.show_less_all": "هەمووی بچووک بکەوە", + "status.show_more": "زیاتر نیشان بدە", "status.show_more_all": "زیاتر نیشان بدە بۆ هەمووی", "status.show_thread": "نیشاندانی گفتوگۆ", "status.uncached_media_warning": "بەردەست نیە", "status.unmute_conversation": "گفتوگۆی بێدەنگ", - "status.unpin": "لابردن لە پرۆفایل", + "status.unpin": "لە سەرەوە لایبە", "suggestions.dismiss": "ڕەتکردنەوەی پێشنیار", "suggestions.header": "لەوانەیە حەزت لەمەش بێت…", "tabs_bar.federated_timeline": "گشتی", "tabs_bar.home": "سەرەتا", "tabs_bar.local_timeline": "ناوخۆیی", "tabs_bar.notifications": "ئاگادارییەکان", - "tabs_bar.search": "گەڕان", + "tabs_bar.search": "بگەڕێ", "time_remaining.days": "{number, plural, one {# ڕۆژ} other {# ڕۆژ}} ماوە", - "time_remaining.hours": "{number, plural, one {# کات} other {# کات}} ماوە", - "time_remaining.minutes": "{number, plural, one {# خۆلەک} other {# خولەک}} ماوە", - "time_remaining.moments": "ئەو ساتانەی ماونەتەوە", + "time_remaining.hours": "{number, plural, one {# کاتژمێر} other {# کاتژمێر}} ماوە", + "time_remaining.minutes": "{number, plural, one {# خولەک} other {# خولەک}} ماوە", + "time_remaining.moments": "کاتی ماوە", "time_remaining.seconds": "{number, plural, one {# چرکە} other {# چرکە}} ماوە", "timeline_hint.remote_resource_not_displayed": "{resource} لە ڕاژەکانی ترەوە پیشان نادرێت.", - "timeline_hint.resources.followers": "شوێنکەوتووان", + "timeline_hint.resources.followers": "شوێنکەوتوو", "timeline_hint.resources.follows": "شوێنکەوتن", - "timeline_hint.resources.statuses": "توتی کۆن", + "timeline_hint.resources.statuses": "نێردراوی کۆن", "trends.counter_by_accounts": "{count, plural, one {{counter} کەس} other {{counter} کەس}} گفتوگۆ دەکا", - "trends.trending_now": "گۆگران", - "ui.beforeunload": "ڕەشنووسەکەت لە دەست دەچێت ئەگەر لە ماستۆدۆن بڕۆیت.", - "units.short.billion": "{count}ملیار", - "units.short.million": "{count}ملیۆن", - "units.short.thousand": "{count}هەزار", - "upload_area.title": "ڕاکێشان & دانان بۆ بارکردن", - "upload_button.label": "زیادکردنی وێنەکان، ڤیدیۆیەک یان فایلێکی دەنگی", - "upload_error.limit": "سنووری بارکردنی فایل تێپەڕیوە.", - "upload_error.poll": "پەڕگەکە ڕێی پێنەدراوە بە ڕاپرسی باربکرێت.", - "upload_form.audio_description": "بۆ ئەو کەسانەی کە گوێ بیستیان هەیە وەسف دەکات", - "upload_form.description": "وەسف بکە بۆ کەمبینایان", + "trends.trending_now": "ڕۆژەڤ", + "ui.beforeunload": "ڕەشنووسەکەت لەدەست دەچێت ئەگەر ماستۆدۆن جێ بهێڵیت.", + "units.short.billion": "{count} ملیار", + "units.short.million": "{count} ملیۆن", + "units.short.thousand": "{count} هەزار", + "upload_area.title": "فایلەکانت ڕابکێشە ئێرە بۆ بەرزکردنەوەیان", + "upload_button.label": "وێنە، ڤیدیۆ یان پەیامی دەنگی زیاد بکە", + "upload_error.limit": "سنووری بەرزکردنەوەت بەزاندووە.", + "upload_error.poll": "فایل و ڕاپرسی پێکەوە ڕێپێنەدراون.", + "upload_form.audio_description": "پەیامەکەت بۆ نابیستەکان", + "upload_form.description": "پەیامەکەت بۆ نابیناکان", "upload_form.description_missing": "No description added", "upload_form.edit": "دەستکاری", "upload_form.thumbnail": "گۆڕانی وینۆچکە", - "upload_form.undo": "سڕینەوە", - "upload_form.video_description": "بۆ کەم بینایان و کەم بیستان وەسفی بکە", - "upload_modal.analyzing_picture": "شیکردنەوەی وێنە…", - "upload_modal.apply": "جێبەجێ کردن", + "upload_form.undo": "بیسڕەوە", + "upload_form.video_description": "پەیامەکەت بۆ نابیست و نابیناکان", + "upload_modal.analyzing_picture": "وێنەکە شی دەکرێتەوە…", + "upload_modal.apply": "بیسەپێنە", "upload_modal.applying": "Applying…", "upload_modal.choose_image": "وێنە هەڵبژێرە", "upload_modal.description_placeholder": "بە دڵ کەین با بە نەشئەی مەی غوباری میحنەتی دونیا", - "upload_modal.detect_text": "دەقی وێنەکە بدۆزیەوە", + "upload_modal.detect_text": "نووسینی ناو وێنەکە دەستنیشان بکە", "upload_modal.edit_media": "دەستکاریکردنی میدیا", "upload_modal.hint": "گەر وێنە چکۆلە یان بڕاوەبێت، خاڵی ناوەندی دیار دەکەوێت. خاڵی ناوەندی وێنە بە کرتە یان جێبەجیکردنی رێکبخەن.", - "upload_modal.preparing_ocr": "ئامادەکردنی OCR…", - "upload_modal.preview_label": "پێشبینی ({ratio})", - "upload_progress.label": "بارکردن...", + "upload_modal.preparing_ocr": "نووسینەکە دەستنیشان دەکرێت…", + "upload_modal.preview_label": "پێشبینین ({ratio})", + "upload_progress.label": "بار دەکرێت...", "video.close": "داخستنی ڤیدیۆ", "video.download": "داگرتنی فایل", "video.exit_fullscreen": "دەرچوون لە پڕ شاشە", @@ -539,6 +539,6 @@ "video.hide": "شاردنەوەی ڤیدیۆ", "video.mute": "دەنگی کپ", "video.pause": "وەستان", - "video.play": "پەخشکردن", - "video.unmute": "دەنگ لابدە" + "video.play": "لێی بدە", + "video.unmute": "بێدەنگی مەکە" } diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index b220db1c5..a3979b197 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -18,7 +18,7 @@ "account.followers": "Dilynwyr", "account.followers.empty": "Nid oes neb yn dilyn y defnyddiwr hwn eto.", "account.followers_counter": "{count, plural, one {{counter} Ddilynwr} other {{counter} o Ddilynwyr}}", - "account.following": "Following", + "account.following": "Yn dilyn", "account.following_counter": "{count, plural, one {{counter} yn Dilyn} other {{counter} yn Dilyn}}", "account.follows.empty": "Nid yw'r defnyddiwr hwn yn dilyn unrhyw un eto.", "account.follows_you": "Yn eich dilyn chi", @@ -41,16 +41,16 @@ "account.statuses_counter": "{count, plural, one {{counter} Dŵt} other {{counter} o Dŵtiau}}", "account.unblock": "Dadflocio @{name}", "account.unblock_domain": "Dadguddio {domain}", - "account.unblock_short": "Unblock", + "account.unblock_short": "Dad-flocio", "account.unendorse": "Peidio a'i arddangos ar fy mhroffil", "account.unfollow": "Dad-ddilyn", "account.unmute": "Dad-dawelu @{name}", "account.unmute_notifications": "Dad-dawelu hysbysiadau o @{name}", - "account.unmute_short": "Unmute", + "account.unmute_short": "Dad-dewi", "account_note.placeholder": "Clicio i ychwanegu nodyn", "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.retention.average": "Cyfartaledd", "admin.dashboard.retention.cohort": "Sign-up month", "admin.dashboard.retention.cohort_size": "Defnyddwyr newydd", "alert.rate_limited.message": "Ceisiwch eto ar ôl {retry_time, time, medium}.", @@ -121,7 +121,7 @@ "confirmations.delete.message": "Ydych chi'n sicr eich bod eisiau dileu y tŵt hwn?", "confirmations.delete_list.confirm": "Dileu", "confirmations.delete_list.message": "Ydych chi'n sicr eich bod eisiau dileu y rhestr hwn am byth?", - "confirmations.discard_edit_media.confirm": "Discard", + "confirmations.discard_edit_media.confirm": "Gwaredu", "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?", "confirmations.domain_block.confirm": "Cuddio parth cyfan", "confirmations.domain_block.message": "A ydych yn hollol, hollol sicr eich bod am flocio y {domain} cyfan? Yn y nifer helaeth o achosion mae blocio neu tawelu ambell gyfrif yn ddigonol ac yn well. Ni fyddwch yn gweld cynnwys o'r parth hwnnw mewn unrhyw ffrydiau cyhoeddus na chwaith yn eich hysbysiadau. Bydd hyn yn cael gwared o'ch dilynwyr o'r parth hwnnw.", @@ -188,11 +188,11 @@ "errors.unexpected_crash.copy_stacktrace": "Copïo'r olrhain stac i'r clipfwrdd", "errors.unexpected_crash.report_issue": "Rhoi gwybod am broblem", "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.suggested_follows": "I chi", + "explore.title": "Archwilio", + "explore.trending_links": "Newyddion", + "explore.trending_statuses": "Postiau", + "explore.trending_tags": "Hanshnodau", "follow_recommendations.done": "Wedi gorffen", "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!", @@ -294,7 +294,7 @@ "navigation_bar.discover": "Darganfod", "navigation_bar.domain_blocks": "Parthau cuddiedig", "navigation_bar.edit_profile": "Golygu proffil", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Archwilio", "navigation_bar.favourites": "Ffefrynnau", "navigation_bar.filters": "Geiriau a dawelwyd", "navigation_bar.follow_requests": "Ceisiadau dilyn", @@ -338,7 +338,7 @@ "notifications.column_settings.status": "New toots:", "notifications.column_settings.unread_notifications.category": "Unread notifications", "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", - "notifications.column_settings.update": "Edits:", + "notifications.column_settings.update": "Golygiadau:", "notifications.filter.all": "Pob", "notifications.filter.boosts": "Hybiadau", "notifications.filter.favourites": "Ffefrynnau", @@ -380,7 +380,7 @@ "relative_time.days": "{number}dydd", "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.just_now": "jyst nawr", "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", "relative_time.hours": "{number}awr", @@ -389,7 +389,7 @@ "relative_time.seconds": "{number}eiliad", "relative_time.today": "heddiw", "reply_indicator.cancel": "Canslo", - "report.block": "Block", + "report.block": "Blocio", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Arall", "report.categories.spam": "Sbam", @@ -434,7 +434,7 @@ "search_popout.tips.text": "Mae testun syml yn dychwelyd enwau arddangos, enwau defnyddwyr a hashnodau sy'n cyfateb", "search_popout.tips.user": "defnyddiwr", "search_results.accounts": "Pobl", - "search_results.all": "All", + "search_results.all": "Pob", "search_results.hashtags": "Hanshnodau", "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Tŵtiau", @@ -450,7 +450,7 @@ "status.delete": "Dileu", "status.detailed_status": "Golwg manwl o'r sgwrs", "status.direct": "Neges breifat @{name}", - "status.edit": "Edit", + "status.edit": "Golygu", "status.edited": "Edited {date}", "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", "status.embed": "Plannu", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index c37cc179c..bcfb1452c 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -176,7 +176,7 @@ "empty_column.hashtag": "Unter diesem Hashtag gibt es noch nichts.", "empty_column.home": "Deine Startseite ist leer! Besuche {public} oder nutze die Suche, um loszulegen und andere Leute zu finden.", "empty_column.home.suggestions": "Ein paar Vorschläge ansehen", - "empty_column.list": "Diese Liste ist derzeit leer. Wenn Wesen auf dieser Liste neue Beiträge veröffentlichen werden sie hier erscheinen.", + "empty_column.list": "Diese Liste ist derzeit leer. Wenn Konten auf dieser Liste neue Beiträge veröffentlichen werden sie hier erscheinen.", "empty_column.lists": "Du hast noch keine Listen. Wenn du eine anlegst, wird sie hier angezeigt.", "empty_column.mutes": "Du hast keine Profile stummgeschaltet.", "empty_column.notifications": "Du hast noch keine Mitteilungen. Interagiere mit anderen, um ins Gespräch zu kommen.", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index 0f59bea92..963d2f61d 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -8,7 +8,7 @@ "account.blocked": "Bactha", "account.browse_more_on_origin_server": "Brabhsáil níos mó ar an phróifíl bhunaidh", "account.cancel_follow_request": "Cealaigh iarratas leanúnaí", - "account.direct": "Cuir teachtaireacht dhíreach ar @{name}", + "account.direct": "Seol teachtaireacht dhíreach chuig @{name}", "account.disable_notifications": "Éirigh as ag cuir mé in eol nuair bpostálann @{name}", "account.domain_blocked": "Ainm fearainn bactha", "account.edit_profile": "Cuir an phróifíl in eagar", @@ -29,12 +29,12 @@ "account.media": "Ábhair", "account.mention": "Luaigh @{name}", "account.moved_to": "Tá {name} bogtha go:", - "account.mute": "Ciúnaigh @{name}", - "account.mute_notifications": "Ciúnaigh fógraí ó @{name}", - "account.muted": "Ciúnaithe", + "account.mute": "Balbhaigh @{name}", + "account.mute_notifications": "Balbhaigh fógraí ó @{name}", + "account.muted": "Balbhaithe", "account.posts": "Postálacha", "account.posts_with_replies": "Postálacha agus freagraí", - "account.report": "Gearán @{name}", + "account.report": "Tuairiscigh @{name}", "account.requested": "Ag fanacht le ceadú. Cliceáil chun an iarratas leanúnaí a chealú", "account.share": "Roinn próifíl @{name}", "account.show_reblogs": "Taispeáin athphostálacha ó @{name}", @@ -44,9 +44,9 @@ "account.unblock_short": "Bain bac de", "account.unendorse": "Ná chuir ar an phróifíl mar ghné", "account.unfollow": "Ná lean a thuilleadh", - "account.unmute": "Díchiúnaigh @{name}", - "account.unmute_notifications": "Díchiúnaigh fógraí ó @{name}", - "account.unmute_short": "Díchiúnaigh", + "account.unmute": "Díbhalbhaigh @{name}", + "account.unmute_notifications": "Díbhalbhaigh fógraí ó @{name}", + "account.unmute_short": "Díbhalbhaigh", "account_note.placeholder": "Cliceáil chun nóta a chuir leis", "admin.dashboard.daily_retention": "Ráta coinneála an úsáideora de réir an lae tar éis clárú", "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", @@ -56,39 +56,39 @@ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.", "alert.rate_limited.title": "Rate limited", "alert.unexpected.message": "An unexpected error occurred.", - "alert.unexpected.title": "Oops!", - "announcement.announcement": "Announcement", + "alert.unexpected.title": "Hiúps!", + "announcement.announcement": "Fógra", "attachments_list.unprocessed": "(unprocessed)", "autosuggest_hashtag.per_week": "{count} per week", "boost_modal.combo": "You can press {combo} to skip this next time", "bundle_column_error.body": "Something went wrong while loading this component.", - "bundle_column_error.retry": "Try again", + "bundle_column_error.retry": "Bain triail as arís", "bundle_column_error.title": "Network error", - "bundle_modal_error.close": "Close", + "bundle_modal_error.close": "Dún", "bundle_modal_error.message": "Something went wrong while loading this component.", - "bundle_modal_error.retry": "Try again", - "column.blocks": "Blocked users", - "column.bookmarks": "Bookmarks", + "bundle_modal_error.retry": "Bain triail as arís", + "column.blocks": "Cuntais choiscthe", + "column.bookmarks": "Leabharmharcanna", "column.community": "Local timeline", "column.direct": "Direct messages", "column.directory": "Browse profiles", "column.domain_blocks": "Blocked domains", "column.favourites": "Favourites", "column.follow_requests": "Follow requests", - "column.home": "Home", - "column.lists": "Lists", - "column.mutes": "Muted users", + "column.home": "Baile", + "column.lists": "Liostaí", + "column.mutes": "Úsáideoirí balbhaithe", "column.notifications": "Notifications", "column.pins": "Pinned toot", "column.public": "Federated timeline", - "column_back_button.label": "Back", + "column_back_button.label": "Siar", "column_header.hide_settings": "Hide settings", "column_header.moveLeft_settings": "Move column to the left", "column_header.moveRight_settings": "Move column to the right", - "column_header.pin": "Pin", + "column_header.pin": "Greamaigh", "column_header.show_settings": "Show settings", - "column_header.unpin": "Unpin", - "column_subheading.settings": "Settings", + "column_header.unpin": "Díghreamaigh", + "column_subheading.settings": "Socruithe", "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "Media only", "community.column_settings.remote_only": "Remote only", @@ -97,7 +97,7 @@ "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": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "locked", - "compose_form.placeholder": "What is on your mind?", + "compose_form.placeholder": "Cad atá ag tarlú?", "compose_form.poll.add_option": "Add a choice", "compose_form.poll.duration": "Poll duration", "compose_form.poll.option_placeholder": "Choice {number}", @@ -124,17 +124,17 @@ "confirmations.discard_edit_media.confirm": "Faigh réidh de", "confirmations.discard_edit_media.message": "Tá athruithe neamhshlánaithe don tuarascáil gné nó réamhamharc agat, faigh réidh dóibh ar aon nós?", "confirmations.domain_block.confirm": "Hide entire domain", - "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.", - "confirmations.logout.confirm": "Log out", + "confirmations.domain_block.message": "An bhfuil tú iontach cinnte gur mhaith leat bac an t-ainm fearainn {domain} in iomlán? I bhformhór na gcásanna, is leor agus is fearr cúpla baic a cur i bhfeidhm nó cúpla úsáideoirí a balbhú. Ní fheicfidh tú ábhair ón t-ainm fearainn sin in amlíne ar bith, nó i d'fhógraí. Scaoilfear do leantóirí ón ainm fearainn sin.", + "confirmations.logout.confirm": "Logáil amach", "confirmations.logout.message": "Are you sure you want to log out?", - "confirmations.mute.confirm": "Mute", + "confirmations.mute.confirm": "Balbhaigh", "confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.", - "confirmations.mute.message": "Are you sure you want to mute {name}?", + "confirmations.mute.message": "An bhfuil tú cinnte gur mhaith leat {name} a bhalbhú?", "confirmations.redraft.confirm": "Delete & redraft", "confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.", "confirmations.reply.confirm": "Reply", "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?", - "confirmations.unfollow.confirm": "Unfollow", + "confirmations.unfollow.confirm": "Ná lean", "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?", "conversation.delete": "Delete conversation", "conversation.mark_as_read": "Mark as read", @@ -146,20 +146,20 @@ "directory.recently_active": "Recently active", "embed.instructions": "Embed this status on your website by copying the code below.", "embed.preview": "Here is what it will look like:", - "emoji_button.activity": "Activity", + "emoji_button.activity": "Gníomhaíocht", "emoji_button.custom": "Custom", "emoji_button.flags": "Flags", - "emoji_button.food": "Food & Drink", + "emoji_button.food": "Bia ⁊ Ól", "emoji_button.label": "Insert emoji", - "emoji_button.nature": "Nature", + "emoji_button.nature": "Nádur", "emoji_button.not_found": "No matching emojis found", "emoji_button.objects": "Objects", - "emoji_button.people": "People", + "emoji_button.people": "Daoine", "emoji_button.recent": "Frequently used", - "emoji_button.search": "Search...", + "emoji_button.search": "Cuardaigh...", "emoji_button.search_results": "Search results", "emoji_button.symbols": "Symbols", - "emoji_button.travel": "Travel & Places", + "emoji_button.travel": "Taisteal ⁊ Áiteanna", "empty_column.account_suspended": "Account suspended", "empty_column.account_timeline": "No toots here!", "empty_column.account_unavailable": "Profile unavailable", @@ -178,7 +178,7 @@ "empty_column.home.suggestions": "See some suggestions", "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", - "empty_column.mutes": "You haven't muted any users yet.", + "empty_column.mutes": "Níl aon úsáideoir balbhaithe agat fós.", "empty_column.notifications": "You don't have any notifications yet. When other people interact with you, you will see it here.", "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up", "error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.", @@ -189,15 +189,15 @@ "errors.unexpected_crash.report_issue": "Report issue", "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", - "follow_recommendations.done": "Done", + "explore.title": "Féach thart", + "explore.trending_links": "Nuacht", + "explore.trending_statuses": "Postálacha", + "explore.trending_tags": "Haischlibeanna", + "follow_recommendations.done": "Déanta", "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!", - "follow_request.authorize": "Authorize", - "follow_request.reject": "Reject", + "follow_request.authorize": "Ceadaigh", + "follow_request.reject": "Diúltaigh", "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.", "generic.saved": "Saved", "getting_started.developers": "Developers", @@ -243,7 +243,7 @@ "keyboard_shortcuts.legend": "to display this legend", "keyboard_shortcuts.local": "to open local timeline", "keyboard_shortcuts.mention": "to mention author", - "keyboard_shortcuts.muted": "to open muted users list", + "keyboard_shortcuts.muted": "Oscail liosta na n-úsáideoirí balbhaithe", "keyboard_shortcuts.my_profile": "to open your profile", "keyboard_shortcuts.notifications": "to open notifications column", "keyboard_shortcuts.open_media": "to open media", @@ -282,9 +282,9 @@ "media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}", "missing_indicator.label": "Not found", "missing_indicator.sublabel": "This resource could not be found", - "mute_modal.duration": "Duration", - "mute_modal.hide_notifications": "Hide notifications from this user?", - "mute_modal.indefinite": "Indefinite", + "mute_modal.duration": "Tréimhse", + "mute_modal.hide_notifications": "Cuir póstalacha ón t-úsáideoir seo i bhfolach?", + "mute_modal.indefinite": "Gan téarma", "navigation_bar.apps": "Mobile apps", "navigation_bar.blocks": "Blocked users", "navigation_bar.bookmarks": "Bookmarks", @@ -296,15 +296,15 @@ "navigation_bar.edit_profile": "Cuir an phróifíl in eagar", "navigation_bar.explore": "Explore", "navigation_bar.favourites": "Favourites", - "navigation_bar.filters": "Muted words", + "navigation_bar.filters": "Focail bhalbhaithe", "navigation_bar.follow_requests": "Follow requests", "navigation_bar.follows_and_followers": "Ag leanúint agus do do leanúint", "navigation_bar.info": "About this server", - "navigation_bar.keyboard_shortcuts": "Hotkeys", - "navigation_bar.lists": "Lists", - "navigation_bar.logout": "Logout", - "navigation_bar.mutes": "Muted users", - "navigation_bar.personal": "Personal", + "navigation_bar.keyboard_shortcuts": "Eochracha Aicearra", + "navigation_bar.lists": "Liostaí", + "navigation_bar.logout": "Logáil Amach", + "navigation_bar.mutes": "Úsáideoirí balbhaithe", + "navigation_bar.personal": "Pearsanta", "navigation_bar.pins": "Pinned toots", "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", @@ -371,11 +371,11 @@ "privacy.private.long": "Sofheicthe do Leantóirí amháin", "privacy.private.short": "Leantóirí amháin", "privacy.public.long": "Visible for all, shown in public timelines", - "privacy.public.short": "Public", + "privacy.public.short": "Poiblí", "privacy.unlisted.long": "Visible for all, but not in public timelines", "privacy.unlisted.short": "Unlisted", "refresh": "Refresh", - "regeneration_indicator.label": "Loading…", + "regeneration_indicator.label": "Ag lódáil…", "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", @@ -387,26 +387,26 @@ "relative_time.just_now": "now", "relative_time.minutes": "{number}m", "relative_time.seconds": "{number}s", - "relative_time.today": "today", + "relative_time.today": "inniu", "reply_indicator.cancel": "Cancel", "report.block": "Block", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", - "report.categories.spam": "Spam", + "report.categories.spam": "Turscar", "report.categories.violation": "Content violates one or more server rules", "report.category.subtitle": "Choose the best match", "report.category.title": "Tell us what's going on with this {type}", "report.category.title_account": "profile", "report.category.title_status": "post", - "report.close": "Done", + "report.close": "Déanta", "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Forward to {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.mute": "Balbhaigh", + "report.mute_explanation": "Ní fheicfidh tú a postálacha. Is féidir an té seo tú a leanúint agus do phostálacha a fheiceáil, agus ní fhios go bhfuil iad balbhaithe.", "report.next": "Next", "report.placeholder": "Type or paste additional comments", - "report.reasons.dislike": "I don't like it", + "report.reasons.dislike": "Ní maith liom é", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", "report.reasons.other_description": "The issue does not fit into other categories", @@ -426,18 +426,18 @@ "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.", - "search.placeholder": "Search", + "search.placeholder": "Cuardaigh", "search_popout.search_format": "Advanced search format", "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": "hashtag", + "search_popout.tips.hashtag": "haischlib", "search_popout.tips.status": "status", "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.user": "user", - "search_results.accounts": "People", + "search_results.accounts": "Daoine", "search_results.all": "All", - "search_results.hashtags": "Hashtags", + "search_results.hashtags": "Haischlibeanna", "search_results.nothing_found": "Could not find anything for these search terms", - "search_results.statuses": "Toots", + "search_results.statuses": "Postálacha", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", "status.admin_account": "Open moderation interface for @{name}", @@ -447,7 +447,7 @@ "status.cancel_reblog_private": "Unboost", "status.cannot_reblog": "This post cannot be boosted", "status.copy": "Copy link to status", - "status.delete": "Delete", + "status.delete": "Scrios", "status.detailed_status": "Detailed conversation view", "status.direct": "Direct message @{name}", "status.edit": "Cuir in eagar", @@ -461,9 +461,9 @@ "status.load_more": "Load more", "status.media_hidden": "Media hidden", "status.mention": "Mention @{name}", - "status.more": "More", - "status.mute": "Mute @{name}", - "status.mute_conversation": "Mute conversation", + "status.more": "Tuilleadh", + "status.mute": "Balbhaigh @{name}", + "status.mute_conversation": "Balbhaigh comhrá", "status.open": "Expand this status", "status.pin": "Pin on profile", "status.pinned": "Pinned toot", @@ -485,15 +485,15 @@ "status.show_more_all": "Show more for all", "status.show_thread": "Show thread", "status.uncached_media_warning": "Not available", - "status.unmute_conversation": "Unmute conversation", + "status.unmute_conversation": "Díbhalbhaigh comhrá", "status.unpin": "Unpin from profile", "suggestions.dismiss": "Dismiss suggestion", "suggestions.header": "You might be interested in…", "tabs_bar.federated_timeline": "Federated", - "tabs_bar.home": "Home", + "tabs_bar.home": "Baile", "tabs_bar.local_timeline": "Local", "tabs_bar.notifications": "Notifications", - "tabs_bar.search": "Search", + "tabs_bar.search": "Cuardaigh", "time_remaining.days": "{number, plural, one {# day} other {# days}} left", "time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left", "time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index becbbaf04..52020f896 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -459,7 +459,7 @@ "status.history.created": "Chruthaich {name} {date} e", "status.history.edited": "Dheasaich {name} {date} e", "status.load_more": "Luchdaich barrachd dheth", - "status.media_hidden": "Meadhanan falaichte", + "status.media_hidden": "Meadhan falaichte", "status.mention": "Thoir iomradh air @{name}", "status.more": "Barrachd", "status.mute": "Mùch @{name}", @@ -515,7 +515,7 @@ "upload_error.poll": "Chan fhaod thu faidhle a luchdadh suas an cois cunntais-bheachd.", "upload_form.audio_description": "Mìnich e dhan fheadhainn le èisteachd bheag", "upload_form.description": "Mìnich e dhan fheadhainn le cion-lèirsinne", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Cha deach tuairisgeul a chur ris", "upload_form.edit": "Deasaich", "upload_form.thumbnail": "Atharraich an dealbhag", "upload_form.undo": "Sguab às", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 3d145e272..058e525b5 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -48,8 +48,8 @@ "account.unmute_notifications": "Deixar de silenciar as notificacións de @{name}", "account.unmute_short": "Non silenciar", "account_note.placeholder": "Preme para engadir nota", - "admin.dashboard.daily_retention": "Ratio de retención de usuarias após rexistrarse", - "admin.dashboard.monthly_retention": "Ratio de retención de usuarias após un mes do rexistro", + "admin.dashboard.daily_retention": "Ratio de retención de usuarias diaria após rexistrarse", + "admin.dashboard.monthly_retention": "Ratio de retención de usuarias mensual após o rexistro", "admin.dashboard.retention.average": "Media", "admin.dashboard.retention.cohort": "Mes de rexistro", "admin.dashboard.retention.cohort_size": "Novas usuarias", @@ -379,7 +379,7 @@ "regeneration_indicator.sublabel": "Estase a preparar a túa cronoloxía de inicio!", "relative_time.days": "{number}d", "relative_time.full.days": "fai {number, plural, one {# día} other {# días}}", - "relative_time.full.hours": "fai {number, plural, one {# hora} other {# horas}} ago", + "relative_time.full.hours": "fai {number, plural, one {# hora} other {# horas}}", "relative_time.full.just_now": "xusto agora", "relative_time.full.minutes": "fai {number, plural, one {# minuto} other {# minutos}}", "relative_time.full.seconds": "fai {number, plural, one {# segundo} other {# segundos}}", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index e7cceedf7..480562c06 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -31,7 +31,7 @@ "account.moved_to": "{name} hefur verið færður til:", "account.mute": "Þagga niður í @{name}", "account.mute_notifications": "Þagga tilkynningar frá @{name}", - "account.muted": "Þaggað", + "account.muted": "Þaggaður", "account.posts": "Færslur", "account.posts_with_replies": "Færslur og svör", "account.report": "Kæra @{name}", @@ -315,7 +315,7 @@ "notification.follow_request": "{name} hefur beðið um að fylgjast með þér", "notification.mention": "{name} minntist á þig", "notification.own_poll": "Könnuninni þinni er lokið", - "notification.poll": "Könnun sem þú tókst þátt í er lokið", + "notification.poll": "Könnun sem þú tókst þátt í er lokin", "notification.reblog": "{name} endurbirti færsluna þína", "notification.status": "{name} sendi inn rétt í þessu", "notification.update": "{name} breytti færslu", @@ -356,7 +356,7 @@ "notifications_permission_banner.how_to_control": "Til að taka á móti tilkynningum þegar Mastodon er ekki opið, skaltu virkja tilkynningar á skjáborði. Þegar þær eru orðnar virkar geturðu stýrt nákvæmlega hverskonar atvik framleiða tilkynningar með því að nota {icon}-hnappinn hér fyrir ofan.", "notifications_permission_banner.title": "Aldrei missa af neinu", "picture_in_picture.restore": "Setja til baka", - "poll.closed": "Lokað", + "poll.closed": "Lokuð", "poll.refresh": "Endurlesa", "poll.total_people": "{count, plural, one {# aðili} other {# aðilar}}", "poll.total_votes": "{count, plural, one {# atkvæði} other {# atkvæði}}", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index b149c5879..eb51428bc 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -3,7 +3,7 @@ "account.add_or_remove_from_list": "리스트에 추가 혹은 삭제", "account.badges.bot": "봇", "account.badges.group": "그룹", - "account.block": "@{name}을 차단", + "account.block": "@{name} 차단", "account.block_domain": "도메인 {domain}을 차단", "account.blocked": "차단됨", "account.browse_more_on_origin_server": "원본 프로필에서 더 탐색하기", @@ -73,7 +73,7 @@ "column.direct": "다이렉트 메시지", "column.directory": "프로필 둘러보기", "column.domain_blocks": "차단한 도메인", - "column.favourites": "즐겨찾기", + "column.favourites": "좋아요", "column.follow_requests": "팔로우 요청", "column.home": "홈", "column.lists": "리스트", @@ -128,10 +128,10 @@ "confirmations.logout.confirm": "로그아웃", "confirmations.logout.message": "정말로 로그아웃 하시겠습니까?", "confirmations.mute.confirm": "뮤트", - "confirmations.mute.explanation": "이 동작은 그의 게시물, 그를 멘션하는 게시물을 숨깁니다, 하지만 여전히 그가 당신의 게시물을 보고 팔로우 할 수 있습니다.", + "confirmations.mute.explanation": "이 동작은 해당 계정의 게시물과 해당 계정을 멘션하는 게시물을 숨깁니다, 하지만 여전히 해당 계정이 당신의 게시물을 보고 팔로우 할 수 있습니다.", "confirmations.mute.message": "정말로 {name}를 뮤트하시겠습니까?", "confirmations.redraft.confirm": "삭제하고 다시 쓰기", - "confirmations.redraft.message": "정말로 이 게시물을 삭제하고 다시 쓰시겠습니까? 해당 게시물에 대한 부스트와 즐겨찾기를 잃게 되고 원본에 대한 답장은 연결 되지 않습니다.", + "confirmations.redraft.message": "정말로 이 게시물을 삭제하고 다시 쓰시겠습니까? 해당 게시물에 대한 부스트와 좋아요를 잃게 되고 원본에 대한 답장은 연결 되지 않습니다.", "confirmations.reply.confirm": "답글", "confirmations.reply.message": "답글을 달기 위해 현재 작성 중인 메시지가 덮어 씌워집니다. 진행하시겠습니까?", "confirmations.unfollow.confirm": "팔로우 해제", @@ -169,8 +169,8 @@ "empty_column.direct": "아직 다이렉트 메시지가 없습니다. 다이렉트 메시지를 보내거나 받은 경우, 여기에 표시 됩니다.", "empty_column.domain_blocks": "아직 차단한 도메인이 없습니다.", "empty_column.explore_statuses": "아직 유행하는 것이 없습니다. 나중에 다시 확인하세요!", - "empty_column.favourited_statuses": "아직 즐겨찾기 한 게시물이 없습니다. 게시물을 즐겨찾기 하면 여기에 나타납니다.", - "empty_column.favourites": "아직 아무도 이 게시물을 즐겨찾기 하지 않았습니다. 누군가 즐겨찾기를 하면 여기에 나타납니다.", + "empty_column.favourited_statuses": "아직 마음에 들어한 게시물이 없습니다. 게시물을 좋아요 하면 여기에 나타납니다.", + "empty_column.favourites": "아직 아무도 이 게시물을 마음에 들어하지 않았습니다. 누군가 좋아요를 하면 여기에 나타납니다.", "empty_column.follow_recommendations": "당신을 위한 제안이 생성될 수 없는 것 같습니다. 알 수도 있는 사람을 검색하거나 유행하는 해시태그를 둘러볼 수 있습니다.", "empty_column.follow_requests": "아직 팔로우 요청이 없습니다. 요청을 받았을 때 여기에 나타납니다.", "empty_column.hashtag": "이 해시태그는 아직 사용되지 않았습니다.", @@ -235,7 +235,7 @@ "keyboard_shortcuts.down": "리스트에서 아래로 이동", "keyboard_shortcuts.enter": "게시물 열기", "keyboard_shortcuts.favourite": "관심글 지정", - "keyboard_shortcuts.favourites": "즐겨찾기 목록 열기", + "keyboard_shortcuts.favourites": "좋아요 목록 열기", "keyboard_shortcuts.federated": "연합 타임라인 열기", "keyboard_shortcuts.heading": "키보드 단축키", "keyboard_shortcuts.home": "홈 타임라인 열기", @@ -295,7 +295,7 @@ "navigation_bar.domain_blocks": "차단한 도메인", "navigation_bar.edit_profile": "프로필 편집", "navigation_bar.explore": "탐색하기", - "navigation_bar.favourites": "즐겨찾기", + "navigation_bar.favourites": "좋아요", "navigation_bar.filters": "뮤트한 단어", "navigation_bar.follow_requests": "팔로우 요청", "navigation_bar.follows_and_followers": "팔로우와 팔로워", @@ -310,7 +310,7 @@ "navigation_bar.public_timeline": "연합 타임라인", "navigation_bar.security": "보안", "notification.admin.sign_up": "{name} 님이 가입했습니다", - "notification.favourite": "{name} 님이 즐겨찾기 했습니다", + "notification.favourite": "{name} 님이 당신의 게시물을 마음에 들어합니다", "notification.follow": "{name} 님이 나를 팔로우 했습니다", "notification.follow_request": "{name} 님이 팔로우 요청을 보냈습니다", "notification.mention": "{name} 님이 답글을 보냈습니다", @@ -323,7 +323,7 @@ "notifications.clear_confirmation": "정말로 알림을 삭제하시겠습니까?", "notifications.column_settings.admin.sign_up": "새로운 가입:", "notifications.column_settings.alert": "데스크탑 알림", - "notifications.column_settings.favourite": "즐겨찾기:", + "notifications.column_settings.favourite": "좋아요:", "notifications.column_settings.filter_bar.advanced": "카테고리의 모든 종류를 표시", "notifications.column_settings.filter_bar.category": "퀵 필터 바", "notifications.column_settings.filter_bar.show_bar": "필터 막대 표시", @@ -341,7 +341,7 @@ "notifications.column_settings.update": "수정내역:", "notifications.filter.all": "모두", "notifications.filter.boosts": "부스트", - "notifications.filter.favourites": "즐겨찾기", + "notifications.filter.favourites": "좋아요", "notifications.filter.follows": "팔로우", "notifications.filter.mentions": "멘션", "notifications.filter.polls": "투표 결과", @@ -390,7 +390,7 @@ "relative_time.today": "오늘", "reply_indicator.cancel": "취소", "report.block": "차단", - "report.block_explanation": "당신은 그의 게시물을 보지 않게 됩니다. 그는 당신의 게시물을 보거나 팔로우 할 수 없습니다. 그가 차단되었다는 사실을 알 수 있습니다.", + "report.block_explanation": "당신은 해당 계정의 게시물을 보지 않게 됩니다. 해당 계정은 당신의 게시물을 보거나 팔로우 할 수 없습니다. 해당 계정은 자신이 차단되었다는 사실을 알 수 있습니다.", "report.categories.other": "기타", "report.categories.spam": "스팸", "report.categories.violation": "컨텐츠가 한 개 이상의 서버 규칙을 위반합니다", @@ -403,7 +403,7 @@ "report.forward": "{target}에 포워드 됨", "report.forward_hint": "이 계정은 다른 서버에 있습니다. 익명화 된 사본을 해당 서버에도 전송할까요?", "report.mute": "침묵", - "report.mute_explanation": "당신은 그의 게시물을 보지 않게 됩니다. 그는 여전히 당신을 팔로우 하거나 당신의 게시물을 볼 수 있으며 뮤트 되었는지 알지 못합니다.", + "report.mute_explanation": "당신은 해당 계정의 게시물을 보지 않게 됩니다. 해당 계정은 여전히 당신을 팔로우 하거나 당신의 게시물을 볼 수 있으며 해당 계정은 자신이 뮤트 되었는지 알지 못합니다.", "report.next": "다음", "report.placeholder": "코멘트", "report.reasons.dislike": "마음에 안듭니다", @@ -454,7 +454,7 @@ "status.edited": "{date}에 편집됨", "status.edited_x_times": "{count}번 수정됨", "status.embed": "공유하기", - "status.favourite": "즐겨찾기", + "status.favourite": "좋아요", "status.filtered": "필터로 걸러짐", "status.history.created": "{name} 님이 {date}에 생성함", "status.history.edited": "{name} 님이 {date}에 수정함", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index 9bdbf15c3..7848064c8 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -189,8 +189,8 @@ "errors.unexpected_crash.report_issue": "Nahlás problém", "explore.search_results": "Výsledky hľadania", "explore.suggested_follows": "Pre teba", - "explore.title": "Explore", - "explore.trending_links": "News", + "explore.title": "Objavuj", + "explore.trending_links": "Novinky", "explore.trending_statuses": "Príspevky", "explore.trending_tags": "Haštagy", "follow_recommendations.done": "Hotovo", @@ -294,7 +294,7 @@ "navigation_bar.discover": "Objavuj", "navigation_bar.domain_blocks": "Skryté domény", "navigation_bar.edit_profile": "Uprav profil", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Objavuj", "navigation_bar.favourites": "Obľúbené", "navigation_bar.filters": "Filtrované slová", "navigation_bar.follow_requests": "Žiadosti o sledovanie", @@ -309,7 +309,7 @@ "navigation_bar.preferences": "Nastavenia", "navigation_bar.public_timeline": "Federovaná časová os", "navigation_bar.security": "Zabezbečenie", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} sa zaregistroval/a", "notification.favourite": "{name} si obľúbil/a tvoj príspevok", "notification.follow": "{name} ťa začal/a následovať", "notification.follow_request": "{name} žiada ťa následovať", @@ -318,10 +318,10 @@ "notification.poll": "Anketa v ktorej si hlasoval/a sa skončila", "notification.reblog": "{name} zdieľal/a tvoj príspevok", "notification.status": "{name} práve uverejnil/a", - "notification.update": "{name} edited a post", + "notification.update": "{name} upravil/a príspevok", "notifications.clear": "Vyčisti oboznámenia", "notifications.clear_confirmation": "Naozaj chceš nenávratne prečistiť všetky tvoje oboznámenia?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Nové registrácie:", "notifications.column_settings.alert": "Oboznámenia na ploche", "notifications.column_settings.favourite": "Obľúbené:", "notifications.column_settings.filter_bar.advanced": "Zobraz všetky kategórie", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 01de2c8c8..9104bd8f7 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -383,7 +383,7 @@ "relative_time.full.just_now": "şimdi", "relative_time.full.minutes": "{number, plural, one {# dakika} other {# dakika}} önce", "relative_time.full.seconds": "{number, plural, one {# saniye} other {# saniye}} önce", - "relative_time.hours": "{number}sa", + "relative_time.hours": "{number}s", "relative_time.just_now": "şimdi", "relative_time.minutes": "{number}dk", "relative_time.seconds": "{number}sn", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 9ea6a1e44..03752d34f 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -1,7 +1,7 @@ { "account.account_note_header": "Ghi chú", "account.add_or_remove_from_list": "Thêm hoặc Xóa khỏi danh sách", - "account.badges.bot": "người máy", + "account.badges.bot": "Bot", "account.badges.group": "Nhóm", "account.block": "Chặn @{name}", "account.block_domain": "Ẩn mọi thứ từ {domain}", @@ -24,11 +24,11 @@ "account.follows_you": "Đang theo dõi bạn", "account.hide_reblogs": "Ẩn tút @{name} đăng lại", "account.joined": "Đã tham gia {date}", - "account.link_verified_on": "Liên kết này đã được xác thực vào {date}", + "account.link_verified_on": "Liên kết này đã được xác minh vào {date}", "account.locked_info": "Đây là tài khoản riêng tư. Họ sẽ tự mình xét duyệt các yêu cầu theo dõi.", "account.media": "Media", "account.mention": "Nhắc đến @{name}", - "account.moved_to": "{name} đã đổi thành:", + "account.moved_to": "{name} đã chuyển sang:", "account.mute": "Ẩn @{name}", "account.mute_notifications": "Tắt thông báo từ @{name}", "account.muted": "Đã ẩn", diff --git a/config/locales/activerecord.ca.yml b/config/locales/activerecord.ca.yml index fba97157f..03b594c0a 100644 --- a/config/locales/activerecord.ca.yml +++ b/config/locales/activerecord.ca.yml @@ -6,7 +6,7 @@ ca: expires_at: Data límit options: Opcions user: - agreement: Acord de servei + agreement: Acord sobre serveis email: Adreça de correu electrònic locale: Idioma password: Contrasenya @@ -19,7 +19,7 @@ ca: account: attributes: username: - invalid: ha de contenir només lletres, números i subratllats + invalid: només pot contenir lletres, números i guions baixos reserved: està reservat status: attributes: diff --git a/config/locales/ca.yml b/config/locales/ca.yml index fe43fd47a..779b43fe9 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -1,56 +1,56 @@ --- ca: about: - about_hashtag_html: Aquestes són publicacions públiques etiquetades amb #%{hashtag}. Pots interactuar amb elles si tens un compte a qualsevol lloc del fedivers. - about_mastodon_html: 'La xarxa social del futur: sense anuncis, sense vigilància corporativa, disseny ètic i descentralització. Posseeix les teves dades amb Mastodon!' + about_hashtag_html: Aquestes són publicacions públiques etiquetades amb #%{hashtag}. Hi pots interactuar si tens un compte a qualsevol lloc del fedivers. + about_mastodon_html: 'La xarxa social del futur: sense anuncis, sense vigilància corporativa, disseny ètic i descentralització. Tingues el control de les teves dades amb Mastodon!' about_this: Quant a active_count_after: actiu active_footnote: Usuaris actius mensuals (UAM) administered_by: 'Administrat per:' api: API - apps: Apps mòbils - apps_platforms: Utilitza Mastodon des de iOS, Android i altres plataformes - browse_directory: Navega per el directori de perfils i filtra segons interessos - browse_local_posts: Navega un flux en directe de publicacions públiques d’aquest servidor - browse_public_posts: Navega per una transmissió en directe de publicacions públiques a Mastodon + apps: Aplicacions mòbils + apps_platforms: Utilitza Mastodon des d'iOS, Android i altres plataformes + browse_directory: Navega pel directori de perfils i filtra segons interessos + browse_local_posts: Navega per una transmissió en directe de les publicacions públiques d’aquest servidor + browse_public_posts: Navega per una transmissió en directe de les publicacions públiques a Mastodon contact: Contacte contact_missing: No configurat contact_unavailable: N/D continue_to_web: Continua a l'aplicació web - discover_users: Descobrir usuaris + discover_users: Descobreix usuaris documentation: Documentació - federation_hint_html: Amb un compte de %{instance} podràs seguir persones de qualsevol servidor Mastodon i altres. - get_apps: Provar una aplicació mòbil + federation_hint_html: Amb un compte de %{instance}, podràs seguir persones de qualsevol servidor Mastodon i de molts més. + get_apps: Prova una aplicació mòbil hosted_on: Mastodon allotjat a %{domain} instance_actor_flash: | - Aquest compte és un actor virtual utilitzat per a representar al propi servidor i no cap usuari individual. - S'utilitza per a propòsits de federació i no ha de ser bloquejat si no voleu bloquejar tota la instància, en aquest cas hauríeu d'utilitzar un bloqueig de domini. - learn_more: Aprèn més + Aquest compte és un actor virtual usat per representar el servidor i no qualsevol usuari individual. + Es fa servir per a propòsits de federació i no s'ha de ser bloquejar si no voleu bloquejar tota la instància. En aquest cas, hauríeu d'utilitzar un bloqueig de domini. + learn_more: Més informació logged_in_as_html: Actualment has iniciat sessió com a %{username}. logout_before_registering: Ja has iniciat sessió. privacy_policy: Política de privadesa rules: Normes del servidor - rules_html: 'El de sota és un resum de les normes que has de seguir si vols tenir un compte en aquest servidor de Mastodon:' + rules_html: 'A continuació, es mostra un resum de les normes que has de seguir si vols tenir un compte en aquest servidor de Mastodon:' see_whats_happening: Mira què està passant server_stats: 'Estadístiques del servidor:' source_code: Codi font status_count_after: one: publicació other: publicacions - status_count_before: Que han publicat + status_count_before: Qui ha publicat tagline: Segueix els teus amics i descobreix-ne de nous - terms: Termes del servei + terms: Condicions de servei unavailable_content: Servidors moderats unavailable_content_description: domain: Servidor reason: Motiu - rejecting_media: 'Els arxius multimèdia d''aquests servidors no seran processats o emmagatzemats i cap miniatura serà mostrada, requerint clic manual a través de l''arxiu original:' - rejecting_media_title: Mèdia filtrat - silenced: 'Les publicacions d''aquests servidors seran amagades en les línies de temps públiques i en les converses, i cap notificació serà generada de les interaccions dels seus usuaris, llevat que estiguis seguint-los:' - silenced_title: Servidors silenciats - suspended: 'Cap dada d''aquests servidors serà processada, emmagatzemada o intercanviada, fent impossible qualsevol interacció o comunicació amb els usuaris d''aquests servidors:' + rejecting_media: 'Els arxius multimèdia d''aquests servidors no seran processats ni emmagatzemats. No es mostrarà cap miniatura i caldrà fer clic en l''arxiu original:' + rejecting_media_title: Arxius multimèdia filtrats + silenced: 'Les publicacions d''aquests servidors s''ocultaran en les línies de temps públiques i en les converses. No es generarà cap notificació de les interaccions dels seus usuaris, tret que els segueixis:' + silenced_title: Servidors limitats + suspended: 'No es processaran, emmagatzemaran ni s''intercanviaran dades d''aquests servidors i serà impossible interactuar o comunicar-se amb els usuaris d''aquests servidors:' suspended_title: Servidors suspesos - unavailable_content_html: Mastodon generalment et permet veure el contingut i interaccionar amb els usuaris de qualsevol altre servidor en el fedivers. Aquestes són les excepcions que s'han fet en aquest servidor particular. + unavailable_content_html: En general, Mastodon et permet veure el contingut i interaccionar amb els usuaris de qualsevol altre servidor del fedivers. Aquestes són les excepcions que s'han fet en aquest servidor particular. user_count_after: one: usuari other: usuaris @@ -58,7 +58,7 @@ ca: what_is_mastodon: Què és Mastodon? accounts: choices_html: 'Eleccions de %{name}:' - endorsements_hint: Pots recomanar persones que segueixes a l'interfície de web, que apareixeran aquí. + endorsements_hint: Pots recomanar persones que segueixes des de la interfície de web i apareixeran aquí. featured_tags_hint: Pots presentar etiquetes específiques que seràn mostrades aquí. follow: Segueix followers: @@ -116,7 +116,7 @@ ca: confirming: Confirmant custom: Personalitzat delete: Esborra les dades - deleted: Esborrats + deleted: Eliminat demote: Degrada destroyed_msg: Les dades de %{username} son a la cua per a ser esborrades en breu disable: Inhabilita @@ -753,7 +753,7 @@ ca: batch: remove_from_report: Treu del informe report: Informe - deleted: Esborrats + deleted: Eliminada media: title: Contingut multimèdia no_status_selected: No s’han canviat els estatus perquè cap no ha estat seleccionat diff --git a/config/locales/cy.yml b/config/locales/cy.yml index d3b5eaf65..812b97c77 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -15,6 +15,7 @@ cy: contact: Cyswllt contact_missing: Heb ei osod contact_unavailable: Ddim yn berthnasol + continue_to_web: Parhau i app gwe discover_users: Darganfod defnyddwyr documentation: Dogfennaeth federation_hint_html: Gyda cyfrif ar %{instance}, gallwch dilyn pobl ar unrhyw gweinydd Mastodon, a thu hwnt. @@ -24,7 +25,11 @@ cy: Mae'r cyfrif hwn yn actor rhithwir a ddefnyddir i gynrychioli'r gweinydd ei hun ac nid unrhyw ddefnyddiwr unigol. Fe'i defnyddir at ddibenion ffederasiwn ac ni ddylid ei rwystro oni bai eich bod am rwystro'r achos cyfan, ac os felly dylech ddefnyddio bloc parth. learn_more: Dysu mwy + logged_in_as_html: Rydych chi wedi mewngofnodi fel %{username}. + logout_before_registering: Rydych chi eisoes wedi mewngofnodi. privacy_policy: Polisi preifatrwydd + rules: Rheolau gweinydd + rules_html: 'Isod mae crynodeb o''r rheolau y mae angen i chi eu dilyn os ydych chi am gael cyfrif ar y gweinydd hwn o Mastodon:' see_whats_happening: Gweld beth sy'n digwydd server_stats: 'Ystadegau gweinydd:' source_code: Cod ffynhonnell @@ -93,6 +98,7 @@ cy: posts_with_replies: Tŵtiau ac atebion roles: admin: Gweinyddwr + bot: Bot group: Grŵp moderator: Safonwr unavailable: Proffil ddim ar gael diff --git a/config/locales/de.yml b/config/locales/de.yml index ab562ba32..26e914fe7 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -517,6 +517,7 @@ de: delivery: all: Alle clear: Zustellfehler löschen + failing: Schlägt fehl restart: Lieferung neu starten stop: Lieferung stoppen unavailable: Nicht verfügbar @@ -659,8 +660,8 @@ de: desc_html: Anzahl der lokal geposteten Beiträge, aktiven Nutzern und neuen Registrierungen in wöchentlichen Zusammenfassungen title: Veröffentliche gesamte Statistiken über Benutzeraktivitäten bootstrap_timeline_accounts: - desc_html: Mehrere Profilnamen durch Kommata trennen. Funktioniert nur mit lokalen und nicht gesperrten Konten. Standardwert bei freigelassenem Feld sind alle lokalen Admins. - title: Konten, denen Neu-Angemeldete automatisch folgen + desc_html: Mehrere Profilnamen durch Kommata trennen. Diese Accounts werden immer in den Folgemempfehlungen angezeigt + title: Konten, die Neu-Angemeldete empfohlen bekommen sollen contact_information: email: Öffentliche E-Mail-Adresse username: Profilname für die Kontaktaufnahme @@ -1233,8 +1234,8 @@ de: body: Hier ist eine kurze Zusammenfassung der Nachrichten, die du seit deinem letzten Besuch am %{since} verpasst hast mention: "%{name} hat dich erwähnt:" new_followers_summary: - one: Außerdem ist dir seit du weg warst ein weiteres Wesen gefolgt! Juhu! - other: Außerdem sind dir seit du weg warst %{count} weitere Wesen gefolgt! Großartig! + one: Außerdem ist dir seit du weg warst ein weiteres Konto gefolgt! Juhu! + other: Außerdem sind dir seit du weg warst %{count} weitere Konten gefolgt! Großartig! subject: one: "1 neue Mitteilung seit deinem letzten Besuch 🐘" other: "%{count} neue Mitteilungen seit deinem letzten Besuch 🐘" diff --git a/config/locales/devise.ca.yml b/config/locales/devise.ca.yml index 4c58c432f..c94d996fc 100644 --- a/config/locales/devise.ca.yml +++ b/config/locales/devise.ca.yml @@ -3,87 +3,87 @@ ca: devise: confirmations: confirmed: La teva adreça de correu electrònic s'ha confirmat correctament. - send_instructions: "En pocs minuts rebràs un correu electrònic amb instruccions sobre com confirmar l'adreça de correu. \nSi us plau verifica la teva carpeta de correu brossa si no has rebut aquest correu." + send_instructions: "En pocs minuts, rebràs un correu electrònic amb instruccions sobre com confirmar l'adreça de correu. \nSi us plau, verifica la teva carpeta de correu brossa si no l'has rebut." send_paranoid_instructions: |- - Si l'adreça de correu electrònic existeix en la nostra base de dades, en pocs minuts rebràs un correu electrònic amb instruccions sobre com confirmar l'adreça de correu. - Si us plau verifica la teva carpeta de correu brossa si no has rebut aquest correu. + Si l'adreça de correu electrònic ja existeix a la nostra base de dades, rebràs un correu electrònic amb instruccions sobre com confirmar-la. + Si us plau, verifica la teva carpeta de correu brossa si no has rebut el correu. failure: already_authenticated: Ja estàs registrat. inactive: El teu compte encara no s'ha activat. - invalid: "%{authentication_keys} o contrasenya no són vàlids." - last_attempt: Tens un intent més, abans que es bloquegi el compte. + invalid: "%{authentication_keys} o la contrasenya no són vàlids." + last_attempt: Tens un intent més abans que es bloquegi el teu compte. locked: El compte s'ha bloquejat. - not_found_in_database: "%{authentication_keys} o contrasenya no són vàlids." + not_found_in_database: "%{authentication_keys} o la contrasenya no són vàlids." pending: El teu compte encara està en revisió. - timeout: La sessió ha expirat. Inicia sessió una altra vegada per a continuar. + timeout: La sessió ha expirat. Torna a iniciar la sessió per continuar. unauthenticated: Cal iniciar sessió o registrar-se abans de continuar. unconfirmed: Has de confirmar l'adreça de correu electrònic abans de continuar. mailer: confirmation_instructions: action: Verifica l'adreça de correu action_with_app: Confirma i torna a %{app} - explanation: Has creat un compte a %{host} amb aquesta adreça de correu electrònic. Estàs a un sol clic de l'activació. Si no fos així, ignora aquest correu electrònic. - explanation_when_pending: Has sol·licitat una invitació a %{host} amb aquesta adreça de correu electrònic. Un cop confirmis la teva adreça de correu electrònic revisarem la teva sol·licitud. No es pot iniciar la sessió fins llavors. Si la teva sol·licitud és rebutjada les teves dades s’eliminaran, de manera que no s’exigirà cap altra acció. Si no has estat tu qui ha fet aquest sol·licitud si us plau ignora aquest correu electrònic. - extra_html: Si us plau consulta també les regles del servidor i les nostres condicions de servei. - subject: 'Mastodon: Instruccions de confirmació per a %{instance}' + explanation: Has creat un compte a %{host} amb aquesta adreça de correu electrònic. Estàs a un sol clic d'activar-lo. Si no ho has fet tu, ignora aquest correu electrònic. + explanation_when_pending: Has sol·licitat una invitació a %{host} amb aquesta adreça de correu electrònic. Un cop confirmis la teva adreça de correu electrònic, revisarem la teva sol·licitud. Pots iniciar la sessió per canviar els detalls o eliminar el teu compte, però no pots accedir a la majoria de les funcions fins que s'hagi aprovat. Si es rebutja la teva sol·licitud, les teves dades s’eliminaran, de manera que no se t’exigirà cap més acció. Si no has estat tu qui ha fet aquesta sol·licitud, ignora aquest correu electrònic, si us plau. + extra_html: Si us plau, consulta també a les regles del servidor i a les nostres condicions de servei. + subject: 'Mastodon: instruccions de confirmació per a %{instance}' title: Verifica l'adreça de correu email_changed: explanation: 'L''adreça de correu del teu compte s''està canviant a:' - extra: Si no has canviat el teu correu electrònic és probable que algú hagi accedit al teu compte. Si us plau, canvia la contrasenya immediatament o posa't en contacte amb l'administrador del servidor si no pots accedir al teu compte. + extra: Si no has canviat el teu correu electrònic, és probable que algú hagi accedit al teu compte. Si us plau, canvia la contrasenya immediatament o posa't en contacte amb l'administrador del servidor si no pots accedir al teu compte. subject: 'Mastodon: s''ha canviat l''adreça electrònica' - title: Adreça de correu electrònic nova + title: Nova adreça de correu electrònic password_change: explanation: S'ha canviat la contrasenya del teu compte. extra: Si no has canviat la teva contrasenya, és probable que algú hagi accedit al teu compte. Si us plau, canvia la contrasenya immediatament o posa't en contacte amb l'administrador del servidor si no pots accedir al teu compte. - subject: 'Mastodon: Contrasenya canviada' + subject: 'Mastodon: contrasenya canviada' title: Contrasenya canviada reconfirmation_instructions: explanation: Confirma la nova adreça per canviar el teu correu electrònic. - extra: Si no has iniciat aquest canvi, ignora aquest correu electrònic. L'adreça electrònica del compte de Mastodon no canviarà fins que accedeixis a l'enllaç de dalt. + extra: Si tu no has iniciat aquest canvi, ignora aquest correu electrònic. L'adreça de correu electrònic del compte de Mastodon no canviarà fins que no accedeixis a l'enllaç que hi ha a dalt. subject: 'Mastodon: confirma l''adreça electrònica per a %{instance}' title: Verifica l'adreça de correu electrònic reset_password_instructions: - action: Canviar contrasenya + action: Canvia la contrasenya explanation: Has sol·licitat una contrasenya nova per al teu compte. - extra: Si no ho has sol·licitat, ignora aquest correu electrònic. La teva contrasenya no canviarà fins que accedeixis a l'enllaç de dalt i creis un de nou. - subject: 'Mastodon: Instruccions per a reiniciar contrasenya' + extra: Si no l'has sol·licitat, ignora aquest correu electrònic. La teva contrasenya no canviarà fins que no accedeixis a l'enllaç que hi ha a dalt i en creïs una de nova. + subject: 'Mastodon: instruccions per reiniciar la contrasenya' title: Contrasenya restablerta two_factor_disabled: - explanation: L´autenticació de dos factors pel teu compte ha estat desactivat. L'inici de sessió és ara possible utilitzant només l'adreça de correu electrònic i la contrasenya. - subject: 'Mastodon: autenticació de dos factors desactivada' - title: 2FA desactivat + explanation: L'autenticació de doble factor per al teu compte s'ha desactivat. Ara només pots iniciar la sessió fent servir la teva adreça de correu electrònic i la contrasenya. + subject: 'Mastodon: autenticació de doble factor desactivada' + title: AF2 desactivat two_factor_enabled: - explanation: L'autenticació de dos factors ha estat habilitada pel teu compte. Un token generat per l'aplicació d'emparellat TOTP serà requerit per a iniciar sessió. - subject: 'Mastodon: autenticació de dos factors activada' - title: 2FA activat + explanation: L'autenticació de doble factor s'ha habilitat per al teu compte. Per iniciar la sessió, es requerirà un token generat per l'aplicació TOTP que hagis emparellat. + subject: 'Mastodon: autenticació de doble factor activada' + title: AF2 activat two_factor_recovery_codes_changed: - explanation: Els codis de recuperació anteriors han estat invalidats i s'han generat uns de nous. - subject: 'Mastodon: codis de recuperació de Dos factors regenerats' - title: 2FA codis de recuperació canviats + explanation: Els codis de recuperació anteriors ja no són vàlids i se n'han generat de nous. + subject: 'Mastodon: codis de recuperació de doble factor regenerats' + title: Codis de recuperació A2F canviats unlock_instructions: - subject: 'Mastodon: Instruccions de desbloqueig' + subject: 'Mastodon: instruccions per desbloquejar' webauthn_credential: added: - explanation: La següent clau de seguretat s'ha afegit al teu compte - subject: 'Mastodon: Nova clau de seguretat' + explanation: S'ha afegit la següent clau de seguretat al vostre compte + subject: 'Mastodon: nova clau de seguretat' title: S'ha afegit una nova clau de seguretat deleted: explanation: La següent clau de seguretat s'ha esborrat del teu compte subject: 'Mastodon: clau de seguretat esborrada' title: Una de les teves claus de seguretat ha estat esborrada webauthn_disabled: - explanation: S'ha desactivat l'autenticació amb claus de seguretat per al teu compte. L'inici de sessió és ara possible emprant només el token generat per l'aplicació TOTP. - subject: 'Mastodon: S''ha desactivat l''autenticació amb claus de seguretat' + explanation: S'ha desactivat l'autenticació amb claus de seguretat per al teu compte. Ara només pots iniciar la sessió usant el token generat per l'aplicació TOTP. + subject: 'Mastodon: s''ha desactivat l''autenticació amb claus de seguretat' title: Claus de seguretat desactivades webauthn_enabled: - explanation: S'ha activat l'autenticació amb claus de seguretat. La teva clau de seguretat por ser emprada per a iniciar sessió. - subject: 'Mastodon: Autenticació amb clau de seguretat activada' + explanation: S'ha activat l'autenticació amb claus de seguretat. Ja pots usar la teva clau de seguretat per iniciar sessió. + subject: 'Mastodon: autenticació amb clau de seguretat activada' title: Claus de seguretat activades omniauth_callbacks: - failure: No podem autenticar-te des de %{kind} degut a "%{reason}". - success: Autenticat amb èxit des del compte %{kind}. + failure: No s'ha pogut autenticar des de %{kind} degut a "%{reason}". + success: Autenticat correctament des del compte %{kind}. passwords: - no_token: No pots accedir a aquesta pàgina sense provenir des del correu de restabliment de la contrasenya. Si vens des del correu de restabliment de contrasenya, assegura't que estàs emprant l'adreça completa proporcionada. + no_token: Només pots accedir a aquesta pàgina a través de l'enllaç de restabliment de la contrasenya. Si vens d'un correu electrònic com aquest, assegura't que has introduït l'adreça completa proporcionada. send_instructions: Si el teu correu electrònic existeix en la nostra base de dades, rebràs en pocs minuts un enllaç de restabliment de contrasenya en l'adreça de correu. Si us plau verifica la teva carpeta de correu brossa si no has rebut aquest correu. send_paranoid_instructions: Si el teu correu electrònic existeix en la nostra base de dades, rebràs un enllaç de restabliment de contrasenya en l'adreça de correu en pocs minuts. Si us plau verifica la carpeta de correu brossa si no reps aquest correu. updated: La contrasenya s'ha canviat correctament. Ara ja estàs registrat. diff --git a/config/locales/devise.vi.yml b/config/locales/devise.vi.yml index b0a240bf8..348f347e6 100644 --- a/config/locales/devise.vi.yml +++ b/config/locales/devise.vi.yml @@ -2,9 +2,9 @@ vi: devise: confirmations: - confirmed: Địa chỉ email của bạn đã được xác thực thành công. - send_instructions: Bạn sẽ nhận được một email hướng dẫn cách xác thực địa chỉ email trong vài phút tới. Xin kiểm tra thư mục thư rác nếu như bạn không thấy email này. - send_paranoid_instructions: Nếu địa chỉ email của bạn đã tồn tại trong cơ sở dữ liệu của chúng tôi, bạn sẽ nhận được một email hướng dẫn cách xác thực lại địa chỉ email. Xin kiểm tra thư mục thư rác nếu như bạn không thấy email này. + confirmed: Địa chỉ email của bạn đã được xác minh thành công. + send_instructions: Bạn sẽ nhận được một email hướng dẫn cách xác minh địa chỉ email trong vài phút tới. Xin kiểm tra thư mục thư rác nếu như bạn không thấy email này. + send_paranoid_instructions: Nếu địa chỉ email của bạn đã tồn tại trong cơ sở dữ liệu của chúng tôi, bạn sẽ nhận được một email hướng dẫn cách xác minh lại địa chỉ email. Xin kiểm tra thư mục thư rác nếu như bạn không thấy email này. failure: already_authenticated: Bạn đã đăng nhập rồi. inactive: Tài khoản của bạn chưa được kich hoạt. @@ -15,16 +15,16 @@ vi: pending: Tài khoản của bạn vẫn đang được xem xét. timeout: Phiên của bạn đã hết hạn. Vui lòng đăng nhập lại để tiếp tục. unauthenticated: Bạn cần đăng nhập hoặc đăng ký trước khi tiếp tục. - unconfirmed: Bạn phải xác thực địa chỉ email trước khi tiếp tục. + unconfirmed: Bạn phải xác minh địa chỉ email trước khi tiếp tục. mailer: confirmation_instructions: - action: Xác thực địa chỉ email + action: Xác minh địa chỉ email action_with_app: Xác nhận và quay lại %{app} explanation: Bạn đã tạo một tài khoản trên %{host} với địa chỉ email này. Chỉ cần một cú nhấp chuột nữa để kích hoạt nó. Nếu đây không phải là bạn, xin vui lòng bỏ qua email này. - explanation_when_pending: Bạn vừa đăng ký %{host} với địa chỉ email này. Chúng tôi chỉ xem xét đơn đăng ký sau khi bạn xác thực địa chỉ email. Bạn có thể đăng nhập để thay đổi chi tiết hoặc xóa tài khoản của mình, nhưng bạn không thể sử dụng đầy đủ tính năng cho đến khi tài khoản được xác thực. Nếu bạn bị từ chối, dữ liệu của bạn sẽ bị xóa, do đó bạn sẽ không cần phải làm gì thêm nữa. Nếu không phải do bạn đăng ký, xin vui lòng bỏ qua email này. + explanation_when_pending: Bạn vừa đăng ký %{host} với địa chỉ email này. Chúng tôi chỉ xem xét đơn đăng ký sau khi bạn xác minh địa chỉ email. Bạn có thể đăng nhập để thay đổi chi tiết hoặc xóa tài khoản của mình, nhưng bạn không thể sử dụng đầy đủ tính năng cho đến khi tài khoản được xác minh. Nếu bạn bị từ chối, dữ liệu của bạn sẽ bị xóa, do đó bạn sẽ không cần phải làm gì thêm nữa. Nếu không phải do bạn đăng ký, xin vui lòng bỏ qua email này. extra_html: Xin đọc kỹ quy tắc máy chủchính sách riêng tư của chúng tôi. - subject: 'Mastodon: Xác thực email cho %{instance}' - title: Xác thực địa chỉ email + subject: 'Mastodon: Xác minh email cho %{instance}' + title: Xác minh địa chỉ email email_changed: explanation: 'Địa chỉ email cho tài khoản của bạn đang được thay đổi thành:' extra: Nếu bạn không thay đổi email của mình, có khả năng ai đó đã truy cập được vào tài khoản của bạn. Hãy thay đổi mật khẩu ngay lập tức hoặc liên hệ với quản trị viên. @@ -38,8 +38,8 @@ vi: reconfirmation_instructions: explanation: Xác nhận địa chỉ email mới của bạn. extra: Nếu thay đổi này không phải do bạn thực hiện, vui lòng bỏ qua email này. Địa chỉ email cho tài khoản Mastodon sẽ giữ nguyên cho đến khi bạn truy cập vào liên kết ở trên. - subject: 'Mastodon: Xác thực email cho %{instance}' - title: Xác thực địa chỉ email + subject: 'Mastodon: Xác minh email cho %{instance}' + title: Xác minh địa chỉ email reset_password_instructions: action: Đổi mật khẩu explanation: Bạn đã yêu cầu mật khẩu mới cho tài khoản của bạn. @@ -47,13 +47,13 @@ vi: subject: 'Mastodon: Hướng dẫn đổi lại mật khẩu' title: Đổi lại mật khẩu two_factor_disabled: - explanation: Đã vô hiệu hóa xác thực hai bước cho tài khoản của bạn. Bây giờ chỉ có thể đăng nhập bằng địa chỉ email và mật khẩu. - subject: 'Mastodon: Xác thực hai bước đã bị vô hiệu hóa' - title: Vô hiệu hóa xác thực hai bước + explanation: Đã vô hiệu hóa xác minh 2 bước cho tài khoản của bạn. Bây giờ chỉ có thể đăng nhập bằng địa chỉ email và mật khẩu. + subject: 'Mastodon: Xác minh 2 bước đã bị vô hiệu hóa' + title: Vô hiệu hóa xác minh 2 bước two_factor_enabled: - explanation: Tài khoản của bạn đã kích hoạt xác thực hai bước. Lần đăng nhập tới sẽ cần thêm mã đăng nhập được tạo bởi ứng dụng TOTP. - subject: 'Mastodon: Kích hoạt xác thực hai yếu tố' - title: Kích hoạt xác thực hai bước + explanation: Tài khoản của bạn đã kích hoạt xác minh 2 bước. Lần đăng nhập tới sẽ cần thêm mã đăng nhập được tạo bởi ứng dụng TOTP. + subject: 'Mastodon: Kích hoạt xác minh 2 bước' + title: Kích hoạt xác minh 2 bước two_factor_recovery_codes_changed: explanation: Các mã khôi phục trước đó đã bị vô hiệu hóa và thay bằng mã mới. subject: 'Mastodon: Mã khôi phục xác thực hai yếu tố đã được tạo lại' @@ -75,13 +75,13 @@ vi: title: Đã vô hiệu hóa khóa bảo mật webauthn_enabled: explanation: Bạn vừa kích hoạt xác thực tài khoản bằng khóa bảo mật. Từ bây giờ, khóa bảo mật của bạn sẽ được dùng để đăng nhập. - subject: 'Mastodon: Kích hoạt xác thực bằng khóa bảo mật' + subject: 'Mastodon: Kích hoạt xác minh bằng khóa bảo mật' title: Đã kích hoạt khóa bảo mật omniauth_callbacks: - failure: Không thể xác thực bạn từ %{kind} bởi vì "%{reason}". - success: Xác thực tài khoản %{kind} thành công. + failure: Không thể xác minh bạn từ %{kind} bởi vì "%{reason}". + success: Xác minh tài khoản %{kind} thành công. passwords: - no_token: Bạn chỉ có thể truy cập trang này khi nhận được email phục hồi mật khẩu. Nếu vẫn không được, vui lòng chắc chắn rằng bạn đã dùng chính xác URL được cung cấp. + no_token: Bạn chỉ có thể truy cập trang này khi nhận được email khôi phục mật khẩu. Nếu vẫn không được, vui lòng chắc chắn rằng bạn đã dùng chính xác URL được cung cấp. send_instructions: Nếu địa chỉ email của bạn tồn tại trong cơ sở dữ liệu của chúng tôi, bạn sẽ nhận được liên kết khôi phục mật khẩu tại địa chỉ email của bạn sau vài phút. Xin kiểm tra thư mục thư rác nếu như bạn không thấy email này. send_paranoid_instructions: Nếu địa chỉ email của bạn tồn tại trong cơ sở dữ liệu của chúng tôi, bạn sẽ nhận được liên kết khôi phục mật khẩu tại địa chỉ email của bạn sau vài phút. Xin kiểm tra thư mục thư rác nếu như bạn không thấy email này. updated: Mật khẩu của bạn đã được thay đổi thành công. Hiện tại bạn đã đăng nhập. @@ -91,9 +91,9 @@ vi: signed_up: Chúc mừng! Bạn đã đăng ký thành công. signed_up_but_inactive: Bạn đã đăng ký thành công. Tuy nhiên, bạn cần phải kích hoạt tài khoản mới có thể đăng nhập. signed_up_but_locked: Bạn đã đăng ký thành công. Tuy nhiên, chúng tôi không thể đăng nhập cho bạn vì tài khoản của bạn bị khóa. - signed_up_but_pending: Một email xác thực đã được gửi đến địa chỉ email của bạn. Sau khi bạn nhấp vào liên kết, chúng tôi sẽ xem xét đơn đăng ký của bạn và thông báo nếu đơn được chấp thuận. - signed_up_but_unconfirmed: Một email xác thực đã được gửi đến địa chỉ email của bạn. Hãy nhấp vào liên kết trong email để kích hoạt tài khoản của bạn. Nếu không thấy, hãy kiểm tra mục thư rác. - update_needs_confirmation: Bạn đã cập nhật tài khoản thành công, nhưng chúng tôi cần xác thực địa chỉ email mới của bạn. Vui lòng kiểm tra email và nhấp vào liên kết xác thực. Nếu bạn không thấy email, hãy kiểm tra trong thư rác. + signed_up_but_pending: Một email xác minh đã được gửi đến địa chỉ email của bạn. Sau khi bạn nhấp vào liên kết, chúng tôi sẽ xem xét đơn đăng ký của bạn và thông báo nếu đơn được chấp thuận. + signed_up_but_unconfirmed: Một email xác minh đã được gửi đến địa chỉ email của bạn. Hãy nhấp vào liên kết trong email để kích hoạt tài khoản của bạn. Nếu không thấy, hãy kiểm tra mục thư rác. + update_needs_confirmation: Bạn đã cập nhật tài khoản thành công, nhưng chúng tôi cần xác minh địa chỉ email mới của bạn. Vui lòng kiểm tra email và nhấp vào liên kết xác minh. Nếu bạn không thấy email, hãy kiểm tra trong thư rác. updated: Tài khoản của bạn đã được cập nhật thành công. sessions: already_signed_out: Đã đăng xuất. @@ -105,8 +105,8 @@ vi: unlocked: Tài khoản của bạn đã được mở khóa thành công. Vui lòng đăng nhập để tiếp tục. errors: messages: - already_confirmed: đã được xác thực, vui lòng đăng nhập lại - confirmation_period_expired: cần phải xác thực trong vòng %{period}, vui lòng yêu cầu một cái mới + already_confirmed: đã được xác minh, vui lòng đăng nhập lại + confirmation_period_expired: cần phải xác minh trong vòng %{period}, vui lòng yêu cầu lại expired: đã hết hạn, vui lòng yêu cầu một cái mới not_found: không tìm thấy not_locked: không bị khóa diff --git a/config/locales/doorkeeper.ca.yml b/config/locales/doorkeeper.ca.yml index 51ddefc05..e98eb0915 100644 --- a/config/locales/doorkeeper.ca.yml +++ b/config/locales/doorkeeper.ca.yml @@ -25,46 +25,46 @@ ca: edit: Edita submit: Envia confirmations: - destroy: Estàs segur? + destroy: N'estàs segur? edit: title: Edita l'aplicació form: error: Ep! Comprova el formulari per a possibles errors help: - native_redirect_uri: Utilitza %{native_redirect_uri} per a proves locals - redirect_uri: Utilitza una línia per URI - scopes: Separa els àmbits amb espais. Deixa-ho en blanc per a utilitzar els àmbits per defecte. + native_redirect_uri: Usa %{native_redirect_uri} per a proves locals + redirect_uri: Usa una línia per URI + scopes: Separa els àmbits amb espais. Deixa-ho en blanc per usar els àmbits per defecte. index: application: Aplicació callback_url: URL de retorn delete: Suprimeix empty: No tens cap aplicació. name: Nom - new: Aplicació nova + new: Nova aplicació scopes: Àmbits show: Mostra title: Les teves aplicacions new: - title: Aplicació nova + title: Nova aplicació show: actions: Accions application_id: Id de l'aplicació - callback_urls: Callback URL + callback_urls: URL de retorn scopes: Àmbits - secret: Secret + secret: Clau secreta de client title: 'Aplicació: %{name}' authorizations: buttons: authorize: Autoritza deny: Desautoritza error: - title: S'a produit un error + title: S'ha produït un error new: - prompt_html: "%{client_name} voldria permís per a accedir el teu compte. És una aplicació de tercers. Si no hi confies no hauries d'autoritzar-la." + prompt_html: "%{client_name} vol permís per accedir el teu compte. És una aplicació de tercers. Si no hi confies, no hauries d'autoritzar-la." review_permissions: Revisa els permisos title: Cal autorizació show: - title: Copia aquest codi d'autorització i enganxa'l en l'aplicació. + title: Copia aquest codi d'autorització i enganxa'l a l'aplicació. authorized_applications: buttons: revoke: Revoca @@ -72,9 +72,9 @@ ca: revoke: N'estàs segur? index: authorized_at: Autoritzada el %{date} - description_html: Aquestes son les aplicacions que poden accedir al teu compte usant l'API. Si aquí hi ha aplicacions que no reconeixes o una aplicació es comporta malament, pots revocar el seu accés. - last_used_at: Darrera utilització el %{date} - never_used: Mai usat + description_html: Aquestes són les aplicacions que poden accedir al teu compte usant l'API. Si hi ha aplicacions que no reconeixes o hi ha una aplicació que no funciona bé, pots revocar-ne l'accés. + last_used_at: Usada per últim cop el %{date} + never_used: No s'ha usat mai scopes: Permisos superapp: Interna title: Les teves aplicacions autoritzades diff --git a/config/locales/doorkeeper.ko.yml b/config/locales/doorkeeper.ko.yml index 37e0ab840..e645f20b2 100644 --- a/config/locales/doorkeeper.ko.yml +++ b/config/locales/doorkeeper.ko.yml @@ -127,7 +127,7 @@ ko: bookmarks: 북마크 conversations: 대화 crypto: 종단간 암호화 - favourites: 즐겨찾기 + favourites: 좋아요 filters: 필터 follow: 관계 follows: 팔로우 diff --git a/config/locales/doorkeeper.vi.yml b/config/locales/doorkeeper.vi.yml index d2071a1b4..946760d32 100644 --- a/config/locales/doorkeeper.vi.yml +++ b/config/locales/doorkeeper.vi.yml @@ -82,14 +82,14 @@ vi: messages: access_denied: Chủ sở hữu tài nguyên hoặc máy chủ đã từ chối yêu cầu. credential_flow_not_configured: Resource Owner Password Credentials không thành công do Doorkeeper.configure.resource_owner_from_credentials không được định cấu hình. - invalid_client: Xác thực ứng dụng khách không thành công do máy khách mơ hồ, không bao gồm xác thực ứng dụng khách hoặc phương thức xác thực không được hỗ trợ. + invalid_client: Xác minh ứng dụng khách không thành công do máy khách mơ hồ, không bao gồm xác thực ứng dụng khách hoặc phương thức xác thực không được hỗ trợ. invalid_grant: Yêu cầu không hợp lệ, hết hạn, bị gỡ hoặc không khớp với tài khoản đã cấp phép. Hoặc xung đột với ứng dụng khác. invalid_redirect_uri: URL chuyển hướng không hợp lệ. invalid_request: missing_param: 'Thiếu tham số bắt buộc: %{value}.' request_not_authorized: Yêu cầu cần được cho phép trước. Tham số bắt buộc bị thiếu hoặc vô giá trị. unknown: Thiếu tham số bắt buộc. Có thể giá trị tham số không được hỗ trợ, hoặc không đúng định dạng. - invalid_resource_owner: Thông tin xác thực chủ sở hữu tài nguyên được cung cấp không hợp lệ hoặc không thể tìm thấy chủ sở hữu tài nguyên + invalid_resource_owner: Thông tin xác minh chủ sở hữu tài nguyên được cung cấp không hợp lệ hoặc không thể tìm thấy chủ sở hữu tài nguyên invalid_scope: Quyền yêu cầu không hợp lệ, không có thật hoặc sai định dạng. invalid_token: expired: Mã thông báo truy cập đã hết hạn diff --git a/config/locales/fr.yml b/config/locales/fr.yml index fac498c4e..8eb40265a 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -4,15 +4,15 @@ fr: about_hashtag_html: Voici des messages publics tagués avec #%{hashtag}. Vous pouvez interagir avec si vous avez un compte n’importe où dans le fédiverse. about_mastodon_html: 'Le réseau social de l''avenir : pas de publicité, pas de surveillance institutionnelle, conception éthique et décentralisation ! Gardez le contrôle de vos données avec Mastodon !' about_this: À propos - active_count_after: actif·ve·s + active_count_after: actifs active_footnote: Nombre mensuel d'utilisateur·rice·s actif·ve·s (NMUA) administered_by: 'Administré par :' api: API apps: Applications mobiles apps_platforms: Utilisez Mastodon depuis iOS, Android et d’autres plates-formes browse_directory: Parcourir l’annuaire des profils et filtrer par centres d’intérêts - browse_local_posts: Parcourir un flux en direct de messages publics depuis ce serveur - browse_public_posts: Parcourir un flux en direct de messages publics sur Mastodon + browse_local_posts: Parcourir en direct un flux de messages publics depuis ce serveur + browse_public_posts: Parcourir en direct un flux de messages publics sur Mastodon contact: Contact contact_missing: Non défini contact_unavailable: Non disponible @@ -31,13 +31,13 @@ fr: privacy_policy: Politique de confidentialité rules: Règles du serveur rules_html: 'Voici un résumé des règles que vous devez suivre si vous voulez avoir un compte sur ce serveur de Mastodon :' - see_whats_happening: Voir ce qui se passe + see_whats_happening: Quoi de neuf server_stats: 'Statistiques du serveur :' source_code: Code source status_count_after: one: message other: messages - status_count_before: Ayant publié + status_count_before: Qui a publié tagline: Suivez vos ami·e·s et découvrez-en de nouveaux·elles terms: Conditions d’utilisation unavailable_content: Serveurs modérés @@ -54,7 +54,7 @@ fr: user_count_after: one: utilisateur other: utilisateur·rice·s - user_count_before: Abrite + user_count_before: Accueil de what_is_mastodon: Qu’est-ce que Mastodon ? accounts: choices_html: "%{name} recommande :" diff --git a/config/locales/ga.yml b/config/locales/ga.yml index 5f433e280..8a280c001 100644 --- a/config/locales/ga.yml +++ b/config/locales/ga.yml @@ -1,5 +1,54 @@ --- ga: + about: + api: API + privacy_policy: Polasaí príobháideachais + unavailable_content_description: + domain: Freastalaí + reason: Fáth + accounts: + posts_tab_heading: Postálacha + roles: + bot: Róbat + group: Grúpa + moderator: Modhnóir + unfollow: Ná lean + admin: + accounts: + are_you_sure: An bhfuil tú cinnte? + confirm: Deimhnigh + confirmed: Deimhnithe + confirming: Ag deimhniú + email: Ríomhphost + email_status: Stádas ríomhphoist + followers: Leantóirí + ip: IP + location: + all: Uile + public: Poiblí + reject: Diúltaigh + roles: + admin: Riarthóir + moderator: Modhnóir + staff: Foireann + user: Úsáideoir + search: Cuardaigh + statuses: Postálacha + title: Cuntais + announcements: + live: Beo + publish: Foilsigh + custom_emojis: + delete: Scrios + emoji: Emoji + list: Liosta + email_domain_blocks: + delete: Scrios + instances: + content_policies: + policy: Polasaí + delivery: + all: Uile errors: '400': The request you submitted was invalid or malformed. '403': You don't have permission to view this page. diff --git a/config/locales/gd.yml b/config/locales/gd.yml index d22a81868..074ca49ba 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -541,6 +541,7 @@ gd: delivery: all: Na h-uile clear: Falamhaich na mearachdan lìbhrigidh + failing: A’ fàilligeadh restart: Ath-thòisich air an lìbhrigeadh stop: Cuir stad air an lìbhrigeadh unavailable: Chan eil e ri làimh @@ -625,6 +626,7 @@ gd: action_taken_by: Chaidh an gnìomh a ghabhail le actions: delete_description_html: Thèid na postaichean le gearan orra a sguabadh às agus rabhadh a chlàradh gus do chuideachadh ach am bi thu nas teinne le droch-ghiùlan on aon chunntas sam àm ri teachd. + mark_as_sensitive_description_html: Thèid comharra an fhrionasachd a chur ris na meadhanan sna postaichean le gearan orra agus rabhadh a chlàradh gus do chuideachadh ach am bi thu nas teinne le droch-ghiùlan on aon chunntas sam àm ri teachd. other_description_html: Seall barrachd roghainnean airson giùlan a’ chunntais a stiùireadh agus an conaltradh leis a’ chunntas a chaidh gearan a dhèanamh mu dhèidhinn a ghnàthachadh. resolve_description_html: Cha dèid gnìomh sam bith a ghabhail an aghaidh a’ chunntais le gearan air agus thèid an gearan a dhùnadh gun rabhadh a chlàradh. silence_description_html: Chan fhaic ach an fheadhainn a tha a’ leantainn oirre mu thràth no a lorgas a làimh i a’ phròifil seo agus cuingichidh seo uiread nan daoine a ruigeas i gu mòr. Gabhaidh seo a neo-dhèanamh uair sam bith. @@ -1274,6 +1276,11 @@ gd: one: Cuideachd, bhuannaich thu %{count} neach-leantainn ùr on àm a bha thu air falbh! Nach ma sin! other: Cuideachd, bhuannaich thu %{count} luchd-leantainn ùr on àm a bha thu air falbh! Nach ma sin! two: Cuideachd, bhuannaich thu %{count} neach-leantainn ùr on àm a bha thu air falbh! Nach ma sin! + subject: + few: "%{count} brathan ùra on tadhal mu dheireadh agad 🐘" + one: "%{count} bhrath ùr on tadhal mu dheireadh agad 🐘" + other: "%{count} brath ùr on tadhal mu dheireadh agad 🐘" + two: "%{count} bhrath ùr on tadhal mu dheireadh agad 🐘" title: Fhad ’s a bha thu air falbh… favourite: body: 'Is annsa le %{name} am post agad:' @@ -1602,6 +1609,13 @@ gd: explanation: Dh’iarr thu lethbhreac-glèidhidh slàn dhen chunntas Mastodon agad. Tha e deis ri luchdadh a-nuas a-nis! subject: Tha an tasg-lann agad deis ri luchdadh a-nuas title: Tasg-lann dhut + suspicious_sign_in: + change_password: atharraich thu am facal-faire agad + details: 'Seo mion-fhiosrachadh mun chlàradh a-steach:' + explanation: Mhothaich sinn do chlàradh a-steach dhan chunntas agad o sheòladh IP ùr. + further_actions_html: Mur e thu fhèin a bh’ ann, mholamaid gun %{action} sa bhad agus gun cuir thu an dearbhadh dà-cheumnach an comas airson an cunntas agad a chumail tèarainte. + subject: Chaidh an cunntas agad inntrigeadh o sheòladh IP ùr + title: Clàradh a-steach ùr warning: appeal: Cuir ath-thagradh a-null appeal_description: Ma tha thu dhen bheachd gur e mearachd a th’ ann, ’s urrainn dhut ath-thagradh a chur a-null gun sgioba aig %{instance}. diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 20dc58732..8f28434ff 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -484,7 +484,7 @@ gl: other: Se fallan as entregas ao dominio por %{count} días diferentes, non se farán máis intentos a menos que se reciba unha solicitude desde ese dominio. failure_threshold_reached: Acadouse o límite de fallos o %{date}. failures_recorded: - one: Intento fallido por %{count} día. + one: Intento fallido durante %{count} día. other: Intentos fallidos durante %{count} días distintos. no_failures_recorded: Non hai fallos rexistrados. title: Dispoñibilidade @@ -1508,7 +1508,7 @@ gl: min_reblogs_hint: Non elimina ningunha das túas publicacións se foron promovidas máis deste número de veces. Deixa en branco para eliminar publicacións independentemente do seu número de promocións stream_entries: pinned: Publicación fixada - reblogged: promovido + reblogged: promoveu sensitive_content: Contido sensible tags: does_not_match_previous_name: non concorda co nome anterior diff --git a/config/locales/he.yml b/config/locales/he.yml index 97138fffa..d20fec3f7 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -121,6 +121,8 @@ he: reject_media_hint: מסירה קבצי מדיה השמורים מקומית ומונעת מהורדת קבצים נוספים בעתיד. לא רלוונטי להשעיות undo: ביטול instances: + delivery: + failing: נכשל title: שרתים מוכרים report_notes: today_at: היום, ב%{time} diff --git a/config/locales/ko.yml b/config/locales/ko.yml index fb574fee6..c24e40261 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -799,12 +799,12 @@ ko: statuses: allow: 게시물 허용 allow_account: 작성자 허용 - description_html: 당신의 서버가 알기로 현재 많은 수의 공유와 즐겨찾기가 되고 있는 게시물들입니다. 새로운 사용자나 돌아오는 사용자들이 팔로우 할 사람들을 찾는 데 도움이 될 수 있습니다. 작성자를 승인하고, 작성자가 그들의 계정이 다른 계정에게 탐색되도록 설정하지 않는 한 게시물들은 공개적으로 표시되지 않습니다. 또한 각각의 게시물을 별개로 거절할 수도 있습니다. + description_html: 당신의 서버가 알기로 현재 많은 수의 공유와 좋아요가 되고 있는 게시물들입니다. 새로운 사용자나 돌아오는 사용자들이 팔로우 할 사람들을 찾는 데 도움이 될 수 있습니다. 작성자를 승인하고, 작성자가 그들의 계정이 다른 계정에게 탐색되도록 설정하지 않는 한 게시물들은 공개적으로 표시되지 않습니다. 또한 각각의 게시물을 별개로 거절할 수도 있습니다. disallow: 게시물 불허 disallow_account: 작성자 불허 not_discoverable: 작성자가 발견되기를 원치 않습니다 shared_by: - other: "%{friendly_count} 번 공유되고 즐겨찾기 되었습니다" + other: "%{friendly_count} 번 공유되고 마음에 들어했습니다" title: 유행하는 게시물 tags: current_score: 현재 %{score}점 @@ -1222,9 +1222,9 @@ ko: other: 마지막 방문 이후로 %{count} 건의 새로운 알림 title: 당신이 없는 동안에... favourite: - body: '당신의 게시물을 %{name} 님이 즐겨찾기에 등록했습니다:' - subject: "%{name} 님이 내 게시물을 즐겨찾기에 등록했습니다" - title: 새 즐겨찾기 + body: '당신의 게시물을 %{name} 님이 마음에 들어했습니다:' + subject: "%{name} 님이 내 게시물을 마음에 들어했습니다" + title: 새 좋아요 follow: body: "%{name} 님이 나를 팔로우 했습니다!" subject: "%{name} 님이 나를 팔로우 했습니다" @@ -1322,8 +1322,8 @@ ko: reason_html: "왜 이 과정이 필요하죠?%{instance}는 당신이 가입한 서버가 아닐 것입니다, 당신의 홈 서버로 먼저 가야 합니다." remote_interaction: favourite: - proceed: 즐겨찾기 진행 - prompt: '이 게시물을 즐겨찾기 하려고 합니다:' + proceed: 좋아요 진행 + prompt: '이 게시물을 좋아요 하려고 합니다:' reblog: proceed: 부스트 진행 prompt: '이 게시물을 부스트 하려 합니다:' @@ -1451,10 +1451,10 @@ ko: enabled_hint: 아래의 예외 목록에 해당하지 않는다면, 명시된 기한 이후 당신의 게시물을 자동으로 삭제합니다 exceptions: 예외 explanation: 게시물 삭제는 많은 성능이 필요하기 때문에, 서버에서 바쁘지 않을 때 시간을 들여서 천천히 진행합니다. 이런 이유로, 당신의 게시물은 아마도 정해진 기간보다 좀 더 시간이 지난 이후에 삭제될 것입니다. - ignore_favs: 즐겨찾기 무시 + ignore_favs: 좋아요 무시 ignore_reblogs: 부스트 무시 interaction_exceptions: 상호작용에 기반한 예외들 - interaction_exceptions_explanation: 즐겨찾기나 부스트 수가 설정한 값을 넘은 후 다시 낮아진 경우에는 게시물이 삭제되는 것을 보장하지 못합니다. + interaction_exceptions_explanation: 좋아요나 부스트 수가 설정한 값을 넘은 후 다시 낮아진 경우에는 게시물이 삭제되는 것을 보장하지 못합니다. keep_direct: 다이렉트 메시지 유지 keep_direct_hint: 다이렉트 메시지를 삭제하지 않습니다 keep_media: 미디어가 있는 게시물 유지 @@ -1465,8 +1465,8 @@ ko: keep_polls_hint: 투표를 삭제하지 않습니다 keep_self_bookmark: 북마크된 게시물 유지 keep_self_bookmark_hint: 내 스스로 북마크한 본인의 게시물을 삭제하지 않습니다 - keep_self_fav: 즐겨찾기한 게시물 유지 - keep_self_fav_hint: 내 스스로 즐겨찾기한 본인의 게시물을 삭제하지 않습니다 + keep_self_fav: 마음에 들어한 게시물 유지 + keep_self_fav_hint: 내 스스로 마음에 들어한 본인의 게시물을 삭제하지 않습니다 min_age: '1209600': 2 주 '15778476': 6 개월 @@ -1477,8 +1477,8 @@ ko: '63113904': 2 년 '7889238': 3 개월 min_age_label: 기한 - min_favs: 해당 횟수 이상 즐겨찾기된 게시물 유지 - min_favs_hint: 이 횟수 이상의 즐겨찾기가 된 게시물은 삭제하지 않습니다. 즐겨찾기 수와 관계없이 게시물을 지우고 싶다면 공백으로 두세요 + min_favs: 해당 횟수 이상 좋아요된 게시물 유지 + min_favs_hint: 이 횟수 이상의 좋아요가 된 게시물은 삭제하지 않습니다. 좋아요 수와 관계없이 게시물을 지우고 싶다면 공백으로 두세요 min_reblogs: 해당 횟수 이상 부스트된 게시물 유지 min_reblogs_hint: 이 횟수 이상의 부스트가 된 게시물은 삭제하지 않습니다. 부스트 수와 관계없이 게시물을 지우고 싶다면 공백으로 두세요 stream_entries: @@ -1494,7 +1494,7 @@ ko:
    • 기본 계정 정보: 이 서버에 가입하실 때 사용자명, 이메일 주소, 패스워드 등을 입력 받게 됩니다. 추가적으로 표시되는 이름이나 자기소개, 프로필 이미지, 헤더 이미지 등의 프로필 정보를 입력하게 됩니다. 사용자명, 표시되는 이름, 자기소개, 프로필 이미지와 헤더 이미지는 언제나 공개적으로 게시됩니다.
    • -
    • 게시물, 팔로잉, 기타 공개된 정보: 당신이 팔로우 하는 사람들의 리스트는 공개됩니다. 당신을 팔로우 하는 사람들도 마찬가지입니다. 당신이 게시물을 작성하는 경우, 응용프로그램이 메시지를 받았을 때의 날짜와 시간이 기록 됩니다. 게시물은 그림이나 영상 등의 미디어를 포함할 수 있습니다. 퍼블릭과 미표시(unlisted) 게시물은 공개적으로 접근이 가능합니다. 프로필에 게시물을 고정하는 경우 마찬가지로 공개적으로 접근 가능한 정보가 됩니다. 당신의 게시물들은 당신의 팔로워들에게 전송 됩니다. 몇몇 경우 이것은 다른 서버에 전송되고 그곳에 사본이 저장 됩니다. 당신이 게시물을 삭제하는 경우 이 또한 당신의 팔로워들에게 전송 됩니다. 다른 게시물을 리블로깅 하거나 즐겨찾기 하는 경우 이는 언제나 공개적으로 제공 됩니다.
    • +
    • 게시물, 팔로잉, 기타 공개된 정보: 당신이 팔로우 하는 사람들의 리스트는 공개됩니다. 당신을 팔로우 하는 사람들도 마찬가지입니다. 당신이 게시물을 작성하는 경우, 응용프로그램이 메시지를 받았을 때의 날짜와 시간이 기록 됩니다. 게시물은 그림이나 영상 등의 미디어를 포함할 수 있습니다. 퍼블릭과 미표시(unlisted) 게시물은 공개적으로 접근이 가능합니다. 프로필에 게시물을 고정하는 경우 마찬가지로 공개적으로 접근 가능한 정보가 됩니다. 당신의 게시물들은 당신의 팔로워들에게 전송 됩니다. 몇몇 경우 이것은 다른 서버에 전송되고 그곳에 사본이 저장 됩니다. 당신이 게시물을 삭제하는 경우 이 또한 당신의 팔로워들에게 전송 됩니다. 다른 게시물을 리블로깅 하거나 좋아요 하는 경우 이는 언제나 공개적으로 제공 됩니다.
    • DM, 팔로워 공개 게시물: 모든 게시물들은 서버에서 처리되고 저장됩니다. 팔로워 공개 게시물은 당신의 팔로워와 멘션 된 사람들에게 전달이 됩니다. 다이렉트 메시지는 멘션 된 사람들에게만 전송 됩니다. 몇몇 경우 이것은 다른 서버에 전송 되고 그곳에 사본이 저장됨을 의미합니다. 우리는 이 게시물들이 권한을 가진 사람들만 열람이 가능하도록 노력을 할 것이지만 다른 서버에서는 이것이 실패할 수도 있습니다. 그러므로 당신의 팔로워들이 속한 서버를 재확인하는 것이 중요합니다. 당신은 새 팔로워를 수동으로 승인하거나 거절하도록 설정을 변경할 수 있습니다. 해당 서버의 운영자는 서버가 받는 메시지를 열람할 수 있다는 것을 항상 염두해 두세요, 그리고 수신자들은 스크린샷을 찍거나 복사하는 등의 방법으로 다시 공유할 수 있습니다. 위험한 정보를 마스토돈을 통해 공유하지 마세요.
    • IP와 기타 메타데이터: 당신이 로그인 하는 경우 IP 주소와 브라우저의 이름을 저장합니다. 모든 세션은 당신이 검토하고 취소할 수 있도록 설정에서 제공 됩니다. 마지막으로 사용 된 IP 주소는 최대 12개월 간 저장됩니다. 또한, 모든 요청에 대해 IP주소를 포함한 정보를 로그에 저장할 수 있습니다.
    @@ -1548,7 +1548,7 @@ ko:

    당신의 공개 게시물은 네트워크에 속한 다른 서버가 다운로드 할 수 있습니다. 당신의 팔로워나 수신자가 이 서버가 아닌 다른 곳에 존재하는 경우 당신의 공개, 팔로워 공개 게시물은 당신의 팔로워가 존재하는 서버로 전송되며, 다이렉트메시지는 수신자가 존재하는 서버로 전송 됩니다.

    -

    당신이 계정을 사용하기 위해 응용프로그램을 승인하는 경우 당신이 허용한 권한에 따라 응용프로그램은 당신의 공개 계정정보, 팔로잉 리스트, 팔로워 리스트, 게시물, 즐겨찾기 등에 접근이 가능해집니다. 응용프로그램은 절대로 당신의 이메일 주소나 패스워드에 접근할 수 없습니다.

    +

    당신이 계정을 사용하기 위해 응용프로그램을 승인하는 경우 당신이 허용한 권한에 따라 응용프로그램은 당신의 공개 계정정보, 팔로잉 리스트, 팔로워 리스트, 게시물, 좋아요 등에 접근이 가능해집니다. 응용프로그램은 절대로 당신의 이메일 주소나 패스워드에 접근할 수 없습니다.


    diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index e7428af0f..1a83cc022 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -25,6 +25,7 @@ pt-BR: Esta conta é um ator virtual usado para representar o próprio servidor e não qualquer usuário individual. É usado para propósitos de federação e não deve ser bloqueado a menos que queira bloquear toda a instância, o que no caso devia usar um bloqueio de domínio. learn_more: Saiba mais + logged_in_as_html: Você está atualmente logado como %{username}. logout_before_registering: Já está logado. privacy_policy: Política de Privacidade rules: Regras do servidor diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index 62233d648..7bded6f28 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -517,6 +517,7 @@ pt-PT: delivery: all: Todas clear: Limpar erros de entrega + failing: A falhar restart: Reiniciar entrega stop: Parar entrega unavailable: Indisponível diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml index da3fb0a88..b89237b1e 100644 --- a/config/locales/simple_form.ca.yml +++ b/config/locales/simple_form.ca.yml @@ -3,62 +3,62 @@ ca: simple_form: hints: account_alias: - acct: Especifica l'usuari@domini del compte des d'on et vols moure + acct: Especifica l'usuari@domini del compte des d'on et vols traslladar account_migration: - acct: Especifica l'usuari@domini del compte al que et vols moure + acct: Especifica l'usuari@domini del compte al qual et vols traslladar account_warning_preset: - text: Pots utilitzar totes les sintaxi com ara URL, etiquetes i mencions + text: Pots usar totes les sintaxis, com ara URL, etiquetes i mencions title: Opcional. No és visible per al destinatari admin_account_action: - include_statuses: L'usuari veurà quines publicacions han causat l'acció de moderació o avís + include_statuses: L'usuari veurà quines publicacions han provocat que s'hagi moderat o avisat send_email_notification: L'usuari rebrà una explicació del que ha passat amb el seu compte - text_html: Opcional. Pots utilitzar tota la sintaxi. Pots afegir configuracions predefinides d'avís per a estalviar temps + text_html: Opcional. A les publicacions, pots usar tota la sintaxi. Pots afegir configuracions predefinides d'avís per estalviar temps type_html: Tria què fer amb %{acct} types: - disable: Evita que l'usuari faci ús del seu compte però no li esborra o amaga els seus continguts. - none: Fes servir això per a enviar un avís al usuari sense desencadenar cap altre acció. - sensitive: Obliga a marcar tots els fitxers multi mèdia adjunts com a sensibles. - silence: Evitar que l'usuari sigui capaç de publicar amb visibilitat pública, amagar les seves publicacions i notificacions d'usuaris que no el segueixen. - suspend: Evita qualsevol interacció de o a aquest compte i esborra els seus continguts. Reversible en un termini de 30 dies. + disable: Evita que l'usuari faci servir el seu compte, però no esborris ni amaguis el seu contingut. + none: Fes servir això per a enviar un avís a l'usuari sense desencadenar cap altra acció. + sensitive: Obliga a marcar tots els fitxers multimèdia adjunts com a sensibles. + silence: Evita que l'usuari pugui publicar amb visibilitat pública, amagar les seves publicacions i les notificacions d'usuaris que no el segueixin. + suspend: Evita qualsevol interacció des de o cap a aquest compte i esborra els seus continguts. Reversible en un termini de 30 dies. warning_preset_id: Opcional. Encara pots afegir text personalitzat al final de la configuració predefinida announcement: all_day: Si es marca, només es mostraran les dates de l'interval de temps - ends_at: Opcional. En aquest moment, l’anunci deixarà automàticament d'estar publicat - scheduled_at: Deixa-ho en blanc per a publicar l’anunci immediatament - starts_at: Opcional. En el cas que el teu anunci estigui vinculat a un interval de temps específic + ends_at: Opcional. En aquest moment, l'anunci no es publicarà automàticament + scheduled_at: Deixa-ho en blanc per publicar l’anunci immediatament + starts_at: Opcional. En cas que el teu anunci estigui vinculat a un interval de temps específic text: Pots utilitzar la sintaxi de publicacions. Tingues en compte l’espai que l’anunci ocuparà a la pantalla de l’usuari appeal: text: Només pots emetre una apel·lació per cada acció defaults: autofollow: Les persones que es registrin a través de la invitació et seguiran automàticament - avatar: PNG, GIF o JPG. Màxim %{size}. S'escalarà a %{dimensions}px - bot: Aquest compte realitza principalment accions automatitzades i pot no estar controlat per cap persona - context: Un o diversos contextos on s'ha d'aplicar el filtre - current_password: Per motius de seguretat si us plau entra la contrasenya del compte actual - current_username: Per a confirmar, si us plau entra el nom d'usuari del compte actual + avatar: PNG, GIF o JPG de com a màxim %{size}. S'escalarà a %{dimensions}px + bot: Notifica que aquest compte realitza principalment accions automatitzades i que pot no estar controlat per cap persona + context: Un o diversos contextos en què s'ha d'aplicar el filtre + current_password: Per motius de seguretat, introdueix la contrasenya del compte actual + current_username: Per confirmar-ho, introdueix el nom d'usuari del compte actual digest: Només s'envia després d'un llarg període d'inactivitat amb un resum de les mencions que has rebut en la teva absència - discoverable: Permet que el teu compte sigui descobert per estranys grácies a les sugerències, etiquetes i altres característiques + discoverable: Permet que el teu compte sigui descobert per desconeguts a través de recomanacions, etiquetes i altres característiques email: Se t'enviarà un correu electrònic de confirmació fields: Pots tenir fins a 4 elements que es mostren com a taula al teu perfil - header: PNG, GIF o JPG. Màxim %{size}. S'escalarà a %{dimensions}px - inbox_url: Copia l'URL des de la pàgina principal del relay que vols utilitzar - irreversible: Les publicacions filtrades desapareixeran de manera irreversible, fins i tot si el filtre es retira més tard + header: PNG, GIF o JPG de com a màxim %{size}. S'escalarà a %{dimensions}px + inbox_url: Copia l'URL de la pàgina principal del relay que vols utilitzar + irreversible: Les publicacions filtrades desapareixeran de manera irreversible, fins i tot si el filtre s'elimina més tard locale: L'idioma de la interfície d’usuari, els correus i les notificacions push - locked: Requereix que aprovis manualment els seguidors + locked: Controla manualment qui et pot seguir i aprovar les peticions password: Utilitza com a mínim 8 caràcters phrase: Es combinarà independentment del format en el text o l'avís de contingut de la publicació - scopes: A quines API es permetrà a l'aplicació accedir. Si selecciones un àmbit d'alt nivell, no cal que seleccionis un d'individual. - setting_aggregate_reblogs: No mostrar els nous impulsos de les publicacions que ja s'han impulsat recentment (només afecta els impulsos nous rebuts) - setting_always_send_emails: Normalment, les notificacions per correu electrònic no s'enviaran si estàs fent servir activament Mastodon - setting_default_sensitive: El contingut gràfic sensible està ocult per defecte i es pot revelar amb un clic + scopes: API permeses per accedir a l'aplicació. Si selecciones un àmbit de nivell superior, no cal que en seleccions un d'individual. + setting_aggregate_reblogs: No mostris els nous impulsos de les publicacions que ja s'han impulsat recentment (només afecta els nous impulsos rebuts) + setting_always_send_emails: Normalment, no s'enviarà cap notificació per correu electrònic mentre facis servir Mastodon + setting_default_sensitive: El contingut gràfic i sensible està ocult per defecte i es pot mostrar fent-hi clic setting_display_media_default: Ocultar el contigut gràfic marcat com a sensible setting_display_media_hide_all: Oculta sempre tot el contingut multimèdia - setting_display_media_show_all: Mostrar sempre el contingut gràfic marcat com a sensible - setting_hide_network: Qui tu segueixes i els que et segueixen a tu no es mostraran en el teu perfil + setting_display_media_show_all: Mostrar sempre el contingut gràfic + setting_hide_network: Qui segueixes i els que et segueixen no es mostraran en el teu perfil setting_noindex: Afecta el teu perfil públic i les pàgines d'estat - setting_show_application: L'aplicació que fas servir per a publicar es mostrarà a la vista detallada de les publicacions - setting_use_blurhash: Els degradats es basen en els colors de les imatges ocultes, però enfosqueixen els detalls - setting_use_pending_items: Amagar les actualitzacions de la línia de temps després d'un clic en comptes de desplaçar-se automàticament + setting_show_application: L'aplicació que fas servir per publicar es mostrarà a la vista detallada de les publicacions + setting_use_blurhash: Els degradats es basen en els colors de les imatges ocultes, però n'enfosqueixen els detalls + setting_use_pending_items: Amaga les actualitzacions de la línia de temps després de fer un clic en lloc de desplaçar automàticament les publicacions username: El teu nom d'usuari serà únic a %{domain} whole_word: Quan la paraula clau o la frase sigui només alfanumèrica, s'aplicarà si coincideix amb la paraula sencera domain_allow: diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml index 38d27cd4d..68ff7898e 100644 --- a/config/locales/simple_form.cy.yml +++ b/config/locales/simple_form.cy.yml @@ -173,6 +173,9 @@ cy: mention: Anfon e-bost pan mae rhywun yn eich crybwyll pending_account: Anfon ebost pan mae cyfrif newydd angen adolygiad reblog: Anfon e-bost pan mae rhywun yn bŵstio eich statws + report: Cyflwynwyd adroddiad newydd + rule: + text: Rheol tag: listable: Gadewch i'r hashnod hwn ymddangos mewn chwiliadau ac ar y cyfeiriadur proffil name: Hashnod @@ -181,5 +184,6 @@ cy: 'no': Na recommended: Argymhellwyd required: + mark: "*" text: gofynnol 'yes': Ie diff --git a/config/locales/simple_form.gd.yml b/config/locales/simple_form.gd.yml index 31b636344..614a6b819 100644 --- a/config/locales/simple_form.gd.yml +++ b/config/locales/simple_form.gd.yml @@ -49,6 +49,7 @@ gd: phrase: Thèid a mhaidseadh gun aire air litrichean mòra ’s beaga no air rabhadh susbainte puist scopes: Na APIan a dh’fhaodas an aplacaid inntrigeadh. Ma thaghas tu sgòp air ìre as àirde, cha leig thu leas sgòpaichean fa leth a thaghadh. setting_aggregate_reblogs: Na seall brosnachaidhean ùra do phostaichean a chaidh a bhrosnachadh o chionn goirid (cha doir seo buaidh ach air brosnachaidhean ùra o seo a-mach) + setting_always_send_emails: Mar as àbhaist, cha dèid brathan puist-d a chur nuair a a bhios tu ri Mastodon gu cunbhalach setting_default_sensitive: Thèid meadhanan frionasach fhalach a ghnàth is gabhaidh an nochdadh le briogadh orra setting_display_media_default: Falaich meadhanan ris a bheil comharra gu bheil iad frionasach setting_display_media_hide_all: Falaich na meadhanan an-còmhnaidh @@ -151,6 +152,7 @@ gd: phrase: Facal no abairt-luirg setting_advanced_layout: Cuir an comas an eadar-aghaidh-lìn adhartach setting_aggregate_reblogs: Buidhnich na brosnachaidhean air an loidhne-ama + setting_always_send_emails: Cuir brathan puist-d an-còmhnaidh setting_auto_play_gif: Cluich GIFs beòthaichte gu fèin-obrachail setting_boost_modal: Seall còmhradh dearbhaidh mus dèan thu brosnachadh setting_crop_images: Beàrr na dealbhan sna postaichean gun leudachadh air 16x9 diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml index 8ee83f20c..7c1f284ec 100644 --- a/config/locales/simple_form.ko.yml +++ b/config/locales/simple_form.ko.yml @@ -204,7 +204,7 @@ ko: notification_emails: appeal: 누군가가 중재자의 결정에 이의를 제기했을 때 digest: 요약 이메일 보내기 - favourite: 누군가 내 상태를 즐겨찾기로 등록했을 때 + favourite: 누군가 내 상태를 마음에 들어했을 때 follow: 누군가 나를 팔로우 했을 때 follow_request: 누군가 나를 팔로우 하길 원할 때 mention: 누군가 나를 언급했을 때 diff --git a/config/locales/simple_form.vi.yml b/config/locales/simple_form.vi.yml index bff43d310..59c7a634b 100644 --- a/config/locales/simple_form.vi.yml +++ b/config/locales/simple_form.vi.yml @@ -5,14 +5,14 @@ vi: account_alias: acct: Nhập tên_người_dùng@máy chủ của tài khoản cũ account_migration: - acct: Nhập tên_người_dùng@máy chủ của tài khoản bạn muốn dời sang + acct: tên_người_dùng@máy chủ của tài khoản bạn muốn chuyển sang account_warning_preset: text: Bạn có thể dùng URL, hashtag và nhắc đến title: Tùy chọn. Không cho người nhận xem admin_account_action: include_statuses: Người dùng sẽ thấy các tút nào của họ bị kiểm duyệt send_email_notification: Người dùng sẽ nhận được lời giải thích về những gì xảy ra với tài khoản của họ - text_html: Tùy chọn. Bạn nên dùng cảnh cáo cài sẵn để tiết kiệm thời gian + text_html: Tùy chọn. Bạn nên dùng mẫu có sẵn để tiết kiệm thời gian type_html: Chọn làm gì với %{acct} types: disable: Tạm khóa đăng nhập tài khoản, nhưng không xóa hoặc ẩn tút. @@ -85,7 +85,7 @@ vi: rule: text: Mô tả một quy tắc bắt buộc trên máy chủ này. Nên để ngắn và đơn giản. sessions: - otp: 'Nhập mã xác thực hai bước được tạo bởi ứng dụng điện thoại của bạn hoặc dùng một trong các mã khôi phục của bạn:' + otp: 'Nhập mã xác minh 2 bước được tạo bởi ứng dụng điện thoại của bạn hoặc dùng một trong các mã khôi phục của bạn:' webauthn: Nếu đây là USB key, hãy cắm vào và thử xoay chiều. tag: name: Bạn có thể thay đổi cách viết hoa các chữ cái để giúp nó dễ đọc hơn @@ -110,7 +110,7 @@ vi: type: Hành động types: disable: Khóa - none: Cảnh cáo + none: Nhắc nhở sensitive: Nhạy cảm silence: Hạn chế suspend: Vô hiệu hóa @@ -147,7 +147,7 @@ vi: max_uses: Số lần dùng tối đa new_password: Mật khẩu mới note: Tiểu sử - otp_attempt: Xác thực hai bước + otp_attempt: Mã xác minh 2 bước password: Mật khẩu phrase: Từ khóa hoặc cụm từ setting_advanced_layout: Bật bố cục nhiều cột diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 1e839394b..8dffdabe3 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -63,9 +63,9 @@ vi: instance_actor_flash: Tài khoản này được dùng để đại diện cho máy chủ và không phải là người thật. Đừng bao giờ vô hiệu hóa tài khoản này. joined: Đã tham gia %{date} last_active: online - link_verified_on: Liên kết này đã được xác thực quyền sở hữu vào %{date} + link_verified_on: Liên kết này đã được xác minh quyền sở hữu vào %{date} media: Media - moved_html: "%{name} đã đổi thành %{new_profile_link}:" + moved_html: "%{name} đã chuyển sang %{new_profile_link}:" network_hidden: Dữ liệu đã bị ẩn nothing_here: Trống trơn! people_followed_by: Những người %{name} theo dõi @@ -106,7 +106,7 @@ vi: submit: Thay đổi email title: Thay đổi email cho %{username} confirm: Phê duyệt - confirmed: Đã xác thực + confirmed: Đã xác minh confirming: Chờ xác nhận custom: Tùy chỉnh delete: Xóa dữ liệu @@ -114,8 +114,8 @@ vi: demote: Xóa vai trò destroyed_msg: Dữ liệu %{username} sẽ được lên lịch xóa ngay bây giờ disable: Khóa - disable_sign_in_token_auth: Tắt xác thực bằng email - disable_two_factor_authentication: Vô hiệu hóa xác thực hai bước + disable_sign_in_token_auth: Vô hiệu hóa xác minh bằng email + disable_two_factor_authentication: Vô hiệu hóa xác minh 2 bước disabled: Đã vô hiệu hóa display_name: Tên hiển thị domain: Máy chủ @@ -123,7 +123,7 @@ vi: email: Email email_status: Trạng thái enable: Mở lại - enable_sign_in_token_auth: Bật xác thực bằng email + enable_sign_in_token_auth: Bật xác minh bằng email enabled: Đã duyệt enabled_msg: Đã kích hoạt lại tài khoản %{username} thành công followers: Người theo dõi @@ -152,7 +152,7 @@ vi: title: Trạng thái moderation_notes: Nhật ký kiểm duyệt most_recent_activity: Hoạt động lần cuối - most_recent_ip: IP gần đây nhất + most_recent_ip: IP gần nhất no_account_selected: Không có tài khoản nào thay đổi vì không có tài khoản nào được chọn no_limits_imposed: Bình thường not_subscribed: Chưa đăng ký @@ -174,7 +174,7 @@ vi: removed_avatar_msg: Đã xóa bỏ ảnh đại diện của %{username} removed_header_msg: Đã xóa bỏ ảnh bìa của %{username} resend_confirmation: - already_confirmed: Người dùng này đã được xác thực + already_confirmed: Người dùng này đã được xác minh send: Gửi lại email xác nhận success: Email xác nhận đã gửi thành công! reset: Đặt lại @@ -210,7 +210,7 @@ vi: title: Tài khoản unblock_email: Mở khóa địa chỉ email unblocked_email_msg: Mở khóa thành công địa chỉ email của %{username} - unconfirmed_email: Email chưa được xác thực + unconfirmed_email: Email chưa được xác minh undo_sensitized: Đánh dấu bình thường undo_silenced: Bỏ hạn chế undo_suspension: Bỏ vô hiệu hóa @@ -219,7 +219,7 @@ vi: unsuspended_msg: Đã kích hoạt lại %{username} thành công username: Tài khoản view_domain: Xem mô tả tài khoản này - warn: Cảnh cáo + warn: Nhắc web: Web whitelisted: Danh sách trắng action_logs: @@ -228,8 +228,8 @@ vi: approve_user: Chấp nhận người dùng assigned_to_self_report: Tự xử lý báo cáo change_email_user: Đổi email người dùng - confirm_user: Xác thực người dùng - create_account_warning: Cảnh cáo người dùng + confirm_user: Xác minh người dùng + create_account_warning: Nhắc nhở người dùng create_announcement: Tạo thông báo mới create_custom_emoji: Tạo emoji create_domain_allow: Cho phép máy chủ @@ -249,10 +249,10 @@ vi: destroy_unavailable_domain: Xóa máy chủ không khả dụng disable_2fa_user: Vô hiệu hóa 2FA disable_custom_emoji: Vô hiệu hóa emoji - disable_sign_in_token_auth_user: Tắt xác thực bằng email cho người dùng + disable_sign_in_token_auth_user: Vô hiệu hóa xác minh bằng email cho người dùng disable_user: Vô hiệu hóa đăng nhập enable_custom_emoji: Cho phép emoji - enable_sign_in_token_auth_user: Bật xác thực bằng email cho người dùng + enable_sign_in_token_auth_user: Bật xác minh bằng email cho người dùng enable_user: Bỏ vô hiệu hóa đăng nhập memorialize_account: Đánh dấu tưởng niệm promote_user: Chỉ định vai trò @@ -279,8 +279,8 @@ vi: approve_user_html: "%{name} đã chấp nhận đăng ký từ %{target}" assigned_to_self_report_html: "%{name} tự xử lý báo cáo %{target}" change_email_user_html: "%{name} đã thay đổi địa chỉ email của %{target}" - confirm_user_html: "%{name} đã xác thực địa chỉ email của %{target}" - create_account_warning_html: "%{name} đã gửi cảnh cáo %{target}" + confirm_user_html: "%{name} đã xác minh địa chỉ email của %{target}" + create_account_warning_html: "%{name} đã nhắc nhở %{target}" create_announcement_html: "%{name} tạo thông báo mới %{target}" create_custom_emoji_html: "%{name} đã tải lên biểu tượng cảm xúc mới %{target}" create_domain_allow_html: "%{name} kích hoạt liên hợp với %{target}" @@ -298,12 +298,12 @@ vi: destroy_ip_block_html: "%{name} bỏ chặn IP %{target}" destroy_status_html: "%{name} đã xóa tút của %{target}" destroy_unavailable_domain_html: "%{name} tiếp tục phân phối với máy chủ %{target}" - disable_2fa_user_html: "%{name} đã vô hiệu hóa xác thực hai bước của %{target}" + disable_2fa_user_html: "%{name} đã vô hiệu hóa xác minh hai bước của %{target}" disable_custom_emoji_html: "%{name} đã ẩn emoji %{target}" - disable_sign_in_token_auth_user_html: "%{name} tắt xác thực email của %{target}" + disable_sign_in_token_auth_user_html: "%{name} vô hiệu hóa xác minh email của %{target}" disable_user_html: "%{name} vô hiệu hóa đăng nhập %{target}" enable_custom_emoji_html: "%{name} cho phép Emoji %{target}" - enable_sign_in_token_auth_user_html: "%{name} bật xác thực email của %{target}" + enable_sign_in_token_auth_user_html: "%{name} bật xác minh email của %{target}" enable_user_html: "%{name} bỏ vô hiệu hóa đăng nhập %{target}" memorialize_account_html: "%{name} đã biến tài khoản %{target} thành một trang tưởng niệm" promote_user_html: "%{name} chỉ định vai trò cho %{target}" @@ -698,7 +698,7 @@ vi: title: Chế độ đăng ký show_known_fediverse_at_about_page: desc_html: Nếu tắt, bảng tin sẽ chỉ hiển thị nội dung do người dùng của máy chủ này tạo ra - title: Bao gồm nội dung từ mạng liên hợp trên bảng tin không được xác thực + title: Bao gồm nội dung từ mạng liên hợp trên bảng tin không được cho phép show_staff_badge: desc_html: Hiện huy hiệu đội ngũ trên trang người dùng title: Hiện huy hiệu đội ngũ @@ -719,8 +719,8 @@ vi: desc_html: Bản xem trước thông qua OpenGraph và API. Khuyến nghị 1200x630px title: Hình thu nhỏ của máy chủ timeline_preview: - desc_html: Hiển thị dòng thời gian công khai trên trang đích và cho phép API truy cập vào dòng thời gian công khai mà không cần xác thực - title: Cho phép truy cập không xác thực vào dòng thời gian công cộng + desc_html: Hiển thị dòng thời gian công khai trên trang đích và cho phép API truy cập vào dòng thời gian công khai mà không cần cho phép + title: Cho phép truy cập vào dòng thời gian công cộng không cần cho phép title: Cài đặt trang web trendable_by_default: desc_html: Ảnh hưởng đến các hashtag chưa được cho phép trước đây @@ -828,8 +828,8 @@ vi: add_new: Thêm mới delete: Xóa bỏ edit_preset: Sửa mẫu có sẵn - empty: Bạn chưa thêm mẫu có sẵn nào cả. - title: Quản lý mẫu cảnh cáo + empty: Bạn chưa thêm mẫu nhắc nhở nào cả. + title: Quản lý mẫu nhắc nhở admin_mailer: new_appeal: actions: @@ -910,11 +910,11 @@ vi: prefix_invited_by_user: "@%{name} mời bạn tham gia máy chủ Mastodon này!" prefix_sign_up: Tham gia Mastodon ngay hôm nay! suffix: Với tài khoản, bạn sẽ có thể theo dõi mọi người, đăng tút và nhắn tin với người dùng từ bất kỳ máy chủ Mastodon khác! - didnt_get_confirmation: Gửi lại email xác thực? + didnt_get_confirmation: Gửi lại email xác minh? dont_have_your_security_key: Bạn có khóa bảo mật chưa? forgot_password: Quên mật khẩu invalid_reset_password_token: Mã đặt lại mật khẩu không hợp lệ hoặc hết hạn. Vui lòng yêu cầu một cái mới. - link_to_otp: Nhập mã xác thực từ điện thoại hoặc mã phục hồi + link_to_otp: Nhập mã xác minh từ điện thoại hoặc mã khôi phục link_to_webauth: Nhập khóa bảo mật từ thiết bị log_in_with: Đăng nhập bằng login: Đăng nhập @@ -927,18 +927,18 @@ vi: saml: SAML register: Đăng ký registration_closed: "%{instance} tạm ngưng đăng ký mới" - resend_confirmation: Gửi lại email xác thực + resend_confirmation: Gửi lại email xác minh reset_password: Đặt lại mật khẩu security: Bảo mật set_new_password: Đặt mật khẩu mới setup: email_below_hint_html: Nếu địa chỉ email dưới đây không chính xác, bạn có thể thay đổi địa chỉ tại đây và nhận email xác nhận mới. - email_settings_hint_html: Email xác thực đã được gửi tới %{email}. Nếu địa chỉ email đó không chính xác, bạn có thể thay đổi nó trong cài đặt tài khoản. + email_settings_hint_html: Email xác minh đã được gửi tới %{email}. Nếu địa chỉ email đó không chính xác, bạn có thể thay đổi nó trong cài đặt tài khoản. title: Thiết lập status: account_status: Trạng thái tài khoản - confirming: Đang chờ xác thực email. - functional: Tài khoản của bạn đã được xác thực. + confirming: Đang chờ xác minh email. + functional: Tài khoản của bạn đã được xác minh. pending: Đơn đăng ký của bạn đang chờ phê duyệt. Điều này có thể mất một thời gian. Bạn sẽ nhận được email nếu đơn đăng ký của bạn được chấp thuận. redirecting_to: Tài khoản của bạn không hoạt động vì hiện đang chuyển hướng đến %{acct}. view_strikes: Xem những lần cảnh cáo cũ @@ -969,7 +969,7 @@ vi: date: formats: default: "%-d %B, %Y" - with_month_name: "%-d tháng %-m, %Y" + with_month_name: "%-d %B, %Y" datetime: distance_in_words: about_x_hours: "%{count} giờ" @@ -1026,8 +1026,8 @@ vi: delete_statuses: Xóa tút disable: Đóng băng tài khoản mark_statuses_as_sensitive: Đánh dấu tút là nhạy cảm - none: Cảnh cáo - sensitive: Đánh dấu người dùng là nhạy cảm + none: Nhắc nhở + sensitive: Đánh dấu tài khoản là nhạy cảm silence: Hạn chế tài khoản suspend: Vô hiệu hóa tài khoản your_appeal_approved: Khiếu nại của bạn được chấp nhận @@ -1153,11 +1153,11 @@ vi: limit: Bạn đã đạt đến số lượng danh sách tối đa login_activities: authentication_methods: - otp: xác thực 2 bước + otp: xác minh 2 bước password: mật khẩu sign_in_token: mã an toàn email webauthn: khóa bảo mật - description_html: Nếu có lần đăng nhập đáng ngờ, hãy đổi ngay mật khẩu và bật xác thực hai bước. + description_html: Nếu có lần đăng nhập đáng ngờ, hãy đổi ngay mật khẩu và bật xác minh 2 bước. empty: Không có lịch sử đăng nhập failed_sign_in_html: Đăng nhập thất bại bằng %{method} từ %{ip} (%{browser}) successful_sign_in_html: Đăng nhập thành công bằng %{method} từ %{ip} (%{browser}) @@ -1168,7 +1168,7 @@ vi: not_ready: Tập tin này vẫn chưa xử lý xong. Hãy thử lại sau! too_many: Không thể đính kèm hơn 4 tệp migrations: - acct: Dời sang + acct: Chuyển sang cancel: Hủy chuyển hướng cancel_explanation: Hủy chuyển hướng sẽ kích hoạt lại tài khoản hiện tại của bạn, nhưng sẽ không chuyển được những người theo dõi ở tài khoản mới. cancelled_msg: Đã hủy chuyển hướng xong. @@ -1260,8 +1260,8 @@ vi: thousand: K trillion: T otp_authentication: - code_hint: Nhập mã được tạo bởi ứng dụng xác thực của bạn để xác nhận - description_html: Nếu kích hoạt xác thực hai bước thông qua ứng dụng, bạn sẽ đăng nhập bằng mã token được tạo bởi chính điện thoại của bạn. + code_hint: Nhập mã được tạo bởi ứng dụng xác minh của bạn để xác nhận + description_html: Nếu kích hoạt xác minh 2 bước thông qua ứng dụng, bạn sẽ đăng nhập bằng mã token được tạo bởi chính điện thoại của bạn. enable: Kích hoạt instructions_html: "Quét mã QR bằng Google Authenticator hoặc một ứng dụng TOTP tương tự trên điện thoại của bạn. Kể từ bây giờ, ứng dụng đó sẽ tạo những token để bạn đăng nhập." manual_instructions: 'Nếu bạn không thể quét mã QR, đây sẽ là dòng chữ gợi ý:' @@ -1396,7 +1396,7 @@ vi: relationships: Quan hệ statuses_cleanup: Tự động xóa tút cũ strikes: Lần cảnh cáo - two_factor_authentication: Xác thực hai bước + two_factor_authentication: Xác minh 2 bước webauthn_authentication: Khóa bảo mật statuses: attached: @@ -1446,8 +1446,8 @@ vi: enabled: Tự động xóa những tút cũ enabled_hint: Tự động xóa các tút của bạn khi chúng tới thời điểm nhất định, trừ những trường hợp ngoại lệ bên dưới exceptions: Ngoại lệ - explanation: Tút của bạn sẽ tăng dần theo năm tháng. Bạn nên xóa những tút cũ khi chúng đã đạt tới thời điểm nhất định. - ignore_favs: Bỏ qua số luợt thích + explanation: Số lượng tút sẽ tăng dần theo năm tháng. Bạn nên xóa những tút cũ khi tới một thời điểm nhất định. + ignore_favs: Bỏ qua số lượt thích ignore_reblogs: Bỏ qua lượt đăng lại interaction_exceptions: Ngoại lệ dựa trên tương tác interaction_exceptions_explanation: Lưu ý rằng không có gì đảm bảo rằng các tút sẽ bị xóa nếu chúng tụt dưới ngưỡng mức yêu thích hoặc đăng lại, dù đã từng đạt. @@ -1545,15 +1545,15 @@ vi: two_factor_authentication: add: Thêm disable: Vô hiệu hóa - disabled_success: Đã vô hiệu hóa xác thực hai bước + disabled_success: Đã vô hiệu hóa xác minh 2 bước edit: Sửa - enabled: Đã kích hoạt xác thực hai bước - enabled_success: Xác thực hai bước được kích hoạt thành công + enabled: Đã kích hoạt xác minh 2 bước + enabled_success: Xác minh 2 bước được kích hoạt thành công generate_recovery_codes: Tạo mã khôi phục lost_recovery_codes: Mã khôi phục cho phép bạn lấy lại quyền truy cập vào tài khoản của mình nếu bạn mất điện thoại. Nếu bạn bị mất mã khôi phục, bạn có thể tạo lại chúng ở đây. Mã khôi phục cũ của bạn sẽ bị vô hiệu. - methods: Phương pháp xác thực - otp: Ứng dụng xác thực - recovery_codes: Mã phục hồi dự phòng + methods: Phương pháp xác minh + otp: Ứng dụng xác minh + recovery_codes: Mã khôi phục dự phòng recovery_codes_regenerated: Mã khôi phục được phục hồi thành công recovery_instructions_html: Nếu bạn bị mất điện thoại, hãy dùng một trong các mã khôi phục bên dưới để lấy lại quyền truy cập vào tài khoản của mình. Giữ mã khôi phục an toàn. Ví dụ, bạn có thể in chúng ra giấy. webauthn: Khóa bảo mật @@ -1575,7 +1575,7 @@ vi: change_password: đổi mật khẩu của bạn details: 'Chi tiết thông tin đăng nhập:' explanation: Chúng tôi phát hiện lần đăng nhập bất thường tài khoản của bạn từ một địa chỉ IP mới. - further_actions_html: Nếu đó không phải là bạn, chúng tôi khuyến nghị %{action} lập tức và bật xác thực hai bước để giữ tài khoản được an toàn. + further_actions_html: Nếu đó không phải là bạn, chúng tôi khuyến nghị %{action} lập tức và bật xác minh hai bước để giữ tài khoản được an toàn. subject: Đăng nhập tài khoản từ địa chỉ IP mới title: Lần đăng nhập mới warning: @@ -1597,7 +1597,7 @@ vi: delete_statuses: Những tút %{acct} của bạn đã bị xóa bỏ disable: Tài khoản %{acct} của bạn đã bị vô hiệu hóa mark_statuses_as_sensitive: Tút của bạn trên %{acct} bị đánh dấu nhạy cảm - none: Cảnh báo cho %{acct} + none: Nhắc nhở tới %{acct} sensitive: Tút của bạn trên %{acct} sẽ bị đánh dấu nhạy cảm kể từ bây giờ silence: Tài khoản %{acct} của bạn đã bị hạn chế suspend: Tài khoản %{acct} của bạn đã bị vô hiệu hóa @@ -1605,7 +1605,7 @@ vi: delete_statuses: Xóa tút disable: Tài khoản bị đóng băng mark_statuses_as_sensitive: Tút đã bị đánh dấu nhạy cảm - none: Cảnh báo + none: Nhắc nhở sensitive: Tài khoản đã bị đánh dấu nhạy cảm silence: Tài khoản bị hạn chế suspend: Tài khoản bị vô hiệu hóa @@ -1628,7 +1628,7 @@ vi: title: Xin chào %{name}! users: follow_limit_reached: Bạn chỉ có thể theo dõi tối đa %{limit} người - invalid_otp_token: Mã xác thực hai bước không hợp lệ + invalid_otp_token: Mã xác minh 2 bước không hợp lệ otp_lost_help_html: Nếu bạn mất quyền truy cập vào cả hai, bạn có thể đăng nhập bằng %{email} seamless_external_login: Bạn đã đăng nhập thông qua một dịch vụ bên ngoài, vì vậy mật khẩu và email không khả dụng. signed_in_as: 'Đăng nhập với tư cách là:' @@ -1650,5 +1650,5 @@ vi: nickname_hint: Nhập tên mới cho khóa bảo mật của bạn not_enabled: Bạn chưa kích hoạt WebAuthn not_supported: Trình duyệt của bạn không hỗ trợ khóa bảo mật - otp_required: Để dùng khóa bảo mật, trước tiên hãy kích hoạt xác thực hai bước. + otp_required: Để dùng khóa bảo mật, trước tiên hãy kích hoạt xác minh 2 bước. registered_on: Đăng ký vào %{date} diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index cd36a57a1..047d34b5f 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -26,7 +26,7 @@ zh-CN: ' learn_more: 了解详情 - logged_in_as_html: 你当前是以 %{username} 登录的。 + logged_in_as_html: 您当前以 %{username} 登录。 logout_before_registering: 您已登录。 privacy_policy: 隐私政策 rules: 服务器规则 @@ -46,7 +46,7 @@ zh-CN: rejecting_media: 来自这些服务器的媒体文件将不会被处理或存储,缩略图也不会显示,需要手动点击打开原始文件。 rejecting_media_title: 被过滤的媒体文件 silenced: 来自这些服务器上的帖子将不会出现在公共时间轴和会话中,通知功能也不会提醒这些用户的动态;只有你关注了这些用户,才会收到用户互动的通知消息。 - silenced_title: 已隐藏的服务器 + silenced_title: 已限制的服务器 suspended: 这些服务器的数据将不会被处理、存储或者交换,本站也将无法和来自这些服务器的用户互动或者交流。 suspended_title: 已被封禁的服务器 unavailable_content_html: 通常来说,在 Mastodon 上,你可以浏览联邦宇宙中任何一台服务器上的内容,并且和上面的用户互动。但是某些站点上不排除会有例外。 @@ -505,6 +505,7 @@ zh-CN: delivery: all: 全部 clear: 清理投递错误 + failing: 发送失败 restart: 重新投递 stop: 停止投递 unavailable: 不可用 From 9b4024a3892c48aaf2f6e86fc014360f2dd098f4 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 28 Apr 2022 17:15:11 +0200 Subject: [PATCH 254/276] Add some missing indexes on foreign keys (#18157) --- .../20220428112511_add_index_statuses_on_account_id.rb | 7 +++++++ .../20220428112727_add_index_statuses_pins_on_status_id.rb | 7 +++++++ ...20428114454_add_index_reports_on_assigned_account_id.rb | 7 +++++++ ...4902_add_index_reports_on_action_taken_by_account_id.rb | 7 +++++++ db/schema.rb | 7 ++++++- 5 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20220428112511_add_index_statuses_on_account_id.rb create mode 100644 db/migrate/20220428112727_add_index_statuses_pins_on_status_id.rb create mode 100644 db/migrate/20220428114454_add_index_reports_on_assigned_account_id.rb create mode 100644 db/migrate/20220428114902_add_index_reports_on_action_taken_by_account_id.rb diff --git a/db/migrate/20220428112511_add_index_statuses_on_account_id.rb b/db/migrate/20220428112511_add_index_statuses_on_account_id.rb new file mode 100644 index 000000000..87a601b72 --- /dev/null +++ b/db/migrate/20220428112511_add_index_statuses_on_account_id.rb @@ -0,0 +1,7 @@ +class AddIndexStatusesOnAccountId < ActiveRecord::Migration[6.1] + disable_ddl_transaction! + + def change + add_index :statuses, [:account_id], name: :index_statuses_on_account_id, algorithm: :concurrently + end +end diff --git a/db/migrate/20220428112727_add_index_statuses_pins_on_status_id.rb b/db/migrate/20220428112727_add_index_statuses_pins_on_status_id.rb new file mode 100644 index 000000000..26a543087 --- /dev/null +++ b/db/migrate/20220428112727_add_index_statuses_pins_on_status_id.rb @@ -0,0 +1,7 @@ +class AddIndexStatusesPinsOnStatusId < ActiveRecord::Migration[6.1] + disable_ddl_transaction! + + def change + add_index :status_pins, [:status_id], name: :index_status_pins_on_status_id, algorithm: :concurrently + end +end diff --git a/db/migrate/20220428114454_add_index_reports_on_assigned_account_id.rb b/db/migrate/20220428114454_add_index_reports_on_assigned_account_id.rb new file mode 100644 index 000000000..c260c9732 --- /dev/null +++ b/db/migrate/20220428114454_add_index_reports_on_assigned_account_id.rb @@ -0,0 +1,7 @@ +class AddIndexReportsOnAssignedAccountId < ActiveRecord::Migration[6.1] + disable_ddl_transaction! + + def change + add_index :reports, [:assigned_account_id], name: :index_reports_on_assigned_account_id, algorithm: :concurrently, where: 'assigned_account_id IS NOT NULL' + end +end diff --git a/db/migrate/20220428114902_add_index_reports_on_action_taken_by_account_id.rb b/db/migrate/20220428114902_add_index_reports_on_action_taken_by_account_id.rb new file mode 100644 index 000000000..aed88cd80 --- /dev/null +++ b/db/migrate/20220428114902_add_index_reports_on_action_taken_by_account_id.rb @@ -0,0 +1,7 @@ +class AddIndexReportsOnActionTakenByAccountId < ActiveRecord::Migration[6.1] + disable_ddl_transaction! + + def change + add_index :reports, [:action_taken_by_account_id], name: :index_reports_on_action_taken_by_account_id, algorithm: :concurrently, where: 'action_taken_by_account_id IS NOT NULL' + end +end diff --git a/db/schema.rb b/db/schema.rb index c92f2d1c5..a58f42400 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2022_03_16_233212) do +ActiveRecord::Schema.define(version: 2022_04_28_114902) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -784,6 +784,8 @@ ActiveRecord::Schema.define(version: 2022_03_16_233212) do t.datetime "action_taken_at" t.bigint "rule_ids", array: true t.index ["account_id"], name: "index_reports_on_account_id" + t.index ["action_taken_by_account_id"], name: "index_reports_on_action_taken_by_account_id", where: "(action_taken_by_account_id IS NOT NULL)" + t.index ["assigned_account_id"], name: "index_reports_on_assigned_account_id", where: "(assigned_account_id IS NOT NULL)" t.index ["target_account_id"], name: "index_reports_on_target_account_id" end @@ -860,6 +862,7 @@ ActiveRecord::Schema.define(version: 2022_03_16_233212) do t.datetime "created_at", default: -> { "now()" }, null: false t.datetime "updated_at", default: -> { "now()" }, null: false t.index ["account_id", "status_id"], name: "index_status_pins_on_account_id_and_status_id", unique: true + t.index ["status_id"], name: "index_status_pins_on_status_id" end create_table "status_stats", force: :cascade do |t| @@ -896,6 +899,7 @@ ActiveRecord::Schema.define(version: 2022_03_16_233212) do t.boolean "trendable" t.bigint "ordered_media_attachment_ids", array: true t.index ["account_id", "id", "visibility", "updated_at"], name: "index_statuses_20190820", order: { id: :desc }, where: "(deleted_at IS NULL)" + t.index ["account_id"], name: "index_statuses_on_account_id" t.index ["deleted_at"], name: "index_statuses_on_deleted_at", where: "(deleted_at IS NOT NULL)" t.index ["id", "account_id"], name: "index_statuses_local_20190824", order: { id: :desc }, where: "((local OR (uri IS NULL)) AND (deleted_at IS NULL) AND (visibility = 0) AND (reblog_of_id IS NULL) AND ((NOT reply) OR (in_reply_to_account_id = account_id)))" t.index ["id", "account_id"], name: "index_statuses_public_20200119", order: { id: :desc }, where: "((deleted_at IS NULL) AND (visibility = 0) AND (reblog_of_id IS NULL) AND ((NOT reply) OR (in_reply_to_account_id = account_id)))" @@ -1236,4 +1240,5 @@ ActiveRecord::Schema.define(version: 2022_03_16_233212) do ORDER BY (sum(t0.rank)) DESC; SQL add_index "follow_recommendations", ["account_id"], name: "index_follow_recommendations_on_account_id", unique: true + end From 9bf04db23acf10e05ffdf7def06c246081f8f065 Mon Sep 17 00:00:00 2001 From: Chris Dzombak Date: Thu, 28 Apr 2022 11:15:29 -0400 Subject: [PATCH 255/276] Fix incorrect link in "new trending tags" email (#18156) Closes #18129 --- app/views/admin_mailer/_new_trending_tags.text.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/admin_mailer/_new_trending_tags.text.erb b/app/views/admin_mailer/_new_trending_tags.text.erb index 49fe84309..cde5af4e4 100644 --- a/app/views/admin_mailer/_new_trending_tags.text.erb +++ b/app/views/admin_mailer/_new_trending_tags.text.erb @@ -11,4 +11,4 @@ <%= raw t('admin_mailer.new_trends.new_trending_tags.no_approved_tags') %> <% end %> -<%= raw t('application_mailer.view')%> <%= admin_trends_tags_url(pending_review: '1') %> +<%= raw t('application_mailer.view')%> <%= admin_trends_tags_url(status: 'pending_review') %> From 3917353645b91dae04f7d9b81162fead6f73072a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 28 Apr 2022 17:47:34 +0200 Subject: [PATCH 256/276] Fix single Redis connection being used across all threads (#18135) * Fix single Redis connection being used across all Sidekiq threads * Fix tests --- app/controllers/admin/dashboard_controller.rb | 8 ++-- app/controllers/media_proxy_controller.rb | 3 +- .../settings/exports_controller.rb | 3 +- app/lib/access_token_extension.rb | 4 +- app/lib/activitypub/activity.rb | 2 +- app/lib/delivery_failure_tracker.rb | 18 ++++--- app/lib/redis_configuration.rb | 47 +++++++++++++++++++ app/models/account_conversation.rb | 4 +- .../account_suggestions/global_source.rb | 4 +- app/models/concerns/redisable.rb | 2 +- app/models/custom_filter.rb | 3 +- app/models/encrypted_message.rb | 3 +- app/models/follow_recommendation_filter.rb | 4 +- app/models/user.rb | 3 +- .../activitypub/process_account_service.rb | 3 +- .../process_status_update_service.rb | 3 +- app/services/fan_out_on_write_service.rb | 14 +++--- app/services/fetch_link_card_service.rb | 4 +- app/services/precompute_feed_service.rb | 4 +- app/services/remove_status_service.rb | 2 +- app/services/resolve_account_service.rb | 3 +- app/services/vote_service.rb | 3 +- app/workers/distribution_worker.rb | 3 +- app/workers/merge_worker.rb | 3 +- .../accounts_statuses_cleanup_scheduler.rb | 7 +-- config/application.rb | 2 + config/initializers/redis.rb | 14 ------ config/initializers/sidekiq.rb | 4 +- lib/mastodon/feeds_cli.rb | 7 +-- lib/mastodon/rack_middleware.rb | 30 ++++++++++++ lib/mastodon/redis_config.rb | 22 ++++++--- .../sidekiq_middleware.rb} | 21 +++++++-- .../concerns/user_tracking_concern_spec.rb | 8 ++-- spec/lib/activitypub/activity/move_spec.rb | 4 +- spec/lib/delivery_failure_tracker_spec.rb | 2 +- spec/lib/feed_manager_spec.rb | 28 +++++------ spec/models/home_feed_spec.rb | 4 +- spec/rails_helper.rb | 4 +- spec/services/after_block_service_spec.rb | 8 ++-- .../batched_remove_status_service_spec.rb | 6 +-- .../services/fan_out_on_write_service_spec.rb | 22 ++++----- spec/services/mute_service_spec.rb | 4 +- spec/services/precompute_feed_service_spec.rb | 4 +- .../scheduler/feed_cleanup_scheduler_spec.rb | 16 +++---- 44 files changed, 243 insertions(+), 124 deletions(-) create mode 100644 app/lib/redis_configuration.rb delete mode 100644 config/initializers/redis.rb create mode 100644 lib/mastodon/rack_middleware.rb rename lib/{sidekiq_error_handler.rb => mastodon/sidekiq_middleware.rb} (55%) diff --git a/app/controllers/admin/dashboard_controller.rb b/app/controllers/admin/dashboard_controller.rb index e376baab2..da9c6dd16 100644 --- a/app/controllers/admin/dashboard_controller.rb +++ b/app/controllers/admin/dashboard_controller.rb @@ -2,6 +2,8 @@ module Admin class DashboardController < BaseController + include Redisable + def index @system_checks = Admin::SystemCheck.perform @time_period = (29.days.ago.to_date...Time.now.utc.to_date) @@ -15,10 +17,10 @@ module Admin def redis_info @redis_info ||= begin - if Redis.current.is_a?(Redis::Namespace) - Redis.current.redis.info + if redis.is_a?(Redis::Namespace) + redis.redis.info else - Redis.current.info + redis.info end end end diff --git a/app/controllers/media_proxy_controller.rb b/app/controllers/media_proxy_controller.rb index 5596e92d1..d2a4cb207 100644 --- a/app/controllers/media_proxy_controller.rb +++ b/app/controllers/media_proxy_controller.rb @@ -3,6 +3,7 @@ class MediaProxyController < ApplicationController include RoutingHelper include Authorization + include Redisable skip_before_action :store_current_location skip_before_action :require_functional! @@ -45,7 +46,7 @@ class MediaProxyController < ApplicationController end def lock_options - { redis: Redis.current, key: "media_download:#{params[:id]}", autorelease: 15.minutes.seconds } + { redis: redis, key: "media_download:#{params[:id]}", autorelease: 15.minutes.seconds } end def reject_media? diff --git a/app/controllers/settings/exports_controller.rb b/app/controllers/settings/exports_controller.rb index 30138d29e..1638d3412 100644 --- a/app/controllers/settings/exports_controller.rb +++ b/app/controllers/settings/exports_controller.rb @@ -2,6 +2,7 @@ class Settings::ExportsController < Settings::BaseController include Authorization + include Redisable skip_before_action :require_functional! @@ -28,6 +29,6 @@ class Settings::ExportsController < Settings::BaseController end def lock_options - { redis: Redis.current, key: "backup:#{current_user.id}" } + { redis: redis, key: "backup:#{current_user.id}" } end end diff --git a/app/lib/access_token_extension.rb b/app/lib/access_token_extension.rb index 2cafaaa20..f51bde492 100644 --- a/app/lib/access_token_extension.rb +++ b/app/lib/access_token_extension.rb @@ -4,6 +4,8 @@ module AccessTokenExtension extend ActiveSupport::Concern included do + include Redisable + after_commit :push_to_streaming_api end @@ -16,6 +18,6 @@ module AccessTokenExtension end def push_to_streaming_api - Redis.current.publish("timeline:access_token:#{id}", Oj.dump(event: :kill)) if revoked? || destroyed? + redis.publish("timeline:access_token:#{id}", Oj.dump(event: :kill)) if revoked? || destroyed? end end diff --git a/app/lib/activitypub/activity.rb b/app/lib/activitypub/activity.rb index f599e1b58..3c51a7a51 100644 --- a/app/lib/activitypub/activity.rb +++ b/app/lib/activitypub/activity.rb @@ -164,7 +164,7 @@ class ActivityPub::Activity end def lock_or_fail(key, expire_after = 15.minutes.seconds) - RedisLock.acquire({ redis: Redis.current, key: key, autorelease: expire_after }) do |lock| + RedisLock.acquire({ redis: redis, key: key, autorelease: expire_after }) do |lock| if lock.acquired? yield else diff --git a/app/lib/delivery_failure_tracker.rb b/app/lib/delivery_failure_tracker.rb index 7b800fc0b..7c4e28eb7 100644 --- a/app/lib/delivery_failure_tracker.rb +++ b/app/lib/delivery_failure_tracker.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class DeliveryFailureTracker + include Redisable + FAILURE_DAYS_THRESHOLD = 7 def initialize(url_or_host) @@ -8,21 +10,21 @@ class DeliveryFailureTracker end def track_failure! - Redis.current.sadd(exhausted_deliveries_key, today) + redis.sadd(exhausted_deliveries_key, today) UnavailableDomain.create(domain: @host) if reached_failure_threshold? end def track_success! - Redis.current.del(exhausted_deliveries_key) + redis.del(exhausted_deliveries_key) UnavailableDomain.find_by(domain: @host)&.destroy end def clear_failures! - Redis.current.del(exhausted_deliveries_key) + redis.del(exhausted_deliveries_key) end def days - Redis.current.scard(exhausted_deliveries_key) || 0 + redis.scard(exhausted_deliveries_key) || 0 end def available? @@ -30,12 +32,14 @@ class DeliveryFailureTracker end def exhausted_deliveries_days - @exhausted_deliveries_days ||= Redis.current.smembers(exhausted_deliveries_key).sort.map { |date| Date.new(date.slice(0, 4).to_i, date.slice(4, 2).to_i, date.slice(6, 2).to_i) } + @exhausted_deliveries_days ||= redis.smembers(exhausted_deliveries_key).sort.map { |date| Date.new(date.slice(0, 4).to_i, date.slice(4, 2).to_i, date.slice(6, 2).to_i) } end alias reset! track_success! class << self + include Redisable + def without_unavailable(urls) unavailable_domains_map = Rails.cache.fetch('unavailable_domains') { UnavailableDomain.pluck(:domain).index_with(true) } @@ -54,7 +58,7 @@ class DeliveryFailureTracker end def warning_domains - domains = Redis.current.keys(exhausted_deliveries_key_by('*')).map do |key| + domains = redis.keys(exhausted_deliveries_key_by('*')).map do |key| key.delete_prefix(exhausted_deliveries_key_by('')) end @@ -62,7 +66,7 @@ class DeliveryFailureTracker end def warning_domains_map - warning_domains.index_with { |domain| Redis.current.scard(exhausted_deliveries_key_by(domain)) } + warning_domains.index_with { |domain| redis.scard(exhausted_deliveries_key_by(domain)) } end private diff --git a/app/lib/redis_configuration.rb b/app/lib/redis_configuration.rb new file mode 100644 index 000000000..fc8cf2f80 --- /dev/null +++ b/app/lib/redis_configuration.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +class RedisConfiguration + class << self + def with + pool.with { |redis| yield redis } + end + + def pool + @pool ||= ConnectionPool.new(size: pool_size) { new.connection } + end + + def pool_size + if Sidekiq.server? + Sidekiq.options[:concurrency] + else + ENV['MAX_THREADS'] || 5 + end + end + end + + def connection + if namespace? + Redis::Namespace.new(namespace, redis: raw_connection) + else + raw_connection + end + end + + def namespace? + namespace.present? + end + + def namespace + ENV.fetch('REDIS_NAMESPACE', nil) + end + + def url + ENV['REDIS_URL'] + end + + private + + def raw_connection + Redis.new(url: url, driver: :hiredis) + end +end diff --git a/app/models/account_conversation.rb b/app/models/account_conversation.rb index 56fd13543..45e74bbeb 100644 --- a/app/models/account_conversation.rb +++ b/app/models/account_conversation.rb @@ -14,6 +14,8 @@ # class AccountConversation < ApplicationRecord + include Redisable + after_commit :push_to_streaming_api belongs_to :account @@ -109,7 +111,7 @@ class AccountConversation < ApplicationRecord end def subscribed_to_timeline? - Redis.current.exists?("subscribed:#{streaming_channel}") + redis.exists?("subscribed:#{streaming_channel}") end def streaming_channel diff --git a/app/models/account_suggestions/global_source.rb b/app/models/account_suggestions/global_source.rb index 7bca530d4..651041d67 100644 --- a/app/models/account_suggestions/global_source.rb +++ b/app/models/account_suggestions/global_source.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class AccountSuggestions::GlobalSource < AccountSuggestions::Source + include Redisable + def key :global end @@ -28,7 +30,7 @@ class AccountSuggestions::GlobalSource < AccountSuggestions::Source end def account_ids_for_locale(locale) - Redis.current.zrevrange("follow_recommendations:#{locale}", 0, -1).map(&:to_i) + redis.zrevrange("follow_recommendations:#{locale}", 0, -1).map(&:to_i) end def to_ordered_list_key(account) diff --git a/app/models/concerns/redisable.rb b/app/models/concerns/redisable.rb index c6cf97359..cce8efb86 100644 --- a/app/models/concerns/redisable.rb +++ b/app/models/concerns/redisable.rb @@ -6,6 +6,6 @@ module Redisable private def redis - Redis.current + Thread.current[:redis] ||= RedisConfiguration.new.connection end end diff --git a/app/models/custom_filter.rb b/app/models/custom_filter.rb index 9d0f3729b..8e3476794 100644 --- a/app/models/custom_filter.rb +++ b/app/models/custom_filter.rb @@ -24,6 +24,7 @@ class CustomFilter < ApplicationRecord ).freeze include Expireable + include Redisable belongs_to :account @@ -51,7 +52,7 @@ class CustomFilter < ApplicationRecord def remove_cache Rails.cache.delete("filters:#{account_id}") - Redis.current.publish("timeline:#{account_id}", Oj.dump(event: :filters_changed)) + redis.publish("timeline:#{account_id}", Oj.dump(event: :filters_changed)) end def context_must_be_valid diff --git a/app/models/encrypted_message.rb b/app/models/encrypted_message.rb index aa4182b4e..7b4e32283 100644 --- a/app/models/encrypted_message.rb +++ b/app/models/encrypted_message.rb @@ -19,6 +19,7 @@ class EncryptedMessage < ApplicationRecord self.inheritance_column = nil include Paginable + include Redisable scope :up_to, ->(id) { where(arel_table[:id].lteq(id)) } @@ -38,7 +39,7 @@ class EncryptedMessage < ApplicationRecord end def subscribed_to_timeline? - Redis.current.exists?("subscribed:#{streaming_channel}") + redis.exists?("subscribed:#{streaming_channel}") end def streaming_channel diff --git a/app/models/follow_recommendation_filter.rb b/app/models/follow_recommendation_filter.rb index acf03cd84..531332614 100644 --- a/app/models/follow_recommendation_filter.rb +++ b/app/models/follow_recommendation_filter.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class FollowRecommendationFilter + include Redisable + KEYS = %i( language status @@ -17,7 +19,7 @@ class FollowRecommendationFilter if params['status'] == 'suppressed' Account.joins(:follow_recommendation_suppression).order(FollowRecommendationSuppression.arel_table[:id].desc).to_a else - account_ids = Redis.current.zrevrange("follow_recommendations:#{@language}", 0, -1).map(&:to_i) + account_ids = redis.zrevrange("follow_recommendations:#{@language}", 0, -1).map(&:to_i) accounts = Account.where(id: account_ids).index_by(&:id) account_ids.map { |id| accounts[id] }.compact diff --git a/app/models/user.rb b/app/models/user.rb index 9da7b2639..ab832bcd0 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -52,6 +52,7 @@ class User < ApplicationRecord include Settings::Extend include UserRoles + include Redisable # The home and list feeds will be stored in Redis for this amount # of time, and status fan-out to followers will include only people @@ -456,7 +457,7 @@ class User < ApplicationRecord end def regenerate_feed! - RegenerationWorker.perform_async(account_id) if Redis.current.set("account:#{account_id}:regeneration", true, nx: true, ex: 1.day.seconds) + RegenerationWorker.perform_async(account_id) if redis.set("account:#{account_id}:regeneration", true, nx: true, ex: 1.day.seconds) end def needs_feed_update? diff --git a/app/services/activitypub/process_account_service.rb b/app/services/activitypub/process_account_service.rb index ec5140720..5649153ee 100644 --- a/app/services/activitypub/process_account_service.rb +++ b/app/services/activitypub/process_account_service.rb @@ -3,6 +3,7 @@ class ActivityPub::ProcessAccountService < BaseService include JsonLdHelper include DomainControlHelper + include Redisable # Should be called with confirmed valid JSON # and WebFinger-resolved username and domain @@ -289,7 +290,7 @@ class ActivityPub::ProcessAccountService < BaseService end def lock_options - { redis: Redis.current, key: "process_account:#{@uri}", autorelease: 15.minutes.seconds } + { redis: redis, key: "process_account:#{@uri}", autorelease: 15.minutes.seconds } end def process_tags diff --git a/app/services/activitypub/process_status_update_service.rb b/app/services/activitypub/process_status_update_service.rb index 3d9d9cb84..fb6e44c6d 100644 --- a/app/services/activitypub/process_status_update_service.rb +++ b/app/services/activitypub/process_status_update_service.rb @@ -2,6 +2,7 @@ class ActivityPub::ProcessStatusUpdateService < BaseService include JsonLdHelper + include Redisable def call(status, json) raise ArgumentError, 'Status has unsaved changes' if status.changed? @@ -241,7 +242,7 @@ class ActivityPub::ProcessStatusUpdateService < BaseService end def lock_options - { redis: Redis.current, key: "create:#{@uri}", autorelease: 15.minutes.seconds } + { redis: redis, key: "create:#{@uri}", autorelease: 15.minutes.seconds } end def record_previous_edit! diff --git a/app/services/fan_out_on_write_service.rb b/app/services/fan_out_on_write_service.rb index 76404c6b8..de5c5ebe4 100644 --- a/app/services/fan_out_on_write_service.rb +++ b/app/services/fan_out_on_write_service.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class FanOutOnWriteService < BaseService + include Redisable + # Push a status into home and mentions feeds # @param [Status] status # @param [Hash] options @@ -99,20 +101,20 @@ class FanOutOnWriteService < BaseService def broadcast_to_hashtag_streams! @status.tags.pluck(:name).each do |hashtag| - Redis.current.publish("timeline:hashtag:#{hashtag.mb_chars.downcase}", anonymous_payload) - Redis.current.publish("timeline:hashtag:#{hashtag.mb_chars.downcase}:local", anonymous_payload) if @status.local? + redis.publish("timeline:hashtag:#{hashtag.mb_chars.downcase}", anonymous_payload) + redis.publish("timeline:hashtag:#{hashtag.mb_chars.downcase}:local", anonymous_payload) if @status.local? end end def broadcast_to_public_streams! return if @status.reply? && @status.in_reply_to_account_id != @account.id - Redis.current.publish('timeline:public', anonymous_payload) - Redis.current.publish(@status.local? ? 'timeline:public:local' : 'timeline:public:remote', anonymous_payload) + redis.publish('timeline:public', anonymous_payload) + redis.publish(@status.local? ? 'timeline:public:local' : 'timeline:public:remote', anonymous_payload) if @status.with_media? - Redis.current.publish('timeline:public:media', anonymous_payload) - Redis.current.publish(@status.local? ? 'timeline:public:local:media' : 'timeline:public:remote:media', anonymous_payload) + redis.publish('timeline:public:media', anonymous_payload) + redis.publish(@status.local? ? 'timeline:public:local:media' : 'timeline:public:remote:media', anonymous_payload) end end diff --git a/app/services/fetch_link_card_service.rb b/app/services/fetch_link_card_service.rb index 9c8b5ea20..868796a6b 100644 --- a/app/services/fetch_link_card_service.rb +++ b/app/services/fetch_link_card_service.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class FetchLinkCardService < BaseService + include Redisable + URL_PATTERN = %r{ (#{Twitter::TwitterText::Regex[:valid_url_preceding_chars]}) # $1 preceding chars ( # $2 URL @@ -155,6 +157,6 @@ class FetchLinkCardService < BaseService end def lock_options - { redis: Redis.current, key: "fetch:#{@original_url}", autorelease: 15.minutes.seconds } + { redis: redis, key: "fetch:#{@original_url}", autorelease: 15.minutes.seconds } end end diff --git a/app/services/precompute_feed_service.rb b/app/services/precompute_feed_service.rb index 61f573534..f813f06b2 100644 --- a/app/services/precompute_feed_service.rb +++ b/app/services/precompute_feed_service.rb @@ -1,9 +1,11 @@ # frozen_string_literal: true class PrecomputeFeedService < BaseService + include Redisable + def call(account) FeedManager.instance.populate_home(account) ensure - Redis.current.del("account:#{account.id}:regeneration") + redis.del("account:#{account.id}:regeneration") end end diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb index 41730154d..dbd1f6430 100644 --- a/app/services/remove_status_service.rb +++ b/app/services/remove_status_service.rb @@ -146,6 +146,6 @@ class RemoveStatusService < BaseService end def lock_options - { redis: Redis.current, key: "distribute:#{@status.id}", autorelease: 5.minutes.seconds } + { redis: redis, key: "distribute:#{@status.id}", autorelease: 5.minutes.seconds } end end diff --git a/app/services/resolve_account_service.rb b/app/services/resolve_account_service.rb index 3a372ef2a..21332a03e 100644 --- a/app/services/resolve_account_service.rb +++ b/app/services/resolve_account_service.rb @@ -4,6 +4,7 @@ class ResolveAccountService < BaseService include JsonLdHelper include DomainControlHelper include WebfingerHelper + include Redisable # Find or create an account record for a remote user. When creating, # look up the user's webfinger and fetch ActivityPub data @@ -147,6 +148,6 @@ class ResolveAccountService < BaseService end def lock_options - { redis: Redis.current, key: "resolve:#{@username}@#{@domain}", autorelease: 15.minutes.seconds } + { redis: redis, key: "resolve:#{@username}@#{@domain}", autorelease: 15.minutes.seconds } end end diff --git a/app/services/vote_service.rb b/app/services/vote_service.rb index 19e453332..b77812970 100644 --- a/app/services/vote_service.rb +++ b/app/services/vote_service.rb @@ -3,6 +3,7 @@ class VoteService < BaseService include Authorization include Payloadable + include Redisable def call(account, poll, choices) authorize_with account, poll, :vote? @@ -77,6 +78,6 @@ class VoteService < BaseService end def lock_options - { redis: Redis.current, key: "vote:#{@poll.id}:#{@account.id}" } + { redis: redis, key: "vote:#{@poll.id}:#{@account.id}" } end end diff --git a/app/workers/distribution_worker.rb b/app/workers/distribution_worker.rb index 770325ccf..474b4daaf 100644 --- a/app/workers/distribution_worker.rb +++ b/app/workers/distribution_worker.rb @@ -2,9 +2,10 @@ class DistributionWorker include Sidekiq::Worker + include Redisable def perform(status_id, options = {}) - RedisLock.acquire(redis: Redis.current, key: "distribute:#{status_id}", autorelease: 5.minutes.seconds) do |lock| + RedisLock.acquire(redis: redis, key: "distribute:#{status_id}", autorelease: 5.minutes.seconds) do |lock| if lock.acquired? FanOutOnWriteService.new.call(Status.find(status_id), **options.symbolize_keys) else diff --git a/app/workers/merge_worker.rb b/app/workers/merge_worker.rb index 6ebb9a400..e526d2887 100644 --- a/app/workers/merge_worker.rb +++ b/app/workers/merge_worker.rb @@ -2,12 +2,13 @@ class MergeWorker include Sidekiq::Worker + include Redisable def perform(from_account_id, into_account_id) FeedManager.instance.merge_into_home(Account.find(from_account_id), Account.find(into_account_id)) rescue ActiveRecord::RecordNotFound true ensure - Redis.current.del("account:#{into_account_id}:regeneration") + redis.del("account:#{into_account_id}:regeneration") end end diff --git a/app/workers/scheduler/accounts_statuses_cleanup_scheduler.rb b/app/workers/scheduler/accounts_statuses_cleanup_scheduler.rb index 7195f0ff9..bd92fe32c 100644 --- a/app/workers/scheduler/accounts_statuses_cleanup_scheduler.rb +++ b/app/workers/scheduler/accounts_statuses_cleanup_scheduler.rb @@ -2,6 +2,7 @@ class Scheduler::AccountsStatusesCleanupScheduler include Sidekiq::Worker + include Redisable # This limit is mostly to be nice to the fediverse at large and not # generate too much traffic. @@ -83,14 +84,14 @@ class Scheduler::AccountsStatusesCleanupScheduler end def last_processed_id - Redis.current.get('account_statuses_cleanup_scheduler:last_account_id') + redis.get('account_statuses_cleanup_scheduler:last_account_id') end def save_last_processed_id(id) if id.nil? - Redis.current.del('account_statuses_cleanup_scheduler:last_account_id') + redis.del('account_statuses_cleanup_scheduler:last_account_id') else - Redis.current.set('account_statuses_cleanup_scheduler:last_account_id', id, ex: 1.hour.seconds) + redis.set('account_statuses_cleanup_scheduler:last_account_id', id, ex: 1.hour.seconds) end end end diff --git a/config/application.rb b/config/application.rb index a1ba71f61..64987cfe7 100644 --- a/config/application.rb +++ b/config/application.rb @@ -35,6 +35,7 @@ require_relative '../lib/paperclip/response_with_limit_adapter' require_relative '../lib/terrapin/multi_pipe_extensions' require_relative '../lib/mastodon/snowflake' require_relative '../lib/mastodon/version' +require_relative '../lib/mastodon/rack_middleware' require_relative '../lib/devise/two_factor_ldap_authenticatable' require_relative '../lib/devise/two_factor_pam_authenticatable' require_relative '../lib/chewy/strategy/custom_sidekiq' @@ -164,6 +165,7 @@ module Mastodon config.middleware.use Rack::Attack config.middleware.use Rack::Deflater + config.middleware.use Mastodon::RackMiddleware config.to_prepare do Doorkeeper::AuthorizationsController.layout 'modal' diff --git a/config/initializers/redis.rb b/config/initializers/redis.rb deleted file mode 100644 index 7573fc9f7..000000000 --- a/config/initializers/redis.rb +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true - -redis_connection = Redis.new( - url: ENV['REDIS_URL'], - driver: :hiredis -) - -namespace = ENV.fetch('REDIS_NAMESPACE') { nil } - -if namespace - Redis.current = Redis::Namespace.new(namespace, redis: redis_connection) -else - Redis.current = redis_connection -end diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index 19a705ce8..c1327053d 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -1,12 +1,12 @@ # frozen_string_literal: true -require_relative '../../lib/sidekiq_error_handler' +require_relative '../../lib/mastodon/sidekiq_middleware' Sidekiq.configure_server do |config| config.redis = REDIS_SIDEKIQ_PARAMS config.server_middleware do |chain| - chain.add SidekiqErrorHandler + chain.add Mastodon::SidekiqMiddleware end config.server_middleware do |chain| diff --git a/lib/mastodon/feeds_cli.rb b/lib/mastodon/feeds_cli.rb index 578ea15c5..428d63a44 100644 --- a/lib/mastodon/feeds_cli.rb +++ b/lib/mastodon/feeds_cli.rb @@ -7,6 +7,7 @@ require_relative 'cli_helper' module Mastodon class FeedsCLI < Thor include CLIHelper + include Redisable def self.exit_on_failure? true @@ -51,10 +52,10 @@ module Mastodon desc 'clear', 'Remove all home and list feeds from Redis' def clear - keys = Redis.current.keys('feed:*') + keys = redis.keys('feed:*') - Redis.current.pipelined do - keys.each { |key| Redis.current.del(key) } + redis.pipelined do + keys.each { |key| redis.del(key) } end say('OK', :green) diff --git a/lib/mastodon/rack_middleware.rb b/lib/mastodon/rack_middleware.rb new file mode 100644 index 000000000..619a2c36d --- /dev/null +++ b/lib/mastodon/rack_middleware.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +class Mastodon::RackMiddleware + def initialize(app) + @app = app + end + + def call(env) + @app.call(env) + ensure + clean_up_sockets! + end + + private + + def clean_up_sockets! + clean_up_redis_socket! + clean_up_statsd_socket! + end + + def clean_up_redis_socket! + Thread.current[:redis]&.close + Thread.current[:redis] = nil + end + + def clean_up_statsd_socket! + Thread.current[:statsd_socket]&.close + Thread.current[:statsd_socket] = nil + end +end diff --git a/lib/mastodon/redis_config.rb b/lib/mastodon/redis_config.rb index 5bfd26e34..98dc4788d 100644 --- a/lib/mastodon/redis_config.rb +++ b/lib/mastodon/redis_config.rb @@ -11,13 +11,15 @@ def setup_redis_env_url(prefix = nil, defaults = true) port = ENV.fetch(prefix + 'REDIS_PORT') { 6379 if defaults } db = ENV.fetch(prefix + 'REDIS_DB') { 0 if defaults } - ENV[prefix + 'REDIS_URL'] = if [password, host, port, db].all?(&:nil?) - ENV['REDIS_URL'] - else - Addressable::URI.parse("redis://#{host}:#{port}/#{db}").tap do |uri| - uri.password = password if password.present? - end.normalize.to_str - end + ENV[prefix + 'REDIS_URL'] = begin + if [password, host, port, db].all?(&:nil?) + ENV['REDIS_URL'] + else + Addressable::URI.parse("redis://#{host}:#{port}/#{db}").tap do |uri| + uri.password = password if password.present? + end.normalize.to_str + end + end end setup_redis_env_url @@ -33,6 +35,8 @@ REDIS_CACHE_PARAMS = { url: ENV['CACHE_REDIS_URL'], expires_in: 10.minutes, namespace: cache_namespace, + pool_size: Sidekiq.server? ? Sidekiq.options[:concurrency] : Integer(ENV['MAX_THREADS'] || 5), + pool_timeout: 5, }.freeze REDIS_SIDEKIQ_PARAMS = { @@ -40,3 +44,7 @@ REDIS_SIDEKIQ_PARAMS = { url: ENV['SIDEKIQ_REDIS_URL'], namespace: sidekiq_namespace, }.freeze + +if Rails.env.test? + ENV['REDIS_NAMESPACE'] = "mastodon_test#{ENV['TEST_ENV_NUMBER']}" +end diff --git a/lib/sidekiq_error_handler.rb b/lib/mastodon/sidekiq_middleware.rb similarity index 55% rename from lib/sidekiq_error_handler.rb rename to lib/mastodon/sidekiq_middleware.rb index 358afd540..7ec4097df 100644 --- a/lib/sidekiq_error_handler.rb +++ b/lib/mastodon/sidekiq_middleware.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class SidekiqErrorHandler +class Mastodon::SidekiqMiddleware BACKTRACE_LIMIT = 3 def call(*) @@ -10,9 +10,7 @@ class SidekiqErrorHandler rescue => e limit_backtrace_and_raise(e) ensure - socket = Thread.current[:statsd_socket] - socket&.close - Thread.current[:statsd_socket] = nil + clean_up_sockets! end private @@ -21,4 +19,19 @@ class SidekiqErrorHandler exception.set_backtrace(exception.backtrace.first(BACKTRACE_LIMIT)) raise exception end + + def clean_up_sockets! + clean_up_redis_socket! + clean_up_statsd_socket! + end + + def clean_up_redis_socket! + Thread.current[:redis]&.close + Thread.current[:redis] = nil + end + + def clean_up_statsd_socket! + Thread.current[:statsd_socket]&.close + Thread.current[:statsd_socket] = nil + end end diff --git a/spec/controllers/concerns/user_tracking_concern_spec.rb b/spec/controllers/concerns/user_tracking_concern_spec.rb index 1e5620221..b2548d5c0 100644 --- a/spec/controllers/concerns/user_tracking_concern_spec.rb +++ b/spec/controllers/concerns/user_tracking_concern_spec.rb @@ -65,22 +65,22 @@ describe ApplicationController, type: :controller do get :show expect_updated_sign_in_at(user) - expect(Redis.current.get("account:#{user.account_id}:regeneration")).to eq 'true' + expect(redis.get("account:#{user.account_id}:regeneration")).to eq 'true' expect(RegenerationWorker).to have_received(:perform_async) end it 'sets the regeneration marker to expire' do allow(RegenerationWorker).to receive(:perform_async) get :show - expect(Redis.current.ttl("account:#{user.account_id}:regeneration")).to be >= 0 + expect(redis.ttl("account:#{user.account_id}:regeneration")).to be >= 0 end it 'regenerates feed when sign in is older than two weeks' do get :show expect_updated_sign_in_at(user) - expect(Redis.current.zcard(FeedManager.instance.key(:home, user.account_id))).to eq 3 - expect(Redis.current.get("account:#{user.account_id}:regeneration")).to be_nil + expect(redis.zcard(FeedManager.instance.key(:home, user.account_id))).to eq 3 + expect(redis.get("account:#{user.account_id}:regeneration")).to be_nil end end diff --git a/spec/lib/activitypub/activity/move_spec.rb b/spec/lib/activitypub/activity/move_spec.rb index 2d1d276c5..c468fdeff 100644 --- a/spec/lib/activitypub/activity/move_spec.rb +++ b/spec/lib/activitypub/activity/move_spec.rb @@ -84,9 +84,9 @@ RSpec.describe ActivityPub::Activity::Move do context 'when a Move has been recently processed' do around do |example| - Redis.current.set("move_in_progress:#{old_account.id}", true, nx: true, ex: 7.days.seconds) + redis.set("move_in_progress:#{old_account.id}", true, nx: true, ex: 7.days.seconds) example.run - Redis.current.del("move_in_progress:#{old_account.id}") + redis.del("move_in_progress:#{old_account.id}") end it 'does not set moved account on old account' do diff --git a/spec/lib/delivery_failure_tracker_spec.rb b/spec/lib/delivery_failure_tracker_spec.rb index 52a1a92f0..c8179ebd9 100644 --- a/spec/lib/delivery_failure_tracker_spec.rb +++ b/spec/lib/delivery_failure_tracker_spec.rb @@ -22,7 +22,7 @@ describe DeliveryFailureTracker do describe '#track_failure!' do it 'marks URL as unavailable after 7 days of being called' do - 6.times { |i| Redis.current.sadd('exhausted_deliveries:example.com', i) } + 6.times { |i| redis.sadd('exhausted_deliveries:example.com', i) } subject.track_failure! expect(subject.days).to eq 7 diff --git a/spec/lib/feed_manager_spec.rb b/spec/lib/feed_manager_spec.rb index 0df85e5bc..3ba8aaa9f 100644 --- a/spec/lib/feed_manager_spec.rb +++ b/spec/lib/feed_manager_spec.rb @@ -195,11 +195,11 @@ RSpec.describe FeedManager do account = Fabricate(:account) status = Fabricate(:status) members = FeedManager::MAX_ITEMS.times.map { |count| [count, count] } - Redis.current.zadd("feed:home:#{account.id}", members) + redis.zadd("feed:home:#{account.id}", members) FeedManager.instance.push_to_home(account, status) - expect(Redis.current.zcard("feed:home:#{account.id}")).to eq FeedManager::MAX_ITEMS + expect(redis.zcard("feed:home:#{account.id}")).to eq FeedManager::MAX_ITEMS end context 'reblogs' do @@ -424,7 +424,7 @@ RSpec.describe FeedManager do FeedManager.instance.merge_into_home(account, reblog.account) - expect(Redis.current.zscore("feed:home:0", reblog.id)).to eq nil + expect(redis.zscore("feed:home:0", reblog.id)).to eq nil end end @@ -440,13 +440,13 @@ RSpec.describe FeedManager do FeedManager.instance.push_to_home(receiver, status) # The reblogging status should show up under normal conditions. - expect(Redis.current.zrange("feed:home:#{receiver.id}", 0, -1)).to include(status.id.to_s) + expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to include(status.id.to_s) FeedManager.instance.unpush_from_home(receiver, status) # Restore original status - expect(Redis.current.zrange("feed:home:#{receiver.id}", 0, -1)).to_not include(status.id.to_s) - expect(Redis.current.zrange("feed:home:#{receiver.id}", 0, -1)).to include(reblogged.id.to_s) + expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to_not include(status.id.to_s) + expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to include(reblogged.id.to_s) end it 'removes a reblogged status if it was only reblogged once' do @@ -456,11 +456,11 @@ RSpec.describe FeedManager do FeedManager.instance.push_to_home(receiver, status) # The reblogging status should show up under normal conditions. - expect(Redis.current.zrange("feed:home:#{receiver.id}", 0, -1)).to eq [status.id.to_s] + expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to eq [status.id.to_s] FeedManager.instance.unpush_from_home(receiver, status) - expect(Redis.current.zrange("feed:home:#{receiver.id}", 0, -1)).to be_empty + expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to be_empty end it 'leaves a multiply-reblogged status if another reblog was in feed' do @@ -472,13 +472,13 @@ RSpec.describe FeedManager do end # The reblogging status should show up under normal conditions. - expect(Redis.current.zrange("feed:home:#{receiver.id}", 0, -1)).to eq [reblogs.first.id.to_s] + expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to eq [reblogs.first.id.to_s] reblogs[0...-1].each do |reblog| FeedManager.instance.unpush_from_home(receiver, reblog) end - expect(Redis.current.zrange("feed:home:#{receiver.id}", 0, -1)).to eq [reblogs.last.id.to_s] + expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to eq [reblogs.last.id.to_s] end it 'sends push updates' do @@ -486,11 +486,11 @@ RSpec.describe FeedManager do FeedManager.instance.push_to_home(receiver, status) - allow(Redis.current).to receive_messages(publish: nil) + allow(redis).to receive_messages(publish: nil) FeedManager.instance.unpush_from_home(receiver, status) deletion = Oj.dump(event: :delete, payload: status.id.to_s) - expect(Redis.current).to have_received(:publish).with("timeline:#{receiver.id}", deletion) + expect(redis).to have_received(:publish).with("timeline:#{receiver.id}", deletion) end end @@ -508,14 +508,14 @@ RSpec.describe FeedManager do before do [status_1, status_3, status_5, status_6, status_7].each do |status| - Redis.current.zadd("feed:home:#{account.id}", status.id, status.id) + redis.zadd("feed:home:#{account.id}", status.id, status.id) end end it 'correctly cleans the home timeline' do FeedManager.instance.clear_from_home(account, target_account) - expect(Redis.current.zrange("feed:home:#{account.id}", 0, -1)).to eq [status_1.id.to_s, status_7.id.to_s] + expect(redis.zrange("feed:home:#{account.id}", 0, -1)).to eq [status_1.id.to_s, status_7.id.to_s] end end end diff --git a/spec/models/home_feed_spec.rb b/spec/models/home_feed_spec.rb index ee7a83960..80f6edbff 100644 --- a/spec/models/home_feed_spec.rb +++ b/spec/models/home_feed_spec.rb @@ -15,7 +15,7 @@ RSpec.describe HomeFeed, type: :model do context 'when feed is generated' do before do - Redis.current.zadd( + redis.zadd( FeedManager.instance.key(:home, account.id), [[4, 4], [3, 3], [2, 2], [1, 1]] ) @@ -31,7 +31,7 @@ RSpec.describe HomeFeed, type: :model do context 'when feed is being generated' do before do - Redis.current.set("account:#{account.id}:regeneration", true) + redis.set("account:#{account.id}:regeneration", true) end it 'returns nothing' do diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 217a8f2f8..02827a388 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -13,7 +13,6 @@ Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f } ActiveRecord::Migration.maintain_test_schema! WebMock.disable_net_connect!(allow: Chewy.settings[:host]) -Redis.current = Redis::Namespace.new("mastodon_test#{ENV['TEST_ENV_NUMBER']}", redis: Redis.current) Sidekiq::Testing.inline! Sidekiq.logger = nil @@ -44,6 +43,7 @@ RSpec.configure do |config| config.include Devise::Test::ControllerHelpers, type: :view config.include Paperclip::Shoulda::Matchers config.include ActiveSupport::Testing::TimeHelpers + config.include Redisable config.before :each, type: :feature do https = ENV['LOCAL_HTTPS'] == 'true' @@ -60,7 +60,7 @@ RSpec.configure do |config| config.after :each do Rails.cache.clear - Redis.current.del(Redis.current.keys) + redis.del(redis.keys) end end diff --git a/spec/services/after_block_service_spec.rb b/spec/services/after_block_service_spec.rb index c09425d7c..337766d06 100644 --- a/spec/services/after_block_service_spec.rb +++ b/spec/services/after_block_service_spec.rb @@ -14,7 +14,7 @@ RSpec.describe AfterBlockService, type: :service do let(:home_timeline_key) { FeedManager.instance.key(:home, account.id) } before do - Redis.current.del(home_timeline_key) + redis.del(home_timeline_key) end it "clears account's statuses" do @@ -23,7 +23,7 @@ RSpec.describe AfterBlockService, type: :service do FeedManager.instance.push_to_home(account, other_account_reblog) expect { subject }.to change { - Redis.current.zrange(home_timeline_key, 0, -1) + redis.zrange(home_timeline_key, 0, -1) }.from([status.id.to_s, other_account_status.id.to_s, other_account_reblog.id.to_s]).to([other_account_status.id.to_s]) end end @@ -33,7 +33,7 @@ RSpec.describe AfterBlockService, type: :service do let(:list_timeline_key) { FeedManager.instance.key(:list, list.id) } before do - Redis.current.del(list_timeline_key) + redis.del(list_timeline_key) end it "clears account's statuses" do @@ -42,7 +42,7 @@ RSpec.describe AfterBlockService, type: :service do FeedManager.instance.push_to_list(list, other_account_reblog) expect { subject }.to change { - Redis.current.zrange(list_timeline_key, 0, -1) + redis.zrange(list_timeline_key, 0, -1) }.from([status.id.to_s, other_account_status.id.to_s, other_account_reblog.id.to_s]).to([other_account_status.id.to_s]) end end diff --git a/spec/services/batched_remove_status_service_spec.rb b/spec/services/batched_remove_status_service_spec.rb index 8f38908cd..920edeb13 100644 --- a/spec/services/batched_remove_status_service_spec.rb +++ b/spec/services/batched_remove_status_service_spec.rb @@ -12,7 +12,7 @@ RSpec.describe BatchedRemoveStatusService, type: :service do let(:status2) { PostStatusService.new.call(alice, text: 'Another status') } before do - allow(Redis.current).to receive_messages(publish: nil) + allow(redis).to receive_messages(publish: nil) stub_request(:post, 'http://example.com/inbox').to_return(status: 200) @@ -40,11 +40,11 @@ RSpec.describe BatchedRemoveStatusService, type: :service do end it 'notifies streaming API of followers' do - expect(Redis.current).to have_received(:publish).with("timeline:#{jeff.id}", any_args).at_least(:once) + expect(redis).to have_received(:publish).with("timeline:#{jeff.id}", any_args).at_least(:once) end it 'notifies streaming API of public timeline' do - expect(Redis.current).to have_received(:publish).with('timeline:public', any_args).at_least(:once) + expect(redis).to have_received(:publish).with('timeline:public', any_args).at_least(:once) end it 'sends delete activity to followers' do diff --git a/spec/services/fan_out_on_write_service_spec.rb b/spec/services/fan_out_on_write_service_spec.rb index aaf179ce5..59e15d230 100644 --- a/spec/services/fan_out_on_write_service_spec.rb +++ b/spec/services/fan_out_on_write_service_spec.rb @@ -18,7 +18,7 @@ RSpec.describe FanOutOnWriteService, type: :service do ProcessMentionsService.new.call(status) ProcessHashtagsService.new.call(status) - allow(Redis.current).to receive(:publish) + allow(redis).to receive(:publish) subject.call(status) end @@ -40,13 +40,13 @@ RSpec.describe FanOutOnWriteService, type: :service do end it 'is broadcast to the hashtag stream' do - expect(Redis.current).to have_received(:publish).with('timeline:hashtag:hoge', anything) - expect(Redis.current).to have_received(:publish).with('timeline:hashtag:hoge:local', anything) + expect(redis).to have_received(:publish).with('timeline:hashtag:hoge', anything) + expect(redis).to have_received(:publish).with('timeline:hashtag:hoge:local', anything) end it 'is broadcast to the public stream' do - expect(Redis.current).to have_received(:publish).with('timeline:public', anything) - expect(Redis.current).to have_received(:publish).with('timeline:public:local', anything) + expect(redis).to have_received(:publish).with('timeline:public', anything) + expect(redis).to have_received(:publish).with('timeline:public:local', anything) end end @@ -66,8 +66,8 @@ RSpec.describe FanOutOnWriteService, type: :service do end it 'is not broadcast publicly' do - expect(Redis.current).to_not have_received(:publish).with('timeline:hashtag:hoge', anything) - expect(Redis.current).to_not have_received(:publish).with('timeline:public', anything) + expect(redis).to_not have_received(:publish).with('timeline:hashtag:hoge', anything) + expect(redis).to_not have_received(:publish).with('timeline:public', anything) end end @@ -84,8 +84,8 @@ RSpec.describe FanOutOnWriteService, type: :service do end it 'is not broadcast publicly' do - expect(Redis.current).to_not have_received(:publish).with('timeline:hashtag:hoge', anything) - expect(Redis.current).to_not have_received(:publish).with('timeline:public', anything) + expect(redis).to_not have_received(:publish).with('timeline:hashtag:hoge', anything) + expect(redis).to_not have_received(:publish).with('timeline:public', anything) end end @@ -105,8 +105,8 @@ RSpec.describe FanOutOnWriteService, type: :service do end it 'is not broadcast publicly' do - expect(Redis.current).to_not have_received(:publish).with('timeline:hashtag:hoge', anything) - expect(Redis.current).to_not have_received(:publish).with('timeline:public', anything) + expect(redis).to_not have_received(:publish).with('timeline:hashtag:hoge', anything) + expect(redis).to_not have_received(:publish).with('timeline:public', anything) end end end diff --git a/spec/services/mute_service_spec.rb b/spec/services/mute_service_spec.rb index bdec1c67b..57d8c41de 100644 --- a/spec/services/mute_service_spec.rb +++ b/spec/services/mute_service_spec.rb @@ -12,7 +12,7 @@ RSpec.describe MuteService, type: :service do let(:home_timeline_key) { FeedManager.instance.key(:home, account.id) } before do - Redis.current.del(home_timeline_key) + redis.del(home_timeline_key) end it "clears account's statuses" do @@ -20,7 +20,7 @@ RSpec.describe MuteService, type: :service do FeedManager.instance.push_to_home(account, other_account_status) expect { subject }.to change { - Redis.current.zrange(home_timeline_key, 0, -1) + redis.zrange(home_timeline_key, 0, -1) }.from([status.id.to_s, other_account_status.id.to_s]).to([other_account_status.id.to_s]) end end diff --git a/spec/services/precompute_feed_service_spec.rb b/spec/services/precompute_feed_service_spec.rb index 1f6b6ed88..86b93b5d2 100644 --- a/spec/services/precompute_feed_service_spec.rb +++ b/spec/services/precompute_feed_service_spec.rb @@ -13,7 +13,7 @@ RSpec.describe PrecomputeFeedService, type: :service do subject.call(account) - expect(Redis.current.zscore(FeedManager.instance.key(:home, account.id), status.id)).to be_within(0.1).of(status.id.to_f) + expect(redis.zscore(FeedManager.instance.key(:home, account.id), status.id)).to be_within(0.1).of(status.id.to_f) end it 'does not raise an error even if it could not find any status' do @@ -30,7 +30,7 @@ RSpec.describe PrecomputeFeedService, type: :service do subject.call(account) - expect(Redis.current.zscore(FeedManager.instance.key(:home, account.id), reblog.id)).to eq nil + expect(redis.zscore(FeedManager.instance.key(:home, account.id), reblog.id)).to eq nil end end end diff --git a/spec/workers/scheduler/feed_cleanup_scheduler_spec.rb b/spec/workers/scheduler/feed_cleanup_scheduler_spec.rb index 914eed829..82d794594 100644 --- a/spec/workers/scheduler/feed_cleanup_scheduler_spec.rb +++ b/spec/workers/scheduler/feed_cleanup_scheduler_spec.rb @@ -7,17 +7,17 @@ describe Scheduler::FeedCleanupScheduler do let!(:inactive_user) { Fabricate(:user, current_sign_in_at: 22.days.ago) } it 'clears feeds of inactives' do - Redis.current.zadd(feed_key_for(inactive_user), 1, 1) - Redis.current.zadd(feed_key_for(active_user), 1, 1) - Redis.current.zadd(feed_key_for(inactive_user, 'reblogs'), 2, 2) - Redis.current.sadd(feed_key_for(inactive_user, 'reblogs:2'), 3) + redis.zadd(feed_key_for(inactive_user), 1, 1) + redis.zadd(feed_key_for(active_user), 1, 1) + redis.zadd(feed_key_for(inactive_user, 'reblogs'), 2, 2) + redis.sadd(feed_key_for(inactive_user, 'reblogs:2'), 3) subject.perform - expect(Redis.current.zcard(feed_key_for(inactive_user))).to eq 0 - expect(Redis.current.zcard(feed_key_for(active_user))).to eq 1 - expect(Redis.current.exists?(feed_key_for(inactive_user, 'reblogs'))).to be false - expect(Redis.current.exists?(feed_key_for(inactive_user, 'reblogs:2'))).to be false + expect(redis.zcard(feed_key_for(inactive_user))).to eq 0 + expect(redis.zcard(feed_key_for(active_user))).to eq 1 + expect(redis.exists?(feed_key_for(inactive_user, 'reblogs'))).to be false + expect(redis.exists?(feed_key_for(inactive_user, 'reblogs:2'))).to be false end def feed_key_for(user, subtype = nil) From 8284110c55679b7ce7b3922cb0559620b03ca88c Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 28 Apr 2022 18:11:31 +0200 Subject: [PATCH 257/276] Fix stoplight not using REDIS_NAMESPACE (#18160) --- config/initializers/stoplight.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/initializers/stoplight.rb b/config/initializers/stoplight.rb index 7384b2e9a..d9ebca76c 100644 --- a/config/initializers/stoplight.rb +++ b/config/initializers/stoplight.rb @@ -1,4 +1,4 @@ require 'stoplight' -Stoplight::Light.default_data_store = Stoplight::DataStore::Redis.new(Redis.current) +Stoplight::Light.default_data_store = Stoplight::DataStore::Redis.new(RedisConfiguration.new.connection) Stoplight::Light.default_notifiers = [Stoplight::Notifier::Logger.new(Rails.logger)] From 84d991988eb076a7d83c771b3266f66f1c8a9754 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 28 Apr 2022 20:19:10 +0200 Subject: [PATCH 258/276] Fix temporary network/remote server error prevent from interactions with remote accounts (#18161) * Fix temporary network/remote server error prevent from interactions with remote accounts * Fix and add tests --- app/services/resolve_url_service.rb | 5 +++++ spec/services/resolve_url_service_spec.rb | 16 +++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/app/services/resolve_url_service.rb b/app/services/resolve_url_service.rb index 5981e4d98..e2c745673 100644 --- a/app/services/resolve_url_service.rb +++ b/app/services/resolve_url_service.rb @@ -30,6 +30,11 @@ class ResolveURLService < BaseService end def process_url_from_db + if [500, 502, 503, 504, nil].include?(fetch_resource_service.response_code) + account = Account.find_by(uri: @url) + return account unless account.nil? + end + return unless @on_behalf_of.present? && [401, 403, 404].include?(fetch_resource_service.response_code) # It may happen that the resource is a private toot, and thus not fetchable, diff --git a/spec/services/resolve_url_service_spec.rb b/spec/services/resolve_url_service_spec.rb index a38b23590..1b639dea9 100644 --- a/spec/services/resolve_url_service_spec.rb +++ b/spec/services/resolve_url_service_spec.rb @@ -7,15 +7,29 @@ describe ResolveURLService, type: :service do describe '#call' do it 'returns nil when there is no resource url' do - url = 'http://example.com/missing-resource' + url = 'http://example.com/missing-resource' + known_account = Fabricate(:account, uri: url) service = double allow(FetchResourceService).to receive(:new).and_return service + allow(service).to receive(:response_code).and_return(404) allow(service).to receive(:call).with(url).and_return(nil) expect(subject.call(url)).to be_nil end + it 'returns known account on temporary error' do + url = 'http://example.com/missing-resource' + known_account = Fabricate(:account, uri: url) + service = double + + allow(FetchResourceService).to receive(:new).and_return service + allow(service).to receive(:response_code).and_return(500) + allow(service).to receive(:call).with(url).and_return(nil) + + expect(subject.call(url)).to eq known_account + end + context 'searching for a remote private status' do let(:account) { Fabricate(:account) } let(:poster) { Fabricate(:account, domain: 'example.com') } From eed5a4bf9c7e41a03ebab92dd45ebc1b899dc768 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 28 Apr 2022 21:29:29 +0200 Subject: [PATCH 259/276] =?UTF-8?q?Fix=20empty=20=E2=80=9CServer=20rules?= =?UTF-8?q?=20violation=E2=80=9D=20report=20option=20(#18165)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mastodon/features/report/category.js | 18 +++++++++++++++--- app/javascript/mastodon/features/ui/index.js | 2 ++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/javascript/mastodon/features/report/category.js b/app/javascript/mastodon/features/report/category.js index a36dc81b1..9215b3f51 100644 --- a/app/javascript/mastodon/features/report/category.js +++ b/app/javascript/mastodon/features/report/category.js @@ -1,5 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; +import ImmutablePropTypes from 'react-immutable-proptypes'; +import { connect } from 'react-redux'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import Button from 'mastodon/components/button'; import Option from './components/option'; @@ -17,11 +19,17 @@ const messages = defineMessages({ account: { id: 'report.category.title_account', defaultMessage: 'profile' }, }); -export default @injectIntl +const mapStateToProps = state => ({ + rules: state.get('rules'), +}); + +export default @connect(mapStateToProps) +@injectIntl class Category extends React.PureComponent { static propTypes = { onNextStep: PropTypes.func.isRequired, + rules: ImmutablePropTypes.list, category: PropTypes.string, onChangeCategory: PropTypes.func.isRequired, startedFrom: PropTypes.oneOf(['status', 'account']), @@ -53,13 +61,17 @@ class Category extends React.PureComponent { }; render () { - const { category, startedFrom, intl } = this.props; + const { category, startedFrom, rules, intl } = this.props; - const options = [ + const options = rules.size > 0 ? [ 'dislike', 'spam', 'violation', 'other', + ] : [ + 'dislike', + 'spam', + 'other', ]; return ( diff --git a/app/javascript/mastodon/features/ui/index.js b/app/javascript/mastodon/features/ui/index.js index 2d0136992..1ee038223 100644 --- a/app/javascript/mastodon/features/ui/index.js +++ b/app/javascript/mastodon/features/ui/index.js @@ -14,6 +14,7 @@ import { uploadCompose, resetCompose, changeComposeSpoilerness } from '../../act import { expandHomeTimeline } from '../../actions/timelines'; import { expandNotifications } from '../../actions/notifications'; import { fetchFilters } from '../../actions/filters'; +import { fetchRules } from '../../actions/rules'; import { clearHeight } from '../../actions/height_cache'; import { focusApp, unfocusApp, changeLayout } from 'mastodon/actions/app'; import { synchronouslySubmitMarkers, submitMarkers, fetchMarkers } from 'mastodon/actions/markers'; @@ -368,6 +369,7 @@ class UI extends React.PureComponent { this.props.dispatch(expandHomeTimeline()); this.props.dispatch(expandNotifications()); setTimeout(() => this.props.dispatch(fetchFilters()), 500); + setTimeout(() => this.props.dispatch(fetchRules()), 3000); this.hotkeys.__mousetrap__.stopCallback = (e, element) => { return ['TEXTAREA', 'SELECT', 'INPUT'].includes(element.tagName); From 66a63d79ea11641c3e15cf65785be464cf3695bc Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 28 Apr 2022 23:34:58 +0200 Subject: [PATCH 260/276] Fix 500 error when a bookmark or favorite has been reported and deleted (#18174) --- app/controllers/api/v1/bookmarks_controller.rb | 2 +- app/controllers/api/v1/favourites_controller.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/api/v1/bookmarks_controller.rb b/app/controllers/api/v1/bookmarks_controller.rb index aa3fb88f0..0cc231840 100644 --- a/app/controllers/api/v1/bookmarks_controller.rb +++ b/app/controllers/api/v1/bookmarks_controller.rb @@ -21,7 +21,7 @@ class Api::V1::BookmarksController < Api::BaseController end def results - @_results ||= account_bookmarks.eager_load(:status).to_a_paginated_by_id( + @_results ||= account_bookmarks.joins(:status).eager_load(:status).to_a_paginated_by_id( limit_param(DEFAULT_STATUSES_LIMIT), params_slice(:max_id, :since_id, :min_id) ) diff --git a/app/controllers/api/v1/favourites_controller.rb b/app/controllers/api/v1/favourites_controller.rb index 21836bc17..2a873696c 100644 --- a/app/controllers/api/v1/favourites_controller.rb +++ b/app/controllers/api/v1/favourites_controller.rb @@ -21,7 +21,7 @@ class Api::V1::FavouritesController < Api::BaseController end def results - @_results ||= account_favourites.eager_load(:status).to_a_paginated_by_id( + @_results ||= account_favourites.joins(:status).eager_load(:status).to_a_paginated_by_id( limit_param(DEFAULT_STATUSES_LIMIT), params_slice(:max_id, :since_id, :min_id) ) From a8e27ac4d10b55f9fe252c2ffcc1b54c5179fb04 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 29 Apr 2022 00:15:27 +0200 Subject: [PATCH 261/276] Fix being able to scroll away from the loading bar in web UI (#18170) --- app/javascript/styles/mastodon/components.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 3bd52eed3..c04b30420 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -5598,7 +5598,7 @@ a.status-card.compact:hover { .loading-bar { background-color: $highlight-text-color; height: 3px; - position: absolute; + position: fixed; top: 0; left: 0; z-index: 9999; From be0bc9acbffe2d6126f382b946be0469d756048c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 29 Apr 2022 00:24:31 +0200 Subject: [PATCH 262/276] Change "Direct" status visibility to "Only people I mention" in web UI (#18146) - Change name of conversations column in web UI - Change hotkey for opening conversations column from `g d` to `g c` in web UI - Remove shortcuts for creating direct-visibility statuses from web UI --- .../mastodon/components/common_counter.js | 2 +- app/javascript/mastodon/components/status.js | 4 +- .../mastodon/components/status_action_bar.js | 1 - .../features/account/components/header.js | 3 +- .../account_timeline/components/header.js | 4 +- .../features/account_timeline/index.js | 4 +- .../features/bookmarked_statuses/index.js | 2 +- .../features/compose/components/action_bar.js | 2 +- .../compose/components/privacy_dropdown.js | 10 +-- .../compose/components/search_results.js | 6 +- .../compose/containers/warning_container.js | 4 +- .../mastodon/features/compose/index.js | 2 +- .../features/direct_timeline/index.js | 6 +- .../directory/components/account_card.js | 2 +- .../mastodon/features/explore/results.js | 2 +- .../features/favourited_statuses/index.js | 2 +- .../mastodon/features/favourites/index.js | 2 +- .../features/getting_started/index.js | 6 +- .../features/keyboard_shortcuts/index.js | 6 +- .../components/column_settings.js | 2 +- .../features/pinned_statuses/index.js | 2 +- .../mastodon/features/reblogs/index.js | 2 +- .../features/status/components/action_bar.js | 1 - .../ui/components/navigation_panel.js | 2 +- .../mastodon/locales/defaultMessages.json | 82 +++++++++---------- app/javascript/mastodon/locales/en.json | 17 ++-- 26 files changed, 87 insertions(+), 91 deletions(-) diff --git a/app/javascript/mastodon/components/common_counter.js b/app/javascript/mastodon/components/common_counter.js index e10cd9b76..dd9b62de9 100644 --- a/app/javascript/mastodon/components/common_counter.js +++ b/app/javascript/mastodon/components/common_counter.js @@ -25,7 +25,7 @@ export function counterRenderer(counterType, isBold = true) { return (displayNumber, pluralReady) => (
    - + ); } else if (status.get('reblog', null) !== null && typeof status.get('reblog') === 'object') { diff --git a/app/javascript/mastodon/components/status_action_bar.js b/app/javascript/mastodon/components/status_action_bar.js index 1d8fe23da..a21b066a5 100644 --- a/app/javascript/mastodon/components/status_action_bar.js +++ b/app/javascript/mastodon/components/status_action_bar.js @@ -266,7 +266,6 @@ class StatusActionBar extends ImmutablePureComponent { menu.push({ text: intl.formatMessage(messages.redraft), action: this.handleRedraftClick }); } else { menu.push({ text: intl.formatMessage(messages.mention, { name: account.get('username') }), action: this.handleMentionClick }); - menu.push({ text: intl.formatMessage(messages.direct, { name: account.get('username') }), action: this.handleDirectClick }); menu.push(null); if (relationship && relationship.get('muting')) { diff --git a/app/javascript/mastodon/features/account/components/header.js b/app/javascript/mastodon/features/account/components/header.js index 48ec49d81..83dc8d9b8 100644 --- a/app/javascript/mastodon/features/account/components/header.js +++ b/app/javascript/mastodon/features/account/components/header.js @@ -38,7 +38,7 @@ const messages = defineMessages({ showReblogs: { id: 'account.show_reblogs', defaultMessage: 'Show boosts from @{name}' }, enableNotifications: { id: 'account.enable_notifications', defaultMessage: 'Notify me when @{name} posts' }, disableNotifications: { id: 'account.disable_notifications', defaultMessage: 'Stop notifying me when @{name} posts' }, - pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' }, + pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned posts' }, preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' }, follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' }, favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' }, @@ -177,7 +177,6 @@ class Header extends ImmutablePureComponent { if (account.get('id') !== me) { menu.push({ text: intl.formatMessage(messages.mention, { name: account.get('username') }), action: this.props.onMention }); - menu.push({ text: intl.formatMessage(messages.direct, { name: account.get('username') }), action: this.props.onDirect }); menu.push(null); } diff --git a/app/javascript/mastodon/features/account_timeline/components/header.js b/app/javascript/mastodon/features/account_timeline/components/header.js index 33bea4c17..507b6c895 100644 --- a/app/javascript/mastodon/features/account_timeline/components/header.js +++ b/app/javascript/mastodon/features/account_timeline/components/header.js @@ -121,8 +121,8 @@ export default class Header extends ImmutablePureComponent { {!hideTabs && (
    - - + +
    )} diff --git a/app/javascript/mastodon/features/account_timeline/index.js b/app/javascript/mastodon/features/account_timeline/index.js index 37df2818b..5122aec4e 100644 --- a/app/javascript/mastodon/features/account_timeline/index.js +++ b/app/javascript/mastodon/features/account_timeline/index.js @@ -45,7 +45,7 @@ const mapStateToProps = (state, { params: { acct, id }, withReplies = false }) = }; const RemoteHint = ({ url }) => ( - } /> + } /> ); RemoteHint.propTypes = { @@ -156,7 +156,7 @@ class AccountTimeline extends ImmutablePureComponent { } else if (remote && statusIds.isEmpty()) { emptyMessage = ; } else { - emptyMessage = ; + emptyMessage = ; } const remoteMessage = remote ? : null; diff --git a/app/javascript/mastodon/features/bookmarked_statuses/index.js b/app/javascript/mastodon/features/bookmarked_statuses/index.js index cf067d954..8f41b0f95 100644 --- a/app/javascript/mastodon/features/bookmarked_statuses/index.js +++ b/app/javascript/mastodon/features/bookmarked_statuses/index.js @@ -70,7 +70,7 @@ class Bookmarks extends ImmutablePureComponent { const { intl, statusIds, columnId, multiColumn, hasMore, isLoading } = this.props; const pinned = !!columnId; - const emptyMessage = ; + const emptyMessage = ; return ( diff --git a/app/javascript/mastodon/features/compose/components/action_bar.js b/app/javascript/mastodon/features/compose/components/action_bar.js index 07d92bb7e..4ff0b7b94 100644 --- a/app/javascript/mastodon/features/compose/components/action_bar.js +++ b/app/javascript/mastodon/features/compose/components/action_bar.js @@ -6,7 +6,7 @@ import { defineMessages, injectIntl } from 'react-intl'; const messages = defineMessages({ edit_profile: { id: 'account.edit_profile', defaultMessage: 'Edit profile' }, - pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' }, + pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned posts' }, preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' }, follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' }, favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' }, diff --git a/app/javascript/mastodon/features/compose/components/privacy_dropdown.js b/app/javascript/mastodon/features/compose/components/privacy_dropdown.js index 599467cdb..c94db59c5 100644 --- a/app/javascript/mastodon/features/compose/components/privacy_dropdown.js +++ b/app/javascript/mastodon/features/compose/components/privacy_dropdown.js @@ -11,12 +11,12 @@ import Icon from 'mastodon/components/icon'; const messages = defineMessages({ public_short: { id: 'privacy.public.short', defaultMessage: 'Public' }, - public_long: { id: 'privacy.public.long', defaultMessage: 'Visible for all, shown in public timelines' }, + public_long: { id: 'privacy.public.long', defaultMessage: 'Visible for all' }, unlisted_short: { id: 'privacy.unlisted.short', defaultMessage: 'Unlisted' }, - unlisted_long: { id: 'privacy.unlisted.long', defaultMessage: 'Visible for all, but not in public timelines' }, - private_short: { id: 'privacy.private.short', defaultMessage: 'Followers-only' }, + unlisted_long: { id: 'privacy.unlisted.long', defaultMessage: 'Visible for all, but opted-out of discovery features' }, + private_short: { id: 'privacy.private.short', defaultMessage: 'Followers only' }, private_long: { id: 'privacy.private.long', defaultMessage: 'Visible for followers only' }, - direct_short: { id: 'privacy.direct.short', defaultMessage: 'Direct' }, + direct_short: { id: 'privacy.direct.short', defaultMessage: 'Only people I mention' }, direct_long: { id: 'privacy.direct.long', defaultMessage: 'Visible for mentioned users only' }, change_privacy: { id: 'privacy.change', defaultMessage: 'Adjust status privacy' }, }); @@ -242,7 +242,7 @@ class PrivacyDropdown extends React.PureComponent { if (!this.props.noDirect) { this.options.push( - { icon: 'envelope', value: 'direct', text: formatMessage(messages.direct_short), meta: formatMessage(messages.direct_long) }, + { icon: 'at', value: 'direct', text: formatMessage(messages.direct_short), meta: formatMessage(messages.direct_long) }, ); } } diff --git a/app/javascript/mastodon/features/compose/components/search_results.js b/app/javascript/mastodon/features/compose/components/search_results.js index 9b3d01cfd..e2493a6c6 100644 --- a/app/javascript/mastodon/features/compose/components/search_results.js +++ b/app/javascript/mastodon/features/compose/components/search_results.js @@ -91,7 +91,7 @@ class SearchResults extends ImmutablePureComponent { count += results.get('statuses').size; statuses = (
    -
    +
    {results.get('statuses').map(statusId => )} @@ -101,10 +101,10 @@ class SearchResults extends ImmutablePureComponent { } else if(results.get('statuses') && results.get('statuses').size === 0 && !searchEnabled && !(searchTerm.startsWith('@') || searchTerm.startsWith('#') || searchTerm.includes(' '))) { statuses = (
    -
    +
    - +
    ); diff --git a/app/javascript/mastodon/features/compose/containers/warning_container.js b/app/javascript/mastodon/features/compose/containers/warning_container.js index bf0660ea9..571d1d838 100644 --- a/app/javascript/mastodon/features/compose/containers/warning_container.js +++ b/app/javascript/mastodon/features/compose/containers/warning_container.js @@ -42,13 +42,13 @@ const WarningWrapper = ({ needsLockWarning, hashtagWarning, directMessageWarning } if (hashtagWarning) { - return } />; + return } />; } if (directMessageWarning) { const message = ( - + ); diff --git a/app/javascript/mastodon/features/compose/index.js b/app/javascript/mastodon/features/compose/index.js index 663dd324f..711a55904 100644 --- a/app/javascript/mastodon/features/compose/index.js +++ b/app/javascript/mastodon/features/compose/index.js @@ -26,7 +26,7 @@ const messages = defineMessages({ community: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' }, preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' }, logout: { id: 'navigation_bar.logout', defaultMessage: 'Logout' }, - compose: { id: 'navigation_bar.compose', defaultMessage: 'Compose new toot' }, + compose: { id: 'navigation_bar.compose', defaultMessage: 'Compose new post' }, logoutMessage: { id: 'confirmations.logout.message', defaultMessage: 'Are you sure you want to log out?' }, logoutConfirm: { id: 'confirmations.logout.confirm', defaultMessage: 'Log out' }, }); diff --git a/app/javascript/mastodon/features/direct_timeline/index.js b/app/javascript/mastodon/features/direct_timeline/index.js index 68523666c..46a56e942 100644 --- a/app/javascript/mastodon/features/direct_timeline/index.js +++ b/app/javascript/mastodon/features/direct_timeline/index.js @@ -10,7 +10,7 @@ import { connectDirectStream } from '../../actions/streaming'; import ConversationsListContainer from './containers/conversations_list_container'; const messages = defineMessages({ - title: { id: 'column.direct', defaultMessage: 'Direct messages' }, + title: { id: 'column.conversations', defaultMessage: 'Conversations' }, }); export default @connect() @@ -76,7 +76,7 @@ class DirectTimeline extends React.PureComponent { return ( } + emptyMessage={} /> ); diff --git a/app/javascript/mastodon/features/directory/components/account_card.js b/app/javascript/mastodon/features/directory/components/account_card.js index 31f59cd84..27ba4e7f4 100644 --- a/app/javascript/mastodon/features/directory/components/account_card.js +++ b/app/javascript/mastodon/features/directory/components/account_card.js @@ -191,7 +191,7 @@ class AccountCard extends ImmutablePureComponent {
    - +
    diff --git a/app/javascript/mastodon/features/explore/results.js b/app/javascript/mastodon/features/explore/results.js index 339f883c5..1286020f5 100644 --- a/app/javascript/mastodon/features/explore/results.js +++ b/app/javascript/mastodon/features/explore/results.js @@ -100,7 +100,7 @@ class Results extends React.PureComponent { - +
    diff --git a/app/javascript/mastodon/features/favourited_statuses/index.js b/app/javascript/mastodon/features/favourited_statuses/index.js index 9606a144c..73631946a 100644 --- a/app/javascript/mastodon/features/favourited_statuses/index.js +++ b/app/javascript/mastodon/features/favourited_statuses/index.js @@ -70,7 +70,7 @@ class Favourites extends ImmutablePureComponent { const { intl, statusIds, columnId, multiColumn, hasMore, isLoading } = this.props; const pinned = !!columnId; - const emptyMessage = ; + const emptyMessage = ; return ( diff --git a/app/javascript/mastodon/features/favourites/index.js b/app/javascript/mastodon/features/favourites/index.js index ac94ae18a..f060068a4 100644 --- a/app/javascript/mastodon/features/favourites/index.js +++ b/app/javascript/mastodon/features/favourites/index.js @@ -59,7 +59,7 @@ class Favourites extends ImmutablePureComponent { ); } - const emptyMessage = ; + const emptyMessage = ; return ( diff --git a/app/javascript/mastodon/features/getting_started/index.js b/app/javascript/mastodon/features/getting_started/index.js index a9000a3d9..678fb089c 100644 --- a/app/javascript/mastodon/features/getting_started/index.js +++ b/app/javascript/mastodon/features/getting_started/index.js @@ -22,7 +22,7 @@ const messages = defineMessages({ settings_subheading: { id: 'column_subheading.settings', defaultMessage: 'Settings' }, community_timeline: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' }, explore: { id: 'navigation_bar.explore', defaultMessage: 'Explore' }, - direct: { id: 'navigation_bar.direct', defaultMessage: 'Direct messages' }, + direct: { id: 'column.conversations', defaultMessage: 'Conversations' }, bookmarks: { id: 'navigation_bar.bookmarks', defaultMessage: 'Bookmarks' }, preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' }, follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' }, @@ -30,7 +30,7 @@ const messages = defineMessages({ blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' }, domain_blocks: { id: 'navigation_bar.domain_blocks', defaultMessage: 'Hidden domains' }, mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' }, - pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' }, + pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned posts' }, lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' }, discover: { id: 'navigation_bar.discover', defaultMessage: 'Discover' }, personal: { id: 'navigation_bar.personal', defaultMessage: 'Personal' }, @@ -130,7 +130,7 @@ class GettingStarted extends ImmutablePureComponent { } navItems.push( - , + , , , , diff --git a/app/javascript/mastodon/features/keyboard_shortcuts/index.js b/app/javascript/mastodon/features/keyboard_shortcuts/index.js index d278d2b26..5f38e2f4e 100644 --- a/app/javascript/mastodon/features/keyboard_shortcuts/index.js +++ b/app/javascript/mastodon/features/keyboard_shortcuts/index.js @@ -86,7 +86,7 @@ class KeyboardShortcuts extends ImmutablePureComponent { alt+n - + alt+x @@ -122,7 +122,7 @@ class KeyboardShortcuts extends ImmutablePureComponent { g+d - + g+s @@ -134,7 +134,7 @@ class KeyboardShortcuts extends ImmutablePureComponent { g+p - + g+u diff --git a/app/javascript/mastodon/features/notifications/components/column_settings.js b/app/javascript/mastodon/features/notifications/components/column_settings.js index 84db04430..1cdb24086 100644 --- a/app/javascript/mastodon/features/notifications/components/column_settings.js +++ b/app/javascript/mastodon/features/notifications/components/column_settings.js @@ -145,7 +145,7 @@ export default class ColumnSettings extends React.PureComponent {
    - +
    diff --git a/app/javascript/mastodon/features/pinned_statuses/index.js b/app/javascript/mastodon/features/pinned_statuses/index.js index f32bd6d23..67b13f10a 100644 --- a/app/javascript/mastodon/features/pinned_statuses/index.js +++ b/app/javascript/mastodon/features/pinned_statuses/index.js @@ -10,7 +10,7 @@ import { defineMessages, injectIntl } from 'react-intl'; import ImmutablePureComponent from 'react-immutable-pure-component'; const messages = defineMessages({ - heading: { id: 'column.pins', defaultMessage: 'Pinned toot' }, + heading: { id: 'column.pins', defaultMessage: 'Pinned post' }, }); const mapStateToProps = state => ({ diff --git a/app/javascript/mastodon/features/reblogs/index.js b/app/javascript/mastodon/features/reblogs/index.js index 0fbd09415..7704a049f 100644 --- a/app/javascript/mastodon/features/reblogs/index.js +++ b/app/javascript/mastodon/features/reblogs/index.js @@ -59,7 +59,7 @@ class Reblogs extends ImmutablePureComponent { ); } - const emptyMessage = ; + const emptyMessage = ; return ( diff --git a/app/javascript/mastodon/features/status/components/action_bar.js b/app/javascript/mastodon/features/status/components/action_bar.js index 3f3ec0e71..edaff959e 100644 --- a/app/javascript/mastodon/features/status/components/action_bar.js +++ b/app/javascript/mastodon/features/status/components/action_bar.js @@ -220,7 +220,6 @@ class ActionBar extends React.PureComponent { menu.push({ text: intl.formatMessage(messages.redraft), action: this.handleRedraftClick }); } else { menu.push({ text: intl.formatMessage(messages.mention, { name: status.getIn(['account', 'username']) }), action: this.handleMentionClick }); - menu.push({ text: intl.formatMessage(messages.direct, { name: status.getIn(['account', 'username']) }), action: this.handleDirectClick }); menu.push(null); if (relationship && relationship.get('muting')) { diff --git a/app/javascript/mastodon/features/ui/components/navigation_panel.js b/app/javascript/mastodon/features/ui/components/navigation_panel.js index eb42115b7..9a3940b5b 100644 --- a/app/javascript/mastodon/features/ui/components/navigation_panel.js +++ b/app/javascript/mastodon/features/ui/components/navigation_panel.js @@ -16,7 +16,7 @@ const NavigationPanel = () => ( - + diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json index 0b1a53693..aab9b9857 100644 --- a/app/javascript/mastodon/locales/defaultMessages.json +++ b/app/javascript/mastodon/locales/defaultMessages.json @@ -206,7 +206,7 @@ { "descriptors": [ { - "defaultMessage": "{count, plural, one {{counter} Toot} other {{counter} Toots}}", + "defaultMessage": "{count, plural, one {{counter} Post} other {{counter} Posts}}", "id": "account.statuses_counter" }, { @@ -659,7 +659,7 @@ "id": "privacy.private.short" }, { - "defaultMessage": "Direct", + "defaultMessage": "Mentioned people only", "id": "privacy.direct.short" }, { @@ -671,7 +671,7 @@ "id": "status.filtered" }, { - "defaultMessage": "Pinned toot", + "defaultMessage": "Pinned post", "id": "status.pinned" }, { @@ -773,11 +773,11 @@ { "descriptors": [ { - "defaultMessage": "Toots", + "defaultMessage": "Posts", "id": "account.posts" }, { - "defaultMessage": "Toots and replies", + "defaultMessage": "Posts and replies", "id": "account.posts_with_replies" }, { @@ -820,7 +820,7 @@ { "descriptors": [ { - "defaultMessage": "Older toots", + "defaultMessage": "Older posts", "id": "timeline_hint.resources.statuses" }, { @@ -832,7 +832,7 @@ "id": "empty_column.account_unavailable" }, { - "defaultMessage": "No toots here!", + "defaultMessage": "No posts found", "id": "empty_column.account_timeline" } ], @@ -946,7 +946,7 @@ "id": "account.disable_notifications" }, { - "defaultMessage": "Pinned toots", + "defaultMessage": "Pinned posts", "id": "navigation_bar.pins" }, { @@ -1069,7 +1069,7 @@ "id": "column.bookmarks" }, { - "defaultMessage": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", + "defaultMessage": "You don't have any bookmarked posts yet. When you bookmark one, it will show up here.", "id": "empty_column.bookmarked_statuses" } ], @@ -1104,7 +1104,7 @@ "id": "account.edit_profile" }, { - "defaultMessage": "Pinned toots", + "defaultMessage": "Pinned posts", "id": "navigation_bar.pins" }, { @@ -1306,7 +1306,7 @@ "id": "privacy.public.short" }, { - "defaultMessage": "Visible for all, shown in public timelines", + "defaultMessage": "Visible for all", "id": "privacy.public.long" }, { @@ -1314,11 +1314,11 @@ "id": "privacy.unlisted.short" }, { - "defaultMessage": "Visible for all, but not in public timelines", + "defaultMessage": "Visible for all, but opted-out of discovery features", "id": "privacy.unlisted.long" }, { - "defaultMessage": "Followers-only", + "defaultMessage": "Followers only", "id": "privacy.private.short" }, { @@ -1326,7 +1326,7 @@ "id": "privacy.private.long" }, { - "defaultMessage": "Direct", + "defaultMessage": "Only people I mention", "id": "privacy.direct.short" }, { @@ -1364,11 +1364,11 @@ "id": "search_results.accounts" }, { - "defaultMessage": "Toots", + "defaultMessage": "Posts", "id": "search_results.statuses" }, { - "defaultMessage": "Searching toots by their content is not enabled on this Mastodon server.", + "defaultMessage": "Searching posts by their content is not enabled on this Mastodon server.", "id": "search_results.statuses_fts_disabled" }, { @@ -1504,12 +1504,12 @@ "id": "compose_form.lock_disclaimer.lock" }, { - "defaultMessage": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", + "defaultMessage": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.", "id": "compose_form.hashtag_warning" }, { - "defaultMessage": "This toot will only be sent to all the mentioned users.", - "id": "compose_form.direct_message_warning" + "defaultMessage": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", + "id": "compose_form.encryption_warning" }, { "defaultMessage": "Learn more", @@ -1549,7 +1549,7 @@ "id": "navigation_bar.logout" }, { - "defaultMessage": "Compose new toot", + "defaultMessage": "Compose new post", "id": "navigation_bar.compose" }, { @@ -1616,12 +1616,12 @@ { "descriptors": [ { - "defaultMessage": "Direct messages", - "id": "column.direct" + "defaultMessage": "Conversations", + "id": "column.conversations" }, { - "defaultMessage": "You don't have any direct messages yet. When you send or receive one, it will show up here.", - "id": "empty_column.direct" + "defaultMessage": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", + "id": "empty_column.conversations" } ], "path": "app/javascript/mastodon/features/direct_timeline/index.json" @@ -1665,7 +1665,7 @@ "id": "confirmations.unfollow.message" }, { - "defaultMessage": "Toots", + "defaultMessage": "Posts", "id": "account.posts" }, { @@ -1769,7 +1769,7 @@ "id": "search_results.hashtags" }, { - "defaultMessage": "Toots", + "defaultMessage": "Posts", "id": "search_results.statuses" } ], @@ -1791,7 +1791,7 @@ "id": "column.favourites" }, { - "defaultMessage": "You don't have any favourite toots yet. When you favourite one, it will show up here.", + "defaultMessage": "You don't have any favourite posts yet. When you favourite one, it will show up here.", "id": "empty_column.favourited_statuses" } ], @@ -1804,7 +1804,7 @@ "id": "refresh" }, { - "defaultMessage": "No one has favourited this toot yet. When someone does, they will show up here.", + "defaultMessage": "No one has favourited this post yet. When someone does, they will show up here.", "id": "empty_column.favourites" } ], @@ -1965,8 +1965,8 @@ "id": "navigation_bar.explore" }, { - "defaultMessage": "Direct messages", - "id": "navigation_bar.direct" + "defaultMessage": "Conversations", + "id": "column.conversations" }, { "defaultMessage": "Bookmarks", @@ -1997,7 +1997,7 @@ "id": "navigation_bar.mutes" }, { - "defaultMessage": "Pinned toots", + "defaultMessage": "Pinned posts", "id": "navigation_bar.pins" }, { @@ -2186,7 +2186,7 @@ "id": "keyboard_shortcuts.compose" }, { - "defaultMessage": "to start a brand new toot", + "defaultMessage": "to start a brand new post", "id": "keyboard_shortcuts.toot" }, { @@ -2222,8 +2222,8 @@ "id": "keyboard_shortcuts.federated" }, { - "defaultMessage": "to open direct messages column", - "id": "keyboard_shortcuts.direct" + "defaultMessage": "to open conversations column", + "id": "keyboard_shortcuts.conversations" }, { "defaultMessage": "to open \"get started\" column", @@ -2234,7 +2234,7 @@ "id": "keyboard_shortcuts.favourites" }, { - "defaultMessage": "to open pinned toots list", + "defaultMessage": "to open pinned posts list", "id": "keyboard_shortcuts.pinned" }, { @@ -2468,7 +2468,7 @@ "id": "notifications.column_settings.poll" }, { - "defaultMessage": "New toots:", + "defaultMessage": "New posts:", "id": "notifications.column_settings.status" }, { @@ -2690,7 +2690,7 @@ { "descriptors": [ { - "defaultMessage": "Pinned toot", + "defaultMessage": "Pinned post", "id": "column.pins" } ], @@ -2729,7 +2729,7 @@ "id": "refresh" }, { - "defaultMessage": "No one has boosted this toot yet. When someone does, they will show up here.", + "defaultMessage": "No one has boosted this post yet. When someone does, they will show up here.", "id": "status.reblogs.empty" } ], @@ -3513,8 +3513,8 @@ "id": "tabs_bar.federated_timeline" }, { - "defaultMessage": "Direct messages", - "id": "navigation_bar.direct" + "defaultMessage": "Conversations", + "id": "column.conversations" }, { "defaultMessage": "Favourites", @@ -3657,4 +3657,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 87c651a95..e20c5e497 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -70,7 +70,7 @@ "column.blocks": "Blocked users", "column.bookmarks": "Bookmarks", "column.community": "Local timeline", - "column.direct": "Direct messages", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "Blocked domains", "column.favourites": "Favourites", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "Media Only", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "This post will only be sent to the mentioned users.", "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.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", @@ -166,7 +166,7 @@ "empty_column.blocks": "You haven't blocked any users yet.", "empty_column.bookmarked_statuses": "You don't have any bookmarked posts yet. When you bookmark one, it will show up here.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no blocked domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite posts yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Boost post", "keyboard_shortcuts.column": "Focus column", "keyboard_shortcuts.compose": "Focus compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "Open direct messages column", "keyboard_shortcuts.down": "Move down in the list", "keyboard_shortcuts.enter": "Open post", "keyboard_shortcuts.favourite": "Favourite post", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "Local timeline", "navigation_bar.compose": "Compose new post", - "navigation_bar.direct": "Direct messages", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Blocked domains", "navigation_bar.edit_profile": "Edit profile", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Remove poll", "privacy.change": "Change post privacy", "privacy.direct.long": "Visible for mentioned users only", - "privacy.direct.short": "Direct", + "privacy.direct.short": "Only people I mention", "privacy.private.long": "Visible for followers only", - "privacy.private.short": "Followers-only", - "privacy.public.long": "Visible for all, shown in public timelines", + "privacy.private.short": "Followers only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Public", - "privacy.unlisted.long": "Visible for all, but not in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Unlisted", "refresh": "Refresh", "regeneration_indicator.label": "Loading…", From e7f0c9f7dad3ae7deceaf289d3cefd41b768efc8 Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 29 Apr 2022 00:24:44 +0200 Subject: [PATCH 263/276] Pre-fill domain block/allow domain from search filter (#18172) --- app/javascript/packs/admin.js | 10 ++++++++++ app/views/admin/instances/index.html.haml | 7 +++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/javascript/packs/admin.js b/app/javascript/packs/admin.js index f32679619..a3ed1ffed 100644 --- a/app/javascript/packs/admin.js +++ b/app/javascript/packs/admin.js @@ -100,6 +100,16 @@ ready(() => { const registrationMode = document.getElementById('form_admin_settings_registrations_mode'); if (registrationMode) onChangeRegistrationMode(registrationMode); + document.querySelector('a#add-instance-button')?.addEventListener('click', (e) => { + const domain = document.getElementById('by_domain')?.value; + + if (domain) { + const url = new URL(event.target.href); + url.searchParams.set('_domain', domain); + e.target.href = url; + } + }); + const React = require('react'); const ReactDOM = require('react-dom'); diff --git a/app/views/admin/instances/index.html.haml b/app/views/admin/instances/index.html.haml index f8273718d..cc5020398 100644 --- a/app/views/admin/instances/index.html.haml +++ b/app/views/admin/instances/index.html.haml @@ -1,11 +1,14 @@ - content_for :page_title do = t('admin.instances.title') +- content_for :header_tags do + = javascript_pack_tag 'admin', async: true, crossorigin: 'anonymous' + - content_for :heading_actions do - if whitelist_mode? - = link_to t('admin.domain_allows.add_new'), new_admin_domain_allow_path, class: 'button' + = link_to t('admin.domain_allows.add_new'), new_admin_domain_allow_path, class: 'button', id: 'add-instance-button' - else - = link_to t('admin.domain_blocks.add_new'), new_admin_domain_block_path, class: 'button' + = link_to t('admin.domain_blocks.add_new'), new_admin_domain_block_path, class: 'button', id: 'add-instance-button' .filters .filter-subset From 6726d2933a25137f8dce639c53da8aa1752be47e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 29 Apr 2022 11:46:59 +0200 Subject: [PATCH 264/276] Change half-life of trending status scores from 6 hours to 2 hours (#18182) --- app/models/trends/statuses.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/trends/statuses.rb b/app/models/trends/statuses.rb index d9b07446e..3013bc1d1 100644 --- a/app/models/trends/statuses.rb +++ b/app/models/trends/statuses.rb @@ -6,7 +6,7 @@ class Trends::Statuses < Trends::Base self.default_options = { threshold: 5, review_threshold: 3, - score_halflife: 6.hours.freeze, + score_halflife: 2.hours.freeze, } class Query < Trends::Query From 74e20f22cd93ec1fd5e325bd333d417f4d88f7f4 Mon Sep 17 00:00:00 2001 From: Gaelan Steele Date: Fri, 29 Apr 2022 18:23:03 +0100 Subject: [PATCH 265/276] Fix light-mode emoji borders. (#18131) --- lib/tasks/emojis.rake | 14 +++++++++----- public/emoji/1f327_border.svg | 4 ++-- public/emoji/1f328_border.svg | 4 ++-- public/emoji/1f329_border.svg | 4 ++-- public/emoji/1f359_border.svg | 6 +++--- public/emoji/1f35a_border.svg | 8 ++++---- public/emoji/1f365_border.svg | 4 ++-- public/emoji/1f3d0_border.svg | 4 ++-- public/emoji/1f3f3_border.svg | 10 +++++----- public/emoji/1f40f_border.svg | 18 +++++++++--------- public/emoji/1f410_border.svg | 10 +++++----- public/emoji/1f411_border.svg | 8 ++++---- public/emoji/1f413_border.svg | 8 ++++---- public/emoji/1f414_border.svg | 14 +++++++------- public/emoji/1f440_border.svg | 20 ++++++++++---------- public/emoji/1f47b_border.svg | 10 +++++----- public/emoji/1f47d_border.svg | 4 ++-- public/emoji/1f480_border.svg | 8 ++++---- public/emoji/1f4a8_border.svg | 2 +- public/emoji/1f4ac_border.svg | 8 ++++---- public/emoji/1f4ad_border.svg | 4 ++-- public/emoji/1f4c3_border.svg | 6 +++--- public/emoji/1f507_border.svg | 6 +++--- public/emoji/1f508_border.svg | 4 ++-- public/emoji/1f509_border.svg | 6 +++--- public/emoji/1f50a_border.svg | 10 +++++----- public/emoji/1f54a_border.svg | 10 +++++----- public/emoji/25ab_border.svg | 2 +- public/emoji/25fb_border.svg | 2 +- public/emoji/25fd_border.svg | 2 +- public/emoji/2601_border.svg | 4 ++-- public/emoji/2620_border.svg | 8 ++++---- public/emoji/26aa_border.svg | 2 +- public/emoji/26be_border.svg | 6 +++--- public/emoji/26f8_border.svg | 10 +++++----- public/emoji/2754_border.svg | 4 ++-- public/emoji/2755_border.svg | 4 ++-- public/emoji/2b1c_border.svg | 2 +- 38 files changed, 132 insertions(+), 128 deletions(-) diff --git a/lib/tasks/emojis.rake b/lib/tasks/emojis.rake index 8faa48a95..d9db79940 100644 --- a/lib/tasks/emojis.rake +++ b/lib/tasks/emojis.rake @@ -1,6 +1,6 @@ # frozen_string_literal: true -def gen_border(codepoint) +def gen_border(codepoint, color) input = Rails.root.join('public', 'emoji', "#{codepoint}.svg") dest = Rails.root.join('public', 'emoji', "#{codepoint}_border.svg") doc = File.open(input) { |f| Nokogiri::XML(f) } @@ -19,7 +19,7 @@ def gen_border(codepoint) border_elem.delete('fill') - border_elem['stroke'] = 'white' + border_elem['stroke'] = color border_elem['stroke-linejoin'] = 'round' border_elem['stroke-width'] = '4px' @@ -91,12 +91,16 @@ namespace :emojis do desc 'Generate emoji variants with white borders' task :generate_borders do src = Rails.root.join('app', 'javascript', 'mastodon', 'features', 'emoji', 'emoji_map.json') - emojis = '🎱🐜⚫🖤⬛◼️◾◼️✒️▪️💣🎳📷📸♣️🕶️✴️🔌💂‍♀️📽️🍳🦍💂🔪🕳️🕹️🕋🖊️🖋️💂‍♂️🎤🎓🎥🎼♠️🎩🦃📼📹🎮🐃🏴🐞🕺📱📲🚲👽⚾🐔☁️💨🕊️👀🍥👻🐐❕❔⛸️🌩️🔊🔇📃🌧️🐏🍚🍙🐓🐑💀☠️🌨️🔉🔈💬💭🏐🏳️⚪⬜◽◻️▫️' + emojis_light = '👽⚾🐔☁️💨🕊️👀🍥👻🐐❕❔⛸️🌩️🔊🔇📃🌧️🐏🍚🍙🐓🐑💀☠️🌨️🔉🔈💬💭🏐🏳️⚪⬜◽◻️▫️' + emojis_dark = '🎱🐜⚫🖤⬛◼️◾◼️✒️▪️💣🎳📷📸♣️🕶️✴️🔌💂‍♀️📽️🍳🦍💂🔪🕳️🕹️🕋🖊️🖋️💂‍♂️🎤🎓🎥🎼♠️🎩🦃📼📹🎮🐃🏴🐞🕺📱📲🚲' map = Oj.load(File.read(src)) - emojis.each_grapheme_cluster do |emoji| - gen_border map[emoji] + emojis_light.each_grapheme_cluster do |emoji| + gen_border map[emoji], 'black' + end + emojis_dark.each_grapheme_cluster do |emoji| + gen_border map[emoji], 'white' end end end diff --git a/public/emoji/1f327_border.svg b/public/emoji/1f327_border.svg index 3298c8f87..76776b04a 100644 --- a/public/emoji/1f327_border.svg +++ b/public/emoji/1f327_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/1f328_border.svg b/public/emoji/1f328_border.svg index 254dc90de..1ec2748de 100644 --- a/public/emoji/1f328_border.svg +++ b/public/emoji/1f328_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/1f329_border.svg b/public/emoji/1f329_border.svg index 05c662ac4..ad0cef998 100644 --- a/public/emoji/1f329_border.svg +++ b/public/emoji/1f329_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/1f359_border.svg b/public/emoji/1f359_border.svg index 6541681d8..d915010a6 100644 --- a/public/emoji/1f359_border.svg +++ b/public/emoji/1f359_border.svg @@ -1,9 +1,9 @@ - - - + + + diff --git a/public/emoji/1f35a_border.svg b/public/emoji/1f35a_border.svg index d6621c590..90e4e652f 100644 --- a/public/emoji/1f35a_border.svg +++ b/public/emoji/1f35a_border.svg @@ -1,10 +1,10 @@ - - - - + + + + diff --git a/public/emoji/1f365_border.svg b/public/emoji/1f365_border.svg index 278cebd43..5e25f2ff9 100644 --- a/public/emoji/1f365_border.svg +++ b/public/emoji/1f365_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/1f3d0_border.svg b/public/emoji/1f3d0_border.svg index c1804f2cb..f0127342a 100644 --- a/public/emoji/1f3d0_border.svg +++ b/public/emoji/1f3d0_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/1f3f3_border.svg b/public/emoji/1f3f3_border.svg index e7d03583b..e059cd378 100644 --- a/public/emoji/1f3f3_border.svg +++ b/public/emoji/1f3f3_border.svg @@ -1,11 +1,11 @@ - - - - - + + + + + diff --git a/public/emoji/1f40f_border.svg b/public/emoji/1f40f_border.svg index fb4bbcfb3..72526503f 100644 --- a/public/emoji/1f40f_border.svg +++ b/public/emoji/1f40f_border.svg @@ -1,15 +1,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/public/emoji/1f410_border.svg b/public/emoji/1f410_border.svg index 7a36382b5..d1463386c 100644 --- a/public/emoji/1f410_border.svg +++ b/public/emoji/1f410_border.svg @@ -1,11 +1,11 @@ - - - - - + + + + + diff --git a/public/emoji/1f411_border.svg b/public/emoji/1f411_border.svg index dc4ddeb08..8455c601e 100644 --- a/public/emoji/1f411_border.svg +++ b/public/emoji/1f411_border.svg @@ -1,10 +1,10 @@ - - - - + + + + diff --git a/public/emoji/1f413_border.svg b/public/emoji/1f413_border.svg index 3391490df..bc9c69bba 100644 --- a/public/emoji/1f413_border.svg +++ b/public/emoji/1f413_border.svg @@ -1,10 +1,10 @@ - - - - + + + + diff --git a/public/emoji/1f414_border.svg b/public/emoji/1f414_border.svg index ad54bd1b8..92d271691 100644 --- a/public/emoji/1f414_border.svg +++ b/public/emoji/1f414_border.svg @@ -1,13 +1,13 @@ - - - - - - - + + + + + + + diff --git a/public/emoji/1f440_border.svg b/public/emoji/1f440_border.svg index f25c3ca40..2166dce75 100644 --- a/public/emoji/1f440_border.svg +++ b/public/emoji/1f440_border.svg @@ -1,16 +1,16 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/public/emoji/1f47b_border.svg b/public/emoji/1f47b_border.svg index 80ac01215..e317fd9f6 100644 --- a/public/emoji/1f47b_border.svg +++ b/public/emoji/1f47b_border.svg @@ -1,11 +1,11 @@ - - - - - + + + + + diff --git a/public/emoji/1f47d_border.svg b/public/emoji/1f47d_border.svg index e1d4a54d7..4f346ea69 100644 --- a/public/emoji/1f47d_border.svg +++ b/public/emoji/1f47d_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/1f480_border.svg b/public/emoji/1f480_border.svg index 8546f7b00..6fa209458 100644 --- a/public/emoji/1f480_border.svg +++ b/public/emoji/1f480_border.svg @@ -1,10 +1,10 @@ - - - - + + + + diff --git a/public/emoji/1f4a8_border.svg b/public/emoji/1f4a8_border.svg index c20a5cb3b..412c2f8a7 100644 --- a/public/emoji/1f4a8_border.svg +++ b/public/emoji/1f4a8_border.svg @@ -1,7 +1,7 @@ - + diff --git a/public/emoji/1f4ac_border.svg b/public/emoji/1f4ac_border.svg index 3d71232f9..76f6c0b26 100644 --- a/public/emoji/1f4ac_border.svg +++ b/public/emoji/1f4ac_border.svg @@ -1,10 +1,10 @@ - - - - + + + + diff --git a/public/emoji/1f4ad_border.svg b/public/emoji/1f4ad_border.svg index c887a7126..6ef337056 100644 --- a/public/emoji/1f4ad_border.svg +++ b/public/emoji/1f4ad_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/1f4c3_border.svg b/public/emoji/1f4c3_border.svg index 9e7b56241..07225c89b 100644 --- a/public/emoji/1f4c3_border.svg +++ b/public/emoji/1f4c3_border.svg @@ -1,9 +1,9 @@ - - - + + + diff --git a/public/emoji/1f507_border.svg b/public/emoji/1f507_border.svg index cd02481bd..ba1e4148f 100644 --- a/public/emoji/1f507_border.svg +++ b/public/emoji/1f507_border.svg @@ -1,9 +1,9 @@ - - - + + + diff --git a/public/emoji/1f508_border.svg b/public/emoji/1f508_border.svg index c920d89dc..38ebc8785 100644 --- a/public/emoji/1f508_border.svg +++ b/public/emoji/1f508_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/1f509_border.svg b/public/emoji/1f509_border.svg index 6881edb30..7fc2e9a8c 100644 --- a/public/emoji/1f509_border.svg +++ b/public/emoji/1f509_border.svg @@ -1,9 +1,9 @@ - - - + + + diff --git a/public/emoji/1f50a_border.svg b/public/emoji/1f50a_border.svg index 549811b69..0605c4b2f 100644 --- a/public/emoji/1f50a_border.svg +++ b/public/emoji/1f50a_border.svg @@ -1,11 +1,11 @@ - - - - - + + + + + diff --git a/public/emoji/1f54a_border.svg b/public/emoji/1f54a_border.svg index 895872f3e..ac27cedbd 100644 --- a/public/emoji/1f54a_border.svg +++ b/public/emoji/1f54a_border.svg @@ -1,11 +1,11 @@ - - - - - + + + + + diff --git a/public/emoji/25ab_border.svg b/public/emoji/25ab_border.svg index b51e1a9cc..5ca5b6b60 100644 --- a/public/emoji/25ab_border.svg +++ b/public/emoji/25ab_border.svg @@ -1,7 +1,7 @@ - + diff --git a/public/emoji/25fb_border.svg b/public/emoji/25fb_border.svg index 24c48e17a..f9210fea8 100644 --- a/public/emoji/25fb_border.svg +++ b/public/emoji/25fb_border.svg @@ -1,7 +1,7 @@ - + diff --git a/public/emoji/25fd_border.svg b/public/emoji/25fd_border.svg index ec7278674..419076b94 100644 --- a/public/emoji/25fd_border.svg +++ b/public/emoji/25fd_border.svg @@ -1,7 +1,7 @@ - + diff --git a/public/emoji/2601_border.svg b/public/emoji/2601_border.svg index 6ab20d737..2c4857a0e 100644 --- a/public/emoji/2601_border.svg +++ b/public/emoji/2601_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/2620_border.svg b/public/emoji/2620_border.svg index 8878828be..d2b94874e 100644 --- a/public/emoji/2620_border.svg +++ b/public/emoji/2620_border.svg @@ -1,10 +1,10 @@ - - - - + + + + diff --git a/public/emoji/26aa_border.svg b/public/emoji/26aa_border.svg index d2cac5cad..38126cc6a 100644 --- a/public/emoji/26aa_border.svg +++ b/public/emoji/26aa_border.svg @@ -1,7 +1,7 @@ - + diff --git a/public/emoji/26be_border.svg b/public/emoji/26be_border.svg index 25954deac..96894b081 100644 --- a/public/emoji/26be_border.svg +++ b/public/emoji/26be_border.svg @@ -1,9 +1,9 @@ - - - + + + diff --git a/public/emoji/26f8_border.svg b/public/emoji/26f8_border.svg index 0df7ff2ff..3579451ce 100644 --- a/public/emoji/26f8_border.svg +++ b/public/emoji/26f8_border.svg @@ -1,11 +1,11 @@ - - - - - + + + + + diff --git a/public/emoji/2754_border.svg b/public/emoji/2754_border.svg index 1d6c4ecda..c86ae128a 100644 --- a/public/emoji/2754_border.svg +++ b/public/emoji/2754_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/2755_border.svg b/public/emoji/2755_border.svg index 65ec57082..139c459ae 100644 --- a/public/emoji/2755_border.svg +++ b/public/emoji/2755_border.svg @@ -1,8 +1,8 @@ - - + + diff --git a/public/emoji/2b1c_border.svg b/public/emoji/2b1c_border.svg index c633cc3de..a8ad76188 100644 --- a/public/emoji/2b1c_border.svg +++ b/public/emoji/2b1c_border.svg @@ -1,7 +1,7 @@ - + From 5c691430e5f05524523bf32a3fce10633ec37092 Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 29 Apr 2022 20:25:31 +0200 Subject: [PATCH 266/276] Fix error on attempting to delete an account moderation note (#18196) Fixes #18193 --- app/views/admin/report_notes/_report_note.html.haml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/views/admin/report_notes/_report_note.html.haml b/app/views/admin/report_notes/_report_note.html.haml index f9d57c2ae..3bccd3b4b 100644 --- a/app/views/admin/report_notes/_report_note.html.haml +++ b/app/views/admin/report_notes/_report_note.html.haml @@ -15,4 +15,7 @@ - if can?(:destroy, report_note) .report-notes__item__actions - = table_link_to 'trash', t('admin.reports.notes.delete'), admin_report_note_path(report_note), method: :delete + - if report_note.is_a?(AccountModerationNote) + = table_link_to 'trash', t('admin.reports.notes.delete'), admin_account_moderation_note_path(report_note), method: :delete + - else + = table_link_to 'trash', t('admin.reports.notes.delete'), admin_report_note_path(report_note), method: :delete From 6476f7e4da4da7c353d497aae5a86fc3909ce532 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 29 Apr 2022 22:42:42 +0200 Subject: [PATCH 267/276] Change trending statuses to only show one status from each account (#18181) Calculate trends in temporary sets to avoid having to manage items that go below the decay threshold while not having any moments where a half-processed set is accessible to end-users --- app/models/trends/base.rb | 37 +++++++++++-------- app/models/trends/links.rb | 42 +++++++++------------ app/models/trends/statuses.rb | 69 ++++++++++++++++------------------- app/models/trends/tags.rb | 17 ++++++--- 4 files changed, 82 insertions(+), 83 deletions(-) diff --git a/app/models/trends/base.rb b/app/models/trends/base.rb index 200f8d635..047111248 100644 --- a/app/models/trends/base.rb +++ b/app/models/trends/base.rb @@ -64,33 +64,38 @@ class Trends::Base redis.expire(used_key(at_time), 1.day.seconds) end - def trim_older_items - redis.zremrangebyscore("#{key_prefix}:all", '-inf', '(0.3') - redis.zremrangebyscore("#{key_prefix}:allowed", '-inf', '(0.3') - end - def score_at_rank(rank) redis.zrevrange("#{key_prefix}:allowed", 0, rank, with_scores: true).last&.last || 0 end - # @param [Integer] id - # @param [Float] score - # @param [Hash] subsets - def add_to_and_remove_from_subsets(id, score, subsets = {}) - subsets.each_key do |subset| - key = [key_prefix, subset].compact.join(':') + def replace_items(suffix, items) + tmp_prefix = "#{key_prefix}:tmp:#{SecureRandom.alphanumeric(6)}#{suffix}" + allowed_items = filter_for_allowed_items(items) - if score.positive? && subsets[subset] - redis.zadd(key, score, id) - else - redis.zrem(key, id) - end + redis.pipelined do |pipeline| + items.each { |item| pipeline.zadd("#{tmp_prefix}:all", item[:score], item[:item].id) } + allowed_items.each { |item| pipeline.zadd("#{tmp_prefix}:allowed", item[:score], item[:item].id) } + + rename_set(pipeline, "#{tmp_prefix}:all", "#{key_prefix}:all#{suffix}", items) + rename_set(pipeline, "#{tmp_prefix}:allowed", "#{key_prefix}:allowed#{suffix}", allowed_items) end end + def filter_for_allowed_items(items) + raise NotImplementedError + end + private def used_key(at_time) "#{key_prefix}:used:#{at_time.beginning_of_day.to_i}" end + + def rename_set(pipeline, from_key, to_key, set_items) + if set_items.empty? + pipeline.del(to_key) + else + pipeline.rename(from_key, to_key) + end + end end diff --git a/app/models/trends/links.rb b/app/models/trends/links.rb index 5f046643a..604894cd6 100644 --- a/app/models/trends/links.rb +++ b/app/models/trends/links.rb @@ -8,14 +8,15 @@ class Trends::Links < Trends::Base review_threshold: 3, max_score_cooldown: 2.days.freeze, max_score_halflife: 8.hours.freeze, + decay_threshold: 1, } def register(status, at_time = Time.now.utc) - original_status = status.reblog? ? status.reblog : status + original_status = status.proper - return unless original_status.public_visibility? && status.public_visibility? && - !original_status.account.silenced? && !status.account.silenced? && - !original_status.spoiler_text? + return unless (original_status.public_visibility? && status.public_visibility?) && + !(original_status.account.silenced? || status.account.silenced?) && + !(original_status.spoiler_text? || original_status.sensitive?) original_status.preview_cards.each do |preview_card| add(preview_card, status.account_id, at_time) if preview_card.appropriate_for_trends? @@ -61,6 +62,9 @@ class Trends::Links < Trends::Base private def calculate_scores(preview_cards, at_time) + global_items = [] + locale_items = Hash.new { |h, key| h[key] = [] } + preview_cards.each do |preview_card| expected = preview_card.history.get(at_time - 1.day).accounts.to_f expected = 1.0 if expected.zero? @@ -87,33 +91,23 @@ class Trends::Links < Trends::Base decaying_score = max_score * (0.5**((at_time.to_f - max_time.to_f) / options[:max_score_halflife].to_f)) - add_to_and_remove_from_subsets(preview_card.id, decaying_score, { - all: true, - allowed: preview_card.trendable?, - }) + next unless decaying_score >= options[:decay_threshold] - next unless valid_locale?(preview_card.language) - - add_to_and_remove_from_subsets(preview_card.id, decaying_score, { - "all:#{preview_card.language}" => true, - "allowed:#{preview_card.language}" => preview_card.trendable?, - }) + global_items << { score: decaying_score, item: preview_card } + locale_items[preview_card.language] << { score: decaying_score, item: preview_card } if valid_locale?(preview_card.language) end - trim_older_items + replace_items('', global_items) - # Clean up localized sets by calculating the intersection with the main - # set. We do this instead of just deleting the localized sets to avoid - # having moments where the API returns empty results - - redis.pipelined do - Trends.available_locales.each do |locale| - redis.zinterstore("#{key_prefix}:all:#{locale}", ["#{key_prefix}:all:#{locale}", "#{key_prefix}:all"], aggregate: 'max') - redis.zinterstore("#{key_prefix}:allowed:#{locale}", ["#{key_prefix}:allowed:#{locale}", "#{key_prefix}:allowed"], aggregate: 'max') - end + Trends.available_locales.each do |locale| + replace_items(":#{locale}", locale_items[locale]) end end + def filter_for_allowed_items(items) + items.select { |item| item[:item].trendable? } + end + def would_be_trending?(id) score(id) > score_at_rank(options[:review_threshold] - 1) end diff --git a/app/models/trends/statuses.rb b/app/models/trends/statuses.rb index 3013bc1d1..777065d3e 100644 --- a/app/models/trends/statuses.rb +++ b/app/models/trends/statuses.rb @@ -7,6 +7,7 @@ class Trends::Statuses < Trends::Base threshold: 5, review_threshold: 3, score_halflife: 2.hours.freeze, + decay_threshold: 0.3, } class Query < Trends::Query @@ -31,7 +32,7 @@ class Trends::Statuses < Trends::Base end def register(status, at_time = Time.now.utc) - add(status.proper, status.account_id, at_time) if eligible?(status) + add(status.proper, status.account_id, at_time) if eligible?(status.proper) end def add(status, _account_id, at_time = Time.now.utc) @@ -74,53 +75,45 @@ class Trends::Statuses < Trends::Base private def eligible?(status) - original_status = status.proper - - original_status.public_visibility? && - original_status.account.discoverable? && !original_status.account.silenced? && - original_status.spoiler_text.blank? && !original_status.sensitive? && !original_status.reply? + status.public_visibility? && status.account.discoverable? && !status.account.silenced? && status.spoiler_text.blank? && !status.sensitive? && !status.reply? end def calculate_scores(statuses, at_time) - redis.pipelined do - statuses.each do |status| - expected = 1.0 - observed = (status.reblogs_count + status.favourites_count).to_f + global_items = [] + locale_items = Hash.new { |h, key| h[key] = [] } - score = begin - if expected > observed || observed < options[:threshold] - 0 - else - ((observed - expected)**2) / expected - end + statuses.each do |status| + expected = 1.0 + observed = (status.reblogs_count + status.favourites_count).to_f + + score = begin + if expected > observed || observed < options[:threshold] + 0 + else + ((observed - expected)**2) / expected end - - decaying_score = score * (0.5**((at_time.to_f - status.created_at.to_f) / options[:score_halflife].to_f)) - - add_to_and_remove_from_subsets(status.id, decaying_score, { - all: true, - allowed: status.trendable? && status.account.discoverable?, - }) - - next unless valid_locale?(status.language) - - add_to_and_remove_from_subsets(status.id, decaying_score, { - "all:#{status.language}" => true, - "allowed:#{status.language}" => status.trendable? && status.account.discoverable?, - }) end - trim_older_items + decaying_score = score * (0.5**((at_time.to_f - status.created_at.to_f) / options[:score_halflife].to_f)) - # Clean up localized sets by calculating the intersection with the main - # set. We do this instead of just deleting the localized sets to avoid - # having moments where the API returns empty results + next unless decaying_score >= options[:decay_threshold] - Trends.available_locales.each do |locale| - redis.zinterstore("#{key_prefix}:all:#{locale}", ["#{key_prefix}:all:#{locale}", "#{key_prefix}:all"], aggregate: 'max') - redis.zinterstore("#{key_prefix}:allowed:#{locale}", ["#{key_prefix}:allowed:#{locale}", "#{key_prefix}:allowed"], aggregate: 'max') - end + global_items << { score: decaying_score, item: status } + locale_items[status.language] << { account_id: status.account_id, score: decaying_score, item: status } if valid_locale?(status.language) end + + replace_items('', global_items) + + Trends.available_locales.each do |locale| + replace_items(":#{locale}", locale_items[locale]) + end + end + + def filter_for_allowed_items(items) + # Show only one status per account, pick the one with the highest score + # that's also eligible to trend + + items.group_by { |item| item[:account_id] }.values.filter_map { |account_items| account_items.select { |item| item[:item].trendable? && item[:item].account.discoverable? }.max_by { |item| item[:score] } } end def would_be_trending?(id) diff --git a/app/models/trends/tags.rb b/app/models/trends/tags.rb index 3caa58815..19ade52ba 100644 --- a/app/models/trends/tags.rb +++ b/app/models/trends/tags.rb @@ -8,6 +8,7 @@ class Trends::Tags < Trends::Base review_threshold: 3, max_score_cooldown: 2.days.freeze, max_score_halflife: 4.hours.freeze, + decay_threshold: 1, } def register(status, at_time = Time.now.utc) @@ -26,7 +27,6 @@ class Trends::Tags < Trends::Base def refresh(at_time = Time.now.utc) tags = Tag.where(id: (recently_used_ids(at_time) + currently_trending_ids(false, -1)).uniq) calculate_scores(tags, at_time) - trim_older_items end def request_review @@ -53,6 +53,8 @@ class Trends::Tags < Trends::Base private def calculate_scores(tags, at_time) + items = [] + tags.each do |tag| expected = tag.history.get(at_time - 1.day).accounts.to_f expected = 1.0 if expected.zero? @@ -79,11 +81,16 @@ class Trends::Tags < Trends::Base decaying_score = max_score * (0.5**((at_time.to_f - max_time.to_f) / options[:max_score_halflife].to_f)) - add_to_and_remove_from_subsets(tag.id, decaying_score, { - all: true, - allowed: tag.trendable?, - }) + next unless decaying_score >= options[:decay_threshold] + + items << { score: decaying_score, item: tag } end + + replace_items('', items) + end + + def filter_for_allowed_items(items) + items.select { |item| item[:item].trendable? } end def would_be_trending?(id) From 7b0fe4aef97c6a5f73a03146b669a415f396799c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 29 Apr 2022 22:43:07 +0200 Subject: [PATCH 268/276] Fix opening and closing Redis connections instead of using a pool (#18171) * Fix opening and closing Redis connections instead of using a pool * Fix Redis connections not being returned to the pool in CLI commands --- app/lib/redis_configuration.rb | 7 ++++++- app/models/concerns/redisable.rb | 2 +- config/initializers/stoplight.rb | 6 ++++-- lib/mastodon/cli_helper.rb | 12 +++++++++--- lib/mastodon/rack_middleware.rb | 2 +- lib/mastodon/search_cli.rb | 7 ++++--- lib/mastodon/sidekiq_middleware.rb | 2 +- spec/services/resolve_account_service_spec.rb | 2 ++ 8 files changed, 28 insertions(+), 12 deletions(-) diff --git a/app/lib/redis_configuration.rb b/app/lib/redis_configuration.rb index fc8cf2f80..e14d6c8b6 100644 --- a/app/lib/redis_configuration.rb +++ b/app/lib/redis_configuration.rb @@ -2,12 +2,17 @@ class RedisConfiguration class << self + def establish_pool(new_pool_size) + @pool&.shutdown(&:close) + @pool = ConnectionPool.new(size: new_pool_size) { new.connection } + end + def with pool.with { |redis| yield redis } end def pool - @pool ||= ConnectionPool.new(size: pool_size) { new.connection } + @pool ||= establish_pool(pool_size) end def pool_size diff --git a/app/models/concerns/redisable.rb b/app/models/concerns/redisable.rb index cce8efb86..8d76b6b82 100644 --- a/app/models/concerns/redisable.rb +++ b/app/models/concerns/redisable.rb @@ -6,6 +6,6 @@ module Redisable private def redis - Thread.current[:redis] ||= RedisConfiguration.new.connection + Thread.current[:redis] ||= RedisConfiguration.pool.checkout end end diff --git a/config/initializers/stoplight.rb b/config/initializers/stoplight.rb index d9ebca76c..8c3c5755a 100644 --- a/config/initializers/stoplight.rb +++ b/config/initializers/stoplight.rb @@ -1,4 +1,6 @@ require 'stoplight' -Stoplight::Light.default_data_store = Stoplight::DataStore::Redis.new(RedisConfiguration.new.connection) -Stoplight::Light.default_notifiers = [Stoplight::Notifier::Logger.new(Rails.logger)] +Rails.application.reloader.to_prepare do + Stoplight::Light.default_data_store = Stoplight::DataStore::Redis.new(RedisConfiguration.new.connection) + Stoplight::Light.default_notifiers = [Stoplight::Notifier::Logger.new(Rails.logger)] +end diff --git a/lib/mastodon/cli_helper.rb b/lib/mastodon/cli_helper.rb index aaee1fa91..a78a28e27 100644 --- a/lib/mastodon/cli_helper.rb +++ b/lib/mastodon/cli_helper.rb @@ -19,15 +19,18 @@ module Mastodon ProgressBar.create(total: total, format: '%c/%u |%b%i| %e') end + def reset_connection_pools! + ActiveRecord::Base.establish_connection(ActiveRecord::Base.configurations[Rails.env].dup.tap { |config| config['pool'] = options[:concurrency] + 1 }) + RedisConfiguration.establish_pool(options[:concurrency]) + end + def parallelize_with_progress(scope) if options[:concurrency] < 1 say('Cannot run with this concurrency setting, must be at least 1', :red) exit(1) end - db_config = ActiveRecord::Base.configurations[Rails.env].dup - db_config['pool'] = options[:concurrency] + 1 - ActiveRecord::Base.establish_connection(db_config) + reset_connection_pools! progress = create_progress_bar(scope.count) pool = Concurrent::FixedThreadPool.new(options[:concurrency]) @@ -52,6 +55,9 @@ module Mastodon result = ActiveRecord::Base.connection_pool.with_connection do yield(item) + ensure + RedisConfiguration.pool.checkin if Thread.current[:redis] + Thread.current[:redis] = nil end aggregate.increment(result) if result.is_a?(Integer) diff --git a/lib/mastodon/rack_middleware.rb b/lib/mastodon/rack_middleware.rb index 619a2c36d..8aa7911fe 100644 --- a/lib/mastodon/rack_middleware.rb +++ b/lib/mastodon/rack_middleware.rb @@ -19,7 +19,7 @@ class Mastodon::RackMiddleware end def clean_up_redis_socket! - Thread.current[:redis]&.close + RedisConfiguration.pool.checkin if Thread.current[:redis] Thread.current[:redis] = nil end diff --git a/lib/mastodon/search_cli.rb b/lib/mastodon/search_cli.rb index 6ad9d7b6a..74f980ba1 100644 --- a/lib/mastodon/search_cli.rb +++ b/lib/mastodon/search_cli.rb @@ -59,9 +59,7 @@ module Mastodon index.specification.lock! end - db_config = ActiveRecord::Base.configurations[Rails.env].dup - db_config['pool'] = options[:concurrency] + 1 - ActiveRecord::Base.establish_connection(db_config) + reset_connection_pools! pool = Concurrent::FixedThreadPool.new(options[:concurrency]) added = Concurrent::AtomicFixnum.new(0) @@ -139,6 +137,9 @@ module Mastodon sleep 1 rescue => e progress.log pastel.red("Error importing #{index}: #{e}") + ensure + RedisConfiguration.pool.checkin if Thread.current[:redis] + Thread.current[:redis] = nil end end end diff --git a/lib/mastodon/sidekiq_middleware.rb b/lib/mastodon/sidekiq_middleware.rb index 7ec4097df..c75e8401f 100644 --- a/lib/mastodon/sidekiq_middleware.rb +++ b/lib/mastodon/sidekiq_middleware.rb @@ -26,7 +26,7 @@ class Mastodon::SidekiqMiddleware end def clean_up_redis_socket! - Thread.current[:redis]&.close + RedisConfiguration.pool.checkin if Thread.current[:redis] Thread.current[:redis] = nil end diff --git a/spec/services/resolve_account_service_spec.rb b/spec/services/resolve_account_service_spec.rb index 7b1e8885c..8c302e1d8 100644 --- a/spec/services/resolve_account_service_spec.rb +++ b/spec/services/resolve_account_service_spec.rb @@ -220,6 +220,8 @@ RSpec.describe ResolveAccountService, type: :service do return_values << described_class.new.call('foo@ap.example.com') rescue ActiveRecord::RecordNotUnique fail_occurred = true + ensure + RedisConfiguration.pool.checkin if Thread.current[:redis] end end end From f6d35ed57d156f4225338a89372c8e83721e46c9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 29 Apr 2022 23:27:03 +0200 Subject: [PATCH 269/276] Remove IP matching from e-mail domain blocks (#18190) Clear out e-mail domain blocks created from automatically resolved DNS records --- app/models/email_domain_block.rb | 24 ++++---- app/validators/email_mx_validator.rb | 6 +- .../email_domain_block_refresh_scheduler.rb | 31 ---------- config/sidekiq.yml | 4 -- ...0180615122121_add_autofollow_to_invites.rb | 2 +- ...025_remove_ips_from_email_domain_blocks.rb | 12 ++++ ...0220429101850_clear_email_domain_blocks.rb | 14 +++++ db/schema.rb | 4 +- spec/validators/email_mx_validator_spec.rb | 60 ------------------- 9 files changed, 43 insertions(+), 114 deletions(-) delete mode 100644 app/workers/scheduler/email_domain_block_refresh_scheduler.rb create mode 100644 db/post_migrate/20220429101025_remove_ips_from_email_domain_blocks.rb create mode 100644 db/post_migrate/20220429101850_clear_email_domain_blocks.rb diff --git a/app/models/email_domain_block.rb b/app/models/email_domain_block.rb index 36e7e62ab..0e1e663c1 100644 --- a/app/models/email_domain_block.rb +++ b/app/models/email_domain_block.rb @@ -3,16 +3,19 @@ # # Table name: email_domain_blocks # -# id :bigint(8) not null, primary key -# domain :string default(""), not null -# created_at :datetime not null -# updated_at :datetime not null -# parent_id :bigint(8) -# ips :inet is an Array -# last_refresh_at :datetime +# id :bigint(8) not null, primary key +# domain :string default(""), not null +# created_at :datetime not null +# updated_at :datetime not null +# parent_id :bigint(8) # class EmailDomainBlock < ApplicationRecord + self.ignored_columns = %w( + ips + last_refresh_at + ) + include DomainNormalizable belongs_to :parent, class_name: 'EmailDomainBlock', optional: true @@ -27,7 +30,7 @@ class EmailDomainBlock < ApplicationRecord @history ||= Trends::History.new('email_domain_blocks', id) end - def self.block?(domain_or_domains, ips: [], attempt_ip: nil) + def self.block?(domain_or_domains, attempt_ip: nil) domains = Array(domain_or_domains).map do |str| domain = begin if str.include?('@') @@ -48,10 +51,7 @@ class EmailDomainBlock < ApplicationRecord blocked = domains.any?(&:nil?) - scope = where(domain: domains) - scope = scope.or(where('ips && ARRAY[?]::inet[]', ips)) if ips.any? - - scope.find_each do |block| + where(domain: domains).find_each do |block| blocked = true block.history.add(attempt_ip) if attempt_ip.present? end diff --git a/app/validators/email_mx_validator.rb b/app/validators/email_mx_validator.rb index 237ca4c7b..20f2fd37c 100644 --- a/app/validators/email_mx_validator.rb +++ b/app/validators/email_mx_validator.rb @@ -15,7 +15,7 @@ class EmailMxValidator < ActiveModel::Validator if resolved_ips.empty? user.errors.add(:email, :unreachable) - elsif on_blacklist?(resolved_domains, resolved_ips, user.sign_up_ip) + elsif on_blacklist?(resolved_domains, user.sign_up_ip) user.errors.add(:email, :blocked) end end @@ -57,7 +57,7 @@ class EmailMxValidator < ActiveModel::Validator [ips, records] end - def on_blacklist?(domains, resolved_ips, attempt_ip) - EmailDomainBlock.block?(domains, ips: resolved_ips, attempt_ip: attempt_ip) + def on_blacklist?(domains, attempt_ip) + EmailDomainBlock.block?(domains, attempt_ip: attempt_ip) end end diff --git a/app/workers/scheduler/email_domain_block_refresh_scheduler.rb b/app/workers/scheduler/email_domain_block_refresh_scheduler.rb deleted file mode 100644 index e0ad89866..000000000 --- a/app/workers/scheduler/email_domain_block_refresh_scheduler.rb +++ /dev/null @@ -1,31 +0,0 @@ -# frozen_string_literal: true - -class Scheduler::EmailDomainBlockRefreshScheduler - include Sidekiq::Worker - include Redisable - - sidekiq_options retry: 0 - - def perform - Resolv::DNS.open do |dns| - dns.timeouts = 5 - - EmailDomainBlock.find_each do |email_domain_block| - ips = begin - if ip?(email_domain_block.domain) - [email_domain_block.domain] - else - resources = dns.getresources(email_domain_block.domain, Resolv::DNS::Resource::IN::A).to_a + dns.getresources(email_domain_block.domain, Resolv::DNS::Resource::IN::AAAA).to_a - resources.map { |resource| resource.address.to_s } - end - end - - email_domain_block.update(ips: ips, last_refresh_at: Time.now.utc) - end - end - end - - def ip?(str) - str =~ Regexp.union([Resolv::IPv4::Regex, Resolv::IPv6::Regex]) - end -end diff --git a/config/sidekiq.yml b/config/sidekiq.yml index f2ae9279b..26be26326 100644 --- a/config/sidekiq.yml +++ b/config/sidekiq.yml @@ -17,10 +17,6 @@ every: '5m' class: Scheduler::Trends::RefreshScheduler queue: scheduler - email_domain_block_refresh_scheduler: - every: '1h' - class: Scheduler::EmailDomainBlockRefreshScheduler - queue: scheduler trends_review_notifications_scheduler: every: '6h' class: Scheduler::Trends::ReviewNotificationsScheduler diff --git a/db/migrate/20180615122121_add_autofollow_to_invites.rb b/db/migrate/20180615122121_add_autofollow_to_invites.rb index 850b1d693..8c5fb7410 100644 --- a/db/migrate/20180615122121_add_autofollow_to_invites.rb +++ b/db/migrate/20180615122121_add_autofollow_to_invites.rb @@ -5,7 +5,7 @@ class AddAutofollowToInvites < ActiveRecord::Migration[5.2] disable_ddl_transaction! - def change + def up safety_assured do add_column_with_default :invites, :autofollow, :bool, default: false, allow_null: false end diff --git a/db/post_migrate/20220429101025_remove_ips_from_email_domain_blocks.rb b/db/post_migrate/20220429101025_remove_ips_from_email_domain_blocks.rb new file mode 100644 index 000000000..fbb74d99e --- /dev/null +++ b/db/post_migrate/20220429101025_remove_ips_from_email_domain_blocks.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +class RemoveIpsFromEmailDomainBlocks < ActiveRecord::Migration[5.2] + disable_ddl_transaction! + + def change + safety_assured do + remove_column :email_domain_blocks, :ips, :inet, array: true + remove_column :email_domain_blocks, :last_refresh_at, :datetime + end + end +end diff --git a/db/post_migrate/20220429101850_clear_email_domain_blocks.rb b/db/post_migrate/20220429101850_clear_email_domain_blocks.rb new file mode 100644 index 000000000..ff525b650 --- /dev/null +++ b/db/post_migrate/20220429101850_clear_email_domain_blocks.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +class ClearEmailDomainBlocks < ActiveRecord::Migration[5.2] + disable_ddl_transaction! + + class EmailDomainBlock < ApplicationRecord + end + + def up + EmailDomainBlock.where.not(parent_id: nil).in_batches.delete_all + end + + def down; end +end diff --git a/db/schema.rb b/db/schema.rb index a58f42400..726989bef 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2022_04_28_114902) do +ActiveRecord::Schema.define(version: 2022_04_29_101850) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -389,8 +389,6 @@ ActiveRecord::Schema.define(version: 2022_04_28_114902) do t.datetime "created_at", null: false t.datetime "updated_at", null: false t.bigint "parent_id" - t.inet "ips", array: true - t.datetime "last_refresh_at" t.index ["domain"], name: "index_email_domain_blocks_on_domain", unique: true end diff --git a/spec/validators/email_mx_validator_spec.rb b/spec/validators/email_mx_validator_spec.rb index af0eb98f5..4feedd0c7 100644 --- a/spec/validators/email_mx_validator_spec.rb +++ b/spec/validators/email_mx_validator_spec.rb @@ -56,66 +56,6 @@ describe EmailMxValidator do expect(user.errors).to have_received(:add) end - it 'adds an error if the A record is blacklisted' do - EmailDomainBlock.create!(domain: 'alternate-example.com', ips: ['1.2.3.4']) - resolver = double - - allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::MX).and_return([]) - allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::A).and_return([double(address: '1.2.3.4')]) - allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::AAAA).and_return([]) - allow(resolver).to receive(:timeouts=).and_return(nil) - allow(Resolv::DNS).to receive(:open).and_yield(resolver) - - subject.validate(user) - expect(user.errors).to have_received(:add) - end - - it 'adds an error if the AAAA record is blacklisted' do - EmailDomainBlock.create!(domain: 'alternate-example.com', ips: ['fd00::1']) - resolver = double - - allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::MX).and_return([]) - allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::A).and_return([]) - allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::AAAA).and_return([double(address: 'fd00::1')]) - allow(resolver).to receive(:timeouts=).and_return(nil) - allow(Resolv::DNS).to receive(:open).and_yield(resolver) - - subject.validate(user) - expect(user.errors).to have_received(:add) - end - - it 'adds an error if the A record of the MX record is blacklisted' do - EmailDomainBlock.create!(domain: 'mail.other-domain.com', ips: ['2.3.4.5']) - resolver = double - - allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::MX).and_return([double(exchange: 'mail.example.com')]) - allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::A).and_return([]) - allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::AAAA).and_return([]) - allow(resolver).to receive(:getresources).with('mail.example.com', Resolv::DNS::Resource::IN::A).and_return([double(address: '2.3.4.5')]) - allow(resolver).to receive(:getresources).with('mail.example.com', Resolv::DNS::Resource::IN::AAAA).and_return([]) - allow(resolver).to receive(:timeouts=).and_return(nil) - allow(Resolv::DNS).to receive(:open).and_yield(resolver) - - subject.validate(user) - expect(user.errors).to have_received(:add) - end - - it 'adds an error if the AAAA record of the MX record is blacklisted' do - EmailDomainBlock.create!(domain: 'mail.other-domain.com', ips: ['fd00::2']) - resolver = double - - allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::MX).and_return([double(exchange: 'mail.example.com')]) - allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::A).and_return([]) - allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::AAAA).and_return([]) - allow(resolver).to receive(:getresources).with('mail.example.com', Resolv::DNS::Resource::IN::A).and_return([]) - allow(resolver).to receive(:getresources).with('mail.example.com', Resolv::DNS::Resource::IN::AAAA).and_return([double(address: 'fd00::2')]) - allow(resolver).to receive(:timeouts=).and_return(nil) - allow(Resolv::DNS).to receive(:open).and_yield(resolver) - - subject.validate(user) - expect(user.errors).to have_received(:add) - end - it 'adds an error if the MX record is blacklisted' do EmailDomainBlock.create!(domain: 'mail.example.com') resolver = double From ad084ce7dba1719f2096beebd0d79e77ba4e4d30 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 30 Apr 2022 13:11:52 +0200 Subject: [PATCH 270/276] New Crowdin updates (#18148) * New translations en.yml (Kazakh) * New translations en.yml (Estonian) * New translations en.yml (Latvian) * New translations en.yml (Hindi) * New translations en.yml (Malay) * New translations en.yml (Telugu) * New translations en.yml (Welsh) * New translations en.yml (Esperanto) * New translations en.yml (Uyghur) * New translations en.yml (Tatar) * New translations en.yml (Sinhala) * New translations en.yml (Malayalam) * New translations en.yml (Breton) * New translations en.yml (Standard Moroccan Tamazight) * New translations en.yml (Silesian) * New translations en.yml (Taigi) * New translations en.yml (Ido) * New translations en.json (Asturian) * New translations en.yml (Kabyle) * New translations en.yml (Sanskrit) * New translations en.yml (Sardinian) * New translations en.yml (Sorani (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Serbian (Latin)) * New translations en.yml (Asturian) * New translations en.yml (Corsican) * New translations en.json (Welsh) * New translations doorkeeper.en.yml (Armenian) * New translations en.json (Basque) * New translations doorkeeper.en.yml (Basque) * New translations en.json (Finnish) * New translations doorkeeper.en.yml (Finnish) * New translations en.json (Hebrew) * New translations doorkeeper.en.yml (Hebrew) * New translations en.json (Hungarian) * New translations doorkeeper.en.yml (Hungarian) * New translations en.json (Armenian) * New translations en.json (Italian) * New translations en.json (Greek) * New translations doorkeeper.en.yml (Italian) * New translations en.json (Georgian) * New translations doorkeeper.en.yml (Georgian) * New translations en.json (Lithuanian) * New translations en.json (Macedonian) * New translations en.json (Dutch) * New translations doorkeeper.en.yml (Dutch) * New translations doorkeeper.en.yml (Norwegian) * New translations doorkeeper.en.yml (Greek) * New translations doorkeeper.en.yml (German) * New translations en.json (Galician) * New translations doorkeeper.en.yml (Romanian) * New translations doorkeeper.en.yml (Korean) * New translations en.json (Slovak) * New translations doorkeeper.en.yml (Scottish Gaelic) * New translations en.json (Icelandic) * New translations en.json (Norwegian) * New translations en.json (Romanian) * New translations en.json (French) * New translations doorkeeper.en.yml (Danish) * New translations doorkeeper.en.yml (French) * New translations en.json (Spanish) * New translations doorkeeper.en.yml (Spanish) * New translations en.json (Afrikaans) * New translations en.json (Bulgarian) * New translations doorkeeper.en.yml (Bulgarian) * New translations en.json (Czech) * New translations doorkeeper.en.yml (Czech) * New translations en.json (Danish) * New translations en.json (Punjabi) * New translations en.json (Sorani (Kurdish)) * New translations en.json (Bengali) * New translations doorkeeper.en.yml (Indonesian) * New translations en.json (Persian) * New translations doorkeeper.en.yml (Persian) * New translations en.json (Tamil) * New translations doorkeeper.en.yml (Tamil) * New translations en.json (Spanish, Argentina) * New translations doorkeeper.en.yml (Spanish, Argentina) * New translations en.json (Spanish, Mexico) * New translations doorkeeper.en.yml (Spanish, Mexico) * New translations doorkeeper.en.yml (Portuguese, Brazilian) * New translations en.json (Marathi) * New translations doorkeeper.en.yml (Marathi) * New translations en.json (Thai) * New translations doorkeeper.en.yml (Thai) * New translations en.json (Croatian) * New translations doorkeeper.en.yml (Croatian) * New translations en.json (Norwegian Nynorsk) * New translations doorkeeper.en.yml (Norwegian Nynorsk) * New translations en.json (Kazakh) * New translations doorkeeper.en.yml (Kazakh) * New translations en.json (Indonesian) * New translations doorkeeper.en.yml (Icelandic) * New translations en.json (Polish) * New translations en.json (Serbian (Cyrillic)) * New translations doorkeeper.en.yml (Polish) * New translations en.json (Portuguese) * New translations doorkeeper.en.yml (Portuguese) * New translations en.json (Russian) * New translations doorkeeper.en.yml (Russian) * New translations doorkeeper.en.yml (Slovak) * New translations en.json (Slovenian) * New translations doorkeeper.en.yml (Slovenian) * New translations en.json (Albanian) * New translations doorkeeper.en.yml (Albanian) * New translations doorkeeper.en.yml (Serbian (Cyrillic)) * New translations doorkeeper.en.yml (Galician) * New translations en.json (Swedish) * New translations doorkeeper.en.yml (Swedish) * New translations doorkeeper.en.yml (Turkish) * New translations en.json (Ukrainian) * New translations doorkeeper.en.yml (Ukrainian) * New translations doorkeeper.en.yml (Chinese Simplified) * New translations en.json (Chinese Traditional) * New translations doorkeeper.en.yml (Chinese Traditional) * New translations en.json (Urdu (Pakistan)) * New translations en.json (Estonian) * New translations doorkeeper.en.yml (Estonian) * New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong) * New translations en.json (Kannada) * New translations en.json (Latvian) * New translations en.json (Cornish) * New translations doorkeeper.en.yml (Sinhala) * New translations en.json (Sinhala) * New translations doorkeeper.en.yml (Breton) * New translations en.json (Breton) * New translations doorkeeper.en.yml (Malayalam) * New translations en.json (Malayalam) * New translations doorkeeper.en.yml (Tatar) * New translations en.json (Tatar) * New translations en.json (Chinese Traditional, Hong Kong) * New translations doorkeeper.en.yml (Latvian) * New translations doorkeeper.en.yml (Hindi) * New translations en.json (Malay) * New translations en.json (Hindi) * New translations en.json (Telugu) * New translations doorkeeper.en.yml (Welsh) * New translations en.json (Esperanto) * New translations doorkeeper.en.yml (Esperanto) * New translations en.json (Uyghur) * New translations doorkeeper.en.yml (Sardinian) * New translations en.json (Silesian) * New translations en.json (Taigi) * New translations doorkeeper.en.yml (Ido) * New translations en.json (Ido) * New translations doorkeeper.en.yml (Kabyle) * New translations en.json (Kabyle) * New translations en.json (Sanskrit) * New translations doorkeeper.en.yml (Serbian (Latin)) * New translations en.json (Sardinian) * New translations doorkeeper.en.yml (Corsican) * New translations en.json (Corsican) * New translations doorkeeper.en.yml (Sorani (Kurdish)) * New translations doorkeeper.en.yml (Kurmanji (Kurdish)) * New translations en.json (Kurmanji (Kurdish)) * New translations en.json (Serbian (Latin)) * New translations doorkeeper.en.yml (Occitan) * New translations en.json (Occitan) * New translations doorkeeper.en.yml (Asturian) * New translations en.json (Standard Moroccan Tamazight) * New translations doorkeeper.en.yml (Standard Moroccan Tamazight) * New translations en.json (Danish) * New translations en.json (Danish) * New translations en.json (Icelandic) * New translations en.json (Korean) * New translations en.json (Spanish, Argentina) * New translations en.json (Spanish, Argentina) * New translations en.json (Korean) * New translations en.json (Chinese Traditional) * New translations en.json (Kurmanji (Kurdish)) * New translations en.json (Kurmanji (Kurdish)) * New translations en.json (Catalan) * New translations en.json (Catalan) * New translations en.json (Vietnamese) * New translations en.json (Chinese Traditional) * New translations en.json (Vietnamese) * New translations en.json (Chinese Simplified) * New translations en.yml (Chinese Simplified) * New translations en.json (Chinese Simplified) * New translations en.json (Japanese) * Run `yarn manage:translations` * Run `bundle exec i18n-tasks normalize` * New translations en.json (Japanese) * New translations en.yml (Japanese) * Restore en locales * Run `bundle exec i18n-tasks normalize` * New translations en.json (Greek) * New translations en.json (Chinese Traditional) * New translations en.json (Greek) * New translations en.json (Chinese Traditional) * New translations en.json (Galician) * New translations en.json (Chinese Traditional) * New translations en.json (Russian) * New translations en.json (Chinese Traditional) * New translations en.json (Afrikaans) * New translations en.json (Russian) * New translations en.json (Afrikaans) * New translations en.yml (Swedish) * New translations en.json (Swedish) * New translations en.json (Welsh) * New translations en.json (Dutch) * New translations en.json (Turkish) * New translations en.json (Turkish) * New translations en.json (Scottish Gaelic) * New translations en.json (Catalan) * New translations en.json (Icelandic) * New translations en.json (French) * New translations en.json (Spanish) * New translations en.json (Thai) * New translations en.json (Hungarian) * New translations en.json (German) * New translations en.json (Portuguese, Brazilian) * New translations en.json (German) * New translations en.json (Polish) * New translations en.json (Polish) * New translations en.json (Indonesian) * New translations en.json (Tatar) * New translations en.json (Tatar) * New translations en.json (Turkish) * New translations en.json (Turkish) * New translations en.json (Turkish) * New translations en.json (Ukrainian) * New translations en.yml (Thai) * New translations en.json (Thai) * New translations en.yml (Thai) * New translations en.yml (Arabic) * New translations en.json (Arabic) * New translations en.json (Czech) * New translations en.json (Italian) * New translations en.json (Italian) * New translations en.json (Ukrainian) * New translations en.yml (Ukrainian) * New translations en.json (Ukrainian) * New translations en.json (Japanese) * New translations en.json (Latvian) * New translations en.json (Danish) * New translations en.yml (Danish) * New translations en.json (Albanian) * New translations en.yml (Albanian) * New translations en.json (Albanian) * New translations doorkeeper.en.yml (Albanian) * New translations simple_form.en.yml (Albanian) * New translations activerecord.en.yml (Albanian) * New translations devise.en.yml (Albanian) * Run `yarn manage:translations` * Run `bundle exec i18n-tasks normalize` Co-authored-by: Yamagishi Kazutoshi --- app/javascript/mastodon/locales/af.json | 87 +++---- app/javascript/mastodon/locales/ar.json | 17 +- app/javascript/mastodon/locales/ast.json | 23 +- app/javascript/mastodon/locales/bg.json | 17 +- app/javascript/mastodon/locales/bn.json | 17 +- app/javascript/mastodon/locales/br.json | 17 +- app/javascript/mastodon/locales/ca.json | 15 +- app/javascript/mastodon/locales/ckb.json | 17 +- app/javascript/mastodon/locales/co.json | 17 +- app/javascript/mastodon/locales/cs.json | 17 +- app/javascript/mastodon/locales/cy.json | 23 +- app/javascript/mastodon/locales/da.json | 19 +- app/javascript/mastodon/locales/de.json | 19 +- .../mastodon/locales/defaultMessages.json | 2 +- app/javascript/mastodon/locales/el.json | 15 +- app/javascript/mastodon/locales/eo.json | 17 +- app/javascript/mastodon/locales/es-AR.json | 15 +- app/javascript/mastodon/locales/es-MX.json | 19 +- app/javascript/mastodon/locales/es.json | 17 +- app/javascript/mastodon/locales/et.json | 17 +- app/javascript/mastodon/locales/eu.json | 17 +- app/javascript/mastodon/locales/fa.json | 17 +- app/javascript/mastodon/locales/fi.json | 17 +- app/javascript/mastodon/locales/fr.json | 15 +- app/javascript/mastodon/locales/ga.json | 45 ++-- app/javascript/mastodon/locales/gd.json | 15 +- app/javascript/mastodon/locales/gl.json | 15 +- app/javascript/mastodon/locales/he.json | 17 +- app/javascript/mastodon/locales/hi.json | 15 +- app/javascript/mastodon/locales/hr.json | 17 +- app/javascript/mastodon/locales/hu.json | 17 +- app/javascript/mastodon/locales/hy.json | 17 +- app/javascript/mastodon/locales/id.json | 17 +- app/javascript/mastodon/locales/io.json | 17 +- app/javascript/mastodon/locales/is.json | 15 +- app/javascript/mastodon/locales/it.json | 17 +- app/javascript/mastodon/locales/ja.json | 15 +- app/javascript/mastodon/locales/ka.json | 17 +- app/javascript/mastodon/locales/kab.json | 17 +- app/javascript/mastodon/locales/kk.json | 17 +- app/javascript/mastodon/locales/kn.json | 13 +- app/javascript/mastodon/locales/ko.json | 17 +- app/javascript/mastodon/locales/ku.json | 15 +- app/javascript/mastodon/locales/kw.json | 17 +- app/javascript/mastodon/locales/lt.json | 13 +- app/javascript/mastodon/locales/lv.json | 15 +- app/javascript/mastodon/locales/mk.json | 17 +- app/javascript/mastodon/locales/ml.json | 17 +- app/javascript/mastodon/locales/mr.json | 13 +- app/javascript/mastodon/locales/ms.json | 17 +- app/javascript/mastodon/locales/nl.json | 17 +- app/javascript/mastodon/locales/nn.json | 59 +++-- app/javascript/mastodon/locales/no.json | 59 +++-- app/javascript/mastodon/locales/oc.json | 17 +- app/javascript/mastodon/locales/pa.json | 13 +- app/javascript/mastodon/locales/pl.json | 17 +- app/javascript/mastodon/locales/pt-BR.json | 19 +- app/javascript/mastodon/locales/pt-PT.json | 17 +- app/javascript/mastodon/locales/ro.json | 15 +- app/javascript/mastodon/locales/ru.json | 17 +- app/javascript/mastodon/locales/sa.json | 13 +- app/javascript/mastodon/locales/sc.json | 17 +- app/javascript/mastodon/locales/si.json | 15 +- app/javascript/mastodon/locales/sk.json | 17 +- app/javascript/mastodon/locales/sl.json | 17 +- app/javascript/mastodon/locales/sq.json | 17 +- app/javascript/mastodon/locales/sr-Latn.json | 17 +- app/javascript/mastodon/locales/sr.json | 17 +- app/javascript/mastodon/locales/sv.json | 25 +- app/javascript/mastodon/locales/szl.json | 13 +- app/javascript/mastodon/locales/ta.json | 17 +- app/javascript/mastodon/locales/tai.json | 13 +- app/javascript/mastodon/locales/te.json | 17 +- app/javascript/mastodon/locales/th.json | 15 +- app/javascript/mastodon/locales/tr.json | 45 ++-- app/javascript/mastodon/locales/tt.json | 33 ++- app/javascript/mastodon/locales/ug.json | 13 +- app/javascript/mastodon/locales/uk.json | 17 +- app/javascript/mastodon/locales/ur.json | 13 +- app/javascript/mastodon/locales/vi.json | 23 +- app/javascript/mastodon/locales/zgh.json | 15 +- app/javascript/mastodon/locales/zh-CN.json | 245 +++++++++--------- app/javascript/mastodon/locales/zh-HK.json | 17 +- app/javascript/mastodon/locales/zh-TW.json | 57 ++-- config/locales/ar.yml | 3 + config/locales/da.yml | 4 + config/locales/es-MX.yml | 1 + config/locales/fr.yml | 8 +- config/locales/gl.yml | 2 +- config/locales/ja.yml | 4 +- config/locales/simple_form.ckb.yml | 22 +- config/locales/simple_form.sq.yml | 2 + config/locales/sq.yml | 2 +- config/locales/sv.yml | 6 + config/locales/th.yml | 3 +- config/locales/uk.yml | 25 ++ config/locales/zh-CN.yml | 4 +- 97 files changed, 961 insertions(+), 1000 deletions(-) diff --git a/app/javascript/mastodon/locales/af.json b/app/javascript/mastodon/locales/af.json index 4373287dd..fe91569bc 100644 --- a/app/javascript/mastodon/locales/af.json +++ b/app/javascript/mastodon/locales/af.json @@ -1,59 +1,59 @@ { - "account.account_note_header": "Note", - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.account_note_header": "Nota", + "account.add_or_remove_from_list": "Voeg by of verwyder van lyste", "account.badges.bot": "Bot", - "account.badges.group": "Group", - "account.block": "Block @{name}", - "account.block_domain": "Block domain {domain}", - "account.blocked": "Blocked", - "account.browse_more_on_origin_server": "Browse more on the original profile", - "account.cancel_follow_request": "Cancel follow request", - "account.direct": "Direct message @{name}", + "account.badges.group": "Groep", + "account.block": "Blok @{name}", + "account.block_domain": "Blokeer alles van {domain}", + "account.blocked": "Geblok", + "account.browse_more_on_origin_server": "Snuffel rond op oorspronklike profiel", + "account.cancel_follow_request": "Kanselleer volgversoek", + "account.direct": "Stuur direkte boodskap aan @{name}", "account.disable_notifications": "Stop notifying me when @{name} posts", "account.domain_blocked": "Domain blocked", - "account.edit_profile": "Edit profile", - "account.enable_notifications": "Notify me when @{name} posts", - "account.endorse": "Feature on profile", - "account.follow": "Follow", - "account.followers": "Followers", - "account.followers.empty": "No one follows this user yet.", + "account.edit_profile": "Redigeer profiel", + "account.enable_notifications": "Stel my in kennis wanneer @{name} plasings maak", + "account.endorse": "Beklemtoon op profiel", + "account.follow": "Volg", + "account.followers": "Volgelinge", + "account.followers.empty": "Niemand volg tans hierdie gebruiker nie.", "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", "account.following": "Following", "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.follows.empty": "This user doesn't follow anyone yet.", - "account.follows_you": "Follows you", - "account.hide_reblogs": "Hide boosts from @{name}", - "account.joined": "Joined {date}", - "account.link_verified_on": "Ownership of this link was checked on {date}", + "account.follows_you": "Volg jou", + "account.hide_reblogs": "Versteek hupstoot vanaf @{name}", + "account.joined": "{date} aangesluit", + "account.link_verified_on": "Eienaarskap van die skakel was getoets op {date}", "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.media": "Media", - "account.mention": "Mention @{name}", - "account.moved_to": "{name} has moved to:", - "account.mute": "Mute @{name}", - "account.mute_notifications": "Mute notifications from @{name}", - "account.muted": "Muted", + "account.mention": "Noem @{name}", + "account.moved_to": "{name} is geskuif na:", + "account.mute": "Demp @{name}", + "account.mute_notifications": "Demp kennisgewings van @{name}", + "account.muted": "Gedemp", "account.posts": "Toots", "account.posts_with_replies": "Toots and replies", - "account.report": "Report @{name}", + "account.report": "Rapporteer @{name}", "account.requested": "Awaiting approval", - "account.share": "Share @{name}'s profile", - "account.show_reblogs": "Show boosts from @{name}", + "account.share": "Deel @{name} se profiel", + "account.show_reblogs": "Wys hupstote vanaf @{name}", "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}", - "account.unblock": "Unblock @{name}", - "account.unblock_domain": "Unblock domain {domain}", - "account.unblock_short": "Unblock", - "account.unendorse": "Don't feature on profile", + "account.unblock": "Ontblok @{name}", + "account.unblock_domain": "Ontblok domein {domain}", + "account.unblock_short": "Ontblok", + "account.unendorse": "Moenie beklemtoon op profiel nie", "account.unfollow": "Unfollow", - "account.unmute": "Unmute @{name}", - "account.unmute_notifications": "Unmute notifications from @{name}", - "account.unmute_short": "Unmute", + "account.unmute": "Ontdemp @{name}", + "account.unmute_notifications": "Ontdemp kennisgewings vanaf @{name}", + "account.unmute_short": "Ontdemp", "account_note.placeholder": "Click to add a note", "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.retention.average": "Gemiddeld", "admin.dashboard.retention.cohort": "Sign-up month", - "admin.dashboard.retention.cohort_size": "New users", - "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.", + "admin.dashboard.retention.cohort_size": "Nuwe gebruikers", + "alert.rate_limited.message": "Probeer asb. weer na {retry_time, time, medium}.", "alert.rate_limited.title": "Rate limited", "alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.title": "Oops!", @@ -70,7 +70,7 @@ "column.blocks": "Blocked users", "column.bookmarks": "Bookmarks", "column.community": "Local timeline", - "column.direct": "Direct messages", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "Blocked domains", "column.favourites": "Favourites", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "Media only", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "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.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": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "locked", @@ -166,7 +166,7 @@ "empty_column.blocks": "You haven't blocked any users yet.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no blocked domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "Local timeline", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Direct messages", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "Edit profile", @@ -370,9 +369,9 @@ "privacy.direct.short": "Direct", "privacy.private.long": "Visible for followers only", "privacy.private.short": "Followers-only", - "privacy.public.long": "Visible for all, shown in public timelines", + "privacy.public.long": "Visible for all", "privacy.public.short": "Public", - "privacy.unlisted.long": "Visible for all, but not in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Unlisted", "refresh": "Refresh", "regeneration_indicator.label": "Loading…", diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 57d8376a9..ac93bf706 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -70,7 +70,7 @@ "column.blocks": "المُستَخدِمون المَحظورون", "column.bookmarks": "الفواصل المرجعية", "column.community": "الخيط الزمني المحلي", - "column.direct": "الرسائل المباشرة", + "column.conversations": "المحادثات", "column.directory": "تَصَفُّحُ المَلفات الشخصية", "column.domain_blocks": "النِّطاقَاتُ المَحظُورَة", "column.favourites": "المُفَضَّلَة", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "المحلي فقط", "community.column_settings.media_only": "الوسائط فقط", "community.column_settings.remote_only": "عن بُعد فقط", - "compose_form.direct_message_warning": "سوف تُرسَل هذه التَّبويقة فقط للمُستَخدِمين المَذكورين.", "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.hashtag_warning": "لن يُدرَج هذا المنشور تحت أي وسم بما أنَّه غير مُدرَج. فقط المنشورات العامة يُمكن البحث عنها بواسطة الوسم.", "compose_form.lock_disclaimer": "حسابُك غير {locked}. يُمكن لأي شخص مُتابعتك لرؤية (منشورات المتابعين فقط).", "compose_form.lock_disclaimer.lock": "مُقفَل", @@ -166,7 +166,7 @@ "empty_column.blocks": "لم تقم بحظر أي مستخدِم بعد.", "empty_column.bookmarked_statuses": "ليس لديك أية منشورات في الفواصل المرجعية بعد. عندما ستقوم بإضافة البعض منها، ستظهر هنا.", "empty_column.community": "الخط العام المحلي فارغ. أكتب شيئا ما للعامة كبداية!", - "empty_column.direct": "لم تتلق أية رسالة خاصة مباشِرة بعد. سوف يتم عرض الرسائل المباشرة هنا إن قمت بإرسال واحدة أو تلقيت البعض منها.", + "empty_column.conversations": "عندما ترسل أو تستلم منشورًا محصورٌا على الأشخاص المشار إليهم فيه، سيظهر هنا.", "empty_column.domain_blocks": "ليس هناك نطاقات مخفية بعد.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "ليس لديك أية منشورات مفضلة بعد. عندما ستقوم بالإعجاب بواحدة، ستظهر هنا.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "للترقية", "keyboard_shortcuts.column": "للتركيز على منشور على أحد الأعمدة", "keyboard_shortcuts.compose": "للتركيز على نافذة تحرير النصوص", + "keyboard_shortcuts.conversations": "لفتح عمود المحادثات", "keyboard_shortcuts.description": "الوصف", - "keyboard_shortcuts.direct": "لفتح عمود الرسائل المباشرة", "keyboard_shortcuts.down": "للانتقال إلى أسفل القائمة", "keyboard_shortcuts.enter": "لفتح المنشور", "keyboard_shortcuts.favourite": "للإضافة إلى المفضلة", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "الفواصل المرجعية", "navigation_bar.community_timeline": "الخيط العام المحلي", "navigation_bar.compose": "لتحرير منشور جديد", - "navigation_bar.direct": "الرسائل المباشِرة", "navigation_bar.discover": "اكتشف", "navigation_bar.domain_blocks": "النطاقات المخفية", "navigation_bar.edit_profile": "عدّل الملف التعريفي", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "إزالة استطلاع الرأي", "privacy.change": "اضبط خصوصية المنشور", "privacy.direct.long": "أنشر إلى المستخدمين المشار إليهم فقط", - "privacy.direct.short": "مباشر", + "privacy.direct.short": "للمشار إليهم فقط", "privacy.private.long": "أنشر لمتابعيك فقط", - "privacy.private.short": "لمتابعيك فقط", - "privacy.public.long": "أنشر على الخيوط العامة", + "privacy.private.short": "للمتابِعين فقط", + "privacy.public.long": "مرئي للكل", "privacy.public.short": "للعامة", - "privacy.unlisted.long": "لا تقم بإدراجه على الخيوط العامة", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "غير مدرج", "refresh": "أنعِش", "regeneration_indicator.label": "جارٍ التحميل…", diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json index e7f7248e1..3400e3cd1 100644 --- a/app/javascript/mastodon/locales/ast.json +++ b/app/javascript/mastodon/locales/ast.json @@ -70,7 +70,7 @@ "column.blocks": "Usuarios bloquiaos", "column.bookmarks": "Marcadores", "column.community": "Llinia temporal llocal", - "column.direct": "Mensaxes direutos", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "Dominios anubríos", "column.favourites": "Favoritos", @@ -92,9 +92,9 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "Namái multimedia", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "Esti barritu namái va unviase a los usuarios mentaos.", "compose_form.direct_message_warning_learn_more": "Saber más", - "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.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", + "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "locked", "compose_form.placeholder": "¿En qué pienses?", @@ -166,11 +166,11 @@ "empty_column.blocks": "Entá nun bloquiesti a nengún usuariu.", "empty_column.bookmarked_statuses": "Entá nun tienes nengún barritu en Marcadores. Cuando amiestes unu, va amosase equí.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", - "empty_column.direct": "Entá nun tienes nuengún mensaxe direutu. Cuando unvies o recibas dalgún, va apaecer equí.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Entá nun hai dominios anubríos.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Entá nun tienes nengún barritu en Favoritos. Cuando amiestes unu, va amosase equí.", - "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", + "empty_column.favourites": "No one has favourited this post yet. When someone does, they will show up here.", "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": "Entá nun tienes nenguna solicitú de siguimientu. Cuando recibas una, va amosase equí.", "empty_column.hashtag": "Entá nun hai nada nesta etiqueta.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "pa compartir un toot", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "Enfocar l'área de composición", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Descripción", - "keyboard_shortcuts.direct": "Abrir la columna de los mensaxes direutos", "keyboard_shortcuts.down": "pa baxar na llista", "keyboard_shortcuts.enter": "p'abrir estaos", "keyboard_shortcuts.favourite": "p'amestar a Favoritos", @@ -289,8 +289,7 @@ "navigation_bar.blocks": "Usuarios bloquiaos", "navigation_bar.bookmarks": "Marcadores", "navigation_bar.community_timeline": "Llinia temporal llocal", - "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Mensaxes direutos", + "navigation_bar.compose": "Compose new post", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Dominios anubríos", "navigation_bar.edit_profile": "Editar el perfil", @@ -369,10 +368,10 @@ "privacy.direct.long": "Post to mentioned users only", "privacy.direct.short": "Direct", "privacy.private.long": "Post to followers only", - "privacy.private.short": "Namái siguidores", - "privacy.public.long": "Visible for all, shown in public timelines", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Public", - "privacy.unlisted.long": "Nun apaez nes llinies temporales públiques", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Nun llistar", "refresh": "Refresh", "regeneration_indicator.label": "Cargando…", @@ -502,7 +501,7 @@ "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", + "timeline_hint.resources.statuses": "Older posts", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking", "trends.trending_now": "Trending now", "ui.beforeunload": "El borrador va perdese si coles de Mastodon.", diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index 3efde0381..42cd08f1f 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -70,7 +70,7 @@ "column.blocks": "Блокирани потребители", "column.bookmarks": "Отметки", "column.community": "Локална емисия", - "column.direct": "Директни съобщения", + "column.conversations": "Conversations", "column.directory": "Преглед на профили", "column.domain_blocks": "Hidden domains", "column.favourites": "Любими", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Само локално", "community.column_settings.media_only": "Media only", "community.column_settings.remote_only": "Само дистанционно", - "compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.", "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.hashtag_warning": "Тази публикация няма да бъде изброена под нито един хаштаг, тъй като е скрита. Само публични публикации могат да се търсят по хаштаг.", "compose_form.lock_disclaimer": "Вашият акаунт не е {locked}. Всеки може да ви последва, за да прегледа вашите публикации само за последователи.", "compose_form.lock_disclaimer.lock": "заключено", @@ -166,7 +166,7 @@ "empty_column.blocks": "Не сте блокирали потребители все още.", "empty_column.bookmarked_statuses": "Все още нямате отметнати публикации. Когато отметнете някоя, тя ще се покаже тук.", "empty_column.community": "Локалната емисия е празна. Напишете нещо публично, за да започнете!", - "empty_column.direct": "Все още нямате директни съобщения. Когато изпратите или получите някое, то ще се покаже тук.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no hidden domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Все още нямате любими публикации. Когато поставите някоя в любими, тя ще се покаже тук.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "за споделяне", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "за фокусиране на текстовото пространство за композиране", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Описание", - "keyboard_shortcuts.direct": "за отваряне на колона за директни съобщения", "keyboard_shortcuts.down": "за придвижване надолу в списъка", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "за поставяне в любими", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Отметки", "navigation_bar.community_timeline": "Локална емисия", "navigation_bar.compose": "Композиране на нова публикация", - "navigation_bar.direct": "Директни съобщения", "navigation_bar.discover": "Откриване", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "Редактирай профил", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Премахване на анкета", "privacy.change": "Adjust status privacy", "privacy.direct.long": "Post to mentioned users only", - "privacy.direct.short": "Директно", + "privacy.direct.short": "Direct", "privacy.private.long": "Post to followers only", - "privacy.private.short": "Само за последователи", - "privacy.public.long": "Post to public timelines", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Публично", - "privacy.unlisted.long": "Do not show in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Скрито", "refresh": "Опресняване", "regeneration_indicator.label": "Зареждане…", diff --git a/app/javascript/mastodon/locales/bn.json b/app/javascript/mastodon/locales/bn.json index 75e0fbb77..b009d5964 100644 --- a/app/javascript/mastodon/locales/bn.json +++ b/app/javascript/mastodon/locales/bn.json @@ -70,7 +70,7 @@ "column.blocks": "যাদের ব্লক করা হয়েছে", "column.bookmarks": "বুকমার্ক", "column.community": "স্থানীয় সময়সারি", - "column.direct": "সরাসরি লেখা", + "column.conversations": "Conversations", "column.directory": "প্রোফাইল ব্রাউজ করুন", "column.domain_blocks": "লুকোনো ডোমেনগুলি", "column.favourites": "পছন্দের গুলো", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "শুধুমাত্র স্থানীয়", "community.column_settings.media_only": "শুধুমাত্র ছবি বা ভিডিও", "community.column_settings.remote_only": "শুধুমাত্র দূরবর্তী", - "compose_form.direct_message_warning": "শুধুমাত্র যাদেরকে উল্লেখ করা হয়েছে তাদেরকেই এই টুটটি পাঠানো হবে ।", "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.hashtag_warning": "কোনো হ্যাশট্যাগের ভেতরে এই টুটটি থাকবেনা কারণ এটি তালিকাবহির্ভূত। শুধুমাত্র প্রকাশ্য ঠোটগুলো হ্যাশট্যাগের ভেতরে খুঁজে পাওয়া যাবে।", "compose_form.lock_disclaimer": "আপনার নিবন্ধনে তালা দেওয়া নেই, যে কেও আপনাকে অনুসরণ করতে পারবে এবং অনুশারকদের জন্য লেখা দেখতে পারবে।", "compose_form.lock_disclaimer.lock": "তালা দেওয়া", @@ -166,7 +166,7 @@ "empty_column.blocks": "আপনি কোনো ব্যবহারকারীদের ব্লক করেন নি।", "empty_column.bookmarked_statuses": "আপনার কাছে এখনও কোনও বুকমার্কড টুট নেই। আপনি যখন একটি বুকমার্ক করেন, এটি এখানে প্রদর্শিত হবে।", "empty_column.community": "স্থানীয় সময়রেখাতে কিছু নেই। প্রকাশ্যভাবে কিছু লিখে লেখালেখির উদ্বোধন করে ফেলুন!", - "empty_column.direct": "আপনার কাছে সরাসরি পাঠানো কোনো লেখা নেই। যদি কেও পাঠায়, সেটা এখানে দেখা যাবে।", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "এখনও কোনও লুকানো ডোমেন নেই।", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "আপনার পছন্দের কোনো টুট এখনো নেই। আপনি কোনো লেখা পছন্দের হিসেবে চিহ্নিত করলে এখানে পাওয়া যাবে।", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "সমর্থন করতে", "keyboard_shortcuts.column": "কোনো কলামএ কোনো লেখা ফোকাস করতে", "keyboard_shortcuts.compose": "লেখা সম্পদনার জায়গায় ফোকাস করতে", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "বিবরণ", - "keyboard_shortcuts.direct": "সরাসরি পাঠানো লেখা দেখতে", "keyboard_shortcuts.down": "তালিকার ভেতরে নিচে যেতে", "keyboard_shortcuts.enter": "অবস্থা দেখতে", "keyboard_shortcuts.favourite": "পছন্দের দেখতে", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "বুকমার্ক", "navigation_bar.community_timeline": "স্থানীয় সময়রেখা", "navigation_bar.compose": "নতুন টুট লিখুন", - "navigation_bar.direct": "সরাসরি লেখাগুলি", "navigation_bar.discover": "ঘুরে দেখুন", "navigation_bar.domain_blocks": "লুকানো ডোমেনগুলি", "navigation_bar.edit_profile": "নিজের পাতা সম্পাদনা করতে", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "নির্বাচন বাদ দিতে", "privacy.change": "লেখার গোপনীয়তা অবস্থা ঠিক করতে", "privacy.direct.long": "শুধুমাত্র উল্লেখিত ব্যবহারকারীদের কাছে লিখতে", - "privacy.direct.short": "সরাসরি", + "privacy.direct.short": "Direct", "privacy.private.long": "শুধুমাত্র আপনার অনুসরণকারীদের লিখতে", - "privacy.private.short": "শুধুমাত্র অনুসরণকারীদের জন্য", - "privacy.public.long": "সর্বজনীন প্রকাশ্য সময়রেখাতে লিখতে", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "সর্বজনীন প্রকাশ্য", - "privacy.unlisted.long": "সর্বজনীন প্রকাশ্য সময়রেখাতে না দেখাতে", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "প্রকাশ্য নয়", "refresh": "সতেজ করা", "regeneration_indicator.label": "আসছে…", diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json index 8b86cd62a..74d430b50 100644 --- a/app/javascript/mastodon/locales/br.json +++ b/app/javascript/mastodon/locales/br.json @@ -70,7 +70,7 @@ "column.blocks": "Implijer·ezed·ien berzet", "column.bookmarks": "Sinedoù", "column.community": "Red-amzer lec'hel", - "column.direct": "Kemennadoù prevez", + "column.conversations": "Conversations", "column.directory": "Mont a-dreuz ar profiloù", "column.domain_blocks": "Domani berzet", "column.favourites": "Muiañ-karet", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Nemet lec'hel", "community.column_settings.media_only": "Nemet Mediaoù", "community.column_settings.remote_only": "Nemet a-bell", - "compose_form.direct_message_warning": "An toud-mañ a vo kaset nemet d'an implijer·ezed·ien meneget.", "compose_form.direct_message_warning_learn_more": "Gouzout hiroc'h", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Ne vo ket lakaet an toud-mañ er rolloù gerioù-klik dre mard eo anlistennet. N'eus nemet an toudoù foran a c'hall bezañ klasket dre c'her-klik.", "compose_form.lock_disclaimer": "N'eo ket {locked} ho kont. An holl a c'hal heuliañ ac'hanoc'h evit gwelout ho toudoù prevez.", "compose_form.lock_disclaimer.lock": "prennet", @@ -166,7 +166,7 @@ "empty_column.blocks": "N'eus ket bet berzet implijer·ez ganeoc'h c'hoazh.", "empty_column.bookmarked_statuses": "N'ho peus toud ebet enrollet en ho sinedoù c'hoazh. Pa vo ouzhpennet unan ganeoc'h e teuio war wel amañ.", "empty_column.community": "Goulo eo ar red-amzer lec'hel. Skrivit'ta un dra evit lakaat tan dezhi !", - "empty_column.direct": "N'ho peus kemennad prevez ebet c'hoazh. Pa vo resevet pe kaset unan ganeoc'h e teuio war wel amañ.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "N'eus domani kuzh ebet c'hoazh.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "N'ho peus toud muiañ-karet ebet c'hoazh. Pa vo lakaet unan ganeoc'h e vo diskouezet amañ.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "da skignañ", "keyboard_shortcuts.column": "Fokus ar bann", "keyboard_shortcuts.compose": "Fokus an takad testenn", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Deskrivadur", - "keyboard_shortcuts.direct": "Digeriñ bann ar c'hemennadennoù prevez", "keyboard_shortcuts.down": "Diskennañ er roll", "keyboard_shortcuts.enter": "evit digeriñ un toud", "keyboard_shortcuts.favourite": "Lakaat an toud evel muiañ-karet", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Sinedoù", "navigation_bar.community_timeline": "Red-amzer lec'hel", "navigation_bar.compose": "Skrivañ un toud nevez", - "navigation_bar.direct": "Kemennadoù prevez", "navigation_bar.discover": "Dizoleiñ", "navigation_bar.domain_blocks": "Domanioù kuzhet", "navigation_bar.edit_profile": "Aozañ ar profil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Dilemel ar sontadeg", "privacy.change": "Kemmañ gwelidigezh ar statud", "privacy.direct.long": "Embann evit an implijer·ezed·ien meneget hepken", - "privacy.direct.short": "War-eeun", + "privacy.direct.short": "Direct", "privacy.private.long": "Embann evit ar re a heuilh ac'hanon hepken", - "privacy.private.short": "Ar re a heuilh ac'hanon hepken", - "privacy.public.long": "Embann war ar redoù-amzer foran", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Publik", - "privacy.unlisted.long": "Na embann war ar redoù-amzer foran", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Anlistennet", "refresh": "Freskaat", "regeneration_indicator.label": "O kargañ…", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index f2d3e397d..16de55828 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -70,7 +70,7 @@ "column.blocks": "Usuaris bloquejats", "column.bookmarks": "Marcadors", "column.community": "Línia de temps local", - "column.direct": "Missatges directes", + "column.conversations": "Converses", "column.directory": "Navega pels perfils", "column.domain_blocks": "Dominis bloquejats", "column.favourites": "Favorits", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Només local", "community.column_settings.media_only": "Només multimèdia", "community.column_settings.remote_only": "Només remot", - "compose_form.direct_message_warning": "Aquesta publicació només s'enviarà als usuaris esmentats.", "compose_form.direct_message_warning_learn_more": "Més informació", + "compose_form.encryption_warning": "Les publicacions a Mastodon no estant xifrades punt a punt. No comparteixis informació perillosa mitjançant Mastodon.", "compose_form.hashtag_warning": "Aquesta publicació no es mostrarà en cap etiqueta, ja que no està llistada. Només les publicacions públiques es poden cercar per etiqueta.", "compose_form.lock_disclaimer": "El teu compte no està bloquejat {locked}. Tothom pot seguir-te i veure els teus missatges només per a seguidors.", "compose_form.lock_disclaimer.lock": "bloquejat", @@ -166,7 +166,7 @@ "empty_column.blocks": "Encara no has bloquejat cap usuari.", "empty_column.bookmarked_statuses": "Encara no has marcat com publicació com a preferida. Quan en marquis una apareixerà aquí.", "empty_column.community": "La línia de temps local és buida. Escriu alguna cosa públicament per posar-ho tot en marxa!", - "empty_column.direct": "Encara no tens missatges directes. Quan n'enviïs o en rebis, es mostraran aquí.", + "empty_column.conversations": "Cada vegada que envies o reps una publicació que és només visible per la gent que hi has mencionat en ella, serà mostrada aquí.", "empty_column.domain_blocks": "Encara no hi ha dominis bloquejats.", "empty_column.explore_statuses": "No hi ha res en tendència ara mateix. Revisa-ho més tard!", "empty_column.favourited_statuses": "Encara no has marcat cap publicació com a preferida. Quan les marquis, apareixeran aquí.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Impulsa publicació", "keyboard_shortcuts.column": "Centra la columna", "keyboard_shortcuts.compose": "Centra l'àrea de composició del text", + "keyboard_shortcuts.conversations": "per a obrir la columna de converses", "keyboard_shortcuts.description": "Descripció", - "keyboard_shortcuts.direct": "Obre la columna de missatges directes", "keyboard_shortcuts.down": "Mou-lo avall en la llista", "keyboard_shortcuts.enter": "Obre publicació", "keyboard_shortcuts.favourite": "Afavorir publicació", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Marcadors", "navigation_bar.community_timeline": "Línia de temps local", "navigation_bar.compose": "Redacta una nova publicació", - "navigation_bar.direct": "Missatges directes", "navigation_bar.discover": "Descobrir", "navigation_bar.domain_blocks": "Dominis bloquejats", "navigation_bar.edit_profile": "Edita el perfil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Elimina l'enquesta", "privacy.change": "Ajusta la privacitat de la publicació", "privacy.direct.long": "Visible només per als usuaris esmentats", - "privacy.direct.short": "Directe", + "privacy.direct.short": "Només la gent que menciono", "privacy.private.long": "Visible només per als seguidors", "privacy.private.short": "Només seguidors", - "privacy.public.long": "Visible per a tothom, mostrat en línies de temps públiques", + "privacy.public.long": "Visible per tothom", "privacy.public.short": "Públic", - "privacy.unlisted.long": "Visible per a tothom però no en les línies de temps públiques", + "privacy.unlisted.long": "Visible per tothom però exclosa de les funcions de descobriment", "privacy.unlisted.short": "No llistat", "refresh": "Actualitza", "regeneration_indicator.label": "Carregant…", diff --git a/app/javascript/mastodon/locales/ckb.json b/app/javascript/mastodon/locales/ckb.json index ea976b3af..5a64eaebb 100644 --- a/app/javascript/mastodon/locales/ckb.json +++ b/app/javascript/mastodon/locales/ckb.json @@ -70,7 +70,7 @@ "column.blocks": "بەکارهێنەرە بلۆککراوەکان", "column.bookmarks": "نیشانەکان", "column.community": "هێڵی کاتی ناوخۆیی", - "column.direct": "نامە ڕاستەوخۆکان", + "column.conversations": "Conversations", "column.directory": "گەڕان لە پرۆفایلەکان", "column.domain_blocks": "دۆمەینە داخراوەکان", "column.favourites": "دڵخوازترینەکان", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "تەنها خۆماڵی", "community.column_settings.media_only": "تەنها میدیا", "community.column_settings.remote_only": "تەنها بۆ دوور", - "compose_form.direct_message_warning": "ئەم توتە تەنیا بۆ بەکارهێنەرانی ناوبراو دەنێردرێت.", "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.hashtag_warning": "ئەم توتە لە ژێر هیچ هاشتاگییەک دا ناکرێت وەک ئەوەی لە لیستەکەدا نەریزراوە. تەنها توتی گشتی دەتوانرێت بە هاشتاگی بگەڕێت.", "compose_form.lock_disclaimer": "هەژمێرەکەی لە حاڵەتی {locked}. هەر کەسێک دەتوانێت شوێنت بکەوێت بۆ پیشاندانی بابەتەکانی تەنها دوایخۆی.", "compose_form.lock_disclaimer.lock": "قفڵ دراوە", @@ -166,7 +166,7 @@ "empty_column.blocks": "تۆ هێشتا هیچ بەکارهێنەرێکت بلۆک نەکردووە.", "empty_column.bookmarked_statuses": "تۆ هێشتا هیچ توتێکی دیاریکراوت نیە کاتێک نیشانەیەک نیشان دەکەیت، لێرە دەرئەکەویت.", "empty_column.community": "هێڵی کاتی ناوخۆیی بەتاڵە. شتێک بە ئاشکرا بنووسە بۆ ئەوەی تۆپەکە بسووڕێت!", - "empty_column.direct": "تۆ هیچ نامەی ڕاستەوخۆت نیە تا ئێستا. کاتێک دانەیەک دەنێریت یان وەرت دەگرێت، لێرە پیشان دەدات.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "هێشتا هیچ دۆمەینێکی بلۆک کراو نییە.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "تۆ هێشتا هیچ توتێکی دڵخوازت نییە، کاتێک حەزت لە دانەیەکی باشە، لێرە دەرئەکەویت.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "بۆ بەهێزکردن", "keyboard_shortcuts.column": "بۆ ئەوەی تیشک بخاتە سەر توتێک لە یەکێک لە ستوونەکان", "keyboard_shortcuts.compose": "بۆ سەرنجدان بە نووسینی ناوچەی دەق", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "وه‌سف", - "keyboard_shortcuts.direct": "بۆ کردنەوەی ستوونی نامە ڕاستەوخۆکان", "keyboard_shortcuts.down": "بۆ چوونە خوارەوە لە لیستەکەدا", "keyboard_shortcuts.enter": "بۆ کردنەوەی توت", "keyboard_shortcuts.favourite": "بۆ دڵخواز", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "نیشانکراوەکان", "navigation_bar.community_timeline": "دەمنامەی ناوخۆیی", "navigation_bar.compose": "نووسینی توتی نوێ", - "navigation_bar.direct": "نامە ڕاستەوخۆکان", "navigation_bar.discover": "دۆزینەوە", "navigation_bar.domain_blocks": "دۆمەینە بلۆک کراوەکان", "navigation_bar.edit_profile": "دەستکاری پرۆفایل بکە", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "ده‌نگدان بسڕه‌وه‌‌", "privacy.change": "ڕێکخستنی تایبەتمەندی توت", "privacy.direct.long": "تەنیا بۆ بەکارهێنەرانی ناوبراو", - "privacy.direct.short": "ڕاستەوخۆ", + "privacy.direct.short": "Direct", "privacy.private.long": "بینراو تەنها بۆ شوێنکەوتوان", - "privacy.private.short": "تەنها بۆ شوێنکەوتوان", - "privacy.public.long": "بۆ هەمووان دیاربێت، لە هێڵی کاتی گشتی دا نیشان دەدرێت", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "گشتی", - "privacy.unlisted.long": "بۆ هەمووان دیارە، بەڵام لە هێڵی کاتی گشتیدا نا", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "لە لیست نەکراو", "refresh": "نوێکردنەوە", "regeneration_indicator.label": "بارکردن…", diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json index 453aa9653..770bd71bc 100644 --- a/app/javascript/mastodon/locales/co.json +++ b/app/javascript/mastodon/locales/co.json @@ -70,7 +70,7 @@ "column.blocks": "Utilizatori bluccati", "column.bookmarks": "Segnalibri", "column.community": "Linea pubblica lucale", - "column.direct": "Missaghji diretti", + "column.conversations": "Conversations", "column.directory": "Percorre i prufili", "column.domain_blocks": "Duminii piattati", "column.favourites": "Favuriti", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Solu lucale", "community.column_settings.media_only": "Solu media", "community.column_settings.remote_only": "Solu distante", - "compose_form.direct_message_warning": "Solu l'utilizatori mintuvati puderenu vede stu statutu.", "compose_form.direct_message_warning_learn_more": "Amparà di più", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Stu statutu ùn hè \"Micca listatu\" è ùn sarà micca listatu indè e circate da hashtag. Per esse vistu in quesse, u statutu deve esse \"Pubblicu\".", "compose_form.lock_disclaimer": "U vostru contu ùn hè micca {locked}. Tuttu u mondu pò seguitavi è vede i vostri statuti privati.", "compose_form.lock_disclaimer.lock": "privatu", @@ -166,7 +166,7 @@ "empty_column.blocks": "Per avà ùn avete bluccatu manc'un utilizatore.", "empty_column.bookmarked_statuses": "Ùn avete manc'un segnalibru. Quandu aghjunghjerate unu, sarà mustratu quì.", "empty_column.community": "Ùn c'hè nunda indè a linea lucale. Scrivete puru qualcosa!", - "empty_column.direct": "Ùn avete ancu nisun missaghju direttu. S'è voi mandate o ricevete unu, u vidarete quì.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Ùn c'hè manc'un duminiu bluccatu avà.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Ùn avete manc'unu statutu favuritu. Quandu aghjunghjerate unu à i vostri favuriti, sarà mustratu quì.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "sparte", "keyboard_shortcuts.column": "fucalizà un statutu indè una colonna", "keyboard_shortcuts.compose": "fucalizà nant'à l'area di ridazzione", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Descrizzione", - "keyboard_shortcuts.direct": "per apre una culonna di missaghji diretti", "keyboard_shortcuts.down": "falà indè a lista", "keyboard_shortcuts.enter": "apre u statutu", "keyboard_shortcuts.favourite": "aghjunghje à i favuriti", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Segnalibri", "navigation_bar.community_timeline": "Linea pubblica lucale", "navigation_bar.compose": "Scrive un novu statutu", - "navigation_bar.direct": "Missaghji diretti", "navigation_bar.discover": "Scopre", "navigation_bar.domain_blocks": "Duminii piattati", "navigation_bar.edit_profile": "Mudificà u prufile", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Toglie u scandagliu", "privacy.change": "Mudificà a cunfidenzialità di u statutu", "privacy.direct.long": "Mandà solu à quelli chì so mintuvati", - "privacy.direct.short": "Direttu", + "privacy.direct.short": "Direct", "privacy.private.long": "Mustrà solu à l'abbunati", - "privacy.private.short": "Privatu", - "privacy.public.long": "Mustrà à tuttu u mondu nant'à e linee pubbliche", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Pubblicu", - "privacy.unlisted.long": "Ùn mette micca nant'à e linee pubbliche", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Micca listatu", "refresh": "Attualizà", "regeneration_indicator.label": "Caricamentu…", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index 0b49c3f77..6260e2cb8 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -70,7 +70,7 @@ "column.blocks": "Blokovaní uživatelé", "column.bookmarks": "Záložky", "column.community": "Místní časová osa", - "column.direct": "Přímé zprávy", + "column.conversations": "Konverzace", "column.directory": "Prozkoumat profily", "column.domain_blocks": "Blokované domény", "column.favourites": "Oblíbené", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Pouze místní", "community.column_settings.media_only": "Pouze média", "community.column_settings.remote_only": "Pouze vzdálené", - "compose_form.direct_message_warning": "Tento příspěvek bude odeslán pouze zmíněným uživatelům.", "compose_form.direct_message_warning_learn_more": "Zjistit více", + "compose_form.encryption_warning": "Příspěvky v Mastodonu nejsou šifrovány end-to-end. Nesdílejte žádné nebezpečné informace přes Mastodon.", "compose_form.hashtag_warning": "Tento příspěvek nebude zobrazen pod žádným hashtagem, neboť je neuvedený. Pouze veřejné příspěvky mohou být vyhledány podle hashtagu.", "compose_form.lock_disclaimer": "Váš účet není {locked}. Kdokoliv vás může sledovat a vidět vaše příspěvky učené pouze pro sledující.", "compose_form.lock_disclaimer.lock": "uzamčen", @@ -166,7 +166,7 @@ "empty_column.blocks": "Ještě jste nezablokovali žádného uživatele.", "empty_column.bookmarked_statuses": "Ještě nemáte v záložkách žádné příspěvky. Pokud si do nich nějaký přidáte, zobrazí se zde.", "empty_column.community": "Místní časová osa je prázdná. Napište něco veřejně a rozhýbejte to tu!", - "empty_column.direct": "Ještě nemáte žádné přímé zprávy. Pokud nějakou pošlete nebo dostanete, zobrazí se zde.", + "empty_column.conversations": "Jakmile pošlete nebo obdržíte příspěvek, který je viditelný pouze pro lidi v něm uvedené, zobrazí se zde.", "empty_column.domain_blocks": "Ještě nemáte žádné blokované domény.", "empty_column.explore_statuses": "Momentálně není nic populární. Vraťte se později!", "empty_column.favourited_statuses": "Ještě nemáte žádné oblíbené příspěvky. Pokud si nějaký oblíbíte, zobrazí se zde.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Boostnout příspěvek", "keyboard_shortcuts.column": "Focus na sloupec", "keyboard_shortcuts.compose": "Focus na textové pole nového příspěvku", + "keyboard_shortcuts.conversations": "pro otevření sloupce konverzací", "keyboard_shortcuts.description": "Popis", - "keyboard_shortcuts.direct": "Otevřít sloupec přímých zpráv", "keyboard_shortcuts.down": "Posunout dolů v seznamu", "keyboard_shortcuts.enter": "Otevřít příspěvek", "keyboard_shortcuts.favourite": "Oblíbit příspěvek", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Záložky", "navigation_bar.community_timeline": "Místní časová osa", "navigation_bar.compose": "Vytvořit nový příspěvek", - "navigation_bar.direct": "Přímé zprávy", "navigation_bar.discover": "Objevujte", "navigation_bar.domain_blocks": "Blokované domény", "navigation_bar.edit_profile": "Upravit profil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Odstranit anketu", "privacy.change": "Změnit soukromí příspěvku", "privacy.direct.long": "Viditelné pouze pro zmíněné uživatele", - "privacy.direct.short": "Přímý", + "privacy.direct.short": "Pouze lidé, které zmiňuji", "privacy.private.long": "Viditelné pouze pro sledující", - "privacy.private.short": "Pouze pro sledující", - "privacy.public.long": "Viditelné pro všechny, i ve veřejných časových osách", + "privacy.private.short": "Pouze sledující", + "privacy.public.long": "Viditelné pro všechny", "privacy.public.short": "Veřejný", - "privacy.unlisted.long": "Viditelné pro všechny, ale ne ve veřejných časových osách", + "privacy.unlisted.long": "Viditelné pro všechny, ale bez objevovacích funkcí", "privacy.unlisted.short": "Neuvedený", "refresh": "Obnovit", "regeneration_indicator.label": "Načítání…", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index a3979b197..039379315 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -9,10 +9,10 @@ "account.browse_more_on_origin_server": "Pori mwy ar y proffil gwreiddiol", "account.cancel_follow_request": "Canslo cais dilyn", "account.direct": "Neges breifat @{name}", - "account.disable_notifications": "Stop notifying me when @{name} posts", + "account.disable_notifications": "Stopiwch fy hysbysu pan fydd @{name} yn postio", "account.domain_blocked": "Parth wedi ei guddio", "account.edit_profile": "Golygu proffil", - "account.enable_notifications": "Notify me when @{name} posts", + "account.enable_notifications": "Rhowch wybod i fi pan fydd @{name} yn postio", "account.endorse": "Arddangos ar fy mhroffil", "account.follow": "Dilyn", "account.followers": "Dilynwyr", @@ -23,7 +23,7 @@ "account.follows.empty": "Nid yw'r defnyddiwr hwn yn dilyn unrhyw un eto.", "account.follows_you": "Yn eich dilyn chi", "account.hide_reblogs": "Cuddio bwstiau o @{name}", - "account.joined": "Joined {date}", + "account.joined": "Ymunodd {date}", "account.link_verified_on": "Gwiriwyd perchnogaeth y ddolen yma ar {date}", "account.locked_info": "Mae'r statws preifatrwydd cyfrif hwn wedi'i osod i gloi. Mae'r perchennog yn adolygu'r sawl sy'n gallu eu dilyn.", "account.media": "Cyfryngau", @@ -70,7 +70,7 @@ "column.blocks": "Defnyddwyr a flociwyd", "column.bookmarks": "Tudalnodau", "column.community": "Ffrwd lleol", - "column.direct": "Negeseuon preifat", + "column.conversations": "Conversations", "column.directory": "Pori proffiliau", "column.domain_blocks": "Parthau cuddiedig", "column.favourites": "Ffefrynnau", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Lleol yn unig", "community.column_settings.media_only": "Cyfryngau yn unig", "community.column_settings.remote_only": "Anghysbell yn unig", - "compose_form.direct_message_warning": "Mi fydd y tŵt hwn ond yn cael ei anfon at y defnyddwyr sy'n cael eu crybwyll.", "compose_form.direct_message_warning_learn_more": "Dysgu mwy", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Ni fydd y tŵt hwn wedi ei restru o dan unrhyw hashnod gan ei fod heb ei restru. Dim ond tŵtiau cyhoeddus gellid chwilota amdanynt drwy hashnod.", "compose_form.lock_disclaimer": "Nid yw eich cyfri wedi'i {locked}. Gall unrhyw un eich dilyn i weld eich tŵtiau dilynwyr-yn-unig.", "compose_form.lock_disclaimer.lock": "wedi ei gloi", @@ -166,7 +166,7 @@ "empty_column.blocks": "Nid ydych wedi blocio unrhyw ddefnyddwyr eto.", "empty_column.bookmarked_statuses": "Nid oes gennych unrhyw dwtiau tudalnodiedig eto. Pan y byddwch yn tudalnodi un, mi fydd yn ymddangos yma.", "empty_column.community": "Mae'r ffrwd lleol yn wag. Ysgrifenwch rhywbeth yn gyhoeddus i gael dechrau arni!", - "empty_column.direct": "Nid oes gennych unrhyw negeseuon preifat eto. Pan y byddwch yn anfon neu derbyn un, mi fydd yn ymddangos yma.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Nid oes yna unrhyw barthau cuddiedig eto.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Nid oes gennych unrhyw hoff dwtiau eto. Pan y byddwch yn hoffi un, mi fydd yn ymddangos yma.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "i fŵstio", "keyboard_shortcuts.column": "i ffocysu tŵt yn un o'r colofnau", "keyboard_shortcuts.compose": "i ffocysu yr ardal cyfansoddi testun", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Disgrifiad", - "keyboard_shortcuts.direct": "i agor colofn negeseuon preifat", "keyboard_shortcuts.down": "i symud lawr yn y rhestr", "keyboard_shortcuts.enter": "i agor tŵt", "keyboard_shortcuts.favourite": "i hoffi", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Tudalnodau", "navigation_bar.community_timeline": "Ffrwd leol", "navigation_bar.compose": "Cyfansoddi tŵt newydd", - "navigation_bar.direct": "Negeseuon preifat", "navigation_bar.discover": "Darganfod", "navigation_bar.domain_blocks": "Parthau cuddiedig", "navigation_bar.edit_profile": "Golygu proffil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Tynnu pleidlais", "privacy.change": "Addasu preifatrwdd y tŵt", "privacy.direct.long": "Cyhoeddi i'r defnyddwyr sy'n cael eu crybwyll yn unig", - "privacy.direct.short": "Uniongyrchol", + "privacy.direct.short": "Direct", "privacy.private.long": "Cyhoeddi i ddilynwyr yn unig", - "privacy.private.short": "Dilynwyr-yn-unig", - "privacy.public.long": "Cyhoeddi i ffrydiau cyhoeddus", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Cyhoeddus", - "privacy.unlisted.long": "Peidio a chyhoeddi i ffrydiau cyhoeddus", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Heb ei restru", "refresh": "Adnewyddu", "regeneration_indicator.label": "Llwytho…", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index d029e6244..e04a0634c 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -70,7 +70,7 @@ "column.blocks": "Blokerede brugere", "column.bookmarks": "Bogmærker", "column.community": "Lokal tidslinje", - "column.direct": "Direkte beskeder", + "column.conversations": "Konversationer", "column.directory": "Tjek profiler", "column.domain_blocks": "Blokerede domæner", "column.favourites": "Favoritter", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Kun lokalt", "community.column_settings.media_only": "Kun medier", "community.column_settings.remote_only": "Kun udefra", - "compose_form.direct_message_warning": "Indlægget sendes kun til de nævnte brugere.", "compose_form.direct_message_warning_learn_more": "Få mere at vide", + "compose_form.encryption_warning": "Indlæg på Mastodon er ikke ende-til-ende krypteret. Del derfor ikke sensitiv information over Mastodon.", "compose_form.hashtag_warning": "Da indlægget ikke er offentligt, vises det ikke under noget hashtag, idet kun offentlige indlæg kan søges via hashtags.", "compose_form.lock_disclaimer": "Din konto er ikke {locked}. Enhver kan følge dig og se indlæg kun beregnet for følgere.", "compose_form.lock_disclaimer.lock": "låst", @@ -166,7 +166,7 @@ "empty_column.blocks": "Ingen brugere blokeret endnu.", "empty_column.bookmarked_statuses": "Du har ingen bogmærkede indlæg endnu. Når du bogmærker ét, vil det dukke op hér.", "empty_column.community": "Den lokale tidslinje er tom. Skriv noget offentligt for at sætte tingene i gang!", - "empty_column.direct": "Du har endnu ingen direkte beskeder. Når du sender eller modtager én, vil den dukke op hér.", + "empty_column.conversations": "Når der sendes eller modtages indlæg, som kun er synligt for personer nævnt heri, vil de dukke op her.", "empty_column.domain_blocks": "Ingen blokerede domæner endnu.", "empty_column.explore_statuses": "Ingen nye tendensen pt. Tjek igen senere!", "empty_column.favourited_statuses": "Du har endnu ingen favoritindlæg. Når du favoritmarkerer ét, vil det dukke op hér.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Boost indlæg", "keyboard_shortcuts.column": "Fokusér kolonne", "keyboard_shortcuts.compose": "Fokusér skriveområdet", + "keyboard_shortcuts.conversations": "for at åbne konversationskolonnen", "keyboard_shortcuts.description": "Beskrivelse", - "keyboard_shortcuts.direct": "Åbn Direkte beskeder-kolonnen", "keyboard_shortcuts.down": "Flyt nedad på listen", "keyboard_shortcuts.enter": "Åbn indlæg", "keyboard_shortcuts.favourite": "Favoritmarkér indlæg", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bogmærker", "navigation_bar.community_timeline": "Lokal tidslinje", "navigation_bar.compose": "Skriv nyt indlæg", - "navigation_bar.direct": "Direkte beskeder", "navigation_bar.discover": "Opdag", "navigation_bar.domain_blocks": "Blokerede domæner", "navigation_bar.edit_profile": "Redigér profil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Fjern afstemning", "privacy.change": "Justér indlægsfortrolighed", "privacy.direct.long": "Kun synlig for nævnte brugere", - "privacy.direct.short": "Direkte", + "privacy.direct.short": "Kun personer, jeg nævner", "privacy.private.long": "Kun synlig for følgere", - "privacy.private.short": "Kun for følgere", - "privacy.public.long": "Synlig for alle, fremgår på offentlige tidslinjer", + "privacy.private.short": "Kun følgere", + "privacy.public.long": "Synlig for alle", "privacy.public.short": "Offentlig", - "privacy.unlisted.long": "Synlig for alle, fremgår ikke på offentlige tidslinjer", + "privacy.unlisted.long": "Synlig for alle, men med fravalgt visning i opdagelsesfunktioner", "privacy.unlisted.short": "Diskret", "refresh": "Genindlæs", "regeneration_indicator.label": "Indlæser…", @@ -515,7 +514,7 @@ "upload_error.poll": "Filupload ikke tilladt for afstemninger.", "upload_form.audio_description": "Beskrivelse til hørehæmmede", "upload_form.description": "Beskrivelse til svagtseende", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Ingen beskrivelse tilføjet", "upload_form.edit": "Redigér", "upload_form.thumbnail": "Skift miniature", "upload_form.undo": "Slet", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index bcfb1452c..1bf817c7b 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -70,7 +70,7 @@ "column.blocks": "Blockierte Profile", "column.bookmarks": "Lesezeichen", "column.community": "Lokale Zeitleiste", - "column.direct": "Direktnachrichten", + "column.conversations": "Konversationen", "column.directory": "Profile durchsuchen", "column.domain_blocks": "Blockierte Domains", "column.favourites": "Favoriten", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Nur lokal", "community.column_settings.media_only": "Nur Medien", "community.column_settings.remote_only": "Nur entfernt", - "compose_form.direct_message_warning": "Dieser Beitrag wird nur für die erwähnten Nutzer sichtbar sein.", "compose_form.direct_message_warning_learn_more": "Mehr erfahren", + "compose_form.encryption_warning": "Beiträge auf Mastodon sind nicht Ende-zu-Ende-verschlüsselt. Teile keine sensiblen Informationen über Mastodon.", "compose_form.hashtag_warning": "Dieser Beitrag wird nicht durch Hashtags entdeckbar sein, weil er ungelistet ist. Nur öffentliche Beiträge tauchen in Hashtag-Zeitleisten auf.", "compose_form.lock_disclaimer": "Dein Profil ist nicht {locked}. Wer dir folgen will, kann das jederzeit tun und dann auch deine privaten Beiträge sehen.", "compose_form.lock_disclaimer.lock": "gesperrt", @@ -166,7 +166,7 @@ "empty_column.blocks": "Du hast keine Profile blockiert.", "empty_column.bookmarked_statuses": "Du hast bis jetzt keine Beiträge als Lesezeichen gespeichert. Wenn du einen Beitrag als Lesezeichen speicherst wird er hier erscheinen.", "empty_column.community": "Die lokale Zeitleiste ist leer. Schreibe einen öffentlichen Beitrag, um den Ball ins Rollen zu bringen!", - "empty_column.direct": "Du hast noch keine Direktnachrichten erhalten. Wenn du eine sendest oder empfängst, wird sie hier zu sehen sein.", + "empty_column.conversations": "Sobald du einen Beitrag sendest oder empfängst, der nur für die in ihm erwähnten Personen sichtbar ist, wird er hier angezeigt.", "empty_column.domain_blocks": "Es sind noch keine Domains versteckt.", "empty_column.explore_statuses": "Momentan ist nichts im Trend. Schau später wieder!", "empty_column.favourited_statuses": "Du hast noch keine favorisierten Tröts. Wenn du einen favorisierst, wird er hier erscheinen.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "teilen", "keyboard_shortcuts.column": "einen Beitrag in einer der Spalten fokussieren", "keyboard_shortcuts.compose": "fokussiere das Eingabefeld", + "keyboard_shortcuts.conversations": "um die Konversationsspalte zu öffnen", "keyboard_shortcuts.description": "Beschreibung", - "keyboard_shortcuts.direct": "Direct-Message-Spalte öffnen", "keyboard_shortcuts.down": "sich in der Liste hinunter bewegen", "keyboard_shortcuts.enter": "Beitrag öffnen", "keyboard_shortcuts.favourite": "um zu favorisieren", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Lesezeichen", "navigation_bar.community_timeline": "Lokale Zeitleiste", "navigation_bar.compose": "Neuen Beitrag verfassen", - "navigation_bar.direct": "Direktnachrichten", "navigation_bar.discover": "Entdecken", "navigation_bar.domain_blocks": "Versteckte Domains", "navigation_bar.edit_profile": "Profil bearbeiten", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Umfrage entfernen", "privacy.change": "Sichtbarkeit des Beitrags anpassen", "privacy.direct.long": "Wird an erwähnte Profile gesendet", - "privacy.direct.short": "Direktnachricht", + "privacy.direct.short": "Nur Leute, die ich erwähne", "privacy.private.long": "Nur für Folgende sichtbar", - "privacy.private.short": "Nur für Folgende", - "privacy.public.long": "Wird in öffentlichen Zeitleisten erscheinen", + "privacy.private.short": "Nur Folgende", + "privacy.public.long": "Sichtbar für alle", "privacy.public.short": "Öffentlich", - "privacy.unlisted.long": "Wird in öffentlichen Zeitleisten nicht gezeigt", + "privacy.unlisted.long": "Sichtbar für alle, aber nicht für Entdeckungsfunktionen", "privacy.unlisted.short": "Nicht gelistet", "refresh": "Aktualisieren", "regeneration_indicator.label": "Laden…", @@ -524,7 +523,7 @@ "upload_modal.apply": "Übernehmen", "upload_modal.applying": "Anwenden…", "upload_modal.choose_image": "Bild auswählen", - "upload_modal.description_placeholder": "Die heiße Zypernsonne quälte Max und Victoria ja böse auf dem Weg bis zur Küste", + "upload_modal.description_placeholder": "Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich", "upload_modal.detect_text": "Text aus Bild erkennen", "upload_modal.edit_media": "Medien bearbeiten", "upload_modal.hint": "Klicke oder ziehe den Kreis auf die Vorschau, um den Brennpunkt auszuwählen, der immer auf allen Vorschaubilder angezeigt wird.", diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json index aab9b9857..7a8af7042 100644 --- a/app/javascript/mastodon/locales/defaultMessages.json +++ b/app/javascript/mastodon/locales/defaultMessages.json @@ -3657,4 +3657,4 @@ ], "path": "app/javascript/mastodon/features/video/index.json" } -] +] \ No newline at end of file diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index 8b4a9c168..5a6af8291 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -70,7 +70,7 @@ "column.blocks": "Αποκλεισμένοι χρήστες", "column.bookmarks": "Σελιδοδείκτες", "column.community": "Τοπική ροή", - "column.direct": "Προσωπικά μηνύματα", + "column.conversations": "Συνομιλίες", "column.directory": "Δες προφίλ", "column.domain_blocks": "Κρυμμένοι τομείς", "column.favourites": "Αγαπημένα", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Τοπικά μόνο", "community.column_settings.media_only": "Μόνο πολυμέσα", "community.column_settings.remote_only": "Απομακρυσμένα μόνο", - "compose_form.direct_message_warning": "Αυτό το τουτ θα σταλεί μόνο στους αναφερόμενους χρήστες.", "compose_form.direct_message_warning_learn_more": "Μάθετε περισσότερα", + "compose_form.encryption_warning": "Οι δημοσιεύσεις στο Mastodon δεν είναι κρυπτογραφημένες από άκρο σε άκρο. Μην μοιράζεστε επικίνδυνες πληροφορίες μέσω του Mastodon.", "compose_form.hashtag_warning": "Αυτό το τουτ δεν θα εμφανίζεται κάτω από κανένα hashtag καθώς είναι αφανές. Μόνο τα δημόσια τουτ μπορούν να αναζητηθούν ανά hashtag.", "compose_form.lock_disclaimer": "Ο λογαριασμός σου δεν είναι {locked}. Οποιοσδήποτε μπορεί να σε ακολουθήσει για να δει τις δημοσιεύσεις σας προς τους ακολούθους σας.", "compose_form.lock_disclaimer.lock": "κλειδωμένο", @@ -166,7 +166,7 @@ "empty_column.blocks": "Δεν έχεις αποκλείσει κανέναν χρήστη ακόμα.", "empty_column.bookmarked_statuses": "Δεν έχεις κανένα αποθηκευμένο τουτ ακόμα. Μόλις αποθηκεύσεις κάποιο, θα εμφανιστεί εδώ.", "empty_column.community": "Η τοπική ροή είναι κενή. Γράψε κάτι δημόσιο παραμύθι ν' αρχινίσει!", - "empty_column.direct": "Δεν έχεις προσωπικά μηνύματα ακόμα. Όταν στείλεις ή λάβεις κανένα, θα εμφανιστεί εδώ.", + "empty_column.conversations": "Μόλις στείλετε ή λάβετε μια δημοσίευση που είναι ορατή μόνο σε άτομα που αναφέρονται σε αυτή, θα εμφανιστεί εδώ.", "empty_column.domain_blocks": "Δεν υπάρχουν αποκλεισμένοι τομείς ακόμα.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Δεν έχεις κανένα αγαπημένο τουτ ακόμα. Μόλις αγαπήσεις κάποιο, θα εμφανιστεί εδώ.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "προώθηση", "keyboard_shortcuts.column": "εμφάνιση της κατάστασης σε μια από τις στήλες", "keyboard_shortcuts.compose": "εστίαση στην περιοχή συγγραφής", + "keyboard_shortcuts.conversations": "για να ανοίξετε στήλη συνομιλιών", "keyboard_shortcuts.description": "Περιγραφή", - "keyboard_shortcuts.direct": "άνοιγμα στήλης απευθείας μηνυμάτων", "keyboard_shortcuts.down": "κίνηση προς τα κάτω στη λίστα", "keyboard_shortcuts.enter": "εμφάνιση κατάστασης", "keyboard_shortcuts.favourite": "σημείωση ως αγαπημένο", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Σελιδοδείκτες", "navigation_bar.community_timeline": "Τοπική ροή", "navigation_bar.compose": "Γράψε νέο τουτ", - "navigation_bar.direct": "Προσωπικά μηνύματα", "navigation_bar.discover": "Ανακάλυψη", "navigation_bar.domain_blocks": "Κρυμμένοι τομείς", "navigation_bar.edit_profile": "Επεξεργασία προφίλ", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Αφαίρεση δημοσκόπησης", "privacy.change": "Προσαρμογή ιδιωτικότητας δημοσίευσης", "privacy.direct.long": "Δημοσίευση μόνο σε όσους και όσες αναφέρονται", - "privacy.direct.short": "Προσωπικά", + "privacy.direct.short": "Μόνο άτομα που αναφέρω", "privacy.private.long": "Δημοσίευση μόνο στους ακόλουθους", "privacy.private.short": "Μόνο ακόλουθοι", - "privacy.public.long": "Δημοσίευσε στις δημόσιες ροές", + "privacy.public.long": "Ορατό σε όλους", "privacy.public.short": "Δημόσιο", - "privacy.unlisted.long": "Μην δημοσιεύσεις στις δημόσιες ροές", + "privacy.unlisted.long": "Ορατό για όλους, αλλά opted-out των χαρακτηριστικών της ανακάλυψης", "privacy.unlisted.short": "Μη καταχωρημένα", "refresh": "Ανανέωση", "regeneration_indicator.label": "Φορτώνει…", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index f72bb7244..315c416db 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -70,7 +70,7 @@ "column.blocks": "Blokitaj uzantoj", "column.bookmarks": "Legosignoj", "column.community": "Loka templinio", - "column.direct": "Rektaj mesaĝoj", + "column.conversations": "Conversations", "column.directory": "Trarigardi profilojn", "column.domain_blocks": "Blokitaj domajnoj", "column.favourites": "Stelumoj", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Nur loka", "community.column_settings.media_only": "Nur aŭdovidaĵoj", "community.column_settings.remote_only": "Nur malproksima", - "compose_form.direct_message_warning": "Tiu mesaĝo estos sendita nur al menciitaj uzantoj.", "compose_form.direct_message_warning_learn_more": "Lerni pli", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Ĉi tiu mesaĝo ne estos listigita per ajna kradvorto. Nur publikaj mesaĝoj estas serĉeblaj per kradvortoj.", "compose_form.lock_disclaimer": "Via konta ne estas {locked}. Iu ajn povas sekvi vin por vidi viajn mesaĝojn, kiuj estas nur por sekvantoj.", "compose_form.lock_disclaimer.lock": "ŝlosita", @@ -166,7 +166,7 @@ "empty_column.blocks": "Vi ankoraŭ ne blokis uzanton.", "empty_column.bookmarked_statuses": "Vi ankoraŭ ne aldonis mesaĝon al viaj legosignoj. Kiam vi aldonos iun, tiu aperos ĉi tie.", "empty_column.community": "La loka templinio estas malplena. Skribu ion por plenigi ĝin!", - "empty_column.direct": "Vi ankoraŭ ne havas rektan mesaĝon. Kiam vi sendos aŭ ricevos iun, ĝi aperos ĉi tie.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Ankoraŭ neniu domajno estas blokita.", "empty_column.explore_statuses": "Nenio tendencas nun. Rekontrolu poste!", "empty_column.favourited_statuses": "Vi ankoraŭ ne stelumis mesaĝon. Kiam vi stelumos iun, tiu aperos ĉi tie.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "diskonigi", "keyboard_shortcuts.column": "fokusi mesaĝon en unu el la kolumnoj", "keyboard_shortcuts.compose": "enfokusigi la tekstujon", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Priskribo", - "keyboard_shortcuts.direct": "malfermi la kolumnon de rektaj mesaĝoj", "keyboard_shortcuts.down": "iri suben en la listo", "keyboard_shortcuts.enter": "malfermi mesaĝon", "keyboard_shortcuts.favourite": "stelumi", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Legosignoj", "navigation_bar.community_timeline": "Loka templinio", "navigation_bar.compose": "Skribi novan mesaĝon", - "navigation_bar.direct": "Rektaj mesaĝoj", "navigation_bar.discover": "Esplori", "navigation_bar.domain_blocks": "Blokitaj domajnoj", "navigation_bar.edit_profile": "Redakti profilon", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Forigi balotenketon", "privacy.change": "Agordi mesaĝan privatecon", "privacy.direct.long": "Videbla nur al menciitaj uzantoj", - "privacy.direct.short": "Rekta", + "privacy.direct.short": "Direct", "privacy.private.long": "Videbla nur al viaj sekvantoj", - "privacy.private.short": "Nur al sekvantoj", - "privacy.public.long": "Videbla al ĉiuj, afiŝita en publikaj templinioj", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Publika", - "privacy.unlisted.long": "Videbla al ĉiuj, sed ne en publikaj templinioj", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Nelistigita", "refresh": "Refreŝigu", "regeneration_indicator.label": "Ŝargado…", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index 233794b84..1eac00cff 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -70,7 +70,7 @@ "column.blocks": "Usuarios bloqueados", "column.bookmarks": "Marcadores", "column.community": "Línea temporal local", - "column.direct": "Mensajes directos", + "column.conversations": "Conversaciones", "column.directory": "Explorar perfiles", "column.domain_blocks": "Dominios bloqueados", "column.favourites": "Favoritos", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Sólo local", "community.column_settings.media_only": "Sólo medios", "community.column_settings.remote_only": "Sólo remoto", - "compose_form.direct_message_warning": "Este mensaje sólo será enviado a los usuarios mencionados.", "compose_form.direct_message_warning_learn_more": "Aprendé más", + "compose_form.encryption_warning": "Los mensajes en Mastodon no están cifrados de extremo a extremo. No comparta ninguna información sensible al usar Mastodon.", "compose_form.hashtag_warning": "Este mensaje no se mostrará bajo ninguna etiqueta porque no es público. Sólo los mensajes públicos se pueden buscar por etiquetas.", "compose_form.lock_disclaimer": "Tu cuenta no es {locked}. Todos pueden seguirte para ver tus mensajes marcados como \"Sólo para seguidores\".", "compose_form.lock_disclaimer.lock": "privada", @@ -166,7 +166,7 @@ "empty_column.blocks": "Todavía no bloqueaste a ningún usuario.", "empty_column.bookmarked_statuses": "Todavía no tenés mensajes guardados en \"Marcadores\". Cuando guardés uno en \"Marcadores\", se mostrará acá.", "empty_column.community": "La línea temporal local está vacía. ¡Escribí algo en modo público para que se empiece a correr la bola!", - "empty_column.direct": "Todavía no tenés ningún mensaje directo. Cuando enviés o recibás uno, se mostrará acá.", + "empty_column.conversations": "Una vez que enviés o recibás un mensaje que sólo sea visible para la gente mencionada en él, aparecerá aquí.", "empty_column.domain_blocks": "Todavía no hay dominios bloqueados.", "empty_column.explore_statuses": "No hay nada en tendencia ahora mismo. ¡Volvé a revisar más tarde!", "empty_column.favourited_statuses": "Todavía no tenés mensajes favoritos. Cuando marqués uno como favorito, se mostrará acá.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Adherir al mensaje", "keyboard_shortcuts.column": "Enfocar columna", "keyboard_shortcuts.compose": "Enfocar el área de texto de redacción", + "keyboard_shortcuts.conversations": "para abrir la columna de conversaciones", "keyboard_shortcuts.description": "Descripción", - "keyboard_shortcuts.direct": "Abrir columna de mensajes directos", "keyboard_shortcuts.down": "Bajar en la lista", "keyboard_shortcuts.enter": "Abrir mensaje", "keyboard_shortcuts.favourite": "Marcar mensaje como favorito", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Marcadores", "navigation_bar.community_timeline": "Línea temporal local", "navigation_bar.compose": "Redactar un nuevo mensaje", - "navigation_bar.direct": "Mensajes directos", "navigation_bar.discover": "Descubrir", "navigation_bar.domain_blocks": "Dominios bloqueados", "navigation_bar.edit_profile": "Editar perfil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Quitar encuesta", "privacy.change": "Configurar privacidad del mensaje", "privacy.direct.long": "Visible sólo para los usuarios mencionados", - "privacy.direct.short": "Directo", + "privacy.direct.short": "Sólo a las cuentas que menciono", "privacy.private.long": "Visible sólo para los seguidores", "privacy.private.short": "Sólo para seguidores", - "privacy.public.long": "Visible para todos, mostrado en las líneas temporales públicas", + "privacy.public.long": "Visible para todos", "privacy.public.short": "Público", - "privacy.unlisted.long": "Visible para todos, pero no en las líneas temporales públicas", + "privacy.unlisted.long": "Visible para todos, pero excluido de las características de descubrimiento", "privacy.unlisted.short": "No listado", "refresh": "Refrescar", "regeneration_indicator.label": "Cargando…", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index 4ad7249be..c51ed52a6 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -70,7 +70,7 @@ "column.blocks": "Usuarios bloqueados", "column.bookmarks": "Marcadores", "column.community": "Línea de tiempo local", - "column.direct": "Mensajes directos", + "column.conversations": "Conversations", "column.directory": "Buscar perfiles", "column.domain_blocks": "Dominios ocultados", "column.favourites": "Favoritos", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Solo local", "community.column_settings.media_only": "Solo media", "community.column_settings.remote_only": "Solo remoto", - "compose_form.direct_message_warning": "Este toot solo será enviado a los usuarios mencionados.", "compose_form.direct_message_warning_learn_more": "Aprender mas", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Este toot no se mostrará bajo hashtags porque no es público. Sólo los toots públicos se pueden buscar por hashtag.", "compose_form.lock_disclaimer": "Tu cuenta no está bloqueada. Todos pueden seguirte para ver tus toots solo para seguidores.", "compose_form.lock_disclaimer.lock": "bloqueado", @@ -166,7 +166,7 @@ "empty_column.blocks": "Aún no has bloqueado a ningún usuario.", "empty_column.bookmarked_statuses": "Aún no tienes ningún toot guardado como marcador. Cuando guardes uno, se mostrará aquí.", "empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!", - "empty_column.direct": "Aún no tienes ningún mensaje directo. Cuando envíes o recibas uno, se mostrará aquí.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Todavía no hay dominios ocultos.", "empty_column.explore_statuses": "Nada es tendencia en este momento. ¡Revisa más tarde!", "empty_column.favourited_statuses": "Aún no tienes toots preferidos. Cuando marques uno como favorito, aparecerá aquí.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "retootear", "keyboard_shortcuts.column": "enfocar un estado en una de las columnas", "keyboard_shortcuts.compose": "enfocar el área de texto de redacción", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Descripción", - "keyboard_shortcuts.direct": "abrir la columna de mensajes directos", "keyboard_shortcuts.down": "mover hacia abajo en la lista", "keyboard_shortcuts.enter": "abrir estado", "keyboard_shortcuts.favourite": "añadir a favoritos", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Marcadores", "navigation_bar.community_timeline": "Historia local", "navigation_bar.compose": "Escribir un nuevo toot", - "navigation_bar.direct": "Mensajes directos", "navigation_bar.discover": "Descubrir", "navigation_bar.domain_blocks": "Dominios ocultos", "navigation_bar.edit_profile": "Editar perfil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Eliminar encuesta", "privacy.change": "Ajustar privacidad", "privacy.direct.long": "Sólo mostrar a los usuarios mencionados", - "privacy.direct.short": "Directo", + "privacy.direct.short": "Direct", "privacy.private.long": "Sólo mostrar a seguidores", - "privacy.private.short": "Privado", - "privacy.public.long": "Mostrar en la historia federada", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Público", - "privacy.unlisted.long": "No mostrar en la historia federada", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "No listado", "refresh": "Actualizar", "regeneration_indicator.label": "Cargando…", @@ -515,7 +514,7 @@ "upload_error.poll": "Subida de archivos no permitida con encuestas.", "upload_form.audio_description": "Describir para personas con problemas auditivos", "upload_form.description": "Describir para los usuarios con dificultad visual", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Ninguna descripción añadida", "upload_form.edit": "Editar", "upload_form.thumbnail": "Cambiar miniatura", "upload_form.undo": "Borrar", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index 22cf97faa..723b7d333 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -70,7 +70,7 @@ "column.blocks": "Usuarios bloqueados", "column.bookmarks": "Marcadores", "column.community": "Línea de tiempo local", - "column.direct": "Mensajes directos", + "column.conversations": "Conversaciones", "column.directory": "Buscar perfiles", "column.domain_blocks": "Dominios ocultados", "column.favourites": "Favoritos", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Solo local", "community.column_settings.media_only": "Solo media", "community.column_settings.remote_only": "Solo remoto", - "compose_form.direct_message_warning": "Esta nueva publicación solo será enviada a los usuarios mencionados.", "compose_form.direct_message_warning_learn_more": "Aprender más", + "compose_form.encryption_warning": "Los mensajes en Mastodon no están cifrados de extremo a extremo. No comparta ninguna información confidencial en Mastodon.", "compose_form.hashtag_warning": "Esta publicación no se mostrará bajo ningún hashtag porque no está listada. Sólo las publicaciones públicas se pueden buscar por hashtag.", "compose_form.lock_disclaimer": "Tu cuenta no está {locked}. Todos pueden seguirte para ver tus publicaciones solo para seguidores.", "compose_form.lock_disclaimer.lock": "bloqueado", @@ -166,7 +166,7 @@ "empty_column.blocks": "Aún no has bloqueado a ningún usuario.", "empty_column.bookmarked_statuses": "Aún no tienes ninguna publicación guardada como marcador. Cuando guardes una, se mostrará aquí.", "empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!", - "empty_column.direct": "Aún no tienes ningún mensaje directo. Cuando envíes o recibas uno, se mostrará aquí.", + "empty_column.conversations": "Una vez que envíe o reciba un mensaje que solo sea visible para la gente mencionada en él, aparecerá aquí.", "empty_column.domain_blocks": "Todavía no hay dominios ocultos.", "empty_column.explore_statuses": "Nada está en tendencia en este momento. ¡Revisa más tarde!", "empty_column.favourited_statuses": "Aún no tienes publicaciones favoritas. Cuando marques una como favorita, aparecerá aquí.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Retootear", "keyboard_shortcuts.column": "enfocar un estado en una de las columnas", "keyboard_shortcuts.compose": "enfocar el área de texto de redacción", + "keyboard_shortcuts.conversations": "para abrir la columna de conversaciones", "keyboard_shortcuts.description": "Descripción", - "keyboard_shortcuts.direct": "abrir la columna de mensajes directos", "keyboard_shortcuts.down": "mover hacia abajo en la lista", "keyboard_shortcuts.enter": "abrir estado", "keyboard_shortcuts.favourite": "añadir a favoritos", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Marcadores", "navigation_bar.community_timeline": "Línea de tiempo local", "navigation_bar.compose": "Escribir nueva publicación", - "navigation_bar.direct": "Mensajes directos", "navigation_bar.discover": "Descubrir", "navigation_bar.domain_blocks": "Dominios ocultos", "navigation_bar.edit_profile": "Editar perfil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Eliminar encuesta", "privacy.change": "Ajustar privacidad", "privacy.direct.long": "Sólo mostrar a los usuarios mencionados", - "privacy.direct.short": "Directo", + "privacy.direct.short": "Solo la gente que yo menciono", "privacy.private.long": "Sólo mostrar a seguidores", - "privacy.private.short": "Privado", - "privacy.public.long": "Mostrar en la historia federada", + "privacy.private.short": "Solo seguidores", + "privacy.public.long": "Visible por todos", "privacy.public.short": "Público", - "privacy.unlisted.long": "No mostrar en la historia federada", + "privacy.unlisted.long": "Visible para todos, pero excluido de las características de descubrimiento", "privacy.unlisted.short": "No listado", "refresh": "Actualizar", "regeneration_indicator.label": "Cargando…", diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json index bb10fd504..ca40ff370 100644 --- a/app/javascript/mastodon/locales/et.json +++ b/app/javascript/mastodon/locales/et.json @@ -70,7 +70,7 @@ "column.blocks": "Blokeeritud kasutajad", "column.bookmarks": "Järjehoidjad", "column.community": "Kohalik ajajoon", - "column.direct": "Otsesõnumid", + "column.conversations": "Conversations", "column.directory": "Sirvi profiile", "column.domain_blocks": "Peidetud domeenid", "column.favourites": "Lemmikud", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Ainult kohalik", "community.column_settings.media_only": "Ainult meedia", "community.column_settings.remote_only": "Ainult kaug", - "compose_form.direct_message_warning": "See tuut saadetakse ainult mainitud kasutajatele.", "compose_form.direct_message_warning_learn_more": "Vaata veel", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "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", @@ -166,7 +166,7 @@ "empty_column.blocks": "Sa ei ole veel ühtegi kasutajat blokeerinud.", "empty_column.bookmarked_statuses": "Teil pole veel järjehoidjatesse lisatud tuututusi. Kui lisate mõne, näete neid siin.", "empty_column.community": "Kohalik ajajoon on tühi. Kirjutage midagi avalikult, et pall veerema ajada!", - "empty_column.direct": "Teil ei ole veel otsesõnumeid. Kui saadate või võtate mõne vastu, ilmuvad nad siia.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, 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.favourited_statuses": "Teil pole veel lemmikuid tuute. Kui märgite mõne, näete neid siin.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "upitamiseks", "keyboard_shortcuts.column": "fokuseerimaks staatust ühele tulpadest", "keyboard_shortcuts.compose": "fokuseerimaks tekstikoostamise alale", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Kirjeldus", - "keyboard_shortcuts.direct": "avamaks otsesõnumite tulpa", "keyboard_shortcuts.down": "liikumaks nimstus alla", "keyboard_shortcuts.enter": "staatuse avamiseks", "keyboard_shortcuts.favourite": "lemmikuks märkimiseks", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Järjehoidjad", "navigation_bar.community_timeline": "Kohalik ajajoon", "navigation_bar.compose": "Koosta uus tuut", - "navigation_bar.direct": "Otsesõnumid", "navigation_bar.discover": "Avasta", "navigation_bar.domain_blocks": "Peidetud domeenid", "navigation_bar.edit_profile": "Muuda profiili", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Eemalda küsitlus", "privacy.change": "Muuda staatuse privaatsust", "privacy.direct.long": "Postita ainult mainitud kasutajatele", - "privacy.direct.short": "Otsene", + "privacy.direct.short": "Direct", "privacy.private.long": "Postita ainult jälgijatele", - "privacy.private.short": "Ainult jälgijatele", - "privacy.public.long": "Postita avalikele ajajoontele", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Avalik", - "privacy.unlisted.long": "Ära postita avalikele ajajoontele", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Määramata", "refresh": "Värskenda", "regeneration_indicator.label": "Laeb…", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index 6aca056d0..119395b2f 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -70,7 +70,7 @@ "column.blocks": "Blokeatutako erabiltzaileak", "column.bookmarks": "Laster-markak", "column.community": "Denbora-lerro lokala", - "column.direct": "Mezu zuzenak", + "column.conversations": "Conversations", "column.directory": "Arakatu profilak", "column.domain_blocks": "Ezkutatutako domeinuak", "column.favourites": "Gogokoak", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Lokala soilik", "community.column_settings.media_only": "Multimedia besterik ez", "community.column_settings.remote_only": "Urrunekoa soilik", - "compose_form.direct_message_warning": "Bidalketa hau aipatutako erabiltzaileei besterik ez zaie bidaliko.", "compose_form.direct_message_warning_learn_more": "Ikasi gehiago", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Bidalketa hau ez da traoletan agertuko zerrendatu gabekoa baita. Traoletan bidalketa publikoak besterik ez dira agertzen.", "compose_form.lock_disclaimer": "Zure kontua ez dago {locked}. Edonork jarraitu zaitzake zure jarraitzaileentzako soilik diren bidalketak ikusteko.", "compose_form.lock_disclaimer.lock": "giltzapetuta", @@ -166,7 +166,7 @@ "empty_column.blocks": "Ez duzu erabiltzailerik blokeatu oraindik.", "empty_column.bookmarked_statuses": "Oraindik ez dituzu bidalketa laster-markatutarik. Bat laster-markatzerakoan, hemen agertuko da.", "empty_column.community": "Denbora-lerro lokala hutsik dago. Idatzi zerbait publikoki pilota biraka jartzeko!", - "empty_column.direct": "Ez duzu mezu zuzenik oraindik. Baten bat bidali edo jasotzen duzunean, hemen agertuko da.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Ez dago ezkutatutako domeinurik oraindik.", "empty_column.explore_statuses": "Ez dago joerarik une honetan. Begiratu beranduago!", "empty_column.favourited_statuses": "Ez duzu gogokorik oraindik. Gogokoren bat duzunean hemen agertuko da.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Bultzatu bidalketa", "keyboard_shortcuts.column": "mezu bat zutabe batean fokatzea", "keyboard_shortcuts.compose": "testua konposatzeko arean fokatzea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Deskripzioa", - "keyboard_shortcuts.direct": "mezu zuzenen zutabea irekitzeko", "keyboard_shortcuts.down": "zerrendan behera mugitzea", "keyboard_shortcuts.enter": "Ireki bidalketa", "keyboard_shortcuts.favourite": "Egin gogoko bidalketa", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Laster-markak", "navigation_bar.community_timeline": "Denbora-lerro lokala", "navigation_bar.compose": "Idatzi bidalketa berria", - "navigation_bar.direct": "Mezu zuzenak", "navigation_bar.discover": "Aurkitu", "navigation_bar.domain_blocks": "Ezkutatutako domeinuak", "navigation_bar.edit_profile": "Aldatu profila", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Kendu inkesta", "privacy.change": "Aldatu bidalketaren pribatutasuna", "privacy.direct.long": "Bidali aipatutako erabiltzaileei besterik ez", - "privacy.direct.short": "Zuzena", + "privacy.direct.short": "Direct", "privacy.private.long": "Bidali jarraitzaileei besterik ez", - "privacy.private.short": "Jarraitzaileak soilik", - "privacy.public.long": "Bistaratu denbora-lerro publikoetan", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Publikoa", - "privacy.unlisted.long": "Do not show in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Zerrendatu gabea", "refresh": "Berritu", "regeneration_indicator.label": "Kargatzen…", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index 17399a01f..ae74607ab 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -70,7 +70,7 @@ "column.blocks": "کاربران مسدود شده", "column.bookmarks": "نشانک‌ها", "column.community": "خط زمانی محلّی", - "column.direct": "پیام‌های مستقیم", + "column.conversations": "Conversations", "column.directory": "مرور نمایه‌ها", "column.domain_blocks": "دامنه‌های مسدود شده", "column.favourites": "پسندیده‌ها", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "فقط محلّی", "community.column_settings.media_only": "فقط رسانه", "community.column_settings.remote_only": "تنها دوردست", - "compose_form.direct_message_warning": "این فرسته تنها به کاربرانی که از آن‌ها نام برده شده فرستاده خواهد شد.", "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.hashtag_warning": "از آن‌جا که این فرسته فهرست نشده است، در نتایج جست‌وجوی هشتگ‌ها پیدا نخواهد شد. تنها فرسته‌های عمومی را می‌توان با جست‌وجوی هشتگ یافت.", "compose_form.lock_disclaimer": "حسابتان {locked} نیست. هر کسی می‌تواند پی‌گیرتان شده و فرسته‌های ویژهٔ پی‌گیرانتان را ببیند.", "compose_form.lock_disclaimer.lock": "قفل‌شده", @@ -166,7 +166,7 @@ "empty_column.blocks": "هنوز کسی را مسدود نکرده‌اید.", "empty_column.bookmarked_statuses": "هنوز هیچ فرستهٔ نشانه‌گذاری شده‌ای ندارید. هنگامی که فرسته‌ای را نشانه‌گذاری کنید، این‌جا نشان داده خواهد شد.", "empty_column.community": "خط زمانی محلّی خالی است. چیزی بنویسید تا چرخش بچرخد!", - "empty_column.direct": "هنوز هیچ پیام مستقیمی ندارید. هنگامی که چنین پیامی بگیرید یا بفرستید این‌جا نشان داده خواهد شد.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "هنوز هیچ دامنه‌ای مسدود نشده است.", "empty_column.explore_statuses": "الآن چیزی پرطرفدار نیست. بعداً دوباره بررسی کنید!", "empty_column.favourited_statuses": "شما هنوز هیچ فرسته‌ای را نپسندیده‌اید. هنگامی که فرسته‌ای را بپسندید، این‌جا نشان داده خواهد شد.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "تقویت فرسته", "keyboard_shortcuts.column": "برای تمرکز روی یک فرسته در یکی از ستون‌ها", "keyboard_shortcuts.compose": "تمرکز روی محیط نوشتن", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "توضیح", - "keyboard_shortcuts.direct": "گشودن ستون پیام‌های مستقیم", "keyboard_shortcuts.down": "پایین بردن در سیاهه", "keyboard_shortcuts.enter": "گشودن فرسته", "keyboard_shortcuts.favourite": "پسندیدن فرسته", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "نشانک‌ها", "navigation_bar.community_timeline": "خط زمانی محلّی", "navigation_bar.compose": "نوشتن فرستهٔ تازه", - "navigation_bar.direct": "پیام‌های مستقیم", "navigation_bar.discover": "گشت و گذار", "navigation_bar.domain_blocks": "دامنه‌های مسدود شده", "navigation_bar.edit_profile": "ویرایش نمایه", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "برداشتن نظرسنجی", "privacy.change": "تغییر محرمانگی فرسته", "privacy.direct.long": "فقط برای کاربران نام‌برده نمایان است", - "privacy.direct.short": "مستقیم", + "privacy.direct.short": "Direct", "privacy.private.long": "نمایان فقط برای پی‌گیرندگان", - "privacy.private.short": "فقط پی‌گیرندگان", - "privacy.public.long": "نمایان برای همه، در خط‌های زمانی همگانی نمایش داده خواهد شد", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "عمومی", - "privacy.unlisted.long": "نمایان برای همه، ولی در خط‌های زمانی همگانی نمایش داده نخواهد شد", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "فهرست نشده", "refresh": "نوسازی", "regeneration_indicator.label": "در حال بار شدن…", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 9bc176db4..99f81be6e 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -70,7 +70,7 @@ "column.blocks": "Estetyt käyttäjät", "column.bookmarks": "Kirjanmerkit", "column.community": "Paikallinen aikajana", - "column.direct": "Pikaviestit", + "column.conversations": "Conversations", "column.directory": "Selaa profiileja", "column.domain_blocks": "Piilotetut verkkotunnukset", "column.favourites": "Suosikit", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Vain paikalliset", "community.column_settings.media_only": "Vain media", "community.column_settings.remote_only": "Vain etäkäyttö", - "compose_form.direct_message_warning": "Tämä viesti näkyy vain mainituille käyttäjille.", "compose_form.direct_message_warning_learn_more": "Lisätietoja", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Tätä julkaisua listata minkään hastagin alle, koska se on listaamaton. Ainoastaan julkisia julkaisuja etsiä hastageilla.", "compose_form.lock_disclaimer": "Tilisi ei ole {locked}. Kuka tahansa voi seurata tiliäsi ja nähdä vain seuraajille rajaamasi julkaisut.", "compose_form.lock_disclaimer.lock": "lukittu", @@ -166,7 +166,7 @@ "empty_column.blocks": "Et ole vielä estänyt yhtään käyttäjää.", "empty_column.bookmarked_statuses": "Et ole vielä lisännyt viestejä kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.", "empty_column.community": "Paikallinen aikajana on tyhjä. Kirjoita jotain julkista, niin homma lähtee käyntiin!", - "empty_column.direct": "Sinulla ei ole vielä yhtään viestiä yksittäiselle käyttäjälle. Kun lähetät tai vastaanotat sellaisen, se näkyy täällä.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Yhtään verkko-osoitetta ei ole vielä estetty.", "empty_column.explore_statuses": "Mikään ei ole nyt trendi. Tarkista myöhemmin!", "empty_column.favourited_statuses": "Et ole vielä lisännyt viestejä kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Buustaa viestiä", "keyboard_shortcuts.column": "Kohdista sarakkeeseen", "keyboard_shortcuts.compose": "siirry tekstinsyöttöön", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Kuvaus", - "keyboard_shortcuts.direct": "Avaa pikaviestisarake", "keyboard_shortcuts.down": "Siirry listassa alaspäin", "keyboard_shortcuts.enter": "Avaa julkaisu", "keyboard_shortcuts.favourite": "Lisää suosikkeihin", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Kirjanmerkit", "navigation_bar.community_timeline": "Paikallinen aikajana", "navigation_bar.compose": "Luo uusi viesti", - "navigation_bar.direct": "Pikaviestit", "navigation_bar.discover": "Löydä uutta", "navigation_bar.domain_blocks": "Estetyt verkkotunnukset", "navigation_bar.edit_profile": "Muokkaa profiilia", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Poista kysely", "privacy.change": "Muuta julkaisun näkyvyyttä", "privacy.direct.long": "Julkaise vain mainituille käyttäjille", - "privacy.direct.short": "Suora viesti", + "privacy.direct.short": "Direct", "privacy.private.long": "Julkaise vain seuraajille", - "privacy.private.short": "Vain seuraajat", - "privacy.public.long": "Julkaise julkisille aikajanoille", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Julkinen", - "privacy.unlisted.long": "Älä julkaise julkisilla aikajanoilla", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Listaamaton julkinen", "refresh": "Päivitä", "regeneration_indicator.label": "Ladataan…", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 48fc0d5a1..32f2e3f6e 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -70,7 +70,7 @@ "column.blocks": "Comptes bloqués", "column.bookmarks": "Marque-pages", "column.community": "Fil public local", - "column.direct": "Messages directs", + "column.conversations": "Conversations", "column.directory": "Parcourir les profils", "column.domain_blocks": "Domaines bloqués", "column.favourites": "Favoris", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local seulement", "community.column_settings.media_only": "Média uniquement", "community.column_settings.remote_only": "Distant seulement", - "compose_form.direct_message_warning": "Ce message sera uniquement envoyé aux personnes mentionnées. Cependant, l’administration de votre instance et des instances réceptrices pourront inspecter ce message.", "compose_form.direct_message_warning_learn_more": "En savoir plus", + "compose_form.encryption_warning": "Les messages sur Mastodon ne sont pas chiffrés de bout en bout. Ne partagez aucune information confidentielle sur Mastodon.", "compose_form.hashtag_warning": "Ce pouet ne sera pas listé dans les recherches par hashtag car sa visibilité est réglée sur « non listé ». Seuls les pouets avec une visibilité « publique » peuvent être recherchés par hashtag.", "compose_form.lock_disclaimer": "Votre compte n’est pas {locked}. Tout le monde peut vous suivre et voir vos messages privés.", "compose_form.lock_disclaimer.lock": "verrouillé", @@ -166,7 +166,7 @@ "empty_column.blocks": "Vous n’avez bloqué aucun compte pour le moment.", "empty_column.bookmarked_statuses": "Vous n'avez pas de message en marque-page. Lorsque vous en ajouterez un, il apparaîtra ici.", "empty_column.community": "Le fil public local est vide. Écrivez donc quelque chose pour le remplir !", - "empty_column.direct": "Vous n’avez pas encore de messages directs. Lorsque vous en enverrez ou recevrez un, il s’affichera ici.", + "empty_column.conversations": "Une fois que vous avez envoyé ou reçu un message qui ne sera visible que par les personnes mentionnées, il apparaîtra ici.", "empty_column.domain_blocks": "Il n’y a aucun domaine bloqué pour le moment.", "empty_column.explore_statuses": "Rien n'est en tendance pour le moment. Revenez plus tard !", "empty_column.favourited_statuses": "Vous n’avez pas encore de message en favori. Lorsque vous en ajouterez un, il apparaîtra ici.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Partager le message", "keyboard_shortcuts.column": "Se placer dans une colonne", "keyboard_shortcuts.compose": "Se placer dans la zone de rédaction", + "keyboard_shortcuts.conversations": "pour ouvrir la colonne des conversations", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "Ouvrir la colonne des messages directs", "keyboard_shortcuts.down": "Descendre dans la liste", "keyboard_shortcuts.enter": "Ouvrir le message", "keyboard_shortcuts.favourite": "Ajouter le message aux favoris", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Marque-pages", "navigation_bar.community_timeline": "Fil public local", "navigation_bar.compose": "Rédiger un nouveau message", - "navigation_bar.direct": "Messages directs", "navigation_bar.discover": "Découvrir", "navigation_bar.domain_blocks": "Domaines bloqués", "navigation_bar.edit_profile": "Modifier le profil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Supprimer le sondage", "privacy.change": "Ajuster la confidentialité du message", "privacy.direct.long": "Visible uniquement par les comptes mentionnés", - "privacy.direct.short": "Direct", + "privacy.direct.short": "Seulement les personnes mentionnées", "privacy.private.long": "Visible uniquement par vos abonné·e·s", "privacy.private.short": "Abonné·e·s uniquement", - "privacy.public.long": "Visible par tou·te·s, affiché dans les fils publics", + "privacy.public.long": "Visible pour tous", "privacy.public.short": "Public", - "privacy.unlisted.long": "Visible par tou·te·s, mais pas dans les fils publics", + "privacy.unlisted.long": "Visible pour tous, mais sans fonctionnalités de découverte", "privacy.unlisted.short": "Non listé", "refresh": "Actualiser", "regeneration_indicator.label": "Chargement…", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index 963d2f61d..6370cd9d6 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -70,7 +70,7 @@ "column.blocks": "Cuntais choiscthe", "column.bookmarks": "Leabharmharcanna", "column.community": "Local timeline", - "column.direct": "Direct messages", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "Blocked domains", "column.favourites": "Favourites", @@ -79,7 +79,7 @@ "column.lists": "Liostaí", "column.mutes": "Úsáideoirí balbhaithe", "column.notifications": "Notifications", - "column.pins": "Pinned toot", + "column.pins": "Pinned post", "column.public": "Federated timeline", "column_back_button.label": "Siar", "column_header.hide_settings": "Hide settings", @@ -92,9 +92,9 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "Media only", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "compose_form.direct_message_warning_learn_more": "Learn more", - "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.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", + "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "locked", "compose_form.placeholder": "Cad atá ag tarlú?", @@ -161,16 +161,16 @@ "emoji_button.symbols": "Symbols", "emoji_button.travel": "Taisteal ⁊ Áiteanna", "empty_column.account_suspended": "Account suspended", - "empty_column.account_timeline": "No toots here!", + "empty_column.account_timeline": "No posts found", "empty_column.account_unavailable": "Profile unavailable", "empty_column.blocks": "You haven't blocked any users yet.", - "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", + "empty_column.bookmarked_statuses": "You don't have any bookmarked posts yet. When you bookmark one, it will show up here.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no blocked domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", - "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", - "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", + "empty_column.favourited_statuses": "You don't have any favourite posts yet. When you favourite one, it will show up here.", + "empty_column.favourites": "No one has favourited this post yet. When someone does, they will show up here.", "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": "You don't have any follow requests yet. When you receive one, it will show up here.", "empty_column.hashtag": "There is nothing in this hashtag yet.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "to favourite", @@ -247,7 +247,7 @@ "keyboard_shortcuts.my_profile": "to open your profile", "keyboard_shortcuts.notifications": "to open notifications column", "keyboard_shortcuts.open_media": "to open media", - "keyboard_shortcuts.pinned": "to open pinned toots list", + "keyboard_shortcuts.pinned": "to open pinned posts list", "keyboard_shortcuts.profile": "to open author's profile", "keyboard_shortcuts.reply": "to reply", "keyboard_shortcuts.requests": "to open follow requests list", @@ -256,7 +256,7 @@ "keyboard_shortcuts.start": "to open \"get started\" column", "keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW", "keyboard_shortcuts.toggle_sensitivity": "to show/hide media", - "keyboard_shortcuts.toot": "to start a brand new toot", + "keyboard_shortcuts.toot": "to start a brand new post", "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", "keyboard_shortcuts.up": "to move up in the list", "lightbox.close": "Close", @@ -289,8 +289,7 @@ "navigation_bar.blocks": "Blocked users", "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "Local timeline", - "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Direct messages", + "navigation_bar.compose": "Compose new post", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "Cuir an phróifíl in eagar", @@ -305,7 +304,7 @@ "navigation_bar.logout": "Logáil Amach", "navigation_bar.mutes": "Úsáideoirí balbhaithe", "navigation_bar.personal": "Pearsanta", - "navigation_bar.pins": "Pinned toots", + "navigation_bar.pins": "Pinned posts", "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "Security", @@ -335,7 +334,7 @@ "notifications.column_settings.reblog": "Boosts:", "notifications.column_settings.show": "Show in column", "notifications.column_settings.sound": "Play sound", - "notifications.column_settings.status": "New toots:", + "notifications.column_settings.status": "New posts:", "notifications.column_settings.unread_notifications.category": "Unread notifications", "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", "notifications.column_settings.update": "Eagair:", @@ -369,10 +368,10 @@ "privacy.direct.long": "Visible for mentioned users only", "privacy.direct.short": "Direct", "privacy.private.long": "Sofheicthe do Leantóirí amháin", - "privacy.private.short": "Leantóirí amháin", - "privacy.public.long": "Visible for all, shown in public timelines", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Poiblí", - "privacy.unlisted.long": "Visible for all, but not in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Unlisted", "refresh": "Refresh", "regeneration_indicator.label": "Ag lódáil…", @@ -438,7 +437,7 @@ "search_results.hashtags": "Haischlibeanna", "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Postálacha", - "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", + "search_results.statuses_fts_disabled": "Searching posts by their content is not enabled on this Mastodon server.", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", @@ -466,12 +465,12 @@ "status.mute_conversation": "Balbhaigh comhrá", "status.open": "Expand this status", "status.pin": "Pin on profile", - "status.pinned": "Pinned toot", + "status.pinned": "Pinned post", "status.read_more": "Read more", "status.reblog": "Boost", "status.reblog_private": "Boost with original visibility", "status.reblogged_by": "{name} boosted", - "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", + "status.reblogs.empty": "No one has boosted this post yet. When someone does, they will show up here.", "status.redraft": "Delete & re-draft", "status.remove_bookmark": "Remove bookmark", "status.reply": "Reply", @@ -502,7 +501,7 @@ "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.", "timeline_hint.resources.followers": "Leantóirí", "timeline_hint.resources.follows": "Follows", - "timeline_hint.resources.statuses": "Older toots", + "timeline_hint.resources.statuses": "Older posts", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking", "trends.trending_now": "Trending now", "ui.beforeunload": "Your draft will be lost if you leave Mastodon.", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index 52020f896..8fec2747c 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -70,7 +70,7 @@ "column.blocks": "Cleachdaichean bacte", "column.bookmarks": "Comharran-lìn", "column.community": "Loidhne-ama ionadail", - "column.direct": "Teachdaireachdan dìreach", + "column.conversations": "Còmhraidhean", "column.directory": "Rùraich sna pròifilean", "column.domain_blocks": "Àrainnean bacte", "column.favourites": "Na h-annsachdan", @@ -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_form.direct_message_warning": "Cha dèid am post seo a chur ach dha na cleachdaichean air an dug thu iomradh.", "compose_form.direct_message_warning_learn_more": "Barrachd fiosrachaidh", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "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.", "compose_form.lock_disclaimer": "Chan eil an cunntas agad {locked}. ’S urrainn do dhuine sam bith leantainn ort is na postaichean agad a tha ag amas air an luchd-leantainn agad a-mhàin a shealltainn.", "compose_form.lock_disclaimer.lock": "glaiste", @@ -166,7 +166,7 @@ "empty_column.blocks": "Cha do bhac thu cleachdaiche sam bith fhathast.", "empty_column.bookmarked_statuses": "Chan eil comharra-lìn ri post agad fhathast. Nuair a nì thu comharra-lìn de dh’fhear, nochdaidh e an-seo.", "empty_column.community": "Tha an loidhne-ama ionadail falamh. Sgrìobh rudeigin gu poblach airson toiseach-tòiseachaidh a dhèanamh!", - "empty_column.direct": "Chan eil teachdaireachd dhìreach agad fhathast. Nuair a chuireas no a gheibh thu tè, nochdaidh i an-seo.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Cha deach àrainn sam bith a bhacadh fhathast.", "empty_column.explore_statuses": "Chan eil dad a’ treandadh an-dràsta fhèin. Thoir sùil a-rithist an ceann greis!", "empty_column.favourited_statuses": "Chan eil annsachd air post agad fhathast. Nuair a nì thu annsachd de dh’fhear, nochdaidh e an-seo.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Brosnaich post", "keyboard_shortcuts.column": "Cuir am fòcas air colbh", "keyboard_shortcuts.compose": "Cuir am fòcas air raon teacsa an sgrìobhaidh", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Tuairisgeul", - "keyboard_shortcuts.direct": "Fosgail colbh nan teachdaireachdan dìreach", "keyboard_shortcuts.down": "Gluais sìos air an liosta", "keyboard_shortcuts.enter": "Fosgail post", "keyboard_shortcuts.favourite": "Cuir post ris na h-annsachdan", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Comharran-lìn", "navigation_bar.community_timeline": "Loidhne-ama ionadail", "navigation_bar.compose": "Sgrìobh post ùr", - "navigation_bar.direct": "Teachdaireachdan dìreach", "navigation_bar.discover": "Fidir", "navigation_bar.domain_blocks": "Àrainnean bacte", "navigation_bar.edit_profile": "Deasaich a’ phròifil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Thoir air falbh an cunntas-bheachd", "privacy.change": "Cuir gleus air prìobhaideachd a’ phuist", "privacy.direct.long": "Chan fhaic ach na cleachdaichean le iomradh orra seo", - "privacy.direct.short": "Dìreach", + "privacy.direct.short": "Daoine air an dug mi iomradh a-mhàin", "privacy.private.long": "Chan fhaic ach na daoine a tha a’ leantainn ort seo", "privacy.private.short": "Luchd-leantainn a-mhàin", - "privacy.public.long": "Chì a h-uile duine seo ’s e ’ga shealltainn air loidhnichean-ama poblach", + "privacy.public.long": "Visible for all", "privacy.public.short": "Poblach", - "privacy.unlisted.long": "Chì a h-uile duine seo ach cha dèid a shealltainn air loidhnichean-ama poblach", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Falaichte o liostaichean", "refresh": "Ath-nuadhaich", "regeneration_indicator.label": "’Ga luchdadh…", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 058e525b5..0879afb36 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -70,7 +70,7 @@ "column.blocks": "Usuarias bloqueadas", "column.bookmarks": "Marcadores", "column.community": "Cronoloxía local", - "column.direct": "Mensaxes directas", + "column.conversations": "Conversas", "column.directory": "Procurar perfís", "column.domain_blocks": "Dominios agochados", "column.favourites": "Favoritos", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Só local", "community.column_settings.media_only": "Só multimedia", "community.column_settings.remote_only": "Só remoto", - "compose_form.direct_message_warning": "Esta publicación só será enviada ás usuarias mencionadas.", "compose_form.direct_message_warning_learn_more": "Coñecer máis", + "compose_form.encryption_warning": "As publicacións en Mastodon non están cifradas de extremo-a-extremo. Non compartas información sensible en Mastodon.", "compose_form.hashtag_warning": "Esta publicación non aparecerá baixo ningún cancelo (hashtag) porque non está listada. Só se poden procurar publicacións públicas por cancelos.", "compose_form.lock_disclaimer": "A túa conta non está {locked}. Todas poden seguirte para ollar os teus toots só para seguidoras.", "compose_form.lock_disclaimer.lock": "bloqueada", @@ -166,7 +166,7 @@ "empty_column.blocks": "Aínda non bloqueaches a ningún usuaria.", "empty_column.bookmarked_statuses": "Aínda non marcaches ningunha publicación. Cando o fagas, aparecerán aquí.", "empty_column.community": "A cronoloxía local está baleira. Escribe algo de xeito público para espallalo!", - "empty_column.direct": "Aínda non tes mensaxes directas. Cando envíes ou recibas unha, amosarase aquí.", + "empty_column.conversations": "Aquí verás as publicacións que envíes ou recibas é só son visibles para as persoas mencionadas.", "empty_column.domain_blocks": "Aínda non hai dominios agochados.", "empty_column.explore_statuses": "Non hai temas en voga. Volve máis tarde!", "empty_column.favourited_statuses": "Aínda non tes publicacións favoritas. Cando che guste algunha, aparecerá aquí.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Promover publicación", "keyboard_shortcuts.column": "Destacar unha columna", "keyboard_shortcuts.compose": "Por o cursor na área de escritura", + "keyboard_shortcuts.conversations": "para abrir a columna das conversas", "keyboard_shortcuts.description": "Descrición", - "keyboard_shortcuts.direct": "Para abrir a columna de mensaxes directas", "keyboard_shortcuts.down": "Para mover cara abaixo na listaxe", "keyboard_shortcuts.enter": "Para abrir publicación", "keyboard_shortcuts.favourite": "Para engadir a favoritos", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Marcadores", "navigation_bar.community_timeline": "Cronoloxía local", "navigation_bar.compose": "Escribir unha nova publicación", - "navigation_bar.direct": "Mensaxes directas", "navigation_bar.discover": "Descubrir", "navigation_bar.domain_blocks": "Dominios agochados", "navigation_bar.edit_profile": "Editar perfil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Eliminar enquisa", "privacy.change": "Axustar privacidade", "privacy.direct.long": "Só para as usuarias mencionadas", - "privacy.direct.short": "Directo", + "privacy.direct.short": "Só para persoas mencionadas", "privacy.private.long": "Só para os seguidoras", "privacy.private.short": "Só para seguidoras", - "privacy.public.long": "Publicar nas cronoloxías públicas", + "privacy.public.long": "Visible por todas", "privacy.public.short": "Público", - "privacy.unlisted.long": "Non publicar nas cronoloxías públicas", + "privacy.unlisted.long": "Visible por todas, pero excluída da sección descubrir", "privacy.unlisted.short": "Non listado", "refresh": "Actualizar", "regeneration_indicator.label": "Estase a cargar…", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index db192fa53..efa740656 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -70,7 +70,7 @@ "column.blocks": "חסימות", "column.bookmarks": "סימניות", "column.community": "ציר זמן מקומי", - "column.direct": "הודעות ישירות", + "column.conversations": "Conversations", "column.directory": "גלוש פרופילים", "column.domain_blocks": "Hidden domains", "column.favourites": "חיבובים", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "מקומי בלבד", "community.column_settings.media_only": "Media only", "community.column_settings.remote_only": "מרחוק בלבד", - "compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.", "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.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": "חשבונך אינו {locked}. כל אחד יוכל לעקוב אחריך כדי לקרוא את הודעותיך המיועדות לעוקבים בלבד.", "compose_form.lock_disclaimer.lock": "נעול", @@ -166,7 +166,7 @@ "empty_column.blocks": "עדיין לא חסמתם משתמשים אחרים.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "טור הסביבה ריק. יש לפרסם משהו כדי שדברים יתרחילו להתגלגל!", - "empty_column.direct": "עדיין אין לכם הודעות פרטיות. כאשר תשלחו או תקבלו אחת, היא תופיע כאן.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no hidden domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "להדהד", "keyboard_shortcuts.column": "להתמקד בהודעה באחד מהטורים", "keyboard_shortcuts.compose": "להתמקד בתיבת חיבור ההודעות", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "תיאור", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "לנוע במורד הרשימה", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "לחבב", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "ציר זמן מקומי", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "הודעות ישירות", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "עריכת פרופיל", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Remove poll", "privacy.change": "שינוי פרטיות ההודעה", "privacy.direct.long": "הצג רק למי שהודעה זו פונה אליו", - "privacy.direct.short": "הודעה ישירה", + "privacy.direct.short": "Direct", "privacy.private.long": "הצג לעוקבים בלבד", - "privacy.private.short": "לעוקבים בלבד", - "privacy.public.long": "פרסם בפומבי", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "פומבי", - "privacy.unlisted.long": "לא יופיע בפידים הציבוריים המשותפים", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "לא לפיד הכללי", "refresh": "Refresh", "regeneration_indicator.label": "Loading…", diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json index ecc6898c3..d208cf51e 100644 --- a/app/javascript/mastodon/locales/hi.json +++ b/app/javascript/mastodon/locales/hi.json @@ -70,7 +70,7 @@ "column.blocks": "ब्लॉक्ड यूज़र्स", "column.bookmarks": "पुस्तकचिह्न:", "column.community": "लोकल टाइम्लाइन", - "column.direct": "सीधा संदेश", + "column.conversations": "Conversations", "column.directory": "प्रोफाइल्स खोजें", "column.domain_blocks": "छुपे डोमेन्स", "column.favourites": "पसंदीदा", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "स्थानीय ही", "community.column_settings.media_only": "सिर्फ़ मीडिया", "community.column_settings.remote_only": "केवल सुदूर", - "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "compose_form.direct_message_warning_learn_more": "और जानें", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "यह टूट् किसी भी हैशटैग के तहत सूचीबद्ध नहीं होगा क्योंकि यह अनलिस्टेड है। हैशटैग द्वारा केवल सार्वजनिक टूट्स खोजे जा सकते हैं।", "compose_form.lock_disclaimer": "आपका खाता {locked} नहीं है। आपको केवल फॉलोवर्स को दिखाई दिए जाने वाले पोस्ट देखने के लिए कोई भी फॉलो कर सकता है।", "compose_form.lock_disclaimer.lock": "लॉक्ड", @@ -166,7 +166,7 @@ "empty_column.blocks": "आप अभी तक किसी भी यूजर के द्वारा ब्लॉक्ड नहीं हो।", "empty_column.bookmarked_statuses": "आपके पास अभी तक कोई बुकमार्क नहीं है। जब आप एक बुकमार्क करते हैं, तो यह यहां दिखाई देगा।", "empty_column.community": "लोकल टाइम्लाइन खाली है, कुछ देखने के लिये सार्वजनिक रूप से कुछ लिखें!", - "empty_column.direct": "आपके पास कोई सीधा सन्देश नहीं है, जब आप कोई भेजेंगे प्राप्त करेंगे तो यहाँ दिखेगा।", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "अभी तक कोई छुपा हुआ डोमेन नहीं है।", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "आपके पास अभी कोई भी चहिता टूट नहीं है. जब आप किसी टूट को पसंद (स्टार) करेंगे, तब वो यहाँ दिखेगा।", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "बढ़ावा देने के लिए", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "कंपोज़ टेक्स्ट-एरिया पर ध्यान केंद्रित करने के लिए", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "विवरण", - "keyboard_shortcuts.direct": "सीधा सन्देश कॉलम को खोलने के लिए", "keyboard_shortcuts.down": "सूची में शामिल करने के लिए", "keyboard_shortcuts.enter": "स्टेटस खोलने के लिए", "keyboard_shortcuts.favourite": "पसंदीदा के लिए", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "पुस्तकचिह्न:", "navigation_bar.community_timeline": "लोकल टाइम्लाइन", "navigation_bar.compose": "नया टूट् लिखें", - "navigation_bar.direct": "सीधा संदेश", "navigation_bar.discover": "खोजें", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "प्रोफ़ाइल संपादित करें", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Remove poll", "privacy.change": "Adjust status privacy", "privacy.direct.long": "Post to mentioned users only", - "privacy.direct.short": "सीधा", + "privacy.direct.short": "Direct", "privacy.private.long": "Post to followers only", "privacy.private.short": "Followers-only", - "privacy.public.long": "सार्वजनिक टाइम्लाइन पर भेजें", + "privacy.public.long": "Visible for all", "privacy.public.short": "सार्वजनिक", - "privacy.unlisted.long": "Do not show in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "अनलिस्टेड", "refresh": "रीफ्रेश करें", "regeneration_indicator.label": "लोड हो रहा है...", diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json index 25bd26c8e..16434ea46 100644 --- a/app/javascript/mastodon/locales/hr.json +++ b/app/javascript/mastodon/locales/hr.json @@ -70,7 +70,7 @@ "column.blocks": "Blokirani korisnici", "column.bookmarks": "Knjižne oznake", "column.community": "Lokalna vremenska crta", - "column.direct": "Izravne poruke", + "column.conversations": "Conversations", "column.directory": "Pregledavanje profila", "column.domain_blocks": "Blokirane domene", "column.favourites": "Favoriti", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Samo lokalno", "community.column_settings.media_only": "Samo medijski sadržaj", "community.column_settings.remote_only": "Samo udaljeno", - "compose_form.direct_message_warning": "Ovaj toot bit će poslan samo spomenutim korisnicima.", "compose_form.direct_message_warning_learn_more": "Saznajte više", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Ovaj toot neće biti prikazan ni pod jednim hashtagom jer je postavljen kao neprikazan. Samo javni tootovi mogu biti pretraživani pomoći hashtagova.", "compose_form.lock_disclaimer": "Vaš račun nije {locked}. Svatko Vas može pratiti kako bi vidjeli objave namijenjene Vašim pratiteljima.", "compose_form.lock_disclaimer.lock": "zaključan", @@ -166,7 +166,7 @@ "empty_column.blocks": "Još niste blokirali nikoga.", "empty_column.bookmarked_statuses": "Još nemaš niti jedan označeni toot. Kada označiš jedan, prikazad će se ovdje.", "empty_column.community": "Lokalna vremenska crta je prazna. Napišite nešto javno da biste pokrenuli stvari!", - "empty_column.direct": "Nemate još niti jedne direktne poruke. Kada ih pošaljete ili primite, prikazati će se ovdje.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Još nema blokiranih domena.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "za boostanje", "keyboard_shortcuts.column": "za fokusiranje na toot u jednom od stupaca", "keyboard_shortcuts.compose": "za fokusiranje na tekstualni okvir za stvaranje", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Opis", - "keyboard_shortcuts.direct": "za otvaranje stupca s izravnim porukama", "keyboard_shortcuts.down": "za pomak dolje na listi", "keyboard_shortcuts.enter": "za otvaranje toota", "keyboard_shortcuts.favourite": "za označavanje favoritom", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "Lokalna vremenska crta", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Izravne poruke", "navigation_bar.discover": "Istraživanje", "navigation_bar.domain_blocks": "Blokirane domene", "navigation_bar.edit_profile": "Uredi profil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Ukloni anketu", "privacy.change": "Podesi privatnost toota", "privacy.direct.long": "Vidljivo samo spomenutim korisnicima", - "privacy.direct.short": "Izravno", + "privacy.direct.short": "Direct", "privacy.private.long": "Vidljivo samo pratiteljima", - "privacy.private.short": "Samo pratitelji", - "privacy.public.long": "Vidljivo svima, prikazano u javim vremenskim crtama", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Javno", - "privacy.unlisted.long": "Vidljivo svima, ali se ne prikazuje u javnim vremenskim crtama", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Neprikazano", "refresh": "Osvježi", "regeneration_indicator.label": "Učitavanje…", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 2f747f591..ccf0dd3fd 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -70,7 +70,7 @@ "column.blocks": "Letiltott felhasználók", "column.bookmarks": "Könyvjelzők", "column.community": "Helyi idővonal", - "column.direct": "Közvetlen üzenetek", + "column.conversations": "Beszélgetések", "column.directory": "Profilok böngészése", "column.domain_blocks": "Rejtett domainek", "column.favourites": "Kedvencek", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Csak helyi", "community.column_settings.media_only": "Csak média", "community.column_settings.remote_only": "Csak távoli", - "compose_form.direct_message_warning": "Ezt a bejegyzést csak a benne megemlített felhasználók láthatják majd.", "compose_form.direct_message_warning_learn_more": "Tudj meg többet", + "compose_form.encryption_warning": "A bejegyzések a Mastodonon nem használnak végpontok közötti titkosítást. Ne ossz meg érzékeny információt Mastodonon.", "compose_form.hashtag_warning": "Ez a bejegyzésed nem fog megjelenni semmilyen hashtag alatt, mivel listázatlan. Csak a nyilvános bejegyzések kereshetők hashtaggel.", "compose_form.lock_disclaimer": "A fiókod nincs {locked}. Bárki követni tud, hogy megtekintse a kizárólag követőknek szánt bejegyzéseket.", "compose_form.lock_disclaimer.lock": "lezárva", @@ -166,7 +166,7 @@ "empty_column.blocks": "Még senkit sem tiltottál le.", "empty_column.bookmarked_statuses": "Még nincs egyetlen könyvjelzőzött bejegyzésed sem. Ha könyvjelzőzöl egyet, itt fog megjelenni.", "empty_column.community": "A helyi idővonal üres. Tégy közzé valamit nyilvánosan, hogy elindítsd az eseményeket!", - "empty_column.direct": "Még nincs egy közvetlen üzeneted sem. Ha küldesz vagy kapsz egyet, itt fog megjelenni.", + "empty_column.conversations": "Ha olyan bejegyzést küldesz vagy fogadsz, melyet csak az abban megemlítettek látnak, itt fog megjelenni.", "empty_column.domain_blocks": "Még nem rejtettél el egyetlen domaint sem.", "empty_column.explore_statuses": "Jelenleg semmi sem felkapott. Nézz vissza később!", "empty_column.favourited_statuses": "Még nincs egyetlen kedvenc bejegyzésed sem. Ha kedvencnek jelölsz egyet, itt fog megjelenni.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Bejegyzés megtolása", "keyboard_shortcuts.column": "Fókuszálás egy oszlopra", "keyboard_shortcuts.compose": "fókuszálás a szerkesztési szövegdobozra", + "keyboard_shortcuts.conversations": "beszélgetések megnyitása", "keyboard_shortcuts.description": "Leírás", - "keyboard_shortcuts.direct": "Közvetlen üzenetek oszlopának megnyitása", "keyboard_shortcuts.down": "lefele navigálás a listában", "keyboard_shortcuts.enter": "Bejegyzés megnyitása", "keyboard_shortcuts.favourite": "Bejegyzés kedvencnek jelölése", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Könyvjelzők", "navigation_bar.community_timeline": "Helyi idővonal", "navigation_bar.compose": "Új bejegyzés írása", - "navigation_bar.direct": "Közvetlen üzenetek", "navigation_bar.discover": "Felfedezés", "navigation_bar.domain_blocks": "Rejtett domainek", "navigation_bar.edit_profile": "Profil szerkesztése", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Szavazás törlése", "privacy.change": "Bejegyzés láthatóságának módosítása", "privacy.direct.long": "Csak a megemlített felhasználóknak látható", - "privacy.direct.short": "Közvetlen", + "privacy.direct.short": "Csak a megemlítettek", "privacy.private.long": "Csak követőknek látható", - "privacy.private.short": "Csak követőknek", - "privacy.public.long": "Mindenki számára látható, nyilvános idővonalakon is szerepel", + "privacy.private.short": "Csak követők", + "privacy.public.long": "Mindenki számára látható", "privacy.public.short": "Nyilvános", - "privacy.unlisted.long": "Ne mutassuk nyilvános idővonalon", + "privacy.unlisted.long": "Mindenki számára látható, de kimarad a felfedezős funkciókból", "privacy.unlisted.short": "Listázatlan", "refresh": "Frissítés", "regeneration_indicator.label": "Töltődik…", diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json index dc6234766..ed70d1a21 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": "Հասցէագրուած հաղորդագրութիւններ", + "column.conversations": "Conversations", "column.directory": "Զննել անձնական էջերը", "column.domain_blocks": "Թաքցուած տիրոյթները", "column.favourites": "Հաւանածներ", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Միայն տեղական", "community.column_settings.media_only": "Միայն մեդիա", "community.column_settings.remote_only": "Միայն հեռակայ", - "compose_form.direct_message_warning": "Այս գրառումը տեսանելի կը լինի միայն նշուած օգտատէրերին։", "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.hashtag_warning": "Այս գրառումը չի հաշուառուի որեւէ պիտակի տակ, քանզի այն ծածուկ է։ Միայն հրապարակային թթերը հնարաւոր է որոնել պիտակներով։", "compose_form.lock_disclaimer": "Քո հաշիւը {locked} չէ։ Իւրաքանչիւրութիւն ոք կարող է հետեւել քեզ եւ տեսնել միայն հետեւողների համար նախատեսուած գրառումները։", "compose_form.lock_disclaimer.lock": "փակ", @@ -166,7 +166,7 @@ "empty_column.blocks": "Դու դեռ ոչ մէկի չես արգելափակել։", "empty_column.bookmarked_statuses": "Դու դեռ չունես որեւէ էջանշուած գրառում։ Երբ էջանշես, դրանք կը երեւան այստեղ։", "empty_column.community": "Տեղական հոսքը դատարկ է։ Հրապարակային մի բան գրի՛ր շարժիչը գործարկելու համար։", - "empty_column.direct": "Դու դեռ չունես ոչ մի հասցէագրուած հաղորդագրութիւն։ Երբ ուղարկես կամ ստանաս որեւէ անձնական նամակ, այն այստեղ կերեւայ։", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Թաքցուած տիրոյթներ դեռ չկան։", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Դու դեռ չունես որեւէ հաւանած գրառում։ Երբ հաւանես, դրանք կերեւան այստեղ։", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "տարածելու համար", "keyboard_shortcuts.column": "սիւներից մէկի վրայ սեւեռուելու համար", "keyboard_shortcuts.compose": "շարադրման տիրոյթին սեւեռուելու համար", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Նկարագրութիւն", - "keyboard_shortcuts.direct": "հասցէագրուած գրուածքների հոսքը բացելու համար", "keyboard_shortcuts.down": "ցանկով ներքեւ շարժուելու համար", "keyboard_shortcuts.enter": "Գրառումը բացելու համար", "keyboard_shortcuts.favourite": "հաւանելու համար", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Էջանիշեր", "navigation_bar.community_timeline": "Տեղական հոսք", "navigation_bar.compose": "Ստեղծել նոր գրառում", - "navigation_bar.direct": "Հասցէագրուած", "navigation_bar.discover": "Բացայայտել", "navigation_bar.domain_blocks": "Թաքցուած տիրոյթներ", "navigation_bar.edit_profile": "Խմբագրել անձնական էջը", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Հեռացնել հարցումը", "privacy.change": "Կարգաւորել գրառման գաղտնիութիւնը", "privacy.direct.long": "Կը տեսնեն միայն նշուած օգտատէրերը", - "privacy.direct.short": "Հասցէագրուած", + "privacy.direct.short": "Direct", "privacy.private.long": "Կը տեսնեն միայն հետեւորդները", - "privacy.private.short": "Միայն հետեւողներին", - "privacy.public.long": "Կը տեսնեն բոլոր, հրապարակային հոսքում", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Հրապարակային", - "privacy.unlisted.long": "Կը տեսնեն բոլոր, բայց ոչ հրապարակային հոսքում", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Ծածուկ", "refresh": "Թարմացնել", "regeneration_indicator.label": "Բեռնւում է…", diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json index 04366f1f8..c093688e4 100644 --- a/app/javascript/mastodon/locales/id.json +++ b/app/javascript/mastodon/locales/id.json @@ -70,7 +70,7 @@ "column.blocks": "Pengguna yang diblokir", "column.bookmarks": "Markah", "column.community": "Linimasa Lokal", - "column.direct": "Pesan langsung", + "column.conversations": "Percakapan", "column.directory": "Jelajahi profil", "column.domain_blocks": "Topik tersembunyi", "column.favourites": "Favorit", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Hanya lokal", "community.column_settings.media_only": "Hanya media", "community.column_settings.remote_only": "Hanya jarak jauh", - "compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.", "compose_form.direct_message_warning_learn_more": "Pelajari selengkapnya", + "compose_form.encryption_warning": "Kiriman di Mastodon tidak dienkripsi end-to-end. Jangan bagikan informasi rahasial melalui Mastodon.", "compose_form.hashtag_warning": "Toot ini tidak akan ada dalam daftar tagar manapun karena telah diatur sebagai tidak terdaftar. Hanya postingan publik yang bisa dicari dengan tagar.", "compose_form.lock_disclaimer": "Akun anda tidak {locked}. Semua orang dapat mengikuti anda untuk melihat postingan khusus untuk pengikut anda.", "compose_form.lock_disclaimer.lock": "terkunci", @@ -166,7 +166,7 @@ "empty_column.blocks": "Anda belum memblokir siapapun.", "empty_column.bookmarked_statuses": "Anda belum memiliki toot termarkah. Saat Anda menandainya sebagai markah, ia akan muncul di sini.", "empty_column.community": "Linimasa lokal masih kosong. Tulis sesuatu secara publik dan buat roda berputar!", - "empty_column.direct": "Anda belum memiliki pesan langsung. Ketika Anda mengirim atau menerimanya, maka akan muncul di sini.", + "empty_column.conversations": "Saat Anda mengirim atau menerima kiriman yang hanya terlihat oleh orang yang disebutkan, itu akan muncul di sini.", "empty_column.domain_blocks": "Tidak ada topik tersembunyi.", "empty_column.explore_statuses": "Tidak ada yang sedang tren pada saat ini. Silakan mengecek lagi nanti!", "empty_column.favourited_statuses": "Anda belum memiliki toot favorit. Ketika Anda mengirim atau menerimanya, maka akan muncul di sini.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "untuk menyebarkan", "keyboard_shortcuts.column": "untuk fokus kepada sebuah status di sebuah kolom", "keyboard_shortcuts.compose": "untuk fokus ke area penulisan", + "keyboard_shortcuts.conversations": "untuk membuka kolom percakapan", "keyboard_shortcuts.description": "Deskripsi", - "keyboard_shortcuts.direct": "buka kolom pesan langsung", "keyboard_shortcuts.down": "untuk pindah ke bawah dalam sebuah daftar", "keyboard_shortcuts.enter": "untuk membuka status", "keyboard_shortcuts.favourite": "untuk memfavoritkan", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Markah", "navigation_bar.community_timeline": "Linimasa lokal", "navigation_bar.compose": "Tulis toot baru", - "navigation_bar.direct": "Pesan langsung", "navigation_bar.discover": "Temukan", "navigation_bar.domain_blocks": "Domain tersembunyi", "navigation_bar.edit_profile": "Ubah profil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Hapus japat", "privacy.change": "Tentukan privasi status", "privacy.direct.long": "Kirim hanya ke pengguna yang disebut", - "privacy.direct.short": "Langsung", + "privacy.direct.short": "Hanya orang yang saya sebut", "privacy.private.long": "Kirim postingan hanya kepada pengikut", - "privacy.private.short": "Pribadi", - "privacy.public.long": "Kirim ke linimasa publik", + "privacy.private.short": "Pengikut saja", + "privacy.public.long": "Terlihat oleh semua", "privacy.public.short": "Publik", - "privacy.unlisted.long": "Tidak ditampilkan di linimasa publik", + "privacy.unlisted.long": "Terlihat oleh semua, tapi jangan tampilkan di fitur jelajah", "privacy.unlisted.short": "Tak Terdaftar", "refresh": "Segarkan", "regeneration_indicator.label": "Memuat…", diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json index 2ffee1eb2..6637e992a 100644 --- a/app/javascript/mastodon/locales/io.json +++ b/app/javascript/mastodon/locales/io.json @@ -70,7 +70,7 @@ "column.blocks": "Blokusita uzeri", "column.bookmarks": "Bookmarks", "column.community": "Lokala tempolineo", - "column.direct": "Direct messages", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "Hidden domains", "column.favourites": "Favorati", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "Media only", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.", "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.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": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "locked", @@ -166,7 +166,7 @@ "empty_column.blocks": "You haven't blocked any users yet.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "La lokala tempolineo esas vakua. Skribez ulo publike por iniciar la agiveso!", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no hidden domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "Lokala tempolineo", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Direct messages", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "Modifikar profilo", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Remove poll", "privacy.change": "Aranjar privateso di mesaji", "privacy.direct.long": "Sendar nur a mencionata uzeri", - "privacy.direct.short": "Direte", + "privacy.direct.short": "Direct", "privacy.private.long": "Sendar nur a sequanti", - "privacy.private.short": "Private", - "privacy.public.long": "Sendar a publika tempolinei", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Publike", - "privacy.unlisted.long": "Ne montrar en publika tempolinei", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Ne enlistigota", "refresh": "Refresh", "regeneration_indicator.label": "Loading…", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index 480562c06..7df325463 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -70,7 +70,7 @@ "column.blocks": "Útilokaðir notendur", "column.bookmarks": "Bókamerki", "column.community": "Staðvær tímalína", - "column.direct": "Bein skilaboð", + "column.conversations": "Samtöl", "column.directory": "Skoða notandasnið", "column.domain_blocks": "Útilokuð lén", "column.favourites": "Eftirlæti", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Einungis staðvært", "community.column_settings.media_only": "Einungis myndskrár", "community.column_settings.remote_only": "Einungis fjartengt", - "compose_form.direct_message_warning": "Þessi færsla verður aðeins send á notendur sem minnst er á.", "compose_form.direct_message_warning_learn_more": "Kanna nánar", + "compose_form.encryption_warning": "Færslur á Mastodon eru ekki enda-í-enda dulritaðar. Ekki deila viðkvæmum upplýsingum á Mastodon.", "compose_form.hashtag_warning": "Þessi færsla verður ekki talin með undir nokkru myllumerki þar sem það er óskráð. Einungis er hægt að leita að opinberum færslum eftir myllumerkjum.", "compose_form.lock_disclaimer": "Aðgangurinn þinn er ekki {locked}. Hver sem er getur fylgst með þeim færslum þínum sem einungis eru til fylgjenda þinna.", "compose_form.lock_disclaimer.lock": "læst", @@ -166,7 +166,7 @@ "empty_column.blocks": "Þú hefur ekki ennþá útilokað neina notendur.", "empty_column.bookmarked_statuses": "Þú ert ekki ennþá með neinar bókamerktar færslur. Þegar þú bókamerkir færslu, mun það birtast hér.", "empty_column.community": "Staðværa tímalínan er tóm. Skrifaðu eitthvað opinberlega til að láta boltann fara að rúlla!", - "empty_column.direct": "Þú átt ennþá engin bein skilaboð. Þegar þú sendir eða tekur á móti slíkum skilaboðum, munu þau birtast hér.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Það eru ennþá engin útilokuð lén.", "empty_column.explore_statuses": "Ekkert er á uppleið í augnablikinu. Athugaðu aftur síðar!", "empty_column.favourited_statuses": "Þú ert ekki ennþá með neinar eftirlætisfærslur. Þegar þú setur færslu í eftirlæti, munu þau birtast hér.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Endurbirta færslu", "keyboard_shortcuts.column": "Setja virkni í dálk", "keyboard_shortcuts.compose": "Setja virkni á textainnsetningarreit", + "keyboard_shortcuts.conversations": "að opna samtalsdálka", "keyboard_shortcuts.description": "Lýsing", - "keyboard_shortcuts.direct": "Opna dálk með beinum skilaboðum", "keyboard_shortcuts.down": "Fara neðar í listanum", "keyboard_shortcuts.enter": "Opna færslu", "keyboard_shortcuts.favourite": "Eftirlætisfærsla", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bókamerki", "navigation_bar.community_timeline": "Staðvær tímalína", "navigation_bar.compose": "Semja nýja færslu", - "navigation_bar.direct": "Bein skilaboð", "navigation_bar.discover": "Uppgötva", "navigation_bar.domain_blocks": "Útilokuð lén", "navigation_bar.edit_profile": "Breyta notandasniði", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Fjarlægja könnun", "privacy.change": "Aðlaga gagnaleynd færslu", "privacy.direct.long": "Senda einungis á notendur sem minnst er á", - "privacy.direct.short": "Beint", + "privacy.direct.short": "Aðeins fólk sem ég minnist á", "privacy.private.long": "Senda einungis á fylgjendur", "privacy.private.short": "Einungis fylgjendur", - "privacy.public.long": "Senda á opinberar tímalínur", + "privacy.public.long": "Sýnilegt fyrir alla", "privacy.public.short": "Opinbert", - "privacy.unlisted.long": "Ekki senda á opinberar tímalínur", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Óskráð", "refresh": "Endurlesa", "regeneration_indicator.label": "Hleð inn…", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index f64ca1b5c..8e881e284 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -70,7 +70,7 @@ "column.blocks": "Utenti bloccati", "column.bookmarks": "Segnalibri", "column.community": "Timeline locale", - "column.direct": "Messaggi diretti", + "column.conversations": "Conversazioni", "column.directory": "Sfoglia profili", "column.domain_blocks": "Domini bloccati", "column.favourites": "Preferiti", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Solo Locale", "community.column_settings.media_only": "Solo Media", "community.column_settings.remote_only": "Solo Remoto", - "compose_form.direct_message_warning": "Questo post sarà inviato solo agli utenti menzionati.", "compose_form.direct_message_warning_learn_more": "Scopri di più", + "compose_form.encryption_warning": "I messaggi su Mastodon non sono crittografati end-to-end. Non condividere alcuna informazione sensibile su Mastodon.", "compose_form.hashtag_warning": "Questo post non sarà elencato sotto alcun hashtag poiché senza elenco. Solo i toot pubblici possono essere ricercati per hashtag.", "compose_form.lock_disclaimer": "Il tuo profilo non è {locked}. Chiunque può seguirti e vedere le tue pubblicazioni visibili solo dai follower.", "compose_form.lock_disclaimer.lock": "bloccato", @@ -166,7 +166,7 @@ "empty_column.blocks": "Non hai ancora bloccato alcun utente.", "empty_column.bookmarked_statuses": "Non hai ancora segnato alcun post. Quando ne segni uno, sarà mostrato qui.", "empty_column.community": "La timeline locale è vuota. Condividi qualcosa pubblicamente per dare inizio alla festa!", - "empty_column.direct": "Non hai ancora nessun messaggio privato. Quando ne manderai o riceverai qualcuno, apparirà qui.", + "empty_column.conversations": "Quando invii o ricevi un post visibile solo alle persone citate in esso, apparirà qui.", "empty_column.domain_blocks": "Non vi sono domini nascosti.", "empty_column.explore_statuses": "Nulla è in tendenza in questo momento. Riprova più tardi!", "empty_column.favourited_statuses": "Non hai ancora segnato nessun post come apprezzato. Quando lo farai, comparirà qui.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Condividi il post", "keyboard_shortcuts.column": "per portare il focus su uno status in una delle colonne", "keyboard_shortcuts.compose": "per portare il focus nell'area di composizione", + "keyboard_shortcuts.conversations": "per aprire la colonna conversazioni", "keyboard_shortcuts.description": "Descrizione", - "keyboard_shortcuts.direct": "per aprire la colonna dei messaggi diretti", "keyboard_shortcuts.down": "Spostati in basso nella lista", "keyboard_shortcuts.enter": "Apri il post", "keyboard_shortcuts.favourite": "Apprezza post", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Segnalibri", "navigation_bar.community_timeline": "Timeline locale", "navigation_bar.compose": "Componi nuovo toot", - "navigation_bar.direct": "Messaggi diretti", "navigation_bar.discover": "Scopri", "navigation_bar.domain_blocks": "Domini nascosti", "navigation_bar.edit_profile": "Modifica profilo", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Rimuovi sondaggio", "privacy.change": "Modifica privacy del post", "privacy.direct.long": "Invia solo a utenti menzionati", - "privacy.direct.short": "Diretto in privato", + "privacy.direct.short": "Solo le persone che menziono", "privacy.private.long": "Invia solo ai follower", - "privacy.private.short": "Privato", - "privacy.public.long": "Invia alla timeline pubblica", + "privacy.private.short": "Solo i seguaci", + "privacy.public.long": "Visibile a tutti", "privacy.public.short": "Pubblico", - "privacy.unlisted.long": "Non mostrare sulla timeline pubblica", + "privacy.unlisted.long": "Visibile a tutti, ma escluso dalle funzioni di scoperta", "privacy.unlisted.short": "Non elencato", "refresh": "Aggiorna", "regeneration_indicator.label": "Caricamento in corso…", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 5ee3bb303..8a24101b1 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -70,7 +70,7 @@ "column.blocks": "ブロックしたユーザー", "column.bookmarks": "ブックマーク", "column.community": "ローカルタイムライン", - "column.direct": "ダイレクトメッセージ", + "column.conversations": "ダイレクトメッセージ", "column.directory": "ディレクトリ", "column.domain_blocks": "ブロックしたドメイン", "column.favourites": "お気に入り", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "ローカルのみ表示", "community.column_settings.media_only": "メディアのみ表示", "community.column_settings.remote_only": "リモートのみ表示", - "compose_form.direct_message_warning": "この投稿はメンションされた人にのみ送信されます。", "compose_form.direct_message_warning_learn_more": "もっと詳しく", + "compose_form.encryption_warning": "Mastodon の投稿はエンドツーエンド暗号化に対応していません。安全に送受信されるべき情報を Mastodon で共有しないでください。", "compose_form.hashtag_warning": "この投稿は公開設定ではないのでハッシュタグの一覧に表示されません。公開投稿だけがハッシュタグで検索できます。", "compose_form.lock_disclaimer": "あなたのアカウントは{locked}になっていません。誰でもあなたをフォローすることができ、フォロワー限定の投稿を見ることができます。", "compose_form.lock_disclaimer.lock": "承認制", @@ -166,7 +166,7 @@ "empty_column.blocks": "まだ誰もブロックしていません。", "empty_column.bookmarked_statuses": "まだ何もブックマーク登録していません。ブックマーク登録するとここに表示されます。", "empty_column.community": "ローカルタイムラインはまだ使われていません。何か書いてみましょう!", - "empty_column.direct": "ダイレクトメッセージはまだありません。ダイレクトメッセージをやりとりすると、ここに表示されます。", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "ブロックしているドメインはありません。", "empty_column.explore_statuses": "まだ何もありません。後で確認してください。", "empty_column.favourited_statuses": "まだ何もお気に入り登録していません。お気に入り登録するとここに表示されます。", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "ブースト", "keyboard_shortcuts.column": "左からn番目のカラムの最新に移動", "keyboard_shortcuts.compose": "投稿の入力欄に移動", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "説明", - "keyboard_shortcuts.direct": "ダイレクトメッセージのカラムを開く", "keyboard_shortcuts.down": "カラム内一つ下に移動", "keyboard_shortcuts.enter": "投稿の詳細を表示", "keyboard_shortcuts.favourite": "お気に入り", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "ブックマーク", "navigation_bar.community_timeline": "ローカルタイムライン", "navigation_bar.compose": "投稿の新規作成", - "navigation_bar.direct": "ダイレクトメッセージ", "navigation_bar.discover": "見つける", "navigation_bar.domain_blocks": "ブロックしたドメイン", "navigation_bar.edit_profile": "プロフィールを編集", @@ -369,10 +368,10 @@ "privacy.direct.long": "送信した相手のみ閲覧可", "privacy.direct.short": "ダイレクト", "privacy.private.long": "フォロワーのみ閲覧可", - "privacy.private.short": "フォロワー限定", - "privacy.public.long": "誰でも閲覧可、公開TLに表示", + "privacy.private.short": "フォロワーのみ", + "privacy.public.long": "誰でも閲覧可", "privacy.public.short": "公開", - "privacy.unlisted.long": "誰でも閲覧可、公開TLに非表示", + "privacy.unlisted.long": "誰でも閲覧可、サイレント", "privacy.unlisted.short": "未収載", "refresh": "更新", "regeneration_indicator.label": "読み込み中…", diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json index a0a2b821d..6b5fa5c97 100644 --- a/app/javascript/mastodon/locales/ka.json +++ b/app/javascript/mastodon/locales/ka.json @@ -70,7 +70,7 @@ "column.blocks": "დაბლოკილი მომხმარებლები", "column.bookmarks": "Bookmarks", "column.community": "ლოკალური თაიმლაინი", - "column.direct": "პირდაპირი წერილები", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "დამალული დომენები", "column.favourites": "ფავორიტები", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "მხოლოდ მედია", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "ეს ტუტი გაეგზავნება მხოლოდ ნახსენებ მომხმარებლებს.", "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.hashtag_warning": "ეს ტუტი არ მოექცევა ჰეშტეგების ქვეს, რამეთუ ის არაა მითითებული. მხოლოდ ღია ტუტები მოიძებნება ჰეშტეგით.", "compose_form.lock_disclaimer": "თქვენი ანგარიში არაა {locked}. ნებისმიერს შეიძლია გამოგყვეთ, რომ იხილოს თქვენი მიმდევრებზე გათვლილი პოსტები.", "compose_form.lock_disclaimer.lock": "ჩაკეტილი", @@ -166,7 +166,7 @@ "empty_column.blocks": "You haven't blocked any users yet.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "ლოკალური თაიმლაინი ცარიელია. დაწერეთ რაიმე ღიად ან ქენით რაიმე სხვა!", - "empty_column.direct": "ჯერ პირდაპირი წერილები არ გაქვთ. როდესაც მიიღებთ ან გააგზავნით, გამოჩნდება აქ.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no hidden domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "დასაბუსტად", "keyboard_shortcuts.column": "ერთ-ერთი სვეტში სტატუსზე ფოკუსირებისთვის", "keyboard_shortcuts.compose": "შედგენის ტექსტ-არეაზე ფოკუსირებისთვის", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "აღწერილობა", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "სიაში ქვემოთ გადასაადგილებლად", "keyboard_shortcuts.enter": "სტატუსის გასახსნელად", "keyboard_shortcuts.favourite": "ფავორიტად ქცევისთვის", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "ლოკალური თაიმლაინი", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "პირდაპირი წერილები", "navigation_bar.discover": "აღმოაჩინე", "navigation_bar.domain_blocks": "დამალული დომენები", "navigation_bar.edit_profile": "შეცვალე პროფილი", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Remove poll", "privacy.change": "სტატუსის კონფიდენციალურობის მითითება", "privacy.direct.long": "დაიპოსტოს მხოლოდ დასახელებულ მომხმარებლებთან", - "privacy.direct.short": "პირდაპირი", + "privacy.direct.short": "Direct", "privacy.private.long": "დაიპოსტოს მხოლოდ მიმდევრებთან", - "privacy.private.short": "მხოლოდ-მიმდევრებისთვის", - "privacy.public.long": "დაიპოსტოს საჯარო თაიმლაინებზე", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "საჯარო", - "privacy.unlisted.long": "არ დაიპოსტოს საჯარო თაიმლაინებზე", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "ჩამოუთვლელი", "refresh": "Refresh", "regeneration_indicator.label": "იტვირთება…", diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json index b6628332e..48a1d6fa8 100644 --- a/app/javascript/mastodon/locales/kab.json +++ b/app/javascript/mastodon/locales/kab.json @@ -70,7 +70,7 @@ "column.blocks": "Imiḍanen yettusḥebsen", "column.bookmarks": "Ticraḍ", "column.community": "Tasuddemt tadigant", - "column.direct": "Iznan usriden", + "column.conversations": "Conversations", "column.directory": "Inig deg imaɣnuten", "column.domain_blocks": "Taɣulin yeffren", "column.favourites": "Ismenyifen", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Adigan kan", "community.column_settings.media_only": "Allal n teywalt kan", "community.column_settings.remote_only": "Anmeggag kan", - "compose_form.direct_message_warning": "Tajewwaqt-a ad d-tettwasken kan i yimseqdacen i d-yettwabedren.", "compose_form.direct_message_warning_learn_more": "Issin ugar", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", "compose_form.lock_disclaimer": "Amiḍan-ik ur yelli ara {locked}. Menwala yezmer ad k-yeḍfeṛ akken ad iẓer acu tbeṭṭuḍ akked yimeḍfaṛen-ik.", "compose_form.lock_disclaimer.lock": "yettwacekkel", @@ -166,7 +166,7 @@ "empty_column.blocks": "Ur tesḥebseḍ ula yiwen n umseqdac ar tura.", "empty_column.bookmarked_statuses": "Ulac tijewwaqin i terniḍ ɣer yismenyifen-ik ar tura. Ticki terniḍ yiwet, ad d-tettwasken da.", "empty_column.community": "Tasuddemt tazayezt tadigant n yisallen d tilemt. Aru ihi kra akken ad tt-teččareḍ!", - "empty_column.direct": "Ulac ɣur-k ula yiwen n yizen usrid. Ad d-yettwasken da, ticki tuzneḍ neɣ teṭṭfeḍ-d yiwen.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Ulac kra n taɣult yettwaffren ar tura.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Ulac ula yiwet n tjewwaqt deg yismenyifen-ik ar tura. Ticki Tella-d yiwet, ad d-ban da.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "i beṭṭu tikelt-nniḍen", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Aglam", - "keyboard_shortcuts.direct": "akken ad teldiḍ ajgu n yiznan usriden", "keyboard_shortcuts.down": "i kennu ɣer wadda n tebdart", "keyboard_shortcuts.enter": "i tildin n tsuffeɣt", "keyboard_shortcuts.favourite": "akken ad ternuḍ ɣer yismenyifen", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Ticraḍ", "navigation_bar.community_timeline": "Tasuddemt tadigant", "navigation_bar.compose": "Aru tajewwiqt tamaynut", - "navigation_bar.direct": "Iznan usridden", "navigation_bar.discover": "Ẓer", "navigation_bar.domain_blocks": "Tiɣula yeffren", "navigation_bar.edit_profile": "Ẓreg amaɣnu", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Kkes asenqed", "privacy.change": "Seggem tabaḍnit n yizen", "privacy.direct.long": "Bḍu gar yimseqdacen i tbedreḍ kan", - "privacy.direct.short": "Usrid", + "privacy.direct.short": "Direct", "privacy.private.long": "Bḍu i yimeḍfaṛen-ik kan", - "privacy.private.short": "Imeḍfaṛen kan", - "privacy.public.long": "Bḍu deg tsuddemt tazayezt", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Azayez", - "privacy.unlisted.long": "Ur beṭṭu ara deg tsuddemt tazayezt", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "War tabdert", "refresh": "Smiren", "regeneration_indicator.label": "Yessalay-d…", diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json index f8185fe95..fd9074afd 100644 --- a/app/javascript/mastodon/locales/kk.json +++ b/app/javascript/mastodon/locales/kk.json @@ -70,7 +70,7 @@ "column.blocks": "Бұғатталғандар", "column.bookmarks": "Бетбелгілер", "column.community": "Жергілікті желі", - "column.direct": "Жеке хаттар", + "column.conversations": "Conversations", "column.directory": "Профильдерді аралау", "column.domain_blocks": "Жасырылған домендер", "column.favourites": "Таңдаулылар", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Тек жергілікті", "community.column_settings.media_only": "Тек медиа", "community.column_settings.remote_only": "Тек сыртқы", - "compose_form.direct_message_warning": "Тек аталған қолданушыларға.", "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.hashtag_warning": "Бұл пост іздеуде хэштегпен шықпайды, өйткені ол бәріне ашық емес. Тек ашық жазбаларды ғана хэштег арқылы іздеп табуға болады.", "compose_form.lock_disclaimer": "Аккаунтыңыз {locked} емес. Кез келген адам жазылып, сізді оқи алады.", "compose_form.lock_disclaimer.lock": "жабық", @@ -166,7 +166,7 @@ "empty_column.blocks": "Ешкімді бұғаттамағансыз.", "empty_column.bookmarked_statuses": "Ешқандай жазба Бетбелгілер тізіміне қосылмапты. Қосылғаннан кейін осында жинала бастайды.", "empty_column.community": "Жергілікті желі бос. Сіз бастап жазыңыз!", - "empty_column.direct": "Әзірше дым хат жоқ. Өзіңіз жазып көріңіз алдымен.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Бұғатталған домен жоқ.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Ешқандай жазба 'Таңдаулылар' тізіміне қосылмапты. Қосылғаннан кейін осында жинала бастайды.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "жазба бөлісу", "keyboard_shortcuts.column": "бағандардағы жазбаны оқу", "keyboard_shortcuts.compose": "пост жазу", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Сипаттама", - "keyboard_shortcuts.direct": "жеке хаттар бағаны", "keyboard_shortcuts.down": "тізімде төмен түсу", "keyboard_shortcuts.enter": "жазбаны ашу", "keyboard_shortcuts.favourite": "таңдаулыға қосу", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Бетбелгілер", "navigation_bar.community_timeline": "Жергілікті желі", "navigation_bar.compose": "Жаңа жазба бастау", - "navigation_bar.direct": "Жеке хаттар", "navigation_bar.discover": "шарлау", "navigation_bar.domain_blocks": "Жабық домендер", "navigation_bar.edit_profile": "Профиль түзету", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Сауалнаманы өшіру", "privacy.change": "Құпиялылықты реттеу", "privacy.direct.long": "Аталған адамдарға ғана көрінетін жазба", - "privacy.direct.short": "Тікелей", + "privacy.direct.short": "Direct", "privacy.private.long": "Тек оқырмандарға арналған жазба", - "privacy.private.short": "Оқырмандарға ғана", - "privacy.public.long": "Ашық желіге жібер", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Ашық", - "privacy.unlisted.long": "Do not show in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Тізімсіз", "refresh": "Жаңарту", "regeneration_indicator.label": "Жүктеу…", diff --git a/app/javascript/mastodon/locales/kn.json b/app/javascript/mastodon/locales/kn.json index 74b3992c7..222a62164 100644 --- a/app/javascript/mastodon/locales/kn.json +++ b/app/javascript/mastodon/locales/kn.json @@ -70,7 +70,7 @@ "column.blocks": "Blocked users", "column.bookmarks": "Bookmarks", "column.community": "Local timeline", - "column.direct": "Direct messages", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "Hidden domains", "column.favourites": "Favourites", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "Media only", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "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.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": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "locked", @@ -166,7 +166,7 @@ "empty_column.blocks": "You haven't blocked any users yet.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no hidden domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "Local timeline", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Direct messages", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "Edit profile", @@ -370,9 +369,9 @@ "privacy.direct.short": "Direct", "privacy.private.long": "Post to followers only", "privacy.private.short": "Followers-only", - "privacy.public.long": "Post to public timelines", + "privacy.public.long": "Visible for all", "privacy.public.short": "Public", - "privacy.unlisted.long": "Do not show in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Unlisted", "refresh": "Refresh", "regeneration_indicator.label": "Loading…", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index eb51428bc..4af91f569 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -70,7 +70,7 @@ "column.blocks": "차단한 사용자", "column.bookmarks": "보관함", "column.community": "로컬 타임라인", - "column.direct": "다이렉트 메시지", + "column.conversations": "대화", "column.directory": "프로필 둘러보기", "column.domain_blocks": "차단한 도메인", "column.favourites": "좋아요", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "로컬만", "community.column_settings.media_only": "미디어만", "community.column_settings.remote_only": "원격만", - "compose_form.direct_message_warning": "이 게시물은 멘션 된 유저들에게만 보여집니다.", "compose_form.direct_message_warning_learn_more": "더 알아보기", + "compose_form.encryption_warning": "마스토돈의 게시물들은 종단간 암호화가 되지 않습니아. 위험한 정보를 마스토돈을 통해 전달하지 마세요.", "compose_form.hashtag_warning": "이 게시물은 어떤 해시태그로도 검색 되지 않습니다. 전체공개로 게시 된 게시물만이 해시태그로 검색 될 수 있습니다.", "compose_form.lock_disclaimer": "이 계정은 {locked}로 설정 되어 있지 않습니다. 누구나 이 계정을 팔로우 할 수 있으며, 팔로워 공개의 포스팅을 볼 수 있습니다.", "compose_form.lock_disclaimer.lock": "비공개", @@ -166,7 +166,7 @@ "empty_column.blocks": "아직 아무도 차단하지 않았습니다.", "empty_column.bookmarked_statuses": "아직 보관한 게시물이 없습니다. 게시물을 보관하면 여기에 나타납니다.", "empty_column.community": "로컬 타임라인에 아무 것도 없습니다. 아무거나 적어 보세요!", - "empty_column.direct": "아직 다이렉트 메시지가 없습니다. 다이렉트 메시지를 보내거나 받은 경우, 여기에 표시 됩니다.", + "empty_column.conversations": "멘션한 사람만 볼 수 있는 게시물을 보내거나 받은 경우에, 여기에 나타납니다.", "empty_column.domain_blocks": "아직 차단한 도메인이 없습니다.", "empty_column.explore_statuses": "아직 유행하는 것이 없습니다. 나중에 다시 확인하세요!", "empty_column.favourited_statuses": "아직 마음에 들어한 게시물이 없습니다. 게시물을 좋아요 하면 여기에 나타납니다.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "게시물 부스트", "keyboard_shortcuts.column": "해당 컬럼에 포커스", "keyboard_shortcuts.compose": "작성창에 포커스", + "keyboard_shortcuts.conversations": "대화 컬럼 열기", "keyboard_shortcuts.description": "설명", - "keyboard_shortcuts.direct": "다이렉트 메시지 컬럼 열기", "keyboard_shortcuts.down": "리스트에서 아래로 이동", "keyboard_shortcuts.enter": "게시물 열기", "keyboard_shortcuts.favourite": "관심글 지정", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "보관함", "navigation_bar.community_timeline": "로컬 타임라인", "navigation_bar.compose": "새 게시물 작성", - "navigation_bar.direct": "다이렉트 메시지", "navigation_bar.discover": "발견하기", "navigation_bar.domain_blocks": "차단한 도메인", "navigation_bar.edit_profile": "프로필 편집", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "투표 삭제", "privacy.change": "게시물의 프라이버시 설정을 변경", "privacy.direct.long": "멘션한 사용자에게만 공개", - "privacy.direct.short": "다이렉트", + "privacy.direct.short": "내가 멘션한 사람만", "privacy.private.long": "팔로워에게만 공개", - "privacy.private.short": "비공개", - "privacy.public.long": "공개 타임라인에 표시", + "privacy.private.short": "팔로워 전용", + "privacy.public.long": "모두가 볼 수 있음", "privacy.public.short": "공개", - "privacy.unlisted.long": "공개 타임라인에 표시하지 않음", + "privacy.unlisted.long": "모두가 볼 수 있지만, 발견하기 기능에서는 제외됨", "privacy.unlisted.short": "타임라인에 비표시", "refresh": "새로고침", "regeneration_indicator.label": "불러오는 중…", diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json index 642ec5fba..02df9eff6 100644 --- a/app/javascript/mastodon/locales/ku.json +++ b/app/javascript/mastodon/locales/ku.json @@ -70,7 +70,7 @@ "column.blocks": "Bikarhênerên astengkirî", "column.bookmarks": "Şûnpel", "column.community": "Demnameya herêmî", - "column.direct": "Peyamên taybet", + "column.conversations": "Axaftin", "column.directory": "Li profîlan bigere", "column.domain_blocks": "Navperên astengkirî", "column.favourites": "Bijarte", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Tenê herêmî", "community.column_settings.media_only": "Tenê media", "community.column_settings.remote_only": "Tenê ji dûr ve", - "compose_form.direct_message_warning": "Ev şandî tenê ji bikarhênerên qalkirî re wê were şandin.", "compose_form.direct_message_warning_learn_more": "Bêtir fêr bibe", + "compose_form.encryption_warning": "Şandiyên li ser Mastodon dawî-bi-dawî ne şîfrekirî ne. Li ser Mastodon zanyariyên talûke parve neke.", "compose_form.hashtag_warning": "Ev şandî ji ber ku nehatiye tomarkirin dê di binê hashtagê de neyê tomar kirin. Tenê peyamên gelemperî dikarin bi hashtagê werin lêgerîn.", "compose_form.lock_disclaimer": "Ajimêrê te {locked} nîne. Herkes dikare te bişopîne da ku şandiyên te yên tenê şopînerên te ra xûya dibin bibînin.", "compose_form.lock_disclaimer.lock": "girtî ye", @@ -166,7 +166,7 @@ "empty_column.blocks": "Te tu bikarhêner asteng nekiriye.", "empty_column.bookmarked_statuses": "Hîn tu peyamên şûnpelkirî tuneye. Gava ku hûn yek şûnpel bikin, ew ê li vir xûya bike.", "empty_column.community": "Demnameya herêmî vala ye. Tiştek ji raya giştî re binivsînin da ku rûpel biherike!", - "empty_column.direct": "Hêj peyameke te yê rasterast tuneye. Gava ku tu yekî bişeynî an jî bigirî, ew ê li vir xûya bike.", + "empty_column.conversations": "Dema tu şandiyekê bişîninî an jî bistînî ku tenê ji kesên qalkirî re xuyabar in, ew ê li vir xuya bibe.", "empty_column.domain_blocks": "Hê jî navperên hatine asteng kirin tune ne.", "empty_column.explore_statuses": "Tiştek niha di rojevê de tune. Paşê vegere!", "empty_column.favourited_statuses": "Hîn tu peyamên te yên bijare tunene. Gava ku te yekî bijart, ew ê li vir xûya bike.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Şandiyê bilind bike", "keyboard_shortcuts.column": "Stûna balkişandinê", "keyboard_shortcuts.compose": "Bal bikşîne cîhê nivîsê/textarea", + "keyboard_shortcuts.conversations": "ji bo vekirina stûna axaftinan", "keyboard_shortcuts.description": "Danasîn", - "keyboard_shortcuts.direct": "Ji stûnê peyamên rasterast veke", "keyboard_shortcuts.down": "Di rêzokê de dakêşe jêr", "keyboard_shortcuts.enter": "Şandiyê veke", "keyboard_shortcuts.favourite": "Şandiya bijarte", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Şûnpel", "navigation_bar.community_timeline": "Demnameya herêmî", "navigation_bar.compose": "Şandiyeke nû binivsîne", - "navigation_bar.direct": "Peyamên rasterast", "navigation_bar.discover": "Vekolê", "navigation_bar.domain_blocks": "Navparên astengkirî", "navigation_bar.edit_profile": "Profîl serrast bike", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Rapirsî yê rake", "privacy.change": "Nepênîtiya şandiyan biguherîne", "privacy.direct.long": "Tenê ji bo bikarhênerên qalkirî tê dîtin", - "privacy.direct.short": "Taybet", + "privacy.direct.short": "Tenê mirovên ku min qalkirî", "privacy.private.long": "Tenê bo şopîneran xuyabar e", "privacy.private.short": "Tenê şopîneran", - "privacy.public.long": "Ji bo herkesî li berçav e, di demnameyên gelemperî de dê xûyakirin", + "privacy.public.long": "Ji bo hemûyan xuyabar e", "privacy.public.short": "Gelemperî", - "privacy.unlisted.long": "Ji herkesî ra tê xûya, lê demnameyê gelemperî ra nay xûyakirin", + "privacy.unlisted.long": "Ji bo hemûyan xuyabar e, lê ji taybetmendiyên vekolînê veqetiya ye", "privacy.unlisted.short": "Nerêzok", "refresh": "Nû bike", "regeneration_indicator.label": "Tê barkirin…", diff --git a/app/javascript/mastodon/locales/kw.json b/app/javascript/mastodon/locales/kw.json index 8ca7c68c1..7aa686a7a 100644 --- a/app/javascript/mastodon/locales/kw.json +++ b/app/javascript/mastodon/locales/kw.json @@ -70,7 +70,7 @@ "column.blocks": "Devnydhyoryon lettys", "column.bookmarks": "Folennosow", "column.community": "Amserlin leel", - "column.direct": "Messajys didro", + "column.conversations": "Conversations", "column.directory": "Peuri profilys", "column.domain_blocks": "Gorfarthow lettys", "column.favourites": "Re drudh", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Leel hepken", "community.column_settings.media_only": "Myski hepken", "community.column_settings.remote_only": "A-bell hepken", - "compose_form.direct_message_warning": "An post ma a vydh danvenys dhe'n dhevnydhyoryon menegys hepken.", "compose_form.direct_message_warning_learn_more": "Dyski moy", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Ny vydh an post ma diskwedhys yn-dann vòlnos vyth awos y vos mes a rol. Ny yllir hwilas saw poblow postek dre vòlnos.", "compose_form.lock_disclaimer": "Nyns yw agas akont {locked}. Piwpynag a yll agas holya dhe weles agas postow holyoryon-hepken.", "compose_form.lock_disclaimer.lock": "Alhwedhys", @@ -166,7 +166,7 @@ "empty_column.blocks": "Ny wrussowgh lettya devnydhyoryon vyth hwath.", "empty_column.bookmarked_statuses": "Nyns eus dhywgh postow gans folennos hwath. Pan wrewgh gorra onan, ev a wra omdhiskwedhes omma.", "empty_column.community": "An amserlin leel yw gwag. Skrifewgh neppytn yn poblek dh'y lonchya!", - "empty_column.direct": "Nyns eus dhywgh messajys didro hwath. Pan wrewgh dannvon po degemeres onan, ev a wra omdhiskwedhes omma.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Nyns eus gorfarthow lettys hwath.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Nyns eus dhywgh postow drudh hwath. Pan wrewgh merkya onan vel drudh, ev a wra omdhiskwedhes omma.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Kenertha post", "keyboard_shortcuts.column": "Fogella koloven", "keyboard_shortcuts.compose": "Fogella tekstva gomposya", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Deskrifans", - "keyboard_shortcuts.direct": "Ygeri koloven messajys didro", "keyboard_shortcuts.down": "Movya war-nans y'n rol", "keyboard_shortcuts.enter": "Ygeri post", "keyboard_shortcuts.favourite": "Merkya post vel drudh", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Folennosow", "navigation_bar.community_timeline": "Amserlin leel", "navigation_bar.compose": "Komposya post nowydh", - "navigation_bar.direct": "Messajys didro", "navigation_bar.discover": "Diskudha", "navigation_bar.domain_blocks": "Gorfarthow lettys", "navigation_bar.edit_profile": "Golegi profil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Dilea sondyans", "privacy.change": "Chanjya privetter an post", "privacy.direct.long": "Gweladow dhe'n dhevnydhyoryon menegys hepken", - "privacy.direct.short": "Didro", + "privacy.direct.short": "Direct", "privacy.private.long": "Gweladow dhe holyoryon hepken", - "privacy.private.short": "Holyoryon-hepken", - "privacy.public.long": "Gweladow dhe beub, diskwedhys yn amserlinyow poblek", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Poblek", - "privacy.unlisted.long": "Gweladow dhe beub, a-der yn amserlinyow poblek", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Anrelys", "refresh": "Daskarga", "regeneration_indicator.label": "Ow karga…", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index d54fc64f0..ade4933f9 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -70,7 +70,7 @@ "column.blocks": "Blocked users", "column.bookmarks": "Bookmarks", "column.community": "Local timeline", - "column.direct": "Direct messages", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "Hidden domains", "column.favourites": "Mėgstamiausi", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "Media only", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "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.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": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "locked", @@ -166,7 +166,7 @@ "empty_column.blocks": "You haven't blocked any users yet.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no hidden domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "Local timeline", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Direct messages", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "Edit profile", @@ -370,9 +369,9 @@ "privacy.direct.short": "Direct", "privacy.private.long": "Post to followers only", "privacy.private.short": "Followers-only", - "privacy.public.long": "Post to public timelines", + "privacy.public.long": "Visible for all", "privacy.public.short": "Public", - "privacy.unlisted.long": "Do not show in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Unlisted", "refresh": "Refresh", "regeneration_indicator.label": "Loading…", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index 559d06f98..3bfb7532a 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -70,7 +70,7 @@ "column.blocks": "Bloķētie lietotāji", "column.bookmarks": "Grāmatzīmes", "column.community": "Vietējā ziņu līnija", - "column.direct": "Privātās ziņas", + "column.conversations": "Sarunas", "column.directory": "Pārlūkot profilus", "column.domain_blocks": "Bloķētie domēni", "column.favourites": "Izlase", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Tikai vietējie", "community.column_settings.media_only": "Tikai mediji", "community.column_settings.remote_only": "Tikai attālinātie", - "compose_form.direct_message_warning": "Šis ziņojums tiks nosūtīts tikai pieminētajiem lietotājiem.", "compose_form.direct_message_warning_learn_more": "Uzzināt vairāk", + "compose_form.encryption_warning": "Ziņas vietnē Mastodon nav pilnībā šifrētas. Nedalies ar bīstamu informāciju caur Mastodon.", "compose_form.hashtag_warning": "Ziņojumu nebūs iespējams atrast zem haštagiem jo tas nav publisks. Tikai publiskos ziņojumus ir iespējams meklēt pēc tiem.", "compose_form.lock_disclaimer": "Tavs konts nav {locked}. Ikviens var Tev sekot lai apskatītu tikai sekotājiem paredzētos ziņojumus.", "compose_form.lock_disclaimer.lock": "slēgts", @@ -166,7 +166,7 @@ "empty_column.blocks": "Patreiz tu neesi nevienu bloķējis.", "empty_column.bookmarked_statuses": "Patreiz tev nav neviena grāmatzīmēm pievienota ieraksta. Kad tādu pievienosi, tas parādīsies šeit.", "empty_column.community": "Vietējā ziņu lenta ir tukša. Uzraksti kaut ko publiski, lai viss notiktu!", - "empty_column.direct": "Patrez tev nav privātu ziņu. Tiklīdz tādu nosūtīsi vai saņemsi, tās parādīsies šeit.", + "empty_column.conversations": "Kad nosūtīsi vai saņemsi ziņu, kas ir redzama tikai tajā minētajām personām, tā tiks parādīta šeit.", "empty_column.domain_blocks": "Vēl nav neviena bloķēta domēna.", "empty_column.explore_statuses": "Pašlaik nekas nav tendēts. Pārbaudiet vēlāk!", "empty_column.favourited_statuses": "Patreiz tev nav neviena izceltā ieraksta. Kad kādu izcelsi, tas parādīsies šeit.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Palielināt ziņu", "keyboard_shortcuts.column": "Fokusēt kolonnu", "keyboard_shortcuts.compose": "Fokusēt veidojamā teksta lauku", + "keyboard_shortcuts.conversations": "lai atvērtu sarunu kolonnu", "keyboard_shortcuts.description": "Apraksts", - "keyboard_shortcuts.direct": "Atvērt privāto ziņojumu kolonnu", "keyboard_shortcuts.down": "Pārvietot sarakstā uz leju", "keyboard_shortcuts.enter": "Atvērt ziņu", "keyboard_shortcuts.favourite": "Pievienot izlasei", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Grāmatzīmes", "navigation_bar.community_timeline": "Vietējā ziņu lenta", "navigation_bar.compose": "Veidot jaunu ziņu", - "navigation_bar.direct": "Privātās ziņas", "navigation_bar.discover": "Atklāt", "navigation_bar.domain_blocks": "Bloķētie domēni", "navigation_bar.edit_profile": "Rediģēt profilu", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Noņemt aptauju", "privacy.change": "Mainīt ziņas privātumu", "privacy.direct.long": "Redzams tikai pieminētajiem lietotājiem", - "privacy.direct.short": "Tiešs", + "privacy.direct.short": "Tikai cilvēki, kurus es pieminu", "privacy.private.long": "Redzams tikai sekotājiem", "privacy.private.short": "Tikai sekotājiem", - "privacy.public.long": "Redzams visiem, rāda publiskajās ziņu lentās", + "privacy.public.long": "Redzama visiem", "privacy.public.short": "Publisks", - "privacy.unlisted.long": "Redzams visiem, bet ne publiskajās ziņu lentās", + "privacy.unlisted.long": "Redzama visiem, bet atteicās no atklāšanas funkcijām", "privacy.unlisted.short": "Neminētie", "refresh": "Atsvaidzināt", "regeneration_indicator.label": "Ielādē…", diff --git a/app/javascript/mastodon/locales/mk.json b/app/javascript/mastodon/locales/mk.json index def8e718b..72bb52adf 100644 --- a/app/javascript/mastodon/locales/mk.json +++ b/app/javascript/mastodon/locales/mk.json @@ -70,7 +70,7 @@ "column.blocks": "Блокирани корисници", "column.bookmarks": "Bookmarks", "column.community": "Локална временска зона", - "column.direct": "Директна порака", + "column.conversations": "Conversations", "column.directory": "Види профили", "column.domain_blocks": "Скриени домеини", "column.favourites": "Омилени", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "Само медиа", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "compose_form.direct_message_warning_learn_more": "Научи повеќе", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over 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": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "заклучен", @@ -166,7 +166,7 @@ "empty_column.blocks": "Немате сеуште блокирано корисници.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "Локалниот времеплов е празен. Објавете нешто јавно за да може да почне шоуто!", - "empty_column.direct": "Немате директни пораки. Кога ќе пратите или примите, ќе се појават тука.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Немате сокриени домеини уште.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "Local timeline", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Direct messages", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "Уреди профил", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Избришете анкета", "privacy.change": "Штеловај статус на приватност", "privacy.direct.long": "Објави само на спомнати корисници", - "privacy.direct.short": "Директно", + "privacy.direct.short": "Direct", "privacy.private.long": "Објави само на следбеници", - "privacy.private.short": "Само следбеници", - "privacy.public.long": "Објави во јавни времплови", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Јавно", - "privacy.unlisted.long": "Не објавувај на јавни времеплови", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Необјавено", "refresh": "Освежи", "regeneration_indicator.label": "Вчитување…", diff --git a/app/javascript/mastodon/locales/ml.json b/app/javascript/mastodon/locales/ml.json index adca25974..a1db3f5a5 100644 --- a/app/javascript/mastodon/locales/ml.json +++ b/app/javascript/mastodon/locales/ml.json @@ -70,7 +70,7 @@ "column.blocks": "തടയപ്പെട്ട ഉപയോക്താക്കൾ", "column.bookmarks": "ബുക്ക്മാർക്കുകൾ", "column.community": "പ്രാദേശികമായ സമയരേഖ", - "column.direct": "നേരിട്ടുള്ള സന്ദേശങ്ങൾ", + "column.conversations": "Conversations", "column.directory": "പ്രൊഫൈലുകൾ മറിച്ചുനോക്കുക", "column.domain_blocks": "മറയ്ക്കപ്പെട്ട മേഖലകൾ", "column.favourites": "പ്രിയപ്പെട്ടവ", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "പ്രാദേശികം മാത്രം", "community.column_settings.media_only": "മാധ്യമങ്ങൾ മാത്രം", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "പരാമർശിക്കപ്പെട്ടിരിക്കുന്ന ഉപയോഗ്താക്കൾക്കെ ഈ ടൂട്ട് അയക്കപ്പെടുകയുള്ളു.", "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.hashtag_warning": "ഈ ടൂട്ട് പട്ടികയിൽ ഇല്ലാത്തതിനാൽ ഒരു ചർച്ചാവിഷയത്തിന്റെ പട്ടികയിലും പെടുകയില്ല. പരസ്യമായ ടൂട്ടുകൾ മാത്രമേ ചർച്ചാവിഷയം അടിസ്ഥാനമാക്കി തിരയുവാൻ സാധിക്കുകയുള്ളു.", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "ലോക്കുചെയ്തു", @@ -166,7 +166,7 @@ "empty_column.blocks": "നിങ്ങൾ ഇതുവരെ ഒരു ഉപയോക്താക്കളെയും തടഞ്ഞിട്ടില്ല.", "empty_column.bookmarked_statuses": "നിങ്ങൾക് ഇതുവരെ അടയാളപ്പെടുത്തിയ ടൂട്ടുകൾ ഇല്ല. അടയാളപ്പെടുത്തിയാൽ അത് ഇവിടെ വരും.", "empty_column.community": "പ്രാദേശികമായ സമയരേഖ ശൂന്യമാണ്. എന്തെങ്കിലും പരസ്യമായി എഴുതി തുടക്കം കുറിക്കു!", - "empty_column.direct": "നിങ്ങൾക്ക് ഇതുവരെ നേരിട്ടുള്ള സന്ദേശങ്ങൾ ഒന്നുമില്ല. നിങ്ങൾ അങ്ങനെ ഒന്ന് അയക്കുകയോ, നിങ്ങൾക്ക് ലഭിക്കുകയോ ചെയ്യുന്നപക്ഷം അതിവിടെ കാണപ്പെടുന്നതാണ്.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "മറയ്ക്കപ്പെട്ടിരിക്കുന്ന മേഖലകൾ ഇതുവരെ ഇല്ല.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "നിങ്ങൾക്ക് ഇത് വരെ ഒരു പ്രിയപ്പെട്ട ടൂട്ടും ഇല്ല. നിങ്ങൾ അങ്ങനെ ഒന്ന് പ്രിയപ്പെടുന്ന പക്ഷം അതിവിടെ കാണപ്പെടുന്നതാണ്.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "ബൂസ്റ്റ് ചെയ്യുക", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "വിവരണം", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "ടൂട്ട് എടുക്കാൻ", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "ബുക്ക്മാർക്കുകൾ", "navigation_bar.community_timeline": "പ്രാദേശിക സമയരേഖ", "navigation_bar.compose": "പുതിയ ടൂട്ട് എഴുതുക", - "navigation_bar.direct": "നേരിട്ടുള്ള സന്ദേശങ്ങൾ", "navigation_bar.discover": "കണ്ടെത്തുക", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "പ്രൊഫൈൽ തിരുത്തുക", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "പോൾ നീക്കംചെയ്യുക", "privacy.change": "ടൂട്ട് സ്വകാര്യത ക്രമീകരിക്കുക", "privacy.direct.long": "Post to mentioned users only", - "privacy.direct.short": "നേരിട്ട്", + "privacy.direct.short": "Direct", "privacy.private.long": "Post to followers only", - "privacy.private.short": "പിന്തുടരുന്നവർക്ക് മാത്രം", - "privacy.public.long": "Post to public timelines", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "എല്ലാവര്‍ക്കും", - "privacy.unlisted.long": "Do not show in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Unlisted", "refresh": "പുതുക്കുക", "regeneration_indicator.label": "ലഭ്യമാക്കുന്നു…", diff --git a/app/javascript/mastodon/locales/mr.json b/app/javascript/mastodon/locales/mr.json index 373b8b026..9c3500443 100644 --- a/app/javascript/mastodon/locales/mr.json +++ b/app/javascript/mastodon/locales/mr.json @@ -70,7 +70,7 @@ "column.blocks": "ब्लॉक केलेले खातेधारक", "column.bookmarks": "Bookmarks", "column.community": "Local timeline", - "column.direct": "थेट संदेश", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "गुप्त डोमेन्स", "column.favourites": "आवडते", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "केवळ मीडिया", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "compose_form.direct_message_warning_learn_more": "अधिक जाणून घ्या", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over 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": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "locked", @@ -166,7 +166,7 @@ "empty_column.blocks": "You haven't blocked any users yet.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no hidden domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "Local timeline", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Direct messages", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "Edit profile", @@ -370,9 +369,9 @@ "privacy.direct.short": "Direct", "privacy.private.long": "Post to followers only", "privacy.private.short": "Followers-only", - "privacy.public.long": "Post to public timelines", + "privacy.public.long": "Visible for all", "privacy.public.short": "Public", - "privacy.unlisted.long": "Do not show in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Unlisted", "refresh": "Refresh", "regeneration_indicator.label": "Loading…", diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json index f4cc1c7ba..0c6996463 100644 --- a/app/javascript/mastodon/locales/ms.json +++ b/app/javascript/mastodon/locales/ms.json @@ -70,7 +70,7 @@ "column.blocks": "Pengguna yang disekat", "column.bookmarks": "Tanda buku", "column.community": "Garis masa tempatan", - "column.direct": "Mesej terus", + "column.conversations": "Conversations", "column.directory": "Layari profil", "column.domain_blocks": "Domain disekat", "column.favourites": "Kegemaran", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Tempatan sahaja", "community.column_settings.media_only": "Media sahaja", "community.column_settings.remote_only": "Jauh sahaja", - "compose_form.direct_message_warning": "Hantaran ini hanya akan dihantar kepada pengguna yang disebut.", "compose_form.direct_message_warning_learn_more": "Ketahui lebih lanjut", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Hantaran ini tidak akan disenaraikan di bawah mana-mana tanda pagar kerana ia tidak tersenarai. Hanya hantaran awam sahaja boleh dicari menggunakan tanda pagar.", "compose_form.lock_disclaimer": "Akaun anda tidak {locked}. Sesiapa pun boleh mengikuti anda untuk melihat hantaran pengikut-sahaja anda.", "compose_form.lock_disclaimer.lock": "dikunci", @@ -166,7 +166,7 @@ "empty_column.blocks": "Anda belum menyekat sesiapa.", "empty_column.bookmarked_statuses": "Anda belum ada hantaran yang ditanda buku. Apabila anda menanda buku sesuatu, ia akan muncul di sini.", "empty_column.community": "Garis masa tempatan kosong. Tulislah secara awam untuk memulakan sesuatu!", - "empty_column.direct": "Anda tidak mempunyai mesej terus. Apabila anda menghantar atau menerimanya, ia akan muncul di sini.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Belum ada domain yang disekat.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Anda belum ada hantaran yang digemari. Apabila anda menggemari sesuatu, ia akan muncul di sini.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "Tumpu pada lajur", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Keterangan", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "Buka hantaran", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Tanda buku", "navigation_bar.community_timeline": "Garis masa tempatan", "navigation_bar.compose": "Karang hantaran baharu", - "navigation_bar.direct": "Mesej terus", "navigation_bar.discover": "Teroka", "navigation_bar.domain_blocks": "Domain disekat", "navigation_bar.edit_profile": "Sunting profil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Buang undian", "privacy.change": "Ubah privasi hantaran", "privacy.direct.long": "Hanya boleh dilihat oleh pengguna disebut", - "privacy.direct.short": "Terus", + "privacy.direct.short": "Direct", "privacy.private.long": "Hanya boleh dilihat oleh pengikut", - "privacy.private.short": "Pengikut sahaja", - "privacy.public.long": "Boleh dilihat oleh semua orang, ditunjukkan di garis masa awam", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Awam", - "privacy.unlisted.long": "Boleh dilihat oleh semua orang, tapi jangan tunjukkan di garis masa awam", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Tidak tersenarai", "refresh": "Muat semula", "regeneration_indicator.label": "Memuatkan…", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index 86a7b0023..5e40dacb8 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -70,7 +70,7 @@ "column.blocks": "Geblokkeerde gebruikers", "column.bookmarks": "Bladwijzers", "column.community": "Lokale tijdlijn", - "column.direct": "Directe berichten", + "column.conversations": "Gesprekken", "column.directory": "Gebruikersgids", "column.domain_blocks": "Geblokkeerde domeinen", "column.favourites": "Favorieten", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Alleen lokaal", "community.column_settings.media_only": "Alleen media", "community.column_settings.remote_only": "Alleen andere servers", - "compose_form.direct_message_warning": "Dit bericht wordt alleen naar vermelde gebruikers verstuurd.", "compose_form.direct_message_warning_learn_more": "Meer leren", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Dit bericht valt niet onder een hashtag te bekijken, omdat deze niet op openbare tijdlijnen wordt getoond. Alleen openbare berichten kunnen via hashtags gevonden worden.", "compose_form.lock_disclaimer": "Jouw account is niet {locked}. Iedereen kan jou volgen en kan de berichten zien die je alleen aan jouw volgers hebt gericht.", "compose_form.lock_disclaimer.lock": "besloten", @@ -166,7 +166,7 @@ "empty_column.blocks": "Jij hebt nog geen enkele gebruiker geblokkeerd.", "empty_column.bookmarked_statuses": "Jij hebt nog geen berichten aan je bladwijzers toegevoegd. Wanneer je er een aan jouw bladwijzers toevoegt, valt deze hier te zien.", "empty_column.community": "De lokale tijdlijn is nog leeg. Plaats een openbaar bericht om de spits af te bijten!", - "empty_column.direct": "Je hebt nog geen directe berichten. Wanneer je er een verzend of ontvangt, zijn deze hier te zien.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Er zijn nog geen geblokkeerde domeinen.", "empty_column.explore_statuses": "Momenteel zijn er geen trends. Kom later terug!", "empty_column.favourited_statuses": "Jij hebt nog geen favoriete berichten. Wanneer je er een aan jouw favorieten toevoegt, valt deze hier te zien.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Bericht boosten", "keyboard_shortcuts.column": "Op één van de kolommen focussen", "keyboard_shortcuts.compose": "Tekstveld om een bericht te schrijven focussen", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Omschrijving", - "keyboard_shortcuts.direct": "Jouw directe berichten tonen", "keyboard_shortcuts.down": "Naar beneden in de lijst bewegen", "keyboard_shortcuts.enter": "Volledig bericht tonen", "keyboard_shortcuts.favourite": "Aan jouw favorieten toevoegen", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bladwijzers", "navigation_bar.community_timeline": "Lokale tijdlijn", "navigation_bar.compose": "Nieuw bericht schrijven", - "navigation_bar.direct": "Directe berichten", "navigation_bar.discover": "Ontdekken", "navigation_bar.domain_blocks": "Geblokkeerde domeinen", "navigation_bar.edit_profile": "Profiel bewerken", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Poll verwijderen", "privacy.change": "Zichtbaarheid van bericht aanpassen", "privacy.direct.long": "Alleen aan vermelde gebruikers tonen", - "privacy.direct.short": "Direct", + "privacy.direct.short": "Alleen gebruikers die ik noem", "privacy.private.long": "Alleen aan volgers tonen", "privacy.private.short": "Alleen volgers", - "privacy.public.long": "Voor iedereen zichtbaar en op openbare tijdlijnen tonen", + "privacy.public.long": "Voor iedereen zichtbaar", "privacy.public.short": "Openbaar", - "privacy.unlisted.long": "Voor iedereen zichtbaar, maar niet op openbare tijdlijnen tonen", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Minder openbaar", "refresh": "Vernieuwen", "regeneration_indicator.label": "Aan het laden…", @@ -515,7 +514,7 @@ "upload_error.poll": "Het uploaden van bestanden is in polls niet toegestaan.", "upload_form.audio_description": "Omschrijf dit voor mensen met een auditieve beperking", "upload_form.description": "Omschrijf dit voor mensen met een visuele beperking", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Geen omschrijving toegevoegd", "upload_form.edit": "Bewerken", "upload_form.thumbnail": "Miniatuurafbeelding wijzigen", "upload_form.undo": "Verwijderen", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index 491b24a40..521403c51 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -18,7 +18,7 @@ "account.followers": "Fylgjarar", "account.followers.empty": "Ingen fylgjer denne brukaren enno.", "account.followers_counter": "{count, plural, one {{counter} fylgjar} other {{counter} fylgjarar}}", - "account.following": "Following", + "account.following": "Følger", "account.following_counter": "{count, plural, one {{counter} fylgjar} other {{counter} fylgjar}}", "account.follows.empty": "Denne brukaren fylgjer ikkje nokon enno.", "account.follows_you": "Fylgjer deg", @@ -41,16 +41,16 @@ "account.statuses_counter": "{count, plural, one {{counter} tut} other {{counter} tut}}", "account.unblock": "Slutt å blokera @{name}", "account.unblock_domain": "Vis {domain}", - "account.unblock_short": "Unblock", + "account.unblock_short": "Opphev blokkering", "account.unendorse": "Ikkje framhev på profil", "account.unfollow": "Slutt å fylgja", "account.unmute": "Av-demp @{name}", "account.unmute_notifications": "Vis varsel frå @{name}", - "account.unmute_short": "Unmute", + "account.unmute_short": "Opphev demping", "account_note.placeholder": "Klikk for å leggja til merknad", "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.retention.average": "Gjennomsnitt", "admin.dashboard.retention.cohort": "Sign-up month", "admin.dashboard.retention.cohort_size": "Nye brukere", "alert.rate_limited.message": "Ver venleg å prøva igjen etter {retry_time, time, medium}.", @@ -70,7 +70,7 @@ "column.blocks": "Blokkerte brukarar", "column.bookmarks": "Bokmerke", "column.community": "Lokal tidsline", - "column.direct": "Meldingar", + "column.conversations": "Conversations", "column.directory": "Sjå gjennom profilar", "column.domain_blocks": "Gøymde domene", "column.favourites": "Favorittar", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Berre lokalt", "community.column_settings.media_only": "Berre media", "community.column_settings.remote_only": "Berre eksternt", - "compose_form.direct_message_warning": "Dette tutet vert berre synleg for nemnde brukarar.", "compose_form.direct_message_warning_learn_more": "Lær meir", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Dette tutet vert ikkje oppført under nokon emneknagg sidan det ikkje er oppført. Berre offentlege tut kan verta søkt etter med emneknagg.", "compose_form.lock_disclaimer": "Kontoen din er ikkje {locked}. Kven som helst kan fylgja deg for å sjå innlegga dine som berre visast til fylgjarar.", "compose_form.lock_disclaimer.lock": "låst", @@ -166,7 +166,7 @@ "empty_column.blocks": "Du har ikkje blokkert nokon brukarar enno.", "empty_column.bookmarked_statuses": "Du har ikkje nokon bokmerkte tut enno. Når du bokmerkjer eit, dukkar det opp her.", "empty_column.community": "Den lokale samtiden er tom. Skriv noko offentleg å få ballen til å rulle!", - "empty_column.direct": "Du har ingen direktemeldingar ennå. Når du sender eller får ein vil den dukke opp her.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Det er ingen gøymde domene ennå.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Du har ingen favoritt-tut ennå. Når du merkjer ein som favoritt, så dukkar det opp her.", @@ -187,11 +187,11 @@ "error.unexpected_crash.next_steps_addons": "Prøv å deaktivere dem og laste siden på nytt. Hvis det ikke hjelper, kan du fremdeles bruke Mastodon via en annen nettleser eller en annen app.", "errors.unexpected_crash.copy_stacktrace": "Kopier stacktrace til utklippstavla", "errors.unexpected_crash.report_issue": "Rapporter problem", - "explore.search_results": "Search results", - "explore.suggested_follows": "For you", - "explore.title": "Explore", - "explore.trending_links": "News", - "explore.trending_statuses": "Posts", + "explore.search_results": "Søkeresultater", + "explore.suggested_follows": "For deg", + "explore.title": "Utforsk", + "explore.trending_links": "Nyheter", + "explore.trending_statuses": "Innlegg", "explore.trending_tags": "Hashtags", "follow_recommendations.done": "Ferdig", "follow_recommendations.heading": "Følg folk du ønsker å se innlegg fra! Her er noen forslag.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "for å framheva", "keyboard_shortcuts.column": "for å fokusera på ein status i ei av kolonnane", "keyboard_shortcuts.compose": "for å fokusera tekstfeltet for skriving", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Skildring", - "keyboard_shortcuts.direct": "for å opna direktemeldingskolonna", "keyboard_shortcuts.down": "for å flytta seg opp og ned i lista", "keyboard_shortcuts.enter": "for å opna status", "keyboard_shortcuts.favourite": "for å merkja som favoritt", @@ -290,11 +290,10 @@ "navigation_bar.bookmarks": "Bokmerke", "navigation_bar.community_timeline": "Lokal tidsline", "navigation_bar.compose": "Lag eit nytt tut", - "navigation_bar.direct": "Direktemeldingar", "navigation_bar.discover": "Oppdag", "navigation_bar.domain_blocks": "Skjulte domene", "navigation_bar.edit_profile": "Rediger profil", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Utforsk", "navigation_bar.favourites": "Favorittar", "navigation_bar.filters": "Målbundne ord", "navigation_bar.follow_requests": "Fylgjeførespurnader", @@ -338,7 +337,7 @@ "notifications.column_settings.status": "Nye tuter:", "notifications.column_settings.unread_notifications.category": "Unread notifications", "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", - "notifications.column_settings.update": "Edits:", + "notifications.column_settings.update": "Redigeringer:", "notifications.filter.all": "Alle", "notifications.filter.boosts": "Framhevingar", "notifications.filter.favourites": "Favorittar", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Fjern røyst", "privacy.change": "Juster status-synlegheit", "privacy.direct.long": "Legg berre ut for nemnde brukarar", - "privacy.direct.short": "Direkte", + "privacy.direct.short": "Direct", "privacy.private.long": "Post kun til følgjarar", - "privacy.private.short": "Kun følgjarar", - "privacy.public.long": "Post til offentlege tidslinjer", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Offentleg", - "privacy.unlisted.long": "Ikkje post til offentlege tidslinjer", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Uoppført", "refresh": "Oppdater", "regeneration_indicator.label": "Lastar…", @@ -389,28 +388,28 @@ "relative_time.seconds": "{number}sek", "relative_time.today": "i dag", "reply_indicator.cancel": "Avbryt", - "report.block": "Block", + "report.block": "Blokker", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", - "report.categories.spam": "Spam", + "report.categories.spam": "Søppelpost", "report.categories.violation": "Content violates one or more server rules", "report.category.subtitle": "Choose the best match", "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", + "report.category.title_account": "profil", + "report.category.title_status": "innlegg", + "report.close": "Utført", "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Vidaresend til {target}", "report.forward_hint": "Kontoen er frå ein annan tenar. Vil du senda ein anonymisert kopi av rapporten dit òg?", - "report.mute": "Mute", + "report.mute": "Demp", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.next": "Neste", "report.placeholder": "Tilleggskommentarar", - "report.reasons.dislike": "I don't like it", + "report.reasons.dislike": "Jeg liker det ikke", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", + "report.reasons.spam": "Det er spam", "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.violation": "It violates server rules", "report.reasons.violation_description": "You are aware that it breaks specific rules", @@ -515,7 +514,7 @@ "upload_error.poll": "Filopplasting ikkje tillate med meiningsmålingar.", "upload_form.audio_description": "Grei ut for folk med nedsett høyrsel", "upload_form.description": "Skildr for synshemja", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Ingen beskrivelse lagt til", "upload_form.edit": "Rediger", "upload_form.thumbnail": "Bytt miniatyrbilete", "upload_form.undo": "Slett", diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json index 0a1286f7b..707564404 100644 --- a/app/javascript/mastodon/locales/no.json +++ b/app/javascript/mastodon/locales/no.json @@ -18,7 +18,7 @@ "account.followers": "Følgere", "account.followers.empty": "Ingen følger denne brukeren ennå.", "account.followers_counter": "{count, plural, one {{counter} følger} other {{counter} følgere}}", - "account.following": "Following", + "account.following": "Følger", "account.following_counter": "{count, plural, one {{counter} som følges} other {{counter} som følges}}", "account.follows.empty": "Denne brukeren følger ikke noen enda.", "account.follows_you": "Følger deg", @@ -41,16 +41,16 @@ "account.statuses_counter": "{count, plural, one {{counter} tut} other {{counter} tuter}}", "account.unblock": "Avblokker @{name}", "account.unblock_domain": "Vis {domain}", - "account.unblock_short": "Unblock", + "account.unblock_short": "Opphev blokkering", "account.unendorse": "Ikke vis frem på profilen", "account.unfollow": "Avfølg", "account.unmute": "Avdemp @{name}", "account.unmute_notifications": "Vis varsler fra @{name}", - "account.unmute_short": "Unmute", + "account.unmute_short": "Opphev demping", "account_note.placeholder": "Klikk for å legge til et notat", "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.retention.average": "Gjennomsnitt", "admin.dashboard.retention.cohort": "Sign-up month", "admin.dashboard.retention.cohort_size": "Nye brukere", "alert.rate_limited.message": "Vennligst prøv igjen etter kl. {retry_time, time, medium}.", @@ -70,7 +70,7 @@ "column.blocks": "Blokkerte brukere", "column.bookmarks": "Bokmerker", "column.community": "Lokal tidslinje", - "column.direct": "Direktemeldinger", + "column.conversations": "Conversations", "column.directory": "Bla gjennom profiler", "column.domain_blocks": "Skjulte domener", "column.favourites": "Likt", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Kun lokalt", "community.column_settings.media_only": "Media only", "community.column_settings.remote_only": "Kun eksternt", - "compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.", "compose_form.direct_message_warning_learn_more": "Lær mer", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Denne tuten blir ikke listet under noen emneknagger da den er ulistet. Kun offentlige tuter kan søktes etter med emneknagg.", "compose_form.lock_disclaimer": "Din konto er ikke {locked}. Hvem som helst kan følge deg og se dine private poster.", "compose_form.lock_disclaimer.lock": "låst", @@ -166,7 +166,7 @@ "empty_column.blocks": "Du har ikke blokkert noen brukere enda.", "empty_column.bookmarked_statuses": "Du har ikke bokmerket noen tuter enda. Når du bokmerker en, vil den dukke opp her.", "empty_column.community": "Den lokale tidslinjen er tom. Skriv noe offentlig for å få snøballen til å rulle!", - "empty_column.direct": "Du har ingen direktemeldinger enda. Når du mottar eller sender en, vil den dukke opp her.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Det er ingen skjulte domener enda.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Du har ikke likt noen tuter enda. Når du liker en, vil den dukke opp her.", @@ -187,11 +187,11 @@ "error.unexpected_crash.next_steps_addons": "Prøv å deaktivere dem og laste siden på nytt. Hvis det ikke hjelper, kan du fremdeles bruke Mastodon via en annen nettleser eller en annen app.", "errors.unexpected_crash.copy_stacktrace": "Kopier stacktrace-en til utklippstavlen", "errors.unexpected_crash.report_issue": "Rapporter en feil", - "explore.search_results": "Search results", - "explore.suggested_follows": "For you", - "explore.title": "Explore", - "explore.trending_links": "News", - "explore.trending_statuses": "Posts", + "explore.search_results": "Søkeresultater", + "explore.suggested_follows": "For deg", + "explore.title": "Utforsk", + "explore.trending_links": "Nyheter", + "explore.trending_statuses": "Innlegg", "explore.trending_tags": "Hashtags", "follow_recommendations.done": "Utført", "follow_recommendations.heading": "Følg folk du ønsker å se innlegg fra! Her er noen forslag.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "å fremheve", "keyboard_shortcuts.column": "å fokusere en status i en av kolonnene", "keyboard_shortcuts.compose": "å fokusere komponeringsfeltet", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Beskrivelse", - "keyboard_shortcuts.direct": "åpne direktemeldingskolonnen", "keyboard_shortcuts.down": "for å flytte ned i listen", "keyboard_shortcuts.enter": "å åpne status", "keyboard_shortcuts.favourite": "for å favorittmarkere", @@ -290,11 +290,10 @@ "navigation_bar.bookmarks": "Bokmerker", "navigation_bar.community_timeline": "Lokal tidslinje", "navigation_bar.compose": "Skriv en ny tut", - "navigation_bar.direct": "Direktemeldinger", "navigation_bar.discover": "Oppdag", "navigation_bar.domain_blocks": "Skjulte domener", "navigation_bar.edit_profile": "Rediger profil", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Utforsk", "navigation_bar.favourites": "Favoritter", "navigation_bar.filters": "Stilnede ord", "navigation_bar.follow_requests": "Følgeforespørsler", @@ -338,7 +337,7 @@ "notifications.column_settings.status": "Nye tuter:", "notifications.column_settings.unread_notifications.category": "Unread notifications", "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", - "notifications.column_settings.update": "Edits:", + "notifications.column_settings.update": "Redigeringer:", "notifications.filter.all": "Alle", "notifications.filter.boosts": "Fremhevinger", "notifications.filter.favourites": "Favoritter", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Fjern avstemningen", "privacy.change": "Justér synlighet", "privacy.direct.long": "Post kun til nevnte brukere", - "privacy.direct.short": "Direkte", + "privacy.direct.short": "Direct", "privacy.private.long": "Post kun til følgere", - "privacy.private.short": "Privat", - "privacy.public.long": "Post kun til offentlige tidslinjer", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Offentlig", - "privacy.unlisted.long": "Ikke vis i offentlige tidslinjer", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Uoppført", "refresh": "Oppfrisk", "regeneration_indicator.label": "Laster…", @@ -389,28 +388,28 @@ "relative_time.seconds": "{number}s", "relative_time.today": "i dag", "reply_indicator.cancel": "Avbryt", - "report.block": "Block", + "report.block": "Blokker", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", - "report.categories.spam": "Spam", + "report.categories.spam": "Søppelpost", "report.categories.violation": "Content violates one or more server rules", "report.category.subtitle": "Choose the best match", "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", + "report.category.title_account": "profil", + "report.category.title_status": "innlegg", + "report.close": "Utført", "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Videresend til {target}", "report.forward_hint": "Denne kontoen er fra en annen tjener. Vil du sende en anonymisert kopi av rapporten dit også?", - "report.mute": "Mute", + "report.mute": "Demp", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.next": "Neste", "report.placeholder": "Tilleggskommentarer", - "report.reasons.dislike": "I don't like it", + "report.reasons.dislike": "Jeg liker det ikke", "report.reasons.dislike_description": "It is not something you want to see", "report.reasons.other": "It's something else", "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", + "report.reasons.spam": "Det er spam", "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.violation": "It violates server rules", "report.reasons.violation_description": "You are aware that it breaks specific rules", @@ -515,7 +514,7 @@ "upload_error.poll": "Filopplasting inni avstemninger er ikke tillatt.", "upload_form.audio_description": "Beskriv det for folk med hørselstap", "upload_form.description": "Beskriv for synshemmede", - "upload_form.description_missing": "No description added", + "upload_form.description_missing": "Ingen beskrivelse lagt til", "upload_form.edit": "Rediger", "upload_form.thumbnail": "Endre miniatyrbilde", "upload_form.undo": "Angre", diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index 83cd3a632..e13c68c3f 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -70,7 +70,7 @@ "column.blocks": "Personas blocadas", "column.bookmarks": "Marcadors", "column.community": "Flux public local", - "column.direct": "Messatges dirèctes", + "column.conversations": "Conversations", "column.directory": "Percórrer los perfils", "column.domain_blocks": "Domenis resconduts", "column.favourites": "Favorits", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Sonque local", "community.column_settings.media_only": "Solament los mèdias", "community.column_settings.remote_only": "Sonque alonhat", - "compose_form.direct_message_warning": "Sols los mencionats poiràn veire aqueste tut.", "compose_form.direct_message_warning_learn_more": "Ne saber mai", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Aqueste tut serà pas ligat a cap d’etiqueta estant qu’es pas listat. Òm pòt pas cercar que los tuts publics per etiqueta.", "compose_form.lock_disclaimer": "Vòstre compte es pas {locked}. Tot lo mond pòt vos sègre e veire los estatuts reservats als seguidors.", "compose_form.lock_disclaimer.lock": "clavat", @@ -166,7 +166,7 @@ "empty_column.blocks": "Avètz pas blocat degun pel moment.", "empty_column.bookmarked_statuses": "Avètz pas cap de tuts marcats pel moment. Quand ne marquetz un, serà mostrat aquí.", "empty_column.community": "Lo flux public local es void. Escrivètz quicòm per lo garnir !", - "empty_column.direct": "Avètz pas encara cap de messatges. Quand ne mandatz un o que ne recebètz un, serà mostrat aquí.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "I a pas encara cap de domeni amagat.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Avètz pas encara cap de tut favorit. Quand n’auretz un, apareisserà aquí.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "partejar", "keyboard_shortcuts.column": "centrar un estatut a una colomna", "keyboard_shortcuts.compose": "anar al camp tèxte", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "descripcion", - "keyboard_shortcuts.direct": "dobrir la colomna de messatges dirèctes", "keyboard_shortcuts.down": "far davalar dins la lista", "keyboard_shortcuts.enter": "dobrir los estatuts", "keyboard_shortcuts.favourite": "apondre als favorits", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Marcadors", "navigation_bar.community_timeline": "Flux public local", "navigation_bar.compose": "Escriure un nòu tut", - "navigation_bar.direct": "Messatges dirèctes", "navigation_bar.discover": "Trobar", "navigation_bar.domain_blocks": "Domenis resconduts", "navigation_bar.edit_profile": "Modificar lo perfil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Levar lo sondatge", "privacy.change": "Ajustar la confidencialitat del messatge", "privacy.direct.long": "Mostrar pas qu’a las personas mencionadas", - "privacy.direct.short": "Dirècte", + "privacy.direct.short": "Direct", "privacy.private.long": "Mostrar pas qu’a vòstres seguidors", - "privacy.private.short": "Privat", - "privacy.public.long": "Mostrar dins los fluxes publics", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Public", - "privacy.unlisted.long": "Mostrar pas dins los fluxes publics", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Pas-listat", "refresh": "Actualizar", "regeneration_indicator.label": "Cargament…", diff --git a/app/javascript/mastodon/locales/pa.json b/app/javascript/mastodon/locales/pa.json index 4373287dd..09d473ef4 100644 --- a/app/javascript/mastodon/locales/pa.json +++ b/app/javascript/mastodon/locales/pa.json @@ -70,7 +70,7 @@ "column.blocks": "Blocked users", "column.bookmarks": "Bookmarks", "column.community": "Local timeline", - "column.direct": "Direct messages", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "Blocked domains", "column.favourites": "Favourites", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "Media only", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "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.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": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "locked", @@ -166,7 +166,7 @@ "empty_column.blocks": "You haven't blocked any users yet.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no blocked domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "Local timeline", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Direct messages", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "Edit profile", @@ -370,9 +369,9 @@ "privacy.direct.short": "Direct", "privacy.private.long": "Visible for followers only", "privacy.private.short": "Followers-only", - "privacy.public.long": "Visible for all, shown in public timelines", + "privacy.public.long": "Visible for all", "privacy.public.short": "Public", - "privacy.unlisted.long": "Visible for all, but not in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Unlisted", "refresh": "Refresh", "regeneration_indicator.label": "Loading…", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 5bce19bfb..1f4f4ae3d 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -70,7 +70,7 @@ "column.blocks": "Zablokowani użytkownicy", "column.bookmarks": "Zakładki", "column.community": "Lokalna oś czasu", - "column.direct": "Wiadomości bezpośrednie", + "column.conversations": "Konwersacje", "column.directory": "Przeglądaj profile", "column.domain_blocks": "Ukryte domeny", "column.favourites": "Ulubione", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Tylko Lokalne", "community.column_settings.media_only": "Tylko zawartość multimedialna", "community.column_settings.remote_only": "Tylko Zdalne", - "compose_form.direct_message_warning": "Ten wpis będzie widoczny tylko dla wszystkich wspomnianych użytkowników.", "compose_form.direct_message_warning_learn_more": "Dowiedz się więcej", + "compose_form.encryption_warning": "Posty na Mastodon nie są szyfrowane end-to-end. Nie udostępniaj żadnych wrażliwych informacji przez Mastodon.", "compose_form.hashtag_warning": "Ten wpis nie będzie widoczny pod podanymi hasztagami, ponieważ jest oznaczony jako niewidoczny. Tylko publiczne wpisy mogą zostać znalezione z użyciem hasztagów.", "compose_form.lock_disclaimer": "Twoje konto nie jest {locked}. Każdy, kto Cię śledzi, może wyświetlać Twoje wpisy przeznaczone tylko dla śledzących.", "compose_form.lock_disclaimer.lock": "zablokowane", @@ -166,7 +166,7 @@ "empty_column.blocks": "Nie zablokowałeś(-aś) jeszcze żadnego użytkownika.", "empty_column.bookmarked_statuses": "Nie dodałeś(-aś) żadnego wpisu do zakładek. Kiedy to zrobisz, pojawi się on tutaj.", "empty_column.community": "Lokalna oś czasu jest pusta. Napisz coś publicznie, aby zagaić!", - "empty_column.direct": "Nie masz żadnych wiadomości bezpośrednich. Kiedy dostaniesz lub wyślesz jakąś, pojawi się ona tutaj.", + "empty_column.conversations": "Gdy wyślesz lub otrzymasz wpis, który jest widoczny tylko dla osób w nim wymienionych, pojawi się on tutaj.", "empty_column.domain_blocks": "Brak ukrytych domen.", "empty_column.explore_statuses": "Nic nie jest w tej chwili popularne. Sprawdź później!", "empty_column.favourited_statuses": "Nie dodałeś(-aś) żadnego wpisu do ulubionych. Kiedy to zrobisz, pojawi się on tutaj.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "aby podbić wpis", "keyboard_shortcuts.column": "aby przejść do wpisu z jednej z kolumn", "keyboard_shortcuts.compose": "aby przejść do pola tworzenia wpisu", + "keyboard_shortcuts.conversations": "aby otworzyć kolumnę konwersacji", "keyboard_shortcuts.description": "Opis", - "keyboard_shortcuts.direct": "aby otworzyć kolumnę wiadomości bezpośrednich", "keyboard_shortcuts.down": "aby przejść na dół listy", "keyboard_shortcuts.enter": "aby otworzyć wpis", "keyboard_shortcuts.favourite": "aby dodać do ulubionych", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Zakładki", "navigation_bar.community_timeline": "Lokalna oś czasu", "navigation_bar.compose": "Utwórz nowy wpis", - "navigation_bar.direct": "Wiadomości bezpośrednie", "navigation_bar.discover": "Odkrywaj", "navigation_bar.domain_blocks": "Ukryte domeny", "navigation_bar.edit_profile": "Edytuj profil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Usuń głosowanie", "privacy.change": "Dostosuj widoczność wpisów", "privacy.direct.long": "Widoczny tylko dla wspomnianych", - "privacy.direct.short": "Bezpośrednio", + "privacy.direct.short": "Tylko wspominane osoby", "privacy.private.long": "Widoczny tylko dla osób, które Cię śledzą", - "privacy.private.short": "Tylko dla śledzących", - "privacy.public.long": "Widoczny na publicznych osiach czasu", + "privacy.private.short": "Tylko śledzący", + "privacy.public.long": "Widoczne dla każdego", "privacy.public.short": "Publiczny", - "privacy.unlisted.long": "Niewidoczny na publicznych osiach czasu", + "privacy.unlisted.long": "Widoczne dla każdego, z wyłączeniem funkcji odkrywania", "privacy.unlisted.short": "Niewidoczny", "refresh": "Odśwież", "regeneration_indicator.label": "Ładuję…", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index 9321fe303..67725b3ee 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -70,7 +70,7 @@ "column.blocks": "Usuários bloqueados", "column.bookmarks": "Salvos", "column.community": "Linha local", - "column.direct": "Toots Diretos", + "column.conversations": "Conversations", "column.directory": "Explorar perfis", "column.domain_blocks": "Domínios bloqueados", "column.favourites": "Favoritos", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Somente local", "community.column_settings.media_only": "Somente mídia", "community.column_settings.remote_only": "Somente global", - "compose_form.direct_message_warning": "Este toot só será enviado aos usuários mencionados.", "compose_form.direct_message_warning_learn_more": "Saiba mais", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Este toot não aparecerá em nenhuma hashtag porque está como não-listado. Somente toots públicos podem ser pesquisados por hashtag.", "compose_form.lock_disclaimer": "Seu perfil não está {locked}. Qualquer um pode te seguir e ver os toots privados.", "compose_form.lock_disclaimer.lock": "trancado", @@ -166,7 +166,7 @@ "empty_column.blocks": "Nada aqui.", "empty_column.bookmarked_statuses": "Nada aqui. Quando você salvar um toot, ele aparecerá aqui.", "empty_column.community": "A linha local está vazia. Publique algo para começar!", - "empty_column.direct": "Nada aqui. Quando você enviar ou receber toots diretos, eles aparecerão aqui.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Nada aqui.", "empty_column.explore_statuses": "Nada está em alta no momento. Volte mais tarde!", "empty_column.favourited_statuses": "Nada aqui. Quando você favoritar um toot, ele aparecerá aqui.", @@ -190,7 +190,7 @@ "explore.search_results": "Resultado da pesquisa", "explore.suggested_follows": "Para você", "explore.title": "Explorar", - "explore.trending_links": "Novidades", + "explore.trending_links": "Notícias", "explore.trending_statuses": "Posts", "explore.trending_tags": "Hashtags", "follow_recommendations.done": "Salvar", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "dar boost", "keyboard_shortcuts.column": "focar na coluna", "keyboard_shortcuts.compose": "focar no compositor", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Descrição", - "keyboard_shortcuts.direct": "abrir toots diretos", "keyboard_shortcuts.down": "mover para baixo", "keyboard_shortcuts.enter": "abrir toot", "keyboard_shortcuts.favourite": "favoritar toot", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Salvos", "navigation_bar.community_timeline": "Linha do tempo local", "navigation_bar.compose": "Compor novo toot", - "navigation_bar.direct": "Toots diretos", "navigation_bar.discover": "Descobrir", "navigation_bar.domain_blocks": "Domínios bloqueados", "navigation_bar.edit_profile": "Editar perfil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Remover enquete", "privacy.change": "Alterar privacidade do toot", "privacy.direct.long": "Postar só para usuários mencionados", - "privacy.direct.short": "Direto", + "privacy.direct.short": "Direct", "privacy.private.long": "Postar só para seguidores", - "privacy.private.short": "Privado", - "privacy.public.long": "Postar em linhas públicas", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Público", - "privacy.unlisted.long": "Não postar em linhas públicas", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Não-listado", "refresh": "Atualizar", "regeneration_indicator.label": "Carregando…", diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json index 01b9c4f65..12860d7ab 100644 --- a/app/javascript/mastodon/locales/pt-PT.json +++ b/app/javascript/mastodon/locales/pt-PT.json @@ -70,7 +70,7 @@ "column.blocks": "Utilizadores Bloqueados", "column.bookmarks": "Itens salvos", "column.community": "Cronologia local", - "column.direct": "Mensagens diretas", + "column.conversations": "Conversations", "column.directory": "Procurar perfis", "column.domain_blocks": "Domínios escondidos", "column.favourites": "Favoritos", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local apenas", "community.column_settings.media_only": "Somente media", "community.column_settings.remote_only": "Remoto apenas", - "compose_form.direct_message_warning": "Esta publicação será enviada apenas para os utilizadores mencionados.", "compose_form.direct_message_warning_learn_more": "Conhecer mais", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Este toot não será listado em nenhuma hashtag por ser não listado. Apenas toots públics podem ser pesquisados por hashtag.", "compose_form.lock_disclaimer": "A sua conta não é {locked}. Qualquer pessoa pode segui-lo e ver as publicações direcionadas apenas a seguidores.", "compose_form.lock_disclaimer.lock": "bloqueado", @@ -166,7 +166,7 @@ "empty_column.blocks": "Ainda não bloqueaste qualquer utilizador.", "empty_column.bookmarked_statuses": "Ainda não adicionou nenhum toot aos Itens salvos. Quando adicionar, eles serão exibidos aqui.", "empty_column.community": "A timeline local está vazia. Escreve algo publicamente para começar!", - "empty_column.direct": "Ainda não tem qualquer mensagem direta. Quando enviar ou receber alguma, ela irá aparecer aqui.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Ainda não há qualquer domínio escondido.", "empty_column.explore_statuses": "Nada em destaque por agora. Volte mais tarde!", "empty_column.favourited_statuses": "Ainda não tens quaisquer toots favoritos. Quando tiveres algum, ele irá aparecer aqui.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "para partilhar", "keyboard_shortcuts.column": "para focar uma publicação numa das colunas", "keyboard_shortcuts.compose": "para focar na área de publicação", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Descrição", - "keyboard_shortcuts.direct": "para abrir a coluna das mensagens diretas", "keyboard_shortcuts.down": "para mover para baixo na lista", "keyboard_shortcuts.enter": "para expandir uma publicação", "keyboard_shortcuts.favourite": "para adicionar aos favoritos", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Itens salvos", "navigation_bar.community_timeline": "Cronologia local", "navigation_bar.compose": "Escrever novo toot", - "navigation_bar.direct": "Mensagens diretas", "navigation_bar.discover": "Descobrir", "navigation_bar.domain_blocks": "Domínios escondidos", "navigation_bar.edit_profile": "Editar perfil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Remover votação", "privacy.change": "Ajustar a privacidade da publicação", "privacy.direct.long": "Apenas para utilizadores mencionados", - "privacy.direct.short": "Directo", + "privacy.direct.short": "Direct", "privacy.private.long": "Apenas para os seguidores", - "privacy.private.short": "Privado", - "privacy.public.long": "Publicar em todos os feeds", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Público", - "privacy.unlisted.long": "Não publicar nos feeds públicos", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Não listar", "refresh": "Actualizar", "regeneration_indicator.label": "A carregar…", diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json index 49babba8b..5a0932f5b 100644 --- a/app/javascript/mastodon/locales/ro.json +++ b/app/javascript/mastodon/locales/ro.json @@ -70,7 +70,7 @@ "column.blocks": "Utilizatori blocați", "column.bookmarks": "Marcaje", "column.community": "Cronologie locală", - "column.direct": "Mesaje directe", + "column.conversations": "Conversations", "column.directory": "Explorează profiluri", "column.domain_blocks": "Domenii blocate", "column.favourites": "Favorite", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Doar local", "community.column_settings.media_only": "Doar media", "community.column_settings.remote_only": "Doar la distanţă", - "compose_form.direct_message_warning": "Această postare va fi trimisă doar utilizatorilor menționați.", "compose_form.direct_message_warning_learn_more": "Află mai multe", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Această postare nu va fi listată sub niciun hashtag deoarece este nelistată. Doar postările publice pot fi căutate cu un hashtag.", "compose_form.lock_disclaimer": "Contul tău nu este {locked}. Oricine se poate abona la tine pentru a îți vedea postările numai pentru abonați.", "compose_form.lock_disclaimer.lock": "privat", @@ -166,7 +166,7 @@ "empty_column.blocks": "Momentan nu ai blocat niciun utilizator.", "empty_column.bookmarked_statuses": "Momentan nu ai nicio postare marcată. Când vei marca una, va apărea aici.", "empty_column.community": "Nu există nimic în cronologia locală. Postează ceva public pentru a sparge gheața!", - "empty_column.direct": "Momentan nu ai niciun mesaj direct. Când trimiți sau primești un mesaj, va apărea aici.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Momentan nu există domenii blocate.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Momentan nu ai nicio postare favorită. Când vei adăuga una, va apărea aici.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Distribuie postarea", "keyboard_shortcuts.column": "Focalizează pe coloană", "keyboard_shortcuts.compose": "Focalizează pe zona de text", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Descriere", - "keyboard_shortcuts.direct": "Deschide coloana de mesaje directe", "keyboard_shortcuts.down": "Coboară în listă", "keyboard_shortcuts.enter": "Deschide postarea", "keyboard_shortcuts.favourite": "Adaugă postarea la favorite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Marcaje", "navigation_bar.community_timeline": "Cronologie locală", "navigation_bar.compose": "Compune o nouă postare", - "navigation_bar.direct": "Mesaje directe", "navigation_bar.discover": "Descoperă", "navigation_bar.domain_blocks": "Domenii blocate", "navigation_bar.edit_profile": "Modifică profilul", @@ -369,10 +368,10 @@ "privacy.direct.long": "Vizibil doar pentru utilizatorii menționați", "privacy.direct.short": "Direct", "privacy.private.long": "Vizibil doar pentru abonați", - "privacy.private.short": "Doar abonați", - "privacy.public.long": "Vizibil pentru toți, afișat în cronologiile publice", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Public", - "privacy.unlisted.long": "Vizibil pentru toți, dar nu și în cronologiile publice", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Nelistat", "refresh": "Reîncarcă", "regeneration_indicator.label": "Se încarcă…", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 8cdfad609..dfc37e8d1 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -70,7 +70,7 @@ "column.blocks": "Заблокированные пользователи", "column.bookmarks": "Закладки", "column.community": "Локальная лента", - "column.direct": "Личные сообщения", + "column.conversations": "Диалоги", "column.directory": "Просмотр профилей", "column.domain_blocks": "Заблокированные домены", "column.favourites": "Избранное", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Только локальные", "community.column_settings.media_only": "Только с медиафайлами", "community.column_settings.remote_only": "Только удалённые", - "compose_form.direct_message_warning": "Адресованные посты отправляются и видны только упомянутым в них пользователям.", "compose_form.direct_message_warning_learn_more": "Подробнее", + "compose_form.encryption_warning": "Посты в Mastodon не защищены сквозным шифрованием. Не делитесь потенциально опасной информацией.", "compose_form.hashtag_warning": "Так как этот пост не публичный, он не отобразится в поиске по хэштегам.", "compose_form.lock_disclaimer": "Ваша учётная запись {locked}. Любой пользователь сможет подписаться на вас и просматривать посты для подписчиков.", "compose_form.lock_disclaimer.lock": "не закрыта", @@ -166,7 +166,7 @@ "empty_column.blocks": "Вы ещё никого не заблокировали.", "empty_column.bookmarked_statuses": "У вас пока нет постов в закладках. Как добавите один, он отобразится здесь.", "empty_column.community": "Локальная лента пуста. Напишите что-нибудь, чтобы разогреть народ!", - "empty_column.direct": "У вас пока нет личных сообщений. Как только вы отправите или получите одно, оно появится здесь.", + "empty_column.conversations": "Здесь отображаются адресованные посты. Как только вы отправите или получите один, он отобразится здесь.", "empty_column.domain_blocks": "Скрытых доменов пока нет.", "empty_column.explore_statuses": "Нет актуального. Проверьте позже!", "empty_column.favourited_statuses": "Вы не добавили ни один пост в «Избранное». Как только вы это сделаете, он появится здесь.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "продвинуть пост", "keyboard_shortcuts.column": "фокус на одном из столбцов", "keyboard_shortcuts.compose": "фокус на поле ввода", + "keyboard_shortcuts.conversations": "открыть колонку диалогов", "keyboard_shortcuts.description": "Описание", - "keyboard_shortcuts.direct": "чтобы показать колонку личных сообщений", "keyboard_shortcuts.down": "вниз по списку", "keyboard_shortcuts.enter": "открыть пост", "keyboard_shortcuts.favourite": "в избранное", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Закладки", "navigation_bar.community_timeline": "Локальная лента", "navigation_bar.compose": "Создать новый пост", - "navigation_bar.direct": "Личные сообщения", "navigation_bar.discover": "Изучайте", "navigation_bar.domain_blocks": "Скрытые домены", "navigation_bar.edit_profile": "Изменить профиль", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Удалить опрос", "privacy.change": "Изменить видимость поста", "privacy.direct.long": "Показать только упомянутым", - "privacy.direct.short": "Адресованный", + "privacy.direct.short": "Для упомянутых", "privacy.private.long": "Показать только подписчикам", - "privacy.private.short": "Приватный", - "privacy.public.long": "Показать в публичных лентах", + "privacy.private.short": "Для подписчиков", + "privacy.public.long": "Виден всем", "privacy.public.short": "Публичный", - "privacy.unlisted.long": "Не показывать в публичных лентах", + "privacy.unlisted.long": "Виден всем, но не через функции обзора", "privacy.unlisted.short": "Скрытый", "refresh": "Обновить", "regeneration_indicator.label": "Загрузка…", diff --git a/app/javascript/mastodon/locales/sa.json b/app/javascript/mastodon/locales/sa.json index ef06ba0b1..ed5dc9ebd 100644 --- a/app/javascript/mastodon/locales/sa.json +++ b/app/javascript/mastodon/locales/sa.json @@ -70,7 +70,7 @@ "column.blocks": "निषिद्धभोक्तारः", "column.bookmarks": "पुटचिह्नानि", "column.community": "स्थानीयसमयतालिका", - "column.direct": "प्रत्यक्षसन्देशाः", + "column.conversations": "Conversations", "column.directory": "व्यक्तित्वानि दृश्यन्ताम्", "column.domain_blocks": "निषिद्धप्रदेशाः", "column.favourites": "प्रियाः", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "केवलं स्थानीयम्", "community.column_settings.media_only": "सामग्री केवलम्", "community.column_settings.remote_only": "दर्गमः केवलम्", - "compose_form.direct_message_warning": "दौत्यमेतत्केवलमुल्लेखितजनानां कृते वर्तते", "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.hashtag_warning": "न कस्मिन्नपि प्रचलितवस्तुषु सूचितमिदं दौत्यम् । केवलं सार्वजनिकदौत्यानि प्रचलितवस्तुचिह्नेन अन्वेषयितुं शक्यते ।", "compose_form.lock_disclaimer": "तव लेखा न प्रवेष्टुमशक्या {locked} । कोऽप्यनुसर्ता ते केवलमनुसर्तृृणां कृते स्थितानि दौत्यानि द्रष्टुं शक्नोति ।", "compose_form.lock_disclaimer.lock": "अवरुद्धः", @@ -166,7 +166,7 @@ "empty_column.blocks": "नैकोऽप्युपभोक्ता निषिद्धो वर्तते", "empty_column.bookmarked_statuses": "नैकमपि पुटचिह्नयुक्तदौत्यानि सन्ति । यदा भविष्यति तदत्र दृश्यते ।", "empty_column.community": "स्थानीयसमयतालिका रिक्ता । सार्वजनिकत्वेनाऽत्र किमपि लिख्यताम् ।", - "empty_column.direct": "नैकोऽपि प्रत्यक्षसन्देशो वर्तते । यदा प्रेष्यते वा प्राप्यतेऽत्र दृश्यते", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "न निषिद्धप्रदेशाः सन्ति ।", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "न प्रियदौत्यानि सन्ति । यदा प्रीतिरित्यङ्क्यतेऽत्र दृश्यते ।", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "Local timeline", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Direct messages", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "Edit profile", @@ -370,9 +369,9 @@ "privacy.direct.short": "Direct", "privacy.private.long": "Visible for followers only", "privacy.private.short": "Followers-only", - "privacy.public.long": "Visible for all, shown in public timelines", + "privacy.public.long": "Visible for all", "privacy.public.short": "Public", - "privacy.unlisted.long": "Visible for all, but not in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Unlisted", "refresh": "Refresh", "regeneration_indicator.label": "Loading…", diff --git a/app/javascript/mastodon/locales/sc.json b/app/javascript/mastodon/locales/sc.json index 1375f2fb6..fe6dd22cf 100644 --- a/app/javascript/mastodon/locales/sc.json +++ b/app/javascript/mastodon/locales/sc.json @@ -70,7 +70,7 @@ "column.blocks": "Persones blocadas", "column.bookmarks": "Sinnalibros", "column.community": "Lìnia de tempus locale", - "column.direct": "Messàgios diretos", + "column.conversations": "Conversations", "column.directory": "Nàviga in is profilos", "column.domain_blocks": "Domìnios blocados", "column.favourites": "Preferidos", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Isceti locale", "community.column_settings.media_only": "Isceti multimediale", "community.column_settings.remote_only": "Isceti remotu", - "compose_form.direct_message_warning": "Custa publicatzione at a èssere imbiada isceti a is persones mentovadas.", "compose_form.direct_message_warning_learn_more": "Àteras informatziones", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Custa publicatzione no at a èssere ammustrada in peruna eticheta, dae chi no est listada. Isceti is publicatziones pùblicas podent èssere chircadas cun etichetas.", "compose_form.lock_disclaimer": "Su contu tuo no est {locked}. Cale si siat persone ti podet sighire pro bìdere is messàgios tuos chi imbies a sa gente chi ti sighit.", "compose_form.lock_disclaimer.lock": "blocadu", @@ -166,7 +166,7 @@ "empty_column.blocks": "No as blocadu ancora nemos.", "empty_column.bookmarked_statuses": "Non tenes ancora peruna publicatzione in is marcadores. Cando nd'as a agiùnghere una, at a èssere ammustrada inoghe.", "empty_column.community": "Sa lìnia de tempus locale est bòida. Iscrie inoghe pro cumintzare sa festa!", - "empty_column.direct": "Non tenes ancora perunu messàgiu deretu. Cando nd'as a imbiare o nd'as a retzire unu, at a èssere ammustradu inoghe.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Non tenes ancora perunu domìniu blocadu.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Non tenes ancora peruna publicatzione in is preferidos. Cando nd'as a agiùnghere una, at a èssere ammustrada inoghe.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "pro cumpartzire", "keyboard_shortcuts.column": "pro atzentrare una publicatzione in una de is colunnas", "keyboard_shortcuts.compose": "pro atzentrare in s'àrea de cumpositzione de testu", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Descritzione", - "keyboard_shortcuts.direct": "pro abèrrere sa colunna de messàgios diretos", "keyboard_shortcuts.down": "pro mòere in bàsciu in sa lista", "keyboard_shortcuts.enter": "pro abèrrere una publicatzione", "keyboard_shortcuts.favourite": "pro marcare comente a preferidu", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Sinnalibros", "navigation_bar.community_timeline": "Lìnia de tempus locale", "navigation_bar.compose": "Cumpone una publicatzione noa", - "navigation_bar.direct": "Messàgios diretos", "navigation_bar.discover": "Iscoberi", "navigation_bar.domain_blocks": "Domìnios blocados", "navigation_bar.edit_profile": "Modìfica profilu", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Cantzella su sondàgiu", "privacy.change": "Modìfica s'istadu de riservadesa", "privacy.direct.long": "Visìbile isceti pro is persones mentovadas", - "privacy.direct.short": "Deretu", + "privacy.direct.short": "Direct", "privacy.private.long": "Visìbile isceti pro chie ti sighit", - "privacy.private.short": "Isceti pro chie ti sighit", - "privacy.public.long": "Visìbile pro chie si siat, ammustra in lìnias de tempus pùblicas", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Pùblicu", - "privacy.unlisted.long": "Visìbile pro chie si siat, però no ammustres in lìnias de tempus pùblicas", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Esclùidu de sa lista", "refresh": "Atualiza", "regeneration_indicator.label": "Carrighende…", diff --git a/app/javascript/mastodon/locales/si.json b/app/javascript/mastodon/locales/si.json index 26c98ea35..1190bbe00 100644 --- a/app/javascript/mastodon/locales/si.json +++ b/app/javascript/mastodon/locales/si.json @@ -70,7 +70,7 @@ "column.blocks": "අවහිර කළ පරිශීලකයින්", "column.bookmarks": "පොත් යොමු", "column.community": "Local timeline", - "column.direct": "සෘජු පණිවිඩ", + "column.conversations": "Conversations", "column.directory": "පැතිකඩයන් පිරික්සන්න", "column.domain_blocks": "අවහිර කළ වසම්", "column.favourites": "ප්‍රියතමයන්", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "ස්ථානීයව පමණයි", "community.column_settings.media_only": "මාධ්‍ය පමණයි", "community.column_settings.remote_only": "දුරස්ථව පමණයි", - "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "compose_form.direct_message_warning_learn_more": "තව දැනගන්න", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over 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": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "අගුළු දමා ඇත", @@ -166,7 +166,7 @@ "empty_column.blocks": "ඔබ තවමත් කිසිදු පරිශීලකයෙකු අවහිර කර නැත.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "අවහිර කළ වසම් නොමැත.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "සවිස්තරය", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "පොත් යොමු", "navigation_bar.community_timeline": "Local timeline", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "සෘජු පණිවිඩ", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "පැතිකඩ සංස්කරණය", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Remove poll", "privacy.change": "Adjust status privacy", "privacy.direct.long": "Visible for mentioned users only", - "privacy.direct.short": "සෘජු", + "privacy.direct.short": "Direct", "privacy.private.long": "Visible for followers only", "privacy.private.short": "Followers-only", - "privacy.public.long": "Visible for all, shown in public timelines", + "privacy.public.long": "Visible for all", "privacy.public.short": "ප්‍රසිද්ධ", - "privacy.unlisted.long": "Visible for all, but not in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Unlisted", "refresh": "නැවුම් කරන්න", "regeneration_indicator.label": "පූරණය වෙමින්…", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index 7848064c8..aee720837 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -70,7 +70,7 @@ "column.blocks": "Blokovaní užívatelia", "column.bookmarks": "Záložky", "column.community": "Miestna časová os", - "column.direct": "Priame správy", + "column.conversations": "Conversations", "column.directory": "Prehľadávaj profily", "column.domain_blocks": "Skryté domény", "column.favourites": "Obľúbené", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Iba miestna", "community.column_settings.media_only": "Iba médiá", "community.column_settings.remote_only": "Iba odľahlé", - "compose_form.direct_message_warning": "Tento príspevok bude boslaný iba spomenutým užívateľom.", "compose_form.direct_message_warning_learn_more": "Zisti viac", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Tento toot nebude zobrazený pod žiadným haštagom lebo nieje listovaný. Iba verejné tooty môžu byť nájdené podľa haštagu.", "compose_form.lock_disclaimer": "Tvoj účet nie je {locked}. Ktokoľvek ťa môže nasledovať a vidieť tvoje správy pre sledujúcich.", "compose_form.lock_disclaimer.lock": "zamknutý", @@ -166,7 +166,7 @@ "empty_column.blocks": "Ešte si nikoho nezablokoval/a.", "empty_column.bookmarked_statuses": "Ešte nemáš žiadné záložky. Keď si pridáš príspevok k záložkám, zobrazí sa tu.", "empty_column.community": "Lokálna časová os je prázdna. Napíšte niečo, aby sa to tu začalo hýbať!", - "empty_column.direct": "Ešte nemáš žiadne priame správy. Keď nejakú pošleš, alebo dostaneš, ukáže sa tu.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Žiadne domény ešte niesú skryté.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Nemáš obľúbené ešte žiadne príspevky. Keď si nejaký obľúbiš, bude zobrazený práve tu.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "Vyzdvihni príspevok", "keyboard_shortcuts.column": "zameraj sa na príspevok v jednom zo stĺpcov", "keyboard_shortcuts.compose": "zameraj sa na písaciu plochu", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Popis", - "keyboard_shortcuts.direct": "pre otvorenie panelu priamých správ", "keyboard_shortcuts.down": "posunúť sa dole v zozname", "keyboard_shortcuts.enter": "Otvor príspevok", "keyboard_shortcuts.favourite": "pridaj do obľúbených", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Záložky", "navigation_bar.community_timeline": "Miestna časová os", "navigation_bar.compose": "Napíš nový príspevok", - "navigation_bar.direct": "Priame správy", "navigation_bar.discover": "Objavuj", "navigation_bar.domain_blocks": "Skryté domény", "navigation_bar.edit_profile": "Uprav profil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Odstráň anketu", "privacy.change": "Uprav súkromie príspevku", "privacy.direct.long": "Pošli iba spomenutým užívateľom", - "privacy.direct.short": "Súkromne", + "privacy.direct.short": "Direct", "privacy.private.long": "Pošli iba následovateľom", - "privacy.private.short": "Iba pre sledujúcich", - "privacy.public.long": "Pošli všetkým verejne", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Verejné", - "privacy.unlisted.long": "Neposielaj do verejných časových osí", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Verejne, ale nezobraziť v osi", "refresh": "Obnoviť", "regeneration_indicator.label": "Načítava sa…", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index f8bd9058b..23061d152 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -70,7 +70,7 @@ "column.blocks": "Blokirani uporabniki", "column.bookmarks": "Zaznamki", "column.community": "Lokalna časovnica", - "column.direct": "Neposredna sporočila", + "column.conversations": "Conversations", "column.directory": "Prebrskaj profile", "column.domain_blocks": "Skrite domene", "column.favourites": "Priljubljene", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Samo krajevno", "community.column_settings.media_only": "Samo mediji", "community.column_settings.remote_only": "Samo oddaljeno", - "compose_form.direct_message_warning": "Ta tut bo viden le vsem omenjenim uporabnikom.", "compose_form.direct_message_warning_learn_more": "Nauči se več", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "Ta tut ne bo naveden pod nobenim ključnikom, ker ni javen. Samo javne tute lahko iščete s ključniki.", "compose_form.lock_disclaimer": "Vaš račun ni {locked}. Vsakdo vam lahko sledi in si ogleda objave, ki so namenjene samo sledilcem.", "compose_form.lock_disclaimer.lock": "zaklenjen", @@ -166,7 +166,7 @@ "empty_column.blocks": "Niste še blokirali nobenega uporabnika.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "Lokalna časovnica je prazna. Napišite nekaj javnega, da se bo žoga zakotalila!", - "empty_column.direct": "Nimate še nobenih neposrednih sporočil. Ko ga boste poslali ali prejeli, se bo prikazal tukaj.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Še vedno ni skritih domen.", "empty_column.explore_statuses": "Trenutno ni nič v trendu. Preverite znova kasneje!", "empty_column.favourited_statuses": "Nimate priljubljenih tutov. Ko boste vzljubili kakšnega, se bo prikazal tukaj.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "spodbudi", "keyboard_shortcuts.column": "fokusiraj na status v enemu od stolpcev", "keyboard_shortcuts.compose": "fokusiraj na območje za sestavljanje besedila", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Opis", - "keyboard_shortcuts.direct": "odpri stolpec za neposredna sporočila", "keyboard_shortcuts.down": "premakni se navzdol po seznamu", "keyboard_shortcuts.enter": "odpri status", "keyboard_shortcuts.favourite": "vzljubi", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Zaznamki", "navigation_bar.community_timeline": "Lokalna časovnica", "navigation_bar.compose": "Sestavi nov tut", - "navigation_bar.direct": "Neposredna sporočila", "navigation_bar.discover": "Odkrijte", "navigation_bar.domain_blocks": "Skrite domene", "navigation_bar.edit_profile": "Uredi profil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Odstrani anketo", "privacy.change": "Prilagodi zasebnost statusa", "privacy.direct.long": "Objavi samo omenjenim uporabnikom", - "privacy.direct.short": "Neposredno", + "privacy.direct.short": "Direct", "privacy.private.long": "Objavi samo sledilcem", - "privacy.private.short": "Samo sledilci", - "privacy.public.long": "Objavi na javne časovnice", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Javno", - "privacy.unlisted.long": "Ne objavi na javne časovnice", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Ni prikazano", "refresh": "Osveži", "regeneration_indicator.label": "Nalaganje…", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index d0472db29..3535d4ea2 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -70,7 +70,7 @@ "column.blocks": "Përdorues të bllokuar", "column.bookmarks": "Faqerojtës", "column.community": "Rrjedhë kohore vendore", - "column.direct": "Mesazhe të drejtpërdrejtë", + "column.conversations": "Biseda", "column.directory": "Shfletoni profile", "column.domain_blocks": "Përkatësi të bllokuara", "column.favourites": "Të parapëlqyer", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Vetëm vendore", "community.column_settings.media_only": "Vetëm Media", "community.column_settings.remote_only": "Vetëm të largëta", - "compose_form.direct_message_warning": "Ky mesazh do t’u dërgohet përdoruesve të përmendur.", "compose_form.direct_message_warning_learn_more": "Mësoni më tepër", + "compose_form.encryption_warning": "Postimet në Mastodon nuk fshehtëzohen skaj-më-skaj. Mos ndani me të tjerë gjëra me spec në Mastodon.", "compose_form.hashtag_warning": "Ky mesazh s’do të paraqitet nën ndonjë hashtag, ngaqë s’i është caktuar ndonjë. Vetëm mesazhet publike mund të kërkohen sipas hashtagësh.", "compose_form.lock_disclaimer": "Llogaria juaj s’është {locked}. Mund ta ndjekë cilido, për të parë postimet tuaja vetëm për ndjekësit.", "compose_form.lock_disclaimer.lock": "e kyçur", @@ -166,7 +166,7 @@ "empty_column.blocks": "S’keni bllokuar ende ndonjë përdorues.", "empty_column.bookmarked_statuses": "S’keni faqeruajtur ende ndonjë mesazh. Kur faqeruani një të tillë, ai do të shfaqet këtu.", "empty_column.community": "Rrjedha kohore vendore është e zbrazët. Shkruani diçka publikisht që t’i hyhet valles!", - "empty_column.direct": "S’keni ende ndonjë mesazh të drejtpërdrejt. Kur dërgoni ose merrni një të tillë, ai do të shfaqet këtu.", + "empty_column.conversations": "Pasi të dërgoni ose merrni një postim që është i dukshëm vetëm për personat e përmendur në të, do të shfaqet këtu.", "empty_column.domain_blocks": "Ende s’ka përkatësi të fshehura.", "empty_column.explore_statuses": "Asgjë në modë tani. Kontrolloni më vonë!", "empty_column.favourited_statuses": "S’keni ende ndonjë mesazh të parapëlqyer. Kur parapëlqeni një të tillë, ai do të shfaqet këtu.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "për përforcim", "keyboard_shortcuts.column": "për kalim fokusi mbi një gjendje te një nga shtyllat", "keyboard_shortcuts.compose": "për kalim fokusi te fusha e hartimit të mesazheve", + "keyboard_shortcuts.conversations": "për të hapur shtyllë bisedash", "keyboard_shortcuts.description": "Përshkrim", - "keyboard_shortcuts.direct": "për hapje shtylle mesazhesh të drejtpërdrejtë", "keyboard_shortcuts.down": "për zbritje poshtë nëpër listë", "keyboard_shortcuts.enter": "për hapje gjendjeje", "keyboard_shortcuts.favourite": "për t’i vënë shenjë si të parapëlqyer", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Faqerojtës", "navigation_bar.community_timeline": "Rrjedhë kohore vendore", "navigation_bar.compose": "Hartoni mesazh të ri", - "navigation_bar.direct": "Mesazhe të drejtpërdrejtë", "navigation_bar.discover": "Zbuloni", "navigation_bar.domain_blocks": "Përkatësi të bllokuara", "navigation_bar.edit_profile": "Përpunoni profilin", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Hiqe pyetësorin", "privacy.change": "Rregulloni privatësi mesazhesh", "privacy.direct.long": "I dukshëm vetëm për përdorues të përmendur", - "privacy.direct.short": "I drejtpërdrejtë", + "privacy.direct.short": "Vetëm persona që përmend", "privacy.private.long": "I dukshëm vetëm për ndjekës", - "privacy.private.short": "Vetëm ndjekësve", - "privacy.public.long": "I dukshëm për të tërë, shfaqur në rrjedha kohore publike", + "privacy.private.short": "Vetëm ndjekës", + "privacy.public.long": "I dukshëm për të tërë", "privacy.public.short": "Publik", - "privacy.unlisted.long": "I dukshëm për të tërë, por jo në rrjedha kohore publike", + "privacy.unlisted.long": "I dukshëm për të tërë, por lënë jashtë nga veçoritë e zbulimit", "privacy.unlisted.short": "Jo në lista", "refresh": "Rifreskoje", "regeneration_indicator.label": "Po ngarkohet…", diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json index 7a0efa255..e732873c4 100644 --- a/app/javascript/mastodon/locales/sr-Latn.json +++ b/app/javascript/mastodon/locales/sr-Latn.json @@ -70,7 +70,7 @@ "column.blocks": "Blokirani korisnici", "column.bookmarks": "Bookmarks", "column.community": "Lokalna lajna", - "column.direct": "Direct messages", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "Hidden domains", "column.favourites": "Omiljeni", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "Media only", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.", "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.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": "Vaš nalog nije {locked}. Svako može da Vas zaprati i da vidi objave namenjene samo Vašim pratiocima.", "compose_form.lock_disclaimer.lock": "zaključan", @@ -166,7 +166,7 @@ "empty_column.blocks": "You haven't blocked any users yet.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "Lokalna lajna je prazna. Napišite nešto javno da lajna produva!", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no hidden domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "da podržite", "keyboard_shortcuts.column": "da se prebacite na status u jednoj od kolona", "keyboard_shortcuts.compose": "da se prebacite na pisanje novog tuta", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Opis", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "da se pomerite na dole u listi", "keyboard_shortcuts.enter": "da otvorite status", "keyboard_shortcuts.favourite": "da označite kao omiljeno", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "Lokalna lajna", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Direct messages", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "Izmeni profil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Remove poll", "privacy.change": "Podesi status privatnosti", "privacy.direct.long": "Objavi samo korisnicima koji su pomenuti", - "privacy.direct.short": "Direktno", + "privacy.direct.short": "Direct", "privacy.private.long": "Objavi samo pratiocima", - "privacy.private.short": "Samo za pratioce", - "privacy.public.long": "Objavi na javnoj lajni", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Javno", - "privacy.unlisted.long": "Ne objavljuj na javnim lajnama", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Neizlistano", "refresh": "Refresh", "regeneration_indicator.label": "Loading…", diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json index ea6dbb5ab..15f8640c6 100644 --- a/app/javascript/mastodon/locales/sr.json +++ b/app/javascript/mastodon/locales/sr.json @@ -70,7 +70,7 @@ "column.blocks": "Блокирани корисници", "column.bookmarks": "Обележивачи", "column.community": "Локална временска линија", - "column.direct": "Директне поруке", + "column.conversations": "Conversations", "column.directory": "Претражи налоге", "column.domain_blocks": "Скривени домени", "column.favourites": "Омиљене", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Само локално", "community.column_settings.media_only": "Само Медији", "community.column_settings.remote_only": "Само удаљено", - "compose_form.direct_message_warning": "Ова труба ће бити послата споменутим корисницима.", "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.hashtag_warning": "Ова труба неће бити излистана под било којом тарабом јер је сакривена. Само јавне трубе могу бити претражене тарабом.", "compose_form.lock_disclaimer": "Ваш налог није {locked}. Свако може да Вас запрати и да види објаве намењене само Вашим пратиоцима.", "compose_form.lock_disclaimer.lock": "закључан", @@ -166,7 +166,7 @@ "empty_column.blocks": "Још увек немате блокираних корисника.", "empty_column.bookmarked_statuses": "Још увек немате обележене трубе. Када их обележите, појавиће се овде.", "empty_column.community": "Локална временска линија је празна. Напишите нешто јавно да започнете!", - "empty_column.direct": "Још увек немате директних порука. Када пошаљете или примите једну, појавиће се овде.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Још увек нема сакривених домена.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "Још увек немате труба које су вам се свиделе. Када вам се једна свиди, појавиће се овде.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "да подржите", "keyboard_shortcuts.column": "да се пребаците на статус у једној од колона", "keyboard_shortcuts.compose": "да се пребаците на писање новог тута", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Опис", - "keyboard_shortcuts.direct": "да отворите колону за директне поруке", "keyboard_shortcuts.down": "да се померите на доле у листи", "keyboard_shortcuts.enter": "да отворите статус", "keyboard_shortcuts.favourite": "да означите као омиљено", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Маркери", "navigation_bar.community_timeline": "Локална временска линија", "navigation_bar.compose": "Саставите нову трубу", - "navigation_bar.direct": "Директне поруке", "navigation_bar.discover": "Откриј", "navigation_bar.domain_blocks": "Сакривени домени", "navigation_bar.edit_profile": "Измени налог", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Уклони анкету", "privacy.change": "Подеси статус приватности", "privacy.direct.long": "Објави само корисницима који су поменути", - "privacy.direct.short": "Директно", + "privacy.direct.short": "Direct", "privacy.private.long": "Објави само пратиоцима", - "privacy.private.short": "Само за пратиоце", - "privacy.public.long": "Објави на јавној лајни", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "Јавно", - "privacy.unlisted.long": "Не објављуј на јавним временским линијама", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Неизлистано", "refresh": "Освежи", "regeneration_indicator.label": "Учитавање…", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index 2df958d4d..da2a4588c 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -70,7 +70,7 @@ "column.blocks": "Blockerade användare", "column.bookmarks": "Bokmärken", "column.community": "Lokal tidslinje", - "column.direct": "Direktmeddelanden", + "column.conversations": "Konversationer", "column.directory": "Bläddra bland profiler", "column.domain_blocks": "Dolda domäner", "column.favourites": "Favoriter", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Endast lokalt", "community.column_settings.media_only": "Endast media", "community.column_settings.remote_only": "Endast fjärr", - "compose_form.direct_message_warning": "Denna tutning kommer endast skickas till de nämnda användarna.", "compose_form.direct_message_warning_learn_more": "Lär dig mer", + "compose_form.encryption_warning": "Inlägg på Mastodon är inte end-to-end-krypterade. Dela inte någon känslig information över Mastodon.", "compose_form.hashtag_warning": "Denna toot kommer inte att visas under någon hashtag eftersom den är onoterad. Endast offentliga toots kan sökas med hashtag.", "compose_form.lock_disclaimer": "Ditt konto är inte {locked}. Vem som helst kan följa dig för att se dina inlägg som endast är för följare.", "compose_form.lock_disclaimer.lock": "låst", @@ -166,7 +166,7 @@ "empty_column.blocks": "Du har ännu ej blockerat några användare.", "empty_column.bookmarked_statuses": "Du har inte bokmärkt några tutar än. När du gör ett bokmärke kommer det synas här.", "empty_column.community": "Den lokala tidslinjen är tom. Skriv något offentligt för att sätta bollen i rullning!", - "empty_column.direct": "Du har inga direktmeddelanden än. När du skickar eller tar emot ett kommer det att visas här.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Det finns ännu inga dolda domäner.", "empty_column.explore_statuses": "Ingenting är trendigt just nu. Kom tillbaka senare!", "empty_column.favourited_statuses": "Du har inga favoritmarkerade toots än. När du favoritmarkerar en kommer den visas här.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "för att knuffa", "keyboard_shortcuts.column": "för att fokusera en status i en av kolumnerna", "keyboard_shortcuts.compose": "för att fokusera skrivfältet", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Beskrivning", - "keyboard_shortcuts.direct": "för att öppna Direktmeddelanden", "keyboard_shortcuts.down": "för att flytta nedåt i listan", "keyboard_shortcuts.enter": "för att öppna en status", "keyboard_shortcuts.favourite": "för att sätta som favorit", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bokmärken", "navigation_bar.community_timeline": "Lokal tidslinje", "navigation_bar.compose": "Författa ny toot", - "navigation_bar.direct": "Direktmeddelanden", "navigation_bar.discover": "Upptäck", "navigation_bar.domain_blocks": "Dolda domäner", "navigation_bar.edit_profile": "Redigera profil", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Ta bort omröstning", "privacy.change": "Justera sekretess", "privacy.direct.long": "Skicka endast till nämnda användare", - "privacy.direct.short": "Direkt", + "privacy.direct.short": "Bara personer jag nämner", "privacy.private.long": "Endast synligt för följare", "privacy.private.short": "Endast följare", - "privacy.public.long": "Skicka till publik tidslinje", + "privacy.public.long": "Synlig för alla", "privacy.public.short": "Publik", - "privacy.unlisted.long": "Skicka inte till publik tidslinje", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Olistad", "refresh": "Läs om", "regeneration_indicator.label": "Laddar…", @@ -423,7 +422,7 @@ "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": "Vill du inte se det här?", - "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", + "report.thanks.title_actionable": "Tack för att du rapporterar, vi kommer att titta på detta.", "report.unfollow": "Sluta följ @{username}", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "search.placeholder": "Sök", @@ -436,7 +435,7 @@ "search_results.accounts": "Människor", "search_results.all": "Alla", "search_results.hashtags": "Hashtaggar", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Kunde inte hitta något för dessa sökord", "search_results.statuses": "Tutor", "search_results.statuses_fts_disabled": "Att söka toots med deras innehåll är inte möjligt på denna Mastodon-server.", "search_results.total": "{count, number} {count, plural, ett {result} andra {results}}", @@ -451,13 +450,13 @@ "status.detailed_status": "Detaljerad samtalsvy", "status.direct": "Direktmeddela @{name}", "status.edit": "Redigera", - "status.edited": "Edited {date}", + "status.edited": "Ändrad {date}", "status.edited_x_times": "Redigerad {count, plural, one {{count} gång} other {{count} gånger}}", "status.embed": "Bädda in", "status.favourite": "Favorit", "status.filtered": "Filtrerat", - "status.history.created": "{name} created {date}", - "status.history.edited": "{name} edited {date}", + "status.history.created": "{name} skapade {date}", + "status.history.edited": "{name} redigerade {date}", "status.load_more": "Ladda fler", "status.media_hidden": "Media dold", "status.mention": "Omnämn @{name}", diff --git a/app/javascript/mastodon/locales/szl.json b/app/javascript/mastodon/locales/szl.json index 4373287dd..09d473ef4 100644 --- a/app/javascript/mastodon/locales/szl.json +++ b/app/javascript/mastodon/locales/szl.json @@ -70,7 +70,7 @@ "column.blocks": "Blocked users", "column.bookmarks": "Bookmarks", "column.community": "Local timeline", - "column.direct": "Direct messages", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "Blocked domains", "column.favourites": "Favourites", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "Media only", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "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.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": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "locked", @@ -166,7 +166,7 @@ "empty_column.blocks": "You haven't blocked any users yet.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no blocked domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "Local timeline", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Direct messages", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "Edit profile", @@ -370,9 +369,9 @@ "privacy.direct.short": "Direct", "privacy.private.long": "Visible for followers only", "privacy.private.short": "Followers-only", - "privacy.public.long": "Visible for all, shown in public timelines", + "privacy.public.long": "Visible for all", "privacy.public.short": "Public", - "privacy.unlisted.long": "Visible for all, but not in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Unlisted", "refresh": "Refresh", "regeneration_indicator.label": "Loading…", diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json index f79454e0b..e8c9757ad 100644 --- a/app/javascript/mastodon/locales/ta.json +++ b/app/javascript/mastodon/locales/ta.json @@ -70,7 +70,7 @@ "column.blocks": "தடுக்கப்பட்ட பயனர்கள்", "column.bookmarks": "அடையாளக்குறிகள்", "column.community": "சுய நிகழ்வு காலவரிசை", - "column.direct": "நேர் சேதிகள்", + "column.conversations": "Conversations", "column.directory": "சுயவிவரங்களை உலாவு", "column.domain_blocks": "மறைந்திருக்கும் திரளங்கள்", "column.favourites": "பிடித்தவைகள்", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "அருகிலிருந்து மட்டுமே", "community.column_settings.media_only": "படங்கள் மட்டுமே", "community.column_settings.remote_only": "தொலைவிலிருந்து மட்டுமே", - "compose_form.direct_message_warning": "இந்த டூட் இதில் குறிப்பிடப்பட்டுள்ள பயனர்களுக்கு மட்டுமே அனுப்பப்படும்.", "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.hashtag_warning": "இது ஒரு பட்டியலிடப்படாத டூட் என்பதால் எந்த ஹேஷ்டேகின் கீழும் வராது. ஹேஷ்டேகின் மூலம் பொதுவில் உள்ள டூட்டுகளை மட்டுமே தேட முடியும்.", "compose_form.lock_disclaimer": "உங்கள் கணக்கு {locked} செய்யப்படவில்லை. உங்கள் பதிவுகளை யார் வேண்டுமானாலும் பின்தொடர்ந்து காணலாம்.", "compose_form.lock_disclaimer.lock": "பூட்டப்பட்டது", @@ -166,7 +166,7 @@ "empty_column.blocks": "நீங்கள் இதுவரை எந்தப் பயனர்களையும் முடக்கியிருக்கவில்லை.", "empty_column.bookmarked_statuses": "உங்களிடம் அடையாளக்குறியிட்ட டூட்டுகள் எவையும் இல்லை. அடையாளக்குறியிட்ட பிறகு அவை இங்கே காட்டப்படும்.", "empty_column.community": "உங்கள் மாஸ்டடான் முச்சந்தியில் யாரும் இல்லை. எதையேனும் எழுதி ஆட்டத்தைத் துவக்குங்கள்!", - "empty_column.direct": "உங்கள் தனிப்பெட்டியில் செய்திகள் ஏதும் இல்லை. செய்தியை நீங்கள் அனுப்பும்போதோ அல்லது பெறும்போதோ, அது இங்கே காண்பிக்கப்படும்.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "தடுக்கப்பட்டக் களங்கள் இதுவரை இல்லை.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "உங்களுக்குப் பிடித்த டூட்டுகள் இதுவரை இல்லை. ஒரு டூட்டில் நீங்கள் விருப்பக்குறி இட்டால், அது இங்கே காண்பிக்கப்படும்.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "பகிர", "keyboard_shortcuts.column": "ஏதேனும் ஒரு நெடுவரிசையில் உள்ள டூட்டுல் கவனம் செலுத்த", "keyboard_shortcuts.compose": "பதிவு எழுதும் பெட்டியில் கவனம் செலுத்த", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "விவரம்", - "keyboard_shortcuts.direct": "தனிப்பெட்டியைத் திறக்க", "keyboard_shortcuts.down": "பட்டியலின் கீழே செல்ல", "keyboard_shortcuts.enter": "டூட்டைத் திறக்க", "keyboard_shortcuts.favourite": "விருப்பக்குறி இட", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "அடையாளக்குறிகள்", "navigation_bar.community_timeline": "உள்ளூர் காலக்கெடு", "navigation_bar.compose": "புதியவற்றை எழுதுக toot", - "navigation_bar.direct": "நேரடி செய்திகள்", "navigation_bar.discover": "கண்டு பிடி", "navigation_bar.domain_blocks": "மறைந்த களங்கள்", "navigation_bar.edit_profile": "சுயவிவரத்தைத் திருத்தவும்", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "வாக்கெடுப்பை அகற்று", "privacy.change": "நிலை தனியுரிமை", "privacy.direct.long": "குறிப்பிடப்பட்ட பயனர்களுக்கு மட்டுமே இடுகையிடவும்", - "privacy.direct.short": "நடத்து", + "privacy.direct.short": "Direct", "privacy.private.long": "பின்தொடர்பவர்களுக்கு மட்டுமே இடுகை", - "privacy.private.short": "பின்பற்றுபவர்கள் மட்டும்", - "privacy.public.long": "பொது நேரங்களுக்கான இடுகை", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "பொது", - "privacy.unlisted.long": "Do not show in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "பட்டியலிடப்படாத", "refresh": "புதுப்பி", "regeneration_indicator.label": "சுமையேற்றம்…", diff --git a/app/javascript/mastodon/locales/tai.json b/app/javascript/mastodon/locales/tai.json index 888902b3f..d76b9a451 100644 --- a/app/javascript/mastodon/locales/tai.json +++ b/app/javascript/mastodon/locales/tai.json @@ -70,7 +70,7 @@ "column.blocks": "Blocked users", "column.bookmarks": "Bookmarks", "column.community": "Local timeline", - "column.direct": "Direct messages", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "Blocked domains", "column.favourites": "Favourites", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "Media only", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "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.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": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "locked", @@ -166,7 +166,7 @@ "empty_column.blocks": "You haven't blocked any users yet.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no blocked domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "Local timeline", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Direct messages", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "Edit profile", @@ -370,9 +369,9 @@ "privacy.direct.short": "Direct", "privacy.private.long": "Visible for followers only", "privacy.private.short": "Followers-only", - "privacy.public.long": "Visible for all, shown in public timelines", + "privacy.public.long": "Visible for all", "privacy.public.short": "Public", - "privacy.unlisted.long": "Visible for all, but not in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Unlisted", "refresh": "Refresh", "regeneration_indicator.label": "Loading…", diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json index ce2fe0fda..8eb92f7ad 100644 --- a/app/javascript/mastodon/locales/te.json +++ b/app/javascript/mastodon/locales/te.json @@ -70,7 +70,7 @@ "column.blocks": "బ్లాక్ చేయబడిన వినియోగదారులు", "column.bookmarks": "Bookmarks", "column.community": "స్థానిక కాలక్రమం", - "column.direct": "ప్రత్యక్ష సందేశాలు", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "దాచిన డొమైన్లు", "column.favourites": "ఇష్టపడినవి", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "మీడియా మాత్రమే", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "ఈ టూట్ పేర్కొన్న వినియోగదారులకు మాత్రమే పంపబడుతుంది.", "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.hashtag_warning": "ఈ టూట్ అన్లిస్టెడ్ కాబట్టి ఏ హాష్ ట్యాగ్ క్రిందకూ రాదు. పబ్లిక్ టూట్ లను మాత్రమే హాష్ ట్యాగ్ ద్వారా శోధించవచ్చు.", "compose_form.lock_disclaimer": "మీ ఖాతా {locked} చేయబడలేదు. ఎవరైనా మిమ్మల్ని అనుసరించి మీ అనుచరులకు-మాత్రమే పోస్ట్లను వీక్షించవచ్చు.", "compose_form.lock_disclaimer.lock": "బిగించబడినది", @@ -166,7 +166,7 @@ "empty_column.blocks": "మీరు ఇంకా ఏ వినియోగదారులనూ బ్లాక్ చేయలేదు.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "స్థానిక కాలక్రమం ఖాళీగా ఉంది. మొదలుపెట్టడానికి బహిరంగంగా ఏదో ఒకటి వ్రాయండి!", - "empty_column.direct": "మీకు ఇంకా ఏ ప్రత్యక్ష సందేశాలు లేవు. మీరు ఒకదాన్ని పంపినప్పుడు లేదా స్వీకరించినప్పుడు, అది ఇక్కడ చూపబడుతుంది.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "దాచబడిన డొమైన్లు ఇంకా ఏమీ లేవు.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "మీకు ఇష్టపడిన టూట్లు ఇంకా ఎమీ లేవు. మీరు ఒకదానిని ఇష్టపడినప్పుడు, అది ఇక్కడ కనిపిస్తుంది.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "బూస్ట్ చేయడానికి", "keyboard_shortcuts.column": "నిలువు వరుసలలో ఒకదానిపై దృష్టి పెట్టడానికి", "keyboard_shortcuts.compose": "కంపోజ్ టెక్స్ట్ఏరియా పై దృష్టి పెట్టడానికి", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "నేరుగా పంపిన సందేశాల నిలువు వరుసను తెరువడానికి", "keyboard_shortcuts.down": "జాబితాలో క్రిందికి వెళ్ళడానికి", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "ఇష్టపడడానికి", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "స్థానిక కాలక్రమం", "navigation_bar.compose": "కొత్త టూట్ను రాయండి", - "navigation_bar.direct": "ప్రత్యక్ష సందేశాలు", "navigation_bar.discover": "కనుగొను", "navigation_bar.domain_blocks": "దాచిన డొమైన్లు", "navigation_bar.edit_profile": "ప్రొఫైల్ని సవరించండి", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "ఎన్నికను తొలగించు", "privacy.change": "స్టేటస్ గోప్యతను సర్దుబాటు చేయండి", "privacy.direct.long": "పేర్కొన్న వినియోగదారులకు మాత్రమే పోస్ట్ చేయి", - "privacy.direct.short": "ప్రత్యక్ష", + "privacy.direct.short": "Direct", "privacy.private.long": "అనుచరులకు మాత్రమే పోస్ట్ చేయి", - "privacy.private.short": "అనుచరులకు మాత్రమే", - "privacy.public.long": "ప్రజా కాలక్రమాలకు పోస్ట్ చేయండి", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "ప్రజా", - "privacy.unlisted.long": "ప్రజా కాలక్రమాలలో చూపించవద్దు", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "జాబితా చేయబడనిది", "refresh": "Refresh", "regeneration_indicator.label": "లోడ్ అవుతోంది…", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 56cff648e..423d3efd4 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -70,7 +70,7 @@ "column.blocks": "ผู้ใช้ที่ปิดกั้นอยู่", "column.bookmarks": "ที่คั่นหน้า", "column.community": "เส้นเวลาในเซิร์ฟเวอร์", - "column.direct": "ข้อความโดยตรง", + "column.conversations": "การสนทนา", "column.directory": "เรียกดูโปรไฟล์", "column.domain_blocks": "โดเมนที่ปิดกั้นอยู่", "column.favourites": "รายการโปรด", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "ในเซิร์ฟเวอร์เท่านั้น", "community.column_settings.media_only": "สื่อเท่านั้น", "community.column_settings.remote_only": "ระยะไกลเท่านั้น", - "compose_form.direct_message_warning": "จะส่งโพสต์นี้ไปยังผู้ใช้ที่กล่าวถึงเท่านั้น", "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.hashtag_warning": "จะไม่แสดงรายการโพสต์นี้ภายใต้แฮชแท็กใด ๆ เนื่องจากไม่อยู่ในรายการ เฉพาะโพสต์สาธารณะเท่านั้นที่สามารถค้นหาได้โดยแฮชแท็ก", "compose_form.lock_disclaimer": "บัญชีของคุณไม่ได้ {locked} ใครก็ตามสามารถติดตามคุณเพื่อดูโพสต์สำหรับผู้ติดตามเท่านั้นของคุณ", "compose_form.lock_disclaimer.lock": "ล็อคอยู่", @@ -166,7 +166,7 @@ "empty_column.blocks": "คุณยังไม่ได้ปิดกั้นผู้ใช้ใด ๆ", "empty_column.bookmarked_statuses": "คุณยังไม่มีโพสต์ที่เพิ่มที่คั่นหน้าไว้ใด ๆ เมื่อคุณเพิ่มที่คั่นหน้าโพสต์ โพสต์จะปรากฏที่นี่", "empty_column.community": "เส้นเวลาในเซิร์ฟเวอร์ว่างเปล่า เขียนบางอย่างเป็นสาธารณะเพื่อเริ่มต้น!", - "empty_column.direct": "คุณยังไม่มีข้อความโดยตรงใด ๆ เมื่อคุณส่งหรือรับข้อความ ข้อความจะปรากฏที่นี่", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "ยังไม่มีโดเมนที่ปิดกั้นอยู่", "empty_column.explore_statuses": "ไม่มีสิ่งใดที่กำลังนิยมในตอนนี้ กลับมาตรวจสอบในภายหลัง!", "empty_column.favourited_statuses": "คุณยังไม่มีโพสต์ที่ชื่นชอบใด ๆ เมื่อคุณชื่นชอบโพสต์ โพสต์จะปรากฏที่นี่", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "ดันโพสต์", "keyboard_shortcuts.column": "โฟกัสคอลัมน์", "keyboard_shortcuts.compose": "โฟกัสพื้นที่เขียนข้อความ", + "keyboard_shortcuts.conversations": "เพื่อเปิดคอลัมน์การสนทนา", "keyboard_shortcuts.description": "คำอธิบาย", - "keyboard_shortcuts.direct": "เปิดคอลัมน์ข้อความโดยตรง", "keyboard_shortcuts.down": "ย้ายลงในรายการ", "keyboard_shortcuts.enter": "เปิดโพสต์", "keyboard_shortcuts.favourite": "ชื่นชอบโพสต์", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "ที่คั่นหน้า", "navigation_bar.community_timeline": "เส้นเวลาในเซิร์ฟเวอร์", "navigation_bar.compose": "เขียนโพสต์ใหม่", - "navigation_bar.direct": "ข้อความโดยตรง", "navigation_bar.discover": "ค้นพบ", "navigation_bar.domain_blocks": "โดเมนที่ปิดกั้นอยู่", "navigation_bar.edit_profile": "แก้ไขโปรไฟล์", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "เอาการสำรวจความคิดเห็นออก", "privacy.change": "เปลี่ยนความเป็นส่วนตัวของโพสต์", "privacy.direct.long": "ปรากฏแก่ผู้ใช้ที่กล่าวถึงเท่านั้น", - "privacy.direct.short": "โดยตรง", + "privacy.direct.short": "เฉพาะผู้คนที่ฉันกล่าวถึงเท่านั้น", "privacy.private.long": "ปรากฏแก่ผู้ติดตามเท่านั้น", "privacy.private.short": "ผู้ติดตามเท่านั้น", - "privacy.public.long": "ปรากฏแก่ทุกคน แสดงในเส้นเวลาสาธารณะ", + "privacy.public.long": "ปรากฏแก่ทั้งหมด", "privacy.public.short": "สาธารณะ", - "privacy.unlisted.long": "ปรากฏแก่ทุกคน แต่ไม่อยู่ในเส้นเวลาสาธารณะ", + "privacy.unlisted.long": "ปรากฏแก่ทั้งหมด แต่เลือกไม่รับคุณลักษณะการค้นพบ", "privacy.unlisted.short": "ไม่อยู่ในรายการ", "refresh": "รีเฟรช", "regeneration_indicator.label": "กำลังโหลด…", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 9104bd8f7..bc0e8f721 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -25,7 +25,7 @@ "account.hide_reblogs": "@{name} kişisinin boostlarını gizle", "account.joined": "{date} tarihinde katıldı", "account.link_verified_on": "Bu bağlantının sahipliği {date} tarihinde kontrol edildi", - "account.locked_info": "Bu hesabın gizlilik durumu kilitli olarak ayarlanmış. Sahibi, onu kimin takip edebileceğini elle inceliyor.", + "account.locked_info": "Bu hesabın gizlilik durumu gizli olarak ayarlanmış. Sahibi, onu kimin takip edebileceğini manuel olarak onaylıyor.", "account.media": "Medya", "account.mention": "@{name} kişisinden bahset", "account.moved_to": "{name} şuraya taşındı:", @@ -70,7 +70,7 @@ "column.blocks": "Engellenen kullanıcılar", "column.bookmarks": "Yer İmleri", "column.community": "Yerel zaman tüneli", - "column.direct": "Direkt Mesajlar", + "column.conversations": "Sohbetler", "column.directory": "Profillere göz at", "column.domain_blocks": "Engellenen alan adları", "column.favourites": "Favoriler", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Sadece yerel", "community.column_settings.media_only": "Sadece medya", "community.column_settings.remote_only": "Sadece uzak", - "compose_form.direct_message_warning": "Bu gönderi sadece belirtilen kullanıcılara gönderilecektir.", "compose_form.direct_message_warning_learn_more": "Daha fazla bilgi edinin", + "compose_form.encryption_warning": "Mastodondaki gönderiler uçtan uca şifrelemeli değildir. Mastodon üzerinden hassas olabilecek bir bilginizi paylaşmayın.", "compose_form.hashtag_warning": "Bu gönderi liste dışı olduğu için hiç bir etikette yer almayacak. Sadece herkese açık gönderiler etiketlerde bulunabilir.", "compose_form.lock_disclaimer": "Hesabın {locked} değil. Yalnızca takipçilere özel gönderilerini görüntülemek için herkes seni takip edebilir.", "compose_form.lock_disclaimer.lock": "kilitli", @@ -166,17 +166,17 @@ "empty_column.blocks": "Henüz herhangi bir kullanıcıyı engellemedin.", "empty_column.bookmarked_statuses": "Henüz yer imine eklediğin toot yok. Bir tanesi yer imine eklendiğinde burada görünür.", "empty_column.community": "Yerel zaman çizelgesi boş. Daha fazla eğlence için herkese açık bir gönderi paylaşın!", - "empty_column.direct": "Henüz direkt mesajın yok. Bir tane gönderdiğinde veya aldığında burada görünür.", - "empty_column.domain_blocks": "Henüz hiçbir gizli alan adı yok.", + "empty_column.conversations": "Sadece bahsedilen kişilere özel gönderi paylaştığında veya bu gizlilik seçeneğinde bir gönderi aldığında bu sayfada gözükecek.", + "empty_column.domain_blocks": "Henüz engellenmiş bir alan adı yok.", "empty_column.explore_statuses": "Şu an öne çıkan birşey yok. Daha sonra tekrar bakın!", "empty_column.favourited_statuses": "Favori tootun yok. Favori tootun olduğunda burada görünür.", "empty_column.favourites": "Kimse bu gönderiyi favorilerine eklememiş. Biri eklediğinde burada görünecek.", "empty_column.follow_recommendations": "Öyle görünüyor ki sizin için hiçbir öneri oluşturulamıyor. Tanıdığınız kişileri aramak için aramayı kullanabilir veya öne çıkanlara bakabilirsiniz.", "empty_column.follow_requests": "Hiç takip isteğiniz yok. Bir tane aldığınızda burada görünecek.", - "empty_column.hashtag": "Henüz bu hashtag’e sahip hiçbir gönderi yok.", + "empty_column.hashtag": "Henüz bu etikete sahip hiçbir gönderi yok.", "empty_column.home": "Ana zaman tünelin boş! Akışını doldurmak için daha fazla kişiyi takip et. {suggestions}", "empty_column.home.suggestions": "Bazı önerileri görün", - "empty_column.list": "Bu listede henüz hiçbir şey yok.", + "empty_column.list": "Henüz bu listede bir şey yok. Bu listenin üyeleri bir şey paylaşığında burada gözükecek.", "empty_column.lists": "Henüz listen yok. Liste oluşturduğunda burada görünür.", "empty_column.mutes": "Henüz bir kullanıcıyı sessize almadınız.", "empty_column.notifications": "Henüz bildiriminiz yok. Sohbete başlamak için başkalarıyla etkileşim kurun.", @@ -227,21 +227,21 @@ "intervals.full.minutes": "{number, plural, one {# dakika} other {# dakika}}", "keyboard_shortcuts.back": "geriye gitmek için", "keyboard_shortcuts.blocked": "engellenen kullanıcılar listesini açmak için", - "keyboard_shortcuts.boost": "Gönderiyi teşvik et", + "keyboard_shortcuts.boost": "gönderiyi boostla", "keyboard_shortcuts.column": "sütunlardan birindeki duruma odaklanmak için", "keyboard_shortcuts.compose": "yazma alanına odaklanmak için", + "keyboard_shortcuts.conversations": "sohbetler sütununu açmak için", "keyboard_shortcuts.description": "Açıklama", - "keyboard_shortcuts.direct": "direkt mesajlar sütununu açmak için", "keyboard_shortcuts.down": "listede aşağıya inmek için", - "keyboard_shortcuts.enter": "Gönderiyi aç", - "keyboard_shortcuts.favourite": "Gönderiyi beğen", + "keyboard_shortcuts.enter": "gönderiyi aç", + "keyboard_shortcuts.favourite": "gönderiyi favorilerine ekle", "keyboard_shortcuts.favourites": "favoriler listesini açmak için", - "keyboard_shortcuts.federated": "federe edilmiş zaman tünelini açmak için", + "keyboard_shortcuts.federated": "federe akışı aç", "keyboard_shortcuts.heading": "Klavye kısayolları", - "keyboard_shortcuts.home": "anasayfa zaman çizelgesini açmak için", + "keyboard_shortcuts.home": "ana akışı aç", "keyboard_shortcuts.hotkey": "Kısayol tuşu", "keyboard_shortcuts.legend": "bu efsaneyi görüntülemek için", - "keyboard_shortcuts.local": "yerel zaman tünelini açmak için", + "keyboard_shortcuts.local": "yerel akışı aç", "keyboard_shortcuts.mention": "yazardan bahsetmek için", "keyboard_shortcuts.muted": "sessize alınmış kullanıcı listesini açmak için", "keyboard_shortcuts.my_profile": "profilinizi açmak için", @@ -249,7 +249,7 @@ "keyboard_shortcuts.open_media": "medyayı açmak için", "keyboard_shortcuts.pinned": "Sabitlenmiş gönderilerin listesini aç", "keyboard_shortcuts.profile": "yazarın profilini açmak için", - "keyboard_shortcuts.reply": "Gönderiyi yanıtla", + "keyboard_shortcuts.reply": "gönderiyi yanıtla", "keyboard_shortcuts.requests": "takip istekleri listesini açmak için", "keyboard_shortcuts.search": "aramaya odaklanmak için", "keyboard_shortcuts.spoilers": "CW alanını göstermek/gizlemek için", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Yer İmleri", "navigation_bar.community_timeline": "Yerel Zaman Tüneli", "navigation_bar.compose": "Yeni gönderi yaz", - "navigation_bar.direct": "Direkt Mesajlar", "navigation_bar.discover": "Keşfet", "navigation_bar.domain_blocks": "Engellenen alan adları", "navigation_bar.edit_profile": "Profili düzenle", @@ -310,7 +309,7 @@ "navigation_bar.public_timeline": "Federe zaman tüneli", "navigation_bar.security": "Güvenlik", "notification.admin.sign_up": "{name} kaydoldu", - "notification.favourite": "{name} gönderini beğendi", + "notification.favourite": "{name} gönderini favorilerine ekledi", "notification.follow": "{name} seni takip etti", "notification.follow_request": "{name} size takip isteği gönderdi", "notification.mention": "{name} senden bahsetti", @@ -323,7 +322,7 @@ "notifications.clear_confirmation": "Tüm bildirimlerinizi kalıcı olarak temizlemek ister misiniz?", "notifications.column_settings.admin.sign_up": "Yeni kayıtlar:", "notifications.column_settings.alert": "Masaüstü bildirimleri", - "notifications.column_settings.favourite": "Beğeniler:", + "notifications.column_settings.favourite": "Favoriler:", "notifications.column_settings.filter_bar.advanced": "Tüm kategorileri görüntüle", "notifications.column_settings.filter_bar.category": "Hızlı filtre çubuğu", "notifications.column_settings.filter_bar.show_bar": "Süzme çubuğunu göster", @@ -341,7 +340,7 @@ "notifications.column_settings.update": "Düzenlemeler:", "notifications.filter.all": "Tümü", "notifications.filter.boosts": "Boostlar", - "notifications.filter.favourites": "Beğeniler", + "notifications.filter.favourites": "Favoriler", "notifications.filter.follows": "Takip edilenler", "notifications.filter.mentions": "Bahsetmeler", "notifications.filter.polls": "Anket sonuçları", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Anketi kaldır", "privacy.change": "Gönderi gizliliğini değiştir", "privacy.direct.long": "Sadece bahsedilen kullanıcılar için görünür", - "privacy.direct.short": "Direkt", + "privacy.direct.short": "Sadece bahsettiğim kişiler", "privacy.private.long": "Sadece takipçiler için görünür", "privacy.private.short": "Sadece takipçiler", - "privacy.public.long": "Herkese görünür, herkese açık zaman çizelgelerinde gösterilir", + "privacy.public.long": "Herkese açık", "privacy.public.short": "Herkese açık", - "privacy.unlisted.long": "Herkese görünür, ancak genel zaman çizelgelerinde gösterilmez", + "privacy.unlisted.long": "Keşfet harici herkese açık", "privacy.unlisted.short": "Listelenmemiş", "refresh": "Yenile", "regeneration_indicator.label": "Yükleniyor…", @@ -454,7 +453,7 @@ "status.edited": "{date} tarihinde düzenlenmiş", "status.edited_x_times": "{count, plural, one {{count} kez} other {{count} kez}} düzenlendi", "status.embed": "Gömülü", - "status.favourite": "Beğen", + "status.favourite": "Favorilerine ekle", "status.filtered": "Filtrelenmiş", "status.history.created": "{name} oluşturdu {date}", "status.history.edited": "{name} düzenledi {date}", diff --git a/app/javascript/mastodon/locales/tt.json b/app/javascript/mastodon/locales/tt.json index e44106844..bd20b1efe 100644 --- a/app/javascript/mastodon/locales/tt.json +++ b/app/javascript/mastodon/locales/tt.json @@ -4,30 +4,30 @@ "account.badges.bot": "Бот", "account.badges.group": "Төркем", "account.block": "@{name} блоклау", - "account.block_domain": "Block domain {domain}", + "account.block_domain": "{domain} доменын блоклау", "account.blocked": "Блокланган", "account.browse_more_on_origin_server": "Тулырак оригинал профилендә карап була", "account.cancel_follow_request": "Cancel follow request", - "account.direct": "Direct message @{name}", + "account.direct": "@{name} өчен яңа хат", "account.disable_notifications": "Stop notifying me when @{name} posts", "account.domain_blocked": "Domain blocked", "account.edit_profile": "Профильны үзгәртү", - "account.enable_notifications": "Notify me when @{name} posts", + "account.enable_notifications": "@{name} язулары өчен белдерүләр яндыру", "account.endorse": "Feature on profile", "account.follow": "Языл", - "account.followers": "Followers", - "account.followers.empty": "No one follows this user yet.", - "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", - "account.following": "Following", - "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", - "account.follows.empty": "This user doesn't follow anyone yet.", + "account.followers": "Язылучылар", + "account.followers.empty": "Әле беркем дә язылмаган.", + "account.followers_counter": "{count, plural,one {{counter} Язылучы} other {{counter} Язылучы}}", + "account.following": "Язылган", + "account.following_counter": "{count, plural, one {{counter} Язылган} other {{counter} Язылган}}", + "account.follows.empty": "Беркемгә дә язылмаган әле.", "account.follows_you": "Сезгә язылган", "account.hide_reblogs": "Hide boosts from @{name}", "account.joined": "Joined {date}", "account.link_verified_on": "Ownership of this link was checked on {date}", "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.media": "Медиа", - "account.mention": "Mention @{name}", + "account.mention": "@{name} искәртү", "account.moved_to": "{name} has moved to:", "account.mute": "Mute @{name}", "account.mute_notifications": "Mute notifications from @{name}", @@ -70,7 +70,7 @@ "column.blocks": "Blocked users", "column.bookmarks": "Кыстыргычлар", "column.community": "Local timeline", - "column.direct": "Direct messages", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "Blocked domains", "column.favourites": "Favourites", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "Media only", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "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.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": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "locked", @@ -166,7 +166,7 @@ "empty_column.blocks": "You haven't blocked any users yet.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no blocked domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Тасвирлама", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Кыстыргычлар", "navigation_bar.community_timeline": "Local timeline", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Direct messages", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "Профильны үзгәртү", @@ -370,9 +369,9 @@ "privacy.direct.short": "Direct", "privacy.private.long": "Visible for followers only", "privacy.private.short": "Followers-only", - "privacy.public.long": "Visible for all, shown in public timelines", + "privacy.public.long": "Visible for all", "privacy.public.short": "Public", - "privacy.unlisted.long": "Visible for all, but not in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Unlisted", "refresh": "Яңарту", "regeneration_indicator.label": "Йөкләү...", diff --git a/app/javascript/mastodon/locales/ug.json b/app/javascript/mastodon/locales/ug.json index 4373287dd..09d473ef4 100644 --- a/app/javascript/mastodon/locales/ug.json +++ b/app/javascript/mastodon/locales/ug.json @@ -70,7 +70,7 @@ "column.blocks": "Blocked users", "column.bookmarks": "Bookmarks", "column.community": "Local timeline", - "column.direct": "Direct messages", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "Blocked domains", "column.favourites": "Favourites", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Local only", "community.column_settings.media_only": "Media only", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "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.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": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "locked", @@ -166,7 +166,7 @@ "empty_column.blocks": "You haven't blocked any users yet.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no blocked domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "Local timeline", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Direct messages", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "Edit profile", @@ -370,9 +369,9 @@ "privacy.direct.short": "Direct", "privacy.private.long": "Visible for followers only", "privacy.private.short": "Followers-only", - "privacy.public.long": "Visible for all, shown in public timelines", + "privacy.public.long": "Visible for all", "privacy.public.short": "Public", - "privacy.unlisted.long": "Visible for all, but not in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Unlisted", "refresh": "Refresh", "regeneration_indicator.label": "Loading…", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 3aeb40209..16d4e0b3b 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -70,7 +70,7 @@ "column.blocks": "Заблоковані користувачі", "column.bookmarks": "Закладки", "column.community": "Локальна стрічка", - "column.direct": "Прямі повідомлення", + "column.conversations": "Бесіди", "column.directory": "Переглянути профілі", "column.domain_blocks": "Приховані домени", "column.favourites": "Вподобане", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Тільки локальні", "community.column_settings.media_only": "Тільки медіа", "community.column_settings.remote_only": "Тільки видалені", - "compose_form.direct_message_warning": "Цей дмух буде видимий тільки згаданим користувачам.", "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.hashtag_warning": "Цей дмух не буде відображений у жодній стрічці хештеґу, оскільки він прихований. Тільки публічні дмухи можуть бути знайдені за хештеґом.", "compose_form.lock_disclaimer": "Ваш акаунт не {locked}. Будь-який користувач може підписатися на вас та переглядати ваші приватні пости.", "compose_form.lock_disclaimer.lock": "приватний", @@ -166,7 +166,7 @@ "empty_column.blocks": "Ви ще не заблокували жодного користувача.", "empty_column.bookmarked_statuses": "У вас ще немає дмухів у закладках. Коли ви щось додасте до заклкдок, воно з'явиться тут.", "empty_column.community": "Локальна стрічка пуста. Напишіть щось, щоб розігріти народ!", - "empty_column.direct": "У вас ще немає прямих повідомлень. Коли ви відправите чи отримаєте якесь, воно з'явиться тут.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "Тут поки немає прихованих доменів.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "У вас ще немає вподобаних дмухів. Коли ви щось вподобаєте, воно з'явиться тут.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "передмухувати", "keyboard_shortcuts.column": "фокусуватися на одній з колонок", "keyboard_shortcuts.compose": "фокусуватися на полі введення", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Опис", - "keyboard_shortcuts.direct": "відкрити колонку прямих повідомлень", "keyboard_shortcuts.down": "рухатися вниз стрічкою", "keyboard_shortcuts.enter": "відкрити статус", "keyboard_shortcuts.favourite": "вподобати", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Закладки", "navigation_bar.community_timeline": "Локальна стрічка", "navigation_bar.compose": "Написати новий дмух", - "navigation_bar.direct": "Прямі повідомлення", "navigation_bar.discover": "Знайти", "navigation_bar.domain_blocks": "Приховані домени", "navigation_bar.edit_profile": "Редагувати профіль", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Видалити опитування", "privacy.change": "Змінити видимість допису", "privacy.direct.long": "Показати тільки згаданим користувачам", - "privacy.direct.short": "Особисто", + "privacy.direct.short": "Лише люди, яких я згадую", "privacy.private.long": "Показати тільки підписникам", "privacy.private.short": "Тільки для підписників", - "privacy.public.long": "Показувати у публічних стрічках", + "privacy.public.long": "Visible for all", "privacy.public.short": "Публічно", - "privacy.unlisted.long": "Не показувати у публічних стрічках", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Прихований", "refresh": "Оновити", "regeneration_indicator.label": "Завантаження…", @@ -394,7 +393,7 @@ "report.categories.other": "Інше", "report.categories.spam": "Спам", "report.categories.violation": "Контент порушує одне або кілька правил сервера", - "report.category.subtitle": "Choose the best match", + "report.category.subtitle": "Оберіть найкращий збіг", "report.category.title": "Tell us what's going on with this {type}", "report.category.title_account": "профіль", "report.category.title_status": "допис", diff --git a/app/javascript/mastodon/locales/ur.json b/app/javascript/mastodon/locales/ur.json index 47e06c3b2..42728af0f 100644 --- a/app/javascript/mastodon/locales/ur.json +++ b/app/javascript/mastodon/locales/ur.json @@ -70,7 +70,7 @@ "column.blocks": "مسدود صارفین", "column.bookmarks": "بُک مارکس", "column.community": "مقامی زمانی جدول", - "column.direct": "راست پیغام", + "column.conversations": "Conversations", "column.directory": "مشخصات کا مطالعہ کریں", "column.domain_blocks": "پوشیدہ ڈومین", "column.favourites": "پسندیدہ", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "صرف مقامی", "community.column_settings.media_only": "وسائل فقط", "community.column_settings.remote_only": "صرف خارجی", - "compose_form.direct_message_warning": "یہ ٹوٹ صرف مذکورہ صارفین کو بھیجا جائے گا.", "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.hashtag_warning": "چونکہ یہ ٹوٹ غیر مندرجہ ہے لہذا یہ کسی بھی ہیش ٹیگ کے تحت درج نہیں کیا جائے گا. ہیش ٹیگ کے تحت صرف \nعمومی ٹوٹ تلاش کئے جا سکتے ہیں.", "compose_form.lock_disclaimer": "آپ کا اکاؤنٹ {locked} نہیں ہے. کوئی بھی آپ کے مخصوص برائے پیروکار ٹوٹ دیکھنے کی خاطر آپ کی پیروی کر سکتا ہے.", "compose_form.lock_disclaimer.lock": "مقفل", @@ -166,7 +166,7 @@ "empty_column.blocks": "آپ نے ابھی کسی صارف کو مسدود نہیں کیا ہے.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "مقامی جدول خالی ہے. کچھ تحریر کریں تاکہ بات آگے بڑھے!", - "empty_column.direct": "آپ کیلئے کوئی راست پیغام نہیں ہے. جب آپ بھیجیں گے یا وصول کریں گے، یہاں نظر آئےگا.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "ابھی تک کوئی چھپا ہوا ڈومین نہیں ہے.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "آپ کا کوئی پسندیدہ ٹوٹ نہیں ہے. جب آپ پسند کریں گے، یہاں نظر آئےگا.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "بُک مارکس", "navigation_bar.community_timeline": "مقامی ٹائم لائن", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "براہ راست پیغامات", "navigation_bar.discover": "دریافت کریں", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "پروفائل میں ترمیم کریں", @@ -370,9 +369,9 @@ "privacy.direct.short": "Direct", "privacy.private.long": "Post to followers only", "privacy.private.short": "Followers-only", - "privacy.public.long": "Post to public timelines", + "privacy.public.long": "Visible for all", "privacy.public.short": "Public", - "privacy.unlisted.long": "Do not show in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Unlisted", "refresh": "Refresh", "regeneration_indicator.label": "Loading…", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 03752d34f..6692d2b21 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -57,7 +57,7 @@ "alert.rate_limited.title": "Vượt giới hạn", "alert.unexpected.message": "Đã xảy ra lỗi không mong muốn.", "alert.unexpected.title": "Ốiii!", - "announcement.announcement": "Thông báo chung", + "announcement.announcement": "Có gì mới?", "attachments_list.unprocessed": "(chưa xử lí)", "autosuggest_hashtag.per_week": "{count} mỗi tuần", "boost_modal.combo": "Nhấn {combo} để bỏ qua bước này", @@ -70,7 +70,7 @@ "column.blocks": "Người đã chặn", "column.bookmarks": "Đã lưu", "column.community": "Máy chủ của bạn", - "column.direct": "Tin nhắn", + "column.conversations": "Thảo luận", "column.directory": "Tìm người cùng sở thích", "column.domain_blocks": "Máy chủ đã chặn", "column.favourites": "Thích", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "Chỉ máy chủ của bạn", "community.column_settings.media_only": "Chỉ xem media", "community.column_settings.remote_only": "Chỉ người dùng ở máy chủ khác", - "compose_form.direct_message_warning": "Tút này sẽ chỉ gửi cho người được nhắc đến.", "compose_form.direct_message_warning_learn_more": "Tìm hiểu thêm", + "compose_form.encryption_warning": "Các tút trên Mastodon không được mã hóa đầu cuối. Không chia sẻ bất kỳ thông tin nhạy cảm nào qua Mastodon.", "compose_form.hashtag_warning": "Tút này sẽ không xuất hiện công khai. Chỉ những tút công khai mới có thể được tìm kiếm thông qua hashtag.", "compose_form.lock_disclaimer": "Tài khoản của bạn không {locked}. Bất cứ ai cũng có thể theo dõi và xem tút riêng tư của bạn.", "compose_form.lock_disclaimer.lock": "khóa", @@ -166,7 +166,7 @@ "empty_column.blocks": "Bạn chưa chặn bất cứ ai.", "empty_column.bookmarked_statuses": "Bạn chưa lưu tút nào. Nếu có, nó sẽ hiển thị ở đây.", "empty_column.community": "Máy chủ của bạn chưa có tút nào công khai. Bạn hãy thử viết gì đó đi!", - "empty_column.direct": "Bạn chưa có tin nhắn nào. Khi bạn gửi hoặc nhận tin nhắn, nó sẽ hiển thị ở đây.", + "empty_column.conversations": "Khi bạn gửi hoặc nhận một tút chỉ hiển thị với những người được nhắc đến trong đó, tút đó sẽ hiển thị ở đây.", "empty_column.domain_blocks": "Chưa ẩn bất kỳ máy chủ nào.", "empty_column.explore_statuses": "Chưa có xu hướng nào. Kiểm tra lại sau!", "empty_column.favourited_statuses": "Bạn chưa thích tút nào. Hãy thử đi, nó sẽ xuất hiện ở đây.", @@ -220,8 +220,8 @@ "home.column_settings.basic": "Tùy chỉnh", "home.column_settings.show_reblogs": "Hiện những lượt đăng lại", "home.column_settings.show_replies": "Hiện những tút dạng trả lời", - "home.hide_announcements": "Ẩn thông báo", - "home.show_announcements": "Hiện thông báo", + "home.hide_announcements": "Ẩn thông báo máy chủ", + "home.show_announcements": "Hiện thông báo máy chủ", "intervals.full.days": "{number, plural, other {# ngày}}", "intervals.full.hours": "{number, plural, other {# giờ}}", "intervals.full.minutes": "{number, plural, other {# phút}}", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "đăng lại", "keyboard_shortcuts.column": "mở các mục", "keyboard_shortcuts.compose": "mở khung soạn tút", + "keyboard_shortcuts.conversations": "mở mục thảo luận", "keyboard_shortcuts.description": "Mô tả", - "keyboard_shortcuts.direct": "mở mục tin nhắn", "keyboard_shortcuts.down": "di chuyển xuống dưới danh sách", "keyboard_shortcuts.enter": "viết tút mới", "keyboard_shortcuts.favourite": "thích", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Đã lưu", "navigation_bar.community_timeline": "Cộng đồng", "navigation_bar.compose": "Viết tút mới", - "navigation_bar.direct": "Tin nhắn", "navigation_bar.discover": "Khám phá", "navigation_bar.domain_blocks": "Máy chủ đã ẩn", "navigation_bar.edit_profile": "Sửa hồ sơ", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "Hủy cuộc bình chọn", "privacy.change": "Thay đổi quyền riêng tư", "privacy.direct.long": "Chỉ người được nhắc đến mới thấy", - "privacy.direct.short": "Nhắn riêng", + "privacy.direct.short": "Chỉ người tôi nhắc đến", "privacy.private.long": "Dành riêng cho người theo dõi", - "privacy.private.short": "Riêng tư", - "privacy.public.long": "Hiện trên bảng tin máy chủ", + "privacy.private.short": "Chỉ người theo dõi", + "privacy.public.long": "Hiển thị với mọi người", "privacy.public.short": "Công khai", - "privacy.unlisted.long": "Không hiện trên bảng tin máy chủ", + "privacy.unlisted.long": "Hiển thị với mọi người, nhưng không hiện trong tính năng khám phá", "privacy.unlisted.short": "Hạn chế", "refresh": "Làm mới", "regeneration_indicator.label": "Đang tải…", diff --git a/app/javascript/mastodon/locales/zgh.json b/app/javascript/mastodon/locales/zgh.json index 6e6b1cd86..a6ddaab09 100644 --- a/app/javascript/mastodon/locales/zgh.json +++ b/app/javascript/mastodon/locales/zgh.json @@ -70,7 +70,7 @@ "column.blocks": "ⵉⵏⵙⵙⵎⵔⵙⵏ ⵜⵜⵓⴳⴷⵍⵏⵉⵏ", "column.bookmarks": "Bookmarks", "column.community": "Local timeline", - "column.direct": "Direct messages", + "column.conversations": "Conversations", "column.directory": "Browse profiles", "column.domain_blocks": "Blocked domains", "column.favourites": "ⵜⵓⴼⵓⵜⵉⵏ", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "ⵖⴰⵙ ⴰⴷⵖⴰⵔⴰⵏ", "community.column_settings.media_only": "ⵖⴰⵙ ⵉⵙⵏⵖⵎⵉⵙⵏ", "community.column_settings.remote_only": "Remote only", - "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "compose_form.direct_message_warning_learn_more": "ⵙⵙⵏ ⵓⴳⴳⴰⵔ", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over 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": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "ⵉⵜⵜⵓⵔⴳⵍ", @@ -166,7 +166,7 @@ "empty_column.blocks": "You haven't blocked any users yet.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", - "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "There are no blocked domains yet.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "Description", - "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.favourite": "to favourite", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "Bookmarks", "navigation_bar.community_timeline": "Local timeline", "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "ⵜⵓⵣⵉⵏⵉⵏ ⵜⵓⵙⵔⵉⴷⵉⵏ", "navigation_bar.discover": "Discover", "navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.edit_profile": "ⵙⵏⴼⵍ ⵉⴼⵔⵙ", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "ⵙⵙⵉⵜⵢ ⵉⴷⵣ", "privacy.change": "Adjust status privacy", "privacy.direct.long": "Visible for mentioned users only", - "privacy.direct.short": "ⵜⵓⵔⴷⵉⵜ", + "privacy.direct.short": "Direct", "privacy.private.long": "Visible for followers only", "privacy.private.short": "Followers-only", - "privacy.public.long": "Visible for all, shown in public timelines", + "privacy.public.long": "Visible for all", "privacy.public.short": "ⵜⴰⴳⴷⵓⴷⴰⵏⵜ", - "privacy.unlisted.long": "Visible for all, but not in public timelines", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Unlisted", "refresh": "Refresh", "regeneration_indicator.label": "ⴰⵣⴷⴰⵎ…", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index e479c63c6..b38cbc278 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -1,6 +1,6 @@ { "account.account_note_header": "备注", - "account.add_or_remove_from_list": "从列表中添加或删除", + "account.add_or_remove_from_list": "从列表中添加或移除", "account.badges.bot": "机器人", "account.badges.group": "群组", "account.block": "屏蔽 @{name}", @@ -13,7 +13,7 @@ "account.domain_blocked": "域名已屏蔽", "account.edit_profile": "修改个人资料", "account.enable_notifications": "当 @{name} 发嘟时通知我", - "account.endorse": "在个人资料中推荐此用户", + "account.endorse": "推荐在个人页上", "account.follow": "关注", "account.followers": "关注者", "account.followers.empty": "目前无人关注此用户。", @@ -22,26 +22,26 @@ "account.following_counter": "正在关注 {counter} 人", "account.follows.empty": "此用户目前尚未关注任何人。", "account.follows_you": "关注了你", - "account.hide_reblogs": "隐藏来自 @{name} 的转嘟", + "account.hide_reblogs": "隐藏来自 @{name} 的转贴", "account.joined": "加入于 {date}", "account.link_verified_on": "此链接的所有权已在 {date} 检查", - "account.locked_info": "此账户已锁嘟。账户的主人会手动审核关注者。", + "account.locked_info": "此账户已锁嘟。账户所有者会手动审核关注者。", "account.media": "媒体", "account.mention": "提及 @{name}", "account.moved_to": "{name} 已经迁移到:", "account.mute": "隐藏 @{name}", "account.mute_notifications": "隐藏来自 @{name} 的通知", "account.muted": "已隐藏", - "account.posts": "嘟文", - "account.posts_with_replies": "嘟文和回复", + "account.posts": "帖子", + "account.posts_with_replies": "帖子和回复", "account.report": "举报 @{name}", "account.requested": "正在等待对方同意。点击以取消发送关注请求", "account.share": "分享 @{name} 的个人资料", "account.show_reblogs": "显示来自 @{name} 的转嘟", "account.statuses_counter": "{counter} 条嘟文", - "account.unblock": "解除屏蔽 @{name}", + "account.unblock": "取消屏蔽 @{name}", "account.unblock_domain": "不再屏蔽 {domain} 实例", - "account.unblock_short": "解除屏蔽", + "account.unblock_short": "取消屏蔽", "account.unendorse": "不在个人资料中推荐此用户", "account.unfollow": "取消关注", "account.unmute": "不再隐藏 @{name}", @@ -51,7 +51,7 @@ "admin.dashboard.daily_retention": "注册后用户留存率(按日计算)", "admin.dashboard.monthly_retention": "注册后用户留存率(按月计算)", "admin.dashboard.retention.average": "平均", - "admin.dashboard.retention.cohort": "注册月", + "admin.dashboard.retention.cohort": "注册月份", "admin.dashboard.retention.cohort_size": "新用户", "alert.rate_limited.message": "请在{retry_time, time, medium}后重试。", "alert.rate_limited.title": "频率受限", @@ -70,16 +70,16 @@ "column.blocks": "已屏蔽的用户", "column.bookmarks": "书签", "column.community": "本站时间轴", - "column.direct": "私信", + "column.conversations": "对话", "column.directory": "浏览用户资料", - "column.domain_blocks": "已屏蔽的网站", - "column.favourites": "喜欢", + "column.domain_blocks": "已屏蔽的域名", + "column.favourites": "收藏", "column.follow_requests": "关注请求", "column.home": "主页", "column.lists": "列表", "column.mutes": "已隐藏的用户", "column.notifications": "通知", - "column.pins": "置顶嘟文", + "column.pins": "置顶帖子", "column.public": "跨站公共时间轴", "column_back_button.label": "返回", "column_header.hide_settings": "隐藏设置", @@ -89,30 +89,30 @@ "column_header.show_settings": "显示设置", "column_header.unpin": "取消置顶", "column_subheading.settings": "设置", - "community.column_settings.local_only": "只显示本站", - "community.column_settings.media_only": "仅媒体", - "community.column_settings.remote_only": "只显示外站", - "compose_form.direct_message_warning": "这条嘟文仅对所有被提及的用户可见。", - "compose_form.direct_message_warning_learn_more": "了解详情", - "compose_form.hashtag_warning": "这条嘟文被设置为“不公开”,因此它不会出现在任何话题标签的列表下。只有公开的嘟文才能通过话题标签进行搜索。", - "compose_form.lock_disclaimer": "你的帐户没有{locked}。任何人都可以在关注你后立即查看仅关注者可见的嘟文。", + "community.column_settings.local_only": "仅限本站", + "community.column_settings.media_only": "仅限媒体", + "community.column_settings.remote_only": "仅限外部", + "compose_form.direct_message_warning_learn_more": "了解更多", + "compose_form.encryption_warning": "Mastodon上的帖子不是端到端加密的。不要在Mastodon上分享敏感信息。", + "compose_form.hashtag_warning": "此帖子被设置为“不公开”,因此它不会出现在任何话题标签的列表下。只有公开帖子才能通过话题标签进行搜索。", + "compose_form.lock_disclaimer": "你的账号没有{locked}。任何人在关注你后都能立即查看仅关注者可见的帖子。", "compose_form.lock_disclaimer.lock": "开启保护", - "compose_form.placeholder": "在想啥?", + "compose_form.placeholder": "在想些什么?", "compose_form.poll.add_option": "添加选项", "compose_form.poll.duration": "投票持续时间", "compose_form.poll.option_placeholder": "选项 {number}", - "compose_form.poll.remove_option": "移除这个选项", + "compose_form.poll.remove_option": "移除此选项", "compose_form.poll.switch_to_multiple": "将投票改为多选", "compose_form.poll.switch_to_single": "将投票改为单选", "compose_form.publish": "嘟嘟", "compose_form.publish_loud": "{publish}!", "compose_form.save_changes": "保存更改", - "compose_form.sensitive.hide": "标记媒体为敏感内容", + "compose_form.sensitive.hide": "将媒体标记为敏感内容", "compose_form.sensitive.marked": "媒体已被标记为敏感内容", "compose_form.sensitive.unmarked": "媒体未被标记为敏感内容", - "compose_form.spoiler.marked": "正文已被折叠在警告信息之后", - "compose_form.spoiler.unmarked": "正文未被折叠", - "compose_form.spoiler_placeholder": "折叠部分的警告消息", + "compose_form.spoiler.marked": "移除内容警告", + "compose_form.spoiler.unmarked": "添加内容警告", + "compose_form.spoiler_placeholder": "写下你的警告", "confirmation_modal.cancel": "取消", "confirmations.block.block_and_report": "屏蔽与举报", "confirmations.block.confirm": "屏蔽", @@ -120,10 +120,10 @@ "confirmations.delete.confirm": "删除", "confirmations.delete.message": "你确定要删除这条嘟文吗?", "confirmations.delete_list.confirm": "删除", - "confirmations.delete_list.message": "你确定要永久删除这个列表吗?", + "confirmations.delete_list.message": "你确定要永久删除此列表吗?", "confirmations.discard_edit_media.confirm": "丢弃", "confirmations.discard_edit_media.message": "您还有未保存的媒体描述或预览修改,仍然丢弃它们吗?", - "confirmations.domain_block.confirm": "隐藏整个网站的内容", + "confirmations.domain_block.confirm": "屏蔽整个域名", "confirmations.domain_block.message": "你真的确定要屏蔽所有来自 {domain} 的内容吗?多数情况下,屏蔽或隐藏几个特定的用户就已经足够了。来自该网站的内容将不再出现在你的任何公共时间轴或通知列表里。来自该网站的关注者将会被移除。", "confirmations.logout.confirm": "登出", "confirmations.logout.message": "你确定要登出吗?", @@ -144,15 +144,15 @@ "directory.local": "仅来自 {domain}", "directory.new_arrivals": "新来者", "directory.recently_active": "最近活跃", - "embed.instructions": "要在你的网站上嵌入此嘟文,请复制以下代码。", + "embed.instructions": "复制以下代码在你的网站上嵌入此文章,", "embed.preview": "它会像这样显示出来:", "emoji_button.activity": "活动", "emoji_button.custom": "自定义", "emoji_button.flags": "旗帜", "emoji_button.food": "食物和饮料", - "emoji_button.label": "加入表情符号", + "emoji_button.label": "插入表情符号", "emoji_button.nature": "自然", - "emoji_button.not_found": "木有这个表情符号!(╯°□°)╯︵ ┻━┻", + "emoji_button.not_found": "没有找到匹配的表情符号", "emoji_button.objects": "物体", "emoji_button.people": "人物", "emoji_button.recent": "常用", @@ -161,18 +161,18 @@ "emoji_button.symbols": "符号", "emoji_button.travel": "旅行和地点", "empty_column.account_suspended": "账户已停用", - "empty_column.account_timeline": "这里没有嘟文!", + "empty_column.account_timeline": "这里没有帖子!", "empty_column.account_unavailable": "个人资料不可用", - "empty_column.blocks": "你目前没有屏蔽任何用户。", - "empty_column.bookmarked_statuses": "你还没有给任何嘟文添加过书签。在你添加书签后,嘟文就会显示在这里。", - "empty_column.community": "本站时间轴暂时没有内容,快写点什么让它动起来吧!", - "empty_column.direct": "你还没有使用过私信。当你发出或者收到私信时,它会在这里显示。", + "empty_column.blocks": "你还未屏蔽任何用户。", + "empty_column.bookmarked_statuses": "你还未将任何帖子加入书签。在你添加书签后,帖子将显示在此。", + "empty_column.community": "本站时间轴一片空白,快写点什么让它动起来吧!", + "empty_column.conversations": "一旦您发送或接收了一个只对其中提到的人可见的帖子,它就会显示在这里。", "empty_column.domain_blocks": "目前没有被隐藏的站点。", "empty_column.explore_statuses": "目前没有热门话题,稍后再来看看吧!", - "empty_column.favourited_statuses": "你还没有喜欢过任何嘟文。喜欢过的嘟文会显示在这里。", - "empty_column.favourites": "没有人喜欢过这条嘟文。如果有人喜欢了,就会显示在这里。", + "empty_column.favourited_statuses": "你还未喜欢过任何帖子。当你喜欢帖子时,它将显示在此。", + "empty_column.favourites": "没有人喜欢过这条嘟文。如果有人喜欢会显示在此。", "empty_column.follow_recommendations": "似乎无法为你生成任何建议。你可以尝试使用搜索寻找你可能知道的人或探索热门标签。", - "empty_column.follow_requests": "你没有收到新的关注请求。收到了之后就会显示在这里。", + "empty_column.follow_requests": "你没有收到新的关注请求。收到后将显示在此。", "empty_column.hashtag": "这个话题标签下暂时没有内容。", "empty_column.home": "你的主页时间线是空的!快去关注更多人吧。 {suggestions}", "empty_column.home.suggestions": "查看一些建议", @@ -180,7 +180,7 @@ "empty_column.lists": "你还没有创建过列表。你创建的列表会在这里显示。", "empty_column.mutes": "你没有隐藏任何用户。", "empty_column.notifications": "你还没有收到过任何通知,快和其他用户互动吧。", - "empty_column.public": "这里什么都没有!写一些公开的嘟文,或者关注其他服务器的用户后,这里就会有嘟文出现了", + "empty_column.public": "这里什么都没有!写一些公开帖子,或者关注其他服务器的用户后,这里就会有嘟文出现了", "error.unexpected_crash.explanation": "此页面无法正确显示,这可能是因为我们的代码中有错误,也可能是因为浏览器兼容问题。", "error.unexpected_crash.explanation_addons": "此页面无法正确显示,这个错误很可能是由浏览器附加组件或自动翻译工具造成的。", "error.unexpected_crash.next_steps": "刷新一下页面试试。如果没用,你可以换个浏览器或者用本地应用。", @@ -188,15 +188,15 @@ "errors.unexpected_crash.copy_stacktrace": "把堆栈跟踪信息复制到剪贴板", "errors.unexpected_crash.report_issue": "报告问题", "explore.search_results": "搜索结果", - "explore.suggested_follows": "为您推荐", + "explore.suggested_follows": "为你推荐", "explore.title": "探索", "explore.trending_links": "最新消息", - "explore.trending_statuses": "嘟文", + "explore.trending_statuses": "帖子", "explore.trending_tags": "话题标签", "follow_recommendations.done": "完成", "follow_recommendations.heading": "关注你感兴趣的用户!这里有一些推荐。", - "follow_recommendations.lead": "你关注的人的嘟文将按时间顺序在你的主页上显示。 别担心,你可以随时取消关注!", - "follow_request.authorize": "同意", + "follow_recommendations.lead": "你关注的人的帖子将按时间顺序显示在你的主页。 别担心,你可以随时取消关注!", + "follow_request.authorize": "授权", "follow_request.reject": "拒绝", "follow_requests.unlocked_explanation": "虽说你没有锁嘟,但是 {domain} 的工作人员觉得你可能想手工审核这些账号的关注请求。", "generic.saved": "已保存", @@ -206,7 +206,7 @@ "getting_started.heading": "开始使用", "getting_started.invite": "邀请用户", "getting_started.open_source_notice": "Mastodon 是开源软件。欢迎前往 GitHub({github})贡献代码或反馈问题。", - "getting_started.security": "账户安全设置", + "getting_started.security": "账号设置", "getting_started.terms": "使用条款", "hashtag.column_header.tag_mode.all": "以及 {additional}", "hashtag.column_header.tag_mode.any": "或是 {additional}", @@ -215,7 +215,7 @@ "hashtag.column_settings.select.placeholder": "输入话题标签…", "hashtag.column_settings.tag_mode.all": "全部", "hashtag.column_settings.tag_mode.any": "任一", - "hashtag.column_settings.tag_mode.none": "全都不要", + "hashtag.column_settings.tag_mode.none": "无一", "hashtag.column_settings.tag_toggle": "在此栏加入额外的标签", "home.column_settings.basic": "基本设置", "home.column_settings.show_reblogs": "显示转嘟", @@ -227,37 +227,37 @@ "intervals.full.minutes": "{number} 分钟", "keyboard_shortcuts.back": "返回上一页", "keyboard_shortcuts.blocked": "打开被屏蔽用户列表", - "keyboard_shortcuts.boost": "转嘟", - "keyboard_shortcuts.column": "选择某一栏中的嘟文", - "keyboard_shortcuts.compose": "选择嘟文撰写框", + "keyboard_shortcuts.boost": "转贴", + "keyboard_shortcuts.column": "选择某栏", + "keyboard_shortcuts.compose": "选择输入框", + "keyboard_shortcuts.conversations": "打开对话栏", "keyboard_shortcuts.description": "说明", - "keyboard_shortcuts.direct": "打开私信栏", "keyboard_shortcuts.down": "在列表中让光标下移", - "keyboard_shortcuts.enter": "展开嘟文", - "keyboard_shortcuts.favourite": "喜欢嘟文", - "keyboard_shortcuts.favourites": "打开喜欢的嘟文列表", + "keyboard_shortcuts.enter": "展开帖子", + "keyboard_shortcuts.favourite": "喜欢帖子", + "keyboard_shortcuts.favourites": "打开喜欢的帖子列表", "keyboard_shortcuts.federated": "打开跨站时间轴", "keyboard_shortcuts.heading": "快捷键列表", "keyboard_shortcuts.home": "打开主页时间轴", "keyboard_shortcuts.hotkey": "快捷键", "keyboard_shortcuts.legend": "显示此列表", "keyboard_shortcuts.local": "打开本站时间轴", - "keyboard_shortcuts.mention": "提及嘟文作者", + "keyboard_shortcuts.mention": "提及作者", "keyboard_shortcuts.muted": "打开已隐藏用户列表", "keyboard_shortcuts.my_profile": "打开你的个人资料", "keyboard_shortcuts.notifications": "打开通知栏", "keyboard_shortcuts.open_media": "打开媒体", - "keyboard_shortcuts.pinned": "打开置顶嘟文列表", + "keyboard_shortcuts.pinned": "打开置顶帖子列表", "keyboard_shortcuts.profile": "打开作者的个人资料", - "keyboard_shortcuts.reply": "回复嘟文", + "keyboard_shortcuts.reply": "回复帖子", "keyboard_shortcuts.requests": "打开关注请求列表", "keyboard_shortcuts.search": "选择搜索框", "keyboard_shortcuts.spoilers": "显示或隐藏被折叠的正文", "keyboard_shortcuts.start": "打开“开始使用”栏", "keyboard_shortcuts.toggle_hidden": "显示或隐藏被折叠的正文", "keyboard_shortcuts.toggle_sensitivity": "显示/隐藏媒体", - "keyboard_shortcuts.toot": "发送新嘟文", - "keyboard_shortcuts.unfocus": "取消输入", + "keyboard_shortcuts.toot": "发布新帖子", + "keyboard_shortcuts.unfocus": "取消输入/搜索", "keyboard_shortcuts.up": "在列表中让光标上移", "lightbox.close": "关闭", "lightbox.compress": "返回图片全览", @@ -273,74 +273,73 @@ "lists.new.title_placeholder": "新列表的标题", "lists.replies_policy.followed": "任何被关注的用户", "lists.replies_policy.list": "列表成员", - "lists.replies_policy.none": "没有人", + "lists.replies_policy.none": "没人", "lists.replies_policy.title": "显示回复给:", "lists.search": "搜索你关注的人", "lists.subheading": "你的列表", "load_pending": "{count} 项", - "loading_indicator.label": "加载中……", - "media_gallery.toggle_visible": "隐藏 {number} 张图片", + "loading_indicator.label": "加载中…", + "media_gallery.toggle_visible": "隐藏图片", "missing_indicator.label": "找不到内容", "missing_indicator.sublabel": "无法找到此资源", - "mute_modal.duration": "持续期间", + "mute_modal.duration": "持续时长", "mute_modal.hide_notifications": "同时隐藏来自这个用户的通知?", "mute_modal.indefinite": "无期限", "navigation_bar.apps": "移动应用", "navigation_bar.blocks": "已屏蔽的用户", "navigation_bar.bookmarks": "书签", "navigation_bar.community_timeline": "本站时间轴", - "navigation_bar.compose": "撰写新嘟文", - "navigation_bar.direct": "私信", + "navigation_bar.compose": "撰写新帖子", "navigation_bar.discover": "发现", - "navigation_bar.domain_blocks": "已屏蔽的网站", + "navigation_bar.domain_blocks": "已屏蔽的域名", "navigation_bar.edit_profile": "修改个人资料", "navigation_bar.explore": "探索", "navigation_bar.favourites": "喜欢", "navigation_bar.filters": "隐藏关键词", "navigation_bar.follow_requests": "关注请求", "navigation_bar.follows_and_followers": "关注管理", - "navigation_bar.info": "关于本站", + "navigation_bar.info": "关于此服务", "navigation_bar.keyboard_shortcuts": "快捷键列表", "navigation_bar.lists": "列表", "navigation_bar.logout": "登出", "navigation_bar.mutes": "已隐藏的用户", "navigation_bar.personal": "个人", - "navigation_bar.pins": "置顶嘟文", + "navigation_bar.pins": "置顶帖子", "navigation_bar.preferences": "首选项", "navigation_bar.public_timeline": "跨站公共时间轴", "navigation_bar.security": "安全性", - "notification.admin.sign_up": "{name} 注册了", - "notification.favourite": "{name} 喜欢了你的嘟文", + "notification.admin.sign_up": "{name} 已注册", + "notification.favourite": "{name} 喜欢了你的帖子", "notification.follow": "{name} 开始关注你", "notification.follow_request": "{name} 向你发送了关注请求", "notification.mention": "{name} 提及了你", "notification.own_poll": "你的投票已经结束", "notification.poll": "你参与的一个投票已经结束", - "notification.reblog": "{name} 转嘟了你的嘟文", - "notification.status": "{name} 刚刚发嘟", - "notification.update": "{name} 编辑了嘟文", + "notification.reblog": "{name} 转贴了你的帖子", + "notification.status": "{name} 刚刚发帖", + "notification.update": "{name} 编辑了帖子", "notifications.clear": "清空通知列表", "notifications.clear_confirmation": "你确定要永久清空通知列表吗?", "notifications.column_settings.admin.sign_up": "新注册:", "notifications.column_settings.alert": "桌面通知", - "notifications.column_settings.favourite": "当你的嘟文被喜欢时:", + "notifications.column_settings.favourite": "喜欢:", "notifications.column_settings.filter_bar.advanced": "显示所有类别", "notifications.column_settings.filter_bar.category": "快速过滤栏", "notifications.column_settings.filter_bar.show_bar": "显示过滤栏", - "notifications.column_settings.follow": "当有人关注你时:", - "notifications.column_settings.follow_request": "新的关注请求:", - "notifications.column_settings.mention": "当有人在嘟文中提及你时:", + "notifications.column_settings.follow": "新关注者:", + "notifications.column_settings.follow_request": "新关注请求:", + "notifications.column_settings.mention": "提及:", "notifications.column_settings.poll": "投票结果:", "notifications.column_settings.push": "推送通知", - "notifications.column_settings.reblog": "当有人转嘟了你的嘟文时:", + "notifications.column_settings.reblog": "转贴:", "notifications.column_settings.show": "在通知栏显示", - "notifications.column_settings.sound": "播放音效", - "notifications.column_settings.status": "新嘟文:", + "notifications.column_settings.sound": "播放声音", + "notifications.column_settings.status": "新贴:", "notifications.column_settings.unread_notifications.category": "未读通知", "notifications.column_settings.unread_notifications.highlight": "高亮显示未读通知", "notifications.column_settings.update": "编辑:", "notifications.filter.all": "全部", - "notifications.filter.boosts": "转嘟", + "notifications.filter.boosts": "转贴", "notifications.filter.favourites": "喜欢", "notifications.filter.follows": "关注", "notifications.filter.mentions": "提及", @@ -358,52 +357,52 @@ "picture_in_picture.restore": "恢复", "poll.closed": "已关闭", "poll.refresh": "刷新", - "poll.total_people": "{count}人", + "poll.total_people": "{count} 人", "poll.total_votes": "{count} 票", "poll.vote": "投票", "poll.voted": "你已经对这个答案投过票了", "poll.votes": "{votes, plural, one {# 票} other {# 票}}", "poll_button.add_poll": "发起投票", "poll_button.remove_poll": "移除投票", - "privacy.change": "设置嘟文的可见范围", + "privacy.change": "设置帖子的可见范围", "privacy.direct.long": "只有被提及的用户能看到", - "privacy.direct.short": "私信", - "privacy.private.long": "只有关注你的用户能看到", + "privacy.direct.short": "仅我提到的人", + "privacy.private.long": "仅关注者可见", "privacy.private.short": "仅关注者", - "privacy.public.long": "所有人可见,并会出现在公共时间轴上", + "privacy.public.long": "所有人可见", "privacy.public.short": "公开", - "privacy.unlisted.long": "所有人可见,但不会出现在公共时间轴上", + "privacy.unlisted.long": "对所有人都可见,但关闭发现功能", "privacy.unlisted.short": "不公开", "refresh": "刷新", - "regeneration_indicator.label": "加载中……", + "regeneration_indicator.label": "加载中…", "regeneration_indicator.sublabel": "你的主页动态正在准备中!", - "relative_time.days": "{number}天", + "relative_time.days": "{number} 天", "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.hours": "{number} 时", "relative_time.just_now": "刚刚", - "relative_time.minutes": "{number}分", - "relative_time.seconds": "{number}秒", + "relative_time.minutes": "{number} 分", + "relative_time.seconds": "{number} 秒", "relative_time.today": "今天", "reply_indicator.cancel": "取消", "report.block": "屏蔽", - "report.block_explanation": "你不会看到他们的帖子。他们也将无法看到你的帖子或关注你。他们将能够判断他们被屏蔽了。", + "report.block_explanation": "你将看不到他们的帖子。他们也将无法看到你的帖子或关注你。他们将能够判断他们被屏蔽了。", "report.categories.other": "其他", "report.categories.spam": "垃圾信息", "report.categories.violation": "内容违反一条或多条服务器规则", "report.category.subtitle": "选择最佳匹配", "report.category.title": "告诉我们这个 {type} 的情况", "report.category.title_account": "个人资料", - "report.category.title_status": "嘟文", + "report.category.title_status": "帖子", "report.close": "完成", "report.comment.title": "还有什么你认为我们应该知道的吗?", "report.forward": "转发举报至 {target}", "report.forward_hint": "这名用户来自另一个服务器。是否要向那个服务器发送一条匿名的举报?", "report.mute": "静音", - "report.mute_explanation": "你将不会看到他们的嘟文。他们仍然可以关注你并看到你的嘟文,但他们不会知道他们被静音了。", + "report.mute_explanation": "你将不会看到他们的嘟文。他们仍然可以关注你并看到你的帖子,但他们不会知道他们被静音了。", "report.next": "下一步", "report.placeholder": "备注", "report.reasons.dislike": "我不喜欢它", @@ -417,7 +416,7 @@ "report.rules.subtitle": "选择所有适用选项", "report.rules.title": "哪些规则被违反了?", "report.statuses.subtitle": "选择所有适用选项", - "report.statuses.title": "是否有任何嘟文可以支持这一报告?", + "report.statuses.title": "有任何帖子可以支持此报告吗?", "report.submit": "提交", "report.target": "举报 {target}", "report.thanks.take_action": "以下是您控制您在 Mastodon 上能看到哪些内容的选项:", @@ -425,31 +424,31 @@ "report.thanks.title": "不想看到这个内容?", "report.thanks.title_actionable": "感谢提交举报,我们将会进行处理。", "report.unfollow": "取消关注 @{name}", - "report.unfollow_explanation": "你正在关注这个账户。如果要想在你的主页上不再看到他们的嘟文,请取消对他们的关注。", + "report.unfollow_explanation": "你正在关注此账户。如果要想在你的主页上不再看到他们的帖子,取消对他们的关注即可。", "search.placeholder": "搜索", "search_popout.search_format": "高级搜索格式", - "search_popout.tips.full_text": "输入关键词检索所有你发送、喜欢、转嘟过或提及到你的嘟文,以及其他用户公开的用户名、昵称和话题标签。", + "search_popout.tips.full_text": "输入关键词检索所有你发送、喜欢、转嘟过或提及到你的帖子,以及其他用户公开的用户名、昵称和话题标签。", "search_popout.tips.hashtag": "话题标签", - "search_popout.tips.status": "嘟文", + "search_popout.tips.status": "帖子", "search_popout.tips.text": "输入关键词检索昵称、用户名和话题标签", "search_popout.tips.user": "用户", "search_results.accounts": "用户", "search_results.all": "全部", "search_results.hashtags": "话题标签", "search_results.nothing_found": "无法找到符合这些搜索词的任何内容", - "search_results.statuses": "嘟文", - "search_results.statuses_fts_disabled": "此Mastodon服务器未启用嘟文内容搜索。", + "search_results.statuses": "帖子", + "search_results.statuses_fts_disabled": "此 Mastodon 服务器未启用帖子内容搜索。", "search_results.total": "共 {count, number} 个结果", "status.admin_account": "打开 @{name} 的管理界面", - "status.admin_status": "打开这条嘟文的管理界面", + "status.admin_status": "打开此帖的管理界面", "status.block": "屏蔽 @{name}", "status.bookmark": "添加到书签", - "status.cancel_reblog_private": "取消转嘟", - "status.cannot_reblog": "这条嘟文不允许被转嘟", - "status.copy": "复制嘟文链接", + "status.cancel_reblog_private": "取消转贴", + "status.cannot_reblog": "此贴不允许被转贴", + "status.copy": "复制帖子链接", "status.delete": "删除", - "status.detailed_status": "对话详情", - "status.direct": "发送私信给 @{name}", + "status.detailed_status": "详细的对话视图", + "status.direct": "私信 @{name}", "status.edit": "编辑", "status.edited": "编辑于 {date}", "status.edited_x_times": "共编辑 {count, plural, one {{count} 次} other {{count} 次}}", @@ -464,14 +463,14 @@ "status.more": "更多", "status.mute": "隐藏 @{name}", "status.mute_conversation": "将此对话静音", - "status.open": "展开嘟文", + "status.open": "展开此贴", "status.pin": "在个人资料页面置顶", - "status.pinned": "置顶嘟文", - "status.read_more": "阅读全文", - "status.reblog": "转嘟", - "status.reblog_private": "转嘟(可见者不变)", - "status.reblogged_by": "{name} 转嘟了", - "status.reblogs.empty": "没有人转嘟过此条嘟文。如果有人转嘟了,就会显示在这里。", + "status.pinned": "置顶帖子", + "status.read_more": "查看更多", + "status.reblog": "转贴", + "status.reblog_private": "转贴(可见者不变)", + "status.reblogged_by": "{name} 转贴了", + "status.reblogs.empty": "没有人转贴过此贴。如果有人转贴了将显示在此。", "status.redraft": "删除并重新编辑", "status.remove_bookmark": "移除书签", "status.reply": "回复", @@ -480,9 +479,9 @@ "status.sensitive_warning": "敏感内容", "status.share": "分享", "status.show_less": "隐藏内容", - "status.show_less_all": "隐藏所有内容", + "status.show_less_all": "隐藏全部内容", "status.show_more": "显示更多", - "status.show_more_all": "显示所有内容", + "status.show_more_all": "显示全部内容", "status.show_thread": "显示全部对话", "status.uncached_media_warning": "暂不可用", "status.unmute_conversation": "将此对话解除静音", @@ -491,7 +490,7 @@ "suggestions.header": "你可能会感兴趣…", "tabs_bar.federated_timeline": "跨站", "tabs_bar.home": "主页", - "tabs_bar.local_timeline": "本站", + "tabs_bar.local_timeline": "本地", "tabs_bar.notifications": "通知", "tabs_bar.search": "搜索", "time_remaining.days": "剩余 {number, plural, one {# 天} other {# 天}}", @@ -502,13 +501,13 @@ "timeline_hint.remote_resource_not_displayed": "不会显示来自其它服务器的 {resource}", "timeline_hint.resources.followers": "关注者", "timeline_hint.resources.follows": "关注", - "timeline_hint.resources.statuses": "更早的嘟文", + "timeline_hint.resources.statuses": "更早的帖子", "trends.counter_by_accounts": "{count, plural, one {{counter} 人} other {{counter} 人}}正在讨论", "trends.trending_now": "现在流行", "ui.beforeunload": "如果你现在离开 Mastodon,你的草稿内容将会丢失。", - "units.short.billion": "{count}B", - "units.short.million": "{count}M", - "units.short.thousand": "{count}K", + "units.short.billion": "{count} B", + "units.short.million": "{count} M", + "units.short.thousand": "{count} K", "upload_area.title": "将文件拖放到此处开始上传", "upload_button.label": "上传图片、视频或音频", "upload_error.limit": "文件大小超过限制。", @@ -524,13 +523,13 @@ "upload_modal.apply": "应用", "upload_modal.applying": "正在应用…", "upload_modal.choose_image": "选择图像", - "upload_modal.description_placeholder": "天地玄黄 宇宙洪荒 日月盈仄 辰宿列张", + "upload_modal.description_placeholder": "快狐跨懒狗", "upload_modal.detect_text": "从图片中检测文本", "upload_modal.edit_media": "编辑媒体", "upload_modal.hint": "在预览图上点击或拖动圆圈,以选择缩略图的焦点。", - "upload_modal.preparing_ocr": "正在准备文字识别……", + "upload_modal.preparing_ocr": "正在准备文字识别…", "upload_modal.preview_label": "预览 ({ratio})", - "upload_progress.label": "上传中……", + "upload_progress.label": "上传中…", "video.close": "关闭视频", "video.download": "下载文件", "video.exit_fullscreen": "退出全屏", diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index 462c05447..45e030833 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -70,7 +70,7 @@ "column.blocks": "封鎖名單", "column.bookmarks": "書籤", "column.community": "本站時間軸", - "column.direct": "個人訊息", + "column.conversations": "Conversations", "column.directory": "瀏覽個人資料", "column.domain_blocks": "封鎖的服務站", "column.favourites": "最愛的文章", @@ -92,8 +92,8 @@ "community.column_settings.local_only": "只顯示本站", "community.column_settings.media_only": "只顯示多媒體", "community.column_settings.remote_only": "只顯示外站", - "compose_form.direct_message_warning": "這文章只有被提及的使用者才可以看到。", "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.hashtag_warning": "這文章因為不是公開,所以不會被標籤搜索。只有公開的文章才會被標籤搜索。", "compose_form.lock_disclaimer": "你的用戶狀態沒有{locked},任何人都能立即關注你,然後看到「只有關注者能看」的文章。", "compose_form.lock_disclaimer.lock": "鎖定", @@ -166,7 +166,7 @@ "empty_column.blocks": "你還沒有封鎖任何使用者。", "empty_column.bookmarked_statuses": "你還沒建立任何書籤。這裡將會顯示你建立的書籤。", "empty_column.community": "本站時間軸暫時未有內容,快寫一點東西來搶頭香啊!", - "empty_column.direct": "你沒有個人訊息。當你發出或接收個人訊息,就會在這裡出現。", + "empty_column.conversations": "Once you send or receive a post that's only visible to people mentioned in it, it will show up here.", "empty_column.domain_blocks": "尚未隱藏任何網域。", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.favourited_statuses": "你還沒收藏任何文章。這裡將會顯示你收藏的嘟文。", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "轉推", "keyboard_shortcuts.column": "把標示移動到其中一列", "keyboard_shortcuts.compose": "把標示移動到文字輸入區", + "keyboard_shortcuts.conversations": "to open conversations column", "keyboard_shortcuts.description": "描述", - "keyboard_shortcuts.direct": "開啟私訊欄", "keyboard_shortcuts.down": "在列表往下移動", "keyboard_shortcuts.enter": "打開文章", "keyboard_shortcuts.favourite": "收藏文章", @@ -290,7 +290,6 @@ "navigation_bar.bookmarks": "書籤", "navigation_bar.community_timeline": "本站時間軸", "navigation_bar.compose": "撰寫新文章", - "navigation_bar.direct": "個人訊息", "navigation_bar.discover": "探索", "navigation_bar.domain_blocks": "封鎖的服務站", "navigation_bar.edit_profile": "修改個人資料", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "移除投票", "privacy.change": "調整私隱設定", "privacy.direct.long": "只有提及的使用者能看到", - "privacy.direct.short": "私人訊息", + "privacy.direct.short": "Direct", "privacy.private.long": "只有你的關注者能看到", - "privacy.private.short": "關注者", - "privacy.public.long": "在公共時間軸顯示", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Visible for all", "privacy.public.short": "公共", - "privacy.unlisted.long": "公開,但不在公共時間軸顯示", + "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "公開", "refresh": "重新整理", "regeneration_indicator.label": "載入中……", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index d08d49af5..811e998bb 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -11,9 +11,9 @@ "account.direct": "傳私訊給 @{name}", "account.disable_notifications": "取消來自 @{name} 嘟文的通知", "account.domain_blocked": "已封鎖網域", - "account.edit_profile": "編輯個人資料", + "account.edit_profile": "編輯個人檔案", "account.enable_notifications": "當 @{name} 嘟文時通知我", - "account.endorse": "在個人資料推薦對方", + "account.endorse": "在個人檔案推薦對方", "account.follow": "跟隨", "account.followers": "跟隨者", "account.followers.empty": "尚未有人跟隨這位使用者。", @@ -36,13 +36,13 @@ "account.posts_with_replies": "嘟文與回覆", "account.report": "檢舉 @{name}", "account.requested": "正在等待核准。按一下以取消跟隨請求", - "account.share": "分享 @{name} 的個人資料", + "account.share": "分享 @{name} 的個人檔案", "account.show_reblogs": "顯示來自 @{name} 的嘟文", "account.statuses_counter": "{count, plural,one {{counter} 則}other {{counter} 則}}嘟文", "account.unblock": "取消封鎖 @{name}", "account.unblock_domain": "取消封鎖域名 {domain}", "account.unblock_short": "解除封鎖", - "account.unendorse": "不再於個人資料頁面推薦對方", + "account.unendorse": "不再於個人檔案頁面推薦對方", "account.unfollow": "取消跟隨", "account.unmute": "取消靜音 @{name}", "account.unmute_notifications": "重新接收來自 @{name} 的通知", @@ -69,9 +69,9 @@ "bundle_modal_error.retry": "重試", "column.blocks": "已封鎖的使用者", "column.bookmarks": "書籤", - "column.community": "本機時間軸", - "column.direct": "私訊", - "column.directory": "瀏覽個人資料", + "column.community": "本站時間軸", + "column.conversations": "對話", + "column.directory": "瀏覽個人檔案", "column.domain_blocks": "已封鎖的網域", "column.favourites": "最愛", "column.follow_requests": "跟隨請求", @@ -89,11 +89,11 @@ "column_header.show_settings": "顯示設定", "column_header.unpin": "取消釘選", "column_subheading.settings": "設定", - "community.column_settings.local_only": "只有本機", + "community.column_settings.local_only": "只有本站", "community.column_settings.media_only": "只有媒體", "community.column_settings.remote_only": "只有遠端", - "compose_form.direct_message_warning": "這條嘟文只有被提及的使用者才看得到。", "compose_form.direct_message_warning_learn_more": "了解更多", + "compose_form.encryption_warning": "Mastodon 上的嘟文並未端到端加密。請不要透過 Mastodon 分享任何敏感資訊。", "compose_form.hashtag_warning": "由於這則嘟文設定為「不公開」,它將不會被列於任何主題標籤下。只有公開的嘟文才能藉由主題標籤找到。", "compose_form.lock_disclaimer": "您的帳戶尚未 {locked}。任何人都能關注您並看到您設定成只有跟隨者能看的嘟文。", "compose_form.lock_disclaimer.lock": "上鎖", @@ -162,11 +162,11 @@ "emoji_button.travel": "旅遊與地點", "empty_column.account_suspended": "帳戶被暫停", "empty_column.account_timeline": "這裡還沒有嘟文!", - "empty_column.account_unavailable": "無法取得個人資料", + "empty_column.account_unavailable": "無法取得個人檔案", "empty_column.blocks": "您還沒有封鎖任何使用者。", "empty_column.bookmarked_statuses": "您還沒建立任何書籤。當您建立書簽時,它將於此顯示。", - "empty_column.community": "本機時間軸是空的。快公開嘟些文搶頭香啊!", - "empty_column.direct": "您還沒有任何私訊。當您私訊別人或收到私訊時,它將於此顯示。", + "empty_column.community": "本站時間軸是空的。快公開嘟些文搶頭香啊!", + "empty_column.conversations": "一旦您傳送或收到僅對其中提到之人可見的嘟文,就會在這邊顯示。", "empty_column.domain_blocks": "尚未封鎖任何網域。", "empty_column.explore_statuses": "目前沒有熱門討論,請稍候再回來看看!", "empty_column.favourited_statuses": "您還沒加過任何嘟文至最愛。當您收藏嘟文時,它將於此顯示。", @@ -201,7 +201,7 @@ "follow_requests.unlocked_explanation": "即便您的帳戶未被鎖定,{domain} 的管理員認為您可能想要自己審核這些帳戶的跟隨請求。", "generic.saved": "已儲存", "getting_started.developers": "開發者", - "getting_started.directory": "個人資料目錄", + "getting_started.directory": "個人檔案目錄", "getting_started.documentation": "文件", "getting_started.heading": "開始使用", "getting_started.invite": "邀請使用者", @@ -230,8 +230,8 @@ "keyboard_shortcuts.boost": "轉嘟", "keyboard_shortcuts.column": "將焦點放在其中一欄的嘟文", "keyboard_shortcuts.compose": "將焦點移至撰寫文字區塊", + "keyboard_shortcuts.conversations": "開啟對話欄", "keyboard_shortcuts.description": "說明", - "keyboard_shortcuts.direct": "開啟私訊欄", "keyboard_shortcuts.down": "在列表中往下移動", "keyboard_shortcuts.enter": "檢視嘟文", "keyboard_shortcuts.favourite": "加到最愛", @@ -241,14 +241,14 @@ "keyboard_shortcuts.home": "開啟首頁時間軸", "keyboard_shortcuts.hotkey": "快速鍵", "keyboard_shortcuts.legend": "顯示此圖例", - "keyboard_shortcuts.local": "開啟本機時間軸", + "keyboard_shortcuts.local": "開啟本站時間軸", "keyboard_shortcuts.mention": "提及作者", "keyboard_shortcuts.muted": "開啟靜音使用者列表", - "keyboard_shortcuts.my_profile": "開啟個人資料頁面", + "keyboard_shortcuts.my_profile": "開啟個人檔案頁面", "keyboard_shortcuts.notifications": "開啟通知欄", "keyboard_shortcuts.open_media": "開啟媒體", "keyboard_shortcuts.pinned": "開啟釘選的嘟文列表", - "keyboard_shortcuts.profile": "開啟作者的個人資料頁面", + "keyboard_shortcuts.profile": "開啟作者的個人檔案頁面", "keyboard_shortcuts.reply": "回應嘟文", "keyboard_shortcuts.requests": "開啟跟隨請求列表", "keyboard_shortcuts.search": "將焦點移至搜尋框", @@ -288,12 +288,11 @@ "navigation_bar.apps": "行動應用程式", "navigation_bar.blocks": "封鎖使用者", "navigation_bar.bookmarks": "書籤", - "navigation_bar.community_timeline": "本機時間軸", + "navigation_bar.community_timeline": "本站時間軸", "navigation_bar.compose": "撰寫新嘟文", - "navigation_bar.direct": "私訊", "navigation_bar.discover": "探索", "navigation_bar.domain_blocks": "隱藏的網域", - "navigation_bar.edit_profile": "編輯個人資料", + "navigation_bar.edit_profile": "編輯個人檔案", "navigation_bar.explore": "探索", "navigation_bar.favourites": "最愛", "navigation_bar.filters": "靜音詞彙", @@ -367,12 +366,12 @@ "poll_button.remove_poll": "移除投票", "privacy.change": "調整嘟文隱私狀態", "privacy.direct.long": "只有被提及的使用者能看到", - "privacy.direct.short": "私訊", + "privacy.direct.short": "僅限於我提及的人", "privacy.private.long": "只有跟隨您的使用者能看到", - "privacy.private.short": "僅跟隨者", - "privacy.public.long": "公開,且顯示於公開時間軸", + "privacy.private.short": "僅限跟隨者", + "privacy.public.long": "對所有人可見", "privacy.public.short": "公開", - "privacy.unlisted.long": "公開,但不會顯示於公開時間軸", + "privacy.unlisted.long": "對所有人可見,但選擇退出探索功能", "privacy.unlisted.short": "不公開", "refresh": "重新整理", "regeneration_indicator.label": "載入中…", @@ -390,7 +389,7 @@ "relative_time.today": "今天", "reply_indicator.cancel": "取消", "report.block": "封鎖", - "report.block_explanation": "您將不再看到他們的嘟文。他們將無法看到您的嘟文或是跟隨您。他們會被告知他們已被封鎖。", + "report.block_explanation": "您將不再看到他們的嘟文。他們將無法看到您的嘟文或是跟隨您。他們會發現他們已被封鎖。", "report.categories.other": "其他", "report.categories.spam": "垃圾訊息", "report.categories.violation": "內容違反一項或多項伺服器條款", @@ -465,7 +464,7 @@ "status.mute": "靜音 @{name}", "status.mute_conversation": "靜音對話", "status.open": "展開此嘟文", - "status.pin": "釘選到個人資料頁", + "status.pin": "釘選到個人檔案頁面", "status.pinned": "釘選的嘟文", "status.read_more": "閱讀更多", "status.reblog": "轉嘟", @@ -486,12 +485,12 @@ "status.show_thread": "顯示討論串", "status.uncached_media_warning": "無法使用", "status.unmute_conversation": "解除此對話的靜音", - "status.unpin": "從個人頁面解除釘選", + "status.unpin": "從個人檔案頁面解除釘選", "suggestions.dismiss": "關閉建議", "suggestions.header": "您可能對這些東西有興趣…", "tabs_bar.federated_timeline": "聯邦宇宙", "tabs_bar.home": "首頁", - "tabs_bar.local_timeline": "本機", + "tabs_bar.local_timeline": "本站", "tabs_bar.notifications": "通知", "tabs_bar.search": "搜尋", "time_remaining.days": "剩餘 {number, plural, one {# 天} other {# 天}}", @@ -504,7 +503,7 @@ "timeline_hint.resources.follows": "正在跟隨", "timeline_hint.resources.statuses": "更早的嘟文", "trends.counter_by_accounts": "{count, plural,one {{counter} 人}other {{counter} 人}}正在討論", - "trends.trending_now": "目前趨勢", + "trends.trending_now": "現正熱門", "ui.beforeunload": "如果離開 Mastodon,您的草稿將會不見。", "units.short.billion": "{count}B", "units.short.million": "{count}M", diff --git a/config/locales/ar.yml b/config/locales/ar.yml index e5cd29da7..aba42bb43 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -1136,6 +1136,9 @@ ar: carry_mutes_over_text: انتقل هذا المستخدم من %{acct}، الذي كتَمتَه أنت. copy_account_note_text: 'انتقل هذا المستخدم من %{acct}، إليك ملاحظاتك السابقة عنه:' notification_mailer: + admin: + sign_up: + subject: أنشأ %{name} حسابًا digest: action: معاينة كافة الإشعارات body: هذا هو مُلَخَّص الرسائل التي فاتتك وذلك منذ آخر زيارة لك في %{since} diff --git a/config/locales/da.yml b/config/locales/da.yml index 037530459..86f926574 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -853,6 +853,7 @@ da: actions: delete_statuses: for sletning af vedkommendes indlæg disable: for frysning af vedkommendes konto + mark_statuses_as_sensitive: for at markere deres indlæg som følsomme none: en advarsel sensitive: for markering af vedkommendes konto som sensitiv silence: for begrænsning af vedkommendes konto @@ -1041,7 +1042,9 @@ da: title_actions: delete_statuses: Indlægsfjernelse disable: Kontofrysning + mark_statuses_as_sensitive: Markering af indlæg som følsomme none: Advarsel + sensitive: Markering af konto som følsom silence: Kontobegrænsning suspend: Kontosuspendering your_appeal_approved: Din appel er godkendt @@ -1551,6 +1554,7 @@ da: suspicious_sign_in: change_password: skift din adgangskode explanation: Indlogning på din konto fra en ny IP-adresse detekteret. + further_actions_html: Hvis dette ikke var dig, anbefaler vi, at du %{action} med det samme og aktiverer to-faktor godkendelse for at holde din konto sikker. subject: Din konto er blevet tilgået fra en ny IP-adresse title: Ny indlogning warning: diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index ef2c9b43d..32c2f702c 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -517,6 +517,7 @@ es-MX: delivery: all: Todos clear: Limpiar errores de entrega + failing: Fallando restart: Reiniciar entrega stop: Detener entrega unavailable: No disponible diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 8eb40265a..7b8d3a581 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -4,7 +4,7 @@ fr: about_hashtag_html: Voici des messages publics tagués avec #%{hashtag}. Vous pouvez interagir avec si vous avez un compte n’importe où dans le fédiverse. about_mastodon_html: 'Le réseau social de l''avenir : pas de publicité, pas de surveillance institutionnelle, conception éthique et décentralisation ! Gardez le contrôle de vos données avec Mastodon !' about_this: À propos - active_count_after: actifs + active_count_after: actif·ve·s active_footnote: Nombre mensuel d'utilisateur·rice·s actif·ve·s (NMUA) administered_by: 'Administré par :' api: API @@ -54,7 +54,7 @@ fr: user_count_after: one: utilisateur other: utilisateur·rice·s - user_count_before: Accueil de + user_count_before: Abrite what_is_mastodon: Qu’est-ce que Mastodon ? accounts: choices_html: "%{name} recommande :" @@ -91,14 +91,14 @@ fr: unfollow: Ne plus suivre admin: account_actions: - action: Effectuer une action + action: Effectuer l'action title: Effectuer une action de modération sur %{acct} account_moderation_notes: create: Laisser une remarque created_msg: Note de modération créée avec succès ! destroyed_msg: Note de modération supprimée avec succès ! accounts: - add_email_domain_block: Mettre le domaine du courriel sur liste noire + add_email_domain_block: Bloquer ce domaine de courriel approve: Approuver approved_msg: La demande d’inscription de %{username} a été approuvée avec succès are_you_sure: Voulez-vous vraiment faire ça ? diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 8f28434ff..c85f89b40 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -868,7 +868,7 @@ gl: new_report: body: "%{reporter} informou sobre %{target}" body_remote: Alguén desde %{domain} informou sobre %{target} - subject: Novo informe sobre %{instance} (#%{id}) + subject: Nova denuncia sobre %{instance} (#%{id}) new_trends: body: 'Os seguintes elementos precisan revisión antes de ser mostrados públicamente:' new_trending_links: diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 4a1e9f7d3..87d6d33e9 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -776,7 +776,7 @@ ja: disallow: リンクの拒否 disallow_provider: 発行者の拒否 shared_by_over_week: - other: 先週%{count}人に共有されました + other: 週間%{count}人に共有されました title: トレンドリンク usage_comparison: 今日は %{today} 回、昨日は %{yesterday} 回共有されました pending_review: 保留中 @@ -812,7 +812,7 @@ ja: usable: 使用を許可 usage_comparison: 今日は %{today} 回、昨日は %{yesterday} 回使用されました。 used_by_over_week: - other: 先週%{count}人に使用されました + other: 週間%{count}人に使用されました title: トレンド warning_presets: add_new: 追加 diff --git a/config/locales/simple_form.ckb.yml b/config/locales/simple_form.ckb.yml index 82187aae5..08634c559 100644 --- a/config/locales/simple_form.ckb.yml +++ b/config/locales/simple_form.ckb.yml @@ -3,17 +3,19 @@ ckb: simple_form: hints: account_alias: - acct: دیاریکردنی username@domain ئەو هەژمارە کە دەتەوێت بیگوازیەوە لە + acct: username@domainـی ئەو هەژمارە دیاری بکە کە لێیەوە دێیت account_migration: - acct: دیاریکردنی username@domain ئەو هەژمارە کە دەتەوێت بیگوازیەوە لە + acct: username@domainـی ئەو هەژمارە دیاری بکە کە بۆی بچیت account_warning_preset: - text: دەتوانی ڕستەسازی ی توت بەکاربێنیت، وەک لینک، هاشتاگ و باسەکان + text: دەتوانیت لە پۆستەکانتدا بەستەر و هاشتاگ دابنێیت یان ئاماژە بەکارهێنەرانی دیکە بکەیت title: ئارەزوومەندانە. دیار نیە بۆ وەرگر admin_account_action: - include_statuses: بەکارهێنەرەکە دەبینێت کام توتی هۆکاری کرداری بەڕێوەبەر یان ئاگادارکردنەوە - send_email_notification: بەکارهێنەر ڕوننکردەوەیەک دەبینێت کە تێدا دەزانێت چی بە سەر هەژمارەکەی هاتووە + include_statuses: بەکارهێنەرەکە دەزانێت کام پۆستانە بوونەتە هۆی ئاگادارکردنەوە یان گرتنەبەری ڕێکار + send_email_notification: بەکارهێنەرەکە دەزانێت چی لە هەژمارەکەی هاتووە text_html: ئارزوومەندانە. دەتوانن وەک توتی ئاسایی بینووسن. دەتوانن بۆ کەمکردنەوەی کات ئاگادارییەکان لە پێشەوە زیادبکەن - type_html: گەرکتە لەگەڵ هەژمارەی %{acct} چی بکەیت + type_html: بڕیار بدە چی لە %{acct} دەکەیت + types: + disable: ڕێ لە بەکارهێنەرەکە بگرە هەژمارەکەی بەکار بهێنێت، بەڵام ناوەڕۆکەکانیان مەسڕەوە و مەشارەوە. warning_preset_id: ئارەزوومەندانەیە. هێشتا دەتوانیت لە کۆتایی دەق شتێک زیاد بکەی announcement: all_day: کاتێک چاودێریکرا، تەنها بەروارەکانی مەودای کات پیشان دەدرێت @@ -36,15 +38,15 @@ ckb: irreversible: توتە فلتەرکراوەکە بە شێوەیەکی نەگەڕاو فرەدەدرێن، تەنانەت ئەگەر فلتەردواتر لاببرێت locale: زمانی ڕووکاری بەکارهێنەر، ئیمەیلەکان و ئاگانامەکان locked: بە دەستی شوێنکەوتوانی خۆت پەسەند بکە - password: بەلایەنی کەمەوە ٨ نووسە بەکاربهێنە + password: لایەنی کەم 8 نووسە بەکار بهێنە phrase: سەربەخۆ لە بچکۆلی و گەورەیی پیتەکان، لەگەڵ دەقی ئەسڵی یان ئاگانامەکانی ناوەرۆکی توتەکان هاوئاهەنگ دەکرێت scopes: APIـیەکانی بەرنامەنووسی کە ئەم ماڵپەڕە دەستپێگەیشتنی لەگەڵیان هیە. ئەگەر بەرزترین ئاست هەڵبژێرن ئیتر نیاز بە بژاردەی ئاستی نزم نییە. setting_aggregate_reblogs: بۆ ئەو دووبارە توتانە کە بە نوێیی پێتان نیشان دراوە،دووبارە توتەکانی پێشتر زیاد مەکە(تەنها کاریگەری لەسەر توتەکانی ئەم دواییە هەیە) setting_default_sensitive: میدیای هەستیار لە بنەڕەت شاراوەیە و دەتوانرێت بە کلیکیک ئاشکرا بکرێت - setting_display_media_default: شاردنەوەی ئەو میدیایانەی وەک هەستیار نیشانکراون + setting_display_media_default: ئەو میدیایانە بشارەوە کە هەستیارن setting_display_media_hide_all: هەمیشە میدیا بشارەوە setting_display_media_show_all: هەمیشە میدیا نیشان بدە - setting_hide_network: کێ دوای دەکەویت و کێ دوای تۆ دەکەوێت لە پرۆفایلەکەت پیشان نادرێت + setting_hide_network: شوێنکەوتوو و شوێنکەوتنەکانت لە پرۆفایلەکەت نیشان نادرێن setting_noindex: کاردەکاتە سەر پرۆفایل و لاپەڕە گشتیەکانت setting_show_application: بەرنامەیەک کە بە یارمەتیت توت دەکەیت، لە دیمەنی وردی توتەکان پیشان دەدرێت setting_use_blurhash: سێبەرەکان لە سەر بنەمای ڕەنگەکانی بەکارهاتوو لە وێنە داشاراوەکان دروست دەبن بەڵام وردەزانیاری وێنە تێیدا ڕوون نییە @@ -89,7 +91,7 @@ ckb: acct: چارەسەرکردنی هەژمارە نوێکە account_warning_preset: text: دەقی پێشوەختی ڕێکخستن - title: سەردێڕ + title: ناونیشان admin_account_action: include_statuses: لەخۆگرتنی توتەکانی گوزارشت لە ئیمەیل send_email_notification: بەکارهێنەر ئاگادار بکەوە بۆ هەر ئیمەیڵێک diff --git a/config/locales/simple_form.sq.yml b/config/locales/simple_form.sq.yml index dbb8c80f7..1136169b7 100644 --- a/config/locales/simple_form.sq.yml +++ b/config/locales/simple_form.sq.yml @@ -49,6 +49,7 @@ sq: phrase: Do të kërkohet përputhje pavarësish se teksti ose sinjalizimi mbi lëndën e një mesazhi është shkruar me të mëdha apo me të vogla scopes: Cilat API do të lejohen të përdorin aplikacioni. Nëse përzgjidhni një shkallë të epërme, nuk ju duhet të përzgjidhni individualet një nga një. setting_aggregate_reblogs: Mos shfaq përforcime të reja për mesazhe që janë përforcuar tani së fundi (prek vetëm përforcime të marra rishtas) + setting_always_send_emails: Normalisht s’do të dërgohen njoftime, kur përdorni aktivisht Mastodon-in setting_default_sensitive: Media rezervat fshihet, si parazgjedhje, dhe mund të shfaqet me një klikim setting_display_media_default: Fshih media me shenjën rezervat setting_display_media_hide_all: Fshih përherë mediat @@ -151,6 +152,7 @@ sq: phrase: Fjalëkyç ose frazë setting_advanced_layout: Aktivizo ndërfaqe web të thelluar setting_aggregate_reblogs: Grupoji përforcimet në rrjedha kohore + setting_always_send_emails: Dërgo përherë njoftime me email setting_auto_play_gif: Vetëluaji GIF-et e animuar setting_boost_modal: Shfaq dialog ripohimi përpara përforcimi setting_crop_images: Në mesazhe jo të zgjerueshëm, qethi figurat në 16x9 diff --git a/config/locales/sq.yml b/config/locales/sq.yml index 8e3bf730f..b21767738 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -48,7 +48,7 @@ sq: rejecting_media_title: Media e filtruar silenced: 'Postimet prej këtyre shërbyesve do të jenë të fshehura në rrjedha kohore dhe biseda publike, dhe prej ndërveprimeve të përdoruesve të tyre s’do të prodhohen njoftime, veç në i ndjekshi:' silenced_title: Shërbyes të heshtuar - suspended: 'S’do të përpunohen, depozitohen apo shkëmbehen të dhëna prej këtyre shërbyesve, duke e bërë të pamundur çfarëdo ndërveprimi apo komunikimi me përdorues prej këtyre shërbyesve:' + suspended: 'Prej këtyre shërbyesve s’do të përpunohen, depozitohen apo shkëmbehen të dhëna, duke e bërë të pamundur çfarëdo ndërveprimi apo komunikimi me përdorues prej këtyre shërbyesve:' suspended_title: Shërbyes të pezulluar unavailable_content_html: Mastodon-i përgjithësisht ju lejon të shihni lëndë nga përdorues dhe të ndërveproni me të tillë prej cilitdo shërbyes në fedivers. Këto janë përjashtimet që janë bërë në këtë shërbyes. user_count_after: diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 1db82f0f6..6984b8fba 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -160,6 +160,9 @@ sv: pending: Inväntar granskning perform_full_suspension: Utför full avstängning previous_strikes: Tidigare varningar + previous_strikes_description_html: + one: Detta konto har en varning. + other: Detta konto har %{count} varningar. promote: Befordra protocol: Protokoll public: Offentlig @@ -263,6 +266,8 @@ sv: create_announcement_html: "%{name} skapade tillkännagivande %{target}" create_custom_emoji_html: "%{name} laddade upp ny emoji %{target}" create_domain_block_html: "%{name} blockerade domänen %{target}" + create_email_domain_block_html: "%{name} svartlistade e-postdomän %{target}" + create_ip_block_html: "%{name} skapade regel för IP %{target}" destroy_custom_emoji_html: "%{name} förstörde emoji %{target}" destroy_domain_block_html: "%{name} avblockerade domänen %{target}" destroy_email_domain_block_html: "%{name} avblockerade e-postdomän %{target}" @@ -325,6 +330,7 @@ sv: enable: Aktivera enabled: Aktiverad enabled_msg: Aktiverade den emoji utan problem + image_hint: PNG eller GIF upp till %{size} list: Lista listed: Noterade new: diff --git a/config/locales/th.yml b/config/locales/th.yml index c3601aa2a..5fb25d2db 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -68,7 +68,7 @@ th: people_followed_by: ผู้คนที่ %{name} ติดตาม people_who_follow: ผู้คนที่ติดตาม %{name} pin_errors: - following: คุณต้องกำลังติดตามคนที่คุณต้องการแนะนำอยู่แล้ว + following: คุณต้องกำลังติดตามบุคคลที่คุณต้องการแนะนำอยู่แล้ว posts: other: โพสต์ posts_tab_heading: โพสต์ @@ -553,6 +553,7 @@ th: action_log: รายการบันทึกการตรวจสอบ action_taken_by: ใช้การกระทำโดย actions: + other_description_html: ดูตัวเลือกเพิ่มเติมสำหรับการควบคุมพฤติกรรมของบัญชีและปรับแต่งการสื่อสารไปยังบัญชีที่รายงาน resolve_description_html: จะไม่ใช้การกระทำกับบัญชีที่รายงาน ไม่มีการบันทึกการดำเนินการ และจะปิดรายงาน actions_description_html: ตัดสินใจว่าการกระทำใดที่จะใช้เพื่อแก้ปัญหารายงานนี้ หากคุณใช้การกระทำที่เป็นการลงโทษกับบัญชีที่รายงาน จะส่งการแจ้งเตือนอีเมลถึงเขา ยกเว้นเมื่อมีการเลือกหมวดหมู่ สแปม are_you_sure: คุณแน่ใจหรือไม่? diff --git a/config/locales/uk.yml b/config/locales/uk.yml index bb4d3fd0d..cb2b7c720 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -392,6 +392,21 @@ uk: media_storage: Медіасховище new_users: нові користувачі opened_reports: звітів відкрито + pending_reports_html: + few: "%{count} звіти у черзі" + many: "%{count} звітів у черзі" + one: "%{count} звіт у черзі" + other: "%{count} звіти у черзі" + pending_tags_html: + few: "%{count} хештеґи у черзі" + many: "%{count} хештеґів у черзі" + one: "%{count} хештеґ у черзі" + other: "%{count} хештеґа у черзі" + pending_users_html: + few: "%{count} користувачі у черзі" + many: "%{count} користувачів у черзі" + one: "%{count} користувач у черзі" + other: "%{count} користувача у черзі" resolved_reports: розв'язані звіти software: Програмне забезпечення sources: Джерела реєстрації @@ -439,6 +454,11 @@ uk: view: Переглянути заблоковані домени email_domain_blocks: add_new: Додати + attempts_over_week: + few: "%{count} спроби входу за останній тиждень" + many: "%{count} спроб входу за останній тиждень" + one: "%{count} спроба за останній тиждень" + other: "%{count} спроби входу за останній тиждень" created_msg: Успішно додано поштовий домен до чорного списку delete: Видалити dns: @@ -1514,6 +1534,11 @@ uk: subject: Ваш архів готовий до завантаження title: Винесення архіву suspicious_sign_in: + change_password: змінити свій пароль + details: 'Відомості про вхід:' + explanation: Ми виявили вхід до вашого облікового запису з нової IP-адреси. + further_actions_html: Якщо це були не ви. Радимо вам негайно %{action} й увімкнути двоетапну перевірку, щоб уберегти свій обліковий запис. + subject: До вашого облікового запису отримано доступ з нової IP-адреси title: Новий вхід warning: appeal: Подати апеляцію diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 047d34b5f..51b9b3892 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -21,7 +21,7 @@ zh-CN: documentation: 文档 federation_hint_html: 在 %{instance} 上拥有账号后,你可以关注任何兼容Mastodon的服务器上的人。 get_apps: 尝试移动应用 - hosted_on: 运行在 %{domain} 上的 Mastodon 实例 + hosted_on: 运行在 %{domain} 上的 Mastodon 站点 instance_actor_flash: '这个账号是个虚拟账号,不代表任何用户,只用来代表服务器本身。它用于和其它服务器互通,所以不应该被封禁,除非你想封禁整个实例。但是想封禁整个实例的时候,你应该用域名封禁。 ' @@ -81,7 +81,7 @@ zh-CN: roles: admin: 管理员 bot: 机器人 - group: 组 + group: 群组 moderator: 监察员 unavailable: 个人资料不可用 unfollow: 取消关注 From 6da648227ef59e5c77dc9d2c89a39eb5496a153e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 1 May 2022 00:37:46 +0200 Subject: [PATCH 271/276] Fix error caused by missing subject in Webfinger response (#18204) --- app/lib/webfinger.rb | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/app/lib/webfinger.rb b/app/lib/webfinger.rb index 1ffb5b4bf..a681e0815 100644 --- a/app/lib/webfinger.rb +++ b/app/lib/webfinger.rb @@ -6,8 +6,13 @@ class Webfinger class RedirectError < StandardError; end class Response - def initialize(body) + attr_reader :uri + + def initialize(uri, body) + @uri = uri @json = Oj.load(body, mode: :strict) + + validate_response! end def subject @@ -23,6 +28,10 @@ class Webfinger def links @links ||= @json['links'].index_by { |link| link['rel'] } end + + def validate_response! + raise Webfinger::Error, "Missing subject in response for #{@uri}" if subject.blank? + end end def initialize(uri) @@ -34,7 +43,7 @@ class Webfinger end def perform - Response.new(body_from_webfinger) + Response.new(@uri, body_from_webfinger) rescue Oj::ParseError raise Webfinger::Error, "Invalid JSON in response for #{@uri}" rescue Addressable::URI::InvalidURIError From 5a48bf1085f9fd4f10ea3706bacfe3b18fcc725c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 1 May 2022 00:51:32 +0200 Subject: [PATCH 272/276] Fix error when trying to revoke OAuth token without supplying a token (#18205) --- app/controllers/oauth/tokens_controller.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/oauth/tokens_controller.rb b/app/controllers/oauth/tokens_controller.rb index fa6d58f25..34087b20b 100644 --- a/app/controllers/oauth/tokens_controller.rb +++ b/app/controllers/oauth/tokens_controller.rb @@ -2,7 +2,8 @@ class Oauth::TokensController < Doorkeeper::TokensController def revoke - unsubscribe_for_token if authorized? && token.accessible? + unsubscribe_for_token if token.present? && authorized? && token.accessible? + super end From 6e4d932da53ba236699285ce2bdfcfa07b259fa2 Mon Sep 17 00:00:00 2001 From: Claire Date: Sun, 1 May 2022 00:55:26 +0200 Subject: [PATCH 273/276] Fix possible crash when a post references an invalid media attachment (#18211) --- app/models/status.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/status.rb b/app/models/status.rb index 288d374fd..a4e685ce3 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -254,7 +254,7 @@ class Status < ApplicationRecord media_attachments else map = media_attachments.index_by(&:id) - ordered_media_attachment_ids.map { |media_attachment_id| map[media_attachment_id] } + ordered_media_attachment_ids.filter_map { |media_attachment_id| map[media_attachment_id] } end end From 33f3818d660c67194f94c7ff2bb180f4865e6748 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 1 May 2022 00:56:34 +0200 Subject: [PATCH 274/276] Fix double render error when authorizing interaction (#18203) --- app/controllers/authorize_interactions_controller.rb | 8 +++++--- app/controllers/following_accounts_controller.rb | 5 ++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/controllers/authorize_interactions_controller.rb b/app/controllers/authorize_interactions_controller.rb index 29c0288d0..02a6b6d06 100644 --- a/app/controllers/authorize_interactions_controller.rb +++ b/app/controllers/authorize_interactions_controller.rb @@ -13,7 +13,7 @@ class AuthorizeInteractionsController < ApplicationController if @resource.is_a?(Account) render :show elsif @resource.is_a?(Status) - redirect_to web_url("statuses/#{@resource.id}") + redirect_to web_url("@#{@resource.account.pretty_acct}/#{@resource.id}") else render :error end @@ -25,15 +25,17 @@ class AuthorizeInteractionsController < ApplicationController else render :error end - rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError + rescue ActiveRecord::RecordNotFound render :error end private def set_resource - @resource = located_resource || render(:error) + @resource = located_resource authorize(@resource, :show?) if @resource.is_a?(Status) + rescue Mastodon::NotPermittedError + not_found end def located_resource diff --git a/app/controllers/following_accounts_controller.rb b/app/controllers/following_accounts_controller.rb index 9d7f4c9bf..69f0321f8 100644 --- a/app/controllers/following_accounts_controller.rb +++ b/app/controllers/following_accounts_controller.rb @@ -21,7 +21,10 @@ class FollowingAccountsController < ApplicationController end format.json do - raise Mastodon::NotPermittedError if page_requested? && @account.hide_collections? + if page_requested? && @account.hide_collections? + forbidden + next + end expires_in(page_requested? ? 0 : 3.minutes, public: public_fetch_mode?) From 9a3be0ad688ea80fffee78635395141ad2419e8a Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 2 May 2022 01:00:08 +0200 Subject: [PATCH 275/276] Fix error when looking handle with surrounding spaces (#18225) --- app/controllers/api/v1/accounts/lookup_controller.rb | 2 ++ app/services/resolve_account_service.rb | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/controllers/api/v1/accounts/lookup_controller.rb b/app/controllers/api/v1/accounts/lookup_controller.rb index aee6be18a..8597f891d 100644 --- a/app/controllers/api/v1/accounts/lookup_controller.rb +++ b/app/controllers/api/v1/accounts/lookup_controller.rb @@ -12,5 +12,7 @@ class Api::V1::Accounts::LookupController < Api::BaseController def set_account @account = ResolveAccountService.new.call(params[:acct], skip_webfinger: true) || raise(ActiveRecord::RecordNotFound) + rescue Addressable::URI::InvalidURIError + raise(ActiveRecord::RecordNotFound) end end diff --git a/app/services/resolve_account_service.rb b/app/services/resolve_account_service.rb index 21332a03e..387e2e09b 100644 --- a/app/services/resolve_account_service.rb +++ b/app/services/resolve_account_service.rb @@ -66,7 +66,7 @@ class ResolveAccountService < BaseService @username = @account.username @domain = @account.domain else - @username, @domain = uri.split('@') + @username, @domain = uri.strip.gsub(/\A@/, '').split('@') end @domain = begin From fe6a5b0d5ab5932e3aa0cbe51dcd94813ffa490c Mon Sep 17 00:00:00 2001 From: Yamagishi Kazutoshi Date: Mon, 2 May 2022 10:39:45 +0900 Subject: [PATCH 276/276] Add translatable string for #17431 (#18227) * Add translatable string for #17431 * Update config/locales/en.yml Co-authored-by: Eugen Rochko Co-authored-by: Eugen Rochko --- config/locales/en.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/locales/en.yml b/config/locales/en.yml index a4310ad60..a90409a7c 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -802,6 +802,7 @@ en: other: Shared by %{count} people over the last week title: Trending links usage_comparison: Shared %{today} times today, compared to %{yesterday} yesterday + only_allowed: Only allowed pending_review: Pending review preview_card_providers: allowed: Links from this publisher can trend @@ -843,6 +844,7 @@ en: one: Used by one person over the last week other: Used by %{count} people over the last week title: Trends + trending: Trending warning_presets: add_new: Add new delete: Delete