);
}
diff --git a/app/javascript/mastodon/components/column_back_button.js b/app/javascript/mastodon/components/column_back_button.js
index cc0e5c07c..d97622705 100644
--- a/app/javascript/mastodon/components/column_back_button.js
+++ b/app/javascript/mastodon/components/column_back_button.js
@@ -35,7 +35,19 @@ export default class ColumnBackButton extends React.PureComponent {
if (multiColumn) {
return component;
} else {
- return createPortal(component, document.getElementById('tabs-bar__portal'));
+ // The portal container and the component may be rendered to the DOM in
+ // the same React render pass, so the container might not be available at
+ // the time `render()` is called.
+ const container = document.getElementById('tabs-bar__portal');
+ if (container === null) {
+ // The container wasn't available, force a re-render so that the
+ // component can eventually be inserted in the container and not scroll
+ // with the rest of the area.
+ this.forceUpdate();
+ return component;
+ } else {
+ return createPortal(component, container);
+ }
}
}
diff --git a/app/javascript/mastodon/components/column_header.js b/app/javascript/mastodon/components/column_header.js
index 89c5fe723..0038995c8 100644
--- a/app/javascript/mastodon/components/column_header.js
+++ b/app/javascript/mastodon/components/column_header.js
@@ -120,7 +120,7 @@ class ColumnHeader extends React.PureComponent {
);
- } else if (multiColumn) {
+ } else if (multiColumn && this.props.onPin) {
pinButton = ;
}
@@ -142,7 +142,7 @@ class ColumnHeader extends React.PureComponent {
collapsedContent.push(pinButton);
}
- if (children || multiColumn) {
+ if (children || (multiColumn && this.props.onPin)) {
collapseButton = ;
}
@@ -178,7 +178,19 @@ class ColumnHeader extends React.PureComponent {
if (multiColumn || placeholder) {
return component;
} else {
- return createPortal(component, document.getElementById('tabs-bar__portal'));
+ // The portal container and the component may be rendered to the DOM in
+ // the same React render pass, so the container might not be available at
+ // the time `render()` is called.
+ const container = document.getElementById('tabs-bar__portal');
+ if (container === null) {
+ // The container wasn't available, force a re-render so that the
+ // component can eventually be inserted in the container and not scroll
+ // with the rest of the area.
+ this.forceUpdate();
+ return component;
+ } else {
+ return createPortal(component, container);
+ }
}
}
diff --git a/app/javascript/mastodon/components/hashtag.js b/app/javascript/mastodon/components/hashtag.js
index f091d7893..62d613262 100644
--- a/app/javascript/mastodon/components/hashtag.js
+++ b/app/javascript/mastodon/components/hashtag.js
@@ -12,11 +12,11 @@ const Hashtag = ({ hashtag }) => (
#{hashtag.get('name')}
- {shortNumberFormat(hashtag.getIn(['history', 0, 'accounts']))} }} />
+ {shortNumberFormat(hashtag.getIn(['history', 0, 'accounts']) * 1 + hashtag.getIn(['history', 1, 'accounts']) * 1)} }} />
+ );
+ }
-LinkFooter.propTypes = {
- withHotkeys: PropTypes.bool,
};
-
-export default LinkFooter;
diff --git a/app/javascript/mastodon/features/ui/components/navigation_panel.js b/app/javascript/mastodon/features/ui/components/navigation_panel.js
index 64a40a9da..51e3ec037 100644
--- a/app/javascript/mastodon/features/ui/components/navigation_panel.js
+++ b/app/javascript/mastodon/features/ui/components/navigation_panel.js
@@ -18,6 +18,7 @@ const NavigationPanel = () => (
+ {profile_directory && }
@@ -25,7 +26,6 @@ const NavigationPanel = () => (
- {!!profile_directory && }
{showTrends && }
{showTrends && }
diff --git a/app/javascript/mastodon/features/ui/containers/notifications_container.js b/app/javascript/mastodon/features/ui/containers/notifications_container.js
index b60a0216f..3819da3d8 100644
--- a/app/javascript/mastodon/features/ui/containers/notifications_container.js
+++ b/app/javascript/mastodon/features/ui/containers/notifications_container.js
@@ -11,7 +11,7 @@ const mapStateToProps = (state, { intl }) => {
const value = notification[key];
if (typeof value === 'object') {
- notification[key] = intl.formatMessage(value);
+ notification[key] = intl.formatMessage(value, notification[`${key}_values`]);
}
}));
diff --git a/app/javascript/mastodon/features/ui/index.js b/app/javascript/mastodon/features/ui/index.js
index f0c3eff83..f5e48ed31 100644
--- a/app/javascript/mastodon/features/ui/index.js
+++ b/app/javascript/mastodon/features/ui/index.js
@@ -16,6 +16,7 @@ import { expandNotifications } from '../../actions/notifications';
import { fetchFilters } from '../../actions/filters';
import { clearHeight } from '../../actions/height_cache';
import { focusApp, unfocusApp } from 'mastodon/actions/app';
+import { submitMarkers } from 'mastodon/actions/markers';
import { WrappedSwitch, WrappedRoute } from './util/react_router_helpers';
import UploadArea from './components/upload_area';
import ColumnsAreaContainer from './containers/columns_area_container';
@@ -47,6 +48,7 @@ import {
PinnedStatuses,
Lists,
Search,
+ Directory,
} from './util/async-components';
import { me, forceSingleColumn } from '../../initial_state';
import { previewState as previewMediaState } from './components/media_modal';
@@ -64,6 +66,7 @@ const mapStateToProps = state => ({
isComposing: state.getIn(['compose', 'is_composing']),
hasComposingText: state.getIn(['compose', 'text']).trim().length !== 0,
hasMediaAttachments: state.getIn(['compose', 'media_attachments']).size > 0,
+ canUploadMore: !state.getIn(['compose', 'media_attachments']).some(x => ['audio', 'video'].includes(x.get('type'))) && state.getIn(['compose', 'media_attachments']).size < 4,
dropdownMenuIsOpen: state.getIn(['dropdown_menu', 'openId']) !== null,
});
@@ -141,14 +144,24 @@ class SwitchingColumnsArea extends React.PureComponent {
return location.state !== previewMediaState && location.state !== previewVideoState;
}
- handleResize = debounce(() => {
+ handleLayoutChange = debounce(() => {
// The cached heights are no longer accurate, invalidate
this.props.onLayoutChange();
-
- this.setState({ mobile: isMobile(window.innerWidth) });
}, 500, {
trailing: true,
- });
+ })
+
+ handleResize = () => {
+ const mobile = isMobile(window.innerWidth);
+
+ if (mobile !== this.state.mobile) {
+ this.handleLayoutChange.cancel();
+ this.props.onLayoutChange();
+ this.setState({ mobile });
+ } else {
+ this.handleLayoutChange();
+ }
+ }
setRef = c => {
this.node = c.getWrappedInstance();
@@ -178,6 +191,7 @@ class SwitchingColumnsArea extends React.PureComponent {
+
@@ -219,6 +233,7 @@ class UI extends React.PureComponent {
isComposing: PropTypes.bool,
hasComposingText: PropTypes.bool,
hasMediaAttachments: PropTypes.bool,
+ canUploadMore: PropTypes.bool,
location: PropTypes.object,
intl: PropTypes.object.isRequired,
dropdownMenuIsOpen: PropTypes.bool,
@@ -229,7 +244,9 @@ class UI extends React.PureComponent {
};
handleBeforeUnload = e => {
- const { intl, isComposing, hasComposingText, hasMediaAttachments } = this.props;
+ const { intl, dispatch, isComposing, hasComposingText, hasMediaAttachments } = this.props;
+
+ dispatch(submitMarkers());
if (isComposing && (hasComposingText || hasMediaAttachments)) {
// Setting returnValue to any string causes confirmation dialog.
@@ -263,13 +280,14 @@ class UI extends React.PureComponent {
this.dragTargets.push(e.target);
}
- if (e.dataTransfer && Array.from(e.dataTransfer.types).includes('Files')) {
+ if (e.dataTransfer && Array.from(e.dataTransfer.types).includes('Files') && this.props.canUploadMore) {
this.setState({ draggingOver: true });
}
}
handleDragOver = (e) => {
if (this.dataTransferIsText(e.dataTransfer)) return false;
+
e.preventDefault();
e.stopPropagation();
@@ -284,12 +302,13 @@ class UI extends React.PureComponent {
handleDrop = (e) => {
if (this.dataTransferIsText(e.dataTransfer)) return;
+
e.preventDefault();
this.setState({ draggingOver: false });
this.dragTargets = [];
- if (e.dataTransfer && e.dataTransfer.files.length >= 1) {
+ if (e.dataTransfer && e.dataTransfer.files.length >= 1 && this.props.canUploadMore) {
this.props.dispatch(uploadCompose(e.dataTransfer.files));
}
}
diff --git a/app/javascript/mastodon/features/ui/util/async-components.js b/app/javascript/mastodon/features/ui/util/async-components.js
index 0a07aa75e..0084c1510 100644
--- a/app/javascript/mastodon/features/ui/util/async-components.js
+++ b/app/javascript/mastodon/features/ui/util/async-components.js
@@ -137,3 +137,11 @@ export function Search () {
export function Tesseract () {
return import(/*webpackChunkName: "tesseract" */'tesseract.js');
}
+
+export function Audio () {
+ return import(/* webpackChunkName: "features/audio" */'../../audio');
+}
+
+export function Directory () {
+ return import(/* webpackChunkName: "features/directory" */'../../directory');
+}
diff --git a/app/javascript/mastodon/features/video/index.js b/app/javascript/mastodon/features/video/index.js
index da48c165e..5fe4e956f 100644
--- a/app/javascript/mastodon/features/video/index.js
+++ b/app/javascript/mastodon/features/video/index.js
@@ -21,7 +21,7 @@ const messages = defineMessages({
exit_fullscreen: { id: 'video.exit_fullscreen', defaultMessage: 'Exit full screen' },
});
-const formatTime = secondsNum => {
+export const formatTime = secondsNum => {
let hours = Math.floor(secondsNum / 3600);
let minutes = Math.floor((secondsNum - (hours * 3600)) / 60);
let seconds = secondsNum - (hours * 3600) - (minutes * 60);
diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json
index d62ee90c2..01c56b4a0 100644
--- a/app/javascript/mastodon/locales/ar.json
+++ b/app/javascript/mastodon/locales/ar.json
@@ -4,10 +4,11 @@
"account.block": "حظر @{name}",
"account.block_domain": "إخفاء كل شيئ قادم من اسم النطاق {domain}",
"account.blocked": "محظور",
+ "account.cancel_follow_request": "إلغاء طلب المتابَعة",
"account.direct": "رسالة خاصة إلى @{name}",
"account.domain_blocked": "النطاق مخفي",
"account.edit_profile": "تعديل الملف الشخصي",
- "account.endorse": "خاصّية على الملف الشخصي",
+ "account.endorse": "أوصِ به على صفحتك",
"account.follow": "تابِع",
"account.followers": "متابعون",
"account.followers.empty": "لا أحد يتبع هذا الحساب بعد.",
@@ -15,28 +16,33 @@
"account.follows.empty": "هذا الحساب لا يتبع أحدًا بعد.",
"account.follows_you": "يتابعك",
"account.hide_reblogs": "إخفاء ترقيات @{name}",
+ "account.last_status": "آخر نشاط",
"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": "أكتم @{name}",
"account.mute_notifications": "كتم الإخطارات من @{name}",
"account.muted": "مكتوم",
- "account.posts": "التبويقات",
+ "account.never_active": "أبدا",
+ "account.posts": "تبويقات",
"account.posts_with_replies": "التبويقات و الردود",
- "account.report": "أبلغ/ي عن @{name}",
+ "account.report": "ابلِغ عن @{name}",
"account.requested": "في انتظار الموافقة. اضْغَطْ/ي لإلغاء طلب المتابعة",
"account.share": "مشاركة حساب @{name}",
- "account.show_reblogs": "عرض ترقيات @{name}",
+ "account.show_reblogs": "اعرض ترقيات @{name}",
"account.unblock": "إلغاء الحظر عن @{name}",
"account.unblock_domain": "فك الخْفى عن {domain}",
- "account.unendorse": "إزالة ترويجه مِن الملف الشخصي",
+ "account.unendorse": "أزل ترويجه مِن الملف الشخصي",
"account.unfollow": "إلغاء المتابعة",
"account.unmute": "إلغاء الكتم عن @{name}",
"account.unmute_notifications": "إلغاء كتم إخطارات @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "لقد طرأ هناك خطأ غير متوقّع.",
"alert.unexpected.title": "المعذرة!",
+ "autosuggest_hashtag.per_week": "{count} في الأسبوع",
"boost_modal.combo": "يمكنك/ي ضغط {combo} لتخطّي هذه في المرّة القادمة",
"bundle_column_error.body": "لقد وقع هناك خطأ أثناء عملية تحميل هذا العنصر.",
"bundle_column_error.retry": "إعادة المحاولة",
@@ -47,6 +53,7 @@
"column.blocks": "الحسابات المحجوبة",
"column.community": "الخيط العام المحلي",
"column.direct": "الرسائل المباشرة",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "النطاقات المخفية",
"column.favourites": "المفضلة",
"column.follow_requests": "طلبات المتابعة",
@@ -56,6 +63,7 @@
"column.notifications": "الإخطارات",
"column.pins": "التبويقات المثبتة",
"column.public": "الخيط العام الموحد",
+ "column.status": "Toot",
"column_back_button.label": "العودة",
"column_header.hide_settings": "إخفاء الإعدادات",
"column_header.moveLeft_settings": "نقل القائمة إلى اليسار",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "هل تود حقا حذف هذه القائمة ؟",
"confirmations.domain_block.confirm": "إخفاء اسم النطاق كاملا",
"confirmations.domain_block.message": "متأكد من أنك تود حظر اسم النطاق {domain} بالكامل ؟ في غالب الأحيان يُستَحسَن كتم أو حظر بعض الحسابات بدلا من حظر نطاق بالكامل.\nلن تتمكن مِن رؤية محتوى هذا النطاق لا على خيوطك العمومية و لا في إشعاراتك. سوف يتم كذلك إزالة كافة متابعيك المنتمين إلى هذا النطاق.",
+ "confirmations.logout.confirm": "خروج",
+ "confirmations.logout.message": "متأكد من أنك تريد الخروج؟",
"confirmations.mute.confirm": "أكتم",
"confirmations.mute.message": "هل أنت متأكد أنك تريد كتم {name} ؟",
"confirmations.redraft.confirm": "إزالة و إعادة الصياغة",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "الرد في الحين سوف يُعيد كتابة الرسالة التي أنت بصدد كتابتها. متأكد من أنك تريد المواصلة؟",
"confirmations.unfollow.confirm": "إلغاء المتابعة",
"confirmations.unfollow.message": "متأكد من أنك تريد إلغاء متابعة {name} ؟",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "الوافدون الجُدد",
+ "directory.recently_active": "نشط مؤخرا",
"embed.instructions": "يمكنكم إدماج هذا المنشور على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.",
"embed.preview": "هكذا ما سوف يبدو عليه:",
"emoji_button.activity": "الأنشطة",
@@ -116,7 +134,7 @@
"emoji_button.search": "ابحث...",
"emoji_button.search_results": "نتائج البحث",
"emoji_button.symbols": "رموز",
- "emoji_button.travel": "أماكن و أسفار",
+ "emoji_button.travel": "الأماكن والسفر",
"empty_column.account_timeline": "ليس هناك تبويقات!",
"empty_column.account_unavailable": "الملف الشخصي غير متوفر",
"empty_column.blocks": "لم تقم بحظر أي مستخدِم بعد.",
@@ -153,9 +171,9 @@
"hashtag.column_settings.tag_mode.any": "أي كان مِن هذه",
"hashtag.column_settings.tag_mode.none": "لا شيء مِن هذه",
"hashtag.column_settings.tag_toggle": "إدراج الوسوم الإضافية لهذا العمود",
- "home.column_settings.basic": "أساسية",
+ "home.column_settings.basic": "الأساسية",
"home.column_settings.show_reblogs": "عرض الترقيات",
- "home.column_settings.show_replies": "عرض الردود",
+ "home.column_settings.show_replies": "اعرض الردود",
"home.column_settings.update_live": "Update in real-time",
"intervals.full.days": "{number, plural, one {# يوم} other {# أيام}}",
"intervals.full.hours": "{number, plural, one {# ساعة} other {# ساعات}}",
@@ -216,7 +234,7 @@
"lists.account.add": "أضف إلى القائمة",
"lists.account.remove": "احذف من القائمة",
"lists.delete": "احذف القائمة",
- "lists.edit": "تعديل القائمة",
+ "lists.edit": "عدّل القائمة",
"lists.edit.submit": "تعديل العنوان",
"lists.new.create": "إنشاء قائمة",
"lists.new.title_placeholder": "عنوان القائمة الجديدة",
@@ -225,7 +243,7 @@
"load_pending": "{count, plural, one {# new item} other {# new items}}",
"loading_indicator.label": "تحميل...",
"media_gallery.toggle_visible": "عرض / إخفاء",
- "missing_indicator.label": "تعذر العثور عليه",
+ "missing_indicator.label": "غير موجود",
"missing_indicator.sublabel": "تعذر العثور على هذا المورد",
"mute_modal.hide_notifications": "هل تود إخفاء الإخطارات القادمة من هذا المستخدم ؟",
"navigation_bar.apps": "تطبيقات الأجهزة المحمولة",
@@ -248,21 +266,21 @@
"navigation_bar.personal": "شخصي",
"navigation_bar.pins": "التبويقات المثبتة",
"navigation_bar.preferences": "التفضيلات",
- "navigation_bar.profile_directory": "دليل المستخدِمين",
"navigation_bar.public_timeline": "الخيط العام الموحد",
"navigation_bar.security": "الأمان",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "أُعجِب {name} بمنشورك",
"notification.follow": "{name} يتابعك",
"notification.mention": "{name} ذكرك",
- "notification.poll": "A poll you have voted in has ended",
+ "notification.poll": "لقد إنتها تصويت شاركت فيه",
"notification.reblog": "{name} قام بترقية تبويقك",
"notifications.clear": "امسح الإخطارات",
"notifications.clear_confirmation": "أمتأكد من أنك تود مسح جل الإخطارات الخاصة بك و المتلقاة إلى حد الآن ؟",
"notifications.column_settings.alert": "إشعارات سطح المكتب",
"notifications.column_settings.favourite": "المُفَضَّلة:",
- "notifications.column_settings.filter_bar.advanced": "عرض كافة الفئات",
+ "notifications.column_settings.filter_bar.advanced": "اعرض كافة الفئات",
"notifications.column_settings.filter_bar.category": "شريط الفلترة السريعة",
- "notifications.column_settings.filter_bar.show": "عرض",
+ "notifications.column_settings.filter_bar.show": "اعرض",
"notifications.column_settings.follow": "متابعُون جُدُد:",
"notifications.column_settings.mention": "الإشارات:",
"notifications.column_settings.poll": "نتائج استطلاع الرأي:",
@@ -316,7 +334,7 @@
"search_results.accounts": "أشخاص",
"search_results.hashtags": "الوُسوم",
"search_results.statuses": "التبويقات",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "البحث في التبويقات عن طريق المحتوى ليس مفعل في خادم ماستدون هذا.",
"search_results.total": "{count, number} {count, plural, one {result} و {results}}",
"status.admin_account": "افتح الواجهة الإدارية لـ @{name}",
"status.admin_status": "افتح هذا المنشور على واجهة الإشراف",
@@ -355,6 +373,7 @@
"status.show_more": "أظهر المزيد",
"status.show_more_all": "توسيع الكل",
"status.show_thread": "الكشف عن المحادثة",
+ "status.uncached_media_warning": "غير متوفر",
"status.unmute_conversation": "فك الكتم عن المحادثة",
"status.unpin": "فك التدبيس من الملف الشخصي",
"suggestions.dismiss": "إلغاء الاقتراح",
@@ -370,14 +389,22 @@
"time_remaining.moments": "لحظات متبقية",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} آخرون {people}} يتحدثون",
+ "trends.trending_now": "المتداولة الآن",
"ui.beforeunload": "سوف تفقد مسودتك إن تركت ماستدون.",
"upload_area.title": "اسحب ثم أفلت للرفع",
"upload_button.label": "إضافة وسائط ({formats})",
"upload_error.limit": "لقد تم بلوغ الحد الأقصى المسموح به لإرسال الملفات.",
"upload_error.poll": "لا يمكن إدراج ملفات في استطلاعات الرأي.",
"upload_form.description": "وصف للمعاقين بصريا",
- "upload_form.focus": "قص",
+ "upload_form.edit": "تعديل",
"upload_form.undo": "حذف",
+ "upload_modal.analyzing_picture": "جارٍ فحص الصورة…",
+ "upload_modal.apply": "طبّق",
+ "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": "تعديل الوسائط",
+ "upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "يرفع...",
"video.close": "إغلاق الفيديو",
"video.exit_fullscreen": "الخروج من وضع الشاشة المليئة",
diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json
index 3ae4e5e5e..c636e313b 100644
--- a/app/javascript/mastodon/locales/ast.json
+++ b/app/javascript/mastodon/locales/ast.json
@@ -4,6 +4,7 @@
"account.block": "Bloquiar a @{name}",
"account.block_domain": "Anubrir tolo de {domain}",
"account.blocked": "Blocked",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Unviar un mensaxe direutu a @{name}",
"account.domain_blocked": "Dominiu anubríu",
"account.edit_profile": "Editar el perfil",
@@ -15,6 +16,7 @@
"account.follows.empty": "Esti usuariu entá nun sigue a naide.",
"account.follows_you": "Síguete",
"account.hide_reblogs": "Hide boosts from @{name}",
+ "account.last_status": "Last active",
"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",
@@ -23,10 +25,11 @@
"account.mute": "Silenciar a @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted",
+ "account.never_active": "Never",
"account.posts": "Toots",
"account.posts_with_replies": "Toots y rempuestes",
"account.report": "Report @{name}",
- "account.requested": "Awaiting approval. Click to cancel follow request",
+ "account.requested": "Awaiting approval",
"account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Desbloquiar a @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Unfollow",
"account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Asocedió un fallu inesperáu.",
"alert.unexpected.title": "¡Ups!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Pues primir {combo} pa saltar esto la próxima vegada",
"bundle_column_error.body": "Something went wrong while loading this component.",
"bundle_column_error.retry": "Try again",
@@ -47,6 +53,7 @@
"column.blocks": "Usuarios bloquiaos",
"column.community": "Llinia temporal llocal",
"column.direct": "Mensaxes direutos",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Dominios anubríos",
"column.favourites": "Favoritos",
"column.follow_requests": "Solicitúes de siguimientu",
@@ -56,6 +63,7 @@
"column.notifications": "Avisos",
"column.pins": "Toots fixaos",
"column.public": "Llinia temporal federada",
+ "column.status": "Toot",
"column_back_button.label": "Atrás",
"column_header.hide_settings": "Hide settings",
"column_header.moveLeft_settings": "Mover la columna a la esquierda",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "¿De xuru que quies desaniciar dafechu esta llista?",
"confirmations.domain_block.confirm": "Anubrir tol dominiu",
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "¿De xuru que quies silenciar a {name}?",
"confirmations.redraft.confirm": "Desaniciar y reeditar",
@@ -101,6 +111,14 @@
"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.message": "¿De xuru que quies dexar de siguir a {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Empotra esti estáu nun sitiu web copiando'l códigu d'embaxo.",
"embed.preview": "Asina ye como va vese:",
"emoji_button.activity": "Actividaes",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Toots fixaos",
"navigation_bar.preferences": "Preferencies",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Llinia temporal federada",
"navigation_bar.security": "Seguranza",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} favourited your status",
"notification.follow": "{name} siguióte",
"notification.mention": "{name} mentóte",
@@ -355,6 +373,7 @@
"status.show_more": "Amosar más",
"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.unpin": "Desfixar del perfil",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "El borrador va perdese si coles de Mastodon.",
"upload_area.title": "Drag & drop to upload",
"upload_button.label": "Add media",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Descripción pa discapacitaos visuales",
- "upload_form.focus": "Crop",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Desaniciar",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Xubiendo...",
"video.close": "Zarrar el videu",
"video.exit_fullscreen": "Colar de la pantalla completa",
diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json
index 4c97fe1fc..10f493b26 100644
--- a/app/javascript/mastodon/locales/bg.json
+++ b/app/javascript/mastodon/locales/bg.json
@@ -1,11 +1,12 @@
{
- "account.add_or_remove_from_list": "Add or Remove from lists",
- "account.badges.bot": "Bot",
+ "account.add_or_remove_from_list": "Добави или премахни от списъците",
+ "account.badges.bot": "бот",
"account.block": "Блокирай",
- "account.block_domain": "Hide everything from {domain}",
- "account.blocked": "Blocked",
+ "account.block_domain": "скрий всичко от (домейн)",
+ "account.blocked": "Блокирани",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Direct Message @{name}",
- "account.domain_blocked": "Domain hidden",
+ "account.domain_blocked": "Скрит домейн",
"account.edit_profile": "Редактирай профила си",
"account.endorse": "Feature on profile",
"account.follow": "Последвай",
@@ -15,6 +16,7 @@
"account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "Твой последовател",
"account.hide_reblogs": "Hide boosts from @{name}",
+ "account.last_status": "Last active",
"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",
@@ -23,6 +25,7 @@
"account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted",
+ "account.never_active": "Never",
"account.posts": "Публикации",
"account.posts_with_replies": "Toots with replies",
"account.report": "Report @{name}",
@@ -35,11 +38,14 @@
"account.unfollow": "Не следвай",
"account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
+ "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!",
+ "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": "Опитай отново",
"bundle_column_error.title": "Network error",
"bundle_modal_error.close": "Close",
"bundle_modal_error.message": "Something went wrong while loading this component.",
@@ -47,15 +53,17 @@
"column.blocks": "Blocked users",
"column.community": "Local timeline",
"column.direct": "Direct messages",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Hidden domains",
"column.favourites": "Favourites",
"column.follow_requests": "Follow requests",
"column.home": "Начало",
- "column.lists": "Lists",
+ "column.lists": "Списъци",
"column.mutes": "Muted users",
"column.notifications": "Известия",
"column.pins": "Pinned toot",
"column.public": "Публичен канал",
+ "column.status": "Toot",
"column_back_button.label": "Назад",
"column_header.hide_settings": "Hide settings",
"column_header.moveLeft_settings": "Move column to the left",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
"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.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"confirmations.redraft.confirm": "Delete & redraft",
@@ -101,6 +111,14 @@
"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.message": "Are you sure you want to unfollow {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "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",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Pinned toots",
"navigation_bar.preferences": "Предпочитания",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Публичен канал",
"navigation_bar.security": "Security",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} хареса твоята публикация",
"notification.follow": "{name} те последва",
"notification.mention": "{name} те спомена",
@@ -355,6 +373,7 @@
"status.show_more": "Show more",
"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.unpin": "Unpin from profile",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Drag & drop to upload",
"upload_button.label": "Добави медия",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Describe for the visually impaired",
- "upload_form.focus": "Crop",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Отмяна",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Uploading...",
"video.close": "Close video",
"video.exit_fullscreen": "Exit full screen",
diff --git a/app/javascript/mastodon/locales/bn.json b/app/javascript/mastodon/locales/bn.json
index 358f994f3..8d67a93da 100644
--- a/app/javascript/mastodon/locales/bn.json
+++ b/app/javascript/mastodon/locales/bn.json
@@ -4,6 +4,7 @@
"account.block": "@{name} কে বন্ধ করুন",
"account.block_domain": "{domain} থেকে সব সরিয়ে ফেলুন",
"account.blocked": "বন্ধ করা হয়েছে",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "@{name} এর কাছে সরকারি লেখা পাঠাতে",
"account.domain_blocked": "ওয়েবসাইট সরিয়ে ফেলা হয়েছে",
"account.edit_profile": "নিজের পাতা সম্পাদনা করতে",
@@ -15,6 +16,7 @@
"account.follows.empty": "এই ব্যবহারকারী কাওকে এখনো অনুসরণ করেন না।",
"account.follows_you": "আপনাকে অনুসরণ করে",
"account.hide_reblogs": "@{name}র সমর্থনগুলি সরিয়ে ফেলুন",
+ "account.last_status": "Last active",
"account.link_verified_on": "এই লিংকের মালিকানা চেক করা হয়েছে {date} তারিকে",
"account.locked_info": "এই নিবন্ধনের গোপনীয়তার ক্ষেত্র তালা দেওয়া আছে। নিবন্ধনকারী অনুসরণ করার অনুমতি যাদেরকে দেবেন, শুধু তারাই অনুসরণ করতে পারবেন।",
"account.media": "ছবি বা ভিডিও",
@@ -23,6 +25,7 @@
"account.mute": "@{name} সব কার্যক্রম আপনার সময়রেখা থেকে সরিয়ে ফেলতে",
"account.mute_notifications": "@{name}র প্রজ্ঞাপন আপনার কাছ থেকে সরিয়ে ফেলুন",
"account.muted": "সরানো আছে",
+ "account.never_active": "Never",
"account.posts": "টুট",
"account.posts_with_replies": "টুট এবং মতামত",
"account.report": "@{name} কে রিপোর্ট করতে",
@@ -35,8 +38,11 @@
"account.unfollow": "অনুসরণ না করতে",
"account.unmute": "@{name}র কার্যকলাপ আবার দেখুন",
"account.unmute_notifications": "@{name}র প্রজ্ঞাপন দেওয়ার অনুমতি দিন",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "অপ্রত্যাশিত একটি সমস্যা হয়েছে।",
"alert.unexpected.title": "ওহো!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "পরেরবার আপনি {combo} চাপ দিলে এটার শেষে চলে যেতে পারবেন",
"bundle_column_error.body": "এই অংশটি দেখতে যেয়ে কোনো সমস্যা হয়েছে।",
"bundle_column_error.retry": "আবার চেষ্টা করুন",
@@ -47,6 +53,7 @@
"column.blocks": "যাদের বন্ধ করে রাখা হয়েছে",
"column.community": "স্থানীয় সময়সারি",
"column.direct": "সরাসরি লেখা",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "সরিয়ে ফেলা ওয়েবসাইট",
"column.favourites": "পছন্দের গুলো",
"column.follow_requests": "অনুসরণের অনুমতি চেয়েছে যারা",
@@ -56,6 +63,7 @@
"column.notifications": "প্রজ্ঞাপনগুলো",
"column.pins": "পিন করা টুট",
"column.public": "যুক্ত সময়রেখা",
+ "column.status": "Toot",
"column_back_button.label": "পেছনে",
"column_header.hide_settings": "সেটিংগুলো সরান",
"column_header.moveLeft_settings": "কলমটা বামে সরান",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "আপনি কি নিশ্চিত যে আপনি এই তালিকাটি স্থায়িভাবে মুছে ফেলতে চান ?",
"confirmations.domain_block.confirm": "এই ওয়েবসাইট থেকে সব সরান",
"confirmations.domain_block.message": "আপনি কি সত্যি সত্যি নিশ্চিত যে {domain} ওয়েবসাইট থেকে সব সরাতে চান ? সাধারণত কিছু লক্ষ্যবস্তু বন্ধ এবং সরানোযা যথেষ্ট। নিশ্চিত করলে ওই ওয়েবসাইট থেকে কোনোকিছু কোনখানে দেখবেন না। যারা আপনাকে অনুসরণ করে ওই ওয়েবসাইট থেকে তাদেরকেও মুছে ফেলা হবে।",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "সরিয়ে ফেলুন",
"confirmations.mute.message": "আপনি কি নিশ্চিত {name} সরিয়ে ফেলতে চান ?",
"confirmations.redraft.confirm": "মুছে ফেলুন এবং আবার সম্পাদন করুন",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "এখন মতামত লিখতে গেলে আপনার এখন যেটা লিখছেন সেটা মুছে যাবে। আপনি নি নিশ্চিত এটা করতে চান ?",
"confirmations.unfollow.confirm": "অনুসরণ করা বাতিল করতে",
"confirmations.unfollow.message": "আপনি কি নিশ্চিত {name} কে আর অনুসরণ করতে চান না ?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "এই লেখাটি আপনার ওয়েবসাইটে যুক্ত করতে নিচের কোডটি বেবহার করুন।",
"embed.preview": "সেটা দেখতে এরকম হবে:",
"emoji_button.activity": "কার্যকলাপ",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "নিজস্ব",
"navigation_bar.pins": "পিন দেওয়া টুট",
"navigation_bar.preferences": "পছন্দসমূহ",
- "navigation_bar.profile_directory": "নিজস্ব পাতার তালিকা",
"navigation_bar.public_timeline": "যুক্তবিশ্বের সময়রেখা",
"navigation_bar.security": "নিরাপত্তা",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} আপনার কার্যক্রম পছন্দ করেছেন",
"notification.follow": "{name} আপনাকে অনুসরণ করেছেন",
"notification.mention": "{name} আপনাকে উল্লেখ করেছেন",
@@ -355,6 +373,7 @@
"status.show_more": "আরো দেখাতে",
"status.show_more_all": "সবগুলোতে আরো দেখতে",
"status.show_thread": "আলোচনা দেখতে",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "আলোচনার প্রজ্ঞাপন চালু করতে",
"status.unpin": "নিজের পাতা থেকে পিন করে রাখাটির পিন খুলতে",
"suggestions.dismiss": "সাহায্যের পরামর্শগুলো সরাতে",
@@ -370,14 +389,22 @@
"time_remaining.moments": "সময় বাকি আছে",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} বাকি আছে",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} কথা বলছে",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "যে পর্যন্ত এটা লেখা হয়েছে, মাস্টাডন থেকে চলে গেলে এটা মুছে যাবে।",
"upload_area.title": "টেনে এখানে ছেড়ে দিলে এখানে যুক্ত করা যাবে",
"upload_button.label": "ছবি বা ভিডিও যুক্ত করতে (এসব ধরণের: JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "যা যুক্ত করতে চাচ্ছেন সেটি বেশি বড়, এখানকার সর্বাধিকের মেমোরির উপরে চলে গেছে।",
"upload_error.poll": "নির্বাচনক্ষেত্রে কোনো ফাইল যুক্ত করা যাবেনা।",
"upload_form.description": "যারা দেখতে পায়না তাদের জন্য এটা বর্ণনা করতে",
- "upload_form.focus": "সাধারণ দেখাটি পরিবর্তন করতে",
+ "upload_form.edit": "Edit",
"upload_form.undo": "মুছে ফেলতে",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "যুক্ত করতে পাঠানো হচ্ছে...",
"video.close": "ভিডিওটি বন্ধ করতে",
"video.exit_fullscreen": "পূর্ণ পর্দা থেকে বাইরে বের হতে",
diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json
new file mode 100644
index 000000000..4104534af
--- /dev/null
+++ b/app/javascript/mastodon/locales/br.json
@@ -0,0 +1,418 @@
+{
+ "account.add_or_remove_from_list": "Ouzhpenn pe lemel ag ar listennadoù",
+ "account.badges.bot": "Robot",
+ "account.block": "Stankañ @{name}",
+ "account.block_domain": "Kuzh kement tra a {domain}",
+ "account.blocked": "Stanket",
+ "account.cancel_follow_request": "Nullañ ar pedad heuliañ",
+ "account.direct": "Kas ur c'hemennad da @{name}",
+ "account.domain_blocked": "Domani kuzhet",
+ "account.edit_profile": "Aozañ ar profil",
+ "account.endorse": "Lakaat war-wel war ar profil",
+ "account.follow": "Heuliañ",
+ "account.followers": "Heilour·ezed·ion",
+ "account.followers.empty": "Den na heul an implijour-mañ c'hoazh.",
+ "account.follows": "Koumanantoù",
+ "account.follows.empty": "This user doesn't follow anyone yet.",
+ "account.follows_you": "Ho heul",
+ "account.hide_reblogs": "Kuzh toudoù skignet gant @{name}",
+ "account.last_status": "Oberiantiz zivezhañ",
+ "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": "Menegiñ @{name}",
+ "account.moved_to": "Dilojet en·he deus {name} da:",
+ "account.mute": "Kuzhat @{name}",
+ "account.mute_notifications": "Kuzh kemennoù a @{name}",
+ "account.muted": "Kuzhet",
+ "account.never_active": "Birviken",
+ "account.posts": "Toudoù",
+ "account.posts_with_replies": "Toudoù ha respontoù",
+ "account.report": "Disklêriañ @{name}",
+ "account.requested": "Awaiting approval",
+ "account.share": "Skignañ profil @{name}",
+ "account.show_reblogs": "Diskouez toudoù a @{name}",
+ "account.unblock": "Distankañ @{name}",
+ "account.unblock_domain": "Diguzh {domain}",
+ "account.unendorse": "Don't feature on profile",
+ "account.unfollow": "Diheuliañ",
+ "account.unmute": "Diguzhat @{name}",
+ "account.unmute_notifications": "Diguzhat kemennoù a @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
+ "alert.unexpected.message": "Ur fazi dic'hortozet zo degouezhet.",
+ "alert.unexpected.title": "C'hem !",
+ "autosuggest_hashtag.per_week": "{count} bep sizhun",
+ "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": "Klask endro",
+ "bundle_column_error.title": "Fazi rouedad",
+ "bundle_modal_error.close": "Serriñ",
+ "bundle_modal_error.message": "Something went wrong while loading this component.",
+ "bundle_modal_error.retry": "Klask endro",
+ "column.blocks": "Implijour·ezed·ion stanket",
+ "column.community": "Red-amzer lec'hel",
+ "column.direct": "Kemennadoù prevez",
+ "column.directory": "Mont a-dreuz ar profiloù",
+ "column.domain_blocks": "Domani kuzhet",
+ "column.favourites": "Favourites",
+ "column.follow_requests": "Follow requests",
+ "column.home": "Home",
+ "column.lists": "Lists",
+ "column.mutes": "Muted users",
+ "column.notifications": "Notifications",
+ "column.pins": "Pinned toot",
+ "column.public": "Federated timeline",
+ "column.status": "Toot",
+ "column_back_button.label": "Back",
+ "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.show_settings": "Show settings",
+ "column_header.unpin": "Unpin",
+ "column_subheading.settings": "Settings",
+ "community.column_settings.media_only": "Media only",
+ "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.",
+ "compose_form.direct_message_warning_learn_more": "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.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.poll.add_option": "Add a choice",
+ "compose_form.poll.duration": "Poll duration",
+ "compose_form.poll.option_placeholder": "Choice {number}",
+ "compose_form.poll.remove_option": "Remove this choice",
+ "compose_form.publish": "Toot",
+ "compose_form.publish_loud": "{publish}!",
+ "compose_form.sensitive.hide": "Mark media as sensitive",
+ "compose_form.sensitive.marked": "Media is marked as sensitive",
+ "compose_form.sensitive.unmarked": "Media is not marked as sensitive",
+ "compose_form.spoiler.marked": "Text is hidden behind warning",
+ "compose_form.spoiler.unmarked": "Text is not hidden",
+ "compose_form.spoiler_placeholder": "Write your warning here",
+ "confirmation_modal.cancel": "Cancel",
+ "confirmations.block.block_and_report": "Block & Report",
+ "confirmations.block.confirm": "Block",
+ "confirmations.block.message": "Are you sure you want to block {name}?",
+ "confirmations.delete.confirm": "Delete",
+ "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.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.logout.message": "Are you sure you want to log out?",
+ "confirmations.mute.confirm": "Mute",
+ "confirmations.mute.message": "Are you sure you want to mute {name}?",
+ "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.message": "Are you sure you want to unfollow {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "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.custom": "Custom",
+ "emoji_button.flags": "Flags",
+ "emoji_button.food": "Food & Drink",
+ "emoji_button.label": "Insert emoji",
+ "emoji_button.nature": "Nature",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
+ "emoji_button.objects": "Objects",
+ "emoji_button.people": "People",
+ "emoji_button.recent": "Frequently used",
+ "emoji_button.search": "Search...",
+ "emoji_button.search_results": "Search results",
+ "emoji_button.symbols": "Symbols",
+ "emoji_button.travel": "Travel & Places",
+ "empty_column.account_timeline": "No toots here!",
+ "empty_column.account_unavailable": "Profile unavailable",
+ "empty_column.blocks": "You haven't blocked any users yet.",
+ "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.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_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.public_timeline": "the public timeline",
+ "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.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
+ "follow_request.authorize": "Authorize",
+ "follow_request.reject": "Reject",
+ "getting_started.developers": "Developers",
+ "getting_started.directory": "Profile directory",
+ "getting_started.documentation": "Documentation",
+ "getting_started.heading": "Getting started",
+ "getting_started.invite": "Invite people",
+ "getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.",
+ "getting_started.security": "Security",
+ "getting_started.terms": "Terms of service",
+ "hashtag.column_header.tag_mode.all": "and {additional}",
+ "hashtag.column_header.tag_mode.any": "or {additional}",
+ "hashtag.column_header.tag_mode.none": "without {additional}",
+ "hashtag.column_settings.select.no_options_message": "No suggestions found",
+ "hashtag.column_settings.select.placeholder": "Enter hashtags…",
+ "hashtag.column_settings.tag_mode.all": "All of these",
+ "hashtag.column_settings.tag_mode.any": "Any of these",
+ "hashtag.column_settings.tag_mode.none": "None of these",
+ "hashtag.column_settings.tag_toggle": "Include additional tags in this column",
+ "home.column_settings.basic": "Basic",
+ "home.column_settings.show_reblogs": "Show boosts",
+ "home.column_settings.show_replies": "Show replies",
+ "home.column_settings.update_live": "Update in real-time",
+ "intervals.full.days": "{number, plural, one {# day} other {# days}}",
+ "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
+ "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
+ "introduction.federation.action": "Next",
+ "introduction.federation.federated.headline": "Federated",
+ "introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
+ "introduction.federation.home.headline": "Home",
+ "introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
+ "introduction.federation.local.headline": "Local",
+ "introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
+ "introduction.interactions.action": "Finish toot-orial!",
+ "introduction.interactions.favourite.headline": "Favourite",
+ "introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
+ "introduction.interactions.reblog.headline": "Boost",
+ "introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
+ "introduction.interactions.reply.headline": "Reply",
+ "introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
+ "introduction.welcome.action": "Let's go!",
+ "introduction.welcome.headline": "First steps",
+ "introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
+ "keyboard_shortcuts.back": "to navigate back",
+ "keyboard_shortcuts.blocked": "to open blocked users list",
+ "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.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",
+ "keyboard_shortcuts.favourites": "to open favourites list",
+ "keyboard_shortcuts.federated": "to open federated timeline",
+ "keyboard_shortcuts.heading": "Keyboard Shortcuts",
+ "keyboard_shortcuts.home": "to open home timeline",
+ "keyboard_shortcuts.hotkey": "Hotkey",
+ "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.my_profile": "to open your profile",
+ "keyboard_shortcuts.notifications": "to open notifications column",
+ "keyboard_shortcuts.pinned": "to open pinned toots list",
+ "keyboard_shortcuts.profile": "to open author's profile",
+ "keyboard_shortcuts.reply": "to reply",
+ "keyboard_shortcuts.requests": "to open follow requests list",
+ "keyboard_shortcuts.search": "to focus search",
+ "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.unfocus": "to un-focus compose textarea/search",
+ "keyboard_shortcuts.up": "to move up in the list",
+ "lightbox.close": "Close",
+ "lightbox.next": "Next",
+ "lightbox.previous": "Previous",
+ "lightbox.view_context": "View context",
+ "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.new.create": "Add list",
+ "lists.new.title_placeholder": "New list title",
+ "lists.search": "Search among people you follow",
+ "lists.subheading": "Your lists",
+ "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "loading_indicator.label": "Loading...",
+ "media_gallery.toggle_visible": "Toggle visibility",
+ "missing_indicator.label": "Not found",
+ "missing_indicator.sublabel": "This resource could not be found",
+ "mute_modal.hide_notifications": "Hide notifications from this user?",
+ "navigation_bar.apps": "Mobile apps",
+ "navigation_bar.blocks": "Blocked users",
+ "navigation_bar.community_timeline": "Local timeline",
+ "navigation_bar.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",
+ "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.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.pins": "Pinned toots",
+ "navigation_bar.preferences": "Preferences",
+ "navigation_bar.public_timeline": "Federated timeline",
+ "navigation_bar.security": "Security",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
+ "notification.favourite": "{name} favourited your status",
+ "notification.follow": "{name} followed you",
+ "notification.mention": "{name} mentioned you",
+ "notification.poll": "A poll you have voted in has ended",
+ "notification.reblog": "{name} boosted your status",
+ "notifications.clear": "Clear notifications",
+ "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
+ "notifications.column_settings.alert": "Desktop notifications",
+ "notifications.column_settings.favourite": "Favourites:",
+ "notifications.column_settings.filter_bar.advanced": "Display all categories",
+ "notifications.column_settings.filter_bar.category": "Quick filter bar",
+ "notifications.column_settings.filter_bar.show": "Show",
+ "notifications.column_settings.follow": "New followers:",
+ "notifications.column_settings.mention": "Mentions:",
+ "notifications.column_settings.poll": "Poll results:",
+ "notifications.column_settings.push": "Push notifications",
+ "notifications.column_settings.reblog": "Boosts:",
+ "notifications.column_settings.show": "Show in column",
+ "notifications.column_settings.sound": "Play sound",
+ "notifications.filter.all": "All",
+ "notifications.filter.boosts": "Boosts",
+ "notifications.filter.favourites": "Favourites",
+ "notifications.filter.follows": "Follows",
+ "notifications.filter.mentions": "Mentions",
+ "notifications.filter.polls": "Poll results",
+ "notifications.group": "{count} notifications",
+ "poll.closed": "Closed",
+ "poll.refresh": "Refresh",
+ "poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
+ "poll.vote": "Vote",
+ "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.short": "Direct",
+ "privacy.private.long": "Post to followers only",
+ "privacy.private.short": "Followers-only",
+ "privacy.public.long": "Post to public timelines",
+ "privacy.public.short": "Public",
+ "privacy.unlisted.long": "Do not show in public timelines",
+ "privacy.unlisted.short": "Unlisted",
+ "regeneration_indicator.label": "Loading…",
+ "regeneration_indicator.sublabel": "Your home feed is being prepared!",
+ "relative_time.days": "{number}d",
+ "relative_time.hours": "{number}h",
+ "relative_time.just_now": "now",
+ "relative_time.minutes": "{number}m",
+ "relative_time.seconds": "{number}s",
+ "reply_indicator.cancel": "Cancel",
+ "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.placeholder": "Additional comments",
+ "report.submit": "Submit",
+ "report.target": "Report {target}",
+ "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.",
+ "search_popout.tips.hashtag": "hashtag",
+ "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.hashtags": "Hashtags",
+ "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}}",
+ "status.admin_account": "Open moderation interface for @{name}",
+ "status.admin_status": "Open this status in the moderation interface",
+ "status.block": "Block @{name}",
+ "status.cancel_reblog_private": "Unboost",
+ "status.cannot_reblog": "This post cannot be boosted",
+ "status.copy": "Copy link to status",
+ "status.delete": "Delete",
+ "status.detailed_status": "Detailed conversation view",
+ "status.direct": "Direct message @{name}",
+ "status.embed": "Embed",
+ "status.favourite": "Favourite",
+ "status.filtered": "Filtered",
+ "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.open": "Expand this status",
+ "status.pin": "Pin on profile",
+ "status.pinned": "Pinned toot",
+ "status.read_more": "Read more",
+ "status.reblog": "Boost",
+ "status.reblog_private": "Boost to original audience",
+ "status.reblogged_by": "{name} boosted",
+ "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
+ "status.redraft": "Delete & re-draft",
+ "status.reply": "Reply",
+ "status.replyAll": "Reply to thread",
+ "status.report": "Report @{name}",
+ "status.sensitive_warning": "Sensitive content",
+ "status.share": "Share",
+ "status.show_less": "Show less",
+ "status.show_less_all": "Show less for all",
+ "status.show_more": "Show more",
+ "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.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.local_timeline": "Local",
+ "tabs_bar.notifications": "Notifications",
+ "tabs_bar.search": "Search",
+ "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",
+ "time_remaining.moments": "Moments remaining",
+ "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
+ "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
+ "ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
+ "upload_area.title": "Drag & drop to upload",
+ "upload_button.label": "Add media ({formats})",
+ "upload_error.limit": "File upload limit exceeded.",
+ "upload_error.poll": "File upload not allowed with polls.",
+ "upload_form.description": "Describe for the visually impaired",
+ "upload_form.edit": "Edit",
+ "upload_form.undo": "Delete",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
+ "upload_progress.label": "Uploading...",
+ "video.close": "Close video",
+ "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"
+}
diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json
index 09f8838e9..b3afb0d5b 100644
--- a/app/javascript/mastodon/locales/ca.json
+++ b/app/javascript/mastodon/locales/ca.json
@@ -4,6 +4,7 @@
"account.block": "Bloqueja @{name}",
"account.block_domain": "Amaga-ho tot de {domain}",
"account.blocked": "Bloquejat",
+ "account.cancel_follow_request": "Anul·la la sol·licitud de seguiment",
"account.direct": "Missatge directe @{name}",
"account.domain_blocked": "Domini ocult",
"account.edit_profile": "Editar el perfil",
@@ -15,6 +16,7 @@
"account.follows.empty": "Aquest usuari encara no segueix a ningú.",
"account.follows_you": "Et segueix",
"account.hide_reblogs": "Amaga els impulsos de @{name}",
+ "account.last_status": "Last active",
"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",
@@ -23,6 +25,7 @@
"account.mute": "Silencia @{name}",
"account.mute_notifications": "Notificacions desactivades de @{name}",
"account.muted": "Silenciat",
+ "account.never_active": "Never",
"account.posts": "Toots",
"account.posts_with_replies": "Toots i respostes",
"account.report": "Informe @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Deixa de seguir",
"account.unmute": "Treure silenci de @{name}",
"account.unmute_notifications": "Activar notificacions de @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "S'ha produït un error inesperat.",
"alert.unexpected.title": "Vaja!",
+ "autosuggest_hashtag.per_week": "{count} per setmana",
"boost_modal.combo": "Pots premer {combo} per saltar-te això el proper cop",
"bundle_column_error.body": "S'ha produït un error en carregar aquest component.",
"bundle_column_error.retry": "Torna-ho a provar",
@@ -47,6 +53,7 @@
"column.blocks": "Usuaris bloquejats",
"column.community": "Línia de temps local",
"column.direct": "Missatges directes",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Dominis ocults",
"column.favourites": "Favorits",
"column.follow_requests": "Peticions per seguir-te",
@@ -56,6 +63,7 @@
"column.notifications": "Notificacions",
"column.pins": "Toots fixats",
"column.public": "Línia de temps federada",
+ "column.status": "Toot",
"column_back_button.label": "Enrere",
"column_header.hide_settings": "Amaga la configuració",
"column_header.moveLeft_settings": "Mou la columna cap a l'esquerra",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Estàs segur que vols suprimir permanentment aquesta llista?",
"confirmations.domain_block.confirm": "Amaga tot el domini",
"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 públiques ni en les notificacions. Els teus seguidors d’aquest domini seran eliminats.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Silencia",
"confirmations.mute.message": "Estàs segur que vols silenciar {name}?",
"confirmations.redraft.confirm": "Esborrar i refer",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Responen ara es sobreescriurà el missatge que estàs editant. Estàs segur que vols continuar?",
"confirmations.unfollow.confirm": "Deixa de seguir",
"confirmations.unfollow.message": "Estàs segur que vols deixar de seguir {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Incrusta aquest toot al lloc web copiant el codi a continuació.",
"embed.preview": "Aquí tenim quin aspecte tindrá:",
"emoji_button.activity": "Activitat",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Nova llista",
"lists.search": "Cercar entre les persones que segueixes",
"lists.subheading": "Les teves llistes",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# element nou} other {# elements nous}}",
"loading_indicator.label": "Carregant...",
"media_gallery.toggle_visible": "Alternar visibilitat",
"missing_indicator.label": "No trobat",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Toots fixats",
"navigation_bar.preferences": "Preferències",
- "navigation_bar.profile_directory": "Directori de perfils",
"navigation_bar.public_timeline": "Línia de temps federada",
"navigation_bar.security": "Seguretat",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} ha afavorit el teu estat",
"notification.follow": "{name} et segueix",
"notification.mention": "{name} t'ha esmentat",
@@ -316,7 +334,7 @@
"search_results.accounts": "Gent",
"search_results.hashtags": "Etiquetes",
"search_results.statuses": "Toots",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "La cerca de toots 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 aquest toot a la interfície de moderació",
@@ -355,6 +373,7 @@
"status.show_more": "Mostra més",
"status.show_more_all": "Mostra més per a tot",
"status.show_thread": "Mostra el fil",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Activar conversació",
"status.unpin": "Deslliga del perfil",
"suggestions.dismiss": "Descartar suggeriment",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments restants",
"time_remaining.seconds": "{number, plural, one {# segon} other {# segons}} restants",
"trends.count_by_accounts": "{count} {rawCount, plural, one {persona} other {gent}} talking",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "El teu esborrany es perdrà si surts de Mastodon.",
"upload_area.title": "Arrossega i deixa anar per a carregar",
"upload_button.label": "Afegir multimèdia (JPEG, PNG, GIF, WebM, MP4, MOV)",
"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.description": "Descriure els problemes visuals",
- "upload_form.focus": "Modificar la previsualització",
+ "upload_form.edit": "Edita",
"upload_form.undo": "Esborra",
+ "upload_modal.analyzing_picture": "Analitzant imatge…",
+ "upload_modal.apply": "Aplica",
+ "upload_modal.description_placeholder": "Uns salts ràpids de guineu marró sobre el gos gandul",
+ "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.preview_label": "Previsualitza ({ratio})",
"upload_progress.label": "Pujant...",
"video.close": "Tancar el vídeo",
"video.exit_fullscreen": "Sortir de pantalla completa",
diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json
index 7a1ff863b..85685dccd 100644
--- a/app/javascript/mastodon/locales/co.json
+++ b/app/javascript/mastodon/locales/co.json
@@ -1,9 +1,10 @@
{
- "account.add_or_remove_from_list": "Aghjustà o toglie da e liste",
+ "account.add_or_remove_from_list": "Aghjunghje o toglie da e liste",
"account.badges.bot": "Bot",
"account.block": "Bluccà @{name}",
"account.block_domain": "Piattà tuttu da {domain}",
"account.blocked": "Bluccatu",
+ "account.cancel_follow_request": "Annullà a dumanda d'abbunamentu",
"account.direct": "Missaghju direttu @{name}",
"account.domain_blocked": "Duminiu piattatu",
"account.edit_profile": "Mudificà u prufile",
@@ -15,6 +16,7 @@
"account.follows.empty": "St'utilizatore ùn seguita nisunu.",
"account.follows_you": "Vi seguita",
"account.hide_reblogs": "Piattà spartere da @{name}",
+ "account.last_status": "Ultima attività",
"account.link_verified_on": "A prupietà di stu ligame hè stata verificata u {date}",
"account.locked_info": "U statutu di vita privata di u contu hè chjosu. U pruprietariu esamina manualmente e dumande d'abbunamentu.",
"account.media": "Media",
@@ -23,6 +25,7 @@
"account.mute": "Piattà @{name}",
"account.mute_notifications": "Piattà nutificazione da @{name}",
"account.muted": "Piattatu",
+ "account.never_active": "Mai",
"account.posts": "Statuti",
"account.posts_with_replies": "Statuti è risposte",
"account.report": "Palisà @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Ùn siguità più",
"account.unmute": "Ùn piattà più @{name}",
"account.unmute_notifications": "Ùn piattà più nutificazione da @{name}",
+ "alert.rate_limited.message": "Pruvate ancu dop'à {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Ghjettu limitatu",
"alert.unexpected.message": "Un prublemu inaspettatu hè accadutu.",
"alert.unexpected.title": "Uups!",
+ "autosuggest_hashtag.per_week": "{count} per settimana",
"boost_modal.combo": "Pudete appughjà nant'à {combo} per saltà quessa a prussima volta",
"bundle_column_error.body": "C'hè statu un prublemu caricandu st'elementu.",
"bundle_column_error.retry": "Pruvà torna",
@@ -47,6 +53,7 @@
"column.blocks": "Utilizatori bluccati",
"column.community": "Linea pubblica lucale",
"column.direct": "Missaghji diretti",
+ "column.directory": "Percorre i prufili",
"column.domain_blocks": "Duminii piattati",
"column.favourites": "Favuriti",
"column.follow_requests": "Dumande d'abbunamentu",
@@ -56,6 +63,7 @@
"column.notifications": "Nutificazione",
"column.pins": "Statuti puntarulati",
"column.public": "Linea pubblica glubale",
+ "column.status": "Statutu",
"column_back_button.label": "Ritornu",
"column_header.hide_settings": "Piattà i parametri",
"column_header.moveLeft_settings": "Spiazzà à manca",
@@ -71,7 +79,7 @@
"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",
"compose_form.placeholder": "À chè pensate?",
- "compose_form.poll.add_option": "Aghjustà una scelta",
+ "compose_form.poll.add_option": "Aghjunghje scelta",
"compose_form.poll.duration": "Durata di u scandagliu",
"compose_form.poll.option_placeholder": "Scelta {number}",
"compose_form.poll.remove_option": "Toglie sta scelta",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Site sicuru·a che vulete supprime sta lista?",
"confirmations.domain_block.confirm": "Piattà tuttu u duminiu",
"confirmations.domain_block.message": "Site sicuru·a che vulete piattà tuttu à {domain}? Saria forse abbastanza di bluccà ò piattà alcuni conti da quallà. Ùn viderete più nunda da quallà indè e linee pubbliche o e nutificazione. I vostri abbunati da stu duminiu saranu tolti.",
+ "confirmations.logout.confirm": "Scunnettassi",
+ "confirmations.logout.message": "Site sicuru·a che vulete scunnettà vi?",
"confirmations.mute.confirm": "Piattà",
"confirmations.mute.message": "Site sicuru·a che vulete piattà @{name}?",
"confirmations.redraft.confirm": "Sguassà è riscrive",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Risponde avà sguasserà u missaghju chì scrivite. Site sicuru·a chì vulete cuntinuà?",
"confirmations.unfollow.confirm": "Disabbunassi",
"confirmations.unfollow.message": "Site sicuru·a ch'ùn vulete più siguità @{name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "Da u fediverse cunisciutu",
+ "directory.local": "Solu da {domain}",
+ "directory.new_arrivals": "Ultimi arrivi",
+ "directory.recently_active": "Attività ricente",
"embed.instructions": "Integrà stu statutu à u vostru situ cù u codice quì sottu.",
"embed.preview": "Assumiglierà à qualcosa cusì:",
"emoji_button.activity": "Attività",
@@ -123,8 +141,8 @@
"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.favourited_statuses": "Ùn avete manc'unu statutu favuritu. Quandu aghjusterate unu à i vostri favuriti, sarà mustratu quì.",
- "empty_column.favourites": "Nisunu hà aghjustatu stu statutu à i so favuriti. Quandu qualch'unu farà quessa, u so contu sarà mustratu quì.",
+ "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_requests": "Ùn avete manc'una dumanda d'abbunamentu. Quandu averete una, sarà mustrata quì.",
"empty_column.hashtag": "Ùn c'hè ancu nunda quì.",
"empty_column.home": "A vostr'accolta hè viota! Pudete andà nant'à {public} o pruvà a ricerca per truvà parsone da siguità.",
@@ -156,7 +174,7 @@
"home.column_settings.basic": "Bàsichi",
"home.column_settings.show_reblogs": "Vede e spartere",
"home.column_settings.show_replies": "Vede e risposte",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "Attualizà in tempu reale",
"intervals.full.days": "{number, plural, one {# ghjornu} other {# ghjorni}}",
"intervals.full.hours": "{number, plural, one {# ora} other {# ore}}",
"intervals.full.minutes": "{number, plural, one {# minuta} other {# minute}}",
@@ -218,11 +236,11 @@
"lists.delete": "Supprime a lista",
"lists.edit": "Mudificà a lista",
"lists.edit.submit": "Cambià u titulu",
- "lists.new.create": "Aghjustà una lista",
+ "lists.new.create": "Aghjunghje",
"lists.new.title_placeholder": "Titulu di a lista",
"lists.search": "Circà indè i vostr'abbunamenti",
"lists.subheading": "E vo liste",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# entrata nova} other {# entrate nove}}",
"loading_indicator.label": "Caricamentu...",
"media_gallery.toggle_visible": "Cambià a visibilità",
"missing_indicator.label": "Micca trovu",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Persunale",
"navigation_bar.pins": "Statuti puntarulati",
"navigation_bar.preferences": "Preferenze",
- "navigation_bar.profile_directory": "Annuariu di i prufili",
"navigation_bar.public_timeline": "Linea pubblica glubale",
"navigation_bar.security": "Sicurità",
+ "notification.and_n_others": "è {count, plural, one {# altru} other {# altri}}",
"notification.favourite": "{name} hà aghjuntu u vostru statutu à i so favuriti",
"notification.follow": "{name} v'hà seguitatu",
"notification.mention": "{name} v'hà mintuvatu",
@@ -281,7 +299,7 @@
"poll.refresh": "Attualizà",
"poll.total_votes": "{count, plural, one {# votu} other {# voti}}",
"poll.vote": "Vutà",
- "poll_button.add_poll": "Aghjustà un scandagliu",
+ "poll_button.add_poll": "Aghjunghje",
"poll_button.remove_poll": "Toglie u scandagliu",
"privacy.change": "Mudificà a cunfidenzialità di u statutu",
"privacy.direct.long": "Mandà solu à quelli chì so mintuvati",
@@ -316,7 +334,7 @@
"search_results.accounts": "Ghjente",
"search_results.hashtags": "Hashtag",
"search_results.statuses": "Statuti",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "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}}",
"status.admin_account": "Apre l'interfaccia di muderazione per @{name}",
"status.admin_status": "Apre stu statutu in l'interfaccia di muderazione",
@@ -355,6 +373,7 @@
"status.show_more": "Slibrà",
"status.show_more_all": "Slibrà tuttu",
"status.show_thread": "Vede u filu",
+ "status.uncached_media_warning": "Micca dispunibule",
"status.unmute_conversation": "Ùn piattà più a cunversazione",
"status.unpin": "Spuntarulà da u prufile",
"suggestions.dismiss": "Righjittà a pruposta",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Ci fermanu qualchi mumentu",
"time_remaining.seconds": "{number, plural, one {# siconda ferma} other {# siconde fermanu}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} parlanu",
+ "trends.trending_now": "Tindenze d'avà",
"ui.beforeunload": "A bruttacopia sarà persa s'ellu hè chjosu Mastodon.",
"upload_area.title": "Drag & drop per caricà un fugliale",
"upload_button.label": "Aghjunghje un media (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Limita di caricamentu di fugliali trapassata.",
"upload_error.poll": "Ùn si pò micca caricà fugliali cù i scandagli.",
"upload_form.description": "Discrive per i malvistosi",
- "upload_form.focus": "Cambià a vista",
+ "upload_form.edit": "Mudificà",
"upload_form.undo": "Sguassà",
+ "upload_modal.analyzing_picture": "Analisi di u ritrattu…",
+ "upload_modal.apply": "Affettà",
+ "upload_modal.description_placeholder": "Chì tempi brevi ziu, quandu solfeghji",
+ "upload_modal.detect_text": "Ditettà testu da u ritrattu",
+ "upload_modal.edit_media": "Cambià media",
+ "upload_modal.hint": "Cliccate o sguillate u chjerchju nant'à a vista per sceglie u puntu fucale chì sarà sempre in vista indè tutte e miniature.",
+ "upload_modal.preview_label": "Vista ({ratio})",
"upload_progress.label": "Caricamentu...",
"video.close": "Chjudà a video",
"video.exit_fullscreen": "Caccià u pienu screnu",
diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json
index 020fd35b0..e566d46ca 100644
--- a/app/javascript/mastodon/locales/cs.json
+++ b/app/javascript/mastodon/locales/cs.json
@@ -4,6 +4,7 @@
"account.block": "Zablokovat uživatele @{name}",
"account.block_domain": "Skrýt vše z {domain}",
"account.blocked": "Blokován/a",
+ "account.cancel_follow_request": "Zrušit požadavek o sledování",
"account.direct": "Poslat přímou zprávu uživateli @{name}",
"account.domain_blocked": "Doména skryta",
"account.edit_profile": "Upravit profil",
@@ -15,6 +16,7 @@
"account.follows.empty": "Tento uživatel ještě nikoho nesleduje.",
"account.follows_you": "Sleduje vás",
"account.hide_reblogs": "Skrýt boosty od uživatele @{name}",
+ "account.last_status": "Naposledy aktivní",
"account.link_verified_on": "Vlastnictví tohoto odkazu bylo zkontrolováno {date}",
"account.locked_info": "Stav soukromí tohoto účtu je nastaven na zamčeno. Jeho vlastník ručně posuzuje, kdo ho může sledovat.",
"account.media": "Média",
@@ -23,6 +25,7 @@
"account.mute": "Skrýt uživatele @{name}",
"account.mute_notifications": "Skrýt oznámení od uživatele @{name}",
"account.muted": "Skryt/a",
+ "account.never_active": "Nikdy",
"account.posts": "Tooty",
"account.posts_with_replies": "Tooty a odpovědi",
"account.report": "Nahlásit uživatele @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Přestat sledovat",
"account.unmute": "Odkrýt uživatele @{name}",
"account.unmute_notifications": "Odkrýt oznámení od uživatele @{name}",
+ "alert.rate_limited.message": "Prosím zkuste to znovu za {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rychlost omezena",
"alert.unexpected.message": "Objevila se neočekávaná chyba.",
"alert.unexpected.title": "Jejda!",
+ "autosuggest_hashtag.per_week": "{count} za týden",
"boost_modal.combo": "Příště můžete pro přeskočení kliknout na {combo}",
"bundle_column_error.body": "Při načítání tohoto komponentu se něco pokazilo.",
"bundle_column_error.retry": "Zkuste to znovu",
@@ -47,6 +53,7 @@
"column.blocks": "Blokovaní uživatelé",
"column.community": "Místní časová osa",
"column.direct": "Přímé zprávy",
+ "column.directory": "Prozkoumat profily",
"column.domain_blocks": "Skryté domény",
"column.favourites": "Oblíbené",
"column.follow_requests": "Požadavky o sledování",
@@ -56,6 +63,7 @@
"column.notifications": "Oznámení",
"column.pins": "Připnuté tooty",
"column.public": "Federovaná časová osa",
+ "column.status": "Toot",
"column_back_button.label": "Zpět",
"column_header.hide_settings": "Skrýt nastavení",
"column_header.moveLeft_settings": "Posunout sloupec doleva",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Jste si jistý/á, že chcete tento seznam navždy smazat?",
"confirmations.domain_block.confirm": "Skrýt celou doménu",
"confirmations.domain_block.message": "Jste si opravdu, opravdu jistý/á, že chcete blokovat celou doménu {domain}? Ve většině případů stačí zablokovat nebo skrýt pár konkrétních uživatelů, což se doporučuje. Z této domény neuvidíte obsah v žádné veřejné časové ose ani v oznámeních. Vaši sledující z této domény budou odstraněni.",
+ "confirmations.logout.confirm": "Odhlásit",
+ "confirmations.logout.message": "Jste si jistý/á, že se chcete odhlásit?",
"confirmations.mute.confirm": "Skrýt",
"confirmations.mute.message": "Jste si jistý/á, že chcete skrýt uživatele {name}?",
"confirmations.redraft.confirm": "Smazat a přepsat",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Odpovězením nyní přepíšete zprávu, kterou aktuálně píšete. Jste si jistý/á, že chcete pokračovat?",
"confirmations.unfollow.confirm": "Přestat sledovat",
"confirmations.unfollow.message": "jste si jistý/á, že chcete přestat sledovat uživatele {name}?",
+ "conversation.delete": "Smazat konverzaci",
+ "conversation.mark_as_read": "Označit jako přečtenou",
+ "conversation.open": "Zobrazit konverzaci",
+ "conversation.with": "S {names}",
+ "directory.federated": "Ze známého fedivesmíru",
+ "directory.local": "Pouze z {domain}",
+ "directory.new_arrivals": "Nově příchozí",
+ "directory.recently_active": "Nedávno aktivní",
"embed.instructions": "Pro přidání tootu na vaši webovou stránku zkopírujte níže uvedený kód.",
"embed.preview": "Takhle to bude vypadat:",
"emoji_button.activity": "Aktivita",
@@ -156,7 +174,7 @@
"home.column_settings.basic": "Základní",
"home.column_settings.show_reblogs": "Zobrazit boosty",
"home.column_settings.show_replies": "Zobrazit odpovědi",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "Aktualizovat v reálném čase",
"intervals.full.days": "{number, plural, one {# den} few {# dny} many {# dne} other {# dní}}",
"intervals.full.hours": "{number, plural, one {# hodina} few {# hodiny} many {# hodiny} other {# hodin}}",
"intervals.full.minutes": "{number, plural, one {# minuta} few {# minuty} many {# minuty} other {# minut}}",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Název nového seznamu",
"lists.search": "Hledejte mezi lidmi, které sledujete",
"lists.subheading": "Vaše seznamy",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# nová položka} few {# nové položky} many {# nových položek} other {# nových položek}}",
"loading_indicator.label": "Načítám…",
"media_gallery.toggle_visible": "Přepínat viditelnost",
"missing_indicator.label": "Nenalezeno",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Osobní",
"navigation_bar.pins": "Připnuté tooty",
"navigation_bar.preferences": "Předvolby",
- "navigation_bar.profile_directory": "Adresář profilů",
"navigation_bar.public_timeline": "Federovaná časová osa",
"navigation_bar.security": "Zabezpečení",
+ "notification.and_n_others": "a {count, plural, one {# další} few {# další} many {# dalších} other {# dalších}}",
"notification.favourite": "{name} si oblíbil/a váš toot",
"notification.follow": "{name} vás začal/a sledovat",
"notification.mention": "{name} vás zmínil/a",
@@ -316,7 +334,7 @@
"search_results.accounts": "Lidé",
"search_results.hashtags": "Hashtagy",
"search_results.statuses": "Tooty",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "Vyhledávání tootů podle jejich obsahu není na tomto serveru Mastodon povoleno.",
"search_results.total": "{count, number} {count, plural, one {výsledek} few {výsledky} many {výsledku} other {výsledků}}",
"status.admin_account": "Otevřít moderátorské rozhraní pro uživatele @{name}",
"status.admin_status": "Otevřít tento toot v moderátorském rozhraní",
@@ -355,6 +373,7 @@
"status.show_more": "Zobrazit více",
"status.show_more_all": "Zobrazit více pro všechny",
"status.show_thread": "Zobrazit vlákno",
+ "status.uncached_media_warning": "Nedostupné",
"status.unmute_conversation": "Odkrýt konverzaci",
"status.unpin": "Odepnout z profilu",
"suggestions.dismiss": "Odmítnout návrh",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Zbývá několik sekund",
"time_remaining.seconds": "{number, plural, one {Zbývá # sekunda} few {Zbývají # sekundy} many {Zbývá # sekundy} other {Zbývá # sekund}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {člověk} few {lidé} many {lidí} other {lidí}} hovoří",
+ "trends.trending_now": "Aktuální trendy",
"ui.beforeunload": "Váš koncept se ztratí, pokud Mastodon opustíte.",
"upload_area.title": "Přetažením nahrajete",
"upload_button.label": "Přidat média (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Byl překročen limit nahraných souborů.",
"upload_error.poll": "Nahrávání souborů není povoleno u anket.",
"upload_form.description": "Popis pro zrakově postižené",
- "upload_form.focus": "Změnit náhled",
+ "upload_form.edit": "Upravit",
"upload_form.undo": "Smazat",
+ "upload_modal.analyzing_picture": "Analyzuji obrázek…",
+ "upload_modal.apply": "Použít",
+ "upload_modal.description_placeholder": "Příliš žluťoučký kůň úpěl ďábelské ódy",
+ "upload_modal.detect_text": "Detekovat text z obrázku",
+ "upload_modal.edit_media": "Upravit média",
+ "upload_modal.hint": "Kliknutím na nebo přetáhnutím kruhu na náhledu vyberte bod soustředění, který bude vždy zobrazen na všech náhledech.",
+ "upload_modal.preview_label": "Náhled ({ratio})",
"upload_progress.label": "Nahrávám…",
"video.close": "Zavřít video",
"video.exit_fullscreen": "Ukončit celou obrazovku",
diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json
index 9de3efda8..eecb43b59 100644
--- a/app/javascript/mastodon/locales/cy.json
+++ b/app/javascript/mastodon/locales/cy.json
@@ -4,6 +4,7 @@
"account.block": "Blocio @{name}",
"account.block_domain": "Cuddio popeth rhag {domain}",
"account.blocked": "Blociwyd",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Neges breifat @{name}",
"account.domain_blocked": "Parth wedi ei guddio",
"account.edit_profile": "Golygu proffil",
@@ -15,6 +16,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.last_status": "Last active",
"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",
@@ -23,6 +25,7 @@
"account.mute": "Tawelu @{name}",
"account.mute_notifications": "Cuddio hysbysiadau o @{name}",
"account.muted": "Distewyd",
+ "account.never_active": "Byth",
"account.posts": "Tŵtiau",
"account.posts_with_replies": "Tŵtiau ac atebion",
"account.report": "Adrodd @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Dad-ddilyn",
"account.unmute": "Dad-dawelu @{name}",
"account.unmute_notifications": "Dad-dawelu hysbysiadau o @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Digwyddodd gwall annisgwyl.",
"alert.unexpected.title": "Wps!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Mae modd gwasgu {combo} er mwyn sgipio hyn tro nesa",
"bundle_column_error.body": "Aeth rhywbeth o'i le tra'n llwytho'r elfen hon.",
"bundle_column_error.retry": "Ceisiwch eto",
@@ -47,6 +53,7 @@
"column.blocks": "Defnyddwyr a flociwyd",
"column.community": "Ffrwd lleol",
"column.direct": "Negeseuon preifat",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Parthau cuddiedig",
"column.favourites": "Ffefrynnau",
"column.follow_requests": "Ceisiadau dilyn",
@@ -56,6 +63,7 @@
"column.notifications": "Hysbysiadau",
"column.pins": "Tŵtiau wedi eu pinio",
"column.public": "Ffrwd y ffederasiwn",
+ "column.status": "Tŵt",
"column_back_button.label": "Nôl",
"column_header.hide_settings": "Cuddio dewisiadau",
"column_header.moveLeft_settings": "Symud y golofn i'r chwith",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Ydych chi'n sicr eich bod eisiau dileu y rhestr hwn am byth?",
"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.",
+ "confirmations.logout.confirm": "Allgofnodi",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Tawelu",
"confirmations.mute.message": "Ydych chi'n sicr eich bod am ddistewi {name}?",
"confirmations.redraft.confirm": "Dileu & ailddrafftio",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Bydd ateb nawr yn cymryd lle y neges yr ydych yn cyfansoddi ar hyn o bryd. Ydych chi'n sicr yr ydych am barhau?",
"confirmations.unfollow.confirm": "Dad-ddilynwch",
"confirmations.unfollow.message": "Ydych chi'n sicr eich bod am ddad-ddilyn {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Nodi fel wedi'i ddarllen",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Mewnblannwch y tŵt hwn ar eich gwefan drwy gopïo'r côd isod.",
"embed.preview": "Dyma sut olwg fydd arno:",
"emoji_button.activity": "Gweithgarwch",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personol",
"navigation_bar.pins": "Tŵtiau wedi eu pinio",
"navigation_bar.preferences": "Dewisiadau",
- "navigation_bar.profile_directory": "Cyfeiriadur Proffil",
"navigation_bar.public_timeline": "Ffrwd y ffederasiwn",
"navigation_bar.security": "Diogelwch",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "hoffodd {name} eich tŵt",
"notification.follow": "dilynodd {name} chi",
"notification.mention": "Soniodd {name} amdanoch chi",
@@ -355,6 +373,7 @@
"status.show_more": "Dangos mwy",
"status.show_more_all": "Dangos mwy i bawb",
"status.show_thread": "Dangos edefyn",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Dad-dawelu sgwrs",
"status.unpin": "Dadbinio o'r proffil",
"suggestions.dismiss": "Diswyddo",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Munudau ar ôl",
"time_remaining.seconds": "{number, plural, one {# eiliad} other {# o eiliadau}} ar ôl",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} yn siarad",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Mi fyddwch yn colli eich drafft os gadewch Mastodon.",
"upload_area.title": "Llusgwch & gollwing i uwchlwytho",
"upload_button.label": "Ychwanegwch gyfryngau (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Wedi mynd heibio'r uchafswm terfyn uwchlwytho.",
"upload_error.poll": "Nid oes modd uwchlwytho ffeiliau â phleidleisiau.",
"upload_form.description": "Disgrifio i'r rheini a nam ar ei golwg",
- "upload_form.focus": "Newid rhagolwg",
+ "upload_form.edit": "Golygu",
"upload_form.undo": "Dileu",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Uwchlwytho...",
"video.close": "Cau fideo",
"video.exit_fullscreen": "Gadael sgrîn llawn",
diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json
index 17080c41e..aef26dbf0 100644
--- a/app/javascript/mastodon/locales/da.json
+++ b/app/javascript/mastodon/locales/da.json
@@ -4,6 +4,7 @@
"account.block": "Bloker @{name}",
"account.block_domain": "Skjul alt fra {domain}",
"account.blocked": "Blokeret",
+ "account.cancel_follow_request": "Annullér følgeranmodning",
"account.direct": "Send en direkte besked til @{name}",
"account.domain_blocked": "Domænet er blevet skjult",
"account.edit_profile": "Rediger profil",
@@ -15,14 +16,16 @@
"account.follows.empty": "Denne bruger følger endnu ikke nogen.",
"account.follows_you": "Følger dig",
"account.hide_reblogs": "Skjul fremhævelserne fra @{name}",
+ "account.last_status": "Sidst aktiv",
"account.link_verified_on": "Ejerskabet af dette link blev tjekket den %{date}",
- "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
+ "account.locked_info": "Denne kontos privatlivsstatus er sat til låst. Ejeren bedømmer manuelt, hvem der kan følge dem.",
"account.media": "Medie",
"account.mention": "Nævn @{name}",
"account.moved_to": "{name} er flyttet til:",
"account.mute": "Dæmp @{name}",
"account.mute_notifications": "Dæmp notifikationer fra @{name}",
"account.muted": "Dæmpet",
+ "account.never_active": "Aldrig",
"account.posts": "Trut",
"account.posts_with_replies": "Trut og svar",
"account.report": "Rapporter @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Følg ikke længere",
"account.unmute": "Fjern dæmpningen af @{name}",
"account.unmute_notifications": "Fjern dæmpningen af notifikationer fra @{name}",
+ "alert.rate_limited.message": "Prøv venligst igen efter {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Der opstod en uventet fejl.",
"alert.unexpected.title": "Ups!",
+ "autosuggest_hashtag.per_week": "{count} per uge",
"boost_modal.combo": "Du kan trykke {combo} for at springe dette over næste gang",
"bundle_column_error.body": "Noget gik galt under indlæsningen af dette komponent.",
"bundle_column_error.retry": "Prøv igen",
@@ -47,6 +53,7 @@
"column.blocks": "Blokerede brugere",
"column.community": "Lokal tidslinje",
"column.direct": "Direkte beskeder",
+ "column.directory": "Gennemse profiler",
"column.domain_blocks": "Skjulte domæner",
"column.favourites": "Favoritter",
"column.follow_requests": "Anmodning om at følge",
@@ -56,6 +63,7 @@
"column.notifications": "Notifikationer",
"column.pins": "Fastgjorte trut",
"column.public": "Fælles tidslinje",
+ "column.status": "Toot",
"column_back_button.label": "Tilbage",
"column_header.hide_settings": "Skjul indstillinger",
"column_header.moveLeft_settings": "Flyt kolonne til venstre",
@@ -71,20 +79,20 @@
"compose_form.lock_disclaimer": "Din konto er ikke {locked}. Alle kan følge dig for at se dine følger-kun indlæg.",
"compose_form.lock_disclaimer.lock": "låst",
"compose_form.placeholder": "Hvad har du på hjertet?",
- "compose_form.poll.add_option": "Add a choice",
- "compose_form.poll.duration": "Poll duration",
- "compose_form.poll.option_placeholder": "Choice {number}",
- "compose_form.poll.remove_option": "Remove this choice",
+ "compose_form.poll.add_option": "Tilføj valgmulighed",
+ "compose_form.poll.duration": "Afstemningens varighed",
+ "compose_form.poll.option_placeholder": "Valgmulighed {number}",
+ "compose_form.poll.remove_option": "Fjern denne valgmulighed",
"compose_form.publish": "Trut",
"compose_form.publish_loud": "{publish}!",
- "compose_form.sensitive.hide": "Mark media as sensitive",
+ "compose_form.sensitive.hide": "Markér medie som følsomt",
"compose_form.sensitive.marked": "Medie er markeret som værende følsomt",
"compose_form.sensitive.unmarked": "Mediet er ikke markeret som værende følsomt",
"compose_form.spoiler.marked": "Teksten er skjult bag en advarsel",
"compose_form.spoiler.unmarked": "Teksten er ikke skjult",
"compose_form.spoiler_placeholder": "Skriv din advarsel her",
"confirmation_modal.cancel": "Annuller",
- "confirmations.block.block_and_report": "Block & Report",
+ "confirmations.block.block_and_report": "Blokér og anmeld",
"confirmations.block.confirm": "Bloker",
"confirmations.block.message": "Er du sikker på, du vil blokere {name}?",
"confirmations.delete.confirm": "Slet",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Er du sikker på, du vil slette denne liste?",
"confirmations.domain_block.confirm": "Skjul helt domæne",
"confirmations.domain_block.message": "Er du helt sikker på du vil blokere hele {domain} domænet? I de fleste tilfælde vil få specifikke blokeringer eller dæmpninger være nok og at fortrække. Du vil ikke se indhold fra det domæne hverken på offentlige tidslinjer eller i dine notifikationer. Dine følgere fra det domæne vil blive fjernet.",
+ "confirmations.logout.confirm": "Log ud",
+ "confirmations.logout.message": "Er du sikker på du vil logge ud?",
"confirmations.mute.confirm": "Dæmp",
"confirmations.mute.message": "Er du sikker på, du vil dæmpe {name}?",
"confirmations.redraft.confirm": "Slet & omskriv",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Hvis du svarer nu vil du overskrive den besked du er ved at skrive. Er du sikker på, du vil fortsætte?",
"confirmations.unfollow.confirm": "Følg ikke længere",
"confirmations.unfollow.message": "Er du sikker på, du ikke længere vil følge {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "Fra kendt fedivers",
+ "directory.local": "Kun fra {domain}",
+ "directory.new_arrivals": "Nye ankomster",
+ "directory.recently_active": "Senest aktiv",
"embed.instructions": "Indlejre denne status på din side ved at kopiere nedenstående kode.",
"embed.preview": "Det kommer til at se således ud:",
"emoji_button.activity": "Aktivitet",
@@ -111,14 +129,14 @@
"emoji_button.nature": "Natur",
"emoji_button.not_found": "Ingen emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objekter",
- "emoji_button.people": "Mennesker",
+ "emoji_button.people": "Personer",
"emoji_button.recent": "Oftest brugt",
"emoji_button.search": "Søg...",
"emoji_button.search_results": "Søgeresultater",
"emoji_button.symbols": "Symboler",
"emoji_button.travel": "Rejser & steder",
"empty_column.account_timeline": "Ingen bidrag her!",
- "empty_column.account_unavailable": "Profile unavailable",
+ "empty_column.account_unavailable": "Profil utilgængelig",
"empty_column.blocks": "Du har ikke blokeret nogen endnu.",
"empty_column.community": "Den lokale tidslinje er tom. Skriv noget offentligt for at starte lavinen!",
"empty_column.direct": "Du har endnu ingen direkte beskeder. Når du sender eller modtager en, vil den vises her.",
@@ -137,7 +155,7 @@
"follow_request.authorize": "Godkend",
"follow_request.reject": "Afvis",
"getting_started.developers": "Udviklere",
- "getting_started.directory": "Profile directory",
+ "getting_started.directory": "Profilliste",
"getting_started.documentation": "Dokumentation",
"getting_started.heading": "Kom igang",
"getting_started.invite": "Inviter folk",
@@ -147,36 +165,36 @@
"hashtag.column_header.tag_mode.all": "og {additional}",
"hashtag.column_header.tag_mode.any": "eller {additional}",
"hashtag.column_header.tag_mode.none": "uden {additional}",
- "hashtag.column_settings.select.no_options_message": "No suggestions found",
- "hashtag.column_settings.select.placeholder": "Enter hashtags…",
- "hashtag.column_settings.tag_mode.all": "All of these",
- "hashtag.column_settings.tag_mode.any": "Any of these",
- "hashtag.column_settings.tag_mode.none": "None of these",
+ "hashtag.column_settings.select.no_options_message": "Ingen forslag fundet",
+ "hashtag.column_settings.select.placeholder": "Indtast hashtags…",
+ "hashtag.column_settings.tag_mode.all": "Alle disse",
+ "hashtag.column_settings.tag_mode.any": "Nogle af disse",
+ "hashtag.column_settings.tag_mode.none": "Ingen af disse",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"home.column_settings.basic": "Grundlæggende",
"home.column_settings.show_reblogs": "Vis fremhævelser",
"home.column_settings.show_replies": "Vis svar",
"home.column_settings.update_live": "Update in real-time",
- "intervals.full.days": "{number, plural, one {# day} other {# days}}",
- "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
- "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
+ "intervals.full.days": "{number, plural, one {# dag} other {# dage}}",
+ "intervals.full.hours": "{number, plural, one {# time} other {# timer}}",
+ "intervals.full.minutes": "{number, plural, one {# minut} other {# minutter}}",
"introduction.federation.action": "Næste",
- "introduction.federation.federated.headline": "Federated",
+ "introduction.federation.federated.headline": "Fælles",
"introduction.federation.federated.text": "Offentlige bidrag fra andre servere af fediversen vil komme til syne i den federated timeline.",
- "introduction.federation.home.headline": "Home",
- "introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
- "introduction.federation.local.headline": "Local",
- "introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
+ "introduction.federation.home.headline": "Hjem",
+ "introduction.federation.home.text": "Statusser fra personer du følger vil blive vist i dit hjemmefeed. Du kan følge alle på enhver server!",
+ "introduction.federation.local.headline": "Lokal",
+ "introduction.federation.local.text": "Offentlige statusser fra personer på samme server som dig vil blive vist i det lokale feed.",
"introduction.interactions.action": "Slut tutorial!",
"introduction.interactions.favourite.headline": "Favorisere",
- "introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
+ "introduction.interactions.favourite.text": "Du kan gemme en status til senere (og vise forfatteren at du kunne lide den) ved at favorisere den.",
"introduction.interactions.reblog.headline": "Boost",
- "introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
+ "introduction.interactions.reblog.text": "Du kan delete andres statusser med dine følgere ved at booste dem.",
"introduction.interactions.reply.headline": "Svar",
"introduction.interactions.reply.text": "Du kan svare andres og din egen bidrag, hvilke vil kæde dem sammen i en konversation.",
"introduction.welcome.action": "Læd os gå!",
"introduction.welcome.headline": "Første skridt",
- "introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
+ "introduction.welcome.text": "Velkommen til fediverset! Om få øjeblikke vil du kunne dele statusser og tale med dine venner på en bred vifte af servere. Men denne server, {domain}, er speciel. Det er på denne server at din profil har hjemme så husk dens navn.",
"keyboard_shortcuts.back": "for at navigere dig tilbage",
"keyboard_shortcuts.blocked": "for at åbne listen over blokerede brugere",
"keyboard_shortcuts.boost": "for at fremhæve",
@@ -205,24 +223,24 @@
"keyboard_shortcuts.search": "for at fokusere søgningen",
"keyboard_shortcuts.start": "for at åbne \"kom igen\" kolonnen",
"keyboard_shortcuts.toggle_hidden": "for at vise/skjule tekst bag CW",
- "keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
+ "keyboard_shortcuts.toggle_sensitivity": "for at vise/skjule medier",
"keyboard_shortcuts.toot": "for at påbegynde et helt nyt trut",
"keyboard_shortcuts.unfocus": "for at fjerne fokus fra skriveområde/søgning",
"keyboard_shortcuts.up": "for at bevæge dig op ad listen",
"lightbox.close": "Luk",
"lightbox.next": "Næste",
"lightbox.previous": "Forrige",
- "lightbox.view_context": "View context",
+ "lightbox.view_context": "Vis kontekst",
"lists.account.add": "Tilføj til liste",
"lists.account.remove": "Fjern fra liste",
"lists.delete": "Slet liste",
"lists.edit": "Rediger liste",
- "lists.edit.submit": "Change title",
+ "lists.edit.submit": "Skift titel",
"lists.new.create": "Tilføj liste",
"lists.new.title_placeholder": "Ny liste titel",
"lists.search": "Søg iblandt folk du følger",
"lists.subheading": "Dine lister",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# nyt punkt} other {# nye punkter}}",
"loading_indicator.label": "Indlæser...",
"media_gallery.toggle_visible": "Ændre synlighed",
"missing_indicator.label": "Ikke fundet",
@@ -239,7 +257,7 @@
"navigation_bar.favourites": "Favoritter",
"navigation_bar.filters": "Dæmpede ord",
"navigation_bar.follow_requests": "Følgeanmodninger",
- "navigation_bar.follows_and_followers": "Follows and followers",
+ "navigation_bar.follows_and_followers": "Følger og følgere",
"navigation_bar.info": "Om denne instans",
"navigation_bar.keyboard_shortcuts": "Hurtigtast",
"navigation_bar.lists": "Lister",
@@ -248,49 +266,49 @@
"navigation_bar.personal": "Personligt",
"navigation_bar.pins": "Fastgjorte trut",
"navigation_bar.preferences": "Præferencer",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Fælles tidslinje",
"navigation_bar.security": "Sikkerhed",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} favoriserede din status",
"notification.follow": "{name} fulgte dig",
"notification.mention": "{name} nævnte dig",
- "notification.poll": "A poll you have voted in has ended",
- "notification.reblog": "{name} fremhævede din status",
+ "notification.poll": "En afstemning, du stemte i, er slut",
+ "notification.reblog": "{name} boostede din status",
"notifications.clear": "Ryd notifikationer",
"notifications.clear_confirmation": "Er du sikker på, du vil rydde alle dine notifikationer permanent?",
- "notifications.column_settings.alert": "Skrivebords notifikationer",
+ "notifications.column_settings.alert": "Skrivebordsnotifikationer",
"notifications.column_settings.favourite": "Favoritter:",
- "notifications.column_settings.filter_bar.advanced": "Display all categories",
- "notifications.column_settings.filter_bar.category": "Quick filter bar",
- "notifications.column_settings.filter_bar.show": "Show",
+ "notifications.column_settings.filter_bar.advanced": "Vis alle kategorier",
+ "notifications.column_settings.filter_bar.category": "Hurtigfilter",
+ "notifications.column_settings.filter_bar.show": "Vis",
"notifications.column_settings.follow": "Nye følgere:",
- "notifications.column_settings.mention": "Omtale:",
- "notifications.column_settings.poll": "Poll results:",
- "notifications.column_settings.push": "Push notifikationer",
- "notifications.column_settings.reblog": "Fremhævelser:",
+ "notifications.column_settings.mention": "Statusser der nævner dig:",
+ "notifications.column_settings.poll": "Afstemningsresultat:",
+ "notifications.column_settings.push": "Pushnotifikationer",
+ "notifications.column_settings.reblog": "Boosts:",
"notifications.column_settings.show": "Vis i kolonne",
"notifications.column_settings.sound": "Afspil lyd",
"notifications.filter.all": "Alle",
"notifications.filter.boosts": "Boosts",
"notifications.filter.favourites": "Favoritter",
"notifications.filter.follows": "Følger",
- "notifications.filter.mentions": "Mentions",
- "notifications.filter.polls": "Poll results",
+ "notifications.filter.mentions": "Statusser der nævner dig",
+ "notifications.filter.polls": "Afstemningsresultat",
"notifications.group": "{count} notifikationer",
- "poll.closed": "Closed",
- "poll.refresh": "Refresh",
- "poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
- "poll.vote": "Vote",
- "poll_button.add_poll": "Add a poll",
- "poll_button.remove_poll": "Remove poll",
- "privacy.change": "Ændre status privatliv",
- "privacy.direct.long": "Post til kun de nævnte brugere",
+ "poll.closed": "Lukket",
+ "poll.refresh": "Opdatér",
+ "poll.total_votes": "{count, plural, one {# stemme} other {# stemmer}}",
+ "poll.vote": "Stem",
+ "poll_button.add_poll": "Tilføj en afstemning",
+ "poll_button.remove_poll": "Fjern afstemning",
+ "privacy.change": "Skift status visningsindstillinger",
+ "privacy.direct.long": "Udgiv kun til nævnte brugere",
"privacy.direct.short": "Direkte",
- "privacy.private.long": "Post kun til følgere",
+ "privacy.private.long": "Udgiv kun til følgere",
"privacy.private.short": "Kun for følgere",
- "privacy.public.long": "Post til offentlige tidslinjer",
+ "privacy.public.long": "Udgiv på offentlige tidslinjer",
"privacy.public.short": "Offentligt",
- "privacy.unlisted.long": "Post ikke til offentlige tidslinjer",
+ "privacy.unlisted.long": "Udgiv ikke på offentlige tidslinjer",
"privacy.unlisted.short": "Ikke listet",
"regeneration_indicator.label": "Indlæser…",
"regeneration_indicator.sublabel": "Din startside er ved at blive forberedt!",
@@ -302,32 +320,32 @@
"reply_indicator.cancel": "Annuller",
"report.forward": "Videresend til {target}",
"report.forward_hint": "Kontoen er fra en anden server. Vil du også sende en anonym kopi af anmeldelsen dertil?",
- "report.hint": "Anmeldelsen vil blive sendt til moderatorene af din instans. Du kan give en forklaring for hvorfor du anmelder denne konto nedenfor:",
+ "report.hint": "Anmeldelsen vil blive sendt til moderatorene af din instans. Du kan give en forklaring på hvorfor du anmelder denne konto nedenfor:",
"report.placeholder": "Yderligere kommentarer",
"report.submit": "Indsend",
"report.target": "Anmelder {target}",
"search.placeholder": "Søg",
"search_popout.search_format": "Avanceret søgeformat",
- "search_popout.tips.full_text": "Simpel tekst returnerer statusser du har skrevet, favoriseret, fremhævet, eller er blevet nævnt i, lige så vel som matchende brugernavne, visningsnavne, og hashtags.",
- "search_popout.tips.hashtag": "emnetag",
+ "search_popout.tips.full_text": "Simpel tekst returnerer statusser du har skrevet, favoriseret, boostet, eller er blevet nævnt i såvel som matchende brugernavne, profilnavne, og hashtags.",
+ "search_popout.tips.hashtag": "hashtag",
"search_popout.tips.status": "status",
- "search_popout.tips.text": "Simpelt tekst returnerer passende visningsnavne, brugernavne og hashtags",
+ "search_popout.tips.text": "Simpel tekst returnerer matchende profilnavne, brugernavne og hashtags",
"search_popout.tips.user": "bruger",
- "search_results.accounts": "Folk",
- "search_results.hashtags": "Emnetags",
+ "search_results.accounts": "Personer",
+ "search_results.hashtags": "Hashtags",
"search_results.statuses": "Trut",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
- "search_results.total": "{count, number} {count, plural, et {result} andre {results}}",
- "status.admin_account": "Open moderation interface for @{name}",
- "status.admin_status": "Open this status in the moderation interface",
+ "search_results.statuses_fts_disabled": "Denne Mastodonserver har ikke aktiveret for søgning af statusser via deres indhold.",
+ "search_results.total": "{count, number} {count, plural, one {resultat} other {resultater}}",
+ "status.admin_account": "Åben modereringsvisning for @{name}",
+ "status.admin_status": "Åben denne status i modereringsvisningen",
"status.block": "Bloker @{name}",
- "status.cancel_reblog_private": "Fremhæv ikke længere",
- "status.cannot_reblog": "Denne post kan ikke fremhæves",
- "status.copy": "Copy link to status",
+ "status.cancel_reblog_private": "Fjern boost",
+ "status.cannot_reblog": "Denne post kan ikke boostes",
+ "status.copy": "Kopiér link til status",
"status.delete": "Slet",
"status.detailed_status": "Detaljeret visning af samtale",
"status.direct": "Send direkte besked til @{name}",
- "status.embed": "Indlejre",
+ "status.embed": "Integrér",
"status.favourite": "Favorit",
"status.filtered": "Filtreret",
"status.load_more": "Indlæs mere",
@@ -340,13 +358,13 @@
"status.pin": "Fastgør til profil",
"status.pinned": "Fastgjort trut",
"status.read_more": "Læs mere",
- "status.reblog": "Fremhæv",
- "status.reblog_private": "Fremhæv til oprindeligt publikum",
- "status.reblogged_by": "{name} fremhævede",
- "status.reblogs.empty": "Der er endnu ingen der har fremhævet dette trut. Når der er nogen der gør, vil det blive vist her.",
+ "status.reblog": "Boost",
+ "status.reblog_private": "Boost til det oprindelige publikum",
+ "status.reblogged_by": "{name} boostede",
+ "status.reblogs.empty": "Der er endnu ingen der har boostet dette trut. Når der er nogen der gør, vil det blive vist her.",
"status.redraft": "Slet og omskriv",
- "status.reply": "Svar",
- "status.replyAll": "Svar samtale",
+ "status.reply": "Besvar",
+ "status.replyAll": "Besvar samtale",
"status.report": "Anmeld @{name}",
"status.sensitive_warning": "Følsomt indhold",
"status.share": "Del",
@@ -354,33 +372,42 @@
"status.show_less_all": "Vis mindre for alle",
"status.show_more": "Vis mere",
"status.show_more_all": "Vis mere for alle",
- "status.show_thread": "Show thread",
- "status.unmute_conversation": "Fjern dæmpningen fra samtale",
- "status.unpin": "Fjern som fastgjort fra profil",
- "suggestions.dismiss": "Dismiss suggestion",
- "suggestions.header": "You might be interested in…",
+ "status.show_thread": "Vis tråd",
+ "status.uncached_media_warning": "Ikke tilgængelig",
+ "status.unmute_conversation": "Genaktivér samtale",
+ "status.unpin": "Frigør fra profil",
+ "suggestions.dismiss": "Afvis foreslag",
+ "suggestions.header": "Du er måske interesseret i…",
"tabs_bar.federated_timeline": "Fælles",
"tabs_bar.home": "Hjem",
"tabs_bar.local_timeline": "Lokal",
"tabs_bar.notifications": "Notifikationer",
"tabs_bar.search": "Søg",
- "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",
- "time_remaining.moments": "Moments remaining",
- "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
- "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} snakker",
+ "time_remaining.days": "{number, plural, one {# dag} other {# dage}} tilbage",
+ "time_remaining.hours": "{number, plural, one {# time} other {# timer}} tilbage",
+ "time_remaining.minutes": "{number, plural, one {# minut} other {# minutter}} tilbage",
+ "time_remaining.moments": "Få øjeblikke tilbage",
+ "time_remaining.seconds": "{number, plural, one {# sekund} other {# sekunder}} tilbage",
+ "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {personer}} snakker",
+ "trends.trending_now": "Hot lige nu",
"ui.beforeunload": "Din kladde vil gå tabt hvis du forlader Mastodon.",
"upload_area.title": "Træk og slip for at uploade",
"upload_button.label": "Tilføj medie (JPEG, PNG, GIF, WebM, MP4, MOV)",
- "upload_error.limit": "File upload limit exceeded.",
- "upload_error.poll": "File upload not allowed with polls.",
- "upload_form.description": "Beskriv for de svagtseende",
- "upload_form.focus": "Beskær",
+ "upload_error.limit": "Uploadgrænse overskredet.",
+ "upload_error.poll": "Filupload ikke tilladt sammen med afstemninger.",
+ "upload_form.description": "Beskriv for svagtseende",
+ "upload_form.edit": "Redigér",
"upload_form.undo": "Slet",
+ "upload_modal.analyzing_picture": "Analyserer billede…",
+ "upload_modal.apply": "Anvend",
+ "upload_modal.description_placeholder": "En hurtig brun ræv hopper over den dovne hund",
+ "upload_modal.detect_text": "Find tekst i billede på automatisk vis",
+ "upload_modal.edit_media": "Redigér medie",
+ "upload_modal.hint": "Klik eller træk cirklen på billedet for at vælge et fokuspunkt.",
+ "upload_modal.preview_label": "Forhåndsvisning ({ratio})",
"upload_progress.label": "Uploader...",
"video.close": "Luk video",
- "video.exit_fullscreen": "Gå ud af fuldskærm",
+ "video.exit_fullscreen": "Forlad fuldskærm",
"video.expand": "Udvid video",
"video.fullscreen": "Fuldskærm",
"video.hide": "Skjul video",
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index 4ae785270..58392eeca 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -4,6 +4,7 @@
"account.block": "@{name} blockieren",
"account.block_domain": "Alles von {domain} verstecken",
"account.blocked": "Blockiert",
+ "account.cancel_follow_request": "Folgeanfrage abbrechen",
"account.direct": "Direktnachricht an @{name}",
"account.domain_blocked": "Domain versteckt",
"account.edit_profile": "Profil bearbeiten",
@@ -15,6 +16,7 @@
"account.follows.empty": "Dieses Profil folgt noch niemandem.",
"account.follows_you": "Folgt dir",
"account.hide_reblogs": "Geteilte Beiträge von @{name} verbergen",
+ "account.last_status": "Zuletzt aktiv",
"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.media": "Medien",
@@ -23,6 +25,7 @@
"account.mute": "@{name} stummschalten",
"account.mute_notifications": "Benachrichtigungen von @{name} verbergen",
"account.muted": "Stummgeschaltet",
+ "account.never_active": "Nie",
"account.posts": "Beiträge",
"account.posts_with_replies": "Beiträge und Antworten",
"account.report": "@{name} melden",
@@ -35,8 +38,11 @@
"account.unfollow": "Entfolgen",
"account.unmute": "@{name} nicht mehr stummschalten",
"account.unmute_notifications": "Benachrichtigungen von @{name} einschalten",
+ "alert.rate_limited.message": "Bitte versuche es nach {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Anfragelimit überschritten",
"alert.unexpected.message": "Ein unerwarteter Fehler ist aufgetreten.",
"alert.unexpected.title": "Hoppla!",
+ "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.",
"bundle_column_error.retry": "Erneut versuchen",
@@ -47,6 +53,7 @@
"column.blocks": "Blockierte Profile",
"column.community": "Lokale Zeitleiste",
"column.direct": "Direktnachrichten",
+ "column.directory": "Profile durchsuchen",
"column.domain_blocks": "Versteckte Domains",
"column.favourites": "Favoriten",
"column.follow_requests": "Folgeanfragen",
@@ -56,6 +63,7 @@
"column.notifications": "Mitteilungen",
"column.pins": "Angeheftete Beiträge",
"column.public": "Föderierte Zeitleiste",
+ "column.status": "Beitrag",
"column_back_button.label": "Zurück",
"column_header.hide_settings": "Einstellungen verbergen",
"column_header.moveLeft_settings": "Spalte nach links verschieben",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Bist du dir sicher, dass du diese Liste permanent löschen möchtest?",
"confirmations.domain_block.confirm": "Die ganze Domain verbergen",
"confirmations.domain_block.message": "Bist du dir wirklich sicher, dass du die ganze Domain {domain} blockieren willst? In den meisten Fällen reichen ein paar gezielte Blockierungen oder Stummschaltungen aus. Nach der Blockierung wirst du nichts mehr von dieser Domain in öffentlichen Zeitleisten oder Benachrichtigungen sehen. Deine Folger_innen von dieser Domain werden auch entfernt.",
+ "confirmations.logout.confirm": "Abmelden",
+ "confirmations.logout.message": "Bist du sicher, dass du dich abmelden möchtest?",
"confirmations.mute.confirm": "Stummschalten",
"confirmations.mute.message": "Bist du dir sicher, dass du {name} stummschalten möchtest?",
"confirmations.redraft.confirm": "Löschen und neu erstellen",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Wenn du jetzt antwortest wird es die gesamte Nachricht verwerfen, die du gerade schreibst. Möchtest du wirklich fortfahren?",
"confirmations.unfollow.confirm": "Entfolgen",
"confirmations.unfollow.message": "Bist du dir sicher, dass du {name} entfolgen möchtest?",
+ "conversation.delete": "Unterhaltung löschen",
+ "conversation.mark_as_read": "Als gelesen markieren",
+ "conversation.open": "Unterhaltung anzeigen",
+ "conversation.with": "Mit {names}",
+ "directory.federated": "Aus dem Fediverse",
+ "directory.local": "Nur von {domain}",
+ "directory.new_arrivals": "Neue Benutzer",
+ "directory.recently_active": "Kürzlich aktiv",
"embed.instructions": "Du kannst diesen Beitrag auf deiner Webseite einbetten, indem du den folgenden Code einfügst.",
"embed.preview": "So wird es aussehen:",
"emoji_button.activity": "Aktivitäten",
@@ -156,7 +174,7 @@
"home.column_settings.basic": "Einfach",
"home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen",
"home.column_settings.show_replies": "Antworten anzeigen",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "In Echtzeit aktualisieren",
"intervals.full.days": "{number, plural, one {# Tag} other {# Tage}}",
"intervals.full.hours": "{number, plural, one {# Stunde} other {# Stunden}}",
"intervals.full.minutes": "{number, plural, one {# Minute} other {# Minuten}}",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Neuer Titel der Liste",
"lists.search": "Suche nach Leuten denen du folgst",
"lists.subheading": "Deine Listen",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# neuer Beitrag} other {# neue Beiträge}}",
"loading_indicator.label": "Wird geladen …",
"media_gallery.toggle_visible": "Sichtbarkeit umschalten",
"missing_indicator.label": "Nicht gefunden",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Persönlich",
"navigation_bar.pins": "Angeheftete Beiträge",
"navigation_bar.preferences": "Einstellungen",
- "navigation_bar.profile_directory": "Profilverzeichnis",
"navigation_bar.public_timeline": "Föderierte Zeitleiste",
"navigation_bar.security": "Sicherheit",
+ "notification.and_n_others": "und {count, plural, one {# andere Person} other {# andere Personen}}",
"notification.favourite": "{name} hat deinen Beitrag favorisiert",
"notification.follow": "{name} folgt dir",
"notification.mention": "{name} hat dich erwähnt",
@@ -316,7 +334,7 @@
"search_results.accounts": "Personen",
"search_results.hashtags": "Hashtags",
"search_results.statuses": "Beiträge",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "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}}",
"status.admin_account": "Öffne Moderationsoberfläche für @{name}",
"status.admin_status": "Öffne Beitrag in der Moderationsoberfläche",
@@ -355,6 +373,7 @@
"status.show_more": "Mehr anzeigen",
"status.show_more_all": "Alle Inhaltswarnungen aufklappen",
"status.show_thread": "Zeige Konversation",
+ "status.uncached_media_warning": "Nicht verfügbar",
"status.unmute_conversation": "Stummschaltung von Konversation aufheben",
"status.unpin": "Vom Profil lösen",
"suggestions.dismiss": "Empfehlung ausblenden",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Schließt in Kürze",
"time_remaining.seconds": "{number, plural, one {# Sekunde} other {# Sekunden}} verbleibend",
"trends.count_by_accounts": "{count} {rawCount, plural, eine {Person} other {Personen}} reden darüber",
+ "trends.trending_now": "In den Trends",
"ui.beforeunload": "Dein Entwurf geht verloren, wenn du Mastodon verlässt.",
"upload_area.title": "Zum Hochladen hereinziehen",
"upload_button.label": "Mediendatei hinzufügen ({formats})",
"upload_error.limit": "Dateiupload-Limit erreicht.",
"upload_error.poll": "Dateiuploads sind in Kombination mit Umfragen nicht erlaubt.",
"upload_form.description": "Für Menschen mit Sehbehinderung beschreiben",
- "upload_form.focus": "Vorschaubild bearbeiten",
+ "upload_form.edit": "Bearbeiten",
"upload_form.undo": "Löschen",
+ "upload_modal.analyzing_picture": "Analysiere Bild…",
+ "upload_modal.apply": "Übernehmen",
+ "upload_modal.description_placeholder": "Franz jagt im komplett verwahrlosten Taxi quer durch Bayern",
+ "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.",
+ "upload_modal.preview_label": "Vorschau ({ratio})",
"upload_progress.label": "Wird hochgeladen …",
"video.close": "Video schließen",
"video.exit_fullscreen": "Vollbild verlassen",
diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json
index 43ce28ec0..887952190 100644
--- a/app/javascript/mastodon/locales/defaultMessages.json
+++ b/app/javascript/mastodon/locales/defaultMessages.json
@@ -8,6 +8,14 @@
{
"defaultMessage": "An unexpected error occurred.",
"id": "alert.unexpected.message"
+ },
+ {
+ "defaultMessage": "Rate limited",
+ "id": "alert.rate_limited.title"
+ },
+ {
+ "defaultMessage": "Please retry after {retry_time, time, medium}.",
+ "id": "alert.rate_limited.message"
}
],
"path": "app/javascript/mastodon/actions/alerts.json"
@@ -71,6 +79,15 @@
],
"path": "app/javascript/mastodon/components/account.json"
},
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "{count} per week",
+ "id": "autosuggest_hashtag.per_week"
+ }
+ ],
+ "path": "app/javascript/mastodon/components/autosuggest_hashtag.json"
+ },
{
"descriptors": [
{
@@ -182,6 +199,10 @@
"defaultMessage": "Toggle visibility",
"id": "media_gallery.toggle_visible"
},
+ {
+ "defaultMessage": "Not available",
+ "id": "status.uncached_media_warning"
+ },
{
"defaultMessage": "Sensitive content",
"id": "status.sensitive_warning"
@@ -577,6 +598,10 @@
"defaultMessage": "Follow",
"id": "account.follow"
},
+ {
+ "defaultMessage": "Cancel follow request",
+ "id": "account.cancel_follow_request"
+ },
{
"defaultMessage": "Awaiting approval. Click to cancel follow request",
"id": "account.requested"
@@ -728,6 +753,27 @@
],
"path": "app/javascript/mastodon/features/account/components/header.json"
},
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "Play",
+ "id": "video.play"
+ },
+ {
+ "defaultMessage": "Pause",
+ "id": "video.pause"
+ },
+ {
+ "defaultMessage": "Mute sound",
+ "id": "video.mute"
+ },
+ {
+ "defaultMessage": "Unmute sound",
+ "id": "video.unmute"
+ }
+ ],
+ "path": "app/javascript/mastodon/features/audio/index.json"
+ },
{
"descriptors": [
{
@@ -804,6 +850,10 @@
{
"defaultMessage": "Muted words",
"id": "navigation_bar.filters"
+ },
+ {
+ "defaultMessage": "Logout",
+ "id": "navigation_bar.logout"
}
],
"path": "app/javascript/mastodon/features/compose/components/action_bar.json"
@@ -1070,6 +1120,15 @@
],
"path": "app/javascript/mastodon/features/compose/components/upload_button.json"
},
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "Uploading…",
+ "id": "upload_progress.label"
+ }
+ ],
+ "path": "app/javascript/mastodon/features/compose/components/upload_form.json"
+ },
{
"descriptors": [
{
@@ -1081,21 +1140,30 @@
},
{
"descriptors": [
- {
- "defaultMessage": "Describe for the visually impaired",
- "id": "upload_form.description"
- },
{
"defaultMessage": "Delete",
"id": "upload_form.undo"
},
{
- "defaultMessage": "Crop",
- "id": "upload_form.focus"
+ "defaultMessage": "Edit",
+ "id": "upload_form.edit"
}
],
"path": "app/javascript/mastodon/features/compose/components/upload.json"
},
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "Are you sure you want to log out?",
+ "id": "confirmations.logout.message"
+ },
+ {
+ "defaultMessage": "Log out",
+ "id": "confirmations.logout.confirm"
+ }
+ ],
+ "path": "app/javascript/mastodon/features/compose/containers/navigation_container.json"
+ },
{
"descriptors": [
{
@@ -1184,10 +1252,68 @@
{
"defaultMessage": "Compose new toot",
"id": "navigation_bar.compose"
+ },
+ {
+ "defaultMessage": "Are you sure you want to log out?",
+ "id": "confirmations.logout.message"
+ },
+ {
+ "defaultMessage": "Log out",
+ "id": "confirmations.logout.confirm"
}
],
"path": "app/javascript/mastodon/features/compose/index.json"
},
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "More",
+ "id": "status.more"
+ },
+ {
+ "defaultMessage": "View conversation",
+ "id": "conversation.open"
+ },
+ {
+ "defaultMessage": "Reply",
+ "id": "status.reply"
+ },
+ {
+ "defaultMessage": "Mark as read",
+ "id": "conversation.mark_as_read"
+ },
+ {
+ "defaultMessage": "Delete conversation",
+ "id": "conversation.delete"
+ },
+ {
+ "defaultMessage": "Mute conversation",
+ "id": "status.mute_conversation"
+ },
+ {
+ "defaultMessage": "Unmute conversation",
+ "id": "status.unmute_conversation"
+ },
+ {
+ "defaultMessage": "With {names}",
+ "id": "conversation.with"
+ }
+ ],
+ "path": "app/javascript/mastodon/features/direct_timeline/components/conversation.json"
+ },
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "Reply",
+ "id": "confirmations.reply.confirm"
+ },
+ {
+ "defaultMessage": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
+ "id": "confirmations.reply.message"
+ }
+ ],
+ "path": "app/javascript/mastodon/features/direct_timeline/containers/conversation_container.json"
+ },
{
"descriptors": [
{
@@ -1201,6 +1327,76 @@
],
"path": "app/javascript/mastodon/features/direct_timeline/index.json"
},
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "Follow",
+ "id": "account.follow"
+ },
+ {
+ "defaultMessage": "Unfollow",
+ "id": "account.unfollow"
+ },
+ {
+ "defaultMessage": "Awaiting approval",
+ "id": "account.requested"
+ },
+ {
+ "defaultMessage": "Unblock @{name}",
+ "id": "account.unblock"
+ },
+ {
+ "defaultMessage": "Unmute @{name}",
+ "id": "account.unmute"
+ },
+ {
+ "defaultMessage": "Are you sure you want to unfollow {name}?",
+ "id": "confirmations.unfollow.message"
+ },
+ {
+ "defaultMessage": "Toots",
+ "id": "account.posts"
+ },
+ {
+ "defaultMessage": "Followers",
+ "id": "account.followers"
+ },
+ {
+ "defaultMessage": "Never",
+ "id": "account.never_active"
+ },
+ {
+ "defaultMessage": "Last active",
+ "id": "account.last_status"
+ }
+ ],
+ "path": "app/javascript/mastodon/features/directory/components/account_card.json"
+ },
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "Browse profiles",
+ "id": "column.directory"
+ },
+ {
+ "defaultMessage": "Recently active",
+ "id": "directory.recently_active"
+ },
+ {
+ "defaultMessage": "New arrivals",
+ "id": "directory.new_arrivals"
+ },
+ {
+ "defaultMessage": "From {domain} only",
+ "id": "directory.local"
+ },
+ {
+ "defaultMessage": "From known fediverse",
+ "id": "directory.federated"
+ }
+ ],
+ "path": "app/javascript/mastodon/features/directory/index.json"
+ },
{
"descriptors": [
{
@@ -1292,6 +1488,15 @@
],
"path": "app/javascript/mastodon/features/following/index.json"
},
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "Trending now",
+ "id": "trends.trending_now"
+ }
+ ],
+ "path": "app/javascript/mastodon/features/getting_started/components/trends.json"
+ },
{
"descriptors": [
{
@@ -1872,6 +2077,10 @@
},
{
"descriptors": [
+ {
+ "defaultMessage": "and {count, plural, one {# other} other {# others}}",
+ "id": "notification.and_n_others"
+ },
{
"defaultMessage": "{name} followed you",
"id": "notification.follow"
@@ -2128,6 +2337,10 @@
"defaultMessage": "Block & Report",
"id": "confirmations.block.block_and_report"
},
+ {
+ "defaultMessage": "Toot",
+ "id": "column.status"
+ },
{
"defaultMessage": "Are you sure you want to block {name}?",
"id": "confirmations.block.message"
@@ -2221,6 +2434,47 @@
],
"path": "app/javascript/mastodon/features/ui/components/embed_modal.json"
},
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "Close",
+ "id": "lightbox.close"
+ },
+ {
+ "defaultMessage": "Apply",
+ "id": "upload_modal.apply"
+ },
+ {
+ "defaultMessage": "A quick brown fox jumps over the lazy dog",
+ "id": "upload_modal.description_placeholder"
+ },
+ {
+ "defaultMessage": "Edit media",
+ "id": "upload_modal.edit_media"
+ },
+ {
+ "defaultMessage": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "id": "upload_modal.hint"
+ },
+ {
+ "defaultMessage": "Describe for the visually impaired",
+ "id": "upload_form.description"
+ },
+ {
+ "defaultMessage": "Analyzing picture…",
+ "id": "upload_modal.analyzing_picture"
+ },
+ {
+ "defaultMessage": "Detect text from picture",
+ "id": "upload_modal.detect_text"
+ },
+ {
+ "defaultMessage": "Preview ({ratio})",
+ "id": "upload_modal.preview_label"
+ }
+ ],
+ "path": "app/javascript/mastodon/features/ui/components/focal_point_modal.json"
+ },
{
"descriptors": [
{
@@ -2232,6 +2486,14 @@
},
{
"descriptors": [
+ {
+ "defaultMessage": "Are you sure you want to log out?",
+ "id": "confirmations.logout.message"
+ },
+ {
+ "defaultMessage": "Log out",
+ "id": "confirmations.logout.confirm"
+ },
{
"defaultMessage": "Invite people",
"id": "getting_started.invite"
@@ -2347,6 +2609,10 @@
"defaultMessage": "Lists",
"id": "navigation_bar.lists"
},
+ {
+ "defaultMessage": "Profile directory",
+ "id": "getting_started.directory"
+ },
{
"defaultMessage": "Preferences",
"id": "navigation_bar.preferences"
@@ -2354,10 +2620,6 @@
{
"defaultMessage": "Follows and followers",
"id": "navigation_bar.follows_and_followers"
- },
- {
- "defaultMessage": "Profile directory",
- "id": "navigation_bar.profile_directory"
}
],
"path": "app/javascript/mastodon/features/ui/components/navigation_panel.json"
diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json
index df85c025f..ffbdefaeb 100644
--- a/app/javascript/mastodon/locales/el.json
+++ b/app/javascript/mastodon/locales/el.json
@@ -4,6 +4,7 @@
"account.block": "Αποκλισμός @{name}",
"account.block_domain": "Απόκρυψε τα πάντα από το {domain}",
"account.blocked": "Αποκλεισμένος/η",
+ "account.cancel_follow_request": "Ακύρωση αιτήματος παρακολούθησης",
"account.direct": "Προσωπικό μήνυμα προς @{name}",
"account.domain_blocked": "Κρυμμένος τομέας",
"account.edit_profile": "Επεξεργασία προφίλ",
@@ -15,6 +16,7 @@
"account.follows.empty": "Αυτός ο χρήστης δεν ακολουθεί κανέναν ακόμα.",
"account.follows_you": "Σε ακολουθεί",
"account.hide_reblogs": "Απόκρυψη προωθήσεων από @{name}",
+ "account.last_status": "Τελευταία δραστηριότητα",
"account.link_verified_on": "Η ιδιοκτησία αυτού του συνδέσμου ελέχθηκε την {date}",
"account.locked_info": "Η κατάσταση απορρήτου αυτού του λογαριασμού είναι κλειδωμένη. Ο ιδιοκτήτης επιβεβαιώνει χειροκίνητα ποιος μπορεί να τον ακολουθήσει.",
"account.media": "Πολυμέσα",
@@ -23,6 +25,7 @@
"account.mute": "Σώπασε @{name}",
"account.mute_notifications": "Σώπασε τις ειδοποιήσεις από @{name}",
"account.muted": "Αποσιωπημένος/η",
+ "account.never_active": "Ποτέ",
"account.posts": "Τουτ",
"account.posts_with_replies": "Τουτ και απαντήσεις",
"account.report": "Κατάγγειλε @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Διακοπή παρακολούθησης",
"account.unmute": "Διακοπή αποσιώπησης @{name}",
"account.unmute_notifications": "Διακοπή αποσιώπησης ειδοποιήσεων του/της @{name}",
+ "alert.rate_limited.message": "Παρακαλούμε δοκίμασε ξανά αφού περάσει η {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Περιορισμός συχνότητας",
"alert.unexpected.message": "Προέκυψε απροσδόκητο σφάλμα.",
"alert.unexpected.title": "Εεπ!",
+ "autosuggest_hashtag.per_week": "{count} ανα εβδομάδα",
"boost_modal.combo": "Μπορείς να πατήσεις {combo} για να το προσπεράσεις αυτό την επόμενη φορά",
"bundle_column_error.body": "Κάτι πήγε στραβά ενώ φορτωνόταν αυτό το στοιχείο.",
"bundle_column_error.retry": "Δοκίμασε ξανά",
@@ -47,6 +53,7 @@
"column.blocks": "Αποκλεισμένοι χρήστες",
"column.community": "Τοπική ροή",
"column.direct": "Προσωπικά μηνύματα",
+ "column.directory": "Δες προφίλ",
"column.domain_blocks": "Κρυμμένοι τομείς",
"column.favourites": "Αγαπημένα",
"column.follow_requests": "Αιτήματα ακολούθησης",
@@ -56,6 +63,7 @@
"column.notifications": "Ειδοποιήσεις",
"column.pins": "Καρφιτσωμένα τουτ",
"column.public": "Ομοσπονδιακή ροή",
+ "column.status": "Τουτ",
"column_back_button.label": "Πίσω",
"column_header.hide_settings": "Απόκρυψη ρυθμίσεων",
"column_header.moveLeft_settings": "Μεταφορά κολώνας αριστερά",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Σίγουρα θες να διαγράψεις οριστικά αυτή τη λίστα;",
"confirmations.domain_block.confirm": "Απόκρυψη ολόκληρου του τομέα",
"confirmations.domain_block.message": "Σίγουρα θες να μπλοκάρεις ολόκληρο το {domain}; Συνήθως μερικά εστιασμένα μπλοκ ή αποσιωπήσεις επαρκούν και προτιμούνται. Δεν θα βλέπεις περιεχόμενο από αυτό τον κόμβο σε καμία δημόσια ροή, ούτε στις ειδοποιήσεις σου. Όσους ακόλουθους έχεις αυτό αυτό τον κόμβο θα αφαιρεθούν.",
+ "confirmations.logout.confirm": "Αποσύνδεση",
+ "confirmations.logout.message": "Σίγουρα θέλεις να αποσυνδεθείς;",
"confirmations.mute.confirm": "Αποσιώπηση",
"confirmations.mute.message": "Σίγουρα θες να αποσιωπήσεις {name};",
"confirmations.redraft.confirm": "Διαγραφή & ξαναγράψιμο",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Απαντώντας τώρα θα αντικαταστήσεις το κείμενο που ήδη γράφεις. Σίγουρα θέλεις να συνεχίσεις;",
"confirmations.unfollow.confirm": "Διακοπή παρακολούθησης",
"confirmations.unfollow.message": "Σίγουρα θες να πάψεις να ακολουθείς τον/την {name};",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "Από το γνωστό fediverse",
+ "directory.local": "Μόνο από {domain}",
+ "directory.new_arrivals": "Νέες αφίξεις",
+ "directory.recently_active": "Πρόσφατα ενεργοί",
"embed.instructions": "Ενσωματώστε αυτή την κατάσταση στην ιστοσελίδα σας αντιγράφοντας τον παρακάτω κώδικα.",
"embed.preview": "Ορίστε πως θα φαίνεται:",
"emoji_button.activity": "Δραστηριότητα",
@@ -153,10 +171,10 @@
"hashtag.column_settings.tag_mode.any": "Οποιοδήποτε από αυτά",
"hashtag.column_settings.tag_mode.none": "Κανένα από αυτά",
"hashtag.column_settings.tag_toggle": "Προσθήκη επιπλέον ταμπελών για την κολώνα",
- "home.column_settings.basic": "Βασικά",
+ "home.column_settings.basic": "Βασικές ρυθμίσεις",
"home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων",
"home.column_settings.show_replies": "Εμφάνιση απαντήσεων",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "Ενημέρωση σε πραγματικό χρόνο",
"intervals.full.days": "{number, plural, one {# μέρα} other {# μέρες}}",
"intervals.full.hours": "{number, plural, one {# ώρα} other {# ώρες}}",
"intervals.full.minutes": "{number, plural, one {# λεπτό} other {# λεπτά}}",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Τίτλος νέας λίστα",
"lists.search": "Αναζήτησε μεταξύ των ανθρώπων που ακουλουθείς",
"lists.subheading": "Οι λίστες σου",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# νέο} other {# νέα}}",
"loading_indicator.label": "Φορτώνει...",
"media_gallery.toggle_visible": "Εναλλαγή ορατότητας",
"missing_indicator.label": "Δε βρέθηκε",
@@ -239,7 +257,7 @@
"navigation_bar.favourites": "Αγαπημένα",
"navigation_bar.filters": "Αποσιωπημένες λέξεις",
"navigation_bar.follow_requests": "Αιτήματα ακολούθησης",
- "navigation_bar.follows_and_followers": "Ακολουθεί και ακολουθείται",
+ "navigation_bar.follows_and_followers": "Ακολουθείς και σε ακολουθούν",
"navigation_bar.info": "Πληροφορίες κόμβου",
"navigation_bar.keyboard_shortcuts": "Συντομεύσεις",
"navigation_bar.lists": "Λίστες",
@@ -248,13 +266,13 @@
"navigation_bar.personal": "Προσωπικά",
"navigation_bar.pins": "Καρφιτσωμένα τουτ",
"navigation_bar.preferences": "Προτιμήσεις",
- "navigation_bar.profile_directory": "Κατάλογος λογαριασμών",
"navigation_bar.public_timeline": "Ομοσπονδιακή ροή",
"navigation_bar.security": "Ασφάλεια",
+ "notification.and_n_others": "και {count, plural, one {# άλλη} other {# άλλες}}",
"notification.favourite": "Ο/Η {name} σημείωσε ως αγαπημένη την κατάστασή σου",
"notification.follow": "Ο/Η {name} σε ακολούθησε",
"notification.mention": "Ο/Η {name} σε ανέφερε",
- "notification.poll": "Έλαβε τέλος μια από τις ψηφοφορίες που συμμετείχες",
+ "notification.poll": "Τελείωσε μια από τις ψηφοφορίες που συμμετείχες",
"notification.reblog": "Ο/Η {name} προώθησε την κατάστασή σου",
"notifications.clear": "Καθαρισμός ειδοποιήσεων",
"notifications.clear_confirmation": "Σίγουρα θέλεις να καθαρίσεις όλες τις ειδοποιήσεις σου;",
@@ -316,7 +334,7 @@
"search_results.accounts": "Άνθρωποι",
"search_results.hashtags": "Ταμπέλες",
"search_results.statuses": "Τουτ",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "Η αναζήτηση τουτ βάσει του περιεχόμενού τους δεν είναι ενεργοποιημένη σε αυτό τον κόμβο.",
"search_results.total": "{count, number} {count, plural, zero {αποτελέσματα} one {αποτέλεσμα} other {αποτελέσματα}}",
"status.admin_account": "Άνοιγμα λειτουργίας διαμεσολάβησης για τον/την @{name}",
"status.admin_status": "Άνοιγμα αυτής της δημοσίευσης στη λειτουργία διαμεσολάβησης",
@@ -355,13 +373,14 @@
"status.show_more": "Δείξε περισσότερα",
"status.show_more_all": "Δείξε περισσότερα για όλα",
"status.show_thread": "Εμφάνιση νήματος",
+ "status.uncached_media_warning": "Μη διαθέσιμα",
"status.unmute_conversation": "Διέκοψε την αποσιώπηση της συζήτησης",
"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 {# ημέρες}}",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Απομένουν στιγμές",
"time_remaining.seconds": "απομένουν {number, plural, one {# δευτερόλεπτο} other {# δευτερόλεπτα}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} μιλάνε",
+ "trends.trending_now": "Δημοφιλή τώρα",
"ui.beforeunload": "Το προσχέδιό σου θα χαθεί αν φύγεις από το Mastodon.",
"upload_area.title": "Drag & drop για να ανεβάσεις",
"upload_button.label": "Πρόσθεσε πολυμέσα (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Υπέρβαση ορίου μεγέθους ανεβασμένων αρχείων.",
"upload_error.poll": "Στις δημοσκοπήσεις δεν επιτρέπεται η μεταφόρτωση αρχείου.",
"upload_form.description": "Περιέγραψε για όσους & όσες έχουν προβλήματα όρασης",
- "upload_form.focus": "Αλλαγή προεπισκόπησης",
+ "upload_form.edit": "Ενημέρωση",
"upload_form.undo": "Διαγραφή",
+ "upload_modal.analyzing_picture": "Ανάλυση εικόνας…",
+ "upload_modal.apply": "Εφαρμογή",
+ "upload_modal.description_placeholder": "Λύκος μαύρος και ισχνός του πατέρα του καημός",
+ "upload_modal.detect_text": "Αναγνώριση κειμένου από την εικόνα",
+ "upload_modal.edit_media": "Επεξεργασία Πολυμέσων",
+ "upload_modal.hint": "Κάνε κλικ ή σείρε τον κύκλο στην προεπισκόπηση για να επιλέξεις το σημείο εστίασης που θα είναι πάντα εμφανές σε όλες τις μικρογραφίες.",
+ "upload_modal.preview_label": "Προεπισκόπηση ({ratio})",
"upload_progress.label": "Ανεβαίνει...",
"video.close": "Κλείσε το βίντεο",
"video.exit_fullscreen": "Έξοδος από πλήρη οθόνη",
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index 7e69e27c6..0b9511800 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -4,6 +4,7 @@
"account.block": "Block @{name}",
"account.block_domain": "Hide everything from {domain}",
"account.blocked": "Blocked",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Direct message @{name}",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Edit profile",
@@ -15,6 +16,7 @@
"account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "Follows you",
"account.hide_reblogs": "Hide boosts from @{name}",
+ "account.last_status": "Last active",
"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",
@@ -23,6 +25,7 @@
"account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted",
+ "account.never_active": "Never",
"account.posts": "Toots",
"account.posts_with_replies": "Toots and replies",
"account.report": "Report @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Unfollow",
"account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
+ "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!",
+ "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",
@@ -47,6 +53,7 @@
"column.blocks": "Blocked users",
"column.community": "Local timeline",
"column.direct": "Direct messages",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Hidden domains",
"column.favourites": "Favourites",
"column.follow_requests": "Follow requests",
@@ -56,6 +63,7 @@
"column.notifications": "Notifications",
"column.pins": "Pinned toots",
"column.public": "Federated timeline",
+ "column.status": "Toot",
"column_back_button.label": "Back",
"column_header.hide_settings": "Hide settings",
"column_header.moveLeft_settings": "Move column to the left",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
"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.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"confirmations.redraft.confirm": "Delete & redraft",
@@ -101,6 +111,14 @@
"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.message": "Are you sure you want to unfollow {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "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",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Pinned toots",
"navigation_bar.preferences": "Preferences",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} favourited your status",
"notification.follow": "{name} followed you",
"notification.mention": "{name} mentioned you",
@@ -355,6 +373,7 @@
"status.show_more": "Show more",
"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.unpin": "Unpin from profile",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Drag & drop to upload",
"upload_button.label": "Add media ({formats})",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Describe for the visually impaired",
- "upload_form.focus": "Change preview",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Delete",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Uploading...",
"video.close": "Close video",
"video.exit_fullscreen": "Exit full screen",
diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json
index ddc694252..ee224e9fb 100644
--- a/app/javascript/mastodon/locales/eo.json
+++ b/app/javascript/mastodon/locales/eo.json
@@ -4,6 +4,7 @@
"account.block": "Bloki @{name}",
"account.block_domain": "Kaŝi ĉion de {domain}",
"account.blocked": "Blokita",
+ "account.cancel_follow_request": "Nuligi peton de sekvado",
"account.direct": "Rekte mesaĝi @{name}",
"account.domain_blocked": "Domajno kaŝita",
"account.edit_profile": "Redakti profilon",
@@ -15,14 +16,16 @@
"account.follows.empty": "Tiu uzanto ankoraŭ ne sekvas iun.",
"account.follows_you": "Sekvas vin",
"account.hide_reblogs": "Kaŝi diskonigojn de @{name}",
+ "account.last_status": "Laste aktiva",
"account.link_verified_on": "La posedanto de tiu ligilo estis kontrolita je {date}",
"account.locked_info": "La privateco de tiu konto estas elektita kiel fermita. La posedanto povas mane akcepti tiun, kiu povas sekvi rin.",
"account.media": "Aŭdovidaĵoj",
"account.mention": "Mencii @{name}",
"account.moved_to": "{name} moviĝis al:",
"account.mute": "Silentigi @{name}",
- "account.mute_notifications": "Silentigi sciigojn el @{name}",
+ "account.mute_notifications": "Silentigi sciigojn de @{name}",
"account.muted": "Silentigita",
+ "account.never_active": "Neniam",
"account.posts": "Mesaĝoj",
"account.posts_with_replies": "Kun respondoj",
"account.report": "Signali @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Ne plu sekvi",
"account.unmute": "Malsilentigi @{name}",
"account.unmute_notifications": "Malsilentigi sciigojn de @{name}",
+ "alert.rate_limited.message": "Bonvolu reprovi post {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Mesaĝkvante limigita",
"alert.unexpected.message": "Neatendita eraro okazis.",
"alert.unexpected.title": "Ups!",
+ "autosuggest_hashtag.per_week": "{count} semajne",
"boost_modal.combo": "Vi povas premi {combo} por preterpasi sekvafoje",
"bundle_column_error.body": "Io misfunkciis en la ŝargado de ĉi tiu elemento.",
"bundle_column_error.retry": "Bonvolu reprovi",
@@ -47,6 +53,7 @@
"column.blocks": "Blokitaj uzantoj",
"column.community": "Loka tempolinio",
"column.direct": "Rektaj mesaĝoj",
+ "column.directory": "Trarigardi profilojn",
"column.domain_blocks": "Kaŝitaj domajnoj",
"column.favourites": "Stelumoj",
"column.follow_requests": "Petoj de sekvado",
@@ -56,6 +63,7 @@
"column.notifications": "Sciigoj",
"column.pins": "Alpinglitaj mesaĝoj",
"column.public": "Fratara tempolinio",
+ "column.status": "Mesaĝo",
"column_back_button.label": "Reveni",
"column_header.hide_settings": "Kaŝi agordojn",
"column_header.moveLeft_settings": "Movi kolumnon maldekstren",
@@ -71,20 +79,20 @@
"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",
"compose_form.placeholder": "Pri kio vi pensas?",
- "compose_form.poll.add_option": "Aldoni elekto",
- "compose_form.poll.duration": "Balotenketo daŭro",
- "compose_form.poll.option_placeholder": "elekto {number}",
- "compose_form.poll.remove_option": "Forigi ĉi tiu elekton",
+ "compose_form.poll.add_option": "Aldoni elekteblon",
+ "compose_form.poll.duration": "Balotenketa daŭro",
+ "compose_form.poll.option_placeholder": "Elekteblo {number}",
+ "compose_form.poll.remove_option": "Forigi ĉi tiu elekteblon",
"compose_form.publish": "Hup",
"compose_form.publish_loud": "{publish}!",
- "compose_form.sensitive.hide": "Marki aŭdovidaĵojn kiel tiklaj",
+ "compose_form.sensitive.hide": "Marki la aŭdovidaĵojn kiel tiklaj",
"compose_form.sensitive.marked": "Aŭdovidaĵo markita tikla",
"compose_form.sensitive.unmarked": "Aŭdovidaĵo ne markita tikla",
"compose_form.spoiler.marked": "Teksto kaŝita malantaŭ averto",
"compose_form.spoiler.unmarked": "Teksto ne kaŝita",
"compose_form.spoiler_placeholder": "Skribu vian averton ĉi tie",
"confirmation_modal.cancel": "Nuligi",
- "confirmations.block.block_and_report": "Bloki & Signali",
+ "confirmations.block.block_and_report": "Bloki kaj signali",
"confirmations.block.confirm": "Bloki",
"confirmations.block.message": "Ĉu vi certas, ke vi volas bloki {name}?",
"confirmations.delete.confirm": "Forigi",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Ĉu vi certas, ke vi volas porĉiame forigi ĉi tiun liston?",
"confirmations.domain_block.confirm": "Kaŝi la tutan domajnon",
"confirmations.domain_block.message": "Ĉu vi vere, vere certas, ke vi volas tute bloki {domain}? Plej ofte, trafa blokado kaj silentigado sufiĉas kaj preferindas. Vi ne vidos enhavon de tiu domajno en publika tempolinio aŭ en viaj sciigoj. Viaj sekvantoj de tiu domajno estos forigitaj.",
+ "confirmations.logout.confirm": "Elsaluti",
+ "confirmations.logout.message": "Ĉu vi certas ke vi volas elsaluti?",
"confirmations.mute.confirm": "Silentigi",
"confirmations.mute.message": "Ĉu vi certas, ke vi volas silentigi {name}?",
"confirmations.redraft.confirm": "Forigi kaj reskribi",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Respondi nun anstataŭigos la mesaĝon, kiun vi nun skribas. Ĉu vi certas, ke vi volas daŭrigi?",
"confirmations.unfollow.confirm": "Ne plu sekvi",
"confirmations.unfollow.message": "Ĉu vi certas, ke vi volas ĉesi sekvi {name}?",
+ "conversation.delete": "Forigi konversacion",
+ "conversation.mark_as_read": "Marki legita",
+ "conversation.open": "Vidi konversacion",
+ "conversation.with": "Kun {names}",
+ "directory.federated": "El konata fediverso",
+ "directory.local": "Nur de {domain}",
+ "directory.new_arrivals": "Novaj alvenoj",
+ "directory.recently_active": "Lastatempe aktiva",
"embed.instructions": "Enkorpigu ĉi tiun mesaĝon en vian retejon per kopio de la suba kodo.",
"embed.preview": "Ĝi aperos tiel:",
"emoji_button.activity": "Agadoj",
@@ -152,18 +170,18 @@
"hashtag.column_settings.tag_mode.all": "Ĉiuj",
"hashtag.column_settings.tag_mode.any": "Iu ajn",
"hashtag.column_settings.tag_mode.none": "Neniu",
- "hashtag.column_settings.tag_toggle": "Inkluzivi pluajn etikedojn por ĉi tiu kolumno",
+ "hashtag.column_settings.tag_toggle": "Aldoni pliajn etikedojn por ĉi tiu kolumno",
"home.column_settings.basic": "Bazaj agordoj",
"home.column_settings.show_reblogs": "Montri diskonigojn",
"home.column_settings.show_replies": "Montri respondojn",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "Tuje ĝisdatigi",
"intervals.full.days": "{number, plural, one {# tago} other {# tagoj}}",
"intervals.full.hours": "{number, plural, one {# horo} other {# horoj}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutoj}}",
"introduction.federation.action": "Sekva",
- "introduction.federation.federated.headline": "Federacio",
+ "introduction.federation.federated.headline": "Fratara",
"introduction.federation.federated.text": "Publikaj mesaĝoj el aliaj serviloj de la Fediverse aperos en la fratara tempolinio.",
- "introduction.federation.home.headline": "Heimo",
+ "introduction.federation.home.headline": "Hejmo",
"introduction.federation.home.text": "Mesaĝoj de homoj, kiujn vi sekvas, aperos en via hejma fluo. Vi povas sekvi iun ajn de ajna servilo!",
"introduction.federation.local.headline": "Loka",
"introduction.federation.local.text": "Publikaj mesaĝoj de homoj de via servilo aperos en la loka tempolinio.",
@@ -212,7 +230,7 @@
"lightbox.close": "Fermi",
"lightbox.next": "Sekva",
"lightbox.previous": "Antaŭa",
- "lightbox.view_context": "Vidi kontekston",
+ "lightbox.view_context": "Vidi kuntekston",
"lists.account.add": "Aldoni al la listo",
"lists.account.remove": "Forigi de la listo",
"lists.delete": "Forigi la liston",
@@ -222,12 +240,12 @@
"lists.new.title_placeholder": "Titolo de la nova listo",
"lists.search": "Serĉi inter la homoj, kiujn vi sekvas",
"lists.subheading": "Viaj listoj",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count,plural, one {# nova elemento} other {# novaj elementoj}}",
"loading_indicator.label": "Ŝargado…",
"media_gallery.toggle_visible": "Baskuligi videblecon",
"missing_indicator.label": "Ne trovita",
"missing_indicator.sublabel": "Ĉi tiu elemento ne estis trovita",
- "mute_modal.hide_notifications": "Ĉu vi volas kaŝi la sciigojn el ĉi tiu uzanto?",
+ "mute_modal.hide_notifications": "Ĉu vi volas kaŝi la sciigojn de ĉi tiu uzanto?",
"navigation_bar.apps": "Telefonaj aplikaĵoj",
"navigation_bar.blocks": "Blokitaj uzantoj",
"navigation_bar.community_timeline": "Loka tempolinio",
@@ -248,13 +266,13 @@
"navigation_bar.personal": "Persone",
"navigation_bar.pins": "Alpinglitaj mesaĝoj",
"navigation_bar.preferences": "Preferoj",
- "navigation_bar.profile_directory": "Profilujo",
"navigation_bar.public_timeline": "Fratara tempolinio",
"navigation_bar.security": "Sekureco",
+ "notification.and_n_others": "kaj {count, plural, one {# alia} other {# aliaj}}",
"notification.favourite": "{name} stelumis vian mesaĝon",
"notification.follow": "{name} eksekvis vin",
"notification.mention": "{name} menciis vin",
- "notification.poll": "Balotenketo ke vi balotis estas finita",
+ "notification.poll": "Partoprenita balotenketo finiĝis",
"notification.reblog": "{name} diskonigis vian mesaĝon",
"notifications.clear": "Forviŝi sciigojn",
"notifications.clear_confirmation": "Ĉu vi certas, ke vi volas porĉiame forviŝi ĉiujn viajn sciigojn?",
@@ -265,7 +283,7 @@
"notifications.column_settings.filter_bar.show": "Montri",
"notifications.column_settings.follow": "Novaj sekvantoj:",
"notifications.column_settings.mention": "Mencioj:",
- "notifications.column_settings.poll": "Balotenketo rezulto:",
+ "notifications.column_settings.poll": "Balotenketaj rezultoj:",
"notifications.column_settings.push": "Puŝsciigoj",
"notifications.column_settings.reblog": "Diskonigoj:",
"notifications.column_settings.show": "Montri en kolumno",
@@ -275,7 +293,7 @@
"notifications.filter.favourites": "Stelumoj",
"notifications.filter.follows": "Sekvoj",
"notifications.filter.mentions": "Mencioj",
- "notifications.filter.polls": "Balotenketoj rezultoj",
+ "notifications.filter.polls": "Balotenketaj rezultoj",
"notifications.group": "{count} sciigoj",
"poll.closed": "Finita",
"poll.refresh": "Aktualigi",
@@ -316,12 +334,12 @@
"search_results.accounts": "Homoj",
"search_results.hashtags": "Kradvortoj",
"search_results.statuses": "Mesaĝoj",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "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}}",
"status.admin_account": "Malfermi la kontrolan interfacon por @{name}",
"status.admin_status": "Malfermi ĉi tiun mesaĝon en la kontrola interfaco",
"status.block": "Bloki @{name}",
- "status.cancel_reblog_private": "Eksdiskonigi",
+ "status.cancel_reblog_private": "Ne plu diskonigi",
"status.cannot_reblog": "Ĉi tiu mesaĝo ne diskonigeblas",
"status.copy": "Kopii la ligilon al la mesaĝo",
"status.delete": "Forigi",
@@ -355,6 +373,7 @@
"status.show_more": "Grandigi",
"status.show_more_all": "Grandigi ĉiujn",
"status.show_thread": "Montri la fadenon",
+ "status.uncached_media_warning": "Nedisponebla",
"status.unmute_conversation": "Malsilentigi la konversacion",
"status.unpin": "Depingli de profilo",
"suggestions.dismiss": "Forigi la proponon",
@@ -364,26 +383,34 @@
"tabs_bar.local_timeline": "Loka tempolinio",
"tabs_bar.notifications": "Sciigoj",
"tabs_bar.search": "Serĉi",
- "time_remaining.days": "{number, plural, one {# tago} other {# tagoj}} restanta",
- "time_remaining.hours": "{number, plural, one {# horo} other {# horoj}} restanta",
- "time_remaining.minutes": "{number, plural, one {# minuto} other {# minutoj}} restanta",
- "time_remaining.moments": "Momento restanta",
- "time_remaining.seconds": "{number, plural, one {# sekundo} other {# sekundoj}} restanta",
+ "time_remaining.days": "{number, plural, one {# tago} other {# tagoj}} restas",
+ "time_remaining.hours": "{number, plural, one {# horo} other {# horoj}} restas",
+ "time_remaining.minutes": "{number, plural, one {# minuto} other {# minutoj}} restas",
+ "time_remaining.moments": "Momenteto restas",
+ "time_remaining.seconds": "{number, plural, one {# sekundo} other {# sekundoj}} restas",
"trends.count_by_accounts": "{count} {rawCount, plural, one {persono} other {personoj}} parolas",
+ "trends.trending_now": "Nunaj furoraĵoj",
"ui.beforeunload": "Via malneto perdiĝos se vi eliras de Mastodon.",
"upload_area.title": "Altreni kaj lasi por alŝuti",
"upload_button.label": "Aldoni aŭdovidaĵon (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Limo de dosiera alŝutado transpasita.",
- "upload_error.poll": "Alŝuto de dosiero ne permisita kun balotenketo",
+ "upload_error.poll": "Alŝuto de dosiero ne permesita kun balotenketo.",
"upload_form.description": "Priskribi por misvidantaj homoj",
- "upload_form.focus": "Antaŭvido de ŝanĝo",
+ "upload_form.edit": "Redakti",
"upload_form.undo": "Forigi",
+ "upload_modal.analyzing_picture": "Bilda analizado…",
+ "upload_modal.apply": "Apliki",
+ "upload_modal.description_placeholder": "Laŭ Ludoviko Zamenhof bongustas freŝa ĉeĥa manĝaĵo kun spicoj",
+ "upload_modal.detect_text": "Detekti tekston de la bildo",
+ "upload_modal.edit_media": "Redakti aŭdovidaĵon",
+ "upload_modal.hint": "Klaku aŭ trenu la cirklon en la antaŭvidilo por elekti la fokuspunkton kiu ĉiam videblos en ĉiuj etigitaj bildoj.",
+ "upload_modal.preview_label": "Antaŭvido ({ratio})",
"upload_progress.label": "Alŝutado…",
- "video.close": "Fermi videon",
+ "video.close": "Fermi la videon",
"video.exit_fullscreen": "Eksigi plenekrana",
- "video.expand": "Grandigi videon",
+ "video.expand": "Grandigi la videon",
"video.fullscreen": "Igi plenekrana",
- "video.hide": "Kaŝi videon",
+ "video.hide": "Kaŝi la videon",
"video.mute": "Silentigi",
"video.pause": "Paŭzi",
"video.play": "Ekigi",
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index dc42bc7ef..54466f1ac 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -1,21 +1,23 @@
{
- "account.add_or_remove_from_list": "Agregar o eliminar de las listas",
+ "account.add_or_remove_from_list": "Agregar o eliminar de listas",
"account.badges.bot": "Bot",
- "account.block": "Bloquear",
+ "account.block": "Bloquear a @{name}",
"account.block_domain": "Ocultar todo de {domain}",
"account.blocked": "Bloqueado",
- "account.direct": "Direct Message @{name}",
+ "account.cancel_follow_request": "Cancelar la solicitud de seguimiento",
+ "account.direct": "Mensaje directo a @{name}",
"account.domain_blocked": "Dominio oculto",
"account.edit_profile": "Editar perfil",
"account.endorse": "Mostrar en perfil",
"account.follow": "Seguir",
"account.followers": "Seguidores",
- "account.followers.empty": "Nadie sigue a este usuario todavía.",
+ "account.followers.empty": "Todavía nadie sigue a este usuario.",
"account.follows": "Sigue",
"account.follows.empty": "Este usuario todavía no sigue a nadie.",
"account.follows_you": "Te sigue",
"account.hide_reblogs": "Ocultar retoots de @{name}",
- "account.link_verified_on": "El proprietario de este link fue verificado el {date}",
+ "account.last_status": "Última actividad",
+ "account.link_verified_on": "El proprietario de este link fue comprobado el {date}",
"account.locked_info": "El estado de privacidad de esta cuenta està configurado como bloqueado. El proprietario debe revisar manualmente quien puede seguirle.",
"account.media": "Multimedia",
"account.mention": "Mencionar a @{name}",
@@ -23,6 +25,7 @@
"account.mute": "Silenciar a @{name}",
"account.mute_notifications": "Silenciar notificaciones de @{name}",
"account.muted": "Silenciado",
+ "account.never_active": "Nunca",
"account.posts": "Toots",
"account.posts_with_replies": "Toots con respuestas",
"account.report": "Reportar a @{name}",
@@ -35,9 +38,12 @@
"account.unfollow": "Dejar de seguir",
"account.unmute": "Dejar de silenciar a @{name}",
"account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}",
+ "alert.rate_limited.message": "Por favor reintente después de {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Tarifa limitada",
"alert.unexpected.message": "Hubo un error inesperado.",
"alert.unexpected.title": "¡Ups!",
- "boost_modal.combo": "Puedes presionar {combo} para saltear este aviso la próxima vez",
+ "autosuggest_hashtag.per_week": "{count} por semana",
+ "boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez",
"bundle_column_error.body": "Algo salió mal al cargar este componente.",
"bundle_column_error.retry": "Inténtalo de nuevo",
"bundle_column_error.title": "Error de red",
@@ -47,17 +53,19 @@
"column.blocks": "Usuarios bloqueados",
"column.community": "Línea de tiempo local",
"column.direct": "Mensajes directos",
- "column.domain_blocks": "Dominios ocultos",
+ "column.directory": "Buscar perfiles",
+ "column.domain_blocks": "Dominios ocultados",
"column.favourites": "Favoritos",
"column.follow_requests": "Solicitudes de seguimiento",
"column.home": "Inicio",
"column.lists": "Listas",
"column.mutes": "Usuarios silenciados",
"column.notifications": "Notificaciones",
- "column.pins": "Toot fijado",
- "column.public": "Historia federada",
+ "column.pins": "Toots fijados",
+ "column.public": "Línea de tiempo federada",
+ "column.status": "Toot",
"column_back_button.label": "Atrás",
- "column_header.hide_settings": "Ocultar ajustes",
+ "column_header.hide_settings": "Ocultar configuración",
"column_header.moveLeft_settings": "Mover columna a la izquierda",
"column_header.moveRight_settings": "Mover columna a la derecha",
"column_header.pin": "Fijar",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "¿Seguro que quieres borrar esta lista permanentemente?",
"confirmations.domain_block.confirm": "Ocultar dominio entero",
"confirmations.domain_block.message": "¿Seguro de que quieres bloquear al dominio {domain} entero? En general unos cuantos bloqueos y silenciados concretos es suficiente y preferible.",
+ "confirmations.logout.confirm": "Cerrar sesión",
+ "confirmations.logout.message": "¿Estás seguro de querer cerrar la sesión?",
"confirmations.mute.confirm": "Silenciar",
"confirmations.mute.message": "¿Estás seguro de que quieres silenciar a {name}?",
"confirmations.redraft.confirm": "Borrar y volver a borrador",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Responder sobrescribirá el mensaje que estás escribiendo. ¿Estás seguro de que deseas continuar?",
"confirmations.unfollow.confirm": "Dejar de seguir",
"confirmations.unfollow.message": "¿Estás seguro de que quieres dejar de seguir a {name}?",
+ "conversation.delete": "Borrar conversación",
+ "conversation.mark_as_read": "Marcar como leído",
+ "conversation.open": "Ver conversación",
+ "conversation.with": "Con {names}",
+ "directory.federated": "Desde el fediverso conocido",
+ "directory.local": "Sólo de {domain}",
+ "directory.new_arrivals": "Recién llegados",
+ "directory.recently_active": "Recientemente activo",
"embed.instructions": "Añade este toot a tu sitio web con el siguiente código.",
"embed.preview": "Así es como se verá:",
"emoji_button.activity": "Actividad",
@@ -156,7 +174,7 @@
"home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar retoots",
"home.column_settings.show_replies": "Mostrar respuestas",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "Actualizar en tiempo real",
"intervals.full.days": "{number, plural, one {# día} other {# días}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Título de la nueva lista",
"lists.search": "Buscar entre la gente a la que sigues",
"lists.subheading": "Tus listas",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# nuevo elemento} other {# nuevos elementos}}",
"loading_indicator.label": "Cargando…",
"media_gallery.toggle_visible": "Cambiar visibilidad",
"missing_indicator.label": "No encontrado",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Toots fijados",
"navigation_bar.preferences": "Preferencias",
- "navigation_bar.profile_directory": "Directorio de perfiles",
"navigation_bar.public_timeline": "Historia federada",
"navigation_bar.security": "Seguridad",
+ "notification.and_n_others": "y {count, plural, one {# otro} other {# otros}}",
"notification.favourite": "{name} marcó tu estado como favorito",
"notification.follow": "{name} te empezó a seguir",
"notification.mention": "{name} te ha mencionado",
@@ -316,7 +334,7 @@
"search_results.accounts": "Gente",
"search_results.hashtags": "Etiquetas",
"search_results.statuses": "Toots",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "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}}",
"status.admin_account": "Abrir interfaz de moderación para @{name}",
"status.admin_status": "Abrir este estado en la interfaz de moderación",
@@ -355,6 +373,7 @@
"status.show_more": "Mostrar más",
"status.show_more_all": "Mostrar más para todo",
"status.show_thread": "Ver hilo",
+ "status.uncached_media_warning": "No disponible",
"status.unmute_conversation": "Dejar de silenciar conversación",
"status.unpin": "Dejar de fijar",
"suggestions.dismiss": "Descartar sugerencia",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Momentos restantes",
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {persona} other {personas}} hablando",
+ "trends.trending_now": "Tendencia ahora",
"ui.beforeunload": "Tu borrador se perderá si sales de Mastodon.",
"upload_area.title": "Arrastra y suelta para subir",
"upload_button.label": "Subir multimedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Límite de subida de archivos excedido.",
"upload_error.poll": "Subida de archivos no permitida con encuestas.",
"upload_form.description": "Describir para los usuarios con dificultad visual",
- "upload_form.focus": "Recortar",
+ "upload_form.edit": "Editar",
"upload_form.undo": "Borrar",
+ "upload_modal.analyzing_picture": "Analizando imagen…",
+ "upload_modal.apply": "Aplicar",
+ "upload_modal.description_placeholder": "Un rápido zorro marrón salta sobre el perro perezoso",
+ "upload_modal.detect_text": "Detectar texto de la imagen",
+ "upload_modal.edit_media": "Editar multimedia",
+ "upload_modal.hint": "Haga clic o arrastre el círculo en la vista previa para elegir el punto focal que siempre estará a la vista en todas las miniaturas.",
+ "upload_modal.preview_label": "Vista previa ({ratio})",
"upload_progress.label": "Subiendo…",
"video.close": "Cerrar video",
"video.exit_fullscreen": "Salir de pantalla completa",
diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json
new file mode 100644
index 000000000..7a7f6bec2
--- /dev/null
+++ b/app/javascript/mastodon/locales/et.json
@@ -0,0 +1,418 @@
+{
+ "account.add_or_remove_from_list": "Lisa või Eemalda nimekirjadest",
+ "account.badges.bot": "Robot",
+ "account.block": "Blokeeri @{name}",
+ "account.block_domain": "Peida kõik domeenist {domain}",
+ "account.blocked": "Blokeeritud",
+ "account.cancel_follow_request": "Cancel follow request",
+ "account.direct": "Otsesõnum @{name}",
+ "account.domain_blocked": "Domeen peidetud",
+ "account.edit_profile": "Muuda profiili",
+ "account.endorse": "Too profiilil esile",
+ "account.follow": "Jälgi",
+ "account.followers": "Jälgijad",
+ "account.followers.empty": "Keegi ei jälgi seda kasutajat veel.",
+ "account.follows": "Jälgib",
+ "account.follows.empty": "See kasutaja ei jälgi veel kedagi.",
+ "account.follows_you": "Jälgib sind",
+ "account.hide_reblogs": "Peida upitused kasutajalt @{name}",
+ "account.last_status": "Last active",
+ "account.link_verified_on": "Selle lingi autorsust kontrolliti {date}",
+ "account.locked_info": "Selle konto privaatsus on lukustatud. Omanik vaatab manuaalselt üle, kes teda jägida saab.",
+ "account.media": "Meedia",
+ "account.mention": "Maini @{name}",
+ "account.moved_to": "{name} on kolinud:",
+ "account.mute": "Vaigista @{name}",
+ "account.mute_notifications": "Vaigista teated kasutajalt @{name}",
+ "account.muted": "Vaigistatud",
+ "account.never_active": "Never",
+ "account.posts": "Tuututused",
+ "account.posts_with_replies": "Tuututused ja vastused",
+ "account.report": "Raporteeri @{name}",
+ "account.requested": "Ootab kinnitust. Klõpsa jälgimise soovi tühistamiseks",
+ "account.share": "Jaga @{name} profiili",
+ "account.show_reblogs": "Näita kasutaja @{name} upitusi",
+ "account.unblock": "Eemalda blokeering @{name}",
+ "account.unblock_domain": "Tee {domain} nähtavaks",
+ "account.unendorse": "Ära kuva profiilil",
+ "account.unfollow": "Ära jälgi",
+ "account.unmute": "Ära vaigista @{name}",
+ "account.unmute_notifications": "Ära vaigista teateid kasutajalt @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
+ "alert.unexpected.message": "Tekkis ootamatu viga.",
+ "alert.unexpected.title": "Oih!",
+ "autosuggest_hashtag.per_week": "{count} per week",
+ "boost_modal.combo": "Saad vajutada {combo}, et see järgmine kord vahele jätta",
+ "bundle_column_error.body": "Mindagi läks valesti selle komponendi laadimisel.",
+ "bundle_column_error.retry": "Proovi uuesti",
+ "bundle_column_error.title": "Võrgu viga",
+ "bundle_modal_error.close": "Sulge",
+ "bundle_modal_error.message": "Selle komponendi laadimisel läks midagi viltu.",
+ "bundle_modal_error.retry": "Proovi uuesti",
+ "column.blocks": "Blokeeritud kasutajad",
+ "column.community": "Kohalik ajajoon",
+ "column.direct": "Otsesõnumid",
+ "column.directory": "Browse profiles",
+ "column.domain_blocks": "Peidetud domeenid",
+ "column.favourites": "Lemmikud",
+ "column.follow_requests": "Jälgimistaotlused",
+ "column.home": "Kodu",
+ "column.lists": "Nimekirjad",
+ "column.mutes": "Vaigistatud kasutajad",
+ "column.notifications": "Teated",
+ "column.pins": "Kinnitatud upitused",
+ "column.public": "Föderatiivne ajajoon",
+ "column.status": "Toot",
+ "column_back_button.label": "Tagasi",
+ "column_header.hide_settings": "Peida sätted",
+ "column_header.moveLeft_settings": "Liiguta tulp vasakule",
+ "column_header.moveRight_settings": "Liiguta tulp paremale",
+ "column_header.pin": "Kinnita",
+ "column_header.show_settings": "Näita sätteid",
+ "column_header.unpin": "Eemalda kinnitus",
+ "column_subheading.settings": "Sätted",
+ "community.column_settings.media_only": "Ainult meedia",
+ "compose_form.direct_message_warning": "See tuut saadetakse ainult mainitud kasutajatele.",
+ "compose_form.direct_message_warning_learn_more": "Vaata veel",
+ "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": "Sinu konto ei ole {locked}. Igaüks saab sind jälgida ja näha su ainult-jälgijatele postitusi.",
+ "compose_form.lock_disclaimer.lock": "lukus",
+ "compose_form.placeholder": "Millest mõtled?",
+ "compose_form.poll.add_option": "Lisa valik",
+ "compose_form.poll.duration": "Küsitluse kestus",
+ "compose_form.poll.option_placeholder": "Valik {number}",
+ "compose_form.poll.remove_option": "Eemalda see valik",
+ "compose_form.publish": "Tuut",
+ "compose_form.publish_loud": "{publish}!",
+ "compose_form.sensitive.hide": "Märgista meedia tundlikuks",
+ "compose_form.sensitive.marked": "Meedia on sensitiivseks märgitud",
+ "compose_form.sensitive.unmarked": "Meedia ei ole sensitiivseks märgitud",
+ "compose_form.spoiler.marked": "Tekst on hoiatuse taha peidetud",
+ "compose_form.spoiler.unmarked": "Tekst ei ole peidetud",
+ "compose_form.spoiler_placeholder": "Kirjuta oma hoiatus siia",
+ "confirmation_modal.cancel": "Katkesta",
+ "confirmations.block.block_and_report": "Blokeeri & Teata",
+ "confirmations.block.confirm": "Blokeeri",
+ "confirmations.block.message": "Oled kindel, et soovid blokkida {name}?",
+ "confirmations.delete.confirm": "Kustuta",
+ "confirmations.delete.message": "Oled kindel, et soovid selle staatuse kustutada?",
+ "confirmations.delete_list.confirm": "Kustuta",
+ "confirmations.delete_list.message": "Oled kindel, et soovid selle nimekirja püsivalt kustutada?",
+ "confirmations.domain_block.confirm": "Peida terve domeen",
+ "confirmations.domain_block.message": "Oled ikka päris kindel, et soovid blokeerida terve {domain}? Enamikul juhtudel piisab mõnest sihitud blokist või vaigistusest, mis on eelistatav. Sa ei näe selle domeeni sisu üheski avalikus ajajoones või teadetes. Sinu jälgijad sellest domeenist eemaldatakse.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
+ "confirmations.mute.confirm": "Vaigista",
+ "confirmations.mute.message": "Oled kindel, et soovid {name} vaigistada?",
+ "confirmations.redraft.confirm": "Kustuta & taasalusta",
+ "confirmations.redraft.message": "Oled kindel, et soovid selle staatuse kustutada ja alustada uuesti? Lemmikud ja upitused lähevad kaotsi ja vastused originaaalpostitusele jäävad orvuks.",
+ "confirmations.reply.confirm": "Vasta",
+ "confirmations.reply.message": "Kohene vastamine kirjutab üle sõnumi, mida hetkel koostad. Oled kindel, et soovid jätkata?",
+ "confirmations.unfollow.confirm": "Ära jälgi",
+ "confirmations.unfollow.message": "Oled kindel, et ei soovi jälgida {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
+ "embed.instructions": "Manusta see staatus oma veebilehele, kopeerides alloleva koodi.",
+ "embed.preview": "Nii näeb see välja:",
+ "emoji_button.activity": "Tegevus",
+ "emoji_button.custom": "Mugandatud",
+ "emoji_button.flags": "Lipud",
+ "emoji_button.food": "Toit & Jook",
+ "emoji_button.label": "Sisesta emoji",
+ "emoji_button.nature": "Loodus",
+ "emoji_button.not_found": "Ei ole emojosi!! (╯°□°)╯︵ ┻━┻",
+ "emoji_button.objects": "Objektid",
+ "emoji_button.people": "Inimesed",
+ "emoji_button.recent": "Tihti kasutatud",
+ "emoji_button.search": "Otsi...",
+ "emoji_button.search_results": "Otsitulemused",
+ "emoji_button.symbols": "Sümbolid",
+ "emoji_button.travel": "Reisimine & Kohad",
+ "empty_column.account_timeline": "Siin tuute ei ole!",
+ "empty_column.account_unavailable": "Profiil pole saadaval",
+ "empty_column.blocks": "Sa ei ole veel ühtegi kasutajat blokeerinud.",
+ "empty_column.community": "Kohalik ajajoon on tühi. Kirjuta midagi avalikult, et pall veerema saada!",
+ "empty_column.direct": "Sul ei veel otsesõnumeid. Kui saadad või võtad mõne vastu, ilmuvad nad siia.",
+ "empty_column.domain_blocks": "Siin ei ole veel peidetud domeene.",
+ "empty_column.favourited_statuses": "Sul pole veel lemmikuid tuute. Kui märgid mõne, näed neid siin.",
+ "empty_column.favourites": "Keegi pole veel seda tuuti lemmikuks märkinud. Kui seegi seda teeb, näed seda siin.",
+ "empty_column.follow_requests": "Sul pole veel ühtegi jälgimise taotlust. Kui saad mõne, näed seda siin.",
+ "empty_column.hashtag": "Selle sildiga pole veel midagi.",
+ "empty_column.home": "Sinu kodu ajajoon on tühi! Külasta {public} või kasuta otsingut alustamaks ja kohtamaks teisi kasutajaid.",
+ "empty_column.home.public_timeline": "avalik ajajoon",
+ "empty_column.list": "Siin nimstus pole veel midagi. Kui selle nimistu liikmed postitavad uusi staatusi, näed neid siin.",
+ "empty_column.lists": "Sul ei ole veel ühtegi nimekirja. Kui lood mõne, näed seda siin.",
+ "empty_column.mutes": "Sa pole veel ühtegi kasutajat vaigistanud.",
+ "empty_column.notifications": "Sul ei ole veel teateid. Suhtle teistega alustamaks vestlust.",
+ "empty_column.public": "Siin pole midagi! Kirjuta midagi avalikut või jälgi ise kasutajaid täitmaks seda ruumi",
+ "follow_request.authorize": "Autoriseeri",
+ "follow_request.reject": "Hülga",
+ "getting_started.developers": "Arendajad",
+ "getting_started.directory": "Profiili kataloog",
+ "getting_started.documentation": "Dokumentatsioon",
+ "getting_started.heading": "Alustamine",
+ "getting_started.invite": "Kutsu inimesi",
+ "getting_started.open_source_notice": "Mastodon on avatud lähtekoodiga tarkvara. Saad panustada või teatada probleemidest GitHubis {github}.",
+ "getting_started.security": "Turvalisus",
+ "getting_started.terms": "Kasutustingimused",
+ "hashtag.column_header.tag_mode.all": "ja {additional}",
+ "hashtag.column_header.tag_mode.any": "või {additional}",
+ "hashtag.column_header.tag_mode.none": "ilma {additional}",
+ "hashtag.column_settings.select.no_options_message": "Soovitusi ei leitud",
+ "hashtag.column_settings.select.placeholder": "Sisesta sildid…",
+ "hashtag.column_settings.tag_mode.all": "Kõik need",
+ "hashtag.column_settings.tag_mode.any": "Mõni neist",
+ "hashtag.column_settings.tag_mode.none": "Mitte ükski neist",
+ "hashtag.column_settings.tag_toggle": "Kaasa lisamärked selle tulba jaoks",
+ "home.column_settings.basic": "Peamine",
+ "home.column_settings.show_reblogs": "Näita upitusi",
+ "home.column_settings.show_replies": "Näita vastuseid",
+ "home.column_settings.update_live": "Update in real-time",
+ "intervals.full.days": "{number, plural, one {# päev} other {# päevad}}",
+ "intervals.full.hours": "{number, plural, one {# tund} other {# tundi}}",
+ "intervals.full.minutes": "{number, plural, one {# minut} other {# minutit}}",
+ "introduction.federation.action": "Järgmine",
+ "introduction.federation.federated.headline": "Föderatiivne",
+ "introduction.federation.federated.text": "Avalikud postitused teistest föderatsiooni serveritest kuvatakse föderatiivsel ajajoonel.",
+ "introduction.federation.home.headline": "Kodu",
+ "introduction.federation.home.text": "Inimest postitused keda jälgid kuvatakse sinu koduajajoonel. Saad jälgida igaüht igas serveris!",
+ "introduction.federation.local.headline": "Kohalik",
+ "introduction.federation.local.text": "Samas serveris olevate inimeste postitused kuvatakse kohalikul ajajoonel.",
+ "introduction.interactions.action": "Välju õpetusest!",
+ "introduction.interactions.favourite.headline": "Lemmik",
+ "introduction.interactions.favourite.text": "Saad tuuti salvestada ja anda autorile teada, et meeldis märkides selle lemmikuks.",
+ "introduction.interactions.reblog.headline": "Upita",
+ "introduction.interactions.reblog.text": "Saad jagada teiste inimeste tuute oma jälgijatega upitades neid.",
+ "introduction.interactions.reply.headline": "Vasta",
+ "introduction.interactions.reply.text": "Saad vastata teiste ja enda tuutidele, mis ühendab nad kokku aruteluks.",
+ "introduction.welcome.action": "Lähme!",
+ "introduction.welcome.headline": "Esimesed sammud",
+ "introduction.welcome.text": "Teretulemast fediversumisse! Mõne aja pärast saad avaldada sõnumeid ja rääkida oma sõpradega läbi laia valiku serverite. Aga see server, {domain}, on eriline—ta majutab sinu profiili. Seega jäta ta nimi meelde.",
+ "keyboard_shortcuts.back": "tagasiminekuks",
+ "keyboard_shortcuts.blocked": "avamaks blokeeritud kasutajate nimistut",
+ "keyboard_shortcuts.boost": "upitamiseks",
+ "keyboard_shortcuts.column": "fokuseerimaks staatust ühele tulpadest",
+ "keyboard_shortcuts.compose": "fokuseerimaks tekstikoostamise alale",
+ "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",
+ "keyboard_shortcuts.favourites": "avamaks lemmikute nimistut",
+ "keyboard_shortcuts.federated": "avamaks föderatsiooni ajajoont",
+ "keyboard_shortcuts.heading": "Klaviatuuri kiirkäsud",
+ "keyboard_shortcuts.home": "avamaks kodu ajajoont",
+ "keyboard_shortcuts.hotkey": "Kiirklahv",
+ "keyboard_shortcuts.legend": "selle legendi kuvamiseks",
+ "keyboard_shortcuts.local": "avamaks kohalikku ajajoont",
+ "keyboard_shortcuts.mention": "autori mainimiseks",
+ "keyboard_shortcuts.muted": "avamaks vaigistatud kasutajate nimistut",
+ "keyboard_shortcuts.my_profile": "avamaks profiili",
+ "keyboard_shortcuts.notifications": "avamaks teadete tulpa",
+ "keyboard_shortcuts.pinned": "avamaks kinnitatud tuutide nimistut",
+ "keyboard_shortcuts.profile": "avamaks autori profiili",
+ "keyboard_shortcuts.reply": "vastamiseks",
+ "keyboard_shortcuts.requests": "avamaks jälgimistaotluste nimistut",
+ "keyboard_shortcuts.search": "otsingu fokuseerimiseks",
+ "keyboard_shortcuts.start": "avamaks \"Alusta\" tulpa",
+ "keyboard_shortcuts.toggle_hidden": "näitamaks/peitmaks teksti CW taga",
+ "keyboard_shortcuts.toggle_sensitivity": "et peita/näidata meediat",
+ "keyboard_shortcuts.toot": "alustamaks täiesti uut tuuti",
+ "keyboard_shortcuts.unfocus": "tekstiala/otsingu koostamise mittefokuseerimiseks",
+ "keyboard_shortcuts.up": "liikumaks nimistus üles",
+ "lightbox.close": "Sulge",
+ "lightbox.next": "Järgmine",
+ "lightbox.previous": "Eelmine",
+ "lightbox.view_context": "Vaata konteksti",
+ "lists.account.add": "Lisa nimistusse",
+ "lists.account.remove": "Eemalda nimistust",
+ "lists.delete": "Kustuta nimistu",
+ "lists.edit": "Muuda nimistut",
+ "lists.edit.submit": "Muuda pealkiri",
+ "lists.new.create": "Lisa nimistu",
+ "lists.new.title_placeholder": "Uus nimistu pealkiri",
+ "lists.search": "Otsi sinu poolt jälgitavate inimese hulgast",
+ "lists.subheading": "Sinu nimistud",
+ "load_pending": "{count, plural, one {# uus kirje} other {# uut kirjet}}",
+ "loading_indicator.label": "Laeb..",
+ "media_gallery.toggle_visible": "Lülita nähtavus",
+ "missing_indicator.label": "Ei leitud",
+ "missing_indicator.sublabel": "Seda ressurssi ei leitud",
+ "mute_modal.hide_notifications": "Kas peita teated sellelt kasutajalt?",
+ "navigation_bar.apps": "Mobiilrakendused",
+ "navigation_bar.blocks": "Blokeeritud kasutajad",
+ "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",
+ "navigation_bar.favourites": "Lemmikud",
+ "navigation_bar.filters": "Vaigistatud sõnad",
+ "navigation_bar.follow_requests": "Jälgimistaotlused",
+ "navigation_bar.follows_and_followers": "Jälgitud ja jälgijad",
+ "navigation_bar.info": "Selle serveri kohta",
+ "navigation_bar.keyboard_shortcuts": "Kiirklahvid",
+ "navigation_bar.lists": "Nimistud",
+ "navigation_bar.logout": "Logi välja",
+ "navigation_bar.mutes": "Vaigistatud kasutajad",
+ "navigation_bar.personal": "Isiklik",
+ "navigation_bar.pins": "Kinnitatud tuutid",
+ "navigation_bar.preferences": "Eelistused",
+ "navigation_bar.public_timeline": "Föderatiivne ajajoon",
+ "navigation_bar.security": "Turvalisus",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
+ "notification.favourite": "{name} märkis su staatuse lemmikuks",
+ "notification.follow": "{name} jälgib sind",
+ "notification.mention": "{name} mainis sind",
+ "notification.poll": "Küsitlus, milles osalesid, on lõppenud",
+ "notification.reblog": "{name} upitas su staatust",
+ "notifications.clear": "Puhasta teated",
+ "notifications.clear_confirmation": "Oled kindel, et soovid püsivalt kõik oma teated puhastada?",
+ "notifications.column_settings.alert": "Töölauateated",
+ "notifications.column_settings.favourite": "Lemmikud:",
+ "notifications.column_settings.filter_bar.advanced": "Kuva kõik kategooriad",
+ "notifications.column_settings.filter_bar.category": "Kiirfiltri riba",
+ "notifications.column_settings.filter_bar.show": "Kuva",
+ "notifications.column_settings.follow": "Uued jälgijad:",
+ "notifications.column_settings.mention": "Mainimised:",
+ "notifications.column_settings.poll": "Küsitluse tulemused:",
+ "notifications.column_settings.push": "Push teated",
+ "notifications.column_settings.reblog": "Upitused:",
+ "notifications.column_settings.show": "Kuva tulbas",
+ "notifications.column_settings.sound": "Mängi heli",
+ "notifications.filter.all": "Kõik",
+ "notifications.filter.boosts": "Upitused",
+ "notifications.filter.favourites": "Lemmikud",
+ "notifications.filter.follows": "Jälgib",
+ "notifications.filter.mentions": "Mainimised",
+ "notifications.filter.polls": "Küsitluse tulemused",
+ "notifications.group": "{count} teated",
+ "poll.closed": "Suletud",
+ "poll.refresh": "Värskenda",
+ "poll.total_votes": "{count, plural, one {# hääl} other {# hääli}}",
+ "poll.vote": "Hääleta",
+ "poll_button.add_poll": "Lisa küsitlus",
+ "poll_button.remove_poll": "Eemalda küsitlus",
+ "privacy.change": "Muuda staatuse privaatsust",
+ "privacy.direct.long": "Postita ainult mainitud kasutajatele",
+ "privacy.direct.short": "Otsene",
+ "privacy.private.long": "Postita ainult jälgijatele",
+ "privacy.private.short": "Ainult jälgijatele",
+ "privacy.public.long": "Postita avalikele ajajoontele",
+ "privacy.public.short": "Avalik",
+ "privacy.unlisted.long": "Ära postita avalikele ajajoontele",
+ "privacy.unlisted.short": "Määramata",
+ "regeneration_indicator.label": "Laeb…",
+ "regeneration_indicator.sublabel": "Sinu kodu voog on ettevalmistamisel!",
+ "relative_time.days": "{number}p",
+ "relative_time.hours": "{number}t",
+ "relative_time.just_now": "nüüd",
+ "relative_time.minutes": "{number}m",
+ "relative_time.seconds": "{number}s",
+ "reply_indicator.cancel": "Tühista",
+ "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 sinu serveri moderaatoritele. Te saate lisada selgituse selle kohta, miks selle kasutaja kohta teate esitasite, siin:",
+ "report.placeholder": "Lisaks kommentaarid",
+ "report.submit": "Saada",
+ "report.target": "Teatamine {target} kohta",
+ "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.",
+ "search_popout.tips.hashtag": "silt",
+ "search_popout.tips.status": "staatus",
+ "search_popout.tips.text": "Lihtne tekst toob esile kattuvad kuvanimed, kasutajanimed ning sildid",
+ "search_popout.tips.user": "kasutaja",
+ "search_results.accounts": "Inimesed",
+ "search_results.hashtags": "Sildid",
+ "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}}",
+ "status.admin_account": "Ava moderaatoriliides kasutajale @{name}",
+ "status.admin_status": "Ava see staatus moderaatoriliites",
+ "status.block": "Blokeeri @{name}",
+ "status.cancel_reblog_private": "Äraupita",
+ "status.cannot_reblog": "Seda postitust ei saa upitada",
+ "status.copy": "Kopeeri link staatusesse",
+ "status.delete": "Kustuta",
+ "status.detailed_status": "Detailne vestluskuva",
+ "status.direct": "Otsesõnum @{name}",
+ "status.embed": "Sängita",
+ "status.favourite": "Lemmik",
+ "status.filtered": "Filtreeritud",
+ "status.load_more": "Lae veel",
+ "status.media_hidden": "Meedia peidetud",
+ "status.mention": "Mainimine @{name}",
+ "status.more": "Veel",
+ "status.mute": "Vaigista @{name}",
+ "status.mute_conversation": "Vaigista vestlus",
+ "status.open": "Laienda see staatus",
+ "status.pin": "Kinnita profiilile",
+ "status.pinned": "Kinnitatud tuut",
+ "status.read_more": "Loe veel",
+ "status.reblog": "Upita",
+ "status.reblog_private": "Upita algsele publikule",
+ "status.reblogged_by": "{name} upitatud",
+ "status.reblogs.empty": "Keegi pole seda tuuti veel upitanud. Kui keegi upitab, näed seda siin.",
+ "status.redraft": "Kustuta & alga uuesti",
+ "status.reply": "Vasta",
+ "status.replyAll": "Vasta lõimele",
+ "status.report": "Raport @{name}",
+ "status.sensitive_warning": "Tundlik sisu",
+ "status.share": "Jaga",
+ "status.show_less": "Näita vähem",
+ "status.show_less_all": "Näita vähem kõigile",
+ "status.show_more": "Näita veel",
+ "status.show_more_all": "Näita enam kõigile",
+ "status.show_thread": "Kuva lõim",
+ "status.uncached_media_warning": "Not available",
+ "status.unmute_conversation": "Ära vaigista vestlust",
+ "status.unpin": "Kinnita profiililt lahti",
+ "suggestions.dismiss": "Eira soovitust",
+ "suggestions.header": "Sind võib huvitada…",
+ "tabs_bar.federated_timeline": "Föderatiivne",
+ "tabs_bar.home": "Kodu",
+ "tabs_bar.local_timeline": "Kohalik",
+ "tabs_bar.notifications": "Teated",
+ "tabs_bar.search": "Otsi",
+ "time_remaining.days": "{number, plural, one {# päev} other {# päeva}} left",
+ "time_remaining.hours": "{number, plural, one {# tund} other {# tundi}} left",
+ "time_remaining.minutes": "{number, plural, one {# minut} other {# minutit}} left",
+ "time_remaining.moments": "Hetked jäänud",
+ "time_remaining.seconds": "{number, plural, one {# sekund} other {# sekundit}} left",
+ "trends.count_by_accounts": "{count} {rawCount, plural, one {inimene} other {inimesed}} talking",
+ "trends.trending_now": "Trending now",
+ "ui.beforeunload": "Sinu mustand läheb kaotsi, kui lahkud Mastodonist.",
+ "upload_area.title": "Lohista & aseta üleslaadimiseks",
+ "upload_button.label": "Lisa meedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
+ "upload_error.limit": "Faili üleslaadimise limiit ületatud.",
+ "upload_error.poll": "Küsitlustes pole faili üleslaadimine lubatud.",
+ "upload_form.description": "Kirjelda vaegnägijatele",
+ "upload_form.edit": "Edit",
+ "upload_form.undo": "Kustuta",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
+ "upload_progress.label": "Laeb üles....",
+ "video.close": "Sulge video",
+ "video.exit_fullscreen": "Välju täisekraanist",
+ "video.expand": "Suurenda video",
+ "video.fullscreen": "Täisekraan",
+ "video.hide": "Peida video",
+ "video.mute": "Vaigista heli",
+ "video.pause": "Paus",
+ "video.play": "Mängi",
+ "video.unmute": "Taasta heli"
+}
diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json
index 0c078840a..5ec03c3ba 100644
--- a/app/javascript/mastodon/locales/eu.json
+++ b/app/javascript/mastodon/locales/eu.json
@@ -4,6 +4,7 @@
"account.block": "Blokeatu @{name}",
"account.block_domain": "Ezkutatu {domain} domeinuko guztia",
"account.blocked": "Blokeatuta",
+ "account.cancel_follow_request": "Ezeztatu jarraitzeko eskaria",
"account.direct": "Mezu zuzena @{name}(r)i",
"account.domain_blocked": "Ezkutatutako domeinua",
"account.edit_profile": "Aldatu profila",
@@ -15,6 +16,7 @@
"account.follows.empty": "Erabiltzaile honek ez du inor jarraitzen oraindik.",
"account.follows_you": "Jarraitzen dizu",
"account.hide_reblogs": "Ezkutatu @{name}(r)en bultzadak",
+ "account.last_status": "Azkenekoz aktiboa",
"account.link_verified_on": "Esteka honen jabetzaren egiaztaketa data: {date}",
"account.locked_info": "Kontu honen pribatutasun egoera blokeatuta gisa ezarri da. Jabeak eskuz erabakitzen du nork jarraitu diezaioken.",
"account.media": "Multimedia",
@@ -23,6 +25,7 @@
"account.mute": "Mututu @{name}",
"account.mute_notifications": "Mututu @{name}(r)en jakinarazpenak",
"account.muted": "Mutututa",
+ "account.never_active": "Inoiz ez",
"account.posts": "Toot",
"account.posts_with_replies": "Toot eta erantzunak",
"account.report": "Salatu @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Utzi jarraitzeari",
"account.unmute": "Desmututu @{name}",
"account.unmute_notifications": "Desmututu @{name}(r)en jakinarazpenak",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Ustekabeko errore bat gertatu da.",
"alert.unexpected.title": "Ene!",
+ "autosuggest_hashtag.per_week": "{count} asteko",
"boost_modal.combo": "{combo} sakatu dezakezu hurrengoan hau saltatzeko",
"bundle_column_error.body": "Zerbait okerra gertatu da osagai hau kargatzean.",
"bundle_column_error.retry": "Saiatu berriro",
@@ -47,6 +53,7 @@
"column.blocks": "Blokeatutako erabiltzaileak",
"column.community": "Denbora-lerro lokala",
"column.direct": "Mezu zuzenak",
+ "column.directory": "Arakatu profilak",
"column.domain_blocks": "Ezkutatutako domeinuak",
"column.favourites": "Gogokoak",
"column.follow_requests": "Jarraitzeko eskariak",
@@ -56,6 +63,7 @@
"column.notifications": "Jakinarazpenak",
"column.pins": "Pinned toot",
"column.public": "Federatutako denbora-lerroa",
+ "column.status": "Toot",
"column_back_button.label": "Atzera",
"column_header.hide_settings": "Ezkutatu ezarpenak",
"column_header.moveLeft_settings": "Eraman zutabea ezkerrera",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Ziur behin betiko ezabatu nahi duzula zerrenda hau?",
"confirmations.domain_block.confirm": "Ezkutatu domeinu osoa",
"confirmations.domain_block.message": "Ziur, erabat ziur, {domain} domeinu osoa blokeatu nahi duzula? Gehienetan gutxi batzuk blokeatu edo mututzearekin nahikoa da. Ez duzu domeinu horretako edukirik ikusiko denbora lerroetan edo jakinarazpenetan. Domeinu horretako zure jarraitzaileak kenduko dira ere.",
+ "confirmations.logout.confirm": "Amaitu saioa",
+ "confirmations.logout.message": "Ziur saioa amaitu nahi duzula?",
"confirmations.mute.confirm": "Mututu",
"confirmations.mute.message": "Ziur {name} mututu nahi duzula?",
"confirmations.redraft.confirm": "Ezabatu eta berridatzi",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Orain erantzuteak idazten ari zaren mezua gainidatziko du. Ziur jarraitu nahi duzula?",
"confirmations.unfollow.confirm": "Utzi jarraitzeari",
"confirmations.unfollow.message": "Ziur {name} jarraitzeari utzi nahi diozula?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "Fedibertso ezagunekoak",
+ "directory.local": "{domain} domeinukoak soilik",
+ "directory.new_arrivals": "Iritsi berriak",
+ "directory.recently_active": "Duela gutxi aktibo",
"embed.instructions": "Txertatu mezu hau zure webgunean beheko kodea kopatuz.",
"embed.preview": "Hau da izango duen itxura:",
"emoji_button.activity": "Jarduera",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Zerrenda berriaren izena",
"lists.search": "Bilatu jarraitzen dituzun pertsonen artean",
"lists.subheading": "Zure zerrendak",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {eleentuberri #} other {# elementu berri}}",
"loading_indicator.label": "Kargatzen...",
"media_gallery.toggle_visible": "Txandakatu ikusgaitasuna",
"missing_indicator.label": "Ez aurkitua",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Pertsonala",
"navigation_bar.pins": "Finkatutako toot-ak",
"navigation_bar.preferences": "Hobespenak",
- "navigation_bar.profile_directory": "Profilen direktorioa",
"navigation_bar.public_timeline": "Federatutako denbora-lerroa",
"navigation_bar.security": "Segurtasuna",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name}(e)k zure mezua gogoko du",
"notification.follow": "{name}(e)k jarraitzen zaitu",
"notification.mention": "{name}(e)k aipatu zaitu",
@@ -316,7 +334,7 @@
"search_results.accounts": "Jendea",
"search_results.hashtags": "Traolak",
"search_results.statuses": "Toot-ak",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "Mastodon zerbitzari honek ez du Toot-en edukiaren bilaketa gaitu.",
"search_results.total": "{count, number} {count, plural, one {emaitza} other {emaitzak}}",
"status.admin_account": "Ireki @{name} erabiltzailearen moderazio interfazea",
"status.admin_status": "Ireki mezu hau moderazio interfazean",
@@ -355,6 +373,7 @@
"status.show_more": "Erakutsi gehiago",
"status.show_more_all": "Erakutsi denetarik gehiago",
"status.show_thread": "Erakutsi haria",
+ "status.uncached_media_warning": "Ez eskuragarri",
"status.unmute_conversation": "Desmututu elkarrizketa",
"status.unpin": "Desfinkatu profiletik",
"suggestions.dismiss": "Errefusatu proposamena",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Amaitzekotan",
"time_remaining.seconds": "{number, plural, one {segundo #} other {# segundo}} amaitzeko",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} hitz egiten",
+ "trends.trending_now": "Joera orain",
"ui.beforeunload": "Zure zirriborroa galduko da Mastodon uzten baduzu.",
"upload_area.title": "Arrastatu eta jaregin igotzeko",
"upload_button.label": "Gehitu multimedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Fitxategi igoera muga gaindituta.",
"upload_error.poll": "Ez da inkestetan fitxategiak igotzea onartzen.",
"upload_form.description": "Deskribatu ikusmen arazoak dituztenentzat",
- "upload_form.focus": "Aldatu aurrebista",
+ "upload_form.edit": "Editatu",
"upload_form.undo": "Ezabatu",
+ "upload_modal.analyzing_picture": "Irudia aztertzen…",
+ "upload_modal.apply": "Aplikatu",
+ "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
+ "upload_modal.detect_text": "Antzeman irudiko testua",
+ "upload_modal.edit_media": "Editatu multimedia",
+ "upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Aurreikusi({ratio})",
"upload_progress.label": "Igotzen...",
"video.close": "Itxi bideoa",
"video.exit_fullscreen": "Irten pantaila osotik",
diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json
index 41143bcc8..54ab42009 100644
--- a/app/javascript/mastodon/locales/fa.json
+++ b/app/javascript/mastodon/locales/fa.json
@@ -1,9 +1,10 @@
{
- "account.add_or_remove_from_list": "افزودن یا حذف از فهرستها",
+ "account.add_or_remove_from_list": "افزودن یا برداشتن از فهرست",
"account.badges.bot": "ربات",
"account.block": "مسدودسازی @{name}",
"account.block_domain": "پنهانسازی همه چیز از سرور {domain}",
- "account.blocked": "مسدودشده",
+ "account.blocked": "مسدود شده",
+ "account.cancel_follow_request": "لغو درخواست پیگیری",
"account.direct": "پیغام خصوصی به @{name}",
"account.domain_blocked": "دامین پنهانشده",
"account.edit_profile": "ویرایش نمایه",
@@ -15,7 +16,8 @@
"account.follows.empty": "این کاربر هنوز هیچ کسی را پی نمیگیرد.",
"account.follows_you": "پیگیر شماست",
"account.hide_reblogs": "پنهان کردن بازبوقهای @{name}",
- "account.link_verified_on": "مالکیت این نشانی در تایخ {date} بررسی شد",
+ "account.last_status": "آخرین فعالیت",
+ "account.link_verified_on": "مالکیت این نشانی در تاریخ {date} بررسی شد",
"account.locked_info": "این حساب خصوصی است. صاحب این حساب تصمیم میگیرد که چه کسی میتواند پیگیرش باشد.",
"account.media": "عکس و ویدیو",
"account.mention": "نامبردن از @{name}",
@@ -23,6 +25,7 @@
"account.mute": "بیصدا کردن @{name}",
"account.mute_notifications": "بیصداکردن اعلانها از طرف @{name}",
"account.muted": "بیصداشده",
+ "account.never_active": "هرگز",
"account.posts": "نوشتهها",
"account.posts_with_replies": "نوشتهها و پاسخها",
"account.report": "گزارش @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "پایان پیگیری",
"account.unmute": "باصدا کردن @{name}",
"account.unmute_notifications": "باصداکردن اعلانها از طرف @{name}",
+ "alert.rate_limited.message": "لطفاً پس از {retry_time, time, medium} دوباره تلاش کنید.",
+ "alert.rate_limited.title": "محدودیت تعداد",
"alert.unexpected.message": "خطای پیشبینینشدهای رخ داد.",
"alert.unexpected.title": "ای وای!",
+ "autosuggest_hashtag.per_week": "{count} در هفته",
"boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید",
"bundle_column_error.body": "هنگام بازکردن این بخش خطایی رخ داد.",
"bundle_column_error.retry": "تلاش دوباره",
@@ -47,6 +53,7 @@
"column.blocks": "کاربران مسدودشده",
"column.community": "نوشتههای محلی",
"column.direct": "پیغامهای خصوصی",
+ "column.directory": "مرور نمایهها",
"column.domain_blocks": "دامینهای پنهانشده",
"column.favourites": "پسندیدهها",
"column.follow_requests": "درخواستهای پیگیری",
@@ -56,6 +63,7 @@
"column.notifications": "اعلانها",
"column.pins": "نوشتههای ثابت",
"column.public": "نوشتههای همهجا",
+ "column.status": "بوق",
"column_back_button.label": "بازگشت",
"column_header.hide_settings": "نهفتن تنظیمات",
"column_header.moveLeft_settings": "انتقال ستون به راست",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "آیا واقعاً میخواهید این فهرست را برای همیشه پاک کنید؟",
"confirmations.domain_block.confirm": "پنهانسازی کل دامین",
"confirmations.domain_block.message": "آیا جدی جدی میخواهید کل دامین {domain} را مسدود کنید؟ بیشتر وقتها مسدودکردن یا بیصداکردن چند حساب کاربری خاص کافی است و توصیه میشود. پس از این کار شما هیچ نوشتهای را از این دامین در فهرست نوشتههای عمومی یا اعلانهایتان نخواهید دید. پیگیران شما از این دامین هم حذف خواهد شد.",
+ "confirmations.logout.confirm": "خروج",
+ "confirmations.logout.message": "آیا مطمئنید که میخواهید خارج شوید؟",
"confirmations.mute.confirm": "بیصدا کن",
"confirmations.mute.message": "آیا واقعاً میخواهید {name} را بیصدا کنید؟",
"confirmations.redraft.confirm": "پاککردن و بازنویسی",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "اگر الان پاسخ دهید، چیزی که در حال نوشتنش بودید پاک خواهد شد. آیا همین را میخواهید؟",
"confirmations.unfollow.confirm": "لغو پیگیری",
"confirmations.unfollow.message": "آیا واقعاً میخواهید به پیگیری از {name} پایان دهید؟",
+ "conversation.delete": "حذف گفتگو",
+ "conversation.mark_as_read": "علامتگذاری به عنوان خوانده شده",
+ "conversation.open": "دیدن گفتگو",
+ "conversation.with": "با {names}",
+ "directory.federated": "از سرورهای همسایه",
+ "directory.local": "تنها از {domain}",
+ "directory.new_arrivals": "تازهواردان",
+ "directory.recently_active": "کاربران فعال اخیر",
"embed.instructions": "برای جاگذاری این نوشته در سایت خودتان، کد زیر را کپی کنید.",
"embed.preview": "نوشتهٔ جاگذاریشده این گونه به نظر خواهد رسید:",
"emoji_button.activity": "فعالیت",
@@ -126,7 +144,7 @@
"empty_column.favourited_statuses": "شما هنوز هیچ بوقی را نپسندیدهاید. وقتی بوقی را بپسندید، اینجا نمایش خواهد یافت.",
"empty_column.favourites": "هنوز هیچ کسی این بوق را نپسندیده است. وقتی کسی آن را بپسندد، نامش اینجا نمایش خواهد یافت.",
"empty_column.follow_requests": "شما هنوز هیچ درخواست پیگیریای ندارید. وقتی چنین درخواستی بگیرید، اینجا نمایش خواهد یافت.",
- "empty_column.hashtag": "هنوز هیچ چیزی با این هشتگ نیست.",
+ "empty_column.hashtag": "هنوز هیچ چیزی با این برچسب (هشتگ) نیست.",
"empty_column.home": "شما هنوز پیگیر کسی نیستید. {public} را ببینید یا چیزی را جستجو کنید تا کاربران دیگر را ببینید.",
"empty_column.home.public_timeline": "فهرست نوشتههای همهجا",
"empty_column.list": "در این فهرست هنوز چیزی نیست. وقتی اعضای این فهرست چیزی بنویسند، اینجا ظاهر خواهد شد.",
@@ -156,7 +174,7 @@
"home.column_settings.basic": "اصلی",
"home.column_settings.show_reblogs": "نمایش بازبوقها",
"home.column_settings.show_replies": "نمایش پاسخها",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "بهروزرسانی لحظهای",
"intervals.full.days": "{number, plural, one {# روز} other {# روز}}",
"intervals.full.hours": "{number, plural, one {# ساعت} other {# ساعت}}",
"intervals.full.minutes": "{number, plural, one {# دقیقه} other {# دقیقه}}",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "نام فهرست تازه",
"lists.search": "بین کسانی که پی میگیرید بگردید",
"lists.subheading": "فهرستهای شما",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# مورد تازه} other {# مورد تازه}}",
"loading_indicator.label": "بارگیری...",
"media_gallery.toggle_visible": "تغییر پیدایی",
"missing_indicator.label": "پیدا نشد",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "شخصی",
"navigation_bar.pins": "نوشتههای ثابت",
"navigation_bar.preferences": "ترجیحات",
- "navigation_bar.profile_directory": "فهرست گزیدهٔ کاربران",
"navigation_bar.public_timeline": "نوشتههای همهجا",
"navigation_bar.security": "امنیت",
+ "notification.and_n_others": "و {count, plural, one {# اعلان دیگر} other {# اعلان دیگر}}",
"notification.favourite": "{name} نوشتهٔ شما را پسندید",
"notification.follow": "{name} پیگیر شما شد",
"notification.mention": "{name} از شما نام برد",
@@ -309,14 +327,14 @@
"search.placeholder": "جستجو",
"search_popout.search_format": "راهنمای جستجوی پیشرفته",
"search_popout.tips.full_text": "جستجوی متنی ساده میتواند بوقهایی که شما نوشتهاید، پسندیدهاید، بازبوقیدهاید، یا در آنها از شما نام برده شده است را پیدا کند. همچنین نامهای کاربری، نام نمایشیافته، و هشتگها را هم شامل میشود.",
- "search_popout.tips.hashtag": "هشتگ",
+ "search_popout.tips.hashtag": "برچسب",
"search_popout.tips.status": "نوشته",
- "search_popout.tips.text": "جستجوی متنی ساده برای نامها، نامهای کاربری، و هشتگها",
+ "search_popout.tips.text": "جستجوی متنی ساده برای نامها، نامهای کاربری، و برچسبها",
"search_popout.tips.user": "کاربر",
"search_results.accounts": "افراد",
- "search_results.hashtags": "هشتگها",
+ "search_results.hashtags": "برچسبها",
"search_results.statuses": "بوقها",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "جستجوی محتوای بوقها در این سرور ماستدون ممکن نیست.",
"search_results.total": "{count, number} {count, plural, one {نتیجه} other {نتیجه}}",
"status.admin_account": "محیط مدیریت مربوط به @{name} را باز کن",
"status.admin_status": "این نوشته را در محیط مدیریت باز کن",
@@ -355,6 +373,7 @@
"status.show_more": "نمایش",
"status.show_more_all": "نمایش بیشتر همه",
"status.show_thread": "نمایش گفتگو",
+ "status.uncached_media_warning": "ناموجود",
"status.unmute_conversation": "باصداکردن گفتگو",
"status.unpin": "برداشتن نوشتهٔ ثابت نمایه",
"suggestions.dismiss": "پیشنهاد را نادیده بگیر",
@@ -370,14 +389,22 @@
"time_remaining.moments": "زمان باقیمانده",
"time_remaining.seconds": "{number, plural, one {# ثانیه} other {# ثانیه}} باقی مانده",
"trends.count_by_accounts": "{count} {rawCount, plural, one {نفر نوشته است} other {نفر نوشتهاند}}",
+ "trends.trending_now": "پرطرفدار",
"ui.beforeunload": "اگر از ماستدون خارج شوید پیشنویس شما پاک خواهد شد.",
"upload_area.title": "برای بارگذاری به اینجا بکشید",
"upload_button.label": "افزودن عکس و ویدیو (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "از حد مجاز باگذاری فراتر رفتید.",
"upload_error.poll": "باگذاری پرونده در نظرسنجیها ممکن نیست.",
"upload_form.description": "نوشتهٔ توضیحی برای کمبینایان و نابینایان",
- "upload_form.focus": "تغییر پیشنمایش",
+ "upload_form.edit": "ویرایش",
"upload_form.undo": "حذف",
+ "upload_modal.analyzing_picture": "در حال پردازش تصویر…",
+ "upload_modal.apply": "اجرا",
+ "upload_modal.description_placeholder": "مردی با بیل مادرزنش را کشت",
+ "upload_modal.detect_text": "پیدا کردن نوشته از درون تصویر",
+ "upload_modal.edit_media": "ویرایش تصویر",
+ "upload_modal.hint": "حتی اگر تصویر بریده یا کوچک شود، نقطهٔ کانونی آن همیشه دیده خواهد شد. نقطهٔ کانونی را با کلیک یا جابهجا کردن آن تنظیم کنید.",
+ "upload_modal.preview_label": "پیشنمایش ({ratio})",
"upload_progress.label": "بارگذاری...",
"video.close": "بستن ویدیو",
"video.exit_fullscreen": "خروج از حالت تمام صفحه",
diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json
index 05495d5d7..ff11915c3 100644
--- a/app/javascript/mastodon/locales/fi.json
+++ b/app/javascript/mastodon/locales/fi.json
@@ -4,6 +4,7 @@
"account.block": "Estä @{name}",
"account.block_domain": "Piilota kaikki sisältö verkkotunnuksesta {domain}",
"account.blocked": "Estetty",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Viesti käyttäjälle @{name}",
"account.domain_blocked": "Verkko-osoite piilotettu",
"account.edit_profile": "Muokkaa",
@@ -15,6 +16,7 @@
"account.follows.empty": "Tämä käyttäjä ei vielä seuraa ketään.",
"account.follows_you": "Seuraa sinua",
"account.hide_reblogs": "Piilota buustaukset käyttäjältä @{name}",
+ "account.last_status": "Last active",
"account.link_verified_on": "Tämän linkin omistaja tarkistettiin {date}",
"account.locked_info": "Tämän tili on yksityinen. Käyttäjä vahvistaa itse kuka voi seurata häntä.",
"account.media": "Media",
@@ -23,6 +25,7 @@
"account.mute": "Mykistä @{name}",
"account.mute_notifications": "Mykistä ilmoitukset käyttäjältä @{name}",
"account.muted": "Mykistetty",
+ "account.never_active": "Never",
"account.posts": "Tuuttaukset",
"account.posts_with_replies": "Tuuttaukset ja vastaukset",
"account.report": "Raportoi @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Lakkaa seuraamasta",
"account.unmute": "Poista käyttäjän @{name} mykistys",
"account.unmute_notifications": "Poista mykistys käyttäjän @{name} ilmoituksilta",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Tapahtui odottamaton virhe.",
"alert.unexpected.title": "Hups!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Ensi kerralla voit ohittaa tämän painamalla {combo}",
"bundle_column_error.body": "Jokin meni vikaan komponenttia ladattaessa.",
"bundle_column_error.retry": "Yritä uudestaan",
@@ -47,6 +53,7 @@
"column.blocks": "Estetyt käyttäjät",
"column.community": "Paikallinen aikajana",
"column.direct": "Viestit",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Piilotetut verkkotunnukset",
"column.favourites": "Suosikit",
"column.follow_requests": "Seuraamispyynnöt",
@@ -56,6 +63,7 @@
"column.notifications": "Ilmoitukset",
"column.pins": "Kiinnitetty tuuttaus",
"column.public": "Yleinen aikajana",
+ "column.status": "Toot",
"column_back_button.label": "Takaisin",
"column_header.hide_settings": "Piilota asetukset",
"column_header.moveLeft_settings": "Siirrä saraketta vasemmalle",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Haluatko varmasti poistaa tämän listan kokonaan?",
"confirmations.domain_block.confirm": "Piilota koko verkko-osoite",
"confirmations.domain_block.message": "Haluatko aivan varmasti estää koko verkko-osoitteen {domain}? Useimmiten jokunen kohdistettu esto ja mykistys riittää, ja se on suositeltavampi tapa toimia.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Mykistä",
"confirmations.mute.message": "Haluatko varmasti mykistää käyttäjän {name}?",
"confirmations.redraft.confirm": "Poista & palauta muokattavaksi",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Jos vastaat nyt, vastaus korvaa tällä hetkellä työstämäsi viestin. Oletko varma, että haluat jatkaa?",
"confirmations.unfollow.confirm": "Lakkaa seuraamasta",
"confirmations.unfollow.message": "Haluatko varmasti lakata seuraamasta käyttäjää {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Upota statuspäivitys sivullesi kopioimalla alla oleva koodi.",
"embed.preview": "Se tulee näyttämään tältä:",
"emoji_button.activity": "Aktiviteetit",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Kiinnitetyt tuuttaukset",
"navigation_bar.preferences": "Asetukset",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Yleinen aikajana",
"navigation_bar.security": "Tunnukset",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} tykkäsi tilastasi",
"notification.follow": "{name} seurasi sinua",
"notification.mention": "{name} mainitsi sinut",
@@ -355,6 +373,7 @@
"status.show_more": "Näytä lisää",
"status.show_more_all": "Näytä lisää kaikista",
"status.show_thread": "Show thread",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Poista keskustelun mykistys",
"status.unpin": "Irrota profiilista",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Luonnos häviää, jos poistut Mastodonista.",
"upload_area.title": "Lataa raahaamalla ja pudottamalla tähän",
"upload_button.label": "Lisää mediaa",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Anna kuvaus näkörajoitteisia varten",
- "upload_form.focus": "Rajaa",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Peru",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Ladataan...",
"video.close": "Sulje video",
"video.exit_fullscreen": "Poistu koko näytön tilasta",
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index f4db2e7a1..a3b0bb3f5 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -4,10 +4,11 @@
"account.block": "Bloquer @{name}",
"account.block_domain": "Tout masquer venant de {domain}",
"account.blocked": "Bloqué",
+ "account.cancel_follow_request": "Annuler la demande de suivi",
"account.direct": "Envoyer un message direct à @{name}",
"account.domain_blocked": "Domaine caché",
"account.edit_profile": "Modifier le profil",
- "account.endorse": "Figure sur le profil",
+ "account.endorse": "Mettre en avant sur le profil",
"account.follow": "Suivre",
"account.followers": "Abonné⋅e⋅s",
"account.followers.empty": "Personne ne suit cet utilisateur·rice pour l’instant.",
@@ -15,6 +16,7 @@
"account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour l’instant.",
"account.follows_you": "Vous suit",
"account.hide_reblogs": "Masquer les partages de @{name}",
+ "account.last_status": "Dernière activité",
"account.link_verified_on": "La propriété de ce lien a été vérifiée le {date}",
"account.locked_info": "Ce compte est verrouillé. Son propriétaire approuve manuellement qui peut le ou la suivre.",
"account.media": "Média",
@@ -23,6 +25,7 @@
"account.mute": "Masquer @{name}",
"account.mute_notifications": "Ignorer les notifications de @{name}",
"account.muted": "Silencé",
+ "account.never_active": "Jamais",
"account.posts": "Pouets",
"account.posts_with_replies": "Pouets et réponses",
"account.report": "Signaler @{name}",
@@ -31,13 +34,16 @@
"account.show_reblogs": "Afficher les partages de @{name}",
"account.unblock": "Débloquer @{name}",
"account.unblock_domain": "Ne plus masquer {domain}",
- "account.unendorse": "Ne figure pas sur le profil",
+ "account.unendorse": "Ne pas mettre en avant sur le profil",
"account.unfollow": "Ne plus suivre",
"account.unmute": "Ne plus masquer @{name}",
"account.unmute_notifications": "Réactiver les notifications de @{name}",
+ "alert.rate_limited.message": "Veuillez réessayer après {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Taux limité",
"alert.unexpected.message": "Une erreur inattendue s’est produite.",
"alert.unexpected.title": "Oups !",
- "boost_modal.combo": "Vous pouvez appuyer sur {combo} pour pouvoir passer ceci, la prochaine fois",
+ "autosuggest_hashtag.per_week": "{count} par semaine",
+ "boost_modal.combo": "Vous pouvez appuyer sur {combo} pour passer ceci, la prochaine fois",
"bundle_column_error.body": "Une erreur s’est produite lors du chargement de ce composant.",
"bundle_column_error.retry": "Réessayer",
"bundle_column_error.title": "Erreur réseau",
@@ -46,7 +52,8 @@
"bundle_modal_error.retry": "Réessayer",
"column.blocks": "Comptes bloqués",
"column.community": "Fil public local",
- "column.direct": "Messages directs",
+ "column.direct": "Messages privés",
+ "column.directory": "Parcourir les profils",
"column.domain_blocks": "Domaines cachés",
"column.favourites": "Favoris",
"column.follow_requests": "Demandes de suivi",
@@ -56,6 +63,7 @@
"column.notifications": "Notifications",
"column.pins": "Pouets épinglés",
"column.public": "Fil public global",
+ "column.status": "Pouet",
"column_back_button.label": "Retour",
"column_header.hide_settings": "Masquer les paramètres",
"column_header.moveLeft_settings": "Déplacer la colonne vers la gauche",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Êtes-vous sûr·e de vouloir supprimer définitivement cette liste ?",
"confirmations.domain_block.confirm": "Masquer le domaine entier",
"confirmations.domain_block.message": "Êtes-vous vraiment, vraiment sûr⋅e de vouloir bloquer {domain} en entier ? Dans la plupart des cas, quelques blocages ou masquages ciblés sont suffisants et préférables. Vous ne verrez plus de contenu provenant de ce domaine, ni dans fils publics, ni dans vos notifications. Vos abonné·e·s utilisant ce domaine seront retiré·e·s.",
+ "confirmations.logout.confirm": "Déconnexion",
+ "confirmations.logout.message": "Êtes-vous sûr de vouloir vous déconnecter ?",
"confirmations.mute.confirm": "Masquer",
"confirmations.mute.message": "Confirmez-vous le masquage de {name} ?",
"confirmations.redraft.confirm": "Effacer et ré-écrire",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Répondre maintenant écrasera le message que vous êtes en train de composer. Voulez-vous vraiment continuer ?",
"confirmations.unfollow.confirm": "Ne plus suivre",
"confirmations.unfollow.message": "Voulez-vous arrêter de suivre {name} ?",
+ "conversation.delete": "Supprimer la conversation",
+ "conversation.mark_as_read": "Marquer comme lu",
+ "conversation.open": "Afficher la conversation",
+ "conversation.with": "Avec {names}",
+ "directory.federated": "De la fédiverse connue",
+ "directory.local": "De {domain} seulement",
+ "directory.new_arrivals": "Nouveaux arrivants",
+ "directory.recently_active": "Récemment actif",
"embed.instructions": "Intégrez ce statut à votre site en copiant le code ci-dessous.",
"embed.preview": "Il apparaîtra comme cela :",
"emoji_button.activity": "Activités",
@@ -156,7 +174,7 @@
"home.column_settings.basic": "Basique",
"home.column_settings.show_reblogs": "Afficher les partages",
"home.column_settings.show_replies": "Afficher les réponses",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "Mettre à jour en temps réel",
"intervals.full.days": "{number, plural, one {# jour} other {# jours}}",
"intervals.full.hours": "{number, plural, one {# heure} other {# heures}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@@ -169,7 +187,7 @@
"introduction.federation.local.text": "Les messages publics de personnes se trouvant sur le même serveur que vous apparaîtront sur le fil public local.",
"introduction.interactions.action": "Finir le tutoriel !",
"introduction.interactions.favourite.headline": "Favoris",
- "introduction.interactions.favourite.text": "Vous pouvez garder un pouet pour plus tard, et faire savoir à son auteur·ice que vous l'avez aimé, en le favorisant.",
+ "introduction.interactions.favourite.text": "Vous pouvez garder un pouet pour plus tard et faire savoir à son auteur·ice que vous l’avez aimé, en le favorisant.",
"introduction.interactions.reblog.headline": "Repartager",
"introduction.interactions.reblog.text": "Vous pouvez partager les pouets d'autres personnes avec vos abonné·e·s en les repartageant.",
"introduction.interactions.reply.headline": "Répondre",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Titre de la nouvelle liste",
"lists.search": "Rechercher parmi les gens que vous suivez",
"lists.subheading": "Vos listes",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# nouvel item} other {# nouveaux items}}",
"loading_indicator.label": "Chargement…",
"media_gallery.toggle_visible": "Modifier la visibilité",
"missing_indicator.label": "Non trouvé",
@@ -240,7 +258,7 @@
"navigation_bar.filters": "Mots silenciés",
"navigation_bar.follow_requests": "Demandes de suivi",
"navigation_bar.follows_and_followers": "Abonnements et abonné⋅e·s",
- "navigation_bar.info": "Plus d’informations",
+ "navigation_bar.info": "À propos de ce serveur",
"navigation_bar.keyboard_shortcuts": "Raccourcis clavier",
"navigation_bar.lists": "Listes",
"navigation_bar.logout": "Déconnexion",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personnel",
"navigation_bar.pins": "Pouets épinglés",
"navigation_bar.preferences": "Préférences",
- "navigation_bar.profile_directory": "Annuaire des profils",
"navigation_bar.public_timeline": "Fil public global",
"navigation_bar.security": "Sécurité",
+ "notification.and_n_others": "et {count, plural, one {# autre} other {# autres}}",
"notification.favourite": "{name} a ajouté à ses favoris :",
"notification.follow": "{name} vous suit",
"notification.mention": "{name} vous a mentionné :",
@@ -316,10 +334,10 @@
"search_results.accounts": "Comptes",
"search_results.hashtags": "Hashtags",
"search_results.statuses": "Pouets",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "La recherche de pouets 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}}",
- "status.admin_account": "Ouvrir l'interface de modération pour @{name}",
- "status.admin_status": "Ouvrir ce statut dans l'interface de modération",
+ "status.admin_account": "Ouvrir l’interface de modération pour @{name}",
+ "status.admin_status": "Ouvrir ce statut dans l’interface de modération",
"status.block": "Bloquer @{name}",
"status.cancel_reblog_private": "Dé-booster",
"status.cannot_reblog": "Cette publication ne peut être boostée",
@@ -355,6 +373,7 @@
"status.show_more": "Déplier",
"status.show_more_all": "Tout déplier",
"status.show_thread": "Lire le fil",
+ "status.uncached_media_warning": "Indisponible",
"status.unmute_conversation": "Ne plus masquer la conversation",
"status.unpin": "Retirer du profil",
"suggestions.dismiss": "Rejeter la suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Encore quelques instants",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} restantes",
"trends.count_by_accounts": "{count} {rawCount, plural, one {personne} other {personnes}} discutent",
+ "trends.trending_now": "Tendance en ce moment",
"ui.beforeunload": "Votre brouillon sera perdu si vous quittez Mastodon.",
"upload_area.title": "Glissez et déposez pour envoyer",
- "upload_button.label": "Joindre un média (JPEG, PNG, GIF, WebM, MP4, MOV)",
+ "upload_button.label": "Joindre un média ({formats})",
"upload_error.limit": "Taille maximale d'envoi de fichier dépassée.",
- "upload_error.poll": "L'envoi de fichiers n'est pas autorisé avec les sondages.",
+ "upload_error.poll": "L’envoi de fichiers n’est pas autorisé avec les sondages.",
"upload_form.description": "Décrire pour les malvoyant·e·s",
- "upload_form.focus": "Modifier l’aperçu",
+ "upload_form.edit": "Modifier",
"upload_form.undo": "Supprimer",
+ "upload_modal.analyzing_picture": "Analyse de l’image en cours…",
+ "upload_modal.apply": "Appliquer",
+ "upload_modal.description_placeholder": "Buvez de ce whisky que le patron juge fameux",
+ "upload_modal.detect_text": "Détecter le texte de l’image",
+ "upload_modal.edit_media": "Modifier le média",
+ "upload_modal.hint": "Cliquez ou faites glisser le cercle sur l’aperçu pour choisir le point focal qui sera toujours visible sur toutes les miniatures.",
+ "upload_modal.preview_label": "Aperçu ({ratio})",
"upload_progress.label": "Envoi en cours…",
"video.close": "Fermer la vidéo",
"video.exit_fullscreen": "Quitter le plein écran",
diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json
new file mode 100644
index 000000000..560fa3bca
--- /dev/null
+++ b/app/javascript/mastodon/locales/ga.json
@@ -0,0 +1,418 @@
+{
+ "account.add_or_remove_from_list": "Add or Remove from lists",
+ "account.badges.bot": "Bot",
+ "account.block": "Block @{name}",
+ "account.block_domain": "Hide everything from {domain}",
+ "account.blocked": "Blocked",
+ "account.cancel_follow_request": "Cancel follow request",
+ "account.direct": "Direct message @{name}",
+ "account.domain_blocked": "Domain hidden",
+ "account.edit_profile": "Edit profile",
+ "account.endorse": "Feature on profile",
+ "account.follow": "Follow",
+ "account.followers": "Followers",
+ "account.followers.empty": "No one follows this user yet.",
+ "account.follows": "Follows",
+ "account.follows.empty": "This user doesn't follow anyone yet.",
+ "account.follows_you": "Follows you",
+ "account.hide_reblogs": "Hide boosts from @{name}",
+ "account.last_status": "Last active",
+ "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.never_active": "Never",
+ "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.unblock": "Unblock @{name}",
+ "account.unblock_domain": "Unhide {domain}",
+ "account.unendorse": "Don't feature on profile",
+ "account.unfollow": "Unfollow",
+ "account.unmute": "Unmute @{name}",
+ "account.unmute_notifications": "Unmute notifications from @{name}",
+ "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!",
+ "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.title": "Network error",
+ "bundle_modal_error.close": "Close",
+ "bundle_modal_error.message": "Something went wrong while loading this component.",
+ "bundle_modal_error.retry": "Try again",
+ "column.blocks": "Blocked users",
+ "column.community": "Local timeline",
+ "column.direct": "Direct messages",
+ "column.directory": "Browse profiles",
+ "column.domain_blocks": "Hidden domains",
+ "column.favourites": "Favourites",
+ "column.follow_requests": "Follow requests",
+ "column.home": "Home",
+ "column.lists": "Lists",
+ "column.mutes": "Muted users",
+ "column.notifications": "Notifications",
+ "column.pins": "Pinned toot",
+ "column.public": "Federated timeline",
+ "column.status": "Toot",
+ "column_back_button.label": "Back",
+ "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.show_settings": "Show settings",
+ "column_header.unpin": "Unpin",
+ "column_subheading.settings": "Settings",
+ "community.column_settings.media_only": "Media only",
+ "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.",
+ "compose_form.direct_message_warning_learn_more": "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.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.poll.add_option": "Add a choice",
+ "compose_form.poll.duration": "Poll duration",
+ "compose_form.poll.option_placeholder": "Choice {number}",
+ "compose_form.poll.remove_option": "Remove this choice",
+ "compose_form.publish": "Toot",
+ "compose_form.publish_loud": "{publish}!",
+ "compose_form.sensitive.hide": "Mark media as sensitive",
+ "compose_form.sensitive.marked": "Media is marked as sensitive",
+ "compose_form.sensitive.unmarked": "Media is not marked as sensitive",
+ "compose_form.spoiler.marked": "Text is hidden behind warning",
+ "compose_form.spoiler.unmarked": "Text is not hidden",
+ "compose_form.spoiler_placeholder": "Write your warning here",
+ "confirmation_modal.cancel": "Cancel",
+ "confirmations.block.block_and_report": "Block & Report",
+ "confirmations.block.confirm": "Block",
+ "confirmations.block.message": "Are you sure you want to block {name}?",
+ "confirmations.delete.confirm": "Delete",
+ "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.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.logout.message": "Are you sure you want to log out?",
+ "confirmations.mute.confirm": "Mute",
+ "confirmations.mute.message": "Are you sure you want to mute {name}?",
+ "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.message": "Are you sure you want to unfollow {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "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.custom": "Custom",
+ "emoji_button.flags": "Flags",
+ "emoji_button.food": "Food & Drink",
+ "emoji_button.label": "Insert emoji",
+ "emoji_button.nature": "Nature",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
+ "emoji_button.objects": "Objects",
+ "emoji_button.people": "People",
+ "emoji_button.recent": "Frequently used",
+ "emoji_button.search": "Search...",
+ "emoji_button.search_results": "Search results",
+ "emoji_button.symbols": "Symbols",
+ "emoji_button.travel": "Travel & Places",
+ "empty_column.account_timeline": "No toots here!",
+ "empty_column.account_unavailable": "Profile unavailable",
+ "empty_column.blocks": "You haven't blocked any users yet.",
+ "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.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_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.public_timeline": "the public timeline",
+ "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.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
+ "follow_request.authorize": "Authorize",
+ "follow_request.reject": "Reject",
+ "getting_started.developers": "Developers",
+ "getting_started.directory": "Profile directory",
+ "getting_started.documentation": "Documentation",
+ "getting_started.heading": "Getting started",
+ "getting_started.invite": "Invite people",
+ "getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.",
+ "getting_started.security": "Security",
+ "getting_started.terms": "Terms of service",
+ "hashtag.column_header.tag_mode.all": "and {additional}",
+ "hashtag.column_header.tag_mode.any": "or {additional}",
+ "hashtag.column_header.tag_mode.none": "without {additional}",
+ "hashtag.column_settings.select.no_options_message": "No suggestions found",
+ "hashtag.column_settings.select.placeholder": "Enter hashtags…",
+ "hashtag.column_settings.tag_mode.all": "All of these",
+ "hashtag.column_settings.tag_mode.any": "Any of these",
+ "hashtag.column_settings.tag_mode.none": "None of these",
+ "hashtag.column_settings.tag_toggle": "Include additional tags in this column",
+ "home.column_settings.basic": "Basic",
+ "home.column_settings.show_reblogs": "Show boosts",
+ "home.column_settings.show_replies": "Show replies",
+ "home.column_settings.update_live": "Update in real-time",
+ "intervals.full.days": "{number, plural, one {# day} other {# days}}",
+ "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
+ "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
+ "introduction.federation.action": "Next",
+ "introduction.federation.federated.headline": "Federated",
+ "introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
+ "introduction.federation.home.headline": "Home",
+ "introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
+ "introduction.federation.local.headline": "Local",
+ "introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
+ "introduction.interactions.action": "Finish toot-orial!",
+ "introduction.interactions.favourite.headline": "Favourite",
+ "introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
+ "introduction.interactions.reblog.headline": "Boost",
+ "introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
+ "introduction.interactions.reply.headline": "Reply",
+ "introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
+ "introduction.welcome.action": "Let's go!",
+ "introduction.welcome.headline": "First steps",
+ "introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
+ "keyboard_shortcuts.back": "to navigate back",
+ "keyboard_shortcuts.blocked": "to open blocked users list",
+ "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.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",
+ "keyboard_shortcuts.favourites": "to open favourites list",
+ "keyboard_shortcuts.federated": "to open federated timeline",
+ "keyboard_shortcuts.heading": "Keyboard Shortcuts",
+ "keyboard_shortcuts.home": "to open home timeline",
+ "keyboard_shortcuts.hotkey": "Hotkey",
+ "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.my_profile": "to open your profile",
+ "keyboard_shortcuts.notifications": "to open notifications column",
+ "keyboard_shortcuts.pinned": "to open pinned toots list",
+ "keyboard_shortcuts.profile": "to open author's profile",
+ "keyboard_shortcuts.reply": "to reply",
+ "keyboard_shortcuts.requests": "to open follow requests list",
+ "keyboard_shortcuts.search": "to focus search",
+ "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.unfocus": "to un-focus compose textarea/search",
+ "keyboard_shortcuts.up": "to move up in the list",
+ "lightbox.close": "Close",
+ "lightbox.next": "Next",
+ "lightbox.previous": "Previous",
+ "lightbox.view_context": "View context",
+ "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.new.create": "Add list",
+ "lists.new.title_placeholder": "New list title",
+ "lists.search": "Search among people you follow",
+ "lists.subheading": "Your lists",
+ "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "loading_indicator.label": "Loading...",
+ "media_gallery.toggle_visible": "Toggle visibility",
+ "missing_indicator.label": "Not found",
+ "missing_indicator.sublabel": "This resource could not be found",
+ "mute_modal.hide_notifications": "Hide notifications from this user?",
+ "navigation_bar.apps": "Mobile apps",
+ "navigation_bar.blocks": "Blocked users",
+ "navigation_bar.community_timeline": "Local timeline",
+ "navigation_bar.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",
+ "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.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.pins": "Pinned toots",
+ "navigation_bar.preferences": "Preferences",
+ "navigation_bar.public_timeline": "Federated timeline",
+ "navigation_bar.security": "Security",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
+ "notification.favourite": "{name} favourited your status",
+ "notification.follow": "{name} followed you",
+ "notification.mention": "{name} mentioned you",
+ "notification.poll": "A poll you have voted in has ended",
+ "notification.reblog": "{name} boosted your status",
+ "notifications.clear": "Clear notifications",
+ "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
+ "notifications.column_settings.alert": "Desktop notifications",
+ "notifications.column_settings.favourite": "Favourites:",
+ "notifications.column_settings.filter_bar.advanced": "Display all categories",
+ "notifications.column_settings.filter_bar.category": "Quick filter bar",
+ "notifications.column_settings.filter_bar.show": "Show",
+ "notifications.column_settings.follow": "New followers:",
+ "notifications.column_settings.mention": "Mentions:",
+ "notifications.column_settings.poll": "Poll results:",
+ "notifications.column_settings.push": "Push notifications",
+ "notifications.column_settings.reblog": "Boosts:",
+ "notifications.column_settings.show": "Show in column",
+ "notifications.column_settings.sound": "Play sound",
+ "notifications.filter.all": "All",
+ "notifications.filter.boosts": "Boosts",
+ "notifications.filter.favourites": "Favourites",
+ "notifications.filter.follows": "Follows",
+ "notifications.filter.mentions": "Mentions",
+ "notifications.filter.polls": "Poll results",
+ "notifications.group": "{count} notifications",
+ "poll.closed": "Closed",
+ "poll.refresh": "Refresh",
+ "poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
+ "poll.vote": "Vote",
+ "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.short": "Direct",
+ "privacy.private.long": "Post to followers only",
+ "privacy.private.short": "Followers-only",
+ "privacy.public.long": "Post to public timelines",
+ "privacy.public.short": "Public",
+ "privacy.unlisted.long": "Do not show in public timelines",
+ "privacy.unlisted.short": "Unlisted",
+ "regeneration_indicator.label": "Loading…",
+ "regeneration_indicator.sublabel": "Your home feed is being prepared!",
+ "relative_time.days": "{number}d",
+ "relative_time.hours": "{number}h",
+ "relative_time.just_now": "now",
+ "relative_time.minutes": "{number}m",
+ "relative_time.seconds": "{number}s",
+ "reply_indicator.cancel": "Cancel",
+ "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.placeholder": "Additional comments",
+ "report.submit": "Submit",
+ "report.target": "Report {target}",
+ "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.",
+ "search_popout.tips.hashtag": "hashtag",
+ "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.hashtags": "Hashtags",
+ "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}}",
+ "status.admin_account": "Open moderation interface for @{name}",
+ "status.admin_status": "Open this status in the moderation interface",
+ "status.block": "Block @{name}",
+ "status.cancel_reblog_private": "Unboost",
+ "status.cannot_reblog": "This post cannot be boosted",
+ "status.copy": "Copy link to status",
+ "status.delete": "Delete",
+ "status.detailed_status": "Detailed conversation view",
+ "status.direct": "Direct message @{name}",
+ "status.embed": "Embed",
+ "status.favourite": "Favourite",
+ "status.filtered": "Filtered",
+ "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.open": "Expand this status",
+ "status.pin": "Pin on profile",
+ "status.pinned": "Pinned toot",
+ "status.read_more": "Read more",
+ "status.reblog": "Boost",
+ "status.reblog_private": "Boost to original audience",
+ "status.reblogged_by": "{name} boosted",
+ "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
+ "status.redraft": "Delete & re-draft",
+ "status.reply": "Reply",
+ "status.replyAll": "Reply to thread",
+ "status.report": "Report @{name}",
+ "status.sensitive_warning": "Sensitive content",
+ "status.share": "Share",
+ "status.show_less": "Show less",
+ "status.show_less_all": "Show less for all",
+ "status.show_more": "Show more",
+ "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.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.local_timeline": "Local",
+ "tabs_bar.notifications": "Notifications",
+ "tabs_bar.search": "Search",
+ "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",
+ "time_remaining.moments": "Moments remaining",
+ "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
+ "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
+ "ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
+ "upload_area.title": "Drag & drop to upload",
+ "upload_button.label": "Add media ({formats})",
+ "upload_error.limit": "File upload limit exceeded.",
+ "upload_error.poll": "File upload not allowed with polls.",
+ "upload_form.description": "Describe for the visually impaired",
+ "upload_form.edit": "Edit",
+ "upload_form.undo": "Delete",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
+ "upload_progress.label": "Uploading...",
+ "video.close": "Close video",
+ "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"
+}
diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json
index 2605f61f8..be1b23870 100644
--- a/app/javascript/mastodon/locales/gl.json
+++ b/app/javascript/mastodon/locales/gl.json
@@ -4,6 +4,7 @@
"account.block": "Bloquear @{name}",
"account.block_domain": "Ocultar calquer contido de {domain}",
"account.blocked": "Bloqueada",
+ "account.cancel_follow_request": "Cancelar petición de seguemento",
"account.direct": "Mensaxe directa @{name}",
"account.domain_blocked": "Dominio agochado",
"account.edit_profile": "Editar perfil",
@@ -15,6 +16,7 @@
"account.follows.empty": "Esta usuaria aínda non segue a ninguén.",
"account.follows_you": "Séguete",
"account.hide_reblogs": "Ocultar repeticións de @{name}",
+ "account.last_status": "Último activo",
"account.link_verified_on": "A propiedade de esta ligazón foi comprobada en {date}",
"account.locked_info": "O estado da intimidade de esta conta estableceuse en pechado. A persoa dona da conta revisa quen pode seguila.",
"account.media": "Medios",
@@ -23,6 +25,7 @@
"account.mute": "Acalar @{name}",
"account.mute_notifications": "Acalar as notificacións de @{name}",
"account.muted": "Acalada",
+ "account.never_active": "Nunca",
"account.posts": "Toots",
"account.posts_with_replies": "Toots e respostas",
"account.report": "Informar sobre @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Non seguir",
"account.unmute": "Non acalar @{name}",
"account.unmute_notifications": "Desbloquear as notificacións de @{name}",
+ "alert.rate_limited.message": "Por favor inténteo tras {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Taxa limitada",
"alert.unexpected.message": "Aconteceu un fallo non agardado.",
"alert.unexpected.title": "Vaia!",
+ "autosuggest_hashtag.per_week": "{count} por semana",
"boost_modal.combo": "Pulse {combo} para saltar esto a próxima vez",
"bundle_column_error.body": "Houbo un fallo mentras se cargaba este compoñente.",
"bundle_column_error.retry": "Inténteo de novo",
@@ -47,6 +53,7 @@
"column.blocks": "Usuarias bloqueadas",
"column.community": "Liña temporal local",
"column.direct": "Mensaxes directas",
+ "column.directory": "Ver perfiles",
"column.domain_blocks": "Dominios agochados",
"column.favourites": "Favoritas",
"column.follow_requests": "Peticións de seguimento",
@@ -56,6 +63,7 @@
"column.notifications": "Notificacións",
"column.pins": "Mensaxes fixadas",
"column.public": "Liña temporal federada",
+ "column.status": "Toot",
"column_back_button.label": "Atrás",
"column_header.hide_settings": "Agochar axustes",
"column_header.moveLeft_settings": "Mover a columna hacia a esquerda",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Estás seguro de que queres eliminar permanentemente esta lista?",
"confirmations.domain_block.confirm": "Agochar un dominio completo",
"confirmations.domain_block.message": "Realmente está segura de que quere bloquear por completo o dominio {domain}? Normalmente é suficiente, e preferible, bloquear de xeito selectivo varios elementos. Non verá contidos de ese dominio en ningunha liña temporal ou nas notificacións. As súas seguidoras en ese dominio serán eliminadas.",
+ "confirmations.logout.confirm": "Desconectar",
+ "confirmations.logout.message": "Seguro que desexa desconectar?",
"confirmations.mute.confirm": "Acalar",
"confirmations.mute.message": "Está segura de que quere acalar a {name}?",
"confirmations.redraft.confirm": "Eliminar e reescribir",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Respostando agora sobreescribirá a mensaxe que está a compoñer. Segura de querer proceder?",
"confirmations.unfollow.confirm": "Deixar de seguir",
"confirmations.unfollow.message": "Quere deixar de seguir a {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "Desde o fediverso coñecido",
+ "directory.local": "Só desde {domain}",
+ "directory.new_arrivals": "Novas achegas",
+ "directory.recently_active": "Activo recentemente",
"embed.instructions": "Copie o código inferior para incrustar no seu sitio web este estado.",
"embed.preview": "Así será mostrado:",
"emoji_button.activity": "Actividade",
@@ -156,7 +174,7 @@
"home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar repeticións",
"home.column_settings.show_replies": "Mostrar respostas",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "Actualizar en tempo real",
"intervals.full.days": "{number, plural,one {# día} other {# días}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Novo título da lista",
"lists.search": "Procurar entre a xente que segues",
"lists.subheading": "As túas listas",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# novo elemento} other {# novos elementos}}",
"loading_indicator.label": "Cargando...",
"media_gallery.toggle_visible": "Ocultar",
"missing_indicator.label": "Non atopado",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Persoal",
"navigation_bar.pins": "Mensaxes fixadas",
"navigation_bar.preferences": "Preferencias",
- "navigation_bar.profile_directory": "Directorio de perfil",
"navigation_bar.public_timeline": "Liña temporal federada",
"navigation_bar.security": "Seguridade",
+ "notification.and_n_others": "e {count, plural, one {# outro} other {# outros}}",
"notification.favourite": "{name} marcou como favorito o seu estado",
"notification.follow": "{name} está a seguila",
"notification.mention": "{name} mencionoute",
@@ -316,7 +334,7 @@
"search_results.accounts": "Xente",
"search_results.hashtags": "Etiquetas",
"search_results.statuses": "Toots",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "Non está activada neste servidor Mastodon a busca de toots polo seu contido.",
"search_results.total": "{count, number} {count,plural,one {result} outros {results}}",
"status.admin_account": "Abrir interface de moderación para @{name}",
"status.admin_status": "Abrir este estado na interface de moderación",
@@ -355,6 +373,7 @@
"status.show_more": "Mostrar máis",
"status.show_more_all": "Mostrar máis para todas",
"status.show_thread": "Mostrar fío",
+ "status.uncached_media_warning": "Non dispoñible",
"status.unmute_conversation": "Non acalar a conversa",
"status.unpin": "Despegar do perfil",
"suggestions.dismiss": "Rexeitar suxestión",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Está rematando",
"time_remaining.seconds": "{number, plural, one {# segundo} other {# segundos}} restantes",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} outras {people}} conversando",
+ "trends.trending_now": "Tendencias actuais",
"ui.beforeunload": "O borrador perderase se sae de Mastodon.",
"upload_area.title": "Arrastre e solte para subir",
"upload_button.label": "Engadir medios ({formats})",
"upload_error.limit": "Excedeu o límite de subida de ficheiros.",
"upload_error.poll": "Non se poden subir ficheiros nas sondaxes.",
"upload_form.description": "Describa para deficientes visuais",
- "upload_form.focus": "Cambiar vista previa",
+ "upload_form.edit": "Editar",
"upload_form.undo": "Eliminar",
+ "upload_modal.analyzing_picture": "Analizando imaxe…",
+ "upload_modal.apply": "Aplicar",
+ "upload_modal.description_placeholder": "Un raposo moi feitiño salta sobre o can preguiceiro",
+ "upload_modal.detect_text": "Detectar texto na imaxe",
+ "upload_modal.edit_media": "Editar medios",
+ "upload_modal.hint": "Prema ou arrastre o círculo na vista previa para escolle o punto focal que se verá na vista de todas as miniaturas.",
+ "upload_modal.preview_label": "Vista previa ({ratio})",
"upload_progress.label": "Subindo...",
"video.close": "Pechar video",
"video.exit_fullscreen": "Saír da pantalla completa",
diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json
index 99bb87a5f..7d1ec33aa 100644
--- a/app/javascript/mastodon/locales/he.json
+++ b/app/javascript/mastodon/locales/he.json
@@ -4,6 +4,7 @@
"account.block": "חסימת @{name}",
"account.block_domain": "להסתיר הכל מהקהילה {domain}",
"account.blocked": "Blocked",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Direct Message @{name}",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "עריכת פרופיל",
@@ -15,6 +16,7 @@
"account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "במעקב אחריך",
"account.hide_reblogs": "להסתיר הידהודים מאת @{name}",
+ "account.last_status": "Last active",
"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": "מדיה",
@@ -23,6 +25,7 @@
"account.mute": "להשתיק את @{name}",
"account.mute_notifications": "להסתיר התראות מאת @{name}",
"account.muted": "Muted",
+ "account.never_active": "Never",
"account.posts": "הודעות",
"account.posts_with_replies": "Toots with replies",
"account.report": "לדווח על @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "הפסקת מעקב",
"account.unmute": "הפסקת השתקת @{name}",
"account.unmute_notifications": "להפסיק הסתרת הודעות מעם @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "אירעה שגיאה בלתי צפויה.",
"alert.unexpected.title": "אופס!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "ניתן להקיש {combo} כדי לדלג בפעם הבאה",
"bundle_column_error.body": "משהו השתבש בעת הצגת הרכיב הזה.",
"bundle_column_error.retry": "לנסות שוב",
@@ -47,6 +53,7 @@
"column.blocks": "חסימות",
"column.community": "ציר זמן מקומי",
"column.direct": "Direct messages",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Hidden domains",
"column.favourites": "חיבובים",
"column.follow_requests": "בקשות מעקב",
@@ -56,6 +63,7 @@
"column.notifications": "התראות",
"column.pins": "Pinned toot",
"column.public": "בפרהסיה",
+ "column.status": "Toot",
"column_back_button.label": "חזרה",
"column_header.hide_settings": "הסתרת העדפות",
"column_header.moveLeft_settings": "הזחת טור לשמאל",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
"confirmations.domain_block.confirm": "הסתר קהילה שלמה",
"confirmations.domain_block.message": "באמת באמת לחסום את כל קהילת {domain}? ברב המקרים השתקות נבחרות של מספר משתמשים מסויימים צריכה להספיק.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "להשתיק",
"confirmations.mute.message": "להשתיק את {name}?",
"confirmations.redraft.confirm": "Delete & redraft",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"confirmations.unfollow.confirm": "להפסיק מעקב",
"confirmations.unfollow.message": "להפסיק מעקב אחרי {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "ניתן להטמיע את ההודעה באתרך ע\"י העתקת הקוד שלהלן.",
"embed.preview": "דוגמא כיצד זה יראה:",
"emoji_button.activity": "פעילות",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "חיצרוצים מקובעים",
"navigation_bar.preferences": "העדפות",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "ציר זמן בין-קהילתי",
"navigation_bar.security": "Security",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "חצרוצך חובב על ידי {name}",
"notification.follow": "{name} במעקב אחרייך",
"notification.mention": "אוזכרת על ידי {name}",
@@ -355,6 +373,7 @@
"status.show_more": "הראה יותר",
"status.show_more_all": "Show more for all",
"status.show_thread": "Show thread",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "הסרת השתקת שיחה",
"status.unpin": "לשחרר מקיבוע באודות",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "הטיוטא תאבד אם תעזבו את מסטודון.",
"upload_area.title": "ניתן להעלות על ידי Drag & drop",
"upload_button.label": "הוספת מדיה",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "תיאור לכבדי ראיה",
- "upload_form.focus": "Crop",
+ "upload_form.edit": "Edit",
"upload_form.undo": "ביטול",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "עולה...",
"video.close": "סגירת וידאו",
"video.exit_fullscreen": "יציאה ממסך מלא",
diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json
index d4d9e5f64..79b918f9d 100644
--- a/app/javascript/mastodon/locales/hi.json
+++ b/app/javascript/mastodon/locales/hi.json
@@ -4,6 +4,7 @@
"account.block": "Block @{name}",
"account.block_domain": "Hide everything from {domain}",
"account.blocked": "Blocked",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Direct message @{name}",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Edit profile",
@@ -15,6 +16,7 @@
"account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "Follows you",
"account.hide_reblogs": "Hide boosts from @{name}",
+ "account.last_status": "Last active",
"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",
@@ -23,6 +25,7 @@
"account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted",
+ "account.never_active": "Never",
"account.posts": "Toots",
"account.posts_with_replies": "Toots and replies",
"account.report": "Report @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Unfollow",
"account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
+ "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!",
+ "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",
@@ -47,6 +53,7 @@
"column.blocks": "Blocked users",
"column.community": "Local timeline",
"column.direct": "Direct messages",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Hidden domains",
"column.favourites": "Favourites",
"column.follow_requests": "Follow requests",
@@ -56,6 +63,7 @@
"column.notifications": "Notifications",
"column.pins": "Pinned toot",
"column.public": "Federated timeline",
+ "column.status": "Toot",
"column_back_button.label": "Back",
"column_header.hide_settings": "Hide settings",
"column_header.moveLeft_settings": "Move column to the left",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
"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.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"confirmations.redraft.confirm": "Delete & redraft",
@@ -101,6 +111,14 @@
"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.message": "Are you sure you want to unfollow {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "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",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Pinned toots",
"navigation_bar.preferences": "Preferences",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} favourited your status",
"notification.follow": "{name} followed you",
"notification.mention": "{name} mentioned you",
@@ -355,6 +373,7 @@
"status.show_more": "Show more",
"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.unpin": "Unpin from profile",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Drag & drop to upload",
"upload_button.label": "Add media (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Describe for the visually impaired",
- "upload_form.focus": "Crop",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Delete",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Uploading...",
"video.close": "Close video",
"video.exit_fullscreen": "Exit full screen",
diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json
index 273b70d07..9a95995e3 100644
--- a/app/javascript/mastodon/locales/hr.json
+++ b/app/javascript/mastodon/locales/hr.json
@@ -4,6 +4,7 @@
"account.block": "Blokiraj @{name}",
"account.block_domain": "Sakrij sve sa {domain}",
"account.blocked": "Blocked",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Direct Message @{name}",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Uredi profil",
@@ -15,6 +16,7 @@
"account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "te slijedi",
"account.hide_reblogs": "Hide boosts from @{name}",
+ "account.last_status": "Last active",
"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",
@@ -23,6 +25,7 @@
"account.mute": "Utišaj @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted",
+ "account.never_active": "Never",
"account.posts": "Postovi",
"account.posts_with_replies": "Toots with replies",
"account.report": "Prijavi @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Prestani slijediti",
"account.unmute": "Poništi utišavanje @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
+ "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!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Možeš pritisnuti {combo} kako bi ovo preskočio sljedeći put",
"bundle_column_error.body": "Something went wrong while loading this component.",
"bundle_column_error.retry": "Try again",
@@ -47,6 +53,7 @@
"column.blocks": "Blokirani korisnici",
"column.community": "Lokalni timeline",
"column.direct": "Direct messages",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Hidden domains",
"column.favourites": "Favoriti",
"column.follow_requests": "Zahtjevi za slijeđenje",
@@ -56,6 +63,7 @@
"column.notifications": "Notifikacije",
"column.pins": "Pinned toot",
"column.public": "Federalni timeline",
+ "column.status": "Toot",
"column_back_button.label": "Natrag",
"column_header.hide_settings": "Hide settings",
"column_header.moveLeft_settings": "Move column to the left",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
"confirmations.domain_block.confirm": "Sakrij cijelu domenu",
"confirmations.domain_block.message": "Jesi li zaista, zaista siguran da želiš potpuno blokirati {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Utišaj",
"confirmations.mute.message": "Jesi li siguran da želiš utišati {name}?",
"confirmations.redraft.confirm": "Delete & redraft",
@@ -101,6 +111,14 @@
"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.message": "Are you sure you want to unfollow {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "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": "Aktivnost",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Pinned toots",
"navigation_bar.preferences": "Postavke",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Federalni timeline",
"navigation_bar.security": "Security",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} je lajkao tvoj status",
"notification.follow": "{name} te sada slijedi",
"notification.mention": "{name} te je spomenuo",
@@ -355,6 +373,7 @@
"status.show_more": "Pokaži više",
"status.show_more_all": "Show more for all",
"status.show_thread": "Show thread",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Poništi utišavanje razgovora",
"status.unpin": "Unpin from profile",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Povuci i spusti kako bi uploadao",
"upload_button.label": "Dodaj media",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Describe for the visually impaired",
- "upload_form.focus": "Crop",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Poništi",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Uploadam...",
"video.close": "Close video",
"video.exit_fullscreen": "Exit full screen",
diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json
index 38d30efe4..2ab06c6e7 100644
--- a/app/javascript/mastodon/locales/hu.json
+++ b/app/javascript/mastodon/locales/hu.json
@@ -4,6 +4,7 @@
"account.block": "@{name} letiltása",
"account.block_domain": "Minden elrejtése innen: {domain}",
"account.blocked": "Letiltva",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Közvetlen üzenet @{name} számára",
"account.domain_blocked": "Rejtett domain",
"account.edit_profile": "Profil szerkesztése",
@@ -15,6 +16,7 @@
"account.follows.empty": "Ez a felhasználó még senkit sem követ.",
"account.follows_you": "Követ téged",
"account.hide_reblogs": "@{name} megtolásainak némítása",
+ "account.last_status": "Last active",
"account.link_verified_on": "A linket ellenőriztük: {date}",
"account.locked_info": "Ez a fiók zárt. A tulaj engedélyezi, ki követheti őt.",
"account.media": "Média",
@@ -23,6 +25,7 @@
"account.mute": "@{name} némítása",
"account.mute_notifications": "@{name} értesítéseinek némítása",
"account.muted": "Némítva",
+ "account.never_active": "Never",
"account.posts": "Tülkölés",
"account.posts_with_replies": "Tülkölés válaszokkal",
"account.report": "@{name} jelentése",
@@ -35,8 +38,11 @@
"account.unfollow": "Követés vége",
"account.unmute": "@{name} némítás feloldása",
"account.unmute_notifications": "@{name} némított értesítéseinek feloldása",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Váratlan hiba történt.",
"alert.unexpected.title": "Hoppá!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Hogy átugord ezt következő alkalommal, használd {combo}",
"bundle_column_error.body": "Hiba történt a komponens betöltése közben.",
"bundle_column_error.retry": "Próbáld újra",
@@ -47,6 +53,7 @@
"column.blocks": "Letiltott felhasználók",
"column.community": "Helyi idővonal",
"column.direct": "Közvetlen üzenetek",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Rejtett domainek",
"column.favourites": "Kedvencek",
"column.follow_requests": "Követési kérelmek",
@@ -56,6 +63,7 @@
"column.notifications": "Értesítések",
"column.pins": "Kitűzött tülkök",
"column.public": "Nyilvános idővonal",
+ "column.status": "Toot",
"column_back_button.label": "Vissza",
"column_header.hide_settings": "Beállítások elrejtése",
"column_header.moveLeft_settings": "Oszlop elmozdítása balra",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Biztos, hogy véglegesen törölni szeretnéd ezt a listát?",
"confirmations.domain_block.confirm": "Teljes domain elrejtése",
"confirmations.domain_block.message": "Egészen biztos, hogy le szeretnéd tiltani a teljes {domain}-t? A legtöbb esetben néhány célzott tiltás vagy némítás elegendő és kívánatosabb megoldás. Semmilyen tartalmat nem fogsz látni ebből a domainből se idővonalakon, se értesítésekben. Az ebben a domainben lévő követőidet is eltávolítjuk.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Némítás",
"confirmations.mute.message": "Biztos, hogy némítani szeretnéd {name}?",
"confirmations.redraft.confirm": "Törlés és újraírás",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Ha most válaszolsz, ez felülírja a most szerkesztés alatt álló üzenetet. Mégis ezt szeretnéd?",
"confirmations.unfollow.confirm": "Követés visszavonása",
"confirmations.unfollow.message": "Biztos, hogy vissza szeretnéd vonni {name} követését?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Ágyazd be ezt a tülköt a weboldaladba az alábbi kód kimásolásával.",
"embed.preview": "Így fog kinézni:",
"emoji_button.activity": "Aktivitás",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Új lista címe",
"lists.search": "Keresés a követett személyek között",
"lists.subheading": "Listáid",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# új elem} other {# új elem}}",
"loading_indicator.label": "Betöltés...",
"media_gallery.toggle_visible": "Láthatóság állítása",
"missing_indicator.label": "Nincs találat",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Személyes",
"navigation_bar.pins": "Kitűzött tülkök",
"navigation_bar.preferences": "Beállítások",
- "navigation_bar.profile_directory": "Profilok",
"navigation_bar.public_timeline": "Föderációs idővonal",
"navigation_bar.security": "Biztonság",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} kedvencnek jelölte egy tülködet",
"notification.follow": "{name} követ téged",
"notification.mention": "{name} megemlített",
@@ -316,7 +334,7 @@
"search_results.accounts": "Emberek",
"search_results.hashtags": "Hashtagek",
"search_results.statuses": "Tülkök",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "Ezen a szerveren nem engedélyezett a tülkök tartalom szerinti keresése.",
"search_results.total": "{count, number} {count, plural, one {találat} other {találat}}",
"status.admin_account": "Moderáció megnyitása @{name} felhasználóhoz",
"status.admin_status": "Tülk megnyitása moderációra",
@@ -355,6 +373,7 @@
"status.show_more": "Többet",
"status.show_more_all": "Többet mindenhol",
"status.show_thread": "Szál mutatása",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Beszélgetés némításának kikapcsolása",
"status.unpin": "Kitűzés eltávolítása a profilodról",
"suggestions.dismiss": "Javaslat elvetése",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Pillanatok vannak hátra",
"time_remaining.seconds": "{number, plural, one {# másodperc} other {# másodperc}} van hátra",
"trends.count_by_accounts": "{count} {rawCount, plural, one {résztvevő} other {résztvevő}} beszélget",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "A piszkozatod el fog veszni, ha elhagyod a Mastodon-t.",
"upload_area.title": "Húzd ide a feltöltéshez",
"upload_button.label": "Média hozzáadása (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Túllépted a fájl feltöltési limitet.",
"upload_error.poll": "Szavazásnál nem lehet fájlt feltölteni.",
"upload_form.description": "Leírás látáskorlátozottak számára",
- "upload_form.focus": "Előnézet megváltoztatása",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Mégsem",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Feltöltés...",
"video.close": "Videó bezárása",
"video.exit_fullscreen": "Kilépés teljes képernyőből",
diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json
index 801d34380..52588f089 100644
--- a/app/javascript/mastodon/locales/hy.json
+++ b/app/javascript/mastodon/locales/hy.json
@@ -1,20 +1,22 @@
{
"account.add_or_remove_from_list": "Add or Remove from lists",
- "account.badges.bot": "Bot",
+ "account.badges.bot": "Բոտ",
"account.block": "Արգելափակել @{name}֊ին",
"account.block_domain": "Թաքցնել ամենը հետեւյալ տիրույթից՝ {domain}",
"account.blocked": "Blocked",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Direct Message @{name}",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Խմբագրել անձնական էջը",
"account.endorse": "Feature on profile",
"account.follow": "Հետեւել",
- "account.followers": "Հետեւվողներ",
+ "account.followers": "Հետեւողներ",
"account.followers.empty": "No one follows this user yet.",
"account.follows": "Հետեւում է",
"account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "Հետեւում է քեզ",
"account.hide_reblogs": "Թաքցնել @{name}֊ի տարածածները",
+ "account.last_status": "Last active",
"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": "Մեդիա",
@@ -23,6 +25,7 @@
"account.mute": "Լռեցնել @{name}֊ին",
"account.mute_notifications": "Անջատել ծանուցումները @{name}֊ից",
"account.muted": "Muted",
+ "account.never_active": "Never",
"account.posts": "Գրառումներ",
"account.posts_with_replies": "Toots with replies",
"account.report": "Բողոքել @{name}֊ից",
@@ -35,8 +38,11 @@
"account.unfollow": "Չհետեւել",
"account.unmute": "Ապալռեցնել @{name}֊ին",
"account.unmute_notifications": "Միացնել ծանուցումները @{name}֊ից",
+ "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!",
+ "alert.unexpected.title": "Վա՜յ",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Կարող ես սեղմել {combo}՝ սա հաջորդ անգամ բաց թողնելու համար",
"bundle_column_error.body": "Այս բաղադրիչը բեռնելու ընթացքում ինչ֊որ բան խափանվեց։",
"bundle_column_error.retry": "Կրկին փորձել",
@@ -47,6 +53,7 @@
"column.blocks": "Արգելափակված օգտատերեր",
"column.community": "Տեղական հոսք",
"column.direct": "Direct messages",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Hidden domains",
"column.favourites": "Հավանածներ",
"column.follow_requests": "Հետեւելու հայցեր",
@@ -56,6 +63,7 @@
"column.notifications": "Ծանուցումներ",
"column.pins": "Ամրացված թթեր",
"column.public": "Դաշնային հոսք",
+ "column.status": "Toot",
"column_back_button.label": "Ետ",
"column_header.hide_settings": "Թաքցնել կարգավորումները",
"column_header.moveLeft_settings": "Տեղաշարժել սյունը ձախ",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Վստա՞հ ես, որ ուզում ես մշտապես ջնջել այս ցանկը։",
"confirmations.domain_block.confirm": "Թաքցնել ամբողջ տիրույթը",
"confirmations.domain_block.message": "Հաստատ֊հաստա՞տ վստահ ես, որ ուզում ես արգելափակել ամբողջ {domain} տիրույթը։ Սովորաբար մի երկու թիրախավորված արգելափակում կամ լռեցում բավական է ու նախընտրելի։",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Լռեցնել",
"confirmations.mute.message": "Վստա՞հ ես, որ ուզում ես {name}֊ին լռեցնել։",
"confirmations.redraft.confirm": "Delete & redraft",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"confirmations.unfollow.confirm": "Ապահետեւել",
"confirmations.unfollow.message": "Վստա՞հ ես, որ ուզում ես այլեւս չհետեւել {name}֊ին։",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Այս թութը քո կայքում ներդնելու համար կարող ես պատճենել ներքոհիշյալ կոդը։",
"embed.preview": "Ահա, թե ինչ տեսք կունենա այն՝",
"emoji_button.activity": "Զբաղմունքներ",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Անձնական",
"navigation_bar.pins": "Ամրացված թթեր",
"navigation_bar.preferences": "Նախապատվություններ",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Դաշնային հոսք",
"navigation_bar.security": "Անվտանգություն",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} հավանեց թութդ",
"notification.follow": "{name} սկսեց հետեւել քեզ",
"notification.mention": "{name} նշեց քեզ",
@@ -313,7 +331,7 @@
"search_popout.tips.status": "թութ",
"search_popout.tips.text": "Հասարակ տեքստը կվերադարձնի համընկնող անուններ, օգտանուններ ու պիտակներ",
"search_popout.tips.user": "օգտատեր",
- "search_results.accounts": "People",
+ "search_results.accounts": "Մարդիկ",
"search_results.hashtags": "Hashtags",
"search_results.statuses": "Toots",
"search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
@@ -355,6 +373,7 @@
"status.show_more": "Ավելին",
"status.show_more_all": "Show more for all",
"status.show_thread": "Show thread",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Ապալռեցնել խոսակցությունը",
"status.unpin": "Հանել անձնական էջից",
"suggestions.dismiss": "Dismiss suggestion",
@@ -363,21 +382,29 @@
"tabs_bar.home": "Հիմնական",
"tabs_bar.local_timeline": "Տեղական",
"tabs_bar.notifications": "Ծանուցումներ",
- "tabs_bar.search": "Search",
+ "tabs_bar.search": "Փնտրել",
"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",
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Քո սեւագիրը կկորի, եթե լքես Մաստոդոնը։",
"upload_area.title": "Քաշիր ու նետիր՝ վերբեռնելու համար",
"upload_button.label": "Ավելացնել մեդիա",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Նկարագրություն ավելացրու տեսողական խնդիրներ ունեցողների համար",
- "upload_form.focus": "Crop",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Հետարկել",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Վերբեռնվում է…",
"video.close": "Փակել տեսագրությունը",
"video.exit_fullscreen": "Անջատել լիաէկրան դիտումը",
diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json
index daa87f955..23cca64f7 100644
--- a/app/javascript/mastodon/locales/id.json
+++ b/app/javascript/mastodon/locales/id.json
@@ -4,6 +4,7 @@
"account.block": "Blokir @{name}",
"account.block_domain": "Sembunyikan segalanya dari {domain}",
"account.blocked": "Terblokir",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Direct Message @{name}",
"account.domain_blocked": "Domain disembunyikan",
"account.edit_profile": "Ubah profil",
@@ -15,6 +16,7 @@
"account.follows.empty": "Pengguna ini belum mengikuti siapapun.",
"account.follows_you": "Mengikuti anda",
"account.hide_reblogs": "Sembunyikan boosts dari @{name}",
+ "account.last_status": "Last active",
"account.link_verified_on": "Kepemilikan tautan ini telah dicek pada {date}",
"account.locked_info": "Status privasi akun ini disetel untuk dikunci. Pemilik secara manual meninjau siapa yang dapat mengikuti mereka.",
"account.media": "Media",
@@ -23,6 +25,7 @@
"account.mute": "Bisukan @{name}",
"account.mute_notifications": "Sembunyikan notifikasi dari @{name}",
"account.muted": "Dibisukan",
+ "account.never_active": "Never",
"account.posts": "Toot",
"account.posts_with_replies": "Postingan dengan balasan",
"account.report": "Laporkan @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Berhenti mengikuti",
"account.unmute": "Berhenti membisukan @{name}",
"account.unmute_notifications": "Munculkan notifikasi dari @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Terjadi kesalahan yang tidak terduga.",
"alert.unexpected.title": "Oops!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Anda dapat menekan {combo} untuk melewati ini",
"bundle_column_error.body": "Kesalahan terjadi saat memuat komponen ini.",
"bundle_column_error.retry": "Coba lagi",
@@ -47,6 +53,7 @@
"column.blocks": "Pengguna diblokir",
"column.community": "Linimasa Lokal",
"column.direct": "Pesan langsung",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Topik tersembunyi",
"column.favourites": "Favorit",
"column.follow_requests": "Permintaan mengikuti",
@@ -56,6 +63,7 @@
"column.notifications": "Notifikasi",
"column.pins": "Pinned toot",
"column.public": "Linimasa gabungan",
+ "column.status": "Toot",
"column_back_button.label": "Kembali",
"column_header.hide_settings": "Sembunyikan pengaturan",
"column_header.moveLeft_settings": "Pindahkan kolom ke kiri",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Apakah anda yakin untuk menghapus daftar ini secara permanen?",
"confirmations.domain_block.confirm": "Sembunyikan keseluruhan domain",
"confirmations.domain_block.message": "Apakah anda benar benar yakin untuk memblokir keseluruhan {domain}? Dalam kasus tertentu beberapa pemblokiran atau penyembunyian lebih baik.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Bisukan",
"confirmations.mute.message": "Apa anda yakin ingin membisukan {name}?",
"confirmations.redraft.confirm": "Hapus dan konsep ulang",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Membalas sekarang akan menimpa pesan yang sedang Anda buat. Anda yakin ingin melanjutkan?",
"confirmations.unfollow.confirm": "Berhenti mengikuti",
"confirmations.unfollow.message": "Apakah anda ingin berhenti mengikuti {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Sematkan status ini di website anda dengan menyalin kode di bawah ini.",
"embed.preview": "Seperti ini nantinya:",
"emoji_button.activity": "Aktivitas",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Pinned toots",
"navigation_bar.preferences": "Pengaturan",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Linimasa gabungan",
"navigation_bar.security": "Security",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} menyukai status anda",
"notification.follow": "{name} mengikuti anda",
"notification.mention": "{name} mentioned you",
@@ -355,6 +373,7 @@
"status.show_more": "Tampilkan semua",
"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.unpin": "Unpin from profile",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Naskah anda akan hilang jika anda keluar dari Mastodon.",
"upload_area.title": "Seret & lepaskan untuk mengunggah",
"upload_button.label": "Tambahkan media",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Deskripsikan untuk mereka yang tidak bisa melihat dengan jelas",
- "upload_form.focus": "Potong",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Undo",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Mengunggah...",
"video.close": "Close video",
"video.exit_fullscreen": "Keluar dari layar penuh",
diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json
index 864d49995..a38730c60 100644
--- a/app/javascript/mastodon/locales/io.json
+++ b/app/javascript/mastodon/locales/io.json
@@ -4,6 +4,7 @@
"account.block": "Blokusar @{name}",
"account.block_domain": "Hide everything from {domain}",
"account.blocked": "Blocked",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Direct Message @{name}",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Modifikar profilo",
@@ -15,6 +16,7 @@
"account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "Sequas tu",
"account.hide_reblogs": "Hide boosts from @{name}",
+ "account.last_status": "Last active",
"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",
@@ -23,6 +25,7 @@
"account.mute": "Celar @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted",
+ "account.never_active": "Never",
"account.posts": "Mesaji",
"account.posts_with_replies": "Toots with replies",
"account.report": "Denuncar @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Ne plus sequar",
"account.unmute": "Ne plus celar @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
+ "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!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Tu povas presar sur {combo} por omisar co en la venonta foyo",
"bundle_column_error.body": "Something went wrong while loading this component.",
"bundle_column_error.retry": "Try again",
@@ -47,6 +53,7 @@
"column.blocks": "Blokusita uzeri",
"column.community": "Lokala tempolineo",
"column.direct": "Direct messages",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Hidden domains",
"column.favourites": "Favorati",
"column.follow_requests": "Demandi di sequado",
@@ -56,6 +63,7 @@
"column.notifications": "Savigi",
"column.pins": "Pinned toot",
"column.public": "Federata tempolineo",
+ "column.status": "Toot",
"column_back_button.label": "Retro",
"column_header.hide_settings": "Hide settings",
"column_header.moveLeft_settings": "Move column to the left",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
"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.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"confirmations.redraft.confirm": "Delete & redraft",
@@ -101,6 +111,14 @@
"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.message": "Are you sure you want to unfollow {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "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",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Pinned toots",
"navigation_bar.preferences": "Preferi",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Federata tempolineo",
"navigation_bar.security": "Security",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} favorizis tua mesajo",
"notification.follow": "{name} sequeskis tu",
"notification.mention": "{name} mencionis tu",
@@ -355,6 +373,7 @@
"status.show_more": "Montrar plue",
"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.unpin": "Unpin from profile",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Tranar faligar por kargar",
"upload_button.label": "Adjuntar kontenajo",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Describe for the visually impaired",
- "upload_form.focus": "Crop",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Desfacar",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Kargante...",
"video.close": "Close video",
"video.exit_fullscreen": "Exit full screen",
diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json
index 7925cef8c..d21dd88b1 100644
--- a/app/javascript/mastodon/locales/it.json
+++ b/app/javascript/mastodon/locales/it.json
@@ -4,6 +4,7 @@
"account.block": "Blocca @{name}",
"account.block_domain": "Nascondi tutto da {domain}",
"account.blocked": "Bloccato",
+ "account.cancel_follow_request": "Annulla richiesta di seguito",
"account.direct": "Invia messaggio privato a @{name}",
"account.domain_blocked": "Dominio nascosto",
"account.edit_profile": "Modifica profilo",
@@ -15,6 +16,7 @@
"account.follows.empty": "Questo utente non segue ancora nessuno.",
"account.follows_you": "Ti segue",
"account.hide_reblogs": "Nascondi condivisioni da @{name}",
+ "account.last_status": "Last active",
"account.link_verified_on": "La proprietà di questo link è stata controllata il {date}",
"account.locked_info": "Il livello di privacy di questo account è impostato a \"bloccato\". Il proprietario esamina manualmente le richieste di seguirlo.",
"account.media": "Media",
@@ -23,6 +25,7 @@
"account.mute": "Silenzia @{name}",
"account.mute_notifications": "Silenzia notifiche da @{name}",
"account.muted": "Silenziato",
+ "account.never_active": "Never",
"account.posts": "Toot",
"account.posts_with_replies": "Toot e risposte",
"account.report": "Segnala @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Non seguire",
"account.unmute": "Non silenziare @{name}",
"account.unmute_notifications": "Non silenziare più le notifiche da @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Si è verificato un errore inatteso.",
"alert.unexpected.title": "Oops!",
+ "autosuggest_hashtag.per_week": "{count} per settimana",
"boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio la prossima volta",
"bundle_column_error.body": "E' avvenuto un errore durante il caricamento di questo componente.",
"bundle_column_error.retry": "Riprova",
@@ -47,6 +53,7 @@
"column.blocks": "Utenti bloccati",
"column.community": "Timeline locale",
"column.direct": "Messaggi diretti",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Domini nascosti",
"column.favourites": "Apprezzati",
"column.follow_requests": "Richieste di amicizia",
@@ -56,6 +63,7 @@
"column.notifications": "Notifiche",
"column.pins": "Toot fissati in cima",
"column.public": "Timeline federata",
+ "column.status": "Toot",
"column_back_button.label": "Indietro",
"column_header.hide_settings": "Nascondi impostazioni",
"column_header.moveLeft_settings": "Sposta colonna a sinistra",
@@ -66,7 +74,7 @@
"column_subheading.settings": "Impostazioni",
"community.column_settings.media_only": "Solo media",
"compose_form.direct_message_warning": "Questo toot sarà mandato solo a tutti gli utenti menzionati.",
- "compose_form.direct_message_warning_learn_more": "Per saperne di piu'",
+ "compose_form.direct_message_warning_learn_more": "Per saperne di più",
"compose_form.hashtag_warning": "Questo toot non è listato, quindi non sarà trovato nelle ricerche per hashtag. Solo i toot pubblici possono essere cercati per hashtag.",
"compose_form.lock_disclaimer": "Il tuo account non è {bloccato}. Chiunque può decidere di seguirti per vedere i tuoi post per soli seguaci.",
"compose_form.lock_disclaimer.lock": "bloccato",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Sei sicuro di voler cancellare definitivamente questa lista?",
"confirmations.domain_block.confirm": "Nascondi intero dominio",
"confirmations.domain_block.message": "Sei davvero sicuro che vuoi bloccare l'intero {domain}? Nella maggior parte dei casi, pochi blocchi o silenziamenti mirati sono sufficienti e preferibili. Non vedrai nessun contenuto di quel dominio né nelle timeline pubbliche né nelle notifiche. I tuoi seguaci di quel dominio saranno eliminati.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Silenzia",
"confirmations.mute.message": "Sei sicuro di voler silenziare {name}?",
"confirmations.redraft.confirm": "Cancella e riscrivi",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Se rispondi ora, il messaggio che stai componendo sarà sovrascritto. Sei sicuro di voler continuare?",
"confirmations.unfollow.confirm": "Smetti di seguire",
"confirmations.unfollow.message": "Sei sicuro che non vuoi più seguire {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Inserisci questo status nel tuo sito copiando il codice qui sotto.",
"embed.preview": "Ecco come apparirà:",
"emoji_button.activity": "Attività",
@@ -137,7 +155,7 @@
"follow_request.authorize": "Autorizza",
"follow_request.reject": "Rifiuta",
"getting_started.developers": "Sviluppatori",
- "getting_started.directory": "Directory del profilo",
+ "getting_started.directory": "Directory dei profili",
"getting_started.documentation": "Documentazione",
"getting_started.heading": "Come iniziare",
"getting_started.invite": "Invita qualcuno",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Titolo della nuova lista",
"lists.search": "Cerca tra le persone che segui",
"lists.subheading": "Le tue liste",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# nuovo oggetto} other {# nuovi oggetti}}",
"loading_indicator.label": "Caricamento...",
"media_gallery.toggle_visible": "Imposta visibilità",
"missing_indicator.label": "Non trovato",
@@ -239,7 +257,7 @@
"navigation_bar.favourites": "Apprezzati",
"navigation_bar.filters": "Parole silenziate",
"navigation_bar.follow_requests": "Richieste di amicizia",
- "navigation_bar.follows_and_followers": "Follows and followers",
+ "navigation_bar.follows_and_followers": "Seguiti e seguaci",
"navigation_bar.info": "Informazioni su questo server",
"navigation_bar.keyboard_shortcuts": "Tasti di scelta rapida",
"navigation_bar.lists": "Liste",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personale",
"navigation_bar.pins": "Toot fissati in cima",
"navigation_bar.preferences": "Impostazioni",
- "navigation_bar.profile_directory": "Directory dei profili",
"navigation_bar.public_timeline": "Timeline federata",
"navigation_bar.security": "Sicurezza",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} ha apprezzato il tuo post",
"notification.follow": "{name} ha iniziato a seguirti",
"notification.mention": "{name} ti ha menzionato",
@@ -316,7 +334,7 @@
"search_results.accounts": "Gente",
"search_results.hashtags": "Hashtag",
"search_results.statuses": "Toot",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "La ricerca di toot per il loro contenuto non è abilitata su questo server Mastodon.",
"search_results.total": "{count} {count, plural, one {risultato} other {risultati}}",
"status.admin_account": "Apri interfaccia di moderazione per @{name}",
"status.admin_status": "Apri questo status nell'interfaccia di moderazione",
@@ -355,6 +373,7 @@
"status.show_more": "Mostra di più",
"status.show_more_all": "Mostra di più per tutti",
"status.show_thread": "Mostra thread",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Annulla silenzia conversazione",
"status.unpin": "Non fissare in cima al profilo",
"suggestions.dismiss": "Elimina suggerimento",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Restano pochi istanti",
"time_remaining.seconds": "{number, plural, one {# secondo} other {# secondi}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {persona ne sta} other {persone ne stanno}} parlando",
+ "trends.trending_now": "Di tendenza ora",
"ui.beforeunload": "La bozza andrà persa se esci da Mastodon.",
"upload_area.title": "Trascina per caricare",
"upload_button.label": "Aggiungi file multimediale",
"upload_error.limit": "Limite al caricamento di file superato.",
"upload_error.poll": "Caricamento file non consentito nei sondaggi.",
"upload_form.description": "Descrizione per utenti con disabilità visive",
- "upload_form.focus": "Modifica anteprima",
+ "upload_form.edit": "Modifica",
"upload_form.undo": "Cancella",
+ "upload_modal.analyzing_picture": "Analisi immagine…",
+ "upload_modal.apply": "Apply",
+ "upload_modal.description_placeholder": "Ma la volpe col suo balzo ha raggiunto il quieto Fido",
+ "upload_modal.detect_text": "Rileva testo dall'immagine",
+ "upload_modal.edit_media": "Modifica media",
+ "upload_modal.hint": "Clicca o trascina il cerchio sull'anteprima per scegliere il punto focale che sarà sempre visualizzato su tutte le miniature.",
+ "upload_modal.preview_label": "Anteprima ({ratio})",
"upload_progress.label": "Sto caricando...",
"video.close": "Chiudi video",
"video.exit_fullscreen": "Esci da modalità a schermo intero",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index 7312ce5ac..27fa7e93f 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -4,6 +4,7 @@
"account.block": "@{name}さんをブロック",
"account.block_domain": "{domain}全体を非表示",
"account.blocked": "ブロック済み",
+ "account.cancel_follow_request": "フォローリクエストを取り消す",
"account.direct": "@{name}さんにダイレクトメッセージ",
"account.domain_blocked": "ドメイン非表示中",
"account.edit_profile": "プロフィール編集",
@@ -15,6 +16,7 @@
"account.follows.empty": "まだ誰もフォローしていません。",
"account.follows_you": "フォローされています",
"account.hide_reblogs": "@{name}さんからのブーストを非表示",
+ "account.last_status": "最後の活動",
"account.link_verified_on": "このリンクの所有権は{date}に確認されました",
"account.locked_info": "このアカウントは承認制アカウントです。相手が承認するまでフォローは完了しません。",
"account.media": "メディア",
@@ -23,6 +25,7 @@
"account.mute": "@{name}さんをミュート",
"account.mute_notifications": "@{name}さんからの通知を受け取らない",
"account.muted": "ミュート済み",
+ "account.never_active": "活動なし",
"account.posts": "投稿",
"account.posts_with_replies": "投稿と返信",
"account.report": "@{name}さんを通報",
@@ -35,8 +38,11 @@
"account.unfollow": "フォロー解除",
"account.unmute": "@{name}さんのミュートを解除",
"account.unmute_notifications": "@{name}さんからの通知を受け取るようにする",
+ "alert.rate_limited.message": "{retry_time, time, medium} 以降に再試行してください。",
+ "alert.rate_limited.title": "制限に達しました",
"alert.unexpected.message": "不明なエラーが発生しました。",
"alert.unexpected.title": "エラー!",
+ "autosuggest_hashtag.per_week": "{count} 回 / 週",
"boost_modal.combo": "次からは{combo}を押せばスキップできます",
"bundle_column_error.body": "コンポーネントの読み込み中に問題が発生しました。",
"bundle_column_error.retry": "再試行",
@@ -47,6 +53,7 @@
"column.blocks": "ブロックしたユーザー",
"column.community": "ローカルタイムライン",
"column.direct": "ダイレクトメッセージ",
+ "column.directory": "プロフィールを見る",
"column.domain_blocks": "非表示にしたドメイン",
"column.favourites": "お気に入り",
"column.follow_requests": "フォローリクエスト",
@@ -56,6 +63,7 @@
"column.notifications": "通知",
"column.pins": "固定されたトゥート",
"column.public": "連合タイムライン",
+ "column.status": "トゥート",
"column_back_button.label": "戻る",
"column_header.hide_settings": "設定を隠す",
"column_header.moveLeft_settings": "カラムを左に移動する",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "本当にこのリストを完全に削除しますか?",
"confirmations.domain_block.confirm": "ドメイン全体を非表示",
"confirmations.domain_block.message": "本当に{domain}全体を非表示にしますか? 多くの場合は個別にブロックやミュートするだけで充分であり、また好ましいです。公開タイムラインにそのドメインのコンテンツが表示されなくなり、通知も届かなくなります。そのドメインのフォロワーはアンフォローされます。",
+ "confirmations.logout.confirm": "ログアウト",
+ "confirmations.logout.message": "本当にログアウトしますか?",
"confirmations.mute.confirm": "ミュート",
"confirmations.mute.message": "本当に{name}さんをミュートしますか?",
"confirmations.redraft.confirm": "削除して下書きに戻す",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "今返信すると現在作成中のメッセージが上書きされます。本当に実行しますか?",
"confirmations.unfollow.confirm": "フォロー解除",
"confirmations.unfollow.message": "本当に{name}さんのフォローを解除しますか?",
+ "conversation.delete": "このやりとりを削除",
+ "conversation.mark_as_read": "既読にする",
+ "conversation.open": "会話を表示する",
+ "conversation.with": "{names} を付ける",
+ "directory.federated": "既知の連合より",
+ "directory.local": "{domain} のみ",
+ "directory.new_arrivals": "新着順",
+ "directory.recently_active": "最近の活動順",
"embed.instructions": "下記のコードをコピーしてウェブサイトに埋め込みます。",
"embed.preview": "表示例:",
"emoji_button.activity": "活動",
@@ -156,7 +174,7 @@
"home.column_settings.basic": "基本設定",
"home.column_settings.show_reblogs": "ブースト表示",
"home.column_settings.show_replies": "返信表示",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "リアルタイムで更新",
"intervals.full.days": "{number}日",
"intervals.full.hours": "{number}時間",
"intervals.full.minutes": "{number}分",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "新規リスト名",
"lists.search": "フォローしている人の中から検索",
"lists.subheading": "あなたのリスト",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count} 件の新着",
"loading_indicator.label": "読み込み中...",
"media_gallery.toggle_visible": "表示切り替え",
"missing_indicator.label": "見つかりません",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "個人用",
"navigation_bar.pins": "固定したトゥート",
"navigation_bar.preferences": "ユーザー設定",
- "navigation_bar.profile_directory": "ディレクトリ",
"navigation_bar.public_timeline": "連合タイムライン",
"navigation_bar.security": "セキュリティ",
+ "notification.and_n_others": "と、その他 {count, plural, one {#} other {#}}",
"notification.favourite": "{name}さんがあなたのトゥートをお気に入りに登録しました",
"notification.follow": "{name}さんにフォローされました",
"notification.mention": "{name}さんがあなたに返信しました",
@@ -316,7 +334,7 @@
"search_results.accounts": "人々",
"search_results.hashtags": "ハッシュタグ",
"search_results.statuses": "トゥート",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "このサーバーではトゥート本文での検索は利用できません。",
"search_results.total": "{count, number}件の結果",
"status.admin_account": "@{name} のモデレーション画面を開く",
"status.admin_status": "このトゥートをモデレーション画面で開く",
@@ -355,6 +373,7 @@
"status.show_more": "もっと見る",
"status.show_more_all": "全て見る",
"status.show_thread": "スレッドを表示",
+ "status.uncached_media_warning": "利用できません",
"status.unmute_conversation": "会話のミュートを解除",
"status.unpin": "プロフィールへの固定を解除",
"suggestions.dismiss": "隠す",
@@ -370,14 +389,22 @@
"time_remaining.moments": "まもなく終了",
"time_remaining.seconds": "残り{number}秒",
"trends.count_by_accounts": "{count}人がトゥート",
+ "trends.trending_now": "トレンド",
"ui.beforeunload": "Mastodonから離れると送信前の投稿は失われます。",
"upload_area.title": "ドラッグ&ドロップでアップロード",
"upload_button.label": "メディアを追加 ({formats})",
"upload_error.limit": "アップロードできる上限を超えています。",
"upload_error.poll": "アンケートではファイルをアップロードできません。",
"upload_form.description": "視覚障害者のための説明",
- "upload_form.focus": "プレビューを変更",
+ "upload_form.edit": "編集",
"upload_form.undo": "削除",
+ "upload_modal.analyzing_picture": "画像を解析中…",
+ "upload_modal.apply": "適用",
+ "upload_modal.description_placeholder": "素早い茶色の狐はのろまな犬を飛び越える",
+ "upload_modal.detect_text": "画像からテキストを検出",
+ "upload_modal.edit_media": "メディアを編集",
+ "upload_modal.hint": "画像をクリックするか円をドラッグすると全てのサムネイルの中心点を決めることができます",
+ "upload_modal.preview_label": "プレビュー ({ratio})",
"upload_progress.label": "アップロード中...",
"video.close": "動画を閉じる",
"video.exit_fullscreen": "全画面を終了する",
diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json
index a78543476..d70cf0ed2 100644
--- a/app/javascript/mastodon/locales/ka.json
+++ b/app/javascript/mastodon/locales/ka.json
@@ -4,6 +4,7 @@
"account.block": "დაბლოკე @{name}",
"account.block_domain": "დაიმალოს ყველაფერი დომენიდან {domain}",
"account.blocked": "დაიბლოკა",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "პირდაპირი წერილი @{name}-ს",
"account.domain_blocked": "დომენი დამალულია",
"account.edit_profile": "პროფილის ცვლილება",
@@ -15,6 +16,7 @@
"account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "მოგყვებათ",
"account.hide_reblogs": "დაიმალოს ბუსტები @{name}-სგან",
+ "account.last_status": "Last active",
"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": "მედია",
@@ -23,6 +25,7 @@
"account.mute": "გააჩუმე @{name}",
"account.mute_notifications": "გააჩუმე შეტყობინებები @{name}-სგან",
"account.muted": "გაჩუმებული",
+ "account.never_active": "Never",
"account.posts": "ტუტები",
"account.posts_with_replies": "ტუტები და პასუხები",
"account.report": "დაარეპორტე @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "ნუღარ მიჰყვები",
"account.unmute": "ნუღარ აჩუმებ @{name}-ს",
"account.unmute_notifications": "ნუღარ აჩუმებ შეტყობინებებს @{name}-სგან",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "წარმოიშვა მოულოდნელი შეცდომა.",
"alert.unexpected.title": "უპს!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "შეგიძლიათ დააჭიროთ {combo}-ს რათა შემდეგ ჯერზე გამოტოვოთ ეს",
"bundle_column_error.body": "ამ კომპონენტის ჩატვირთვისას რაღაც აირია.",
"bundle_column_error.retry": "სცადეთ კიდევ ერთხელ",
@@ -47,6 +53,7 @@
"column.blocks": "დაბლოკილი მომხმარებლები",
"column.community": "ლოკალური თაიმლაინი",
"column.direct": "პირდაპირი წერილები",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "დამალული დომენები",
"column.favourites": "ფავორიტები",
"column.follow_requests": "დადევნების მოთხოვნები",
@@ -56,6 +63,7 @@
"column.notifications": "შეტყობინებები",
"column.pins": "აპინული ტუტები",
"column.public": "ფედერალური თაიმლაინი",
+ "column.status": "Toot",
"column_back_button.label": "უკან",
"column_header.hide_settings": "პარამეტრების დამალვა",
"column_header.moveLeft_settings": "სვეტის მარცხნივ გადატანა",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "დარწმუნებული ხართ, გსურთ სამუდამოდ გააუქმოთ ეს სია?",
"confirmations.domain_block.confirm": "მთელი დომენის დამალვა",
"confirmations.domain_block.message": "ნაღდად, ნაღდად, დარწმუნებული ხართ, გსურთ დაბლოკოთ მთელი {domain}? უმეტეს შემთხვევაში რამდენიმე გამიზნული ბლოკი ან გაჩუმება საკმარისი და უკეთესია. კონტენტს ამ დომენიდან ვერ იხილავთ ვერც ერთ ღია თაიმლაინზე ან თქვენს შეტყობინებებში. ამ დომენიდან არსებული მიმდევრები ამოიშლება.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "გაჩუმება",
"confirmations.mute.message": "დარწმუნებული ხართ, გსურთ გააჩუმოთ {name}?",
"confirmations.redraft.confirm": "გაუქმება და გადანაწილება",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"confirmations.unfollow.confirm": "ნუღარ მიჰყვები",
"confirmations.unfollow.message": "დარწმუნებული ხართ, აღარ გსურთ მიჰყვებოდეთ {name}-ს?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "ეს სტატუსი ჩასვით თქვენს ვებ-საიტზე შემდეგი კოდის კოპირებით.",
"embed.preview": "ესაა თუ როგორც გამოჩნდება:",
"emoji_button.activity": "აქტივობა",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "პირადი",
"navigation_bar.pins": "აპინული ტუტები",
"navigation_bar.preferences": "პრეფერენსიები",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "ფედერალური თაიმლაინი",
"navigation_bar.security": "უსაფრთხოება",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name}-მა თქვენი სტატუსი აქცია ფავორიტად",
"notification.follow": "{name} გამოგყვათ",
"notification.mention": "{name}-მა გასახელათ",
@@ -355,6 +373,7 @@
"status.show_more": "აჩვენე მეტი",
"status.show_more_all": "აჩვენე მეტი ყველაზე",
"status.show_thread": "Show thread",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "საუბარზე გაჩუმების მოშორება",
"status.unpin": "პროფილიდან პინის მოშორება",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} საუბრობს",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "თქვენი დრაფტი გაუქმდება თუ დატოვებთ მასტოდონს.",
"upload_area.title": "გადმოწიეთ და ჩააგდეთ ასატვირთათ",
"upload_button.label": "მედიის დამატება",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "აღწერილობა ვიზუალურად უფასურისთვის",
- "upload_form.focus": "კროპი",
+ "upload_form.edit": "Edit",
"upload_form.undo": "გაუქმება",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "იტვირთება...",
"video.close": "ვიდეოს დახურვა",
"video.exit_fullscreen": "სრულ ეკრანზე ჩვენების გათიშვა",
diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json
index 9514d68a9..e38aac621 100644
--- a/app/javascript/mastodon/locales/kk.json
+++ b/app/javascript/mastodon/locales/kk.json
@@ -4,6 +4,7 @@
"account.block": "Бұғаттау @{name}",
"account.block_domain": "Домендегі барлығын бұғатта {domain}",
"account.blocked": "Бұғатталды",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Жеке хат @{name}",
"account.domain_blocked": "Домен жабық",
"account.edit_profile": "Профильді өңдеу",
@@ -15,6 +16,7 @@
"account.follows.empty": "Ешкімге жазылмапты.",
"account.follows_you": "Сізге жазылыпты",
"account.hide_reblogs": "@{name} атты қолданушының әрекеттерін жасыру",
+ "account.last_status": "Last active",
"account.link_verified_on": "Сілтеме меншігі расталған күн {date}",
"account.locked_info": "Бұл қолданушы өзі туралы мәліметтерді жасырған. Тек жазылғандар ғана көре алады.",
"account.media": "Медиа",
@@ -23,6 +25,7 @@
"account.mute": "Үнсіз қылу @{name}",
"account.mute_notifications": "@{name} туралы ескертпелерді жасыру",
"account.muted": "Үнсіз",
+ "account.never_active": "Never",
"account.posts": "Жазбалар",
"account.posts_with_replies": "Жазбалар мен жауаптар",
"account.report": "Шағымдану @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Оқымау",
"account.unmute": "@{name} ескертпелерін қосу",
"account.unmute_notifications": "@{name} ескертпелерін көрсету",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Бір нәрсе дұрыс болмады.",
"alert.unexpected.title": "Өй!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Келесіде өткізіп жіберу үшін басыңыз {combo}",
"bundle_column_error.body": "Бұл компонентті жүктеген кезде бір қате пайда болды.",
"bundle_column_error.retry": "Қайтадан көріңіз",
@@ -47,6 +53,7 @@
"column.blocks": "Бұғатталғандар",
"column.community": "Жергілікті желі",
"column.direct": "Жеке хаттар",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Жасырылған домендер",
"column.favourites": "Таңдаулылар",
"column.follow_requests": "Жазылу сұранымдары",
@@ -56,6 +63,7 @@
"column.notifications": "Ескертпелер",
"column.pins": "Жабыстырылған жазбалар",
"column.public": "Жаһандық желі",
+ "column.status": "Toot",
"column_back_button.label": "Артқа",
"column_header.hide_settings": "Баптауларды жасыр",
"column_header.moveLeft_settings": "Бағананы солға жылжыту",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Бұл тізімді жоясыз ба шынымен?",
"confirmations.domain_block.confirm": "Бұл доменді бұғатта",
"confirmations.domain_block.message": "Бұл домендегі {domain} жазбаларды шынымен бұғаттайсыз ба? Кейде үнсіз қылып тастау да жеткілікті.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Үнсіз қылу",
"confirmations.mute.message": "{name} атты қолданушы үнсіз болсын ба?",
"confirmations.redraft.confirm": "Өшіруді құптау",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Жауабыңыз жазып жатқан жазбаңыздың үстіне кетеді. Жалғастырамыз ба?",
"confirmations.unfollow.confirm": "Оқымау",
"confirmations.unfollow.message": "\"{name} атты қолданушыға енді жазылғыңыз келмей ме?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Төмендегі кодты көшіріп алу арқылы жазбаны басқа сайттарға да орналастыра аласыз.",
"embed.preview": "Былай көрінетін болады:",
"emoji_button.activity": "Белсенділік",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Жеке",
"navigation_bar.pins": "Жабыстырылғандар",
"navigation_bar.preferences": "Басымдықтар",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Жаһандық желі",
"navigation_bar.security": "Қауіпсіздік",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} жазбаңызды таңдаулыға қосты",
"notification.follow": "{name} сізге жазылды",
"notification.mention": "{name} сізді атап өтті",
@@ -355,6 +373,7 @@
"status.show_more": "Толығырақ",
"status.show_more_all": "Бәрін толығымен",
"status.show_thread": "Желіні көрсет",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Пікірталасты үнсіз қылмау",
"status.unpin": "Профильден алып тастау",
"suggestions.dismiss": "Өткізіп жіберу",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Қалған уақыт",
"time_remaining.seconds": "{number, plural, one {# секунд} other {# секунд}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} жазған екен",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Mastodon желісінен шықсаңыз, нобайыңыз сақталмайды.",
"upload_area.title": "Жүктеу үшін сүйреп әкеліңіз",
"upload_button.label": "Медиа қосу (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Файл жүктеу лимитінен асып кеттіңіз.",
"upload_error.poll": "Сауалнамамен бірге файл жүктеуге болмайды.",
"upload_form.description": "Көру қабілеті нашар адамдар үшін сипаттаңыз",
- "upload_form.focus": "Превьюді өзгерту",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Өшіру",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Жүктеп жатыр...",
"video.close": "Видеоны жабу",
"video.exit_fullscreen": "Толық экраннан шық",
diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json
index e71631938..def02860b 100644
--- a/app/javascript/mastodon/locales/ko.json
+++ b/app/javascript/mastodon/locales/ko.json
@@ -4,6 +4,7 @@
"account.block": "@{name}을 차단",
"account.block_domain": "{domain} 전체를 숨김",
"account.blocked": "차단 됨",
+ "account.cancel_follow_request": "팔로우 요청 취소",
"account.direct": "@{name}으로부터의 다이렉트 메시지",
"account.domain_blocked": "도메인 숨겨짐",
"account.edit_profile": "프로필 편집",
@@ -15,6 +16,7 @@
"account.follows.empty": "이 유저는 아직 아무도 팔로우 하고 있지 않습니다.",
"account.follows_you": "날 팔로우합니다",
"account.hide_reblogs": "@{name}의 부스트를 숨기기",
+ "account.last_status": "마지막 활동",
"account.link_verified_on": "{date}에 이 링크의 소유권이 확인 됨",
"account.locked_info": "이 계정의 프라이버시 설정은 잠금으로 설정되어 있습니다. 계정 소유자가 수동으로 팔로어를 승인합니다.",
"account.media": "미디어",
@@ -23,6 +25,7 @@
"account.mute": "@{name} 뮤트",
"account.mute_notifications": "@{name}의 알림을 뮤트",
"account.muted": "뮤트 됨",
+ "account.never_active": "없음",
"account.posts": "툿",
"account.posts_with_replies": "툿과 답장",
"account.report": "@{name} 신고",
@@ -35,8 +38,11 @@
"account.unfollow": "팔로우 해제",
"account.unmute": "뮤트 해제",
"account.unmute_notifications": "@{name}의 알림 뮤트 해제",
+ "alert.rate_limited.message": "{retry_time, time, medium}에 다시 시도해 주세요.",
+ "alert.rate_limited.title": "빈도 제한",
"alert.unexpected.message": "예측하지 못한 에러가 발생했습니다.",
"alert.unexpected.title": "앗!",
+ "autosuggest_hashtag.per_week": "주간 {count}회",
"boost_modal.combo": "{combo}를 누르면 다음부터 이 과정을 건너뛸 수 있습니다",
"bundle_column_error.body": "컴포넌트를 불러오는 과정에서 문제가 발생했습니다.",
"bundle_column_error.retry": "다시 시도",
@@ -47,6 +53,7 @@
"column.blocks": "차단 중인 사용자",
"column.community": "로컬 타임라인",
"column.direct": "다이렉트 메시지",
+ "column.directory": "프로필 둘러보기",
"column.domain_blocks": "숨겨진 도메인",
"column.favourites": "즐겨찾기",
"column.follow_requests": "팔로우 요청",
@@ -56,6 +63,7 @@
"column.notifications": "알림",
"column.pins": "고정된 툿",
"column.public": "연합 타임라인",
+ "column.status": "툿",
"column_back_button.label": "돌아가기",
"column_header.hide_settings": "설정 숨기기",
"column_header.moveLeft_settings": "왼쪽으로 이동",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "정말로 이 리스트를 삭제하시겠습니까?",
"confirmations.domain_block.confirm": "도메인 전체를 숨김",
"confirmations.domain_block.message": "정말로 {domain} 전체를 숨기시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다. 모든 공개 타임라인과 알림에서 해당 도메인에서 작성된 컨텐츠를 보지 못합니다. 해당 도메인 팔로워와의 관계가 사라집니다.",
+ "confirmations.logout.confirm": "로그아웃",
+ "confirmations.logout.message": "정말로 로그아웃 하시겠습니까?",
"confirmations.mute.confirm": "뮤트",
"confirmations.mute.message": "정말로 {name}를 뮤트하시겠습니까?",
"confirmations.redraft.confirm": "삭제하고 다시 쓰기",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "답글을 달기 위해 현재 작성 중인 메시지가 덮어 씌워집니다. 진행하시겠습니까?",
"confirmations.unfollow.confirm": "언팔로우",
"confirmations.unfollow.message": "정말로 {name}를 언팔로우하시겠습니까?",
+ "conversation.delete": "대화 삭제",
+ "conversation.mark_as_read": "읽은 상태로 표시",
+ "conversation.open": "대화 보기",
+ "conversation.with": "{names} 와 함께",
+ "directory.federated": "알려진 연합우주로부터",
+ "directory.local": "{domain}에서만",
+ "directory.new_arrivals": "새로운 사람들",
+ "directory.recently_active": "최근 활동",
"embed.instructions": "아래의 코드를 복사하여 대화를 원하는 곳으로 공유하세요.",
"embed.preview": "다음과 같이 표시됩니다:",
"emoji_button.activity": "활동",
@@ -156,7 +174,7 @@
"home.column_settings.basic": "기본 설정",
"home.column_settings.show_reblogs": "부스트 표시",
"home.column_settings.show_replies": "답글 표시",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "실시간 갱신",
"intervals.full.days": "{number} 일",
"intervals.full.hours": "{number} 시간",
"intervals.full.minutes": "{number} 분",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "새 리스트의 이름",
"lists.search": "팔로우 중인 사람들 중에서 찾기",
"lists.subheading": "당신의 리스트",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count}개의 새 항목",
"loading_indicator.label": "불러오는 중...",
"media_gallery.toggle_visible": "표시 전환",
"missing_indicator.label": "찾을 수 없습니다",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "개인용",
"navigation_bar.pins": "고정된 툿",
"navigation_bar.preferences": "사용자 설정",
- "navigation_bar.profile_directory": "프로필 디렉토리",
"navigation_bar.public_timeline": "연합 타임라인",
"navigation_bar.security": "보안",
+ "notification.and_n_others": "그리고 {count}개의 기타 항목",
"notification.favourite": "{name}님이 즐겨찾기 했습니다",
"notification.follow": "{name}님이 나를 팔로우 했습니다",
"notification.mention": "{name}님이 답글을 보냈습니다",
@@ -279,7 +297,7 @@
"notifications.group": "{count} 개의 알림",
"poll.closed": "마감됨",
"poll.refresh": "새로고침",
- "poll.total_votes": "{count} 명 참여",
+ "poll.total_votes": "{count} 표",
"poll.vote": "투표",
"poll_button.add_poll": "투표 추가",
"poll_button.remove_poll": "투표 삭제",
@@ -316,7 +334,7 @@
"search_results.accounts": "사람",
"search_results.hashtags": "해시태그",
"search_results.statuses": "툿",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "이 마스토돈 서버에선 툿의 내용을 통한 검색이 활성화 되어 있지 않습니다.",
"search_results.total": "{count, number}건의 결과",
"status.admin_account": "@{name}에 대한 모더레이션 인터페이스 열기",
"status.admin_status": "모더레이션 인터페이스에서 이 게시물 열기",
@@ -355,6 +373,7 @@
"status.show_more": "더 보기",
"status.show_more_all": "모두 펼치기",
"status.show_thread": "글타래 보기",
+ "status.uncached_media_warning": "사용할 수 없음",
"status.unmute_conversation": "이 대화의 뮤트 해제하기",
"status.unpin": "고정 해제",
"suggestions.dismiss": "추천 지우기",
@@ -370,14 +389,22 @@
"time_remaining.moments": "남은 시간",
"time_remaining.seconds": "{number} 초 남음",
"trends.count_by_accounts": "{count} 명의 사람들이 말하고 있습니다",
+ "trends.trending_now": "지금 유행중",
"ui.beforeunload": "지금 나가면 저장되지 않은 항목을 잃게 됩니다.",
"upload_area.title": "드래그 & 드롭으로 업로드",
"upload_button.label": "미디어 추가 (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "파일 업로드 제한에 도달했습니다.",
"upload_error.poll": "파일 업로드는 투표와 함께 첨부할 수 없습니다.",
"upload_form.description": "시각장애인을 위한 설명",
- "upload_form.focus": "미리보기 변경",
+ "upload_form.edit": "편집",
"upload_form.undo": "삭제",
+ "upload_modal.analyzing_picture": "이미지 분석 중…",
+ "upload_modal.apply": "적용",
+ "upload_modal.description_placeholder": "다람쥐 헌 쳇바퀴 타고파",
+ "upload_modal.detect_text": "이미지에서 텍스트 추출",
+ "upload_modal.edit_media": "미디어 편집",
+ "upload_modal.hint": "미리보기를 클릭하거나 드래그 해서 포컬 포인트를 맞추세요. 이 점은 썸네일에 항상 보여질 부분을 나타냅니다.",
+ "upload_modal.preview_label": "미리보기 ({ratio})",
"upload_progress.label": "업로드 중...",
"video.close": "동영상 닫기",
"video.exit_fullscreen": "전체화면 나가기",
diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json
index 919129cc5..560fa3bca 100644
--- a/app/javascript/mastodon/locales/lt.json
+++ b/app/javascript/mastodon/locales/lt.json
@@ -4,6 +4,7 @@
"account.block": "Block @{name}",
"account.block_domain": "Hide everything from {domain}",
"account.blocked": "Blocked",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Direct message @{name}",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Edit profile",
@@ -15,6 +16,7 @@
"account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "Follows you",
"account.hide_reblogs": "Hide boosts from @{name}",
+ "account.last_status": "Last active",
"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",
@@ -23,10 +25,11 @@
"account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted",
+ "account.never_active": "Never",
"account.posts": "Toots",
"account.posts_with_replies": "Toots and replies",
"account.report": "Report @{name}",
- "account.requested": "Awaiting approval. Click to cancel follow request",
+ "account.requested": "Awaiting approval",
"account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Unblock @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Unfollow",
"account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
+ "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!",
+ "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",
@@ -47,6 +53,7 @@
"column.blocks": "Blocked users",
"column.community": "Local timeline",
"column.direct": "Direct messages",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Hidden domains",
"column.favourites": "Favourites",
"column.follow_requests": "Follow requests",
@@ -56,6 +63,7 @@
"column.notifications": "Notifications",
"column.pins": "Pinned toot",
"column.public": "Federated timeline",
+ "column.status": "Toot",
"column_back_button.label": "Back",
"column_header.hide_settings": "Hide settings",
"column_header.moveLeft_settings": "Move column to the left",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
"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.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"confirmations.redraft.confirm": "Delete & redraft",
@@ -101,6 +111,14 @@
"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.message": "Are you sure you want to unfollow {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "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",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Pinned toots",
"navigation_bar.preferences": "Preferences",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} favourited your status",
"notification.follow": "{name} followed you",
"notification.mention": "{name} mentioned you",
@@ -355,6 +373,7 @@
"status.show_more": "Show more",
"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.unpin": "Unpin from profile",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Drag & drop to upload",
"upload_button.label": "Add media ({formats})",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Describe for the visually impaired",
- "upload_form.focus": "Crop",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Delete",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Uploading...",
"video.close": "Close video",
"video.exit_fullscreen": "Exit full screen",
diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json
index 5328f15c5..031f758e6 100644
--- a/app/javascript/mastodon/locales/lv.json
+++ b/app/javascript/mastodon/locales/lv.json
@@ -4,6 +4,7 @@
"account.block": "Bloķēt @{name}",
"account.block_domain": "Slēpt visu no {domain}",
"account.blocked": "Bloķēts",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Privātā ziņa @{name}",
"account.domain_blocked": "Domēns ir paslēpts",
"account.edit_profile": "Labot profilu",
@@ -15,6 +16,7 @@
"account.follows.empty": "Šis lietotājs pagaidām nevienam neseko.",
"account.follows_you": "Seko tev",
"account.hide_reblogs": "Paslēpt paceltos ierakstus no lietotāja @{name}",
+ "account.last_status": "Last active",
"account.link_verified_on": "Šīs saites piederība ir pārbaudīta {date}",
"account.locked_info": "Šī konta privātuma status ir iestatīts slēgts. Īpašnieks izskatīs un izvēlēsies kas viņam drīkst sekot.",
"account.media": "Mēdiji",
@@ -23,6 +25,7 @@
"account.mute": "Apklusināt @{name}",
"account.mute_notifications": "Nerādīt paziņojumus no @{name}",
"account.muted": "Apklusināts",
+ "account.never_active": "Never",
"account.posts": "Ieraksti",
"account.posts_with_replies": "Ieraksti un atbildes",
"account.report": "Ziņot par lietotāju @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Nesekot",
"account.unmute": "Noņemt apklusinājumu no lietotāja @{name}",
"account.unmute_notifications": "Rādīt paziņojumus no lietotāja @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Negaidīta kļūda.",
"alert.unexpected.title": "Ups!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Nospied {combo} lai izlaistu šo nākamreiz",
"bundle_column_error.body": "Kaut kas nogāja greizi ielādējot šo komponenti.",
"bundle_column_error.retry": "Mēģini vēlreiz",
@@ -47,6 +53,7 @@
"column.blocks": "Bloķētie lietotāji",
"column.community": "Lokālā laika līnija",
"column.direct": "Privātās ziņas",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Paslēptie domēni",
"column.favourites": "Favorīti",
"column.follow_requests": "Sekotāju pieprasījumi",
@@ -56,6 +63,7 @@
"column.notifications": "Paziņojumi",
"column.pins": "Piespraustie ziņojumi",
"column.public": "Federatīvā laika līnija",
+ "column.status": "Toot",
"column_back_button.label": "Atpakaļ",
"column_header.hide_settings": "Paslēpt iestatījumus",
"column_header.moveLeft_settings": "Pārvietot kolonu pa kreisi",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Vai tiešam vēlies neatgriezeniski dzēst šo sarakstu?",
"confirmations.domain_block.confirm": "Paslēpt visu domēnu",
"confirmations.domain_block.message": "Vai tu tiešām, tiešam vēlies bloķēt visu domēnu {domain}? Lielākajā daļā gadījumu pietiek ja nobloķē vai apklusini kādu. Tu neredzēsi saturu vai paziņojumus no šī domēna nevienā laika līnijā. Tavi sekotāji no šī domēna tiks noņemti.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Apklusināt",
"confirmations.mute.message": "Vai Tu tiešām velies apklusināt {name}?",
"confirmations.redraft.confirm": "Dzēst un pārrakstīt",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Atbildot tagad tava ziņa ko šobrīd raksti tiks pārrakstīta. Vai tiešām vēlies turpināt?",
"confirmations.unfollow.confirm": "Nesekot",
"confirmations.unfollow.message": "Vai tiešam vairs nevēlies sekot lietotājam {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Iegul šo ziņojumu savā mājaslapā kopējot kodu zemāk.",
"embed.preview": "Tas izskatīsies šādi:",
"emoji_button.activity": "Aktivitāte",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Pinned toots",
"navigation_bar.preferences": "Preferences",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} favourited your status",
"notification.follow": "{name} followed you",
"notification.mention": "{name} mentioned you",
@@ -355,6 +373,7 @@
"status.show_more": "Show more",
"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.unpin": "Unpin from profile",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Drag & drop to upload",
"upload_button.label": "Add media ({formats})",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Describe for the visually impaired",
- "upload_form.focus": "Crop",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Delete",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Uploading...",
"video.close": "Close video",
"video.exit_fullscreen": "Exit full screen",
diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json
index ad72b3233..e2bf6e1d2 100644
--- a/app/javascript/mastodon/locales/ms.json
+++ b/app/javascript/mastodon/locales/ms.json
@@ -4,6 +4,7 @@
"account.block": "Block @{name}",
"account.block_domain": "Hide everything from {domain}",
"account.blocked": "Blocked",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Direct message @{name}",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Edit profile",
@@ -15,6 +16,7 @@
"account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "Follows you",
"account.hide_reblogs": "Hide boosts from @{name}",
+ "account.last_status": "Last active",
"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",
@@ -23,10 +25,11 @@
"account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted",
+ "account.never_active": "Never",
"account.posts": "Toots",
"account.posts_with_replies": "Toots and replies",
"account.report": "Report @{name}",
- "account.requested": "Awaiting approval. Click to cancel follow request",
+ "account.requested": "Awaiting approval",
"account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Unblock @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Unfollow",
"account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
+ "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!",
+ "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",
@@ -47,6 +53,7 @@
"column.blocks": "Blocked users",
"column.community": "Local timeline",
"column.direct": "Direct messages",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Hidden domains",
"column.favourites": "Favourites",
"column.follow_requests": "Follow requests",
@@ -56,6 +63,7 @@
"column.notifications": "Notifications",
"column.pins": "Pinned toot",
"column.public": "Federated timeline",
+ "column.status": "Toot",
"column_back_button.label": "Back",
"column_header.hide_settings": "Hide settings",
"column_header.moveLeft_settings": "Move column to the left",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
"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.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Mute",
"confirmations.mute.message": "Are you sure you want to mute {name}?",
"confirmations.redraft.confirm": "Delete & redraft",
@@ -101,6 +111,14 @@
"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.message": "Are you sure you want to unfollow {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "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",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Pinned toots",
"navigation_bar.preferences": "Preferences",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} favourited your status",
"notification.follow": "{name} followed you",
"notification.mention": "{name} mentioned you",
@@ -355,6 +373,7 @@
"status.show_more": "Show more",
"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.unpin": "Unpin from profile",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Drag & drop to upload",
"upload_button.label": "Add media ({formats})",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Describe for the visually impaired",
- "upload_form.focus": "Crop",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Delete",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Uploading...",
"video.close": "Close video",
"video.exit_fullscreen": "Exit full screen",
diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json
index d7f428193..cd09acfb4 100644
--- a/app/javascript/mastodon/locales/nl.json
+++ b/app/javascript/mastodon/locales/nl.json
@@ -4,6 +4,7 @@
"account.block": "Blokkeer @{name}",
"account.block_domain": "Verberg alles van {domain}",
"account.blocked": "Geblokkeerd",
+ "account.cancel_follow_request": "Volgverzoek annuleren",
"account.direct": "Direct Message @{name}",
"account.domain_blocked": "Domein verborgen",
"account.edit_profile": "Profiel bewerken",
@@ -15,6 +16,7 @@
"account.follows.empty": "Deze gebruiker volgt nog niemand.",
"account.follows_you": "Volgt jou",
"account.hide_reblogs": "Verberg boosts van @{name}",
+ "account.last_status": "Laatst actief",
"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.media": "Media",
@@ -23,6 +25,7 @@
"account.mute": "Negeer @{name}",
"account.mute_notifications": "Negeer meldingen van @{name}",
"account.muted": "Genegeerd",
+ "account.never_active": "Nooit",
"account.posts": "Toots",
"account.posts_with_replies": "Toots en reacties",
"account.report": "Rapporteer @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Ontvolgen",
"account.unmute": "@{name} niet langer negeren",
"account.unmute_notifications": "@{name} meldingen niet langer negeren",
+ "alert.rate_limited.message": "Probeer het nog een keer na {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Beperkt te gebruiken",
"alert.unexpected.message": "Er deed zich een onverwachte fout voor",
"alert.unexpected.title": "Oeps!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Je kunt {combo} klikken om dit de volgende keer over te slaan",
"bundle_column_error.body": "Tijdens het laden van dit onderdeel is er iets fout gegaan.",
"bundle_column_error.retry": "Opnieuw proberen",
@@ -47,6 +53,7 @@
"column.blocks": "Geblokkeerde gebruikers",
"column.community": "Lokale tijdlijn",
"column.direct": "Directe berichten",
+ "column.directory": "Gebruikersgids",
"column.domain_blocks": "Genegeerde servers",
"column.favourites": "Favorieten",
"column.follow_requests": "Volgverzoeken",
@@ -56,6 +63,7 @@
"column.notifications": "Meldingen",
"column.pins": "Vastgezette toots",
"column.public": "Globale tijdlijn",
+ "column.status": "Toot",
"column_back_button.label": "Terug",
"column_header.hide_settings": "Instellingen verbergen",
"column_header.moveLeft_settings": "Kolom naar links verplaatsen",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Weet je zeker dat je deze lijst definitief wilt verwijderen?",
"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.logout.confirm": "Uitloggen",
+ "confirmations.logout.message": "Weet je zeker dat je wilt uitloggen?",
"confirmations.mute.confirm": "Negeren",
"confirmations.mute.message": "Weet je het zeker dat je {name} wilt negeren?",
"confirmations.redraft.confirm": "Verwijderen en herschrijven",
@@ -101,6 +111,14 @@
"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.unfollow.confirm": "Ontvolgen",
"confirmations.unfollow.message": "Weet je het zeker dat je {name} wilt ontvolgen?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "Fediverse (wat bekend is)",
+ "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.preview": "Zo komt het eruit te zien:",
"emoji_button.activity": "Activiteiten",
@@ -156,7 +174,7 @@
"home.column_settings.basic": "Algemeen",
"home.column_settings.show_reblogs": "Boosts tonen",
"home.column_settings.show_replies": "Reacties tonen",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "In realtime bijwerken",
"intervals.full.days": "{number, plural, one {# dag} other {# dagen}}",
"intervals.full.hours": "{number, plural, one {# uur} other {# uur}}",
"intervals.full.minutes": "{number, plural, one {# minuut} other {# minuten}}",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Naam nieuwe lijst",
"lists.search": "Zoek naar mensen die je volgt",
"lists.subheading": "Jouw lijsten",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# nieuw item} other {# nieuwe items}}",
"loading_indicator.label": "Laden…",
"media_gallery.toggle_visible": "Media wel/niet tonen",
"missing_indicator.label": "Niet gevonden",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Persoonlijk",
"navigation_bar.pins": "Vastgezette toots",
"navigation_bar.preferences": "Instellingen",
- "navigation_bar.profile_directory": "Gebruikersgids",
"navigation_bar.public_timeline": "Globale tijdlijn",
"navigation_bar.security": "Beveiliging",
+ "notification.and_n_others": "en {count, plural, one {# meer} other {# meer}}",
"notification.favourite": "{name} voegde jouw toot als favoriet toe",
"notification.follow": "{name} volgt jou nu",
"notification.mention": "{name} vermeldde jou",
@@ -316,7 +334,7 @@
"search_results.accounts": "Gebruikers",
"search_results.hashtags": "Hashtags",
"search_results.statuses": "Toots",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "Het zoeken in toots is op deze Mastodonserver 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",
@@ -355,6 +373,7 @@
"status.show_more": "Meer tonen",
"status.show_more_all": "Alles meer tonen",
"status.show_thread": "Gesprek tonen",
+ "status.uncached_media_warning": "Niet beschikbaar",
"status.unmute_conversation": "Gesprek niet langer negeren",
"status.unpin": "Van profielpagina losmaken",
"suggestions.dismiss": "Voorstel verwerpen",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Nog enkele ogenblikken resterend",
"time_remaining.seconds": "{number, plural, one {# seconde} other {# seconden}} te gaan",
"trends.count_by_accounts": "{count} {rawCount, plural, one {persoon praat} other {mensen praten}} hierover",
+ "trends.trending_now": "Trends",
"ui.beforeunload": "Je concept zal verloren gaan als je Mastodon verlaat.",
"upload_area.title": "Hiernaar toe slepen om te uploaden",
"upload_button.label": "Media toevoegen ({formats})",
"upload_error.limit": "Uploadlimiet van bestand overschreden.",
"upload_error.poll": "Het uploaden van bestanden is in polls niet toegestaan.",
"upload_form.description": "Omschrijf dit voor mensen met een visuele beperking",
- "upload_form.focus": "Voorvertoning aanpassen",
+ "upload_form.edit": "Bewerken",
"upload_form.undo": "Verwijderen",
+ "upload_modal.analyzing_picture": "Afbeelding analyseren…",
+ "upload_modal.apply": "Toepassen",
+ "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
+ "upload_modal.detect_text": "Tekst in een afbeelding detecteren",
+ "upload_modal.edit_media": "Media bewerken",
+ "upload_modal.hint": "Klik of sleep de cirkel in de voorvertoning naar een centraal punt dat op elke thumbnail zichtbaar moet blijven.",
+ "upload_modal.preview_label": "Voorvertoning ({ratio})",
"upload_progress.label": "Uploaden...",
"video.close": "Video sluiten",
"video.exit_fullscreen": "Volledig scherm sluiten",
diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json
new file mode 100644
index 000000000..a98fd9522
--- /dev/null
+++ b/app/javascript/mastodon/locales/nn.json
@@ -0,0 +1,418 @@
+{
+ "account.add_or_remove_from_list": "Legg til eller ta vekk fra liste",
+ "account.badges.bot": "Robot",
+ "account.block": "Blokkér @{name}",
+ "account.block_domain": "Gøyme alt innhald for domenet {domain}",
+ "account.blocked": "Blokkert",
+ "account.cancel_follow_request": "Avslutt føljar-førespurnad",
+ "account.direct": "Direkte meld @{name}",
+ "account.domain_blocked": "Domenet er gøymt",
+ "account.edit_profile": "Rediger profil",
+ "account.endorse": "Framhev på profilen din",
+ "account.follow": "Følj",
+ "account.followers": "Føljare",
+ "account.followers.empty": "Er ikkje nokon som føljar denne brukaren ennå.",
+ "account.follows": "Føljingar",
+ "account.follows.empty": "Denne brukaren foljer ikkje nokon ennå.",
+ "account.follows_you": "Føljar deg",
+ "account.hide_reblogs": "Gøym robotar for @{name}",
+ "account.last_status": "Sist aktiv",
+ "account.link_verified_on": "Eigerskap for denne linken er sist sjekket den {date}",
+ "account.locked_info": "Brukarens privat-status er satt til lukka. Eigaren må manuelt døme kvem som kan følje honom.",
+ "account.media": "Media",
+ "account.mention": "Nemne @{name}",
+ "account.moved_to": "{name} har flytta til:",
+ "account.mute": "Målbind @{name}",
+ "account.mute_notifications": "Målbind notifikasjoner ifrå @{name}",
+ "account.muted": "Målbindt",
+ "account.never_active": "Aldri",
+ "account.posts": "Tutar",
+ "account.posts_with_replies": "Tutar og svar",
+ "account.report": "Rapporter @{name}",
+ "account.requested": "Venter på samtykke. Klikk for å avbryte føljar-førespurnad",
+ "account.share": "Del @{name} sin profil",
+ "account.show_reblogs": "Sjå framhevingar ifrå @{name}",
+ "account.unblock": "Avblokker @{name}",
+ "account.unblock_domain": "Vis {domain}",
+ "account.unendorse": "Ikkje framhev på profil",
+ "account.unfollow": "Avfølja",
+ "account.unmute": "Av-demp @{name}",
+ "account.unmute_notifications": "Av-demp notifikasjoner ifrå @{name}",
+ "alert.rate_limited.message": "Ver vennlig og prøv igjen {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Bregrensa rate",
+ "alert.unexpected.message": "Eit uforventa problem har hendt.",
+ "alert.unexpected.title": "Oops!",
+ "autosuggest_hashtag.per_week": "{count} per veke",
+ "boost_modal.combo": "Du kan trykke {combo} for å hoppe over dette neste gong",
+ "bundle_column_error.body": "Noko gikk gale mens komponent ble nedlasta.",
+ "bundle_column_error.retry": "Prøv igjen",
+ "bundle_column_error.title": "Tenarmaskin feil",
+ "bundle_modal_error.close": "Lukk",
+ "bundle_modal_error.message": "Noko gikk gale mens komponent var i ferd med å bli nedlasta.",
+ "bundle_modal_error.retry": "Prøv igjen",
+ "column.blocks": "Blokka brukare",
+ "column.community": "Lokal samtid",
+ "column.direct": "Direkte meldingar",
+ "column.directory": "Sjå gjennom profiler",
+ "column.domain_blocks": "Gøymte domener",
+ "column.favourites": "Favorittar",
+ "column.follow_requests": "Føljarførespurnad",
+ "column.home": "Heim",
+ "column.lists": "Lister",
+ "column.mutes": "Målbindte brukare",
+ "column.notifications": "Varslinger",
+ "column.pins": "Festa tuter",
+ "column.public": "Federert samtid",
+ "column.status": "Toot",
+ "column_back_button.label": "Tilbake",
+ "column_header.hide_settings": "Skjul innstillingar",
+ "column_header.moveLeft_settings": "Flytt feltet til venstre",
+ "column_header.moveRight_settings": "Flytt feltet til høgre",
+ "column_header.pin": "Fest",
+ "column_header.show_settings": "Vis innstillingar",
+ "column_header.unpin": "Løys",
+ "column_subheading.settings": "Innstillingar",
+ "community.column_settings.media_only": "Kun medie",
+ "compose_form.direct_message_warning": "Denne tuten vil kun verte synleg for nemnde brukarar.",
+ "compose_form.direct_message_warning_learn_more": "Lær meir",
+ "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": "låst",
+ "compose_form.placeholder": "Kva har du på hjartet?",
+ "compose_form.poll.add_option": "Legg til eit punkt",
+ "compose_form.poll.duration": "Varigheit for spørring",
+ "compose_form.poll.option_placeholder": "Val {number}",
+ "compose_form.poll.remove_option": "Remove this choice",
+ "compose_form.publish": "Toot",
+ "compose_form.publish_loud": "{publish}!",
+ "compose_form.sensitive.hide": "Mark media as sensitive",
+ "compose_form.sensitive.marked": "Media is marked as sensitive",
+ "compose_form.sensitive.unmarked": "Media is not marked as sensitive",
+ "compose_form.spoiler.marked": "Text is hidden behind warning",
+ "compose_form.spoiler.unmarked": "Text is not hidden",
+ "compose_form.spoiler_placeholder": "Write your warning here",
+ "confirmation_modal.cancel": "Cancel",
+ "confirmations.block.block_and_report": "Block & Report",
+ "confirmations.block.confirm": "Block",
+ "confirmations.block.message": "Are you sure you want to block {name}?",
+ "confirmations.delete.confirm": "Delete",
+ "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.domain_block.confirm": "Hide entire domain",
+ "confirmations.domain_block.message": "Er du ordentleg, ordentleg sikker på at du vill blokkere heile {domain}? I dei tilfeller er det bedre med ein målretta blokkering eller demping av individuelle brukare.",
+ "confirmations.logout.confirm": "Logg ut",
+ "confirmations.logout.message": "Er du sikker på at du vill logge ut?",
+ "confirmations.mute.confirm": "Målbind",
+ "confirmations.mute.message": "Er du sikker på at d vill målbinde {name}?",
+ "confirmations.redraft.confirm": "Slett & gjennopprett",
+ "confirmations.redraft.message": "Er du sikker på at du vill slette statusen og gjennoprette den? Favoritter og framhevinger vill bli borte, og svar til den originale posten vill bli einstøing.",
+ "confirmations.reply.confirm": "Svar",
+ "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.message": "Are you sure you want to unfollow {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "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.custom": "Custom",
+ "emoji_button.flags": "Flags",
+ "emoji_button.food": "Food & Drink",
+ "emoji_button.label": "Insert emoji",
+ "emoji_button.nature": "Nature",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
+ "emoji_button.objects": "Objects",
+ "emoji_button.people": "People",
+ "emoji_button.recent": "Frequently used",
+ "emoji_button.search": "Search...",
+ "emoji_button.search_results": "Search results",
+ "emoji_button.symbols": "Symbols",
+ "emoji_button.travel": "Travel & Places",
+ "empty_column.account_timeline": "No toots here!",
+ "empty_column.account_unavailable": "Profile unavailable",
+ "empty_column.blocks": "You haven't blocked any users yet.",
+ "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.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_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.public_timeline": "the public timeline",
+ "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.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
+ "follow_request.authorize": "Authorize",
+ "follow_request.reject": "Reject",
+ "getting_started.developers": "Developers",
+ "getting_started.directory": "Profile directory",
+ "getting_started.documentation": "Documentation",
+ "getting_started.heading": "Getting started",
+ "getting_started.invite": "Invite people",
+ "getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.",
+ "getting_started.security": "Security",
+ "getting_started.terms": "Terms of service",
+ "hashtag.column_header.tag_mode.all": "and {additional}",
+ "hashtag.column_header.tag_mode.any": "or {additional}",
+ "hashtag.column_header.tag_mode.none": "without {additional}",
+ "hashtag.column_settings.select.no_options_message": "No suggestions found",
+ "hashtag.column_settings.select.placeholder": "Enter hashtags…",
+ "hashtag.column_settings.tag_mode.all": "All of these",
+ "hashtag.column_settings.tag_mode.any": "Any of these",
+ "hashtag.column_settings.tag_mode.none": "None of these",
+ "hashtag.column_settings.tag_toggle": "Include additional tags in this column",
+ "home.column_settings.basic": "Basic",
+ "home.column_settings.show_reblogs": "Show boosts",
+ "home.column_settings.show_replies": "Show replies",
+ "home.column_settings.update_live": "Update in real-time",
+ "intervals.full.days": "{number, plural, one {# day} other {# days}}",
+ "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
+ "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
+ "introduction.federation.action": "Next",
+ "introduction.federation.federated.headline": "Federated",
+ "introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
+ "introduction.federation.home.headline": "Home",
+ "introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
+ "introduction.federation.local.headline": "Local",
+ "introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
+ "introduction.interactions.action": "Finish toot-orial!",
+ "introduction.interactions.favourite.headline": "Favourite",
+ "introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
+ "introduction.interactions.reblog.headline": "Boost",
+ "introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
+ "introduction.interactions.reply.headline": "Reply",
+ "introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
+ "introduction.welcome.action": "Let's go!",
+ "introduction.welcome.headline": "First steps",
+ "introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
+ "keyboard_shortcuts.back": "to navigate back",
+ "keyboard_shortcuts.blocked": "to open blocked users list",
+ "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.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",
+ "keyboard_shortcuts.favourites": "to open favourites list",
+ "keyboard_shortcuts.federated": "to open federated timeline",
+ "keyboard_shortcuts.heading": "Keyboard Shortcuts",
+ "keyboard_shortcuts.home": "to open home timeline",
+ "keyboard_shortcuts.hotkey": "Hotkey",
+ "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.my_profile": "to open your profile",
+ "keyboard_shortcuts.notifications": "to open notifications column",
+ "keyboard_shortcuts.pinned": "to open pinned toots list",
+ "keyboard_shortcuts.profile": "to open author's profile",
+ "keyboard_shortcuts.reply": "to reply",
+ "keyboard_shortcuts.requests": "to open follow requests list",
+ "keyboard_shortcuts.search": "to focus search",
+ "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.unfocus": "to un-focus compose textarea/search",
+ "keyboard_shortcuts.up": "to move up in the list",
+ "lightbox.close": "Close",
+ "lightbox.next": "Next",
+ "lightbox.previous": "Previous",
+ "lightbox.view_context": "View context",
+ "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.new.create": "Add list",
+ "lists.new.title_placeholder": "New list title",
+ "lists.search": "Search among people you follow",
+ "lists.subheading": "Your lists",
+ "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "loading_indicator.label": "Loading...",
+ "media_gallery.toggle_visible": "Toggle visibility",
+ "missing_indicator.label": "Not found",
+ "missing_indicator.sublabel": "This resource could not be found",
+ "mute_modal.hide_notifications": "Hide notifications from this user?",
+ "navigation_bar.apps": "Mobile apps",
+ "navigation_bar.blocks": "Blocked users",
+ "navigation_bar.community_timeline": "Local timeline",
+ "navigation_bar.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",
+ "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.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.pins": "Pinned toots",
+ "navigation_bar.preferences": "Preferences",
+ "navigation_bar.public_timeline": "Federated timeline",
+ "navigation_bar.security": "Security",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
+ "notification.favourite": "{name} favourited your status",
+ "notification.follow": "{name} followed you",
+ "notification.mention": "{name} mentioned you",
+ "notification.poll": "A poll you have voted in has ended",
+ "notification.reblog": "{name} boosted your status",
+ "notifications.clear": "Clear notifications",
+ "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
+ "notifications.column_settings.alert": "Desktop notifications",
+ "notifications.column_settings.favourite": "Favourites:",
+ "notifications.column_settings.filter_bar.advanced": "Display all categories",
+ "notifications.column_settings.filter_bar.category": "Quick filter bar",
+ "notifications.column_settings.filter_bar.show": "Show",
+ "notifications.column_settings.follow": "New followers:",
+ "notifications.column_settings.mention": "Mentions:",
+ "notifications.column_settings.poll": "Poll results:",
+ "notifications.column_settings.push": "Push notifications",
+ "notifications.column_settings.reblog": "Boosts:",
+ "notifications.column_settings.show": "Show in column",
+ "notifications.column_settings.sound": "Play sound",
+ "notifications.filter.all": "All",
+ "notifications.filter.boosts": "Boosts",
+ "notifications.filter.favourites": "Favourites",
+ "notifications.filter.follows": "Follows",
+ "notifications.filter.mentions": "Mentions",
+ "notifications.filter.polls": "Poll results",
+ "notifications.group": "{count} notifications",
+ "poll.closed": "Closed",
+ "poll.refresh": "Refresh",
+ "poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
+ "poll.vote": "Vote",
+ "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.short": "Direct",
+ "privacy.private.long": "Post to followers only",
+ "privacy.private.short": "Followers-only",
+ "privacy.public.long": "Post to public timelines",
+ "privacy.public.short": "Public",
+ "privacy.unlisted.long": "Do not show in public timelines",
+ "privacy.unlisted.short": "Unlisted",
+ "regeneration_indicator.label": "Loading…",
+ "regeneration_indicator.sublabel": "Your home feed is being prepared!",
+ "relative_time.days": "{number}d",
+ "relative_time.hours": "{number}h",
+ "relative_time.just_now": "now",
+ "relative_time.minutes": "{number}m",
+ "relative_time.seconds": "{number}s",
+ "reply_indicator.cancel": "Cancel",
+ "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.placeholder": "Additional comments",
+ "report.submit": "Submit",
+ "report.target": "Report {target}",
+ "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.",
+ "search_popout.tips.hashtag": "hashtag",
+ "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.hashtags": "Hashtags",
+ "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}}",
+ "status.admin_account": "Open moderation interface for @{name}",
+ "status.admin_status": "Open this status in the moderation interface",
+ "status.block": "Block @{name}",
+ "status.cancel_reblog_private": "Unboost",
+ "status.cannot_reblog": "This post cannot be boosted",
+ "status.copy": "Copy link to status",
+ "status.delete": "Delete",
+ "status.detailed_status": "Detailed conversation view",
+ "status.direct": "Direct message @{name}",
+ "status.embed": "Embed",
+ "status.favourite": "Favourite",
+ "status.filtered": "Filtered",
+ "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.open": "Expand this status",
+ "status.pin": "Pin on profile",
+ "status.pinned": "Pinned toot",
+ "status.read_more": "Read more",
+ "status.reblog": "Boost",
+ "status.reblog_private": "Boost to original audience",
+ "status.reblogged_by": "{name} boosted",
+ "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
+ "status.redraft": "Delete & re-draft",
+ "status.reply": "Reply",
+ "status.replyAll": "Reply to thread",
+ "status.report": "Report @{name}",
+ "status.sensitive_warning": "Sensitive content",
+ "status.share": "Share",
+ "status.show_less": "Show less",
+ "status.show_less_all": "Show less for all",
+ "status.show_more": "Show more",
+ "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.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.local_timeline": "Local",
+ "tabs_bar.notifications": "Notifications",
+ "tabs_bar.search": "Search",
+ "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",
+ "time_remaining.moments": "Moments remaining",
+ "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
+ "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
+ "ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
+ "upload_area.title": "Drag & drop to upload",
+ "upload_button.label": "Add media ({formats})",
+ "upload_error.limit": "File upload limit exceeded.",
+ "upload_error.poll": "File upload not allowed with polls.",
+ "upload_form.description": "Describe for the visually impaired",
+ "upload_form.edit": "Edit",
+ "upload_form.undo": "Delete",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
+ "upload_progress.label": "Uploading...",
+ "video.close": "Close video",
+ "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"
+}
diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json
index ea722a01e..82794684b 100644
--- a/app/javascript/mastodon/locales/no.json
+++ b/app/javascript/mastodon/locales/no.json
@@ -4,6 +4,7 @@
"account.block": "Blokkér @{name}",
"account.block_domain": "Skjul alt fra {domain}",
"account.blocked": "Blocked",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Direct Message @{name}",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Rediger profil",
@@ -15,6 +16,7 @@
"account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "Følger deg",
"account.hide_reblogs": "Skjul fremhevinger fra @{name}",
+ "account.last_status": "Last active",
"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",
@@ -23,6 +25,7 @@
"account.mute": "Demp @{name}",
"account.mute_notifications": "Ignorer varsler fra @{name}",
"account.muted": "Muted",
+ "account.never_active": "Never",
"account.posts": "Innlegg",
"account.posts_with_replies": "Toots with replies",
"account.report": "Rapportér @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Avfølg",
"account.unmute": "Avdemp @{name}",
"account.unmute_notifications": "Vis varsler fra @{name}",
+ "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!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "You kan trykke {combo} for å hoppe over dette neste gang",
"bundle_column_error.body": "Noe gikk galt mens denne komponenten lastet.",
"bundle_column_error.retry": "Prøv igjen",
@@ -47,6 +53,7 @@
"column.blocks": "Blokkerte brukere",
"column.community": "Lokal tidslinje",
"column.direct": "Direct messages",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Hidden domains",
"column.favourites": "Likt",
"column.follow_requests": "Følgeforespørsler",
@@ -56,6 +63,7 @@
"column.notifications": "Varsler",
"column.pins": "Pinned toot",
"column.public": "Felles tidslinje",
+ "column.status": "Toot",
"column_back_button.label": "Tilbake",
"column_header.hide_settings": "Gjem innstillinger",
"column_header.moveLeft_settings": "Flytt feltet til venstre",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Er du sikker på at du vil slette denne listen permanent?",
"confirmations.domain_block.confirm": "Skjul alt fra domenet",
"confirmations.domain_block.message": "Er du sikker på at du vil skjule hele domenet {domain}? I de fleste tilfeller er det bedre med målrettet blokkering eller demping.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Demp",
"confirmations.mute.message": "Er du sikker på at du vil dempe {name}?",
"confirmations.redraft.confirm": "Delete & redraft",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"confirmations.unfollow.confirm": "Slutt å følge",
"confirmations.unfollow.message": "Er du sikker på at du vil slutte å følge {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Kopier koden under for å bygge inn denne statusen på hjemmesiden din.",
"embed.preview": "Slik kommer det til å se ut:",
"emoji_button.activity": "Aktivitet",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Festa tuter",
"navigation_bar.preferences": "Preferanser",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Felles tidslinje",
"navigation_bar.security": "Security",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} likte din status",
"notification.follow": "{name} fulgte deg",
"notification.mention": "{name} nevnte deg",
@@ -355,6 +373,7 @@
"status.show_more": "Vis mer",
"status.show_more_all": "Show more for all",
"status.show_thread": "Show thread",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Ikke demp samtale",
"status.unpin": "Angre festing på profilen",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Din kladd vil bli forkastet om du forlater Mastodon.",
"upload_area.title": "Dra og slipp for å laste opp",
"upload_button.label": "Legg til media",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Beskriv for synshemmede",
- "upload_form.focus": "Crop",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Angre",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Laster opp...",
"video.close": "Lukk video",
"video.exit_fullscreen": "Lukk fullskjerm",
diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json
index 34804da20..e3322baf4 100644
--- a/app/javascript/mastodon/locales/oc.json
+++ b/app/javascript/mastodon/locales/oc.json
@@ -4,6 +4,7 @@
"account.block": "Blocar @{name}",
"account.block_domain": "Tot amagar del domeni {domain}",
"account.blocked": "Blocat",
+ "account.cancel_follow_request": "Anullar la demanda de seguiment",
"account.direct": "Escriure un MP a @{name}",
"account.domain_blocked": "Domeni amagat",
"account.edit_profile": "Modificar lo perfil",
@@ -15,6 +16,7 @@
"account.follows.empty": "Aqueste utilizaire sèc pas degun pel moment.",
"account.follows_you": "Vos sèc",
"account.hide_reblogs": "Rescondre los partatges de @{name}",
+ "account.last_status": "Darrièra activitat",
"account.link_verified_on": "La proprietat d’aqueste ligam foguèt verificada lo {date}",
"account.locked_info": "L’estatut de privacitat del compte es configurat sus clavat. Lo proprietari causís qual pòt sègre son compte.",
"account.media": "Mèdias",
@@ -23,6 +25,7 @@
"account.mute": "Rescondre @{name}",
"account.mute_notifications": "Rescondre las notificacions de @{name}",
"account.muted": "Mes en silenci",
+ "account.never_active": "Jamai",
"account.posts": "Tuts",
"account.posts_with_replies": "Tuts e responsas",
"account.report": "Senhalar @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Quitar de sègre",
"account.unmute": "Quitar de rescondre @{name}",
"account.unmute_notifications": "Mostrar las notificacions de @{name}",
+ "alert.rate_limited.message": "Mercés de tornar ensajar aprèp {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Taus limitat",
"alert.unexpected.message": "Una error s’es producha.",
"alert.unexpected.title": "Ops !",
+ "autosuggest_hashtag.per_week": "{count} per setmana",
"boost_modal.combo": "Podètz botar {combo} per passar aquò lo còp que ven",
"bundle_column_error.body": "Quicòm a fach mèuca pendent lo cargament d’aqueste compausant.",
"bundle_column_error.retry": "Tornar ensajar",
@@ -47,6 +53,7 @@
"column.blocks": "Personas blocadas",
"column.community": "Flux public local",
"column.direct": "Messatges dirèctes",
+ "column.directory": "Percórrer los perfils",
"column.domain_blocks": "Domenis resconduts",
"column.favourites": "Favorits",
"column.follow_requests": "Demandas d’abonament",
@@ -56,6 +63,7 @@
"column.notifications": "Notificacions",
"column.pins": "Tuts penjats",
"column.public": "Flux public global",
+ "column.status": "Tut",
"column_back_button.label": "Tornar",
"column_header.hide_settings": "Amagar los paramètres",
"column_header.moveLeft_settings": "Desplaçar la colomna a man drecha",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Volètz vertadièrament suprimir aquesta lista per totjorn ?",
"confirmations.domain_block.confirm": "Amagar tot lo domeni",
"confirmations.domain_block.message": "Volètz vertadièrament blocar complètament {domain} ? De còps cal pas que blocar o rescondre unas personas solament.\nVeiretz pas cap de contengut d’aquel domeni dins cap de flux public o dins vòstras notificacions. Vòstres seguidors d’aquel domeni seràn levats.",
+ "confirmations.logout.confirm": "Desconnexion",
+ "confirmations.logout.message": "Volètz vertadièrament vos desconnectar ?",
"confirmations.mute.confirm": "Rescondre",
"confirmations.mute.message": "Volètz vertadièrament rescondre {name} ?",
"confirmations.redraft.confirm": "Escafar & tornar formular",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Respondre remplaçarà lo messatge que sètz a escriure. Volètz vertadièrament contunhar ?",
"confirmations.unfollow.confirm": "Quitar de sègre",
"confirmations.unfollow.message": "Volètz vertadièrament quitar de sègre {name} ?",
+ "conversation.delete": "Suprimir la conversacion",
+ "conversation.mark_as_read": "Marcar coma legida",
+ "conversation.open": "Veire la conversacion",
+ "conversation.with": "Amb {names}",
+ "directory.federated": "Del fediverse conegut",
+ "directory.local": "Solament de {domain}",
+ "directory.new_arrivals": "Nòus-venguts",
+ "directory.recently_active": "Actius fa res",
"embed.instructions": "Embarcar aqueste estatut per lo far veire sus un site Internet en copiar lo còdi çai-jos.",
"embed.preview": "Semblarà aquò :",
"emoji_button.activity": "Activitats",
@@ -156,7 +174,7 @@
"home.column_settings.basic": "Basic",
"home.column_settings.show_reblogs": "Mostrar los partatges",
"home.column_settings.show_replies": "Mostrar las responsas",
- "home.column_settings.update_live": "Update in real-time",
+ "home.column_settings.update_live": "Actualizacion en dirècte",
"intervals.full.days": "{number, plural, one {# jorn} other {# jorns}}",
"intervals.full.hours": "{number, plural, one {# ora} other {# oras}}",
"intervals.full.minutes": "{number, plural, one {# minuta} other {# minutas}}",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Títol de la nòva lista",
"lists.search": "Cercar demest lo monde que seguètz",
"lists.subheading": "Vòstras listas",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# nòu element} other {# nòu elements}}",
"loading_indicator.label": "Cargament…",
"media_gallery.toggle_visible": "Modificar la visibilitat",
"missing_indicator.label": "Pas trobat",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Tuts penjats",
"navigation_bar.preferences": "Preferéncias",
- "navigation_bar.profile_directory": "Annuari de perfils",
"navigation_bar.public_timeline": "Flux public global",
"navigation_bar.security": "Seguretat",
+ "notification.and_n_others": "e {count, plural, un {# autre} other {# autres}}",
"notification.favourite": "{name} a ajustat a sos favorits",
"notification.follow": "{name} vos sèc",
"notification.mention": "{name} vos a mencionat",
@@ -316,7 +334,7 @@
"search_results.accounts": "Gents",
"search_results.hashtags": "Etiquetas",
"search_results.statuses": "Tuts",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "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}}",
"status.admin_account": "Dobrir l’interfàcia de moderacion per @{name}",
"status.admin_status": "Dobrir aqueste estatut dins l’interfàcia de moderacion",
@@ -355,6 +373,7 @@
"status.show_more": "Desplegar",
"status.show_more_all": "Los desplegar totes",
"status.show_thread": "Mostrar lo fil",
+ "status.uncached_media_warning": "Pas disponible",
"status.unmute_conversation": "Tornar mostrar la conversacion",
"status.unpin": "Tirar del perfil",
"suggestions.dismiss": "Regetar la suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments restants",
"time_remaining.seconds": "demòra{number, plural, one { # segonda} other {n # segondas}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} ne charra other {people}} ne charran",
+ "trends.trending_now": "Tendéncia del moment",
"ui.beforeunload": "Vòstre brolhon serà perdut se quitatz Mastodon.",
"upload_area.title": "Lisatz e depausatz per mandar",
"upload_button.label": "Ajustar un mèdia (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Talha maximum pels mandadís subrepassada.",
"upload_error.poll": "Lo mandadís de fichièr es pas autorizat pels sondatges.",
"upload_form.description": "Descripcion pels mal vesents",
- "upload_form.focus": "Modificar l’apercebut",
+ "upload_form.edit": "Modificar",
"upload_form.undo": "Suprimir",
+ "upload_modal.analyzing_picture": "Analisi de l’imatge…",
+ "upload_modal.apply": "Aplicar",
+ "upload_modal.description_placeholder": "Lo dròlle bilingüe manja un yaourt de ròcs exagonals e kiwis verds farà un an mai",
+ "upload_modal.detect_text": "Detectar lo tèxt de l’imatge",
+ "upload_modal.edit_media": "Modificar lo mèdia",
+ "upload_modal.hint": "Clicatz o lissatz lo cercle de l’apercebut per causir lo ponch que serà totjorn visible dins las vinhetas.",
+ "upload_modal.preview_label": "Apercebut ({ratio})",
"upload_progress.label": "Mandadís…",
"video.close": "Tampar la vidèo",
"video.exit_fullscreen": "Sortir plen ecran",
diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json
index fb44f6e10..9aca1d27f 100644
--- a/app/javascript/mastodon/locales/pl.json
+++ b/app/javascript/mastodon/locales/pl.json
@@ -4,6 +4,7 @@
"account.block": "Blokuj @{name}",
"account.block_domain": "Blokuj wszystko z {domain}",
"account.blocked": "Zablokowany(-a)",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Wyślij wiadomość bezpośrednią do @{name}",
"account.domain_blocked": "Ukryto domenę",
"account.edit_profile": "Edytuj profil",
@@ -15,6 +16,7 @@
"account.follows.empty": "Ten użytkownik nie śledzi jeszcze nikogo.",
"account.follows_you": "Śledzi Cię",
"account.hide_reblogs": "Ukryj podbicia od @{name}",
+ "account.last_status": "Last active",
"account.link_verified_on": "Własność tego odnośnika została potwierdzona {date}",
"account.locked_info": "To konto jest prywatne. Właściciel ręcznie wybiera kto może go śledzić.",
"account.media": "Zawartość multimedialna",
@@ -23,6 +25,7 @@
"account.mute": "Wycisz @{name}",
"account.mute_notifications": "Wycisz powiadomienia o @{name}",
"account.muted": "Wyciszony",
+ "account.never_active": "Never",
"account.posts": "Wpisy",
"account.posts_with_replies": "Wpisy i odpowiedzi",
"account.report": "Zgłoś @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Przestań śledzić",
"account.unmute": "Cofnij wyciszenie @{name}",
"account.unmute_notifications": "Cofnij wyciszenie powiadomień od @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Wystąpił nieoczekiwany błąd.",
"alert.unexpected.title": "O nie!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Naciśnij {combo}, aby pominąć to następnym razem",
"bundle_column_error.body": "Coś poszło nie tak podczas ładowania tego składnika.",
"bundle_column_error.retry": "Spróbuj ponownie",
@@ -47,6 +53,7 @@
"column.blocks": "Zablokowani użytkownicy",
"column.community": "Lokalna oś czasu",
"column.direct": "Wiadomości bezpośrednie",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Ukryte domeny",
"column.favourites": "Ulubione",
"column.follow_requests": "Prośby o śledzenie",
@@ -56,6 +63,7 @@
"column.notifications": "Powiadomienia",
"column.pins": "Przypięte wpisy",
"column.public": "Globalna oś czasu",
+ "column.status": "Toot",
"column_back_button.label": "Wróć",
"column_header.hide_settings": "Ukryj ustawienia",
"column_header.moveLeft_settings": "Przesuń kolumnę w lewo",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Czy na pewno chcesz bezpowrotnie usunąć tą listę?",
"confirmations.domain_block.confirm": "Ukryj wszysyko z domeny",
"confirmations.domain_block.message": "Czy na pewno chcesz zablokować całą domenę {domain}? Zwykle lepszym rozwiązaniem jest blokada lub wyciszenie kilku użytkowników.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Wycisz",
"confirmations.mute.message": "Czy na pewno chcesz wyciszyć {name}?",
"confirmations.redraft.confirm": "Usuń i przeredaguj",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "W ten sposób utracisz wpis który obecnie tworzysz. Czy na pewno chcesz to zrobić?",
"confirmations.unfollow.confirm": "Przestań śledzić",
"confirmations.unfollow.message": "Czy na pewno zamierzasz przestać śledzić {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Osadź ten wpis na swojej stronie wklejając poniższy kod.",
"embed.preview": "Tak będzie to wyglądać:",
"emoji_button.activity": "Aktywność",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Osobiste",
"navigation_bar.pins": "Przypięte wpisy",
"navigation_bar.preferences": "Preferencje",
- "navigation_bar.profile_directory": "Katalog profilów",
"navigation_bar.public_timeline": "Globalna oś czasu",
"navigation_bar.security": "Bezpieczeństwo",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} dodał(a) Twój wpis do ulubionych",
"notification.follow": "{name} zaczął(-ęła) Cię śledzić",
"notification.mention": "{name} wspomniał(a) o tobie",
@@ -355,6 +373,7 @@
"status.show_more": "Rozwiń",
"status.show_more_all": "Rozwiń wszystkie",
"status.show_thread": "Pokaż wątek",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Cofnij wyciszenie konwersacji",
"status.unpin": "Odepnij z profilu",
"suggestions.dismiss": "Odrzuć sugestię",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Pozostała chwila",
"time_remaining.seconds": "{number, plural, one {Pozostała # sekunda} few {Pozostały # sekundy} many {Pozostało # sekund} other {Pozostało # sekund}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {osoba rozmawia} few {osoby rozmawiają} other {osób rozmawia}} o tym",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Utracisz tworzony wpis, jeżeli opuścisz Mastodona.",
"upload_area.title": "Przeciągnij i upuść aby wysłać",
"upload_button.label": "Dodaj zawartość multimedialną (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Przekroczono limit plików do wysłania.",
"upload_error.poll": "Dołączanie plików nie dozwolone z głosowaniami.",
"upload_form.description": "Wprowadź opis dla niewidomych i niedowidzących",
- "upload_form.focus": "Dopasuj podgląd",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Usuń",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Zastosuj",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Wysyłanie…",
"video.close": "Zamknij film",
"video.exit_fullscreen": "Opuść tryb pełnoekranowy",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index 1fb700874..e1e7e2cd1 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -4,6 +4,7 @@
"account.block": "Bloquear @{name}",
"account.block_domain": "Esconder tudo de {domain}",
"account.blocked": "Bloqueado",
+ "account.cancel_follow_request": "Cancelar solicitação para seguir",
"account.direct": "Direct Message @{name}",
"account.domain_blocked": "Domínio escondido",
"account.edit_profile": "Editar perfil",
@@ -15,6 +16,7 @@
"account.follows.empty": "Esse usuário não segue ninguém no momento.",
"account.follows_you": "Segue você",
"account.hide_reblogs": "Esconder compartilhamentos de @{name}",
+ "account.last_status": "Last active",
"account.link_verified_on": "A posse desse link foi verificada em {date}",
"account.locked_info": "Essa conta está trancada. Se você a seguir sua solicitação será revisada manualmente.",
"account.media": "Mídia",
@@ -23,6 +25,7 @@
"account.mute": "Silenciar @{name}",
"account.mute_notifications": "Silenciar notificações de @{name}",
"account.muted": "Silenciado",
+ "account.never_active": "Nunca",
"account.posts": "Toots",
"account.posts_with_replies": "Toots e respostas",
"account.report": "Denunciar @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Deixar de seguir",
"account.unmute": "Não silenciar @{name}",
"account.unmute_notifications": "Retirar silêncio das notificações vindas de @{name}",
+ "alert.rate_limited.message": "Por favor tente novamente após {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Um erro inesperado ocorreu.",
"alert.unexpected.title": "Eita!",
+ "autosuggest_hashtag.per_week": "{count} por semana",
"boost_modal.combo": "Você pode pressionar {combo} para ignorar este diálogo na próxima vez",
"bundle_column_error.body": "Algo de errado aconteceu enquanto este componente era carregado.",
"bundle_column_error.retry": "Tente novamente",
@@ -47,6 +53,7 @@
"column.blocks": "Usuários bloqueados",
"column.community": "Local",
"column.direct": "Mensagens diretas",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Domínios escondidos",
"column.favourites": "Favoritos",
"column.follow_requests": "Seguidores pendentes",
@@ -56,6 +63,7 @@
"column.notifications": "Notificações",
"column.pins": "Postagens fixadas",
"column.public": "Global",
+ "column.status": "Toot",
"column_back_button.label": "Voltar",
"column_header.hide_settings": "Esconder configurações",
"column_header.moveLeft_settings": "Mover coluna para a esquerda",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Você tem certeza que quer deletar permanentemente a lista?",
"confirmations.domain_block.confirm": "Esconder o domínio inteiro",
"confirmations.domain_block.message": "Você quer mesmo bloquear {domain} inteiro? Na maioria dos casos, silenciar ou bloquear alguns usuários é o suficiente e o recomendado. Você não vai ver conteúdo desse domínio em nenhuma das timelines públicas ou nas suas notificações. Seus seguidores desse domínio serão removidos.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Silenciar",
"confirmations.mute.message": "Você tem certeza de que quer silenciar {name}?",
"confirmations.redraft.confirm": "Apagar & usar como rascunho",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Responder agora vai sobrescrever a mensagem que você está compondo. Você tem certeza que quer continuar?",
"confirmations.unfollow.confirm": "Deixar de seguir",
"confirmations.unfollow.message": "Você tem certeza de que quer deixar de seguir {name}?",
+ "conversation.delete": "Excluir conversa",
+ "conversation.mark_as_read": "Marcar como lida",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "De fediverso conhecido",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Reverta esta propriedade para seu valor padrão",
"embed.instructions": "Incorpore esta postagem em seu site copiando o código abaixo.",
"embed.preview": "Aqui está uma previsão de como ficará:",
"emoji_button.activity": "Atividades",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Pessoal",
"navigation_bar.pins": "Postagens fixadas",
"navigation_bar.preferences": "Preferências",
- "navigation_bar.profile_directory": "Diretório de perfis",
"navigation_bar.public_timeline": "Global",
"navigation_bar.security": "Segurança",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} adicionou a sua postagem aos favoritos",
"notification.follow": "{name} te seguiu",
"notification.mention": "{name} te mencionou",
@@ -320,7 +338,7 @@
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
"status.admin_account": "Abrir interface de moderação para @{name}",
"status.admin_status": "Abrir esse status na interface de moderação",
- "status.block": "Block @{name}",
+ "status.block": "Bloquear @{name}",
"status.cancel_reblog_private": "Desfazer compartilhamento",
"status.cannot_reblog": "Esta postagem não pode ser compartilhada",
"status.copy": "Copiar o link para o status",
@@ -355,6 +373,7 @@
"status.show_more": "Mostrar mais",
"status.show_more_all": "Mostrar mais para todas as mensagens",
"status.show_thread": "Mostrar sequência",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Desativar silêncio desta conversa",
"status.unpin": "Desafixar do perfil",
"suggestions.dismiss": "Ignorar a sugestão",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Momentos restantes",
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {pessoa} other {pessoas}} falando sobre",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Seu rascunho será perdido se você sair do Mastodon.",
"upload_area.title": "Arraste e solte para enviar",
"upload_button.label": "Adicionar mídia (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Limite de envio de arquivos excedido.",
"upload_error.poll": "Envio de arquivos não é permitido com enquetes.",
"upload_form.description": "Descreva a imagem para deficientes visuais",
- "upload_form.focus": "Ajustar foco",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Remover",
+ "upload_modal.analyzing_picture": "Analisando imagem…",
+ "upload_modal.apply": "Apply",
+ "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
+ "upload_modal.detect_text": "Detectar texto da imagem",
+ "upload_modal.edit_media": "Edit media",
+ "upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Salvando...",
"video.close": "Fechar vídeo",
"video.exit_fullscreen": "Sair da tela cheia",
diff --git a/app/javascript/mastodon/locales/pt.json b/app/javascript/mastodon/locales/pt-PT.json
similarity index 93%
rename from app/javascript/mastodon/locales/pt.json
rename to app/javascript/mastodon/locales/pt-PT.json
index c6ea3f847..4b1e11aa4 100644
--- a/app/javascript/mastodon/locales/pt.json
+++ b/app/javascript/mastodon/locales/pt-PT.json
@@ -4,6 +4,7 @@
"account.block": "Bloquear @{name}",
"account.block_domain": "Esconder tudo do domínio {domain}",
"account.blocked": "Bloqueado",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Mensagem directa @{name}",
"account.domain_blocked": "Domínio escondido",
"account.edit_profile": "Editar perfil",
@@ -15,6 +16,7 @@
"account.follows.empty": "Este utilizador ainda não segue alguém.",
"account.follows_you": "É teu seguidor",
"account.hide_reblogs": "Esconder partilhas de @{name}",
+ "account.last_status": "Last active",
"account.link_verified_on": "A posse deste link foi verificada em {date}",
"account.locked_info": "O estatuto de privacidade desta conta é fechado. O dono revê manualmente que a pode seguir.",
"account.media": "Média",
@@ -23,6 +25,7 @@
"account.mute": "Silenciar @{name}",
"account.mute_notifications": "Silenciar notificações de @{name}",
"account.muted": "Silenciada",
+ "account.never_active": "Never",
"account.posts": "Publicações",
"account.posts_with_replies": "Publicações e respostas",
"account.report": "Denunciar @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Deixar de seguir",
"account.unmute": "Não silenciar @{name}",
"account.unmute_notifications": "Deixar de silenciar @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Ocorreu um erro inesperado.",
"alert.unexpected.title": "Bolas!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Pode clicar {combo} para não voltar a ver",
"bundle_column_error.body": "Algo de errado aconteceu enquanto este componente era carregado.",
"bundle_column_error.retry": "Tente de novo",
@@ -47,6 +53,7 @@
"column.blocks": "Utilizadores Bloqueados",
"column.community": "Cronologia local",
"column.direct": "Mensagens directas",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Domínios escondidos",
"column.favourites": "Favoritos",
"column.follow_requests": "Seguidores pendentes",
@@ -56,6 +63,7 @@
"column.notifications": "Notificações",
"column.pins": "Publicações fixas",
"column.public": "Cronologia federada",
+ "column.status": "Toot",
"column_back_button.label": "Voltar",
"column_header.hide_settings": "Esconder configurações",
"column_header.moveLeft_settings": "Mover coluna para a esquerda",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Tens a certeza de que desejas eliminar permanentemente esta lista?",
"confirmations.domain_block.confirm": "Esconder tudo deste domínio",
"confirmations.domain_block.message": "De certeza que queres bloquear completamente o domínio {domain}? Na maioria dos casos, silenciar ou bloquear alguns utilizadores é suficiente e é o recomendado. Não irás ver conteúdo daquele domínio em cronologia alguma nem nas tuas notificações. Os teus seguidores daquele domínio serão removidos.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Silenciar",
"confirmations.mute.message": "De certeza que queres silenciar {name}?",
"confirmations.redraft.confirm": "Apagar & redigir",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Responder agora irá reescrever a mensagem que estás a compor actualmente. Tens a certeza que queres continuar?",
"confirmations.unfollow.confirm": "Deixar de seguir",
"confirmations.unfollow.message": "De certeza que queres deixar de seguir {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Publica esta publicação no teu site copiando o código abaixo.",
"embed.preview": "Podes ver aqui como irá ficar:",
"emoji_button.activity": "Actividade",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Pessoal",
"navigation_bar.pins": "Toots afixados",
"navigation_bar.preferences": "Preferências",
- "navigation_bar.profile_directory": "Directório de perfis",
"navigation_bar.public_timeline": "Cronologia federada",
"navigation_bar.security": "Segurança",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} adicionou o teu estado aos favoritos",
"notification.follow": "{name} começou a seguir-te",
"notification.mention": "{name} mencionou-te",
@@ -355,6 +373,7 @@
"status.show_more": "Mostrar mais",
"status.show_more_all": "Mostrar mais para todas",
"status.show_thread": "Mostrar conversa",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Deixar de silenciar esta conversa",
"status.unpin": "Não fixar no perfil",
"suggestions.dismiss": "Dispensar a sugestão",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Momentos restantes",
"time_remaining.seconds": "{número, plural, um {# second} outro {# seconds}} faltam",
"trends.count_by_accounts": "{count} {rawCount, plural, uma {person} outra {people}} a falar",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "O teu rascunho será perdido se abandonares o Mastodon.",
"upload_area.title": "Arraste e solte para enviar",
"upload_button.label": "Adicionar media",
"upload_error.limit": "Limite máximo do ficheiro a carregar excedido.",
"upload_error.poll": "Carregamento de ficheiros não é permitido em votações.",
"upload_form.description": "Descrição da imagem para pessoas com dificuldades visuais",
- "upload_form.focus": "Alterar previsualização",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Apagar",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "A enviar...",
"video.close": "Fechar vídeo",
"video.exit_fullscreen": "Sair de full screen",
diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json
index ac10d4678..6f5c57250 100644
--- a/app/javascript/mastodon/locales/ro.json
+++ b/app/javascript/mastodon/locales/ro.json
@@ -4,6 +4,7 @@
"account.block": "Blochează @{name}",
"account.block_domain": "Ascunde tot de la {domain}",
"account.blocked": "Blocat",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Mesaj direct @{name}",
"account.domain_blocked": "Domeniu ascuns",
"account.edit_profile": "Editează profilul",
@@ -15,6 +16,7 @@
"account.follows.empty": "Acest utilizator nu urmărește pe nimeni incă.",
"account.follows_you": "Te urmărește",
"account.hide_reblogs": "Ascunde redistribuirile de la @{name}",
+ "account.last_status": "Last active",
"account.link_verified_on": "Deținerea acestui link a fost verificată la {date}",
"account.locked_info": "Acest profil este privat. Această persoană gestioneaz manual cine o urmărește.",
"account.media": "Media",
@@ -23,6 +25,7 @@
"account.mute": "Oprește @{name}",
"account.mute_notifications": "Oprește notificările de la @{name}",
"account.muted": "Oprit",
+ "account.never_active": "Never",
"account.posts": "Postări",
"account.posts_with_replies": "Postări și replici",
"account.report": "Raportează @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Nu mai urmări",
"account.unmute": "Activează notificările de la @{name}",
"account.unmute_notifications": "Activează notificările de la @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "A apărut o eroare neașteptată.",
"alert.unexpected.title": "Hopa!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Poți apăsa {combo} pentru a omite asta data viitoare",
"bundle_column_error.body": "Ceva nu a funcționat la încărcarea acestui component.",
"bundle_column_error.retry": "Încearcă din nou",
@@ -47,6 +53,7 @@
"column.blocks": "Utilizatori blocați",
"column.community": "Fluxul Local",
"column.direct": "Mesaje directe",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Domenii ascunse",
"column.favourites": "Favorite",
"column.follow_requests": "Cereri de urmărire",
@@ -56,6 +63,7 @@
"column.notifications": "Notificări",
"column.pins": "Postări fixate",
"column.public": "Flux global",
+ "column.status": "Toot",
"column_back_button.label": "Înapoi",
"column_header.hide_settings": "Ascunde setările",
"column_header.moveLeft_settings": "Mută coloana la stânga",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Ești sigur că vrei să ștergi permanent această listă?",
"confirmations.domain_block.confirm": "Ascunde tot domeniul",
"confirmations.domain_block.message": "Ești absolut sigur că vrei să blochezi complet {domain}? În cele mai multe cazuri raportarea sau oprirea anumitor lucruri este suficientă și de preferat. Nu vei mai vedea nici un conținut de la acest domeniu in nici un flux public sau în notificările tale. Urmăritorii tăi de la acele domenii vor fi eliminați.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Oprește",
"confirmations.mute.message": "Ești sigur că vrei să oprești {name}?",
"confirmations.redraft.confirm": "Șterge și salvează ca ciornă",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Răspunzând la asta acum, mesajul pe care îl compui în prezent se va șterge. Ești sigur că vrei să continui?",
"confirmations.unfollow.confirm": "Nu mai urmări",
"confirmations.unfollow.message": "Ești sigur că nu mai vrei să îl urmărești pe {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Inserează această postare pe site-ul tău adăugând codul de mai jos.",
"embed.preview": "Cam așa va arăta:",
"emoji_button.activity": "Activitate",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Postări fixate",
"navigation_bar.preferences": "Preferințe",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Flux global",
"navigation_bar.security": "Securitate",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} a adăugat statusul tău la favorite",
"notification.follow": "{name} te urmărește",
"notification.mention": "{name} te-a menționat",
@@ -355,6 +373,7 @@
"status.show_more": "Arată mai mult",
"status.show_more_all": "Arată mai mult pentru toți",
"status.show_thread": "Arată topicul",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Repornește conversația",
"status.unpin": "Eliberează din profil",
"suggestions.dismiss": "Omite sugestia",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} vorbesc",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Postarea se va pierde dacă părăsești pagina.",
"upload_area.title": "Trage și eliberează pentru a încărca",
"upload_button.label": "Adaugă media (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Adaugă o descriere pentru persoanele cu deficiențe de vedere",
- "upload_form.focus": "Schimbă previzualizarea",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Șterge",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Se Încarcă...",
"video.close": "Închide video",
"video.exit_fullscreen": "Închide",
diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json
index 8a7a39a06..eb2d91725 100644
--- a/app/javascript/mastodon/locales/ru.json
+++ b/app/javascript/mastodon/locales/ru.json
@@ -4,6 +4,7 @@
"account.block": "Блокировать",
"account.block_domain": "Блокировать все с {domain}",
"account.blocked": "Заблокирован(а)",
+ "account.cancel_follow_request": "Отменить запрос",
"account.direct": "Написать @{name}",
"account.domain_blocked": "Домен скрыт",
"account.edit_profile": "Изменить профиль",
@@ -15,6 +16,7 @@
"account.follows.empty": "Этот пользователь ни на кого не подписан.",
"account.follows_you": "Подписан(а) на вас",
"account.hide_reblogs": "Скрыть реблоги от @{name}",
+ "account.last_status": "Last active",
"account.link_verified_on": "Владение этой ссылкой было проверено {date}",
"account.locked_info": "Это закрытый аккаунт. Его владелец вручную одобряет подписчиков.",
"account.media": "Медиа",
@@ -23,6 +25,7 @@
"account.mute": "Скрыть @{name}",
"account.mute_notifications": "Скрыть уведомления от @{name}",
"account.muted": "Скрыт",
+ "account.never_active": "Never",
"account.posts": "Посты",
"account.posts_with_replies": "Посты с ответами",
"account.report": "Пожаловаться",
@@ -35,8 +38,11 @@
"account.unfollow": "Отписаться",
"account.unmute": "Снять глушение",
"account.unmute_notifications": "Показывать уведомления от @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Что-то пошло не так.",
"alert.unexpected.title": "Ой!",
+ "autosuggest_hashtag.per_week": "{count} / неделю",
"boost_modal.combo": "Нажмите {combo}, чтобы пропустить это в следующий раз",
"bundle_column_error.body": "Что-то пошло не так при загрузке этого компонента.",
"bundle_column_error.retry": "Попробовать снова",
@@ -47,6 +53,7 @@
"column.blocks": "Список блокировки",
"column.community": "Локальная лента",
"column.direct": "Личные сообщения",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Скрытые домены",
"column.favourites": "Понравившееся",
"column.follow_requests": "Запросы на подписку",
@@ -56,6 +63,7 @@
"column.notifications": "Уведомления",
"column.pins": "Закреплённый пост",
"column.public": "Глобальная лента",
+ "column.status": "Toot",
"column_back_button.label": "Назад",
"column_header.hide_settings": "Скрыть настройки",
"column_header.moveLeft_settings": "Передвинуть колонку влево",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Вы действительно хотите навсегда удалить этот список?",
"confirmations.domain_block.confirm": "Блокировать весь домен",
"confirmations.domain_block.message": "Вы на самом деле уверены, что хотите блокировать весь {domain}? В большинстве случаев нескольких отдельных блокировок или глушений достаточно.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Заглушить",
"confirmations.mute.message": "Вы уверены, что хотите заглушить {name}?",
"confirmations.redraft.confirm": "Удалить и исправить",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "При ответе текст набираемого сообщения будет перезаписан. Продолжить?",
"confirmations.unfollow.confirm": "Отписаться",
"confirmations.unfollow.message": "Вы уверены, что хотите отписаться от {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Встройте этот статус на Вашем сайте, скопировав код внизу.",
"embed.preview": "Так это будет выглядеть:",
"emoji_button.activity": "Занятия",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Заголовок списка",
"lists.search": "Искать из ваших подписок",
"lists.subheading": "Ваши списки",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# новый элемент} few {# новых элемента} other {# новых элементов}}",
"loading_indicator.label": "Загрузка...",
"media_gallery.toggle_visible": "Показать/скрыть",
"missing_indicator.label": "Не найдено",
@@ -247,13 +265,13 @@
"navigation_bar.mutes": "Список скрытых пользователей",
"navigation_bar.personal": "Личное",
"navigation_bar.pins": "Закреплённые посты",
- "navigation_bar.preferences": "Опции",
- "navigation_bar.profile_directory": "Каталог профилей",
+ "navigation_bar.preferences": "Настройки",
"navigation_bar.public_timeline": "Глобальная лента",
"navigation_bar.security": "Безопасность",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} понравился Ваш статус",
- "notification.follow": "{name} подписался(-лась) на Вас",
- "notification.mention": "{name} упомянул(а) Вас",
+ "notification.follow": "{name} подписался (-лась) на вас",
+ "notification.mention": "{name} упомянул(а) вас",
"notification.poll": "Опрос, в котором вы приняли участие, завершился",
"notification.reblog": "{name} продвинул(а) Ваш статус",
"notifications.clear": "Очистить уведомления",
@@ -316,7 +334,7 @@
"search_results.accounts": "Люди",
"search_results.hashtags": "Хэштеги",
"search_results.statuses": "Посты",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "Поиск постов по их контенту не поддерживается на этом сервере Mastodon.",
"search_results.total": "{count, number} {count, plural, one {результат} few {результата} many {результатов} other {результатов}}",
"status.admin_account": "Открыть интерфейс модератора для @{name}",
"status.admin_status": "Открыть этот статус в интерфейсе модератора",
@@ -355,6 +373,7 @@
"status.show_more": "Развернуть",
"status.show_more_all": "Развернуть для всех",
"status.show_thread": "Показать обсуждение",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Снять глушение с обсуждения",
"status.unpin": "Открепить от профиля",
"suggestions.dismiss": "Удалить предложение",
@@ -369,15 +388,23 @@
"time_remaining.minutes": "{number, plural, one {осталась # минута} few {осталось # минуты} many {осталось # минут} other {осталось # минут}}",
"time_remaining.moments": "остались считанные мгновения",
"time_remaining.seconds": "{number, plural, one {осталась # секунду} few {осталось # секунды} many {осталось # секунд} other {осталось # секунд}}",
- "trends.count_by_accounts": "Популярно у {count} {rawCount, plural, one {человека} few {человек} many {человек} other {человек}}",
+ "trends.count_by_accounts": "{count} {rawCount, plural, one {человек говорит} few {человека говорят} other {человек говорят}} про это",
+ "trends.trending_now": "Самое актуальное",
"ui.beforeunload": "Ваш черновик будет утерян, если вы покинете Mastodon.",
"upload_area.title": "Перетащите сюда, чтобы загрузить",
"upload_button.label": "Добавить медиаконтент",
"upload_error.limit": "Достигнут лимит загруженных файлов.",
"upload_error.poll": "К опросам нельзя прикреплять файлы.",
- "upload_form.description": "Описать для людей с нарушениями зрения",
- "upload_form.focus": "Обрезать",
+ "upload_form.description": "Добавьте описание для людей с нарушениями зрения:",
+ "upload_form.edit": "Изменить",
"upload_form.undo": "Отменить",
+ "upload_modal.analyzing_picture": "Обработка изображения…",
+ "upload_modal.apply": "Применить",
+ "upload_modal.description_placeholder": "На дворе трава, на траве дрова",
+ "upload_modal.detect_text": "Найти текст на картинке",
+ "upload_modal.edit_media": "Изменение медиа",
+ "upload_modal.hint": "Нажмите и перетащите круг в предпросмотре в точку фокуса, которая всегда будет видна на эскизах.",
+ "upload_modal.preview_label": "Предпросмотр ({ratio})",
"upload_progress.label": "Загрузка...",
"video.close": "Закрыть видео",
"video.exit_fullscreen": "Покинуть полноэкранный режим",
diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json
index 3cc2cbaa7..1e944768f 100644
--- a/app/javascript/mastodon/locales/sk.json
+++ b/app/javascript/mastodon/locales/sk.json
@@ -4,6 +4,7 @@
"account.block": "Blokuj @{name}",
"account.block_domain": "Ukry všetko z {domain}",
"account.blocked": "Blokovaný/á",
+ "account.cancel_follow_request": "Zruš požiadanie o sledovanie",
"account.direct": "Súkromná správa pre @{name}",
"account.domain_blocked": "Doména ukrytá",
"account.edit_profile": "Uprav profil",
@@ -15,15 +16,17 @@
"account.follows.empty": "Tento užívateľ ešte nikoho nenásleduje.",
"account.follows_you": "Následuje ťa",
"account.hide_reblogs": "Skry vyzdvihnutia od @{name}",
+ "account.last_status": "Naposledy aktívny",
"account.link_verified_on": "Vlastníctvo tohto odkazu bolo skontrolované {date}",
"account.locked_info": "Stav súkromia pre tento účet je nastavený na zamknutý. Jeho vlastník sám prehodnocuje, kto ho môže sledovať.",
"account.media": "Médiá",
"account.mention": "Spomeň @{name}",
"account.moved_to": "{name} sa presunul/a na:",
- "account.mute": "Ignorovať @{name}",
+ "account.mute": "Nevšímaj si @{name}",
"account.mute_notifications": "Stĺm oboznámenia od @{name}",
"account.muted": "Utíšený/á",
- "account.posts": "Príspevky",
+ "account.never_active": "Nikdy",
+ "account.posts": "Príspevkov",
"account.posts_with_replies": "Príspevky aj s odpoveďami",
"account.report": "Nahlás @{name}",
"account.requested": "Čaká na schválenie. Klikni pre zrušenie žiadosti",
@@ -35,8 +38,11 @@
"account.unfollow": "Prestaň následovať",
"account.unmute": "Prestaň ignorovať @{name}",
"account.unmute_notifications": "Zruš stĺmenie oboznámení od @{name}",
+ "alert.rate_limited.message": "Prosím, skús to znova za {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Tempo obmedzené",
"alert.unexpected.message": "Vyskytla sa nečakaná chyba.",
"alert.unexpected.title": "Ups!",
+ "autosuggest_hashtag.per_week": "{count} týždenne",
"boost_modal.combo": "Nabudúce môžeš kliknúť {combo} pre preskočenie",
"bundle_column_error.body": "Pri načítaní tohto prvku nastala nejaká chyba.",
"bundle_column_error.retry": "Skús to znova",
@@ -47,6 +53,7 @@
"column.blocks": "Blokovaní užívatelia",
"column.community": "Miestna časová os",
"column.direct": "Súkromné správy",
+ "column.directory": "Prehľadávaj profily",
"column.domain_blocks": "Skryté domény",
"column.favourites": "Obľúbené",
"column.follow_requests": "Žiadosti o sledovanie",
@@ -56,6 +63,7 @@
"column.notifications": "Oboznámenia",
"column.pins": "Pripnuté príspevky",
"column.public": "Federovaná časová os",
+ "column.status": "Príspevok",
"column_back_button.label": "Späť",
"column_header.hide_settings": "Skryť nastavenia",
"column_header.moveLeft_settings": "Presuň stĺpec doľava",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Si si istý/á, že chceš natrvalo vymazať tento zoznam?",
"confirmations.domain_block.confirm": "Skry celú doménu",
"confirmations.domain_block.message": "Si si naozaj istý/á, že chceš blokovať celú doménu {domain}? Vo väčšine prípadov stačí blokovať alebo ignorovať pár konkrétnych užívateľov, čo sa doporučuje. Neuvidíš obsah z tejto domény v žiadnej verejnej časovej osi, ani v oznámeniach. Tvoji následovníci pochádzajúci z tejto domény budú odstránení.",
+ "confirmations.logout.confirm": "Odhlás sa",
+ "confirmations.logout.message": "Si si istý/á, že sa chceš odhlásiť?",
"confirmations.mute.confirm": "Ignoruj",
"confirmations.mute.message": "Naozaj chceš ignorovať {name}?",
"confirmations.redraft.confirm": "Vyčisti a prepíš",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Odpovedaním akurát teraz prepíšeš správu, ktorú máš práve rozpísanú. Si si istý/á, že chceš pokračovať?",
"confirmations.unfollow.confirm": "Nesleduj",
"confirmations.unfollow.message": "Naozaj chceš prestať sledovať {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "Zo známého fedivesmíru",
+ "directory.local": "Iba z {domain}",
+ "directory.new_arrivals": "Nové príchody",
+ "directory.recently_active": "Nedávno aktívne",
"embed.instructions": "Umiestni kód uvedený nižšie pre pridanie tohto statusu na tvoju web stránku.",
"embed.preview": "Tu je ako to bude vyzerať:",
"emoji_button.activity": "Aktivita",
@@ -137,10 +155,10 @@
"follow_request.authorize": "Povoľ prístup",
"follow_request.reject": "Odmietni",
"getting_started.developers": "Vývojári",
- "getting_started.directory": "Databáza profilov",
+ "getting_started.directory": "Zoznam profilov",
"getting_started.documentation": "Dokumentácia",
"getting_started.heading": "Začni tu",
- "getting_started.invite": "Pozvať ľudí",
+ "getting_started.invite": "Pozvi ľudí",
"getting_started.open_source_notice": "Mastodon je softvér s otvoreným kódom. Nahlásiť chyby, alebo prispievať môžeš na GitHube v {github}.",
"getting_started.security": "Zabezpečenie",
"getting_started.terms": "Podmienky prevozu",
@@ -156,10 +174,10 @@
"home.column_settings.basic": "Základné",
"home.column_settings.show_reblogs": "Zobraziť povýšené",
"home.column_settings.show_replies": "Ukázať odpovede",
- "home.column_settings.update_live": "Update in real-time",
- "intervals.full.days": "{number, plural, one {# deň} few {# dní} many {# dní} other {# dni}}",
- "intervals.full.hours": "{number, plural, one {# hodina} few {# hodín} many {# hodín} other {# hodiny}}",
- "intervals.full.minutes": "{number, plural, one {# minúta} few {# minút} many {# minút} other {# minúty}}",
+ "home.column_settings.update_live": "Aktualizuj v reálnom čase",
+ "intervals.full.days": "{number, plural, one {# deň} few {# dní} many {# dní} other {# dní}}",
+ "intervals.full.hours": "{number, plural, one {# hodina} few {# hodín} many {# hodín} other {# hodín}}",
+ "intervals.full.minutes": "{number, plural, one {# minúta} few {# minút} many {# minút} other {# minút}}",
"introduction.federation.action": "Ďalej",
"introduction.federation.federated.headline": "Federovaná",
"introduction.federation.federated.text": "Verejné príspevky z ostatných serverov vo fediverse budú zobrazené vo federovanej časovej osi.",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Názov nového zoznamu",
"lists.search": "Vyhľadávaj medzi užívateľmi, ktorých sleduješ",
"lists.subheading": "Tvoje zoznamy",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# nová položka} other {# nových položiek}}",
"loading_indicator.label": "Načítam...",
"media_gallery.toggle_visible": "Zapni/Vypni viditeľnosť",
"missing_indicator.label": "Nenájdené",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Osobné",
"navigation_bar.pins": "Pripnuté príspevky",
"navigation_bar.preferences": "Voľby",
- "navigation_bar.profile_directory": "Katalóg profilov",
"navigation_bar.public_timeline": "Federovaná časová os",
"navigation_bar.security": "Zabezbečenie",
+ "notification.and_n_others": "a {count, plural,one {# ostatné} other {# ostatných}}",
"notification.favourite": "{name} si obľúbil/a tvoj príspevok",
"notification.follow": "{name} ťa začal/a následovať",
"notification.mention": "{name} ťa spomenul/a",
@@ -278,8 +296,8 @@
"notifications.filter.polls": "Výsledky ankiet",
"notifications.group": "{count} oboznámení",
"poll.closed": "Uzatvorená",
- "poll.refresh": "Aktualizuj",
- "poll.total_votes": "{count, plural, one {# hlas} few {# hlasov} many {# hlasov} other {# hlasy}}",
+ "poll.refresh": "Obnov",
+ "poll.total_votes": "{count, plural, one {# hlas} few {# hlasov} many {# hlasov} other {# hlasov}}",
"poll.vote": "Hlasuj",
"poll_button.add_poll": "Pridaj anketu",
"poll_button.remove_poll": "Odstráň anketu",
@@ -316,7 +334,7 @@
"search_results.accounts": "Ľudia",
"search_results.hashtags": "Haštagy",
"search_results.statuses": "Príspevky",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "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}}",
"status.admin_account": "Otvor moderovacie rozhranie užívateľa @{name}",
"status.admin_status": "Otvor tento príspevok v moderovacom rozhraní",
@@ -355,6 +373,7 @@
"status.show_more": "Ukáž viac",
"status.show_more_all": "Všetkým ukáž viac",
"status.show_thread": "Ukáž diskusné vlákno",
+ "status.uncached_media_warning": "Nedostupný/é",
"status.unmute_conversation": "Prestaň ignorovať konverzáciu",
"status.unpin": "Odopni z profilu",
"suggestions.dismiss": "Zavrhni návrh",
@@ -364,20 +383,28 @@
"tabs_bar.local_timeline": "Miestna",
"tabs_bar.notifications": "Oboznámenia",
"tabs_bar.search": "Hľadaj",
- "time_remaining.days": "Ostáva {number, plural, one {# deň} few {# dní} many {# dní} other {# dni}}",
+ "time_remaining.days": "Ostáva {number, plural, one {# deň} few {# dní} many {# dní} other {# dní}}",
"time_remaining.hours": "Ostáva {number, plural, one {# hodina} few {# hodín} many {# hodín} other {# hodiny}}",
"time_remaining.minutes": "Ostáva {number, plural, one {# minúta} few {# minút} many {# minút} other {# minúty}}",
"time_remaining.moments": "Ostáva už iba chviľka",
- "time_remaining.seconds": "Ostáva {number, plural, one {# sekunda} few {# sekúnd} many {# sekúnd} other {# sekundy}}",
+ "time_remaining.seconds": "Ostáva {number, plural, one {# sekunda} few {# sekúnd} many {# sekúnd} other {# sekúnd}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {človek vraví} other {ľudia vravia}}",
+ "trends.trending_now": "Teraz populárne",
"ui.beforeunload": "Čo máš rozpísané sa stratí, ak opustíš Mastodon.",
"upload_area.title": "Pretiahni a pusť pre nahratie",
"upload_button.label": "Pridaj médiálny súbor (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Limit pre nahrávanie súborov bol prekročený.",
"upload_error.poll": "Nahrávanie súborov pri anketách nieje možné.",
"upload_form.description": "Opis pre slabo vidiacich",
- "upload_form.focus": "Pozmeň náhľad",
+ "upload_form.edit": "Uprav",
"upload_form.undo": "Vymaž",
+ "upload_modal.analyzing_picture": "Analyzujem obrázok…",
+ "upload_modal.apply": "Použi",
+ "upload_modal.description_placeholder": "Rýchla hnedá líška skáče ponad lenivého psa",
+ "upload_modal.detect_text": "Rozpoznaj text z obrázka",
+ "upload_modal.edit_media": "Uprav médiá",
+ "upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Náhľad ({ratio})",
"upload_progress.label": "Nahráva sa...",
"video.close": "Zavri video",
"video.exit_fullscreen": "Vypni zobrazenie na celú obrazovku",
diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json
index f79a7051a..9999dcd8b 100644
--- a/app/javascript/mastodon/locales/sl.json
+++ b/app/javascript/mastodon/locales/sl.json
@@ -4,6 +4,7 @@
"account.block": "Blokiraj @{name}",
"account.block_domain": "Skrij vse iz {domain}",
"account.blocked": "Blokirano",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Neposredno sporočilo @{name}",
"account.domain_blocked": "Skrita domena",
"account.edit_profile": "Uredi profil",
@@ -15,6 +16,7 @@
"account.follows.empty": "Ta uporabnik še ne sledi nikomur.",
"account.follows_you": "Sledi tebi",
"account.hide_reblogs": "Skrij spodbude od @{name}",
+ "account.last_status": "Last active",
"account.link_verified_on": "Lastništvo te povezave je bilo preverjeno {date}",
"account.locked_info": "Stanje zasebnosti računa je nastavljeno na zaklenjeno. Lastnik ročno pregleda, kdo ga lahko spremlja.",
"account.media": "Mediji",
@@ -23,6 +25,7 @@
"account.mute": "Utišaj @{name}",
"account.mute_notifications": "Utišaj obvestila od @{name}",
"account.muted": "Utišan",
+ "account.never_active": "Never",
"account.posts": "Tuti",
"account.posts_with_replies": "Tuti in odgovori",
"account.report": "Prijavi @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Prenehaj slediti",
"account.unmute": "Odtišaj @{name}",
"account.unmute_notifications": "Vklopi obvestila od @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Zgodila se je nepričakovana napaka.",
"alert.unexpected.title": "Uups!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Če želite preskočiti to, lahko pritisnete {combo}",
"bundle_column_error.body": "Med nalaganjem te komponente je prišlo do napake.",
"bundle_column_error.retry": "Poskusi ponovno",
@@ -47,6 +53,7 @@
"column.blocks": "Blokirani uporabniki",
"column.community": "Lokalna časovnica",
"column.direct": "Neposredna sporočila",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Skrite domene",
"column.favourites": "Priljubljene",
"column.follow_requests": "Sledi prošnjam",
@@ -56,6 +63,7 @@
"column.notifications": "Obvestila",
"column.pins": "Pripeti tuti",
"column.public": "Združena časovnica",
+ "column.status": "Toot",
"column_back_button.label": "Nazaj",
"column_header.hide_settings": "Skrij nastavitve",
"column_header.moveLeft_settings": "Premakni stolpec na levo",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Ali ste prepričani, da želite trajno izbrisati ta seznam?",
"confirmations.domain_block.confirm": "Skrij celotno domeno",
"confirmations.domain_block.message": "Ali ste res, res prepričani, da želite blokirati celotno {domain}? V večini primerov je nekaj ciljnih blokiranj ali utišanj dovolj in boljše. Vsebino iz te domene ne boste videli v javnih časovnicah ali obvestilih. Vaši sledilci iz te domene bodo odstranjeni.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Utišanje",
"confirmations.mute.message": "Ali ste prepričani, da želite utišati {name}?",
"confirmations.redraft.confirm": "Izbriši in preoblikuj",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Odgovarjanje bo prepisalo sporočilo, ki ga trenutno sestavljate. Ali ste prepričani, da želite nadaljevati?",
"confirmations.unfollow.confirm": "Prenehaj slediti",
"confirmations.unfollow.message": "Ali ste prepričani, da ne želite več slediti {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Vstavi ta status na svojo spletno stran tako, da kopirate spodnjo kodo.",
"embed.preview": "Tako bo izgledalo:",
"emoji_button.activity": "Dejavnost",
@@ -132,7 +150,7 @@
"empty_column.list": "Na tem seznamu ni ničesar. Ko bodo člani tega seznama objavili nove statuse, se bodo pojavili tukaj.",
"empty_column.lists": "Nimate seznamov. Ko ga boste ustvarili, se bo prikazal tukaj.",
"empty_column.mutes": "Niste utišali še nobenega uporabnika.",
- "empty_column.notifications": "Nimate še nobenih obvestil. Poveži se z drugimi, da začnete pogovor.",
+ "empty_column.notifications": "Nimate še nobenih obvestil. Povežite se z drugimi, da začnete pogovor.",
"empty_column.public": "Tukaj ni ničesar! Da ga napolnite, napišite nekaj javnega ali pa ročno sledite uporabnikom iz drugih strežnikov",
"follow_request.authorize": "Overi",
"follow_request.reject": "Zavrni",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Nov naslov seznama",
"lists.search": "Išči med ljudmi, katerim sledite",
"lists.subheading": "Vaši seznami",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# nov element} other {# novih elementov}}",
"loading_indicator.label": "Nalaganje...",
"media_gallery.toggle_visible": "Preklopi vidljivost",
"missing_indicator.label": "Ni najdeno",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Osebno",
"navigation_bar.pins": "Pripeti tuti",
"navigation_bar.preferences": "Nastavitve",
- "navigation_bar.profile_directory": "Imenik profilov",
"navigation_bar.public_timeline": "Združena časovnica",
"navigation_bar.security": "Varnost",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} je vzljubil/a vaš status",
"notification.follow": "{name} vam sledi",
"notification.mention": "{name} vas je omenil/a",
@@ -316,7 +334,7 @@
"search_results.accounts": "Ljudje",
"search_results.hashtags": "Ključniki",
"search_results.statuses": "Tuti",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "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}}",
"status.admin_account": "Odpri vmesnik za moderiranje za @{name}",
"status.admin_status": "Odpri status v vmesniku za moderiranje",
@@ -355,6 +373,7 @@
"status.show_more": "Prikaži več",
"status.show_more_all": "Prikaži več za vse",
"status.show_thread": "Prikaži objavo",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Odtišaj pogovor",
"status.unpin": "Odpni iz profila",
"suggestions.dismiss": "Zavrni predlog",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Preostali trenutki",
"time_remaining.seconds": "{number, plural, one {# sekunda} other {# sekund}} je ostalo",
"trends.count_by_accounts": "{count} {rawCount, plural, one {oseba} other {ljudi}} govori",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Vaš osnutek bo izgubljen, če zapustite Mastodona.",
"upload_area.title": "Za pošiljanje povlecite in spustite",
"upload_button.label": "Dodaj medije ({formats})",
"upload_error.limit": "Omejitev prenosa datoteke je presežena.",
"upload_error.poll": "Prenos datoteke z anketami ni dovoljen.",
"upload_form.description": "Opišite za slabovidne",
- "upload_form.focus": "Spremeni predogled",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Izbriši",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Pošiljanje...",
"video.close": "Zapri video",
"video.exit_fullscreen": "Izhod iz celozaslonskega načina",
diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json
index 21d45f2e8..9fe768173 100644
--- a/app/javascript/mastodon/locales/sq.json
+++ b/app/javascript/mastodon/locales/sq.json
@@ -4,6 +4,7 @@
"account.block": "Blloko @{name}",
"account.block_domain": "Fshih gjithçka prej {domain}",
"account.blocked": "E bllokuar",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Mesazh i drejtpërdrejt për @{name}",
"account.domain_blocked": "Përkatësi e fshehur",
"account.edit_profile": "Përpunoni profilin",
@@ -15,6 +16,7 @@
"account.follows.empty": "Ky përdorues ende s’ndjek njeri.",
"account.follows_you": "Ju ndjek",
"account.hide_reblogs": "Fshih përforcime nga @{name}",
+ "account.last_status": "Last active",
"account.link_verified_on": "Pronësia e kësaj lidhjeje qe kontrolluar më {date}",
"account.locked_info": "Gjendja e privatësisë së kësaj llogarie është caktuar si e kyçur. I zoti merr dorazi në shqyrtim cilët mund ta ndjekin.",
"account.media": "Media",
@@ -23,6 +25,7 @@
"account.mute": "Heshtoni @{name}",
"account.mute_notifications": "Heshtoji njoftimet prej @{name}",
"account.muted": "Heshtuar",
+ "account.never_active": "Never",
"account.posts": "Mesazhe",
"account.posts_with_replies": "Mesazhe dhe përgjigje",
"account.report": "Raportojeni @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Resht së ndjekuri",
"account.unmute": "Ktheji zërin @{name}",
"account.unmute_notifications": "Hiqua ndalimin e shfaqjes njoftimeve nga @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Ndodhi një gabim të papritur.",
"alert.unexpected.title": "Hëm!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Mund të shtypni {combo}, që të anashkalohet kjo herës tjetër",
"bundle_column_error.body": "Diç shkoi ters teksa ngarkohej ky përbërës.",
"bundle_column_error.retry": "Riprovoni",
@@ -47,6 +53,7 @@
"column.blocks": "Përdorues të bllokuar",
"column.community": "Rrjedhë kohore vendore",
"column.direct": "Mesazhe të drejtpërdrejta",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Përkatësi të fshehura",
"column.favourites": "Të parapëlqyer",
"column.follow_requests": "Kërkesa për ndjekje",
@@ -56,6 +63,7 @@
"column.notifications": "Njoftime",
"column.pins": "Mesazhe të fiksuar",
"column.public": "Rrjedhë kohore e federuar",
+ "column.status": "Toot",
"column_back_button.label": "Mbrapsht",
"column_header.hide_settings": "Fshihi rregullimet",
"column_header.moveLeft_settings": "Shpjere shtyllën majtas",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Jeni i sigurt që doni të fshihet përgjithmonë kjo listë?",
"confirmations.domain_block.confirm": "Fshih krejt përkatësinë",
"confirmations.domain_block.message": "Jeni i sigurt, shumë i sigurt se doni të bllokohet krejt {domain}? Në shumicën e rasteve, ndoca bllokime ose heshtime me synim të caktuar janë të mjaftueshme dhe të parapëlqyera. S’keni për të parë lëndë nga kjo përkatësi në ndonjë rrjedhë kohore publike, apo te njoftimet tuaja. Ndjekësit tuaj prej asaj përkatësie do të hiqen.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Heshtoje",
"confirmations.mute.message": "Jeni i sigurt se doni të heshtohet {name}?",
"confirmations.redraft.confirm": "Fshijeni & rihartojeni",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Përgjigja tani do të shkaktojë mbishkrimin e mesazhit që po hartoni. Jeni i sigurt se doni të vazhdohet më tej?",
"confirmations.unfollow.confirm": "Resht së ndjekuri",
"confirmations.unfollow.message": "Jeni i sigurt se doni të mos ndiqet më {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Trupëzojeni këtë gjendje në sajtin tuaj duke kopjuar kodin më poshtë.",
"embed.preview": "Ja si do të duket:",
"emoji_button.activity": "Veprimtari",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personale",
"navigation_bar.pins": "Mesazhe të fiksuar",
"navigation_bar.preferences": "Parapëlqime",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Rrjedhë kohore të federuarish",
"navigation_bar.security": "Siguri",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} parapëlqeu gjendjen tuaj",
"notification.follow": "{name} zuri t’ju ndjekë",
"notification.mention": "{name} ju ka përmendur",
@@ -355,6 +373,7 @@
"status.show_more": "Shfaq më tepër",
"status.show_more_all": "Shfaq më tepër për të tërë",
"status.show_thread": "Shfaq rrjedhën",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Ktheji zërin bisedës",
"status.unpin": "Shfiksoje nga profili",
"suggestions.dismiss": "Mos e merr parasysh sugjerimin",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, një {person} {people} të tjerë} po flasin",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Skica juaj do të humbë nëse dilni nga Mastodon-i.",
"upload_area.title": "Merreni & vëreni që të ngarkohet",
"upload_button.label": "Shtoni media (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "U tejkalua kufi ngarkimi kartelash.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Përshkruajeni për persona me probleme shikimi",
- "upload_form.focus": "Ndryshoni parapamjen",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Fshije",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Po ngarkohet…",
"video.close": "Mbylle videon",
"video.exit_fullscreen": "Dil nga mënyra Sa Krejt Ekrani",
diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json
index 55bae4cdd..5232265e3 100644
--- a/app/javascript/mastodon/locales/sr-Latn.json
+++ b/app/javascript/mastodon/locales/sr-Latn.json
@@ -4,6 +4,7 @@
"account.block": "Blokiraj korisnika @{name}",
"account.block_domain": "Sakrij sve sa domena {domain}",
"account.blocked": "Blocked",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Direct Message @{name}",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Izmeni profil",
@@ -15,6 +16,7 @@
"account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "Prati Vas",
"account.hide_reblogs": "Sakrij podrške koje daje korisnika @{name}",
+ "account.last_status": "Last active",
"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": "Mediji",
@@ -23,6 +25,7 @@
"account.mute": "Ućutkaj korisnika @{name}",
"account.mute_notifications": "Isključi obaveštenja od korisnika @{name}",
"account.muted": "Muted",
+ "account.never_active": "Never",
"account.posts": "Statusa",
"account.posts_with_replies": "Toots with replies",
"account.report": "Prijavi @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Otprati",
"account.unmute": "Ukloni ućutkavanje korisniku @{name}",
"account.unmute_notifications": "Uključi nazad obaveštenja od korisnika @{name}",
+ "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!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Možete pritisnuti {combo} da preskočite ovo sledeći put",
"bundle_column_error.body": "Nešto je pošlo po zlu prilikom učitavanja ove komponente.",
"bundle_column_error.retry": "Pokušajte ponovo",
@@ -47,6 +53,7 @@
"column.blocks": "Blokirani korisnici",
"column.community": "Lokalna lajna",
"column.direct": "Direct messages",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Hidden domains",
"column.favourites": "Omiljeni",
"column.follow_requests": "Zahtevi za praćenje",
@@ -56,6 +63,7 @@
"column.notifications": "Obaveštenja",
"column.pins": "Prikačeni tutovi",
"column.public": "Federisana lajna",
+ "column.status": "Toot",
"column_back_button.label": "Nazad",
"column_header.hide_settings": "Sakrij postavke",
"column_header.moveLeft_settings": "Pomeri kolonu ulevo",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Da li ste sigurni da želite da bespovratno obrišete ovu listu?",
"confirmations.domain_block.confirm": "Sakrij ceo domen",
"confirmations.domain_block.message": "Da li ste stvarno, stvarno sigurno da želite da blokirate ceo domen {domain}? U većini slučajeva, par dobrih blokiranja ili ućutkavanja su dovoljna i preporučljiva.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Ućutkaj",
"confirmations.mute.message": "Da li stvarno želite da ućutkate korisnika {name}?",
"confirmations.redraft.confirm": "Delete & redraft",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"confirmations.unfollow.confirm": "Otprati",
"confirmations.unfollow.message": "Da li ste sigurni da želite da otpratite korisnika {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Ugradi ovaj status na Vaš veb sajt kopiranjem koda ispod.",
"embed.preview": "Ovako će da izgleda:",
"emoji_button.activity": "Aktivnost",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Prikačeni tutovi",
"navigation_bar.preferences": "Podešavanja",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Federisana lajna",
"navigation_bar.security": "Security",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} je stavio Vaš status kao omiljeni",
"notification.follow": "{name} Vas je zapratio",
"notification.mention": "{name} Vas je pomenuo",
@@ -355,6 +373,7 @@
"status.show_more": "Prikaži više",
"status.show_more_all": "Show more for all",
"status.show_thread": "Show thread",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Uključi prepisku",
"status.unpin": "Otkači sa profila",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Ako napustite Mastodont, izgubićete napisani nacrt.",
"upload_area.title": "Prevucite ovde da otpremite",
"upload_button.label": "Dodaj multimediju",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Opiši za slabovide osobe",
- "upload_form.focus": "Crop",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Opozovi",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Otpremam...",
"video.close": "Zatvori video",
"video.exit_fullscreen": "Napusti ceo ekran",
diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json
index a4ae9fcaa..cc8d9d89c 100644
--- a/app/javascript/mastodon/locales/sr.json
+++ b/app/javascript/mastodon/locales/sr.json
@@ -4,6 +4,7 @@
"account.block": "Блокирај @{name}",
"account.block_domain": "Сакриј све са домена {domain}",
"account.blocked": "Блокиран",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "Директна порука @{name}",
"account.domain_blocked": "Домен сакривен",
"account.edit_profile": "Измени профил",
@@ -15,6 +16,7 @@
"account.follows.empty": "Корисник тренутно не прати никога.",
"account.follows_you": "Прати Вас",
"account.hide_reblogs": "Сакриј подршке које даје корисника @{name}",
+ "account.last_status": "Last active",
"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": "Медији",
@@ -23,6 +25,7 @@
"account.mute": "Ућуткај корисника @{name}",
"account.mute_notifications": "Искључи обавештења од корисника @{name}",
"account.muted": "Ућуткан",
+ "account.never_active": "Never",
"account.posts": "Трубе",
"account.posts_with_replies": "Трубе и одговори",
"account.report": "Пријави @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "Отпрати",
"account.unmute": "Уклони ућуткавање кориснику @{name}",
"account.unmute_notifications": "Укључи назад обавештења од корисника @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Појавила се неочекивана грешка.",
"alert.unexpected.title": "Упс!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Можете притиснути {combo} да прескочите ово следећи пут",
"bundle_column_error.body": "Нешто је пошло по злу приликом учитавања ове компоненте.",
"bundle_column_error.retry": "Покушајте поново",
@@ -47,6 +53,7 @@
"column.blocks": "Блокирани корисници",
"column.community": "Локална временска линија",
"column.direct": "Директне поруке",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Скривени домени",
"column.favourites": "Омиљене",
"column.follow_requests": "Захтеви за праћење",
@@ -56,6 +63,7 @@
"column.notifications": "Обавештења",
"column.pins": "Прикачене трубе",
"column.public": "Здружена временска линија",
+ "column.status": "Toot",
"column_back_button.label": "Назад",
"column_header.hide_settings": "Сакриј поставке",
"column_header.moveLeft_settings": "Помери колону улево",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Да ли сте сигурни да желите да бесповратно обришете ову листу?",
"confirmations.domain_block.confirm": "Сакриј цео домен",
"confirmations.domain_block.message": "Да ли сте заиста сигурни да желите да блокирате цео домен {domain}? У већини случајева, неколико добро промишљених блокирања или ућуткавања су довољна и препоручљива.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Ућуткај",
"confirmations.mute.message": "Да ли стварно желите да ућуткате корисника {name}?",
"confirmations.redraft.confirm": "Избриши и преправи",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"confirmations.unfollow.confirm": "Отпрати",
"confirmations.unfollow.message": "Да ли сте сигурни да желите да отпратите корисника {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Угради овај статус на Ваш веб сајт копирањем кода испод.",
"embed.preview": "Овако ће да изгледа:",
"emoji_button.activity": "Активност",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Прикачене трубе",
"navigation_bar.preferences": "Подешавања",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Здружена временска линија",
"navigation_bar.security": "Безбедност",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} је ставио/ла Ваш статус као омиљени",
"notification.follow": "{name} Вас је запратио/ла",
"notification.mention": "{name} Вас је поменуо/ла",
@@ -355,6 +373,7 @@
"status.show_more": "Прикажи више",
"status.show_more_all": "Прикажи више за све",
"status.show_thread": "Show thread",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Укључи преписку",
"status.unpin": "Откачи са профила",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {човек} other {људи}} прича",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Ако напустите Мастодонт, изгубићете написани нацрт.",
"upload_area.title": "Превуците овде да отпремите",
"upload_button.label": "Додај мултимедију (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Опишите за особе са оштећеним видом",
- "upload_form.focus": "Подесите",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Обриши",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Отпремам...",
"video.close": "Затвори видео",
"video.exit_fullscreen": "Напусти цео екран",
diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json
index fda5c4d57..3c3c62f3a 100644
--- a/app/javascript/mastodon/locales/sv.json
+++ b/app/javascript/mastodon/locales/sv.json
@@ -4,58 +4,66 @@
"account.block": "Blockera @{name}",
"account.block_domain": "Dölj allt från {domain}",
"account.blocked": "Blockerad",
- "account.direct": "Direktmeddelande @{name}",
+ "account.cancel_follow_request": "Cancel follow request",
+ "account.direct": "Skicka ett direktmeddelande till @{name}",
"account.domain_blocked": "Domän dold",
"account.edit_profile": "Redigera profil",
- "account.endorse": "Feature on profile",
+ "account.endorse": "Visa upp på profil",
"account.follow": "Följ",
"account.followers": "Följare",
"account.followers.empty": "Ingen följer denna användaren än.",
"account.follows": "Följer",
- "account.follows.empty": "This user doesn't follow anyone yet.",
+ "account.follows.empty": "Den här användaren följer inte någon ännu.",
"account.follows_you": "Följer dig",
"account.hide_reblogs": "Dölj knuffar från @{name}",
- "account.link_verified_on": "Ownership of this link was checked on {date}",
+ "account.last_status": "Last active",
+ "account.link_verified_on": "Ägarskapet för det här kontot kontrollerades den {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": "Nämna @{name}",
"account.moved_to": "{name} har flyttat till:",
"account.mute": "Tysta @{name}",
"account.mute_notifications": "Stäng av notifieringar från @{name}",
- "account.muted": "Nertystad",
+ "account.muted": "Tystad",
+ "account.never_active": "Never",
"account.posts": "Inlägg",
"account.posts_with_replies": "Toots och svar",
"account.report": "Rapportera @{name}",
"account.requested": "Inväntar godkännande. Klicka för att avbryta följförfrågan",
- "account.share": "Dela @{name}'s profil",
+ "account.share": "Dela @{name}s profil",
"account.show_reblogs": "Visa knuffar från @{name}",
"account.unblock": "Avblockera @{name}",
- "account.unblock_domain": "Ta fram {domain}",
- "account.unendorse": "Don't feature on profile",
+ "account.unblock_domain": "Sluta dölja {domain}",
+ "account.unendorse": "Visa inte upp på profil",
"account.unfollow": "Sluta följa",
- "account.unmute": "Ta bort tystad @{name}",
+ "account.unmute": "Sluta tysta @{name}",
"account.unmute_notifications": "Återaktivera notifikationer från @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Ett oväntat fel uppstod.",
- "alert.unexpected.title": "Whups!",
+ "alert.unexpected.title": "Hoppsan!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Du kan trycka {combo} för att slippa denna nästa gång",
"bundle_column_error.body": "Något gick fel när du laddade denna komponent.",
"bundle_column_error.retry": "Försök igen",
"bundle_column_error.title": "Nätverksfel",
"bundle_modal_error.close": "Stäng",
- "bundle_modal_error.message": "Något gick fel när du laddade denna komponent.",
+ "bundle_modal_error.message": "Något gick fel när denna komponent laddades.",
"bundle_modal_error.retry": "Försök igen",
"column.blocks": "Blockerade användare",
"column.community": "Lokal tidslinje",
- "column.direct": "Direktmeddelande",
+ "column.direct": "Direktmeddelanden",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "Dolda domäner",
"column.favourites": "Favoriter",
- "column.follow_requests": "Följ förfrågningar",
+ "column.follow_requests": "Följförfrågningar",
"column.home": "Hem",
"column.lists": "Listor",
"column.mutes": "Tystade användare",
"column.notifications": "Meddelanden",
"column.pins": "Nålade toots",
"column.public": "Förenad tidslinje",
+ "column.status": "Toot",
"column_back_button.label": "Tillbaka",
"column_header.hide_settings": "Dölj inställningar",
"column_header.moveLeft_settings": "Flytta kolumnen till vänster",
@@ -65,64 +73,74 @@
"column_header.unpin": "Ångra fäst",
"column_subheading.settings": "Inställningar",
"community.column_settings.media_only": "Enbart media",
- "compose_form.direct_message_warning": "Denna toot kommer endast att skickas nämnda nämnda användare.",
+ "compose_form.direct_message_warning": "Denna toot kommer endast att skickas till nämnda användare.",
"compose_form.direct_message_warning_learn_more": "Visa mer",
"compose_form.hashtag_warning": "Denna toot kommer inte att listas 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}. Vemsomhelst kan följa dig och även se dina inlägg skrivna för endast dina följare.",
+ "compose_form.lock_disclaimer": "Ditt konto är inte {locked}. Vem som helst kan följa dig och även se dina inlägg som bara är för följare.",
"compose_form.lock_disclaimer.lock": "låst",
"compose_form.placeholder": "Vad funderar du på?",
- "compose_form.poll.add_option": "Add a choice",
- "compose_form.poll.duration": "Poll duration",
- "compose_form.poll.option_placeholder": "Choice {number}",
- "compose_form.poll.remove_option": "Remove this choice",
- "compose_form.publish": "Toot",
+ "compose_form.poll.add_option": "Nytt alternativ",
+ "compose_form.poll.duration": "Varaktighet för omröstning",
+ "compose_form.poll.option_placeholder": "Alternativ {number}",
+ "compose_form.poll.remove_option": "Ta bort alternativ",
+ "compose_form.publish": "Tut",
"compose_form.publish_loud": "{publish}!",
- "compose_form.sensitive.hide": "Mark media as sensitive",
+ "compose_form.sensitive.hide": "Markera media som känsligt",
"compose_form.sensitive.marked": "Media har markerats som känsligt",
"compose_form.sensitive.unmarked": "Media har inte markerats som känsligt",
"compose_form.spoiler.marked": "Texten har dolts bakom en varning",
"compose_form.spoiler.unmarked": "Texten är inte dold",
"compose_form.spoiler_placeholder": "Skriv din varning här",
"confirmation_modal.cancel": "Ångra",
- "confirmations.block.block_and_report": "Block & Report",
+ "confirmations.block.block_and_report": "Blockera & rapportera",
"confirmations.block.confirm": "Blockera",
"confirmations.block.message": "Är du säker att du vill blockera {name}?",
"confirmations.delete.confirm": "Ta bort",
"confirmations.delete.message": "Är du säker att du vill ta bort denna status?",
- "confirmations.delete_list.confirm": "Delete",
+ "confirmations.delete_list.confirm": "Ta bort",
"confirmations.delete_list.message": "Är du säker på att du vill radera denna lista permanent?",
- "confirmations.domain_block.confirm": "Blockera hela domänen",
+ "confirmations.domain_block.confirm": "Dölj hela domänen",
"confirmations.domain_block.message": "Är du verkligen säker på att du vill blockera hela {domain}? I de flesta fall är några riktade blockeringar eller nedtystade konton tillräckligt och att föredra. Du kommer sluta se innehåll från {domain}-domänen i den allmänna tidslinjen och i dina egna notifieringar. Du kommer även sluta följa alla eventuella följare du har från {domain}.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Tysta",
"confirmations.mute.message": "Är du säker du vill tysta ner {name}?",
"confirmations.redraft.confirm": "Radera och gör om",
"confirmations.redraft.message": "Är du säker på att du vill radera meddelandet och göra om det? Du kommer förlora alla svar, knuffar och favoriter som hänvisar till meddelandet.",
- "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.reply.confirm": "Svara",
+ "confirmations.reply.message": "Om du svarar nu kommer det att ersätta meddelandet du håller på att skriva. Är du säker på att du vill fortsätta?",
"confirmations.unfollow.confirm": "Sluta följa",
"confirmations.unfollow.message": "Är du säker på att du vill sluta följa {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "Bädda in den här statusen på din webbplats genom att kopiera koden nedan.",
- "embed.preview": "Här ser du hur det kommer att se ut:",
+ "embed.preview": "Så här kommer det att se ut:",
"emoji_button.activity": "Aktivitet",
- "emoji_button.custom": "Specialgjord",
+ "emoji_button.custom": "Anpassad",
"emoji_button.flags": "Flaggor",
- "emoji_button.food": "Mat & Dryck",
+ "emoji_button.food": "Mat & dryck",
"emoji_button.label": "Lägg till emoji",
"emoji_button.nature": "Natur",
"emoji_button.not_found": "Inga emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objekt",
- "emoji_button.people": "Människor",
+ "emoji_button.people": "Personer",
"emoji_button.recent": "Ofta använda",
"emoji_button.search": "Sök...",
"emoji_button.search_results": "Sökresultat",
"emoji_button.symbols": "Symboler",
- "emoji_button.travel": "Resor & Platser",
- "empty_column.account_timeline": "No toots here!",
- "empty_column.account_unavailable": "Profile unavailable",
- "empty_column.blocks": "You haven't blocked any users yet.",
- "empty_column.community": "Den lokala tidslinjen är tom. Skriv något offentligt för att få bollen att rulla!",
- "empty_column.direct": "Du har inga direktmeddelanden än. När du skickar eller tar emot kommer den att dyka upp här.",
- "empty_column.domain_blocks": "There are no hidden domains yet.",
+ "emoji_button.travel": "Resor & platser",
+ "empty_column.account_timeline": "Inga inlägg här!",
+ "empty_column.account_unavailable": "Profilen är inte tillgänglig",
+ "empty_column.blocks": "Du har ännu inte blockerat några användare.",
+ "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 dyka upp här.",
+ "empty_column.domain_blocks": "Det finns ännu inga dolda domäner.",
"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_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
@@ -131,84 +149,84 @@
"empty_column.home.public_timeline": "den publika tidslinjen",
"empty_column.list": "Det finns inget i denna lista än. När medlemmar i denna lista lägger till nya statusar kommer de att visas här.",
"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": "Du har ännu inte tystat några användare.",
"empty_column.notifications": "Du har inga meddelanden än. Interagera med andra för att starta konversationen.",
"empty_column.public": "Det finns inget här! Skriv något offentligt, eller följ manuellt användarna från andra instanser för att fylla på det",
"follow_request.authorize": "Godkänn",
"follow_request.reject": "Avvisa",
"getting_started.developers": "Utvecklare",
- "getting_started.directory": "Profile directory",
- "getting_started.documentation": "Documentation",
+ "getting_started.directory": "Profilkatalog",
+ "getting_started.documentation": "Dokumentation",
"getting_started.heading": "Kom igång",
"getting_started.invite": "Skicka inbjudningar",
"getting_started.open_source_notice": "Mastodon är programvara med öppen källkod. Du kan bidra eller rapportera problem via GitHub på {github}.",
"getting_started.security": "Säkerhet",
"getting_started.terms": "Användarvillkor",
- "hashtag.column_header.tag_mode.all": "and {additional}",
- "hashtag.column_header.tag_mode.any": "or {additional}",
- "hashtag.column_header.tag_mode.none": "without {additional}",
- "hashtag.column_settings.select.no_options_message": "No suggestions found",
- "hashtag.column_settings.select.placeholder": "Enter hashtags…",
- "hashtag.column_settings.tag_mode.all": "All of these",
- "hashtag.column_settings.tag_mode.any": "Any of these",
+ "hashtag.column_header.tag_mode.all": "och {additional}",
+ "hashtag.column_header.tag_mode.any": "eller {additional}",
+ "hashtag.column_header.tag_mode.none": "utan {additional}",
+ "hashtag.column_settings.select.no_options_message": "Inga förslag hittades",
+ "hashtag.column_settings.select.placeholder": "Ange hashtags …",
+ "hashtag.column_settings.tag_mode.all": "Alla dessa",
+ "hashtag.column_settings.tag_mode.any": "Någon av dessa",
"hashtag.column_settings.tag_mode.none": "Ingen av dessa",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"home.column_settings.basic": "Grundläggande",
"home.column_settings.show_reblogs": "Visa knuffar",
"home.column_settings.show_replies": "Visa svar",
"home.column_settings.update_live": "Update in real-time",
- "intervals.full.days": "{number, plural, one {# day} other {# days}}",
- "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
- "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
+ "intervals.full.days": "{number, plural, one {# dag} other {# dagar}}",
+ "intervals.full.hours": "{hours, plural, one {# timme} other {# timmar}}",
+ "intervals.full.minutes": "{minutes, plural, one {1 minut} other {# minuter}}",
"introduction.federation.action": "Nästa",
"introduction.federation.federated.headline": "Federated",
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
- "introduction.federation.home.headline": "Home",
+ "introduction.federation.home.headline": "Hem",
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
"introduction.federation.local.headline": "Local",
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
- "introduction.interactions.action": "Finish toot-orial!",
+ "introduction.interactions.action": "Slutför introduktionsguide!",
"introduction.interactions.favourite.headline": "Favourite",
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
"introduction.interactions.reblog.headline": "Boost",
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
"introduction.interactions.reply.headline": "Reply",
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
- "introduction.welcome.action": "Let's go!",
+ "introduction.welcome.action": "Sätt igång!",
"introduction.welcome.headline": "First steps",
- "introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
- "keyboard_shortcuts.back": "att navigera tillbaka",
- "keyboard_shortcuts.blocked": "to open blocked users list",
- "keyboard_shortcuts.boost": "att knuffa",
- "keyboard_shortcuts.column": "att fokusera en status i en av kolumnerna",
- "keyboard_shortcuts.compose": "att fokusera komponera text fältet",
- "keyboard_shortcuts.description": "Description",
- "keyboard_shortcuts.direct": "to open direct messages column",
- "keyboard_shortcuts.down": "att flytta ner i listan",
- "keyboard_shortcuts.enter": "to open status",
- "keyboard_shortcuts.favourite": "att favorisera",
- "keyboard_shortcuts.favourites": "to open favourites list",
- "keyboard_shortcuts.federated": "to open federated timeline",
- "keyboard_shortcuts.heading": "Keyboard Shortcuts",
- "keyboard_shortcuts.home": "to open home timeline",
- "keyboard_shortcuts.hotkey": "Snabbvalstangent",
- "keyboard_shortcuts.legend": "att visa denna översikt",
- "keyboard_shortcuts.local": "to open local timeline",
- "keyboard_shortcuts.mention": "att nämna författaren",
- "keyboard_shortcuts.muted": "to open muted users list",
- "keyboard_shortcuts.my_profile": "to open your profile",
- "keyboard_shortcuts.notifications": "to open notifications column",
- "keyboard_shortcuts.pinned": "to open pinned toots list",
- "keyboard_shortcuts.profile": "to open author's profile",
- "keyboard_shortcuts.reply": "att svara",
- "keyboard_shortcuts.requests": "to open follow requests list",
- "keyboard_shortcuts.search": "att fokusera sökfältet",
- "keyboard_shortcuts.start": "to open \"get started\" column",
- "keyboard_shortcuts.toggle_hidden": "att visa/gömma text bakom CW",
- "keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
- "keyboard_shortcuts.toot": "att börja en helt ny toot",
- "keyboard_shortcuts.unfocus": "att avfokusera komponera text fält / sökfält",
- "keyboard_shortcuts.up": "att flytta upp i listan",
+ "introduction.welcome.text": "Välkommen till fediverse! Om några ögonblick kommer du kunna sända ut meddelanden och prata med dina vänner över en mängd servrar. Men den här servern, {domain}, är speciell — den är hem åt din profil, så kom ihåg vad den heter.",
+ "keyboard_shortcuts.back": "för att gå bakåt",
+ "keyboard_shortcuts.blocked": "för att öppna listan över blockerade användare",
+ "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.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",
+ "keyboard_shortcuts.favourites": "för att öppna Favoriter",
+ "keyboard_shortcuts.federated": "för att öppna Förenad tidslinje",
+ "keyboard_shortcuts.heading": "Tangentbordsgenvägar",
+ "keyboard_shortcuts.home": "för att öppna Hem-tidslinjen",
+ "keyboard_shortcuts.hotkey": "Kommando",
+ "keyboard_shortcuts.legend": "för att visa denna översikt",
+ "keyboard_shortcuts.local": "för att öppna Lokal tidslinje",
+ "keyboard_shortcuts.mention": "för att nämna skaparen",
+ "keyboard_shortcuts.muted": "för att öppna listan över tystade användare",
+ "keyboard_shortcuts.my_profile": "för att öppna din profil",
+ "keyboard_shortcuts.notifications": "för att öppna Meddelanden",
+ "keyboard_shortcuts.pinned": "för att öppna Nålade toots",
+ "keyboard_shortcuts.profile": "för att öppna skaparens profil",
+ "keyboard_shortcuts.reply": "för att svara",
+ "keyboard_shortcuts.requests": "för att öppna Följförfrågningar",
+ "keyboard_shortcuts.search": "för att fokusera sökfältet",
+ "keyboard_shortcuts.start": "för att öppna \"Kom igång\"-kolumnen",
+ "keyboard_shortcuts.toggle_hidden": "för att visa/gömma text bakom CW",
+ "keyboard_shortcuts.toggle_sensitivity": "för att visa/gömma media",
+ "keyboard_shortcuts.toot": "för att påbörja en helt ny toot",
+ "keyboard_shortcuts.unfocus": "för att avfokusera skrivfält/sökfält",
+ "keyboard_shortcuts.up": "för att flytta uppåt i listan",
"lightbox.close": "Stäng",
"lightbox.next": "Nästa",
"lightbox.previous": "Tidigare",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Ny listrubrik",
"lists.search": "Sök bland personer du följer",
"lists.subheading": "Dina listor",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, other {# objekt}}",
"loading_indicator.label": "Laddar...",
"media_gallery.toggle_visible": "Växla synlighet",
"missing_indicator.label": "Hittades inte",
@@ -241,16 +259,16 @@
"navigation_bar.follow_requests": "Följförfrågningar",
"navigation_bar.follows_and_followers": "Follows and followers",
"navigation_bar.info": "Om denna instans",
- "navigation_bar.keyboard_shortcuts": "Tangentbordsgenvägar",
+ "navigation_bar.keyboard_shortcuts": "Kortkommandon",
"navigation_bar.lists": "Listor",
"navigation_bar.logout": "Logga ut",
"navigation_bar.mutes": "Tystade användare",
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "Nålade inlägg (toots)",
"navigation_bar.preferences": "Inställningar",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Förenad tidslinje",
"navigation_bar.security": "Säkerhet",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} favoriserade din status",
"notification.follow": "{name} följer dig",
"notification.mention": "{name} nämnde dig",
@@ -340,7 +358,7 @@
"status.pin": "Fäst i profil",
"status.pinned": "Fäst toot",
"status.read_more": "Läs mer",
- "status.reblog": "Knuff",
+ "status.reblog": "Knuffa",
"status.reblog_private": "Knuffa till de ursprungliga åhörarna",
"status.reblogged_by": "{name} knuffade",
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
@@ -355,6 +373,7 @@
"status.show_more": "Visa mer",
"status.show_more_all": "Visa mer för alla",
"status.show_thread": "Visa tråd",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "Öppna konversation",
"status.unpin": "Ångra fäst i profil",
"suggestions.dismiss": "Dismiss suggestion",
@@ -364,20 +383,28 @@
"tabs_bar.local_timeline": "Lokal",
"tabs_bar.notifications": "Meddelanden",
"tabs_bar.search": "Sök",
- "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",
+ "time_remaining.days": "{number, plural, one {# dag} other {# dagar}} kvar",
+ "time_remaining.hours": "{hours, plural, one {# timme} other {# timmar}} kvar",
+ "time_remaining.minutes": "{minutes, plural, one {1 minut} other {# minuter}} kvar",
"time_remaining.moments": "Moments remaining",
- "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
+ "time_remaining.seconds": "{hours, plural, one {# sekund} other {# sekunder}} kvar",
"trends.count_by_accounts": "{count} {rawCount, plural, en {person} andra {people}} pratar",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "Ditt utkast kommer att förloras om du lämnar Mastodon.",
"upload_area.title": "Dra & släpp för att ladda upp",
"upload_button.label": "Lägg till media",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Beskriv för synskadade",
- "upload_form.focus": "Beskär",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Ta bort",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "Laddar upp...",
"video.close": "Stäng video",
"video.exit_fullscreen": "Stäng helskärm",
diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json
index 87163e660..fb51b46b4 100644
--- a/app/javascript/mastodon/locales/ta.json
+++ b/app/javascript/mastodon/locales/ta.json
@@ -4,6 +4,7 @@
"account.block": "Block @{name}",
"account.block_domain": "எல்லாவற்றையும் மறைக்க {domain}",
"account.blocked": "தடைமுட்டுகள்",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "நேரடி செய்தி @{name}",
"account.domain_blocked": "டொமைன் மறைக்கப்பட்டது",
"account.edit_profile": "சுயவிவரத்தைத் திருத்தவும்",
@@ -15,6 +16,7 @@
"account.follows.empty": "இந்த பயனர் இதுவரை யாரையும் பின்தொடரவில்லை.",
"account.follows_you": "நீ பின் தொடர்கிறாய்",
"account.hide_reblogs": "இருந்து ஊக்கியாக மறை @{name}",
+ "account.last_status": "Last active",
"account.link_verified_on": "இந்த இணைப்பை உரிமையாளர் சரிபார்க்கப்பட்டது {date}",
"account.locked_info": "இந்தக் கணக்கு தனியுரிமை நிலை பூட்டப்பட்டுள்ளது. அவர்களைப் பின்தொடர்பவர் யார் என்பதை உரிமையாளர் கைமுறையாக மதிப்பாய்வு செய்கிறார்.",
"account.media": "Media",
@@ -23,6 +25,7 @@
"account.mute": "ஊமையான @{name}",
"account.mute_notifications": "அறிவிப்புகளை முடக்கு @{name}",
"account.muted": "முடக்கியது",
+ "account.never_active": "Never",
"account.posts": "Toots",
"account.posts_with_replies": "Toots மற்றும் பதில்கள்",
"account.report": "Report @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "பின்தொடராட்",
"account.unmute": "தடுப்புநீக்கு @{name}",
"account.unmute_notifications": "அறிவிப்புகளை அகற்றவும் @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "எதிர் பாராத பிழை ஏற்பட்டு விட்டது.",
"alert.unexpected.title": "அச்சச்சோ!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "நீங்கள் அழுத்தவும் {combo} அடுத்த முறை தவிர்க்கவும்",
"bundle_column_error.body": "இந்த கூறுகளை ஏற்றும்போது ஏதோ தவறு ஏற்பட்டது.",
"bundle_column_error.retry": "மீண்டும் முயற்சி செய்",
@@ -47,6 +53,7 @@
"column.blocks": "தடுக்கப்பட்ட பயனர்கள்",
"column.community": "உள்ளூர் காலக்கெடு",
"column.direct": "நேரடி செய்திகள்",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "மறைந்த களங்கள்",
"column.favourites": "விருப்பத்துக்குகந்த",
"column.follow_requests": "கோரிக்கைகளை பின்பற்றவும்",
@@ -56,6 +63,7 @@
"column.notifications": "Notifications",
"column.pins": "Pinned toot",
"column.public": "கூட்டாட்சி காலக்கெடு",
+ "column.status": "Toot",
"column_back_button.label": "ஆதரி",
"column_header.hide_settings": "அமைப்புகளை மறை",
"column_header.moveLeft_settings": "நெடுவரிசையை இடதுபுறமாக நகர்த்தவும்",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "இந்த பட்டியலில் நிரந்தரமாக நீக்க விரும்புகிறீர்களா?",
"confirmations.domain_block.confirm": "முழு டொமைனை மறை",
"confirmations.domain_block.message": "நீங்கள் உண்மையில், நிச்சயமாக நீங்கள் முழு தடுக்க வேண்டும் நிச்சயமாக {domain}? பெரும்பாலான சந்தர்ப்பங்களில் ஒரு சில இலக்குகள் அல்லது மியூட்கள் போதுமானவை மற்றும் சிறந்தவை. எந்த பொது நேரத்திலும் அல்லது உங்கள் அறிவிப்புகளிலும் அந்தக் களத்திலிருந்து உள்ளடக்கத்தை நீங்கள் பார்க்க மாட்டீர்கள். அந்த களத்தில் இருந்து உங்கள் ஆதரவாளர்கள் அகற்றப்படுவார்கள்.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "ஊமையான",
"confirmations.mute.message": "நிச்சயமாக நீங்கள் முடக்க விரும்புகிறீர்களா {name}?",
"confirmations.redraft.confirm": "நீக்கு & redraft",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "இப்போது பதில், தற்போது நீங்கள் உருவாக்கும் செய்தி மேலெழுதப்படும். நீங்கள் தொடர விரும்புகிறீர்களா?",
"confirmations.unfollow.confirm": "பின்தொடராட்",
"confirmations.unfollow.message": "நிச்சயமாக நீங்கள் பின்தொடர விரும்புகிறீர்களா {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "கீழே உள்ள குறியீட்டை நகலெடுப்பதன் மூலம் உங்கள் இணையதளத்தில் இந்த நிலையை உட்பொதிக்கவும்.",
"embed.preview": "இது போன்ற தோற்றத்தை இங்கு காணலாம்:",
"emoji_button.activity": "நடவடிக்கை",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "பொருத்தப்பட்டன toots",
"navigation_bar.preferences": "விருப்பங்கள்",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "கூட்டாட்சி காலக்கெடு",
"navigation_bar.security": "பத்திரம்",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} ஆர்வம் கொண்டவர், உங்கள் நிலை",
"notification.follow": "{name} நீங்கள் தொடர்ந்து வந்தீர்கள்",
"notification.mention": "{name} நீங்கள் குறிப்பிட்டுள்ளீர்கள்",
@@ -355,6 +373,7 @@
"status.show_more": "மேலும் காட்ட",
"status.show_more_all": "அனைவருக்கும் மேலும் காட்டு",
"status.show_thread": "நூல் காட்டு",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "ஊமையாக உரையாடல் இல்லை",
"status.unpin": "சுயவிவரத்திலிருந்து நீக்கவும்",
"suggestions.dismiss": "பரிந்துரை விலக்க",
@@ -370,14 +389,22 @@
"time_remaining.moments": "தருணங்கள் மீதமுள்ளன",
"time_remaining.seconds": "{number, plural, one {# second} மற்ற {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} மற்ற {people}} உரையாடு",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "நீங்கள் வெளியே சென்றால் உங்கள் வரைவு இழக்கப்படும் மஸ்தோடோன்.",
"upload_area.title": "பதிவேற்ற & இழுக்கவும்",
"upload_button.label": "மீடியாவைச் சேர்க்கவும் (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "கோப்பு பதிவேற்ற வரம்பு மீறப்பட்டது.",
"upload_error.poll": "கோப்பு பதிவேற்றம் அனுமதிக்கப்படவில்லை.",
"upload_form.description": "பார்வையற்ற விவரிக்கவும்",
- "upload_form.focus": "மாற்றம் முன்னோட்டம்",
+ "upload_form.edit": "Edit",
"upload_form.undo": "Delete",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "ஏற்றுகிறது ...",
"video.close": "வீடியோவை மூடு",
"video.exit_fullscreen": "முழு திரையில் இருந்து வெளியேறவும்",
diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json
index ccb608812..5af35a04d 100644
--- a/app/javascript/mastodon/locales/te.json
+++ b/app/javascript/mastodon/locales/te.json
@@ -4,6 +4,7 @@
"account.block": "@{name} ను బ్లాక్ చేయి",
"account.block_domain": "{domain} నుంచి అన్నీ దాచిపెట్టు",
"account.blocked": "బ్లాక్ అయినవి",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "@{name}కు నేరుగా సందేశం పంపు",
"account.domain_blocked": "డొమైన్ దాచిపెట్టబడినది",
"account.edit_profile": "ప్రొఫైల్ని సవరించండి",
@@ -15,6 +16,7 @@
"account.follows.empty": "ఈ వినియోగదారి ఇంకా ఎవరినీ అనుసరించడంలేదు.",
"account.follows_you": "మిమ్మల్ని అనుసరిస్తున్నారు",
"account.hide_reblogs": "@{name} నుంచి బూస్ట్ లను దాచిపెట్టు",
+ "account.last_status": "Last active",
"account.link_verified_on": "ఈ లంకె యొక్క యాజమాన్యం {date}న పరీక్షించబడింది",
"account.locked_info": "ఈ ఖాతా యొక్క గోప్యత స్థితి లాక్ చేయబడి వుంది. ఈ ఖాతాను ఎవరు అనుసరించవచ్చో యజమానే నిర్ణయం తీసుకుంటారు.",
"account.media": "మీడియా",
@@ -23,6 +25,7 @@
"account.mute": "@{name}ను మ్యూట్ చెయ్యి",
"account.mute_notifications": "@{name}నుంచి ప్రకటనలను మ్యూట్ చెయ్యి",
"account.muted": "మ్యూట్ అయినవి",
+ "account.never_active": "Never",
"account.posts": "టూట్లు",
"account.posts_with_replies": "టూట్లు మరియు ప్రత్యుత్తరములు",
"account.report": "@{name}పై ఫిర్యాదుచేయు",
@@ -35,8 +38,11 @@
"account.unfollow": "అనుసరించవద్దు",
"account.unmute": "@{name}పై మ్యూట్ ని తొలగించు",
"account.unmute_notifications": "@{name} నుంచి ప్రకటనలపై మ్యూట్ ని తొలగించు",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "అనుకోని తప్పు జరిగినది.",
"alert.unexpected.title": "అయ్యో!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "మీరు తదుపరిసారి దీనిని దాటవేయడానికి {combo} నొక్కవచ్చు",
"bundle_column_error.body": "ఈ భాగం లోడ్ అవుతున్నప్పుడు ఏదో తప్పు జరిగింది.",
"bundle_column_error.retry": "మళ్ళీ ప్రయత్నించండి",
@@ -47,6 +53,7 @@
"column.blocks": "బ్లాక్ చేయబడిన వినియోగదారులు",
"column.community": "స్థానిక కాలక్రమం",
"column.direct": "ప్రత్యక్ష సందేశాలు",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "దాచిన డొమైన్లు",
"column.favourites": "ఇష్టపడినవి",
"column.follow_requests": "అనుసరించడానికి అభ్యర్ధనలు",
@@ -56,6 +63,7 @@
"column.notifications": "ప్రకటనలు",
"column.pins": "Pinned toot",
"column.public": "సమాఖ్య కాలక్రమం",
+ "column.status": "Toot",
"column_back_button.label": "వెనక్కి",
"column_header.hide_settings": "అమర్పులను దాచిపెట్టు",
"column_header.moveLeft_settings": "నిలువు వరుసను ఎడమకి తరలించు",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "మీరు ఖచ్చితంగా ఈ జాబితాను శాశ్వతంగా తొలగించాలనుకుంటున్నారా?",
"confirmations.domain_block.confirm": "మొత్తం డొమైన్ను దాచు",
"confirmations.domain_block.message": "మీరు నిజంగా నిజంగా మొత్తం {domain} ని బ్లాక్ చేయాలనుకుంటున్నారా? చాలా సందర్భాలలో కొన్ని లక్ష్యంగా ఉన్న బ్లాక్స్ లేదా మ్యూట్స్ సరిపోతాయి మరియు ఉత్తమమైనవి. మీరు ఆ డొమైన్ నుండి కంటెంట్ను ఏ ప్రజా కాలక్రమాలలో లేదా మీ నోటిఫికేషన్లలో చూడలేరు. ఆ డొమైన్ నుండి మీ అనుచరులు తీసివేయబడతారు.",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "మ్యూట్ చేయి",
"confirmations.mute.message": "{name}ను మీరు ఖచ్చితంగా మ్యూట్ చేయాలనుకుంటున్నారా?",
"confirmations.redraft.confirm": "తొలగించు & తిరగరాయు",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "ఇప్పుడే ప్రత్యుత్తరం ఇస్తే మీరు ప్రస్తుతం వ్రాస్తున్న సందేశం తిరగరాయబడుతుంది. మీరు ఖచ్చితంగా కొనసాగించాలనుకుంటున్నారా?",
"confirmations.unfollow.confirm": "అనుసరించవద్దు",
"confirmations.unfollow.message": "{name}ను మీరు ఖచ్చితంగా అనుసరించవద్దనుకుంటున్నారా?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "దిగువ కోడ్ను కాపీ చేయడం ద్వారా మీ వెబ్సైట్లో ఈ స్టేటస్ ని పొందుపరచండి.",
"embed.preview": "అది ఈ క్రింది విధంగా కనిపిస్తుంది:",
"emoji_button.activity": "కార్యకలాపాలు",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "వ్యక్తిగతం",
"navigation_bar.pins": "అతికించిన టూట్లు",
"navigation_bar.preferences": "ప్రాధాన్యతలు",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "సమాఖ్య కాలక్రమం",
"navigation_bar.security": "భద్రత",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} మీ స్టేటస్ ను ఇష్టపడ్డారు",
"notification.follow": "{name} మిమ్మల్ని అనుసరిస్తున్నారు",
"notification.mention": "{name} మిమ్మల్ని ప్రస్తావించారు",
@@ -355,6 +373,7 @@
"status.show_more": "ఇంకా చూపించు",
"status.show_more_all": "అన్నిటికీ ఇంకా చూపించు",
"status.show_thread": "గొలుసును చూపించు",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "సంభాషణను అన్మ్యూట్ చేయి",
"status.unpin": "ప్రొఫైల్ నుండి పీకివేయు",
"suggestions.dismiss": "సూచనను రద్దు చేయి",
@@ -370,14 +389,22 @@
"time_remaining.moments": "కొన్ని క్షణాలు మాత్రమే మిగిలి ఉన్నాయి",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} మాట్లాడుతున్నారు",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "మీరు మాస్టొడొన్ను వదిలివేస్తే మీ డ్రాఫ్ట్లు పోతాయి.",
"upload_area.title": "అప్లోడ్ చేయడానికి డ్రాగ్ & డ్రాప్ చేయండి",
"upload_button.label": "మీడియాను జోడించండి (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "దృష్టి లోపమున్న వారి కోసం వివరించండి",
- "upload_form.focus": "ప్రివ్యూను మార్చు",
+ "upload_form.edit": "Edit",
"upload_form.undo": "తొలగించు",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "అప్లోడ్ అవుతోంది...",
"video.close": "వీడియోని మూసివేయి",
"video.exit_fullscreen": "పూర్తి స్క్రీన్ నుండి నిష్క్రమించు",
diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json
index e8d7a27ed..d7a4da197 100644
--- a/app/javascript/mastodon/locales/th.json
+++ b/app/javascript/mastodon/locales/th.json
@@ -4,6 +4,7 @@
"account.block": "ปิดกั้น @{name}",
"account.block_domain": "ซ่อนทุกอย่างจาก {domain}",
"account.blocked": "ปิดกั้นอยู่",
+ "account.cancel_follow_request": "ยกเลิกคำขอติดตาม",
"account.direct": "ส่งข้อความโดยตรงถึง @{name}",
"account.domain_blocked": "ซ่อนโดเมนอยู่",
"account.edit_profile": "แก้ไขโปรไฟล์",
@@ -15,6 +16,7 @@
"account.follows.empty": "ผู้ใช้นี้ยังไม่ได้ติดตามใคร",
"account.follows_you": "ติดตามคุณ",
"account.hide_reblogs": "ซ่อนการดันจาก @{name}",
+ "account.last_status": "ใช้งานล่าสุด",
"account.link_verified_on": "ตรวจสอบความเป็นเจ้าของของลิงก์นี้เมื่อ {date}",
"account.locked_info": "มีการตั้งสถานะความเป็นส่วนตัวของบัญชีนี้เป็นล็อคอยู่ เจ้าของตรวจทานผู้ที่สามารถติดตามเขาด้วยตนเอง",
"account.media": "สื่อ",
@@ -23,6 +25,7 @@
"account.mute": "ปิดเสียง @{name}",
"account.mute_notifications": "ปิดเสียงการแจ้งเตือนจาก @{name}",
"account.muted": "ปิดเสียงอยู่",
+ "account.never_active": "ไม่เลย",
"account.posts": "โพสต์",
"account.posts_with_replies": "โพสต์และการตอบกลับ",
"account.report": "รายงาน @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "เลิกติดตาม",
"account.unmute": "เลิกปิดเสียง @{name}",
"account.unmute_notifications": "เลิกปิดเสียงการแจ้งเตือนจาก @{name}",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "เกิดข้อผิดพลาดที่ไม่คาดคิด",
"alert.unexpected.title": "อุปส์!",
+ "autosuggest_hashtag.per_week": "{count} ต่อสัปดาห์",
"boost_modal.combo": "คุณสามารถกด {combo} เพื่อข้ามสิ่งนี้ในครั้งถัดไป",
"bundle_column_error.body": "มีบางอย่างผิดพลาดขณะโหลดส่วนประกอบนี้",
"bundle_column_error.retry": "ลองอีกครั้ง",
@@ -47,6 +53,7 @@
"column.blocks": "ผู้ใช้ที่ปิดกั้นอยู่",
"column.community": "เส้นเวลาในเว็บ",
"column.direct": "ข้อความโดยตรง",
+ "column.directory": "เรียกดูโปรไฟล์",
"column.domain_blocks": "โดเมนที่ซ่อนอยู่",
"column.favourites": "รายการโปรด",
"column.follow_requests": "คำขอติดตาม",
@@ -56,6 +63,7 @@
"column.notifications": "การแจ้งเตือน",
"column.pins": "โพสต์ที่ปักหมุด",
"column.public": "เส้นเวลาที่ติดต่อกับภายนอก",
+ "column.status": "Toot",
"column_back_button.label": "ย้อนกลับ",
"column_header.hide_settings": "ซ่อนการตั้งค่า",
"column_header.moveLeft_settings": "ย้ายคอลัมน์ไปทางซ้าย",
@@ -72,7 +80,7 @@
"compose_form.lock_disclaimer.lock": "ล็อคอยู่",
"compose_form.placeholder": "คุณกำลังคิดอะไรอยู่?",
"compose_form.poll.add_option": "เพิ่มทางเลือก",
- "compose_form.poll.duration": "ระยะเวลาการหยั่งเสียง",
+ "compose_form.poll.duration": "ระยะเวลาโพล",
"compose_form.poll.option_placeholder": "ทางเลือก {number}",
"compose_form.poll.remove_option": "เอาทางเลือกนี้ออก",
"compose_form.publish": "โพสต์",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "คุณแน่ใจหรือไม่ว่าต้องการลบรายการนี้อย่างถาวร?",
"confirmations.domain_block.confirm": "ซ่อนทั้งโดเมน",
"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.",
+ "confirmations.logout.confirm": "ออกจากระบบ",
+ "confirmations.logout.message": "คุณแน่ใจหรือไม่ว่าต้องการออกจากระบบ?",
"confirmations.mute.confirm": "ปิดเสียง",
"confirmations.mute.message": "คุณแน่ใจหรือไม่ว่าต้องการปิดเสียง {name}?",
"confirmations.redraft.confirm": "ลบแล้วร่างใหม่",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "การตอบกลับตอนนี้จะเขียนทับข้อความที่คุณกำลังเขียน คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?",
"confirmations.unfollow.confirm": "เลิกติดตาม",
"confirmations.unfollow.message": "คุณแน่ใจหรือไม่ว่าต้องการเลิกติดตาม {name}?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "ฝังสถานะนี้ในเว็บไซต์ของคุณโดยคัดลอกโค้ดด้านล่าง",
"embed.preview": "นี่คือลักษณะที่จะปรากฏ:",
"emoji_button.activity": "กิจกรรม",
@@ -162,7 +180,7 @@
"intervals.full.minutes": "{number, plural, other {# นาที}}",
"introduction.federation.action": "ถัดไป",
"introduction.federation.federated.headline": "ที่ติดต่อกับภายนอก",
- "introduction.federation.federated.text": "โพสต์สาธารณะจากเซิร์ฟเวอร์อื่น ๆ ของ Fediverse จะปรากฏในเส้นเวลาที่ติดต่อกับภายนอก",
+ "introduction.federation.federated.text": "โพสต์สาธารณะจากเซิร์ฟเวอร์อื่น ๆ ของเฟดิเวิร์สจะปรากฏในเส้นเวลาที่ติดต่อกับภายนอก",
"introduction.federation.home.headline": "หน้าแรก",
"introduction.federation.home.text": "โพสต์จากผู้คนที่คุณติดตามจะปรากฏในฟีดหน้าแรกของคุณ คุณสามารถติดตามใครก็ตามในเซิร์ฟเวอร์ใดก็ตาม!",
"introduction.federation.local.headline": "ในเว็บ",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "ชื่อเรื่องรายการใหม่",
"lists.search": "ค้นหาในหมู่ผู้คนที่คุณติดตาม",
"lists.subheading": "รายการของคุณ",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, other {# รายการใหม่}}",
"loading_indicator.label": "กำลังโหลด...",
"media_gallery.toggle_visible": "เปิด/ปิดการมองเห็น",
"missing_indicator.label": "ไม่พบ",
@@ -248,13 +266,13 @@
"navigation_bar.personal": "ส่วนบุคคล",
"navigation_bar.pins": "โพสต์ที่ปักหมุด",
"navigation_bar.preferences": "การกำหนดลักษณะ",
- "navigation_bar.profile_directory": "ไดเรกทอรีโปรไฟล์",
"navigation_bar.public_timeline": "เส้นเวลาที่ติดต่อกับภายนอก",
"navigation_bar.security": "ความปลอดภัย",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} ได้ชื่นชอบสถานะของคุณ",
"notification.follow": "{name} ได้ติดตามคุณ",
"notification.mention": "{name} ได้กล่าวถึงคุณ",
- "notification.poll": "การหยั่งเสียงที่คุณได้ลงคะแนนได้สิ้นสุดแล้ว",
+ "notification.poll": "โพลที่คุณได้ลงคะแนนได้สิ้นสุดแล้ว",
"notification.reblog": "{name} ได้ดันสถานะของคุณ",
"notifications.clear": "ล้างการแจ้งเตือน",
"notifications.clear_confirmation": "คุณแน่ใจหรือไม่ว่าต้องการล้างการแจ้งเตือนทั้งหมดของคุณอย่างถาวร?",
@@ -265,7 +283,7 @@
"notifications.column_settings.filter_bar.show": "แสดง",
"notifications.column_settings.follow": "ผู้ติดตามใหม่:",
"notifications.column_settings.mention": "การกล่าวถึง:",
- "notifications.column_settings.poll": "ผลลัพธ์การหยั่งเสียง:",
+ "notifications.column_settings.poll": "ผลลัพธ์โพล:",
"notifications.column_settings.push": "การแจ้งเตือนแบบผลัก",
"notifications.column_settings.reblog": "การดัน:",
"notifications.column_settings.show": "แสดงในคอลัมน์",
@@ -275,14 +293,14 @@
"notifications.filter.favourites": "รายการโปรด",
"notifications.filter.follows": "การติดตาม",
"notifications.filter.mentions": "การกล่าวถึง",
- "notifications.filter.polls": "ผลลัพธ์การหยั่งเสียง",
+ "notifications.filter.polls": "ผลลัพธ์โพล",
"notifications.group": "{count} การแจ้งเตือน",
"poll.closed": "ปิดแล้ว",
"poll.refresh": "รีเฟรช",
"poll.total_votes": "{count, plural, other {# การลงคะแนน}}",
"poll.vote": "ลงคะแนน",
- "poll_button.add_poll": "เพิ่มการหยั่งเสียง",
- "poll_button.remove_poll": "เอาการหยั่งเสียงออก",
+ "poll_button.add_poll": "เพิ่มโพล",
+ "poll_button.remove_poll": "เอาโพลออก",
"privacy.change": "ปรับเปลี่ยนความเป็นส่วนตัวของสถานะ",
"privacy.direct.long": "โพสต์ไปยังผู้ใช้ที่กล่าวถึงเท่านั้น",
"privacy.direct.short": "โดยตรง",
@@ -355,6 +373,7 @@
"status.show_more": "แสดงเพิ่มเติม",
"status.show_more_all": "แสดงเพิ่มเติมทั้งหมด",
"status.show_thread": "แสดงกระทู้",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "เลิกปิดเสียงการสนทนา",
"status.unpin": "ถอนหมุดจากโปรไฟล์",
"suggestions.dismiss": "ยกเลิกข้อเสนอแนะ",
@@ -369,15 +388,23 @@
"time_remaining.minutes": "เหลืออีก {number, plural, other {# นาที}}",
"time_remaining.moments": "ช่วงเวลาที่เหลือ",
"time_remaining.seconds": "เหลืออีก {number, plural, other {# วินาที}}",
- "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "trends.count_by_accounts": "{count} {rawCount, plural, other {คน}}กำลังคุย",
+ "trends.trending_now": "แนวโน้มตอนนี้",
"ui.beforeunload": "แบบร่างของคุณจะหายไปหากคุณออกจาก Mastodon",
"upload_area.title": "ลากแล้วปล่อยเพื่ออัปโหลด",
"upload_button.label": "เพิ่มสื่อ (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "เกินขีดจำกัดการอัปโหลดไฟล์",
"upload_error.poll": "ไม่อนุญาตให้อัปโหลดไฟล์กับการลงคะแนน",
"upload_form.description": "อธิบายสำหรับผู้บกพร่องทางการมองเห็น",
- "upload_form.focus": "ตัวอย่างการเปลี่ยนแปลง",
+ "upload_form.edit": "แก้ไข",
"upload_form.undo": "ลบ",
+ "upload_modal.analyzing_picture": "กำลังวิเคราะห์รูปภาพ…",
+ "upload_modal.apply": "นำไปใช้",
+ "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": "แก้ไขสื่อ",
+ "upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "ตัวอย่าง ({ratio})",
"upload_progress.label": "กำลังอัปโหลด...",
"video.close": "ปิดวิดีโอ",
"video.exit_fullscreen": "ออกจากเต็มหน้าจอ",
diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json
index 0ea015cc6..772b55ee1 100644
--- a/app/javascript/mastodon/locales/tr.json
+++ b/app/javascript/mastodon/locales/tr.json
@@ -1,43 +1,49 @@
{
- "account.add_or_remove_from_list": "Listelere ekle veya kaldır",
+ "account.add_or_remove_from_list": "Listeye ekle veya kaldır",
"account.badges.bot": "Bot",
- "account.block": "Engelle @{name}",
+ "account.block": "@{name} adlı kişiyi engelle",
"account.block_domain": "{domain} alanından her şeyi gizle",
"account.blocked": "Engellenmiş",
+ "account.cancel_follow_request": "Takip isteğini iptal et",
"account.direct": "Mesaj gönder : @{name}",
"account.domain_blocked": "Alan adı gizlendi",
"account.edit_profile": "Profili düzenle",
"account.endorse": "Profildeki özellik",
"account.follow": "Takip et",
- "account.followers": "Takipçiler",
+ "account.followers": "Takipçi",
"account.followers.empty": "Henüz kimse bu kullanıcıyı takip etmiyor.",
"account.follows": "Takip ettikleri",
"account.follows.empty": "Bu kullanıcı henüz kimseyi takip etmiyor.",
"account.follows_you": "Seni takip ediyor",
- "account.hide_reblogs": "@{name} kişisinden boost'ları gizle",
+ "account.hide_reblogs": "@{name} kişisinin yinelemelerini gizle",
+ "account.last_status": "Son aktivite",
"account.link_verified_on": "Bu bağlantının mülkiyeti {date} tarihinde kontrol edildi",
- "account.locked_info": "Bu hesabın gizlilik durumu kilitli olarak ayarlanmış. Sahibi, onu kimin takip edebileceğini elle inceler.",
+ "account.locked_info": "Bu hesabın gizlilik durumu kilitli olarak ayarlanmış. Sahibi, onu kimin takip edebileceğini elle inceliyor.",
"account.media": "Medya",
"account.mention": "@{name} kullanıcısından bahset",
"account.moved_to": "{name} şuraya taşındı:",
- "account.mute": "@{name} kullanıcısını sessize al",
- "account.mute_notifications": "@{name} kullanıcısının bildirimlerini kapat",
- "account.muted": "Sesi kısık",
- "account.posts": "Gönderiler",
+ "account.mute": "@{name} adlı kişiyi sessize al",
+ "account.mute_notifications": "@{name} adlı kişinin bildirimlerini kapat",
+ "account.muted": "Susturuldu",
+ "account.never_active": "Asla",
+ "account.posts": "Gönderi",
"account.posts_with_replies": "Gönderiler ve yanıtlar",
- "account.report": "@{name} kullanıcısını bildir",
- "account.requested": "Onay bekliyor. Takip isteğini iptal etmek için tıklayın",
+ "account.report": "@{name} adlı kişiyi bildir",
+ "account.requested": "Onay Bekleniyor. Takip isteğini iptal etmek için tıklayın",
"account.share": "@{name} kullanıcısının profilini paylaş",
- "account.show_reblogs": "@{name} kullanıcısından boostları göster",
- "account.unblock": "Engeli kaldır @{name}",
+ "account.show_reblogs": "@{name} kullanıcısının yinelemelerini göster",
+ "account.unblock": "@{name} adlı kişinin engelini kaldır",
"account.unblock_domain": "{domain} göster",
"account.unendorse": "Profilde özellik yok",
- "account.unfollow": "Takipten vazgeç",
- "account.unmute": "Sesi aç : @{name}",
- "account.unmute_notifications": "@{name} kullanıcısından bildirimleri aç",
+ "account.unfollow": "Takipi bırak",
+ "account.unmute": "@{name} adlı kişinin sesini aç",
+ "account.unmute_notifications": "@{name} adlı kişinin bildirimlerini aç",
+ "alert.rate_limited.message": "Lütfen sonra tekrar deneyin {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Oran sınırlıdır",
"alert.unexpected.message": "Beklenmedik bir hata oluştu.",
"alert.unexpected.title": "Hay aksi!",
- "boost_modal.combo": "Bir dahaki sefere {combo} tuşuna basabilirsiniz",
+ "autosuggest_hashtag.per_week": "Haftada {count}",
+ "boost_modal.combo": "Bir daha ki sefere {combo} tuşuna basabilirsiniz",
"bundle_column_error.body": "Bu bileşen yüklenirken bir şeyler ters gitti.",
"bundle_column_error.retry": "Tekrar deneyin",
"bundle_column_error.title": "Ağ hatası",
@@ -47,6 +53,7 @@
"column.blocks": "Engellenen kullanıcılar",
"column.community": "Yerel zaman tüneli",
"column.direct": "Doğrudan mesajlar",
+ "column.directory": "Profillere göz at",
"column.domain_blocks": "Gizli alan adları",
"column.favourites": "Favoriler",
"column.follow_requests": "Takip istekleri",
@@ -56,6 +63,7 @@
"column.notifications": "Bildirimler",
"column.pins": "Sabitlenmiş gönderi",
"column.public": "Federe zaman tüneli",
+ "column.status": "Toot",
"column_back_button.label": "Geri",
"column_header.hide_settings": "Ayarları gizle",
"column_header.moveLeft_settings": "Sütunu sola taşı",
@@ -77,7 +85,7 @@
"compose_form.poll.remove_option": "Bu seçimi kaldır",
"compose_form.publish": "Gönder",
"compose_form.publish_loud": "{publish}!",
- "compose_form.sensitive.hide": "Mark media as sensitive",
+ "compose_form.sensitive.hide": "Medyayı hassas olarak işaretle",
"compose_form.sensitive.marked": "Medya hassas olarak işaretlendi",
"compose_form.sensitive.unmarked": "Medya hassas olarak işaretlenmemiş",
"compose_form.spoiler.marked": "Metin uyarının arkasına gizlenir",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "Bu listeyi kalıcı olarak silmek istediğinize emin misiniz?",
"confirmations.domain_block.confirm": "Alan adının tamamını gizle",
"confirmations.domain_block.message": "tüm {domain} alan adını engellemek istediğinizden emin misiniz? Genellikle birkaç hedefli engel ve susturma işi görür ve tercih edilir.",
+ "confirmations.logout.confirm": "Çıkış Yap",
+ "confirmations.logout.message": "Çıkış yapmak istediğinize emin misiniz?",
"confirmations.mute.confirm": "Sessize al",
"confirmations.mute.message": "{name} kullanıcısını sessize almak istiyor musunuz?",
"confirmations.redraft.confirm": "Sil ve yeniden tasarla",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Şimdi yanıtlarken o an oluşturduğunuz mesajın üzerine yazılır. Devam etmek istediğinize emin misiniz?",
"confirmations.unfollow.confirm": "Takibi kaldır",
"confirmations.unfollow.message": "{name}'yi takipten çıkarmak istediğinizden emin misiniz?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "Yalnızca {domain} adresinden",
+ "directory.new_arrivals": "Yeni gelenler",
+ "directory.recently_active": "Son zamanlarda aktif",
"embed.instructions": "Aşağıdaki kodu kopyalayarak bu durumu sitenize gömün.",
"embed.preview": "İşte nasıl görüneceği:",
"emoji_button.activity": "Aktivite",
@@ -118,7 +136,7 @@
"emoji_button.symbols": "Semboller",
"emoji_button.travel": "Seyahat ve Yerler",
"empty_column.account_timeline": "Burada hiç gönderi yok!",
- "empty_column.account_unavailable": "Profile unavailable",
+ "empty_column.account_unavailable": "Profil kullanılamıyor",
"empty_column.blocks": "Henüz bir kullanıcıyı engellemediniz.",
"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 doğrudan mesajınız yok. Bir tane gönderdiğinizde veya aldığınızda burada görünecektir.",
@@ -157,20 +175,20 @@
"home.column_settings.show_reblogs": "Boost edilenleri göster",
"home.column_settings.show_replies": "Cevapları göster",
"home.column_settings.update_live": "Update in real-time",
- "intervals.full.days": "{number, plural, one {# day} other {# days}}",
- "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
- "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
+ "intervals.full.days": "{number, plural, one {# gün} other {# gün}}",
+ "intervals.full.hours": "{number, plural, one {# saat} other {# saat}}",
+ "intervals.full.minutes": "{number, plural, one {# dakika} other {# dakika}}",
"introduction.federation.action": "İleri",
"introduction.federation.federated.headline": "Birleşik",
"introduction.federation.federated.text": "Diğer dosya sunucularından gelen genel gönderiler, birleşik zaman çizelgesinde görünecektir.",
"introduction.federation.home.headline": "Ana sayfa",
- "introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
+ "introduction.federation.home.text": "Takip ettiğiniz kişilerin yayınları ana sayfada gösterilecek. Herhangi bir sunucudaki herkesi takip edebilirsiniz!",
"introduction.federation.local.headline": "Yerel",
"introduction.federation.local.text": "Aynı sunucudaki kişilerin gönderileri yerel zaman tünelinde gözükecektir.",
"introduction.interactions.action": "Öğreticiyi bitirin!",
"introduction.interactions.favourite.headline": "Favori",
"introduction.interactions.favourite.text": "Bir gönderiyi favorilerinize alarak sonrası için saklayabilirsiniz ve yazara gönderiyi beğendiğinizi söyleyebilirsiniz.",
- "introduction.interactions.reblog.headline": "Boost",
+ "introduction.interactions.reblog.headline": "Yinele",
"introduction.interactions.reblog.text": "Başkalarının gönderilerini boostlayarak kendi takipçilerinizle paylaşabillirsiniz.",
"introduction.interactions.reply.headline": "Yanıt",
"introduction.interactions.reply.text": "Başkalarının gönderilerini ve kendi gönderilerinizi yanıtlayabilirsiniz. Bir konuşmada zincirli bir şekilde olacaklardır.",
@@ -205,14 +223,14 @@
"keyboard_shortcuts.search": "aramaya odaklanmak için",
"keyboard_shortcuts.start": "\"başlayın\" sütununu açmak için",
"keyboard_shortcuts.toggle_hidden": "CW'den önceki yazıyı göstermek/gizlemek için",
- "keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
+ "keyboard_shortcuts.toggle_sensitivity": "medyayı göstermek/gizlemek için",
"keyboard_shortcuts.toot": "yeni bir gönderiye başlamak için",
"keyboard_shortcuts.unfocus": "aramada bir gönderiye odaklanmamak için",
"keyboard_shortcuts.up": "listede yukarıya çıkmak için",
"lightbox.close": "Kapat",
"lightbox.next": "Sonraki",
"lightbox.previous": "Önceli",
- "lightbox.view_context": "View context",
+ "lightbox.view_context": "İçeriği göster",
"lists.account.add": "Listeye ekle",
"lists.account.remove": "Listeden kaldır",
"lists.delete": "Listeyi sil",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "Yeni liste başlığı",
"lists.search": "Takip ettiğiniz kişiler arasından arayın",
"lists.subheading": "Listeleriniz",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# yeni öğe} other {# yeni öğe}}",
"loading_indicator.label": "Yükleniyor...",
"media_gallery.toggle_visible": "Görünürlüğü değiştir",
"missing_indicator.label": "Bulunamadı",
@@ -239,7 +257,7 @@
"navigation_bar.favourites": "Favoriler",
"navigation_bar.filters": "Susturulmuş kelimeler",
"navigation_bar.follow_requests": "Takip istekleri",
- "navigation_bar.follows_and_followers": "Follows and followers",
+ "navigation_bar.follows_and_followers": "Takip edilenler ve takipçiler",
"navigation_bar.info": "Genişletilmiş bilgi",
"navigation_bar.keyboard_shortcuts": "Klavye kısayolları",
"navigation_bar.lists": "Listeler",
@@ -248,12 +266,12 @@
"navigation_bar.personal": "Kişisel",
"navigation_bar.pins": "Sabitlenmiş gönderiler",
"navigation_bar.preferences": "Tercihler",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Federe zaman tüneli",
"navigation_bar.security": "Güvenlik",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} senin durumunu favorilere ekledi",
"notification.follow": "{name} seni takip ediyor",
- "notification.mention": "{name} mentioned you",
+ "notification.mention": "{name} senden bahsetti",
"notification.poll": "Oy verdiğiniz bir anket bitti",
"notification.reblog": "{name} senin durumunu boost etti",
"notifications.clear": "Bildirimleri temizle",
@@ -279,7 +297,7 @@
"notifications.group": "{count} bildirim",
"poll.closed": "Kapandı",
"poll.refresh": "Yenile",
- "poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
+ "poll.total_votes": "{count, plural, one {# oy} other {# oy}}",
"poll.vote": "Oy ver",
"poll_button.add_poll": "Bir anket ekleyin",
"poll_button.remove_poll": "Anket kaldır",
@@ -308,15 +326,15 @@
"report.target": "Raporlama",
"search.placeholder": "Ara",
"search_popout.search_format": "Gelişmiş arama 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.full_text": "Basit metin yazdığınız, tercih ettiğiniz, yinelediğiniz veya bunlardan bahsettiğiniz durumların yanı sıra kullanıcı adlarını, görünen adları ve hashtag'leri eşleştiren durumları döndürür.",
+ "search_popout.tips.hashtag": "etiketler",
"search_popout.tips.status": "durum",
- "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
+ "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.hashtags": "Hashtagler",
"search_results.statuses": "Gönderiler",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "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çlar}}",
"status.admin_account": "@{name} için denetim arayüzünü açın",
"status.admin_status": "Denetim arayüzünde bu durumu açın",
@@ -355,7 +373,8 @@
"status.show_more": "Daha fazla göster",
"status.show_more_all": "Hepsi için daha fazla göster",
"status.show_thread": "Başlığı göster",
- "status.unmute_conversation": "Unmute conversation",
+ "status.uncached_media_warning": "Mevcut değil",
+ "status.unmute_conversation": "Sohbeti aç",
"status.unpin": "Profilden sabitlemeyi kaldır",
"suggestions.dismiss": "Öneriyi görmezden gel",
"suggestions.header": "Şuna ilgi duyuyor olabilirsiniz…",
@@ -364,20 +383,28 @@
"tabs_bar.local_timeline": "Yerel",
"tabs_bar.notifications": "Bildirimler",
"tabs_bar.search": "Ara",
- "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",
- "time_remaining.moments": "Moments remaining",
- "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
- "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "time_remaining.days": "{number, plural, one {# gün} other {# gün}} kaldı",
+ "time_remaining.hours": "{number, plural, one {# saat} other {# saat}} kaldı",
+ "time_remaining.minutes": "{number, plural, one {# dakika} other {# dakika}} kaldı",
+ "time_remaining.moments": "Sadece birkaç dakika kaldı",
+ "time_remaining.seconds": "{number, plural, one {# saniye} other {# saniye}} kaldı",
+ "trends.count_by_accounts": "{count} {rawCount, plural, one {kişi} other {kişi}} konuşuyor",
+ "trends.trending_now": "Şu an popüler",
"ui.beforeunload": "Mastodon'dan ayrılırsanız taslağınız kaybolacak.",
"upload_area.title": "Karşıya yükleme için sürükle bırak yapınız",
"upload_button.label": "Görsel ekle",
"upload_error.limit": "Dosya yükleme sınırı aşıldı.",
"upload_error.poll": "Anketlerde dosya yüklemesine izin verilmez.",
- "upload_form.description": "Describe for the visually impaired",
- "upload_form.focus": "Kırp",
+ "upload_form.description": "Görme engelliler için açıklama",
+ "upload_form.edit": "Düzenle",
"upload_form.undo": "Geri al",
+ "upload_modal.analyzing_picture": "Resmi analiz ediyor…",
+ "upload_modal.apply": "Uygula",
+ "upload_modal.description_placeholder": "Pijamalı hasta yağız şoföre çabucak güvendi",
+ "upload_modal.detect_text": "Resimdeki metni algıla",
+ "upload_modal.edit_media": "Medyayı düzenle",
+ "upload_modal.hint": "Her zaman tüm küçük resimlerde görüntülenecek odak noktasını seçmek için ön izlemedeki daireyi tıklayın veya sürükleyin.",
+ "upload_modal.preview_label": "Ön izleme ({ratio})",
"upload_progress.label": "Yükleniyor...",
"video.close": "Videoyu kapat",
"video.exit_fullscreen": "Tam ekrandan çık",
diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json
index 17e8cb49f..515ffdd83 100644
--- a/app/javascript/mastodon/locales/uk.json
+++ b/app/javascript/mastodon/locales/uk.json
@@ -1,52 +1,59 @@
{
- "account.add_or_remove_from_list": "Add or Remove from lists",
+ "account.add_or_remove_from_list": "Додати або видалити зі списків",
"account.badges.bot": "Бот",
"account.block": "Заблокувати @{name}",
"account.block_domain": "Заглушити {domain}",
"account.blocked": "Заблоковані",
+ "account.cancel_follow_request": "Скасувати запит на підписку",
"account.direct": "Пряме повідомлення @{name}",
"account.domain_blocked": "Домен приховано",
"account.edit_profile": "Редагувати профіль",
"account.endorse": "Feature on profile",
"account.follow": "Підписатися",
"account.followers": "Підписники",
- "account.followers.empty": "No one follows this user yet.",
+ "account.followers.empty": "Ніхто ще не підписався на цього користувача.",
"account.follows": "Підписки",
- "account.follows.empty": "This user doesn't follow anyone yet.",
+ "account.follows.empty": "Цей користувач ще ні на кого не підписався.",
"account.follows_you": "Підписаний(-а) на Вас",
"account.hide_reblogs": "Сховати передмухи від @{name}",
- "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.last_status": "Крайня активність",
+ "account.link_verified_on": "Права власності на це посилання були перевірені {date}",
+ "account.locked_info": "Статус конфіденційності цього облікового запису встановлено у заблокований. Власник вручну переглядає, хто може за ним стежити.",
"account.media": "Медіа",
"account.mention": "Згадати @{name}",
"account.moved_to": "{name} переїхав на:",
"account.mute": "Заглушити @{name}",
"account.mute_notifications": "Не показувати сповіщення від @{name}",
"account.muted": "Заглушений",
+ "account.never_active": "Ніколи",
"account.posts": "Дмухи",
"account.posts_with_replies": "Дмухи й відповіді",
"account.report": "Поскаржитися на @{name}",
"account.requested": "Очікує підтвердження. Натисніть щоб відмінити запит",
"account.share": "Поширити профіль @{name}",
"account.show_reblogs": "Показати передмухи від @{name}",
- "account.unblock": "Розблокувати",
+ "account.unblock": "Розблокувати @{name}",
"account.unblock_domain": "Розблокувати {domain}",
"account.unendorse": "Don't feature on profile",
"account.unfollow": "Відписатися",
- "account.unmute": "Зняти глушення @{name}",
+ "account.unmute": "Зняти глушення з @{name}",
"account.unmute_notifications": "Показувати сповіщення від @{name}",
+ "alert.rate_limited.message": "Спробуйте ще раз через {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Швидкість обмежена",
"alert.unexpected.message": "Трапилась неочікувана помилка.",
"alert.unexpected.title": "Ой!",
+ "autosuggest_hashtag.per_week": "{count} в тиждень",
"boost_modal.combo": "Ви можете натиснути {combo}, щоб пропустити це наступного разу",
- "bundle_column_error.body": "Щось пішло не так при завантаженні компоненту.",
- "bundle_column_error.retry": "Спробуйте ще",
+ "bundle_column_error.body": "Щось пішло не так під час завантаження компоненту.",
+ "bundle_column_error.retry": "Спробуйте ще раз",
"bundle_column_error.title": "Помилка мережі",
"bundle_modal_error.close": "Закрити",
- "bundle_modal_error.message": "Щось пішло не так при завантаженні компоненту.",
- "bundle_modal_error.retry": "Спробувати ще",
+ "bundle_modal_error.message": "Щось пішло не так під час завантаження компоненту.",
+ "bundle_modal_error.retry": "Спробувати ще раз",
"column.blocks": "Заблоковані користувачі",
"column.community": "Локальна стрічка",
"column.direct": "Прямі повідомлення",
+ "column.directory": "Переглянути профілі",
"column.domain_blocks": "Приховані домени",
"column.favourites": "Вподобане",
"column.follow_requests": "Запити на підписку",
@@ -56,9 +63,10 @@
"column.notifications": "Сповіщення",
"column.pins": "Закріплені дмухи",
"column.public": "Глобальна стрічка",
+ "column.status": "Toot",
"column_back_button.label": "Назад",
"column_header.hide_settings": "Приховати налаштування",
- "column_header.moveLeft_settings": "Move column to the left",
+ "column_header.moveLeft_settings": "Змістити колонку вліво",
"column_header.moveRight_settings": "Змістити колонку вправо",
"column_header.pin": "Закріпити",
"column_header.show_settings": "Показати налаштування",
@@ -66,25 +74,25 @@
"column_subheading.settings": "Налаштування",
"community.column_settings.media_only": "Тільки медіа",
"compose_form.direct_message_warning": "Цей дмух буде видимий тільки згаданим користувачам.",
- "compose_form.direct_message_warning_learn_more": "Дізнатись більше",
- "compose_form.hashtag_warning": "Цей дмух не буде відображений у жодній стрічці хештеґу, так як він прихований. Тільки публічні дмухи можуть бути знайдені за хештеґом.",
+ "compose_form.direct_message_warning_learn_more": "Дізнатися більше",
+ "compose_form.hashtag_warning": "Цей дмух не буде відображений у жодній стрічці хештеґу, оскільки він прихований. Тільки публічні дмухи можуть бути знайдені за хештеґом.",
"compose_form.lock_disclaimer": "Ваш акаунт не {locked}. Кожен може підписатися на Вас та бачити Ваші приватні пости.",
"compose_form.lock_disclaimer.lock": "приватний",
"compose_form.placeholder": "Що у Вас на думці?",
- "compose_form.poll.add_option": "Add a choice",
- "compose_form.poll.duration": "Poll duration",
- "compose_form.poll.option_placeholder": "Choice {number}",
- "compose_form.poll.remove_option": "Remove this choice",
+ "compose_form.poll.add_option": "Додати варіант",
+ "compose_form.poll.duration": "Тривалість опитування",
+ "compose_form.poll.option_placeholder": "Варіант {number}",
+ "compose_form.poll.remove_option": "Видалити цей варіант",
"compose_form.publish": "Дмухнути",
"compose_form.publish_loud": "{publish}!",
- "compose_form.sensitive.hide": "Mark media as sensitive",
- "compose_form.sensitive.marked": "Медіа відмічене несприйнятливим",
- "compose_form.sensitive.unmarked": "Медіа відмічене сприйнятливим",
- "compose_form.spoiler.marked": "Текст приховано за попередженням",
+ "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_placeholder": "Напишіть своє попередження тут",
"confirmation_modal.cancel": "Відмінити",
- "confirmations.block.block_and_report": "Block & Report",
+ "confirmations.block.block_and_report": "Заблокувати та поскаржитися",
"confirmations.block.confirm": "Заблокувати",
"confirmations.block.message": "Ви впевнені, що хочете заблокувати {name}?",
"confirmations.delete.confirm": "Видалити",
@@ -93,15 +101,25 @@
"confirmations.delete_list.message": "Ви впевнені, що хочете видалити цей список назавжди?",
"confirmations.domain_block.confirm": "Сховати весь домен",
"confirmations.domain_block.message": "Ви точно, точно впевнені, що хочете заблокувати весь домен {domain}? У більшості випадків для нормальної роботи краще заблокувати/заглушити лише деяких користувачів. Ви не зможете бачити контент з цього домену у будь-яких стрічках або ваших сповіщеннях. Ваші підписники з цього домену будуть відписані від вас.",
+ "confirmations.logout.confirm": "Вийти",
+ "confirmations.logout.message": "Ви впевнені, що хочете вийти?",
"confirmations.mute.confirm": "Заглушити",
"confirmations.mute.message": "Ви впевнені, що хочете заглушити {name}?",
- "confirmations.redraft.confirm": "Видалити і перестворити",
+ "confirmations.redraft.confirm": "Видалити та перестворити",
"confirmations.redraft.message": "Ви впевнені, що хочете видалити допис і перестворити його? Ви втратите всі відповіді, передмухи та вподобайки допису.",
- "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.reply.confirm": "Відповісти",
+ "confirmations.reply.message": "Поточна відповідь перезапише повідомлення, яке ви зараз пишете. Ви впевнені, що хочете продовжити?",
"confirmations.unfollow.confirm": "Відписатися",
"confirmations.unfollow.message": "Ви впевнені, що хочете відписатися від {name}?",
- "embed.instructions": "Інтегруйте цей статус на вашому вебсайті, скопіювавши код нижче.",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "З відомого федесвіту",
+ "directory.local": "Тільки з домену {domain}",
+ "directory.new_arrivals": "Нові надходження",
+ "directory.recently_active": "Активні нещодавно",
+ "embed.instructions": "Вбудуйте цей статус до вашого вебсайту, скопіювавши код нижче.",
"embed.preview": "Ось як він виглядатиме:",
"emoji_button.activity": "Заняття",
"emoji_button.custom": "Особливі",
@@ -113,125 +131,125 @@
"emoji_button.objects": "Предмети",
"emoji_button.people": "Люди",
"emoji_button.recent": "Часто використовувані",
- "emoji_button.search": "Знайти...",
+ "emoji_button.search": "Шукати...",
"emoji_button.search_results": "Результати пошуку",
"emoji_button.symbols": "Символи",
"emoji_button.travel": "Подорожі",
- "empty_column.account_timeline": "No toots here!",
- "empty_column.account_unavailable": "Profile unavailable",
- "empty_column.blocks": "You haven't blocked any users yet.",
+ "empty_column.account_timeline": "Тут дмухалок немає!",
+ "empty_column.account_unavailable": "Профіль недоступний",
+ "empty_column.blocks": "Ви ще не заблокували жодного користувача.",
"empty_column.community": "Локальна стрічка пуста. Напишіть щось, щоб розігріти народ!",
"empty_column.direct": "У вас ще немає прямих повідомлень. Коли ви відправите чи отримаєте якесь, воно з'явиться тут.",
- "empty_column.domain_blocks": "There are no hidden domains yet.",
- "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_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
+ "empty_column.domain_blocks": "Тут поки немає прихованих доменів.",
+ "empty_column.favourited_statuses": "У вас ще немає вподобаних дмухів. Коли ви щось вподобаєте, воно з'явиться тут.",
+ "empty_column.favourites": "Ніхто ще не вподобав цього дмуху. Коли хтось це зробить, вони з'являться тут.",
+ "empty_column.follow_requests": "У вас ще немає запитів на підписку. Коли ви їх отримаєте, вони з'являться тут.",
"empty_column.hashtag": "Дописів з цим хештегом поки не існує.",
"empty_column.home": "Ви поки ні на кого не підписані. Погортайте {public}, або скористуйтесь пошуком, щоб освоїтися та познайомитися з іншими користувачами.",
"empty_column.home.public_timeline": "публічні стрічки",
"empty_column.list": "Немає нічого в цьому списку. Коли його учасники дмухнуть нові статуси, вони з'являться тут.",
- "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.lists": "У вас ще немає списків. Коли ви їх створите, вони з'являться тут.",
+ "empty_column.mutes": "Ви ще не заглушили жодного користувача.",
"empty_column.notifications": "У вас ще немає сповіщень. Переписуйтесь з іншими користувачами, щоб почати розмову.",
"empty_column.public": "Тут поки нічого немає! Опублікуйте щось, або вручну підпишіться на користувачів інших інстанцій, щоб заповнити стрічку",
"follow_request.authorize": "Авторизувати",
"follow_request.reject": "Відмовити",
"getting_started.developers": "Розробникам",
- "getting_started.directory": "Profile directory",
+ "getting_started.directory": "Каталог профілів",
"getting_started.documentation": "Документація",
"getting_started.heading": "Ласкаво просимо",
"getting_started.invite": "Запросіть людей",
- "getting_started.open_source_notice": "Mastodon - програма з відкритим вихідним кодом. Ви можете допомогти проекту, або повідомити про проблеми на GitHub за адресою {github}.",
+ "getting_started.open_source_notice": "Mastodon — програма з відкритим сирцевим кодом. Ви можете допомогти проекту, або повідомити про проблеми на GitHub за адресою {github}.",
"getting_started.security": "Безпека",
"getting_started.terms": "Умови використання",
- "hashtag.column_header.tag_mode.all": "and {additional}",
- "hashtag.column_header.tag_mode.any": "or {additional}",
- "hashtag.column_header.tag_mode.none": "without {additional}",
- "hashtag.column_settings.select.no_options_message": "No suggestions found",
- "hashtag.column_settings.select.placeholder": "Enter hashtags…",
- "hashtag.column_settings.tag_mode.all": "All of these",
- "hashtag.column_settings.tag_mode.any": "Any of these",
- "hashtag.column_settings.tag_mode.none": "None of these",
- "hashtag.column_settings.tag_toggle": "Include additional tags in this column",
+ "hashtag.column_header.tag_mode.all": "та {additional}",
+ "hashtag.column_header.tag_mode.any": "або {additional}",
+ "hashtag.column_header.tag_mode.none": "без {additional}",
+ "hashtag.column_settings.select.no_options_message": "Не знайдено пропозицій",
+ "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_toggle": "Додайте додаткові теґи до цього стовпчика",
"home.column_settings.basic": "Основні",
"home.column_settings.show_reblogs": "Показувати передмухи",
"home.column_settings.show_replies": "Показувати відповіді",
"home.column_settings.update_live": "Update in real-time",
- "intervals.full.days": "{number, plural, one {# day} other {# days}}",
- "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
- "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
- "introduction.federation.action": "Next",
- "introduction.federation.federated.headline": "Federated",
- "introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
- "introduction.federation.home.headline": "Home",
- "introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
- "introduction.federation.local.headline": "Local",
- "introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
- "introduction.interactions.action": "Finish toot-orial!",
- "introduction.interactions.favourite.headline": "Favourite",
- "introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
- "introduction.interactions.reblog.headline": "Boost",
- "introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
- "introduction.interactions.reply.headline": "Reply",
- "introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
- "introduction.welcome.action": "Let's go!",
- "introduction.welcome.headline": "First steps",
- "introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
+ "intervals.full.days": "{number, plural, one {# день} few {# дні} other {# днів}}",
+ "intervals.full.hours": "{number, plural, one {# година} few {# години} other {# годин}}",
+ "intervals.full.minutes": "{number, plural, one {# хвилина} few {# хвилини} other {# хвилин}}",
+ "introduction.federation.action": "Далі",
+ "introduction.federation.federated.headline": "Глобальна",
+ "introduction.federation.federated.text": "Публічні пости з інших серверів федіверсу будуть з'являтися у глобальній стрічці.",
+ "introduction.federation.home.headline": "Головна",
+ "introduction.federation.home.text": "Пости від людей, за якими ви слідкуєте, з'являться у Вашій домашній стрічці. Ви можете слідкувати за кожним на будь-якому сервері!",
+ "introduction.federation.local.headline": "Локальна",
+ "introduction.federation.local.text": "Публічні пости від людей на сервері, на якому Ви знаходитесь, будуть з'являтися у локальній стрічці.",
+ "introduction.interactions.action": "Завершити вступ!",
+ "introduction.interactions.favourite.headline": "Улюблене",
+ "introduction.interactions.favourite.text": "Ви можете зберегти дмух на потім і повідомити автора, що він вам сподобався, додавши його в улюблене.",
+ "introduction.interactions.reblog.headline": "Передмухнути",
+ "introduction.interactions.reblog.text": "Ви можете ділитися дмухами інших людей зі своїми підписниками, передмухуючи їх.",
+ "introduction.interactions.reply.headline": "Відповісти",
+ "introduction.interactions.reply.text": "Ви можете відповідати на дмухи інших людей та власні, створюючи ланцюжки розмов.",
+ "introduction.welcome.action": "Поїхали!",
+ "introduction.welcome.headline": "Перші кроки",
+ "introduction.welcome.text": "Вітаємо у федіверсі! Невдовзі ви зможете поширювати повідомлення та спілкуватися зі своїми друзями на розмаїтті серверів. Але цей сервер, {domain}, є особливим — на ньому розміщений ваш профіль, тож запам'ятайте його назву.",
"keyboard_shortcuts.back": "переходити назад",
- "keyboard_shortcuts.blocked": "to open blocked users list",
+ "keyboard_shortcuts.blocked": "відкрити список заблокованих користувачів",
"keyboard_shortcuts.boost": "передмухувати",
"keyboard_shortcuts.column": "фокусуватися на одній з колонок",
"keyboard_shortcuts.compose": "фокусуватися на полі введення",
"keyboard_shortcuts.description": "Опис",
- "keyboard_shortcuts.direct": "to open direct messages column",
+ "keyboard_shortcuts.direct": "відкрити колонку прямих повідомлень",
"keyboard_shortcuts.down": "рухатися вниз стрічкою",
"keyboard_shortcuts.enter": "відкрити статус",
"keyboard_shortcuts.favourite": "вподобати",
- "keyboard_shortcuts.favourites": "to open favourites list",
- "keyboard_shortcuts.federated": "to open federated timeline",
+ "keyboard_shortcuts.favourites": "відкрити список улюбленого",
+ "keyboard_shortcuts.federated": "відкрити глобальну стрічку",
"keyboard_shortcuts.heading": "Гарячі клавіші",
- "keyboard_shortcuts.home": "to open home timeline",
+ "keyboard_shortcuts.home": "відкрити домашню стрічку",
"keyboard_shortcuts.hotkey": "Гаряча клавіша",
"keyboard_shortcuts.legend": "показати підказку",
- "keyboard_shortcuts.local": "to open local timeline",
+ "keyboard_shortcuts.local": "відкрити локальну стрічку",
"keyboard_shortcuts.mention": "згадати автора",
- "keyboard_shortcuts.muted": "to open muted users list",
- "keyboard_shortcuts.my_profile": "to open your profile",
- "keyboard_shortcuts.notifications": "to open notifications column",
- "keyboard_shortcuts.pinned": "to open pinned toots list",
+ "keyboard_shortcuts.muted": "відкрити список заглушених користувачів",
+ "keyboard_shortcuts.my_profile": "відкрити ваш профіль",
+ "keyboard_shortcuts.notifications": "відкрити колонку сповіщень",
+ "keyboard_shortcuts.pinned": "відкрити список закріплених дмухів",
"keyboard_shortcuts.profile": "відкрити профіль автора",
"keyboard_shortcuts.reply": "відповісти",
- "keyboard_shortcuts.requests": "to open follow requests list",
+ "keyboard_shortcuts.requests": "відкрити список бажаючих підписатися",
"keyboard_shortcuts.search": "сфокусуватися на пошуку",
- "keyboard_shortcuts.start": "to open \"get started\" column",
- "keyboard_shortcuts.toggle_hidden": "показати/приховати прихований текст",
- "keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
+ "keyboard_shortcuts.start": "відкрити колонку \"Початок\"",
+ "keyboard_shortcuts.toggle_hidden": "показати/приховати текст під попередженням",
+ "keyboard_shortcuts.toggle_sensitivity": "показати/приховати медіа",
"keyboard_shortcuts.toot": "почати писати новий дмух",
"keyboard_shortcuts.unfocus": "розфокусуватися з нового допису чи пошуку",
"keyboard_shortcuts.up": "рухатися вверх списком",
"lightbox.close": "Закрити",
"lightbox.next": "Далі",
"lightbox.previous": "Назад",
- "lightbox.view_context": "View context",
+ "lightbox.view_context": "Переглянути контекст",
"lists.account.add": "Додати до списку",
"lists.account.remove": "Видалити зі списку",
"lists.delete": "Видалити список",
"lists.edit": "Редагувати список",
- "lists.edit.submit": "Change title",
+ "lists.edit.submit": "Змінити назву",
"lists.new.create": "Додати список",
"lists.new.title_placeholder": "Нова назва списку",
"lists.search": "Шукати серед людей, на яких ви підписані",
"lists.subheading": "Ваші списки",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count, plural, one {# новий елемент} other {# нових елементів}}",
"loading_indicator.label": "Завантаження...",
"media_gallery.toggle_visible": "Показати/приховати",
"missing_indicator.label": "Не знайдено",
"missing_indicator.sublabel": "Ресурс не знайдений",
"mute_modal.hide_notifications": "Приховати сповіщення від користувача?",
- "navigation_bar.apps": "Mobile apps",
+ "navigation_bar.apps": "Мобільні додатки",
"navigation_bar.blocks": "Заблоковані користувачі",
"navigation_bar.community_timeline": "Локальна стрічка",
- "navigation_bar.compose": "Compose new toot",
+ "navigation_bar.compose": "Написати новий дмух",
"navigation_bar.direct": "Прямі повідомлення",
"navigation_bar.discover": "Знайти",
"navigation_bar.domain_blocks": "Приховані домени",
@@ -239,61 +257,61 @@
"navigation_bar.favourites": "Вподобане",
"navigation_bar.filters": "Приховані слова",
"navigation_bar.follow_requests": "Запити на підписку",
- "navigation_bar.follows_and_followers": "Follows and followers",
+ "navigation_bar.follows_and_followers": "Підписки і підписники",
"navigation_bar.info": "Про сайт",
- "navigation_bar.keyboard_shortcuts": "Гарячі клавіши",
+ "navigation_bar.keyboard_shortcuts": "Гарячі клавіші",
"navigation_bar.lists": "Списки",
"navigation_bar.logout": "Вийти",
"navigation_bar.mutes": "Заглушені користувачі",
"navigation_bar.personal": "Особисте",
"navigation_bar.pins": "Закріплені дмухи",
"navigation_bar.preferences": "Налаштування",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Глобальна стрічка",
"navigation_bar.security": "Безпека",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} вподобав(-ла) ваш допис",
"notification.follow": "{name} підписався(-лась) на Вас",
"notification.mention": "{name} згадав(-ла) Вас",
- "notification.poll": "A poll you have voted in has ended",
+ "notification.poll": "Опитування, у якому ви голосували, закінчилося",
"notification.reblog": "{name} передмухнув(-ла) Ваш допис",
"notifications.clear": "Очистити сповіщення",
"notifications.clear_confirmation": "Ви впевнені, що хочете назавжди видалити всі сповіщеня?",
"notifications.column_settings.alert": "Сповіщення на комп'ютері",
"notifications.column_settings.favourite": "Вподобане:",
- "notifications.column_settings.filter_bar.advanced": "Display all categories",
- "notifications.column_settings.filter_bar.category": "Quick filter bar",
- "notifications.column_settings.filter_bar.show": "Show",
+ "notifications.column_settings.filter_bar.advanced": "Показати всі категорії",
+ "notifications.column_settings.filter_bar.category": "Панель швидкого фільтру",
+ "notifications.column_settings.filter_bar.show": "Показати",
"notifications.column_settings.follow": "Нові підписники:",
"notifications.column_settings.mention": "Згадки:",
- "notifications.column_settings.poll": "Poll results:",
+ "notifications.column_settings.poll": "Результати опитування:",
"notifications.column_settings.push": "Push-сповіщення",
"notifications.column_settings.reblog": "Передмухи:",
"notifications.column_settings.show": "Показати в колонці",
"notifications.column_settings.sound": "Відтворювати звуки",
- "notifications.filter.all": "All",
- "notifications.filter.boosts": "Boosts",
- "notifications.filter.favourites": "Favourites",
- "notifications.filter.follows": "Follows",
- "notifications.filter.mentions": "Mentions",
- "notifications.filter.polls": "Poll results",
+ "notifications.filter.all": "Усі",
+ "notifications.filter.boosts": "Передмухи",
+ "notifications.filter.favourites": "Улюблені",
+ "notifications.filter.follows": "Підписки",
+ "notifications.filter.mentions": "Згадки",
+ "notifications.filter.polls": "Результати опитування",
"notifications.group": "{count} сповіщень",
- "poll.closed": "Closed",
- "poll.refresh": "Refresh",
- "poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
- "poll.vote": "Vote",
- "poll_button.add_poll": "Add a poll",
- "poll_button.remove_poll": "Remove poll",
+ "poll.closed": "Закрито",
+ "poll.refresh": "Оновити",
+ "poll.total_votes": "{count, plural, one {# голос} few {# голоси} many {# голосів} other {# голосів}}",
+ "poll.vote": "Проголосувати",
+ "poll_button.add_poll": "Додати опитування",
+ "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.short": "Публічний",
+ "privacy.public.short": "Публічно",
"privacy.unlisted.long": "Не показувати у публічних стрічках",
"privacy.unlisted.short": "Прихований",
"regeneration_indicator.label": "Завантаження…",
- "regeneration_indicator.sublabel": "Ваша домашня стрічка готова!",
+ "regeneration_indicator.sublabel": "Ваша домашня стрічка готується!",
"relative_time.days": "{number}д",
"relative_time.hours": "{number}г",
"relative_time.just_now": "щойно",
@@ -305,82 +323,91 @@
"report.hint": "Скаргу буде відправлено модераторам Вашого сайту. Ви можете надати їм пояснення, чому ви скаржитесь на аккаунт нижче:",
"report.placeholder": "Додаткові коментарі",
"report.submit": "Відправити",
- "report.target": "Скаржимося на",
+ "report.target": "Скаржимося на {target}",
"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.",
- "search_popout.tips.hashtag": "hashtag",
- "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.hashtags": "Hashtags",
- "search_results.statuses": "Toots",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_popout.search_format": "Розширений формат пошуку",
+ "search_popout.tips.full_text": "Пошук за текстом знаходить статуси, які ви написали, вподобали, передмухнули, або в яких вас згадували. Також він знаходить імена користувачів, реальні імена та хештеґи.",
+ "search_popout.tips.hashtag": "хештеґ",
+ "search_popout.tips.status": "статус",
+ "search_popout.tips.text": "Пошук за текстом знаходить імена користувачів, реальні імена та хештеґи",
+ "search_popout.tips.user": "користувач",
+ "search_results.accounts": "Люди",
+ "search_results.hashtags": "Хештеґи",
+ "search_results.statuses": "Дмухів",
+ "search_results.statuses_fts_disabled": "Пошук дмухів за вмістом недоступний на цьому сервері Mastodon.",
"search_results.total": "{count, number} {count, plural, one {результат} few {результати} many {результатів} other {результатів}}",
- "status.admin_account": "Open moderation interface for @{name}",
- "status.admin_status": "Open this status in the moderation interface",
- "status.block": "Block @{name}",
- "status.cancel_reblog_private": "Unboost",
+ "status.admin_account": "Відкрити інтерфейс модерації для @{name}",
+ "status.admin_status": "Відкрити цей статус в інтерфейсі модерації",
+ "status.block": "Заблокувати @{name}",
+ "status.cancel_reblog_private": "Відмінити передмухання",
"status.cannot_reblog": "Цей допис не може бути передмухнутий",
- "status.copy": "Copy link to status",
+ "status.copy": "Копіювати посилання до статусу",
"status.delete": "Видалити",
- "status.detailed_status": "Detailed conversation view",
- "status.direct": "Direct message @{name}",
- "status.embed": "Embed",
+ "status.detailed_status": "Детальний вигляд бесіди",
+ "status.direct": "Пряме повідомлення до @{name}",
+ "status.embed": "Вбудувати",
"status.favourite": "Подобається",
- "status.filtered": "Filtered",
+ "status.filtered": "Відфільтровано",
"status.load_more": "Завантажити більше",
"status.media_hidden": "Медіаконтент приховано",
- "status.mention": "Згадати",
- "status.more": "More",
- "status.mute": "Mute @{name}",
+ "status.mention": "Згадати @{name}",
+ "status.more": "Більше",
+ "status.mute": "Заглушити @{name}",
"status.mute_conversation": "Заглушити діалог",
"status.open": "Розгорнути допис",
- "status.pin": "Pin on profile",
- "status.pinned": "Pinned toot",
- "status.read_more": "Read more",
+ "status.pin": "Закріпити у профілі",
+ "status.pinned": "Закріплений дмух",
+ "status.read_more": "Дізнатися більше",
"status.reblog": "Передмухнути",
- "status.reblog_private": "Boost to original audience",
+ "status.reblog_private": "Передмухнути для початкової аудиторії",
"status.reblogged_by": "{name} передмухнув(-ла)",
- "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
- "status.redraft": "Delete & re-draft",
+ "status.reblogs.empty": "Ніхто ще не передмухнув цього дмуху. Коли якісь користувачі це зроблять, вони будуть відображені тут.",
+ "status.redraft": "Видалити та перестворити",
"status.reply": "Відповісти",
- "status.replyAll": "Відповісти на тред",
- "status.report": "Поскаржитися",
- "status.sensitive_warning": "Непристойний зміст",
- "status.share": "Share",
+ "status.replyAll": "Відповісти на ланцюжок",
+ "status.report": "Поскаржитися на @{name}",
+ "status.sensitive_warning": "Дражливий зміст",
+ "status.share": "Поділитися",
"status.show_less": "Згорнути",
"status.show_less_all": "Show less for all",
"status.show_more": "Розгорнути",
"status.show_more_all": "Show more for all",
- "status.show_thread": "Show thread",
+ "status.show_thread": "Показати ланцюжок",
+ "status.uncached_media_warning": "Недоступно",
"status.unmute_conversation": "Зняти глушення з діалогу",
- "status.unpin": "Unpin from profile",
- "suggestions.dismiss": "Dismiss suggestion",
- "suggestions.header": "You might be interested in…",
+ "status.unpin": "Відкріпити від профілю",
+ "suggestions.dismiss": "Відхилити пропозицію",
+ "suggestions.header": "Вас може зацікавити…",
"tabs_bar.federated_timeline": "Глобальна",
"tabs_bar.home": "Головна",
"tabs_bar.local_timeline": "Локальна",
"tabs_bar.notifications": "Сповіщення",
"tabs_bar.search": "Пошук",
- "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",
+ "time_remaining.days": "{number, plural, one {# день} few {# дні} other {# днів}}",
+ "time_remaining.hours": "{number, plural, one {# година} few {# години} other {# годин}}",
+ "time_remaining.minutes": "{number, plural, one {# хвилина} few {# хвилини} other {# хвилин}}",
"time_remaining.moments": "Moments remaining",
- "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
- "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
+ "time_remaining.seconds": "{number, plural, one {# секунда} few {# секунди} other {# секунд}}",
+ "trends.count_by_accounts": "{count} {rawCount, plural, one {людина} few {людини} many {людей} other {людей}} обговорюють це",
+ "trends.trending_now": "Актуальні",
"ui.beforeunload": "Вашу чернетку буде втрачено, якщо ви покинете Mastodon.",
"upload_area.title": "Перетягніть сюди, щоб завантажити",
- "upload_button.label": "Додати медіаконтент",
- "upload_error.limit": "File upload limit exceeded.",
- "upload_error.poll": "File upload not allowed with polls.",
+ "upload_button.label": "Додати медіаконтент ({formats})",
+ "upload_error.limit": "Ліміт завантаження файлів перевищено.",
+ "upload_error.poll": "Не можна завантажувати файли до опитувань.",
"upload_form.description": "Опишіть для людей з вадами зору",
- "upload_form.focus": "Обрізати",
+ "upload_form.edit": "Змінити",
"upload_form.undo": "Видалити",
+ "upload_modal.analyzing_picture": "Аналізуємо малюнок…",
+ "upload_modal.apply": "Застосувати",
+ "upload_modal.description_placeholder": "Щурячий бугай із їжаком-харцизом в'ючись підписали ґешефт у єнах",
+ "upload_modal.detect_text": "Виявити текст на малюнку",
+ "upload_modal.edit_media": "Редагувати медіа",
+ "upload_modal.hint": "Клацніть або перетягніть коло на превью, щоб обрати точку, яку буде завжди видно на мініатюрах.",
+ "upload_modal.preview_label": "Переглянути ({ratio})",
"upload_progress.label": "Завантаження...",
"video.close": "Закрити відео",
- "video.exit_fullscreen": "Вийти з повного екрану",
+ "video.exit_fullscreen": "Вийти з повноекранного режиму",
"video.expand": "Розширити відео",
"video.fullscreen": "На весь екран",
"video.hide": "Приховати відео",
diff --git a/app/javascript/mastodon/locales/whitelist_pt.json b/app/javascript/mastodon/locales/whitelist_br.json
similarity index 100%
rename from app/javascript/mastodon/locales/whitelist_pt.json
rename to app/javascript/mastodon/locales/whitelist_br.json
diff --git a/app/javascript/mastodon/locales/whitelist_et.json b/app/javascript/mastodon/locales/whitelist_et.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/mastodon/locales/whitelist_et.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/mastodon/locales/whitelist_ga.json b/app/javascript/mastodon/locales/whitelist_ga.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/mastodon/locales/whitelist_ga.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/mastodon/locales/whitelist_nn.json b/app/javascript/mastodon/locales/whitelist_nn.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/mastodon/locales/whitelist_nn.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/mastodon/locales/whitelist_pt-PT.json b/app/javascript/mastodon/locales/whitelist_pt-PT.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/mastodon/locales/whitelist_pt-PT.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json
index bb774f1aa..28f35313c 100644
--- a/app/javascript/mastodon/locales/zh-CN.json
+++ b/app/javascript/mastodon/locales/zh-CN.json
@@ -4,6 +4,7 @@
"account.block": "屏蔽 @{name}",
"account.block_domain": "隐藏来自 {domain} 的内容",
"account.blocked": "已屏蔽",
+ "account.cancel_follow_request": "取消关注请求",
"account.direct": "发送私信给 @{name}",
"account.domain_blocked": "网站已屏蔽",
"account.edit_profile": "修改个人资料",
@@ -15,6 +16,7 @@
"account.follows.empty": "此用户目前尚未关注任何人。",
"account.follows_you": "关注了你",
"account.hide_reblogs": "隐藏来自 @{name} 的转嘟",
+ "account.last_status": "Last active",
"account.link_verified_on": "此链接的所有权已在 {date} 检查",
"account.locked_info": "此账户已锁嘟。账户的主人会手动审核关注者。",
"account.media": "媒体",
@@ -23,6 +25,7 @@
"account.mute": "隐藏 @{name}",
"account.mute_notifications": "隐藏来自 @{name} 的通知",
"account.muted": "已隐藏",
+ "account.never_active": "Never",
"account.posts": "嘟文",
"account.posts_with_replies": "嘟文和回复",
"account.report": "举报 @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "取消关注",
"account.unmute": "不再隐藏 @{name}",
"account.unmute_notifications": "不再隐藏来自 @{name} 的通知",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "发生了意外错误。",
"alert.unexpected.title": "哎呀!",
+ "autosuggest_hashtag.per_week": "每星期 {count} 条",
"boost_modal.combo": "下次按住 {combo} 即可跳过此提示",
"bundle_column_error.body": "载入这个组件时发生了错误。",
"bundle_column_error.retry": "重试",
@@ -47,6 +53,7 @@
"column.blocks": "已屏蔽的用户",
"column.community": "本站时间轴",
"column.direct": "私信",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "已屏蔽的网站",
"column.favourites": "收藏",
"column.follow_requests": "关注请求",
@@ -56,6 +63,7 @@
"column.notifications": "通知",
"column.pins": "置顶嘟文",
"column.public": "跨站公共时间轴",
+ "column.status": "Toot",
"column_back_button.label": "返回",
"column_header.hide_settings": "隐藏设置",
"column_header.moveLeft_settings": "将此栏左移",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "你确定要永久删除这个列表吗?",
"confirmations.domain_block.confirm": "隐藏整个网站的内容",
"confirmations.domain_block.message": "你真的确定要隐藏所有来自 {domain} 的内容吗?多数情况下,屏蔽或隐藏几个特定的用户就已经足够了。来自该网站的内容将不再出现在你的任何公共时间轴或通知列表里。来自该网站的关注者将会被移除。",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "隐藏",
"confirmations.mute.message": "你确定要隐藏 {name} 吗?",
"confirmations.redraft.confirm": "删除并重新编辑",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "回复此消息将会覆盖当前正在编辑的信息。确定继续吗?",
"confirmations.unfollow.confirm": "取消关注",
"confirmations.unfollow.message": "你确定要取消关注 {name} 吗?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "要在你的网站上嵌入这条嘟文,请复制以下代码。",
"embed.preview": "它会像这样显示出来:",
"emoji_button.activity": "活动",
@@ -222,7 +240,7 @@
"lists.new.title_placeholder": "新列表的标题",
"lists.search": "搜索你关注的人",
"lists.subheading": "你的列表",
- "load_pending": "{count, plural, one {# new item} other {# new items}}",
+ "load_pending": "{count} 项",
"loading_indicator.label": "加载中……",
"media_gallery.toggle_visible": "切换显示/隐藏",
"missing_indicator.label": "找不到内容",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "个人",
"navigation_bar.pins": "置顶嘟文",
"navigation_bar.preferences": "首选项",
- "navigation_bar.profile_directory": "用户目录",
"navigation_bar.public_timeline": "跨站公共时间轴",
"navigation_bar.security": "安全",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} 收藏了你的嘟文",
"notification.follow": "{name} 开始关注你",
"notification.mention": "{name} 提及了你",
@@ -316,7 +334,7 @@
"search_results.accounts": "用户",
"search_results.hashtags": "话题标签",
"search_results.statuses": "嘟文",
- "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
+ "search_results.statuses_fts_disabled": "此Mastodon服务器未启用嘟文内容搜索。",
"search_results.total": "共 {count, number} 个结果",
"status.admin_account": "打开 @{name} 的管理界面",
"status.admin_status": "打开这条嘟文的管理界面",
@@ -355,6 +373,7 @@
"status.show_more": "显示内容",
"status.show_more_all": "显示所有内容",
"status.show_thread": "显示全部对话",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "不再隐藏此对话",
"status.unpin": "在个人资料页面取消置顶",
"suggestions.dismiss": "关闭建议",
@@ -370,14 +389,22 @@
"time_remaining.moments": "即将结束",
"time_remaining.seconds": "剩余 {number, plural, one {# 秒} other {# 秒}}",
"trends.count_by_accounts": "{count} 人正在讨论",
+ "trends.trending_now": "现在流行",
"ui.beforeunload": "如果你现在离开 Mastodon,你的草稿内容将会丢失。",
"upload_area.title": "将文件拖放到此处开始上传",
"upload_button.label": "上传媒体文件 (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "文件大小超过限制。",
"upload_error.poll": "投票中不允许上传文件。",
"upload_form.description": "为视觉障碍人士添加文字说明",
- "upload_form.focus": "设置缩略图",
+ "upload_form.edit": "编辑",
"upload_form.undo": "删除",
+ "upload_modal.analyzing_picture": "分析图片…",
+ "upload_modal.apply": "应用",
+ "upload_modal.description_placeholder": "天地玄黄 宇宙洪荒 日月盈仄 辰宿列张",
+ "upload_modal.detect_text": "从图片中检测文本",
+ "upload_modal.edit_media": "编辑媒体",
+ "upload_modal.hint": "在预览图上点击或拖动圆圈,以选择缩略图的焦点。",
+ "upload_modal.preview_label": "预览 ({ratio})",
"upload_progress.label": "上传中……",
"video.close": "关闭视频",
"video.exit_fullscreen": "退出全屏",
diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json
index b4c8b874a..845c2c956 100644
--- a/app/javascript/mastodon/locales/zh-HK.json
+++ b/app/javascript/mastodon/locales/zh-HK.json
@@ -4,6 +4,7 @@
"account.block": "封鎖 @{name}",
"account.block_domain": "隱藏來自 {domain} 的一切文章",
"account.blocked": "封鎖",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "私訊 @{name}",
"account.domain_blocked": "服務站被隱藏",
"account.edit_profile": "修改個人資料",
@@ -15,6 +16,7 @@
"account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "關注你",
"account.hide_reblogs": "隱藏 @{name} 的轉推",
+ "account.last_status": "Last active",
"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": "媒體",
@@ -23,6 +25,7 @@
"account.mute": "將 @{name} 靜音",
"account.mute_notifications": "將來自 @{name} 的通知靜音",
"account.muted": "靜音",
+ "account.never_active": "Never",
"account.posts": "文章",
"account.posts_with_replies": "包含回覆的文章",
"account.report": "舉報 @{name}",
@@ -35,8 +38,11 @@
"account.unfollow": "取消關注",
"account.unmute": "取消 @{name} 的靜音",
"account.unmute_notifications": "取消來自 @{name} 通知的靜音",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "發生不可預期的錯誤。",
"alert.unexpected.title": "噢!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "如你想在下次路過這顯示,請按{combo},",
"bundle_column_error.body": "加載本組件出錯。",
"bundle_column_error.retry": "重試",
@@ -47,6 +53,7 @@
"column.blocks": "封鎖用戶",
"column.community": "本站時間軸",
"column.direct": "個人訊息",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "隱藏的服務站",
"column.favourites": "最愛的文章",
"column.follow_requests": "關注請求",
@@ -56,6 +63,7 @@
"column.notifications": "通知",
"column.pins": "置頂文章",
"column.public": "跨站時間軸",
+ "column.status": "Toot",
"column_back_button.label": "返回",
"column_header.hide_settings": "隱藏設定",
"column_header.moveLeft_settings": "將欄左移",
@@ -93,6 +101,8 @@
"confirmations.delete_list.message": "你確定要永久刪除這列表嗎?",
"confirmations.domain_block.confirm": "隱藏整個網站",
"confirmations.domain_block.message": "你真的真的確定要隱藏整個 {domain} ?多數情況下,比較推薦封鎖或靜音幾個特定目標就好。你從此將不會再看到該站的內容和通知。來自該站的關注者亦會被移除。",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "靜音",
"confirmations.mute.message": "你確定要將{name}靜音嗎?",
"confirmations.redraft.confirm": "刪除並編輯",
@@ -101,6 +111,14 @@
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"confirmations.unfollow.confirm": "取消關注",
"confirmations.unfollow.message": "真的不要繼續關注 {name} 了嗎?",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
"embed.instructions": "要內嵌此文章,請將以下代碼貼進你的網站。",
"embed.preview": "看上去會是這樣:",
"emoji_button.activity": "活動",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "Personal",
"navigation_bar.pins": "置頂文章",
"navigation_bar.preferences": "偏好設定",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "跨站時間軸",
"navigation_bar.security": "安全",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} 收藏了你的文章",
"notification.follow": "{name} 開始關注你",
"notification.mention": "{name} 提及你",
@@ -355,6 +373,7 @@
"status.show_more": "顯示更多",
"status.show_more_all": "顯示更多這類文章",
"status.show_thread": "Show thread",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "解禁對話",
"status.unpin": "解除置頂",
"suggestions.dismiss": "Dismiss suggestion",
@@ -370,14 +389,22 @@
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} 位用戶在討論",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "如果你現在離開 Mastodon,你的草稿內容將會被丟棄。",
"upload_area.title": "將檔案拖放至此上載",
"upload_button.label": "上載媒體檔案",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "為視覺障礙人士添加文字說明",
- "upload_form.focus": "裁切",
+ "upload_form.edit": "Edit",
"upload_form.undo": "刪除",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "上載中……",
"video.close": "關閉影片",
"video.exit_fullscreen": "退出全熒幕",
diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json
index 5f75b38d6..8cb601786 100644
--- a/app/javascript/mastodon/locales/zh-TW.json
+++ b/app/javascript/mastodon/locales/zh-TW.json
@@ -1,28 +1,31 @@
{
- "account.add_or_remove_from_list": "從名單中新增或移除",
+ "account.add_or_remove_from_list": "從列表新增或移除",
"account.badges.bot": "機器人",
"account.block": "封鎖 @{name}",
- "account.block_domain": "隱藏來自 {domain} 的所有嘟文",
+ "account.block_domain": "隱藏來自 {domain} 的所有內容",
"account.blocked": "已封鎖",
+ "account.cancel_follow_request": "Cancel follow request",
"account.direct": "傳私訊給 @{name}",
"account.domain_blocked": "已隱藏網域",
"account.edit_profile": "編輯個人資料",
"account.endorse": "在個人資料推薦對方",
"account.follow": "關注",
"account.followers": "關注者",
- "account.followers.empty": "還沒有人關注這位使用者。",
+ "account.followers.empty": "尚沒有人關注這位使用者。",
"account.follows": "正在關注",
- "account.follows.empty": "這個使用者尚未關注任何使用者。",
+ "account.follows.empty": "這位使用者尚未關注任何使用者。",
"account.follows_you": "關注了你",
"account.hide_reblogs": "隱藏來自 @{name} 的轉推",
- "account.link_verified_on": "此連結的所有權已在 {date} 檢查",
- "account.locked_info": "此帳號的隱私狀態被設為鎖定,擁有者將手動審核可關注此帳號的人。",
+ "account.last_status": "Last active",
+ "account.link_verified_on": "已在 {date} 檢查此連結的擁有者權限",
+ "account.locked_info": "這隻帳戶的隱私狀態被設成鎖定。該擁有者會手動審核能關注這隻帳號的人。",
"account.media": "媒體",
"account.mention": "提及 @{name}",
"account.moved_to": "{name} 已遷移至:",
"account.mute": "靜音 @{name}",
"account.mute_notifications": "靜音來自 @{name} 的通知",
"account.muted": "已靜音",
+ "account.never_active": "Never",
"account.posts": "嘟文",
"account.posts_with_replies": "嘟文與回覆",
"account.report": "檢舉 @{name}",
@@ -33,22 +36,26 @@
"account.unblock_domain": "取消隱藏 {domain}",
"account.unendorse": "不再於個人資料頁面推薦對方",
"account.unfollow": "取消關注",
- "account.unmute": "不再靜音 @{name}",
- "account.unmute_notifications": "不再靜音來自 @{name} 的通知",
+ "account.unmute": "取消靜音 @{name}",
+ "account.unmute_notifications": "重新接收來自 @{name} 的通知",
+ "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
+ "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "發生了非預期的錯誤。",
"alert.unexpected.title": "哎呀!",
+ "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "下次您可以按 {combo} 跳過",
- "bundle_column_error.body": "載入此組件時發生錯誤。",
+ "bundle_column_error.body": "載入此元件時發生錯誤。",
"bundle_column_error.retry": "重試",
"bundle_column_error.title": "網路錯誤",
"bundle_modal_error.close": "關閉",
- "bundle_modal_error.message": "載入此組件時發生錯誤。",
+ "bundle_modal_error.message": "載入此元件時發生錯誤。",
"bundle_modal_error.retry": "重試",
"column.blocks": "封鎖的使用者",
- "column.community": "本地時間軸",
+ "column.community": "本機時間軸",
"column.direct": "私訊",
+ "column.directory": "Browse profiles",
"column.domain_blocks": "隱藏的網域",
- "column.favourites": "最愛",
+ "column.favourites": "收藏",
"column.follow_requests": "關注請求",
"column.home": "主頁",
"column.lists": "名單",
@@ -56,6 +63,7 @@
"column.notifications": "通知",
"column.pins": "釘選的嘟文",
"column.public": "聯邦時間軸",
+ "column.status": "Toot",
"column_back_button.label": "上一頁",
"column_header.hide_settings": "隱藏設定",
"column_header.moveLeft_settings": "將欄位向左移動",
@@ -64,44 +72,54 @@
"column_header.show_settings": "顯示設定",
"column_header.unpin": "取消釘選",
"column_subheading.settings": "設定",
- "community.column_settings.media_only": "僅媒體",
- "compose_form.direct_message_warning": "這條嘟文只有被提及的使用者才能看到。",
+ "community.column_settings.media_only": "只有媒體",
+ "compose_form.direct_message_warning": "這條嘟文只有被提及的使用者才看得到。",
"compose_form.direct_message_warning_learn_more": "了解更多",
- "compose_form.hashtag_warning": "因這則嘟文設成「不公開」,因此它不會列在任何「#」標籤下。只有公開嘟文才能用「#」標籤找到。",
- "compose_form.lock_disclaimer": "您的帳戶尚未{locked}。任何人都能關注您並看到您設定成僅關注者能看的嘟文。",
+ "compose_form.hashtag_warning": "由於這則嘟文被設定成「不公開」,所以它將不會被列在任何主題標籤下。只有公開的嘟文才能藉主題標籤找到。",
+ "compose_form.lock_disclaimer": "您的帳戶尚未{locked}。任何人都能關注您並看到您設定成只有關注者能看的嘟文。",
"compose_form.lock_disclaimer.lock": "上鎖",
"compose_form.placeholder": "您正在想些什麼?",
"compose_form.poll.add_option": "新增選擇",
"compose_form.poll.duration": "投票期限",
"compose_form.poll.option_placeholder": "第 {number} 個選擇",
"compose_form.poll.remove_option": "移除此選擇",
- "compose_form.publish": "嘟掉",
+ "compose_form.publish": "嘟出去",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "Mark media as sensitive",
"compose_form.sensitive.marked": "此媒體被標記為敏感內容",
- "compose_form.sensitive.unmarked": "此媒體未被標記為敏感內容",
- "compose_form.spoiler.marked": "正文已隱藏在警告之後",
+ "compose_form.sensitive.unmarked": "此媒體未標記為敏感內容",
+ "compose_form.spoiler.marked": "正文已隱藏到警告之後",
"compose_form.spoiler.unmarked": "正文未被隱藏",
"compose_form.spoiler_placeholder": "請在此處寫入警告訊息",
"confirmation_modal.cancel": "取消",
"confirmations.block.block_and_report": "Block & 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.domain_block.confirm": "隱藏整個網域",
- "confirmations.domain_block.message": "確定封鎖整個 {domain} 嗎?多數情況下,封鎖或靜音幾個特定使用者應該就能滿足你的需求了。您將不能在任何公開時間軸或通知中看到來自該網域的內容。來自該網域的關注者將被移除。",
+ "confirmations.domain_block.message": "真的非常確定封鎖整個 {domain} 嗎?大部分情況下,你只需要封鎖或靜音少數特定的人就能滿足需求了。你將不能在任何公開的時間軸及通知中看到那個網域的內容。你來自該網域的關注者也會被移除。",
+ "confirmations.logout.confirm": "Log out",
+ "confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "靜音",
"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} 嗎?",
- "embed.instructions": "要嵌入此嘟文,請將以下代碼貼進你的網站。",
+ "conversation.delete": "Delete conversation",
+ "conversation.mark_as_read": "Mark as read",
+ "conversation.open": "View conversation",
+ "conversation.with": "With {names}",
+ "directory.federated": "From known fediverse",
+ "directory.local": "From {domain} only",
+ "directory.new_arrivals": "New arrivals",
+ "directory.recently_active": "Recently active",
+ "embed.instructions": "要嵌入此嘟文,請將以下程式碼貼進你的網站。",
"embed.preview": "他會顯示成這樣:",
"emoji_button.activity": "活動",
"emoji_button.custom": "自訂",
@@ -109,7 +127,7 @@
"emoji_button.food": "飲食",
"emoji_button.label": "插入表情符號",
"emoji_button.nature": "大自然",
- "emoji_button.not_found": "就沒這表情符號吼!! (╯°□°)╯︵ ┻━┻",
+ "emoji_button.not_found": "啊就沒這表情符號吼!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "物件",
"emoji_button.people": "使用者",
"emoji_button.recent": "最常使用",
@@ -123,15 +141,15 @@
"empty_column.community": "本地時間軸是空的。快公開嘟些文搶頭香啊!",
"empty_column.direct": "您還沒有任何私訊。當您私訊別人或收到私訊時,它將於此顯示。",
"empty_column.domain_blocks": "尚未隱藏任何網域。",
- "empty_column.favourited_statuses": "你還沒有將任何嘟文標為最愛。最愛的嘟文將顯示於此。",
- "empty_column.favourites": "還沒有人將此嘟文標為最愛。如果有人標成最愛,則會顯示在這裡。",
- "empty_column.follow_requests": "您尚未收到任何關注請求。收到時會顯示於此。",
- "empty_column.hashtag": "這個「#」標籤下什麼都沒有。",
+ "empty_column.favourited_statuses": "你還沒收藏任何嘟文。這裡將會顯示你收藏的嘟文。",
+ "empty_column.favourites": "還沒有人收藏這則嘟文。這裡將會顯示被收藏的嘟文。",
+ "empty_column.follow_requests": "您尚未收到任何關注請求。這裡將會顯示收到的關注請求。",
+ "empty_column.hashtag": "這個主題標籤下什麼也沒有。",
"empty_column.home": "您的首頁時間軸是空的!前往 {public} 或使用搜尋功能來認識其他人。",
"empty_column.home.public_timeline": "公開時間軸",
- "empty_column.list": "此份名單還沒有東西。當此名單的成員嘟出了新的嘟文時,它們就會出現在這裡。",
- "empty_column.lists": "你還沒有建立任何名單。你建立的名單將會顯示在這裡。",
- "empty_column.mutes": "你還沒有靜音任何使用者。",
+ "empty_column.list": "這份名單還沒有東西。當此名單的成員嘟出了新的嘟文時,它們就會顯示於此。",
+ "empty_column.lists": "你還沒有建立任何名單。這裡將會顯示你所建立的名單。",
+ "empty_column.mutes": "你尚未靜音任何使用者。",
"empty_column.notifications": "您尚未收到任何通知,和別人互動開啟對話吧。",
"empty_column.public": "這裡什麼都沒有!嘗試寫些公開的嘟文,或著自己關注其他伺服器的使用者後就會有嘟文出現了",
"follow_request.authorize": "授權",
@@ -146,61 +164,61 @@
"getting_started.terms": "服務條款",
"hashtag.column_header.tag_mode.all": "以及{additional}",
"hashtag.column_header.tag_mode.any": "或是{additional}",
- "hashtag.column_header.tag_mode.none": "而不用{additional}",
+ "hashtag.column_header.tag_mode.none": "而無需{additional}",
"hashtag.column_settings.select.no_options_message": "找不到建議",
- "hashtag.column_settings.select.placeholder": "輸入「#」標籤…",
+ "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_toggle": "對此欄位加入額外標籤",
+ "hashtag.column_settings.tag_mode.none": "全不",
+ "hashtag.column_settings.tag_toggle": "將額外標籤加入到這個欄位",
"home.column_settings.basic": "基本",
- "home.column_settings.show_reblogs": "顯示轉推",
+ "home.column_settings.show_reblogs": "顯示轉嘟",
"home.column_settings.show_replies": "顯示回覆",
"home.column_settings.update_live": "Update in real-time",
"intervals.full.days": "{number, plural, one {# 天} other {# 天}}",
"intervals.full.hours": "{number, plural, one {# 小時} other {# 小時}}",
"intervals.full.minutes": "{number, plural, one {# 分鐘} other {# 分鐘}}",
"introduction.federation.action": "下一步",
- "introduction.federation.federated.headline": "聯邦",
- "introduction.federation.federated.text": "來自聯邦網路中其他伺服器的公開嘟文將會在聯邦網路時間軸中顯示。",
+ "introduction.federation.federated.headline": "站台聯盟",
+ "introduction.federation.federated.text": "來自聯盟宇宙中其他站台的公開嘟文將會在站點聯盟時間軸中顯示。",
"introduction.federation.home.headline": "首頁",
- "introduction.federation.home.text": "您所關注使用者所發的嘟文將顯示在首頁的訊息來源。您能關注任何伺服器上的任何人!",
- "introduction.federation.local.headline": "本地",
- "introduction.federation.local.text": "跟您同伺服器之使用者所發的公開嘟文將會顯示在本地時間軸中。",
+ "introduction.federation.home.text": "你關注使用者的嘟文將會在首頁動態中顯示。你可以關注任何伺服器上的任何人!",
+ "introduction.federation.local.headline": "本機",
+ "introduction.federation.local.text": "跟您同伺服器之使用者所發的公開嘟文將會顯示在本機時間軸中。",
"introduction.interactions.action": "完成教學!",
- "introduction.interactions.favourite.headline": "最愛",
- "introduction.interactions.favourite.text": "您能稍候儲存嘟文,或者將嘟文加到最愛,讓作者知道您喜歡這嘟文。",
+ "introduction.interactions.favourite.headline": "關注",
+ "introduction.interactions.favourite.text": "您能儲存嘟文供稍候觀看,或者收藏嘟文,讓作者知道您喜歡這則嘟文。",
"introduction.interactions.reblog.headline": "轉嘟",
- "introduction.interactions.reblog.text": "您能透過轉嘟他人嘟文來分享給您的關注者。",
+ "introduction.interactions.reblog.text": "您能藉由轉嘟他人嘟文來分享給您的關注者。",
"introduction.interactions.reply.headline": "回覆",
- "introduction.interactions.reply.text": "您能回覆其他人或自己的嘟文。將會把這些回覆串成一串對話。",
- "introduction.welcome.action": "開始!",
+ "introduction.interactions.reply.text": "您能回覆其他人或自己的嘟文,這麼做會把這些回覆串成一串對話。",
+ "introduction.welcome.action": "開始旅程吧!",
"introduction.welcome.headline": "第一步",
- "introduction.welcome.text": "歡迎來到聯邦!稍候您將可以廣播訊息並跨各種各式各樣的伺服器與朋友聊天。但這台伺服器,{domain},十分特殊 -- 它寄管了您的個人資料,所以請記住這台伺服器的名稱。",
+ "introduction.welcome.text": "歡迎來到聯盟宇宙!等等你就可以廣播訊息及跨越各種各式各樣的伺服器與朋友聊天。但這台伺服器,{domain},非常特別 - 它寄管了你的個人資料,所以請記住它的名字。",
"keyboard_shortcuts.back": "返回上一頁",
- "keyboard_shortcuts.blocked": "開啟「封鎖的使用者」名單",
+ "keyboard_shortcuts.blocked": "開啟「封鎖使用者」名單",
"keyboard_shortcuts.boost": "轉嘟",
"keyboard_shortcuts.column": "將焦點放在其中一欄的嘟文",
"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.federated": "開啟聯邦時間軸",
+ "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.legend": "顯示此列表",
+ "keyboard_shortcuts.local": "開啟本機時間軸",
"keyboard_shortcuts.mention": "提及作者",
"keyboard_shortcuts.muted": "開啟靜音使用者名單",
"keyboard_shortcuts.my_profile": "開啟個人資料頁面",
"keyboard_shortcuts.notifications": "開啟通知欄",
"keyboard_shortcuts.pinned": "開啟釘選的嘟文名單",
- "keyboard_shortcuts.profile": "開啟作者的個人資料頁",
- "keyboard_shortcuts.reply": "回應嘟文",
+ "keyboard_shortcuts.profile": "開啟作者的個人資料頁面",
+ "keyboard_shortcuts.reply": "回覆",
"keyboard_shortcuts.requests": "開啟關注請求名單",
"keyboard_shortcuts.search": "將焦點移至搜尋框",
"keyboard_shortcuts.start": "開啟「開始使用」欄位",
@@ -208,7 +226,7 @@
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
"keyboard_shortcuts.toot": "開始發出新嘟文",
"keyboard_shortcuts.unfocus": "取消輸入文字區塊 / 搜尋的焦點",
- "keyboard_shortcuts.up": "在名單中往上移動",
+ "keyboard_shortcuts.up": "往上移動名單項目",
"lightbox.close": "關閉",
"lightbox.next": "下一步",
"lightbox.previous": "上一步",
@@ -227,16 +245,16 @@
"media_gallery.toggle_visible": "切換可見性",
"missing_indicator.label": "找不到",
"missing_indicator.sublabel": "找不到此資源",
- "mute_modal.hide_notifications": "隱藏來自這個使用者的通知?",
- "navigation_bar.apps": "行動應用程式",
- "navigation_bar.blocks": "封鎖的使用者",
- "navigation_bar.community_timeline": "本地時間軸",
+ "mute_modal.hide_notifications": "隱藏來自這位使用者的通知?",
+ "navigation_bar.apps": "封鎖的使用者",
+ "navigation_bar.blocks": "封鎖使用者",
+ "navigation_bar.community_timeline": "本機時間軸",
"navigation_bar.compose": "撰寫新嘟文",
"navigation_bar.direct": "私訊",
"navigation_bar.discover": "探索",
"navigation_bar.domain_blocks": "隱藏的網域",
"navigation_bar.edit_profile": "編輯個人資料",
- "navigation_bar.favourites": "最愛內容",
+ "navigation_bar.favourites": "收藏",
"navigation_bar.filters": "靜音詞彙",
"navigation_bar.follow_requests": "關注請求",
"navigation_bar.follows_and_followers": "Follows and followers",
@@ -248,9 +266,9 @@
"navigation_bar.personal": "個人",
"navigation_bar.pins": "釘選的嘟文",
"navigation_bar.preferences": "偏好設定",
- "navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "聯邦時間軸",
"navigation_bar.security": "安全性",
+ "notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
"notification.favourite": "{name} 把你的嘟文加入了最愛",
"notification.follow": "{name} 關注了你",
"notification.mention": "{name} 提到了你",
@@ -355,6 +373,7 @@
"status.show_more": "顯示更多",
"status.show_more_all": "顯示更多這類嘟文",
"status.show_thread": "顯示討論串",
+ "status.uncached_media_warning": "Not available",
"status.unmute_conversation": "解除此對話的靜音",
"status.unpin": "解除置頂",
"suggestions.dismiss": "關閉建議",
@@ -370,14 +389,22 @@
"time_remaining.moments": "剩餘時間",
"time_remaining.seconds": "剩餘 {number, plural, one {# 秒} other {# 秒}}",
"trends.count_by_accounts": "{count} 位使用者在討論",
+ "trends.trending_now": "Trending now",
"ui.beforeunload": "如果離開 Mastodon,你的草稿將會不見。",
"upload_area.title": "拖放來上傳",
"upload_button.label": "上傳媒體檔案 (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "已達到檔案上傳限制。",
"upload_error.poll": "不允許在投票上傳檔案。",
"upload_form.description": "為視障人士增加文字說明",
- "upload_form.focus": "變更預覽",
+ "upload_form.edit": "Edit",
"upload_form.undo": "刪除",
+ "upload_modal.analyzing_picture": "Analyzing picture…",
+ "upload_modal.apply": "Apply",
+ "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.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
+ "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "上傳中...",
"video.close": "關閉影片",
"video.exit_fullscreen": "退出全螢幕",
diff --git a/app/javascript/mastodon/reducers/alerts.js b/app/javascript/mastodon/reducers/alerts.js
index 089d920c3..c62ab0dfd 100644
--- a/app/javascript/mastodon/reducers/alerts.js
+++ b/app/javascript/mastodon/reducers/alerts.js
@@ -14,6 +14,7 @@ export default function alerts(state = initialState, action) {
key: state.size > 0 ? state.last().get('key') + 1 : 0,
title: action.title,
message: action.message,
+ message_values: action.message_values,
}));
case ALERT_DISMISS:
return state.filterNot(item => item.get('key') === action.alert.key);
diff --git a/app/javascript/mastodon/reducers/compose.js b/app/javascript/mastodon/reducers/compose.js
index 7b0cdd5a5..268237846 100644
--- a/app/javascript/mastodon/reducers/compose.js
+++ b/app/javascript/mastodon/reducers/compose.js
@@ -17,6 +17,7 @@ import {
COMPOSE_SUGGESTIONS_CLEAR,
COMPOSE_SUGGESTIONS_READY,
COMPOSE_SUGGESTION_SELECT,
+ COMPOSE_SUGGESTION_TAGS_UPDATE,
COMPOSE_TAG_HISTORY_UPDATE,
COMPOSE_SENSITIVITY_CHANGE,
COMPOSE_SPOILERNESS_CHANGE,
@@ -205,16 +206,36 @@ const expiresInFromExpiresAt = expires_at => {
return [300, 1800, 3600, 21600, 86400, 259200, 604800].find(expires_in => expires_in >= delta) || 24 * 3600;
};
-const normalizeSuggestions = (state, { accounts, emojis, tags }) => {
+const mergeLocalHashtagResults = (suggestions, prefix, tagHistory) => {
+ prefix = prefix.toLowerCase();
+ if (suggestions.length < 4) {
+ const localTags = tagHistory.filter(tag => tag.toLowerCase().startsWith(prefix) && !suggestions.some(suggestion => suggestion.type === 'hashtag' && suggestion.name.toLowerCase() === tag.toLowerCase()));
+ return suggestions.concat(localTags.slice(0, 4 - suggestions.length).toJS().map(tag => ({ type: 'hashtag', name: tag })));
+ } else {
+ return suggestions;
+ }
+};
+
+const normalizeSuggestions = (state, { accounts, emojis, tags, token }) => {
if (accounts) {
return accounts.map(item => ({ id: item.id, type: 'account' }));
} else if (emojis) {
return emojis.map(item => ({ ...item, type: 'emoji' }));
} else {
- return sortHashtagsByUse(state, tags.map(item => ({ ...item, type: 'hashtag' })));
+ return mergeLocalHashtagResults(sortHashtagsByUse(state, tags.map(item => ({ ...item, type: 'hashtag' }))), token.slice(1), state.get('tagHistory'));
}
};
+const updateSuggestionTags = (state, token) => {
+ const prefix = token.slice(1);
+
+ const suggestions = state.get('suggestions').toJS();
+ return state.merge({
+ suggestions: ImmutableList(mergeLocalHashtagResults(suggestions, prefix, state.get('tagHistory'))),
+ suggestion_token: token,
+ });
+};
+
export default function compose(state = initialState, action) {
switch(action.type) {
case STORE_HYDRATE:
@@ -328,6 +349,8 @@ export default function compose(state = initialState, action) {
return state.set('suggestions', ImmutableList(normalizeSuggestions(state, action))).set('suggestion_token', action.token);
case COMPOSE_SUGGESTION_SELECT:
return insertSuggestion(state, action.position, action.token, action.completion, action.path);
+ case COMPOSE_SUGGESTION_TAGS_UPDATE:
+ return updateSuggestionTags(state, action.token);
case COMPOSE_TAG_HISTORY_UPDATE:
return state.set('tagHistory', fromJS(action.tags));
case TIMELINE_DELETE:
diff --git a/app/javascript/mastodon/reducers/notifications.js b/app/javascript/mastodon/reducers/notifications.js
index 049c70cb4..aac644950 100644
--- a/app/javascript/mastodon/reducers/notifications.js
+++ b/app/javascript/mastodon/reducers/notifications.js
@@ -7,6 +7,8 @@ import {
NOTIFICATIONS_CLEAR,
NOTIFICATIONS_SCROLL_TOP,
NOTIFICATIONS_LOAD_PENDING,
+ NOTIFICATIONS_MOUNT,
+ NOTIFICATIONS_UNMOUNT,
} from '../actions/notifications';
import {
ACCOUNT_BLOCK_SUCCESS,
@@ -22,6 +24,7 @@ const initialState = ImmutableMap({
items: ImmutableList(),
hasMore: true,
top: false,
+ mounted: false,
unread: 0,
isLoading: false,
});
@@ -35,11 +38,12 @@ const notificationToMap = notification => ImmutableMap({
});
const normalizeNotification = (state, notification, usePendingItems) => {
- if (usePendingItems) {
- return state.update('pendingItems', list => list.unshift(notificationToMap(notification)));
- }
+ const top = state.get('top');
+ const mounted = state.get('mounted');
- const top = state.get('top');
+ if (usePendingItems || (!top && mounted) || !state.get('pendingItems').isEmpty()) {
+ return state.update('pendingItems', list => list.unshift(notificationToMap(notification))).update('unread', unread => unread + 1);
+ }
if (!top) {
state = state.update('unread', unread => unread + 1);
@@ -54,7 +58,7 @@ const normalizeNotification = (state, notification, usePendingItems) => {
});
};
-const expandNormalizedNotifications = (state, notifications, next, usePendingItems) => {
+const expandNormalizedNotifications = (state, notifications, next, isLoadingRecent, usePendingItems) => {
let items = ImmutableList();
notifications.forEach((n, i) => {
@@ -63,6 +67,8 @@ const expandNormalizedNotifications = (state, notifications, next, usePendingIte
return state.withMutations(mutable => {
if (!items.isEmpty()) {
+ usePendingItems = isLoadingRecent && (usePendingItems || (!mutable.get('top') && mutable.get('mounted')) || !mutable.get('pendingItems').isEmpty());
+
mutable.update(usePendingItems ? 'pendingItems' : 'items', list => {
const lastIndex = 1 + list.findLastIndex(
item => item !== null && (compareId(item.get('id'), items.last().get('id')) > 0 || item.get('id') === items.last().get('id'))
@@ -91,7 +97,7 @@ const filterNotifications = (state, accountIds) => {
const updateTop = (state, top) => {
if (top) {
- state = state.set('unread', 0);
+ state = state.set('unread', state.get('pendingItems').size);
}
return state.set('top', top);
@@ -117,7 +123,7 @@ export default function notifications(state = initialState, action) {
case NOTIFICATIONS_UPDATE:
return normalizeNotification(state, action.notification, action.usePendingItems);
case NOTIFICATIONS_EXPAND_SUCCESS:
- return expandNormalizedNotifications(state, action.notifications, action.next, action.usePendingItems);
+ return expandNormalizedNotifications(state, action.notifications, action.next, action.isLoadingRecent, action.usePendingItems);
case ACCOUNT_BLOCK_SUCCESS:
return filterNotifications(state, [action.relationship.id]);
case ACCOUNT_MUTE_SUCCESS:
@@ -132,6 +138,10 @@ export default function notifications(state = initialState, action) {
return action.timeline === 'home' ?
state.update(action.usePendingItems ? 'pendingItems' : 'items', items => items.first() ? items.unshift(null) : items) :
state;
+ case NOTIFICATIONS_MOUNT:
+ return state.set('mounted', true);
+ case NOTIFICATIONS_UNMOUNT:
+ return state.set('mounted', false);
default:
return state;
}
diff --git a/app/javascript/mastodon/reducers/timelines.js b/app/javascript/mastodon/reducers/timelines.js
index 0b036f5fe..f3ed2fc59 100644
--- a/app/javascript/mastodon/reducers/timelines.js
+++ b/app/javascript/mastodon/reducers/timelines.js
@@ -40,6 +40,7 @@ const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, is
if (timeline.endsWith(':pinned')) {
mMap.set('items', statuses.map(status => status.get('id')));
} else if (!statuses.isEmpty()) {
+ usePendingItems = isLoadingRecent && (usePendingItems || !mMap.get('top') || !mMap.get('pendingItems').isEmpty());
mMap.update(usePendingItems ? 'pendingItems' : 'items', ImmutableList(), oldIds => {
const newIds = statuses.map(status => status.get('id'));
@@ -60,15 +61,16 @@ const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, is
};
const updateTimeline = (state, timeline, status, usePendingItems) => {
- if (usePendingItems) {
+ const top = state.getIn([timeline, 'top']);
+
+ if (usePendingItems || !top || !state.getIn([timeline, 'pendingItems']).isEmpty()) {
if (state.getIn([timeline, 'pendingItems'], ImmutableList()).includes(status.get('id')) || state.getIn([timeline, 'items'], ImmutableList()).includes(status.get('id'))) {
return state;
}
- return state.update(timeline, initialTimeline, map => map.update('pendingItems', list => list.unshift(status.get('id'))));
+ return state.update(timeline, initialTimeline, map => map.update('pendingItems', list => list.unshift(status.get('id'))).update('unread', unread => unread + 1));
}
- const top = state.getIn([timeline, 'top']);
const ids = state.getIn([timeline, 'items'], ImmutableList());
const includesId = ids.includes(status.get('id'));
const unread = state.getIn([timeline, 'unread'], 0);
@@ -128,7 +130,7 @@ const filterTimeline = (timeline, state, relationship, statuses) => {
const updateTop = (state, timeline, top) => {
return state.update(timeline, initialTimeline, map => map.withMutations(mMap => {
- if (top) mMap.set('unread', 0);
+ if (top) mMap.set('unread', mMap.get('pendingItems').size);
mMap.set('top', top);
}));
};
diff --git a/app/javascript/mastodon/reducers/user_lists.js b/app/javascript/mastodon/reducers/user_lists.js
index 8db18c5dc..08e94022f 100644
--- a/app/javascript/mastodon/reducers/user_lists.js
+++ b/app/javascript/mastodon/reducers/user_lists.js
@@ -20,6 +20,14 @@ import {
MUTES_FETCH_SUCCESS,
MUTES_EXPAND_SUCCESS,
} from '../actions/mutes';
+import {
+ DIRECTORY_FETCH_REQUEST,
+ DIRECTORY_FETCH_SUCCESS,
+ DIRECTORY_FETCH_FAIL,
+ DIRECTORY_EXPAND_REQUEST,
+ DIRECTORY_EXPAND_SUCCESS,
+ DIRECTORY_EXPAND_FAIL,
+} from 'mastodon/actions/directory';
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
const initialState = ImmutableMap({
@@ -74,6 +82,16 @@ export default function userLists(state = initialState, action) {
return state.setIn(['mutes', 'items'], ImmutableList(action.accounts.map(item => item.id))).setIn(['mutes', 'next'], action.next);
case MUTES_EXPAND_SUCCESS:
return state.updateIn(['mutes', 'items'], list => list.concat(action.accounts.map(item => item.id))).setIn(['mutes', 'next'], action.next);
+ case DIRECTORY_FETCH_SUCCESS:
+ return state.setIn(['directory', 'items'], ImmutableList(action.accounts.map(item => item.id))).setIn(['directory', 'isLoading'], false);
+ case DIRECTORY_EXPAND_SUCCESS:
+ return state.updateIn(['directory', 'items'], list => list.concat(action.accounts.map(item => item.id))).setIn(['directory', 'isLoading'], false);
+ case DIRECTORY_FETCH_REQUEST:
+ case DIRECTORY_EXPAND_REQUEST:
+ return state.setIn(['directory', 'isLoading'], true);
+ case DIRECTORY_FETCH_FAIL:
+ case DIRECTORY_EXPAND_FAIL:
+ return state.setIn(['directory', 'isLoading'], false);
default:
return state;
}
diff --git a/app/javascript/mastodon/rtl.js b/app/javascript/mastodon/rtl.js
index 00870a15d..89bed6de8 100644
--- a/app/javascript/mastodon/rtl.js
+++ b/app/javascript/mastodon/rtl.js
@@ -20,6 +20,7 @@ export function isRtl(text) {
text = text.replace(/(?:^|[^\/\w])@([a-z0-9_]+(@[a-z0-9\.\-]+)?)/ig, '');
text = text.replace(/(?:^|[^\/\w])#([\S]+)/ig, '');
text = text.replace(/\s+/g, '');
+ text = text.replace(/(\w\S+\.\w{2,}\S*)/g, '');
const matches = text.match(rtlChars);
diff --git a/app/javascript/mastodon/selectors/index.js b/app/javascript/mastodon/selectors/index.js
index c87654547..6f1ce9602 100644
--- a/app/javascript/mastodon/selectors/index.js
+++ b/app/javascript/mastodon/selectors/index.js
@@ -128,6 +128,7 @@ export const getAlerts = createSelector([getAlertsBase], (base) => {
base.forEach(item => {
arr.push({
message: item.get('message'),
+ message_values: item.get('message_values'),
title: item.get('title'),
key: item.get('key'),
dismissAfter: 5000,
diff --git a/app/javascript/mastodon/utils/log_out.js b/app/javascript/mastodon/utils/log_out.js
new file mode 100644
index 000000000..b43417f4b
--- /dev/null
+++ b/app/javascript/mastodon/utils/log_out.js
@@ -0,0 +1,33 @@
+import Rails from 'rails-ujs';
+
+export const logOut = () => {
+ const form = document.createElement('form');
+
+ const methodInput = document.createElement('input');
+ methodInput.setAttribute('name', '_method');
+ methodInput.setAttribute('value', 'delete');
+ methodInput.setAttribute('type', 'hidden');
+ form.appendChild(methodInput);
+
+ const csrfToken = Rails.csrfToken();
+ const csrfParam = Rails.csrfParam();
+
+ if (csrfParam && csrfToken) {
+ const csrfInput = document.createElement('input');
+ csrfInput.setAttribute('name', csrfParam);
+ csrfInput.setAttribute('value', csrfToken);
+ csrfInput.setAttribute('type', 'hidden');
+ form.appendChild(csrfInput);
+ }
+
+ const submitButton = document.createElement('input');
+ submitButton.setAttribute('type', 'submit');
+ form.appendChild(submitButton);
+
+ form.method = 'post';
+ form.action = '/auth/sign_out';
+ form.style.display = 'none';
+
+ document.body.appendChild(form);
+ submitButton.click();
+};
diff --git a/app/javascript/mastodon/utils/resize_image.js b/app/javascript/mastodon/utils/resize_image.js
index d566edb03..7196dc96b 100644
--- a/app/javascript/mastodon/utils/resize_image.js
+++ b/app/javascript/mastodon/utils/resize_image.js
@@ -31,7 +31,7 @@ const loadImage = inputFile => new Promise((resolve, reject) => {
});
const getOrientation = (img, type = 'image/png') => new Promise(resolve => {
- if (!['image/jpeg', 'image/webp'].includes(type)) {
+ if (type !== 'image/jpeg') {
resolve(1);
return;
}
diff --git a/app/javascript/packs/admin.js b/app/javascript/packs/admin.js
index f0c0ee0b7..42c747d2e 100644
--- a/app/javascript/packs/admin.js
+++ b/app/javascript/packs/admin.js
@@ -1,4 +1,5 @@
import { delegate } from 'rails-ujs';
+import ready from '../mastodon/ready';
const batchCheckboxClassName = '.batch-checkbox input[type="checkbox"]';
@@ -29,7 +30,7 @@ delegate(document, '.media-spoiler-hide-button', 'click', () => {
});
});
-delegate(document, '#domain_block_severity', 'change', ({ target }) => {
+const onDomainBlockSeverityChange = (target) => {
const rejectMediaDiv = document.querySelector('.input.with_label.domain_block_reject_media');
const rejectReportsDiv = document.querySelector('.input.with_label.domain_block_reject_reports');
@@ -40,4 +41,11 @@ delegate(document, '#domain_block_severity', 'change', ({ target }) => {
if (rejectReportsDiv) {
rejectReportsDiv.style.display = (target.value === 'suspend') ? 'none' : 'block';
}
+};
+
+delegate(document, '#domain_block_severity', 'change', ({ target }) => onDomainBlockSeverityChange(target));
+
+ready(() => {
+ const input = document.getElementById('domain_block_severity');
+ if (input) onDomainBlockSeverityChange(input);
});
diff --git a/app/javascript/packs/public.js b/app/javascript/packs/public.js
index b58622a8d..ed713f335 100644
--- a/app/javascript/packs/public.js
+++ b/app/javascript/packs/public.js
@@ -31,10 +31,10 @@ function main() {
const React = require('react');
const ReactDOM = require('react-dom');
const Rellax = require('rellax');
- const createHistory = require('history').createBrowserHistory;
+ const { createBrowserHistory } = require('history');
const scrollToDetailedStatus = () => {
- const history = createHistory();
+ const history = createBrowserHistory();
const detailedStatuses = document.querySelectorAll('.public-layout .detailed-status');
const location = history.location;
@@ -141,6 +141,15 @@ function main() {
return false;
});
+ delegate(document, '.blocks-table button.icon-button', 'click', function(e) {
+ e.preventDefault();
+
+ const classList = this.firstElementChild.classList;
+ classList.toggle('fa-chevron-down');
+ classList.toggle('fa-chevron-up');
+ this.parentElement.parentElement.nextElementSibling.classList.toggle('hidden');
+ });
+
delegate(document, '.modal-button', 'click', e => {
e.preventDefault();
@@ -238,6 +247,16 @@ function main() {
input.readonly = oldReadOnly;
});
+
+ delegate(document, '.sidebar__toggle__icon', 'click', () => {
+ const target = document.querySelector('.sidebar ul');
+
+ if (target.style.display === 'block') {
+ target.style.display = 'none';
+ } else {
+ target.style.display = 'block';
+ }
+ });
}
loadPolyfills().then(main).catch(error => {
diff --git a/app/javascript/styles/mailer.scss b/app/javascript/styles/mailer.scss
index b4fb1d709..e25a80c04 100644
--- a/app/javascript/styles/mailer.scss
+++ b/app/javascript/styles/mailer.scss
@@ -457,6 +457,13 @@ h5 {
.status {
padding-bottom: 32px;
+ &--highlighted {
+ border: 1px solid lighten($ui-base-color, 8%);
+ border-radius: 4px;
+ padding-bottom: 16px;
+ margin-bottom: 16px;
+ }
+
.status-header {
td {
font-size: 14px;
diff --git a/app/javascript/styles/mastodon-light/diff.scss b/app/javascript/styles/mastodon-light/diff.scss
index ee8a7d265..e7114ed07 100644
--- a/app/javascript/styles/mastodon-light/diff.scss
+++ b/app/javascript/styles/mastodon-light/diff.scss
@@ -104,7 +104,8 @@ html {
.box-widget input[type="email"],
.box-widget input[type="password"],
.box-widget textarea,
-.statuses-grid .detailed-status {
+.statuses-grid .detailed-status,
+.audio-player {
border: 1px solid lighten($ui-base-color, 8%);
}
@@ -700,3 +701,10 @@ html {
.compose-form .compose-form__warning {
box-shadow: none;
}
+
+.audio-player .video-player__controls button,
+.audio-player .video-player__time-sep,
+.audio-player .video-player__time-current,
+.audio-player .video-player__time-total {
+ color: $primary-text-color;
+}
diff --git a/app/javascript/styles/mastodon/_mixins.scss b/app/javascript/styles/mastodon/_mixins.scss
index faaffb30f..68cad0fde 100644
--- a/app/javascript/styles/mastodon/_mixins.scss
+++ b/app/javascript/styles/mastodon/_mixins.scss
@@ -22,24 +22,6 @@
color: $darker-text-color;
font-size: 14px;
margin: 0;
-
- &::-moz-focus-inner {
- border: 0;
- }
-
- &::-moz-focus-inner,
- &:focus,
- &:active {
- outline: 0 !important;
- }
-
- &:focus {
- background: lighten($ui-base-color, 4%);
- }
-
- @media screen and (max-width: 600px) {
- font-size: 16px;
- }
}
@mixin search-popout {
diff --git a/app/javascript/styles/mastodon/about.scss b/app/javascript/styles/mastodon/about.scss
index 61637ce96..c056ef85d 100644
--- a/app/javascript/styles/mastodon/about.scss
+++ b/app/javascript/styles/mastodon/about.scss
@@ -17,117 +17,86 @@ $small-breakpoint: 960px;
.rich-formatting {
font-family: $font-sans-serif, sans-serif;
- font-size: 16px;
+ font-size: 14px;
font-weight: 400;
- font-size: 16px;
- line-height: 30px;
+ line-height: 1.7;
+ word-wrap: break-word;
color: $darker-text-color;
- padding-right: 10px;
a {
color: $highlight-text-color;
text-decoration: underline;
+
+ &:hover,
+ &:focus,
+ &:active {
+ text-decoration: none;
+ }
}
p,
li {
- font-family: $font-sans-serif, sans-serif;
- font-size: 16px;
- font-weight: 400;
- font-size: 16px;
- line-height: 30px;
- margin-bottom: 12px;
color: $darker-text-color;
+ }
- a {
- color: $highlight-text-color;
- text-decoration: underline;
- }
+ p {
+ margin-top: 0;
+ margin-bottom: .85em;
&:last-child {
margin-bottom: 0;
}
}
- strong,
- em {
+ strong {
font-weight: 700;
- color: lighten($darker-text-color, 10%);
+ color: $secondary-text-color;
+ }
+
+ em {
+ font-style: italic;
+ color: $secondary-text-color;
+ }
+
+ code {
+ font-size: 0.85em;
+ background: darken($ui-base-color, 8%);
+ border-radius: 4px;
+ padding: 0.2em 0.3em;
+ }
+
+ h1,
+ h2,
+ h3,
+ h4,
+ h5,
+ h6 {
+ font-family: $font-display, sans-serif;
+ margin-top: 1.275em;
+ margin-bottom: .85em;
+ font-weight: 500;
+ color: $secondary-text-color;
}
h1 {
- font-family: $font-display, sans-serif;
- font-size: 26px;
- line-height: 30px;
- font-weight: 500;
- margin-bottom: 20px;
- color: $secondary-text-color;
-
- small {
- font-family: $font-sans-serif, sans-serif;
- display: block;
- font-size: 18px;
- font-weight: 400;
- color: lighten($darker-text-color, 10%);
- }
+ font-size: 2em;
}
h2 {
- font-family: $font-display, sans-serif;
- font-size: 22px;
- line-height: 26px;
- font-weight: 500;
- margin-bottom: 20px;
- color: $secondary-text-color;
+ font-size: 1.75em;
}
h3 {
- font-family: $font-display, sans-serif;
- font-size: 18px;
- line-height: 24px;
- font-weight: 500;
- margin-bottom: 20px;
- color: $secondary-text-color;
+ font-size: 1.5em;
}
h4 {
- font-family: $font-display, sans-serif;
- font-size: 16px;
- line-height: 24px;
- font-weight: 500;
- margin-bottom: 20px;
- color: $secondary-text-color;
- }
-
- h5 {
- font-family: $font-display, sans-serif;
- font-size: 14px;
- line-height: 24px;
- font-weight: 500;
- margin-bottom: 20px;
- color: $secondary-text-color;
+ font-size: 1.25em;
}
+ h5,
h6 {
- font-family: $font-display, sans-serif;
- font-size: 12px;
- line-height: 24px;
- font-weight: 500;
- margin-bottom: 20px;
- color: $secondary-text-color;
- }
-
- ul,
- ol {
- margin-left: 20px;
-
- &[type='a'] {
- list-style-type: lower-alpha;
- }
-
- &[type='i'] {
- list-style-type: lower-roman;
- }
+ font-size: 1em;
}
ul {
@@ -138,23 +107,38 @@ $small-breakpoint: 960px;
list-style: decimal;
}
- li > ol,
- li > ul {
- margin-top: 6px;
+ ul,
+ ol {
+ margin: 0;
+ padding: 0;
+ padding-left: 2em;
+ margin-bottom: 0.85em;
+
+ &[type='a'] {
+ list-style-type: lower-alpha;
+ }
+
+ &[type='i'] {
+ list-style-type: lower-roman;
+ }
}
hr {
width: 100%;
height: 0;
border: 0;
- border-bottom: 1px solid rgba($ui-base-lighter-color, .6);
- margin: 20px 0;
+ border-bottom: 1px solid lighten($ui-base-color, 4%);
+ margin: 1.7em 0;
&.spacer {
height: 1px;
border: 0;
}
}
+
+ & > :first-child {
+ margin-top: 0;
+ }
}
.information-board {
@@ -416,7 +400,7 @@ $small-breakpoint: 960px;
}
&__call-to-action {
- background: darken($ui-base-color, 4%);
+ background: $ui-base-color;
border-radius: 4px;
padding: 25px 40px;
overflow: hidden;
diff --git a/app/javascript/styles/mastodon/accounts.scss b/app/javascript/styles/mastodon/accounts.scss
index f95313a25..5dc067f0e 100644
--- a/app/javascript/styles/mastodon/accounts.scss
+++ b/app/javascript/styles/mastodon/accounts.scss
@@ -224,6 +224,7 @@
}
.account__header__fields {
+ max-width: 100vw;
padding: 0;
margin: 15px -15px -15px;
border: 0 none;
diff --git a/app/javascript/styles/mastodon/admin.scss b/app/javascript/styles/mastodon/admin.scss
index f625bc139..dde1d69ba 100644
--- a/app/javascript/styles/mastodon/admin.scss
+++ b/app/javascript/styles/mastodon/admin.scss
@@ -5,21 +5,66 @@ $content-width: 840px;
.admin-wrapper {
display: flex;
justify-content: center;
- height: 100%;
+ width: 100%;
+ min-height: 100vh;
.sidebar-wrapper {
- flex: 1 1 $sidebar-width;
- height: 100%;
- background: $ui-base-color;
- display: flex;
- justify-content: flex-end;
+ min-height: 100vh;
+ overflow: hidden;
+ pointer-events: none;
+ flex: 1 1 auto;
+
+ &__inner {
+ display: flex;
+ justify-content: flex-end;
+ background: $ui-base-color;
+ height: 100%;
+ }
}
.sidebar {
width: $sidebar-width;
- height: 100%;
padding: 0;
- overflow-y: auto;
+ pointer-events: auto;
+
+ &__toggle {
+ display: none;
+ background: lighten($ui-base-color, 8%);
+ height: 48px;
+
+ &__logo {
+ flex: 1 1 auto;
+
+ a {
+ display: inline-block;
+ padding: 15px;
+ }
+
+ svg {
+ fill: $primary-text-color;
+ height: 20px;
+ position: relative;
+ bottom: -2px;
+ }
+ }
+
+ &__icon {
+ display: block;
+ color: $darker-text-color;
+ text-decoration: none;
+ flex: 0 0 auto;
+ font-size: 20px;
+ padding: 15px;
+ }
+
+ a {
+ &:hover,
+ &:focus,
+ &:active {
+ background: lighten($ui-base-color, 12%);
+ }
+ }
+ }
.logo {
display: block;
@@ -52,6 +97,9 @@ $content-width: 840px;
transition: all 200ms linear;
transition-property: color, background-color;
border-radius: 4px 0 0 4px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
i.fa {
margin-right: 5px;
@@ -99,12 +147,30 @@ $content-width: 840px;
}
.content-wrapper {
- flex: 2 1 $content-width;
- overflow: auto;
+ box-sizing: border-box;
+ width: 100%;
+ max-width: $content-width;
+ flex: 1 1 auto;
+ }
+
+ @media screen and (max-width: $content-width + $sidebar-width) {
+ .sidebar-wrapper--empty {
+ display: none;
+ }
+
+ .sidebar-wrapper {
+ width: $sidebar-width;
+ flex: 0 0 auto;
+ }
+ }
+
+ @media screen and (max-width: $no-columns-breakpoint) {
+ .sidebar-wrapper {
+ width: 100%;
+ }
}
.content {
- max-width: $content-width;
padding: 20px 15px;
padding-top: 60px;
padding-left: 25px;
@@ -123,6 +189,12 @@ $content-width: 840px;
padding-bottom: 40px;
border-bottom: 1px solid lighten($ui-base-color, 8%);
margin-bottom: 40px;
+
+ @media screen and (max-width: $no-columns-breakpoint) {
+ border-bottom: 0;
+ padding-bottom: 0;
+ font-weight: 700;
+ }
}
h3 {
@@ -147,7 +219,7 @@ $content-width: 840px;
font-size: 16px;
color: $secondary-text-color;
line-height: 28px;
- font-weight: 400;
+ font-weight: 500;
}
.fields-group h6 {
@@ -176,7 +248,7 @@ $content-width: 840px;
& > p {
font-size: 14px;
- line-height: 18px;
+ line-height: 21px;
color: $secondary-text-color;
margin-bottom: 20px;
@@ -208,20 +280,42 @@ $content-width: 840px;
@media screen and (max-width: $no-columns-breakpoint) {
display: block;
- overflow-y: auto;
- -webkit-overflow-scrolling: touch;
- .sidebar-wrapper,
- .content-wrapper {
- flex: 0 0 auto;
- height: auto;
- overflow: initial;
+ .sidebar-wrapper {
+ min-height: 0;
}
.sidebar {
width: 100%;
padding: 0;
height: auto;
+
+ &__toggle {
+ display: flex;
+ }
+
+ & > ul {
+ display: none;
+ }
+
+ ul a,
+ ul ul a {
+ border-radius: 0;
+ border-bottom: 1px solid lighten($ui-base-color, 4%);
+ transition: none;
+
+ &:hover {
+ transition: none;
+ }
+ }
+
+ ul ul {
+ border-radius: 0;
+ }
+
+ ul .simple-navigation-active-leaf a {
+ border-bottom-color: $ui-highlight-color;
+ }
}
}
}
@@ -233,32 +327,35 @@ hr.spacer {
height: 1px;
}
-.muted-hint {
- color: $darker-text-color;
+body,
+.admin-wrapper .content {
+ .muted-hint {
+ color: $darker-text-color;
- a {
- color: $highlight-text-color;
+ a {
+ color: $highlight-text-color;
+ }
}
-}
-.positive-hint {
- color: $valid-value-color;
- font-weight: 500;
-}
+ .positive-hint {
+ color: $valid-value-color;
+ font-weight: 500;
+ }
-.negative-hint {
- color: $error-value-color;
- font-weight: 500;
-}
+ .negative-hint {
+ color: $error-value-color;
+ font-weight: 500;
+ }
-.neutral-hint {
- color: $dark-text-color;
- font-weight: 500;
-}
+ .neutral-hint {
+ color: $dark-text-color;
+ font-weight: 500;
+ }
-.warning-hint {
- color: $gold-star;
- font-weight: 500;
+ .warning-hint {
+ color: $gold-star;
+ font-weight: 500;
+ }
}
.filters {
@@ -267,10 +364,10 @@ hr.spacer {
.filter-subset {
flex: 0 0 auto;
- margin: 0 40px 10px 0;
+ margin: 0 40px 20px 0;
&:last-child {
- margin-bottom: 20px;
+ margin-bottom: 30px;
}
ul {
@@ -716,3 +813,47 @@ a.name-tag,
text-overflow: ellipsis;
vertical-align: middle;
}
+
+.admin-account-bio {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 0 -5px;
+ margin-top: 20px;
+
+ > div {
+ box-sizing: border-box;
+ padding: 0 5px;
+ margin-bottom: 10px;
+ flex: 1 0 50%;
+ }
+
+ .account__header__fields,
+ .account__header__content {
+ background: lighten($ui-base-color, 8%);
+ border-radius: 4px;
+ height: 100%;
+ }
+
+ .account__header__fields {
+ margin: 0;
+ border: 0;
+
+ a {
+ color: lighten($ui-highlight-color, 8%);
+ }
+
+ dl:first-child .verified {
+ border-radius: 0 4px 0 0;
+ }
+
+ .verified a {
+ color: $valid-value-color;
+ }
+ }
+
+ .account__header__content {
+ box-sizing: border-box;
+ padding: 20px;
+ color: $primary-text-color;
+ }
+}
diff --git a/app/javascript/styles/mastodon/basics.scss b/app/javascript/styles/mastodon/basics.scss
index f9332caa3..1f3ef7da2 100644
--- a/app/javascript/styles/mastodon/basics.scss
+++ b/app/javascript/styles/mastodon/basics.scss
@@ -86,9 +86,6 @@ body {
&.admin {
background: darken($ui-base-color, 4%);
- position: fixed;
- width: 100%;
- height: 100%;
padding: 0;
}
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index 6264c3df8..f4f26203e 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -421,6 +421,10 @@
border: 0;
outline: 0;
+ &::placeholder {
+ color: $dark-text-color;
+ }
+
&:focus {
outline: 0;
}
@@ -503,9 +507,24 @@
.autosuggest-hashtag {
justify-content: space-between;
+ &__name {
+ flex: 1 1 auto;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+
strong {
font-weight: 500;
}
+
+ &__uses {
+ flex: 0 0 auto;
+ text-align: right;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
}
.autosuggest-account-icon,
@@ -936,7 +955,8 @@
opacity: 1;
animation: fade 150ms linear;
- .video-player {
+ .video-player,
+ .audio-player {
margin-top: 8px;
}
@@ -1031,7 +1051,8 @@
white-space: normal;
}
- .video-player {
+ .video-player,
+ .audio-player {
margin-top: 8px;
max-width: 250px;
}
@@ -1142,7 +1163,8 @@
}
}
- .video-player {
+ .video-player,
+ .audio-player {
margin-top: 8px;
}
}
@@ -1254,14 +1276,28 @@
&-composite {
@include avatar-radius;
+ border-radius: 50%;
overflow: hidden;
+ position: relative;
+ cursor: default;
& > div {
- @include avatar-radius;
float: left;
position: relative;
box-sizing: border-box;
}
+
+ &__label {
+ display: block;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ color: $primary-text-color;
+ text-shadow: 1px 1px 2px $base-shadow-color;
+ font-weight: 700;
+ font-size: 15px;
+ }
}
}
@@ -1871,6 +1907,7 @@ a.account__display-name {
pointer-events: none;
display: flex;
justify-content: flex-end;
+ min-width: 285px;
&--start {
justify-content: flex-start;
@@ -1888,6 +1925,7 @@ a.account__display-name {
box-sizing: border-box;
width: 100%;
max-width: 600px;
+ flex: 0 0 auto;
display: flex;
flex-direction: column;
@@ -2077,13 +2115,23 @@ a.account__display-name {
padding: 0;
}
- //.column {
- // margin-top: 0;
+ .directory__list {
+ display: grid;
+ grid-gap: 10px;
+ grid-template-columns: minmax(0, 50%) minmax(0, 50%);
- // @media screen and (min-width: $no-gap-breakpoint) {
- // margin-top: 10px;
- // }
- //}
+ @media screen and (max-width: $no-gap-breakpoint) {
+ display: block;
+ }
+ }
+
+ .directory__card {
+ margin-bottom: 0;
+ }
+
+ .filter-form {
+ display: flex;
+ }
.autosuggest-textarea__textarea {
font-size: 16px;
@@ -2118,7 +2166,8 @@ a.account__display-name {
padding: 15px;
.media-gallery,
- .video-player {
+ .video-player,
+ .audio-player {
margin-top: 15px;
}
}
@@ -2160,7 +2209,8 @@ a.account__display-name {
.media-gallery,
&__action-bar,
- .video-player {
+ .video-player,
+ .audio-player {
margin-top: 10px;
}
}
@@ -2753,6 +2803,15 @@ a.account__display-name {
animation: fade 150ms linear;
margin-top: 10px;
+ h4 {
+ font-size: 12px;
+ text-transform: uppercase;
+ color: $darker-text-color;
+ padding: 10px;
+ font-weight: 500;
+ border-bottom: 1px solid lighten($ui-base-color, 8%);
+ }
+
@media screen and (max-height: 810px) {
.trends__item:nth-child(3) {
display: none;
@@ -3413,6 +3472,10 @@ a.status-card.compact:hover {
height: auto;
}
+ &--click-thru {
+ pointer-events: none;
+ }
+
&--hidden {
display: none;
}
@@ -3441,6 +3504,12 @@ a.status-card.compact:hover {
background: rgba($base-overlay-background, 0.8);
}
}
+
+ &:disabled {
+ .spoiler-button__overlay__label {
+ background: rgba($base-overlay-background, 0.5);
+ }
+ }
}
}
@@ -3484,6 +3553,28 @@ a.status-card.compact:hover {
.column-select {
&__control {
@include search-input;
+
+ &::placeholder {
+ color: lighten($darker-text-color, 4%);
+ }
+
+ &::-moz-focus-inner {
+ border: 0;
+ }
+
+ &::-moz-focus-inner,
+ &:focus,
+ &:active {
+ outline: 0 !important;
+ }
+
+ &:focus {
+ background: lighten($ui-base-color, 4%);
+ }
+
+ @media screen and (max-width: 600px) {
+ font-size: 16px;
+ }
}
&__placeholder {
@@ -3997,6 +4088,28 @@ a.status-card.compact:hover {
padding-right: 30px;
line-height: 18px;
font-size: 16px;
+
+ &::placeholder {
+ color: lighten($darker-text-color, 4%);
+ }
+
+ &::-moz-focus-inner {
+ border: 0;
+ }
+
+ &::-moz-focus-inner,
+ &:focus,
+ &:active {
+ outline: 0 !important;
+ }
+
+ &:focus {
+ background: lighten($ui-base-color, 4%);
+ }
+
+ @media screen and (max-width: 600px) {
+ font-size: 16px;
+ }
}
.search__icon {
@@ -4770,6 +4883,7 @@ a.status-card.compact:hover {
position: absolute;
top: 0;
left: 0;
+ z-index: 9999;
}
.media-gallery__gifv__label {
@@ -4955,59 +5069,6 @@ a.status-card.compact:hover {
}
/* End Media Gallery */
-/* Status Video Player */
-.status__video-player {
- background: $base-overlay-background;
- box-sizing: border-box;
- cursor: default; /* May not be needed */
- margin-top: 8px;
- overflow: hidden;
- position: relative;
-}
-
-.status__video-player-video {
- height: 100%;
- object-fit: cover;
- position: relative;
- top: 50%;
- transform: translateY(-50%);
- width: 100%;
- z-index: 1;
-}
-
-.status__video-player-expand,
-.status__video-player-mute {
- color: $primary-text-color;
- opacity: 0.8;
- position: absolute;
- right: 4px;
- text-shadow: 0 1px 1px $base-shadow-color, 1px 0 1px $base-shadow-color;
-}
-
-.status__video-player-spoiler {
- display: none;
- color: $primary-text-color;
- left: 4px;
- position: absolute;
- text-shadow: 0 1px 1px $base-shadow-color, 1px 0 1px $base-shadow-color;
- top: 4px;
- z-index: 100;
-
- &.status__video-player-spoiler--visible {
- display: block;
- }
-}
-
-.status__video-player-expand {
- bottom: 4px;
- z-index: 100;
-}
-
-.status__video-player-mute {
- top: 4px;
- z-index: 5;
-}
-
.detailed,
.fullscreen {
.video-player__volume__current,
@@ -5021,15 +5082,63 @@ a.status-card.compact:hover {
}
+.audio-player {
+ box-sizing: border-box;
+ position: relative;
+ background: darken($ui-base-color, 8%);
+ border-radius: 4px;
+ padding-bottom: 44px;
+
+ &.editable {
+ border-radius: 0;
+ height: 100%;
+ }
+
+ &__waveform {
+ padding: 15px 0;
+ position: relative;
+ overflow: hidden;
+
+ &::before {
+ content: "";
+ display: block;
+ position: absolute;
+ border-top: 1px solid lighten($ui-base-color, 4%);
+ width: 100%;
+ height: 0;
+ left: 0;
+ top: calc(50% + 1px);
+ }
+ }
+
+ &__progress-placeholder {
+ background-color: rgba(lighten($ui-highlight-color, 8%), 0.5);
+ }
+
+ &__wave-placeholder {
+ background-color: lighten($ui-base-color, 16%);
+ }
+
+ .video-player__controls {
+ padding: 0 15px;
+ padding-top: 10px;
+ background: darken($ui-base-color, 8%);
+ border-top: 1px solid lighten($ui-base-color, 4%);
+ border-radius: 0 0 4px 4px;
+ }
+}
+
.video-player {
overflow: hidden;
position: relative;
background: $base-shadow-color;
max-width: 100%;
border-radius: 4px;
+ box-sizing: border-box;
&.editable {
border-radius: 0;
+ height: 100% !important;
}
&:focus {
@@ -5312,28 +5421,137 @@ a.status-card.compact:hover {
}
}
-.media-spoiler-video {
- background-size: cover;
- background-repeat: no-repeat;
- background-position: center;
- cursor: pointer;
- margin-top: 8px;
- position: relative;
- border: 0;
- display: block;
-}
+.directory {
+ &__list {
+ width: 100%;
+ margin: 10px 0;
+ transition: opacity 100ms ease-in;
-.media-spoiler-video-play-icon {
- border-radius: 100px;
- color: rgba($primary-text-color, 0.8);
- font-size: 36px;
- left: 50%;
- padding: 5px;
- position: absolute;
- top: 50%;
- transform: translate(-50%, -50%);
+ &.loading {
+ opacity: 0.7;
+ }
+
+ @media screen and (max-width: $no-gap-breakpoint) {
+ margin: 0;
+ }
+ }
+
+ &__card {
+ box-sizing: border-box;
+ margin-bottom: 10px;
+
+ &__img {
+ height: 125px;
+ position: relative;
+ background: darken($ui-base-color, 12%);
+ overflow: hidden;
+
+ img {
+ display: block;
+ width: 100%;
+ height: 100%;
+ margin: 0;
+ object-fit: cover;
+ }
+ }
+
+ &__bar {
+ display: flex;
+ align-items: center;
+ background: lighten($ui-base-color, 4%);
+ padding: 10px;
+
+ &__name {
+ flex: 1 1 auto;
+ display: flex;
+ align-items: center;
+ text-decoration: none;
+ overflow: hidden;
+ }
+
+ &__relationship {
+ width: 23px;
+ min-height: 1px;
+ flex: 0 0 auto;
+ }
+
+ .avatar {
+ flex: 0 0 auto;
+ width: 48px;
+ height: 48px;
+ padding-top: 2px;
+
+ img {
+ width: 100%;
+ height: 100%;
+ display: block;
+ margin: 0;
+ border-radius: 4px;
+ background: darken($ui-base-color, 8%);
+ object-fit: cover;
+ }
+ }
+
+ .display-name {
+ margin-left: 15px;
+ text-align: left;
+
+ strong {
+ font-size: 15px;
+ color: $primary-text-color;
+ font-weight: 500;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+ span {
+ display: block;
+ font-size: 14px;
+ color: $darker-text-color;
+ font-weight: 400;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+ }
+ }
+
+ &__extra {
+ background: $ui-base-color;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .accounts-table__count {
+ width: 33.33%;
+ flex: 0 0 auto;
+ padding: 15px 0;
+ }
+
+ .account__header__content {
+ box-sizing: border-box;
+ padding: 15px 10px;
+ border-bottom: 1px solid lighten($ui-base-color, 8%);
+ width: 100%;
+ min-height: 18px + 30px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+
+ p {
+ display: none;
+
+ &:first-child {
+ display: inline;
+ }
+ }
+
+ br {
+ display: none;
+ }
+ }
+ }
+ }
}
-/* End Video Player */
.account-gallery__container {
display: flex;
@@ -5409,6 +5627,73 @@ a.status-card.compact:hover {
}
}
}
+
+ &.directory__section-headline {
+ background: darken($ui-base-color, 2%);
+ border-bottom-color: transparent;
+
+ a,
+ button {
+ &.active {
+ &::before {
+ display: none;
+ }
+
+ &::after {
+ border-color: transparent transparent darken($ui-base-color, 7%);
+ }
+ }
+ }
+ }
+}
+
+.filter-form {
+ background: $ui-base-color;
+
+ &__column {
+ padding: 10px 15px;
+ }
+
+ .radio-button {
+ display: block;
+ }
+}
+
+.radio-button {
+ font-size: 14px;
+ position: relative;
+ display: inline-block;
+ padding: 6px 0;
+ line-height: 18px;
+ cursor: default;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ cursor: pointer;
+
+ input[type=radio],
+ input[type=checkbox] {
+ display: none;
+ }
+
+ &__input {
+ display: inline-block;
+ position: relative;
+ border: 1px solid $ui-primary-color;
+ box-sizing: border-box;
+ width: 18px;
+ height: 18px;
+ flex: 0 0 auto;
+ margin-right: 10px;
+ top: -1px;
+ border-radius: 50%;
+ vertical-align: middle;
+
+ &.checked {
+ border-color: lighten($ui-highlight-color, 8%);
+ background: lighten($ui-highlight-color, 8%);
+ }
+ }
}
::-webkit-scrollbar-thumb {
@@ -6112,48 +6397,57 @@ noscript {
}
}
-.layout-toggle {
+.conversation {
display: flex;
+ border-bottom: 1px solid lighten($ui-base-color, 8%);
padding: 5px;
+ padding-bottom: 0;
- button {
- box-sizing: border-box;
- flex: 0 0 50%;
- background: transparent;
- padding: 5px;
- border: 0;
- position: relative;
+ &:focus {
+ background: lighten($ui-base-color, 2%);
+ outline: 0;
+ }
- &:hover,
- &:focus,
- &:active {
- svg path:first-child {
- fill: lighten($ui-base-color, 16%);
+ &__avatar {
+ flex: 0 0 auto;
+ padding: 10px;
+ padding-top: 12px;
+ }
+
+ &__content {
+ flex: 1 1 auto;
+ padding: 10px 5px;
+ padding-right: 15px;
+
+ &__info {
+ overflow: hidden;
+ }
+
+ &__relative-time {
+ float: right;
+ font-size: 15px;
+ color: $darker-text-color;
+ padding-left: 15px;
+ }
+
+ &__names {
+ color: $darker-text-color;
+ font-size: 15px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ margin-bottom: 4px;
+
+ a {
+ color: $primary-text-color;
+ text-decoration: none;
+
+ &:hover,
+ &:focus,
+ &:active {
+ text-decoration: underline;
+ }
}
}
}
-
- svg {
- width: 100%;
- height: auto;
-
- path:first-child {
- fill: lighten($ui-base-color, 12%);
- }
-
- path:last-child {
- fill: darken($ui-base-color, 14%);
- }
- }
-
- &__active {
- color: $ui-highlight-color;
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- background: lighten($ui-base-color, 12%);
- border-radius: 50%;
- padding: 0.35rem;
- }
}
diff --git a/app/javascript/styles/mastodon/containers.scss b/app/javascript/styles/mastodon/containers.scss
index 2b6794ee2..24bbf8211 100644
--- a/app/javascript/styles/mastodon/containers.scss
+++ b/app/javascript/styles/mastodon/containers.scss
@@ -141,6 +141,63 @@
grid-row: 3;
}
+ @media screen and (max-width: $no-gap-breakpoint) {
+ grid-gap: 0;
+ grid-template-columns: minmax(0, 100%);
+
+ .column-0 {
+ grid-column: 1;
+ }
+
+ .column-1 {
+ grid-column: 1;
+ grid-row: 3;
+ }
+
+ .column-2 {
+ grid-column: 1;
+ grid-row: 2;
+ }
+
+ .column-3 {
+ grid-column: 1;
+ grid-row: 4;
+ }
+ }
+}
+
+.grid-4 {
+ display: grid;
+ grid-gap: 10px;
+ grid-template-columns: 1fr 1fr 1fr 1fr;
+ grid-auto-columns: 25%;
+ grid-auto-rows: max-content;
+
+ .column-0 {
+ grid-column: 1 / 5;
+ grid-row: 1;
+ }
+
+ .column-1 {
+ grid-column: 1 / 4;
+ grid-row: 2;
+ }
+
+ .column-2 {
+ grid-column: 4;
+ grid-row: 2;
+ }
+
+ .column-3 {
+ grid-column: 2 / 5;
+ grid-row: 3;
+ }
+
+ .column-4 {
+ grid-column: 1;
+ grid-row: 3;
+ }
+
.landing-page__call-to-action {
min-height: 100%;
}
@@ -189,6 +246,11 @@
}
.column-3 {
+ grid-column: 1;
+ grid-row: 5;
+ }
+
+ .column-4 {
grid-column: 1;
grid-row: 4;
}
@@ -753,14 +815,22 @@
}
}
- .static-icon-button {
- color: $action-button-color;
- font-size: 18px;
+ .directory__list {
+ display: grid;
+ grid-gap: 10px;
+ grid-template-columns: minmax(0, 50%) minmax(0, 50%);
- & > span {
- font-size: 14px;
- font-weight: 500;
+ @media screen and (max-width: $no-gap-breakpoint) {
+ display: block;
}
+
+ .icon-button {
+ font-size: 18px;
+ }
+ }
+
+ .directory__card {
+ margin-bottom: 0;
}
.card-grid {
diff --git a/app/javascript/styles/mastodon/dashboard.scss b/app/javascript/styles/mastodon/dashboard.scss
index e4564f062..c0944d417 100644
--- a/app/javascript/styles/mastodon/dashboard.scss
+++ b/app/javascript/styles/mastodon/dashboard.scss
@@ -15,6 +15,8 @@
padding: 20px;
background: lighten($ui-base-color, 4%);
border-radius: 4px;
+ box-sizing: border-box;
+ height: 100%;
}
& > a {
diff --git a/app/javascript/styles/mastodon/footer.scss b/app/javascript/styles/mastodon/footer.scss
index f74c004e9..00d290883 100644
--- a/app/javascript/styles/mastodon/footer.scss
+++ b/app/javascript/styles/mastodon/footer.scss
@@ -128,7 +128,7 @@
&:hover,
&:focus,
&:active {
- svg path {
+ svg {
fill: lighten($ui-base-color, 38%);
}
}
diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss
index ac99124ea..b729d912e 100644
--- a/app/javascript/styles/mastodon/forms.scss
+++ b/app/javascript/styles/mastodon/forms.scss
@@ -112,6 +112,15 @@ code {
padding: 0.2em 0.4em;
background: darken($ui-base-color, 12%);
}
+
+ li {
+ list-style: disc;
+ margin-left: 18px;
+ }
+ }
+
+ ul.hint {
+ margin-bottom: 15px;
}
span.hint {
@@ -245,6 +254,10 @@ code {
&-6 {
max-width: 50%;
}
+
+ .actions {
+ margin-top: 27px;
+ }
}
.fields-group:last-child,
@@ -325,6 +338,10 @@ code {
border-radius: 4px;
padding: 10px;
+ &::placeholder {
+ color: lighten($darker-text-color, 4%);
+ }
+
&:invalid {
box-shadow: none;
}
diff --git a/app/javascript/styles/mastodon/polls.scss b/app/javascript/styles/mastodon/polls.scss
index 12f57b7a9..e80220f27 100644
--- a/app/javascript/styles/mastodon/polls.scss
+++ b/app/javascript/styles/mastodon/polls.scss
@@ -5,7 +5,6 @@
li {
margin-bottom: 10px;
position: relative;
- height: 18px + 12px;
}
&__chart {
@@ -24,13 +23,11 @@
&__text {
position: relative;
- display: inline-block;
+ display: flex;
padding: 6px 0;
line-height: 18px;
cursor: default;
- white-space: nowrap;
overflow: hidden;
- text-overflow: ellipsis;
input[type=radio],
input[type=checkbox] {
@@ -82,6 +79,9 @@
top: -1px;
border-radius: 50%;
vertical-align: middle;
+ margin-top: auto;
+ margin-bottom: auto;
+ flex: 0 0 18px;
&.checkbox {
border-radius: 4px;
@@ -99,6 +99,9 @@
font-weight: 700;
padding: 0 10px;
text-align: right;
+ margin-top: auto;
+ margin-bottom: auto;
+ flex: 0 0 36px;
}
&__footer {
diff --git a/app/javascript/styles/mastodon/tables.scss b/app/javascript/styles/mastodon/tables.scss
index 11ac6dfeb..d6403986f 100644
--- a/app/javascript/styles/mastodon/tables.scss
+++ b/app/javascript/styles/mastodon/tables.scss
@@ -180,6 +180,18 @@ a.table-action-link {
}
}
+ &__form {
+ padding: 16px;
+ border: 1px solid darken($ui-base-color, 8%);
+ border-top: 0;
+ background: $ui-base-color;
+
+ .fields-row {
+ padding-top: 0;
+ margin-bottom: 0;
+ }
+ }
+
&__row {
border: 1px solid darken($ui-base-color, 8%);
border-top: 0;
@@ -210,6 +222,45 @@ a.table-action-link {
&--unpadded {
padding: 0;
}
+
+ &--with-image {
+ display: flex;
+ align-items: center;
+ }
+
+ &__image {
+ flex: 0 0 auto;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-right: 10px;
+
+ .emojione {
+ width: 32px;
+ height: 32px;
+ }
+ }
+
+ &__text {
+ flex: 1 1 auto;
+ }
+
+ &__extra {
+ flex: 0 0 auto;
+ text-align: right;
+ color: $darker-text-color;
+ font-weight: 500;
+ }
+ }
+
+ .directory__tag {
+ margin: 0;
+ width: 100%;
+
+ a {
+ background: transparent;
+ border-radius: 0;
+ }
}
}
@@ -241,3 +292,70 @@ a.table-action-link {
}
}
}
+
+.blocks-table {
+ width: 100%;
+ max-width: 100%;
+ border-spacing: 0;
+ border-collapse: collapse;
+ table-layout: fixed;
+ border: 1px solid darken($ui-base-color, 8%);
+
+ thead {
+ border: 1px solid darken($ui-base-color, 8%);
+ background: darken($ui-base-color, 4%);
+ font-weight: 500;
+
+ th.severity-column {
+ width: 120px;
+ }
+
+ th.button-column {
+ width: 23px;
+ }
+ }
+
+ tbody > tr {
+ border: 1px solid darken($ui-base-color, 8%);
+ border-bottom: 0;
+ background: darken($ui-base-color, 4%);
+
+ &:hover {
+ background: darken($ui-base-color, 2%);
+ }
+
+ &.even {
+ background: $ui-base-color;
+
+ &:hover {
+ background: lighten($ui-base-color, 2%);
+ }
+ }
+
+ &.rationale {
+ background: lighten($ui-base-color, 4%);
+ border-top: 0;
+
+ &:hover {
+ background: lighten($ui-base-color, 6%);
+ }
+
+ &.hidden {
+ display: none;
+ }
+ }
+
+ td:first-child {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+ }
+
+ th,
+ td {
+ padding: 8px;
+ line-height: 18px;
+ vertical-align: top;
+ text-align: left;
+ }
+}
diff --git a/app/javascript/styles/mastodon/widgets.scss b/app/javascript/styles/mastodon/widgets.scss
index 8c30bc57c..ca050a8d9 100644
--- a/app/javascript/styles/mastodon/widgets.scss
+++ b/app/javascript/styles/mastodon/widgets.scss
@@ -100,6 +100,16 @@
background-size: 44px 44px;
}
}
+
+ .trends__item {
+ padding: 10px;
+ }
+}
+
+.trends-widget {
+ h4 {
+ color: $darker-text-color;
+ }
}
.box-widget {
@@ -109,41 +119,52 @@
box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
}
-.contact-widget,
-.landing-page__information.contact-widget {
- box-sizing: border-box;
- padding: 20px;
- min-height: 100%;
+.placeholder-widget {
+ padding: 16px;
border-radius: 4px;
- background: $ui-base-color;
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
+ border: 2px dashed $dark-text-color;
+ text-align: center;
+ color: $darker-text-color;
+ margin-bottom: 10px;
}
.contact-widget {
+ min-height: 100%;
font-size: 15px;
color: $darker-text-color;
line-height: 20px;
word-wrap: break-word;
font-weight: 400;
+ padding: 0;
- strong {
- font-weight: 500;
+ h4 {
+ padding: 10px;
+ text-transform: uppercase;
+ font-weight: 700;
+ font-size: 13px;
+ color: $darker-text-color;
}
- p {
- margin-bottom: 10px;
-
- &:last-child {
- margin-bottom: 0;
- }
+ .account {
+ border-bottom: 0;
+ padding: 10px 0;
+ padding-top: 5px;
}
- &__mail {
- margin-top: 10px;
+ & > a {
+ display: inline-block;
+ padding: 10px;
+ padding-top: 0;
+ color: $darker-text-color;
+ text-decoration: none;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
- a {
- color: $primary-text-color;
- text-decoration: none;
+ &:hover,
+ &:focus,
+ &:active {
+ text-decoration: underline;
}
}
}
@@ -526,6 +547,12 @@ $fluid-breakpoint: $maximum-width + 20px;
a {
font-size: 14px;
line-height: 20px;
+ }
+}
+
+.notice-widget,
+.placeholder-widget {
+ a {
text-decoration: none;
font-weight: 500;
color: $ui-highlight-color;
@@ -537,3 +564,38 @@ $fluid-breakpoint: $maximum-width + 20px;
}
}
}
+
+.table-of-contents {
+ background: darken($ui-base-color, 4%);
+ min-height: 100%;
+ font-size: 14px;
+ border-radius: 4px;
+
+ li a {
+ display: block;
+ font-weight: 500;
+ padding: 15px;
+ overflow: hidden;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ text-decoration: none;
+ color: $primary-text-color;
+ border-bottom: 1px solid lighten($ui-base-color, 4%);
+
+ &:hover,
+ &:focus,
+ &:active {
+ text-decoration: underline;
+ }
+ }
+
+ li:last-child a {
+ border-bottom: 0;
+ }
+
+ li ul {
+ padding-left: 20px;
+ border-bottom: 1px solid lighten($ui-base-color, 4%);
+ }
+}
diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb
index 000b77df5..e69193b71 100644
--- a/app/lib/activitypub/activity/create.rb
+++ b/app/lib/activitypub/activity/create.rb
@@ -189,22 +189,25 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
media_attachments = []
as_array(@object['attachment']).each do |attachment|
- next if attachment['url'].blank?
+ next if attachment['url'].blank? || media_attachments.size >= 4
- href = Addressable::URI.parse(attachment['url']).normalize.to_s
- media_attachment = MediaAttachment.create(account: @account, remote_url: href, description: attachment['name'].presence, focus: attachment['focalPoint'], blurhash: supported_blurhash?(attachment['blurhash']) ? attachment['blurhash'] : nil)
- media_attachments << media_attachment
+ begin
+ href = Addressable::URI.parse(attachment['url']).normalize.to_s
+ media_attachment = MediaAttachment.create(account: @account, remote_url: href, description: attachment['name'].presence, focus: attachment['focalPoint'], blurhash: supported_blurhash?(attachment['blurhash']) ? attachment['blurhash'] : nil)
+ media_attachments << media_attachment
- next if unsupported_media_type?(attachment['mediaType']) || skip_download?
+ next if unsupported_media_type?(attachment['mediaType']) || skip_download?
- media_attachment.file_remote_url = href
- media_attachment.save
+ media_attachment.file_remote_url = href
+ media_attachment.save
+ rescue Mastodon::UnexpectedResponseError, HTTP::TimeoutError, HTTP::ConnectionError, OpenSSL::SSL::SSLError
+ RedownloadMediaWorker.perform_in(rand(30..600).seconds, media_attachment.id)
+ end
end
media_attachments
rescue Addressable::URI::InvalidURIError => e
- Rails.logger.debug e
-
+ Rails.logger.debug "Invalid URL in attachment: #{e}"
media_attachments
end
@@ -405,15 +408,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
end
def check_for_spam
- spam_check = SpamCheck.new(@status)
-
- return if spam_check.skip?
-
- if spam_check.spam?
- spam_check.flag!
- else
- spam_check.remember!
- end
+ SpamCheck.perform(@status)
end
def forward_for_reply
diff --git a/app/lib/activitypub/activity/delete.rb b/app/lib/activitypub/activity/delete.rb
index 1f2b40c15..dc9ff580c 100644
--- a/app/lib/activitypub/activity/delete.rb
+++ b/app/lib/activitypub/activity/delete.rb
@@ -13,8 +13,7 @@ class ActivityPub::Activity::Delete < ActivityPub::Activity
def delete_person
lock_or_return("delete_in_progress:#{@account.id}") do
- SuspendAccountService.new.call(@account)
- @account.destroy!
+ SuspendAccountService.new.call(@account, reserve_username: false)
end
end
@@ -70,7 +69,7 @@ class ActivityPub::Activity::Delete < ActivityPub::Activity
end
def delete_now!
- RemoveStatusService.new.call(@status)
+ RemoveStatusService.new.call(@status, redraft: false)
end
def payload
diff --git a/app/lib/activitypub/activity/move.rb b/app/lib/activitypub/activity/move.rb
index d7a5f595c..6c6a2b967 100644
--- a/app/lib/activitypub/activity/move.rb
+++ b/app/lib/activitypub/activity/move.rb
@@ -10,10 +10,13 @@ class ActivityPub::Activity::Move < ActivityPub::Activity
target_account = ActivityPub::FetchRemoteAccountService.new.call(target_uri)
- return if target_account.nil? || !target_account.also_known_as.include?(origin_account.uri)
+ if target_account.nil? || target_account.suspended? || !target_account.also_known_as.include?(origin_account.uri)
+ unmark_as_processing!
+ return
+ end
# In case for some reason we didn't have a redirect for the profile already, set it
- origin_account.update(moved_to_account: target_account) if origin_account.moved_to_account_id.nil?
+ origin_account.update(moved_to_account: target_account)
# Initiate a re-follow for each follower
origin_account.followers.local.select(:id).find_in_batches do |follower_accounts|
@@ -40,4 +43,8 @@ class ActivityPub::Activity::Move < ActivityPub::Activity
def mark_as_processing!
redis.setex("move_in_progress:#{@account.id}", PROCESSING_COOLDOWN, true)
end
+
+ def unmark_as_processing!
+ redis.del("move_in_progress:#{@account.id}")
+ end
end
diff --git a/app/lib/activitypub/adapter.rb b/app/lib/activitypub/adapter.rb
index a1d84de2f..cb2ac72d4 100644
--- a/app/lib/activitypub/adapter.rb
+++ b/app/lib/activitypub/adapter.rb
@@ -20,6 +20,7 @@ class ActivityPub::Adapter < ActiveModelSerializers::Adapter::Base
focal_point: { 'toot' => 'http://joinmastodon.org/ns#', 'focalPoint' => { '@container' => '@list', '@id' => 'toot:focalPoint' } },
identity_proof: { 'toot' => 'http://joinmastodon.org/ns#', 'IdentityProof' => 'toot:IdentityProof' },
blurhash: { 'toot' => 'http://joinmastodon.org/ns#', 'blurhash' => 'toot:blurhash' },
+ discoverable: { 'toot' => 'http://joinmastodon.org/ns#', 'discoverable' => 'toot:discoverable' },
}.freeze
def self.default_key_transform
@@ -31,22 +32,23 @@ class ActivityPub::Adapter < ActiveModelSerializers::Adapter::Base
end
def serializable_hash(options = nil)
+ named_contexts = {}
+ context_extensions = {}
options = serialization_options(options)
- serialized_hash = serializer.serializable_hash(options)
+ serialized_hash = serializer.serializable_hash(options.merge(named_contexts: named_contexts, context_extensions: context_extensions))
serialized_hash = serialized_hash.select { |k, _| options[:fields].include?(k) } if options[:fields]
serialized_hash = self.class.transform_key_casing!(serialized_hash, instance_options)
- { '@context' => serialized_context }.merge(serialized_hash)
+ { '@context' => serialized_context(named_contexts, context_extensions) }.merge(serialized_hash)
end
private
- def serialized_context
+ def serialized_context(named_contexts_map, context_extensions_map)
context_array = []
- serializer_options = serializer.send(:instance_options) || {}
- named_contexts = [:activitystreams] + serializer._named_contexts.keys + serializer_options.fetch(:named_contexts, {}).keys
- context_extensions = serializer._context_extensions.keys + serializer_options.fetch(:context_extensions, {}).keys
+ named_contexts = [:activitystreams] + named_contexts_map.keys
+ context_extensions = context_extensions_map.keys
named_contexts.each do |key|
context_array << NAMED_CONTEXT_MAP[key]
diff --git a/app/lib/activitypub/serializer.rb b/app/lib/activitypub/serializer.rb
index 07bd8c494..1fdc79310 100644
--- a/app/lib/activitypub/serializer.rb
+++ b/app/lib/activitypub/serializer.rb
@@ -27,4 +27,12 @@ class ActivityPub::Serializer < ActiveModel::Serializer
_context_extensions[extension_name] = true
end
end
+
+ def serializable_hash(adapter_options = nil, options = {}, adapter_instance = self.class.serialization_adapter_instance)
+ unless adapter_options&.fetch(:named_contexts, nil).nil?
+ adapter_options[:named_contexts].merge!(_named_contexts)
+ adapter_options[:context_extensions].merge!(_context_extensions)
+ end
+ super(adapter_options, options, adapter_instance)
+ end
end
diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb
index ca3d890a8..871ec5c19 100644
--- a/app/lib/feed_manager.rb
+++ b/app/lib/feed_manager.rb
@@ -63,7 +63,7 @@ class FeedManager
reblog_key = key(type, account_id, 'reblogs')
# Remove any items past the MAX_ITEMS'th entry in our feed
- redis.zremrangebyrank(timeline_key, '0', (-(FeedManager::MAX_ITEMS + 1)).to_s)
+ redis.zremrangebyrank(timeline_key, 0, -(FeedManager::MAX_ITEMS + 1))
# Get the score of the REBLOG_FALLOFF'th item in our feed, and stop
# tracking anything after it for deduplication purposes.
diff --git a/app/lib/formatter.rb b/app/lib/formatter.rb
index b5f42305f..990b9f63e 100644
--- a/app/lib/formatter.rb
+++ b/app/lib/formatter.rb
@@ -84,8 +84,7 @@ class Formatter
end
def format_field(account, str, **options)
- return reformat(str).html_safe unless account.local? # rubocop:disable Rails/OutputSafety
- html = encode_and_link_urls(str, me: true)
+ html = account.local? ? encode_and_link_urls(str, me: true) : reformat(str)
html = encode_custom_emojis(html, account.emojis, options[:autoplay]) if options[:custom_emojify]
html.html_safe # rubocop:disable Rails/OutputSafety
end
diff --git a/app/lib/request.rb b/app/lib/request.rb
index 9d874fe2c..42ccc6513 100644
--- a/app/lib/request.rb
+++ b/app/lib/request.rb
@@ -191,6 +191,9 @@ class Request
end
end
+ socks = []
+ addr_by_socket = {}
+
addresses.each do |address|
begin
check_private_address(address)
@@ -200,30 +203,45 @@ class Request
sock.setsockopt(::Socket::IPPROTO_TCP, ::Socket::TCP_NODELAY, 1)
- begin
- sock.connect_nonblock(sockaddr)
- rescue IO::WaitWritable
- if IO.select(nil, [sock], nil, Request::TIMEOUT[:connect])
- begin
- sock.connect_nonblock(sockaddr)
- rescue Errno::EISCONN
- # Yippee!
- rescue
- sock.close
- raise
- end
- else
- sock.close
- raise HTTP::TimeoutError, "Connect timed out after #{Request::TIMEOUT[:connect]} seconds"
- end
- end
+ sock.connect_nonblock(sockaddr)
+ # If that hasn't raised an exception, we somehow managed to connect
+ # immediately, close pending sockets and return immediately
+ socks.each(&:close)
return sock
+ rescue IO::WaitWritable
+ socks << sock
+ addr_by_socket[sock] = sockaddr
rescue => e
outer_e = e
end
end
+ until socks.empty?
+ _, available_socks, = IO.select(nil, socks, nil, Request::TIMEOUT[:connect])
+
+ if available_socks.nil?
+ socks.each(&:close)
+ raise HTTP::TimeoutError, "Connect timed out after #{Request::TIMEOUT[:connect]} seconds"
+ end
+
+ available_socks.each do |sock|
+ socks.delete(sock)
+
+ begin
+ sock.connect_nonblock(addr_by_socket[sock])
+ rescue Errno::EISCONN
+ rescue => e
+ sock.close
+ outer_e = e
+ next
+ end
+
+ socks.each(&:close)
+ return sock
+ end
+ end
+
if outer_e
raise outer_e
else
diff --git a/app/lib/settings/scoped_settings.rb b/app/lib/settings/scoped_settings.rb
index 3653ab114..9ca39510a 100644
--- a/app/lib/settings/scoped_settings.rb
+++ b/app/lib/settings/scoped_settings.rb
@@ -4,6 +4,7 @@ module Settings
class ScopedSettings
DEFAULTING_TO_UNSCOPED = %w(
theme
+ noindex
).freeze
def initialize(object)
diff --git a/app/lib/spam_check.rb b/app/lib/spam_check.rb
index 0cf1b8790..441697364 100644
--- a/app/lib/spam_check.rb
+++ b/app/lib/spam_check.rb
@@ -4,9 +4,25 @@ class SpamCheck
include Redisable
include ActionView::Helpers::TextHelper
+ # Threshold over which two Nilsimsa values are considered
+ # to refer to the same text
NILSIMSA_COMPARE_THRESHOLD = 95
- NILSIMSA_MIN_SIZE = 10
- EXPIRE_SET_AFTER = 1.week.seconds
+
+ # Nilsimsa doesn't work well on small inputs, so below
+ # this size, we check only for exact matches with MD5
+ NILSIMSA_MIN_SIZE = 10
+
+ # How long to keep the trail of digests between updates,
+ # there is no reason to store it forever
+ EXPIRE_SET_AFTER = 1.week.seconds
+
+ # How many digests to keep in an account's trail. If it's
+ # too small, spam could rotate around different message templates
+ MAX_TRAIL_SIZE = 10
+
+ # How many detected duplicates to allow through before
+ # considering the message as spam
+ THRESHOLD = 5
def initialize(status)
@account = status.account
@@ -21,9 +37,9 @@ class SpamCheck
if insufficient_data?
false
elsif nilsimsa?
- any_other_digest?('nilsimsa') { |_, other_digest| nilsimsa_compare_value(digest, other_digest) >= NILSIMSA_COMPARE_THRESHOLD }
+ digests_over_threshold?('nilsimsa') { |_, other_digest| nilsimsa_compare_value(digest, other_digest) >= NILSIMSA_COMPARE_THRESHOLD }
else
- any_other_digest?('md5') { |_, other_digest| other_digest == digest }
+ digests_over_threshold?('md5') { |_, other_digest| other_digest == digest }
end
end
@@ -38,7 +54,7 @@ class SpamCheck
# get the correct status ID back, we have to save it in the string value
redis.zadd(redis_key, @status.id, digest_with_algorithm)
- redis.zremrangebyrank(redis_key, '0', '-10')
+ redis.zremrangebyrank(redis_key, 0, -(MAX_TRAIL_SIZE + 1))
redis.expire(redis_key, EXPIRE_SET_AFTER)
end
@@ -78,6 +94,20 @@ class SpamCheck
end
end
+ class << self
+ def perform(status)
+ spam_check = new(status)
+
+ return if spam_check.skip?
+
+ if spam_check.spam?
+ spam_check.flag!
+ else
+ spam_check.remember!
+ end
+ end
+ end
+
private
def disabled?
@@ -149,14 +179,14 @@ class SpamCheck
redis.zrange(redis_key, 0, -1)
end
- def any_other_digest?(filter_algorithm)
- other_digests.any? do |record|
+ def digests_over_threshold?(filter_algorithm)
+ other_digests.select do |record|
algorithm, other_digest, status_id = record.split(':')
next unless algorithm == filter_algorithm
yield algorithm, other_digest, status_id
- end
+ end.size >= THRESHOLD
end
def matching_status_ids
diff --git a/app/lib/toc_generator.rb b/app/lib/toc_generator.rb
new file mode 100644
index 000000000..351675a5c
--- /dev/null
+++ b/app/lib/toc_generator.rb
@@ -0,0 +1,69 @@
+# frozen_string_literal: true
+
+class TOCGenerator
+ TARGET_ELEMENTS = %w(h1 h2 h3 h4 h5 h6).freeze
+ LISTED_ELEMENTS = %w(h2 h3).freeze
+
+ class Section
+ attr_accessor :depth, :title, :children, :anchor
+
+ def initialize(depth, title, anchor)
+ @depth = depth
+ @title = title
+ @children = []
+ @anchor = anchor
+ end
+
+ delegate :<<, to: :children
+ end
+
+ def initialize(source_html)
+ @source_html = source_html
+ @processed = false
+ @target_html = ''
+ @headers = []
+ @slugs = Hash.new { |h, k| h[k] = 0 }
+ end
+
+ def html
+ parse_and_transform unless @processed
+ @target_html
+ end
+
+ def toc
+ parse_and_transform unless @processed
+ @headers
+ end
+
+ private
+
+ def parse_and_transform
+ return if @source_html.blank?
+
+ parsed_html = Nokogiri::HTML.fragment(@source_html)
+
+ parsed_html.traverse do |node|
+ next unless TARGET_ELEMENTS.include?(node.name)
+
+ anchor = node['id'] || node.text.parameterize
+ @slugs[anchor] += 1
+ anchor = "#{anchor}-#{@slugs[anchor]}" if @slugs[anchor] > 1
+
+ node['id'] = anchor
+
+ next unless LISTED_ELEMENTS.include?(node.name)
+
+ depth = node.name[1..-1]
+ latest_section = @headers.last
+
+ if latest_section.nil? || latest_section.depth >= depth
+ @headers << Section.new(depth, node.text, anchor)
+ else
+ latest_section << Section.new(depth, node.text, anchor)
+ end
+ end
+
+ @target_html = parsed_html.to_s
+ @processed = true
+ end
+end
diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb
index 8f3a4ab3a..6b81f6873 100644
--- a/app/mailers/user_mailer.rb
+++ b/app/mailers/user_mailer.rb
@@ -5,6 +5,7 @@ class UserMailer < Devise::Mailer
helper :application
helper :instance
+ helper :statuses
add_template_helper RoutingHelper
@@ -56,6 +57,39 @@ class UserMailer < Devise::Mailer
end
end
+ def two_factor_enabled(user, **)
+ @resource = user
+ @instance = Rails.configuration.x.local_domain
+
+ return if @resource.disabled?
+
+ I18n.with_locale(@resource.locale || I18n.default_locale) do
+ mail to: @resource.email, subject: I18n.t('devise.mailer.two_factor_enabled.subject')
+ end
+ end
+
+ def two_factor_disabled(user, **)
+ @resource = user
+ @instance = Rails.configuration.x.local_domain
+
+ return if @resource.disabled?
+
+ I18n.with_locale(@resource.locale || I18n.default_locale) do
+ mail to: @resource.email, subject: I18n.t('devise.mailer.two_factor_disabled.subject')
+ end
+ end
+
+ def two_factor_recovery_codes_changed(user, **)
+ @resource = user
+ @instance = Rails.configuration.x.local_domain
+
+ return if @resource.disabled?
+
+ I18n.with_locale(@resource.locale || I18n.default_locale) do
+ mail to: @resource.email, subject: I18n.t('devise.mailer.two_factor_recovery_codes_changed.subject')
+ end
+ end
+
def welcome(user)
@resource = user
@instance = Rails.configuration.x.local_domain
@@ -79,10 +113,11 @@ class UserMailer < Devise::Mailer
end
end
- def warning(user, warning)
+ def warning(user, warning, status_ids = nil)
@resource = user
@warning = warning
@instance = Rails.configuration.x.local_domain
+ @statuses = Status.where(id: status_ids).includes(:account) if status_ids.is_a?(Array)
I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email,
diff --git a/app/models/account.rb b/app/models/account.rb
index 392cc625f..55fe53fae 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -51,7 +51,6 @@
class Account < ApplicationRecord
USERNAME_RE = /[a-z0-9_]+([a-z0-9_\.-]+[a-z0-9_]+)?/i
MENTION_RE = /(?<=^|[^\/[:word:]])@((#{USERNAME_RE})(?:@[a-z0-9\.\-]+[a-z0-9]+)?)/i
- MIN_FOLLOWERS_DISCOVERY = 10
include AccountAssociations
include AccountAvatar
@@ -100,11 +99,13 @@ class Account < ApplicationRecord
scope :matches_display_name, ->(value) { where(arel_table[:display_name].matches("#{value}%")) }
scope :matches_domain, ->(value) { where(arel_table[:domain].matches("%#{value}%")) }
scope :searchable, -> { without_suspended.where(moved_to_account_id: nil) }
- scope :discoverable, -> { searchable.without_silenced.where(discoverable: true).joins(:account_stat).where(AccountStat.arel_table[:followers_count].gteq(MIN_FOLLOWERS_DISCOVERY)) }
+ scope :discoverable, -> { searchable.without_silenced.where(discoverable: true).left_outer_joins(:account_stat) }
scope :tagged_with, ->(tag) { joins(:accounts_tags).where(accounts_tags: { tag_id: tag }) }
- scope :by_recent_status, -> { order(Arel.sql('(case when account_stats.last_status_at is null then 1 else 0 end) asc, account_stats.last_status_at desc')) }
+ scope :by_recent_status, -> { order(Arel.sql('(case when account_stats.last_status_at is null then 1 else 0 end) asc, account_stats.last_status_at desc, accounts.id desc')) }
scope :popular, -> { order('account_stats.followers_count desc') }
scope :by_domain_and_subdomains, ->(domain) { where(domain: domain).or(where(arel_table[:domain].matches('%.' + domain))) }
+ scope :not_excluded_by_account, ->(account) { where.not(id: account.excluded_from_timeline_account_ids) }
+ scope :not_domain_blocked_by_account, ->(account) { where(arel_table[:domain].eq(nil).or(arel_table[:domain].not_in(account.excluded_from_timeline_domains))) }
delegate :email,
:unconfirmed_email,
@@ -114,6 +115,7 @@ class Account < ApplicationRecord
:approved?,
:pending?,
:disabled?,
+ :unconfirmed_or_pending?,
:role,
:admin?,
:moderator?,
diff --git a/app/models/account_alias.rb b/app/models/account_alias.rb
new file mode 100644
index 000000000..66f8ce409
--- /dev/null
+++ b/app/models/account_alias.rb
@@ -0,0 +1,47 @@
+# frozen_string_literal: true
+
+# == Schema Information
+#
+# Table name: account_aliases
+#
+# id :bigint(8) not null, primary key
+# account_id :bigint(8)
+# acct :string default(""), not null
+# uri :string default(""), not null
+# created_at :datetime not null
+# updated_at :datetime not null
+#
+
+class AccountAlias < ApplicationRecord
+ belongs_to :account
+
+ validates :acct, presence: true, domain: { acct: true }
+ validates :uri, presence: true
+ validates :uri, uniqueness: { scope: :account_id }
+
+ before_validation :set_uri
+ after_create :add_to_account
+ after_destroy :remove_from_account
+
+ def acct=(val)
+ val = val.to_s.strip
+ super(val.start_with?('@') ? val[1..-1] : val)
+ end
+
+ private
+
+ def set_uri
+ target_account = ResolveAccountService.new.call(acct)
+ self.uri = ActivityPub::TagManager.instance.uri_for(target_account) unless target_account.nil?
+ rescue Goldfinger::Error, HTTP::Error, OpenSSL::SSL::SSLError, Mastodon::Error
+ # Validation will take care of it
+ end
+
+ def add_to_account
+ account.update(also_known_as: account.also_known_as + [uri])
+ end
+
+ def remove_from_account
+ account.update(also_known_as: account.also_known_as.reject { |x| x == uri })
+ end
+end
diff --git a/app/models/account_migration.rb b/app/models/account_migration.rb
new file mode 100644
index 000000000..e2c2cb085
--- /dev/null
+++ b/app/models/account_migration.rb
@@ -0,0 +1,79 @@
+# frozen_string_literal: true
+
+# == Schema Information
+#
+# Table name: account_migrations
+#
+# id :bigint(8) not null, primary key
+# account_id :bigint(8)
+# acct :string default(""), not null
+# followers_count :bigint(8) default(0), not null
+# target_account_id :bigint(8)
+# created_at :datetime not null
+# updated_at :datetime not null
+#
+
+class AccountMigration < ApplicationRecord
+ COOLDOWN_PERIOD = 30.days.freeze
+
+ belongs_to :account
+ belongs_to :target_account, class_name: 'Account'
+
+ before_validation :set_target_account
+ before_validation :set_followers_count
+
+ validates :acct, presence: true, domain: { acct: true }
+ validate :validate_migration_cooldown
+ validate :validate_target_account
+
+ scope :within_cooldown, ->(now = Time.now.utc) { where(arel_table[:created_at].gteq(now - COOLDOWN_PERIOD)) }
+
+ attr_accessor :current_password, :current_username
+
+ def save_with_challenge(current_user)
+ if current_user.encrypted_password.present?
+ errors.add(:current_password, :invalid) unless current_user.valid_password?(current_password)
+ else
+ errors.add(:current_username, :invalid) unless account.username == current_username
+ end
+
+ return false unless errors.empty?
+
+ save
+ end
+
+ def cooldown_at
+ created_at + COOLDOWN_PERIOD
+ end
+
+ def acct=(val)
+ val = val.to_s.strip
+ super(val.start_with?('@') ? val[1..-1] : val)
+ end
+
+ private
+
+ def set_target_account
+ self.target_account = ResolveAccountService.new.call(acct)
+ rescue Goldfinger::Error, HTTP::Error, OpenSSL::SSL::SSLError, Mastodon::Error
+ # Validation will take care of it
+ end
+
+ def set_followers_count
+ self.followers_count = account.followers_count
+ end
+
+ def validate_target_account
+ if target_account.nil?
+ errors.add(:acct, I18n.t('migrations.errors.not_found'))
+ else
+ errors.add(:acct, I18n.t('migrations.errors.missing_also_known_as')) unless target_account.also_known_as.include?(ActivityPub::TagManager.instance.uri_for(account))
+ errors.add(:acct, I18n.t('migrations.errors.already_moved')) if account.moved_to_account_id.present? && account.moved_to_account_id == target_account.id
+ errors.add(:acct, I18n.t('migrations.errors.move_to_self')) if account.id == target_account.id
+ end
+ end
+
+ def validate_migration_cooldown
+ errors.add(:base, I18n.t('migrations.errors.on_cooldown')) if account.migrations.within_cooldown.exists?
+ end
+end
diff --git a/app/models/admin/account_action.rb b/app/models/admin/account_action.rb
index bdbd342fb..b30a82369 100644
--- a/app/models/admin/account_action.rb
+++ b/app/models/admin/account_action.rb
@@ -19,20 +19,25 @@ class Admin::AccountAction
:report_id,
:warning_preset_id
- attr_reader :warning, :send_email_notification
+ attr_reader :warning, :send_email_notification, :include_statuses
def send_email_notification=(value)
@send_email_notification = ActiveModel::Type::Boolean.new.cast(value)
end
+ def include_statuses=(value)
+ @include_statuses = ActiveModel::Type::Boolean.new.cast(value)
+ end
+
def save!
ApplicationRecord.transaction do
process_action!
process_warning!
end
- queue_email!
+ process_email!
process_reports!
+ process_queue!
end
def report
@@ -78,19 +83,23 @@ class Admin::AccountAction
# A log entry is only interesting if the warning contains
# custom text from someone. Otherwise it's just noise.
+
log_action(:create, warning) if warning.text.present?
end
def process_reports!
- return if report_id.blank?
+ # If we're doing "mark as resolved" on a single report,
+ # then we want to keep other reports open in case they
+ # contain new actionable information.
+ #
+ # Otherwise, we will mark all unresolved reports about
+ # the account as resolved.
- authorize(report, :update?)
+ reports.each { |report| authorize(report, :update?) }
- if type == 'none'
+ reports.each do |report|
log_action(:resolve, report)
report.resolve!(current_account)
- else
- Report.where(target_account: target_account).unresolved.update_all(action_taken: true, action_taken_by_account_id: current_account.id)
end
end
@@ -110,7 +119,6 @@ class Admin::AccountAction
authorize(target_account, :suspend?)
log_action(:suspend, target_account)
target_account.suspend!
- queue_suspension_worker!
end
def text_for_warning
@@ -121,16 +129,32 @@ class Admin::AccountAction
Admin::SuspensionWorker.perform_async(target_account.id)
end
- def queue_email!
- return unless warnable?
+ def process_queue!
+ queue_suspension_worker! if type == 'suspend'
+ end
- UserMailer.warning(target_account.user, warning).deliver_later!
+ def process_email!
+ UserMailer.warning(target_account.user, warning, status_ids).deliver_now! if warnable?
end
def warnable?
send_email_notification && target_account.local?
end
+ def status_ids
+ @report.status_ids if @report && include_statuses
+ end
+
+ def reports
+ @reports ||= begin
+ if type == 'none' && with_report?
+ [report]
+ else
+ Report.where(target_account: target_account).unresolved
+ end
+ end
+ end
+
def warning_preset
@warning_preset ||= AccountWarningPreset.find(warning_preset_id) if warning_preset_id.present?
end
diff --git a/app/models/concerns/account_associations.rb b/app/models/concerns/account_associations.rb
index 1db7771c7..c9cc5c610 100644
--- a/app/models/concerns/account_associations.rb
+++ b/app/models/concerns/account_associations.rb
@@ -52,6 +52,8 @@ module AccountAssociations
# Account migrations
belongs_to :moved_to_account, class_name: 'Account', optional: true
+ has_many :migrations, class_name: 'AccountMigration', dependent: :destroy, inverse_of: :account
+ has_many :aliases, class_name: 'AccountAlias', dependent: :destroy, inverse_of: :account
# Hashtags
has_and_belongs_to_many :tags
diff --git a/app/models/concerns/account_avatar.rb b/app/models/concerns/account_avatar.rb
index 5fff3ef5d..2d5ebfca3 100644
--- a/app/models/concerns/account_avatar.rb
+++ b/app/models/concerns/account_avatar.rb
@@ -3,7 +3,7 @@
module AccountAvatar
extend ActiveSupport::Concern
- IMAGE_MIME_TYPES = ['image/jpeg', 'image/png', 'image/gif', 'image/webp'].freeze
+ IMAGE_MIME_TYPES = ['image/jpeg', 'image/png', 'image/gif'].freeze
LIMIT = 2.megabytes
class_methods do
diff --git a/app/models/concerns/account_counters.rb b/app/models/concerns/account_counters.rb
index 3581df8dd..6e25e1905 100644
--- a/app/models/concerns/account_counters.rb
+++ b/app/models/concerns/account_counters.rb
@@ -26,7 +26,8 @@ module AccountCounters
private
def save_account_stat
- return unless account_stat&.changed?
+ return unless association(:account_stat).loaded? && account_stat&.changed?
+
account_stat.save
end
end
diff --git a/app/models/concerns/account_header.rb b/app/models/concerns/account_header.rb
index a748fdff7..067e166eb 100644
--- a/app/models/concerns/account_header.rb
+++ b/app/models/concerns/account_header.rb
@@ -3,7 +3,7 @@
module AccountHeader
extend ActiveSupport::Concern
- IMAGE_MIME_TYPES = ['image/jpeg', 'image/png', 'image/gif', 'image/webp'].freeze
+ IMAGE_MIME_TYPES = ['image/jpeg', 'image/png', 'image/gif'].freeze
LIMIT = 2.megabytes
MAX_PIXELS = 750_000 # 1500x500px
diff --git a/app/models/concerns/omniauthable.rb b/app/models/concerns/omniauthable.rb
index b9c124841..960784222 100644
--- a/app/models/concerns/omniauthable.rb
+++ b/app/models/concerns/omniauthable.rb
@@ -4,7 +4,7 @@ module Omniauthable
extend ActiveSupport::Concern
TEMP_EMAIL_PREFIX = 'change@me'
- TEMP_EMAIL_REGEX = /\Achange@me/
+ TEMP_EMAIL_REGEX = /\A#{TEMP_EMAIL_PREFIX}/.freeze
included do
devise :omniauthable
@@ -28,8 +28,8 @@ module Omniauthable
# to prevent the identity being locked with accidentally created accounts.
# Note that this may leave zombie accounts (with no associated identity) which
# can be cleaned up at a later date.
- user = signed_in_resource || identity.user
- user = create_for_oauth(auth) if user.nil?
+ user = signed_in_resource || identity.user
+ user ||= create_for_oauth(auth)
if identity.user.nil?
identity.user = user
@@ -45,7 +45,18 @@ module Omniauthable
# exists, we assign a temporary email and ask the user to verify it on
# the next step via Auth::SetupController.show
- user = User.new(user_params_from_auth(auth))
+ strategy = Devise.omniauth_configs[auth.provider.to_sym].strategy
+ assume_verified = strategy&.security&.assume_email_is_verified
+ email_is_verified = auth.info.verified || auth.info.verified_email || assume_verified
+ email = auth.info.verified_email || auth.info.email
+ email = nil unless email_is_verified
+
+ user = User.find_by(email: email) if email_is_verified
+
+ return user unless user.nil?
+
+ user = User.new(user_params_from_auth(email, auth))
+
user.account.avatar_remote_url = auth.info.image if auth.info.image =~ /\A#{URI.regexp(%w(http https))}\z/
user.skip_confirmation!
user.save!
@@ -54,14 +65,7 @@ module Omniauthable
private
- def user_params_from_auth(auth)
- strategy = Devise.omniauth_configs[auth.provider.to_sym].strategy
- assume_verified = strategy.try(:security).try(:assume_email_is_verified)
- email_is_verified = auth.info.verified || auth.info.verified_email || assume_verified
- email = auth.info.verified_email || auth.info.email
- email = email_is_verified && !User.exists?(email: auth.info.email) && email
- display_name = auth.info.full_name || [auth.info.first_name, auth.info.last_name].join(' ')
-
+ def user_params_from_auth(email, auth)
{
email: email || "#{TEMP_EMAIL_PREFIX}-#{auth.uid}-#{auth.provider}.com",
password: Devise.friendly_token[0, 20],
@@ -69,7 +73,7 @@ module Omniauthable
external: true,
account_attributes: {
username: ensure_unique_username(auth.uid),
- display_name: display_name,
+ display_name: auth.info.full_name || [auth.info.first_name, auth.info.last_name].join(' '),
},
}
end
diff --git a/app/models/concerns/remotable.rb b/app/models/concerns/remotable.rb
index 9372a963b..082302619 100644
--- a/app/models/concerns/remotable.rb
+++ b/app/models/concerns/remotable.rb
@@ -4,7 +4,7 @@ module Remotable
extend ActiveSupport::Concern
class_methods do
- def remotable_attachment(attachment_name, limit)
+ def remotable_attachment(attachment_name, limit, suppress_errors: true)
attribute_name = "#{attachment_name}_remote_url".to_sym
method_name = "#{attribute_name}=".to_sym
alt_method_name = "reset_#{attachment_name}!".to_sym
@@ -22,7 +22,7 @@ module Remotable
begin
Request.new(:get, url).perform do |response|
- next if response.code != 200
+ raise Mastodon::UnexpectedResponseError, response unless (200...300).cover?(response.code)
content_type = parse_content_type(response.headers.get('content-type').last)
extname = detect_extname_from_content_type(content_type)
@@ -41,11 +41,11 @@ module Remotable
self[attribute_name] = url if has_attribute?(attribute_name)
end
- rescue HTTP::TimeoutError, HTTP::ConnectionError, OpenSSL::SSL::SSLError, Paperclip::Errors::NotIdentifiedByImageMagickError, Addressable::URI::InvalidURIError, Mastodon::HostValidationError, Mastodon::LengthValidationError => e
+ rescue Mastodon::UnexpectedResponseError, HTTP::TimeoutError, HTTP::ConnectionError, OpenSSL::SSL::SSLError => e
+ Rails.logger.debug "Error fetching remote #{attachment_name}: #{e}"
+ raise e unless suppress_errors
+ rescue Paperclip::Errors::NotIdentifiedByImageMagickError, Addressable::URI::InvalidURIError, Mastodon::HostValidationError, Mastodon::LengthValidationError, Paperclip::Error, Mastodon::DimensionsValidationError => e
Rails.logger.debug "Error fetching remote #{attachment_name}: #{e}"
- nil
- rescue Paperclip::Error, Mastodon::DimensionsValidationError => e
- Rails.logger.debug "Error processing remote #{attachment_name}: #{e}"
nil
end
end
diff --git a/app/models/custom_emoji.rb b/app/models/custom_emoji.rb
index 643a7e46a..0dacaf654 100644
--- a/app/models/custom_emoji.rb
+++ b/app/models/custom_emoji.rb
@@ -28,7 +28,7 @@ class CustomEmoji < ApplicationRecord
:(#{SHORTCODE_RE_FRAGMENT}):
(?=[^[:alnum:]:]|$)/x
- IMAGE_MIME_TYPES = %w(image/png image/gif image/webp).freeze
+ IMAGE_MIME_TYPES = %w(image/png image/gif).freeze
belongs_to :category, class_name: 'CustomEmojiCategory', optional: true
has_one :local_counterpart, -> { where(domain: nil) }, class_name: 'CustomEmoji', primary_key: :shortcode, foreign_key: :shortcode
@@ -40,10 +40,11 @@ class CustomEmoji < ApplicationRecord
validates_attachment :image, content_type: { content_type: IMAGE_MIME_TYPES }, presence: true, size: { less_than: LIMIT }
validates :shortcode, uniqueness: { scope: :domain }, format: { with: /\A#{SHORTCODE_RE_FRAGMENT}\z/ }, length: { minimum: 2 }
- scope :local, -> { where(domain: nil) }
- scope :remote, -> { where.not(domain: nil) }
+ scope :local, -> { where(domain: nil) }
+ scope :remote, -> { where.not(domain: nil) }
scope :alphabetic, -> { order(domain: :asc, shortcode: :asc) }
scope :by_domain_and_subdomains, ->(domain) { where(domain: domain).or(where(arel_table[:domain].matches('%.' + domain))) }
+ scope :listed, -> { local.where(disabled: false).where(visible_in_picker: true) }
remotable_attachment :image, LIMIT
@@ -59,6 +60,12 @@ class CustomEmoji < ApplicationRecord
:emoji
end
+ def copy!
+ copy = self.class.find_or_initialize_by(domain: nil, shortcode: shortcode)
+ copy.image = image
+ copy.tap(&:save!)
+ end
+
class << self
def from_text(text, domain)
return [] if text.blank?
diff --git a/app/models/custom_emoji_category.rb b/app/models/custom_emoji_category.rb
index 7d8c0ee2d..3c87f2b2e 100644
--- a/app/models/custom_emoji_category.rb
+++ b/app/models/custom_emoji_category.rb
@@ -12,4 +12,6 @@
class CustomEmojiCategory < ApplicationRecord
has_many :emojis, class_name: 'CustomEmoji', foreign_key: 'category_id', inverse_of: :category
+
+ validates :name, presence: true, uniqueness: true
end
diff --git a/app/models/custom_emoji_filter.rb b/app/models/custom_emoji_filter.rb
index 7649055d2..15b8da1d1 100644
--- a/app/models/custom_emoji_filter.rb
+++ b/app/models/custom_emoji_filter.rb
@@ -11,6 +11,8 @@ class CustomEmojiFilter
scope = CustomEmoji.alphabetic
params.each do |key, value|
+ next if key.to_s == 'page'
+
scope.merge!(scope_for(key, value)) if value.present?
end
@@ -22,13 +24,13 @@ class CustomEmojiFilter
def scope_for(key, value)
case key.to_s
when 'local'
- CustomEmoji.local
+ CustomEmoji.local.left_joins(:category).reorder(Arel.sql('custom_emoji_categories.name ASC NULLS FIRST, custom_emojis.shortcode ASC'))
when 'remote'
CustomEmoji.remote
when 'by_domain'
- CustomEmoji.where(domain: value.downcase)
+ CustomEmoji.where(domain: value.strip.downcase)
when 'shortcode'
- CustomEmoji.search(value)
+ CustomEmoji.search(value.strip)
else
raise "Unknown filter: #{key}"
end
diff --git a/app/models/domain_block.rb b/app/models/domain_block.rb
index 37b8d98c6..4e865b850 100644
--- a/app/models/domain_block.rb
+++ b/app/models/domain_block.rb
@@ -25,6 +25,8 @@ class DomainBlock < ApplicationRecord
delegate :count, to: :accounts, prefix: true
scope :matches_domain, ->(value) { where(arel_table[:domain].matches("%#{value}%")) }
+ scope :with_user_facing_limitations, -> { where(severity: [:silence, :suspend]).or(where(reject_media: true)) }
+ scope :by_severity, -> { order(Arel.sql('(CASE severity WHEN 0 THEN 1 WHEN 1 THEN 2 WHEN 2 THEN 0 END), reject_media, domain')) }
class << self
def suspend?(domain)
diff --git a/app/models/feed.rb b/app/models/feed.rb
index 0e8943ff8..36e0c1e0a 100644
--- a/app/models/feed.rb
+++ b/app/models/feed.rb
@@ -9,6 +9,11 @@ class Feed
end
def get(limit, max_id = nil, since_id = nil, min_id = nil)
+ limit = limit.to_i
+ max_id = max_id.to_i if max_id.present?
+ since_id = since_id.to_i if since_id.present?
+ min_id = min_id.to_i if min_id.present?
+
from_redis(limit, max_id, since_id, min_id)
end
diff --git a/app/models/form/account_batch.rb b/app/models/form/account_batch.rb
index f1b7a4566..0b285fde9 100644
--- a/app/models/form/account_batch.rb
+++ b/app/models/form/account_batch.rb
@@ -69,6 +69,6 @@ class Form::AccountBatch
records = accounts.includes(:user)
records.each { |account| authorize(account.user, :reject?) }
- .each { |account| SuspendAccountService.new.call(account, including_user: true, destroy: true, skip_distribution: true) }
+ .each { |account| SuspendAccountService.new.call(account, reserve_email: false, reserve_username: false) }
end
end
diff --git a/app/models/form/admin_settings.rb b/app/models/form/admin_settings.rb
index 051268375..24196e182 100644
--- a/app/models/form/admin_settings.rb
+++ b/app/models/form/admin_settings.rb
@@ -30,6 +30,9 @@ class Form::AdminSettings
mascot
spam_check_enabled
trends
+ show_domain_blocks
+ show_domain_blocks_rationale
+ noindex
).freeze
BOOLEAN_KEYS = %i(
@@ -43,6 +46,7 @@ class Form::AdminSettings
profile_directory
spam_check_enabled
trends
+ noindex
).freeze
UPLOAD_KEYS = %i(
@@ -60,6 +64,8 @@ class Form::AdminSettings
validates :site_contact_email, :site_contact_username, presence: true
validates :site_contact_username, existing_username: true
validates :bootstrap_timeline_accounts, existing_username: { multiple: true }
+ validates :show_domain_blocks, inclusion: { in: %w(disabled users all) }
+ validates :show_domain_blocks_rationale, inclusion: { in: %w(disabled users all) }
def initialize(_attributes = {})
super
diff --git a/app/models/form/challenge.rb b/app/models/form/challenge.rb
new file mode 100644
index 000000000..40c99649c
--- /dev/null
+++ b/app/models/form/challenge.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+
+class Form::Challenge
+ include ActiveModel::Model
+
+ attr_accessor :current_password, :current_username,
+ :return_to
+end
diff --git a/app/models/form/custom_emoji_batch.rb b/app/models/form/custom_emoji_batch.rb
new file mode 100644
index 000000000..076e8c9e3
--- /dev/null
+++ b/app/models/form/custom_emoji_batch.rb
@@ -0,0 +1,106 @@
+# frozen_string_literal: true
+
+class Form::CustomEmojiBatch
+ include ActiveModel::Model
+ include Authorization
+ include AccountableConcern
+
+ attr_accessor :custom_emoji_ids, :action, :current_account,
+ :category_id, :category_name, :visible_in_picker
+
+ def save
+ case action
+ when 'update'
+ update!
+ when 'list'
+ list!
+ when 'unlist'
+ unlist!
+ when 'enable'
+ enable!
+ when 'disable'
+ disable!
+ when 'copy'
+ copy!
+ when 'delete'
+ delete!
+ end
+ end
+
+ private
+
+ def custom_emojis
+ CustomEmoji.where(id: custom_emoji_ids)
+ end
+
+ def update!
+ custom_emojis.each { |custom_emoji| authorize(custom_emoji, :update?) }
+
+ category = begin
+ if category_id.present?
+ CustomEmojiCategory.find(category_id)
+ elsif category_name.present?
+ CustomEmojiCategory.create!(name: category_name)
+ end
+ end
+
+ custom_emojis.each do |custom_emoji|
+ custom_emoji.update(category_id: category&.id)
+ log_action :update, custom_emoji
+ end
+ end
+
+ def list!
+ custom_emojis.each { |custom_emoji| authorize(custom_emoji, :update?) }
+
+ custom_emojis.each do |custom_emoji|
+ custom_emoji.update(visible_in_picker: true)
+ log_action :update, custom_emoji
+ end
+ end
+
+ def unlist!
+ custom_emojis.each { |custom_emoji| authorize(custom_emoji, :update?) }
+
+ custom_emojis.each do |custom_emoji|
+ custom_emoji.update(visible_in_picker: false)
+ log_action :update, custom_emoji
+ end
+ end
+
+ def enable!
+ custom_emojis.each { |custom_emoji| authorize(custom_emoji, :enable?) }
+
+ custom_emojis.each do |custom_emoji|
+ custom_emoji.update(disabled: false)
+ log_action :enable, custom_emoji
+ end
+ end
+
+ def disable!
+ custom_emojis.each { |custom_emoji| authorize(custom_emoji, :disable?) }
+
+ custom_emojis.each do |custom_emoji|
+ custom_emoji.update(disabled: true)
+ log_action :disable, custom_emoji
+ end
+ end
+
+ def copy!
+ custom_emojis.each { |custom_emoji| authorize(custom_emoji, :copy?) }
+
+ custom_emojis.each do |custom_emoji|
+ copied_custom_emoji = custom_emoji.copy!
+ log_action :create, copied_custom_emoji
+ end
+ end
+
+ def delete!
+ custom_emojis.each { |custom_emoji| authorize(custom_emoji, :destroy?) }
+
+ custom_emojis.each do |custom_emoji|
+ custom_emoji.destroy
+ log_action :destroy, custom_emoji
+ end
+ end
+end
diff --git a/app/models/form/delete_confirmation.rb b/app/models/form/delete_confirmation.rb
index 0884a09b8..99d04b331 100644
--- a/app/models/form/delete_confirmation.rb
+++ b/app/models/form/delete_confirmation.rb
@@ -3,5 +3,5 @@
class Form::DeleteConfirmation
include ActiveModel::Model
- attr_accessor :password
+ attr_accessor :password, :username
end
diff --git a/app/models/form/migration.rb b/app/models/form/migration.rb
deleted file mode 100644
index c2a8655e1..000000000
--- a/app/models/form/migration.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-# frozen_string_literal: true
-
-class Form::Migration
- include ActiveModel::Validations
-
- attr_accessor :acct, :account
-
- def initialize(attrs = {})
- @account = attrs[:account]
- @acct = attrs[:account].acct unless @account.nil?
- @acct = attrs[:acct].gsub(/\A@/, '').strip unless attrs[:acct].nil?
- end
-
- def valid?
- return false unless super
- set_account
- errors.empty?
- end
-
- private
-
- def set_account
- self.account = (ResolveAccountService.new.call(acct) if account.nil? && acct.present?)
- end
-end
diff --git a/app/models/form/status_batch.rb b/app/models/form/status_batch.rb
index 933dfdaca..c4943a7ea 100644
--- a/app/models/form/status_batch.rb
+++ b/app/models/form/status_batch.rb
@@ -34,7 +34,8 @@ class Form::StatusBatch
def delete_statuses
Status.where(id: status_ids).reorder(nil).find_each do |status|
- RemovalWorker.perform_async(status.id)
+ status.discard
+ RemovalWorker.perform_async(status.id, immediate: true)
Tombstone.find_or_create_by(uri: status.uri, account: status.account, by_moderator: true)
log_action :destroy, status
end
diff --git a/app/models/form/tag_batch.rb b/app/models/form/tag_batch.rb
new file mode 100644
index 000000000..fd517a1a6
--- /dev/null
+++ b/app/models/form/tag_batch.rb
@@ -0,0 +1,33 @@
+# frozen_string_literal: true
+
+class Form::TagBatch
+ include ActiveModel::Model
+ include Authorization
+
+ attr_accessor :tag_ids, :action, :current_account
+
+ def save
+ case action
+ when 'approve'
+ approve!
+ when 'reject'
+ reject!
+ end
+ end
+
+ private
+
+ def tags
+ Tag.where(id: tag_ids)
+ end
+
+ def approve!
+ tags.each { |tag| authorize(tag, :update?) }
+ tags.update_all(trendable: true, reviewed_at: Time.now.utc)
+ end
+
+ def reject!
+ tags.each { |tag| authorize(tag, :update?) }
+ tags.update_all(trendable: false, reviewed_at: Time.now.utc)
+ end
+end
diff --git a/app/models/form/two_factor_confirmation.rb b/app/models/form/two_factor_confirmation.rb
index b8cf76d05..27ada6533 100644
--- a/app/models/form/two_factor_confirmation.rb
+++ b/app/models/form/two_factor_confirmation.rb
@@ -3,5 +3,5 @@
class Form::TwoFactorConfirmation
include ActiveModel::Model
- attr_accessor :code
+ attr_accessor :otp_attempt
end
diff --git a/app/models/invite.rb b/app/models/invite.rb
index 02ab8e0b2..29d25eae8 100644
--- a/app/models/invite.rb
+++ b/app/models/invite.rb
@@ -12,6 +12,7 @@
# created_at :datetime not null
# updated_at :datetime not null
# autofollow :boolean default(FALSE), not null
+# comment :text
#
class Invite < ApplicationRecord
@@ -22,6 +23,8 @@ class Invite < ApplicationRecord
scope :available, -> { where(expires_at: nil).or(where('expires_at >= ?', Time.now.utc)) }
+ validates :comment, length: { maximum: 420 }
+
before_validation :set_code
def valid_for_use?
diff --git a/app/models/marker.rb b/app/models/marker.rb
new file mode 100644
index 000000000..a5bd2176a
--- /dev/null
+++ b/app/models/marker.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+# == Schema Information
+#
+# Table name: markers
+#
+# id :bigint(8) not null, primary key
+# user_id :bigint(8)
+# timeline :string default(""), not null
+# last_read_id :bigint(8) default(0), not null
+# lock_version :integer default(0), not null
+# created_at :datetime not null
+# updated_at :datetime not null
+#
+
+class Marker < ApplicationRecord
+ TIMELINES = %w(home notifications).freeze
+
+ belongs_to :user
+
+ validates :timeline, :last_read_id, presence: true
+ validates :timeline, inclusion: { in: TIMELINES }
+end
diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb
index 2fc5ccf27..c4932f2ef 100644
--- a/app/models/media_attachment.rb
+++ b/app/models/media_attachment.rb
@@ -26,14 +26,14 @@ class MediaAttachment < ApplicationRecord
enum type: [:image, :gifv, :video, :unknown, :audio]
- IMAGE_FILE_EXTENSIONS = %w(.jpg .jpeg .png .gif .webp).freeze
+ IMAGE_FILE_EXTENSIONS = %w(.jpg .jpeg .png .gif).freeze
VIDEO_FILE_EXTENSIONS = %w(.webm .mp4 .m4v .mov).freeze
- AUDIO_FILE_EXTENSIONS = %w(.ogg .oga .mp3 .wav .flac .opus .aac .m4a .3gp).freeze
+ AUDIO_FILE_EXTENSIONS = %w(.ogg .oga .mp3 .wav .flac .opus .aac .m4a .3gp .wma).freeze
- IMAGE_MIME_TYPES = %w(image/jpeg image/png image/gif image/webp).freeze
+ IMAGE_MIME_TYPES = %w(image/jpeg image/png image/gif).freeze
VIDEO_MIME_TYPES = %w(video/webm video/mp4 video/quicktime video/ogg).freeze
VIDEO_CONVERTIBLE_MIME_TYPES = %w(video/webm video/quicktime).freeze
- AUDIO_MIME_TYPES = %w(audio/wave audio/wav audio/x-wav audio/x-pn-wave audio/ogg audio/mpeg audio/mp3 audio/webm audio/flac audio/aac audio/m4a audio/3gpp).freeze
+ AUDIO_MIME_TYPES = %w(audio/wave audio/wav audio/x-wav audio/x-pn-wave audio/ogg audio/mpeg audio/mp3 audio/webm audio/flac audio/aac audio/m4a audio/x-m4a audio/mp4 audio/3gpp video/x-ms-asf).freeze
BLURHASH_OPTIONS = {
x_comp: 4,
@@ -118,17 +118,18 @@ class MediaAttachment < ApplicationRecord
validates_attachment_content_type :file, content_type: IMAGE_MIME_TYPES + VIDEO_MIME_TYPES + AUDIO_MIME_TYPES
validates_attachment_size :file, less_than: IMAGE_LIMIT, unless: :larger_media_format?
validates_attachment_size :file, less_than: VIDEO_LIMIT, if: :larger_media_format?
- remotable_attachment :file, VIDEO_LIMIT
+ remotable_attachment :file, VIDEO_LIMIT, suppress_errors: false
include Attachmentable
validates :account, presence: true
- validates :description, length: { maximum: 420 }, if: :local?
+ validates :description, length: { maximum: 1_500 }, if: :local?
scope :attached, -> { where.not(status_id: nil).or(where.not(scheduled_status_id: nil)) }
scope :unattached, -> { where(status_id: nil, scheduled_status_id: nil) }
scope :local, -> { where(remote_url: '') }
scope :remote, -> { where.not(remote_url: '') }
+ scope :cached, -> { remote.where.not(file_file_name: nil) }
default_scope { order(id: :asc) }
diff --git a/app/models/preview_card.rb b/app/models/preview_card.rb
index f26ea0c74..9d6c1938a 100644
--- a/app/models/preview_card.rb
+++ b/app/models/preview_card.rb
@@ -25,7 +25,7 @@
#
class PreviewCard < ApplicationRecord
- IMAGE_MIME_TYPES = ['image/jpeg', 'image/png', 'image/gif', 'image/webp'].freeze
+ IMAGE_MIME_TYPES = ['image/jpeg', 'image/png', 'image/gif'].freeze
LIMIT = 1.megabytes
self.inheritance_column = false
@@ -43,6 +43,8 @@ class PreviewCard < ApplicationRecord
validates_attachment_size :image, less_than: LIMIT
remotable_attachment :image, LIMIT
+ scope :cached, -> { where.not(image_file_name: [nil, '']) }
+
before_save :extract_dimensions, if: :link?
def save_with_optional_image!
diff --git a/app/models/remote_follow.rb b/app/models/remote_follow.rb
index 93df11724..5ea535287 100644
--- a/app/models/remote_follow.rb
+++ b/app/models/remote_follow.rb
@@ -6,7 +6,7 @@ class RemoteFollow
attr_accessor :acct, :addressable_template
- validates :acct, presence: true
+ validates :acct, presence: true, domain: { acct: true }
def initialize(attrs = {})
@acct = normalize_acct(attrs[:acct])
@@ -21,7 +21,7 @@ class RemoteFollow
end
def subscribe_address_for(account)
- addressable_template.expand(uri: account.local_username_and_domain).to_s
+ addressable_template.expand(uri: ActivityPub::TagManager.instance.uri_for(account)).to_s
end
def interact_address_for(status)
@@ -44,10 +44,12 @@ class RemoteFollow
end
[username, domain].compact.join('@')
+ rescue Addressable::URI::InvalidURIError
+ value
end
def fetch_template!
- return missing_resource if acct.blank?
+ return missing_resource_error if acct.blank?
_, domain = acct.split('@')
diff --git a/app/models/report.rb b/app/models/report.rb
index 5192ceef7..fb2e040ee 100644
--- a/app/models/report.rb
+++ b/app/models/report.rb
@@ -43,7 +43,7 @@ class Report < ApplicationRecord
end
def statuses
- Status.where(id: status_ids).includes(:account, :media_attachments, :mentions)
+ Status.with_discarded.where(id: status_ids).includes(:account, :media_attachments, :mentions)
end
def media_attachments
@@ -59,6 +59,7 @@ class Report < ApplicationRecord
end
def resolve!(acting_account)
+ RemovalWorker.push_bulk(Status.with_discarded.discarded.where(id: status_ids).pluck(:id)) { |status_id| [status_id, { immediate: true }] }
update!(action_taken: true, action_taken_by_account_id: acting_account.id)
end
diff --git a/app/models/status.rb b/app/models/status.rb
index 23682c84b..471bb03b4 100644
--- a/app/models/status.rb
+++ b/app/models/status.rb
@@ -22,15 +22,19 @@
# application_id :bigint(8)
# in_reply_to_account_id :bigint(8)
# poll_id :bigint(8)
+# deleted_at :datetime
#
class Status < ApplicationRecord
before_destroy :unlink_from_conversations
+ include Discard::Model
include Paginable
include Cacheable
include StatusThreadingConcern
+ self.discard_column = :deleted_at
+
# If `override_timestamps` is set at creation time, Snowflake ID creation
# will be based on current time instead of `created_at`
attr_accessor :override_timestamps
@@ -72,7 +76,7 @@ class Status < ApplicationRecord
accepts_nested_attributes_for :poll
- default_scope { recent }
+ default_scope { recent.kept }
scope :recent, -> { reorder(id: :desc) }
scope :remote, -> { where(local: false).where.not(uri: nil) }
@@ -210,6 +214,10 @@ class Status < ApplicationRecord
!sensitive? && with_media?
end
+ def reported?
+ @reported ||= Report.where(target_account: account).unresolved.where('? = ANY(status_ids)', id).exists?
+ end
+
def emojis
return @emojis if defined?(@emojis)
@@ -388,13 +396,16 @@ class Status < ApplicationRecord
end
end
+ def status_stat
+ super || build_status_stat
+ end
+
private
def update_status_stat!(attrs)
return if marked_for_destruction? || destroyed?
- record = status_stat || build_status_stat
- record.update(attrs)
+ status_stat.update(attrs)
end
def store_uri
diff --git a/app/models/tag.rb b/app/models/tag.rb
index 1364d1dba..b52b9bc9f 100644
--- a/app/models/tag.rb
+++ b/app/models/tag.rb
@@ -7,24 +7,27 @@
# name :string default(""), not null
# created_at :datetime not null
# updated_at :datetime not null
-# score :integer
# usable :boolean
# trendable :boolean
# listable :boolean
# reviewed_at :datetime
# requested_review_at :datetime
+# last_status_at :datetime
+# max_score :float
+# max_score_at :datetime
#
class Tag < ApplicationRecord
has_and_belongs_to_many :statuses
has_and_belongs_to_many :accounts
- has_and_belongs_to_many :sample_accounts, -> { searchable.discoverable.popular.limit(3) }, class_name: 'Account'
+ has_and_belongs_to_many :sample_accounts, -> { local.discoverable.popular.limit(3) }, class_name: 'Account'
has_many :featured_tags, dependent: :destroy, inverse_of: :tag
has_one :account_tag_stat, dependent: :destroy
- HASHTAG_NAME_RE = '([[:word:]_][[:word:]_·]*[[:alpha:]_·][[:word:]_·]*[[:word:]_])|([[:word:]_]*[[:alpha:]][[:word:]_]*)'
- HASHTAG_RE = /(?:^|[^\/\)\w])#(#{HASHTAG_NAME_RE})/i
+ HASHTAG_SEPARATORS = "_\u00B7\u200c"
+ HASHTAG_NAME_RE = "([[:word:]_][[:word:]#{HASHTAG_SEPARATORS}]*[[:alpha:]#{HASHTAG_SEPARATORS}][[:word:]#{HASHTAG_SEPARATORS}]*[[:word:]_])|([[:word:]_]*[[:alpha:]][[:word:]_]*)"
+ HASHTAG_RE = /(?:^|[^\/\)\w])#(#{HASHTAG_NAME_RE})/i
validates :name, presence: true, format: { with: /\A(#{HASHTAG_NAME_RE})\z/i }
validate :validate_name_change, if: -> { !new_record? && name_changed? }
@@ -33,8 +36,10 @@ class Tag < ApplicationRecord
scope :unreviewed, -> { where(reviewed_at: nil) }
scope :pending_review, -> { unreviewed.where.not(requested_review_at: nil) }
scope :usable, -> { where(usable: [true, nil]) }
- scope :discoverable, -> { where(listable: [true, nil]).joins(:account_tag_stat).where(AccountTagStat.arel_table[:accounts_count].gt(0)).order(Arel.sql('account_tag_stats.accounts_count desc')) }
+ scope :listable, -> { where(listable: [true, nil]) }
+ scope :discoverable, -> { listable.joins(:account_tag_stat).where(AccountTagStat.arel_table[:accounts_count].gt(0)).order(Arel.sql('account_tag_stats.accounts_count desc')) }
scope :most_used, ->(account) { joins(:statuses).where(statuses: { account: account }).group(:id).order(Arel.sql('count(*) desc')) }
+ scope :matches_name, ->(value) { where(arel_table[:name].matches("#{value}%")) }
delegate :accounts_count,
:accounts_count=,
@@ -44,6 +49,8 @@ class Tag < ApplicationRecord
after_save :save_account_tag_stat
+ update_index('tags#tag', :self) if Chewy.enabled?
+
def account_tag_stat
super || build_account_tag_stat
end
@@ -109,7 +116,7 @@ class Tag < ApplicationRecord
class << self
def find_or_create_by_names(name_or_names)
Array(name_or_names).map(&method(:normalize)).uniq { |str| str.mb_chars.downcase.to_s }.map do |normalized_name|
- tag = matching_name(normalized_name).first || create(name: normalized_name)
+ tag = matching_name(normalized_name).first || create!(name: normalized_name)
yield tag if block_given?
@@ -121,9 +128,10 @@ class Tag < ApplicationRecord
normalized_term = normalize(term.strip).mb_chars.downcase.to_s
pattern = sanitize_sql_like(normalized_term) + '%'
- Tag.where(arel_table[:name].lower.matches(pattern))
- .where(arel_table[:score].gt(0).or(arel_table[:name].lower.eq(normalized_term)))
- .order(Arel.sql('length(name) ASC, score DESC, name ASC'))
+ Tag.listable
+ .where(arel_table[:name].lower.matches(pattern))
+ .where(arel_table[:name].lower.eq(normalized_term).or(arel_table[:reviewed_at].not_eq(nil)))
+ .order(Arel.sql('length(name) ASC, name ASC'))
.limit(limit)
.offset(offset)
end
diff --git a/app/models/tag_filter.rb b/app/models/tag_filter.rb
new file mode 100644
index 000000000..8921e186b
--- /dev/null
+++ b/app/models/tag_filter.rb
@@ -0,0 +1,44 @@
+# frozen_string_literal: true
+
+class TagFilter
+ attr_reader :params
+
+ def initialize(params)
+ @params = params
+ end
+
+ def results
+ scope = Tag.unscoped
+
+ params.each do |key, value|
+ next if key.to_s == 'page'
+
+ scope.merge!(scope_for(key, value.to_s.strip)) if value.present?
+ end
+
+ scope.order(id: :desc)
+ end
+
+ private
+
+ def scope_for(key, value)
+ case key.to_s
+ when 'directory'
+ Tag.discoverable
+ when 'reviewed'
+ Tag.reviewed.order(reviewed_at: :desc)
+ when 'unreviewed'
+ Tag.unreviewed
+ when 'pending_review'
+ Tag.pending_review.order(requested_review_at: :desc)
+ when 'popular'
+ Tag.order('max_score DESC NULLS LAST')
+ when 'active'
+ Tag.order('last_status_at DESC NULLS LAST')
+ when 'name'
+ Tag.matches_name(value)
+ else
+ raise "Unknown filter: #{key}"
+ end
+ end
+end
diff --git a/app/models/trending_tags.rb b/app/models/trending_tags.rb
index 3d60a7fea..8cdade42d 100644
--- a/app/models/trending_tags.rb
+++ b/app/models/trending_tags.rb
@@ -7,6 +7,8 @@ class TrendingTags
THRESHOLD = 5
LIMIT = 10
REVIEW_THRESHOLD = 3
+ MAX_SCORE_COOLDOWN = 2.days.freeze
+ MAX_SCORE_HALFLIFE = 2.hours.freeze
class << self
include Redisable
@@ -16,11 +18,76 @@ class TrendingTags
increment_historical_use!(tag.id, at_time)
increment_unique_use!(tag.id, account.id, at_time)
- increment_vote!(tag, at_time)
+ increment_use!(tag.id, at_time)
+
+ tag.update(last_status_at: Time.now.utc) if tag.last_status_at.nil? || tag.last_status_at < 12.hours.ago
+ end
+
+ def update!(at_time = Time.now.utc)
+ tag_ids = redis.smembers("#{KEY}:used:#{at_time.beginning_of_day.to_i}") + redis.zrange(KEY, 0, -1)
+ tags = Tag.where(id: tag_ids.uniq)
+
+ # First pass to calculate scores and update the set
+
+ tags.each do |tag|
+ expected = redis.pfcount("activity:tags:#{tag.id}:#{(at_time - 1.day).beginning_of_day.to_i}:accounts").to_f
+ expected = 1.0 if expected.zero?
+ observed = redis.pfcount("activity:tags:#{tag.id}:#{at_time.beginning_of_day.to_i}:accounts").to_f
+ max_time = tag.max_score_at
+ max_score = tag.max_score
+ max_score = 0 if max_time.nil? || max_time < (at_time - MAX_SCORE_COOLDOWN)
+
+ score = begin
+ if expected > observed || observed < THRESHOLD
+ 0
+ else
+ ((observed - expected)**2) / expected
+ end
+ end
+
+ if score > max_score
+ max_score = score
+ max_time = at_time
+
+ # Not interested in triggering any callbacks for this
+ tag.update_columns(max_score: max_score, max_score_at: max_time)
+ end
+
+ decaying_score = max_score * (0.5**((at_time.to_f - max_time.to_f) / MAX_SCORE_HALFLIFE.to_f))
+
+ if decaying_score.zero?
+ redis.zrem(KEY, tag.id)
+ else
+ redis.zadd(KEY, decaying_score, tag.id)
+ end
+ end
+
+ users_for_review = User.staff.includes(:account).to_a.select(&:allows_trending_tag_emails?)
+
+ # Second pass to notify about previously unreviewed trends
+
+ tags.each do |tag|
+ current_rank = redis.zrevrank(KEY, tag.id)
+ needs_review_notification = tag.requires_review? && !tag.requested_review?
+ rank_passes_threshold = current_rank.present? && current_rank <= REVIEW_THRESHOLD
+
+ next unless !tag.trendable? && rank_passes_threshold && needs_review_notification
+
+ tag.touch(:requested_review_at)
+
+ users_for_review.each do |user|
+ AdminMailer.new_trending_tag(user.account, tag).deliver_later!
+ end
+ end
+
+ # Trim older items
+
+ redis.zremrangebyrank(KEY, 0, -(LIMIT + 1))
+ redis.zremrangebyscore(KEY, '(0.3', '-inf')
end
def get(limit, filtered: true)
- tag_ids = redis.zrevrange("#{KEY}:#{Time.now.utc.beginning_of_day.to_i}", 0, LIMIT - 1).map(&:to_i)
+ tag_ids = redis.zrevrange(KEY, 0, LIMIT - 1).map(&:to_i)
tags = Tag.where(id: tag_ids)
tags = tags.where(trendable: true) if filtered
@@ -30,8 +97,8 @@ class TrendingTags
end
def trending?(tag)
- rank = redis.zrevrank("#{KEY}:#{Time.now.utc.beginning_of_day.to_i}", tag.id)
- rank.present? && rank <= LIMIT
+ rank = redis.zrevrank(KEY, tag.id)
+ rank.present? && rank < LIMIT
end
private
@@ -48,31 +115,10 @@ class TrendingTags
redis.expire(key, EXPIRE_HISTORY_AFTER)
end
- def increment_vote!(tag, at_time)
- key = "#{KEY}:#{at_time.beginning_of_day.to_i}"
- expected = redis.pfcount("activity:tags:#{tag.id}:#{(at_time - 1.day).beginning_of_day.to_i}:accounts").to_f
- expected = 1.0 if expected.zero?
- observed = redis.pfcount("activity:tags:#{tag.id}:#{at_time.beginning_of_day.to_i}:accounts").to_f
-
- if expected > observed || observed < THRESHOLD
- redis.zrem(key, tag.id)
- else
- score = ((observed - expected)**2) / expected
- old_rank = redis.zrevrank(key, tag.id)
-
- redis.zadd(key, score, tag.id)
- request_review!(tag) if (old_rank.nil? || old_rank > REVIEW_THRESHOLD) && redis.zrevrank(key, tag.id) <= REVIEW_THRESHOLD && !tag.trendable? && tag.requires_review? && !tag.requested_review?
- end
-
- redis.expire(key, EXPIRE_TRENDS_AFTER)
- end
-
- def request_review!(tag)
- return unless Setting.trends
-
- tag.touch(:requested_review_at)
-
- User.staff.includes(:account).find_each { |u| AdminMailer.new_trending_tag(u.account, tag).deliver_later! if u.allows_trending_tag_emails? }
+ def increment_use!(tag_id, at_time)
+ key = "#{KEY}:used:#{at_time.beginning_of_day.to_i}"
+ redis.sadd(key, tag_id)
+ redis.expire(key, EXPIRE_HISTORY_AFTER)
end
end
end
diff --git a/app/models/user.rb b/app/models/user.rb
index a4a20d975..9a19a53b3 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -74,6 +74,7 @@ class User < ApplicationRecord
has_many :applications, class_name: 'Doorkeeper::Application', as: :owner
has_many :backups, inverse_of: :user
has_many :invites, inverse_of: :user
+ has_many :markers, inverse_of: :user, dependent: :destroy
has_one :invite_request, class_name: 'UserInviteRequest', inverse_of: :user, dependent: :destroy
accepts_nested_attributes_for :invite_request, reject_if: ->(attributes) { attributes['text'].blank? }
@@ -167,7 +168,11 @@ class User < ApplicationRecord
end
def functional?
- confirmed? && approved? && !disabled? && !account.suspended?
+ confirmed? && approved? && !disabled? && !account.suspended? && account.moved_to_account_id.nil?
+ end
+
+ def unconfirmed_or_pending?
+ !(confirmed? && approved?)
end
def inactive_message
@@ -259,17 +264,20 @@ class User < ApplicationRecord
end
def password_required?
- return false if Devise.pam_authentication || Devise.ldap_authentication
+ return false if external?
+
super
end
def send_reset_password_instructions
- return false if encrypted_password.blank? && (Devise.pam_authentication || Devise.ldap_authentication)
+ return false if encrypted_password.blank?
+
super
end
def reset_password!(new_password, new_password_confirmation)
- return false if encrypted_password.blank? && (Devise.pam_authentication || Devise.ldap_authentication)
+ return false if encrypted_password.blank?
+
super
end
diff --git a/app/presenters/instance_presenter.rb b/app/presenters/instance_presenter.rb
index f3a73209a..becc92c2d 100644
--- a/app/presenters/instance_presenter.rb
+++ b/app/presenters/instance_presenter.rb
@@ -33,7 +33,7 @@ class InstancePresenter
end
def sample_accounts
- Rails.cache.fetch('sample_accounts', expires_in: 12.hours) { Account.discoverable.popular.limit(3) }
+ Rails.cache.fetch('sample_accounts', expires_in: 12.hours) { Account.local.discoverable.popular.limit(3) }
end
def version_number
diff --git a/app/serializers/activitypub/actor_serializer.rb b/app/serializers/activitypub/actor_serializer.rb
index 0bd7aed2e..17df85de3 100644
--- a/app/serializers/activitypub/actor_serializer.rb
+++ b/app/serializers/activitypub/actor_serializer.rb
@@ -6,12 +6,14 @@ class ActivityPub::ActorSerializer < ActivityPub::Serializer
context :security
context_extensions :manually_approves_followers, :featured, :also_known_as,
- :moved_to, :property_value, :hashtag, :emoji, :identity_proof
+ :moved_to, :property_value, :identity_proof,
+ :discoverable
attributes :id, :type, :following, :followers,
:inbox, :outbox, :featured,
:preferred_username, :name, :summary,
- :url, :manually_approves_followers
+ :url, :manually_approves_followers,
+ :discoverable
has_one :public_key, serializer: ActivityPub::PublicKeySerializer
@@ -136,6 +138,8 @@ class ActivityPub::ActorSerializer < ActivityPub::Serializer
end
class TagSerializer < ActivityPub::Serializer
+ context_extensions :hashtag
+
include RoutingHelper
attributes :type, :href, :name
diff --git a/app/serializers/activitypub/move_serializer.rb b/app/serializers/activitypub/move_serializer.rb
new file mode 100644
index 000000000..5675875fa
--- /dev/null
+++ b/app/serializers/activitypub/move_serializer.rb
@@ -0,0 +1,26 @@
+# frozen_string_literal: true
+
+class ActivityPub::MoveSerializer < ActivityPub::Serializer
+ attributes :id, :type, :target, :actor
+ attribute :virtual_object, key: :object
+
+ def id
+ [ActivityPub::TagManager.instance.uri_for(object.account), '#moves/', object.id].join
+ end
+
+ def type
+ 'Move'
+ end
+
+ def target
+ ActivityPub::TagManager.instance.uri_for(object.target_account)
+ end
+
+ def virtual_object
+ ActivityPub::TagManager.instance.uri_for(object.account)
+ end
+
+ def actor
+ ActivityPub::TagManager.instance.uri_for(object.account)
+ end
+end
diff --git a/app/serializers/activitypub/note_serializer.rb b/app/serializers/activitypub/note_serializer.rb
index 7592e0b1a..364d3eda5 100644
--- a/app/serializers/activitypub/note_serializer.rb
+++ b/app/serializers/activitypub/note_serializer.rb
@@ -1,8 +1,7 @@
# frozen_string_literal: true
class ActivityPub::NoteSerializer < ActivityPub::Serializer
- context_extensions :atom_uri, :conversation, :sensitive,
- :hashtag, :emoji, :focal_point, :blurhash
+ context_extensions :atom_uri, :conversation, :sensitive
attributes :id, :type, :summary,
:in_reply_to, :published, :url,
@@ -151,6 +150,8 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer
end
class MediaAttachmentSerializer < ActivityPub::Serializer
+ context_extensions :blurhash, :focal_point
+
include RoutingHelper
attributes :type, :media_type, :url, :name, :blurhash
@@ -198,6 +199,8 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer
end
class TagSerializer < ActivityPub::Serializer
+ context_extensions :hashtag
+
include RoutingHelper
attributes :type, :href, :name
diff --git a/app/serializers/manifest_serializer.rb b/app/serializers/manifest_serializer.rb
index 28127437d..21ec0d4be 100644
--- a/app/serializers/manifest_serializer.rb
+++ b/app/serializers/manifest_serializer.rb
@@ -55,6 +55,8 @@ class ManifestSerializer < ActiveModel::Serializer
{
url_template: 'share?title={title}&text={text}&url={url}',
action: 'share',
+ method: 'GET',
+ enctype: 'application/x-www-form-urlencoded',
params: {
title: 'title',
text: 'text',
diff --git a/app/serializers/rest/account_serializer.rb b/app/serializers/rest/account_serializer.rb
index 272e3eb9c..75b6cf13b 100644
--- a/app/serializers/rest/account_serializer.rb
+++ b/app/serializers/rest/account_serializer.rb
@@ -5,7 +5,7 @@ class REST::AccountSerializer < ActiveModel::Serializer
attributes :id, :username, :acct, :display_name, :locked, :bot, :created_at,
:note, :url, :avatar, :avatar_static, :header, :header_static,
- :followers_count, :following_count, :statuses_count
+ :followers_count, :following_count, :statuses_count, :last_status_at
has_one :moved_to_account, key: :moved, serializer: REST::AccountSerializer, if: :moved_and_not_nested?
has_many :emojis, serializer: REST::CustomEmojiSerializer
diff --git a/app/serializers/rest/featured_tag_serializer.rb b/app/serializers/rest/featured_tag_serializer.rb
new file mode 100644
index 000000000..08121ff16
--- /dev/null
+++ b/app/serializers/rest/featured_tag_serializer.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+class REST::FeaturedTagSerializer < ActiveModel::Serializer
+ attributes :id, :name, :statuses_count, :last_status_at
+
+ def id
+ object.id.to_s
+ end
+end
diff --git a/app/serializers/rest/marker_serializer.rb b/app/serializers/rest/marker_serializer.rb
new file mode 100644
index 000000000..2eaf3d507
--- /dev/null
+++ b/app/serializers/rest/marker_serializer.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class REST::MarkerSerializer < ActiveModel::Serializer
+ attributes :last_read_id, :version, :updated_at
+
+ def last_read_id
+ object.last_read_id.to_s
+ end
+
+ def version
+ object.lock_version
+ end
+end
diff --git a/app/serializers/rest/search_serializer.rb b/app/serializers/rest/search_serializer.rb
index 157f543ae..ee9b421eb 100644
--- a/app/serializers/rest/search_serializer.rb
+++ b/app/serializers/rest/search_serializer.rb
@@ -1,12 +1,7 @@
# frozen_string_literal: true
class REST::SearchSerializer < ActiveModel::Serializer
- attributes :hashtags
-
has_many :accounts, serializer: REST::AccountSerializer
has_many :statuses, serializer: REST::StatusSerializer
-
- def hashtags
- object.hashtags.map(&:name)
- end
+ has_many :hashtags, serializer: REST::TagSerializer
end
diff --git a/app/serializers/rest/v2/search_serializer.rb b/app/serializers/rest/v2/search_serializer.rb
deleted file mode 100644
index cdb6b3a53..000000000
--- a/app/serializers/rest/v2/search_serializer.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-# frozen_string_literal: true
-
-class REST::V2::SearchSerializer < ActiveModel::Serializer
- has_many :accounts, serializer: REST::AccountSerializer
- has_many :statuses, serializer: REST::StatusSerializer
- has_many :hashtags, serializer: REST::TagSerializer
-end
diff --git a/app/serializers/rss/account_serializer.rb b/app/serializers/rss/account_serializer.rb
index 278affe13..e39b2b372 100644
--- a/app/serializers/rss/account_serializer.rb
+++ b/app/serializers/rss/account_serializer.rb
@@ -5,12 +5,12 @@ class RSS::AccountSerializer
include StatusesHelper
include RoutingHelper
- def render(account, statuses)
+ def render(account, statuses, tag)
builder = RSSBuilder.new
builder.title("#{display_name(account)} (@#{account.local_username_and_domain})")
.description(account_description(account))
- .link(ActivityPub::TagManager.instance.url_for(account))
+ .link(tag.present? ? short_account_tag_url(account, tag) : short_account_url(account))
.logo(full_pack_url('media/images/logo.svg'))
.accent_color('2b90d9')
@@ -25,7 +25,7 @@ class RSS::AccountSerializer
.description(status.spoiler_text.presence || Formatter.instance.format(status, inline_poll_options: true).to_str)
status.media_attachments.each do |media|
- item.enclosure(full_asset_url(media.file.url(:original, false)), media.file.content_type, length: media.file.size)
+ item.enclosure(full_asset_url(media.file.url(:original, false)), media.file.content_type, media.file.size)
end
end
end
@@ -33,7 +33,7 @@ class RSS::AccountSerializer
builder.to_xml
end
- def self.render(account, statuses)
- new.render(account, statuses)
+ def self.render(account, statuses, tag)
+ new.render(account, statuses, tag)
end
end
diff --git a/app/serializers/rss/tag_serializer.rb b/app/serializers/rss/tag_serializer.rb
index e8562ee87..6737fb2c9 100644
--- a/app/serializers/rss/tag_serializer.rb
+++ b/app/serializers/rss/tag_serializer.rb
@@ -23,7 +23,7 @@ class RSS::TagSerializer
.description(status.spoiler_text.presence || Formatter.instance.format(status).to_str)
status.media_attachments.each do |media|
- item.enclosure(full_asset_url(media.file.url(:original, false)), media.file.content_type, length: media.file.size)
+ item.enclosure(full_asset_url(media.file.url(:original, false)), media.file.content_type, media.file.size)
end
end
end
diff --git a/app/services/account_search_service.rb b/app/services/account_search_service.rb
index d7bccdfe0..01caaefa9 100644
--- a/app/services/account_search_service.rb
+++ b/app/services/account_search_service.rb
@@ -109,7 +109,7 @@ class AccountSearchService < BaseService
field_value_factor: {
field: 'followers_count',
modifier: 'log2p',
- missing: 1,
+ missing: 0,
},
}
end
diff --git a/app/services/activitypub/process_account_service.rb b/app/services/activitypub/process_account_service.rb
index 603e27ed9..cef658e19 100644
--- a/app/services/activitypub/process_account_service.rb
+++ b/app/services/activitypub/process_account_service.rb
@@ -83,6 +83,7 @@ class ActivityPub::ProcessAccountService < BaseService
@account.fields = property_values || {}
@account.also_known_as = as_array(@json['alsoKnownAs'] || []).map { |item| value_or_id(item) }
@account.actor_type = actor_type
+ @account.discoverable = @json['discoverable'] || false
end
def set_fetchable_attributes!
diff --git a/app/services/batched_remove_status_service.rb b/app/services/batched_remove_status_service.rb
index 6df8d4769..3638134be 100644
--- a/app/services/batched_remove_status_service.rb
+++ b/app/services/batched_remove_status_service.rb
@@ -8,7 +8,7 @@ class BatchedRemoveStatusService < BaseService
# Dispatch Salmon deletes, unique per domain, of the deleted statuses, but only local ones
# Remove statuses from home feeds
# Push delete events to streaming API for home feeds and public feeds
- # @param [Status] statuses A preferably batched array of statuses
+ # @param [Enumerable] statuses A preferably batched array of statuses
# @param [Hash] options
# @option [Boolean] :skip_side_effects
def call(statuses, **options)
diff --git a/app/services/block_domain_service.rb b/app/services/block_domain_service.rb
index 0ec6be503..ae461abf2 100644
--- a/app/services/block_domain_service.rb
+++ b/app/services/block_domain_service.rb
@@ -53,7 +53,7 @@ class BlockDomainService < BaseService
def suspend_accounts!
blocked_domain_accounts.without_suspended.reorder(nil).find_each do |account|
- SuspendAccountService.new.call(account, suspended_at: @domain_block.created_at)
+ SuspendAccountService.new.call(account, reserve_username: true, suspended_at: @domain_block.created_at)
end
end
diff --git a/app/services/process_mentions_service.rb b/app/services/process_mentions_service.rb
index 90dca9740..2f7a9e985 100644
--- a/app/services/process_mentions_service.rb
+++ b/app/services/process_mentions_service.rb
@@ -33,6 +33,7 @@ class ProcessMentionsService < BaseService
end
status.save!
+ check_for_spam(status)
mentions.each { |mention| create_notification(mention) }
end
@@ -61,4 +62,8 @@ class ProcessMentionsService < BaseService
def resolve_account_service
ResolveAccountService.new
end
+
+ def check_for_spam(status)
+ SpamCheck.perform(status)
+ end
end
diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb
index 91c934181..f9352ed3d 100644
--- a/app/services/remove_status_service.rb
+++ b/app/services/remove_status_service.rb
@@ -4,6 +4,12 @@ class RemoveStatusService < BaseService
include Redisable
include Payloadable
+ # Delete a status
+ # @param [Status] status
+ # @param [Hash] options
+ # @option [Boolean] :redraft
+ # @option [Boolean] :immediate
+ # @option [Boolean] :original_removed
def call(status, **options)
@payload = Oj.dump(event: :delete, payload: status.id.to_s)
@status = status
@@ -24,8 +30,9 @@ class RemoveStatusService < BaseService
remove_from_public
remove_from_media if status.media_attachments.any?
remove_from_spam_check
+ remove_media
- @status.destroy!
+ @status.destroy! if @options[:immediate] || !@status.reported?
else
raise Mastodon::RaceConditionError
end
@@ -143,6 +150,12 @@ class RemoveStatusService < BaseService
redis.publish('timeline:public:local:media', @payload) if @status.local?
end
+ def remove_media
+ return if @options[:redraft] || (!@options[:immediate] && @status.reported?)
+
+ @status.media_attachments.destroy_all
+ end
+
def remove_from_spam_check
redis.zremrangebyscore("spam_check:#{@status.account_id}", @status.id, @status.id)
end
diff --git a/app/services/search_service.rb b/app/services/search_service.rb
index 786d34b15..a5ba5dd11 100644
--- a/app/services/search_service.rb
+++ b/app/services/search_service.rb
@@ -11,7 +11,7 @@ class SearchService < BaseService
default_results.tap do |results|
if url_query?
- results.merge!(url_resource_results) unless url_resource.nil?
+ results.merge!(url_resource_results) unless url_resource.nil? || (@options[:type].present? && url_resource_symbol != @options[:type].to_sym)
elsif @query.present?
results[:accounts] = perform_accounts_search! if account_searchable?
results[:statuses] = perform_statuses_search! if full_text_searchable?
@@ -57,10 +57,10 @@ class SearchService < BaseService
end
def perform_hashtags_search!
- Tag.search_for(
- @query.gsub(/\A#/, ''),
- @limit,
- @offset
+ TagSearchService.new.call(
+ @query,
+ limit: @limit,
+ offset: @offset
)
end
@@ -69,7 +69,7 @@ class SearchService < BaseService
end
def url_query?
- @resolve && @options[:type].blank? && @query =~ /\Ahttps?:\/\//
+ @resolve && @query =~ /\Ahttps?:\/\//
end
def url_resource_results
diff --git a/app/services/suspend_account_service.rb b/app/services/suspend_account_service.rb
index 902af376c..ecc893931 100644
--- a/app/services/suspend_account_service.rb
+++ b/app/services/suspend_account_service.rb
@@ -15,7 +15,6 @@ class SuspendAccountService < BaseService
favourites
follow_requests
list_accounts
- media_attachments
mute_relationships
muted_by_relationships
notifications
@@ -32,14 +31,26 @@ class SuspendAccountService < BaseService
targeted_reports
).freeze
- # Suspend an account and remove as much of its data as possible
+ # Suspend or remove an account and remove as much of its data
+ # as possible. If it's a local account and it has not been confirmed
+ # or never been approved, then side effects are skipped and both
+ # the user and account records are removed fully. Otherwise,
+ # it is controlled by options.
# @param [Account]
# @param [Hash] options
- # @option [Boolean] :including_user Remove the user record as well
- # @option [Boolean] :destroy Remove the account record instead of suspending
+ # @option [Boolean] :reserve_email Keep user record. Only applicable for local accounts
+ # @option [Boolean] :reserve_username Keep account record
+ # @option [Boolean] :skip_side_effects Side effects are ActivityPub and streaming API payloads
+ # @option [Time] :suspended_at Only applicable when :reserve_username is true
def call(account, **options)
@account = account
- @options = options
+ @options = { reserve_username: true, reserve_email: true }.merge(options)
+
+ if @account.local? && @account.user_unconfirmed_or_pending?
+ @options[:reserve_email] = false
+ @options[:reserve_username] = false
+ @options[:skip_side_effects] = true
+ end
reject_follows!
purge_user!
@@ -60,26 +71,39 @@ class SuspendAccountService < BaseService
def purge_user!
return if !@account.local? || @account.user.nil?
- if @options[:including_user]
- @account.user.destroy
- else
+ if @options[:reserve_email]
@account.user.disable!
@account.user.invites.where(uses: 0).destroy_all
+ else
+ @account.user.destroy
end
end
def purge_content!
- distribute_delete_actor! if @account.local? && !@options[:skip_distribution]
+ distribute_delete_actor! if @account.local? && !@options[:skip_side_effects]
@account.statuses.reorder(nil).find_in_batches do |statuses|
- BatchedRemoveStatusService.new.call(statuses, skip_side_effects: @options[:destroy])
+ statuses.reject! { |status| reported_status_ids.include?(status.id) } if @options[:reserve_username]
+ BatchedRemoveStatusService.new.call(statuses, skip_side_effects: @options[:skip_side_effects])
+ end
+
+ @account.media_attachments.reorder(nil).find_each do |media_attachment|
+ next if @options[:reserve_username] && reported_status_ids.include?(media_attachment.status_id)
+
+ media_attachment.destroy
+ end
+
+ @account.polls.reorder(nil).find_each do |poll|
+ next if @options[:reserve_username] && reported_status_ids.include?(poll.status_id)
+
+ poll.destroy
end
associations_for_destruction.each do |association_name|
destroy_all(@account.public_send(association_name))
end
- @account.destroy if @options[:destroy]
+ @account.destroy unless @options[:reserve_username]
end
def purge_profile!
@@ -87,11 +111,13 @@ class SuspendAccountService < BaseService
# there is no point wasting time updating
# its values first
- return if @options[:destroy]
+ return unless @options[:reserve_username]
@account.silenced_at = nil
@account.suspended_at = @options[:suspended_at] || Time.now.utc
@account.locked = false
+ @account.memorial = false
+ @account.discoverable = false
@account.display_name = ''
@account.note = ''
@account.fields = []
@@ -99,6 +125,7 @@ class SuspendAccountService < BaseService
@account.followers_count = 0
@account.following_count = 0
@account.moved_to_account = nil
+ @account.trust_level = :untrusted
@account.avatar.destroy
@account.header.destroy
@account.save!
@@ -134,11 +161,15 @@ class SuspendAccountService < BaseService
Account.inboxes - delivery_inboxes
end
+ def reported_status_ids
+ @reported_status_ids ||= Report.where(target_account: @account).unresolved.pluck(:status_ids).flatten.uniq
+ end
+
def associations_for_destruction
- if @options[:destroy]
- ASSOCIATIONS_ON_SUSPEND + ASSOCIATIONS_ON_DESTROY
- else
+ if @options[:reserve_username]
ASSOCIATIONS_ON_SUSPEND
+ else
+ ASSOCIATIONS_ON_SUSPEND + ASSOCIATIONS_ON_DESTROY
end
end
end
diff --git a/app/services/tag_search_service.rb b/app/services/tag_search_service.rb
new file mode 100644
index 000000000..64dd76bb7
--- /dev/null
+++ b/app/services/tag_search_service.rb
@@ -0,0 +1,82 @@
+# frozen_string_literal: true
+
+class TagSearchService < BaseService
+ def call(query, options = {})
+ @query = query.strip.gsub(/\A#/, '')
+ @offset = options[:offset].to_i
+ @limit = options[:limit].to_i
+
+ if Chewy.enabled?
+ from_elasticsearch
+ else
+ from_database
+ end
+ end
+
+ private
+
+ def from_elasticsearch
+ query = {
+ function_score: {
+ query: {
+ multi_match: {
+ query: @query,
+ fields: %w(name.edge_ngram name),
+ type: 'most_fields',
+ operator: 'and',
+ },
+ },
+
+ functions: [
+ {
+ field_value_factor: {
+ field: 'usage',
+ modifier: 'log2p',
+ missing: 0,
+ },
+ },
+
+ {
+ gauss: {
+ last_status_at: {
+ scale: '7d',
+ offset: '14d',
+ decay: 0.5,
+ },
+ },
+ },
+ ],
+
+ boost_mode: 'multiply',
+ },
+ }
+
+ filter = {
+ bool: {
+ should: [
+ {
+ term: {
+ reviewed: {
+ value: true,
+ },
+ },
+ },
+
+ {
+ term: {
+ name: {
+ value: @query,
+ },
+ },
+ },
+ ],
+ },
+ }
+
+ TagsIndex.query(query).filter(filter).limit(@limit).offset(@offset).objects.compact
+ end
+
+ def from_database
+ Tag.search_for(@query, @limit, @offset)
+ end
+end
diff --git a/app/services/unallow_domain_service.rb b/app/services/unallow_domain_service.rb
index d4387c1a1..bd1ad328d 100644
--- a/app/services/unallow_domain_service.rb
+++ b/app/services/unallow_domain_service.rb
@@ -3,7 +3,7 @@
class UnallowDomainService < BaseService
def call(domain_allow)
Account.where(domain: domain_allow.domain).find_each do |account|
- SuspendAccountService.new.call(account, destroy: true)
+ SuspendAccountService.new.call(account, reserve_username: false)
end
domain_allow.destroy
diff --git a/app/services/unfollow_service.rb b/app/services/unfollow_service.rb
index b7033d7eb..151f3674f 100644
--- a/app/services/unfollow_service.rb
+++ b/app/services/unfollow_service.rb
@@ -6,9 +6,12 @@ class UnfollowService < BaseService
# Unfollow and notify the remote user
# @param [Account] source_account Where to unfollow from
# @param [Account] target_account Which to unfollow
- def call(source_account, target_account)
+ # @param [Hash] options
+ # @option [Boolean] :skip_unmerge
+ def call(source_account, target_account, options = {})
@source_account = source_account
@target_account = target_account
+ @options = options
unfollow! || undo_follow_request!
end
@@ -21,9 +24,11 @@ class UnfollowService < BaseService
return unless follow
follow.destroy!
+
create_notification(follow) if !@target_account.local? && @target_account.activitypub?
create_reject_notification(follow) if @target_account.local? && !@source_account.local? && @source_account.activitypub?
- UnmergeWorker.perform_async(@target_account.id, @source_account.id)
+ UnmergeWorker.perform_async(@target_account.id, @source_account.id) unless @options[:skip_unmerge]
+
follow
end
@@ -33,7 +38,9 @@ class UnfollowService < BaseService
return unless follow_request
follow_request.destroy!
+
create_notification(follow_request) unless @target_account.local?
+
follow_request
end
diff --git a/app/validators/domain_validator.rb b/app/validators/domain_validator.rb
index ae07f1798..6e4a854ff 100644
--- a/app/validators/domain_validator.rb
+++ b/app/validators/domain_validator.rb
@@ -4,14 +4,22 @@ class DomainValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
return if value.blank?
- record.errors.add(attribute, I18n.t('domain_validator.invalid_domain')) unless compliant?(value)
+ domain = begin
+ if options[:acct]
+ value.split('@').last
+ else
+ value
+ end
+ end
+
+ record.errors.add(attribute, I18n.t('domain_validator.invalid_domain')) unless compliant?(domain)
end
private
def compliant?(value)
Addressable::URI.new.tap { |uri| uri.host = value }
- rescue Addressable::URI::InvalidURIError
+ rescue Addressable::URI::InvalidURIError, IDN::Idna::IdnaError
false
end
end
diff --git a/app/validators/email_mx_validator.rb b/app/validators/email_mx_validator.rb
index 96fbedcfc..9b5009966 100644
--- a/app/validators/email_mx_validator.rb
+++ b/app/validators/email_mx_validator.rb
@@ -14,6 +14,7 @@ class EmailMxValidator < ActiveModel::Validator
return true if domain.nil?
+ domain = TagManager.instance.normalize_domain(domain)
hostnames = []
ips = []
@@ -29,6 +30,8 @@ class EmailMxValidator < ActiveModel::Validator
end
ips.empty? || on_blacklist?(hostnames + ips)
+ rescue Addressable::URI::InvalidURIError
+ true
end
def on_blacklist?(values)
diff --git a/app/views/about/_login.html.haml b/app/views/about/_login.html.haml
index d286f0d3c..fa58f04d7 100644
--- a/app/views/about/_login.html.haml
+++ b/app/views/about/_login.html.haml
@@ -1,4 +1,4 @@
-= simple_form_for(new_user, url: user_session_path) do |f|
+= simple_form_for(new_user, url: user_session_path, namespace: 'login') do |f|
.fields-group
- if use_seamless_external_login?
= f.input :email, placeholder: t('simple_form.labels.defaults.username_or_email'), input_html: { 'aria-label' => t('simple_form.labels.defaults.username_or_email') }, hint: false
diff --git a/app/views/about/_registration.html.haml b/app/views/about/_registration.html.haml
index ff32ec8c4..1333c68c4 100644
--- a/app/views/about/_registration.html.haml
+++ b/app/views/about/_registration.html.haml
@@ -1,4 +1,4 @@
-= simple_form_for(new_user, url: user_registration_path) do |f|
+= simple_form_for(new_user, url: user_registration_path, namespace: 'registration') do |f|
.simple_form__overlay-area
%p.lead= t('about.federation_hint_html', instance: content_tag(:strong, site_hostname))
diff --git a/app/views/about/more.html.haml b/app/views/about/more.html.haml
index 21431ef8e..cba2fe657 100644
--- a/app/views/about/more.html.haml
+++ b/app/views/about/more.html.haml
@@ -5,7 +5,7 @@
= javascript_pack_tag 'public', integrity: true, crossorigin: 'anonymous'
= render partial: 'shared/og'
-.grid-3
+.grid-4
.column-0
.public-account-header.public-account-header--no-bar
.public-account-header__image
@@ -28,22 +28,57 @@
= image_tag @instance_presenter.mascot&.file&.url || asset_pack_path('media/images/elephant_ui_plane.svg'), alt: ''
.column-2
- .landing-page__information.contact-widget
- %p
- %strong= t 'about.administered_by'
+ .contact-widget
+ %h4= t 'about.administered_by'
= account_link_to(@instance_presenter.contact_account)
- if @instance_presenter.site_contact_email.present?
- %p.contact-widget__mail
- %strong
- = succeed ':' do
- = t 'about.contact'
- %br/
- = mail_to @instance_presenter.site_contact_email, nil, title: @instance_presenter.site_contact_email
+ %h4
+ = succeed ':' do
+ = t 'about.contact'
+
+ = mail_to @instance_presenter.site_contact_email, nil, title: @instance_presenter.site_contact_email
.column-3
= render 'application/flashes'
- .box-widget
- .rich-formatting= @instance_presenter.site_extended_description.html_safe.presence || t('about.extended_description_html')
+ - if @contents.blank? && (!display_blocks? || @blocks&.empty?)
+ = nothing_here
+ - else
+ .box-widget
+ .rich-formatting
+ = @contents.html_safe
+
+ - if display_blocks? && !@blocks.empty?
+ %h2#unavailable-content= t('about.unavailable_content')
+
+ %p= t('about.unavailable_content_html')
+
+ - @blocks.each do |domain_block|
+ %p
+ %strong= "#{domain_block.domain}:"
+
+ - if domain_block.suspend?
+ = t('about.unavailable_content_description.suspended')
+ - else
+ = t('about.unavailable_content_description.silenced') if domain_block.silence?
+ = t('about.unavailable_content_description.rejecting_media') if domain_block.reject_media?
+
+ - if display_blocks_rationale? && domain_block.public_comment.present?
+ %strong= t('about.unavailable_content_description.reason')
+ = domain_block.public_comment
+
+ .column-4
+ %ul.table-of-contents
+ - @table_of_contents.each do |item|
+ %li
+ = link_to item.title, "##{item.anchor}"
+
+ - unless item.children.empty?
+ %ul
+ - item.children.each do |sub_item|
+ %li= link_to sub_item.title, "##{sub_item.anchor}"
+
+ - if display_blocks? && !@blocks.empty?
+ %li= link_to t('about.unavailable_content'), '#unavailable-content'
diff --git a/app/views/accounts/show.html.haml b/app/views/accounts/show.html.haml
index 034304936..9c26dbabc 100644
--- a/app/views/accounts/show.html.haml
+++ b/app/views/accounts/show.html.haml
@@ -7,7 +7,7 @@
- if @account.user&.setting_noindex
%meta{ name: 'robots', content: 'noindex, noarchive' }/
- %link{ rel: 'alternate', type: 'application/rss+xml', href: account_url(@account, format: 'rss') }/
+ %link{ rel: 'alternate', type: 'application/rss+xml', href: @rss_url }/
%link{ rel: 'alternate', type: 'application/activity+json', href: ActivityPub::TagManager.instance.uri_for(@account) }/
- if @older_url
@@ -56,24 +56,33 @@
= render 'bio', account: @account
- - unless @endorsed_accounts.empty?
+ - if @endorsed_accounts.empty? && @account.id == current_account&.id
+ .placeholder-widget= t('accounts.endorsements_hint')
+ - elsif !@endorsed_accounts.empty?
.endorsements-widget
%h4= t 'accounts.choices_html', name: content_tag(:bdi, display_name(@account, custom_emojify: true))
- @endorsed_accounts.each do |account|
= account_link_to account
- - @account.featured_tags.order(statuses_count: :desc).each do |featured_tag|
- .directory__tag{ class: params[:tag] == featured_tag.name ? 'active' : nil }
- = link_to short_account_tag_path(@account, featured_tag.tag) do
- %h4
- = fa_icon 'hashtag'
- = featured_tag.name
- %small
- - if featured_tag.last_status_at.nil?
- = t('accounts.nothing_here')
- - else
- %time.formatted{ datetime: featured_tag.last_status_at.iso8601, title: l(featured_tag.last_status_at) }= l featured_tag.last_status_at
- .trends__item__current= number_to_human featured_tag.statuses_count, strip_insignificant_zeros: true
+ - if @featured_hashtags.empty? && @account.id == current_account&.id
+ .placeholder-widget
+ = t('accounts.featured_tags_hint')
+ = link_to settings_featured_tags_path do
+ = t('featured_tags.add_new')
+ = fa_icon 'chevron-right fw'
+ - else
+ - @featured_hashtags.each do |featured_tag|
+ .directory__tag{ class: params[:tag] == featured_tag.name ? 'active' : nil }
+ = link_to short_account_tag_path(@account, featured_tag.tag) do
+ %h4
+ = fa_icon 'hashtag'
+ = featured_tag.name
+ %small
+ - if featured_tag.last_status_at.nil?
+ = t('accounts.nothing_here')
+ - else
+ %time.formatted{ datetime: featured_tag.last_status_at.iso8601, title: l(featured_tag.last_status_at) }= l featured_tag.last_status_at
+ .trends__item__current= number_to_human featured_tag.statuses_count, strip_insignificant_zeros: true
= render 'application/sidebar'
diff --git a/app/views/admin/account_actions/new.html.haml b/app/views/admin/account_actions/new.html.haml
index 97286c8e5..20fbeef33 100644
--- a/app/views/admin/account_actions/new.html.haml
+++ b/app/views/admin/account_actions/new.html.haml
@@ -13,6 +13,10 @@
.fields-group
= f.input :send_email_notification, as: :boolean, wrapper: :with_label
+ - if params[:report_id].present?
+ .fields-group
+ = f.input :include_statuses, as: :boolean, wrapper: :with_label
+
%hr.spacer/
- unless @warning_presets.empty?
diff --git a/app/views/admin/accounts/show.html.haml b/app/views/admin/accounts/show.html.haml
index 59babd3b0..40a936e86 100644
--- a/app/views/admin/accounts/show.html.haml
+++ b/app/views/admin/accounts/show.html.haml
@@ -3,6 +3,34 @@
= render 'application/card', account: @account
+- account = @account
+- proofs = account.identity_proofs.active
+- fields = account.fields
+- unless fields.empty? && proofs.empty? && account.note.blank?
+ .admin-account-bio
+ - unless fields.empty? && proofs.empty?
+ %div
+ .account__header__fields
+ - proofs.each do |proof|
+ %dl
+ %dt= proof.provider.capitalize
+ %dd.verified
+ = link_to fa_icon('check'), proof.badge.proof_url, class: 'verified__mark', title: t('accounts.link_verified_on', date: l(proof.updated_at))
+ = link_to proof.provider_username, proof.badge.profile_url
+
+ - fields.each do |field|
+ %dl
+ %dt.emojify{ title: field.name }= Formatter.instance.format_field(account, field.name, custom_emojify: true)
+ %dd{ title: field.value, class: custom_field_classes(field) }
+ - if field.verified?
+ %span.verified__mark{ title: t('accounts.link_verified_on', date: l(field.verified_at)) }
+ = fa_icon 'check'
+ = Formatter.instance.format_field(account, field.value, custom_emojify: true)
+
+ - if account.note.present?
+ %div
+ .account__header__content.emojify= Formatter.instance.simplified_format(account, custom_emojify: true)
+
.dashboard__counters{ style: 'margin-top: 10px' }
%div
= link_to admin_account_statuses_path(@account.id) do
diff --git a/app/views/admin/custom_emojis/_custom_emoji.html.haml b/app/views/admin/custom_emojis/_custom_emoji.html.haml
index fbaa9a174..2103b0fa7 100644
--- a/app/views/admin/custom_emojis/_custom_emoji.html.haml
+++ b/app/views/admin/custom_emojis/_custom_emoji.html.haml
@@ -1,28 +1,31 @@
-%tr
- %td
- = custom_emoji_tag(custom_emoji)
- %td
- %samp= ":#{custom_emoji.shortcode}:"
- %td
- - if custom_emoji.local?
- = t('admin.accounts.location.local')
- - else
- = link_to custom_emoji.domain, admin_custom_emojis_path(by_domain: custom_emoji.domain)
- %td
- - if custom_emoji.local?
- - if custom_emoji.visible_in_picker
- = table_link_to 'eye', t('admin.custom_emojis.listed'), admin_custom_emoji_path(custom_emoji, custom_emoji: { visible_in_picker: false }, page: params[:page], **@filter_params), method: :patch
+.batch-table__row
+ %label.batch-table__row__select.batch-table__row__select--aligned.batch-checkbox
+ = f.check_box :custom_emoji_ids, { multiple: true, include_hidden: false }, custom_emoji.id
+ .batch-table__row__content.batch-table__row__content--with-image
+ .batch-table__row__content__image
+ = custom_emoji_tag(custom_emoji, animate = current_account&.user&.setting_auto_play_gif)
+
+ .batch-table__row__content__text
+ %samp= ":#{custom_emoji.shortcode}:"
+
+ - if custom_emoji.local?
+ %span.account-role.bot= custom_emoji.category&.name || t('admin.custom_emojis.uncategorized')
+
+ .batch-table__row__content__extra
+ - if custom_emoji.local?
+ = t('admin.accounts.location.local')
- else
- = table_link_to 'eye-slash', t('admin.custom_emojis.unlisted'), admin_custom_emoji_path(custom_emoji, custom_emoji: { visible_in_picker: true }, page: params[:page], **@filter_params), method: :patch
- - else
- - if custom_emoji.local_counterpart.present?
- = link_to safe_join([custom_emoji_tag(custom_emoji.local_counterpart), t('admin.custom_emojis.overwrite')]), copy_admin_custom_emoji_path(custom_emoji, page: params[:page], **@filter_params), method: :post, class: 'table-action-link'
+ = custom_emoji.domain
+
+ %br/
+
+ - if custom_emoji.disabled?
+ = t('admin.custom_emojis.disabled')
- else
- = table_link_to 'copy', t('admin.custom_emojis.copy'), copy_admin_custom_emoji_path(custom_emoji, page: params[:page], **@filter_params), method: :post
- %td
- - if custom_emoji.disabled?
- = table_link_to 'power-off', t('admin.custom_emojis.enable'), enable_admin_custom_emoji_path(custom_emoji, page: params[:page], **@filter_params), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
- - else
- = table_link_to 'power-off', t('admin.custom_emojis.disable'), disable_admin_custom_emoji_path(custom_emoji, page: params[:page], **@filter_params), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
- %td
- = table_link_to 'times', t('admin.custom_emojis.delete'), admin_custom_emoji_path(custom_emoji, page: params[:page], **@filter_params), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') }
+ = t('admin.custom_emojis.enabled')
+ - if custom_emoji.local?
+ •
+ - if custom_emoji.visible_in_picker?
+ = t('admin.custom_emojis.listed')
+ - else
+ = t('admin.custom_emojis.unlisted')
diff --git a/app/views/admin/custom_emojis/index.html.haml b/app/views/admin/custom_emojis/index.html.haml
index 3a119276c..7320ce1bb 100644
--- a/app/views/admin/custom_emojis/index.html.haml
+++ b/app/views/admin/custom_emojis/index.html.haml
@@ -1,6 +1,9 @@
- content_for :page_title do
= t('admin.custom_emojis.title')
+- content_for :header_tags do
+ = javascript_pack_tag 'admin', integrity: true, async: true, crossorigin: 'anonymous'
+
.filters
.filter-subset
%strong= t('admin.accounts.location.title')
@@ -20,8 +23,7 @@
= form_tag admin_custom_emojis_url, method: 'GET', class: 'simple_form' do
.fields-group
- Admin::FilterHelper::CUSTOM_EMOJI_FILTERS.each do |key|
- - if params[key].present?
- = hidden_field_tag key, params[key]
+ = hidden_field_tag key, params[key] if params[key].present?
- %i(shortcode by_domain).each do |key|
.input.string.optional
@@ -31,18 +33,54 @@
%button= t('admin.accounts.search')
= link_to t('admin.accounts.reset'), admin_custom_emojis_path, class: 'button negative'
-.table-wrapper
- %table.table
- %thead
- %tr
- %th= t('admin.custom_emojis.emoji')
- %th= t('admin.custom_emojis.shortcode')
- %th= t('admin.accounts.domain')
- %th
- %th
- %th
- %tbody
- = render @custom_emojis
+= form_for(@form, url: batch_admin_custom_emojis_path) do |f|
+ = hidden_field_tag :page, params[:page] || 1
+
+ - Admin::FilterHelper::CUSTOM_EMOJI_FILTERS.each do |key|
+ = hidden_field_tag key, params[key] if params[key].present?
+
+ .batch-table
+ .batch-table__toolbar
+ %label.batch-table__toolbar__select.batch-checkbox-all
+ = check_box_tag :batch_checkbox_all, nil, false
+ .batch-table__toolbar__actions
+ - if params[:local] == '1'
+ = f.button safe_join([fa_icon('save'), t('generic.save_changes')]), name: :update, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
+
+ = f.button safe_join([fa_icon('eye'), t('admin.custom_emojis.list')]), name: :list, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
+
+ = f.button safe_join([fa_icon('eye-slash'), t('admin.custom_emojis.unlist')]), name: :unlist, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
+
+ = f.button safe_join([fa_icon('power-off'), t('admin.custom_emojis.enable')]), name: :enable, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
+
+ = f.button safe_join([fa_icon('power-off'), t('admin.custom_emojis.disable')]), name: :disable, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
+
+ = f.button safe_join([fa_icon('times'), t('admin.custom_emojis.delete')]), name: :delete, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
+
+ - unless params[:local] == '1'
+ = f.button safe_join([fa_icon('copy'), t('admin.custom_emojis.copy')]), name: :copy, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
+
+ - if params[:local] == '1'
+ .batch-table__form.simple_form
+ .fields-row
+ .fields-group.fields-row__column.fields-row__column-6
+ .input.select.optional
+ .label_input
+ = f.select :category_id, options_from_collection_for_select(CustomEmojiCategory.all, 'id', 'name'), prompt: t('admin.custom_emojis.assign_category'), class: 'select optional', 'aria-label': t('admin.custom_emojis.assign_category')
+
+ .fields-group.fields-row__column.fields-row__column-6
+ .input.string.optional
+ .label_input
+ = f.text_field :category_name, class: 'string optional', placeholder: t('admin.custom_emojis.create_new_category'), 'aria-label': t('admin.custom_emojis.create_new_category')
+
+ .batch-table__body
+ - if @custom_emojis.empty?
+ = nothing_here 'nothing-here--under-tabs'
+ - else
+ = render partial: 'custom_emoji', collection: @custom_emojis, locals: { f: f }
= paginate @custom_emojis
+
+%hr.spacer/
+
= link_to t('admin.custom_emojis.upload'), new_admin_custom_emoji_path, class: 'button'
diff --git a/app/views/admin/dashboard/index.html.haml b/app/views/admin/dashboard/index.html.haml
index 2fe1feb55..2849f07aa 100644
--- a/app/views/admin/dashboard/index.html.haml
+++ b/app/views/admin/dashboard/index.html.haml
@@ -4,35 +4,43 @@
.dashboard__counters
%div
= link_to admin_accounts_url(local: 1, recent: 1) do
- .dashboard__counters__num= number_with_delimiter @users_count
+ .dashboard__counters__num{ title: number_with_delimiter(@users_count, strip_insignificant_zeros: true) }
+ = number_to_human @users_count, strip_insignificant_zeros: true
.dashboard__counters__label= t 'admin.dashboard.total_users'
%div
%div
- .dashboard__counters__num= number_with_delimiter @registrations_week
+ .dashboard__counters__num{ title: number_with_delimiter(@registrations_week, strip_insignificant_zeros: true) }
+ = number_to_human @registrations_week, strip_insignificant_zeros: true
.dashboard__counters__label= t 'admin.dashboard.week_users_new'
%div
%div
- .dashboard__counters__num= number_with_delimiter @logins_week
+ .dashboard__counters__num{ title: number_with_delimiter(@logins_week, strip_insignificant_zeros: true) }
+ = number_to_human @logins_week, strip_insignificant_zeros: true
.dashboard__counters__label= t 'admin.dashboard.week_users_active'
%div
= link_to admin_pending_accounts_path do
- .dashboard__counters__num= number_with_delimiter @pending_users_count
+ .dashboard__counters__num{ title: number_with_delimiter(@pending_users_count, strip_insignificant_zeros: true) }
+ = number_to_human @pending_users_count, strip_insignificant_zeros: true
.dashboard__counters__label= t 'admin.dashboard.pending_users'
%div
= link_to admin_reports_url do
- .dashboard__counters__num= number_with_delimiter @reports_count
+ .dashboard__counters__num{ title: number_with_delimiter(@reports_count, strip_insignificant_zeros: true) }
+ = number_to_human @reports_count, strip_insignificant_zeros: true
.dashboard__counters__label= t 'admin.dashboard.open_reports'
%div
- = link_to admin_tags_path(review: 'pending_review') do
- .dashboard__counters__num= number_with_delimiter @pending_tags_count
+ = link_to admin_tags_path(pending_review: '1') do
+ .dashboard__counters__num{ title: number_with_delimiter(@pending_tags_count, strip_insignificant_zeros: true) }
+ = number_to_human @pending_tags_count, strip_insignificant_zeros: true
.dashboard__counters__label= t 'admin.dashboard.pending_tags'
%div
%div
- .dashboard__counters__num= number_with_delimiter @interactions_week
+ .dashboard__counters__num{ title: number_with_delimiter(@interactions_week, strip_insignificant_zeros: true) }
+ = number_to_human @interactions_week, strip_insignificant_zeros: true
.dashboard__counters__label= t 'admin.dashboard.week_interactions'
%div
= link_to sidekiq_url do
- .dashboard__counters__num= number_with_delimiter @queue_backlog
+ .dashboard__counters__num{ title: number_with_delimiter(@queue_backlog, strip_insignificant_zeros: true) }
+ = number_to_human @queue_backlog, strip_insignificant_zeros: true
.dashboard__counters__label= t 'admin.dashboard.backlog'
.dashboard__widgets
@@ -103,7 +111,7 @@
%li
= feature_hint(t('admin.dashboard.authorized_fetch_mode'), @authorized_fetch)
%li
- = feature_hint(t('admin.dashboard.whitelist_mode'), @whitelist_mode)
+ = feature_hint(t('admin.dashboard.whitelist_mode'), @whitelist_enabled)
%li
= feature_hint('LDAP', @ldap_enabled)
%li
diff --git a/app/views/admin/instances/index.html.haml b/app/views/admin/instances/index.html.haml
index 982dc5035..1d85aa75e 100644
--- a/app/views/admin/instances/index.html.haml
+++ b/app/views/admin/instances/index.html.haml
@@ -44,15 +44,16 @@
- if !instance.domain_block.noop?
= t("admin.domain_blocks.severity.#{instance.domain_block.severity}")
- first_item = false
- - if instance.domain_block.reject_media?
- - unless first_item
- •
- = t('admin.domain_blocks.rejecting_media')
- - first_item = false
- - if instance.domain_block.reject_reports?
- - unless first_item
- •
- = t('admin.domain_blocks.rejecting_reports')
+ - unless instance.domain_block.suspend?
+ - if instance.domain_block.reject_media?
+ - unless first_item
+ •
+ = t('admin.domain_blocks.rejecting_media')
+ - first_item = false
+ - if instance.domain_block.reject_reports?
+ - unless first_item
+ •
+ = t('admin.domain_blocks.rejecting_reports')
- elsif whitelist_mode?
= t('admin.accounts.whitelisted')
- else
diff --git a/app/views/admin/reports/_status.html.haml b/app/views/admin/reports/_status.html.haml
index 9376db7ff..6facc0a56 100644
--- a/app/views/admin/reports/_status.html.haml
+++ b/app/views/admin/reports/_status.html.haml
@@ -16,11 +16,14 @@
- video = status.proper.media_attachments.first
= react_component :video, src: video.file.url(:original), preview: video.file.url(:small), sensitive: !current_account&.user&.show_all_media? && status.proper.sensitive? || current_account&.user&.hide_all_media?, width: 610, height: 343, inline: true, alt: video.description
- else
- = react_component :media_gallery, height: 343, sensitive: !current_account&.user&.show_all_media? && status.sensitive? || current_account&.user&.hide_all_media?, 'autoPlayGif': current_account&.user&.setting_auto_play_gif, media: status.proper.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json }
+ = react_component :media_gallery, height: 343, sensitive: !current_account&.user&.show_all_media? && status.proper.sensitive? || current_account&.user&.hide_all_media?, 'autoPlayGif': current_account&.user&.setting_auto_play_gif, media: status.proper.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json }
.detailed-status__meta
= link_to ActivityPub::TagManager.instance.url_for(status), class: 'detailed-status__datetime', target: stream_link_target, rel: 'noopener' do
%time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at)
+ - if status.discarded?
+ ·
+ %span.negative-hint= t('admin.statuses.deleted')
·
- if status.reblog?
= fa_icon('retweet fw')
diff --git a/app/views/admin/reports/index.html.haml b/app/views/admin/reports/index.html.haml
index d73faccb0..bfbd32108 100644
--- a/app/views/admin/reports/index.html.haml
+++ b/app/views/admin/reports/index.html.haml
@@ -28,7 +28,9 @@
- reports.each do |report|
.report-card__summary__item
.report-card__summary__item__reported-by
- - if report.account.local?
+ - if report.account.instance_actor?
+ = site_hostname
+ - elsif report.account.local?
= admin_account_link_to report.account
- else
= report.account.domain
diff --git a/app/views/admin/reports/show.html.haml b/app/views/admin/reports/show.html.haml
index 863dada9e..bbe83c979 100644
--- a/app/views/admin/reports/show.html.haml
+++ b/app/views/admin/reports/show.html.haml
@@ -29,7 +29,9 @@
%td= table_link_to 'file', pluralize(@report.target_account.targeted_moderation_notes.count, t('admin.reports.account.note')), admin_reports_path(target_account_id: @report.target_account.id)
%tr
%th= t('admin.reports.reported_by')
- - if @report.account.local?
+ - if @report.account.instance_actor?
+ %td{ colspan: 3 }= site_hostname
+ - elsif @report.account.local?
%td= admin_account_link_to @report.account
%td= table_link_to 'flag', pluralize(@report.account.targeted_reports.count, t('admin.reports.account.report')), admin_reports_path(target_account_id: @report.account.id)
%td= table_link_to 'file', pluralize(@report.account.targeted_moderation_notes.count, t('admin.reports.account.note')), admin_reports_path(target_account_id: @report.account.id)
diff --git a/app/views/admin/settings/edit.html.haml b/app/views/admin/settings/edit.html.haml
index 28c0ece15..752386b3c 100644
--- a/app/views/admin/settings/edit.html.haml
+++ b/app/views/admin/settings/edit.html.haml
@@ -71,6 +71,9 @@
.fields-group
= f.input :trends, as: :boolean, wrapper: :with_label, label: t('admin.settings.trends.title'), hint: t('admin.settings.trends.desc_html')
+ .fields-group
+ = f.input :noindex, as: :boolean, wrapper: :with_label, label: t('admin.settings.default_noindex.title'), hint: t('admin.settings.default_noindex.desc_html')
+
.fields-group
= f.input :spam_check_enabled, as: :boolean, wrapper: :with_label, label: t('admin.settings.spam_check_enabled.title'), hint: t('admin.settings.spam_check_enabled.desc_html')
@@ -79,6 +82,12 @@
.fields-group
= f.input :min_invite_role, wrapper: :with_label, collection: %i(disabled user moderator admin), label: t('admin.settings.registrations.min_invite_role.title'), label_method: lambda { |role| role == :disabled ? t('admin.settings.registrations.min_invite_role.disabled') : t("admin.accounts.roles.#{role}") }, include_blank: false, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
+ .fields-row
+ .fields-row__column.fields-row__column-6.fields-group
+ = f.input :show_domain_blocks, wrapper: :with_label, collection: %i(disabled users all), label: t('admin.settings.domain_blocks.title'), label_method: lambda { |value| t("admin.settings.domain_blocks.#{value}") }, include_blank: false, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
+ .fields-row__column.fields-row__column-6.fields-group
+ = f.input :show_domain_blocks_rationale, wrapper: :with_label, collection: %i(disabled users all), label: t('admin.settings.domain_blocks_rationale.title'), label_method: lambda { |value| t("admin.settings.domain_blocks.#{value}") }, include_blank: false, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
+
.fields-group
= f.input :closed_registrations_message, as: :text, wrapper: :with_block_label, label: t('admin.settings.registrations.closed_message.title'), hint: t('admin.settings.registrations.closed_message.desc_html'), input_html: { rows: 8 }
= f.input :site_extended_description, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_description_extended.title'), hint: t('admin.settings.site_description_extended.desc_html'), input_html: { rows: 8 } unless whitelist_mode?
diff --git a/app/views/admin/tags/_tag.html.haml b/app/views/admin/tags/_tag.html.haml
index 91af8e492..670f3bc05 100644
--- a/app/views/admin/tags/_tag.html.haml
+++ b/app/views/admin/tags/_tag.html.haml
@@ -1,16 +1,20 @@
-.directory__tag
- = link_to admin_tag_path(tag.id) do
- %h4
- = fa_icon 'hashtag'
- = tag.name
+.batch-table__row
+ %label.batch-table__row__select.batch-table__row__select--aligned.batch-checkbox
+ = f.check_box :tag_ids, { multiple: true, include_hidden: false }, tag.id
- %small
- = t('admin.tags.in_directory', count: tag.accounts_count)
- •
- = t('admin.tags.unique_uses_today', count: tag.history.first[:accounts])
+ .directory__tag
+ = link_to admin_tag_path(tag.id) do
+ %h4
+ = fa_icon 'hashtag'
+ = tag.name
- - if tag.trending?
- = fa_icon 'fire fw'
- = t('admin.tags.trending_right_now')
+ %small
+ = t('admin.tags.in_directory', count: tag.accounts_count)
+ •
+ = t('admin.tags.unique_uses_today', count: tag.history.first[:accounts])
- .trends__item__current= number_to_human tag.history.first[:uses], strip_insignificant_zeros: true
+ - if tag.trending?
+ = fa_icon 'fire fw'
+ = t('admin.tags.trending_right_now')
+
+ .trends__item__current= number_to_human tag.history.first[:uses], strip_insignificant_zeros: true
diff --git a/app/views/admin/tags/index.html.haml b/app/views/admin/tags/index.html.haml
index d994955ef..498b93083 100644
--- a/app/views/admin/tags/index.html.haml
+++ b/app/views/admin/tags/index.html.haml
@@ -1,22 +1,77 @@
- content_for :page_title do
= t('admin.tags.title')
+- content_for :header_tags do
+ = javascript_pack_tag 'admin', integrity: true, async: true, crossorigin: 'anonymous'
+
.filters
.filter-subset
%strong= t('admin.tags.context')
%ul
- %li= filter_link_to t('generic.all'), context: nil
- %li= filter_link_to t('admin.tags.directory'), context: 'directory'
+ %li= filter_link_to t('generic.all'), directory: nil
+ %li= filter_link_to t('admin.tags.directory'), directory: '1'
.filter-subset
%strong= t('admin.tags.review')
%ul
- %li= filter_link_to t('generic.all'), review: nil
- %li= filter_link_to t('admin.tags.unreviewed'), review: 'unreviewed'
- %li= filter_link_to t('admin.tags.reviewed'), review: 'reviewed'
- %li= filter_link_to safe_join([t('admin.accounts.moderation.pending'), "(#{Tag.pending_review.count})"], ' '), review: 'pending_review'
+ %li= filter_link_to t('generic.all'), reviewed: nil, unreviewed: nil, pending_review: nil
+ %li= filter_link_to t('admin.tags.unreviewed'), unreviewed: '1', reviewed: nil, pending_review: nil
+ %li= filter_link_to t('admin.tags.reviewed'), reviewed: '1', unreviewed: nil, pending_review: nil
+ %li= filter_link_to safe_join([t('admin.accounts.moderation.pending'), "(#{Tag.pending_review.count})"], ' '), pending_review: '1', reviewed: nil, unreviewed: nil
+
+ .filter-subset
+ %strong= t('generic.order_by')
+ %ul
+ %li= filter_link_to t('admin.tags.most_recent'), popular: nil, active: nil
+ %li= filter_link_to t('admin.tags.most_popular'), popular: '1', active: nil
+ %li= filter_link_to t('admin.tags.last_active'), active: '1', popular: nil
+
+= form_tag admin_tags_url, method: 'GET', class: 'simple_form' do
+ .fields-group
+ - Admin::FilterHelper::TAGS_FILTERS.each do |key|
+ = hidden_field_tag key, params[key] if params[key].present?
+
+ - %i(name).each do |key|
+ .input.string.optional
+ = text_field_tag key, params[key], class: 'string optional', placeholder: I18n.t("admin.tags.#{key}")
+
+ .actions
+ %button= t('admin.accounts.search')
+ = link_to t('admin.accounts.reset'), admin_tags_path, class: 'button negative'
%hr.spacer/
-= render @tags
+= form_for(@form, url: batch_admin_tags_path) do |f|
+ = hidden_field_tag :page, params[:page] || 1
+ = hidden_field_tag :context, params[:context]
+ = hidden_field_tag :review, params[:review]
+
+ .batch-table
+ .batch-table__toolbar
+ %label.batch-table__toolbar__select.batch-checkbox-all
+ = check_box_tag :batch_checkbox_all, nil, false
+ .batch-table__toolbar__actions
+ - if params[:pending_review] == '1'
+ = f.button safe_join([fa_icon('check'), t('admin.accounts.approve')]), name: :approve, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
+
+ = f.button safe_join([fa_icon('times'), t('admin.accounts.reject')]), name: :reject, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
+ - else
+ %span.neutral-hint= t('generic.no_batch_actions_available')
+
+ .batch-table__body
+ - if @tags.empty?
+ = nothing_here 'nothing-here--under-tabs'
+ - else
+ = render partial: 'tag', collection: @tags, locals: { f: f }
+
= paginate @tags
+
+- if params[:pending_review] == '1'
+ %hr.spacer/
+
+ %div{ style: 'overflow: hidden' }
+ %div{ style: 'float: right' }
+ = link_to t('admin.accounts.reject_all'), reject_all_admin_tags_path, method: :post, data: { confirm: t('admin.accounts.are_you_sure') }, class: 'button button--destructive'
+
+ %div
+ = link_to t('admin.accounts.approve_all'), approve_all_admin_tags_path, method: :post, data: { confirm: t('admin.accounts.are_you_sure') }, class: 'button'
diff --git a/app/views/admin/tags/show.html.haml b/app/views/admin/tags/show.html.haml
index c3779d48c..1d970d637 100644
--- a/app/views/admin/tags/show.html.haml
+++ b/app/views/admin/tags/show.html.haml
@@ -3,7 +3,7 @@
.dashboard__counters
%div
- = link_to web_url("timelines/tag/#{@tag.name}") do
+ = link_to tag_url(@tag), target: '_blank', rel: 'noopener' do
.dashboard__counters__num= number_with_delimiter @accounts_today
.dashboard__counters__label= t 'admin.tags.accounts_today'
%div
@@ -38,8 +38,10 @@
.table-wrapper
%table.table
%tbody
+ - total = @usage_by_domain.sum(&:last).to_f
+
- @usage_by_domain.each do |(domain, count)|
%tr
%th= domain || site_hostname
- %td= number_to_percentage((count / @tag.history[0][:uses].to_f) * 100)
+ %td= number_to_percentage((count / total) * 100, precision: 1)
%td= number_with_delimiter count
diff --git a/app/views/admin_mailer/new_trending_tag.text.erb b/app/views/admin_mailer/new_trending_tag.text.erb
index f3087df37..e4bfdc591 100644
--- a/app/views/admin_mailer/new_trending_tag.text.erb
+++ b/app/views/admin_mailer/new_trending_tag.text.erb
@@ -2,4 +2,4 @@
<%= raw t('admin_mailer.new_trending_tag.body', name: @tag.name) %>
-<%= raw t('application_mailer.view')%> <%= admin_tags_url(review: 'pending_review') %>
+<%= raw t('application_mailer.view')%> <%= admin_tags_url(pending_review: '1') %>
diff --git a/app/views/application/_card.html.haml b/app/views/application/_card.html.haml
index 00254c40c..8719ce484 100644
--- a/app/views/application/_card.html.haml
+++ b/app/views/application/_card.html.haml
@@ -9,7 +9,7 @@
= image_tag account.avatar.url, alt: '', width: 48, height: 48, class: 'u-photo'
.display-name
- %span{id: "default_account_display_name", style: "display:none;"}= account.username
+ %span{ id: "default_account_display_name", style: "display: none" }= account.username
%bdi
%strong.emojify.p-name= display_name(account, custom_emojify: true)
%span
diff --git a/app/views/application/_sidebar.html.haml b/app/views/application/_sidebar.html.haml
index b5ce5845e..33e7c96fe 100644
--- a/app/views/application/_sidebar.html.haml
+++ b/app/views/application/_sidebar.html.haml
@@ -4,3 +4,13 @@
.hero-widget__text
%p= @instance_presenter.site_short_description.html_safe.presence || @instance_presenter.site_description.html_safe.presence || t('about.generic_description', domain: site_hostname)
+
+- if Setting.trends && !(user_signed_in? && !current_user.setting_trends)
+ - trends = TrendingTags.get(3)
+
+ - unless trends.empty?
+ .endorsements-widget.trends-widget
+ %h4.emojify= t('footer.trending_now')
+
+ - trends.each do |tag|
+ = react_component :hashtag, hashtag: ActiveModelSerializers::SerializableResource.new(tag, serializer: REST::TagSerializer).as_json
diff --git a/app/views/auth/challenges/new.html.haml b/app/views/auth/challenges/new.html.haml
new file mode 100644
index 000000000..9aef2c35d
--- /dev/null
+++ b/app/views/auth/challenges/new.html.haml
@@ -0,0 +1,15 @@
+- content_for :page_title do
+ = t('challenge.prompt')
+
+= simple_form_for @challenge, url: request.get? ? auth_challenge_path : '' do |f|
+ = f.input :return_to, as: :hidden
+
+ .field-group
+ = f.input :current_password, wrapper: :with_block_label, input_html: { :autocomplete => 'off', :autofocus => true }, label: t('challenge.prompt'), required: true
+
+ .actions
+ = f.button :button, t('challenge.confirm'), type: :submit
+
+ %p.hint.subtle-hint= t('challenge.hint_html')
+
+.form-footer= render 'auth/shared/links'
diff --git a/app/views/auth/registrations/_status.html.haml b/app/views/auth/registrations/_status.html.haml
index b38a83d67..47112dae0 100644
--- a/app/views/auth/registrations/_status.html.haml
+++ b/app/views/auth/registrations/_status.html.haml
@@ -1,16 +1,22 @@
%h3= t('auth.status.account_status')
-- 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')
-- elsif !@user.confirmed?
- %span.warning-hint= t('auth.status.confirming')
-- elsif !@user.approved?
- %span.warning-hint= t('auth.status.pending')
-- else
- %span.positive-hint= t('auth.status.functional')
+.simple_form
+ %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')
+ - elsif !@user.confirmed?
+ %span.warning-hint= t('auth.status.confirming')
+ = link_to t('auth.didnt_get_confirmation'), new_user_confirmation_path
+ - elsif !@user.approved?
+ %span.warning-hint= t('auth.status.pending')
+ - elsif @user.account.moved_to_account_id.present?
+ %span.positive-hint= t('auth.status.redirecting_to', acct: @user.account.moved_to_account.acct)
+ = link_to t('migrations.cancel'), settings_migration_path
+ - else
+ %span.positive-hint= t('auth.status.functional')
%hr.spacer/
diff --git a/app/views/auth/registrations/edit.html.haml b/app/views/auth/registrations/edit.html.haml
index 710ee5c68..885171c58 100644
--- a/app/views/auth/registrations/edit.html.haml
+++ b/app/views/auth/registrations/edit.html.haml
@@ -13,7 +13,7 @@
.fields-row__column.fields-group.fields-row__column-6
= f.input :email, wrapper: :with_label, input_html: { 'aria-label' => t('simple_form.labels.defaults.email') }, required: true, disabled: current_account.suspended?
.fields-row__column.fields-group.fields-row__column-6
- = f.input :current_password, wrapper: :with_label, input_html: { 'aria-label' => t('simple_form.labels.defaults.current_password'), :autocomplete => 'off' }, required: true, disabled: current_account.suspended?
+ = f.input :current_password, wrapper: :with_label, input_html: { 'aria-label' => t('simple_form.labels.defaults.current_password'), :autocomplete => 'off' }, required: true, disabled: current_account.suspended?, hint: false
.fields-row
.fields-row__column.fields-group.fields-row__column-6
diff --git a/app/views/auth/registrations/new.html.haml b/app/views/auth/registrations/new.html.haml
index 83384d737..e807c8d86 100644
--- a/app/views/auth/registrations/new.html.haml
+++ b/app/views/auth/registrations/new.html.haml
@@ -2,7 +2,7 @@
= t('auth.register')
- content_for :header_tags do
- = render partial: 'shared/og'
+ = render partial: 'shared/og', locals: { description: description_for_sign_up }
= simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
= render 'shared/error_messages', object: resource
diff --git a/app/views/auth/setup/show.html.haml b/app/views/auth/setup/show.html.haml
index 8bb44ca7f..c14fed56f 100644
--- a/app/views/auth/setup/show.html.haml
+++ b/app/views/auth/setup/show.html.haml
@@ -17,7 +17,4 @@
.simple_form
%p.hint= t('auth.setup.email_settings_hint_html', email: content_tag(:strong, @user.email))
-.form-footer
- %ul.no-list
- %li= link_to t('settings.account_settings'), edit_user_registration_path
- %li= link_to t('auth.logout'), destroy_user_session_path, data: { method: :delete }
+.form-footer= render 'auth/shared/links'
diff --git a/app/views/auth/shared/_links.html.haml b/app/views/auth/shared/_links.html.haml
index 3c68ccd22..66ed5b93f 100644
--- a/app/views/auth/shared/_links.html.haml
+++ b/app/views/auth/shared/_links.html.haml
@@ -1,12 +1,18 @@
%ul.no-list
- - if controller_name != 'sessions'
- %li= link_to t('auth.login'), new_session_path(resource_name)
+ - if user_signed_in?
+ %li= link_to t('settings.account_settings'), edit_user_registration_path
+ - else
+ - if controller_name != 'sessions'
+ %li= link_to t('auth.login'), new_user_session_path
- - if devise_mapping.registerable? && controller_name != 'registrations'
- %li= link_to t('auth.register'), available_sign_up_path
+ - if controller_name != 'registrations'
+ %li= link_to t('auth.register'), available_sign_up_path
- - if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations'
- %li= link_to t('auth.forgot_password'), new_password_path(resource_name)
+ - if controller_name != 'passwords' && controller_name != 'registrations'
+ %li= link_to t('auth.forgot_password'), new_user_password_path
- - if devise_mapping.confirmable? && controller_name != 'confirmations'
- %li= link_to t('auth.didnt_get_confirmation'), new_confirmation_path(resource_name)
+ - if controller_name != 'confirmations' && (!user_signed_in? || !current_user.confirmed? || current_user.unconfirmed_email.present?)
+ %li= link_to t('auth.didnt_get_confirmation'), new_user_confirmation_path
+
+ - if user_signed_in? && controller_name != 'setup'
+ %li= link_to t('auth.logout'), destroy_user_session_path, data: { method: :delete }
diff --git a/app/views/directories/index.html.haml b/app/views/directories/index.html.haml
index a8aa68cc4..6bf2ec81e 100644
--- a/app/views/directories/index.html.haml
+++ b/app/views/directories/index.html.haml
@@ -14,58 +14,43 @@
%h1= t('directories.explore_mastodon', title: site_title)
%p= t('directories.explanation')
-.grid
- .column-0
- - if @accounts.empty?
- = nothing_here
- - else
- .directory
- %table.accounts-table
- %tbody
- - @accounts.each do |account|
- %tr
- %td= account_link_to account
- %td.accounts-table__count.optional
- = number_to_human account.statuses_count, strip_insignificant_zeros: true
- %small= t('accounts.posts', count: account.statuses_count).downcase
- %td.accounts-table__count.optional
- = number_to_human account.followers_count, strip_insignificant_zeros: true
- %small= t('accounts.followers', count: account.followers_count).downcase
- %td.accounts-table__count
- - if account.last_status_at.present?
- %time.time-ago{ datetime: account.last_status_at.iso8601, title: l(account.last_status_at) }= l account.last_status_at
- - else
- \-
- %small= t('accounts.last_active')
+- if @accounts.empty?
+ = nothing_here
+- else
+ .directory__list
+ - @accounts.each do |account|
+ .directory__card
+ .directory__card__img
+ = image_tag account.header.url, alt: ''
+ .directory__card__bar
+ = link_to TagManager.instance.url_for(account), class: 'directory__card__bar__name' do
+ .avatar
+ = image_tag account.avatar.url, alt: '', width: 48, height: 48, class: 'u-photo'
- = paginate @accounts
+ .display-name
+ %span{ id: "default_account_display_name", style: "display: none" }= account.username
+ %bdi
+ %strong.emojify.p-name= display_name(account, custom_emojify: true)
+ %span= acct(account)
+ .directory__card__bar__relationship.account__relationship
+ = minimal_account_action_button(account)
- .column-1
- - if user_signed_in?
- .box-widget.notice-widget
- - if current_account.discoverable?
- - if current_account.followers_count < Account::MIN_FOLLOWERS_DISCOVERY
- %p= t('directories.enabled_but_waiting', min_followers: Account::MIN_FOLLOWERS_DISCOVERY)
- - else
- %p= t('directories.enabled')
- - else
- %p= t('directories.how_to_enable')
+ .directory__card__extra
+ .account__header__content.emojify= Formatter.instance.simplified_format(account, custom_emojify: true)
- = link_to settings_profile_path do
- = t('settings.edit_profile')
- = fa_icon 'chevron-right fw'
+ .directory__card__extra
+ .accounts-table__count
+ = number_to_human account.statuses_count, strip_insignificant_zeros: true
+ %small= t('accounts.posts', count: account.statuses_count).downcase
+ .accounts-table__count
+ = number_to_human account.followers_count, strip_insignificant_zeros: true
+ %small= t('accounts.followers', count: account.followers_count).downcase
+ .accounts-table__count
+ - if account.last_status_at.present?
+ %time.time-ago{ datetime: account.last_status_at.iso8601, title: l(account.last_status_at) }= l account.last_status_at
+ - else
+ = t('accounts.never_active')
- - if @tags.empty? && !user_signed_in?
- .nothing-here
- - else
- - @tags.each do |tag|
- .directory__tag{ class: tag.id == @tag&.id ? 'active' : nil }
- = link_to explore_hashtag_path(tag) do
- %h4
- = fa_icon 'hashtag'
- = tag.name
- %small= t('directories.people', count: tag.accounts_count)
+ %small= t('accounts.last_active')
- .avatar-stack
- - tag.cached_sample_accounts.each do |account|
- = image_tag current_account&.user&.setting_auto_play_gif ? account.avatar_original_url : account.avatar_static_url, width: 48, height: 48, alt: '', class: 'account__avatar'
+ = paginate @accounts
diff --git a/app/views/errors/400.html.haml b/app/views/errors/400.html.haml
new file mode 100644
index 000000000..11fbdd40c
--- /dev/null
+++ b/app/views/errors/400.html.haml
@@ -0,0 +1,5 @@
+- content_for :page_title do
+ = t('errors.400')
+
+- content_for :content do
+ = t('errors.400')
diff --git a/app/views/errors/406.html.haml b/app/views/errors/406.html.haml
new file mode 100644
index 000000000..0ef815df3
--- /dev/null
+++ b/app/views/errors/406.html.haml
@@ -0,0 +1,5 @@
+- content_for :page_title do
+ = t('errors.406')
+
+- content_for :content do
+ = t('errors.406')
diff --git a/app/views/errors/503.html.haml b/app/views/errors/503.html.haml
new file mode 100644
index 000000000..b0c895aa5
--- /dev/null
+++ b/app/views/errors/503.html.haml
@@ -0,0 +1,5 @@
+- content_for :page_title do
+ = t('errors.503')
+
+- content_for :content do
+ = t('errors.503')
diff --git a/app/views/invites/_form.html.haml b/app/views/invites/_form.html.haml
index 3a2a5ef0e..b19f70539 100644
--- a/app/views/invites/_form.html.haml
+++ b/app/views/invites/_form.html.haml
@@ -10,5 +10,8 @@
.fields-group
= f.input :autofollow, wrapper: :with_label
+ .fields-group
+ = f.input :comment, wrapper: :with_label, input_html: { maxlength: 420 }
+
.actions
= f.button :button, t('invites.generate'), type: :submit
diff --git a/app/views/invites/_invite.html.haml b/app/views/invites/_invite.html.haml
index 62799ca5b..03050c868 100644
--- a/app/views/invites/_invite.html.haml
+++ b/app/views/invites/_invite.html.haml
@@ -20,6 +20,9 @@
%td{ colspan: 2 }
= t('invites.expired')
+ %td
+ = invite.comment
+
%td
- if invite.valid_for_use? && policy(invite).destroy?
= table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete
diff --git a/app/views/invites/index.html.haml b/app/views/invites/index.html.haml
index 61420ab1e..62065d6ae 100644
--- a/app/views/invites/index.html.haml
+++ b/app/views/invites/index.html.haml
@@ -15,6 +15,7 @@
%th
%th= t('invites.table.uses')
%th= t('invites.table.expires_at')
+ %th= t('invites.table.comment')
%th
%tbody
= render @invites
diff --git a/app/views/layouts/admin.html.haml b/app/views/layouts/admin.html.haml
index 083f2fac7..57bda45e2 100644
--- a/app/views/layouts/admin.html.haml
+++ b/app/views/layouts/admin.html.haml
@@ -4,11 +4,21 @@
- content_for :content do
.admin-wrapper
.sidebar-wrapper
- .sidebar
- = link_to root_path do
- = image_pack_tag 'logo.svg', class: 'logo', alt: 'Mastodon'
+ .sidebar-wrapper__inner
+ .sidebar
+ = link_to root_path do
+ = image_pack_tag 'logo.svg', class: 'logo', alt: 'Mastodon'
+
+ .sidebar__toggle
+ .sidebar__toggle__logo
+ = link_to root_path do
+ = svg_logo_full
+
+ = link_to '#', class: 'sidebar__toggle__icon' do
+ = fa_icon 'bars'
+
+ = render_navigation
- = render_navigation
.content-wrapper
.content
%h2= yield :page_title
@@ -17,4 +27,6 @@
= yield
+ .sidebar-wrapper.sidebar-wrapper--empty
+
= render template: 'layouts/application'
diff --git a/app/views/notification_mailer/_status.html.haml b/app/views/notification_mailer/_status.html.haml
index 57b5688bd..e992e5563 100644
--- a/app/views/notification_mailer/_status.html.haml
+++ b/app/views/notification_mailer/_status.html.haml
@@ -1,4 +1,5 @@
- i ||= 0
+- highlighted ||= false
%table.email-table{ cellspacing: 0, cellpadding: 0, dir: 'ltr' }
%tbody
@@ -14,7 +15,7 @@
%table.column{ cellspacing: 0, cellpadding: 0 }
%tbody
%tr
- %td.column-cell.padded.status
+ %td.column-cell.padded.status{ class: highlighted ? 'status--highlighted' : '' }
%table.status-header{ cellspacing: 0, cellpadding: 0 }
%tbody
%tr
@@ -32,5 +33,13 @@
%div{ dir: rtl_status?(status) ? 'rtl' : 'ltr' }
= Formatter.instance.format(status)
+ - if status.media_attachments.size > 0
+ %p
+ - status.media_attachments.each do |a|
+ - if status.local?
+ = link_to medium_url(a), medium_url(a)
+ - else
+ = link_to a.remote_url, a.remote_url
+
%p.status-footer
= link_to l(status.created_at), web_url("statuses/#{status.id}")
diff --git a/app/views/settings/aliases/index.html.haml b/app/views/settings/aliases/index.html.haml
new file mode 100644
index 000000000..5b6986368
--- /dev/null
+++ b/app/views/settings/aliases/index.html.haml
@@ -0,0 +1,29 @@
+- content_for :page_title do
+ = t('settings.aliases')
+
+= simple_form_for @alias, url: settings_aliases_path do |f|
+ = render 'shared/error_messages', object: @alias
+
+ %p.hint= t('aliases.hint_html')
+
+ %hr.spacer/
+
+ .fields-group
+ = f.input :acct, wrapper: :with_block_label, input_html: { autocapitalize: 'none', autocorrect: 'off' }
+
+ .actions
+ = f.button :button, t('aliases.add_new'), type: :submit, class: 'button'
+
+%hr.spacer/
+
+.table-wrapper
+ %table.table.inline-table
+ %thead
+ %tr
+ %th= t('simple_form.labels.account_alias.acct')
+ %th
+ %tbody
+ - @aliases.each do |account_alias|
+ %tr
+ %td= account_alias.acct
+ %td= table_link_to 'trash', t('aliases.remove'), settings_alias_path(account_alias), data: { method: :delete }
diff --git a/app/views/settings/deletes/show.html.haml b/app/views/settings/deletes/show.html.haml
index b246f83a1..08792e0af 100644
--- a/app/views/settings/deletes/show.html.haml
+++ b/app/views/settings/deletes/show.html.haml
@@ -2,15 +2,28 @@
= t('settings.delete')
= simple_form_for @confirmation, url: settings_delete_path, method: :delete do |f|
- .warning
- %strong
- = fa_icon('warning')
- = t('deletes.warning_title')
- = t('deletes.warning_html')
+ %p.hint= t('deletes.warning.before')
- %p.hint= t('deletes.description_html')
+ %ul.hint
+ - if current_user.confirmed? && current_user.approved?
+ %li.warning-hint= t('deletes.warning.irreversible')
+ %li.warning-hint= t('deletes.warning.username_unavailable')
+ %li.warning-hint= t('deletes.warning.data_removal')
+ %li.warning-hint= t('deletes.warning.caches')
+ - else
+ %li.positive-hint= t('deletes.warning.email_change_html', path: edit_user_registration_path)
+ %li.positive-hint= t('deletes.warning.email_reconfirmation_html', path: new_user_confirmation_path)
+ %li.positive-hint= t('deletes.warning.email_contact_html', email: Setting.site_contact_email)
+ %li.positive-hint= t('deletes.warning.username_available')
- = f.input :password, placeholder: t('simple_form.labels.defaults.current_password'), input_html: { 'aria-label' => t('simple_form.labels.defaults.current_password'), :autocomplete => 'off' }, hint: t('deletes.confirm_password')
+ %p.hint= t('deletes.warning.more_details_html', terms_path: terms_path)
+
+ %hr.spacer/
+
+ - if current_user.encrypted_password.present?
+ = f.input :password, wrapper: :with_block_label, input_html: { :autocomplete => 'off' }, hint: t('deletes.confirm_password')
+ - else
+ = f.input :username, wrapper: :with_block_label, input_html: { :autocomplete => 'off' }, hint: t('deletes.confirm_username')
.actions
= f.button :button, t('deletes.proceed'), type: :submit, class: 'negative'
diff --git a/app/views/settings/exports/show.html.haml b/app/views/settings/exports/show.html.haml
index b13cea976..76ff76bd9 100644
--- a/app/views/settings/exports/show.html.haml
+++ b/app/views/settings/exports/show.html.haml
@@ -37,12 +37,16 @@
%td= number_with_delimiter @export.total_domain_blocks
%td= table_link_to 'download', t('exports.csv'), settings_exports_domain_blocks_path(format: :csv)
+%hr.spacer/
+
%p.muted-hint= t('exports.archive_takeout.hint_html')
- if policy(:backup).create?
%p= link_to t('exports.archive_takeout.request'), settings_export_path, class: 'button', method: :post
- unless @backups.empty?
+ %hr.spacer/
+
.table-wrapper
%table.table
%thead
diff --git a/app/views/settings/featured_tags/index.html.haml b/app/views/settings/featured_tags/index.html.haml
index 5f69517f3..6734d027c 100644
--- a/app/views/settings/featured_tags/index.html.haml
+++ b/app/views/settings/featured_tags/index.html.haml
@@ -1,6 +1,10 @@
- content_for :page_title do
= t('settings.featured_tags')
+%p= t('featured_tags.hint_html')
+
+%hr.spacer/
+
= simple_form_for @featured_tag, url: settings_featured_tags_path do |f|
= render 'shared/error_messages', object: @featured_tag
diff --git a/app/views/settings/migrations/show.html.haml b/app/views/settings/migrations/show.html.haml
index c69061d50..1e5c47726 100644
--- a/app/views/settings/migrations/show.html.haml
+++ b/app/views/settings/migrations/show.html.haml
@@ -1,17 +1,85 @@
- content_for :page_title do
= t('settings.migrate')
-= simple_form_for @migration, as: :migration, url: settings_migration_path, html: { method: :put } do |f|
- - if @migration.account
- %p.hint= t('migrations.currently_redirecting')
+.simple_form
+ - if current_account.moved_to_account.present?
+ .fields-row
+ .fields-row__column.fields-group.fields-row__column-6
+ = 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)
- .fields-group
- = render partial: 'application/card', locals: { account: @migration.account }
+ %p.hint= t('migrations.cancel_explanation')
+
+ %p.hint= link_to t('migrations.cancel'), cancel_settings_migration_path, data: { method: :post }
+ - else
+ %p.hint
+ %span.positive-hint= t('migrations.not_redirecting')
+
+%hr.spacer/
+
+%h3= t 'migrations.proceed_with_move'
+
+= simple_form_for @migration, url: settings_migration_path do |f|
+ - if on_cooldown?
+ %span.warning-hint= t('migrations.on_cooldown', count: ((@cooldown.cooldown_at - Time.now.utc) / 1.day.seconds).ceil)
+ - else
+ %p.hint= t('migrations.warning.before')
+
+ %ul.hint
+ %li.warning-hint= t('migrations.warning.followers')
+ %li.warning-hint= t('migrations.warning.other_data')
+ %li.warning-hint= t('migrations.warning.backreference_required')
+ %li.warning-hint= t('migrations.warning.cooldown')
+ %li.warning-hint= t('migrations.warning.disabled_account')
+
+ %hr.spacer/
= render 'shared/error_messages', object: @migration
- .fields-group
- = f.input :acct, placeholder: t('migrations.acct')
+ .fields-row
+ .fields-row__column.fields-group.fields-row__column-6
+ = f.input :acct, wrapper: :with_block_label, input_html: { autocapitalize: 'none', autocorrect: 'off' }, disabled: on_cooldown?
+
+ .fields-row__column.fields-group.fields-row__column-6
+ - if current_user.encrypted_password.present?
+ = f.input :current_password, wrapper: :with_block_label, input_html: { :autocomplete => 'off' }, required: true, disabled: on_cooldown?
+ - else
+ = f.input :current_username, wrapper: :with_block_label, input_html: { :autocomplete => 'off' }, required: true, disabled: on_cooldown?
.actions
- = f.button :button, t('migrations.proceed'), type: :submit, class: 'negative'
+ = f.button :button, t('migrations.proceed_with_move'), type: :submit, class: 'button button--destructive', disabled: on_cooldown?
+
+- unless @migrations.empty?
+ %hr.spacer/
+
+ %h3= t 'migrations.past_migrations'
+
+ %hr.spacer/
+
+ .table-wrapper
+ %table.table.inline-table
+ %thead
+ %tr
+ %th= t('migrations.acct')
+ %th= t('migrations.followers_count')
+ %th
+ %tbody
+ - @migrations.each do |migration|
+ %tr
+ %td
+ - if migration.target_account.present?
+ = compact_account_link_to migration.target_account
+ - else
+ = migration.acct
+
+ %td= number_with_delimiter migration.followers_count
+
+ %td
+ %time.time-ago{ datetime: migration.created_at.iso8601, title: l(migration.created_at) }= l(migration.created_at)
+
+%hr.spacer/
+
+%h3= t 'migrations.incoming_migrations'
+%p.muted-hint= t('migrations.incoming_migrations_html', path: settings_aliases_path)
diff --git a/app/views/settings/profiles/show.html.haml b/app/views/settings/profiles/show.html.haml
index f8a8fddd3..6929f54f3 100644
--- a/app/views/settings/profiles/show.html.haml
+++ b/app/views/settings/profiles/show.html.haml
@@ -28,7 +28,7 @@
- if Setting.profile_directory
.fields-group
- = f.input :discoverable, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.discoverable_html', min_followers: Account::MIN_FOLLOWERS_DISCOVERY, path: explore_path), recommended: true
+ = f.input :discoverable, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.discoverable'), recommended: true
%hr.spacer/
@@ -60,6 +60,11 @@
%h6= t('auth.migrate_account')
%p.muted-hint= t('auth.migrate_account_html', path: settings_migration_path)
+%hr.spacer/
+
+%h6= t 'migrations.incoming_migrations'
+%p.muted-hint= t('migrations.incoming_migrations_html', path: settings_aliases_path)
+
- if open_deletion?
%hr.spacer/
diff --git a/app/views/settings/two_factor_authentication/confirmations/new.html.haml b/app/views/settings/two_factor_authentication/confirmations/new.html.haml
index e64155299..86cf1f695 100644
--- a/app/views/settings/two_factor_authentication/confirmations/new.html.haml
+++ b/app/views/settings/two_factor_authentication/confirmations/new.html.haml
@@ -12,7 +12,7 @@
%samp.qr-alternative__code= current_user.otp_secret.scan(/.{4}/).join(' ')
.fields-group
- = f.input :code, wrapper: :with_label, hint: t('two_factor_authentication.code_hint'), label: t('simple_form.labels.defaults.otp_attempt'), input_html: { :autocomplete => 'off' }, required: true
+ = f.input :otp_attempt, wrapper: :with_label, hint: t('two_factor_authentication.code_hint'), label: t('simple_form.labels.defaults.otp_attempt'), input_html: { :autocomplete => 'off' }, required: true
.actions
= f.button :button, t('two_factor_authentication.enable'), type: :submit
diff --git a/app/views/settings/two_factor_authentications/show.html.haml b/app/views/settings/two_factor_authentications/show.html.haml
index 259bcd1ef..f1eecd000 100644
--- a/app/views/settings/two_factor_authentications/show.html.haml
+++ b/app/views/settings/two_factor_authentications/show.html.haml
@@ -2,33 +2,35 @@
= t('settings.two_factor_authentication')
- if current_user.otp_required_for_login
- %p.positive-hint
- = fa_icon 'check'
- = ' '
- = t 'two_factor_authentication.enabled'
+ %p.hint
+ %span.positive-hint
+ = fa_icon 'check'
+ = ' '
+ = t 'two_factor_authentication.enabled'
- %hr/
+ %hr.spacer/
= simple_form_for @confirmation, url: settings_two_factor_authentication_path, method: :delete do |f|
- = f.input :code, wrapper: :with_label, hint: t('two_factor_authentication.code_hint'), label: t('simple_form.labels.defaults.otp_attempt'), input_html: { :autocomplete => 'off' }, required: true
+ .fields-group
+ = f.input :otp_attempt, wrapper: :with_block_label, hint: t('two_factor_authentication.code_hint'), label: t('simple_form.labels.defaults.otp_attempt'), input_html: { :autocomplete => 'off' }, required: true
.actions
- = f.button :button, t('two_factor_authentication.disable'), type: :submit
+ = f.button :button, t('two_factor_authentication.disable'), type: :submit, class: 'negative'
- %hr/
+ %hr.spacer/
- %h6= t('two_factor_authentication.recovery_codes')
- %p.muted-hint
- = t('two_factor_authentication.lost_recovery_codes')
- = link_to t('two_factor_authentication.generate_recovery_codes'),
- settings_two_factor_authentication_recovery_codes_path,
- data: { method: :post }
+ %h3= t('two_factor_authentication.recovery_codes')
+ %p.muted-hint= t('two_factor_authentication.lost_recovery_codes')
+
+ %hr.spacer/
+
+ .simple_form
+ = link_to t('two_factor_authentication.generate_recovery_codes'), settings_two_factor_authentication_recovery_codes_path, data: { method: :post }, class: 'block-button'
- else
.simple_form
%p.hint= t('two_factor_authentication.description_html')
- = link_to t('two_factor_authentication.setup'),
- settings_two_factor_authentication_path,
- data: { method: :post },
- class: 'block-button'
+ %hr.spacer/
+
+ = link_to t('two_factor_authentication.setup'), settings_two_factor_authentication_path, data: { method: :post }, class: 'block-button'
diff --git a/app/views/shared/_og.html.haml b/app/views/shared/_og.html.haml
index 67238fc8b..576f47a67 100644
--- a/app/views/shared/_og.html.haml
+++ b/app/views/shared/_og.html.haml
@@ -1,5 +1,5 @@
-- thumbnail = @instance_presenter.thumbnail
-- description = strip_tags(@instance_presenter.site_short_description.presence || @instance_presenter.site_description.presence || t('about.about_mastodon_html'))
+- thumbnail = @instance_presenter.thumbnail
+- description ||= strip_tags(@instance_presenter.site_short_description.presence || @instance_presenter.site_description.presence || t('about.about_mastodon_html'))
%meta{ name: 'description', content: description }/
diff --git a/app/views/statuses/_detailed_status.html.haml b/app/views/statuses/_detailed_status.html.haml
index 8686c2033..12f03ccdd 100644
--- a/app/views/statuses/_detailed_status.html.haml
+++ b/app/views/statuses/_detailed_status.html.haml
@@ -27,10 +27,14 @@
= render partial: 'statuses/poll', locals: { status: status, poll: status.preloadable_poll, autoplay: autoplay }
- if !status.media_attachments.empty?
- - if status.media_attachments.first.audio_or_video?
+ - if status.media_attachments.first.video?
- video = status.media_attachments.first
= react_component :video, src: video.file.url(:original), preview: video.file.url(:small), blurhash: video.blurhash, sensitive: !current_account&.user&.show_all_media? && status.sensitive? || current_account&.user&.hide_all_media?, width: 670, height: 380, detailed: true, inline: true, alt: video.description do
= render partial: 'statuses/attachment_list', locals: { attachments: status.media_attachments }
+ - elsif status.media_attachments.first.audio?
+ - audio = status.media_attachments.first
+ = react_component :audio, src: audio.file.url(:original), height: 130, alt: audio.description, preload: true, duration: audio.file.meta.dig(:original, :duration) do
+ = render partial: 'statuses/attachment_list', locals: { attachments: status.media_attachments }
- else
= react_component :media_gallery, height: 380, sensitive: !current_account&.user&.show_all_media? && status.sensitive? || current_account&.user&.hide_all_media?, standalone: true, 'autoPlayGif': current_account&.user&.setting_auto_play_gif || autoplay, 'reduceMotion': current_account&.user&.setting_reduce_motion, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json } do
= render partial: 'statuses/attachment_list', locals: { attachments: status.media_attachments }
diff --git a/app/views/statuses/_simple_status.html.haml b/app/views/statuses/_simple_status.html.haml
index 38fde1be8..ca3c8fdd5 100644
--- a/app/views/statuses/_simple_status.html.haml
+++ b/app/views/statuses/_simple_status.html.haml
@@ -31,10 +31,14 @@
= render partial: 'statuses/poll', locals: { status: status, poll: status.preloadable_poll, autoplay: autoplay }
- if !status.media_attachments.empty?
- - if status.media_attachments.first.audio_or_video?
+ - if status.media_attachments.first.video?
- video = status.media_attachments.first
= react_component :video, src: video.file.url(:original), preview: video.file.url(:small), blurhash: video.blurhash, sensitive: !current_account&.user&.show_all_media? && status.sensitive? || current_account&.user&.hide_all_media?, width: 610, height: 343, inline: true, alt: video.description do
= render partial: 'statuses/attachment_list', locals: { attachments: status.media_attachments }
+ - elsif status.media_attachments.first.audio?
+ - audio = status.media_attachments.first
+ = react_component :audio, src: audio.file.url(:original), height: 110, alt: audio.description, duration: audio.file.meta.dig(:original, :duration) do
+ = render partial: 'statuses/attachment_list', locals: { attachments: status.media_attachments }
- else
= react_component :media_gallery, height: 343, sensitive: !current_account&.user&.show_all_media? && status.sensitive? || current_account&.user&.hide_all_media?, 'autoPlayGif': current_account&.user&.setting_auto_play_gif || autoplay, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json } do
= render partial: 'statuses/attachment_list', locals: { attachments: status.media_attachments }
diff --git a/app/views/user_mailer/two_factor_disabled.html.haml b/app/views/user_mailer/two_factor_disabled.html.haml
new file mode 100644
index 000000000..651c6f940
--- /dev/null
+++ b/app/views/user_mailer/two_factor_disabled.html.haml
@@ -0,0 +1,43 @@
+%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.hero
+ .email-row
+ .col-6
+ %table.column{ cellspacing: 0, cellpadding: 0 }
+ %tbody
+ %tr
+ %td.column-cell.text-center.padded
+ %table.hero-icon.alert-icon{ align: 'center', cellspacing: 0, cellpadding: 0 }
+ %tbody
+ %tr
+ %td
+ = image_tag full_pack_url('media/images/mailer/icon_lock_open.png'), alt: ''
+
+ %h1= t 'devise.mailer.two_factor_disabled.title'
+ %p.lead= t 'devise.mailer.two_factor_disabled.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.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')
diff --git a/app/views/user_mailer/two_factor_disabled.text.erb b/app/views/user_mailer/two_factor_disabled.text.erb
new file mode 100644
index 000000000..73be1ddc2
--- /dev/null
+++ b/app/views/user_mailer/two_factor_disabled.text.erb
@@ -0,0 +1,7 @@
+<%= t 'devise.mailer.two_factor_disabled.title' %>
+
+===
+
+<%= t 'devise.mailer.two_factor_disabled.explanation' %>
+
+=> <%= edit_user_registration_url %>
diff --git a/app/views/user_mailer/two_factor_enabled.html.haml b/app/views/user_mailer/two_factor_enabled.html.haml
new file mode 100644
index 000000000..fc31bd979
--- /dev/null
+++ b/app/views/user_mailer/two_factor_enabled.html.haml
@@ -0,0 +1,43 @@
+%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.hero
+ .email-row
+ .col-6
+ %table.column{ cellspacing: 0, cellpadding: 0 }
+ %tbody
+ %tr
+ %td.column-cell.text-center.padded
+ %table.hero-icon{ align: 'center', cellspacing: 0, cellpadding: 0 }
+ %tbody
+ %tr
+ %td
+ = image_tag full_pack_url('media/images/mailer/icon_lock_open.png'), alt: ''
+
+ %h1= t 'devise.mailer.two_factor_enabled.title'
+ %p.lead= t 'devise.mailer.two_factor_enabled.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.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')
diff --git a/app/views/user_mailer/two_factor_enabled.text.erb b/app/views/user_mailer/two_factor_enabled.text.erb
new file mode 100644
index 000000000..4319dddbf
--- /dev/null
+++ b/app/views/user_mailer/two_factor_enabled.text.erb
@@ -0,0 +1,7 @@
+<%= t 'devise.mailer.two_factor_enabled.title' %>
+
+===
+
+<%= t 'devise.mailer.two_factor_enabled.explanation' %>
+
+=> <%= edit_user_registration_url %>
diff --git a/app/views/user_mailer/two_factor_recovery_codes_changed.html.haml b/app/views/user_mailer/two_factor_recovery_codes_changed.html.haml
new file mode 100644
index 000000000..833708868
--- /dev/null
+++ b/app/views/user_mailer/two_factor_recovery_codes_changed.html.haml
@@ -0,0 +1,43 @@
+%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.hero
+ .email-row
+ .col-6
+ %table.column{ cellspacing: 0, cellpadding: 0 }
+ %tbody
+ %tr
+ %td.column-cell.text-center.padded
+ %table.hero-icon.alert-icon{ align: 'center', cellspacing: 0, cellpadding: 0 }
+ %tbody
+ %tr
+ %td
+ = image_tag full_pack_url('media/images/mailer/icon_lock_open.png'), alt: ''
+
+ %h1= t 'devise.mailer.two_factor_recovery_codes_changed.title'
+ %p.lead= t 'devise.mailer.two_factor_recovery_codes_changed.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.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')
diff --git a/app/views/user_mailer/two_factor_recovery_codes_changed.text.erb b/app/views/user_mailer/two_factor_recovery_codes_changed.text.erb
new file mode 100644
index 000000000..6ed12fc08
--- /dev/null
+++ b/app/views/user_mailer/two_factor_recovery_codes_changed.text.erb
@@ -0,0 +1,7 @@
+<%= t 'devise.mailer.two_factor_recovery_codes_changed.title' %>
+
+===
+
+<%= t 'devise.mailer.two_factor_recovery_codes_changed.explanation' %>
+
+=> <%= edit_user_registration_url %>
diff --git a/app/views/user_mailer/warning.html.haml b/app/views/user_mailer/warning.html.haml
index 72ea5e5d2..5a2911ecb 100644
--- a/app/views/user_mailer/warning.html.haml
+++ b/app/views/user_mailer/warning.html.haml
@@ -42,6 +42,14 @@
- unless @warning.text.blank?
= Formatter.instance.linkify(@warning.text)
+ - if !@statuses.nil? && !@statuses.empty?
+ %p
+ %strong= t('user_mailer.warning.statuses')
+
+- if !@statuses.nil? && !@statuses.empty?
+ - @statuses.each_with_index do |status, i|
+ = render 'notification_mailer/status', status: status, i: i + 1, highlighted: true
+
%table.email-table{ cellspacing: 0, cellpadding: 0 }
%tbody
%tr
@@ -50,7 +58,7 @@
%table.content-section{ cellspacing: 0, cellpadding: 0 }
%tbody
%tr
- %td.content-cell
+ %td.content-cell{ class: @statuses.nil? || @statuses.empty? ? '' : 'content-start' }
%table.column{ cellspacing: 0, cellpadding: 0 }
%tbody
%tr
@@ -61,3 +69,20 @@
%td.button-primary
= link_to about_more_url do
%span= t 'user_mailer.warning.review_server_policies'
+
+%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
+ .email-row
+ .col-6
+ %table.column{ cellspacing: 0, cellpadding: 0 }
+ %tbody
+ %tr
+ %td.column-cell.text-center
+ %p= t 'user_mailer.warning.get_in_touch', instance: @instance
diff --git a/app/views/user_mailer/warning.text.erb b/app/views/user_mailer/warning.text.erb
index b4f2402cb..bb6610c79 100644
--- a/app/views/user_mailer/warning.text.erb
+++ b/app/views/user_mailer/warning.text.erb
@@ -7,3 +7,16 @@
<% end %>
<%= @warning.text %>
+<% if !@statuses.nil? && !@statuses.empty? %>
+<%= t('user_mailer.warning.statuses') %>
+
+<% @statuses.each do |status| %>
+
+<%= render 'notification_mailer/status', status: status %>
+---
+<% end %>
+<% else %>
+---
+<% end %>
+
+<%= t 'user_mailer.warning.get_in_touch', instance: @instance %>
diff --git a/app/workers/activitypub/move_distribution_worker.rb b/app/workers/activitypub/move_distribution_worker.rb
new file mode 100644
index 000000000..bf1c0e7ae
--- /dev/null
+++ b/app/workers/activitypub/move_distribution_worker.rb
@@ -0,0 +1,33 @@
+# frozen_string_literal: true
+
+class ActivityPub::MoveDistributionWorker
+ include Sidekiq::Worker
+ include Payloadable
+
+ sidekiq_options queue: 'push'
+
+ def perform(migration_id)
+ @migration = AccountMigration.find(migration_id)
+ @account = @migration.account
+
+ ActivityPub::DeliveryWorker.push_bulk(inboxes) do |inbox_url|
+ [signed_payload, @account.id, inbox_url]
+ end
+
+ ActivityPub::DeliveryWorker.push_bulk(Relay.enabled.pluck(:inbox_url)) do |inbox_url|
+ [signed_payload, @account.id, inbox_url]
+ end
+ rescue ActiveRecord::RecordNotFound
+ true
+ end
+
+ private
+
+ def inboxes
+ @inboxes ||= @migration.account.followers.inboxes
+ end
+
+ def signed_payload
+ @signed_payload ||= Oj.dump(serialize_payload(@migration, ActivityPub::MoveSerializer, signer: @account))
+ end
+end
diff --git a/app/workers/admin/suspension_worker.rb b/app/workers/admin/suspension_worker.rb
index ae8b24d8c..83c815efd 100644
--- a/app/workers/admin/suspension_worker.rb
+++ b/app/workers/admin/suspension_worker.rb
@@ -6,6 +6,6 @@ class Admin::SuspensionWorker
sidekiq_options queue: 'pull'
def perform(account_id, remove_user = false)
- SuspendAccountService.new.call(Account.find(account_id), including_user: remove_user)
+ SuspendAccountService.new.call(Account.find(account_id), reserve_username: true, reserve_email: !remove_user)
end
end
diff --git a/app/workers/maintenance/destroy_media_worker.rb b/app/workers/maintenance/destroy_media_worker.rb
deleted file mode 100644
index cde33d6d7..000000000
--- a/app/workers/maintenance/destroy_media_worker.rb
+++ /dev/null
@@ -1,14 +0,0 @@
-# frozen_string_literal: true
-
-class Maintenance::DestroyMediaWorker
- include Sidekiq::Worker
-
- sidekiq_options queue: 'pull'
-
- def perform(media_attachment_id)
- media = media_attachment_id.is_a?(MediaAttachment) ? media_attachment_id : MediaAttachment.find(media_attachment_id)
- media.destroy
- rescue ActiveRecord::RecordNotFound
- true
- end
-end
diff --git a/app/workers/maintenance/redownload_account_media_worker.rb b/app/workers/maintenance/redownload_account_media_worker.rb
deleted file mode 100644
index 6afbe6e19..000000000
--- a/app/workers/maintenance/redownload_account_media_worker.rb
+++ /dev/null
@@ -1,16 +0,0 @@
-# frozen_string_literal: true
-
-class Maintenance::RedownloadAccountMediaWorker
- include Sidekiq::Worker
-
- sidekiq_options queue: 'pull', retry: false
-
- def perform(account_id)
- account = account_id.is_a?(Account) ? account_id : Account.find(account_id)
- account.reset_avatar!
- account.reset_header!
- account.save
- rescue ActiveRecord::RecordNotFound
- true
- end
-end
diff --git a/app/workers/maintenance/uncache_media_worker.rb b/app/workers/maintenance/uncache_media_worker.rb
deleted file mode 100644
index 4bc62ef75..000000000
--- a/app/workers/maintenance/uncache_media_worker.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-class Maintenance::UncacheMediaWorker
- include Sidekiq::Worker
-
- sidekiq_options queue: 'pull'
-
- def perform(media_attachment_id)
- media = media_attachment_id.is_a?(MediaAttachment) ? media_attachment_id : MediaAttachment.find(media_attachment_id)
-
- return if media.file.blank?
-
- media.file.destroy
- media.save
- rescue ActiveRecord::RecordNotFound
- true
- end
-end
diff --git a/app/workers/maintenance/uncache_preview_worker.rb b/app/workers/maintenance/uncache_preview_worker.rb
deleted file mode 100644
index 810ffd8cc..000000000
--- a/app/workers/maintenance/uncache_preview_worker.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-class Maintenance::UncachePreviewWorker
- include Sidekiq::Worker
-
- sidekiq_options queue: 'pull'
-
- def perform(preview_card_id)
- preview_card = PreviewCard.find(preview_card_id)
-
- return if preview_card.image.blank?
-
- preview_card.image.destroy
- preview_card.save
- rescue ActiveRecord::RecordNotFound
- true
- end
-end
diff --git a/app/workers/redownload_media_worker.rb b/app/workers/redownload_media_worker.rb
new file mode 100644
index 000000000..98e995918
--- /dev/null
+++ b/app/workers/redownload_media_worker.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+class RedownloadMediaWorker
+ include Sidekiq::Worker
+ include ExponentialBackoff
+
+ sidekiq_options queue: 'pull', retry: 3
+
+ def perform(id)
+ media_attachment = MediaAttachment.find(id)
+
+ return if media_attachment.remote_url.blank?
+
+ media_attachment.reset_file!
+ media_attachment.save
+ rescue ActiveRecord::RecordNotFound
+ true
+ end
+end
diff --git a/app/workers/removal_worker.rb b/app/workers/removal_worker.rb
index 19a660dd3..2a1eaa89b 100644
--- a/app/workers/removal_worker.rb
+++ b/app/workers/removal_worker.rb
@@ -3,8 +3,8 @@
class RemovalWorker
include Sidekiq::Worker
- def perform(status_id)
- RemoveStatusService.new.call(Status.find(status_id))
+ def perform(status_id, options = {})
+ RemoveStatusService.new.call(Status.with_discarded.find(status_id), **options.symbolize_keys)
rescue ActiveRecord::RecordNotFound
true
end
diff --git a/app/workers/scheduler/ip_cleanup_scheduler.rb b/app/workers/scheduler/ip_cleanup_scheduler.rb
index 42620332e..4f44078d8 100644
--- a/app/workers/scheduler/ip_cleanup_scheduler.rb
+++ b/app/workers/scheduler/ip_cleanup_scheduler.rb
@@ -9,7 +9,7 @@ class Scheduler::IpCleanupScheduler
def perform
time_ago = RETENTION_PERIOD.ago
- SessionActivation.where('updated_at < ?', time_ago).destroy_all
- User.where('last_sign_in_at < ?', time_ago).update_all(last_sign_in_ip: nil)
+ SessionActivation.where('updated_at < ?', time_ago).in_batches.destroy_all
+ User.where('last_sign_in_at < ?', time_ago).where.not(last_sign_in_ip: nil).in_batches.update_all(last_sign_in_ip: nil)
end
end
diff --git a/app/workers/scheduler/trending_tags_scheduler.rb b/app/workers/scheduler/trending_tags_scheduler.rb
new file mode 100644
index 000000000..77f0d5747
--- /dev/null
+++ b/app/workers/scheduler/trending_tags_scheduler.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+class Scheduler::TrendingTagsScheduler
+ include Sidekiq::Worker
+
+ sidekiq_options unique: :until_executed, retry: 0
+
+ def perform
+ TrendingTags.update! if Setting.trends
+ end
+end
diff --git a/app/workers/unfollow_follow_worker.rb b/app/workers/unfollow_follow_worker.rb
index 50d3bf034..95549e107 100644
--- a/app/workers/unfollow_follow_worker.rb
+++ b/app/workers/unfollow_follow_worker.rb
@@ -11,7 +11,7 @@ class UnfollowFollowWorker
new_target_account = Account.find(new_target_account_id)
FollowService.new.call(follower_account, new_target_account)
- UnfollowService.new.call(follower_account, old_target_account)
+ UnfollowService.new.call(follower_account, old_target_account, skip_unmerge: true)
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
true
end
diff --git a/app/workers/web/push_notification_worker.rb b/app/workers/web/push_notification_worker.rb
index 901043975..46aeaa30b 100644
--- a/app/workers/web/push_notification_worker.rb
+++ b/app/workers/web/push_notification_worker.rb
@@ -11,7 +11,13 @@ class Web::PushNotificationWorker
subscription.push(notification) unless notification.activity.nil?
rescue Webpush::ResponseError => e
- subscription.destroy! if (400..499).cover?(e.response.code.to_i)
+ code = e.response.code.to_i
+
+ if (400..499).cover?(code) && ![408, 429].include?(code)
+ subscription.destroy!
+ else
+ raise e
+ end
rescue ActiveRecord::RecordNotFound
true
end
diff --git a/config/application.rb b/config/application.rb
index f49deffbb..5fd37120d 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -76,7 +76,7 @@ module Mastodon
:no,
:oc,
:pl,
- :pt,
+ :'pt-PT',
:'pt-BR',
:ro,
:ru,
diff --git a/config/deploy.rb b/config/deploy.rb
index f0db50788..c4133e794 100644
--- a/config/deploy.rb
+++ b/config/deploy.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-lock '3.11.0'
+lock '3.11.1'
set :repo_url, ENV.fetch('REPO', 'https://github.com/tootsuite/mastodon.git')
set :branch, ENV.fetch('BRANCH', 'master')
diff --git a/config/environments/production.rb b/config/environments/production.rb
index 70baa6ad1..29d6194dd 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -71,13 +71,22 @@ Rails.application.configure do
# Better log formatting
config.lograge.enabled = true
+ config.lograge.custom_payload do |controller|
+ if controller.respond_to?(:signed_request?) && controller.signed_request?
+ { key: controller.signature_key_id }
+ end
+ end
+
# Do not dump schema after migrations.
config.active_record.dump_schema_after_migration = false
config.action_mailer.perform_caching = false
# E-mails
- config.action_mailer.default_options = { from: ENV.fetch('SMTP_FROM_ADDRESS', 'notifications@localhost') }
+ config.action_mailer.default_options = {
+ from: ENV.fetch('SMTP_FROM_ADDRESS', 'notifications@localhost'),
+ reply_to: ENV['SMTP_REPLY_TO']
+ }
config.action_mailer.smtp_settings = {
:port => ENV['SMTP_PORT'],
diff --git a/config/initializers/active_model_serializers.rb b/config/initializers/active_model_serializers.rb
index 329a5fb2c..0e69e1d96 100644
--- a/config/initializers/active_model_serializers.rb
+++ b/config/initializers/active_model_serializers.rb
@@ -3,22 +3,3 @@ ActiveModelSerializers.config.tap do |config|
end
ActiveSupport::Notifications.unsubscribe(ActiveModelSerializers::Logging::RENDER_EVENT)
-
-class ActiveModel::Serializer::Reflection
- # We monkey-patch this method so that when we include associations in a serializer,
- # the nested serializers can send information about used contexts upwards back to
- # the root. We do this via instance_options because the nesting can be dynamic.
- def build_association(parent_serializer, parent_serializer_options, include_slice = {})
- serializer = options[:serializer]
-
- parent_serializer_options.merge!(named_contexts: serializer._named_contexts, context_extensions: serializer._context_extensions) if serializer.respond_to?(:_named_contexts)
-
- association_options = {
- parent_serializer: parent_serializer,
- parent_serializer_options: parent_serializer_options,
- include_slice: include_slice,
- }
-
- ActiveModel::Serializer::Association.new(self, association_options)
- end
-end
diff --git a/config/initializers/content_security_policy.rb b/config/initializers/content_security_policy.rb
index 2dbc15a8d..af7d16aaf 100644
--- a/config/initializers/content_security_policy.rb
+++ b/config/initializers/content_security_policy.rb
@@ -31,10 +31,12 @@ Rails.application.config.content_security_policy do |p|
webpacker_urls = %w(ws http).map { |protocol| "#{protocol}#{Webpacker.dev_server.https? ? 's' : ''}://#{Webpacker.dev_server.host_with_port}" }
p.connect_src :self, :data, :blob, assets_host, media_host, Rails.configuration.x.streaming_api_base_url, *webpacker_urls
- p.script_src :self, :blob, :unsafe_inline, :unsafe_eval, assets_host
+ p.script_src :self, :unsafe_inline, :unsafe_eval, assets_host
+ p.worker_src :self, :blob, assets_host
else
p.connect_src :self, :data, :blob, assets_host, media_host, Rails.configuration.x.streaming_api_base_url
- p.script_src :self, :blob, assets_host
+ p.script_src :self, assets_host
+ p.worker_src :self, :blob, assets_host
end
end
diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb
index cd9bacf68..311583820 100644
--- a/config/initializers/devise.rb
+++ b/config/initializers/devise.rb
@@ -71,10 +71,13 @@ end
Devise.setup do |config|
config.warden do |manager|
+ manager.default_strategies(scope: :user).unshift :database_authenticatable
manager.default_strategies(scope: :user).unshift :ldap_authenticatable if Devise.ldap_authentication
manager.default_strategies(scope: :user).unshift :pam_authenticatable if Devise.pam_authentication
- manager.default_strategies(scope: :user).unshift :two_factor_authenticatable
- manager.default_strategies(scope: :user).unshift :two_factor_backupable
+
+ # We handle 2FA in our own sessions controller so this gets in the way
+ manager.default_strategies(scope: :user).delete :two_factor_backupable
+ manager.default_strategies(scope: :user).delete :two_factor_authenticatable
end
# The secret key used by Devise. Devise uses this key to generate
diff --git a/config/initializers/health_check.rb b/config/initializers/health_check.rb
new file mode 100644
index 000000000..eece67b10
--- /dev/null
+++ b/config/initializers/health_check.rb
@@ -0,0 +1,6 @@
+HealthCheck.setup do |config|
+ config.uri = 'health'
+
+ config.standard_checks = %w(database migrations cache)
+ config.full_checks = %w(database migrations cache)
+end
diff --git a/config/initializers/rack_attack.rb b/config/initializers/rack_attack.rb
index 24ba16ae3..273cac9ca 100644
--- a/config/initializers/rack_attack.rb
+++ b/config/initializers/rack_attack.rb
@@ -65,7 +65,7 @@ class Rack::Attack
req.authenticated_user_id if req.post? && req.path.start_with?('/api/v1/media')
end
- throttle('throttle_media_proxy', limit: 30, period: 30.minutes) do |req|
+ throttle('throttle_media_proxy', limit: 30, period: 10.minutes) do |req|
req.remote_ip if req.path.start_with?('/media_proxy')
end
diff --git a/config/locales/activerecord.bg.yml b/config/locales/activerecord.bg.yml
index d0e375da9..a1f60b45a 100644
--- a/config/locales/activerecord.bg.yml
+++ b/config/locales/activerecord.bg.yml
@@ -1 +1,7 @@
+---
bg:
+ activerecord:
+ attributes:
+ poll:
+ expires_at: Краен срок
+ options: Избори
diff --git a/config/locales/activerecord.br.yml b/config/locales/activerecord.br.yml
new file mode 100644
index 000000000..77fc4f2a1
--- /dev/null
+++ b/config/locales/activerecord.br.yml
@@ -0,0 +1,13 @@
+---
+br:
+ activerecord:
+ attributes:
+ poll:
+ expires_at: Deiziad termen
+ options: Dibaboù
+ errors:
+ models:
+ account:
+ attributes:
+ username:
+ invalid: nemet lizherennoù, niverennoù ha isbarrennigoù
diff --git a/config/locales/activerecord.da.yml b/config/locales/activerecord.da.yml
index 5e7266ef1..e7367a4af 100644
--- a/config/locales/activerecord.da.yml
+++ b/config/locales/activerecord.da.yml
@@ -1,6 +1,10 @@
---
da:
activerecord:
+ attributes:
+ poll:
+ expires_at: Deadline
+ options: Valgmuligheder
errors:
models:
account:
diff --git a/config/locales/activerecord.et.yml b/config/locales/activerecord.et.yml
new file mode 100644
index 000000000..5679a91fe
--- /dev/null
+++ b/config/locales/activerecord.et.yml
@@ -0,0 +1,17 @@
+---
+et:
+ activerecord:
+ attributes:
+ poll:
+ expires_at: Tähtaeg
+ options: Valikud
+ errors:
+ models:
+ account:
+ attributes:
+ username:
+ invalid: ainult tähtmärgid, numbrid ja alakriipsud
+ status:
+ attributes:
+ reblog:
+ taken: staatusel juba eksisteerib
diff --git a/config/locales/activerecord.hu.yml b/config/locales/activerecord.hu.yml
index bbc18bc33..ca5fbacb4 100644
--- a/config/locales/activerecord.hu.yml
+++ b/config/locales/activerecord.hu.yml
@@ -11,3 +11,7 @@ hu:
attributes:
username:
invalid: csak betűk, számok vagy alávonás
+ status:
+ attributes:
+ reblog:
+ taken: már létezik ehhez a bejegyzéshez
diff --git a/config/locales/activerecord.nn.yml b/config/locales/activerecord.nn.yml
new file mode 100644
index 000000000..777f4e600
--- /dev/null
+++ b/config/locales/activerecord.nn.yml
@@ -0,0 +1 @@
+nn:
diff --git a/config/locales/activerecord.pt.yml b/config/locales/activerecord.pt.yml
deleted file mode 100644
index 556fcfc4f..000000000
--- a/config/locales/activerecord.pt.yml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-pt:
- activerecord:
- errors:
- models:
- account:
- attributes:
- username:
- invalid: apenas letras, números e underscores
- status:
- attributes:
- reblog:
- taken: do status já existe
diff --git a/config/locales/activerecord.tr.yml b/config/locales/activerecord.tr.yml
index 1cc2d9876..8ce55599c 100644
--- a/config/locales/activerecord.tr.yml
+++ b/config/locales/activerecord.tr.yml
@@ -1,6 +1,10 @@
---
tr:
activerecord:
+ attributes:
+ poll:
+ expires_at: Son Teslim Tarihi
+ options: Seçenekler
errors:
models:
account:
diff --git a/config/locales/activerecord.uk.yml b/config/locales/activerecord.uk.yml
index 00b2b8d8b..ffbf59346 100644
--- a/config/locales/activerecord.uk.yml
+++ b/config/locales/activerecord.uk.yml
@@ -1,12 +1,16 @@
---
uk:
activerecord:
+ attributes:
+ poll:
+ expires_at: Кінцевий термін
+ options: Варіанти вибору
errors:
models:
account:
attributes:
username:
- invalid: тільки букви, цифри та нижні підкреслювання
+ invalid: тільки літери, цифри та підкреслення
status:
attributes:
reblog:
diff --git a/config/locales/ar.yml b/config/locales/ar.yml
index e48ee89c5..e47bc6871 100644
--- a/config/locales/ar.yml
+++ b/config/locales/ar.yml
@@ -5,17 +5,19 @@ ar:
about_mastodon_html: ماستدون شبكة اجتماعية مبنية على أسُس بروتوكولات برمجيات الويب الحرة و مفتوحة المصدر. و هو لامركزي تمامًا كالبريد الإلكتروني.
about_this: عن مثيل الخادوم هذا
active_count_after: نشط
+ active_footnote: مستخدم نشيط شهريا (MAU)
administered_by: 'يُديره:'
api: واجهة برمجة التطبيقات
apps: تطبيقات الأجهزة المحمولة
+ apps_platforms: إستخدم ماستودون في iOS، أندرويد وأنظمة أخرى
+ browse_directory: تصفح دليل المستخدمين وافرز بالمصالح
+ browse_public_posts: تصفح تيارًا مباشرًا مِن منشورات عامة على ماستدون
contact: للتواصل معنا
contact_missing: لم يتم تعيينه
contact_unavailable: غير متوفر
discover_users: اكتشف مستخدِمين
documentation: الدليل
- extended_description_html: |
-
مكان جيد للقواعد
-
لم يتم بعد إدخال الوصف الطويل.
+ federation_hint_html: بواسطة حساب في %{instance} ستتمكن من تتبع أناس في أي خادم ماستدون وأكثر.
generic_description: "%{domain} هو سيرفر من بين سيرفرات الشبكة"
get_apps: جرّب تطبيقا على الموبايل
hosted_on: ماستدون مُستضاف على %{domain}
@@ -60,6 +62,7 @@ ar:
media: الوسائط
moved_html: "%{name} إنتقلَ إلى %{new_profile_link}:"
network_hidden: إنّ المعطيات غير متوفرة
+ never_active: أبدا
nothing_here: لا يوجد أي شيء هنا!
people_followed_by: الأشخاص الذين يتبعهم %{name}
people_who_follow: الأشخاص الذين يتبعون %{name}
@@ -194,6 +197,7 @@ ar:
username: اسم المستخدم
warn: تحذير
web: الويب
+ whitelisted: في القائمة البيضاء
action_logs:
actions:
assigned_to_self_report: قام %{name} بتعيين التقرير %{target} لأنفسهم
@@ -233,6 +237,7 @@ ar:
copied_msg: تم إنشاء نسخة محلية للإيموجي بنجاح
copy: نسخ
copy_failed_msg: فشلت عملية إنشاء نسخة محلية لهذا الإيموجي
+ create_new_category: انشئ فئة جديدة
created_msg: تم إنشاء الإيموجي بنجاح!
delete: حذف
destroyed_msg: تمت عملية تدمير الإيموجي بنجاح!
@@ -249,6 +254,7 @@ ar:
shortcode: الترميز المُصَغّر
shortcode_hint: على الأقل حرفين، و فقط رموز أبجدية عددية و أسطر سفلية
title: الإيموجي الخاصة
+ uncategorized: غير مصنّف
unlisted: غير مدرج
update_failed_msg: تعذرت عملية تحديث ذاك الإيموجي
updated_msg: تم تحديث الإيموجي بنجاح!
@@ -261,10 +267,13 @@ ar:
feature_profile_directory: دليل الحسابات
feature_registrations: التسجيلات
feature_relay: المُرحّل الفديرالي
+ feature_spam_check: مكافح البريد المزعج
feature_timeline_preview: معاينة الخيط الزمني
features: الميّزات
hidden_service: الفيديرالية مع الخدمات الخفية
open_reports: فتح الشكاوى
+ pending_tags: وسوم في انتظار المراجعة
+ pending_users: مستخدمين في انتظار مراجعة
recent_users: أحدث المستخدِمين
search: البحث النصي الكامل
single_user_mode: وضع المستخدِم الأوحد
@@ -290,6 +299,7 @@ ar:
silence: كتم
suspend: تعليق
title: حجب نطاق جديد
+ private_comment: تعليق خاص
reject_media: رفض ملفات الوسائط
reject_media_hint: يزيل ملفات الوسائط المخزنة محليًا ويرفض تنزيل أي ملفات في المستقبل. غير ذي صلة للتعليق
reject_reports: رفض التقارير
@@ -337,6 +347,7 @@ ar:
all: كافتها
limited: محدود
title: الإشراف
+ private_comment: تعليق خاص
title: الفديرالية
total_blocked_by_us: المحجوبة مِن طرفنا
total_followed_by_them: يُتابِعونها
@@ -413,6 +424,8 @@ ar:
custom_css:
desc_html: يقوم بتغيير المظهر بواسطة سي أس أس يُحمَّل على كافة الصفحات
title: سي أس أس مخصص
+ domain_blocks:
+ all: للجميع
hero:
desc_html: معروض على الصفحة الأولى. لا يقل عن 600 × 100 بكسل. عند عدم التعيين ، تعود الصورة إلى النسخة المصغرة على سبيل المثال
title: الصورة الرأسية
@@ -437,6 +450,7 @@ ar:
title: المستخدِمون المصرح لهم لإرسال الدعوات
registrations_mode:
modes:
+ approved: طلب الموافقة لازم عند إنشاء حساب
none: لا أحد يمكنه إنشاء حساب
open: يمكن للجميع إنشاء حساب
title: طريقة إنشاء الحسابات
@@ -465,12 +479,15 @@ ar:
desc_html: عرض الخيط العمومي على صفحة الاستقبال
title: مُعاينة الخيط العام
title: إعدادات الموقع
+ trends:
+ title: الوسوم المتداولة
statuses:
back_to_account: العودة إلى صفحة الحساب
batch:
delete: حذف
nsfw_off: تعيينه كمنشور غير حساس
nsfw_on: تعيينه كمنشور حساس
+ deleted: محذوف
failed_to_execute: خطأ في التفعيل
media:
title: الوسائط
@@ -479,13 +496,13 @@ ar:
title: منشورات الحساب
with_media: تحتوي على وسائط
tags:
- accounts: الحسابات
- hidden: المخفية
- hide: الإخفاء عن سجل الحسابات
- name: الوسم
+ context: السياق
+ in_directory: "%{count} في سجل حسابات المستخدمين"
title: الوسوم
- unhide: إظهاره في سجل حسابات المستخدمين
- visible: ظاهر
+ trending_right_now: متداول اللحظة
+ unique_uses_today: "%{count} منشورات اليوم"
+ unreviewed: غير مُراجَع
+ updated_msg: تم تحديث إعدادات الوسوم بنجاح
title: الإدارة
warning_presets:
add_new: إضافة واحد جديد
@@ -502,7 +519,9 @@ ar:
subject: تقرير جديد ل%{instance} (#%{id})
appearance:
advanced_web_interface: واجهة الويب المتقدمة
+ animations_and_accessibility: الإتاحة والحركة
confirmation_dialogs: نوافذ التأكيد
+ discovery: استكشاف
sensitive_content: محتوى حساس
application_mailer:
notification_preferences: تعديل خيارات البريد الإلكتروني
@@ -522,9 +541,11 @@ ar:
apply_for_account: اطلب دعوة
change_password: الكلمة السرية
checkbox_agreement_html: أوافق على قواعد الخادم و شروط الخدمة
- confirm_email: تأكيد عنوان البريد الإلكتروني
+ checkbox_agreement_without_rules_html: أوافق على شروط الخدمة
delete_account: حذف حساب
delete_account_html: إن كنت ترغب في حذف حسابك يُمكنك المواصلة هنا. سوف يُطلَبُ منك التأكيد قبل الحذف.
+ description:
+ prefix_sign_up: أنشئ حسابًا على ماستدون اليوم!
didnt_get_confirmation: لم تتلق تعليمات التأكيد ؟
forgot_password: نسيت كلمة المرور ؟
invalid_reset_password_token: رمز إعادة تعيين كلمة المرور غير صالح أو منتهي الصلاحية. يرجى طلب واحد جديد.
@@ -542,6 +563,11 @@ ar:
reset_password: إعادة تعيين كلمة المرور
security: الأمان
set_new_password: إدخال كلمة مرور جديدة
+ setup:
+ title: الضبط
+ status:
+ account_status: حالة الحساب
+ functional: حسابك جاهز.
trouble_logging_in: هل صادفتكم مشكلة في الولوج؟
authorize_follow:
already_following: أنت تتابع بالفعل هذا الحساب
@@ -569,26 +595,20 @@ ar:
x_months: "%{count} شه"
x_seconds: "%{count}ث"
deletes:
- bad_password_msg: محاولة جيدة يا هاكرز! كلمة السر خاطئة
confirm_password: قم بإدخال كلمتك السرية الحالية للتحقق من هويتك
proceed: حذف حساب
success_msg: تم حذف حسابك بنجاح
- warning_title: توافر المحتوى المنشور و المبعثَر
directories:
directory: سِجلّ الحسابات
- enabled: إنّ حسابك الآن ضمن فهرس المستخدِمين.
explanation: استكشف مستخدِمين آخرين حسب المواضيع التي تهمهم
explore_mastodon: استكشف %{title}
- people:
- few: "%{count} شخص"
- many: "%{count} شخص"
- one: "%{count} شخص"
- other: "%{count} شخص"
- two: "%{count} شخص"
- zero: "%{count} شخص"
+ domain_validator:
+ invalid_domain: ليس بإسم نطاق صالح
errors:
+ '400': The request you submitted was invalid or malformed.
'403': ليس لك الصلاحيات الكافية لعرض هذه الصفحة.
'404': إنّ الصفحة التي تبحث عنها لا وجود لها أصلا.
+ '406': This page is not available in the requested format.
'410': إنّ الصفحة التي تبحث عنها لم تعد موجودة.
'422':
content: فشل التحقق الآمن. ربما منعتَ كعكات الكوكيز؟
@@ -597,6 +617,7 @@ ar:
'500':
content: نحن متأسفون، لقد حدث خطأ ما مِن جانبنا.
title: هذه الصفحة خاطئة
+ '503': The page could not be served due to a temporary server failure.
noscript_html: يرجى تفعيل الجافا سكريبت لاستخدام تطبيق الويب لماستدون، أو عِوض ذلك قوموا بتجريب إحدى التطبيقات الأصلية الدّاعمة لماستدون على منصّتكم.
existing_username_validator:
not_found_multiple: تعذر العثور على %{usernames}
@@ -637,6 +658,7 @@ ar:
developers: المطورون
more: المزيد…
resources: الموارد
+ trending_now: المتداولة الآن
generic:
all: الكل
changes_saved_msg: تم حفظ التعديلات بنجاح!
@@ -711,9 +733,6 @@ ar:
too_many: لا يمكن إرفاق أكثر من 4 ملفات
migrations:
acct: username@domain للحساب الجديد
- currently_redirecting: 'تم تحويل رابط ملفك الشخصي إلى:'
- proceed: حفظ
- updated_msg: تم تحديث إعدادات ترحيل حسابك بنجاح!
moderation:
title: الإشراف
notification_mailer:
@@ -778,6 +797,7 @@ ar:
errors:
already_voted: لقد قمت بالتصويت على استطلاع الرأي هذا مِن قبل
duplicate_options: يحتوي على عناصر مكررة
+ duration_too_long: بعيد جدا في المستقبَل
duration_too_short: مبكّر جدا
expired: لقد انتهى استطلاع الرأي
preferences:
@@ -790,6 +810,7 @@ ar:
last_active: آخر نشاط
most_recent: الأحدث
moved: هاجر
+ mutual: متبادل
primary: رئيسي
relationship: العلاقة
remove_selected_domains: احذف كافة المتابِعين القادمين مِن النطاقات المختارة
@@ -951,6 +972,7 @@ ar:
title: المغادرة بأرشيف الحساب
warning:
review_server_policies: مراجعة شروط السيرفر
+ statuses: 'خصيصا لـ:'
subject:
disable: تم تجميد حسابك %{acct}
none: تحذير إلى %{acct}
@@ -958,6 +980,7 @@ ar:
title:
disable: الحساب مُجمَّد
none: تحذير
+ silence: الحساب محدود
suspend: الحساب مُعلَّق
welcome:
edit_profile_action: تهيئة الملف الشخصي
diff --git a/config/locales/ast.yml b/config/locales/ast.yml
index 30390c163..ed8aef235 100644
--- a/config/locales/ast.yml
+++ b/config/locales/ast.yml
@@ -8,9 +8,6 @@ ast:
contact_missing: Nun s'afitó
contact_unavailable: N/D
documentation: Documentación
- extended_description_html: |
-
Un llugar bonu pa les regles
-
Entá nun se configuró la descripción estendida.
hosted_on: Mastodon ta agospiáu en %{domain}
learn_more: Deprendi más
source_code: Códigu fonte
@@ -131,21 +128,19 @@ ast:
half_a_minute: Púramente agora
less_than_x_seconds: Púramente agora
deletes:
- bad_password_msg: "¡Bon intentu, crackers! Contraseña incorreuta"
confirm_password: Introduz la contraseña pa verificar la to identidá
- directories:
- people:
- one: "%{count} persona"
- other: "%{count} persones"
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Nun tienes permisu pa ver esta páxina.
'404': La páxina que tabes guetando nun esiste.
+ '406': This page is not available in the requested format.
'410': La páxina que tabes guetando yá nun esiste.
'422':
content: Falló la verificación de seguranza. ¿Tas bloquiando les cookies?
title: Falló la verificación de seguranza
'429': Ficiéronse milenta solicitúes
'500':
+ '503': The page could not be served due to a temporary server failure.
exports:
archive_takeout:
date: Data
@@ -201,7 +196,6 @@ ast:
too_many: Nun puen axuntase más de 4 ficheros
migrations:
acct: nome_usuariu@dominiu de la cuenta nueva
- proceed: Guardar
notification_mailer:
digest:
body: Equí hai un resume de los mensaxes que nun viesti dende la última visita'l %{since}
diff --git a/config/locales/bg.yml b/config/locales/bg.yml
index e11340542..85431bc8d 100644
--- a/config/locales/bg.yml
+++ b/config/locales/bg.yml
@@ -48,12 +48,15 @@ bg:
x_months: "%{count} м"
x_seconds: "%{count} сек"
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': Throttled
'500':
+ '503': The page could not be served due to a temporary server failure.
exports:
blocks: Вашите блокирания
follows: Вашите следвания
diff --git a/config/locales/bn.yml b/config/locales/bn.yml
index b3eb0bd62..1da7aac53 100644
--- a/config/locales/bn.yml
+++ b/config/locales/bn.yml
@@ -17,9 +17,6 @@ bn:
contact_unavailable: প্রযোজ্য নয়
discover_users: ব্যবহারকারীদের দেখুন
documentation: ব্যবহারবিলি
- extended_description_html: |
-
নিয়মের জন্য উপযুক্ত জায়গা
-
বিস্তারিত বিবরণ এখনো যুক্ত করা হয়নি
federation_hint_html: "%{instance}তে একটা নিবন্ধন থাকলে আপনি যেকোনো মাস্টাডন বা এধরণের অন্যান্য সার্ভারের মানুষের সাথে যুক্ত হতে পারবেন ।"
generic_description: নেটওয়ার্কের ভেতরে %{domain} একটি সার্ভার
get_apps: মোবাইল এপ্প একটা ব্যবহার করতে পারেন
@@ -140,12 +137,15 @@ bn:
pending: পয্র্যবেক্ষণের অপেক্ষায় আছে
perform_full_suspension: বাতিল করা
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': Throttled
'500':
+ '503': The page could not be served due to a temporary server failure.
invites:
expires_in:
'1800': 30 minutes
diff --git a/config/locales/br.yml b/config/locales/br.yml
new file mode 100644
index 000000000..3710084e7
--- /dev/null
+++ b/config/locales/br.yml
@@ -0,0 +1,20 @@
+---
+br:
+ 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': Throttled
+ '500':
+ '503': The page could not be served due to a temporary server failure.
+ invites:
+ expires_in:
+ '1800': 30 minutes
+ '21600': 6 hours
+ '3600': 1 hour
+ '43200': 12 hours
+ '604800': 1 week
+ '86400': 1 day
diff --git a/config/locales/ca.yml b/config/locales/ca.yml
index d05406ebb..eb2bfc96d 100644
--- a/config/locales/ca.yml
+++ b/config/locales/ca.yml
@@ -17,13 +17,13 @@ ca:
contact_unavailable: N/D
discover_users: Descobreix usuaris
documentation: Documentació
- extended_description_html: |
-
Un bon lloc per les regles
-
Encara no s'ha configurat la descripció ampliada.
federation_hint_html: Amb un compte de %{instance} podràs seguir persones de qualsevol servidor Mastodon i altres.
generic_description: "%{domain} és un servidor a la xarxa"
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: Més informació
privacy_policy: Política de privacitat
see_whats_happening: Mira què està passant
@@ -42,6 +42,8 @@ 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í.
+ featured_tags_hint: Pots presentar etiquetes específiques que seràn mostrades aquí.
follow: Segueix
followers:
one: Seguidor
@@ -183,6 +185,7 @@ ca:
username: Nom d'usuari
warn: Avís
web: Web
+ whitelisted: Llista blanca
action_logs:
actions:
assigned_to_self_report: "%{name} han assignat l'informe %{target} a ells mateixos"
@@ -243,6 +246,7 @@ ca:
updated_msg: Emoji s'ha actualitzat correctament!
upload: Carrega
dashboard:
+ authorized_fetch_mode: Mode d'obtenció autoritzat
backlog: treballs en espera
config: Configuració
feature_deletions: Supressions del compte
@@ -250,10 +254,13 @@ ca:
feature_profile_directory: Directori de perfils
feature_registrations: Registres
feature_relay: Relay de la Federació
+ feature_spam_check: Anti-spam
feature_timeline_preview: Vista previa de línia de temps
features: Característiques
hidden_service: Federació amb serveis ocults
open_reports: informes oberts
+ pending_tags: etiquetes pendents de revisar
+ pending_users: usuaris pendents de revisar
recent_users: Usuaris recents
search: Cerca de text complet
single_user_mode: Mode d'usuari únic
@@ -265,11 +272,18 @@ ca:
week_interactions: interaccions d'aquesta setmana
week_users_active: usuaris actius aquesta setmana
week_users_new: nous usuaris aquest setmana
+ whitelist_mode: Mode llista blanca
+ domain_allows:
+ add_new: Dominis autoritzats
+ created_msg: El domini ha estat correctament autoritzat
+ destroyed_msg: S'ha esborrat el domini de la llista blanca
+ undo: Treure de la llista blanca
domain_blocks:
add_new: Afegir nou bloqueig de domini
created_msg: El bloqueig de domini ara s'està processant
destroyed_msg: El bloqueig de domini s'ha desfet
domain: Domini
+ edit: Editar el bloqueig del domini
existing_domain_block_html: Ja has imposat uns limits més estrictes a %{name}, l'hauries de desbloquejar-lo primer.
new:
create: Crea un bloqueig
@@ -280,6 +294,10 @@ ca:
silence: Silenci
suspend: Suspensió
title: Bloqueig de domini nou
+ private_comment: Comentari privat
+ private_comment_hint: Comentari sobre aquesta limitació del domini per a ús intern dels moderadors.
+ public_comment: Comentari públic
+ public_comment_hint: Comentari pel públic general sobre aquesta limitació del domini, si la publicació de la llista de limitacions de domini està habilitada.
reject_media: Rebutja els fitxers multimèdia
reject_media_hint: Elimina els fitxers multimèdia emmagatzemats localment i impedeix baixar-ne cap en el futur. Irrellevant en les suspensions
reject_reports: Rebutja informes
@@ -299,6 +317,7 @@ ca:
title: Desfés el bloqueig de domini de %{domain}
undo: Desfés
undo: Desfés el bloqueig del domini
+ view: Veure el bloqueig del domini
email_domain_blocks:
add_new: Afegir nou
created_msg: S'ha creat el bloc de domini de correu electrònic
@@ -322,6 +341,8 @@ ca:
all: Totes
limited: Limitades
title: Moderació
+ private_comment: Comentari privat
+ public_comment: Comentari públic
title: Federació
total_blocked_by_us: Bloquejats per nosaltres
total_followed_by_them: Seguits per ells
@@ -399,6 +420,13 @@ ca:
custom_css:
desc_html: Modifica l'aspecte amb CSS carregat a cada pàgina
title: CSS personalitzat
+ domain_blocks:
+ all: Per a tothom
+ disabled: Per a ningú
+ title: Mostra els bloquejos de domini
+ users: Per als usuaris locals en línia
+ domain_blocks_rationale:
+ title: Mostra el raonament
hero:
desc_html: Es mostra en pàgina frontal. Recomanat al menys 600x100px. Si no es configura es mostrarà el del servidor
title: Imatge d’heroi
@@ -449,6 +477,9 @@ ca:
desc_html: Pots escriure la teva pròpia política de privadesa, els termes del servei o d'altres normes legals. Pots utilitzar etiquetes HTML
title: Termes del servei personalitzats
site_title: Nom del servidor
+ spam_check_enabled:
+ desc_html: Mastodon pot auto-silenciar i informar automàticament de comptes basat en mesures com ara la detecció de comptes que envien missatges repetits no sol·licitats. Pot haver-hi falsos positius.
+ title: Anti-spam
thumbnail:
desc_html: S'utilitza per obtenir visualitzacions prèvies a través d'OpenGraph i API. Es recomana 1200x630px
title: Miniatura del servidor
@@ -456,6 +487,9 @@ ca:
desc_html: Mostra la línia de temps pública a la pàgina inicial
title: Vista prèvia de la línia de temps
title: Configuració del lloc
+ trends:
+ desc_html: Mostra públicament les etiquetes revisades anteriorment que actualment estan en tendència
+ title: Etiquetes tendència
statuses:
back_to_account: Torna a la pàgina del compte
batch:
@@ -470,13 +504,19 @@ ca:
title: Estats del compte
with_media: Amb contingut multimèdia
tags:
- accounts: Comptes
- hidden: Amagat
- hide: Ocult del directori
- name: Etiqueta
+ accounts_today: Usos únics actuals
+ accounts_week: Usos únics d'aquesta setmana
+ breakdown: Desglossament de l’ús actual per origen
+ context: Context
+ directory: En el directori
+ in_directory: "%{count} en el directori"
+ review: Revisar l'estat
+ reviewed: Revisades
title: Etiquetes
- unhide: Mostra en el directori
- visible: Visible
+ trending_right_now: Actualment en tendència
+ unique_uses_today: "%{count} publicacions d'avui"
+ unreviewed: Sense revisar
+ updated_msg: Ajustaments d'etiquetes actualitzats amb èxit
title: Administració
warning_presets:
add_new: Afegir nou
@@ -492,11 +532,15 @@ 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_tag:
+ body: 'La etiqueta #%{name} està actualment en tendència però no s''ha revisat prèviament. No es mostrarà públicament tret que ho permetis o guardis el formulari tal com està per a no tornar a escoltar res al respecte.'
+ subject: Nova etiqueta pendent de revisió a %{instance} (#%{name})
appearance:
advanced_web_interface: Interfície web avançada
advanced_web_interface_hint: 'Si vols fer ús de tota l''amplada de la teva pantalla, l''interfície web avançada et permet configurar diverses columnes per a veure molta més informació al mateix temps: Inici, notificacions, línia de temps federada i qualsevol número de llistes i etiquetes.'
animations_and_accessibility: Animacions i accessibilitat
confirmation_dialogs: Diàlegs de confirmació
+ discovery: Descobriment
sensitive_content: Contingut sensible
application_mailer:
notification_preferences: Canvia les preferències de correu
@@ -517,7 +561,7 @@ ca:
apply_for_account: Demana una invitació
change_password: Contrasenya
checkbox_agreement_html: Estic d'acord amb les normes del servidor i els termes del servei
- confirm_email: Confirmar correu electrònic
+ checkbox_agreement_without_rules_html: Acepto els termes del servei
delete_account: Suprimeix el compte
delete_account_html: Si vols suprimir el compte pots fer-ho aquí. Se't demanarà confirmació.
didnt_get_confirmation: No has rebut el correu de confirmació?
@@ -537,6 +581,15 @@ ca:
reset_password: Restableix la contrasenya
security: Seguretat
set_new_password: Estableix una contrasenya nova
+ setup:
+ email_below_hint_html: Si l’adreça de correu electrònic següent és incorrecta, podeu canviar-la aquí i rebre un nou correu electrònic de confirmació.
+ email_settings_hint_html: El correu electrònic de confirmació es va enviar a %{email}. Si aquesta adreça de correu electrònic no és correcta, la podeu canviar a la configuració del compte.
+ title: Configuració
+ status:
+ account_status: Estat del compte
+ confirming: Esperant que es completi la confirmació del correu electrònic.
+ functional: El teu compte és plenament operatiu.
+ pending: La vostra sol·licitud està pendent de revisió pel nostre personal. Això pot trigar una mica. Rebreu un correu electrònic quan sigui aprovada.
trouble_logging_in: Problemes per iniciar la sessió?
authorize_follow:
already_following: Ja estàs seguint aquest compte
@@ -564,26 +617,20 @@ ca:
x_months: "%{count} mesos"
x_seconds: "%{count} s"
deletes:
- bad_password_msg: Bon intent hackers! La contrasenya no és correcta
confirm_password: Introdueix la contrasenya actual per a verificar la identitat
- description_html: Això eliminarà de forma irreversible i permanent el contingut del teu compte i el desactivarà. El teu nom d'usuari romandrà reservat per evitar que algú volgués fer-se passar per tu.
proceed: Suprimeix el compte
success_msg: El compte s'ha eliminat correctament
- warning_html: Només és garantida l'eliminació del contingut d'aquest servidor en particular. El contingut que s'ha compartit àmpliament deixa petjades. Els servidors fora de línia i els que ja no estan subscrits no actualitzaran les seves bases de dades.
- warning_title: Disponibilitat de contingut disseminat
directories:
directory: Directori de perfils
- enabled: Actualment estàs inclòs al directori.
- enabled_but_waiting: Has optat per aparèixer al directori però encara no tens el nombre mínim de seguidors (%{min_followers}) per ser-hi.
explanation: Descobreix usuaris segons els seus interessos
explore_mastodon: Explora %{title}
- how_to_enable: Actualment no tens activat ser al directori. Pots optar-hi a continuació. Utilitza etiquetes en el teu text bio per incloure't sota etiquetes especifiques!
- people:
- one: "%{count} persona"
- other: "%{count} gent"
+ domain_validator:
+ invalid_domain: no es un nom de domini vàlid
errors:
+ '400': The request you submitted was invalid or malformed.
'403': No tens permís per a veure aquesta pàgina.
'404': La pàgina que estàs cercant no és aquí.
+ '406': This page is not available in the requested format.
'410': La pàgina que estàs cercant ja no existeix.
'422':
content: La verificació de seguretat ha fallat. Tens les galetes blocades?
@@ -592,6 +639,7 @@ ca:
'500':
content: Ho sentim, però alguna cosa ha fallat a la nostra banda.
title: Aquesta pàgina no es correcta
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Per a utilitzar Mastodon, activa el JavaScript. També pots provar una de les aplicacions natives de Mastodon per a la vostra plataforma.
existing_username_validator:
not_found: no s'ha pogut trobar cap usuari local amb aquest nom d'usuari
@@ -615,6 +663,7 @@ ca:
add_new: Afegir nova
errors:
limit: Ja has mostrat la quantitat màxima d'etiquetes
+ hint_html: "Què son les etiquetes destacades? Es mostren de manera destacada en el teu perfil públic i permeten a les persones navegar per les teves publicacions amb aquestes etiquetes. Són una gran eina per fer un seguiment de treballs creatius o de projectes a llarg termini."
filters:
contexts:
home: Línia de temps Inici
@@ -635,6 +684,7 @@ ca:
developers: Desenvolupadors
more: Més…
resources: Recursos
+ trending_now: En tendència
generic:
all: Tot
changes_saved_msg: Els canvis s'han desat correctament!
@@ -710,9 +760,6 @@ ca:
too_many: No es poden adjuntar més de 4 fitxers
migrations:
acct: usuari@domini del nou compte
- currently_redirecting: 'El teu perfil està configurat com a redirecció a:'
- proceed: Desa
- updated_msg: La configuració de la migració del compte s'ha actualitzat correctament!
moderation:
title: Moderació
notification_mailer:
@@ -874,6 +921,8 @@ ca:
profile: Perfil
relationships: Seguits i seguidors
two_factor_authentication: Autenticació de dos factors
+ spam_check:
+ spam_detected_and_silenced: Aquest és un informe automatitzat. S'ha detectat correu brossa i el remitent s'ha silenciat automàticament. Si es tracta d’un error, si us plau, trèieu el silenci del compte.
statuses:
attached:
description: 'Adjunt: %{attached}'
@@ -915,6 +964,8 @@ ca:
pinned: Toot fixat
reblogged: ha impulsat
sensitive_content: Contingut sensible
+ tags:
+ does_not_match_previous_name: no coincideix amb el nom anterior
terms:
body_html: |
federation_hint_html: Cù un contu nant'à %{instance} puderete siguità ghjente da tutti i servori Mastodon è ancu più d'altri.
generic_description: "%{domain} hè un servore di a rete"
get_apps: Pruvà un'applicazione di telefuninu
hosted_on: Mastodon allughjatu nant’à %{domain}
+ instance_actor_flash: |
+ Stu contu ghjè un'attore virtuale chì ghjove à riprisentà u servore sanu è micca un veru utilizatore.
+ Hè utilizatu da a federazione è ùn deve micca esse bluccatu eccettu s'e voi vulete bluccà tuttu u servore, in quellu casu duvereste utilizà un blucchime di duminiu.
learn_more: Amparà di più
privacy_policy: Pulitica di vita privata
see_whats_happening: Vede cio chì si passa
@@ -42,6 +42,8 @@ co:
what_is_mastodon: Quale hè Mastodon?
accounts:
choices_html: "%{name} ricumanda:"
+ endorsements_hint: Pudete appughjà i conti chì siguitate dapoi l'interfaccia web, è saranu mustrati quì.
+ featured_tags_hint: Pudete mette in mostra qualchì hashtag chì saranu affissatu quì.
follow: Siguità
followers:
one: Abbunatu·a
@@ -53,6 +55,7 @@ co:
media: Media
moved_html: "%{name} hà cambiatu di contu, avà hè nant’à %{new_profile_link}:"
network_hidden: St'infurmazione ùn hè micca dispunibule
+ never_active: Mai
nothing_here: Ùn c’hè nunda quì!
people_followed_by: Seguitati da %{name}
people_who_follow: Seguitanu %{name}
@@ -183,6 +186,7 @@ co:
username: Cugnome
warn: Averte
web: Web
+ whitelisted: In a lista bianca
action_logs:
actions:
assigned_to_self_report: "%{name} s’hè assignatu u signalamentu %{target}"
@@ -218,10 +222,12 @@ co:
deleted_status: "(statutu sguassatu)"
title: Ghjurnale d’audit
custom_emojis:
+ assign_category: Aghjunghje categuria
by_domain: Duminiu
copied_msg: Copia lucale di l’emoji creata
copy: Cupià
copy_failed_msg: Ùn s’hè micca pussutu creà una copia di l’emoji
+ create_new_category: Creà nova categuria
created_msg: L’emoji hè stata creata!
delete: Toglie
destroyed_msg: L’emoji hè stata tolta!
@@ -233,16 +239,18 @@ co:
image_hint: PNG di 50Ko o menu
listed: Listata
new:
- title: Aghjustà una nov’emoji
+ title: Aghjunghje una nov’emoji
overwrite: Soprascrive
shortcode: Accorta
shortcode_hint: 2 caratteri o più, solu lettere, numeri è liniette basse
title: Emoji parsunalizate
+ uncategorized: Micca categurizatu
unlisted: Micca listata
update_failed_msg: Ùn s’hè micca pussutu mette à ghjornu l’emoji
updated_msg: L’emoji hè stata messa à ghjornu!
upload: Caricà
dashboard:
+ authorized_fetch_mode: Modu ricuperazione auturizata
backlog: travagli in attesa
config: Cunfigurazione
feature_deletions: Sguassamenti di conti
@@ -250,10 +258,13 @@ co:
feature_profile_directory: Annuariu di i prufili
feature_registrations: Arregistramenti
feature_relay: Ripetitore di federazione
+ feature_spam_check: Anti-spam
feature_timeline_preview: Vista di a linea pubblica
features: Funziunalità
hidden_service: Federazione cù servizii piattati
open_reports: signalamenti aperti
+ pending_tags: hashtag in attesa di verificazione
+ pending_users: utilizatori in attesa di rivista
recent_users: Utilizatori ricenti
search: Ricerca di testu sanu
single_user_mode: Modu utilizatore unicu
@@ -265,11 +276,18 @@ co:
week_interactions: interazzione sta settimana
week_users_active: attivi sta settimana
week_users_new: utilizatori sta settimana
+ whitelist_mode: Modu lista bianca
+ domain_allows:
+ add_new: Aghjunghje à a lista bianca
+ created_msg: U duminiu hè statu aghjuntu à a lista bianca
+ destroyed_msg: U duminiu hè statu sguassatu da a lista bianca
+ undo: Toglie di a lista bianca
domain_blocks:
- add_new: Aghjustà novu blucchime di duminiu
+ add_new: Aghjunghje novu blucchime di duminiu
created_msg: U blucchime di u duminiu hè attivu
destroyed_msg: U blucchime di u duminiu ùn hè più attivu
domain: Duminiu
+ edit: Mudificà u blucchime di duminiu
existing_domain_block_html: Avete digià impostu limite più strette nant'à %{name}, duvete sbluccallu primu.
new:
create: Creà un blucchime
@@ -280,6 +298,10 @@ co:
silence: Silenzà
suspend: Suspende
title: Novu blucchime di duminiu
+ private_comment: Cummentariu privatu
+ private_comment_hint: Cummentariu nant'à a limitazione di stu duminiu per l'usu internu di i muderatori.
+ public_comment: Cummentariu pubblicu
+ public_comment_hint: Cummentariu nant'à a limitazione di stu duminiu per u pubblicu generale, s'ella hè attivata a rivelazione di a lista di limitazione di duminiu.
reject_media: Righjittà i fugliali media
reject_media_hint: Sguassa tutti i media caricati è ricusa caricamenti futuri. Inutile per una suspensione
reject_reports: Righjittà i rapporti
@@ -299,8 +321,9 @@ co:
title: Ùn bluccà più u duminiu %{domain}
undo: Annullà
undo: Annullà u blucchime di duminiu
+ view: Vede blucchime di duminiu
email_domain_blocks:
- add_new: Aghjustà
+ 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
@@ -322,6 +345,8 @@ co:
all: Tuttu
limited: Limitatu
title: Muderazione
+ private_comment: Cummentariu privatu
+ public_comment: Cummentariu pubblicu
title: Federazione
total_blocked_by_us: Bluccati da noi
total_followed_by_them: Siguitati da elli
@@ -339,7 +364,7 @@ co:
pending_accounts:
title: Conti in attesa (%{count})
relays:
- add_new: Aghjustà un ripetitore
+ add_new: Aghjunghje un ripetitore
delete: Sguassà
description_html: Un ripetitore di federazione ghjè un servore intermediariu chì manda statuti pubblichi trà l'istanze abbunate. Pò aiutà l'istanze chjuche è mezane à scuprì u cuntinutu di u fediverse senza chì l'utilizatori appianu bisognu di seguità tutti i conti di l'altri servori.
disable: Disattivà
@@ -399,6 +424,16 @@ co:
custom_css:
desc_html: Mudificà l'apparenza cù CSS caricatu nant'à ogni pagina
title: CSS persunalizatu
+ default_noindex:
+ desc_html: Tocca tutti quelli ch'ùn anu micca cambiatu stu parametru
+ title: Ritirà l'utilizatori di l'indicazione nant'à i mutori di ricerca
+ domain_blocks:
+ all: À tutti
+ disabled: À nimu
+ title: Mustrà blucchime di duminiu
+ users: À l'utilizatori lucali cunnettati
+ domain_blocks_rationale:
+ title: Vede ragiò
hero:
desc_html: Affissatu nant’a pagina d’accolta. Ricumandemu almenu 600x100px. S’ellu ùn hè micca definiti, a vignetta di u servore sarà usata
title: Ritrattu di cuprendula
@@ -449,6 +484,9 @@ co:
desc_html: Quì pudete scrive e vostre regule di cunfidenzialità, cundizione d’usu o altre menzione legale. Pudete fà usu di marchi HTML
title: Termini persunalizati
site_title: Nome di u servore
+ spam_check_enabled:
+ desc_html: Mastodon pò autosilenzà è autosignalà conti, per esempiu ditettendu quelli chì mandanu missaghji micca sullicitati à ripetizione. Ci ponu esse falzi pusitivi.
+ title: Anti-spam
thumbnail:
desc_html: Utilizatu per viste cù OpenGraph è l’API. Ricumandemu 1200x630px
title: Vignetta di u servore
@@ -456,30 +494,44 @@ co:
desc_html: Vede a linea pubblica nant’a pagina d’accolta
title: Vista di e linee
title: Parametri di u situ
+ trends:
+ desc_html: Mustrà à u pubblicu i hashtag chì sò stati digià verificati è chì sò in e tendenze avà
+ title: Tendenze di hashtag
statuses:
back_to_account: Ritornu à a pagina di u contu
batch:
delete: Toglie
nsfw_off: Indicà cum’è micca sensibile
nsfw_on: Indicà cum’è sensibile
+ deleted: Sguassatu
failed_to_execute: Esecuzione impussibule
media:
title: Media
no_media: Nisun media
no_status_selected: I statuti ùn sò micca stati mudificati perchè manc'unu era selezziunatu
- title: Statutu di u contu
+ title: Statuti di u contu
with_media: Cù media
tags:
- accounts: Conti
- hidden: Piattatu
- hide: Piattà di l'annuariu
+ accounts_today: Usi unichi oghji
+ accounts_week: Usi unichi sta settimana
+ breakdown: Ditagli di l'usu d'oghji per origine
+ context: Cuntestu
+ directory: In l'annuariu
+ in_directory: "%{count} in l'annuariu"
+ last_active: Ultima attività
+ most_popular: Più pupulari
+ most_recent: Più ricente
name: Hashtag
+ review: Statutu di verificazione
+ reviewed: Verificatu
title: Hashtag
- unhide: Mustrà in l'annuariu
- visible: Visibile
+ trending_right_now: Tendenze avà
+ unique_uses_today: "%{count} pustendu oghji"
+ unreviewed: Micca verificatu
+ updated_msg: Parametri di i hashtag messi à ghjornu
title: Amministrazione
warning_presets:
- add_new: Aghjustà nova
+ add_new: Aghjunghje
delete: Sguassà
edit: Cambià
edit_preset: Cambià a preselezzione d'avertimentu
@@ -492,11 +544,15 @@ co:
body: "%{reporter} hà palisatu %{target}"
body_remote: Qualch’unu da %{domain} hà palisatu %{target}
subject: Novu signalamentu nant’à %{instance} (#%{id})
+ new_trending_tag:
+ body: 'U hashtag #%{name} hè in e tendenze oghji, mà ùn hè micca verificatu. Ùn sarà micca mustratu à u pubblicu eccettu s''ellu hè auturizatu, o pudete ancu salvà u furmulariu cusì per ùn mai più avè à ne sente parlà.'
+ subject: Novu hashtag in attesa di rivista nant'à %{instance} (#%{name})
appearance:
advanced_web_interface: Interfaccia web avanzata
advanced_web_interface_hint: 'S''è voi vulete fà usu di a larghezza sana di u vostru screnu, l''interfaccia web avanzata vi permette di cunfigurà parechje culonne sfarente per vede tutta l''infurmazione chì vulete vede in listessu tempu: Accolta, nutificazione, linea pubblica, è tutti l''hashtag è liste chì vulete.'
animations_and_accessibility: Animazione è accessibilità
confirmation_dialogs: Pop-up di cunfirmazione
+ discovery: Scuperta
sensitive_content: Cuntinutu sensibile
application_mailer:
notification_preferences: Cambià e priferenze e-mail
@@ -517,9 +573,13 @@ co:
apply_for_account: Dumandà un'invitazione
change_password: Chjave d’accessu
checkbox_agreement_html: Sò d'accunsentu cù e regule di u servore è i termini di u serviziu
- confirm_email: Cunfirmà l’e-mail
+ checkbox_agreement_without_rules_html: Accettu i termini di u serviziu
delete_account: Sguassà u contu
delete_account_html: S’è voi vulete toglie u vostru contu ghjè quì. Duverete cunfirmà a vostra scelta.
+ description:
+ prefix_invited_by_user: "@%{name} v'invita à raghjunghje stu servore di Mastodon!"
+ prefix_sign_up: Arregistratevi nant'à Mastodon oghji!
+ suffix: Cù un contu, puderete siguità l'altri, pustà statuti è scambià missaghji cù l'utilizatori di tutti i servori Mastodon è ancu di più!
didnt_get_confirmation: Ùn avete micca ricevutu l’istruzione di cunfirmazione?
forgot_password: Chjave scurdata?
invalid_reset_password_token: U ligame di riinizializazione di a chjave d’accessu hè spiratu o ùn hè micca validu. Pudete dumandà un'altru ligame.
@@ -537,6 +597,15 @@ co:
reset_password: Cambià a chjave d’accessu
security: Sicurità
set_new_password: Creà una nova chjave d’accessu
+ setup:
+ email_below_hint_html: S'è l'indirizzu e-mail quì sottu ùn hè micca currettu, pudete cambiallu quì è riceve un novu e-mail di cunfirmazione.
+ email_settings_hint_html: L'e-mail di cunfirmazione hè statu mandatu à l'indirizzu %{email}. S'ellu ùn hè micca currettu, pudete cambiallu in i parametri di u contu.
+ title: Stallazione
+ status:
+ account_status: Statutu di u contu
+ confirming: In attesa di a cumplezzione di a cunfirmazione di l'e-mail.
+ functional: U vostru contu hè uperaziunale.
+ pending: A vostra dumanda hè in attesa di rivista da a squadra di muderazione. Quessa pò piglià un certu tempu. Avete da riceve un'e-mail s'ella hè appruvata.
trouble_logging_in: Difficultà per cunnettavi?
authorize_follow:
already_following: Site digià abbunatu·a à stu contu
@@ -549,6 +618,11 @@ co:
return: Vede u prufile di l’utilizatore
web: Andà à l’interfaccia web
title: Siguità %{acct}
+ challenge:
+ confirm: Cuntinuvà
+ hint_html: "Astuzia: Ùn avemu micca da dumandavvi stu codice per l'ore chì vene."
+ invalid_password: Chjave d'accessu micca curretta
+ prompt: Cunfirmà a chjave d'accessu per cuntinuvà
datetime:
distance_in_words:
about_x_hours: "%{count}o"
@@ -564,26 +638,33 @@ co:
x_months: "%{count}Me"
x_seconds: "%{count}s"
deletes:
- bad_password_msg: È nò! Sta chjave ùn hè curretta
+ challenge_not_passed: L'infurmazione entrata ùn era micca curretta
confirm_password: Entrate a vostra chjave d’accessu attuale per verificà a vostra identità
- description_html: U contu sarà deattivatu è u cuntenutu sarà sguassatu di manera permanente è irreversibile. Ùn sarà micca pussibule piglià stu cugnome torna per evità l’impusture.
+ confirm_username: Entrà u vostru cugnome per cunfirmà a prucedura
proceed: Sguassà u contu
success_msg: U vostru contu hè statu sguassatu
- warning_html: Pudete esse sicuru·a solu chì u cuntenutu sarà sguassatu di stu servore. S’ellu hè statu spartutu in altrò, sarà forse sempre quallà. I servori scunettati è quelli ch'ùn sò più abbunati à e vostre pubblicazione ùn anu micca da mette à ghjornu e so database.
- warning_title: Dispunibilità di i cuntenuti sparsi
+ warning:
+ before: 'Nanz''à cuntinuà, leghjete ste note attentamente:'
+ caches: U cuntinutu indè u cache di l'altri servori sarà forse cunservatu
+ data_removal: I vostri posti è dati saranu sguassati di manera permanente
+ email_change_html: Pudete cambià u vostr'indirizzu e-mail senza toglie u vostru contu
+ email_contact_html: S'ellu ùn hè sempre micca rimettu, pudete dumandà aiutu à %{email}
+ email_reconfirmation_html: S'e voi ùn ricevete micca l'e-mail di cunfirmazione, pudete richiestà un'altru
+ irreversible: Ùn puderete micca ricuperà o riattivà u vostru contu
+ more_details_html: Per più di ditagli, videte a pulitica di vita privata.
+ username_available: U vostru cugnome riduvinterà dispunibule
+ username_unavailable: U vostru cugnome ùn sarà sempre micca dispunibule
directories:
directory: Annuariu di i prufili
- enabled: Site inscrittu·a indè l'annuariu.
- enabled_but_waiting: Avete sceltu d'esse inscrittu·a indè l'annuariu, mà ùn avete micca ancu u numeru minimale d'abbunati (%{min_followers}) per esse listatu·a.
explanation: Scopre utilizatori à partesi di i so centri d'interessu
explore_mastodon: Scopre à %{title}
- how_to_enable: Ùn site micca ancu inscrittu·a indè l'annuariu. Pudete inscrive vi quì sottu. Utilizate qualchi hashtag indè a vostra biugrafia per esse listatu·a indè tag specifichi!
- people:
- one: "%{count} persona"
- other: "%{count} persone"
+ domain_validator:
+ invalid_domain: ùn hè micca un nome di duminiu currettu
errors:
+ '400': A richiesta mandata ùn era micca valida o curretta.
'403': Ùn site micca auturizatu·a à vede sta pagina.
'404': Sta pagina ùn esiste micca quì.
+ '406': A pagina ùn hè micca dispunivule in u furmatu riquisitu.
'410': Sta pagina ùn esiste più quì.
'422':
content: C’hè statu un prublemu cù a verificazione di sicurità. Forse bluccate cookies?
@@ -592,6 +673,7 @@ co:
'500':
content: Scusate, mà c’hè statu un prublemu cù u nostru servore.
title: Sta pagina ùn hè curretta
+ '503': A pagina ùn hè micca stata servita per via di un prublemu timpuraneu di u servore.
noscript_html: Mastodon nant’à u web hà bisognu di JavaScript per funziunà. Pudete ancu pruvà l’applicazione native per a vostra piattaforma.
existing_username_validator:
not_found: ùn si pudeva micca truvà un'utilizatore lucale cù stu cugnome
@@ -612,9 +694,10 @@ co:
mutes: Piattate
storage: I vostri media
featured_tags:
- add_new: Aghjustà novu
+ add_new: Aghjunghje
errors:
limit: Avete digià messu in mostra u numeru massimale di hashtag
+ hint_html: "Quale sò i hashtag in mostra? Sò messi in vista nant'à u vostru prufile pubblicu è permettenu à a ghjente di vede i vostri statuti ch'annu stu hashtag. Sò una bona manere di mustrà e vostre opere creative o i prughjetti à longu termine."
filters:
contexts:
home: Accolta
@@ -630,15 +713,17 @@ co:
delete: Toglie
title: Filtri
new:
- title: Aghjustà un novu filtru
+ title: Aghjunghje un novu filtru
footer:
developers: Sviluppatori
more: Di più…
resources: Risorze
+ trending_now: Tindenze d'avà
generic:
all: Tuttu
changes_saved_msg: Cambiamenti salvati!
copy: Cupià
+ no_batch_actions_available: Alcun'azzione di gruppu nant'à sta pagina
order_by: Urdinà da
save_changes: Salvà e mudificazione
validation_errors:
@@ -667,7 +752,7 @@ co:
imports:
modes:
merge: Unisce
- merge_long: Cunservà i dati esistenti è aghjustà i novi
+ merge_long: Cunservà i dati esistenti è aghjunghje i novi
overwrite: Soprascrive
overwrite_long: Rimpiazzà i dati esistenti cù i novi
preface: Pudete impurtà certi dati, cumu e persone chì seguitate o bluccate nant’à u vostru contu, nant’à stu servore à partesi di fugliali creati nant’à un’altru.
@@ -710,9 +795,6 @@ co:
too_many: Ùn si pò micca aghjunghje più di 4 fugliali
migrations:
acct: cugnome@duminiu di u novu contu
- currently_redirecting: 'U vostru prufile riindiriza tuttu versu à:'
- proceed: Salvà
- updated_msg: I paramettri di migrazione sò stati messi à ghjornu!
moderation:
title: Muderazione
notification_mailer:
@@ -802,7 +884,7 @@ co:
remote_interaction:
favourite:
proceed: Cuntinuà per favurisce
- prompt: 'Vulete aghjustà stu statutu à i vostri favuriti:'
+ prompt: 'Vulete aghjunghje stu statutu à i vostri favuriti:'
reblog:
proceed: Cuntinuà per sparte
prompt: 'Vulete sparte stu statutu:'
@@ -874,6 +956,8 @@ co:
profile: Prufile
relationships: Abbunamenti è abbunati
two_factor_authentication: Identificazione à dui fattori
+ spam_check:
+ spam_detected_and_silenced: Quessu ghjè un signalamente autumaticu. Un spam hè statu ditettatu è u speditore hè statu silenzatu. S'ellu era un sbagliu, pudete annullà l'azzione.
statuses:
attached:
description: 'Aghjuntu: %{attached}'
@@ -915,6 +999,8 @@ co:
pinned: Statutu puntarulatu
reblogged: hà spartutu
sensitive_content: Cuntenutu sensibile
+ tags:
+ does_not_match_previous_name: ùn currisponde micca à l'anzianu nome
terms:
body_html: |
Politique de confidentialité
@@ -1020,7 +1106,7 @@ co:
recovery_codes: Codici di ricuperazione
recovery_codes_regenerated: Codici di ricuperazione ricreati
recovery_instructions_html: Pudete fà usu di i codici quì sottu per sempre avè accessu à u vostru contu s’ellu hè statu persu u vostru telefuninu. Guardateli in una piazza sicura. Per esempiu, stampati è cunservati cù altri ducumenti impurtanti.
- setup: Installà
+ setup: Attivà
wrong_code: U codice ùn hè micca currettu! Site sicuru che l’ora di u telefuninu è di u servore sò esatte?
user_mailer:
backup_ready:
@@ -1032,7 +1118,9 @@ co:
disable: Quandu u vostru contu hè ghjacciatu, i vostri dati stannu intatti, mà ùn pudete fà nunda fin'à ch'ellu sia sbluccatu.
silence: Quandu u vostru contu hè limitatu, solu quelli chì sò digià abbunati à u vostru contu viderenu i vostri statuti nant'à quessu servore, è puderete esse esclusu·a di parechje liste pubbliche. Però, altri conti puderenu sempre seguitavi.
suspend: U vostru contu hè statu suspesu, è tutti i vo statuti è fugliali media caricati sò stati sguassati di manera irreversibile di stu servore, è di i servori induve aviate abbunati.
+ get_in_touch: Pudete risponde à quest'e-mail per cuntattà a squadra di muderazione di %{instance}.
review_server_policies: Leghje e pulitiche di u servore
+ statuses: 'Più pricisamente, per:'
subject:
disable: U vostru contu %{acct} hè statu ghjacciatu
none: Avertimentu pè %{acct}
diff --git a/config/locales/cs.yml b/config/locales/cs.yml
index 3518b3b91..add1c78d5 100644
--- a/config/locales/cs.yml
+++ b/config/locales/cs.yml
@@ -17,13 +17,13 @@ cs:
contact_unavailable: Neuvedeno
discover_users: Objevujte uživatele
documentation: Dokumentace
- extended_description_html: |
-
Dobré místo pro pravidla
-
Rozšířený popis ještě nebyl nastaven.
federation_hint_html: S účtem na %{instance} můžete sledovat lidi na jakémkoliv serveru Mastodon a jiných službách.
generic_description: "%{domain} je jedním ze serverů v síti"
get_apps: Vyzkoušejte mobilní aplikaci
hosted_on: Mastodon na adrese %{domain}
+ instance_actor_flash: |
+ Tento účet je virtuální aktér, který představuje server samotný a ne jedotlivého uživatele.
+ Používá se pro účely federace a nesmí být blokován, pokud nechcete blokovat celý server. V tomto případě použijte doménovou blokaci.
learn_more: Zjistit více
privacy_policy: Zásady soukromí
see_whats_happening: Podívejte se, co se děje
@@ -37,6 +37,13 @@ cs:
status_count_before: Kteří napsali
tagline: Sledujte své přátele a objevujte nové
terms: Podmínky používání
+ unavailable_content: Nedostupný obsah
+ unavailable_content_description:
+ reason: 'Důvod:'
+ rejecting_media: Mediální soubory z tohoto serveru nebudou zpracovány a nebudou zobrazeny žádné náhledy. Pro prohlédnutí médií bude třeba manuálně přejít na druhý server.
+ silenced: Příspěvky z tohoto severu nebudou zobrazeni nikde kromě vašeho domovského proudu, v případě, že sledujete autora.
+ suspended: Nebudete moci sledovat nikoho z tohoto serveru, žádná data z něj nebudou zpracována či uložena a žádná data nebudou vyměněna mezi servery.
+ unavailable_content_html: Mastodon vám obvykle dovoluje prohlížet si obsah a komunikovat s uživateli z jakéhokoliv dalšího serveru ve fedivesmíru. Tohle jsou výjimky, které byly zavedeny na tomto konkrétním serveru.
user_count_after:
few: uživatelé
many: uživatelů
@@ -46,6 +53,8 @@ cs:
what_is_mastodon: Co je Mastodon?
accounts:
choices_html: 'Volby uživatele %{name}:'
+ endorsements_hint: Z webového rozhraní můžete podpořit lidi, které sledujete. Ti se poté zobrazí zde.
+ featured_tags_hint: Můžete vybrat konkrétní hashtagy, které se zobrazí zde.
follow: Sledovat
followers:
few: Sledující
@@ -59,6 +68,7 @@ cs:
media: Média
moved_html: "%{name} se přesunul/a na %{new_profile_link}:"
network_hidden: Tato informace není k dispozici
+ never_active: Nikdy
nothing_here: Tady nic není!
people_followed_by: Lidé, které sleduje %{name}
people_who_follow: Lidé, kteří sledují uživatele %{name}
@@ -191,6 +201,7 @@ cs:
username: Uživatelské jméno
warn: Varovat
web: Web
+ whitelisted: Na bílé listině
action_logs:
actions:
assigned_to_self_report: "%{name} přidělil/a hlášení %{target} sobě"
@@ -226,10 +237,12 @@ cs:
deleted_status: "(smazaný toot)"
title: Záznam auditu
custom_emojis:
+ assign_category: Přiřadit kategorii
by_domain: Doména
copied_msg: Místní kopie emoji byla úspěšně vytvořena
copy: Kopírovat
copy_failed_msg: Nebylo možné vytvořit místní kopii tohoto emoji
+ create_new_category: Vytvořit novou kategorii
created_msg: Emoji úspěšně vytvořeno!
delete: Smazat
destroyed_msg: Emoji úspěšně zničeno!
@@ -246,11 +259,13 @@ cs:
shortcode: Zkratka
shortcode_hint: Alespoň 2 znaky, pouze alfanumerické znaky a podtržítka
title: Vlastní emoji
+ uncategorized: Nezařazená
unlisted: Neuvedeno
update_failed_msg: Nebylo možné aktualizovat toto emoji
updated_msg: Emoji úspěšně aktualizováno!
upload: Nahrát
dashboard:
+ authorized_fetch_mode: Autorizovaný režim fetch
backlog: opožděné úlohy
config: Konfigurace
feature_deletions: Smazání účtů
@@ -258,10 +273,13 @@ cs:
feature_profile_directory: Adresář profilů
feature_registrations: Registrace
feature_relay: Federovací most
+ feature_spam_check: Antispam
feature_timeline_preview: Náhled časové osy
features: Vlastnosti
hidden_service: Federace se skrytými službami
open_reports: otevřená hlášení
+ pending_tags: hashtagů čeká na posouzení
+ pending_users: uživatelů
recent_users: Nedávní uživatelé
search: Fulltextové vyhledávání
single_user_mode: Režim jednoho uživatele
@@ -273,11 +291,18 @@ cs:
week_interactions: interakcí tento týden
week_users_active: aktivních tento týden
week_users_new: uživatelů tento týden
+ whitelist_mode: Režim bílé listiny
+ domain_allows:
+ add_new: Přidat doménu na bílou listinu
+ created_msg: Doména byla úspěšně přidána na bílou listinu
+ destroyed_msg: Doména byla odstraněna z bílé listiny
+ undo: Odstranit z bílé listiny
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
domain: Doména
+ edit: Upravit doménovou blokaci
existing_domain_block_html: Pro účet %{name} jste již nastavil/a přísnější omezení, musíte jej nejdříve odblokovat.
new:
create: Vytvořit blokaci
@@ -288,6 +313,10 @@ cs:
silence: Utišit
suspend: Pozastavit
title: Nová doménová blokace
+ private_comment: Soukromý komentář
+ private_comment_hint: Komentář o tomto omezení domény pro vnitřní použití moderátory.
+ public_comment: Veřejný komentář
+ public_comment_hint: Komentář o tomto omezení domény pro obecnou veřejnost, pokud je povoleno zobrazování seznamu omezení domén.
reject_media: Odmítat mediální soubory
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 nahlášení
@@ -309,6 +338,7 @@ cs:
title: Zrušit blokaci domény %{domain}
undo: Odvolat
undo: Odvolat blokaci domény
+ view: Zobrazit doménovou blokaci
email_domain_blocks:
add_new: Přidat nový
created_msg: E-mailová doména úspěšně přidána na černou listinu
@@ -334,6 +364,8 @@ cs:
all: Všechny
limited: Omezené
title: Moderování
+ private_comment: Soukromý komentář
+ public_comment: Veřejný komentář
title: Federace
total_blocked_by_us: Blokované námi
total_followed_by_them: Sledované jimi
@@ -411,11 +443,21 @@ cs:
custom_css:
desc_html: Pozměnit vzhled pomocí šablony CSS načtené na každé stránce
title: Vlastní CSS
+ default_noindex:
+ desc_html: Ovlivňuje všechny uživatele, kteří toto nastavení sami nezměnili
+ title: Odhlásit uživatele z indexování vyhledávačemi ve výchozím stavu
+ domain_blocks:
+ all: Všem
+ disabled: Nikomu
+ title: Zobrazit doménové blokace
+ users: Přihlášeným místním uživatelům
+ domain_blocks_rationale:
+ title: Zobrazit odůvodnění
hero:
desc_html: Zobrazuje se na hlavní stránce. Doporučuje se rozlišení alespoň 600x100 px. Pokud toto není nastaveno, bude zobrazena miniatura serveru
title: Hlavní obrázek
mascot:
- desc_html: Zobrazuje se na hlavní stránce. Doporučuje se rozlišení alespoň 293x205 px. Pokud toto není nastaveno, bude zobrazen výchozí maskot
+ desc_html: Zobrazuje se na několika stránkách. Doporučuje se rozlišení alespoň 293x205 px. Pokud toto není nastaveno, bude zobrazen výchozí maskot
title: Obrázek maskota
peers_api_enabled:
desc_html: Domény, na které tento server narazil ve fedivesmíru
@@ -461,6 +503,9 @@ cs:
desc_html: Můžete si napsat vlastní zásady soukromí, podmínky používání či jiné legality. Můžete použít HTML značky
title: Vlastní podmínky používání
site_title: Název serveru
+ spam_check_enabled:
+ desc_html: Mastodon může automaticky utišovat a nahlašovat účty podle opatření, jako například detekování účtů, které odesílají opakované nevyžadované zprávy. Mohou se najít špatné shody.
+ title: Antispam
thumbnail:
desc_html: Používáno pro náhledy přes OpenGraph a API. Doporučuje se rozlišení 1200x630px
title: Miniatura serveru
@@ -468,12 +513,16 @@ cs:
desc_html: Zobrazit na hlavní straně veřejnou časovou osu
title: Náhled časové osy
title: Nastavení stránky
+ trends:
+ desc_html: Veřejně zobrazit předtím schválené hashtagy, které jsou aktuálně populární
+ title: Populární hashtagy
statuses:
back_to_account: Zpět na stránku účtu
batch:
delete: Smazat
nsfw_off: Označit, že není citlivý
nsfw_on: Označit jako citlivý
+ deleted: Smazáno
failed_to_execute: Nepodařilo se vykonat
media:
title: Média
@@ -482,13 +531,23 @@ cs:
title: Tooty účtu
with_media: S médii
tags:
- accounts: Účty
- hidden: Skryté
- hide: Skrýt z adresáře
+ accounts_today: Jedinečná použití dnes
+ accounts_week: Jedinečná použití tento týden
+ breakdown: Přehled dnešního používání podle zdroje
+ context: Kontext
+ directory: V adresáři
+ in_directory: "%{count} v adresáři"
+ last_active: Naposledy aktivní
+ most_popular: Nejpopulárnější
+ most_recent: Nejnovější
name: Hashtag
+ review: Stav schválení
+ reviewed: Schválen
title: Hashtagy
- unhide: Zobrazit v adresáři
- visible: Viditelné
+ trending_right_now: Aktuální trendy
+ unique_uses_today: "%{count} dnes píší"
+ unreviewed: Neposouzeno
+ updated_msg: Nastavení hashtagu bylo úspěšně aktualizováno
title: Administrace
warning_presets:
add_new: Přidat nové
@@ -504,11 +563,21 @@ cs:
body: "%{reporter} nahlásil/a uživatele %{target}"
body_remote: Někdo z %{domain} nahlásil uživatele %{target}
subject: Nové nahlášení pro %{instance} (#%{id})
+ new_trending_tag:
+ body: 'Hashtag #%{name} je dnes populární, nebyl však dříve schválen. Nebude zobrazen veřejně, pokud to nedovolíte. Můžete také pouze uložit formulář tak, jak je, a nikdy o něm opět neslyšet.'
+ subject: Nový hashtag ke schválení na %{instance} (#%{name})
+ 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.
+ deleted_msg: Alias byl úspěšně odstraněn. Přesun z tamtoho účtu na tento již nebude možný.
+ hint_html: Chcete-li se přesunout z jiného účtu na tento, můžete si zde vytvořit alias, který je vyžadován předtím, než můžete pokračovat přesunem sledujících ze starého účtu na tento. Tato akce sama o sobě je neškodná a vratná. Přesun účtu se zahajuje ze starého účtu.
+ remove: Odpojit alias
appearance:
advanced_web_interface: Pokročilé webové rozhraní
advanced_web_interface_hint: 'Chcete-li využít celé šířky vaší obrazovky, dovolí vám pokročilé webové rozhraní nastavit si mnoho různých sloupců, takže můžete vidět ve stejnou chvíli tolik informací, kolik chcete: domovskou časovou osu, oznámení, federovanou časovou osu a libovolný počet seznamů a hashtagů.'
animations_and_accessibility: Animace a přístupnost
confirmation_dialogs: Potvrzovací dialogy
+ discovery: Objevování
sensitive_content: Citlivý obsah
application_mailer:
notification_preferences: Změnit volby e-mailu
@@ -529,9 +598,13 @@ cs:
apply_for_account: Vyžádat si pozvánku
change_password: Heslo
checkbox_agreement_html: Souhlasím s pravidly serveru a podmínkami používání
- confirm_email: Potvrdit e-mail
+ checkbox_agreement_without_rules_html: Souhlasím s podmínkami používání
delete_account: Odstranit účet
delete_account_html: Chcete-li odstranit svůj účet, pokračujte zde. Budete požádán/a o potvrzení.
+ description:
+ prefix_invited_by_user: "@%{name} vás zve, abyste se přidal/a na tento server Mastodon!"
+ prefix_sign_up: Registrujte se na Mastodonu již dnes!
+ suffix: S účtem budete moci sledovat lidi, psát příspěvky a vyměňovat si zprávy s uživateli z kteréhokoliv serveru Mastodon a dalších služeb!
didnt_get_confirmation: Neobdržel/a jste pokyny pro potvrzení?
forgot_password: Zapomněl/a jste heslo?
invalid_reset_password_token: Token pro obnovení hesla je buď neplatný, nebo vypršel. Prosím vyžádejte si nový.
@@ -549,6 +622,16 @@ cs:
reset_password: Obnovit heslo
security: Zabezpečení
set_new_password: Nastavit nové heslo
+ setup:
+ email_below_hint_html: Pokud je níže uvedená e-mailová adresa nesprávná, můžete ji změnit zde a obdržet nový potvrzovací e-mail.
+ email_settings_hint_html: Potvrzovací e-mail byl odeslán na %{email}. Pokud je tato adresa nesprávná, můžete ji změnit v nastavení účtu.
+ title: Nastavení
+ status:
+ account_status: Stav účtu
+ confirming: Čekám na dokončení potvrzení e-mailu.
+ functional: Váš účet je zcela funkční.
+ pending: Váš požadavek čeká na schválení 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 právě přesměrovává na účet %{acct}.
trouble_logging_in: Problémy s přihlašováním?
authorize_follow:
already_following: Tento účet již sledujete
@@ -561,6 +644,11 @@ cs:
return: Zobrazit profil uživatele
web: Přejít na web
title: Sledovat uživatele %{acct}
+ challenge:
+ confirm: Pokračovat
+ hint_html: "Tip: Po dobu hodiny vás nebudeme znovu žádat o heslo."
+ invalid_password: Neplatné heslo
+ prompt: Pokračujte potvrzením hesla
datetime:
distance_in_words:
about_x_hours: "%{count} hod"
@@ -576,28 +664,33 @@ cs:
x_months: "%{count} mesíců"
x_seconds: "%{count} s"
deletes:
- bad_password_msg: Dobrý pokus, hackeři! Nesprávné heslo
+ challenge_not_passed: Informace, které jste zadal/a, nejsou správné
confirm_password: Zadejte svoje současné heslo pro ověření vaší identity
- description_html: Tímto trvale a nenávratně odstraníte obsah z vašeho účtu a deaktivujete ho. Vaše uživatelské jméno zůstane rezervované pro zabránění budoucím napodobováním.
+ confirm_username: Zadáním svého uživatelského jména potvrdíte proces
proceed: Odstranit účet
success_msg: Váš účet byl úspěšně odstraněn
- warning_html: Pouze vymazání obsahu z tohoto konkrétního serveru je zaručeno. Obsah, který byl široce sdílen, po sobě pravděpodobně zanechá stopy. U offline serverů a serverů, které vaše aktualizace již neodebírají, nebudou databáze aktualizovány.
- warning_title: Dostupnost rozšířeného obsahu
+ warning:
+ before: 'Před pokračováním si prosím pečlivě přečtěte tyto poznámky:'
+ caches: Obsah, který byl uložen do cache jiných serverů, nemusí být smazán
+ data_removal: Vaše příspěvky a další data budou trvale smazána
+ email_change_html: Můžete si změnit svou e-mailovou adresu bez smazání účtu
+ email_contact_html: Pokud stále nepřijde, můžete požádat o pomoc zasláním e-mailu na %{email}
+ email_reconfirmation_html: Pokud neobdržíte potvrzovací e-mail, můžete si ho vyžádat znovu
+ irreversible: Nebudete moci obnovit nebo znovu aktivovat váš účet
+ more_details_html: Více detailů najdete v zásadách soukromí.
+ username_available: Vaše uživatelské jméno bude opět dostupné
+ username_unavailable: Vaše uživatelské jméno zůstane nedostupným
directories:
directory: Adresář profilů
- enabled: Aktuálně jste v adresáři uveden/a.
- enabled_but_waiting: Přihlásil/a jste se k uvedení v adresáři, ale ještě nemáte minimální počet sledujících (%{min_followers}) pro uvedení.
explanation: Objevujte uživatele podle jejich zájmů
explore_mastodon: Prozkoumejte %{title}
- how_to_enable: Aktuálně nejste přihlášen/a do adresáře. Přihlásit se můžete níže. Použijte ve svém popisu profilu hashtagy, abyste mohl/a být uveden/a pod konkrétními hashtagy!
- people:
- few: "%{count} lidé"
- many: "%{count} lidí"
- one: "%{count} člověk"
- other: "%{count} lidí"
+ domain_validator:
+ invalid_domain: není platné doménové jméno
errors:
+ '400': Požadavek, který jste odeslal/a, byl neplatný nebo poškozený.
'403': Nemáte povolení zobrazit tuto stránku.
'404': Stránka, kterou hledáte, tu není.
+ '406': Tato stránka není dostupná v požadovaném formátu.
'410': Stránka, kterou hledáte, tu již neexistuje.
'422':
content: Bezpečnostní ověření selhalo. Neblokujete cookies?
@@ -606,6 +699,7 @@ cs:
'500':
content: Omlouváme se, ale něco se u nás pokazilo.
title: Tato stránka není správná
+ '503': Stránku nelze načíst kvůli dočasnému selhání serveru.
noscript_html: Pro použití webové aplikace Mastodon prosím povolte JavaScript. Nebo zkuste jednu z nativních aplikací pro Mastodon pro vaši platformu.
existing_username_validator:
not_found: nelze najít místního uživatele s tímto uživatelským jménem
@@ -629,6 +723,7 @@ cs:
add_new: Přidat nový
errors:
limit: Již jste zvýraznil/a maximální počet hashtagů
+ hint_html: "Co jsou zvýrazněné hashtagy? Zobrazují se prominentně na vašem veřejném profilu a dovolují lidem prohlížet si vaše veřejné příspěvky konkrétně pod těmi hashtagy. Je to skvělý nástroj pro sledování kreativních děl nebo dlouhodobých projektů."
filters:
contexts:
home: Domovská časová osa
@@ -649,10 +744,12 @@ cs:
developers: Vývojáři
more: Více…
resources: Zdroje
+ trending_now: Aktuální trendy
generic:
all: Všechny
changes_saved_msg: Změny byly úspěšně uloženy!
copy: Kopírovat
+ no_batch_actions_available: Pro tuto stránku nejsou dostupny žádné souhrnné akce
order_by: Seřadit od
save_changes: Uložit změny
validation_errors:
@@ -727,10 +824,32 @@ cs:
images_and_video: K tootu, který již obsahuje obrázky, nelze připojit video
too_many: Nelze připojit více než 4 soubory
migrations:
- acct: přezdívka@doména nového účtu
- currently_redirecting: 'Váš profil má nastaveno přesměrování na:'
- proceed: Uložit
- updated_msg: Vaše nastavení přesunutí účtu bylo úspěšně aktualizováno!
+ acct: Přesunuto na
+ cancel: Zrušit přesměrování
+ cancel_explanation: Zrušením přesměrování znovu aktivujete svůj aktuální účet, ale nevrátí se vám sledující, kteří byli přesměrováni na druhý účet.
+ cancelled_msg: Přesměrování bylo úspěšně zrušeno.
+ errors:
+ already_moved: je stejný účet, na který jste se již přesunul/a
+ missing_also_known_as: neodkazuje na tento účet
+ move_to_self: nemůže být aktuální účet
+ not_found: nemohl být nalezen
+ on_cooldown: Probíhá období odpočinku
+ followers_count: Sledující v době přesunu
+ incoming_migrations: Přesun z jiného účtu
+ incoming_migrations_html: Chcete-li se přesunout z jiného účtu na tento, potřebujete si nejprve vytvořit alias účtu.
+ moved_msg: Váš účet nyní přesměrovává na účet %{acct} a vaši sledující se na něj přesouvají.
+ not_redirecting: Váš účet aktuálně nepřesměrovává na žádný jiný účet.
+ on_cooldown: Nedávno jste přesunul/a svůj účet. Tato funkce bude opět dostupná za %{count} dní.
+ past_migrations: Předchozí přesuny
+ proceed_with_move: Přesunout sledující
+ redirecting_to: Váš účet přesměrovává na účet %{acct}.
+ warning:
+ backreference_required: Nový účet musí být nejprve nastaven, aby odkazoval zpátky na tento
+ before: 'Před pokračováním si prosím pečlivě přečtěte tyto poznámky:'
+ cooldown: Po přesunu nastane období odpočinku, kdy se nebudete moci opět přesunout
+ disabled_account: Váš aktuální účet nebude poté zcela použitelný. Budete však mít přístup k datovým exportům a budete ho moci znovu aktivovat.
+ followers: Touto akcí přesunete všechny sledující z aktuálního účtu na nový účet
+ other_data: Žádná další data nebudou přesunuta automaticky
moderation:
title: Moderování
notification_mailer:
@@ -879,6 +998,7 @@ cs:
settings:
account: Účet
account_settings: Nastavení účtu
+ aliases: Aliasy účtů
appearance: Vzhled
authorized_apps: Autorizované aplikace
back: Zpět na Mastodon
@@ -890,12 +1010,14 @@ cs:
identity_proofs: Důkazy identity
import: Import
import_and_export: Import a export
- migrate: Přesunutí účtu
+ migrate: Přesun účtu
notifications: Oznámení
preferences: Předvolby
profile: Profil
relationships: Sledovaní a sledující
two_factor_authentication: Dvoufázové ověřování
+ spam_check:
+ spam_detected_and_silenced: Tohle je automtické nahlášení. Byl detekován spam a jeho odesílatel byl automaticky utišen. Pokud je tohle chyba, prosím odtište tento účet.
statuses:
attached:
description: 'Přiloženo: %{attached}'
@@ -945,6 +1067,8 @@ cs:
pinned: Připnutý toot
reblogged: boostnul/a
sensitive_content: Citlivý obsah
+ tags:
+ does_not_match_previous_name: se neshoduje s předchozím názvem
terms:
body_html: |
Zásady soukromí
@@ -1062,7 +1186,9 @@ cs:
disable: Zatímco je váš účet zmražen, zůstávají data vašeho účtu nedotčená, ale nemůžete vykonávat žádné akce, dokud nebude odemčen.
silence: Zatímco je váš účet omezen, mohou vaše tooty na tomto serveru vidět pouze lidé, kteří váš již sledují, a můžete být vyloučen/a z různých veřejných výpisů. Ostatní vás však pořád mohou manuálně sledovat.
suspend: Váš účet byl pozastaven a všechny vaše tooty a vaše nahrané mediální soubory byly nenávratně odstraněny z tohoto serveru a serverů, na kterých jste měl/a sledující.
+ get_in_touch: Můžete odpovědět na tento e-mail a spojit se s personálem serveru %{instance}.
review_server_policies: Posoudit politiku serveru
+ statuses: 'Konkrétně kvůli:'
subject:
disable: Váš účet %{acct} byl zmražen
none: Varování pro uživatele %{acct}
diff --git a/config/locales/cy.yml b/config/locales/cy.yml
index fbeaa22b1..2027a7316 100644
--- a/config/locales/cy.yml
+++ b/config/locales/cy.yml
@@ -17,9 +17,6 @@ cy:
contact_unavailable: Ddim yn berthnasol
discover_users: Darganfod defnyddwyr
documentation: Dogfennaeth
- extended_description_html: |
-
Lle da ar gyfer rheolau
-
Nid yw'r disgrifiad estynedig wedi ei osod eto.
federation_hint_html: Gyda cyfrif ar %{instance}, gallwch dilyn pobl ar unrhyw gweinydd Mastodon, a thu hwnt.
generic_description: Mae %{domain} yn un gweinydd yn y rhwydwaith
get_apps: Rhowch gynnig ar ap dyfeis symudol
@@ -39,6 +36,12 @@ cy:
status_count_before: Ysgriffennwyd gan
tagline: Dilyn ffrindiau a darganfod rhai newydd
terms: Telerau gwasanaeth
+ unavailable_content: Cynnwys nad yw ar gael
+ unavailable_content_description:
+ reason: 'Rheswm:'
+ rejecting_media: Ni fydd ffeiliau cyfryngau o'r gweinydd hwn yn cael eu prosesu ac ni fydd unrhyw fawd yn cael eu harddangos, sy'n gofyn am glicio â llaw i'r gweinydd arall.
+ silenced: Ni fydd swyddi o'r gweinydd hwn yn ymddangos yn unman heblaw eich porthiant cartref os dilynwch yr awdur.
+ unavailable_content_html: Yn gyffredinol, mae Mastodon yn caniatáu ichi weld cynnwys gan unrhyw weinyddwr arall yn y ffederasiwn a rhyngweithio â hi. Dyma'r eithriadau a wnaed ar y gweinydd penodol hwn.
user_count_after:
few: defnyddwyr
many: defnyddwyr
@@ -65,6 +68,7 @@ cy:
media: Cyfryngau
moved_html: 'Mae %{name} wedi symud i %{new_profile_link}:'
network_hidden: Nid yw'r wybodaeth hyn ar gael
+ never_active: Peidiwch byth
nothing_here: Does dim byd yma!
people_followed_by: Pobl y mae %{name} yn ei ddilyn
people_who_follow: Pobl sy'n dilyn %{name}
@@ -238,6 +242,7 @@ cy:
copied_msg: Llwyddwyd i greu copi lleol o'r emoji
copy: Copïo
copy_failed_msg: Methwyd i greu copi lleol o'r emoji hwnnw
+ create_new_category: Create new category
created_msg: Llwyddwyd i greu emoji!
delete: Dileu
destroyed_msg: Llwyddwyd i ddinistrio emojo!
@@ -254,6 +259,7 @@ cy:
shortcode: Byrgod
shortcode_hint: O leiaf 2 nodyn, dim ond nodau alffaniwmerig a tanlinellau
title: Emoji unigryw
+ uncategorized: Heb gategori
unlisted: Heb eu rhestru
update_failed_msg: Methwyd a diweddaru'r emoji hwnnw
updated_msg: Llwyddwyd i ddiweddaru'r emoji!
@@ -266,10 +272,13 @@ cy:
feature_profile_directory: Cyfeiriadur proffil
feature_registrations: Cofrestriadau
feature_relay: Relái ffederasiwn
+ feature_spam_check: Gwrth-sbam
feature_timeline_preview: Rhagolwg o'r ffrwd
features: Nodweddion
hidden_service: Ffederasiwn a gwasanaethau cudd
open_reports: adroddiadau agored
+ pending_tags: hashnodau yn aros am adolygiad
+ pending_users: defnyddwyr yn aros am adolygiad
recent_users: Defnyddwyr diweddar
search: Chwilio testun llawn
single_user_mode: Modd un defnyddiwr
@@ -296,6 +305,8 @@ cy:
silence: Tawelwch
suspend: Atal
title: Blocio parth newydd
+ private_comment: Sylw preifat
+ public_comment: Sylw cyhoeddus
reject_media: Gwrthod dogfennau cyfryngau
reject_media_hint: Dileu dogfennau cyfryngau wedi eu cadw yn lleol ac yn gwrthod i lawrlwytho unrhyw rai yn y dyfodol. Amherthnasol i ataliadau
reject_reports: Gwrthod adroddiadau
@@ -346,6 +357,8 @@ cy:
all: Pob
limited: Gyfyngedig
title: Goruwchwyliad
+ private_comment: Sylw preifat
+ public_comment: Sylw cyhoeddus
title: Ffederasiwn
total_blocked_by_us: Wedi'i bloc gan ni
total_followed_by_them: Yn dilyn ganynt
@@ -423,6 +436,8 @@ cy:
custom_css:
desc_html: Addasu gwedd gyda CSS wedi lwytho ar bob tudalen
title: CSS wedi'i addasu
+ domain_blocks:
+ all: I bawb
hero:
desc_html: Yn cael ei arddangos ar y dudadlen flaen. Awgrymir 600x100px oleia. Pan nad yw wedi ei osod, mae'n ymddangos fel mân-lun yr achos
title: Delwedd arwr
@@ -494,13 +509,12 @@ cy:
title: Statysau cyfrif
with_media: A chyfryngau
tags:
- accounts: Cyfrifon
- hidden: Cudd
- hide: Cuddio o gyfeiriadur
+ context: Cyd-destun
+ last_active: Yn weithredol ddiwethaf
name: Hashnod
+ reviewed: Wedi'i adolygu
title: Hashnodau
- unhide: Dangoswch yn y cyfeiriadur
- visible: Gweladwy
+ unreviewed: Heb ei adolygu
title: Gweinyddiaeth
warning_presets:
add_new: Ychwanegu newydd
@@ -541,7 +555,6 @@ cy:
apply_for_account: Gofyn am wahoddiad
change_password: Cyfrinair
checkbox_agreement_html: Rydw i'n cytuno i'r rheolau'r gweinydd a'r telerau gwasanaeth
- confirm_email: Cadarnhau e-bost
delete_account: Dileu cyfrif
delete_account_html: Os hoffech chi ddileu eich cyfrif, mae modd parhau yma. Bydd gofyn i chi gadarnhau.
didnt_get_confirmation: Heb dderbyn cyfarwyddiadau cadarnhau?
@@ -588,30 +601,18 @@ cy:
x_months: "%{count}mis"
x_seconds: "%{count}eiliad"
deletes:
- bad_password_msg: Go dda, hacwyr! Cyfrinair anghywir
confirm_password: Mewnbynnwch eich cyfrinair presennol i gadarnhau mai chi sydd yno
- description_html: Bydd hyn yn cael gwared ar gynnwys o'ch cyfrif am byth heb fodd i'w adfer ac yn diffodd y cyfrif. Caiff eich eich enw defnyddiwr ei gadw i atal unrhyw ddynwarediadau yn y dyfodol.
proceed: Dileu cyfrif
success_msg: Llwyddwyd i ddileu eich cyfrif
- warning_html: Dim ond dileu cynnwys o'r achos hwn ellid bod yn sicr ei fod wedi ei ddileu. Mae cynnwys sydd wedi ei rannu'n eang yn debygol o adael olion. Ni fydd gweinyddwyr all-lein a gweinyddwyr sydd wedi dad-danysgrifio o'ch diwedderiadau ddim yn diweddaru eu cronfeydd data.
- warning_title: Argaeledd cynnwys wedi'i rannu
directories:
directory: Cyfeiriadur proffil
- enabled: Rydych chi wedi'ch rhestru yn y cyfeiriadur ar hyn o bryd.
- enabled_but_waiting: Rydych wedi dewis i chi gael eich rhestru yn y cyfeiriadur, ond nid oes gennych y nifer lleiaf o ddilynwyr (%{min_followers}) i'w rhestru eto.
explanation: Darganfod defnyddwyr yn seiliedig ar eu diddordebau
explore_mastodon: Archwilio %{title}
- how_to_enable: Ar hyn o bryd nid ydych chi wedi dewis y cyfeiriadur. Gallwch ddewis i mewn isod. Defnyddiwch hashnodau yn eich bio-destun i'w restru dan hashnodau penodol!
- people:
- few: "%{count} o bobl"
- many: "%{count} o bobl"
- one: "%{count} berson"
- other: "%{count} o bobl"
- two: "%{count} o bobl"
- zero: "%{count} person"
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Nid oes gennych ganiatad i weld y dudalen hon.
'404': Nid yw'r dudalen yr oeddech yn chwilio amdani'n bodoli.
+ '406': This page is not available in the requested format.
'410': Nid yw'r dudalen yr oeddech yn chwilio amdani'n bodoli mwyach.
'422':
content: Methwyd i ddilysu diogelwch. A ydych chi'n blocio cwcîs?
@@ -620,6 +621,7 @@ cy:
'500':
content: Mae'n ddrwg gennym ni, ond fe aeth rhywbeth o'i le ar ein rhan ni.
title: Nid yw'r dudalen hon yn gywir
+ '503': The page could not be served due to a temporary server failure.
noscript_html: I ddefnyddio ap gwe Mastodon, galluogwch JavaScript os gwlwch yn dda. Fel arall, gallwch drio un o'r apiau cynhenid ar gyfer Mastodon ar eich platfform.
existing_username_validator:
not_found: ni ddarganfwyd defnyddiwr lleol gyda'r enw cyfrif hynny
@@ -746,9 +748,8 @@ cy:
too_many: Ni ellir ychwanegu mwy na 4 dogfen
migrations:
acct: enwdefnyddiwr@parth y cyfrif newydd
- currently_redirecting: 'Mae eich proffil wedi ei osod i ailgyfeirio i:'
- proceed: Cadw
- updated_msg: Diweddarwyd gosodiad mudo eich cyfrif yn llwyddiannus!
+ errors:
+ not_found: ni ellid dod o hyd iddo
moderation:
title: Goruwchwyliad
notification_mailer:
diff --git a/config/locales/da.yml b/config/locales/da.yml
index b24c9475c..85a5bbefd 100644
--- a/config/locales/da.yml
+++ b/config/locales/da.yml
@@ -4,21 +4,26 @@ da:
about_hashtag_html: Disse er offentlige trut der indeholder tagget #%{hashtag}. Du kan interagere med dem hvis du har en konto hvor som helst i fediverset.
about_mastodon_html: Mastodon er et socialt netværk der er baseret på åbne web protokoller og frit, open-source source software. Der er decentraliseret ligesom e-mail tjenester.
about_this: Om
+ active_count_after: aktive
administered_by: 'Administreret af:'
+ api: API
apps: Apps til mobilen
apps_platforms: Brug Mastodon på iOS, Android og andre platformer
contact: Kontakt
contact_missing: Ikke sat
contact_unavailable: Ikke tilgængeligt
+ discover_users: Opdag brugere
documentation: Dokumentation
- extended_description_html: |
-
Et godt sted for regler
-
Den udvidede beskrivelse er endnu ikke blevet opsat.
generic_description: "%{domain} er en server i netværket"
+ get_apps: Prøv en mobil app
hosted_on: Mostodon hostet på %{domain}
learn_more: Lær mere
privacy_policy: Privatlivspolitik
+ see_whats_happening: Se hvad der sker
source_code: Kildekode
+ status_count_after:
+ one: status
+ other: statusser
status_count_before: Som har skrevet
terms: Vilkår for service
user_count_after:
@@ -34,10 +39,12 @@ da:
other: Følgere
following: Følger
joined: Tilmeldt den %{date}
+ last_active: sidst aktiv
link_verified_on: Ejerskabet af dette link blev tjekket den %{date}
media: Medier
moved_html: "%{name} er flyttet til %{new_profile_link}:"
network_hidden: Denne information er ikke tilgængelig
+ never_active: Aldrig
nothing_here: Der er intet her!
people_followed_by: Folk som %{name} følger
people_who_follow: Folk der følger %{name}
@@ -53,6 +60,7 @@ da:
admin: Administrator
bot: Robot
moderator: Moderator
+ unavailable: Profil utilgængelig
unfollow: Følg ikke længere
admin:
account_actions:
@@ -63,6 +71,8 @@ da:
delete: Slet
destroyed_msg: Moderator notat succesfuldt destrueret!
accounts:
+ approve: Godkend
+ approve_all: Godkend alle
are_you_sure: Er du sikker?
avatar: Profilbillede
by_domain: Domæne
@@ -76,6 +86,7 @@ da:
confirm: Bekræft
confirmed: Bekræftet
confirming: Bekræfter
+ deleted: Slettet
demote: Degrader
disable: Deaktiver
disable_two_factor_authentication: Deaktiver 2FA
@@ -90,7 +101,9 @@ da:
followers_url: Link til følgere
follows: Følger
inbox_url: Link til indbakke
+ invited_by: Inviteret af
ip: IP-adresse
+ joined: Tilmeldt den
location:
all: Alle
local: Lokalt
@@ -100,7 +113,9 @@ da:
media_attachments: Medie bilag
memorialize: Omdan til et memoriam
moderation:
+ active: Aktiv
all: Alle
+ pending: Afventer
silenced: Dæmpet
suspended: Udelukket
title: Moderasion
@@ -116,6 +131,8 @@ da:
public: Offentligt
push_subscription_expires: PuSH abonnement udløber
redownload: Opdater profil
+ reject: Afvis
+ reject_all: Afvis alle
remove_avatar: Fjern profilbillede
resend_confirmation:
already_confirmed: Denne bruger er allerede blevet bekræftet
@@ -147,11 +164,14 @@ da:
undo_suspension: Fortryd udelukkelse
unsubscribe: Abonner ikke længere
username: Brugernavn
+ warn: Advar
+ whitelisted: Hvidlistet
action_logs:
actions:
assigned_to_self_report: "%{name} tildelte anmeldelsen %{target} til sig selv"
change_email_user: "%{name} ændrede email adressen for brugeren %{target}"
confirm_user: "%{name} bekræftede %{target}s email adresse"
+ create_account_warning: "%{name} sendte en advarsel til %{target}"
create_custom_emoji: "%{name} uploadede humørikonet %{target}"
create_domain_block: "%{name} blokerede domænet %{target}"
create_email_domain_block: "%{name} sortlistede email domænet %{target}"
@@ -184,6 +204,7 @@ da:
copied_msg: Succesfuldt oprettede en lokal kopi af humørikonet
copy: Kopier
copy_failed_msg: Kunne ikke oprette en lokal kopi af dette humørikon
+ create_new_category: Opret ny kategori
created_msg: Humørikon succesfuldt oprettet!
delete: Slet
destroyed_msg: Emojo succesfuldt destrueret!
@@ -209,6 +230,7 @@ da:
config: Konfiguration
feature_deletions: Konto sletninger
feature_invites: Invitations links
+ feature_profile_directory: Profilliste
feature_registrations: Registreringer
feature_relay: Føderations relæ
features: Funktioner
@@ -224,6 +246,8 @@ da:
week_interactions: interaktioner denne uge
week_users_active: aktive denne uge
week_users_new: brugere denne uge
+ domain_allows:
+ undo: Fjern fra hvidliste
domain_blocks:
add_new: Tilføj ny domain block
created_msg: Domæne blokade bliver nu behandlet
@@ -238,6 +262,8 @@ da:
silence: Dæmp
suspend: Udeluk
title: Ny domæne blokering
+ private_comment: Privat kommentar
+ public_comment: Offentlig kommentar
reject_media: Afvis medie filer
reject_media_hint: Fjerner lokalt lagrede multimedie filer og nægter at hente nogen i fremtiden. Irrelevant for udelukkelser
reject_reports: Afvis anmeldelser
@@ -263,8 +289,18 @@ da:
title: Email sortliste
followers:
back_to_account: Tilbage til konto
+ title: "%{acct}'s følgere"
instances:
+ by_domain: Domæne
+ moderation:
+ all: Alle
+ limited: Begrænset
+ private_comment: Privat kommentar
+ public_comment: Offentlig kommentar
title: Førderation
+ total_blocked_by_us: Blokeret af os
+ total_followed_by_them: Fulgt af dem
+ total_followed_by_us: Fulgt af os
invites:
deactivate_all: Deaktiver alle
filter:
@@ -286,6 +322,7 @@ da:
pending: Venter på godkendelse fra relæet
save_and_enable: Gem og aktiver
setup: Opsæt en videresendelses forbindelse
+ status: Status
title: Videresendelser
report_notes:
created_msg: Anmeldelse note blev oprettet!
@@ -315,6 +352,7 @@ da:
reported_by: Anmeldt af
resolved: Løst
resolved_msg: Anmeldelse er sat til at være løst!
+ status: Status
title: Anmeldelser
unassign: Utildel
unresolved: Uløst
@@ -332,6 +370,9 @@ da:
custom_css:
desc_html: Ændre udseendet med CSS indlæst på hver side
title: Brugerdefineret CSS
+ domain_blocks:
+ all: Til alle
+ disabled: Til ingen
hero:
desc_html: Vist på forsiden. Mindst 600x100px anbefales. Hvis ikke sat, vil dette falde tilbage til billedet fra serveren
title: Billede af helt
@@ -351,6 +392,10 @@ da:
min_invite_role:
disabled: Ingen
title: Tillad invitationer af
+ registrations_mode:
+ modes:
+ none: Ingen kan tilmelde sig
+ open: Alle kan tilmelde sig
show_known_fediverse_at_about_page:
desc_html: Når slået til, vil det vise trut fra hele det kendte fedivers på forhåndsvisning. Ellers vil det kun vise lokale trut.
title: Vis kendte fedivers på tidslinje forhåndsvisning
@@ -383,6 +428,7 @@ da:
delete: Slet
nsfw_off: Marker som værende ikke følsomt
nsfw_on: Marker som værende følsomt
+ deleted: Slettet
failed_to_execute: Udførelsen kunne ikke lade sig gøre
media:
title: Multimedier
@@ -391,15 +437,23 @@ da:
title: Konto statusser
with_media: Med multimedier
tags:
- accounts: Kontoer
- hidden: Skjult
+ accounts_today: Unikke brug i dag
+ accounts_week: Unikke brug denne uge
+ context: Kontekst
+ warning_presets:
+ delete: Slet
+ edit: Rediger
admin_mailer:
new_report:
body: "%{reporter} har anmeldt %{target}"
body_remote: Nogen fra %{domain} har anmeldt %{target}
subject: Ny anmeldelse for %{instance} (#%{id})
+ appearance:
+ discovery: Opdagelse
+ sensitive_content: Følsomt indhold
application_mailer:
notification_preferences: Ændre email præferencer
+ salutation: "%{name}"
settings: 'Ændre email præferencer: %{link}'
view: 'Se:'
view_profile: Se profil
@@ -413,10 +467,12 @@ da:
warning: Vær meget forsigtig med disse data. Del dem aldrig med nogen!
your_token: Din adgangs token
auth:
+ apply_for_account: Anmod om en invitation
change_password: Kodeord
- confirm_email: Bekræft email
delete_account: Slet konto
delete_account_html: Hvis du ønsker at slette din konto, kan du gøre det her. Du vil blive bedt om bekræftelse.
+ description:
+ prefix_sign_up: Tilmeld dig Mastodon i dag!
didnt_get_confirmation: Har du endnu ikke modtaget instrukser for bekræftelse?
forgot_password: Glemt dit kodeord?
invalid_reset_password_token: Adgangskode nulstillings token er ugyldig eller udløbet. Anmod venligst om en ny.
@@ -426,10 +482,14 @@ da:
migrate_account_html: Hvis du ønsker at omdirigere denne konto til en anden, kan du gøre det her.
or_log_in_with: Eller log in med
register: Opret dig
+ registration_closed: "%{instance} accepterer ikke nye medlemmer"
resend_confirmation: Gensend bekræftelses instrukser
reset_password: Nulstil kodeord
security: Sikkerhed
set_new_password: Sæt et nyt kodeord
+ status:
+ account_status: Kontostatus
+ trouble_logging_in: Har du problemer med at logge på?
authorize_follow:
already_following: Du følger allerede denne konto
error: Der opstod desværre en fejl under søgningen af denne fjerne konto
@@ -452,16 +512,20 @@ da:
over_x_years: "%{count}år"
x_months: "%{count}md"
deletes:
- bad_password_msg: Godt forsøg, hackere! Forkert kodeord
confirm_password: Indtast dit nuværende kodeord for at bekræfte din identitet
- description_html: Dette vil permanent, uigenkaldeligt fjerne indhold fra din konto samt deaktivere den. Dit brugernavn vil forblive reserveret for at forhindre fremtidige efterligninger.
proceed: Slet konto
success_msg: Din konto er nu blevet slettet
- warning_html: Kun sletning af indhold fra denne specifikke server er garanteret. Indhold der er blevet delt rundt omkring vil sandsynligvis efterlade spor. Offline servere og servere der ikke længere abonnerer på dine opdateringer vil ikke opdatere deres databaser.
- warning_title: Tilgængelighed af delt indhold
+ warning:
+ username_available: Dit brugernavn vil blive tilgængeligt igen
+ username_unavailable: Dit brugernavn vil forblive utilgængeligt
+ directories:
+ directory: Profilliste
+ explore_mastodon: Uforsk %{title}
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Du har ikke tilladelse til at se denne side.
'404': Den side du leder efter findes ikke.
+ '406': This page is not available in the requested format.
'410': Den side du leder efter findes ikke mere.
'422':
content: Sikkerhedsbekræftelse mislykkedes. Blokerer du cookies?
@@ -470,7 +534,11 @@ da:
'500':
content: Beklager men der gik noget galt i vores ende.
title: Siden er ikke korrekt
+ '503': The page could not be served due to a temporary server failure.
noscript_html: For at bruge Mastodon web applikationen, aktiver JavaScript. Alternativt kan du prøve en af disse apps til Mastodon for din platform.
+ existing_username_validator:
+ not_found: kunne ikke finde en lokal bruger med dette brugenavn
+ not_found_multiple: kunne ikke finde %{usernames}
exports:
archive_takeout:
date: Dato
@@ -480,7 +548,9 @@ da:
request: Anmod om dit arkiv
size: Størrelse
blocks: Du blokerer
+ csv: CSV
follows: Du følger
+ lists: Lister
mutes: Du dæmper
storage: Medie lager
filters:
@@ -503,14 +573,22 @@ da:
developers: Udviklere
more: Mere…
resources: Ressourcer
+ trending_now: Hot lige nu
generic:
+ all: Alle
changes_saved_msg: Ændringerne blev gemt!
copy: Kopier
+ order_by: Sorter efter
save_changes: Gem ændringer
validation_errors:
one: Der er noget der ikke er helt som det bør være! Tag lige et kig på følgende fejl forneden
other: Der er noget der ikke er helt som det bør være! Tag lige et kig på følgende %{count} fejl forneden
+ identity_proofs:
+ i_am_html: Jeg er %{username} på %{service}.
+ identity: Identitet
imports:
+ modes:
+ overwrite: Overskriv
preface: Du kan importere data du har eksporteret fra en anden server, så som en liste over folk du følger eller blokerer.
success: Dine data blev succesfuldt uploaded og vil nu blive behandlet hurtigst muligt
types:
@@ -550,9 +628,6 @@ da:
too_many: Kan ikke vedhæfte mere en 4 filer
migrations:
acct: username@domain af den nye konto
- currently_redirecting: 'Din profil er sat til at henvise til:'
- proceed: Gem
- updated_msg: Dine konti migrærings indstillinger blev opdateret!
moderation:
title: Moderatering
notification_mailer:
@@ -601,8 +676,19 @@ da:
older: Ældre
prev: Forrige
truncate: "...…"
+ polls:
+ errors:
+ duration_too_long: er for langt ude i fremtiden
+ duration_too_short: er for tidligy
+ expired: Denne afstemning er allerede afsluttet
preferences:
other: Andet
+ public_timelines: Offentlige tidslinjer
+ relationships:
+ last_active: Sidst aktiv
+ moved: Flyttet
+ mutual: Fælles
+ primary: Primær
remote_follow:
acct: Indtast dit brugernavn@domæne du vil handle fra
missing_resource: Kunne ikke finde det påkrævede omdirigerings link for din konto
@@ -611,6 +697,7 @@ da:
prompt: 'Du er ved at følge:'
sessions:
activity: Sidste aktivitet
+ browser: Browser
browsers:
alipay: Ali-pay
blackberry: Blackberry OS
@@ -632,11 +719,15 @@ da:
current_session: Nuværrende session
description: "%{browser} på %{platform}"
explanation: Disse er de web browsere der på nuværende tidspunkt er logget ind på din Mastodon konto.
+ ip: IP
platforms:
adobe_air: Adobe air
+ android: Android
blackberry: Blackberry OS
chrome_os: Chromeos
firefox_os: Firefox Os
+ ios: iOS
+ linux: Linux
mac: Mac.
other: ukendt platform
windows: Microsoft windows
@@ -646,6 +737,9 @@ da:
revoke_success: Sessionen blev tilbagekaldt
title: Sessioner
settings:
+ account: Konto
+ account_settings: Kontoindstillinger
+ appearance: Udseende
authorized_apps: Godkendte apps
back: Tilbage til Mastodon
delete: Sletning af konto
@@ -653,9 +747,12 @@ da:
edit_profile: Rediger profil
export: Data eksportering
import: Importer
+ import_and_export: Importer og eksporter
migrate: Konto migrering
notifications: Notifikationer
preferences: Præferencer
+ profile: Profil
+ relationships: Følger og følgere
two_factor_authentication: To-faktor godkendelse
statuses:
attached:
@@ -663,6 +760,9 @@ da:
image:
one: "%{count} billede"
other: "%{count} billeder"
+ video:
+ one: "%{count} video"
+ other: "%{count} videoer"
boosted_from_html: Fremhævet fra %{acct_link}
content_warning: 'Advarsel om indhold: %{warning}'
disallowed_hashtags:
@@ -676,6 +776,8 @@ da:
ownership: Du kan ikke fastgøre en anden persons trut
private: Ikke offentlige trut kan ikke blive fastgjort
reblog: Fremhævede trut kan ikke fastgøres
+ poll:
+ vote: Stem
show_more: Vis mere
sign_in_to_participate: Log ind for at deltage i samtalen
visibilities:
@@ -717,6 +819,9 @@ da:
explanation: Din anmodning for fuld backup af din Mastodon konto. Den er nu klar til at blive hentet!
subject: Dit arkiv er klar til at blive hentet ned
title: Udpluk af arkiv
+ warning:
+ title:
+ none: Advarsel
welcome:
edit_profile_action: Opsæt profil
edit_profile_step: Du kan skræddersy din profil ved at uploade et profilbillede, overskrift, ændre dit visningsnavn og mere. Hvis du kunne tænke dig at gennemse nye følgere før de må følge dig, kan du låse din konto.
@@ -740,3 +845,5 @@ da:
otp_lost_help_html: Hvis du har mistet adgang til begge, kan du få kontakt via %{email}
seamless_external_login: Du er logget ind via en ekstern service, så er kodeord og e-mail indstillinger ikke tilgængelige.
signed_in_as: 'Logget ind som:'
+ verification:
+ verification: Verificering
diff --git a/config/locales/de.yml b/config/locales/de.yml
index b9b8c02df..785face33 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -17,13 +17,13 @@ de:
contact_unavailable: Nicht verfügbar
discover_users: Benutzer_innen entdecken
documentation: Dokumentation
- extended_description_html: |
-
Ein hervorragender Ort für Regeln
-
Die erweiterte Beschreibung wurde von dem Administrator noch nicht eingestellt.
federation_hint_html: Mit einem Konto auf %{instance} wirst du in der Lage sein Nutzer_innen auf beliebigen Mastodon-Servern und darüber hinaus zu folgen.
generic_description: "%{domain} ist ein Server im Fediversum"
get_apps: Versuche eine mobile App
hosted_on: Mastodon, gehostet auf %{domain}
+ instance_actor_flash: |
+ Dieses Konto ist ein virtueller Akteur, der den Server selbst und nicht einen einzelnen Benutzer repräsentiert.
+ Dieser wird für Föderationszwecke verwendet und sollte nicht blockiert werden, es sei denn du möchtest die gesamte Instanz blockieren.
learn_more: Mehr erfahren
privacy_policy: Datenschutzerklärung
see_whats_happening: Finde heraus, was gerade in der Welt los ist
@@ -35,6 +35,13 @@ de:
status_count_before: mit
tagline: Finde deine Freunde und entdecke neue
terms: Nutzungsbedingungen
+ unavailable_content: Nicht verfügbarer Inhalt
+ unavailable_content_description:
+ reason: 'Grund:'
+ rejecting_media: Mediendateien dieses Servers werden nicht verarbeitet und keine Thumbnails werden angezeigt, was manuelles anklicken auf den anderen Server erfordert.
+ silenced: Beiträge von diesem Server werden nirgends angezeigt, außer in deiner Startseite, wenn du der Person folgst, die den Beitrag verfasst hat.
+ suspended: Du kannst niemanden von diesem Server folgen, und keine Daten werden verarbeitet oder gespeichert und keine Daten ausgetauscht.
+ unavailable_content_html: Mastodon erlaubt es dir generell, mit Inhalten zu interagieren, diese anzuzeigen und mit anderen Nutzern im Fediversum über Server hinweg zu interagieren. Dies sind die Ausnahmen, die auf diesem bestimmten Server gemacht wurden.
user_count_after:
one: Profil
other: Profile
@@ -42,6 +49,8 @@ de:
what_is_mastodon: Was ist Mastodon?
accounts:
choices_html: "%{name} empfiehlt:"
+ endorsements_hint: Du kannst Personen, denen du über die Weboberfläche folgst, auswählen, und sie werden hier angezeigt.
+ featured_tags_hint: Du kannst spezifische Hashtags, die hier angezeigt werden, angeben.
follow: Folgen
followers:
one: Folger_innen
@@ -53,6 +62,7 @@ de:
media: Medien
moved_html: "%{name} ist auf %{new_profile_link} umgezogen:"
network_hidden: Diese Informationen sind nicht verfügbar
+ never_active: Nie
nothing_here: Hier gibt es nichts!
people_followed_by: Profile, denen %{name} folgt
people_who_follow: Profile, die %{name} folgen
@@ -183,6 +193,7 @@ de:
username: Profilname
warn: Warnen
web: Web
+ whitelisted: Auf der Whitelist
action_logs:
actions:
assigned_to_self_report: "%{name} hat sich die Meldung %{target} selbst zugewiesen"
@@ -218,10 +229,12 @@ de:
deleted_status: "(gelöschter Beitrag)"
title: Überprüfungsprotokoll
custom_emojis:
+ assign_category: Kategorie zuweisen
by_domain: Domain
copied_msg: Eine lokale Kopie des Emojis wurde erstellt
copy: Kopieren
copy_failed_msg: Es konnte keine lokale Kopie des Emojis erstellt werden
+ create_new_category: Neue Kategorie erstellen
created_msg: Emoji erstellt!
delete: Löschen
destroyed_msg: Emoji gelöscht!
@@ -238,11 +251,13 @@ de:
shortcode: Kürzel
shortcode_hint: Mindestens 2 Zeichen, nur Buchstaben, Ziffern und Unterstriche
title: Eigene Emojis
+ uncategorized: Nicht kategorisiert
unlisted: Ungelistet
update_failed_msg: Konnte dieses Emoji nicht aktualisieren
updated_msg: Emoji erfolgreich aktualisiert!
upload: Hochladen
dashboard:
+ authorized_fetch_mode: Autorisierter Abruf-Modus
backlog: Rückständige Jobs
config: Konfiguration
feature_deletions: Kontolöschung
@@ -250,10 +265,13 @@ de:
feature_profile_directory: Profilverzeichnis
feature_registrations: Offene Anmeldung
feature_relay: Föderationsrelais
+ feature_spam_check: Anti-Spam
feature_timeline_preview: Zeitleistenvorschau
features: Funktionen
hidden_service: Föderation mit versteckten Diensten
open_reports: Ausstehende Meldungen
+ pending_tags: Hashtags, die auf eine Überprüfung warten
+ pending_users: Benutzer, die auf eine Überprüfung warten
recent_users: Neueste Nutzer
search: Volltextsuche
single_user_mode: Einzelnutzermodus
@@ -265,11 +283,18 @@ de:
week_interactions: Interaktionen diese Woche
week_users_active: Aktiv diese Woche
week_users_new: Benutzer_innen diese Woche
+ whitelist_mode: Whitelist-Modus
+ domain_allows:
+ add_new: Whitelist-Domain
+ created_msg: Domain wurde erfolgreich zur Whitelist hinzugefügt
+ destroyed_msg: Domain wurde von der Whitelist entfernt
+ undo: Von der Whitelist entfernen
domain_blocks:
add_new: Neue Domainblockade hinzufügen
created_msg: Die Domain-Blockade wird nun durchgeführt
destroyed_msg: Die Domain-Blockade wurde rückgängig gemacht
domain: Domain
+ edit: Domainblockade bearbeiten
existing_domain_block_html: Es gibt schon eine Blockade für %{name}, diese muss erst aufgehoben werden.
new:
create: Blockade einrichten
@@ -280,6 +305,10 @@ de:
silence: Stummschaltung
suspend: Sperre
title: Neue Domain-Blockade
+ private_comment: Privater Kommentar
+ private_comment_hint: Kommentar zu dieser Domain-Beschränkung für die interne Nutzung durch die Moderatoren.
+ public_comment: Öffentlicher Kommentar
+ public_comment_hint: Kommentar zu dieser Domain-Beschränkung für die allgemeine Öffentlichkeit, wenn das Veröffentlichen der Blockliste aktiviert ist.
reject_media: Mediendateien ablehnen
reject_media_hint: Entfernt lokal gespeicherte Mediendateien und verhindert deren künftiges Herunterladen. Für Sperren irrelevant
reject_reports: Meldungen ablehnen
@@ -299,6 +328,7 @@ de:
title: Domain-Blockade für %{domain} zurücknehmen
undo: Zurücknehmen
undo: Domainblockade zurücknehmen
+ view: Zeige Domain-Blockade
email_domain_blocks:
add_new: Neue hinzufügen
created_msg: E-Mail-Domain-Blockade erfolgreich erstellt
@@ -322,6 +352,8 @@ de:
all: Alle
limited: Beschränkt
title: Moderation
+ private_comment: Privater Kommentar
+ public_comment: Öffentlicher Kommentar
title: Föderation
total_blocked_by_us: Von uns blockiert
total_followed_by_them: Gefolgt von denen
@@ -399,6 +431,16 @@ de:
custom_css:
desc_html: Verändere das Aussehen mit CSS, dass auf jeder Seite geladen wird
title: Benutzerdefiniertes CSS
+ default_noindex:
+ desc_html: Beeinflusst alle Benutzer, die diese Einstellung nicht selbst geändert haben
+ title: Benutzer aus Suchmaschinen-Indizierung standardmäßig herausnehmen
+ domain_blocks:
+ all: An alle
+ disabled: An niemanden
+ title: Zeige Domain-Blockaden
+ users: Für angemeldete lokale Benutzer
+ domain_blocks_rationale:
+ title: Rationale anzeigen
hero:
desc_html: Wird auf der Startseite angezeigt. Mindestens 600x100px sind empfohlen. Wenn es nicht gesetzt wurde, wird das Server-Thumbnail dafür verwendet
title: Bild für Einstiegsseite
@@ -449,6 +491,9 @@ de:
desc_html: Hier kannst du deine eigenen Geschäftsbedingungen, Datenschutzerklärung und anderes rechtlich Relevante eintragen. Du kannst HTML-Tags nutzen
title: Benutzerdefinierte Geschäftsbedingungen
site_title: Name des Servers
+ spam_check_enabled:
+ desc_html: Mastodon kann automatisch Server stummschalten und automatisch Konten melden basierend auf Maßnahmen wie die Erkennung von Konten, die wiederholt unerwünschte Nachrichten senden. Es können hierbei mögliche Probleme auftreten.
+ title: Anti-Spam
thumbnail:
desc_html: Wird für die Vorschau via OpenGraph und API verwendet. 1200×630 px wird empfohlen
title: Vorschaubild des Servers
@@ -456,12 +501,16 @@ de:
desc_html: Auf der Einstiegsseite die öffentliche Zeitleiste anzeigen
title: Zeitleisten-Vorschau
title: Server-Einstellungen
+ trends:
+ desc_html: Zuvor überprüfte Hashtags öffentlich anzeigen, die derzeit angesagt sind
+ title: Trendende Hashtags
statuses:
back_to_account: Zurück zum Konto
batch:
delete: Löschen
nsfw_off: Als nicht heikel markieren
nsfw_on: Als heikel markieren
+ deleted: Gelöscht
failed_to_execute: Ausführen fehlgeschlagen
media:
title: Medien
@@ -470,13 +519,23 @@ de:
title: Beiträge des Kontos
with_media: Mit Medien
tags:
- accounts: Konten
- hidden: Versteckt
- hide: Vom Profilverzeichnis verstecken
+ accounts_today: Einzigartige Nutzungen heute
+ accounts_week: Einzigartige Nutzung dieser Woche
+ breakdown: Heruntergebrochene Statistiken der heutigen Nutzung nach Quelle
+ context: Kontext
+ directory: Im Verzeichnis
+ in_directory: "%{count} im Verzeichnis"
+ last_active: Zuletzt aktiv
+ most_popular: Am beliebtesten
+ most_recent: Neuste
name: Hashtag
+ review: Prüfstatus
+ reviewed: Überprüft
title: Hashtags
- unhide: Zeige in Verzeichnis
- visible: Sichtbar
+ trending_right_now: Aktuell in den Trends
+ unique_uses_today: "%{count} Beiträge heute"
+ unreviewed: Nicht überprüft
+ updated_msg: Hashtageinstellungen wurden erfolgreich aktualisiert
title: Administration
warning_presets:
add_new: Neu hinzufügen
@@ -492,11 +551,21 @@ de:
body: "%{reporter} hat %{target} gemeldet"
body_remote: Jemand von %{domain} hat %{target} gemeldet
subject: Neue Meldung auf %{instance} (#%{id})
+ new_trending_tag:
+ body: 'Der Hashtag #%{name} ist heute am trenden, aber wurde vorher noch nicht überprüft. Er wird nicht öffentlich angezeigt, es sei denn du erlaubst es oder speicherst das Formular ab und vergisst es.'
+ subject: Neuer Hashtag zur Überprüfung auf %{instance} verfügbar (#%{name})
+ aliases:
+ add_new: Alias erstellen
+ created_msg: Ein neuer Alias wurde erfolgreich erstellt. Du kannst nun den Wechsel vom alten Konto starten.
+ deleted_msg: Der Alias wurde erfolgreich entfernt. Aus diesem Konto zu diesem zu verschieben ist nicht mehr möglich.
+ hint_html: Wenn du von einem Konto zu einem anderem Konto wechseln möchtest, dann kannst du einen Alias erstellen, welcher benötigt wird bevor du deine Folger_innen vom altem Account zu diesen migrierst. Die Aktion alleine ist harmlos und widerruflich. Die Kontenmigration wird vom altem Konto aus eingeleitet.
+ remove: Alle Aliase aufheben
appearance:
advanced_web_interface: Fortgeschrittene Benutzeroberfläche
advanced_web_interface_hint: Wenn du mehr aus deiner Bildschirmbreite herausholen möchtest, erlaubt dir die fortgeschrittene Benutzeroberfläche viele unterschiedliche Spalten auf einmal zu sehen, wie z.B. deine Startseite, Benachrichtigungen, das gesamte bekannte Netz, deine Listen und beliebige Hashtags.
animations_and_accessibility: Animationen und Barrierefreiheit
confirmation_dialogs: Bestätigungsfenster
+ discovery: Entdecken
sensitive_content: Heikle Inhalte
application_mailer:
notification_preferences: Ändere E-Mail-Einstellungen
@@ -517,9 +586,13 @@ de:
apply_for_account: Eine Einladung anfragen
change_password: Passwort
checkbox_agreement_html: Ich akzeptiere die Server-Regeln und die Nutzungsbedingungen
- confirm_email: E-Mail bestätigen
+ checkbox_agreement_without_rules_html: Ich stimme den Nutzungsbedingungen zu
delete_account: Konto löschen
delete_account_html: Falls du dein Konto löschen willst, kannst du hier damit fortfahren. Du wirst um Bestätigung gebeten werden.
+ description:
+ prefix_invited_by_user: "@%{name} lädt dich ein, diesem Server von Mastodon beizutreten!"
+ prefix_sign_up: Melde dich heute bei Mastodon an!
+ suffix: Mit einem Konto kannst du Leuten folgen, Updates veröffentlichen und Nachrichten mit Benutzern von jedem Mastodon-Server austauschen und mehr!
didnt_get_confirmation: Keine Bestätigungs-Mail erhalten?
forgot_password: Passwort vergessen?
invalid_reset_password_token: Das Token zum Zurücksetzen des Passworts ist ungültig oder abgelaufen. Bitte fordere ein neues an.
@@ -537,6 +610,16 @@ de:
reset_password: Passwort zurücksetzen
security: Sicherheit
set_new_password: Neues Passwort setzen
+ setup:
+ email_below_hint_html: Wenn die unten stehende E-Mail-Adresse falsch ist, kannst du sie hier ändern und eine neue Bestätigungs-E-Mail erhalten.
+ email_settings_hint_html: Die Bestätigungs-E-Mail wurde an %{email} gesendet. Wenn diese E-Mail-Adresse nicht korrekt ist, kannst du sie in den Einstellungen ändern.
+ title: Konfiguration
+ status:
+ account_status: Kontostatus
+ confirming: Warte auf die Bestätigung der E-Mail.
+ functional: Dein Konto ist voll funktionsfähig.
+ pending: Deine Bewerbung wird von unseren Mitarbeitern noch überprüft. Dies kann einige Zeit dauern. Du erhältst eine E-Mail, wenn deine Bewerbung genehmigt wurde.
+ redirecting_to: Dein Konto ist inaktiv, da es derzeit zu %{acct} umgeleitet wird.
trouble_logging_in: Schwierigkeiten beim Anmelden?
authorize_follow:
already_following: Du folgst diesem Konto bereits
@@ -549,6 +632,11 @@ de:
return: Zeige das Profil
web: In der Benutzeroberfläche öffnen
title: "%{acct} folgen"
+ challenge:
+ confirm: Fortfahren
+ hint_html: "Hinweis: Wir werden dich für die nächste Stunde nicht erneut nach deinem Passwort fragen."
+ invalid_password: Ungültiges Passwort
+ prompt: Gib dein Passwort ein um fortzufahren
datetime:
distance_in_words:
about_x_hours: "%{count}h"
@@ -564,26 +652,33 @@ de:
x_months: "%{count}mo"
x_seconds: "%{count}s"
deletes:
- bad_password_msg: Falsches Passwort
+ challenge_not_passed: Die eingegebenen Informationen waren nicht korrekt
confirm_password: Gib dein derzeitiges Passwort ein, um deine Identität zu bestätigen
- description_html: Hiermit wird dauerhaft und unwiederbringlich der Inhalt deines Kontos gelöscht und dein Konto deaktiviert. Dein Profilname wird reserviert, um künftige Imitationen zu verhindern.
+ confirm_username: Gib deinen Benutzernamen ein, um das Verfahren zu bestätigen
proceed: Konto löschen
success_msg: Dein Konto wurde erfolgreich gelöscht
- warning_html: Wir können nur dafür garantieren, dass die Inhalte auf diesem einen Server gelöscht werden. Bei Inhalten, die weit verbreitet wurden, ist es wahrscheinlich, dass Spuren bleiben werden. Server, die offline sind oder keine Benachrichtigungen von deinem Konto mehr empfangen, werden ihre Datenbanken nicht bereinigen.
- warning_title: Verfügbarkeit verstreuter Inhalte
+ warning:
+ before: 'Bevor du fortfährst, lese bitte diese Punkte sorgfältig durch:'
+ caches: Inhalte, die von anderen Servern zwischengespeichert wurden, können weiterhin bestehen
+ data_removal: Deine Beiträge und andere Daten werden dauerhaft entfernt
+ email_change_html: Du kannst deine E-Mail-Adresse ändern, ohne dein Konto zu löschen
+ email_contact_html: Wenn die Bestätigungs-E-Mail immer noch nicht ankam, kannst du eine E-Mail an %{email} senden, um weitere Hilfe zu erhalten
+ email_reconfirmation_html: Wenn du die Bestätigungs-E-Mail nicht erhalten hast, kannst du sie erneut anfordern
+ irreversible: Du kannst dein Konto nicht reaktivieren
+ more_details_html: Weitere Details findest du in der Datenschutzrichtlinie.
+ username_available: Dein Benutzername wird wieder verfügbar
+ username_unavailable: Dein Benutzername bleibt nicht verfügbar
directories:
directory: Profilverzeichnis
- enabled: Du bist gerade in dem Verzeichnis gelistet.
- enabled_but_waiting: Du bist damit einverstanden im Verzeichnis aufgelistet zu werden, aber du hast noch nicht genug Folger_innen (%{min_followers}).
explanation: Entdecke Benutzer_innen basierend auf deren Interessen
explore_mastodon: Entdecke %{title}
- how_to_enable: Du hast dich gerade nicht dazu entschieden im Verzeichnis gelistet zu werden. Du kannst dich unten dafür eintragen. Benutze Hashtags in deiner Profilbeschreibung, um unter spezifischen Hashtags gelistet zu werden!
- people:
- one: "%{count} Person"
- other: "%{count} Leute"
+ domain_validator:
+ invalid_domain: ist kein gültiger Domain-Name
errors:
+ '400': Die Anfrage, die du gesendet hast, war ungültig oder fehlerhaft.
'403': Dir fehlt die Befugnis, diese Seite sehen zu können.
'404': Die Seite nach der du gesucht hast wurde nicht gefunden.
+ '406': Diese Seite ist im gewünschten Format nicht verfügbar.
'410': Die Seite nach der du gesucht hast existiert hier nicht mehr.
'422':
content: Sicherheitsüberprüfung fehlgeschlagen. Blockierst du Cookies?
@@ -592,6 +687,7 @@ de:
'500':
content: Bitte verzeih, etwas ist bei uns schief gegangen.
title: Diese Seite ist kaputt
+ '503': Die Seite konnte wegen eines temporären Serverfehlers nicht angezeigt werden.
noscript_html: Bitte aktiviere JavaScript, um die Mastodon-Web-Anwendung zu verwenden. Alternativ kannst du auch eine der nativen Mastodon-Anwendungen für deine Plattform probieren.
existing_username_validator:
not_found: kann lokalen Benutzer nicht mit diesem Nuternamen finden
@@ -615,6 +711,7 @@ de:
add_new: Neu hinzufügen
errors:
limit: Du hast bereits die maximale Anzahl an empfohlenen Hashtags erreicht
+ hint_html: "Was sind empfohlene Hashtags? Sie werden in deinem öffentlichen Profil deutlich angezeigt und ermöglichen es den Menschen, deine öffentlichen Beiträge speziell unter diesen Hashtags zu durchsuchen. Sie sind ein großartiges Werkzeug, um kreative Werke oder langfristige Projekte zu verfolgen."
filters:
contexts:
home: Startseite
@@ -635,10 +732,12 @@ de:
developers: Entwickler
more: Mehr…
resources: Ressourcen
+ trending_now: In den Trends
generic:
all: Alle
changes_saved_msg: Änderungen gespeichert!
copy: Kopieren
+ no_batch_actions_available: Keine Massenaktionen auf dieser Seite verfügbar
order_by: Sortieren nach
save_changes: Änderungen speichern
validation_errors:
@@ -710,9 +809,31 @@ de:
too_many: Es können nicht mehr als 4 Dateien angehängt werden
migrations:
acct: benutzername@domain des neuen Kontos
- currently_redirecting: 'Deine Profilweiterleitung wurde gesetzt auf:'
- proceed: Speichern
- updated_msg: Deine Konto-Migrationseinstellungen wurden erfolgreich aktualisiert!
+ cancel: Umleitung abbrechen
+ cancel_explanation: Das Abbrechen der Umleitung wird dein aktuelles Konto erneut aktivieren, aber keine Folger_innen, die auf dieses Konto verschoben wurden, zurückholen.
+ cancelled_msg: Die Umleitung wurde erfolgreich abgebrochen.
+ errors:
+ already_moved: ist das gleiche Konto, zu dem du bereits umgezogen bist
+ missing_also_known_as: referenziert nicht zurück auf dieses Konto
+ move_to_self: darf nicht das aktuelles Konto sein
+ not_found: kann nicht gefunden werden
+ on_cooldown: Die Abklingzeit läuft gerade
+ followers_count: Folger_innen zur Zeit des Verschiebens
+ incoming_migrations: Ziehe von einem anderen Konto um
+ incoming_migrations_html: Um von einem anderen Konto zu diesem zu wechseln, musst du zuerst einen Kontoalias erstellen.
+ moved_msg: Dein Konto wird jetzt zu %{acct} weitergeleitet und deine Folger_innen werden verschoben.
+ not_redirecting: Dein Konto wird derzeit nicht auf ein anderes Konto weitergeleitet.
+ on_cooldown: Du hast dein Konto vor kurzem migriert. Diese Funktion wird in %{count} Tagen wieder verfügbar sein.
+ past_migrations: Vorherige Migrationen
+ proceed_with_move: Folger_innen verschieben
+ redirecting_to: Dein Konto wird zu %{acct} weitergeleitet.
+ warning:
+ backreference_required: Das neue Konto muss zuerst so konfiguriert werden, dass es auf das alte Konto referenziert
+ before: 'Bevor du fortfährst, lese bitte diese Hinweise sorgfältig durch:'
+ cooldown: Nach dem Migrieren wird es eine Abklingzeit geben, in der du das Konto nicht noch einmal migrieren kannst
+ disabled_account: Dein aktuelles Konto wird nachher nicht vollständig nutzbar sein. Du hast jedoch Zugriff auf den Datenexport sowie die Reaktivierung.
+ followers: Diese Aktion wird alle Folger_innen vom aktuellen Konto auf das neue Konto verschieben
+ other_data: Keine anderen Daten werden automatisch verschoben
moderation:
title: Moderation
notification_mailer:
@@ -857,6 +978,7 @@ de:
settings:
account: Konto
account_settings: Konto & Sicherheit
+ aliases: Kontoaliase
appearance: Aussehen
authorized_apps: Autorisierte Anwendungen
back: Zurück zu Mastodon
@@ -874,6 +996,8 @@ de:
profile: Profil
relationships: Folger_innen und Gefolgte
two_factor_authentication: Zwei-Faktor-Auth
+ spam_check:
+ spam_detected_and_silenced: Dies ist ein automatisierter Bericht. Spam wurde erkannt und der Absender wurde automatisch stummgeschaltet. Wenn dies ein Fehler ist, schalte dieses Konto bitte wieder frei.
statuses:
attached:
description: 'Angehängt: %{attached}'
@@ -905,8 +1029,8 @@ de:
sign_in_to_participate: Melde dich an, um an der Konversation teilzuhaben
title: '%{name}: "%{quote}"'
visibilities:
- private: Nur Folgende
- private_long: Nur für Folgende sichtbar
+ private: Nur für Folger_innen
+ private_long: Nur für Folger_innen sichtbar
public: Öffentlich
public_long: Für alle sichtbar
unlisted: Nicht gelistet
@@ -915,6 +1039,8 @@ de:
pinned: Angehefteter Beitrag
reblogged: teilte
sensitive_content: Heikle Inhalte
+ tags:
+ does_not_match_previous_name: entspricht nicht dem vorherigen Namen
terms:
body_html: |
Datenschutzerklärung
@@ -1034,7 +1160,9 @@ de:
disable: Solange dein Konto eingefroren ist, sind deine Benutzerdaten intakt; aber du kannst nichts tun, bis dein Konto entsperrt wurde.
silence: Solange dein Konto limitiert ist, können nur die Leute, die dir bereits folgen, deine Beiträge auf dem Server sehen und es könnte sein, dass du von verschiedenen öffentlichen Listungen ausgeschlossen wirst. Andererseits können andere dir manuell folgen.
suspend: Dein Konto wurde gesperrt und alle deine Beiträge und hochgeladenen Medien wurden unwiderruflich vom Server und anderen Servern, bei denen du Folgende hattest, gelöscht.
+ get_in_touch: Du kannst auf diese E-Mail antworten, um mit dem Personal von %{instance} in Kontakt zu treten.
review_server_policies: Serverrichtlinien ansehen
+ statuses: 'Besonders für:'
subject:
disable: Dein Konto %{acct} wurde eingefroren
none: Warnung für %{acct}
diff --git a/config/locales/devise.br.yml b/config/locales/devise.br.yml
new file mode 100644
index 000000000..3fe043754
--- /dev/null
+++ b/config/locales/devise.br.yml
@@ -0,0 +1,33 @@
+---
+br:
+ devise:
+ failure:
+ inactive: N'eo ket gweredekaet ho kont c'hoazh.
+ invalid: "%{authentication_keys} pe ger-tremen diwiriek."
+ last_attempt: Un esae a chom deoc'h a-raok ma vefe prennet ho kont.
+ locked: Prennet eo ho kont.
+ not_found_in_database: "%{authentication_keys} pe ger-tremen diwiriek."
+ pending: O vezañ asantet eo ho kont.
+ mailer:
+ confirmation_instructions:
+ action: Gwiriekaat ar chomlec'h postel
+ action_with_app: Kadarnaat ha distroiñ da %{app}
+ title: Gwiriekaat ar chomlec'h postel
+ email_changed:
+ subject: 'Mastodoñ : Postel kemmet'
+ title: Chomlec'h postel nevez
+ password_change:
+ explanation: Kemmet eo bet ger-tremen ho kont.
+ subject: 'Mastodoñ : Ger-tremen kemmet'
+ title: Ger-tremen kemmet
+ reconfirmation_instructions:
+ explanation: Kadarnait ar chomlec'h nevez evit cheñch ho postel.
+ subject: 'Mastodoñ : Kadarnait ar postel evit %{instance}'
+ title: Gwiriekaat ar chomlec'h postel
+ reset_password_instructions:
+ action: Cheñch ar ger-tremen
+ explanation: Goulennet ho peus ur ger-tremen nevez evit ho kont.
+ passwords:
+ updated_not_active: Kemmet eo bet ho ker-tremen ent reizh.
+ registrations:
+ signed_up: Donemat ! Kevreet oc'h.
diff --git a/config/locales/devise.co.yml b/config/locales/devise.co.yml
index 16481737f..c9511d14d 100644
--- a/config/locales/devise.co.yml
+++ b/config/locales/devise.co.yml
@@ -46,6 +46,18 @@ co:
extra: S’ellu ùn era micca voi, ignurate stu missaghju. A chjave d’accessu ùn cambiarà micca s’è voi ùn cliccate micca u ligame.
subject: 'Mastodon: Cambià a chjave d’accessu'
title: Cambià a chjave
+ two_factor_disabled:
+ explanation: L'autentificazione à dui fattori per u vostru contu hè stata disattivata. A cunnessione hè avà pussibule cù l'usu solu di u vostru e-mail è di a chjave d'accessu.
+ subject: 'Mastodon: Autentificazione à dui fattori disattivata'
+ title: A2F disattivata
+ two_factor_enabled:
+ explanation: L'autentificazione à dui fattori hè stata attivata per u vostru contu. Un codice, o fiscia, generata da l'applicazione TOTP assuciata sarà dumandata per cunnettavvi.
+ subject: 'Mastodon: Autentificazione à dui fattori attivata'
+ title: A2F attivata
+ two_factor_recovery_codes_changed:
+ explanation: I codici di ricuperazione pricidenti ùn sò più validi è un novu inseme di codici hè statu creatu.
+ subject: 'Mastodon: Rigenerazione di i codici à dui fattori di ricuperazione'
+ title: Cambiamentu di i codici di ricuperazione d'A2F
unlock_instructions:
subject: 'Mastodon: Riapre u contu'
omniauth_callbacks:
diff --git a/config/locales/devise.cs.yml b/config/locales/devise.cs.yml
index 94c41ed98..d1b9fc09c 100644
--- a/config/locales/devise.cs.yml
+++ b/config/locales/devise.cs.yml
@@ -46,6 +46,18 @@ cs:
extra: Pokud jste tohle nevyžádal/a, prosím ignorujte tento e-mail. Vaše heslo nebude změněno, dokud nepřejdete na výše uvedenou adresu a nevytvoříte si nové.
subject: 'Mastodon: Instrukce pro obnovení hesla'
title: Obnovení hesla
+ two_factor_disabled:
+ explanation: Dvoufázové ověřování bylo pr váš účet zakázáno. Přihlašování je nyní možné pouze pomocí e-mailové adresy a hesla.
+ subject: 'Mastodon: Dvoufázové ověřování zakázáno'
+ title: 2FA zakázáno
+ two_factor_enabled:
+ explanation: Dvoufázové ověřování bylo pr váš účet povoleno. Pro přihlášení bude vyžadován token vygenerovaný spárovanou TOTP aplikací.
+ subject: 'Mastodon: Dvoufázové ověřování povoleno'
+ title: 2FA povoleno
+ two_factor_recovery_codes_changed:
+ explanation: Předchozí záložní kódy byly zrušeny a byly vygenerovány nové.
+ subject: 'Mastodon: Dvoufázové záložní kódy znovu vygenerovány'
+ title: Záložní kódy pro 2FA změněny
unlock_instructions:
subject: 'Mastodon: Instrukce pro odemčení účtu'
omniauth_callbacks:
diff --git a/config/locales/devise.cy.yml b/config/locales/devise.cy.yml
index 727c71464..e5366f8cd 100644
--- a/config/locales/devise.cy.yml
+++ b/config/locales/devise.cy.yml
@@ -46,6 +46,18 @@ cy:
extra: Os na wnaethoch gais am hyn, anwybyddwch yr e-bost hwn os gwelwch yn dda. Ni fydd eich cyfrinair yn newid nes i chi fynd at y ddolen uchod a chreu un newydd.
subject: 'Mastodon: Ailosod cyfarwyddiadau cyfrinair'
title: Ailosod cyfrinair
+ two_factor_disabled:
+ explanation: Mae dilysu dau ffactor ar gyfer eich cyfrif wedi'i anablu. Mae mewngofnodi bellach yn bosibl gan ddefnyddio cyfeiriad e-bost a chyfrinair yn unig.
+ subject: 'Mastodon: Dilysu dau ffactor yn anabl'
+ title: Dilysu dau ffactor yn anabl
+ two_factor_enabled:
+ explanation: Mae dilysu dau ffactor wedi'i alluogi ar gyfer eich cyfrif. Bydd angen tocyn a gynhyrchir gan yr ap TOTP pâr i fewngofnodi.
+ subject: 'Mastodon: mae dilysu dau ffactor wedi''i alluogi'
+ title: Mae dilysu dau ffactor wedi'i alluogi
+ two_factor_recovery_codes_changed:
+ explanation: Mae'r codau adfer blaenorol wedi'u hannilysu a chynhyrchwyd rhai newydd.
+ subject: 'Mastodon: Mae codau adfer dau ffactor wedi''u hadfywio'
+ title: Newidiodd codau adfer 2FA
unlock_instructions:
subject: 'Mastodon: Cyfarwyddiadau datgloi'
omniauth_callbacks:
diff --git a/config/locales/devise.da.yml b/config/locales/devise.da.yml
index 4816d6456..1b05d77c1 100644
--- a/config/locales/devise.da.yml
+++ b/config/locales/devise.da.yml
@@ -2,7 +2,7 @@
da:
devise:
confirmations:
- confirmed: Din email adresse er blevet succesfuldt bekræftet.
+ confirmed: Din e-mail er nu bekræftet.
send_instructions: Du vil modtage en mail med instrukser for hvordan du bekræfter din email adresse om få minutter. Tjek venligst din spam mappe hvis du ikke har modtaget denne email.
send_paranoid_instructions: Hvis din email adresse allerede findes i vores database, vil du modtage en email med instrukser for hvordan du bekræfter din email adresse om få minutter. Tjek gerne din spam mappe hvis du ikke modtager denne email.
failure:
@@ -12,6 +12,7 @@ da:
last_attempt: Du har et forsøg tilbage før din konto låses.
locked: Din konto er låst.
not_found_in_database: Ugyldig %{authentication_keys} eller ugyldigt kodeord.
+ pending: Din konto er stadig under bedømmelse.
timeout: Din session er udløbet. Log venligst ind igen for at fortsætte.
unauthenticated: Du er nødt til at logge ind eller oprette dig for at fortsætte.
unconfirmed: Du er nødt til at bekræfte din email adresse for at fortsætte.
@@ -20,6 +21,7 @@ da:
action: Bekræft email adresse
action_with_app: Bekræft og vend tilbage til %{app}
explanation: Du har oprettet en konto på %{host} med denne email adresse. Du er et klik fra at aktivere din konto. Hvis du ikke har oprettet dig, ignorer venligst denne email.
+ explanation_when_pending: Du har ansøgt om en invitation til %{host} med denne mailadresse. Når du bekræfter din mailadresse vil vi bedømme din ansøgning. Indtil da kan du ikke logge ind. Din data slettes hvis din ansøgning bliver afvist så du behøver ikke foretage yderligere handlinger. Hvis dette ikke var dig kan du ignorere denne mail.
extra_html: Tjek også reglerne for serveren og vores betingelser.
subject: 'Mastodon: Bekræftelses instrukser for %{instance}'
title: Bekræft email adresse
@@ -60,6 +62,7 @@ da:
signed_up: Velkommen! Du har nu tilmeldt dig.
signed_up_but_inactive: Du har nu oprettet dig. Vi kunne dog ikke logge dig ind da din konto endnu ikke er aktiveret.
signed_up_but_locked: Du har nu oprettet dig. Vi kunne dog ikke logge dig ind da din konto er låst.
+ signed_up_but_pending: En besked med et bekræftelseslink er blevet sendt til din mailadresse. Vi vil behandle din ansøgning når du har trykket på dette link. Du får en meddelelse hvis din ansøgning bliver accepteret.
signed_up_but_unconfirmed: En besked med et bekræftelses link er nu blevet sendt til din email adresse. Følg linket for at aktivere din konti. Tjek din spam mappe hvis du ikke har modtaget denne email.
update_needs_confirmation: Du har succesfuldt opdateret din konto, men vi er nødt til at bekræfte din email adresse. Tjek venligst din email og følg bekræftelses linket for at bekræfte din nye email adresse. Tjek venligst din spam mappe hvis du ikke har modtaget denne email.
updated: Din konto er nu blevet opdateret.
diff --git a/config/locales/devise.de.yml b/config/locales/devise.de.yml
index bd573dc3e..372090515 100644
--- a/config/locales/devise.de.yml
+++ b/config/locales/devise.de.yml
@@ -46,6 +46,18 @@ de:
extra: Wenn du diese Anfrage nicht gestellt hast, solltest du diese E-Mail ignorieren. Dein Passwort wird sich nicht ändern solange du den obigen Link anklickst und ein neues erstellst.
subject: 'Mastodon: Passwort zurücksetzen'
title: Passwort zurücksetzen
+ two_factor_disabled:
+ explanation: Zwei-Faktor-Authentifizierung für dein Konto wurde deaktiviert. Login ist jetzt nur mit E-Mail-Adresse und Passwort möglich.
+ subject: 'Mastodon: Zwei‐Faktor‐Authentifizierung deaktiviert'
+ title: 2FA deaktiviert
+ two_factor_enabled:
+ explanation: Zwei-Faktor-Authentifizierung wurde für dein Konto aktiviert. Ein Token, der von der gepaarten TOTP-App generiert wird, wird für den Login benötigt.
+ subject: 'Mastodon: Zwei‐Faktor‐Authentifizierung aktiviert'
+ title: 2FA aktiviert
+ two_factor_recovery_codes_changed:
+ explanation: Die vorherigen Wiederherstellungscodes wurden ungültig gemacht und es wurden neue generiert.
+ subject: 'Mastodon: Zwei-Faktor-Wiederherstellungscodes neu generiert'
+ title: 2FA Wiederherstellungscodes geändert
unlock_instructions:
subject: 'Mastodon: Konto entsperren'
omniauth_callbacks:
diff --git a/config/locales/devise.el.yml b/config/locales/devise.el.yml
index 0b5c68636..75f68c281 100644
--- a/config/locales/devise.el.yml
+++ b/config/locales/devise.el.yml
@@ -46,6 +46,10 @@ el:
extra: Αν δεν ζήτησες εσύ αυτή την αλλαγή, παρακαλούμε αγνόησε αυτό το email. Το συνθηματικό σου δεν θα αλλάξει μέχρι να επισκεφτείς τον παραπάνω σύνδεσμο και να δημιουργήσεις ένα καινούριο.
subject: 'Mastodon: Οδηγίες επαναφοράς συνθηματικού'
title: Επαναφορά συνθηματικού
+ two_factor_disabled:
+ explanation: Ο έλεγχος ταυτότητας δυο παραγόντων (2FA) έχει απενεργοποιηθεί για το λογαριασμό σου. Η σύνδεση γίνεται απλά με το email και το συνθηματικό.
+ subject: 'Mastodon: Απενεργοποιήθηκε ο έλεγχος ταυτότητας δύο παραγόντων'
+ title: Απενεργοποιημένο 2FA
unlock_instructions:
subject: 'Mastodon: Οδηγίες ξεκλειδώματος'
omniauth_callbacks:
diff --git a/config/locales/devise.en.yml b/config/locales/devise.en.yml
index 2930733c0..726d2426a 100644
--- a/config/locales/devise.en.yml
+++ b/config/locales/devise.en.yml
@@ -21,7 +21,7 @@ en:
action: Verify email address
action_with_app: Confirm and return to %{app}
explanation: You have created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email.
- explanation_when_pending: You applied for an invite to %{host} with this email address. Once you confirm your e-mail address, we will review your application. You can't login until then. If your application is rejected, your data will be removed, so no further action will be required from you. If this wasn't you, please ignore this email.
+ explanation_when_pending: You applied for an invite to %{host} with this email address. Once you confirm your e-mail address, we will review your application. You can login to change your details or delete your account, but you cannot access most of the functions until your account is approved. If your application is rejected, your data will be removed, so no further action will be required from you. If this wasn't you, please ignore this email.
extra_html: Please also check out the rules of the server and our terms of service.
subject: 'Mastodon: Confirmation instructions for %{instance}'
title: Verify email address
@@ -46,6 +46,18 @@ en:
extra: If you didn't request this, please ignore this email. Your password won't change until you access the link above and create a new one.
subject: 'Mastodon: Reset password instructions'
title: Password reset
+ two_factor_disabled:
+ explanation: Two-factor authentication for your account has been disabled. Login is now possible using only e-mail address and password.
+ subject: 'Mastodon: Two-factor authentication disabled'
+ title: 2FA disabled
+ two_factor_enabled:
+ explanation: Two-factor authentication has been enabled for your account. A token generated by the paired TOTP app will be required for login.
+ subject: 'Mastodon: Two-factor authentication enabled'
+ title: 2FA enabled
+ two_factor_recovery_codes_changed:
+ explanation: The previous recovery codes have been invalidated and new ones generated.
+ subject: 'Mastodon: Two-factor recovery codes re-generated'
+ title: 2FA recovery codes changed
unlock_instructions:
subject: 'Mastodon: Unlock instructions'
omniauth_callbacks:
diff --git a/config/locales/devise.es.yml b/config/locales/devise.es.yml
index 8210415f2..80d438092 100644
--- a/config/locales/devise.es.yml
+++ b/config/locales/devise.es.yml
@@ -46,6 +46,18 @@ es:
extra: Si no solicitaste esto, por favor ignora este correo. Tu contraseña no cambiará hasta que tu accedas al vinculo arriba y crees una nueva.
subject: 'Mastodon: Instrucciones para reiniciar contraseña'
title: Reiniciar contraseña
+ two_factor_disabled:
+ explanation: La autenticación de dos factores para tu cuenta ha sido deshabilitada. Ahora puedes conectarte solamente usando la dirección de correo electrónico y la contraseña.
+ subject: 'Mastodon: La autenticación de dos factores está deshabilitada'
+ title: 2FA desactivada
+ two_factor_enabled:
+ explanation: La autenticación de dos factores para tu cuenta ha sido habilitada. Se requiere un token generado por la aplicación TOTP emparejada para ingresar.
+ subject: 'Mastodon: La autenticación de dos factores está habilitada'
+ title: 2FA activada
+ two_factor_recovery_codes_changed:
+ explanation: Los códigos de recuperación previos han sido invalidados y se generaron códigos nuevos.
+ subject: 'Mastodon: Los códigos de recuperación de dos factores fueron regenerados'
+ title: Códigos de recuperación 2FA cambiados
unlock_instructions:
subject: 'Mastodon: Instrucciones para desbloquear'
omniauth_callbacks:
diff --git a/config/locales/devise.et.yml b/config/locales/devise.et.yml
new file mode 100644
index 000000000..3c1b75f6c
--- /dev/null
+++ b/config/locales/devise.et.yml
@@ -0,0 +1,86 @@
+---
+et:
+ devise:
+ confirmations:
+ confirmed: Sinu e-postiaadress on edukalt kinnitatud.
+ send_instructions: Te saate paari minuti pärast e-kirja juhistega, kuidas oma e-posti aadressit kinnitada. Palun kontrollige oma rämpsposti kausta juhul, kui Te ei saanud seda e-kirja.
+ send_paranoid_instructions: Kui Teie e-postiaadress eksisteerib meie andmebaasis, saate paari minuti pärast e-kirja juhistega, kuidas oma e-posti aadressit kinnitada. Palun kontrollige oma rämpsposti kausta juhul, kui Te ei saanud seda e-kirja.
+ failure:
+ already_authenticated: Te olete juba sisse loginud.
+ inactive: Teie konto pole veel aktiveeritud.
+ invalid: Valed %{authentication_keys} või parool.
+ last_attempt: Teil on veel üks katse kuni teie konto on lukustatud.
+ locked: Sinu konto on lukustatud.
+ not_found_in_database: Valed %{authentication_keys} või parool.
+ pending: Teie konto on siiani läbivaatlusel.
+ timeout: Teie sessioon on aegunud. Jätkamiseks palun sisenege uuesti.
+ unauthenticated: Te peate sisenema või looma konto enne jätkamist.
+ unconfirmed: Te peate kinnitama oma e-postiaadressi enne jätkamist.
+ mailer:
+ confirmation_instructions:
+ action: Kinnita e-postiaadress
+ action_with_app: Kinnita ja naase %{app}
+ explanation: Te olete loonud konto %{host}'il selle e-postiaadressiga. Te olete ühe kliki kaugusel selle aktiveerimisest. Kui see polnud Teie, palun eirake seda kirja.
+ explanation_when_pending: Te esitasite soovi liituda %{host}-iga selle e-postiaadressiga. Siis, kui Te kinnitate oma e-posti aadressi, vaatame me Teie soovi üle. Te ei saa siseneda kuni selleni. Kui teie soov on tagasi lükatud, Teie andmed kustutatakse ning Te ei pea rohkem midagi tegema. Kui see ei olnud Teie, palun eirake seda kirja.
+ extra_html: Palun tutvu meie serveri reeglitega ning meie kasutustingimustega.
+ subject: 'Mastodon: %{instance} Kinnitamisjuhised'
+ title: Kinnita e-postiaadress
+ email_changed:
+ explanation: 'Teie konto e-postiaadress muudetakse:'
+ extra: Kui Te ei muutnud oma e-posti, on tõenäoline, et kellelgi on ligipääs Teie kontole. Palun muutke oma salasõna koheselt või võtke ühendust oma serveri administraatoriga, kui olete oma kontost välja lukustatud.
+ subject: 'Mastodon: E-post muudetud'
+ title: Uus e-postiaadress
+ password_change:
+ explanation: Teie konto parool on muudetud.
+ extra: Kui Te ei muutnud oma salasõna, on tõenäoline, et kellelgi on ligipääs Teie kontole. Palun muutke oma salasõna koheselt või võtke ühendust oma serveri administraatoriga, kui olete oma kontost välja lukustatud.
+ subject: 'Mastodon: Salasõna muudetud'
+ title: Salasõna muudetud
+ reconfirmation_instructions:
+ explanation: Kinnita oma uus aadress, et muuta oma e-posti.
+ extra: Kui see muudatus pole Teie poolt alustatud, palun eirake seda kirja. E-postiaadress sellele Mastodoni kontole ei muutu, kuni Te vajutate üleval asuvale lingile.
+ subject: 'Mastodon: Kinnitake e-post - %{instance}'
+ title: Kinnita e-postiaadress
+ reset_password_instructions:
+ action: Muuda salasõna
+ explanation: Te taotlesite oma kontole uut salasõna.
+ extra: Kui Te ei soovinud seda, palun eirake seda kirja. Teie salasõna ei muutu, kuni Te vajutate üleval olevale lingile ning loote uue.
+ subject: 'Mastodon: Salasõna lähtestamisjuhendid'
+ title: Salasõna lähtestamine
+ unlock_instructions:
+ subject: 'Mastodon: Lahti lukustamis juhendid'
+ omniauth_callbacks:
+ failure: Ei saanud Teid tuvastada %{kind} kaudu, kuna "%{reason}".
+ success: Tuvastamine %{kind} konto järgi õnnestus.
+ passwords:
+ no_token: Te ei saa sellele leheküljele ligi ilma tulemata salasõna lähtestamis e-kirjast. Kui Te tulete salasõna lähtestamis e-kirjast, palun olge kindel, et kasutasite tervet Teile antud URL-i.
+ send_instructions: Kui Teie e-postiaadress eksisteerib meie andmebaasis, saate paari minuti pärast e-kirja juhistega, kuidas oma salasõna taastada. Palun kontrollige oma rämpsposti kausta juhul, kui Te ei saanud seda e-kirja.
+ send_paranoid_instructions: Kui Teie e-postiaadress eksisteerib meie andmebaasis, saate paari minuti pärast e-kirja juhistega, kuidas oma salasõna taastada. Palun kontrollige oma rämpsposti kausta juhul, kui Te ei saanud seda e-kirja.
+ updated: Teie salasõna muutmine õnnestus. Te olete nüüd sisse loginud.
+ updated_not_active: Teie salasõna muutmine õnnestus.
+ registrations:
+ destroyed: Nägemist! Teie konto sulgemine õnnestus. Me loodame Teid varsti taas näha.
+ signed_up: Tere tulemast! Teie konto loomine õnnestus.
+ signed_up_but_inactive: Teie konto loodi edukalt, kuid me ei saanud Teid sisse logida, kuna teie konto pole veel aktiveeritud.
+ signed_up_but_locked: Teie konto loodi edukalt, kuid me ei saanud Teid sisse logida, kuna teie konto on lukustatud.
+ signed_up_but_pending: Kiri kinnituslingiga saadeti Teie e-postile. Pärast seda, kui te vajutate lingile, vaatame me Teie taotluse üle. Teid teavitatakse, kui see on vastu võetud.
+ signed_up_but_unconfirmed: Kiri kinnituslingiga saadeti Teie e-postile. Palun järgige linki, et aktiveerida oma konto. Palun kontrollige oma rämpsposti, kui Te ei saanud seda e-kirja.
+ update_needs_confirmation: Teie konto uuendamine õnnestus, kuid me peame Teie e-postiaadressit kinnitama. Palun kontrollige oma e-posti ning järgige linki, et kinnitada oma e-postiaadress. Palun kontrollige oma rämpsposti, kui Te ei saanud seda e-kirja.
+ updated: Teie konto uuendamine õnnestus.
+ sessions:
+ already_signed_out: Väljumine õnnestus.
+ signed_in: Sisenemine õnnestus.
+ signed_out: Väljumine õnnestus.
+ unlocks:
+ send_instructions: Te saate paari minuti pärast e-kirja juhistega, kuidas oma konto lukust lahti teha. Palun kontrollige oma rämpsposti kausta juhul, kui Te ei saanud seda e-kirja.
+ send_paranoid_instructions: Kui Teie konto eksisteerib, saate Te paari minuti pärast e-kirja juhistega, kuidas see lukust lahti teha. Palun kontrollige oma rämpsposti kausta juhul, kui Te ei saanud seda e-kirja.
+ unlocked: Teie konto lukust lahti võtmine õnnestus. Jätkamiseks, palun logige sisse.
+ errors:
+ messages:
+ already_confirmed: oli juba kinnitatud, palun proovige sisse logida
+ confirmation_period_expired: peab olema kinnitatud ajavahemikus %{period} - palun taotlege uus
+ expired: on aegunud, palun taotlege uus
+ not_found: ei leitud
+ not_locked: ei olnud lukustatud
+ not_saved:
+ one: '1 viga takistas seda %{resource} salvestamast:'
+ other: "%{count} viga takistas seda %{resource} salvestamast:"
diff --git a/config/locales/devise.fa.yml b/config/locales/devise.fa.yml
index 963572e6b..0954c8484 100644
--- a/config/locales/devise.fa.yml
+++ b/config/locales/devise.fa.yml
@@ -46,6 +46,18 @@ fa:
extra: اگر شما چنین درخواستی نکردید، لطفاً این ایمیل را نادیده بگیرید. تا زمانی که شما پیوند بالا را باز نکنید و رمز تازهای نسازید، رمز شما عوض نخواهد شد.
subject: 'ماستدون: راهنمایی برای بازنشانی رمز'
title: بازنشانی رمز
+ two_factor_disabled:
+ explanation: ورود دومرحلهای برای حساب شما غیرفعال شده است. از الان میتوانید تنها با نشانی ایمیل و رمز وارد حساب خود شوید.
+ subject: 'ماستدون: ورود دومرحلهای فعال نیست'
+ title: ورود دومرحلهای غیرفعال
+ two_factor_enabled:
+ explanation: ورود دومرحلهای برای حساب شما فعال شده است. برای ورود به کدی نیاز خواهید داشت که نرمافزار TOTP از پیش تنظیم شده برایتان میسازد.
+ subject: 'ماستدون: ورود دومرحلهای فعال است'
+ title: ورود دومرحلهای فعال
+ two_factor_recovery_codes_changed:
+ explanation: کدهای بازیابی قبلی نامعتبر شدهاند و کدهای تازهای ساخته شدهاند.
+ subject: 'ماستدون: کدهای بازیابی برای ورود دومرحلهای دوباره ساخته شدند'
+ title: کدهای ورود دومرحلهای تغییر کرد
unlock_instructions:
subject: 'ماستدون: راهنمایی برای بازکردن قفل'
omniauth_callbacks:
diff --git a/config/locales/devise.fr.yml b/config/locales/devise.fr.yml
index 2d3c86c1f..dc89b478b 100644
--- a/config/locales/devise.fr.yml
+++ b/config/locales/devise.fr.yml
@@ -21,7 +21,7 @@ fr:
action: Vérifier l’adresse courriel
action_with_app: Confirmer et retourner à %{app}
explanation: Vous avez créé un compte sur %{host} avec cette adresse courriel. Vous êtes à un clic de l’activer. Si ce n’était pas vous, veuillez ignorer ce courriel.
- explanation_when_pending: Vous avez demandé à vous inscrire à %{host} avec cette adresse courriel. Une fois que vous aurez confirmé cette adresse, nous étudierons votre demande. Vous ne pourrez pas vous connecté d'ici-là. Si votre demande est refusée, vos données seront supprimées du serveur, aucune action supplémentaire de votre part n'est donc requise. Si vous n'êtes pas à l'origine de cette demande, veuillez ignorer ce courriel.
+ explanation_when_pending: Vous avez demandé à vous inscrire à %{host} avec cette adresse de courriel. Une fois que vous aurez confirmé cette adresse, nous étudierons votre demande. Vous ne pourrez pas vous connecter d’ici-là. Si votre demande est refusée, vos données seront supprimées du serveur, aucune action supplémentaire de votre part n’est donc requise. Si vous n’êtes pas à l’origine de cette demande, veuillez ignorer ce message.
extra_html: Merci de consultez également les règles du serveur et nos conditions d’utilisation.
subject: 'Mastodon : Merci de confirmer votre inscription sur %{instance}'
title: Vérifier l’adresse courriel
@@ -46,6 +46,18 @@ fr:
extra: Si vous ne l’avez pas demandé, veuillez ignorer ce courriel. Votre mot de passe ne changera pas tant que vous n’aurez pas cliqué sur le lien ci-dessus et que vous n’en aurez pas créé un nouveau.
subject: 'Mastodon : Instructions pour changer votre mot de passe'
title: Réinitialisation du mot de passe
+ two_factor_disabled:
+ explanation: L'authentification à deux facteurs pour votre compte a été désactivée. La connexion est maintenant possible en utilisant uniquement l'adresse courriel et le mot de passe.
+ subject: 'Mastodon : authentification à deux facteurs désactivée'
+ title: 2FA désactivée
+ two_factor_enabled:
+ explanation: L'authentification à deux facteurs a été activée pour votre compte. Un jeton généré par l'application appariée TOTP sera nécessaire pour vous connecter.
+ subject: 'Mastodon : authentification à deux facteurs activée'
+ title: A2F activée
+ two_factor_recovery_codes_changed:
+ explanation: Les codes de récupération précédents ont été invalidés et de nouveaux sont générés.
+ subject: 'Mastodon : codes de récupération à deux facteurs ré-générés'
+ title: Codes de récupération 2FA modifiés
unlock_instructions:
subject: 'Mastodon : Instructions pour déverrouiller votre compte'
omniauth_callbacks:
diff --git a/config/locales/devise.gl.yml b/config/locales/devise.gl.yml
index 60a935a8a..0ce335576 100644
--- a/config/locales/devise.gl.yml
+++ b/config/locales/devise.gl.yml
@@ -46,6 +46,18 @@ gl:
extra: Si non fixo esta solicitude, por favor ignore este correo. O seu contrasinal non cambiará ate que acceda a ligazón superior e cree unha nova.
subject: 'Mastodon: Instruccións para restablecer o contrasinal'
title: Restablecer contrasinal
+ two_factor_disabled:
+ explanation: Desactivouse o segundo factor de autenticación para túa conta. Agora xa podes conectarte utilizando só o correo-e e contrasinal.
+ subject: 'Mastodon: Autenticación con dobre factor desactivada'
+ title: 2FA desactivada
+ two_factor_enabled:
+ explanation: A autenticación con dobre factor foi activada para a túa conta. Pedirase o testemuño xerado pola aplicación TOTP emparellada.
+ subject: 'Mastodon: Activouse o dobre factor de autenticación'
+ title: 2FA activado
+ two_factor_recovery_codes_changed:
+ explanation: Os códigos de recuperación anteriores quedan anulados e os novos foron creados.
+ subject: 'Mastodon: Código de recuperación do dobre factor rexenerados'
+ title: Códigos de recuperación 2FA cambiados
unlock_instructions:
subject: 'Mastodon: Instruccións para desbloquear'
omniauth_callbacks:
diff --git a/config/locales/devise.ko.yml b/config/locales/devise.ko.yml
index f48531246..63072340c 100644
--- a/config/locales/devise.ko.yml
+++ b/config/locales/devise.ko.yml
@@ -46,6 +46,18 @@ ko:
extra: 만약 당신이 시도한 것이 아니라면 이 메일을 무시해 주세요. 위 링크를 클릭해 패스워드를 새로 설정하기 전까지는 패스워드가 바뀌지 않습니다.
subject: '마스토돈: 패스워드 재설정 방법'
title: 패스워드 재설정
+ two_factor_disabled:
+ explanation: 당신의 계정에 설정된 이중 인증이 비활성화 되었습니다. 이제 이메일과 비밀번호만으로 로그인이 가능합니다.
+ subject: '마스토돈: 이중 인증 비활성화'
+ title: 2FA 비활성화
+ two_factor_enabled:
+ explanation: 당신의 계정에 이중 인증이 활성화되었습니다. 로그인을 위해 페어링된 T-OTP 앱에서 생성된 토큰이 필요합니다.
+ subject: '마스토돈: 이중 인증 활성화'
+ title: 2FA 활성화
+ two_factor_recovery_codes_changed:
+ explanation: 이전 복구 코드가 무효화되어 새 코드가 생성되었습니다
+ subject: '마스토돈: 이중 인증 복구 코드 재생성됨'
+ title: 2FA 복구 코드 변경됨
unlock_instructions:
subject: '마스토돈: 잠금 해제 방법'
omniauth_callbacks:
diff --git a/config/locales/devise.nl.yml b/config/locales/devise.nl.yml
index 51a95403f..3ab4d9f11 100644
--- a/config/locales/devise.nl.yml
+++ b/config/locales/devise.nl.yml
@@ -46,6 +46,18 @@ nl:
extra: Wanneer jij dit niet hebt aangevraagd, mag je deze e-mail negeren. Jouw wachtwoord wordt pas gewijzigd nadat je de link hierboven hebt aangeklikt en een nieuw wachtwoord aanmaakt.
subject: 'Mastodon: Wachtwoord opnieuw instellen'
title: Wachtwoord opnieuw instellen
+ two_factor_disabled:
+ explanation: Tweestapsverificatie voor jouw account is uitgeschakeld. Je kunt nu alleen inloggen met een e-mailadres en wachtwoord.
+ subject: 'Mastodon: Tweestapsverificatie uitgeschakeld'
+ title: Tweestapsverificatie uitgeschakeld
+ two_factor_enabled:
+ explanation: Tweestapsverificatie voor jouw account is ingeschakeld. Om te kunnen aanmelden is een door een tweestapsverificatie-app genereerde aanmeldcode nodig.
+ subject: 'Mastodon: Tweestapsverificatie ingeschakeld'
+ title: Tweestapsverificatie ingeschakeld
+ two_factor_recovery_codes_changed:
+ explanation: De vorige herstelcodes zijn ongeldig gemaakt en nieuwe zijn aangemaakt.
+ subject: 'Mastodon: Tweestaps-herstelcodes zijn opnieuw aangemaakt'
+ title: Herstelcodes tweestapsverificatie veranderd
unlock_instructions:
subject: 'Mastodon: Instructies om opschorten account ongedaan te maken'
omniauth_callbacks:
diff --git a/config/locales/devise.nn.yml b/config/locales/devise.nn.yml
new file mode 100644
index 000000000..777f4e600
--- /dev/null
+++ b/config/locales/devise.nn.yml
@@ -0,0 +1 @@
+nn:
diff --git a/config/locales/devise.oc.yml b/config/locales/devise.oc.yml
index 42be33f6b..0fb259429 100644
--- a/config/locales/devise.oc.yml
+++ b/config/locales/devise.oc.yml
@@ -46,6 +46,18 @@ oc:
extra: S’avètz pas res demandat, fasquètz pas cas a aqueste corrièl. Vòstre senhal cambiarà pas se clicatz pas lo ligam e que ne causissètz pas un novèl.
subject: Mastodon : consignas per reïnicializar lo senhal
title: Reïnicializacion del senhal
+ two_factor_disabled:
+ explanation: L’autentificacion dos factors per vòstre compte es estada desactivada. La connexion es ara possibla solament amb l’adreça electronica e lo senhal.
+ subject: 'Mastodon : autentificacion dos factors desactivada'
+ title: 2FA desactivat
+ two_factor_enabled:
+ explanation: L’autentificacion dos factors es estada activada per vòstre compte. La connexion demandarà un geton generat per l’aplicacion TOTP associada.
+ subject: 'Mastodon : autentificacion dos factor activada'
+ title: 2FA activat
+ two_factor_recovery_codes_changed:
+ explanation: Los còdis de recuperacion precedents son ara invalids e de nòus son estats generats.
+ subject: 'Mastodon : còdis de recuperacion dos factors regenerats'
+ title: Còdis 2FA de recuperacion cambiats
unlock_instructions:
subject: Mastodon : consignas de desblocatge
omniauth_callbacks:
diff --git a/config/locales/devise.pt.yml b/config/locales/devise.pt-PT.yml
similarity index 99%
rename from config/locales/devise.pt.yml
rename to config/locales/devise.pt-PT.yml
index 9b44bbf00..7d3f8fc55 100644
--- a/config/locales/devise.pt.yml
+++ b/config/locales/devise.pt-PT.yml
@@ -1,5 +1,5 @@
---
-pt:
+pt-PT:
devise:
confirmations:
confirmed: O teu endereço de e-mail foi confirmado com sucesso.
diff --git a/config/locales/devise.sk.yml b/config/locales/devise.sk.yml
index 4837390db..759d4874b 100644
--- a/config/locales/devise.sk.yml
+++ b/config/locales/devise.sk.yml
@@ -37,7 +37,7 @@ sk:
reconfirmation_instructions:
explanation: Potvrď novú emailovú adresu na ktorú chceš zmeniť svoj email.
extra: Pokiaľ si túto akciu nevyžiadal/a, prosím ignoruj tento email. Emailová adresa pre tvoj Mastodon účet totiž nebude zmenená pokiaľ nepostúpiš na adresu uvedenú vyššie.
- subject: 'Mastodon: Potvrďenie emailu pre %{instance}'
+ subject: 'Mastodon: Potvrď email pre %{instance}'
title: Over emailovú adresu
reset_password_instructions:
action: Zmeň svoje heslo
diff --git a/config/locales/devise.th.yml b/config/locales/devise.th.yml
index 8a9a65465..dd18229df 100644
--- a/config/locales/devise.th.yml
+++ b/config/locales/devise.th.yml
@@ -9,7 +9,9 @@ th:
already_authenticated: คุณได้ลงชื่อเข้าอยู่แล้ว
inactive: ยังไม่ได้เปิดใช้งานบัญชีของคุณ
invalid: "%{authentication_keys} หรือรหัสผ่านไม่ถูกต้อง"
+ locked: บัญชีของคุณถูกล็อก
not_found_in_database: "%{authentication_keys} หรือรหัสผ่านไม่ถูกต้อง"
+ pending: บัญชีของคุณกำลังถูกตรวจสอบ
timeout: เซสชันของคุณหมดอายุแล้ว โปรดลงชื่อเข้าอีกครั้งเพื่อดำเนินการต่อ
mailer:
email_changed:
@@ -23,6 +25,7 @@ th:
send_instructions: If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes.
send_paranoid_instructions: If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes.
registrations:
+ signed_up_but_pending: ข้อความที่ได้รับการยืนยันจะถูกส่งไปยังอีเมลของคุณ หลังจากนั้นให้ทำการคลิกลิงก์ เพื่อให้พวกเราตรวจสอบข้อมูลเสร็จเรียบร้อย และหลังจากนั้นคุณจะได้รับการยืนยัน
signed_up_but_unconfirmed: A message with a confirmation link has been sent to your email address. Please follow the link to activate your account.
update_needs_confirmation: You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address.
sessions:
diff --git a/config/locales/devise.tr.yml b/config/locales/devise.tr.yml
index 0a504dd67..476d42317 100644
--- a/config/locales/devise.tr.yml
+++ b/config/locales/devise.tr.yml
@@ -8,8 +8,68 @@ tr:
failure:
already_authenticated: Zaten oturum açtınız.
inactive: Hesabınız henüz etkinleştirilmedi.
+ invalid: Geçersiz %{authentication_keys} ya da şifre.
last_attempt: Hesabınız kilitlenmeden önce bir kez daha denemeniz gerekir.
locked: Hesabınız kilitli.
+ not_found_in_database: Geçersiz %{authentication_keys} ya da şifre.
+ 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.
+ unconfirmed: Devam etmeden önce e-posta adresini onaylamanız gerekli.
mailer:
confirmation_instructions:
action: E-posta adresinizi doğrulayın
+ action_with_app: Onayla ve %{app}'a dön
+ explanation: Bu e-posta adresiyle %{host} bir hesap oluşturdunuz. Etkinleştirmekten bir tık uzaktasınız. Bu siz değilseniz, lütfen bu e-postayı dikkate almayın.
+ explanation_when_pending: Bu e-posta adresiyle %{host} adresine bir davetiye için başvuru yaptınız. E-posta adresinizi onayladıktan sonra başvurunuzu inceleyeceğiz. O zamana kadar giriş yapamazsınız. Başvurunuz reddedilirse, verileriniz silinecek, başka bir işlem yapmanız gerekmeyecek. Bu siz değilseniz, lütfen bu e-postayı dikkate almayın.
+ extra_html: Lütfen ayrıca sunucu kurallarını ve hizmet şartlarımızı inceleyin.
+ subject: 'Mastodon: %{instance} için onay talimatları'
+ title: E-posta adresini doğrulayın
+ email_changed:
+ explanation: 'Hesabınızın e-posta adresi şu şekilde değiştirildi:'
+ extra: E-posta adresinizi değiştirmediyseniz, büyük olasılıkla birileri hesabınıza erişti. Lütfen derhal parolanızı değiştirin veya hesabınız kilitlendiyse sunucu yöneticisine başvurun.
+ subject: 'Mastodon: E-posta değişti'
+ title: Yeni e-posta adresi
+ password_change:
+ explanation: Hesabınızın parolası 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: 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: 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: Parola sıfırlama talimatları'
+ title: Parola sıfırlama
+ unlock_instructions:
+ subject: 'Mastodon: Engel kaldırma talimatları'
+ passwords:
+ no_token: Bu sayfaya şifre sıfırlama e-postasından gelmeden erişemezsiniz. Şifre sıfırlama e-postasından geliyorsanız lütfen sağlanan tam URL'yi kullandığınızdan emin olun.
+ send_instructions: E-posta adresiniz veritabanımızda varsa, e-posta adresinize birkaç dakika içinde bir parola kurtarma bağlantısı gönderilir. Bu e-postayı almadıysanız, lütfen spam klasörünüzü kontrol edin.
+ send_paranoid_instructions: E-posta adresiniz veritabanımızda varsa, e-posta adresinize birkaç dakika içinde bir parola kurtarma bağlantısı gönderilir. Bu e-postayı almadıysanız, lütfen spam klasörünüzü kontrol edin.
+ updated: Parolanız başarıyla değiştirildi. Şuan oturumunuz açıldı.
+ updated_not_active: Parolanız başarıyla değiştirildi.
+ registrations:
+ destroyed: Görüşürüz! hesabın başarıyla iptal edildi. Umarız seni sonra tekrar görürüz.
+ signed_up: Hoş geldiniz! Başarılı bir şekilde oturum açtınız.
+ signed_up_but_inactive: Başarıyla kaydoldun. Ancak, seni içeri alamıyoruz çünkü hesabın henüz aktif değil.
+ signed_up_but_locked: Başarıyla kaydoldun. Ancak, seni içeri alamıyoruz çünkü hesabın kilitli.
+ signed_up_but_pending: Onay bağlantısına sahip bir mesaj e-posta adresinize gönderildi. Bağlantıyı tıkladıktan sonra başvurunuzu inceleyeceğiz. Onaylanması durumunda size bilgi verilecektir.
+ signed_up_but_unconfirmed: Onay bağlantısına sahip bir mesaj e-posta adresinize gönderildi. Lütfen hesabınızı etkinleştirmek için bağlantıyı takip edin. Bu e-postayı almadıysanız, lütfen spam klasörünüzü kontrol edin.
+ update_needs_confirmation: Hesabınızı başarıyla güncellediniz, ancak yeni e-posta adresinizi doğrulamamız gerekiyor. Lütfen e-postanızı kontrol edin ve yeni e-posta adresinizi onaylamak için onay bağlantısını izleyin. Bu e-postayı almadıysanız, lütfen spam klasörünüzü kontrol edin.
+ updated: Hesabınız başarıyla güncellendi.
+ sessions:
+ already_signed_out: Başarıyla çıkış yapıldı.
+ signed_in: Başarıyla giriş yapıldı.
+ signed_out: Başarıyla çıkış yapıldı.
+ unlocks:
+ send_instructions: Hesabınızı birkaç dakika içinde nasıl açacağınıza ilişkin talimatları içeren bir e-posta alacaksınız. Bu e-postayı almadıysanız, lütfen spam klasörünüzü kontrol edin.
+ send_paranoid_instructions: Hesabınız varsa, birkaç dakika içinde nasıl kilidini açacağınıza ilişkin talimatları içeren bir e-posta alacaksınız. Bu e-postayı almadıysanız, lütfen spam klasörünüzü kontrol edin.
+ errors:
+ messages:
+ not_found: bulunamadı
diff --git a/config/locales/devise.uk.yml b/config/locales/devise.uk.yml
index 6ec01b3d7..c44bda5ea 100644
--- a/config/locales/devise.uk.yml
+++ b/config/locales/devise.uk.yml
@@ -7,26 +7,49 @@ uk:
send_paranoid_instructions: Якщо Ваша поштова скринька існує в нашій базі даних, то Ви отримаєте листа з інструкціями щодо підтвердження Вашої адреси через декілька хвилин.
failure:
already_authenticated: Ви вже увійшли.
- inactive: Ваш акаунт ще не активований.
+ inactive: Ваш обліковий запис ще не активований.
invalid: Неправильний %{authentication_keys} або пароль.
- last_attempt: У вас є остання спроба, після якої вхід буде заблокований.
- locked: Ваш акаунт заблокований.
+ last_attempt: У вас залишилась ще одна спроба, після якої ваш обліковий запис буде заблоковано.
+ locked: Ваш обліковий запис заблоковано.
not_found_in_database: Неправильний %{authentication_keys} або пароль.
+ pending: Ваш обліковий запис ще перебуває на розгляді.
timeout: Ваша сесія вичерпана. Будь ласка, зайдіть знову, щоб продовжити.
unauthenticated: Для продовження Вам потрібно увійти або зареєструватися.
unconfirmed: Для продовження Вам потрібно підтвердити Вашу поштову скриньку.
mailer:
confirmation_instructions:
+ action: Підтвердити адресу електронної пошти
+ action_with_app: Підтвердити та повернутися до %{app}
+ explanation: Ви створили обліковий запис на %{host} з цією адресою електронної пошти, і зараз на відстані одного кліку від його активації. Якщо це були не ви, проігноруйте цього листа, будь ласка.
+ extra_html: Також перегляньте правила серверу та умови використання.
subject: 'Mastodon: Інструкції для підтвердження %{instance}'
+ title: Підтвердити адресу електронної пошти
+ email_changed:
+ explanation: 'Адреса електронної пошти для вашого облікового запису змінюється на:'
+ extra: Якщо ви не змінювали свою адресу електронної пошти, то хтось вірогідно отримав доступ до вашого облікового запису. Будь ласка, негайно змініть свій пароль або зв'яжіться з адміністратором серверу, якщо ви не маєте доступу до свого облікового запису.
+ subject: 'Mastodon: адресу електронної пошти змінено'
+ title: Нова адреса електронної пошти
password_change:
+ explanation: Пароль до вашого облікового запису був змінений.
+ extra: Якщо ви не змінювали свій пароль, то хтось вірогідно отримав доступ до вашого облікового запису. Будь ласка, негайно змініть свій пароль або зв'яжіться з адміністратором серверу, якщо ви не маєте доступу до свого облікового запису.
subject: 'Mastodon: Ваш пароль змінений'
+ title: Пароль змінено
+ reconfirmation_instructions:
+ explanation: Підтвердіть нову адресу електронної пошти, щоб змінити поточну.
+ extra: Якщо ця зміна не була ініційована вами, проігноруйте цього листа. Адреса електронної пошти для облікового запису Mastodon не зміниться, доки ви не перейдете за вищевказаним посиланням.
+ subject: 'Mastodon: Підтвердіть електронну адресу для %{instance}'
+ title: Підтвердіть адресу електронної пошти
reset_password_instructions:
+ action: Змінити пароль
+ explanation: Ви запитали новий пароль для вашого облікового запису.
+ extra: Якщо ви не запитували зміну пароля, ігноруйте цей лист. Ваш пароль не буде змінено, допоки ви не перейдете за посиланням та не створите новий.
subject: 'Mastodon: Інструкції для скидання паролю'
+ title: Скидання пароля
unlock_instructions:
subject: 'Mastodon: Інструкції для розблокування'
omniauth_callbacks:
failure: Нам не вдалося аутентифікувати Вас з %{kind} через те, що "%{reason}".
- success: Успішно аутентифіковано з акаунту %{kind}.
+ success: Успішно аутентифіковано з облікового запису %{kind}.
passwords:
no_token: Ви не можете отримати доступ до цієї сторінки без переходу за посиланням з листа з інструкціями. Якщо ви дійсно перейшли з цього листа, переконайтеся, що ви перейшли за повним посиланням.
send_instructions: Ви отримаєте листа з інструкціями щодо зміни паролю через декілька хвилин.
@@ -34,21 +57,22 @@ uk:
updated: Ваш пароль було успішно змінено. Вхід виконано.
updated_not_active: Ваш пароль було успішно змінено.
registrations:
- destroyed: До побачення! Ваш акаунт було успішно видалено. Сподіваємось, що Ви скоро повернетеся.
+ destroyed: До побачення! Ваш обліковий запис було успішно видалено. Сподіваємось, Ви скоро повернетеся.
signed_up: Ласкаво просимо! Ви були успішно зареєстровані.
- signed_up_but_inactive: Ви були успішно зареєстровані, але ми не можемо авторизувати вас, оскільки Ваш акаунт ще не активовано.
- signed_up_but_locked: Ви були успішно зареєстровані, аале ми не можемо авторизувати вас, оскільки Ваш акаунт заблокований.
- signed_up_but_unconfirmed: Повідомлення з посиланням на підтвердження будо відправлено на Вашу поштову скриньку. Будь ласка, перейдіть за посиланням, щоб активувати Ваш акаунт.
- update_needs_confirmation: Ви успішно оновили Ваш акаунт, але нам потрібно підтвердити Вашу нову поштову адресу. Будь ласка, перевірте Вашу скриньку та перейдіть за посиланням, щоб активувати Вашу нову адресу.
- updated: Ваш акаунт було успішно оновлено.
+ signed_up_but_inactive: Ви були успішно зареєстровані, але ми не можемо авторизувати вас, оскільки ваш обліковий запис ще не активовано.
+ signed_up_but_locked: Ви були успішно зареєстровані, але ми не можемо авторизувати вас, оскільки ваш обліковий запис заблокований.
+ signed_up_but_pending: Лист з посиланням для підтвердження було надіслано на вашу електронну пошту. Коли ви перейдете за цим посиланням, ми розглянемо ваш запит. Вас буде проінформовано, якщо запит буде схвалено.
+ signed_up_but_unconfirmed: Повідомлення з посиланням на підтвердження будо відправлено на вашу адресу електронної пошти. Будь ласка, перейдіть за посиланням, щоб активувати ваш обліковий запис. Якщо ви не отримали цього листа, перевірте теку зі спамом у вашій скринці.
+ update_needs_confirmation: Ваш обліковий запис оновлено, але необхідно підтвердити нову адресу електронної пошти. Будь ласка, перевірте свою електронну скриньку і перейдіть за посиланням "Підтвердити", шоб завершити оновлення адреси електронної пошти. Якщо ви не отримали цього листа, перевірте теку зі спамом у вашій скринці.
+ updated: Ваш обліковий запис було успішно оновлено.
sessions:
already_signed_out: Ви вже вийшли з акаунту.
signed_in: Ви успішно увійшли в акаунт.
signed_out: Ви успішно вийшли з акаунту.
unlocks:
- send_instructions: Ви отримаєте листа з інструкціями щодо розблокування Вашого акаунту через декілька хвилин.
- send_paranoid_instructions: Якщо Ваш акаунт існує, Ви отримаєте листа з інструкціями щодо розблокування Вашого акаунту через декілька хвилин.
- unlocked: Ваш акаунт було успішно активовано. Будь ласка, увійдіть, щоб продовжити.
+ send_instructions: За кілька хвилин ви отримаєте електронного листа з інструкціями щодо розблокування вашого облікового запису. Якщо ви не отримали цього листа, перевірте теку зі спамом у вашій скринці.
+ send_paranoid_instructions: Якщо ваш обліковий запис існує, за декілька хвилин ви отримаєте електронного листа з інструкціями щодо його розблокування. Якщо ви не отримали цього листа, перевірте теку зі спамом у вашій скринці.
+ unlocked: Ваш обліковий запис було успішно розблоковано. Будь ласка, увійдіть для продовження.
errors:
messages:
already_confirmed: вже був підтверджений, будь ласка, спробуйте увійти
@@ -57,7 +81,7 @@ uk:
not_found: не знайдено
not_locked: не був заблокований
not_saved:
- few: "%{count} помилок не дало цьому %{resource} зберегтися:"
+ few: "%{count} помилки не дали цьому %{resource} зберегтися:"
many: "%{count} помилок не дало цьому %{resource} зберегтися:"
one: '1 помилка не дала цьому %{resource} зберегтися:'
other: "%{count} помилок не дало цьому %{resource} зберегтися:"
diff --git a/config/locales/doorkeeper.ar.yml b/config/locales/doorkeeper.ar.yml
index 6f9e38f8b..f443d0dd3 100644
--- a/config/locales/doorkeeper.ar.yml
+++ b/config/locales/doorkeeper.ar.yml
@@ -113,6 +113,11 @@ ar:
application:
title: طلب تصريح مفتوح OAuth
scopes:
+ admin:read: قراءة كافة البيانات على الخادم
+ admin:read:accounts: قراءة المعلومات الحساسة عن كافة الحسابات
+ admin:write: تعديل كافة البيانات على الخادم
+ admin:write:accounts: اتخاذ إجراءات إشراف على الحسابات
+ admin:write:reports: اتخاذ إجراءات إشراف على الإبلاغات
follow: تعديل علاقات الحساب
push: تلقي إشعاراتك
read: قراءة كافة بيانات حسابك
diff --git a/config/locales/doorkeeper.br.yml b/config/locales/doorkeeper.br.yml
new file mode 100644
index 000000000..c7677c850
--- /dev/null
+++ b/config/locales/doorkeeper.br.yml
@@ -0,0 +1 @@
+br:
diff --git a/config/locales/doorkeeper.da.yml b/config/locales/doorkeeper.da.yml
index b0f50a893..4d2c95aff 100644
--- a/config/locales/doorkeeper.da.yml
+++ b/config/locales/doorkeeper.da.yml
@@ -72,6 +72,7 @@ da:
index:
application: Applikation
created_at: Godkendt
+ date_format: "%Y-%m-%d %H:%M:%S"
scopes: Omfang
title: Dine godkendte applikationer
errors:
@@ -113,6 +114,12 @@ da:
application:
title: OAuth godkendelse påkrævet
scopes:
+ admin:read: læs al data på serveren
+ admin:read:accounts: læs sensitiv information fra alle konti
+ admin:read:reports: læs sensitiv information fra alle anmeldelser og anmeldte konti
+ admin:write: redigér al data på serveren
+ admin:write:accounts: udfør modereringshandlinger på konti
+ admin:write:reports: udfør modereringshandlinger på anmeldelser
follow: ændre din kontos forhold
push: modtage dine push notifikationer
read: læse alle din kontos data
diff --git a/config/locales/doorkeeper.eo.yml b/config/locales/doorkeeper.eo.yml
index e80ba3236..171e7d404 100644
--- a/config/locales/doorkeeper.eo.yml
+++ b/config/locales/doorkeeper.eo.yml
@@ -114,6 +114,10 @@ eo:
application:
title: OAuth-a rajtigo bezonata
scopes:
+ admin:read: legu ĉiujn datumojn en la servilo
+ admin:read:accounts: legas senteman informacion de ĉiuj kontoj
+ admin:read:reports: legas senteman informacion de ĉiuj raportoj kun raportis kontojn
+ admin:write: modifu ĉiujn datumojn en la servilo
follow: ŝanĝi rilatojn al aliaj kontoj
push: ricevi viajn puŝ-sciigojn
read: legi ĉiujn datumojn de via konto
diff --git a/config/locales/doorkeeper.et.yml b/config/locales/doorkeeper.et.yml
new file mode 100644
index 000000000..f2a33ad0a
--- /dev/null
+++ b/config/locales/doorkeeper.et.yml
@@ -0,0 +1,148 @@
+---
+et:
+ activerecord:
+ attributes:
+ doorkeeper/application:
+ name: Rakenduse nimi
+ redirect_uri: Suunamise URL
+ scopes: Ulatused
+ website: Rakenduse veebileht
+ errors:
+ models:
+ doorkeeper/application:
+ attributes:
+ redirect_uri:
+ fragment_present: ei tohi sisaldada fragmenti.
+ invalid_uri: peab olema õige URI.
+ relative_uri: peab olema absoluutne URI.
+ secured_uri: peab olema HTTPS/SSL URI.
+ doorkeeper:
+ applications:
+ buttons:
+ authorize: Autoriseeri
+ cancel: Katkesta
+ destroy: Hävita
+ edit: Redigeeri
+ submit: Saada
+ confirmations:
+ destroy: Olete kindel?
+ edit:
+ title: Redigeeri rakendust
+ form:
+ error: Oih! Kontrollige oma vormi võimalikest vigadest
+ help:
+ native_redirect_uri: Kasutage %{native_redirect_uri} kohalikeks testideks
+ redirect_uri: Kasuta ühte rida iga URI jaoks
+ scopes: Eralda ulatused tühikutega. Jäta tühjaks, et kasutada vaikimisi ulatusi.
+ index:
+ application: Rakendus
+ callback_url: Ümbersuunamise URL
+ delete: Kustuta
+ name: Nimi
+ new: Uus rakendus
+ scopes: Ulatused
+ show: Kuva
+ title: Teie rakendused
+ new:
+ title: Uus rakendus
+ show:
+ actions: Tegevused
+ application_id: Kliendi võti
+ callback_urls: Ümbersuunamise URLid
+ scopes: Ulatused
+ secret: Kliendi salasõna
+ title: 'Rakendus: %{name}'
+ authorizations:
+ buttons:
+ authorize: Autoriseeri
+ deny: Keeldu
+ error:
+ title: Ilmnes viga
+ new:
+ able_to: Sellel on võimalik
+ prompt: Rakendus %{client_name} soovib ligipääsu Teie kontole
+ title: Autoriseerimine vajalik
+ show:
+ title: Kopeeri see autoriseerimisvõti ja kleebi see rakendusse.
+ authorized_applications:
+ buttons:
+ revoke: Tühista
+ confirmations:
+ revoke: Olete kindel?
+ index:
+ application: Rakendus
+ created_at: Autoriseeritud
+ date_format: "%Y-%m-%d %H:%M:%S"
+ scopes: Ulatused
+ title: Autoriseeritud rakendused
+ errors:
+ messages:
+ access_denied: Ressursi omanik või autoriseerimisserver lükkas taotluse tagasi.
+ credential_flow_not_configured: Resource Owner Password Credentials vool ebaõnnestus, kuna Doorkeeper.configure.resource_owner_from_credentials ei ole seadistatud.
+ invalid_client: Kliendi autentimine ebaõnnestus, kuna tundmatu klient, puudulik autentimine või mitte toetatud autentimismeetod.
+ invalid_grant: Antud autoriseerimisluba on vale, aegunud, tagasi võetud, ei kattu kasutatud ümbersuunamise URLid või oli antud teisele kliendile.
+ invalid_redirect_uri: Antud ümbersuunamise URL ei ole õige.
+ invalid_request: Taotlusel puudub kohustuslik parameeter, sisaldab mitte toetatud parameetri väärtust või on kuidagi teisiti vale.
+ invalid_resource_owner: Antud ressursi omaniku andmed on valed või ressursi omanikku ei leitud
+ invalid_scope: Soovitud ulatus on vale, tundmatu või vigane.
+ invalid_token:
+ expired: Ligipääsuvõti on aegunud
+ revoked: Ligipääsuvõti on tagasi võetud
+ unknown: Ligipääsuvõti on vale
+ resource_owner_authenticator_not_configured: Ressursi omaniku leidmine ebaõnnestus, kuna Doorkeeper.configure.resource_owner_authenticator pole seadistatud.
+ server_error: Autoriseerimisserveril toimus ootamatu viga ning selle tulemusena ei läinud taotlus läbi.
+ temporarily_unavailable: Autoriseerimisserver ei ole hetkel võimeline taotlust vastu võtma, mis võib olla tingitud serveri ülekoormusest või hooldustöödest.
+ unauthorized_client: Klient ei ole lubatud seda taotlust vastu võtma kasutades seda meetodit.
+ unsupported_grant_type: Autoriseerimisloa tüüp ei ole toetatud antud serveri poolt.
+ unsupported_response_type: Autoriseerimisserver ei toeta seda vastuse tüüpi.
+ flash:
+ applications:
+ create:
+ notice: Rakendus loodud.
+ destroy:
+ notice: Rakendus kustutatud.
+ update:
+ notice: Rakendus uuendatud.
+ authorized_applications:
+ destroy:
+ notice: Rakendus tagasi lükatud.
+ layouts:
+ admin:
+ nav:
+ applications: Rakendused
+ oauth2_provider: OAuth2 pakkuja
+ application:
+ title: OAuth autoriseerimine vajalik
+ scopes:
+ admin:read: lugeda kõiki andmeid serveril
+ admin:read:accounts: lugeda privaatset informatsiooni kõikidel kontodel
+ admin:read:reports: lugeda privaatset informatsiooni kõikide teavituste ja teavitatud kasutajate kohta
+ admin:write: muuta kõiki andmeid serveril
+ admin:write:accounts: teostada moderaatori tegevusi kontodel
+ admin:write:reports: teostada moderaatori tegevusi teavitustel
+ follow: muuta kontode suhteid
+ push: saada Teie teateid
+ read: lugeda kogu Teie konto andmeid
+ read:accounts: näha konto informatsiooni
+ read:blocks: näha Teie blokeeringuid
+ read:favourites: näha Teie lemmikuid
+ read:filters: näha Teie filtreid
+ read:follows: näha Teie jälgimisi
+ read:lists: näha Teie nimekirju
+ read:mutes: näha Teie vaigistusi
+ read:notifications: näha Teie teateid
+ read:reports: näha Teie teavitusi
+ read:search: otsida Teie nimel
+ read:statuses: näha kõiki staatuseid
+ write: redigeerida kogu Teie konto andmeid
+ write:accounts: redigeerida Teie profiili
+ write:blocks: blokeerida kontosid ja domeene
+ write:favourites: lisada staatuseid lemmikuks
+ write:filters: luua filtreid
+ write:follows: jälgida inimesi
+ write:lists: luua nimekirju
+ write:media: üles laadida meediafaile
+ write:mutes: vaigista inimesi ja vestluseid
+ write:notifications: puhasta Teie teateid
+ write:reports: teavitada teistest inimestest
+ write:statuses: avaldada staatuseid
diff --git a/config/locales/doorkeeper.fr.yml b/config/locales/doorkeeper.fr.yml
index 352561768..09908b89a 100644
--- a/config/locales/doorkeeper.fr.yml
+++ b/config/locales/doorkeeper.fr.yml
@@ -114,6 +114,12 @@ fr:
application:
title: Autorisation OAuth requise
scopes:
+ admin:read: lire toutes les données du serveur
+ admin:read:accounts: lire les informations sensibles de tous les comptes
+ admin:read:reports: lire les informations sensibles de tous les signalements et des comptes signalés
+ admin:write: modifier toutes les données sur le serveur
+ admin:write:accounts: effectuer des actions de modération sur les comptes
+ admin:write:reports: effectuer des actions de modération sur les singnalements
follow: modifier les relations avec les comptes
push: recevoir vos notifications
read: lire toutes les données de votre compte
diff --git a/config/locales/doorkeeper.ko.yml b/config/locales/doorkeeper.ko.yml
index 76e725deb..8337325e2 100644
--- a/config/locales/doorkeeper.ko.yml
+++ b/config/locales/doorkeeper.ko.yml
@@ -78,12 +78,23 @@ ko:
errors:
messages:
access_denied: 리소스 소유자 또는 권한 부여 서버가 요청을 거부했습니다.
+ credential_flow_not_configured: Doorkeeper.configure.resource_owner_from_credentials의 설정이 되어있지 않아 리소스 소유자 패스워드 자격증명이 실패하였습니다.
+ invalid_client: 알 수 없는 클라이언트이기 때문에 클라이언트 인증이 실패하였습니다, 클라이언트 자격증명이 포함되지 않았거나, 지원 되지 않는 메소드입니다.
+ invalid_grant: 제공된 권한 부여가 잘못되거나, 만료되었거나, 취소되었거나, 권한 부여 요청에 사용된 리디렉션 URI가 일치하지 않거나, 다른 클라이언트에 지정되었습니다.
invalid_redirect_uri: 리디렉션 URI가 올바르지 않습니다
invalid_request: 요청에 필요한 매개변수가 없거나, 지원 되지 않는 매개변수가 있거나, 형식이 잘못되었습니다.
+ invalid_resource_owner: 제공 된 리소스 소유자 자격증명이 올바르지 않거나 리소스 소유자를 찾을 수 없습니다
+ invalid_scope: 요청한 범위가 올바르지 않거나, 알 수 없거나, 잘못 된 형식입니다.
invalid_token:
expired: 액세스 토큰이 만료되었습니다.
revoked: 액세스 토큰이 취소되었습니다.
unknown: 액세스 토큰이 잘못되었습니다.
+ resource_owner_authenticator_not_configured: Doorkeeper.configure.resource_owner_authenticator가 설정되지 않아 리소스 소유자 찾기가 실패하였습니다.
+ server_error: 권한 부여 서버에 예기치 않은 상태가 발생하여, 요청을 수행할 수 없습니다.
+ temporarily_unavailable: 권한 부여 서버가 일시적인 과부하 또는 유지 관리로 인해 요청을 현재 처리할 수 없습니다.
+ unauthorized_client: 클라이언트가 이 방법을 사용하여 해당 요청을 실행하도록 허용되지 않았습니다.
+ unsupported_grant_type: 권한 부여 유형이 권한 부여 서버에 의해 지원되지 않습니다.
+ unsupported_response_type: 권한 부여 서버가 이 응답 유형을 지원하지 않습니다.
flash:
applications:
create:
@@ -103,6 +114,12 @@ ko:
application:
title: OAuth 인증이 필요합니다
scopes:
+ admin:read: 서버의 모든 데이터 읽기
+ admin:read:accounts: 모든 계정의 민감한 정보 읽기
+ admin:read:reports: 신고와 신고 된 계정의 민감한 정보 읽기
+ admin:write: 서버의 모든 데이터 수정
+ admin:write:accounts: 계정에 모더레이션 조치 취하기
+ admin:write:reports: 신고에 모더레이션 조치 취하기
follow: 계정의 관계를 수정
push: 푸시 알림을 받기
read: 계정의 모든 데이터를 읽기
diff --git a/config/locales/doorkeeper.nn.yml b/config/locales/doorkeeper.nn.yml
new file mode 100644
index 000000000..777f4e600
--- /dev/null
+++ b/config/locales/doorkeeper.nn.yml
@@ -0,0 +1 @@
+nn:
diff --git a/config/locales/doorkeeper.pt.yml b/config/locales/doorkeeper.pt-PT.yml
similarity index 99%
rename from config/locales/doorkeeper.pt.yml
rename to config/locales/doorkeeper.pt-PT.yml
index f21e84d17..42068e0a0 100644
--- a/config/locales/doorkeeper.pt.yml
+++ b/config/locales/doorkeeper.pt-PT.yml
@@ -1,5 +1,5 @@
---
-pt:
+pt-PT:
activerecord:
attributes:
doorkeeper/application:
diff --git a/config/locales/doorkeeper.ru.yml b/config/locales/doorkeeper.ru.yml
index ebe90a189..bd493f793 100644
--- a/config/locales/doorkeeper.ru.yml
+++ b/config/locales/doorkeeper.ru.yml
@@ -114,6 +114,12 @@ ru:
application:
title: Требуется авторизация OAuth
scopes:
+ admin:read: читать все данные на сервере
+ admin:read:accounts: читать конфиденциальную информацию всех аккаунтов
+ admin:read:reports: читать конфиденциальную информацию о всех жалобах и аккаунтах с жалобами
+ admin:write: модифицировать все данные на сервере
+ admin:write:accounts: производить модерацию аккаунтов
+ admin:write:reports: производить модерацию жалоб
follow: подписываться, отписываться, блокировать и разблокировать аккаунты
push: принимать push-уведомления для Вашего аккаунта
read: читать данные Вашего аккаунта
diff --git a/config/locales/doorkeeper.sk.yml b/config/locales/doorkeeper.sk.yml
index 9eaef177f..a08a386f2 100644
--- a/config/locales/doorkeeper.sk.yml
+++ b/config/locales/doorkeeper.sk.yml
@@ -115,6 +115,7 @@ sk:
scopes:
admin:read: prezeraj všetky dáta na serveri
admin:read:accounts: prezeraj chúlostivé informácie na všetkých účtoch
+ admin:read:reports: čítaj chulostivé informácie o všetkých hláseniach a nahlásených účtoch
admin:write: uprav všetky dáta na serveri
admin:write:accounts: urob moderovacie úkony na účtoch
admin:write:reports: urob moderovacie úkony voči hláseniam
diff --git a/config/locales/doorkeeper.tr.yml b/config/locales/doorkeeper.tr.yml
index 686a018e0..e421b6a80 100644
--- a/config/locales/doorkeeper.tr.yml
+++ b/config/locales/doorkeeper.tr.yml
@@ -5,6 +5,15 @@ tr:
doorkeeper/application:
name: Uygulama adı
website: Uygulama web sitesi
+ errors:
+ models:
+ doorkeeper/application:
+ attributes:
+ redirect_uri:
+ fragment_present: parça içeremez.
+ invalid_uri: geçerli bir URI olmalıdır.
+ relative_uri: mutlaka bir URI olmalıdır.
+ secured_uri: HTTPS/SSL URI olması gerekir.
doorkeeper:
applications:
buttons:
@@ -17,3 +26,83 @@ tr:
destroy: Emin misiniz?
edit:
title: Uygulamayı düzenle
+ form:
+ error: Tüh! Muhtemel hatalar için formunuzu kontrol edin
+ help:
+ native_redirect_uri: Yerel testler için %{native_redirect_uri} kullanın
+ redirect_uri: URl başına bir satır kullanın
+ index:
+ application: Uygulama
+ callback_url: Geri Dönüş URL
+ delete: Sil
+ name: İsim
+ new: Yeni uygulama
+ show: Göster
+ title: Uygulamalarınız
+ new:
+ title: Yeni uygulama
+ show:
+ actions: Eylemler
+ title: 'Uygulama: %{name}'
+ authorizations:
+ buttons:
+ authorize: Yetkilendir
+ deny: Reddet
+ error:
+ title: Bir hata oluştu
+ new:
+ prompt: "%{client_name} uygulaması hesabınıza erişim istiyor"
+ title: Yetkilendirme gerekli
+ show:
+ title: Bu yetki kodunu kopyalayın ve uygulamaya yapıştırın.
+ authorized_applications:
+ buttons:
+ revoke: İptal
+ confirmations:
+ revoke: Emin misiniz?
+ index:
+ application: Uygulama
+ created_at: Yetkili
+ date_format: "%Y-%m-%d %H:%M:%S"
+ title: Yetkili uygulamalarınız
+ errors:
+ messages:
+ access_denied: Kaynak sahibi veya yetkilendirme sunucusu isteği reddetti.
+ credential_flow_not_configured: Kaynak Sahibi Şifresinin Bilgi akışı Doorkeeper.configure.resource_owner_from_credentials bilgilerinin yapılandırılmamış olması nedeniyle başarısız oldu.
+ invalid_client: İstemcinin kimlik doğrulaması bilinmeyen istemci, istemci kimlik doğrulamasının dahil olmaması veya desteklenmeyen kimlik doğrulama yöntemi nedeniyle başarısız oldu.
+ invalid_grant: Sağlanan yetkilendirme izni geçersiz, süresi dolmuş, iptal edilmiş, yetkilendirme isteğinde kullanılan yönlendirme URI'siyle eşleşmiyor veya başka bir müşteriye verilmiş.
+ invalid_redirect_uri: Dahil edilmiş yönlendirme Uri'si geçersiz.
+ invalid_request: İstekte gerekli bir parametre eksik, desteklenmeyen bir parametre değeri içeriyor veya başka türlü hatalı biçimlendirilmiş.
+ invalid_resource_owner: Sağlanan kaynak sahibi kimlik bilgileri geçerli değil veya kaynak sahibi bulunamıyor
+ invalid_scope: İstenen kapsam geçersiz, bilinmeyen veya hatalı biçimlendirilmiş olabilir.
+ invalid_token:
+ expired: Erişim belirtecinin süresi dolmuş
+ revoked: Erişim belirteci iptal edildi
+ unknown: Erişim belirteci geçersiz
+ resource_owner_authenticator_not_configured: Kaynak Sahibi yapılandırılmamış Doorkeeper.configure.resource_owner_authenticator nedeniyle başarısız oldu.
+ server_error: Yetkilendirme sunucusu, isteği yerine getirmesini engelleyen beklenmeyen bir koşulla karşılaştı.
+ temporarily_unavailable: Yetkilendirme sunucusu şu anda sunucunun geçici bir aşırı yüklenmesi veya bakımı nedeniyle isteği yerine getiremiyor.
+ unauthorized_client: İstemci bu yöntemi kullanarak bu isteği gerçekleştirmek için yetkili değil.
+ unsupported_grant_type: Yetkilendirme izni türü, yetkilendirme sunucusu tarafından desteklenmiyor.
+ unsupported_response_type: Yetkilendirme sunucusu bu yanıt türünü desteklemiyor.
+ layouts:
+ admin:
+ nav:
+ oauth2_provider: OAuth2 Sağlayıcısı
+ application:
+ title: OAuth yetkilendirme gerekli
+ scopes:
+ admin:read: sunucudaki tüm verileri oku
+ admin:read:accounts: tüm hesapların hassas bilgilerini oku
+ admin:read:reports: tüm raporların ve raporlanan hesapların hassas bilgilerini oku
+ read:accounts: hesap bilgilerini gör
+ read:favourites: favorilerini gör
+ read:follows: izlerini gör
+ write:accounts: profilini değiştir
+ write:favourites: favori durumlar
+ write:filters: filtre oluştur
+ write:follows: insanları takip et
+ write:lists: liste oluştur
+ write:media: medya dosyalarını yükle
+ write:mutes: insanları ve konuşmaları sustur
+ write:reports: diğer insanları bildir
diff --git a/config/locales/doorkeeper.uk.yml b/config/locales/doorkeeper.uk.yml
index 305a5c1d6..6e5dc1e42 100644
--- a/config/locales/doorkeeper.uk.yml
+++ b/config/locales/doorkeeper.uk.yml
@@ -3,7 +3,7 @@ uk:
activerecord:
attributes:
doorkeeper/application:
- name: Ім'я
+ name: Назва додатку
redirect_uri: URI перенаправлення
scopes: Рамки
website: Веб-сайт додатку
@@ -13,9 +13,9 @@ uk:
attributes:
redirect_uri:
fragment_present: не може містити фрагмент.
- invalid_uri: повинен бути дійсним URI.
- relative_uri: повинен бути абсолютним URI.
- secured_uri: повинен бути HTTPS/SSL URI.
+ invalid_uri: має бути дійсним URI.
+ relative_uri: має бути абсолютним URI.
+ secured_uri: має бути URI HTTPS/SSL.
doorkeeper:
applications:
buttons:
@@ -35,9 +35,13 @@ uk:
redirect_uri: Використовуйте одну стрічку на URI
scopes: Відділяйте області видимості пробілами. Залишайте порожніми, щоб використовувати області видимості за промовчуванням.
index:
+ application: Додаток
callback_url: URL зворотнього виклику
+ delete: Видалити
name: Назва
new: Новий додаток
+ scopes: Області видимості
+ show: Показати
title: Ваші додатки
new:
title: Новий додаток
@@ -56,8 +60,10 @@ uk:
title: Сталася помилка
new:
able_to: Він зможе
- prompt: Податок %{client_name} просить доступу до вашого акаунту
+ prompt: Додаток %{client_name} запитує доступ до вашого облікового запису
title: Необхідна авторизація
+ show:
+ title: Скопіюйте цей код авторизації та вставте його у додаток.
authorized_applications:
buttons:
revoke: Відкликати авторизацію
@@ -78,7 +84,7 @@ uk:
invalid_redirect_uri: Включений URI перенаправлення не є дійсним.
invalid_request: У запиті відсутній обов'язковий параметр, міститься непідтримуване значення параметра, або він сформований неправильно.
invalid_resource_owner: Надані дані власника ресурсу не є дійсними, або власника ресурсу неможливо знайти
- invalid_scope: Запитуваний дозвыд недійсний, невідомий, або неправильно сформований.
+ invalid_scope: Запитуваний дозвіл недійсний, невідомий, або неправильно сформований.
invalid_token:
expired: Токен доступу прострочено
revoked: Токен доступу було відкликано
@@ -108,6 +114,34 @@ uk:
application:
title: Необхідна авторизація OAuth
scopes:
- follow: підписуватися, відписуватися, блокувати та розблоковувати акаунти
- read: Читати дані Вашого акаунта
- write: Публікувати від Вашого імені
+ admin:read: читати всі дані на сервері
+ admin:read:accounts: читати конфіденційну інформацію усіх акаунтів
+ admin:read:reports: читати дражливу інформацію усіх скарг та облікових записів зі скаргами
+ admin:write: модифікувати всі дані на сервері
+ admin:write:accounts: модерувати облікові записи
+ admin:write:reports: модерувати скарги
+ follow: змінювати стосунки облікового запису
+ push: отримувати Ваші Push-повідомлення
+ read: читати усі дані вашого облікового запису
+ read:accounts: бачити інформацію про облікові записи
+ read:blocks: бачити Ваші блокування
+ read:favourites: бачити Ваші вподобані пости
+ read:filters: бачити Ваші фільтри
+ read:follows: бачити Ваші підписки
+ read:lists: бачити Ваші списки
+ read:mutes: бачити ваші заглушення
+ read:notifications: бачити Ваші сповіщення
+ read:reports: бачити Ваші скарги
+ read:statuses: бачити всі статуси
+ write: змінювати усі дані вашого облікового запису
+ write:accounts: змінювати ваш профіль
+ write:blocks: блокувати облікові записи і домени
+ write:favourites: вподобані статуси
+ write:filters: створювати фільтри
+ write:follows: підписуйтесь на людей
+ write:lists: створювайте списки
+ write:media: завантажити медіафайли
+ write:mutes: заглушити людей або бесіди
+ write:notifications: очищувати Ваші сповіщення
+ write:reports: надіслати скаргу про людей
+ write:statuses: публікувати статуси
diff --git a/config/locales/el.yml b/config/locales/el.yml
index 21b0da25c..03974fa17 100644
--- a/config/locales/el.yml
+++ b/config/locales/el.yml
@@ -10,20 +10,20 @@ el:
api: API
apps: Εφαρμογές κινητών
apps_platforms: Χρησιμοποίησε το Mastodon από το iOS, το Android και αλλού
- browse_directory: Ξεφύλλισε ένα κατάλογο χρηστών και φίλτραρε ανά ενδιαφέροντα
- browse_public_posts: Κοίταξε μια ζωντανή ροή δημοσιεύσεων στο Mastodon
+ browse_directory: Ξεφύλλισε τον κατάλογο χρηστών και ψάξε ανά ενδιαφέροντα
+ browse_public_posts: Ξεφύλλισε τη ζωντανή ροή του Mastodon
contact: Επικοινωνία
contact_missing: Δεν έχει οριστεί
contact_unavailable: Μ/Δ
discover_users: Ανακάλυψε χρήστες
documentation: Τεκμηρίωση
- extended_description_html: |
-
Ένα καλό σημείο για κανόνες
-
Η αναλυτική περιγραφή δεν έχει ακόμα οριστεί
federation_hint_html: Με ένα λογαριασμό στο %{instance} θα μπορείς να ακολουθείς ανθρώπους σε οποιοδήποτε κόμβο στο Mastodon αλλά και αλλού.
generic_description: "%{domain} είναι ένας εξυπηρετητής στο δίκτυο"
get_apps: Δοκίμασε μια εφαρμογή κινητού
hosted_on: Το Mastodon φιλοξενείται στο %{domain}
+ instance_actor_flash: |
+ Αυτός ο λογαριασμός είναι εικονικός και απεικονίζει τον κόμβο, όχι κάποιο συγκεκριμένο χρήστη.
+ Χρησιμεύει στη λειτουργία της ομοσπονδίας και δε θα πρέπει να αποκλειστεί, εκτός κι αν είναι επιθυμητός ο αποκλεισμός ολόκληρου του κόμβου. Σε αυτή την περίπτωση θα πρέπει να χρησιμοποιηθεί η λειτουργία αποκλεισμού τομέα.
learn_more: Μάθε περισσότερα
privacy_policy: Πολιτική απορρήτου
see_whats_happening: Μάθε τι συμβαίνει
@@ -42,6 +42,8 @@ el:
what_is_mastodon: Τι είναι το Mastodon;
accounts:
choices_html: 'Επιλογές από %{name}:'
+ endorsements_hint: Μπορεις να εγκρίνεις ανθρώπους που ακολουθείς μέσω της δικτυακής εφαρμογής και αυτοί θα εμφανίζονται εδώ.
+ featured_tags_hint: Μπορείς να επιλέξεις συγκεκριμένες ταμπέλες που θα εμφανίζονται εδώ.
follow: Ακολούθησε
followers:
one: Ακόλουθος
@@ -53,6 +55,7 @@ el:
media: Πολυμέσα
moved_html: 'Ο/Η %{name} μετακόμισε στο %{new_profile_link}:'
network_hidden: Αυτή η πληροφορία δεν είναι διαθέσιμη
+ never_active: Ποτέ
nothing_here: Δεν υπάρχει τίποτα εδώ!
people_followed_by: Χρήστες που ακολουθεί ο/η %{name}
people_who_follow: Χρήστες που ακολουθούν τον/την %{name}
@@ -183,6 +186,7 @@ el:
username: Όνομα χρήστη
warn: Προειδοποίηση
web: Διαδίκτυο
+ whitelisted: Εγκεκριμένοι
action_logs:
actions:
assigned_to_self_report: Ο/Η %{name} ανάθεσε την καταγγελία %{target} στον εαυτό του/της
@@ -218,10 +222,12 @@ el:
deleted_status: "(διαγραμμένη δημοσίευση)"
title: Αρχείο ελέγχου
custom_emojis:
+ assign_category: Κατηγορία
by_domain: Τομέας
copied_msg: Επιτυχής δημιουργία τοπικού αντίγραφου του emoji
copy: Αντιγραφή
copy_failed_msg: Αδυναμία δημιουργίας τοπικού αντίγραφου αυτού του emoji
+ create_new_category: Νέα κατηγορία
created_msg: Επιτυχής δημιουργία του emoji!
delete: Διαγραφή
destroyed_msg: Επιτυχής καταστροφή του emojo!
@@ -238,11 +244,13 @@ el:
shortcode: Σύντομος κωδικός
shortcode_hint: Τουλάχιστον 2 χαρακτήρες, μόνο αλφαριθμητικοί και κάτω παύλες
title: Προσαρμοσμένα emoji
+ uncategorized: Χωρίς κατηγορία
unlisted: Μη καταχωρημένα
update_failed_msg: Αδυναμία ενημέρωσης του emoji
updated_msg: Επιτυχής ενημέρωση του emoji!
upload: Ανέβασμα
dashboard:
+ authorized_fetch_mode: Λειτουργία εγκεκριμένης ανάκτησης
backlog: χρονοκαθυστερημένες εργασίες
config: Διαμόρφωση
feature_deletions: Διαγραφή λογαριασμών
@@ -250,10 +258,13 @@ el:
feature_profile_directory: Κατάλογος χρηστών
feature_registrations: Εγγραφές
feature_relay: Ανταποκριτής ομοσπονδίας
+ feature_spam_check: Καταπολέμηση ανεπιθύμητης επικοινωνίας
feature_timeline_preview: Προεπισκόπιση ροής
features: Λειτουργίες
hidden_service: Ομοσπονδία με κρυμμένες υπηρεσίες
open_reports: ανοιχτές καταγγελίες
+ pending_tags: ταμπέλες προς έγκριση
+ pending_users: χρήστες προς έγκριση
recent_users: Πρόσφατοι χρήστες
search: Αναζήτηση πλήρους κειμένου
single_user_mode: Λειτουργία μοναδιαίου χρήστη
@@ -265,11 +276,18 @@ el:
week_interactions: αλληλεπιδράσεις αυτή την εβδομάδα
week_users_active: ενεργοί αυτή την εβδομάδα
week_users_new: χρήστες αυτή την εβδομάδα
+ whitelist_mode: Λειτουργία εγκρίσεων
+ domain_allows:
+ add_new: Έγκριση τομέα
+ created_msg: Ο τομέας εγκρίθηκε με επιτυχία
+ destroyed_msg: Ο τομέας δεν είναι πια εγκεκριμένος
+ undo: Αφαίρεση έγκρισης
domain_blocks:
add_new: Προσθήκη νέου
created_msg: Ο αποκλεισμός τομέα είναι υπό επεξεργασία
destroyed_msg: Ο αποκλεισμός τομέα άρθηκε
domain: Τομέας
+ edit: Διαχείρηση αποκλεισμένου τομέα
existing_domain_block_html: Έχεις ήδη επιβάλλει αυστηρότερους περιορισμούς στο %{name}, πρώτα θα πρέπει να τους αναιρέσεις.
new:
create: Δημιουργία αποκλεισμού
@@ -280,6 +298,10 @@ el:
silence: Σίγαση
suspend: Αναστολή
title: Αποκλεισμός νέου τομέα
+ private_comment: Ιδιωτικό σχόλιο
+ private_comment_hint: Σχόλιο για τον περιορισμό αυτού του τομέα για εσωτερική χρήση από τους διαχειριστές.
+ public_comment: Δημόσιο σχόλιο
+ public_comment_hint: Σχόλιο σχετικά με τον περιορισμό αυτού του τομέα προς το κοινό, αν η λειτουργία δημοσιοποίησης των περιορισμένων τομέων είναι ενεργοποιημένη.
reject_media: Απόρριψη πολυμέσων
reject_media_hint: Αφαιρεί τα τοπικά αποθηκευμένα αρχεία πολυμέσων και αποτρέπει τη λήψη άλλων στο μέλλον. Δεν έχει σημασία για τις αναστολές
reject_reports: Απόρριψη καταγγελιών
@@ -299,6 +321,7 @@ el:
title: Αναίρεση αποκλεισμού για τον τομέα %{domain}
undo: Αναίρεση
undo: Αναίρεση
+ view: Εμφάνιση αποκλεισμού τομέα
email_domain_blocks:
add_new: Πρόσθεση νέου
created_msg: Επιτυχής πρόσθεση email τομέα σε μαύρη λίστα
@@ -322,6 +345,8 @@ el:
all: Όλα
limited: Περιορισμένα
title: Διαμεσολάβηση
+ private_comment: Ιδιωτικό σχόλιο
+ public_comment: Δημόσιο σχόλιο
title: Γνωστοί κόμβοι
total_blocked_by_us: Μπλοκάρονται από εμάς
total_followed_by_them: Ακολουθούνται από εκείνους
@@ -399,6 +424,16 @@ el:
custom_css:
desc_html: Τροποποίηση της εμφάνισης μέσω CSS που φορτώνεται σε κάθε σελίδα
title: Προσαρμοσμένο CSS
+ default_noindex:
+ desc_html: Επηρεάζει όσους χρήστες δεν έχουν αλλάξει αυτή τη ρύθμιση
+ title: Εξαίρεση χρηστών από τις μηχανές αναζήτησης
+ domain_blocks:
+ all: Για όλους
+ disabled: Για κανέναν
+ title: Εμφάνιση αποκλεισμένων τομέων
+ users: Προς συνδεδεμένους τοπικούς χρήστες
+ domain_blocks_rationale:
+ title: Εμφάνιση σκεπτικού
hero:
desc_html: Εμφανίζεται στην μπροστινή σελίδα. Συνίσταται τουλάχιστον 600x100px. Όταν λείπει, χρησιμοποιείται η μικρογραφία του κόμβου
title: Εικόνα ήρωα
@@ -449,6 +484,9 @@ el:
desc_html: Μπορείς να γράψεις τη δική σου πολιτική απορρήτου, όρους χρήσης ή άλλους νομικούς όρους. Μπορείς να χρησιμοποιήσεις HTML tags
title: Προσαρμοσμένοι όροι χρήσης της υπηρεσίας
site_title: Όνομα κόμβου
+ spam_check_enabled:
+ desc_html: Το Mastodon μπορεί να αποσιωπεί και να καταγγέλει αυτόματα λογαριασμούς βάσει της συμπεριφοράς τους όπως για παράδειγμα επαναλαμβανόμενη αποστολή ανεπιθύμητων μηνυμάτων. Μπορεί να υπάρξουν και λανθασμένες ανιχνεύσεις.
+ title: Καταπολέμηση ανεπιθύμητης επικοινωνίας
thumbnail:
desc_html: Χρησιμοποιείται για προεπισκοπήσεις μέσω του OpenGraph και του API. Συστήνεται 1200x630px
title: Μικρογραφία κόμβου
@@ -456,12 +494,16 @@ el:
desc_html: Εμφάνισε τη δημόσια ροή στην αρχική σελίδα
title: Προεπισκόπιση ροής
title: Ρυθμίσεις ιστότοπου
+ trends:
+ desc_html: Δημόσια εμφάνιση ταμπελών που έχουν ήδη εγκριθεί και είναι δημοφιλείς
+ title: Δημοφιλείς ταμπέλες
statuses:
back_to_account: Επιστροφή στη σελίδα λογαριασμού
batch:
delete: Διαγραφή
nsfw_off: Σημείωσε ως μη ευαίσθητο
nsfw_on: Σημείωσε ως ευαίσθητο
+ deleted: Διαγραμμένα
failed_to_execute: Αποτυχία εκτέλεσης
media:
title: Πολυμέσα
@@ -470,13 +512,23 @@ el:
title: Καταστάσεις λογαριασμού
with_media: Με πολυμέσα
tags:
- accounts: Λογαριασμοί
- hidden: Κρυμμένες
- hide: Απόκρυψη από κατάλογο
+ accounts_today: Μοναδικές χρήσεις ημέρας
+ accounts_week: Μοναδικές χρήσεις εβδομάδας
+ breakdown: Ανάλυση σημερινής χρήσης ανα πηγή
+ context: Συνάφεια
+ directory: Στον κατάλογο
+ in_directory: "%{count} στον κατάλογο"
+ last_active: Τελευταία δραστηριότητα
+ most_popular: Δημοφιλέστερες
+ most_recent: Πιο πρόσφατες
name: Ταμπέλα
+ review: Κατάσταση έγκρισης
+ reviewed: Εγκεκριμένες
title: Ταμπέλες
- unhide: Εμφάνιση σε κατάλογο
- visible: Εμφανείς
+ trending_right_now: Δημοφιλείς αυτή τη στιγμή
+ unique_uses_today: "%{count} σημερινές δημοσιεύσεις"
+ unreviewed: Εκκρεμεί έγκριση
+ updated_msg: Οι ρυθμίσεις των ταμπελών ενημερώθηκαν επιτυχώς
title: Διαχείριση
warning_presets:
add_new: Πρόσθεση νέου
@@ -492,11 +544,15 @@ el:
body: Ο/Η %{reporter} κατήγγειλε τον/την %{target}
body_remote: Κάποιος/α από τον τομέα %{domain} κατήγγειλε τον/την %{target}
subject: Νέα καταγγελία για %{instance} (#%{id})
+ new_trending_tag:
+ body: 'Η ταμπέλα #%{name} είναι δημοφιλής σήμερα, αλλά δεν έχει εγκριθεί μέχρι τώρα. Δεν θα εμφανίζεται δημοσίως μέχρι να δοθεί έγκρισή, αλλιώς αποθηκεύστε τη φόρμα ως έχει για να μην την δείτε ξανά.'
+ subject: Νέα ταμπέλα προς έγκριση στο %{instance} (#%{name})
appearance:
advanced_web_interface: Προηγμένη λειτουργία χρήσης
advanced_web_interface_hint: 'Αν θέλεις να χρησιμοποιήσεις ολόκληρο το πλάτος της οθόνης σου, η προηγμένη λειτουργία χρήσης σου επιτρέπει να ορίσεις πολλαπλές κολώνες ώστε να βλέπεις ταυτόχρονα όση πληροφορία θέλεις: Την αρχική ροή, τις ειδοποιήσεις, την ομοσπονδιακή ροή και όσες λίστες και ταμπέλες θέλεις.'
animations_and_accessibility: Κίνηση και προσβασιμότητα
confirmation_dialogs: Ερωτήσεις επιβεβαίωσης
+ discovery: Εξερεύνηση
sensitive_content: Ευαίσθητο περιεχόμενο
application_mailer:
notification_preferences: Αλλαγή προτιμήσεων email
@@ -517,9 +573,13 @@ el:
apply_for_account: Αίτηση πρόσκλησης
change_password: Συνθηματικό
checkbox_agreement_html: Συμφωνώ με τους κανονισμούς του κόμβου και τους όρους χρήσης
- confirm_email: Επιβεβαίωση email
+ checkbox_agreement_without_rules_html: Συμφωνώ με τους όρους χρήσης
delete_account: Διαγραφή email
delete_account_html: Αν θέλεις να διαγράψεις το λογαριασμό σου, μπορείς να συνεχίσεις εδώ. Θα σου ζητηθεί επιβεβαίωση.
+ description:
+ prefix_invited_by_user: Ο/Η @%{name} σε προσκαλεί να συνδεθείς με αυτό τον διακομιστή του Mastodon!
+ prefix_sign_up: Άνοιξε λογαριασμό στο Mastodon σήμερα!
+ suffix: Ανοίγοντας λογαριασμό θα μπορείς να ακολουθείς άλλους, να ανεβάζεις ενημερώσεις και να ανταλλάζεις μηνύματα με χρήστες σε οποιοδήποτε διακομιστή Mastodon, καθώς και άλλα!
didnt_get_confirmation: Δεν έλαβες τις οδηγίες επιβεβαίωσης;
forgot_password: Ξέχασες το συνθηματικό σου;
invalid_reset_password_token: Το διακριτικό επαναφοράς συνθηματικού είναι άκυρο ή ληγμένο. Παρακαλώ αιτήσου νέο.
@@ -537,6 +597,15 @@ el:
reset_password: Επαναφορά συνθηματικού
security: Ασφάλεια
set_new_password: Ορισμός νέου συνθηματικού
+ setup:
+ email_below_hint_html: Αν η παρακάτω διεύθυνση email είναι λανθασμένη, μπορείτε να την ενημερώσετε και να λάβετε νέο email επιβεβαίωσης.
+ email_settings_hint_html: Το email επιβεβαίωσης στάλθηκε στο %{email}. Αν η διεύθυνση αυτή δεν είναι σωστή, μπορείτε να την ενημερώσετε στις ρυθμίσεις λογαριασμού.
+ title: Ρυθμίσεις
+ status:
+ account_status: Κατάσταση λογαριασμού
+ confirming: Αναμονή για ολοκλήρωση επιβεβαίωσης του email.
+ functional: Ο λογαριασμός σου είναι πανέτοιμος.
+ pending: Η εφαρμογή σας εκκρεμεί έγκρισης, πιθανόν θα διαρκέσει κάποιο χρόνο. Θα λάβετε email αν εγκριθεί.
trouble_logging_in: Πρόβλημα σύνδεσης;
authorize_follow:
already_following: Ήδη ακολουθείς αυτό το λογαριασμό
@@ -564,26 +633,33 @@ el:
x_months: "%{count}μ"
x_seconds: "%{count}δ"
deletes:
- bad_password_msg: Καλή προσπάθεια χάκερς! Λάθος συνθηματικό
+ challenge_not_passed: Τα στοιχεία δεν ήταν σωστά
confirm_password: Γράψε το τρέχον συνθηματικό σου για να πιστοποιήσεις την ταυτότητά σου
- description_html: Αυτό θα διαγράψει οριστικά και αμετάκλητα το περιεχόμενο του λογαριασμού σου και θα τον απενεργοποιήσει. Το όνομα χρήστη θα παραμείνει δεσμευμένο για να αποφευχθούν μελλοντικές πλαστοπροσωπίες.
+ confirm_username: Γράψε το όνομα χρήστη σου για επιβεβαίωση
proceed: Διαγραφή λογαριασμού
success_msg: Ο λογαριασμός σου διαγράφηκε με επιτυχία
- warning_html: Μόνο η διαγραφή περιεχομένου από αυτό τον συγκεκριμένο κόμβο είναι εγγυημένη. Το περιεχόμενο που έχει διαμοιραστεί ευρέως είναι πιθανό να αφήσει ίχνη. Όσοι διακομιστές είναι εκτός σύνδεσης και όσοι έχουν διακόψει τη λήψη των ενημερώσεων του κόμβου σου, δε θα ενημερώσουν τις βάσεις δεδομένων τους.
- warning_title: Διαθεσιμότητα ήδη διανεμημένου περιεχομένου
+ warning:
+ before: 'Πριν συνεχίσεις, παρακαλούμε να διαβάσεις τις παρακάτω σημειώσεις προσεκτικά:'
+ caches: Οποίο περιεχόμενο έχει αποθηκευτεί προσωρινά σε άλλους διακομιστές μπορεί να παραμείνει
+ data_removal: Οι δημοσιεύσεις σου και άλλα δεδομένα θα διαγραφούν οριστικά
+ email_change_html: Μπορείς να αλλάξεις τη διεύθυνση email σου Χωρίς να διαγράψεις το λογαριασμό σου
+ email_contact_html: Αν και πάλι δεν εμφανιστεί, μπορείς να στείλεις email προς %{email} για βοήθεια
+ email_reconfirmation_html: Αν δεν έχεις λάβει το email επιβεβαίωσης, μπορείς να το ζητήσεις ξανά
+ irreversible: Δεν θα μπορείς να ανακτήσεις ή ενεργοποιήσεις ξανά το λογαριασμό σου
+ more_details_html: Για περισσότερες πληροφορίες, δες την πολιτική απορρήτου.
+ username_available: Το όνομα χρήστη σου θα γίνει ξανά διαθέσιμο
+ username_unavailable: Το όνομα χρήστη σου θα παραμείνει μη διαθέσιμο
directories:
directory: Κατάλογος λογαριασμών
- enabled: Περιλαμβάνεσαι στον κατάλογο.
- enabled_but_waiting: Έχεις επιλέξει να εμφανίζεσαι στον κατάλογο μεν, αλλά ακόμα δεν έχεις τον ελάχιστο αριθμό ακόλουθων (%{min_followers}) που απαιτείται για να συμπεριληφθείς.
explanation: Βρες χρήστες βάσει των ενδιαφερόντων τους
explore_mastodon: Εξερεύνησε το %{title}
- how_to_enable: Δεν έχεις επιλέξει να συμπεριληφθείς στον καταλογο. Μπορείς να επιλέξεις παρακάτω. Χρησιμοποίησε ταμπέλες στο κείμενο του βιογραφικού σου για να εμφανίζεσαι κάτω από συγκεκριμένες ταμπέλες!
- people:
- one: "%{count} άτομο"
- other: "%{count} άτομα"
+ domain_validator:
+ invalid_domain: δεν είναι έγκυρο όνομα τομέα
errors:
+ '400': Το αίτημα ήταν άκυρο ή με λάθος μορφή.
'403': Δεν έχεις δικαίωμα πρόσβασης σε αυτή τη σελίδα.
'404': Η σελίδα που ψάχνεις δεν υπάρχει.
+ '406': Η σελίδα αυτή δεν είναι διαθέσιμη στην αιτούμενη μορφή.
'410': Η σελίδα που έψαχνες δεν υπάρχει πια εδώ.
'422':
content: Απέτυχε η επιβεβαίωση ασφαλείας. Μήπως μπλοκάρεις τα cookies;
@@ -592,6 +668,7 @@ el:
'500':
content: Λυπούμαστε, κάτι πήγε στραβά από τη δική μας μεριά.
title: Η σελίδα αυτή δεν είναι σωστή
+ '503': Η σελίδα δε μπόρεσε να εμφανιστεί λόγω προσωρινού σφάλματος του διακομιστή.
noscript_html: Για να χρησιμοποιήσετε τη δικτυακή εφαρμογή του Mastodon, ενεργοποίησε την Javascript. Εναλλακτικά, δοκίμασε μια από τις εφαρμογές για το Mastodon στην πλατφόρμα σου.
existing_username_validator:
not_found: δεν βρέθηκε τοπικός χρήστης με αυτό το όνομα
@@ -615,6 +692,7 @@ el:
add_new: Προσθήκη νέας
errors:
limit: Έχεις ήδη προσθέσει το μέγιστο αριθμό ταμπελών
+ hint_html: "Τι είναι οι προβεβλημένες ταμπέλες; Προβάλλονται στο δημόσιο προφίλ σου επιτρέποντας σε όποιον το βλέπει να χαζέψει τις δημοσιεύσεις που τις χρησιμοποιούν. Είναι ωραίος τρόπος να παρακολουθείς κάποια δημιουργία ή ένα μακροπρόθεσμο έργο."
filters:
contexts:
home: Αρχική ροή
@@ -635,10 +713,12 @@ el:
developers: Ανάπτυξη
more: Περισσότερα…
resources: Πόροι
+ trending_now: Τάσεις
generic:
all: Όλα
changes_saved_msg: Οι αλλαγές αποθηκεύτηκαν!
copy: Αντιγραφή
+ no_batch_actions_available: Δεν υπάρχουν ομαδικές ενέργειες σε αυτή τη σελίδα
order_by: Ταξινόμηση κατά
save_changes: Αποθήκευσε τις αλλαγές
validation_errors:
@@ -710,9 +790,6 @@ el:
too_many: Δεν γίνεται να προσθέσεις περισσότερα από 4 αρχεία
migrations:
acct: ΌνομαΧρήστη@Τομέας του νέου λογαριασμού
- currently_redirecting: 'Το προφίλ σου έχει ρυθμιστεί να ανακατευθύνει στο:'
- proceed: Αποθήκευση
- updated_msg: Οι ρυθμίσεις μετακόμισης του λογαριασμού σου ενημερώθηκαν!
moderation:
title: Συντονισμός
notification_mailer:
@@ -874,6 +951,8 @@ el:
profile: Προφίλ
relationships: Ακολουθεί και ακολουθείται
two_factor_authentication: Πιστοποίηση 2 παραγόντων (2FA)
+ spam_check:
+ spam_detected_and_silenced: 'Αυτόματο μήνυμα: Ανιχνεύθηκε ανεπιθύμητο περιεχόμενο (σπαμ) και ο αποστολέας αποσιωπήθηκε αυτόματα. Αν έγινε λάθος, παρακαλώ διακόψτε την αποσιώπηση του λογαριασμού.'
statuses:
attached:
description: 'Συνημμένα: %{attached}'
@@ -915,6 +994,8 @@ el:
pinned: Καρφιτσωμένο τουτ
reblogged: προωθημένο
sensitive_content: Ευαίσθητο περιεχόμενο
+ tags:
+ does_not_match_previous_name: δεν ταιριάζει με το προηγούμενο όνομα
terms:
body_html: |
Πολιτική Απορρήτου
@@ -1032,7 +1113,9 @@ el:
disable: Όσο ο λογαριασμός σου είναι παγωμένος, τα στοιχεία του παραμένουν άθικτα αλλά δεν μπορείς να κανείς καμία ενέργεια μέχρι να ξεκλειδωθείς.
silence: Όσο ο λογαριασμός σου είναι περιορισμένος, μόνο όσοι σε ακολουθούν ήδη θα βλέπουν τα τουτ σου σε αυτό τον κόμβο ενώ μπορεί να εξαιρεθείς από διάφορες δημόσιες απαριθμήσεις. Πάντως, θα μπορούν να σε ακολουθήσουν χειροκίνητα.
suspend: Ο λογαριασμός σου αναστάλθηκε μόνιμα, όλα τα τουτ και τα ανεβασμένα πολυμέσα σου διαγράφηκαν αμετάκλητα από αυτόν τον κόμβο και σε όσους άλλους είχες ακόλουθους.
+ get_in_touch: Μπορείς να απαντήσεις σε αυτό το email για να επικοινωνήσεις με το προσωπικό του %{instance}.
review_server_policies: Αναθεώρηση πολιτικής του κόμβου
+ statuses: 'Συγκεκριμένα, για:'
subject:
disable: Ο λογαριασμός σου %{acct} έχει παγώσει
none: Προειδοποίηση προς %{acct}
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 786906e2d..c29c7f871 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -17,9 +17,6 @@ en:
contact_unavailable: N/A
discover_users: Discover users
documentation: Documentation
- extended_description_html: |
-
A good place for rules
-
The extended description has not been set up yet.
federation_hint_html: With an account on %{instance} you'll be able to follow people on any Mastodon server and beyond.
generic_description: "%{domain} is one server in the network"
get_apps: Try a mobile app
@@ -38,6 +35,13 @@ en:
status_count_before: Who authored
tagline: Follow friends and discover new ones
terms: Terms of service
+ unavailable_content: Unavailable content
+ unavailable_content_description:
+ reason: 'Reason:'
+ rejecting_media: Media files from this server will not be processed and and no thumbnails will be displayed, requiring manual click-through to the other server.
+ silenced: Posts from this server will not show up anywhere except your home feed if you follow the author.
+ suspended: You won't be able to follow anyone from this server, and no data from it will be processed or stored, and no data exchanged.
+ unavailable_content_html: Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.
user_count_after:
one: user
other: users
@@ -45,6 +49,8 @@ en:
what_is_mastodon: What is Mastodon?
accounts:
choices_html: "%{name}'s choices:"
+ endorsements_hint: You can endorse people you follow from the web interface, and they will show up here.
+ featured_tags_hint: You can feature specific hashtags that will be displayed here.
follow: Follow
followers:
one: Follower
@@ -56,6 +62,7 @@ en:
media: Media
moved_html: "%{name} has moved to %{new_profile_link}:"
network_hidden: This information is not available
+ never_active: Never
nothing_here: There is nothing here!
people_followed_by: People whom %{name} follows
people_who_follow: People who follow %{name}
@@ -222,10 +229,12 @@ en:
deleted_status: "(deleted status)"
title: Audit log
custom_emojis:
+ assign_category: Assign category
by_domain: Domain
copied_msg: Successfully created local copy of the emoji
copy: Copy
copy_failed_msg: Could not make a local copy of that emoji
+ create_new_category: Create new category
created_msg: Emoji successfully created!
delete: Delete
destroyed_msg: Emojo successfully destroyed!
@@ -242,6 +251,7 @@ en:
shortcode: Shortcode
shortcode_hint: At least 2 characters, only alphanumeric characters and underscores
title: Custom emojis
+ uncategorized: Uncategorized
unlisted: Unlisted
update_failed_msg: Could not update that emoji
updated_msg: Emoji successfully updated!
@@ -421,6 +431,16 @@ en:
custom_css:
desc_html: Modify the look with CSS loaded on every page
title: Custom CSS
+ default_noindex:
+ desc_html: Affects all users who have not changed this setting themselves
+ title: Opt users out of search engine indexing by default
+ domain_blocks:
+ all: To everyone
+ disabled: To no one
+ title: Show domain blocks
+ users: To logged-in local users
+ domain_blocks_rationale:
+ title: Show rationale
hero:
desc_html: Displayed on the frontpage. At least 600x100px recommended. When not set, falls back to server thumbnail
title: Hero image
@@ -490,6 +510,7 @@ en:
delete: Delete
nsfw_off: Mark as not sensitive
nsfw_on: Mark as sensitive
+ deleted: Deleted
failed_to_execute: Failed to execute
media:
title: Media
@@ -504,6 +525,10 @@ en:
context: Context
directory: In directory
in_directory: "%{count} in directory"
+ last_active: Last active
+ most_popular: Most popular
+ most_recent: Most recent
+ name: Hashtag
review: Review status
reviewed: Reviewed
title: Hashtags
@@ -529,6 +554,12 @@ en:
new_trending_tag:
body: 'The hashtag #%{name} is trending today, but has not been previously reviewed. It will not be displayed publicly unless you allow it to, or just save the form as it is to never hear about it again.'
subject: New hashtag up for review on %{instance} (#%{name})
+ aliases:
+ add_new: Create alias
+ created_msg: Successfully created a new alias. You can now initiate the move from the old account.
+ deleted_msg: Successfully remove the alias. Moving from that account to this one will no longer be possible.
+ hint_html: If you want to move from another account to this one, here you can create an alias, which is required before you can proceed with moving followers from the old account to this one. This action by itself is harmless and reversible. The account migration is initiated from the old account.
+ remove: Unlink alias
appearance:
advanced_web_interface: Advanced web interface
advanced_web_interface_hint: 'If you want to make use of your entire screen width, the advanced web interface allows you to configure many different columns to see as much information at the same time as you want: Home, notifications, federated timeline, any number of lists and hashtags.'
@@ -558,6 +589,10 @@ en:
checkbox_agreement_without_rules_html: I agree to the terms of service
delete_account: Delete account
delete_account_html: If you wish to delete your account, you can proceed here. You will be asked for confirmation.
+ description:
+ prefix_invited_by_user: "@%{name} invites you to join this server of Mastodon!"
+ prefix_sign_up: Sign up on Mastodon today!
+ suffix: With an account, you will be able to follow people, post updates and exchange messages with users from any Mastodon server and more!
didnt_get_confirmation: Didn't receive confirmation instructions?
forgot_password: Forgot your password?
invalid_reset_password_token: Password reset token is invalid or expired. Please request a new one.
@@ -584,6 +619,7 @@ en:
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}.
trouble_logging_in: Trouble logging in?
authorize_follow:
already_following: You are already following this account
@@ -596,6 +632,11 @@ en:
return: Show the user's profile
web: Go to web
title: Follow %{acct}
+ challenge:
+ confirm: Continue
+ hint_html: "Tip: We won't ask you for your password again for the next hour."
+ invalid_password: Invalid password
+ prompt: Confirm password to continue
datetime:
distance_in_words:
about_x_hours: "%{count}h"
@@ -611,28 +652,33 @@ en:
x_months: "%{count}mo"
x_seconds: "%{count}s"
deletes:
- bad_password_msg: Nice try, hackers! Incorrect password
+ challenge_not_passed: The information you entered was not correct
confirm_password: Enter your current password to verify your identity
- description_html: This will permanently, irreversibly remove content from your account and deactivate it. Your username will remain reserved to prevent future impersonations.
+ confirm_username: Enter your username to confirm the procedure
proceed: Delete account
success_msg: Your account was successfully deleted
- warning_html: Only deletion of content from this particular server is guaranteed. Content that has been widely shared is likely to leave traces. Offline servers and servers that have unsubscribed from your updates will not update their databases.
- warning_title: Disseminated content availability
+ warning:
+ before: 'Before proceeding, please read these notes carefully:'
+ caches: Content that has been cached by other servers may persist
+ data_removal: Your posts and other data will be permanently removed
+ email_change_html: You can change your e-mail address without deleting your account
+ email_contact_html: If it still doesn't arrive, you can e-mail %{email} for help
+ email_reconfirmation_html: If you are not receiving the confirmation e-mail, you can request it again
+ irreversible: You will not be able to restore or reactivate your account
+ more_details_html: For more details, see the privacy policy.
+ username_available: Your username will become available again
+ username_unavailable: Your username will remain unavailable
directories:
directory: Profile directory
- enabled: You are currently listed in the directory.
- enabled_but_waiting: You have opted-in to be listed in the directory, but you do not have the minimum number of followers (%{min_followers}) to be listed yet.
explanation: Discover users based on their interests
explore_mastodon: Explore %{title}
- how_to_enable: You are not currently opted-in to the directory. You can opt-in below. Use hashtags in your bio text to be listed under specific hashtags!
- people:
- one: "%{count} person"
- other: "%{count} people"
domain_validator:
invalid_domain: is not a valid domain name
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':
content: Security verification failed. Are you blocking cookies?
@@ -641,6 +687,7 @@ en:
'500':
content: We're sorry, but something went wrong on our end.
title: This page is not correct
+ '503': The page could not be served due to a temporary server failure.
noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the native apps for Mastodon for your platform.
existing_username_validator:
not_found: could not find a local user with that username
@@ -664,6 +711,7 @@ en:
add_new: Add new
errors:
limit: You have already featured the maximum amount of hashtags
+ hint_html: "What are featured hashtags? They are displayed prominently on your public profile and allow people to browse your public posts specifically under those hashtags. They are a great tool for keeping track of creative works or long-term projects."
filters:
contexts:
home: Home timeline
@@ -684,10 +732,12 @@ en:
developers: Developers
more: More…
resources: Resources
+ trending_now: Trending now
generic:
all: All
changes_saved_msg: Changes successfully saved!
copy: Copy
+ no_batch_actions_available: No batch actions available on this page
order_by: Order by
save_changes: Save changes
validation_errors:
@@ -758,10 +808,32 @@ en:
images_and_video: Cannot attach a video to a status that already contains images
too_many: Cannot attach more than 4 files
migrations:
- acct: username@domain of the new account
- currently_redirecting: 'Your profile is set to redirect to:'
- proceed: Save
- updated_msg: Your account migration setting successfully updated!
+ acct: Moved to
+ cancel: Cancel redirect
+ cancel_explanation: Cancelling the redirect will re-activate your current account, but will not bring back followers that have been moved to that account.
+ cancelled_msg: Successfully cancelled the redirect.
+ errors:
+ already_moved: is the same account you have already moved to
+ missing_also_known_as: is not back-referencing this account
+ move_to_self: cannot be current account
+ not_found: could not be found
+ on_cooldown: You are on cooldown
+ followers_count: Followers at time of move
+ incoming_migrations: Moving from a different account
+ incoming_migrations_html: To move from another account to this one, first you need to create an account alias.
+ moved_msg: Your account is now redirecting to %{acct} and your followers are being moved over.
+ not_redirecting: Your account is not redirecting to any other account currently.
+ on_cooldown: You have recently migrated your account. This function will become available again in %{count} days.
+ past_migrations: Past migrations
+ proceed_with_move: Move followers
+ redirecting_to: Your account is redirecting to %{acct}.
+ warning:
+ backreference_required: The new account must first be configured to back-reference this one
+ before: 'Before proceeding, please read these notes carefully:'
+ cooldown: After moving there is a cooldown period during which you will not be able to move again
+ disabled_account: Your current account will not be fully usable afterwards. However, you will have access to data export as well as re-activation.
+ followers: This action will move all followers from the current account to the new account
+ other_data: No other data will be moved automatically
moderation:
title: Moderation
notification_mailer:
@@ -907,6 +979,7 @@ en:
settings:
account: Account
account_settings: Account settings
+ aliases: Account aliases
appearance: Appearance
authorized_apps: Authorized apps
back: Back to Mastodon
@@ -1086,7 +1159,9 @@ en:
disable: While your account is frozen, your account data remains intact, but you cannot perform any actions until it is unlocked.
silence: While your account is limited, only people who are already following you will see your toots on this server, and you may be excluded from various public listings. However, others may still manually follow you.
suspend: Your account has been suspended, and all of your toots and your uploaded media files have been irreversibly removed from this server, and servers where you had followers.
+ get_in_touch: You can reply to this e-mail to get in touch with the staff of %{instance}.
review_server_policies: Review server policies
+ statuses: 'Specifically, for:'
subject:
disable: Your account %{acct} has been frozen
none: Warning for %{acct}
diff --git a/config/locales/eo.yml b/config/locales/eo.yml
index de28be010..ae8ea3256 100644
--- a/config/locales/eo.yml
+++ b/config/locales/eo.yml
@@ -1,7 +1,7 @@
---
eo:
about:
- about_hashtag_html: Ĉi tiuj estas la publikaj fajfoj markitaj per #%{hashtag}. Vi povas interagi kun ili se vi havas konton ie ajn en la fediverse.
+ about_hashtag_html: Ĉi tiuj estas la publikaj mesaĝoj markitaj per #%{hashtag}. Vi povas interagi kun ili se vi havas konton ie ajn en la fediverse.
about_mastodon_html: Mastodon estas socia reto bazita sur malfermitaj retaj protokoloj kaj sur libera malfermitkoda programo. Ĝi estas sencentra kiel retmesaĝoj.
about_this: Pri
active_count_after: aktiva
@@ -17,13 +17,13 @@ eo:
contact_unavailable: Ne disponebla
discover_users: Malkovri uzantojn
documentation: Dokumentado
- extended_description_html: |
-
Bona loko por reguloj
-
La detala priskribo ne estis elektita.
federation_hint_html: Per konto ĉe %{instance}, vi povos sekvi homojn ĉe iu ajn Mastodon nodo kaj preter.
generic_description: "%{domain} estas unu servilo en la reto"
get_apps: Provu telefonan aplikaĵon
hosted_on: "%{domain} estas nodo de Mastodon"
+ instance_actor_flash: |
+ Ĉi tiu konto estas virtuala ulo uzata por reprezenti la servilon mem kaj ne iun apartan uzanton.
+ Ĝi estas uzata por frataraj celoj kaj ĝi ne devus esti blokita krom se vi volas bloki la tutan servilon, tiuokaze vi devus uzi domajnan blokadon.
learn_more: Lerni pli
privacy_policy: Privateca politiko
see_whats_happening: Vidi kio okazas
@@ -35,6 +35,9 @@ eo:
status_count_before: Kie skribiĝis
tagline: Sekvi amikojn kaj trovi novan onin
terms: Uzkondiĉoj
+ unavailable_content: Nedisponebla enhavo
+ unavailable_content_description:
+ reason: 'Kialo:'
user_count_after:
one: uzanto
other: uzantoj
@@ -53,6 +56,7 @@ eo:
media: Aŭdovidaĵoj
moved_html: "%{name} moviĝis al %{new_profile_link}:"
network_hidden: Tiu informo ne estas disponebla
+ never_active: Neniam
nothing_here: Estas nenio ĉi tie!
people_followed_by: Sekvatoj de %{name}
people_who_follow: Sekvantoj de %{name}
@@ -183,6 +187,7 @@ eo:
username: Uzantnomo
warn: Averti
web: Reto
+ whitelisted: En la blanka listo
action_logs:
actions:
assigned_to_self_report: "%{name} asignis signalon %{target} al si mem"
@@ -250,6 +255,7 @@ eo:
feature_profile_directory: Profilujo
feature_registrations: Registriĝoj
feature_relay: Federacia ripetilo
+ feature_spam_check: Kontraŭ-spamo
feature_timeline_preview: Templinio antaŭvidi
features: Funkcioj
hidden_service: Federacio kun kaŝitaj servoj
@@ -261,15 +267,23 @@ eo:
space: Memorspaca uzado
title: Kontrolpanelo
total_users: uzantoj sume
- trends: Furoroj
+ trends: Furoraĵoj
week_interactions: interagoj tiusemajne
week_users_active: aktivaj tiusemajne
week_users_new: uzantoj tiusemajne
+ whitelist_mode: En la blanka listo
+ domain_allows:
+ add_new: En la blanka listo domajno
+ created_msg: Domajno sukcese blanklistigita
+ destroyed_msg: Domajno estis forigita de la blanklisto
+ undo: Forigi de la blanklisto
domain_blocks:
add_new: Aldoni novan
created_msg: Domajna blokado en traktado
destroyed_msg: Domajna blokado malfarita
domain: Domajno
+ edit: Redakti domajna blokado
+ existing_domain_block_html: Vi jam trudis pli striktajn limojn al %{name}, vi devas malbloki ĝin unue.
new:
create: Krei blokadon
hint: La domajna blokado ne evitigos kreadon de novaj kontoj en la datumbazo, sed aplikos specifajn kontrolajn agojn sur ĉi tiujn kontojn aŭtomate kaj retroaktive.
@@ -279,6 +293,8 @@ eo:
silence: Kaŝi
suspend: Haltigi
title: Nova domajna blokado
+ private_comment: Privata komento
+ public_comment: Publika komento
reject_media: Malakcepti aŭdovidajn dosierojn
reject_media_hint: Forigas aŭdovidaĵojn loke konservitajn kaj rifuzas alŝuti ajnan estonte. Senzorge pri haltigoj
reject_reports: Malakcepti raportojn
@@ -298,6 +314,7 @@ eo:
title: Malfari domajnan blokadon por %{domain}
undo: Malfari
undo: Malfari
+ view: Vidi domajna blokado
email_domain_blocks:
add_new: Aldoni novan
created_msg: Retadreso sukcese aldonita al la nigra listo
@@ -321,6 +338,8 @@ eo:
all: Ĉiuj
limited: Limigita
title: Kontrolo
+ private_comment: Privata komento
+ public_comment: Publika komento
title: Federacio
total_blocked_by_us: Blokitaj de ni
total_followed_by_them: Sekvataj de ili
@@ -398,6 +417,11 @@ eo:
custom_css:
desc_html: Ŝanĝi la aspekton per CSS ŝargita en ĉiu pago
title: Propra CSS
+ domain_blocks:
+ all: Al ciuj
+ disabled: Al neniu
+ title: Vidi domajna blokado
+ users: Al ensalutintaj lokaj uzantoj
hero:
desc_html: Montrata en la ĉefpaĝo. Almenaŭ 600x100px rekomendita. Kiam ne agordita, la bildeto de la servilo estos uzata
title: Kapbildo
@@ -448,6 +472,8 @@ eo:
desc_html: Vi povas skribi vian propran privatecan politikon, viajn uzkondiĉojn aŭ aliajn leĝaĵojn. Vi povas uzi HTML-etikedojn
title: Propraj uzkondiĉoj
site_title: Nomo de la servilo
+ spam_check_enabled:
+ title: Kontraŭ-spamo aŭtomatige
thumbnail:
desc_html: Uzata por antaŭvidoj per OpenGraph kaj per API. 1200x630px rekomendita
title: Bildeto de la servilo
@@ -455,12 +481,16 @@ eo:
desc_html: Montri publikan templinion en komenca paĝo
title: Tempolinia antaŭvido
title: Retejaj agordoj
+ trends:
+ desc_html: Publike montri antaŭe kontrolitajn kradvortojn, kiuj nune furoras
+ title: Furoraj kradvortoj
statuses:
back_to_account: Reveni al konta paĝo
batch:
delete: Forigi
- nsfw_off: Marki ne tikla
+ nsfw_off: Marki netikla
nsfw_on: Marki tikla
+ deleted: Forigita
failed_to_execute: Ekigo malsukcesa
media:
title: Aŭdovidaĵoj
@@ -469,13 +499,14 @@ eo:
title: Mesaĝoj de la konto
with_media: Kun aŭdovidaĵoj
tags:
- accounts: Kontoj
- hidden: Kaŝitaj
- hide: Kaŝi de la profilujo
- name: Kradvorto
+ context: Kunteksto
+ directory: En la adresaro
+ in_directory: "%{count} en adresaro"
+ review: La statuso de la recenzo
+ reviewed: Recenzis
title: Kradvortoj
- unhide: Montri en la profilujo
- visible: Videblaj
+ trending_right_now: Nunaj furoraĵoj
+ unreviewed: Ne recenzis
title: Administrado
warning_presets:
add_new: Aldoni novan
@@ -491,9 +522,14 @@ eo:
body: "%{reporter} signalis %{target}"
body_remote: Iu de %{domain} signalis %{target}
subject: Nova signalo por %{instance} (#%{id})
+ new_trending_tag:
+ body: 'La kradvorto #%{name} furoras hodiaŭ, sed ankoraŭ ne estis kontrolita. Ĝi ne aperos publike sen via aprobo. Se vi ne volas tion, simple konservu la formularon tiel kiel.'
+ subject: Nova kradvorto kontrolebla en %{instance} (#%{name})
appearance:
advanced_web_interface: Altnivela retpaĝa interfaco
- confirmation_dialogs: Konfirmaj dialogoj
+ advanced_web_interface_hint: 'Se vi volas uzi la tutan larĝecon de via ekrano, la kompleksa reta interfaco permesas al vi agordi multajn malsamajn kolumnojn por vidi tiom da informoj kiom vi volas samtempe: Hejmo, sciigoj, fratara tempolinio, kaj ajna kvanto de listoj kaj kradvortoj.'
+ animations_and_accessibility: Animacioj kaj alirebleco
+ confirmation_dialogs: Konfirmaj fenestroj
sensitive_content: Tikla enhavo
application_mailer:
notification_preferences: Ŝanĝi retmesaĝajn preferojn
@@ -514,7 +550,6 @@ eo:
apply_for_account: Peti inviton
change_password: Pasvorto
checkbox_agreement_html: Mi samopinii al la Servo reguloj kaj kondiĉo al servadon
- confirm_email: Konfirmi retadreson
delete_account: Forigi konton
delete_account_html: Se vi deziras forigi vian konton, vi povas fari tion ĉi tie. Vi bezonos konfirmi vian peton.
didnt_get_confirmation: Ĉu vi ne ricevis la instrukciojn por konfirmi?
@@ -534,6 +569,11 @@ eo:
reset_password: Ŝanĝi pasvorton
security: Sekureco
set_new_password: Elekti novan pasvorton
+ setup:
+ title: Agordi
+ status:
+ account_status: Statuso de la konto
+ functional: Via konto estas plene funkcianta.
trouble_logging_in: Ĝeni ensaluti?
authorize_follow:
already_following: Vi jam sekvas tiun konton
@@ -561,26 +601,20 @@ eo:
x_months: "%{count}mo"
x_seconds: "%{count}s"
deletes:
- bad_password_msg: Malĝusta pasvorto
confirm_password: Enmetu vian nunan pasvorton por konfirmi vian identecon
- description_html: Tio porĉiame kaj neŝanĝeble forigos la enhavon de via konto kaj malaktivigos ĝin. Via uzantnomo restos rezervita por eviti postajn trompojn pri identeco.
proceed: Forigi konton
success_msg: Via konto estis sukcese forigita
- warning_html: La forigo de la enhavo estas certa nur por ĉi tiu aparta servilo. Enhavo, kiu estis disvastigita verŝajne lasos spurojn. Eksterretaj serviloj kaj serviloj, kiuj ne abonas viajn ĝisdatigojn ne ĝisdatigos siajn datumbazojn.
- warning_title: Disponebleco de disvastigita enhavo
directories:
directory: Profilujo
- enabled: Vi estas listigata en la profilujo.
- enabled_but_waiting: Vi elektis esti listigata en la profilujo, sed vi ankoraŭ ne havas la minimuman kvanton da sekvantoj (%{min_followers}) por esti listigata.
explanation: Malkovru uzantojn per iliaj interesoj
explore_mastodon: Esplori %{title}
- how_to_enable: Vi ankoraŭ ne donis permeson listigi vin en la profilujo. Vi povas doni permeson ĉi-sube. Uzu kradvortojn en via biografia teksto por esti listigata sub specifaj kradvortoj!
- people:
- one: "%{count} persono"
- other: "%{count} personoj"
+ domain_validator:
+ invalid_domain: ne estas valida domajna nomo
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Vi ne havas la rajton por vidi ĉi tiun paĝon.
'404': La paĝo ke kiun vi serĉas ne ekzistas ĉi tie.
+ '406': This page is not available in the requested format.
'410': La paĝo, kiun vi serĉas, ne plu ekzistas ĉi tie.
'422':
content: Sekureca konfirmo malsukcesa. Ĉu vi blokas kuketojn?
@@ -589,6 +623,7 @@ eo:
'500':
content: Ni bedaŭras, io malsukcesis niaflanke.
title: Ĉi tiu paĝo ne estas ĝusta
+ '503': The page could not be served due to a temporary server failure.
noscript_html: |-
Por uzi la retan aplikaĵon de Mastodon, bonvolu ebligi JavaScript. Alimaniere, provu unu el la
operaciumaj aplikaĵoj por Mastodon por via platformo.
@@ -614,6 +649,7 @@ eo:
add_new: Aldoni novan
errors:
limit: Vi jam elstarigis la maksimuman kvanton da kradvortoj
+ hint_html: "Kio estas la trajtaj kradvortoj? Ili bone videblas en via publika profilo kaj permesas al homoj trarigardi viajn publikajn mesaĝojn specife laŭ tiuj kradvortoj. Ili estas bonaj iloj por sekvi la evoluon de kreadaj laboroj aŭ longdaŭraj projektoj."
filters:
contexts:
home: Hejma templinio
@@ -634,6 +670,7 @@ eo:
developers: Programistoj
more: Pli…
resources: Rimedoj
+ trending_now: Nunaj furoraĵoj
generic:
all: Ĉio
changes_saved_msg: Ŝanĝoj sukcese konservitaj!
@@ -644,7 +681,7 @@ eo:
one: Io mise okazis! Bonvolu konsulti la suban erar-raporton
other: Io mise okazis! Bonvolu konsulti la subajn %{count} erar-raportojn
html_validator:
- invalid_markup: 'havas malvalida HTML markado: %{error}'
+ invalid_markup: 'havas nevalidan HTML-markadon: %{error}'
identity_proofs:
active: Aktiva
authorize: Jes, permesi
@@ -709,9 +746,6 @@ eo:
too_many: Aldoni pli ol 4 dosierojn ne eblas
migrations:
acct: uzantnomo@domajno de la nova konto
- currently_redirecting: 'Via profilo alidirektos al:'
- proceed: Konservi
- updated_msg: Via agordo pri konta migrado estis sukcese ĝisdatigita!
moderation:
title: Kontrolado
notification_mailer:
@@ -951,6 +985,7 @@ eo:
silence: Dum via konto estas limigita, nur tiuj, kiuj jam sekvas vin, vidos viajn mesaĝojn en ĉi tiu servilo, kaj vi povus esti ekskludita de diversaj publikaj listoj. Tamen, aliaj ankoraŭ povas mane sekvi vin.
suspend: Via konto estis haltigita, kaj ĉiuj el viaj mesaĝoj kaj alŝutitaj aŭdovidaj dosieroj estis nemalfareble forigitaj de ĉi tiu servilo, kaj de la serviloj, kie vi havis sekvantojn.
review_server_policies: Superrigardi servilajn politikojn
+ statuses: 'Specife, per:'
subject:
disable: Via konto %{acct} estas frostigita
none: Averto por %{acct}
diff --git a/config/locales/es.yml b/config/locales/es.yml
index d6adf4062..ef22c7b82 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -1,9 +1,9 @@
---
es:
about:
- about_hashtag_html: Estos son toots públicos etiquetados con #%{hashtag}. Puedes interactuar con ellos si tienes una cuenta en cualquier parte del fediverso.
- about_mastodon_html: Mastodon es un servidor de red social libre y de código abierto. Una alternativa descentralizada a plataformas comerciales, que evita el riesgo de que una única compañía monopolice tu comunicación. Cualquiera puede ejecutar Mastodon y participar sin problemas en la red social.
- about_this: Acerca de esta instancia
+ about_hashtag_html: Estos son toots públicos etiquetados con #%{hashtag}. Puedes interactuar con ellos si tienes una cuenta en el fediverso.
+ about_mastodon_html: Mastodon es una red social basada en protocolos web abiertos y software libre y de código abierto. Está descentralizado como correo electrónico.
+ about_this: Información
active_count_after: activo
active_footnote: Usuarios Activos Mensuales (UAM)
administered_by: 'Administrado por:'
@@ -17,13 +17,13 @@ es:
contact_unavailable: N/A
discover_users: Descubrir usuarios
documentation: Documentación
- extended_description_html: |
-
Un buen lugar para las reglas
-
La descripción extendida no se ha colocado aún.
federation_hint_html: Con una cuenta en %{instance} usted podrá seguir a las personas en cualquier servidor de Mastodon y más allá.
generic_description: "%{domain} es un servidor en la red"
get_apps: Probar una aplicación móvil
hosted_on: Mastodon hosteado 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.
learn_more: Aprende más
privacy_policy: Política de privacidad
see_whats_happening: Ver lo que está pasando
@@ -35,6 +35,13 @@ es:
status_count_before: Qué han escrito
tagline: Seguir a amigos existentes y descubre nuevos
terms: Condiciones de servicio
+ unavailable_content: Contenido no disponible
+ unavailable_content_description:
+ reason: 'Motivo:'
+ rejecting_media: Los archivos multimedia de este servidor no serán procesados y no se mostrarán miniaturas, lo que requiere un clic manual en el otro servidor.
+ silenced: Las publicaciones de este servidor no se mostrarán en ningún lugar salvo en el Inicio si sigues al autor.
+ suspended: No podrás seguir a nadie de este servidor, y ningún dato de este será procesado o almacenado, y no se intercambiarán datos.
+ unavailable_content_html: Mastodon generalmente le permite ver contenido e interactuar con usuarios de cualquier otro servidor en el fediverso. Estas son las excepciones que se han hecho en este servidor en particular.
user_count_after:
one: usuario
other: usuarios
@@ -42,6 +49,8 @@ es:
what_is_mastodon: "¿Qué es Mastodon?"
accounts:
choices_html: 'Elecciones de %{name}:'
+ endorsements_hint: Puedes recomendar a gente que sigues desde la interfaz web, y aparecerán allí.
+ featured_tags_hint: Puede presentar hashtags específicos que se mostrarán aquí.
follow: Seguir
followers:
one: Seguidor
@@ -53,6 +62,7 @@ es:
media: Multimedia
moved_html: "%{name} se ha trasladado a %{new_profile_link}:"
network_hidden: Esta información no está disponible
+ never_active: Nunca
nothing_here: "¡No hay nada aquí!"
people_followed_by: Usuarios a quien %{name} sigue
people_who_follow: Usuarios que siguen a %{name}
@@ -183,6 +193,7 @@ es:
username: Nombre de usuario
warn: Adevertir
web: Web
+ whitelisted: Añadido a la lista blanca
action_logs:
actions:
assigned_to_self_report: "%{name} se ha asignado la denuncia %{target} a sí mismo"
@@ -218,10 +229,12 @@ es:
deleted_status: "(estado borrado)"
title: Log de auditoría
custom_emojis:
+ assign_category: Asignar categoría
by_domain: Dominio
copied_msg: Copia local del emoji creada con éxito
copy: Copiar
copy_failed_msg: No se pudo realizar una copia local de ese emoji
+ create_new_category: Crear una nueva categoría
created_msg: "¡Emoji creado con éxito!"
delete: Borrar
destroyed_msg: "¡Emojo destruido con éxito!"
@@ -238,6 +251,7 @@ es:
shortcode: Código de atajo
shortcode_hint: Al menos 2 caracteres, solo caracteres alfanuméricos y guiones bajos
title: Emojis personalizados
+ uncategorized: Sin clasificar
unlisted: Sin listar
update_failed_msg: No se pudo actualizar ese emoji
updated_msg: "¡Emoji actualizado con éxito!"
@@ -250,10 +264,13 @@ es:
feature_profile_directory: Directorio de perfil
feature_registrations: Registros
feature_relay: Relés de federación
+ feature_spam_check: Contra-spam
feature_timeline_preview: Vista previa de la línea de tiempo
features: Características
hidden_service: Federación con servicios ocultos
open_reports: informes abiertos
+ pending_tags: hashtags esperando revisión
+ pending_users: usuarios esperando por revisión
recent_users: Usuarios recientes
search: Búsqueda por texto completo
single_user_mode: Modo único usuario
@@ -265,11 +282,18 @@ es:
week_interactions: interacciones esta semana
week_users_active: activo esta semana
week_users_new: usuarios esta semana
+ whitelist_mode: En la lista blanca
+ domain_allows:
+ add_new: Añadir dominio a la lista blanca
+ created_msg: Dominio añadido a la lista blanca con éxito
+ destroyed_msg: Dominio quitado de la lista blanca con éxito
+ undo: Quitar de la lista blanca
domain_blocks:
add_new: Añadir nuevo
created_msg: El bloque de dominio está siendo procesado
destroyed_msg: El bloque de dominio se deshizo
domain: Dominio
+ edit: Editar nuevo dominio bloqueado
existing_domain_block_html: Ya ha impuesto límites más estrictos a %{name}, necesita desbloquearlo primero.
new:
create: Crear bloque
@@ -280,6 +304,10 @@ es:
silence: Silenciar
suspend: Suspender
title: Nuevo bloque de dominio
+ private_comment: Comentario privado
+ private_comment_hint: Comentario sobre esta limitación de dominio para el uso interno por parte de los moderadores.
+ public_comment: Comentario público
+ public_comment_hint: Comentario sobre esta limitación de dominio para el público en general, si la publicidad de la lista de limitaciones de dominio está habilitada.
reject_media: Rechazar archivos multimedia
reject_media_hint: Remueve localmente archivos multimedia almacenados para descargar cualquiera en el futuro. Irrelevante para suspensiones
reject_reports: Rechazar informes
@@ -299,6 +327,7 @@ es:
title: Deshacer bloque de dominio para %{domain}
undo: Deshacer
undo: Deshacer
+ view: Ver dominio bloqueado
email_domain_blocks:
add_new: Añadir nuevo
created_msg: Dominio de correo añadido a la lista negra con éxito
@@ -322,6 +351,8 @@ es:
all: Todos
limited: Limitado
title: Moderación
+ private_comment: Comentario privado
+ public_comment: Comentario público
title: Instancias conocidas
total_blocked_by_us: Bloqueado por nosotros
total_followed_by_them: Seguidos por ellos
@@ -399,6 +430,9 @@ es:
custom_css:
desc_html: Modificar el aspecto con CSS cargado en cada página
title: CSS personalizado
+ domain_blocks:
+ all: A todos
+ disabled: A nadie
hero:
desc_html: Mostrado en la página principal. Recomendable al menos 600x100px. Por defecto se establece a la miniatura de la instancia
title: Imagen de portada
@@ -449,6 +483,9 @@ es:
desc_html: Puedes escribir tus propias políticas de privacidad, términos de servicio u otras legalidades. Puedes usar tags HTML
title: Términos de servicio personalizados
site_title: Nombre de instancia
+ spam_check_enabled:
+ desc_html: Mastodon puede silenciar y reportar cuentas automáticamente usando medidas como detectar cuentas que envían mensajes no solicitados repetidos. Puede que haya falsos positivos.
+ title: Contra-spam
thumbnail:
desc_html: Se usa para muestras con OpenGraph y APIs. Se recomienda 1200x630px
title: Portada de instancia
@@ -456,12 +493,16 @@ es:
desc_html: Mostrar línea de tiempo pública en la portada
title: Previsualización
title: Ajustes del sitio
+ trends:
+ desc_html: Mostrar públicamente hashtags previamente revisados que son tendencia
+ title: Hashtags de tendencia
statuses:
back_to_account: Volver a la cuenta
batch:
delete: Eliminar
nsfw_off: Marcar contenido como no sensible
nsfw_on: Marcar contenido como sensible
+ deleted: Eliminado
failed_to_execute: Falló al ejecutar
media:
title: Multimedia
@@ -470,13 +511,22 @@ es:
title: Estado de las cuentas
with_media: Con multimedia
tags:
- accounts: Cuentas
- hidden: Oculto
- hide: Ocultar del directorio
- name: Etiqueta
+ accounts_today: Usos únicos de hoy
+ accounts_week: Usos únicos esta semana
+ context: Contexto
+ directory: En el directorio
+ in_directory: "%{count} en el directorio"
+ last_active: Última actividad
+ most_popular: Más popular
+ most_recent: Más reciente
+ name: Hashtag
+ review: Estado de revisión
+ reviewed: Revisado
title: Etiquetas
- unhide: Mostrar en el directorio
- visible: Visible
+ trending_right_now: En tendencia ahora mismo
+ unique_uses_today: "%{count} publicando hoy"
+ unreviewed: No revisado
+ updated_msg: Hashtags actualizados exitosamente
title: Administración
warning_presets:
add_new: Añadir nuevo
@@ -492,11 +542,15 @@ 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_tag:
+ body: 'El hashtag #%{name} está en tendencia hoy, pero no ha sido revisado previamente. No se mostrará públicamente a menos que lo permita, o simplemente guarde el formulario como para no volver a ver esto.'
+ subject: Nuevo hashtag para revisión en %{instance} (#%{name})
appearance:
advanced_web_interface: Interfaz web avanzada
advanced_web_interface_hint: 'Si desea utilizar todo el ancho de pantalla, la interfaz web avanzada le permite configurar varias columnas diferentes para ver tanta información al mismo tiempo como quiera: Inicio, notificaciones, línea de tiempo federada, cualquier número de listas y etiquetas.'
animations_and_accessibility: Animaciones y accesibilidad
confirmation_dialogs: Diálogos de confirmación
+ discovery: Descubrir
sensitive_content: Contenido sensible
application_mailer:
notification_preferences: Cambiar preferencias de correo electrónico
@@ -517,7 +571,7 @@ es:
apply_for_account: Solicitar una invitación
change_password: Contraseña
checkbox_agreement_html: Acepto las reglas del servidor y términos de servicio
- confirm_email: Confirmar email
+ checkbox_agreement_without_rules_html: Acepto los términos de servicio
delete_account: Borrar cuenta
delete_account_html: Si desea eliminar su cuenta, puede proceder aquí. Será pedido de una confirmación.
didnt_get_confirmation: "¿No recibió el correo de confirmación?"
@@ -537,6 +591,15 @@ es:
reset_password: Restablecer contraseña
security: Cambiar contraseña
set_new_password: Establecer nueva contraseña
+ setup:
+ email_below_hint_html: Si la dirección de correo electrónico que aparece a continuación es incorrecta, se puede cambiarla aquí y recibir un nuevo correo electrónico de confirmación.
+ email_settings_hint_html: El correo electrónico de confirmación fue enviado a %{email}. Si esa dirección de correo electrónico no sea correcta, se puede cambiarla en la configuración de la cuenta.
+ title: Configuración
+ status:
+ account_status: Estado de la cuenta
+ confirming: Esperando confirmación de correo electrónico.
+ functional: Su cuenta está totalmente operativa.
+ pending: Su solicitud está pendiente de revisión por nuestros administradores. Eso puede tardar algún tiempo. Usted recibirá un correo electrónico si el solicitud sea aprobada.
trouble_logging_in: "¿Problemas para iniciar sesión?"
authorize_follow:
already_following: Ya estás siguiendo a esta cuenta
@@ -549,6 +612,8 @@ es:
return: Regresar al perfil del usuario
web: Ir al sitio web
title: Seguir a %{acct}
+ challenge:
+ confirm: Continuar
datetime:
distance_in_words:
about_x_hours: "%{count}h"
@@ -564,26 +629,20 @@ es:
x_months: "%{count}m"
x_seconds: "%{count}s"
deletes:
- bad_password_msg: "¡Buen intento, hackers! Contraseña incorrecta"
confirm_password: Ingresa tu contraseña actual para demostrar tu identidad
- description_html: Esto removerá el contenido de tu cuenta y la desactivará permanente e irrevesiblemente. Tu nombre de usuario quedará reservado para prevenir futuros robos de identidad.
proceed: Eliminar cuenta
success_msg: Tu cuenta se eliminó con éxito
- warning_html: Se garantiza únicamente la eliminación del contenido de esta instancia. El contenido que se haya compartido extensamente dejará sus huellas. Los servidores fuera de línea y los que se hayan desuscrito de tus actualizaciones ya no actualizarán sus bases de datos.
- warning_title: Disponibilidad diseminada del contenido
directories:
directory: Directorio de perfiles
- enabled: Actualmente está listado en el directorio.
- enabled_but_waiting: Ha optado por ser listado en el directorio, pero aún no cumple con el número mínimo de seguidores (%{min_followers}) para ser listado.
explanation: Descubre usuarios según sus intereses
explore_mastodon: Explorar %{title}
- how_to_enable: Usted no está registrado por el directorio. Puede registrar por abajo. ¡Utilice hashtags en su bio para aparecer bajo hashtags específicos!
- people:
- one: "%{count} persona"
- other: "%{count} personas"
+ domain_validator:
+ invalid_domain: no es un nombre de dominio válido
errors:
+ '400': The request you submitted was invalid or malformed.
'403': No tienes permiso para acceder a esta página.
'404': La página que estabas buscando no existe.
+ '406': This page is not available in the requested format.
'410': La página que estabas buscando no existe más.
'422':
content: Verificación de seguridad fallida. ¿Estás bloqueando algunas cookies?
@@ -592,6 +651,7 @@ es:
'500':
content: Lo sentimos, algo ha funcionado mal por nuestra parte.
title: Esta página no es correcta
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Para usar la aplicación web de Mastodon, por favor activa Javascript. Alternativamente, prueba alguna de las aplicaciones nativas para Mastodon para tu plataforma.
existing_username_validator:
not_found: no pudo encontrar un usuario local con ese nombre de usuario
@@ -635,6 +695,7 @@ es:
developers: Desarrolladores
more: Mas…
resources: Recursos
+ trending_now: Tendencia ahora
generic:
all: Todos
changes_saved_msg: "¡Cambios guardados con éxito!"
@@ -710,9 +771,6 @@ es:
too_many: No se pueden adjuntar más de 4 archivos
migrations:
acct: username@domain de la nueva cuenta
- currently_redirecting: 'Tu perfil está redireccionado a:'
- proceed: Guardar
- updated_msg: "¡La configuración de migración de tu cuenta ha sido actualizada con éxito!"
moderation:
title: Moderación
notification_mailer:
@@ -874,6 +932,8 @@ es:
profile: Perfil
relationships: Siguiendo y seguidores
two_factor_authentication: Autenticación de dos factores
+ spam_check:
+ spam_detected_and_silenced: Este es un informe automatizado. Se ha detectado spam y el remitente ha sido silenciado automáticamente. Si esto es un error, por favor, deja de silenciar la cuenta.
statuses:
attached:
description: 'Adjunto: %{attached}'
@@ -915,6 +975,8 @@ es:
pinned: Toot fijado
reblogged: retooteado
sensitive_content: Contenido sensible
+ tags:
+ does_not_match_previous_name: no coincide con el nombre anterior
terms:
body_html: |
Política de Privacidad
diff --git a/config/locales/et.yml b/config/locales/et.yml
new file mode 100644
index 000000000..0a66d49f4
--- /dev/null
+++ b/config/locales/et.yml
@@ -0,0 +1,1003 @@
+---
+et:
+ about:
+ about_hashtag_html: Need on avalikud tuututused sildistatud sildiga #%{hashtag}. Te saate suhelda nendega, kui Teil on konto üks kõik kus terves fediversumis.
+ about_mastodon_html: Mastodon on sotsiaalvõrgustik, mis põhineb avatud protokollidel ja avatud lähtekoodiga tarkvaral. See on detsentraliseeritud nagu e-post.
+ about_this: Meist
+ active_count_after: aktiivne
+ active_footnote: Igakuiselt aktiivseid kasutajaid (MAU)
+ administered_by: 'Administraator:'
+ api: API
+ apps: Mobiilrakendused
+ apps_platforms: Kasuta Mastodoni iOS-is, Androidis ja teistel platvormidel
+ browse_directory: Sirvi profiilide kataloogi ja filtreeri huvide alusel
+ browse_public_posts: Sirvi reaalajas voogu avalikest postitustest Mastodonis
+ contact: Kontakt
+ contact_missing: Määramata
+ contact_unavailable: Pole saadaval
+ discover_users: Avasta kasutajaid
+ documentation: Dokumentatsioon
+ federation_hint_html: Kui Teil on kasutaja %{instance}-is, saate Te jälgida inimesi üks kõik millisel Mastodoni serveril ja kaugemalgi.
+ generic_description: "%{domain} on ainult üks server terves võrgus"
+ get_apps: Proovi mobiilirakendusi
+ hosted_on: Mastodon majutatud %{domain}-is
+ instance_actor_flash: |
+ See konto on virtuaalne näitleja, mis esindab tervet serverit ning mitte ühtegi kindlat isikut.
+ Seda kasutatakse föderatiivsetel põhjustel ning seda ei tohiks blokeerida, välja arvatud juhul, kui soovite blokeerida tervet serverit, kuid sellel juhul soovitame hoopis kasutada domeeni blokeerimist.
+ learn_more: Lisateave
+ privacy_policy: Privaatsuspoliitika
+ see_whats_happening: Vaata, mis toimub
+ server_stats: 'Serveri statistika:'
+ source_code: Lähtekood
+ status_count_after:
+ one: staatust
+ other: staatuseid
+ status_count_before: Kes omavad
+ tagline: Jälgi sõpru ja leia uusi
+ terms: Kasutustingimused
+ user_count_after:
+ one: kasutajale
+ other: kasutajale
+ user_count_before: Koduks
+ what_is_mastodon: Mis on Mastodon?
+ accounts:
+ choices_html: "%{name}-i valikud:"
+ follow: Jälgi
+ followers:
+ one: Jälgija
+ other: Jälgijaid
+ following: Jälgib
+ joined: Liitus %{date}
+ last_active: viimati aktiivne
+ link_verified_on: Selle lingi autorsust kontrolliti %{date}
+ media: Meedia
+ moved_html: "%{name} kolis %{new_profile_link}:"
+ network_hidden: Neid andmeid pole saadaval
+ nothing_here: Siin pole midagi!
+ people_followed_by: Inimesed, keda %{name} jälgib
+ people_who_follow: Inimesed, kes jälgivad kasutajat %{name}
+ pin_errors:
+ following: Te peate juba olema selle kasutaja jälgija, keda te heaks kiidate
+ posts:
+ one: Tuut
+ other: Tuututused
+ posts_tab_heading: Tuututused
+ posts_with_replies: Tuututused ja vastused
+ reserved_username: Kasutajanimi on reserveeritud
+ roles:
+ admin: Administraator
+ bot: Robot
+ moderator: Moderaator
+ unavailable: Profiil pole saadaval
+ unfollow: Lõpeta jälgimine
+ admin:
+ account_actions:
+ action: Täida tegevus
+ title: Rakenda moderaatori tegevus kasutajale %{acct}
+ account_moderation_notes:
+ create: Jäta teade
+ created_msg: Moderatsiooniteade edukalt koostatud!
+ delete: Kustuta
+ destroyed_msg: Moderatsiooniteade edukalt kustutatud!
+ accounts:
+ approve: Kinnita
+ approve_all: Kinnita kõik
+ are_you_sure: Olete kindel?
+ avatar: Profiilipilt
+ by_domain: Domeen
+ change_email:
+ changed_msg: Konto e-postiaadress edukalt muudetud!
+ current_email: Praegune e-postiaadress
+ label: Muuda e-posti aadressi
+ new_email: Uus е-posti aadress
+ submit: Muuda e-posti aadressi
+ title: Muuda e-postiaadressi kasutajale %{username}
+ confirm: Kinnita
+ confirmed: Kinnitatud
+ confirming: Kinnitamine
+ deleted: Kustutatud
+ demote: Alanda
+ disable: Keela
+ disable_two_factor_authentication: Keela 2FA
+ disabled: Keelatud
+ display_name: Kuvanimi
+ domain: Domeen
+ edit: Redigeeri
+ email: E-post
+ email_status: E-posti staatus
+ enable: Luba
+ enabled: Lubatud
+ feed_url: Voogu URL
+ followers: Jälgijad
+ followers_url: Jälgijate URL
+ follows: Jälgib
+ header: Päis
+ inbox_url: Sisendkausta URL
+ invited_by: Kutsuja
+ ip: IP
+ joined: Liitus
+ location:
+ all: Kõik
+ local: Kohalik
+ remote: Kaug
+ title: Asukoht
+ login_status: Sisselogimise olek
+ media_attachments: Lisatud meedia
+ memorialize: Tee memoriaaliks
+ moderation:
+ active: Aktiivne
+ all: Kõik
+ pending: Ootel
+ silenced: Vaigistatud
+ suspended: Peatatud
+ title: Moderatsioon
+ moderation_notes: Moderatsiooniteated
+ most_recent_activity: Kõige hiljutisem aktiivsus
+ most_recent_ip: Kõige hiljutisem IP
+ no_account_selected: Mitte ühtegi kontot muudeti sest midagi polnud valitud
+ no_limits_imposed: Mitte ühtegi limiiti kehtestatud
+ not_subscribed: Ei ole tellitud
+ outbox_url: Väljundkausta URL
+ pending: Ootab ülevaatamist
+ perform_full_suspension: Peata
+ profile_url: Profiili URL
+ promote: Edenda
+ protocol: Protokoll
+ public: Avalik
+ push_subscription_expires: PuSH tellimus aegub
+ redownload: Värskenda profiili
+ reject: Hülga
+ reject_all: Hülga kõik
+ remove_avatar: Kustuta profiilipilt
+ remove_header: Kustuta päis
+ resend_confirmation:
+ already_confirmed: See kasutaja on juba kinnitatud
+ send: Saada kinnituskiri uuesti
+ success: Kinnituskiri saadetud edukalt!
+ reset: Lähtesta
+ reset_password: Lähtesta salasõna
+ resubscribe: Telli taas
+ role: Õigused
+ roles:
+ admin: Administraator
+ moderator: Moderaator
+ staff: Personal
+ user: Kasutaja
+ salmon_url: Salmoni URL
+ search: Otsi
+ shared_inbox_url: Jagatud sisendkausta URL
+ show:
+ created_reports: Loodud teated
+ targeted_reports: Teiste poolt teatatud
+ silence: Vaigista
+ silenced: Vaigistatud
+ statuses: Staatuseid
+ subscribe: Telli
+ suspended: Peatatud
+ time_in_queue: Ootab järjekorras %{time}
+ title: Kontod
+ unconfirmed_email: Kinnitamata e-post
+ undo_silenced: Võta vaigistus tagasi
+ undo_suspension: Võta peatamine tagasi
+ unsubscribe: Tühista tellimus
+ username: Kasutajanimi
+ warn: Hoiata
+ web: Veeb
+ whitelisted: Lubatud
+ action_logs:
+ actions:
+ assigned_to_self_report: "%{name} määras teabe %{target} iseendale"
+ change_email_user: "%{name} muutis kasutaja %{target} e-postiaadressit"
+ confirm_user: "%{name} kinnitas kasutaja %{target} e-postiaadressi"
+ create_account_warning: "%{name} saatis kasutajale %{target} hoiatuse"
+ create_custom_emoji: "%{name} laadis üles uue emotikooni %{target}"
+ create_domain_block: "%{name} blokeeris domeeni %{target}"
+ create_email_domain_block: "%{name} lisas e-posti domeeni %{target} musta nimekirja"
+ demote_user: "%{name} alandas kasutaja %{target}"
+ destroy_custom_emoji: "%{name} kustutas emotikooni %{target}"
+ destroy_domain_block: "%{name} eemaldas blokeeringu domeenilt %{target}"
+ destroy_email_domain_block: "%{name} lisas e-posti domeeni %{target} lubatute nimekirja"
+ destroy_status: "%{name} eemaldas %{target} staatuse"
+ disable_2fa_user: "%{name} eemaldas kaheastmelise autentimise kohustuse kasutajalt %{target}"
+ disable_custom_emoji: "%{name} keelas emotikooni %{target}"
+ disable_user: "%{name} keelas sisselogimise kasutajal %{target}"
+ enable_custom_emoji: "%{name} lubas emotikooni %{target}"
+ enable_user: "%{name} lubas sisselogimise kasutajal %{target}"
+ memorialize_account: "%{name} muutis %{target}-i kasutaja memoriaaliks"
+ promote_user: "%{name} edendas kasutajat %{target}"
+ remove_avatar_user: "%{name} kustutas kasutaja %{target} profiilipildi"
+ reopen_report: "%{name} taasavas teate %{target}"
+ reset_password_user: "%{name} lähtestas parooli kasutajal %{target}"
+ resolve_report: "%{name} lahendas teate %{target}"
+ silence_account: "%{name} vaigistas %{target}-i kasutaja"
+ suspend_account: "%{name} peatas %{target}-i kasutaja"
+ unassigned_report: "%{name} eemaldas määratluse teatelt %{target}"
+ unsilence_account: "%{name} eemaldas vaigistuse %{target}-i kontolt"
+ unsuspend_account: "%{name} eemaldas peatamise %{target}-i kontolt"
+ update_custom_emoji: "%{name} uuendas emotikooni %{target}"
+ update_status: "%{name} uuendas kasutaja %{target} staatust"
+ deleted_status: "(kustutatud staatus)"
+ title: Auditilogi
+ custom_emojis:
+ by_domain: Domeen
+ copied_msg: Kohaliku koopia loomine emotikonist õnnestus
+ copy: Kopeeri
+ copy_failed_msg: Kohaliku koopia loomine sellest emotikonist ebaõnnestus
+ created_msg: Emotikoni loomine õnnestus!
+ delete: Kustuta
+ destroyed_msg: Emotikoni kustutamine õnnestus!
+ disable: Keela
+ disabled_msg: Selle emotikoni keelamine õnnestus
+ emoji: Emotikonid
+ enable: Luba
+ enabled_msg: Selle emotikoni lubamine õnnestus
+ image_hint: PNG kuni 50KB
+ listed: Nimekirjastatud
+ new:
+ title: Lisa uus emotikon
+ overwrite: Kirjuta üle
+ shortcode: Lühikood
+ shortcode_hint: Vähemalt 2 tähemärki, ainult tähted, numbrid ja alakriipsud
+ title: Emotikonid
+ unlisted: Kirjendamata
+ update_failed_msg: Ei saanud seda emotikoni uuendada
+ updated_msg: Emotikoni uuendamine õnnestus!
+ upload: Lae üles
+ dashboard:
+ authorized_fetch_mode: Autoriseeritud tõmberežiim
+ backlog: mahajäänud tööd
+ config: Konfiguratsioon
+ feature_deletions: Kontode kustutamised
+ feature_invites: Kutselingid
+ feature_profile_directory: Profiilikataloog
+ feature_registrations: Registreerimised
+ feature_relay: Föderatsiooni relee
+ feature_spam_check: Rämpsposti filter
+ feature_timeline_preview: Ajajoone eelvaade
+ features: Omadused
+ hidden_service: Föderatsioon peidetud teenustega
+ open_reports: ava teavitused
+ pending_tags: sildid ootamas ülevaadet
+ pending_users: kasutajad ootamas ülevaadet
+ recent_users: Hiljutised kasutajad
+ search: Täis teksti otsing
+ single_user_mode: Üksiku kasutaja režiim
+ software: Tarkvara
+ space: Kettakasutus
+ title: Töölaud
+ total_users: kokku kasutajaid
+ trends: Trendid
+ week_interactions: interaktsioone see nädal
+ week_users_active: aktiivne see nädal
+ week_users_new: kasutajaid see nädal
+ domain_allows:
+ add_new: Luba domeen
+ created_msg: Domeeni lubamine õnnestus
+ destroyed_msg: Domeen eemaldati lubatute nimekirjast
+ undo: Eemalda lubatute nimekirjast
+ domain_blocks:
+ add_new: Lisa uus domeeniblokeering
+ created_msg: Domeeni blokeeringut töödeldakse
+ destroyed_msg: Domeeniblokeering on tagasi võetud
+ domain: Domeen
+ existing_domain_block_html: Te olete juba lisanud domeenile %{name} piiranguid, palun eemaldage blokeering enne jätkamist.
+ new:
+ create: Loo blokeering
+ hint: Domeeniblokeering ei takista kontode lisamist andmebaasi, aga lisab nendele kontodele tagasiulatuvalt ja automaatselt erinevaid moderatsioonimeetodeid.
+ severity:
+ desc_html: |-
+ Vaigista teeb konto postitused nähtamatuks kõigile, kes teda ei jälgi.
+ Peata eemaldab kogu konto sisu, meedia ja profiiliandmed.
+ Ei midagi kui Te soovite lihtsalt keelata meediafailid.
+ noop: Ei midagi
+ silence: Vaigista
+ suspend: Peata
+ title: Uus domeeniblokeering
+ reject_media: Keela meediafailid
+ reject_media_hint: Kustutab kohalikult salvestatud meediafailid ja keeldub tulevikus rohkem allalaadimast. Ei puuduta peatamisi
+ reject_reports: Lükka teavitused tagasi
+ reject_reports_hint: Eira kõik teavitused sellelt domeenilt. Ei puuduta peatamisi
+ rejecting_media: keelan meediafaile
+ rejecting_reports: keelan teavitusi
+ severity:
+ silence: vaigistatud
+ suspend: peatatud
+ show:
+ affected_accounts:
+ one: Üks kasutaja andmebaasis mõjutatud
+ other: "%{count} kasutajat andmebaasis mõjutatud"
+ retroactive:
+ silence: Eemalda vaigistus mõjutatud kasutajatelt sellel domeenil
+ suspend: Lõpeta mõjutatud kasutajate peatamine sellel domeenil
+ title: Eemalda domeeniblokeering %{domain}
+ undo: Võta tagasi
+ undo: Võta tagasi domeeniblokeering
+ email_domain_blocks:
+ add_new: Lisa uus
+ created_msg: E-posti aadressi keelunimekirja lisamine õnnestus
+ delete: Kustuta
+ destroyed_msg: E-posti aadressi keelunimekirjast kustutamine õnnestus
+ domain: Domeen
+ new:
+ create: Lisa domeen
+ title: Uus e-posti keelunimekirja sisend
+ title: E-posti keelunimekiri
+ followers:
+ back_to_account: Tagasi minu kontole
+ title: "%{acct}-i jälgijad"
+ instances:
+ by_domain: Domeen
+ delivery_available: Üleandmine on saadaval
+ known_accounts:
+ one: "%{count} teadaolev kasutaja"
+ other: "%{count} teadaolevat kasutajat"
+ moderation:
+ all: Kõik
+ limited: Piiratud
+ title: Moderatsioon
+ title: Föderatsioon
+ total_blocked_by_us: Meie poolt blokeeritud
+ total_followed_by_them: Nende poolt jälgitud
+ total_followed_by_us: Meie poolt jälgitud
+ total_reported: Nende kohta teateid
+ total_storage: Lisatud meedia
+ invites:
+ deactivate_all: Peata kõik
+ filter:
+ all: Kõik
+ available: Saadaval
+ expired: Aegunud
+ title: Filter
+ title: Kutsed
+ pending_accounts:
+ title: Ootel olevad kasutajad (%{count})
+ relays:
+ add_new: Lisa uus relee
+ delete: Kustuta
+ description_html: "Föderatsiooni relee on vahepealne server, mis vahetab suures koguses tuututusi serverite vahel, mis on selle tellijad ning mis sellele saadavad. See aitab väikestel ja keskmistel serveritel avastada sisu fediversumist, mis tavaliselt nõuab teisel serveril olevate inimeste jälgimist."
+ disable: Keela
+ disabled: Keelatud
+ enable: Luba
+ enable_hint: Kui lubatud, siis sinu server tellib kõik avalikud tuututused sellelt releelt, ning hakkab ka enda avalikke tuututusi sellele saatma.
+ enabled: Lubatud
+ inbox_url: Relee URL
+ pending: Ootab relee nõusolekut
+ save_and_enable: Salvesta ja luba
+ setup: Sea üles releeühendus
+ status: Staatus
+ title: Releed
+ report_notes:
+ created_msg: Teade edukalt koostatud!
+ destroyed_msg: Teade edukalt kustutatud!
+ reports:
+ account:
+ note: märkus
+ report: teavita
+ action_taken_by: Meetmeid kasutanud
+ are_you_sure: Olete kindel?
+ assign_to_self: Määra mulle
+ assigned: Määratud moderaator
+ comment:
+ none: Pole
+ created_at: Teavitatud
+ mark_as_resolved: Märgi lahendatuks
+ mark_as_unresolved: Märgi lahendamata
+ notes:
+ create: Lisa märkus
+ create_and_resolve: Lahenda märkusega
+ create_and_unresolve: Taasava märkusega
+ delete: Kustuta
+ placeholder: Kirjelda, mis on ette võetud või muid seotud uuendusi...
+ reopen: Taasava teavitus
+ report: 'Teavitus #%{id}'
+ reported_account: Teavitatud kontost
+ reported_by: Teavitatud
+ resolved: Lahendatud
+ resolved_msg: Teavituse lahendamine õnnestus!
+ status: Staatus
+ title: Teavitused
+ unassign: Eemalda määramine
+ unresolved: Lahendamata
+ updated_at: Uuendatud
+ settings:
+ activity_api_enabled:
+ desc_html: Kohalike postituste, aktiivsete kasutajate ja uute registreerimiste numbrid iganädalaste "ämbritena"
+ title: Avalda koondstatistikat selle kasutaja aktiivsusest
+ bootstrap_timeline_accounts:
+ desc_html: Eralda mitut kasutajanime komadega. Ainult kohalikud ja lukustamata kasutajate nimed töötavad. Kui tühi, on vaikesätteks kõik kohalikud administraatorid.
+ title: Vaikimisi jälgimised uutele kasutajatele
+ contact_information:
+ email: Äri e-post
+ username: Kontakt kasutajanimi
+ custom_css:
+ desc_html: Muuda kujundust CSSi abil, mis laetakse igal lehel
+ title: Kohandatud CSS
+ hero:
+ desc_html: Kuvatud kodulehel. Vähemalt 600x100px soovitatud. Kui pole seadistatud, kuvatakse serveri pisililt
+ title: Maskotipilt
+ mascot:
+ desc_html: Kuvatakse mitmel lehel. Vähemalt 293x205px soovitatud. Kui pole seadistatud, kuvatakse vaikimisi maskott
+ title: Maskotipilt
+ peers_api_enabled:
+ desc_html: Domeenid, mida see server on kohanud fediversumis
+ title: Avalda nimekiri avastatud serveritest
+ preview_sensitive_media:
+ desc_html: Lingi eelvaated teistel veebisaitidel kuvab pisipilti, isegi kui meedia on märgitud tundlikuks
+ title: Kuva tundlikku meediat OpenGraphi eelvaadetes
+ profile_directory:
+ desc_html: Luba kasutajate avastamine
+ title: Luba profiilikataloog
+ registrations:
+ closed_message:
+ desc_html: Kuvatud esilehel kui registreerimised on suletud. Te võite kasutada HTMLi silte
+ title: Suletud registreerimiste sõnum
+ deletion:
+ desc_html: Luba kasutajatel oma konto kustutada
+ title: Ava kontode kustutamine
+ min_invite_role:
+ disabled: Mitte keegi
+ title: Luba kutseid
+ registrations_mode:
+ modes:
+ approved: Kinnitus vajalik konto loomisel
+ none: Keegi ei saa kontoid luua
+ open: Kõik võivad kontoid luua
+ title: Registreerimisrežiim
+ show_known_fediverse_at_about_page:
+ desc_html: Kui lubatud, näitab kõiki teatud fediversumi tuututusi. Vastasel juhul näidatakse ainult kohalike tuututusi.
+ title: Näita teatud fediversumit ajajoone eelvaates
+ show_staff_badge:
+ desc_html: Näita personalimärki kasutaja profiilil
+ title: Näita personalimärki
+ site_description:
+ desc_html: Sissejuhatuslik lõik API kohta. Kirjelda, mis teeb selle Mastodoni serveri eriliseks ja ka muud tähtsat. Te saate kasutada HTMLi silte, peamiselt <a> ja <em>.
+ title: Serveri kirjeldus
+ site_description_extended:
+ desc_html: Hea koht käitumisreegliteks, reegliteks, suunisteks ja muuks, mis teevad Teie serveri eriliseks. Te saate kasutada HTML silte
+ title: Lisa informatsioon
+ site_short_description:
+ desc_html: Kuvatud küljeribal ja metasiltides. Kirjelda, mis on Mastodon ja mis on selles serveris erilist ühes lõigus.
+ title: Serveri lühikirjeldus
+ site_terms:
+ desc_html: Te saate kirjutada oma privaatsuspoliitika, kasutustingimused jm seaduslikku infot. Te saate kasutada HTMLi silte
+ title: Kasutustingimused
+ site_title: Serveri nimi
+ spam_check_enabled:
+ desc_html: Mastodon suudab automaatselt vaigistada ja teatada kasutajatest, kasutades erinevaid meetmeid, näiteks kui kasutaja saadab korduvalt ebasobivaid sõnumeid. Võib esineda ka valehäireid.
+ title: Rämpsposti filter
+ thumbnail:
+ desc_html: Kasutatud OpenGraph ja API eelvaadeteks. 1200x630px soovitatud
+ title: Serveri pisipilt
+ timeline_preview:
+ desc_html: Kuva avalikku ajajoont esilehel
+ title: Ajajoone eelvaade
+ title: Lehe seaded
+ statuses:
+ back_to_account: Tagasi konto lehele
+ batch:
+ delete: Kustuta
+ nsfw_off: Märgi kui mitte tundlik
+ nsfw_on: Märgi kui tundlik
+ failed_to_execute: Täitmine ebaõnnestus
+ media:
+ title: Meedia
+ no_media: Meedia puudub
+ no_status_selected: Mitte ühtegi staatust muudeti sest midagi polnud valitud
+ title: Konto staatused
+ with_media: Meediaga
+ tags:
+ title: Sildid
+ title: Administreerimine
+ warning_presets:
+ add_new: Lisa uus
+ delete: Kustuta
+ edit: Redigeeri
+ edit_preset: Redigeeri hoiatuse eelseadistust
+ title: Halda hoiatuste eelseadistusi
+ admin_mailer:
+ new_pending_account:
+ body: Uue konto üksikasjad on allpool. Te saate vastu võtta või tagasi lükata seda taotlust.
+ subject: Uus konto valmis ülevaatluseks serveril %{instance} (%{username})
+ new_report:
+ body: "%{reporter} teavitas kasutajast %{target}"
+ body_remote: Keegi domeenist %{domain} teavitas kasutajast %{target}
+ subject: Uus teavitus %{instance}-ile (#%{id})
+ appearance:
+ advanced_web_interface: Arenenud veebiliides
+ advanced_web_interface_hint: 'Kui soovite kasutada terve ekraani laiust, lubab arenenud veebiliides seadistada mitut erinevat veergu, et näha nii palju informatsiooni samal ajal kui võimalik: Kodu, teavitused, föderatsiooni ajajoon ning mis iganes arv nimekirju ja silte.'
+ animations_and_accessibility: Animatsioonid ja ligipääs
+ confirmation_dialogs: Kinnitusdialoogid
+ sensitive_content: Tundlik sisu
+ application_mailer:
+ notification_preferences: Muuda e-kirjade eelistusi
+ salutation: "%{name},"
+ settings: 'Muuda e-kirjade eelistusi: %{link}'
+ view: 'Vaade:'
+ view_profile: Vaata profiili
+ view_status: Vaata staatust
+ applications:
+ created: Rakenduse loomine õnnestus
+ destroyed: Rakenduse kustutamine õnnestus
+ invalid_url: Antud URL on vale
+ regenerate_token: Loo uus access token
+ token_regenerated: Access tokeni loomine õnnestus
+ warning: Olge nende andmetega ettevaatlikud. Ärge jagage neid kellegagi!
+ your_token: Sinu access token
+ auth:
+ apply_for_account: Taotle kutse
+ change_password: Salasõna
+ checkbox_agreement_html: Ma nõustun serveri reeglitega ja kasutustingimustega
+ checkbox_agreement_without_rules_html: Ma nõustun kasutustingimustega
+ delete_account: Kustuta konto
+ delete_account_html: Kui Te soovite oma kontot kustutada, võite jätkata siit. Teilt küsitakse kinnitust.
+ didnt_get_confirmation: Ei saanud kinnituse juhendeid?
+ forgot_password: Unustasid oma salasõna?
+ invalid_reset_password_token: Salasõna lähtestusvõti on vale või aegunud. Palun taotle uus.
+ login: Logi sisse
+ logout: Logi välja
+ migrate_account: Koli teisele kasutajale
+ migrate_account_html: Kui Te soovite seda kontot ümber viia teisele, saate teha seda siit.
+ or_log_in_with: Või logi sisse koos
+ providers:
+ cas: CAS
+ saml: SAML
+ register: Loo konto
+ registration_closed: "%{instance} ei võta vastu uusi liikmeid"
+ resend_confirmation: Saada kinnitusjuhendid uuesti
+ reset_password: Lähtesta salasõna
+ security: Turvalisus
+ set_new_password: Määra uus salasõna
+ setup:
+ email_below_hint_html: Kui allolev e-posti aadress on vale, saate Te muuta seda siin ning Teile saadetakse uus kinnituskiri.
+ email_settings_hint_html: Kinnituskiri saadeti e-posti aadressile %{email}. Kui see aadress pole õige, saate Te muuta seda oma konto sätetest.
+ title: Seadistamine
+ status:
+ account_status: Konto olek
+ confirming: Ootan e-posti kinnitust.
+ pending: Teie taotlus ootab ülevaadet meie personali poolt. See võib võtta mõnda aega. Kui Teie taotlus on vastu võetud, saadetakse Teile e-kiri.
+ trouble_logging_in: Probleeme sisselogimisega?
+ authorize_follow:
+ already_following: Te juba jälgite seda kontot
+ error: Kahjuks ilmus viga kasutaja kaugserverist otsimisel
+ follow: Jälgi
+ follow_request: 'Te olete saatnud jälgimistaotluse kasutajale:'
+ following: 'Õnnestus! Te nüüd jälgite kasutajat:'
+ post_follow:
+ close: Või Te saate lihtsalt sulgeda seda akent.
+ return: Näita kasutaja profiili
+ web: Mine veebi
+ title: Jälgi %{acct}
+ datetime:
+ distance_in_words:
+ about_x_hours: "%{count}t"
+ about_x_months: "%{count}k"
+ about_x_years: "%{count}a"
+ almost_x_years: "%{count}a"
+ half_a_minute: Just praegu
+ less_than_x_minutes: "%{count}m"
+ less_than_x_seconds: Just praegu
+ over_x_years: "%{count}a"
+ x_days: "%{count}p"
+ x_minutes: "%{count}m"
+ x_months: "%{count}k"
+ x_seconds: "%{count}s"
+ deletes:
+ confirm_password: Sisesta oma praegune salasõna, et kinnitada oma identiteet
+ proceed: Kustuta konto
+ success_msg: Konto kustutamine õnnestus
+ directories:
+ directory: Profiilikataloog
+ explanation: Avasta kasutajaid nende huvide põhjal
+ explore_mastodon: Avasta %{title}
+ errors:
+ '400': The request you submitted was invalid or malformed.
+ '403': Sul puudub õigus seda lehte vaadata.
+ '404': Soovitud lehte ei leitud.
+ '406': This page is not available in the requested format.
+ '410': Soovitud lehekülge pole enam siin.
+ '422':
+ content: Turvalisuse kontroll ebaõnnestus. Kas Te blokeerite küpsiseid?
+ title: Turvalisuse kontroll ebaõnnestus
+ '429': Aeglustatud
+ '500':
+ content: Palume vabandust, midagi läks valesti meie pool.
+ title: See lehekülg pole õige
+ '503': The page could not be served due to a temporary server failure.
+ noscript_html: Et kasutada Mastodoni veebirakendust, palun lubage JavaScript. Alternatiivselt, proovige mõnda rakendust Teie platvormile.
+ existing_username_validator:
+ not_found: ei suutnud leida kohalikku kasutajat selle kasutajanimega
+ not_found_multiple: ei suutnud leida %{usernames}
+ exports:
+ archive_takeout:
+ date: Kuupäev
+ download: Lae alla oma arhiiv
+ hint_html: Te saate taotleda arhiivi oma tuututustest ja üleslaetud meediast. Eksporditud andmed on ActivityPub-i formaadis, loetav vastava tarkvara poolt. Te saate taotleda arhiivi iga 7 päeva tagant.
+ in_progress: Loome Teie arhiivi...
+ request: Taotle oma arhiivi
+ size: Suurus
+ blocks: Teie blokeerite
+ csv: CSV
+ domain_blocks: Domeeni blokeeringud
+ follows: Teie jälgite
+ lists: Nimistud
+ mutes: Teie vaigistate
+ storage: Meedia hoidla
+ featured_tags:
+ add_new: Lisa uus
+ errors:
+ limit: Olete jõudnud maksimum lubatud siltide arvuni
+ filters:
+ contexts:
+ home: Kodu ajajoon
+ notifications: Teated
+ public: Avalikud ajajooned
+ thread: Vestlused
+ edit:
+ title: Muuda filtrit
+ errors:
+ invalid_context: Puudulik või vale kontekst
+ invalid_irreversible: Taastamatu filter töötab ainult kodu või teavituste kontekstis
+ index:
+ delete: Kustuta
+ title: Filterid
+ new:
+ title: Lisa uus filter
+ footer:
+ developers: Arendajad
+ more: Rohkem…
+ resources: Materjalid
+ generic:
+ all: Kõik
+ changes_saved_msg: Muudatuste salvestamine õnnestus!
+ copy: Kopeeri
+ order_by: Järjesta
+ save_changes: Salvesta muudatused
+ validation_errors:
+ one: Midagi pole ikka õigesti! Palun vaadake allolev veateade üle
+ other: Midagi pole ikka õigesti! Palun vaadake all olevad %{count} veateadet üle
+ html_validator:
+ invalid_markup: 'sisaldab valet HTMLi süntaksi: %{error}'
+ identity_proofs:
+ active: Aktiivne
+ authorize: Jah, luba
+ authorize_connection_prompt: Luba see krüptograafiline ühendus?
+ errors:
+ failed: Krüptograafiline ühendus ebaõnnestus. Palun proovi uuesti %{provider}-ist.
+ keybase:
+ invalid_token: Keybase võtmed on allkirjade hashid ja peavad olema 66 hex tähemärki
+ verification_failed: Keybase ei tunnista seda võtit kui kasutaja %{kb_username} omand. Palun proovige uuesti Keybasest.
+ wrong_user: Ei saa luua tõendit kontole %{proving} kui olete sisseloginud kui %{current}. Logige sisse kui %{proving} ja proovige uuesti.
+ explanation_html: Siin saate luua krüptograafilisi ühendusi oma teiste identiteetidega, nagu näiteks Keybase profiiliga. See võimaldab teistel kasutajatel saata Teile krüptitud sõnumeid ja usaldada sisu, mis Teie saadate neile.
+ i_am_html: Ma olen %{username} teenusel %{service}.
+ identity: Identiteet
+ inactive: Passiivne
+ publicize_checkbox: 'Ja tuututa seda:'
+ publicize_toot: 'See on tõestatud! Ma olen %{username} teenusel %{service}: %{url}'
+ status: Kinnituse staatus
+ view_proof: Vaata tõendit
+ imports:
+ modes:
+ merge: Lõimi
+ merge_long: Hoia olemasolevad andmed ja lisa uusi
+ overwrite: Kirjuta üle
+ overwrite_long: Vaheta praegused andmed uute vastu
+ preface: Te saate importida mis tahes andmeid, mis on eksporditud teisest serverist. Näiteks nimekiri inimestest, keda jälgid ja keda blokeerid.
+ success: Teie andmete üleslaadimine õnnestus ning neid töödeldakse
+ types:
+ blocking: Blokeeringute nimekiri
+ domain_blocking: Domeeniblokeeringute nimekiri
+ following: Jälgimiste nimekiri
+ muting: Vaigistuse nimekiri
+ upload: Lae üles
+ in_memoriam_html: Mälestamaks.
+ invites:
+ delete: Peata
+ expired: Aegunud
+ expires_in:
+ '1800': 30 minutit
+ '21600': 6 tundi
+ '3600': 1 tund
+ '43200': 12 tundi
+ '604800': 1 nädal
+ '86400': 1 päev
+ expires_in_prompt: Mitte kunagi
+ generate: Loo
+ invited_by: 'Teid kutsus:'
+ max_uses:
+ one: 1 kasutus
+ other: "%{count} kasutust"
+ max_uses_prompt: Piiranguteta
+ prompt: Loo ja jaga linke teistega, et lubada neil liituda selle serveriga
+ table:
+ expires_at: Aegub
+ uses: Kasutust
+ title: Kutsu inimesi
+ lists:
+ errors:
+ limit: Olete jõudnud maksimum lubatud nimekirjade arvuni
+ media_attachments:
+ validations:
+ images_and_video: Ei saa lisada video staatusele, millel on juba pildid
+ too_many: Ei saa lisada rohkem, kui 4 faili
+ migrations:
+ acct: uue konto kasutajanimi@domeen
+ moderation:
+ title: Moderatsioon
+ notification_mailer:
+ digest:
+ action: Vaata kõiki teateid
+ body: Siin on kiire ülevaade sellest, mis sõnumeid Te ei näinud pärast Teie viimast külastust %{since}
+ mention: "%{name} mainis sind postituses:"
+ 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 \U0001F418"
+ other: "%{count} uut teavitust peale Teie eelmist külastust \U0001F418"
+ title: Teie puudumisel...
+ favourite:
+ body: "%{name} lisas Teie staatuse lemmikutesse:"
+ subject: "%{name} märkis su staatuse lemmikuks"
+ title: Uus lemmik
+ follow:
+ body: "%{name} nüüd jälgib teid!"
+ subject: "%{name} nüüd jälgib teid"
+ title: Uus jälgija
+ follow_request:
+ action: Halda jälgimistaotlusi
+ body: "%{name} soovib Teid jälgida"
+ subject: 'Ootav jälgija: %{name}'
+ title: Uus jälgimistaotlus
+ mention:
+ action: Vasta
+ body: "%{name} mainis Teid:"
+ subject: "%{name} mainis Teid"
+ title: Uus mainimine
+ reblog:
+ body: "%{name} upitas Teie staatust:"
+ subject: "%{name} upitas su staatust"
+ title: Uus upitus
+ number:
+ human:
+ decimal_units:
+ format: "%n%u"
+ units:
+ billion: B
+ million: M
+ quadrillion: Q
+ thousand: T
+ trillion: Tr
+ pagination:
+ newer: Uuemad
+ next: Järgmine
+ older: Vanemad
+ prev: Eelm
+ truncate: "…"
+ polls:
+ errors:
+ already_voted: Olete siin juba hääletanud
+ duplicate_options: sisaldab samu asju mitu korda
+ duration_too_long: kestab liiga kaua
+ duration_too_short: on liiga vara
+ expired: See küsitlus on juba lõppenud
+ over_character_limit: igaüks ei saa olla rohkem kui %{max} tähemärki
+ too_few_options: peab olema rohkem kui üks vastus
+ too_many_options: ei saa sisaldada rohkem kui %{max} vastust
+ preferences:
+ other: Muu
+ posting_defaults: Postitamise vaikesätted
+ public_timelines: Avalikud ajajooned
+ relationships:
+ activity: Konto tegevus
+ dormant: Seisev
+ last_active: Viimati aktiivne
+ most_recent: Viimased
+ moved: Kolinud
+ mutual: Ühine
+ primary: Peamine
+ relationship: Seos
+ remove_selected_domains: Eemalda kõik jälgijad valitud domeenidelt
+ remove_selected_followers: Eemalda valitud jälgijad
+ remove_selected_follows: Lõpeta valitud kasutajate jälgimine
+ status: Konto olek
+ remote_follow:
+ acct: Sisestage oma kasutajanimi@domeen, kust te soovite jälgida
+ missing_resource: Ei suutnud leida vajalikku suunamise URLi Teie konto jaoks
+ no_account_html: Teil pole veel kontot? Saate luua ühe siit
+ proceed: Jätka jälgimiseks
+ prompt: 'Te hakkate jälgima:'
+ reason_html: |-
+ Miks on see samm vajalik?
+ %{instance} ei pruugi olla server, kus asub Teie konto, nii et me peame Teid suunama oma kodu serverile.
+ remote_interaction:
+ favourite:
+ proceed: Jätka lemmikuks lisamiseks
+ prompt: 'Te soovite lisada seda tuututust lemmikutesse:'
+ reblog:
+ proceed: Jätka upitamiseks
+ prompt: 'Te soovite seda tuututust upitada:'
+ reply:
+ proceed: Jätka vastamiseks
+ prompt: 'Te soovite vastata sellele tuututusele:'
+ scheduled_statuses:
+ over_daily_limit: Te olete jõudnud maksimum lubatud ajastatud tuututuste arvuni %{limit} selle päeva kohta
+ over_total_limit: Te olete jõudnud maksimum lubatud ajastatud tuututuste arvuni %{limit}
+ too_soon: Ajastatud tuututuse kuupäev peab olema tukevikus
+ sessions:
+ activity: Viimane aktiivsus
+ browser: Veebilehitseja
+ browsers:
+ alipay: Alipay
+ blackberry: Blackberry
+ chrome: Chrome
+ edge: Microsoft Edge
+ electron: Electron
+ firefox: Firefox
+ generic: Tundmatu veebilehitseja
+ ie: Internet Explorer
+ micro_messenger: MicroMessenger
+ nokia: Nokia S40 Ovi Browser
+ opera: Opera
+ otter: Otter
+ phantom_js: PhantomJS
+ qq: QQ Browser
+ safari: Safari
+ uc_browser: UCBrowser
+ weibo: Weibo
+ current_session: Praegune seanss
+ description: "%{browser} platvormil %{platform}"
+ explanation: Need on praegused veebilehitsejad, mis on sisse logitud sinu Mastodoni kontosse.
+ ip: IP
+ platforms:
+ adobe_air: Adobe Air
+ android: Android
+ blackberry: Blackberry
+ chrome_os: ChromeOS
+ firefox_os: Firefox OS
+ ios: iOS
+ linux: Linux
+ mac: Mac
+ other: tundmatu platvorm
+ windows: Windows
+ windows_mobile: Windows Mobile
+ windows_phone: Windows Phone
+ revoke: Tühista
+ revoke_success: Seanssi tühistamine õnnestus
+ title: Seanssid
+ settings:
+ account: Konto
+ account_settings: Kontosätted
+ appearance: Välimus
+ authorized_apps: Lubatud rakendused
+ back: Tagasi Mastodoni
+ delete: Konto kustutamine
+ development: Arendus
+ edit_profile: Muuda profiili
+ export: Andmete eksportimine
+ featured_tags: Esile toodud sildid
+ identity_proofs: Isikutõendid
+ import: Impordi
+ import_and_export: Import / eksport
+ migrate: Konto migreerumine
+ notifications: Teated
+ preferences: Eelistused
+ profile: Profiil
+ relationships: Jälgitud ja jälgijad
+ two_factor_authentication: Kahesammuline autentimine
+ spam_check:
+ spam_detected_and_silenced: See on automatiseeritud teavitus. Rämpspost on tuvastatud ja nende autor on automaatselt vaigistatud. Kui see on viga, palun eemaldage vaigistus.
+ statuses:
+ attached:
+ description: 'Manused: %{attached}'
+ image:
+ one: "%{count} pilt"
+ other: "%{count} pilti"
+ video:
+ one: "%{count} video"
+ other: "%{count} videot"
+ boosted_from_html: Upitatud %{acct_link}
+ content_warning: 'Sisu hoiatus: %{warning}'
+ disallowed_hashtags:
+ one: 'sisaldab ebasobivat silti: %{tags}'
+ other: 'sisaldab ebasobivaid silte: %{tags}'
+ language_detection: Automaatselt tuvasta keel
+ open_in_web: Ava veebis
+ over_character_limit: tähtmärkide limiit %{max} ületatud
+ pin_errors:
+ limit: Te olete juba maksimum arvu lubatud tuututusi kinnitanud
+ ownership: Kellegi teise tuututust ei saa kinnitada
+ private: Privaatset tuututust ei saa kinnitada
+ reblog: Upitust ei saa kinnitada
+ poll:
+ total_votes:
+ one: "%{count} hääl"
+ other: "%{count} häält"
+ vote: Hääleta
+ show_more: Näita rohkem
+ sign_in_to_participate: Logi sisse, et liituda vestlusega
+ title: '%{name}: "%{quote}"'
+ visibilities:
+ private: Ainult jälgijatele
+ private_long: Näita ainult jälgijatele
+ public: Avalik
+ public_long: Kõik saavad näha
+ unlisted: Kirjendamata
+ unlisted_long: Kõik saavad näha, aga ei ole saadaval avalikes ajajoontes
+ stream_entries:
+ pinned: Kinnitatud tuut
+ reblogged: upitatud
+ sensitive_content: Tundlik sisu
+ terms:
+ title: "%{instance} Kasutustingimused ja Privaatsuspoliitika"
+ themes:
+ contrast: Mastodon (Kõrge kontrast)
+ default: Mastodon (Tume)
+ mastodon-light: Mastodon (Hele)
+ time:
+ formats:
+ default: "%d. %B, %Y. aastal, kell %H:%M"
+ month: "%B %Y"
+ two_factor_authentication:
+ code_hint: Sisesta kaheastmelise autentimise kood, mille lõi Teie autentimisrakendus, et jätkata
+ description_html: Kui Te aktiveerite kaheastmelise autentimise, siis sisselogimisel peab teil olema telefon, mis loob Teile koode sisenemiseks.
+ disable: Lülita välja
+ enable: Lülita sisse
+ enabled: Kaheastmeline autentimine on sisse lülitatud
+ enabled_success: Kaheastmeline autentimine on edukalt sisse lülitatud
+ generate_recovery_codes: Loo taastuskoodid
+ instructions_html: "Skaneeri see QR kood kasutades rakendust Google Authenticator või muu TOTP rakendus Teie telefonis. Nüüdsest alates loob see rakendus Teile koode, mida peate sisestama sisselogimisel."
+ lost_recovery_codes: Taastuskoodide abil on Teil võimalik sisse logida kontosse, kui Te kaotate oma telefoni. Kui Te kaotate oma taastuskoodid, saate need uuesti luua siin. Teie vanad taastuskoodid tehakse kehtetuks.
+ manual_instructions: 'Kui Te ei saa seda QR koodi skaneerida ning peate sisestama selle käsitsi, on siin tekstiline salavõti:'
+ recovery_codes: Tagavara taastuskoodid
+ recovery_codes_regenerated: Taastuskoodid edukalt taasloodud
+ recovery_instructions_html: Kui Te juhtute kunagi kaotama oma telefoni, saate kasutada ühte allpool olevatest taastuskoodidest, et saada ligipääsu oma kontole. Hoidke taastuskoodid turvaliselt. Näiteks võite Te need välja printida ning hoida need koos teiste tähtsate dokumentidega.
+ setup: Sätesta
+ wrong_code: Sisestatud kood on vale! Kas serveri aeg ja seadme aeg on õiged?
+ user_mailer:
+ backup_ready:
+ explanation: Te taotlesite varukoopia oma Mastodoni kontost. See on nüüd valmis allalaadimiseks!
+ subject: Teie arhiiv on allalaadimiseks valmis
+ title: Arhiivi väljavõte
+ warning:
+ explanation:
+ disable: Kuniks Teie konto on lukus, ei saa Te teha sellega ühtegi tegevust kuni see on lukust lahti tehtud.
+ silence: Kuniks Teie konto on limiteeritud, ainult need inimesed, kes Teid juba jälgivad, näevad Teie tuututusi sellel serveril ning Teid jäetakse välja avalikest nimekirjadest. Sellest hoolimata võivad inimesed Teid siiski jälgida.
+ suspend: Teie konto on peatatud ning kõik Teie tuututused ja üleslaetud meediafailid on jäädavalt kustutatud sellelt serverilt ning serveritelt, kus Teil oli jälgijad.
+ review_server_policies: Vaadake üle serveri eeskirju
+ subject:
+ disable: Teie konto %{acct} on lukustatud
+ none: Hoiatus kasutajale %{acct}
+ silence: Teie kontole %{acct} on kehtestatud limiidid
+ suspend: Teie konto %{acct} on peatatud
+ title:
+ disable: Konto lukustatud
+ none: Hoiatus
+ silence: Konto limiteeritud
+ suspend: Konto peatatud
+ welcome:
+ edit_profile_action: Sea üles profiil
+ edit_profile_step: Te saate oma profiili isikupärastada näiteks lisades profiilipildi, päise, muutes oma kuvanime ja muud. Kui Te soovite üle vaadata inimesi, kes Teid jälgida soovivad, saate lukustada oma konto.
+ explanation: Siin on mõned nõuanded, mis aitavad sul alustada
+ final_action: Alusa postitamist
+ final_step: 'Alusta postitamist! Isegi ilma jälgijateta näevad teised Teie avalikke postitusi, näiteks kohalikul ajajoonel ning siltidest. Te võite ennast tutvustada kasutades silti #introductions.'
+ full_handle: Sinu täisnimi
+ full_handle_hint: See on mida oma sõpradega jagada, et nad saaksid Teile sõnumeid saata ning Teid jälgida teiselt serverilt.
+ review_preferences_action: Muuda eelistusi
+ review_preferences_step: Kindlasti seadistage oma sätted Teie maitse järgi, näiteks e-kirju, mida soovite saada, või millist privaatsustaset Te soovite vaikimisi. Kui Teil pole merehaigust, võite Te näiteks lubada GIFide automaatse mängimise.
+ subject: Tere tulemast Mastodoni
+ tip_federated_timeline: Föderatiivne ajajoon on reaalajas voogvaade tervest Mastodoni võrgust. Aga see sisaldab ainult inimesi, keda su naabrid tellivad, niiet see pole täiuslik.
+ tip_following: Vaikimisi, Te jälgite ainult oma serveri administraator(eid). Et leida rohkem huvitavamaid inimesi, vaadake kohalikke ja föderatiivseid ajajooni.
+ tip_local_timeline: Kohalik ajajoon on reaalajas voogvaade inimestest, kes on serveris %{instance}. Need on Teie lähimad naabrid!
+ tip_mobile_webapp: Kui Teie mobiilne veebilehitseja pakub Teile lisada meid Teie avaekraanile, saate Te reaalajas teateid. See töötab nagu tavaline mobiilirakendus mitmel moel!
+ tips: Nõuanded
+ title: Tere tulemast pardale, %{name}!
+ users:
+ follow_limit_reached: Te ei saa jälgida rohkem kui %{limit} inimest
+ invalid_email: See e-posti aadress on vale
+ invalid_otp_token: Vale kaheastmelise autentimise kood
+ otp_lost_help_html: Kui Te kaotasite ligipääsu mõlemale, saate võtta ühendust %{email}-iga
+ seamless_external_login: Te olete sisse loginud läbi väljaspool asuva teenusega, niiet salasõna ja e-posti sätted pole saadaval.
+ signed_in_as: 'Sisse logitud kasutajana:'
+ verification:
+ explanation_html: 'Te saate kinnitada ennast oma linkide omanikena oma profiili metaandmetes. Et seda teha, peab Teie lingitud veebilehel olema link tagasi Teie Mastodoni profiilile. Tagasi saatval lingil peab olema rel="me" atribuut. Tekstisisu lingil ei loe. Siin on üks näide:'
+ verification: Kinnitamine
diff --git a/config/locales/eu.yml b/config/locales/eu.yml
index d3299d775..a3061b99e 100644
--- a/config/locales/eu.yml
+++ b/config/locales/eu.yml
@@ -17,13 +17,13 @@ eu:
contact_unavailable: E/E
discover_users: Aurkitu erabiltzaileak
documentation: Dokumentazioa
- extended_description_html: |
-
Arauentzako toki egoki bat
-
Azalpen luzea ez da ezarri oraindik.
federation_hint_html: "%{instance} instantzian kontu bat izanda edozein Mastodon zerbitzariko jendea jarraitu ahal izango duzu, eta harago ere."
generic_description: "%{domain} sareko zerbitzari bat da"
get_apps: Probatu mugikorrerako aplikazio bat
hosted_on: Mastodon %{domain} domeinuan ostatatua
+ instance_actor_flash: 'Kontu hau zerbitzaria bera adierazten duen aktore birtual bat da, ez norbanako bat. Federaziorako erabiltzen da eta ez zenuke blokeatu behar instantzia osoa blokeatu nahi ez baduzu, kasu horretan domeinua blokeatzea egokia litzateke.
+
+'
learn_more: Ikasi gehiago
privacy_policy: Pribatutasun politika
see_whats_happening: Ikusi zer gertatzen ari den
@@ -53,6 +53,7 @@ eu:
media: Multimedia
moved_html: "%{name} hona lekualdatu da %{new_profile_link}:"
network_hidden: Informazio hau ez dago eskuragarri
+ never_active: Inoiz ez
nothing_here: Ez dago ezer hemen!
people_followed_by: "%{name}(e)k jarraitzen dituenak"
people_who_follow: "%{name} jarraitzen dutenak"
@@ -183,6 +184,7 @@ eu:
username: Erabiltzaile-izena
warn: Abisatu
web: Weba
+ whitelisted: Zerrenda zurian
action_logs:
actions:
assigned_to_self_report: "%{name}(e)k %{target} salaketa bere buruari esleitu dio"
@@ -243,6 +245,7 @@ eu:
updated_msg: Emoji-a ongi eguneratu da!
upload: Igo
dashboard:
+ authorized_fetch_mode: Baimendutako eskuratze modua
backlog: aurreikusitako lanak
config: Konfigurazioa
feature_deletions: Kontu ezabaketak
@@ -250,10 +253,13 @@ eu:
feature_profile_directory: Profil-direktorioa
feature_registrations: Izen emateak
feature_relay: Federazio haria
+ feature_spam_check: Anti-spam
feature_timeline_preview: Denbora-lerroaren aurrebista
features: Ezaugarriak
hidden_service: Federazioa ezkutuko zerbitzuekin
open_reports: salaketa irekiak
+ pending_tags: berrikusketaren zain dauden etiketak
+ pending_users: berrikusketaren zain dauden erabiltzaileak
recent_users: Azken erabiltzaileak
search: Testu osoko bilaketa
single_user_mode: Erabiltzaile bakarreko modua
@@ -265,11 +271,18 @@ eu:
week_interactions: interakzio aste honetan
week_users_active: aktibo aste honetan
week_users_new: erabiltzaile aste honetan
+ whitelist_mode: Zerrenda zuria modua
+ domain_allows:
+ add_new: Sartu domeinua zerrenda zurian
+ created_msg: Domeinua ongi sartu da zerrenda zurian
+ destroyed_msg: Domeinua zerrenda zuritik kendu da
+ undo: Kendu zerrenda zuritik
domain_blocks:
add_new: Gehitu domeinuaren blokeo berria
created_msg: Domeinuaren blokeoa orain prozesatzen ari da
destroyed_msg: Domeinuaren blokeoa desegin da
domain: Domeinua
+ edit: Editatu domeinu-blokeoa
existing_domain_block_html: '%{name} domeinuan muga zorrotzagoak ezarri dituzu jada, aurretik desblokeatu beharko duzu.'
new:
create: Sortu blokeoa
@@ -280,6 +293,10 @@ eu:
silence: Isilarazi
suspend: Kanporatu
title: Domeinuaren blokeo berria
+ private_comment: Iruzkin pribatua
+ private_comment_hint: Domeinu hau mugatzeari buruzko iruzkina moderatzaileen barne erabilerarako.
+ public_comment: Iruzkin publikoa
+ public_comment_hint: Domeinu hau mugatzeari buruzko iruzkina publiko orokorrarentzat, domeinuak mugatzea iragartzea gaituta badago.
reject_media: Ukatu multimedia fitxategiak
reject_media_hint: Lokalki gordetako multimedia fitxategiak ezabatzen ditu eta etorkizunean fitxategi berriak deskargatzeari uko egingo dio. Ez du garrantzirik kanporaketetan
reject_reports: Errefusatu salaketak
@@ -299,6 +316,7 @@ eu:
title: Desegin %{domain} domeinuko blokeoa
undo: Desegin
undo: Desegin domeinuaren blokeoa
+ view: Ikusi domeinuaren blokeoa
email_domain_blocks:
add_new: Gehitu berria
created_msg: Ongi gehitu da e-mail helbidea domeinuen zerrenda beltzera
@@ -322,6 +340,8 @@ eu:
all: Denak
limited: Mugatua
title: Moderazioa
+ private_comment: Iruzkin pribatua
+ public_comment: Iruzkin publikoa
title: Federazioa
total_blocked_by_us: Guk blokeatuta
total_followed_by_them: Haiek jarraitua
@@ -399,6 +419,9 @@ eu:
custom_css:
desc_html: Aldatu itxura orri bakoitzean kargatutako CSS bidez
title: CSS pertsonala
+ domain_blocks:
+ all: Guztiei
+ disabled: Inori ez
hero:
desc_html: Azaleko orrian bistaratua. Gutxienez 600x100px aholkatzen da. Ezartzen ez bada, zerbitzariaren irudia hartuko du
title: Azaleko irudia
@@ -449,6 +472,9 @@ eu:
desc_html: Zure pribatutasun politika, erabilera baldintzak eta bestelako testu legalak idatzi ditzakezu. HTML etiketak erabili ditzakezu
title: Erabilera baldintza pertsonalizatuak
site_title: Zerbitzariaren izena
+ spam_check_enabled:
+ desc_html: Mastodonek automatikoki isildu eta salatu ditzake kontuak neurriei jarraituz, esaterako eskatu gabeko mezuak behin eta berriro bidaltzen dituzten kontuak antzemanez. Positibo faltsuak gertatu daitezke.
+ title: Anti-spam
thumbnail:
desc_html: Aurrebistetarako erabilia OpenGraph eta API bidez. 1200x630px aholkatzen da
title: Zerbitzariaren iruditxoa
@@ -456,12 +482,15 @@ eu:
desc_html: Bistaratu denbora-lerro publikoa hasiera orrian
title: Denbora-lerroaren aurrebista
title: Gunearen ezarpenak
+ trends:
+ title: Traolak joeran
statuses:
back_to_account: Atzera kontuaren orrira
batch:
delete: Ezabatu
nsfw_off: Markatu ez hunkigarri gisa
nsfw_on: Markatu hunkigarri gisa
+ deleted: Ezabatuta
failed_to_execute: Ezin izan da burutu
media:
title: Multimedia
@@ -470,13 +499,18 @@ eu:
title: Kontuaren mezuak
with_media: Multimediarekin
tags:
- accounts: Kontuak
- hidden: Ezkutatuta
- hide: Ezkutatu direktoriotik
- name: Traola
+ accounts_today: Erabilera bakanak gaur
+ accounts_week: Erabilera bakanak aste honetan
+ context: Testuingurua
+ directory: Direktorioan
+ in_directory: "%{count} direktorioan"
+ review: Berrikusketaren egoera
+ reviewed: Berrikusita
title: Traolak
- unhide: Erakutsi direktorioan
- visible: Ikusgai
+ trending_right_now: Joera orain
+ unique_uses_today: "%{count} idazten gaur"
+ unreviewed: Berrikusi gabe
+ updated_msg: Traola-ezarpenak ongi eguneratu dira
title: Administrazioa
warning_presets:
add_new: Gehitu berria
@@ -497,6 +531,7 @@ eu:
advanced_web_interface_hint: 'Pantaila bere zabalera osoan erabili nahi baduzu, web interfaze aurreratuak hainbat zutabe desberdin konfiguratzea ahalbidetzen dizu, aldi berean nahi beste informazio ikusteko: Hasiera, jakinarazpenak, federatutako denbora-lerroa, edo nahi beste zerrenda eta traola.'
animations_and_accessibility: Animazioak eta irisgarritasuna
confirmation_dialogs: Berrespen dialogoak
+ discovery: Aurkitzea
sensitive_content: Eduki hunkigarria
application_mailer:
notification_preferences: Aldatu e-mail hobespenak
@@ -517,7 +552,7 @@ eu:
apply_for_account: Eskatu gonbidapen bat
change_password: Pasahitza
checkbox_agreement_html: Zerbitzariaren arauak eta erabilera baldintzak onartzen ditut
- confirm_email: Berretsi e-mail helbidea
+ checkbox_agreement_without_rules_html: Erabilera baldintzak onartzen ditut
delete_account: Ezabatu kontua
delete_account_html: Kontua ezabatu nahi baduzu, jarraitu hemen. Berrestea eskatuko zaizu.
didnt_get_confirmation: Ez dituzu berresteko argibideak jaso?
@@ -537,6 +572,15 @@ eu:
reset_password: Berrezarri pasahitza
security: Segurtasuna
set_new_password: Ezarri pasahitza berria
+ setup:
+ email_below_hint_html: Beheko e-mail helbidea okerra bada, hemen aldatu dezakezu eta baieztapen e-mail berria jaso.
+ email_settings_hint_html: Baieztamen e-maila %{email} helbidera bidali da. E-mail helbide hori zuzena ez bada, kontuaren ezarpenetan aldatu dezakezu.
+ title: Ezarpena
+ 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.
trouble_logging_in: Arazoak saioa hasteko?
authorize_follow:
already_following: Kontu hau aurretik jarraitzen duzu
@@ -564,26 +608,20 @@ eu:
x_months: "%{count} hilabete"
x_seconds: "%{count}s"
deletes:
- bad_password_msg: Saiakera ona hacker! Pasahitz okerra
confirm_password: Sartu zure oraingo pasahitza zure identitatea baieztatzeko
- description_html: Honek behin betirako eta atzera egiteko aukera gabe zure kontuko edukia kendu eta hau desaktibatuko du. Zure erabiltzaile-izena erreserbatuko da etorkizunean inork zure itxurak ez egiteko.
proceed: Ezabatu kontua
success_msg: Zure kontua ongi ezabatu da
- warning_html: Zerbitzari honetako edukiak ezabatzea besterik ezin da bermatu. Asko partekatu den edukiaren arrastoak geratzea izan liteke. Deskonektatuta dauden zerbitzariak edo zure eguneraketetatik harpidetza kendu duten zerbitzariek ez dituzte beraien datu-baseak eguneratuko.
- warning_title: Sakabanatutako edukiaren eskuragarritasuna
directories:
directory: Profilen direktorioa
- enabled: Direktorioan zerrendatuta zaude orain.
- enabled_but_waiting: Direktorioan zerrendatuta izatea aukeratu duzu, baina ez duzu oraindik gutxieneko jarraitzaile kopurua (%{min_followers}) zerrendan agertzeko.
explanation: Deskubritu erabiltzaileak interesen arabera
explore_mastodon: Esploratu %{title}
- how_to_enable: Ez duzu aukeratu direktorioan zerrendatua izatea aukeratu. Behean aukeratu dezakezu. Erabili traolak zure biografiaren testuan traola zehatzetan agertzeko!
- people:
- one: pertsona %{count}
- other: "%{count} pertsona"
+ domain_validator:
+ invalid_domain: ez da domeinu izen baliogarria
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Ez duzu orri hau ikusteko baimenik.
'404': Bilatu duzun orria ez dago hemen.
+ '406': This page is not available in the requested format.
'410': Bilatu duzun orria ez dago hemen jada.
'422':
content: Segurtasun egiaztaketak huts egin du. Cookie-ak blokeatzen dituzu?
@@ -592,6 +630,7 @@ eu:
'500':
content: Sentitzen dugu, zerbait okerra gertatu da gure aldean.
title: Orri hau ez da zuzena
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Mastodon web aplikazioa erabiltzeko, gaitu JavaScript. Bestela, probatu Mastodon plataformarako aplikazio natiboren bat.
existing_username_validator:
not_found: ezin izan da izen hori duen kide lokalik aurkitu
@@ -635,6 +674,7 @@ eu:
developers: Garatzaileak
more: Gehiago…
resources: Baliabideak
+ trending_now: Joera orain
generic:
all: Denak
changes_saved_msg: Aldaketak ongi gorde dira!
@@ -710,9 +750,6 @@ eu:
too_many: Ezin dira 4 fitxategi baino gehiago erantsi
migrations:
acct: Kontu berriaren erabiltzaile@domeinua
- currently_redirecting: 'Zure profila hona birbideratzeko ezarri da:'
- proceed: Gorde
- updated_msg: Kontuaren migrazio-ezarpenak ongi eguneratu dira!
moderation:
title: Moderazioa
notification_mailer:
@@ -874,6 +911,8 @@ eu:
profile: Profila
relationships: Jarraitutakoak eta jarraitzaileak
two_factor_authentication: Bi faktoreetako autentifikazioa
+ spam_check:
+ spam_detected_and_silenced: Hau salaketa automatiko bat da. Spam-a antzeman da eta igorlea automatikoki isilarazi da. Hau akats bat bada, utzi kontua isilarazteari.
statuses:
attached:
description: 'Erantsita: %{attached}'
@@ -915,6 +954,8 @@ eu:
pinned: Finkatutako toot-a
reblogged: "(r)en bultzada"
sensitive_content: 'Kontuz: Eduki hunkigarria'
+ tags:
+ does_not_match_previous_name: ez dator aurreko izenarekin bat
terms:
body_html: |
federation_hint_html: با داشتن حساب روی %{instance} میتوانید کاربران همهٔ سرورهای دیگر ماستدون (و سایر شبکههای سازگار با آن) را پی بگیرید.
generic_description: "%{domain} یک سرور روی شبکه است"
get_apps: یک اپ موبایل را امتحان کنید
hosted_on: ماستدون، میزبانیشده روی %{domain}
+ instance_actor_flash: |
+ این حساب یک بازیگر مجازی برای نمایندگی از این سرور است و متعلق به هیچ کاربری نیست.
+ این حساب برای ارتباط میانسروری به کار میرود و نباید مسدود شود، مگر این که شما بخواهید کل سرور را مسدود کنید، که در آن صورت باید از راه مسدودسازی دامین پیش بروید.
learn_more: بیشتر بدانید
privacy_policy: سیاست رازداری
see_whats_happening: ببینید چه خبر است
@@ -35,6 +35,13 @@ fa:
status_count_before: که در کنار هم
tagline: با دوستان خود در ارتباط باشید و دوستان تازه پیدا کنید
terms: شرایط کاربری
+ unavailable_content: محتوای ناموجود
+ unavailable_content_description:
+ reason: 'دلیل:'
+ rejecting_media: تصاویر فرستاده شده از سمت این سرور پردازش نخواهد شد و هیچ تصویر کوچکی از آنها در اینجا نمایش نخواهد یافت، و آنها را باید مستقیماً در آن سرور ببینید.
+ silenced: هیچ کدام از نوشتهها از طرف این سرور اینجا نمایش نخواهند یافت مگر در فهرست پیگیریها شما، اگر نویسندهاش را پی بگیرید.
+ suspended: شما نمیتوانید هیچ کدام از کاربرهای این سرور را پی بگیرید، و هیچ دادهای از طرف این سرور پردازش یا ذخیره یا مبادله نخواهد شد.
+ unavailable_content_html: ماستدون در حالت کلی اجازه میدهد که شما همهٔ مطالب و کاربران در سرورهای دیگر را نیز ببینید و با آنها برهمکنش داشته باشید. فهرست زیر ولی استثناهای این ارتباط است که به طور خاص روی این سرور اعمال شدهاند.
user_count_after:
one: کاربر
other: کاربر
@@ -42,6 +49,8 @@ fa:
what_is_mastodon: ماستدون چیست؟
accounts:
choices_html: 'انتخابهای %{name}:'
+ endorsements_hint: شما میتوانید از محیط وب ماستدون، کسانی را که پی میگیرید به دیگران هم پیشنهاد دهید تا اینجا نشان داده شوند.
+ featured_tags_hint: شما میتوانید برچسبهای دلخواه خود را پیشنهاد دهید که اینجا نمایش خواهند یافت.
follow: پی بگیرید
followers:
one: پیگیر
@@ -53,6 +62,7 @@ fa:
media: عکس و ویدیو
moved_html: "%{name} حساب خود را به %{new_profile_link} منتقل کرده است:"
network_hidden: این اطلاعات در دسترس نیست
+ never_active: هرگز
nothing_here: اینجا چیزی نیست!
people_followed_by: کسانی که %{name} پی میگیرد
people_who_follow: کسانی که %{name} را پی میگیرند
@@ -183,6 +193,7 @@ fa:
username: نام کاربری
warn: هشدار
web: وب
+ whitelisted: فهرست مجاز
action_logs:
actions:
assigned_to_self_report: "%{name} رسیدگی به گزارش %{target} را به عهده گرفت"
@@ -218,10 +229,12 @@ fa:
deleted_status: "(بوق پاکشده)"
title: سیاههٔ بازرسی
custom_emojis:
+ assign_category: تعیین دسته
by_domain: دامین
copied_msg: نسخهٔ محلی شکلک با موفقیت ساخته شد
copy: نسخهبرداری
copy_failed_msg: نشد که نسخهٔ محلی این شکلک ساخته شود
+ create_new_category: ساختن دستهٔ تازه
created_msg: این شکلک با موفقیت ساخته شد!
delete: پاک کردن
destroyed_msg: این شکلک با موفقیت پاک شد!
@@ -238,11 +251,13 @@ fa:
shortcode: کد کوتاه
shortcode_hint: دستکم ۲ نویسه و تنها شامل حروف، اعداد و زیرخط
title: شکلکهای سفارشی
+ uncategorized: دستهبندی نشده
unlisted: فهرستنشده
update_failed_msg: این شکلک نتوانست بهروز شود
updated_msg: شکلک با موفقیت بهروز شد!
upload: بارگذاری
dashboard:
+ authorized_fetch_mode: حالت دریافت مجازشده
backlog: کارهای باقیمانده
config: پیکربندی
feature_deletions: حسابهای حذفشده
@@ -250,10 +265,13 @@ fa:
feature_profile_directory: فهرست گزیدهٔ کاربران
feature_registrations: ثبتنامها
feature_relay: رله
+ feature_spam_check: ضدهرزنامه
feature_timeline_preview: پیشنمایش نوشتهها
features: ویژگیها
hidden_service: ارتباط میانسروری با سرویسهای نهفته
open_reports: گزارشهای فعال
+ pending_tags: برچسب منتظر بازبینی
+ pending_users: کاربران منتظر بازبینی
recent_users: کاربران تازه
search: جستجوی متنی
single_user_mode: حالت تککاربره
@@ -261,15 +279,22 @@ fa:
space: فضای مصرفشده
title: ابزارهای مدیریت
total_users: شمار کاربران
- trends: هشتگهای پرکاربرد
+ trends: برچسبهای پرکاربرد
week_interactions: فعالیتها در این هفته
week_users_active: کاربران فعال هفتهٔ اخیر
week_users_new: کاربران هفتهٔ اخیر
+ whitelist_mode: حالت فهرست مجاز
+ domain_allows:
+ add_new: دامین مجازشده
+ created_msg: این دامین با موفقیت مجاز شد
+ destroyed_msg: دامین از حالت مجاز خارج شد
+ undo: برداشتن از فهرست مجازها
domain_blocks:
add_new: افزودن مسدودسازی دامین تازه
created_msg: مسدودکردن دامین در حال انجام است
destroyed_msg: مسدودکردن دامین واگردانده شد
domain: دامین
+ edit: ویرایش مسدودسازی دامین
existing_domain_block_html: شما پیشتر محدودیتهای سختتری روی %{name} اعمال کردهاید، و باید نخست مسدودسازی را لغو کنید.
new:
create: مسدودسازی
@@ -280,6 +305,10 @@ fa:
silence: بیصداکردن
suspend: معلقکردن
title: مسدودسازی دامین دیگر
+ private_comment: یادداشت خصوصی
+ private_comment_hint: یادداشتی دربارهٔ محدودیت روی این دامین برای سایر ناظمان.
+ public_comment: یادداشت عمومی
+ public_comment_hint: یادداشتی دربارهٔ محدودیت روی این دامین برای عموم، در صورتی که فهرست دامینهای محدود شده منتشر شود.
reject_media: نپذیرفتن پروندههای تصویری
reject_media_hint: تصویرهای ذخیرهشده در اینجا را پاک میکند و جلوی دریافت تصویرها را در آینده میگیرد. بیتأثیر برای معلقشدهها
reject_reports: نپذیرفتن گزارشها
@@ -299,6 +328,7 @@ fa:
title: واگردانی مسدودسازی دامنه برای %{domain}
undo: واگردانی
undo: واگردانی مسدودسازی دامین
+ view: دیدن مسدودسازی دامنه
email_domain_blocks:
add_new: افزودن تازه
created_msg: مسدودسازی دامین ایمیل با موفقیت ساخته شد
@@ -322,6 +352,8 @@ fa:
all: همه
limited: محدود
title: مدیریت
+ private_comment: یادداشت خصوصی
+ public_comment: یادداشت عمومی
title: ارتباط میانسروری
total_blocked_by_us: مسدودشده از طرف ما
total_followed_by_them: ما را پی میگیرند
@@ -399,6 +431,16 @@ fa:
custom_css:
desc_html: ظاهر ماستدون را با CSS-ای که در همهٔ صفحهها جاسازی میشود تغییر دهید
title: سبک CSS سفارشی
+ default_noindex:
+ desc_html: روی همهٔ کاربرانی که این تنظیم را خودشان تغییر ندادهاند تأثیر میگذارد
+ title: درخواست پیشفرض از طرف کاربران برای ظاهر نشدن در نتایج موتورهای جستجوگر
+ domain_blocks:
+ all: برای همه
+ disabled: برای هیچکدام
+ title: نمایش دامینهای مسدودشده
+ users: برای کاربران محلی واردشده
+ domain_blocks_rationale:
+ title: دیدن دلیل
hero:
desc_html: در صفحهٔ آغازین نمایش مییابد. دستکم ۶۰۰×۱۰۰ پیکسل توصیه میشود. اگر تعیین نشود، با تصویر بندانگشتی سرور جایگزین خواهد شد
title: تصویر سربرگ
@@ -449,6 +491,9 @@ fa:
desc_html: میتوانید سیاست رازداری، شرایط استفاده، یا سایر مسائل قانونی را به دلخواه خود بنویسید. تگهای HTML هم مجاز است
title: شرایط استفادهٔ سفارشی
site_title: نام سرور
+ spam_check_enabled:
+ desc_html: ماستدون میتواند حسابها را به طور خودکار بیصدا کند یا گزارش دهد. این کار بر اساس سنجههایی از قبیل شناسایی پیغامهای ناخواستهٔ تکراری انجام میشود و ممکن است گاهی اشتباه باشد.
+ title: ضدهرزنامه
thumbnail:
desc_html: برای دیدن با OpenGraph و رابط برنامهنویسی. وضوح پیشنهادی ۱۲۰۰×۶۳۰ پیکسل
title: تصویر کوچک سرور
@@ -456,12 +501,16 @@ fa:
desc_html: نوشتههای عمومی این سرور را در صفحهٔ آغازین نشان دهید
title: پیشنمایش نوشتهها
title: تنظیمات سایت
+ trends:
+ desc_html: برچسبهای عمومی که پیشتر بازبینی شدهاند و هماینک پرطرفدارند
+ title: برچسبهای پرطرفدار
statuses:
back_to_account: بازگشت به صفحهٔ حساب
batch:
delete: پاککردن
nsfw_off: علامتزدن به عنوان غیرحساس
nsfw_on: علامتزدن به عنوان حساس
+ deleted: پاکشده
failed_to_execute: اجرا نشد
media:
title: رسانه
@@ -470,13 +519,23 @@ fa:
title: نوشتههای حساب
with_media: دارای عکس یا ویدیو
tags:
- accounts: حسابها
- hidden: پنهانشده
- hide: در فهرست گزیدهٔ کاربران نشان نده
+ accounts_today: کاربرد یکتا در امروز
+ accounts_week: کاربرد یکتا در این هفته
+ breakdown: کاربردهای امروز به تفکیک منبع
+ context: زمینه
+ directory: در فهرست
+ in_directory: "%{count} در فهرست"
+ last_active: آخرین فعالیت
+ most_popular: محبوبترین
+ most_recent: تازهترین
name: برچسب
+ review: وضعیت بازبینی
+ reviewed: بازبینی شده
title: برچسبها
- unhide: نمایش در فهرست گزیدهٔ کاربران
- visible: نمایان
+ trending_right_now: پرطرفدارهای کنونی
+ unique_uses_today: "%{count} امروز منتشر شده"
+ unreviewed: بازبینی نشده
+ updated_msg: تنظیمات برچسبها با موفقیت بهروز شد
title: مدیریت سرور
warning_presets:
add_new: افزودن تازه
@@ -492,11 +551,21 @@ fa:
body: کاربر %{reporter} کاربر %{target} را گزارش داد
body_remote: کسی از %{domain} گزارش %{target} را فرستاده
subject: گزارش تازهای برای %{instance} (#%{id})
+ new_trending_tag:
+ body: 'برچسب #%{name} امروز پرطرفدار است، ولی تا حالا بازبینی نشده. تا وقتی که شما اجازه ندادهاید، این برچسب به طور عمومی نمایش داده نخواهد شد. اگر فرم را به شکل فعلی ذخیره کنید، هیچ وقت چیزی دربارهٔ این برچسب نخواهید دید.'
+ subject: برچسب تازهای در %{instance} نیازمند بررسی است (#%{name})
+ aliases:
+ add_new: ساختن نام مستعار
+ created_msg: نام مستعار تازه با موفقیت ساخته شد. الان میتوانید انتقال از حساب قدیمی را آغاز کنید.
+ deleted_msg: نام مستعار با موفقیت حذف شد. انتقال از آن حساب به حساب فعلی دیگر ممکن نیست.
+ hint_html: اگر میخواهید از حساب دیگری به این حساب منتقل شوید، اینجا میتوانید یک نام مستعار بسازید که برای انتقال از حساب قدیمی به این حساب لازم است. این کار به تنهایی بیضرر و قابل بازگشت است. فرایند انتقال حساب از حساب قدیمی آغاز خواهد شد.
+ remove: حذف ارتباط نام مستعار
appearance:
advanced_web_interface: رابط کاربری پیشرفته
advanced_web_interface_hint: 'اگر میخواهید همهٔ فضای نمایشگر خود را به کار ببرید، میتوانید به کمک رابط کاربری پیشرفته ستونهای گوناگونی داشته باشید تا در یک نگاه همهٔ اطلاعاتی را که میخواهید ببینید: نوشتههای دیگران، اعلانها، فهرست نوشتههای همهجا، و هر تعداد فهرست و برچسب که بخواهید.'
animations_and_accessibility: پویانماییهای و دسترسیپذیری
confirmation_dialogs: پیغامهای تأیید
+ discovery: کاوش
sensitive_content: محتوای حساس
application_mailer:
notification_preferences: تغییر ترجیحات ایمیل
@@ -517,9 +586,13 @@ fa:
apply_for_account: درخواست دعوتنامه
change_password: رمز
checkbox_agreement_html: من قانونهای این سرور و شرایط کاربری را میپذیرم
- confirm_email: تأیید ایمیل
+ checkbox_agreement_without_rules_html: من با شرایط استفاده موافقم
delete_account: پاککردن حساب
delete_account_html: اگر میخواهید حساب خود را پاک کنید، از اینجا پیش بروید. از شما درخواست تأیید خواهد شد.
+ description:
+ prefix_invited_by_user: "@%{name} شما را به عضویت در این سرور ماستدون دعوت کرده است!"
+ prefix_sign_up: همین امروز عضو ماستدون شوید!
+ suffix: با داشتن حساب میتوانید دیگران را پی بگیرید، نوشتههای تازه منتشر کنید، و با کاربران دیگر از هر سرور ماستدون دیگری و حتی سرورهای دیگر در ارتباط باشید!
didnt_get_confirmation: راهنمایی برای تأیید را دریافت نکردید؟
forgot_password: رمزتان را گم کردهاید؟
invalid_reset_password_token: کد بازنشانی رمز نامعتبر یا منقضی شده است. لطفاً کد دیگری درخواست کنید.
@@ -537,6 +610,16 @@ fa:
reset_password: بازنشانی رمز
security: امنیت
set_new_password: تعیین رمز تازه
+ setup:
+ email_below_hint_html: اگر نشانی ایمیل زیر نادرست است، میتوانید آن را تغییر دهید و ایمیل تأیید دوبارهای دریافت کنید.
+ email_settings_hint_html: ایمیل تأیید به %{email} فرستاده شد. اگر این نشانی ایمیل درست نیست، میتوانید از تنظیمات حساب آن را تغییر دهید.
+ title: راه اندازی
+ status:
+ account_status: وضعیت حساب
+ confirming: در حال انتظار برای کامل شدن تأیید ایمیل.
+ functional: حساب شما قابل استفاده است.
+ pending: درخواست شما منتظر تأیید مسئولان سایت است و این فرایند ممکن است کمی طول بکشد. اگر درخواست شما پذیرفته شود به شما ایمیلی فرستاده خواهد شد.
+ redirecting_to: حساب شما غیرفعال است زیرا هماکنون به %{acct} منتقل شده است.
trouble_logging_in: برای ورود مشکلی دارید؟
authorize_follow:
already_following: شما همین الان هم این حساب را پیمیگیرید
@@ -549,6 +632,11 @@ fa:
return: نمایهٔ این کاربر را نشان بده
web: رفتن به وب
title: پیگیری %{acct}
+ challenge:
+ confirm: ادامه
+ hint_html: "نکته: ما در یک ساعت آینده رمزتان را از شما نخواهیم پرسید."
+ invalid_password: رمز نامعتبر
+ prompt: برای ادامه رمزتان را تأیید کنید
datetime:
distance_in_words:
about_x_hours: "%{count} ساعت"
@@ -564,26 +652,33 @@ fa:
x_months: "%{count} ماه"
x_seconds: "%{count} ثانیه"
deletes:
- bad_password_msg: هکر گرامی، رمزی که وارد کردید اشتباه است ؛)
+ challenge_not_passed: اطلاعاتی که وارد کردید اشتباه بود
confirm_password: رمز فعلی خود را وارد کنید تا معلوم شود که خود شمایید
- description_html: این کار همهٔ محتوای حساب شما را برای همیشه و بهطور بازگشتناپذیری پاک کرده و حساب را غیرفعال میکند. نام کاربری شما برای جلوگیری از جعل هویت احتمالی در آینده از دسترس خارج خواهد شد.
+ confirm_username: برای تأیید این فرایند نام کاربری خود را وارد کنید
proceed: پاککردن حساب
success_msg: حساب شما با موفقیت پاک شد
- warning_html: تنها پاکشدن محتوای حساب در این سرور خاص تضمین میشود. محتوایی که به گستردگی همرسانی شده باشد ممکن است ردش همچنان باقی بماند. سرورهای آفلاین یا سرورهایی که دیگر مشترک شما نیستند پایگاههای دادهٔ خود را بهروز نخواهند کرد.
- warning_title: دسترسپذیری محتوای همرسانشده
+ warning:
+ before: 'پیش از ادامه، لطفاً نکتههای زیر را به دقت بخوانید:'
+ caches: محتواهایی که سرورهای دیگر ذخیره کردهاند شاید همچنان باقی بمانند
+ data_removal: نوشتهها و دادههای شما برای همیشه پاک خواهند شد
+ email_change_html: شما میتوانید بدون پاک کردن حساب نشانی ایمیل خود را تغییر دهید
+ email_contact_html: اگر ایمیل همچنان نرسیده، برای درخواست کمک به %{email} پیغام دهید
+ email_reconfirmation_html: اگر ایمیل تأیید به دستتان نرسیده، میتوانید یک بار دیگر برایش درخواست بدهید
+ irreversible: شما نخواهید توانست حساب خود را بازیابی یا فعالسازی کنید
+ more_details_html: برای اطلاعات بیشتر سیاست رازداری را ببینید.
+ username_available: نام کاربری شما دوباره در دسترس خواهد بود
+ username_unavailable: نام کاربری شما برای دیگران غیرقابل دسترس خواهد ماند
directories:
directory: فهرست گزیدهٔ کاربران
- enabled: شما هماینک در فهرست گزیدهٔ کاربران نمایش مییابید.
- enabled_but_waiting: شما میخواهید در فهرست گزیدهٔ کاربران این سرور باشید، ولی تعداد پیگیران شما هنوز به مقدار لازم (%{min_followers}) نرسیده است.
explanation: کاربران این سرور را بر اساس علاقهمندیهایشان پیدا کنید
explore_mastodon: گشت و گذار در %{title}
- how_to_enable: شما هنوز در فهرست گزیدهٔ کاربران این سرور نشان داده نمیشوید. اینجا میتوانید انتخابش کنید. اگر در بخش معرفی خود در نمایهتان برچسب (هشتگ) داشته باشد، نام شما هم برای آن هشتگها فهرست میشود!
- people:
- one: "%{count} نفر"
- other: "%{count} نفر"
+ domain_validator:
+ invalid_domain: نام دامین معتبر نیست
errors:
+ '400': درخواستی که فرستادید نامعتبر یا اشتباه بود.
'403': شما اجازهٔ دیدن این صفحه را ندارید.
'404': صفحهای که به دنبالش هستید اینجا نیست.
+ '406': این صفحه در قالبی که درخواست کردهاید موجود نیست.
'410': صفحهای که به دنبالش بودید دیگر اینجا وجود ندارد.
'422':
content: تأیید امنیتی انجام نشد. آیا مرورگر شما کوکیها را مسدود میکند؟
@@ -592,6 +687,7 @@ fa:
'500':
content: شرمنده، یک چیزی از سمت ما اشتباه شده.
title: این صفحه درست نیست
+ '503': این صفحه به خاطر مشکل موقت سرور در دسترس نیست.
noscript_html: برای استفاده از نسخهٔ تحت وب ماستدون، لطفاً جاوااسکریپت را فعال کنید. یا به جایش میتوانید یک اپ ماستدون را بهکار ببرید.
existing_username_validator:
not_found: کاربری در این سرور با این نام کاربری پیدا نشد
@@ -615,6 +711,7 @@ fa:
add_new: افزودن تازه
errors:
limit: شما بیشترین تعداد مجاز برچسبها را دارید
+ hint_html: "برچسبهای برگزیده چیستند؟ این برچسبها (هشتگها) به طور واضحی روی نمایهٔ عمومی شما نمایش مییابند و دیگران میتوانند نوشتههای شما را تحت هر کدام از این برچسبها مرور کنند. این یک روش بسیار خوب برای دستهبندی آثار خلاقانه یا پروژههای بلندمدت شماست."
filters:
contexts:
home: خانه
@@ -635,10 +732,12 @@ fa:
developers: برنامهنویسان
more: بیشتر…
resources: منابع
+ trending_now: پرطرفدار
generic:
all: همه
changes_saved_msg: تغییرات با موفقیت ذخیره شدند!
copy: رونوشت
+ no_batch_actions_available: هیچ کار گروهیای در این صفحه موجود نیست
order_by: مرتبسازی
save_changes: ذخیرهٔ تغییرات
validation_errors:
@@ -710,9 +809,31 @@ fa:
too_many: نمیتوان بیشتر از ۴ تصویر بارگذاری کرد
migrations:
acct: username@domain حساب تازه
- currently_redirecting: 'نمایهٔ شما منتقل میشود به:'
- proceed: ذخیره
- updated_msg: تنظیمات نقل مکان حساب شما با موفقیت بهروز شد!
+ cancel: لغو انتقال
+ cancel_explanation: با لغو انتقال، حساب شما دوباره فعال میشود، ولی این کار پیگیران شما را که به حساب دیگر منتقل شدهاند برنمیگرداند.
+ cancelled_msg: انتقال حساب با موفقیت لغو شد.
+ errors:
+ already_moved: این همان حسابی است که به آن منتقل شدهاید
+ missing_also_known_as: به حساب شما اشاره نمیکند
+ move_to_self: نمیتواند حساب فعلی شما باشد
+ not_found: چنین حسابی پیدا نشد
+ on_cooldown: شما باید صبر کنید
+ followers_count: شمار پیگیران در زمان انتقال
+ incoming_migrations: انتقال از یک حساب دیگر
+ incoming_migrations_html: برای انتقال از یک حساب دیگر به این حساب، شما باید نخست یک نام مستعار بسازید.
+ moved_msg: حساب شما هماینک به %{acct} منتقل شده است و پیگیران شما در حال انتقال به آنجا هستند.
+ not_redirecting: حساب شما هماینک به هیچ حساب دیگری منتقل نشده است یا اشاره نمیکند.
+ on_cooldown: شما به تازگی حساب خود را منتقل کردهاید. این ویژگی برای شما دوباره در %{count} روز فعال خواهد شد.
+ past_migrations: انتقالهای پیشین
+ proceed_with_move: انتقال پیگیران
+ redirecting_to: حساب شما هماینک به %{acct} منتقل شده است.
+ warning:
+ backreference_required: حساب تازهٔ شما نخست باید تنظیم شود تا به این حساب اشاره کند
+ before: 'پیش از ادامه، لطفاً نکتههای زیر را به دقت بخوانید:'
+ cooldown: پس از انتقال حساب، یک دورهٔ انتظار وجود دارد که در این مدت نخواهید توانست دوباره حسابتان را منتقل کنید
+ disabled_account: حساب فعلی شما پس از این کار دیگر قابل استفاده نخواهد بود. شما فقط خواهید توانست دادههای خود را بیرون ببرید یا حساب را دوباره فعال کنید.
+ followers: این کار همهٔ پیگیران شما را از حساب فعلی به حساب تازه منتقل خواهد کرد
+ other_data: هیچ دادهٔ دیگری خودبهخود منتقل نخواهد شد
moderation:
title: مدیریت کاربران
notification_mailer:
@@ -857,6 +978,7 @@ fa:
settings:
account: حساب
account_settings: تنظیمات حساب
+ aliases: نامهای مستعار
appearance: نما
authorized_apps: برنامههای مجاز
back: بازگشت به ماستدون
@@ -874,6 +996,8 @@ fa:
profile: نمایه
relationships: پیگیریها و پیگیران
two_factor_authentication: ورود دومرحلهای
+ spam_check:
+ spam_detected_and_silenced: این یک گزارش خودکار است. هرزنامه به طور خودکار تشخیص داده شده و کاربر بیصدا شده است. اگر اشتباهی رخ داده لطفاً حساب را باصدا کنید.
statuses:
attached:
description: 'پیوستشده: %{attached}'
@@ -915,6 +1039,8 @@ fa:
pinned: نوشتههای ثابت
reblogged: بازبوقید
sensitive_content: محتوای حساس
+ tags:
+ does_not_match_previous_name: با نام پیشین مطابق نیست
terms:
body_html: |
سیاست رازداری
@@ -1032,7 +1158,9 @@ fa:
disable: تا وقتی حساب شما متوقف باشد، دادههای شما دستنخورده باقی میمانند، ولی تا وقتی که حسابتان باز نشده، نمیتوانید هیچ کاری با آن بکنید.
silence: تا وقتی حساب شما محدود باشد، تنها کسانی که از قبل پیگیر شما بودند نوشتههای شما در این سرور را میبینند و شما در فهرستهای عمومی دیده نمیشوید. ولی دیگران همچنان میتوانند به دلخواه خودشان پیگیر شما شوند.
suspend: حساب شما معلق شده است، و همهٔ نوشتهها و رسانههای تصویری شما به طور بازگشتناپذیری پاک شدهاند؛ چه از این سرور و چه از سرورهای دیگری که از آنها پیگیر داشتید.
+ get_in_touch: با پاسخ به این ایمیل میتوانید با دستاندرکاران %{instance} در تماس باشید.
review_server_policies: مرور سیاستهای این سرور
+ statuses: 'به طور خاص برای:'
subject:
disable: حساب %{acct} شما متوقف شده است
none: هشدار برای %{acct}
@@ -1048,7 +1176,7 @@ fa:
edit_profile_step: 'شما میتوانید نمایهٔ خود را به دلخواه خود تغییر دهید: میتوانید تصویر نمایه، تصویر پسزمینه، نام، و چیزهای دیگری را تعیین کنید. اگر بخواهید، میتوانید حساب خود را خصوصی کنید تا فقط کسانی که شما اجازه میدهید بتوانند پیگیر حساب شما شوند.'
explanation: نکتههایی که برای آغاز کار به شما کمک میکنند
final_action: چیزی منتشر کنید
- final_step: 'چیزی بنویسید! حتی اگر الان کسی پیگیر شما نباشد، دیگران نوشتههای عمومی شما را میبینند، مثلاً در فهرست نوشتههای محلی و در هشتگها. شاید بخواهید با هشتگ #آشنایی خودتان را معرفی کنید.'
+ final_step: 'چیزی بنویسید! حتی اگر الان کسی پیگیر شما نباشد، دیگران نوشتههای عمومی شما را میبینند، مثلاً در فهرست نوشتههای محلی و در برچسب (هشتگ)ها. شاید بخواهید با برچسب #معرفی خودتان را معرفی کنید.'
full_handle: نام کاربری کامل شما
full_handle_hint: این چیزی است که باید به دوستان خود بگویید تا بتوانند به شما پیغام بفرستند یا از سرورهای دیگر پیگیر شما شوند.
review_preferences_action: تغییر ترجیحات
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
index 07a8e367b..2f8fd3497 100644
--- a/config/locales/fi.yml
+++ b/config/locales/fi.yml
@@ -10,9 +10,6 @@ fi:
contact_missing: Ei asetettu
contact_unavailable: Ei saatavilla
documentation: Dokumentaatio
- extended_description_html: |
-
Hyvä paikka säännöille
-
Pidempää kuvausta ei ole vielä laadittu.
generic_description: "%{domain} on yksi verkostoon kuuluvista palvelimista"
hosted_on: Mastodon palvelimella %{domain}
learn_more: Lisätietoja
@@ -352,7 +349,6 @@ fi:
your_token: Pääsytunnus
auth:
change_password: Salasana
- confirm_email: Vahvista sähköpostiosoite
delete_account: Poista tili
delete_account_html: Jos haluat poistaa tilisi, paina tästä. Poisto on vahvistettava.
didnt_get_confirmation: Etkö saanut vahvistusohjeita?
@@ -394,16 +390,14 @@ fi:
x_months: "%{count} kk"
x_seconds: "%{count} s"
deletes:
- bad_password_msg: Hyvä yritys, hakkerit! Väärä salasana
confirm_password: Tunnistaudu syöttämällä nykyinen salasanasi
- description_html: Tämä poistaa pysyvästi ja peruuttamattomasti kaiken tilisi sisällön ja poistaa tilin käytöstä. Käyttäjänimesi pysyy varattuna, jotta identiteettiäsi ei myöhemmin varasteta.
proceed: Poista tili
success_msg: Tilin poisto onnistui
- warning_html: Sisällön poistaminen taataan vain tämän instanssin osalta. Jos sisältöä on jaettu paljon, siitä todennäköisesti jää jälkiä. Palvelimet, joihin ei saada yhteyttä tai jotka ovat lopettaneet päivitystesi tilaamisen, eivät päivitä tietokantojaan.
- warning_title: Sisällön saatavuustieto levitetty
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Sinulla ei ole lupaa nähdä tätä sivua.
'404': Etsimääsi sivua ei ole olemassa.
+ '406': This page is not available in the requested format.
'410': Etsimääsi sivua ei ole enää olemassa.
'422':
content: Turvallisuusvahvistus epäonnistui. Oletko estänyt evästeet?
@@ -412,6 +406,7 @@ fi:
'500':
content: Valitettavasti jokin meni pieleen meidän päässämme.
title: Sivu ei ole oikein
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Mastodon-selainsovelluksen käyttöön vaaditaan JavaScript. Voit vaihtoehtoisesti kokeilla jotakin omalle käyttöjärjestelmällesi tehtyä Mastodonsovellusta.
exports:
archive_takeout:
@@ -470,9 +465,6 @@ fi:
too_many: Tiedostoja voi liittää enintään 4
migrations:
acct: uuden tilin käyttäjätunnus@verkkotunnus
- currently_redirecting: 'Profiiliisi on asetettu uudelleenohjaus:'
- proceed: Tallenna
- updated_msg: Tilinsiirtoasetusten päivitys onnistui!
moderation:
title: Moderointi
notification_mailer:
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index 0f4338369..f7306fb41 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -2,7 +2,7 @@
fr:
about:
about_hashtag_html: Figurent ci-dessous les pouets tagués avec #%{hashtag}. Vous pouvez interagir avec eux si vous avez un compte n’importe où dans le Fediverse.
- about_mastodon_html: Mastodon est un réseau social utilisant des formats ouverts et des logiciels libres. Comme le courriel, il est décentralisé.
+ about_mastodon_html: Mastodon est un réseau social utilisant des protocoles Web ouverts et des logiciels libres. Tout comme le courriel, il est décentralisé.
about_this: À propos
active_count_after: actif·ve·s
active_footnote: Utilisateur·rice·s actif·ve·s mensuels (MAU)
@@ -17,13 +17,13 @@ fr:
contact_unavailable: Non disponible
discover_users: Découvrez des utilisateur·rice·s
documentation: Documentation
- extended_description_html: |
-
Un bon endroit pour les règles
-
La description étendue n’a pas été remplie.
federation_hint_html: Avec un compte sur %{instance}, vous pourrez suivre les gens sur n’importe quel serveur Mastodon et au-delà.
generic_description: "%{domain} est seulement un serveur du réseau"
get_apps: Essayez une application mobile
hosted_on: Serveur Mastodon hébergée par %{domain}
+ instance_actor_flash: |
+ Ce compte est un acteur virtuel utilisé pour représenter le serveur lui-même et non un utilisateur individuel.
+ Il est utilisé à des fins de fédération et ne doit pas être bloqué à moins que vous ne vouliez bloquer l’instance entière, dans ce cas vous devriez utiliser un bloqueur de domaine.
learn_more: En savoir plus
privacy_policy: Politique de vie privée
see_whats_happening: Voir ce qui se passe
@@ -35,6 +35,13 @@ fr:
status_count_before: Ayant publié
tagline: Suivez vos ami·e·s et découvrez en de nouveaux·elles
terms: Conditions d’utilisation
+ unavailable_content: Contenu non disponible
+ unavailable_content_description:
+ reason: 'Motif :'
+ rejecting_media: Les fichiers média de ce serveur ne seront pas traités et aucune miniature ne sera affichée, nécessitant un clic manuel vers l'autre serveur.
+ silenced: Les messages de ce serveur ne s'afficheront nulle part sauf votre flux personnel si vous suivez l'auteur.
+ suspended: Vous ne pourrez suivre personne de ce serveur, aucune donnée ne sera traitée ou stockée et aucune donnée ne sera échangée.
+ unavailable_content_html: Mastodon vous permet généralement de visualiser le contenu et d'interagir avec les utilisateurs de n'importe quel autre serveur dans le fédiverse. Voici les exceptions qui ont été faites sur ce serveur en particulier.
user_count_after:
one: utilisateur
other: utilisateurs
@@ -42,6 +49,8 @@ fr:
what_is_mastodon: Qu’est-ce que Mastodon ?
accounts:
choices_html: "%{name} recommande :"
+ endorsements_hint: Vous pouvez soutenir les personnes que vous suivez depuis l’interface web, et elles apparaîtront ici.
+ featured_tags_hint: Vous pouvez mettre en avant des hashtags spécifiques qui seront affichés ici.
follow: Suivre
followers:
one: Abonné·e
@@ -53,6 +62,7 @@ fr:
media: Médias
moved_html: "%{name} a changé de compte pour %{new_profile_link} :"
network_hidden: Cette information n’est pas disponible
+ never_active: Jamais
nothing_here: Rien à voir ici !
people_followed_by: Personnes suivies par %{name}
people_who_follow: Personnes qui suivent %{name}
@@ -183,6 +193,7 @@ fr:
username: Nom d’utilisateur⋅ice
warn: Avertissement
web: Web
+ whitelisted: Sur liste blanche
action_logs:
actions:
assigned_to_self_report: "%{name} s’est assigné·e le signalement de %{target}"
@@ -218,10 +229,12 @@ fr:
deleted_status: "(statut supprimé)"
title: Journal d’audit
custom_emojis:
+ assign_category: Attribuer une catégorie
by_domain: Domaine
copied_msg: Copie locale de l’émoji créée avec succès !
copy: Copier
copy_failed_msg: Impossible de faire une copie locale de cet émoji
+ create_new_category: Créer une nouvelle catégorie
created_msg: Émoji créé avec succès !
delete: Supprimer
destroyed_msg: Émoji supprimé avec succès !
@@ -238,11 +251,13 @@ fr:
shortcode: Raccourci
shortcode_hint: Au moins deux caractères, seulement des caractères alphanumériques ou des tirets bas
title: Émojis personnalisés
+ uncategorized: Non catégorisé
unlisted: Délisté
update_failed_msg: N’a pas pu mettre à jour cet émoji
updated_msg: Émoji mis à jour avec succès !
upload: Téléverser
dashboard:
+ authorized_fetch_mode: Mode de récupération autorisé
backlog: tâches en attente
config: Configuration
feature_deletions: Suppressions de comptes
@@ -250,10 +265,13 @@ fr:
feature_profile_directory: Annuaire des profils
feature_registrations: Inscriptions
feature_relay: Relais de fédération
+ feature_spam_check: Anti-spam
feature_timeline_preview: Aperçu du fil public
features: Fonctionnalités
hidden_service: Fédération avec des services cachés
open_reports: signalements non résolus
+ pending_tags: hashtags en attente d’approbation
+ pending_users: utilisateur·rice·s en attente d’approbation
recent_users: Utilisateur·rice·s récent·e·s
search: Recherche plein texte
single_user_mode: Mode utilisateur·ice unique
@@ -265,11 +283,18 @@ fr:
week_interactions: interactions cette semaine
week_users_active: actif·ve·s cette semaine
week_users_new: utilisateur·rice·s cette semaine
+ whitelist_mode: Mode liste blanche
+ domain_allows:
+ add_new: Mettre le domaine sur liste sur blanche
+ created_msg: Ce domaine a été ajouté à la liste blanche avec succès
+ destroyed_msg: Le domaine a été supprimé de la liste blanche
+ undo: Supprimer de la liste blanche
domain_blocks:
add_new: Ajouter un nouveau bloqueur de domaine
created_msg: Le blocage de domaine est désormais activé
destroyed_msg: Le blocage de domaine a été désactivé
domain: Domaine
+ edit: Modifier le bloqueur de domaine
existing_domain_block_html: Vous avez déjà imposé des limites plus strictes à %{name}, vous devez d’abord le débloquer.
new:
create: Créer le blocage
@@ -280,6 +305,10 @@ fr:
silence: Masqué
suspend: Suspendre
title: Nouveau blocage de domaine
+ private_comment: Commentaire privé
+ private_comment_hint: Commenter sur cette limitation de domaine pour informer les modérateurs internes.
+ public_comment: Commentaire public
+ public_comment_hint: Commentaire sur cette limitation de domaine pour le grand public, si la visibilité publique de la liste des limitations de domaine est activée.
reject_media: Fichiers média rejetés
reject_media_hint: Supprime localement les fichiers média stockés et refuse d’en télécharger ultérieurement. Ne concerne pas les suspensions
reject_reports: Rejeter les signalements
@@ -299,6 +328,7 @@ fr:
title: Annuler le blocage de domaine pour %{domain}
undo: Annuler
undo: Annuler le bloqueur de domaine
+ view: Afficher les bloqueurs de domaines
email_domain_blocks:
add_new: Ajouter
created_msg: Le blocage de domaine de courriel est désormais activé
@@ -322,6 +352,8 @@ fr:
all: Tout
limited: Limité
title: Modération
+ private_comment: Commentaire privé
+ public_comment: Commentaire public
title: Fédération
total_blocked_by_us: Bloqués par nous
total_followed_by_them: Suivi par eux
@@ -399,6 +431,16 @@ fr:
custom_css:
desc_html: Modifier l’apparence avec une CSS chargée sur chaque page
title: CSS personnalisé
+ default_noindex:
+ desc_html: Affecte tous les utilisateurs qui n'ont pas changé eux-mêmes ce paramètre
+ title: Opter pour le retrait de l'indexation des moteurs de recherche par défaut
+ domain_blocks:
+ all: À tout le monde
+ disabled: À personne
+ title: Afficher les bloqueurs de domaines
+ users: Pour les utilisateurs locaux connectés
+ domain_blocks_rationale:
+ title: Voir le raisonnement
hero:
desc_html: Affichée sur la page d’accueil. Au moins 600x100px recommandé. Lorsqu’elle n’est pas définie, se rabat sur la vignette du serveur
title: Image d’en-tête
@@ -449,6 +491,9 @@ fr:
desc_html: Affichée sur la page des conditions d’utilisation du site Vous pouvez utiliser des balises HTML
title: Politique de confidentialité
site_title: Nom du serveur
+ spam_check_enabled:
+ desc_html: Mastodon peut auto-silencer et signaler des comptes qui envoient des messages répétés non sollicités. Il peut y avoir de faux positifs.
+ title: Automatisation anti-spam
thumbnail:
desc_html: Utilisée pour les prévisualisations via OpenGraph et l’API. 1200x630px recommandé
title: Vignette du serveur
@@ -456,12 +501,16 @@ fr:
desc_html: Afficher le fil public sur la page d’accueil
title: Prévisualisation du fil global
title: Paramètres du serveur
+ trends:
+ desc_html: Afficher publiquement les hashtags approuvés qui sont populaires en ce moment
+ title: Hashtags populaires
statuses:
back_to_account: Retour à la page du compte
batch:
delete: Supprimer
nsfw_off: Marquer comme non-sensible
nsfw_on: Marquer comme sensible
+ deleted: Supprimé
failed_to_execute: Erreur d’exécution
media:
title: Médias
@@ -470,13 +519,23 @@ fr:
title: État du compte
with_media: avec médias
tags:
- accounts: Comptes
- hidden: Masqué
- hide: Masquer dans l’annuaire
- name: Hashtag
+ accounts_today: Utilisations uniques aujourd'hui
+ accounts_week: Utilisation unique cette semaine
+ breakdown: Répartition de l’utilisation actuelle par source
+ context: Contexte
+ directory: Dans le répertoire
+ in_directory: "%{count} dans le répertoire"
+ last_active: Dernière activité
+ most_popular: Plus populaire
+ most_recent: Plus récent
+ name: Mot-clé
+ review: État de traitement
+ reviewed: Traité
title: Hashtags
- unhide: Afficher dans l’annuaire
- visible: Visible
+ trending_right_now: Populaire en ce moment
+ unique_uses_today: "%{count} posts aujourd'hui"
+ unreviewed: Non traité
+ updated_msg: Paramètres Hashtag mis à jour avec succès
title: Administration
warning_presets:
add_new: Ajouter un nouveau
@@ -492,11 +551,21 @@ fr:
body: "%{reporter} a signalé %{target}"
body_remote: Quelqu’un de %{domain} a signalé %{target}
subject: Nouveau signalement sur %{instance} (#%{id})
+ new_trending_tag:
+ body: 'Le hashtag #%{name} est populaire aujourd’hui, mais il n’a pas été approuvé. Il ne sera pas affiché publiquement à moins que l’autorisiez, ou sauvegardez simplement ce formulaire tel quel pour ne plus jamais en entendre parler.'
+ subject: Nouveau hashtag en attente de traitement sur %{instance} (#%{name})
+ aliases:
+ add_new: Créer un alias
+ created_msg: Un nouvel alias a été créé avec succès. Vous pouvez maintenant lancer le déplacement depuis l'ancien compte.
+ deleted_msg: Suppression réussie de l'alias. Déplacer de ce compte vers celui-ci ne sera plus possible.
+ hint_html: Si vous voulez passer d'un autre compte à celui-ci, vous pouvez créer ici un alias, qui est nécessaire avant de pouvoir déplacer les abonné·e·s de l'ancien compte à celui-ci. Cette action en soi est inoffensive et réversible. La migration du compte est initiée à partir de l'ancien compte.
+ remove: Détacher l'alias
appearance:
advanced_web_interface: Interface web avancée
advanced_web_interface_hint: 'Si vous voulez utiliser toute la largeur de votre écran, l’interface web avancée vous permet de configurer plusieurs colonnes différentes pour voir autant d’informations que vous le souhaitez en même temps : Accueil, notifications, fil public fédéré, un nombre illimité de listes et hashtags.'
animations_and_accessibility: Animations et accessibilité
confirmation_dialogs: Dialogues de confirmation
+ discovery: Découverte
sensitive_content: Contenu sensible
application_mailer:
notification_preferences: Modifier les préférences de courriel
@@ -517,9 +586,13 @@ fr:
apply_for_account: Demander une invitation
change_password: Mot de passe
checkbox_agreement_html: J’accepte les règles du serveur et les conditions de service
- confirm_email: Confirmer mon adresse mail
+ checkbox_agreement_without_rules_html: J’accepte les conditions d’utilisation
delete_account: Supprimer le compte
delete_account_html: Si vous désirez supprimer votre compte, vous pouvez cliquer ici. Il vous sera demandé de confirmer cette action.
+ description:
+ prefix_invited_by_user: "@%{name} vous invite à rejoindre ce serveur Mastodon !"
+ prefix_sign_up: Inscrivez-vous aujourd’hui sur Mastodon !
+ suffix: Avec un compte, vous pourrez suivre des gens, publier des statuts et échanger des messages avec les utilisateurs de n'importe quel serveur Mastodon et bien plus !
didnt_get_confirmation: Vous n’avez pas reçu les consignes de confirmation ?
forgot_password: Mot de passe oublié ?
invalid_reset_password_token: Le lien de réinitialisation du mot de passe est invalide ou a expiré. Merci de réessayer.
@@ -537,6 +610,16 @@ fr:
reset_password: Réinitialiser le mot de passe
security: Sécurité
set_new_password: Définir le nouveau mot de passe
+ setup:
+ email_below_hint_html: Si l’adresse e-mail ci-dessous est incorrecte, vous pouvez la modifier ici et recevoir un nouveau courriel de confirmation.
+ email_settings_hint_html: L’e-mail de confirmation a été envoyé à %{email}. Si cette adresse e-mail n’est pas correcte, vous pouvez la modifier dans les paramètres du compte.
+ title: Configuration
+ status:
+ account_status: Statut du compte
+ confirming: En attente de la confirmation par e-mail à compléter.
+ functional: Votre compte est entièrement opérationnel.
+ pending: Votre demande est en attente d'examen par notre personnel. Cela peut prendre un certain temps. Vous recevrez un courriel si votre demande est approuvée.
+ redirecting_to: Votre compte est inactif car il est actuellement redirigé vers %{acct}.
trouble_logging_in: Vous avez un problème pour vous connecter ?
authorize_follow:
already_following: Vous suivez déjà ce compte
@@ -549,6 +632,11 @@ fr:
return: Afficher le profil de l’utilisateur⋅ice
web: Retour à l’interface web
title: Suivre %{acct}
+ challenge:
+ confirm: Continuer
+ hint_html: "Astuce : Nous ne vous demanderons plus votre mot de passe pour la prochaine heure."
+ invalid_password: Mot de passe invalide
+ prompt: Confirmez votre mot de passe pour continuer
datetime:
distance_in_words:
about_x_hours: "%{count} h"
@@ -564,26 +652,33 @@ fr:
x_months: "%{count} mois"
x_seconds: "%{count} s"
deletes:
- bad_password_msg: Bien essayé ! Mot de passe incorrect
+ challenge_not_passed: Les renseignements que vous avez entrés n'étaient pas exacts
confirm_password: Entrez votre mot de passe pour vérifier votre identité
- description_html: Cela va supprimer votre compte et le désactiver de manière permanente et irréversible. Votre nom d’utilisateur⋅ice restera réservé afin d’éviter la confusion.
+ confirm_username: Entrez votre nom d'utilisateur pour confirmer la procédure
proceed: Supprimer compte
success_msg: Votre compte a été supprimé avec succès
- warning_html: Seule la suppression du contenu depuis ce serveur est garantie. Le contenu qui a été partagé est susceptible de laisser des traces. Les serveurs hors-ligne ainsi que ceux n’étant plus abonnées à vos publications ne mettront pas leur base de données à jour.
- warning_title: Disponibilité du contenu disséminé
+ warning:
+ before: 'Avant de procéder, veuillez lire attentivement ces notes :'
+ caches: Le contenu mis en cache par d'autres serveurs peut persister
+ data_removal: Vos messages et autres données seront définitivement supprimés
+ email_change_html: Vous pouvez modifier votre adresse courriel sans supprimer votre compte
+ email_contact_html: S'il n'arrive toujours pas, vous pouvez envoyer un courriel à %{email} pour de l'aide
+ email_reconfirmation_html: Si vous ne recevez pas le courriel de confirmation, vous pouvez le demander à nouveau
+ irreversible: Vous ne pourrez pas restaurer ou réactiver votre compte
+ more_details_html: Pour plus de détails, voir la politique de confidentialité.
+ username_available: Votre nom d’utilisateur sera à nouveau disponible
+ username_unavailable: Votre nom d’utilisateur restera indisponible
directories:
directory: Annuaire des profils
- enabled: Vous êtes actuellement listé dans l’annuaire.
- enabled_but_waiting: Vous avez choisi d’être listé dans l’annuaire, mais vous n’avez pas encore le nombre minimum de suiveurs (%{min_followers}) pour y être inscrit.
explanation: Découvrir des utilisateurs en se basant sur leurs centres d’intérêt
explore_mastodon: Explorer %{title}
- how_to_enable: Vous n’êtes pas encore inscrit dans l’annuaire. Vous pouvez vous inscrire ci-dessous. Utilisez des hashtags dans votre texte biographique pour être listé sous des hashtags spécifiques !
- people:
- one: "%{count} personne"
- other: "%{count} personne"
+ domain_validator:
+ invalid_domain: n’est pas un nom de domaine valide
errors:
+ '400': La demande que vous avez soumise est invalide ou mal formée.
'403': Vous n’avez pas accès à cette page.
'404': La page que vous recherchez n’existe pas.
+ '406': Cette page n'est pas disponible au format demandé.
'410': La page que vous recherchez n’existe plus.
'422':
content: Vérification de sécurité échouée. Bloquez-vous les cookies ?
@@ -592,6 +687,7 @@ fr:
'500':
content: Nous sommes désolé·e·s, mais quelque chose s’est mal passé de notre côté.
title: Cette page n’est pas correcte
+ '503': La page n'a pas pu être servie en raison d'une défaillance temporaire du serveur.
noscript_html: Pour utiliser Mastodon, veuillez activer JavaScript. Sinon, essayez l’une des applications natives pour Mastodon pour votre plate-forme.
existing_username_validator:
not_found: n’a pas trouvé d’utilisateur·rice local·e avec ce nom
@@ -615,6 +711,7 @@ fr:
add_new: Ajouter un nouvel hashtag
errors:
limit: Vous avez déjà mis en avant le nombre maximum de hashtags
+ hint_html: "Que sont les hashtags vedettes ? Ils sont affichés avec emphase sur votre flux d'actualités publique et permettent aux gens de parcourir vos messages publics spécifiquement sous ces hashtags. Ils sont un excellent outil pour garder trace des œuvres créatives ou des projets à long terme."
filters:
contexts:
home: Accueil
@@ -635,10 +732,12 @@ fr:
developers: Développeurs
more: Davantage…
resources: Ressources
+ trending_now: Tendance en ce moment
generic:
all: Tous
changes_saved_msg: Les modifications ont été enregistrées avec succès !
copy: Copier
+ no_batch_actions_available: Aucune action par lots disponible sur cette page
order_by: Classer par
save_changes: Enregistrer les modifications
validation_errors:
@@ -710,9 +809,31 @@ fr:
too_many: Impossible de joindre plus de 4 fichiers
migrations:
acct: profil@domaine du nouveau compte
- currently_redirecting: 'Votre profil va être redirigé vers :'
- proceed: Enregistrer
- updated_msg: Les paramètres de votre migration de compte ont été mis à jour avec succès !
+ cancel: Annuler la redirection
+ cancel_explanation: Annuler la redirection réactivera votre compte courant, mais ne rapportera pas les abonnés qui ont été déplacés sur ce compte.
+ cancelled_msg: Suppression de la redirection réussie.
+ errors:
+ already_moved: est le même compte que vous avez déjà déplacé vers
+ missing_also_known_as: ne référence pas rétroactivement ce compte
+ move_to_self: ne peut pas être un compte courant
+ not_found: n'a pas été trouvé
+ on_cooldown: Vous êtes en refroidissement
+ followers_count: Abonnés au moment du déplacement
+ incoming_migrations: Déplacement d'un compte différent
+ incoming_migrations_html: Pour passer d'un autre compte à celui-ci, vous devez d'abord créer un alias de compte.
+ moved_msg: Votre compte est maintenant redirigé vers %{acct} et vos abonnés sont déplacés.
+ not_redirecting: Votre compte n'est pas redirigé vers un autre compte actuellement.
+ on_cooldown: Vous avez récemment migré votre compte. Cette fonction sera à nouveau disponible dans %{count} jours.
+ past_migrations: Migrations passées
+ proceed_with_move: Déplacer les abonnés
+ redirecting_to: Votre compte est redirigé vers %{acct}.
+ warning:
+ backreference_required: Le nouveau compte doit d'abord être configuré pour faire référence à celui-ci
+ before: 'Avant de procéder, veuillez lire attentivement ces notes :'
+ cooldown: Après le déménagement, il y a une période de refroidissement pendant laquelle vous ne pourrez plus bouger
+ disabled_account: Votre compte actuel ne sera pas entièrement utilisable par la suite. Cependant, vous aurez accès à l'exportation de données et à la ré-activation.
+ followers: Cette action va déplacer tous les abonnés du compte courant vers le nouveau compte
+ other_data: Aucune autre donnée ne sera déplacée automatiquement
moderation:
title: Modération
notification_mailer:
@@ -818,7 +939,7 @@ fr:
browser: Navigateur
browsers:
alipay: Alipay
- blackberry: Blackberry
+ blackberry: BlackBerry
chrome: Chrome
edge: Microsoft Edge
electron: Electron
@@ -832,7 +953,7 @@ fr:
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
- uc_browser: UCBrowser
+ uc_browser: UC Browser
weibo: Weibo
current_session: Session courante
description: "%{browser} sur %{platform}"
@@ -841,8 +962,8 @@ fr:
platforms:
adobe_air: Adobe Air
android: Android
- blackberry: Blackberry
- chrome_os: ChromeOS
+ blackberry: BlackBerry
+ chrome_os: Chrome OS
firefox_os: Firefox OS
ios: iOS
linux: Linux
@@ -857,6 +978,7 @@ fr:
settings:
account: Compte
account_settings: Paramètres du compte
+ aliases: Alias du compte
appearance: Apparence
authorized_apps: Applications autorisées
back: Retour vers Mastodon
@@ -874,6 +996,8 @@ fr:
profile: Profil
relationships: Abonnements et abonné·e·s
two_factor_authentication: Identification à deux facteurs
+ spam_check:
+ spam_detected_and_silenced: Ceci est un rapport automatisé. Du spam a été détecté et l’expéditeur a été silencié automatiquement. Si c’est une erreur, veuillez désactiver la sourdine du compte.
statuses:
attached:
description: 'Attaché : %{attached}'
@@ -915,6 +1039,8 @@ fr:
pinned: Pouet épinglé
reblogged: a partagé
sensitive_content: Contenu sensible
+ tags:
+ does_not_match_previous_name: ne correspond pas au nom précédent
terms:
body_html: |
Politique de confidentialité
@@ -994,7 +1120,7 @@ fr:
Dans le cas où nous déciderions de changer notre politique de confidentialité, nous posterons les modifications sur cette page.
-
Ce document est publié sous lincence CC-BY-SA. Il a été mis à jours pour la dernière fois le 7 mars 2018.
+
Ce document est publié sous licence CC-BY-SA. Il a été mis à jour pour la dernière fois le 7 mars 2018.
title: "%{instance} Conditions d’utilisation et politique de confidentialité"
@@ -1032,7 +1158,9 @@ fr:
disable: Lorsque votre compte est gelé, les données de votre compte demeurent intactes, mais vous ne pouvez effectuer aucune action jusqu’à ce qu’il soit débloqué.
silence: Lorsque votre compte est limité, seulement les utilisateurs qui vous suivent déjà verront vos pouets sur ce serveur, et vous pourriez être exclu de plusieurs listes publiques. Néanmoins, d’autres utilisateurs peuvent vous suivre manuellement.
suspend: Votre compte a été suspendu, et tous vos pouets et vos fichiers multimédia téléversés ont été supprimés irréversiblement de ce serveur, et des serveurs où vous aviez des abonné⋅e⋅s.
+ get_in_touch: Vous pouvez répondre à cette adresse pour entrer en contact avec l’équipe de %{instance}.
review_server_policies: Passer en revue les politiques du serveur
+ statuses: 'Spécialement, pour :'
subject:
disable: Votre compte %{acct} a été gelé
none: Avertissement pour %{acct}
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index 7ecb50e40..3924eeedc 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -17,13 +17,13 @@ gl:
contact_unavailable: N/A
discover_users: Descubra usuarias
documentation: Documentación
- extended_description_html: |
-
Un bo lugar para regras
-
A descrición extendida aínda non se proporcionou.
federation_hint_html: Con unha conta en %{instance} poderá seguir a outras persoas en calquera dos servidores Mastodon e incluso máis.
generic_description: "%{domain} é un servidor na rede"
get_apps: Probe cunha app móbil
hosted_on: Mastodon aloxado en %{domain}
+ instance_actor_flash: 'Esta conta é un actor virtual utilizado para representar ao servidor e non a unha usuaria individual. Utilízase para propósitos de federación e non debería estar bloqueada a menos que queira bloquear a toda a instancia, en tal caso debería utilizar o bloqueo do dominio.
+
+'
learn_more: Coñeza máis
privacy_policy: Política de intimidade
see_whats_happening: Mire o que acontece
@@ -35,6 +35,13 @@ gl:
status_count_before: Que publicaron
tagline: Siga as amizades e faga outras novas
terms: Termos do servizo
+ unavailable_content: Contido non dispoñible
+ unavailable_content_description:
+ reason: 'Razón:'
+ rejecting_media: Os ficheiros de medios de este servidor non se procesarán e non se mostrarán miniaturas, precisando solicitarse manualmente ao outro servidor.
+ silenced: As publicacións desde este servidor non se mostrarán en ningún lugar excepto no Inicio se segues ao autor.
+ suspended: Non poderás seguir a ninguén desde este servidor, e non se procesarán nin se gardarán datos que procedan del, e non se intercambiarán datos.
+ unavailable_content_html: Normalmente Mastodon permíteche ver contidos de outros servidores do fediverso e interactuar coas súas usuarias. Estas son as excepcións que se estableceron en este servidor particular.
user_count_after:
one: usuaria
other: usuarias
@@ -42,6 +49,8 @@ gl:
what_is_mastodon: Qué é Mastodon?
accounts:
choices_html: 'Eleccións de %{name}:'
+ endorsements_hint: Desde a interface web pode recomendar xente que segue, e aparecerán aquí.
+ featured_tags_hint: Pode destacar determinadas etiquetas que se mostrarán aquí.
follow: Seguir
followers:
one: Seguidora
@@ -53,6 +62,7 @@ gl:
media: Medios
moved_html: "%{name} mudouse a %{new_profile_link}:"
network_hidden: A información non está dispoñible
+ never_active: Nunca
nothing_here: Nada por aquí!
people_followed_by: Personas que segue %{name}
people_who_follow: Personas que seguen a %{name}
@@ -183,6 +193,7 @@ gl:
username: Nome de usuaria
warn: Aviso
web: Web
+ whitelisted: Lista branca
action_logs:
actions:
assigned_to_self_report: "%{name} asignou o informe %{target} a ela misma"
@@ -218,10 +229,12 @@ gl:
deleted_status: "(estado eliminado)"
title: Rexistro de auditoría
custom_emojis:
+ assign_category: Asignar categoría
by_domain: Dominio
copied_msg: Creouse con éxito unha copia local dos emoji
copy: Copiar
copy_failed_msg: Non se puido facer copia local de ese emoji
+ create_new_category: Crear nova categoría
created_msg: Creou o emoji con satisfactoriamente!
delete: Eliminar
destroyed_msg: Emojo destruído satisfactoriamente!
@@ -238,11 +251,13 @@ gl:
shortcode: Código corto
shortcode_hint: Cando menos 2 caracteres, só caracteres alfanuméricos e subliñados
title: Emojis persoalizados
+ uncategorized: Sen categorizar
unlisted: Non listado
update_failed_msg: Non se puido actualizar ese emoji
updated_msg: Actualizouse correctamente o emoji!
upload: Subir
dashboard:
+ authorized_fetch_mode: Modo de obtención autorizado
backlog: traballos respaldados
config: Axustes
feature_deletions: Borrado de contas
@@ -250,10 +265,13 @@ gl:
feature_profile_directory: Directorio do perfil
feature_registrations: Rexistros
feature_relay: Repetidores de federación
+ feature_spam_check: Anti-spam
feature_timeline_preview: Vista previa da TL
features: Características
hidden_service: Federación con servizos ocultos
open_reports: informes abertos
+ pending_tags: etiquetas agardando revisión
+ pending_users: usuarias agardando revisión
recent_users: Usuarias recentes
search: Busca de texto completo
single_user_mode: Modo de usuario individual
@@ -265,11 +283,18 @@ gl:
week_interactions: interaccións en esta semana
week_users_active: activas estas semana
week_users_new: usuarias esta semana
+ whitelist_mode: Modo de lista branca
+ domain_allows:
+ add_new: Dominio en lista branca
+ created_msg: Engadeu o dominio a lista branca
+ destroyed_msg: Quitou o dominio da lista branca
+ undo: Eliminar da lista branca
domain_blocks:
add_new: Engadir novo bloqueo de dominio
created_msg: Estase a procesar o bloqueo do dominio
destroyed_msg: Desfixose a acción de bloqueo de dominio
domain: Dominio
+ edit: Editar bloqueo de dominio
existing_domain_block_html: Xa estableceu límites estrictos para %{name}, precisa desbloqueala primeiro.
new:
create: Crear bloque
@@ -280,6 +305,10 @@ gl:
silence: Silenciar
suspend: Suspender
title: Novo bloqueo de dominio
+ private_comment: Comentario privado
+ private_comment_hint: Comentar entre moderadores para uso interno as limitacións de este dominio.
+ public_comment: Comentario público
+ public_comment_hint: Comentar sobre as limitacións de este dominio para o interese público, se o aviso da lista de dominios limitados está activado.
reject_media: Rexeitar ficheiros de medios
reject_media_hint: Eliminar ficheiros de medios almacenados localmente e rexeita descargalos no futuro. Irrelevante para as suspensións
reject_reports: Rexeitar informes
@@ -299,6 +328,7 @@ gl:
title: Desfacer o bloqueo de dominio para %{domain}
undo: Desfacer
undo: Desfacer bloqueo de dominio
+ view: Ver dominios bloqueados
email_domain_blocks:
add_new: Engadir novo
created_msg: Engadeuse correctamente o dominio de email a lista negra
@@ -322,6 +352,8 @@ gl:
all: Todo
limited: Limitado
title: Moderación
+ private_comment: Comentario privado
+ public_comment: Comentario público
title: Federación
total_blocked_by_us: Bloqueado por nós
total_followed_by_them: Seguidas por eles
@@ -399,6 +431,16 @@ gl:
custom_css:
desc_html: Modificar o aspecto con CSS cargado en cada páxina
title: CSS persoalizado
+ default_noindex:
+ desc_html: Aféctalle a todas as usuarias que non cambiaron os axustes elas mesmas
+ title: Por omisión exclúe as usuarias do indexado por servidores de busca
+ domain_blocks:
+ all: Para todas
+ disabled: Para ninguén
+ title: Mostrar dominios bloqueados
+ users: Para usuarias locais conectadas
+ domain_blocks_rationale:
+ title: Mostrar razón
hero:
desc_html: Mostrado na portada. Recoméndase 600x100px como mínimo. Se non se establece, mostrará a imaxe por omisión do servidor
title: Imáxe Heróe
@@ -449,6 +491,9 @@ gl:
desc_html: Pode escribir a súa propia política de intimidade, termos de servizo ou aclaracións legais. Pode utilizar etiquetas HTML
title: Termos de servizo persoalizados
site_title: Nome do servidor
+ spam_check_enabled:
+ desc_html: Mastodon pode silenciar e informar automáticamente sobre contas baseándose en medidas como detectar contas que envían mensaxes non solicitadas de xeito repetido. Podería haber falsos positivos.
+ title: Anti-spam
thumbnail:
desc_html: Utilizado para vistas previsas vía OpenGraph e API. Recoméndase 1200x630px
title: Icona do servidor
@@ -456,12 +501,16 @@ gl:
desc_html: Mostrar liña de tempo pública na páxina de inicio
title: vista previa da liña temporal
title: Axustes do sitio
+ trends:
+ desc_html: Mostrar públicamente etiquetas previamente revisadas que actualmente son tendencia
+ title: Etiquetas Tendencia
statuses:
back_to_account: Voltar a páxina da conta
batch:
delete: Eliminar
nsfw_off: Marcar como non sensible
nsfw_on: Marcar como sensible
+ deleted: Eliminado
failed_to_execute: Fallou a execución
media:
title: Medios
@@ -470,13 +519,23 @@ gl:
title: Estados da conta
with_media: con medios
tags:
- accounts: Contas
- hidden: Ocultas
- hide: Ocultar do directorio
+ accounts_today: Usos únicos hoxe
+ accounts_week: Usos únicos esta semana
+ breakdown: Consumo do uso diario por fonte
+ context: Contexto
+ directory: No directorio
+ in_directory: "%{count} no directorio"
+ last_active: Úlimo activo
+ most_popular: Máis popular
+ most_recent: Máis recente
name: Etiqueta
+ review: Estado de revisión
+ reviewed: Revisado
title: Etiquetas
- unhide: Mostrar en directorio
- visible: Visible
+ trending_right_now: Agora como Tendencia
+ unique_uses_today: "%{count} publicando hoxe"
+ unreviewed: Sen revisar
+ updated_msg: Actualizaronse os axustes das etiquetas
title: Administración
warning_presets:
add_new: Engadir novo
@@ -492,11 +551,21 @@ gl:
body: "%{reporter} informou sobre %{target}"
body_remote: Alguén desde %{domain} informou sobre %{target}
subject: Novo informe sobre %{instance} (#%{id})
+ new_trending_tag:
+ body: 'A etiqueta #%{name} é tendencia hoxe, pero non foi previamente revisada. Non se mostrará publicamente a menos que vostede o permita, ou garde o formulario para facer que non se lle consulte de novo.'
+ subject: Unha nova etiqueta que revisar en %{instance} (#%{name})
+ aliases:
+ add_new: Crear alcume
+ created_msg: Creou un novo alcume correctamente. Pode iniciar o movemento desde a conta antiga.
+ deleted_msg: Eliminou correctamente o alias. Xa non será posible mover desde esa conta a esta.
+ hint_html: Se quere mudarse desde outra conta a esta nova, aquí pode crear un alcume, que é requerido antes de poder proceder a mover os seguidores da conta antiga a esta nova. Esta acción por si mesma é inocua e reversible. A migración da conta iníciase desde a conta antiga.
+ remove: Desligar alcume
appearance:
advanced_web_interface: Interface web avanzada
advanced_web_interface_hint: Se quere utilizar todo o ancho da súa pantalla, a interface web avanzada permítelle configurar diferentes columnas para ver tanta información como desexe. Inicio, notificacións, liña temporal federada, calquera número de listas e etiquetas.
animations_and_accessibility: Animacións e accesibilidade
confirmation_dialogs: Diálogos de confirmación
+ discovery: Descubrir
sensitive_content: Contido sensible
application_mailer:
notification_preferences: Cambiar os axustes de correo-e
@@ -517,9 +586,13 @@ gl:
apply_for_account: Solicite un convite
change_password: Contrasinal
checkbox_agreement_html: Acepto as regras do servidor e os termos do servizo
- confirm_email: Confirmar correo-e
+ checkbox_agreement_without_rules_html: Acepto os termos do servizo
delete_account: Eliminar conta
delete_account_html: Se desexa eliminar a súa conta, pode facelo aquí. Pediráselle confirmación.
+ description:
+ prefix_invited_by_user: "@%{name} convídate a que te unas a este servidor Mastodon!"
+ prefix_sign_up: Rexístrate agora en Mastodon!
+ suffix: Ao abrir unha conta, poderás seguir a xente, actualizacións das publicacións e intercambiar mensaxes coas usuarias de calquera servidor de Mastodon e moito máis!
didnt_get_confirmation: Non recibeu as instruccións de confirmación?
forgot_password: Esqueceu o contrasinal?
invalid_reset_password_token: O testemuño para restablecer o contrasinal non é válido ou caducou. Por favor solicite un novo.
@@ -537,6 +610,16 @@ gl:
reset_password: Restablecer contrasinal
security: Seguridade
set_new_password: Establecer novo contrasinal
+ setup:
+ email_below_hint_html: Se o enderezo inferior non é correcto, pode cambialo aquí e recibir un correo de confirmación.
+ email_settings_hint_html: Enviouse un correo de confirmación a %{email}. Se o enderezo non é correcto pode cambialo nos axustes da conta.
+ title: Axustes
+ status:
+ account_status: Estado da conta
+ confirming: Agardando a confirmación do correo enviado.
+ functional: A súa conta está totalmente operativa.
+ pending: A súa aplicación está pendente de revisión. Poderíanos levar algún tempo. Recibirá un correo se a aplicación está aprobada.
+ redirecting_to: A túa conta está inactiva porque está redirixida a %{acct}.
trouble_logging_in: Problemas para conectar?
authorize_follow:
already_following: Xa está a seguir esta conta
@@ -549,6 +632,11 @@ gl:
return: Mostrar o perfil da usuaria
web: Ir a web
title: Seguir %{acct}
+ challenge:
+ confirm: Continuar
+ hint_html: "Nota: Non che pediremos o contrasinal na seguinte hora."
+ invalid_password: Contrasinal incorrecto
+ prompt: Confirma o contrasinal para continuar
datetime:
distance_in_words:
about_x_hours: "%{count}h"
@@ -564,26 +652,33 @@ gl:
x_months: "%{count}mes"
x_seconds: "%{count}s"
deletes:
- bad_password_msg: Bo intento, hackers! Contrasinal incorrecto
+ challenge_not_passed: A información introducida non é correcta
confirm_password: Introduza o seu contrasinal para verificar a súa identidade
- description_html: Esto eliminará de xeito permanente e irreversible o contido da súa conta e será desactivada. O seu nome de usuaria permanecerá reservado para evitar futuras confusións de identidades.
+ confirm_username: Introduce o nome de usuaria para confirmar o procedemento
proceed: Eliminar conta
success_msg: A súa conta eliminouse correctamente
- warning_html: Só se garantiza a eliminación de contido de este servidor. O contido que foi compartido con outras instancias é probable que deixe rastros. O servidores fora de liña e servidores que se desuscribiron das súas actualizacións non actualizarán as súas bases de datos.
- warning_title: Dispoñibilidade do contido espallado
+ warning:
+ before: 'Antes de seguir, por favor lé estas notas con atención:'
+ caches: O contido almacenado en outros servidores podería persistir
+ data_removal: As túas publicacións e outros datos serán permanentemente borrados
+ email_change_html: Podes cambiar o enderezo de correo sen eliminar a conta
+ email_contact_html: Se non o recibes, podes escribir a %{email} pedindo axuda
+ email_reconfirmation_html: Se non recibes o correo de confirmación, podes solicitalo de novo
+ irreversible: Non poderás restaurar ou reactivar a conta
+ more_details_html: Para máis detalles, mira a política de intimidade.
+ username_available: O nome de usuario estará dispoñible novamente
+ username_unavailable: O nome de usuario non estará dispoñible
directories:
directory: Directorio de perfil
- enabled: Vostede está actualmente na lista do directorio.
- enabled_but_waiting: Vostede optou por ser incluída no directorio, mais por agora non ten o número mínimo de seguidoras (%{min_followers}) para aparecer.
explanation: Descubra usuarias según o seu interese
explore_mastodon: Explorar %{title}
- how_to_enable: Actualmente non solicitou ser incluída no directorio, pode facelo abaixo. Utilice etiquetas no texto de biografía para ser incluída baixo etiquetas específicas!
- people:
- one: "%{count} persoa"
- other: "%{count} persoas"
+ domain_validator:
+ invalid_domain: non é un nome de dominio válido
errors:
+ '400': A solicitude que enviou non é válida ou ten formato incorrecto.
'403': Non ten permiso para ver esta páxina.
'404': A páxina que está a buscar non está aquí.
+ '406': Esta páxina non está dispoñible no formato solicitado.
'410': A páxina que estaba a buscar xa non existe.
'422':
content: Fallou a verificación de seguridade. Está bloqueando as cookies?
@@ -592,6 +687,7 @@ gl:
'500':
content: Sentímolo, pero algo do noso lado falloou.
title: Esta páxina non é correcta
+ '503': A páxina non se puido servir debido a un fallo temporal no servidor.
noscript_html: Para utilizar a aplicación web de Mastodon debe habilitar JavaScript. De xeito alternativo, intente unha das apps nativas para Mastodon da súa plataforma.
existing_username_validator:
not_found: non se atopou unha usuaria local con ese alcume
@@ -615,6 +711,7 @@ gl:
add_new: Engadir novo
errors:
limit: Xa acadou o número máximo de etiquetas
+ hint_html: "¿Qué son as etiquetas destacadas? Móstranse destacadas no seu perfil público e permítenlle a outras persoas ver os seus toots públicos nos que as utilizou. Son unha ferramenta moi útil para facer seguimento de traballos creativos e proxectos a longo prazo."
filters:
contexts:
home: Liña temporal inicial
@@ -635,10 +732,12 @@ gl:
developers: Desenvolvedoras
more: Máis…
resources: Recursos
+ trending_now: Tendencia agora
generic:
all: Todo
changes_saved_msg: Cambios gardados correctamente!!
copy: Copiar
+ no_batch_actions_available: Non hai accións en pila dispoñibles nesta páxina
order_by: Ordenar por
save_changes: Gardar cambios
validation_errors:
@@ -710,9 +809,31 @@ gl:
too_many: Non pode anexar máis de 4 ficheiros
migrations:
acct: nomeusuaria@dominio da nova conta
- currently_redirecting: 'O seu perfil está listo para redirixir a:'
- proceed: Gardar
- updated_msg: O axuste de migración da conta actualizouse correctamente!
+ cancel: Cancelar a redirección
+ cancel_explanation: Ao cancelar a redirección reactivarás a conta actual, pero non poderás traer de volta os seguidores que se moveron a esa conta.
+ cancelled_msg: Cancelouse a redirección.
+ errors:
+ already_moved: é a mesma conta a que xa te moveches
+ missing_also_known_as: non está referenciando hacia esta conta
+ move_to_self: non pode ser a conta actual
+ not_found: non se atopou
+ on_cooldown: Estas no período de calma
+ followers_count: Seguidoras no momento da migración
+ incoming_migrations: Movendo desde unha conta diferente
+ incoming_migrations_html: Para migrar doutra conta cara esta, primeiro debes crear un alias da conta.
+ moved_msg: A túa conta está redirixindo agora a %{acct} e os teus seguidores movéronse alí.
+ not_redirecting: Neste momento a túa conta non está redirixindo cara a ningunha outra.
+ on_cooldown: Migraches recentemente a conta. Esta función estará dispoñible de novo en %{count} días.
+ past_migrations: Migracións pasadas
+ proceed_with_move: Mover seguidoras
+ redirecting_to: A conta está redirixindo cara a %{acct}.
+ warning:
+ backreference_required: Tes que configurar primeiro a nova conta para referenciar hacia esta
+ before: 'Antes de seguir, por favor lé estas notas con atención:'
+ cooldown: Tras a migración existe un período de calma durante o cal non poderás voltar a migrar de novo
+ disabled_account: Tras o cambio a túa conta actual non será totalmente usable, pero terás acceso a exportar os datos e tamén a reactivación.
+ followers: Esta acción moverá todas as túas seguidoras desde a conta actual a nova conta
+ other_data: Non se moverán outros datos de xeito automático
moderation:
title: Moderación
notification_mailer:
@@ -857,6 +978,7 @@ gl:
settings:
account: Conta
account_settings: Axustes da conta
+ aliases: Alcumes da conta
appearance: Aparencia
authorized_apps: Apps autorizadas
back: Voltar a Mastodon
@@ -873,7 +995,9 @@ gl:
preferences: Preferencias
profile: Perfil
relationships: Seguindo e seguidoras
- two_factor_authentication: Validar Doble Factor
+ two_factor_authentication: Validar Dobre Factor
+ spam_check:
+ spam_detected_and_silenced: Esto é un informe automático. Detectouse spam e o remitente foi bloqueado automáticamente. Se o considera un fallo, por favor desbloquee a conta.
statuses:
attached:
description: 'Axenado: %{attached}'
@@ -915,6 +1039,8 @@ gl:
pinned: Mensaxe fixada
reblogged: promovida
sensitive_content: Contido sensible
+ tags:
+ does_not_match_previous_name: non concorda co nome anterior
terms:
body_html: |
Intimidade
@@ -1008,11 +1134,11 @@ gl:
month: "%b %Y"
two_factor_authentication:
code_hint: Introducir o código xerado polo seu aplicativo de autenticación para confirmar
- description_html: Si habilita a autenticación de doble factor, a conexión pediralle estar en posesión do seu teléfono, que xerará testemuños para poder entrar.
+ description_html: Se activa a autenticación de dobre factor, a conexión pediralle estar en posesión do seu teléfono, que creará testemuños para poder entrar.
disable: Deshabilitar
enable: Habilitar
- enabled: A autenticación de doble-factor está habilitada
- enabled_success: Habilitouse con éxito a autenticación de doble-factor
+ enabled: A autenticación de dobre-factor está activada
+ enabled_success: Activouse con éxito a autenticación de dobre-factor
generate_recovery_codes: Xerar códigos de recuperación
instructions_html: "Escanee este código QR en Google Authenticator ou aplicativo TOTP similar no seu teléfono. Desde agora, este aplicativo xerará testemuños que vostede deberá introducir ao conectarse."
lost_recovery_codes: Os códigos de recuperación permítenlle recuperar o acceso a súa conta si perde o teléfono. Si perde os códigos de recuperación, pode restauralos aquí. Os seus códigos de recuperación anteriores serán invalidados.
@@ -1032,7 +1158,9 @@ gl:
disable: Cando a súa conta está conxelada, os datos permanecen intactos, pero non pode levar a fin accións ate que se desbloquea.
silence: Mentras a conta está limitada, só a xente que actualmente a segue verá os seus toots en este servidor, e vostede podería estar excluída de varias listas públicas. Porén, outras persoas poderíana seguila de xeito manual.
suspend: A súa conta foi suspendida, e todos os seus toots e medios subidos foron eliminados de este servidor de xeito irreversible, e dos servidores onde tivese seguidoras.
+ get_in_touch: Pode responder a este correo para contactar coa administración de %{instance}.
review_server_policies: Revisar políticas do servidor
+ statuses: 'En concreto, para:'
subject:
disable: A súa conta %{acct} foi conxelada
none: Aviso para %{acct}
@@ -1063,7 +1191,7 @@ gl:
users:
follow_limit_reached: Non pode seguir a máis de %{limit} persoas
invalid_email: O enderezo de correo non é válido
- invalid_otp_token: Código de doble-factor non válido
+ invalid_otp_token: O código do segundo factor non é válido
otp_lost_help_html: Si perde o acceso a ambos, pode contactar con %{email}
seamless_external_login: Está conectado a través de un servizo externo, polo que os axustes de contrasinal e correo-e non están dispoñibles.
signed_in_as: 'Rexistrada como:'
diff --git a/config/locales/he.yml b/config/locales/he.yml
index 12953c223..f7b121777 100644
--- a/config/locales/he.yml
+++ b/config/locales/he.yml
@@ -9,9 +9,6 @@ he:
contact_missing: ללא הגדרה
contact_unavailable: לא רלוונטי/חסר
documentation: תיעוד
- extended_description_html: |
-
מקום טוב לכללים
-
התיאור המורחב טרם הוגדר.
generic_description: "%{domain} הוא שרת אחד בתוך הרשת"
hosted_on: מסטודון שיושב בכתובת %{domain}
learn_more: מידע נוסף
@@ -212,14 +209,17 @@ he:
x_months: "%{count} חודשים"
x_seconds: "%{count} שניות"
errors:
+ '400': The request you submitted was invalid or malformed.
'403': חסרות לך הרשאות לצפיה בעמוד זה.
'404': הדף המבוקש לא קיים.
+ '406': This page is not available in the requested format.
'410': הדף המבוקש כבר לא קיים.
'422':
content: בדיקת אבטחה נכשלה. החסמת עוגיותיך מפנינו?
title: בדיקת בטיחות נכשלה
'429': הוחנק
'500':
+ '503': The page could not be served due to a temporary server failure.
exports:
blocks: רשימת חסימות
follows: רשימת נעקבים
diff --git a/config/locales/hr.yml b/config/locales/hr.yml
index a4fe62055..67d83525b 100644
--- a/config/locales/hr.yml
+++ b/config/locales/hr.yml
@@ -44,12 +44,15 @@ hr:
x_months: "%{count}mj"
x_seconds: "%{count}sek"
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': Throttled
'500':
+ '503': The page could not be served due to a temporary server failure.
exports:
blocks: Blokirao si
follows: Slijediš
diff --git a/config/locales/hu.yml b/config/locales/hu.yml
index 948f0db13..9670079d6 100644
--- a/config/locales/hu.yml
+++ b/config/locales/hu.yml
@@ -17,13 +17,13 @@ hu:
contact_unavailable: N/A
discover_users: Találj meg másokat
documentation: Dokumentáció
- extended_description_html: |
-
Ez itt a szabályzat helye
-
Még nem állítottál be bővebb leírást.
federation_hint_html: Egy %{instance} fiókkal bármely más Mastodon szerveren vagy a föderációban lévő felhasználót követni tudsz.
generic_description: "%{domain} csak egy a számtalan szerver közül a föderációban"
get_apps: Próbálj ki egy mobil appot
hosted_on: "%{domain} Mastodon szerver"
+ instance_actor_flash: 'Ez a fiók egy virtuális szereplő, mely magát a szervert reprezentálja, nem egy felhasználót. Ez a föderáció támogatására készült, ezért nem szabad blokkolni, hacsak egy teljes szervert nem akarsz kitiltani, amire persze a domain blokkolása jobb megoldás.
+
+'
learn_more: Tudj meg többet
privacy_policy: Adatvédelmi szabályzat
see_whats_happening: Nézd, mi történik
@@ -183,6 +183,7 @@ hu:
username: Felhasználónév
warn: Figyelmeztetés
web: Web
+ whitelisted: Engedélyező-listán
action_logs:
actions:
assigned_to_self_report: "%{name} a %{target} bejelentést magához rendelte"
@@ -243,6 +244,7 @@ hu:
updated_msg: Emoji sikeresen frissítve!
upload: Feltöltés
dashboard:
+ authorized_fetch_mode: Áttöltő üzemmód engedélyezve
backlog: hátralévő feladatok
config: Beállítások
feature_deletions: Fióktörlések
@@ -250,10 +252,13 @@ hu:
feature_profile_directory: Profil adatbázis
feature_registrations: Regisztráció
feature_relay: Föderációs relé
+ feature_spam_check: Anti-spam
feature_timeline_preview: Idővonal betekintő
features: Funkciók
hidden_service: Föderáció rejtett szolgáltatásokkal
open_reports: nyitott bejelentések
+ pending_tags: hashtag engedélyezésre vár
+ pending_users: felhasználó engedélyezésre vár
recent_users: Legutóbbi felhasználók
search: Keresés teljes szövegben
single_user_mode: Egyfelhasználós mód
@@ -265,11 +270,18 @@ hu:
week_interactions: interakció ezen a héten
week_users_active: aktív ezen a héten
week_users_new: felhasználó ezen a héten
+ whitelist_mode: Engedélyező-lista mód
+ domain_allows:
+ add_new: Domain engedélyezése
+ created_msg: A domain rákerült az engedélyező-listára
+ destroyed_msg: A domain lekerült az engedélyező-listáról
+ undo: Eltávolítás az engedélyező-listáról
domain_blocks:
add_new: Új tiltott domain hozzáadása
created_msg: A domain-tiltás feldolgozása folyamatban
destroyed_msg: A domain tiltása feloldva
domain: Domain
+ edit: Domain tiltás szerkesztése
existing_domain_block_html: A %{name} domainen már szorosabb korlátokat állítottál be, először oldd fel a tiltást.
new:
create: Tiltás létrehozása
@@ -280,6 +292,10 @@ hu:
silence: Némítás
suspend: Felfüggesztés
title: Új domain tiltása
+ private_comment: Privát megjegyzés
+ private_comment_hint: Megjegyzés domain tiltásával kapcsolatban belső használatra, a többi moderátor részére.
+ public_comment: Nyilvános megjegyzés
+ public_comment_hint: Megjegyzés domain tiltásával kapcsolatban a nyilvánosság számára, ha a domainek tiltólistája egyébként látható.
reject_media: Médiafájlok elutasítása
reject_media_hint: Eltávolítja a helyben tárolt médiafájlokat és a továbbiakban letiltja az új médiafájlok letöltését. Felfüggesztett fiókok esetében irreleváns opció
reject_reports: Bejelentések elutasítása
@@ -299,6 +315,7 @@ hu:
title: "%{domain} domain tiltásának feloldása"
undo: Visszavonás
undo: Domain tiltásának visszavonása
+ view: Domain tiltásának megtekintése
email_domain_blocks:
add_new: Új hozzáadása
created_msg: E-mail domain sikeresen hozzáadva a feketelistához
@@ -322,6 +339,8 @@ hu:
all: Mind
limited: Korlátozott
title: Moderáció
+ private_comment: Privát megjegyzés
+ public_comment: Nyilvános megjegyzés
title: Föderáció
total_blocked_by_us: Általunk letiltott
total_followed_by_them: Általuk követett
@@ -449,6 +468,9 @@ hu:
desc_html: Megírhatod saját adatkezelési szabályzatodat, felhasználási feltételeidet vagy más hasonló jellegű dokumentumodat. HTML-tageket is használhatsz
title: Egyedi felhasználási feltételek
site_title: A szerver neve
+ spam_check_enabled:
+ desc_html: A Mastodon automatikusan elnémíthatja és bejelentheti azokat a fiókokat, akik rendszeresen kéretlen üzeneteket küldenek. Persze lehetnek tévedések is.
+ title: Automatikus anti-spam
thumbnail:
desc_html: OpenGraph-os és API-s előnézetekben használjuk. Ajánlott mérete 1200x630 pixel
title: A szerver bélyegképe
@@ -456,6 +478,9 @@ hu:
desc_html: Nyilvános idővonal megjelenítése a főoldalon
title: Idővonal előnézete
title: Webhely beállításai
+ trends:
+ desc_html: Előzetesen engedélyezett és most trendi hashtagek nyilvános mutatása
+ title: Trendi hashtagek
statuses:
back_to_account: Vissza a fiók oldalára
batch:
@@ -470,13 +495,19 @@ hu:
title: Felhasználó tülkjei
with_media: Médiafájlokkal
tags:
- accounts: Fiókok
- hidden: Rejtett
- hide: Ne jelenjen meg a profilok adatbázisában
- name: Hashtag
+ accounts_today: Egyedi használat a mai napon
+ accounts_week: Egyedi használat ezen a héten
+ breakdown: Mai használat bontása forrás szerint
+ context: Környezet
+ directory: Katalógusban
+ in_directory: "%{count} a katalógusban"
+ review: Engedélyezés állapota
+ reviewed: Engedélyezett
title: Hashtagek
- unhide: Jelenjen meg a profilok adatbázisában
- visible: Látható
+ trending_right_now: Most trendi
+ unique_uses_today: "%{count} mai tülkölés"
+ unreviewed: Még nem engedélyezett
+ updated_msg: A hashtag beállításokat sikeresen frissítettük
title: Karbantartás
warning_presets:
add_new: Új hozzáadása
@@ -492,11 +523,15 @@ 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_tag:
+ body: 'A #%{name} hashtag trendi a mai napon, de még nem engedélyeztük eddig. Nem mutatjuk meg nyilvánosan, hacsak nem engedélyezed. Csak simán mentsd az űrlapot, ha soha többé nem akarsz erről a hashtagről hallani.'
+ subject: Új hashtag (#%{name}) engedélyezésre vár a %{instance} szerveren
appearance:
advanced_web_interface: Haladó webes felület
advanced_web_interface_hint: 'Ha szeretnéd, a teljes képernyőszélességet felhasználhatod. A haladó webes felülettel különböző oszlopokat állíthatsz be, hogy egyszerre annyi infót láthass, amennyit csak akarsz: Saját idővonal, értesítések, föderációs idővonal, bármennyi lista vagy hashtag.'
animations_and_accessibility: Animáció és akadálymentesítés
confirmation_dialogs: Megerősítő párbeszédablakok
+ discovery: Felfedezés
sensitive_content: Szenzitív tartalom
application_mailer:
notification_preferences: E-mail beállítások módosítása
@@ -517,7 +552,7 @@ hu:
apply_for_account: Meghívó kérése
change_password: Jelszó
checkbox_agreement_html: Egyetértek a szerver szabályaival és a felhasználási feltételekkel
- confirm_email: E-mail megerősítése
+ checkbox_agreement_without_rules_html: Egyetértek a felhasználási feltételekkel
delete_account: Felhasználói fiók törlése
delete_account_html: Felhasználói fiókod törléséhez kattints ide. A rendszer újbóli megerősítést fog kérni.
didnt_get_confirmation: Nem kaptad meg a megerősítési lépéseket?
@@ -537,6 +572,15 @@ hu:
reset_password: Jelszó visszaállítása
security: Biztonság
set_new_password: Új jelszó beállítása
+ setup:
+ email_below_hint_html: Ha az alábbi e-mail cím nem megfelelő, itt megváltoztathatod és kaphatsz egy új igazoló e-mailt.
+ email_settings_hint_html: A visszaigazoló e-mailt elküldtük ide %{email}. Ha az e-mail cím nem megfelelő, megváltoztathatod a fiókod beállításainál.
+ title: Beállítás
+ status:
+ account_status: Fiók állapota
+ confirming: Várakozás a visszaigazolásra.
+ functional: A fiókod teljesen működőképes.
+ pending: A jelentkezésed engedélyezésre vár. Ez eltarthat egy ideig. Kapsz egy e-mailt, ha az elbírálás megtörtént.
trouble_logging_in: Problémád van a bejelentkezéssel?
authorize_follow:
already_following: Már követed ezt a felhasználót
@@ -564,26 +608,20 @@ hu:
x_months: "%{count}h"
x_seconds: "%{count}mp"
deletes:
- bad_password_msg: Haha, hekker! Helytelen jelszó
confirm_password: Személyazonosságod megerősítéséhez írd be a jelenlegi jelszavad
- description_html: Ezzel véglegesen és visszafordíthatatlanul törlöd minden tartalmadat és deaktiválod a fiókodat. A felhasználónevedet megtartjuk, hogy megakadályozzuk a neveddel történő jövőbeni visszaélések lehetőségét.
proceed: Felhasználói fiók törlése
success_msg: Felhasználói fiókod sikeresen töröltük
- warning_html: Csak azt tudjuk garantálni, hogy az általad létrehozott tartalmat erről a szerverről töröljük. Ha egyes tartalmaidat sokan megosztották, valószínűleg marad nyomuk a megosztások miatt. Nem fogjuk tudni frissíteni azon szerverek adatbázisát, amelyek nem kapcsolódnak a föderációhoz vagy amelyek leiratkoztak a tülkjeidről.
- warning_title: Szórt tartalmak elérése
directories:
directory: Profilok
- enabled: Szerepelsz a profil adatbázisban.
- enabled_but_waiting: Engedélyezted, hogy szerepelj a profil adatbázisban, de még nincs elegendő követőd (%{min_followers}) ehhez.
explanation: Találj másokra érdeklődésük alapján
explore_mastodon: "%{title} felfedezése"
- how_to_enable: Nem engedélyezted a profil adatbázisban való megjelenésed. Engedélyezheted alább. Használj hashtageket az életrajzodban, hogy az ezekhez tartozó listákba bekerülj!
- people:
- one: "%{count} ember"
- other: "%{count} ember"
+ domain_validator:
+ invalid_domain: nem egy valódi domain név
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Nincs jogosultságod az oldal megtekintéséhez.
'404': Az általad keresett oldal nem található.
+ '406': This page is not available in the requested format.
'410': Az általad keresett oldal már nem létezik.
'422':
content: Megerősítés sikertelen. Nem tiltottad le esetleg a sütiket?
@@ -592,6 +630,7 @@ hu:
'500':
content: Sajnáljuk, valami hiba történt a mi oldalunkon.
title: Az oldal nem megfelelő
+ '503': The page could not be served due to a temporary server failure.
noscript_html: A Mastodon webalkalmazás használatához engedélyezned kell a JavaScriptet. A másik megoldás, hogy kipróbálsz egy platformodnak megfelelő alkalmazást.
existing_username_validator:
not_found: ezzel a névvel nem találtunk helyi felhasználót
@@ -710,9 +749,6 @@ hu:
too_many: Maximum négy fájlt csatolhatsz a tülkhöz
migrations:
acct: Az új fiók felhasznalonev@domain formátumban
- currently_redirecting: 'A profilod az alábbi fiókra van átirányítva:'
- proceed: Mentés
- updated_msg: Fiókod átirányítási beállításait sikeresen mentettük!
moderation:
title: Moderáció
notification_mailer:
@@ -874,6 +910,8 @@ hu:
profile: Profil
relationships: Követések és követők
two_factor_authentication: Kétlépcsős azonosítás
+ spam_check:
+ spam_detected_and_silenced: Ez egy automatikus bejelentés. Spamet érzékeltünk, így a küldőt automatikusan elnémítottuk. Ha ez hiba, oldd fel a némítást.
statuses:
attached:
description: 'Csatolva: %{attached}'
@@ -915,6 +953,8 @@ hu:
pinned: Kitűzött tülk
reblogged: megtolta
sensitive_content: Szenzitív tartalom
+ tags:
+ does_not_match_previous_name: nem illeszkedik az előző névvel
terms:
body_html: |
Adatvédelmi nyilatkozat
diff --git a/config/locales/hy.yml b/config/locales/hy.yml
index 86645a574..203351893 100644
--- a/config/locales/hy.yml
+++ b/config/locales/hy.yml
@@ -1,12 +1,26 @@
---
hy:
+ about:
+ active_count_after: ակտիվ
+ see_whats_happening: Տես ինչ ա կատարվում
+ status_count_after:
+ one: ստատուս
+ other: ստատուս
+ what_is_mastodon: Ի՞նչ է Մաստոդոնը
+ accounts:
+ media: Մեդիա
+ auth:
+ login: Մտնել
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': Throttled
'500':
+ '503': The page could not be served due to a temporary server failure.
invites:
expires_in:
'1800': 30 minutes
@@ -15,3 +29,7 @@ hy:
'43200': 12 hours
'604800': 1 week
'86400': 1 day
+ sessions:
+ platforms:
+ android: Անդրոիդ
+ linux: Լինուքս
diff --git a/config/locales/id.yml b/config/locales/id.yml
index 16098b189..bd47d05f8 100644
--- a/config/locales/id.yml
+++ b/config/locales/id.yml
@@ -10,9 +10,6 @@ id:
contact_missing: Belum diset
contact_unavailable: Tidak Tersedia
documentation: Dokumentasi
- extended_description_html: |
-
Tempat yang baik untuk peraturan
-
Deskripsi lainnya belum diset.
generic_description: "%{domain} adalah satu server dalam jaringan"
hosted_on: Mastodon dihosting di %{domain}
learn_more: Pelajari selengkapnya
@@ -226,14 +223,17 @@ id:
x_months: "%{count}bln"
x_seconds: "%{count}dtk"
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Anda tidak mempunyai izin untuk melihat halaman ini.
'404': Halaman yang anda cari tidak ditemukan
+ '406': This page is not available in the requested format.
'410': Halaman yang anda cari sudah tidak dapat ditemukan lagi.
'422':
content: Verifikasi keamanan gagal. Apa anda memblokir cookie?
title: Verifikasi keamanan gagal
'429': Throttled
'500':
+ '503': The page could not be served due to a temporary server failure.
exports:
blocks: Anda blokir
follows: Anda ikuti
diff --git a/config/locales/io.yml b/config/locales/io.yml
index 559bf0f53..2b3e50691 100644
--- a/config/locales/io.yml
+++ b/config/locales/io.yml
@@ -73,12 +73,15 @@ io:
half_a_minute: Jus
less_than_x_seconds: Jus
errors:
+ '400': The request you submitted was invalid or malformed.
'403': You don't have permission to view this page.
'404': La pagino quan tu serchas ne existas.
+ '406': This page is not available in the requested format.
'410': La pagino quan tu serchas ne plus existas.
'422':
'429': Throttled
'500':
+ '503': The page could not be served due to a temporary server failure.
exports:
blocks: Tu blokusas
follows: Tu sequas
diff --git a/config/locales/it.yml b/config/locales/it.yml
index 1df321752..968160910 100644
--- a/config/locales/it.yml
+++ b/config/locales/it.yml
@@ -8,7 +8,7 @@ it:
active_footnote: Utenti Attivi Mensili (MAU)
administered_by: 'Amministrato da:'
api: API
- apps: Applicazioni Mobile
+ apps: Applicazioni per dispositivi mobili
apps_platforms: Usa Mastodon da iOS, Android e altre piattaforme
browse_directory: Sfoglia la directory dei profili e filtra per interessi
browse_public_posts: Sfoglia il flusso in tempo reale di post pubblici su Mastodon
@@ -17,13 +17,13 @@ it:
contact_unavailable: N/D
discover_users: Scopri utenti
documentation: Documentazione
- extended_description_html: |
-
Un buon posto per le regole
-
La descrizione estesa non è ancora stata preparata.
federation_hint_html: Con un account su %{instance} sarai in grado di seguire persone su qualsiasi server Mastodon e oltre.
generic_description: "%{domain} è un server nella rete"
get_apps: Prova un'app per smartphone
hosted_on: Mastodon ospitato su %{domain}
+ instance_actor_flash: |
+ Questo account è un attore virtuale utilizzato per rappresentare il server stesso e non un particolare utente.
+ È utilizzato per scopi di federazione e non dovrebbe essere bloccato a meno che non si voglia bloccare l'intera istanza: in questo caso si dovrebbe utilizzare un blocco di dominio.
learn_more: Scopri altro
privacy_policy: Politica della privacy
see_whats_happening: Guarda cosa succede
@@ -42,6 +42,7 @@ it:
what_is_mastodon: Che cos'è Mastodon?
accounts:
choices_html: 'Suggerimenti da %{name}:'
+ featured_tags_hint: Puoi mettere in evidenza determinati hashtag che verranno visualizzati qui.
follow: Segui
followers:
one: Seguace
@@ -51,7 +52,7 @@ it:
last_active: ultima attività
link_verified_on: La proprietà di questo link è stata controllata il %{date}
media: Media
- moved_html: "%{name} è stato spostato su %{new_profile_link}:"
+ moved_html: "%{name} si è spostato su %{new_profile_link}:"
network_hidden: Questa informazione non e' disponibile
nothing_here: Qui non c'è nulla!
people_followed_by: Persone seguite da %{name}
@@ -63,7 +64,7 @@ it:
other: Toot
posts_tab_heading: Toot
posts_with_replies: Toot e risposte
- reserved_username: Il nome utente è gia stato preso
+ reserved_username: Questo nome utente è già stato preso
roles:
admin: Amministratore
bot: Bot
@@ -87,7 +88,7 @@ it:
by_domain: Dominio
change_email:
changed_msg: Account email cambiato con successo!
- current_email: Email corrente
+ current_email: Email attuale
label: Cambia email
new_email: Nuova email
submit: Cambia email
@@ -98,7 +99,7 @@ it:
deleted: Cancellato
demote: Declassa
disable: Disabilita
- disable_two_factor_authentication: Disabilita 2FA
+ disable_two_factor_authentication: Disabilita l'autenticazione a due fattori
disabled: Disabilitato
display_name: Nome visualizzato
domain: Dominio
@@ -115,7 +116,7 @@ it:
inbox_url: URL inbox
invited_by: Invitato da
ip: IP
- joined: Unito
+ joined: Iscritto da
location:
all: Tutto
local: Locale
@@ -133,7 +134,7 @@ it:
title: Moderazione
moderation_notes: Note di moderazione
most_recent_activity: Attività più recenti
- most_recent_ip: IP più recenti
+ most_recent_ip: IP più recente
no_account_selected: Nessun account è stato modificato visto che non ne è stato selezionato nessuno
no_limits_imposed: Nessun limite imposto
not_subscribed: Non sottoscritto
@@ -183,6 +184,7 @@ it:
username: Nome utente
warn: Avverti
web: Web
+ whitelisted: Nella whitelist
action_logs:
actions:
assigned_to_self_report: "%{name} ha assegnato il rapporto %{target} a se stesso"
@@ -250,10 +252,13 @@ it:
feature_profile_directory: Directory dei profili
feature_registrations: Registrazioni
feature_relay: Ripetitore di federazione
+ feature_spam_check: Anti-spam
feature_timeline_preview: Anteprima timeline
features: Funzionalità
hidden_service: Federazione con servizi nascosti
open_reports: apri report
+ pending_tags: hashtag in attesa di essere esaminati
+ pending_users: utenti in attesa di essere esaminati
recent_users: Utenti Recenti
search: Ricerca testo intero
single_user_mode: Modalita utente singolo
@@ -265,11 +270,18 @@ it:
week_interactions: interazioni per questa settimana
week_users_active: attivi questa settimana
week_users_new: utenti questa settimana
+ whitelist_mode: Modalità whitelist
+ domain_allows:
+ add_new: Dominio nella whitelist
+ created_msg: Il dominio è stato inserito nella whitelist
+ destroyed_msg: Il dominio è stato eliminato dalla whitelist
+ undo: Elimina dalla whitelist
domain_blocks:
add_new: Aggiungi nuovo
created_msg: Il blocco del dominio sta venendo processato
destroyed_msg: Il blocco del dominio è stato rimosso
domain: Dominio
+ edit: Modifica blocco di dominio
existing_domain_block_html: Hai già impostato limitazioni più stringenti su %{name}, dovresti sbloccare prima.
new:
create: Crea blocco
@@ -280,6 +292,10 @@ it:
silence: Silenzia
suspend: Sospendi
title: Nuovo blocco dominio
+ private_comment: Commento privato
+ private_comment_hint: Commento su questa limitazione di dominio per uso interno da parte dei moderatori.
+ public_comment: Commento pubblico
+ public_comment_hint: Commento pubblico su questa limitazione di dominio, se l'elenco delle limitazioni di dominio è pubblico.
reject_media: Rifiuta file media
reject_media_hint: Rimuovi i file media salvati in locale e blocca i download futuri. Irrilevante per le sospensioni
reject_reports: Respingi rapporti
@@ -299,6 +315,7 @@ it:
title: Annulla il blocco del dominio per %{domain}
undo: Annulla
undo: Annulla
+ view: Visualizza blocco di dominio
email_domain_blocks:
add_new: Aggiungi nuovo
created_msg: Dominio email aggiunto con successo alla lista nera
@@ -322,6 +339,8 @@ it:
all: Tutto
limited: Limitato
title: Moderazione
+ private_comment: Commento privato
+ public_comment: Commento pubblico
title: Istanze conosciute
total_blocked_by_us: Bloccato da noi
total_followed_by_them: Seguito da loro
@@ -399,6 +418,13 @@ it:
custom_css:
desc_html: Modifica l'aspetto con il CSS caricato in ogni pagina
title: CSS personalizzato
+ domain_blocks:
+ all: A tutti
+ disabled: A nessuno
+ title: Mostra blocchi di dominio
+ users: Agli utenti locali connessi
+ domain_blocks_rationale:
+ title: Mostra motivazione
hero:
desc_html: Mostrata nella pagina iniziale. Almeno 600x100 px consigliati. Se non impostata, sarà usato il thumbnail del server
title: Immagine dell'eroe
@@ -449,6 +475,9 @@ it:
desc_html: Potete scrivere la vostra politica sulla privacy, condizioni del servizio o altre informazioni legali. Potete usare tag HTML
title: Termini di servizio personalizzati
site_title: Nome del server
+ spam_check_enabled:
+ desc_html: Mastodon può silenziare e segnalare automaticamente account che inviano ripetutamente messaggi non richiesti. Potrebbero esserci falsi positivi.
+ title: Automazione anti-spam
thumbnail:
desc_html: Usato per anteprime tramite OpenGraph e API. 1200x630px consigliati
title: Thumbnail del server
@@ -456,12 +485,16 @@ it:
desc_html: Mostra la timeline pubblica sulla pagina iniziale
title: Anteprima timeline
title: Impostazioni sito
+ trends:
+ desc_html: Visualizza pubblicamente gli hashtag precedentemente esaminati che sono attualmente in tendenza
+ title: Hashtag di tendenza
statuses:
back_to_account: Torna alla pagina dell'account
batch:
delete: Elimina
nsfw_off: Segna come non sensibile
nsfw_on: Segna come sensibile
+ deleted: Cancellato
failed_to_execute: Impossibile eseguire
media:
title: Media
@@ -470,13 +503,17 @@ it:
title: Gli status dell'account
with_media: con media
tags:
- accounts: Account
- hidden: Nascosto
- hide: Nascondi dalla directory
- name: Etichetta
+ accounts_today: Usi unici oggi
+ accounts_week: Usi unici questa settimana
+ breakdown: Suddivisione dell'utilizzo di oggi per fonte
+ context: Contesto
+ directory: Nella directory
+ in_directory: "%{count} nella directory"
+ reviewed: Controllato
title: Hashtag
- unhide: Mostra nella directory
- visible: Visibile
+ trending_right_now: Di tendenza ora
+ unreviewed: Non controllato
+ updated_msg: Impostazioni degli hashtag aggiornate
title: Amministrazione
warning_presets:
add_new: Aggiungi nuovo
@@ -492,6 +529,9 @@ it:
body: "%{reporter} ha segnalato %{target}"
body_remote: Qualcuno da %{domain} ha segnalato %{target}
subject: Nuova segnalazione per %{instance} (#%{id})
+ new_trending_tag:
+ body: 'L''hashtag #%{name} oggi è di tendenza, ma non è stato mai controllato. Non sarà visualizzato pubblicamente se non lo permetti; se salvi il form senza modifiche non lo vedrai mai più.'
+ subject: Nuovo hashtag pronto per essere controllato su %{instance} (%{name})
appearance:
advanced_web_interface: Interfaccia web avanzata
advanced_web_interface_hint: |-
@@ -519,7 +559,7 @@ it:
apply_for_account: Richiedi un invito
change_password: Password
checkbox_agreement_html: Sono d'accordo con le regole del server ed i termini di servizio
- confirm_email: Conferma email
+ checkbox_agreement_without_rules_html: Accetto i termini di servizio
delete_account: Elimina account
delete_account_html: Se desideri cancellare il tuo account, puoi farlo qui. Ti sarà chiesta conferma.
didnt_get_confirmation: Non hai ricevuto le istruzioni di conferma?
@@ -539,6 +579,14 @@ it:
reset_password: Resetta la password
security: Credenziali
set_new_password: Imposta una nuova password
+ setup:
+ email_below_hint_html: Se l'indirizzo e-mail sottostante non è corretto, puoi cambiarlo qui e ricevere una nuova e-mail di conferma.
+ email_settings_hint_html: L'email di conferma è stata inviata a %{email}. Se l'indirizzo e-mail non è corretto, puoi modificarlo nelle impostazioni dell'account.
+ status:
+ account_status: Stato dell'account
+ confirming: In attesa che la conferma e-mail sia completata.
+ functional: Il tuo account è pienamente operativo.
+ pending: La tua richiesta è in attesa di esame da parte del nostro staff. Potrebbe richiedere un po' di tempo. Riceverai una e-mail se la richiesta è approvata.
trouble_logging_in: Problemi di accesso?
authorize_follow:
already_following: Stai già seguendo questo account
@@ -566,26 +614,20 @@ it:
x_months: "%{count} mesi"
x_seconds: "%{count} secondi"
deletes:
- bad_password_msg: Ci avete provato, hacker! Password errata
confirm_password: Inserisci la tua password attuale per verificare la tua identità
- description_html: Questa azione eliminerà in modo permanente e irreversibile tutto il contenuto del tuo account e lo disattiverà. Il tuo nome utente resterà riservato per prevenire che qualcuno in futuro assuma la tua identità.
proceed: Cancella l'account
success_msg: Il tuo account è stato cancellato
- warning_html: È garantita la cancellazione del contenuto solo da questo server. I contenuti che sono stati ampiamente condivisi probabilmente lasceranno delle tracce. I server offline e quelli che non ricevono più i tuoi aggiornamenti non aggiorneranno i loro database.
- warning_title: Disponibilità di contenuto diffuso
directories:
directory: Directory dei profili
- enabled: Attualmente sei elencato nella directory.
- enabled_but_waiting: Hai scelto di essere elencato nella directory, ma non hai ancora il numero minimo di seguaci (%{min_followers}) per comparire.
explanation: Scopri utenti in base ai loro interessi
explore_mastodon: Esplora %{title}
- how_to_enable: Attualmente non hai scelto di comparire nella directory. Puoi farlo qui sotto. Se vuoi comparire sotto determinati hashtag, usali nel testo della tua biografia.
- people:
- one: "%{count} persona"
- other: "%{count} persone"
+ domain_validator:
+ invalid_domain: non è un nome di dominio valido
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Non sei autorizzato a visualizzare questa pagina.
'404': La pagina che stavi cercando non esiste.
+ '406': This page is not available in the requested format.
'410': La pagina che stavi cercando qui non esiste più.
'422':
content: Verifica di sicurezza non riuscita. Stai bloccando i cookies?
@@ -594,6 +636,7 @@ it:
'500':
content: Siamo spiacenti, ma qualcosa non ha funzionato dal nostro lato.
title: Questa pagina non è corretta
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Per usare l'interfaccia web di Mastodon dovi abilitare JavaScript. In alternativa puoi provare una delle app native per Mastodon per la tua piattaforma.
existing_username_validator:
not_found: impossibile trovare un utente locale con quel nome utente
@@ -617,6 +660,7 @@ it:
add_new: Aggiungi nuovo
errors:
limit: Hai già messo in evidenza il numero massimo di hashtag
+ hint_html: "Cosa sono gli hashtag in evidenza? Sono visualizzati in evidenza sul tuo profilo pubblico e permettono alle persone di visualizzare i tuoi post pubblici marcati con questi hashtag. Sono un grande strumento per tenere traccia di opere creative o progetti a lungo termine."
filters:
contexts:
home: Timeline home
@@ -637,6 +681,7 @@ it:
developers: Sviluppatori
more: Altro…
resources: Risorse
+ trending_now: Di tendenza ora
generic:
all: Tutto
changes_saved_msg: Modifiche effettuate con successo!
@@ -712,9 +757,6 @@ it:
too_many: Impossibile allegare più di 4 file
migrations:
acct: utente@dominio del nuovo account
- currently_redirecting: 'Il tuo profilo sarà ridirezionato a:'
- proceed: Salva
- updated_msg: L'impostazione per la migrazione dell'account è sta aggiornata!
moderation:
title: Moderazione
notification_mailer:
@@ -876,6 +918,8 @@ it:
profile: Profilo
relationships: Follows e followers
two_factor_authentication: Autenticazione a due fattori
+ spam_check:
+ spam_detected_and_silenced: Questa è una segnalazione automatica. É stato rilevato dello spam e il mittente è stato automaticamente silenziato. Se fosse un errore, per favore annulla questa operazione sull'account.
statuses:
attached:
description: 'Allegato: %{attached}'
@@ -917,6 +961,8 @@ it:
pinned: Toot fissato in cima
reblogged: condiviso
sensitive_content: Materiale sensibile
+ tags:
+ does_not_match_previous_name: non corrisponde al nome precedente
terms:
title: "%{instance} Termini di servizio e politica della privacy"
themes:
@@ -953,7 +999,9 @@ it:
disable: Mentre il tuo account è congelato, i tuoi dati dell'account rimangono intatti, ma non potrai eseguire nessuna azione fintanto che non viene sbloccato.
silence: Mentre il tuo account è limitato, solo le persone che già ti seguono possono vedere i tuoi toot su questo server, e potresti essere escluso da vari elenchi pubblici. Comunque, altri possono manualmente seguirti.
suspend: Il tuo account è stato sospeso, e tutti i tuoi toot ed i tuoi file media caricati sono stati irreversibilmente rimossi da questo server, e dai server dove avevi dei seguaci.
+ get_in_touch: Puoi rispondere a questa email per entrare in contatto con lo staff di %{instance}.
review_server_policies: Rivedi regole del server
+ statuses: 'Nello specifico, per:'
subject:
disable: Il tuo account %{acct} è stato congelato
none: Avviso per %{acct}
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 1ff5a2b63..2649fb2a3 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -17,13 +17,13 @@ ja:
contact_unavailable: N/A
discover_users: ユーザーを見つける
documentation: ドキュメント
- extended_description_html: |
-
generic_description: "%{domain} ერთი სერვერია ქსელში"
hosted_on: მასტოდონს მასპინძლობს %{domain}
learn_more: გაიგე მეტი
@@ -390,7 +387,6 @@ ka:
your_token: თქვენი წვდომის ტოკენი
auth:
change_password: პაროლი
- confirm_email: ელ-ფოსტის დამოწმება
delete_account: ანგარიშის გაუქმება
delete_account_html: თუ გსურთ გააუქმოთ თქვენი ანგარიში, შეგიძლიათ გააგრძელოთ აქ. საჭირო იქნება დამოწმება.
didnt_get_confirmation: არ მოგსვლიათ დამოწმების ინსტრუქციები?
@@ -435,16 +431,14 @@ ka:
x_months: "%{count}თვე"
x_seconds: "%{count}წმ"
deletes:
- bad_password_msg: კარგად სცადეთ, ჰაკერებო! არასწორი პაროლი
confirm_password: იდენტობის დასამოწმებლად შეიყვანეთ მიმდინარე პაროლი
- description_html: ეს სამუდამოდ, დაუბრუნებლად გააუქმებს კონტენტს თქვენი ანგარიშიდან და მოახდენს მის დეაქტივაციას. მომხმარებლის სახელი კი, სამომავლო იმპერსონაციების შესაჩერებლად, გახდება რეზერვირებული.
proceed: ანგარიშის გაუქმება
success_msg: თქვენი ანგარიში წარმატებით გაუქმდა
- warning_html: მოცულობის გაუქმება გარანტირებულია მხოლოდ ამ ინსტანციაზე. კონტენტი რომელიც ფართო მასშტაბით გაზიარდა უფრო დატოვებს კვალს. ოფლაინ სერვერები და სერვერები, რომლებმაც შეწყვიტეს თქვენი განახლებების გამოწერა არ განაახლებენ მონაცემთა ბაზებს.
- warning_title: წვდომა გავრცელებულ კონტენტზე
errors:
+ '400': The request you submitted was invalid or malformed.
'403': ამ გვერდის ხილვის უფლება არ გაქვთ.
'404': გვერდი რომელსაც ეძებთ არ არსებობს.
+ '406': This page is not available in the requested format.
'410': გვერდი რომელსაც ეძებდით აღარ არსებობს.
'422':
content: უსაფრთხოების ვერიფიკაცია ვერ მოხერხდა. ბლოკავთ ქუქის?
@@ -453,6 +447,7 @@ ka:
'500':
content: ბოდიში, ჩვენ მხარეს რაღაც არია.
title: გვერდი არაა სწორი
+ '503': The page could not be served due to a temporary server failure.
noscript_html: მასტოდონ ვებ-აპლიკაციის გამოყენებისთვის, გთხოვთ ჩართოთ ჯავასკრიპტი. სხვა შემთხვევაში, მასტოდონის თქვენი პატფორმისთვის სცადეთ გამოიყენოთ ერთ-ერთი მშობლიური აპლიკაცია.
exports:
archive_takeout:
@@ -533,9 +528,6 @@ ka:
too_many: თან ვერ დაურთავთ 4 ფაილზე მეტს
migrations:
acct: username@domain ახალი ანგარიშის
- currently_redirecting: 'თქვენი პროფილი გამართულია მოახდინოს გადამისამართება მისამართზე:'
- proceed: შენახვა
- updated_msg: თქვენი ანგარიშის მიგრაციის პარამეტრები წარმატეებით დამახსოვრდა!
moderation:
title: მოდერაცია
notification_mailer:
diff --git a/config/locales/kk.yml b/config/locales/kk.yml
index a3651b1d3..84cbdd294 100644
--- a/config/locales/kk.yml
+++ b/config/locales/kk.yml
@@ -10,9 +10,6 @@ kk:
contact_missing: Бапталмаған
contact_unavailable: Белгісіз
documentation: Құжаттама
- extended_description_html: |
-
Ережелерге арналған жақсы орын
-
Әлі ештеңе жазылмапты
generic_description: "%{domain} желідегі серверлердің бірі"
hosted_on: Mastodon орнатылған %{domain} доменінде
learn_more: Көбірек білу
@@ -437,13 +434,7 @@ kk:
title: Аккаунт статустары
with_media: Медиамен
tags:
- accounts: Accоunts
- hidden: Hiddеn
- hide: Hidе from directory
- name: Hаshtag
title: Hashtаgs
- unhide: Shоw in directory
- visible: Visiblе
title: Administrаtion
warning_presets:
add_new: Add nеw
@@ -472,7 +463,6 @@ kk:
your_token: Your access tokеn
auth:
change_password: Құпиясөз
- confirm_email: Еmаil құптау
delete_account: Аккаунт өшіру
delete_account_html: Аккаунтыңызды жойғыңыз келсе, мына жерді басыңыз. Сізден растау сұралатын болады.
didnt_get_confirmation: Растау хаты келмеді ме?
@@ -517,26 +507,18 @@ kk:
x_months: "%{count}ай"
x_seconds: "%{count}сек"
deletes:
- bad_password_msg: Болмады ма, хакер бала? Құпиясөз қате
confirm_password: Қазіргі құпиясөзіңізді жазыңыз
- description_html: This will permanently, irreversibly remove content from your account аnd deactivate it. Your username will remain reserved to prevent future impersonations.
proceed: Аккаунт өшіру
success_msg: Аккаунтыңыз сәтті өшірілді
- warning_html: Only deletion of content from this particular server is guaranteed. Content that has been widely sharеd is likely to leave traces. Offline servers and servers that have unsubscribed from your updates will not update their databases.
- warning_title: Бөлінген мазмұнның қол жетімділігі
directories:
directory: Профильдер каталогы
- enabled: Каталогтағы тізімге ендіңіз.
- enabled_but_waiting: Каталогта көрінгіңіз келетінін түсінеміз, бірақ ол үшін кем дегенде (%{min_followers}) оқырманыңыз болуы қажет.
explanation: Қолданушыларды қызығушылықтарына қарай реттеу
explore_mastodon: "%{title} шарлау"
- how_to_enable: Сіз қазіргі уақытта каталогқа қосылмағансыз. Төменде қосылуға болады. Арнайы био мәтініндегі хэштегтерді қолданыңыз!
- people:
- one: "%{count} адам"
- other: "%{count} адам"
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Бұны көру үшін сізде рұқсат жоқ.
'404': Сіз іздеген бет бұл жерде емес екен.
+ '406': This page is not available in the requested format.
'410': Сіз іздеген бет қазір жоқ екен.
'422':
content: Қауіпсіздік растауы қате. кукилерді блоктағансыз ба?
@@ -545,6 +527,7 @@ kk:
'500':
content: Кешірерсіз, бірақ қазір бір қате пайда болып тұр.
title: Бұл бет дұрыс емес екен
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Mastodon веб қосымшасын қолдану үшін, JavaScript қосыңыз. Болмай жатса, мына қосымшаларды қосып көріңіз, Mastodon қолдану үшін.
exports:
archive_takeout:
@@ -638,9 +621,6 @@ kk:
too_many: 4 файлдан артық қосылмайды
migrations:
acct: жаңа аккаунт үшін username@domain
- currently_redirecting: 'Профиліңіз көшіріледі:'
- proceed: Сақтау
- updated_msg: Аккаунт көшіруіңіз сәтті аяқталды!
moderation:
title: Модерация
notification_mailer:
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index ec64972ed..fb32552da 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -17,13 +17,13 @@ ko:
contact_unavailable: 없음
discover_users: 유저 발견하기
documentation: 문서
- extended_description_html: |
-
룰을 작성하는 장소
-
아직 설명이 작성되지 않았습니다.
federation_hint_html: "%{instance}에 계정을 만드는 것으로 모든 마스토돈 서버, 그리고 호환 되는 모든 서버의 사용자를 팔로우 할 수 있습니다."
generic_description: "%{domain} 은 네트워크에 있는 한 서버입니다"
get_apps: 모바일 앱 사용해 보기
hosted_on: "%{domain}에서 호스팅 되는 마스토돈"
+ instance_actor_flash: |
+ 이 계정은 가상의 actor로서 개인 유저가 아닌 서버 자체를 나타냅니다.
+ 이것은 페더레이션을 목적으로 사용 되며 인스턴스 전체를 차단하려 하지 않는 이상 차단하지 않아야 합니다, 그 경우에는 도메인 차단을 사용하세요.
learn_more: 자세히
privacy_policy: 개인정보 정책
see_whats_happening: 무슨 일이 일어나는 지 보기
@@ -34,12 +34,17 @@ ko:
status_count_before: 툿 수
tagline: 친구들을 팔로우 하고 새로운 사람들도 만나기
terms: 이용약관
+ unavailable_content: 이용 불가능한 컨텐츠
+ unavailable_content_description:
+ reason: '이유:'
user_count_after:
other: 명
user_count_before: 사용자 수
what_is_mastodon: 마스토돈이란?
accounts:
choices_html: "%{name}의 추천:"
+ endorsements_hint: 내가 팔로우 하고 있는 사람들을 여기에 추천 할 수 있습니다.
+ featured_tags_hint: 특정한 해시태그들을 여기에 표시되도록 할 수 있습니다.
follow: 팔로우
followers:
other: 팔로워
@@ -50,6 +55,7 @@ ko:
media: 미디어
moved_html: "%{name}은 %{new_profile_link}으로 이동되었습니다:"
network_hidden: 이 정보는 사용할 수 없습니다
+ never_active: 없음
nothing_here: 아무 것도 없습니다!
people_followed_by: "%{name} 님이 팔로우 중인 계정"
people_who_follow: "%{name} 님을 팔로우 중인 계정"
@@ -179,6 +185,7 @@ ko:
username: 아이디
warn: 경고
web: 웹
+ whitelisted: 허용 목록
action_logs:
actions:
assigned_to_self_report: "%{name}이 리포트 %{target}을 자신에게 할당했습니다"
@@ -214,10 +221,12 @@ ko:
deleted_status: "(삭제됨)"
title: 감사 기록
custom_emojis:
+ assign_category: 분류 지정
by_domain: 도메인
copied_msg: 성공적으로 에모지의 로컬 복사본을 생성했습니다
copy: 복사
copy_failed_msg: 에모지의 로컬 복사본을 만드는 데 실패하였습니다
+ create_new_category: 분류 생성
created_msg: 에모지가 성공적으로 생성되었습니다!
delete: 삭제
destroyed_msg: 에모지가 성공적으로 삭제되었습니다!
@@ -234,11 +243,13 @@ ko:
shortcode: 짧은 코드
shortcode_hint: 최소 2글자, 영문자, 숫자, _만 사용 가능
title: 커스텀 에모지
+ uncategorized: 분류되지 않음
unlisted: 목록에 없음
update_failed_msg: 에모지를 업데이트 할 수 없습니다
updated_msg: 에모지가 성공적으로 업데이트 되었습니다!
upload: 업로드
dashboard:
+ authorized_fetch_mode: 인증 된 페치 모드
backlog: 미처리 된 작업
config: 설정
feature_deletions: 계정 삭제
@@ -246,10 +257,13 @@ ko:
feature_profile_directory: 프로필 디렉토리
feature_registrations: 가입
feature_relay: 연합 릴레이
+ feature_spam_check: 안티 스팸
feature_timeline_preview: 타임라인 미리보기
features: 기능
hidden_service: 히든 서비스와의 연합
open_reports: 미해결 신고
+ pending_tags: 심사를 기다리는 해시태그
+ pending_users: 심사를 기다리는 유저
recent_users: 최근 가입 한 유저
search: 전문 검색
single_user_mode: 싱글 유저 모드
@@ -261,11 +275,18 @@ ko:
week_interactions: 이번 주의 상호작용
week_users_active: 이번 주의 활성 사용자
week_users_new: 이번 주의 신규 유저
+ whitelist_mode: 화이트리스트 모드
+ domain_allows:
+ add_new: 허용 된 도메인
+ created_msg: 도메인이 성공적으로 허용 목록에 추가되었습니다
+ destroyed_msg: 도메인이 허용 목록에서 제거되었습니다
+ undo: 허용 목록에서 제외
domain_blocks:
add_new: 도메인 차단 추가하기
created_msg: 도메인 차단 처리를 완료했습니다
destroyed_msg: 도메인 차단이 해제되었습니다
domain: 도메인
+ edit: 도메인 차단 수정
existing_domain_block_html: 이미 %{name}에 대한 더 강력한 제한이 걸려 있습니다, 차단 해제를 먼저 해야 합니다.
new:
create: 차단 추가
@@ -278,6 +299,10 @@ ko:
silence: 침묵
suspend: 정지
title: 새로운 도메인 차단
+ private_comment: 비공개 주석
+ private_comment_hint: 이 도메인 제한에 대한 주석은 모더레이터를 위해 내부적으로 사용 됩니다.
+ public_comment: 공개 주석
+ public_comment_hint: 이 도메인 제한에 대한 공개적인 주석, 도메인 제한 공개를 활성화 한 경우 보여집니다.
reject_media: 미디어 파일 거부하기
reject_media_hint: 로컬에 저장된 미디어 파일을 삭제하고, 이후로도 다운로드를 거부합니다. 정지와는 관계 없습니다
reject_reports: 신고 거부
@@ -296,6 +321,7 @@ ko:
title: "%{domain}의 도메인 차단을 해제"
undo: 실행 취소
undo: 도메인 차단 취소
+ view: 도메인 차단 보기
email_domain_blocks:
add_new: 새로 추가
created_msg: 이메일 도메인 차단 규칙을 생성했습니다
@@ -318,6 +344,8 @@ ko:
all: 모두
limited: 제한됨
title: 모더레이션
+ private_comment: 비공개 주석
+ public_comment: 공개 주석
title: 연합
total_blocked_by_us: 우리에게 차단 됨
total_followed_by_them: 우리를 팔로우
@@ -395,6 +423,16 @@ ko:
custom_css:
desc_html: 모든 페이지에 적용할 CSS
title: 커스텀 CSS
+ default_noindex:
+ desc_html: 이 설정을 바꾸지 않은 모든 유저들에게 적용 됩니다
+ title: 유저들이 기본적으로 검색엔진에 인덱싱 되지 않도록 합니다
+ domain_blocks:
+ all: 모두에게
+ disabled: 아무에게도 안 함
+ title: 도메인 차단 보여주기
+ users: 로그인 한 유저에게
+ domain_blocks_rationale:
+ title: 사유 보여주기
hero:
desc_html: 프론트페이지에 표시 됩니다. 최소 600x100픽셀을 권장합니다. 만약 설정되지 않았다면, 서버의 썸네일이 사용 됩니다
title: 히어로 이미지
@@ -445,6 +483,9 @@ ko:
desc_html: 당신은 독자적인 개인정보 취급 방침이나 이용약관, 그 외의 법적 근거를 작성할 수 있습니다. HTML태그를 사용할 수 있습니다
title: 커스텀 서비스 이용 약관
site_title: 서버 이름
+ spam_check_enabled:
+ desc_html: 마스토돈은 반복된 메시지 등의 측정값에 따라 자동으로 계정을 침묵, 신고할 수 있습니다. 위양성(False-positive)이 존재할 수 있습니다.
+ title: 안티 스팸
thumbnail:
desc_html: OpenGraph와 API의 미리보기로 사용 됩니다. 1200x630px을 권장합니다
title: 서버 썸네일
@@ -452,12 +493,16 @@ ko:
desc_html: 랜딩 페이지에 공개 타임라인을 표시합니다
title: 타임라인 프리뷰
title: 사이트 설정
+ trends:
+ desc_html: 리뷰를 거친 해시태그를 유행하는 해시태그에 공개적으로 보여줍니다
+ title: 유행하는 해시태그
statuses:
back_to_account: 계정으로 돌아가기
batch:
delete: 삭제
nsfw_off: NSFW 끄기
nsfw_on: NSFW 켜기
+ deleted: 삭제됨
failed_to_execute: 실행을 실패하였습니다
media:
title: 미디어
@@ -466,13 +511,23 @@ ko:
title: 계정 툿
with_media: 미디어 있음
tags:
- accounts: 계정들
- hidden: 숨겨짐
- hide: 디렉토리에서 숨기기
+ accounts_today: 오늘의 순 사용자
+ accounts_week: 금주의 순 사용자
+ breakdown: 소스별 오늘의 사용량 분석
+ context: 문맥
+ directory: 디렉토리에 있음
+ in_directory: 디렉토리에 %{count}개 있음
+ last_active: 최근 활동
+ most_popular: 최고 인기
+ most_recent: 최신
name: 해시태그
+ review: 심사 상태
+ reviewed: 심사 됨
title: 해시태그
- unhide: 디렉토리에 표시
- visible: 보여짐
+ trending_right_now: 지금 유행 중
+ unique_uses_today: 오늘 %{count}개의 포스팅
+ unreviewed: 심사 되지 않음
+ updated_msg: 해시태그 설정이 성공적으로 갱신되었습니다
title: 관리
warning_presets:
add_new: 새로 추가
@@ -488,11 +543,15 @@ ko:
body: "%{reporter} 가 %{target} 를 신고했습니다"
body_remote: "%{domain}의 누군가가 %{target}을 신고했습니다"
subject: "%{instance} 에 새 신고 등록됨 (#%{id})"
+ new_trending_tag:
+ body: "#%{name}가 오늘 유행하고 있습니다, 하지만 심사 된 적이 없습니다. 허용하지 않는 한 공개적으로 나타나지 않습니다. 또는 그냥 저장을 눌러 더이상 나타나지 않게 할 수 있습니다."
+ subject: 새 해시태그가 %{instance}에서 심사 대기 중입니다(#%{name})
appearance:
advanced_web_interface: 고급 웹 인터페이스
advanced_web_interface_hint: '화면의 가로폭을 가득 채우고 싶다면, 고급 웹 인터페이스는 한 번에 여러 정보를 볼 수 있도록 여러 컬럼을 설정할 수 있도록 합니다: 홈, 알림, 연합타임라인, 리스트, 해시태그 등'
animations_and_accessibility: 애니메이션과 접근성
confirmation_dialogs: 확인 대화상자
+ discovery: 발견하기
sensitive_content: 민감한 내용
application_mailer:
notification_preferences: 메일 설정 변경
@@ -513,9 +572,13 @@ ko:
apply_for_account: 가입 요청하기
change_password: 패스워드
checkbox_agreement_html: 서버 규칙과 이용약관에 동의합니다
- confirm_email: 확인 메일 승인
+ checkbox_agreement_without_rules_html: 이용 약관에 동의합니다
delete_account: 계정 삭제
delete_account_html: 계정을 삭제하고 싶은 경우, 여기서 삭제할 수 있습니다. 삭제 전 확인 화면이 표시됩니다.
+ description:
+ prefix_invited_by_user: "@%{name} 님이 당신을 이 마스토돈 서버로 초대했습니다!"
+ prefix_sign_up: 마스토돈에 가입하세요!
+ suffix: 계정 하나로 사람들을 팔로우 하고, 게시물을 작성하며 마스토돈을 포함한 다른 어떤 서버의 유저와도 메시지를 주고 받을 수 있습니다!
didnt_get_confirmation: 확인 메일을 받지 못하셨습니까?
forgot_password: 비밀번호를 잊어버리셨습니까?
invalid_reset_password_token: 암호 리셋 토큰이 올바르지 못하거나 기간이 만료되었습니다. 다시 요청해주세요.
@@ -533,6 +596,15 @@ ko:
reset_password: 암호 재설정
security: 보안
set_new_password: 새 암호
+ setup:
+ email_below_hint_html: 아래의 이메일 계정이 올바르지 않을 경우, 여기서 변경하고 새 확인 메일을 받을 수 있습니다.
+ email_settings_hint_html: 확인 메일이 %{email}로 보내졌습니다. 이메일 주소가 올바르지 않은 경우, 계정 설정에서 변경하세요.
+ title: 설정
+ status:
+ account_status: 계정 상태
+ confirming: 이메일 확인 과정이 완료되기를 기다리는 중.
+ functional: 계정이 완벽이 작동합니다.
+ pending: 당신의 가입 신청은 스태프의 검사를 위해 대기중입니다. 이것은 시간이 다소 소요됩니다. 가입 신청이 승인 될 경우 이메일을 받게 됩니다.
trouble_logging_in: 로그인 하는데 문제가 있나요?
authorize_follow:
already_following: 이미 이 계정을 팔로우 하고 있습니다
@@ -545,6 +617,11 @@ ko:
return: 유저 프로필 보기
web: 웹으로 가기
title: "%{acct} 를 팔로우"
+ challenge:
+ confirm: 계속
+ hint_html: "팁:한 시간동안 다시 비밀번호를 묻지 않을 겁니다."
+ invalid_password: 잘못된 비밀번호
+ prompt: 계속하려면 암호 확인
datetime:
distance_in_words:
about_x_hours: "%{count}시간"
@@ -560,25 +637,33 @@ ko:
x_months: "%{count}월"
x_seconds: "%{count}초"
deletes:
- bad_password_msg: 비밀번호가 올바르지 않습니다
+ challenge_not_passed: 입력한 정보가 올바르지 않습니다
confirm_password: 본인 확인을 위해 현재 사용 중인 암호를 입력해 주십시오
- description_html: 계정에 업로드된 모든 컨텐츠가 삭제되며, 계정은 비활성화 됩니다. 이것은 영구적으로 이루어지는 것이므로 되돌릴 수 없습니다. 사칭 행위를 방지하기 위해 같은 아이디로 다시 등록하는 것은 불가능합니다.
+ confirm_username: 절차를 진행하려면 당신의 사용자명을 입력하세요
proceed: 계정 삭제
success_msg: 계정이 성공적으로 삭제되었습니다
- warning_html: 삭제가 보장되는 것은 이 서버 상에서의 컨텐츠에 한합니다. 타 서버 등, 외부에 멀리 공유된 컨텐츠는 흔적이 남아 삭제되지 않는 경우도 있습니다. 그리고 현재 접속이 불가능한 서버나, 업데이트를 받지 않게 된 서버에 대해서는 삭제가 반영되지 않을 수도 있습니다.
- warning_title: 공유된 컨텐츠에 대해서
+ warning:
+ before: '진행하기 전, 주의사항을 꼼꼼히 읽어보세요:'
+ caches: 다른 서버에 캐싱 된 정보들은 남아있을 수 있습니다
+ data_removal: 당신의 게시물과 다른 정보들은 영구적으로 삭제 됩니다
+ email_change_html: 계정을 지우지 않고도 이메일 주소를 수정할 수 있습니다
+ email_contact_html: 아직 도착하지 않았다면, %{email}에 메일을 보내 도움을 요청할 수 있습니다
+ email_reconfirmation_html: 아직 확인 메일이 도착하지 않은 경우, 다시 요청할 수 있습니다
+ irreversible: 계정을 복구하거나 다시 사용할 수 없게 됩니다
+ more_details_html: 더 자세한 정보는, 개인정보 정책을 참고하세요.
+ username_available: 당신의 계정명은 다시 사용할 수 있게 됩니다
+ username_unavailable: 당신의 계정명은 앞으로 사용할 수 없습니다
directories:
directory: 프로필 디렉토리
- enabled: 당신은 디렉터리에 표시 되고 있습니다.
- enabled_but_waiting: 디렉터리에 표시 되기 위해서는 수동으로 참여해야 합니다, 하지만 디렉터리에 표시 되기 위한 최소 팔로워(%{min_followers})수에 미치지 못했습니다.
explanation: 관심사에 대한 유저들을 발견합니다
explore_mastodon: "%{title} 탐사하기"
- how_to_enable: 아직 디렉터리에 참여하지 않았습니다. 아래에서 참여할 수 있습니다. 바이오 텍스트에 해시태그를 사용해 특정 해시태그 디렉터리에 표시 될 수 있습니다!
- people:
- other: "%{count}명"
+ domain_validator:
+ invalid_domain: 올바른 도메인 네임이 아닙니다
errors:
+ '400': 제출한 요청이 올바르지 않습니다.
'403': 이 페이지를 표시할 권한이 없습니다.
'404': 당신이 찾으려는 페이지는 존재하지 않습니다.
+ '406': 이 페이지는 요청한 자료형으로 제공되지 않습니다.
'410': 당신이 보려는 페이지는 더이상 여기에 존재하지 않습니다.
'422':
content: 보안 인증에 실패했습니다. 쿠키를 차단하고 있진 않습니까?
@@ -587,6 +672,7 @@ ko:
'500':
content: 죄송합니다, 뭔가 잘못 되었습니다.
title: 이 페이지는 잘못되었습니다
+ '503': 이 페이지는 임시적인 서버 문제로 인해 제공 될 수 없습니다.
noscript_html: 마스토돈을 사용하기 위해서는 자바스크립트를 켜 주십시오. 아니면 네이티브 앱 중 하나를 사용할 수 있습니다.
existing_username_validator:
not_found: 해당 유저네임에 대한 로컬 유저를 찾을 수 없습니다
@@ -610,6 +696,7 @@ ko:
add_new: 추가
errors:
limit: 이미 추천 해시태그의 개수가 최대입니다
+ hint_html: "추천 해시태그가 무엇이죠? 당신의 공개 프로필 페이지에 눈에 띄게 표현 되며 사람들이 그 해시태그를 포함한 당신의 글을 찾아 볼 수 있도록 합니다. 창작활동이나 긴 기간을 가지는 프로젝트를 쭉 따라가기에 좋은 도구입니다."
filters:
contexts:
home: 홈 타임라인
@@ -630,10 +717,12 @@ ko:
developers: 개발자
more: 더 보기…
resources: 리소스
+ trending_now: 지금 유행중
generic:
all: 모두
changes_saved_msg: 정상적으로 변경되었습니다!
copy: 복사
+ no_batch_actions_available: 이 페이지에서 수행할 수 있는 일괄작업이 없습니다
order_by: 순서
save_changes: 변경 사항을 저장
validation_errors:
@@ -703,9 +792,18 @@ ko:
too_many: 최대 4개까지 첨부할 수 있습니다
migrations:
acct: 새 계정의 username@domain
- currently_redirecting: '당신의 프로파일은 여기로 리디렉션 됩니다:'
- proceed: 저장
- updated_msg: 계정 이동 설정이 저장되었습니다!
+ cancel: 리디렉션 취소
+ errors:
+ not_found: 찾을 수 없습니다
+ incoming_migrations: 다른 계정으로부터 옮기기
+ on_cooldown: 당신은 최근에 이미 계정을 이동했습니다. 이 기능은 %{count} 일 후에 다시 이용 가능합니다.
+ past_migrations: 이전 마이그레이션
+ proceed_with_move: 팔로워 이동
+ redirecting_to: 당신의 계정은 %{acct} 로 리다이렉트됩니다.
+ warning:
+ before: '진행하기 전, 주의사항을 꼼꼼히 읽어보세요:'
+ followers: 이 행동은 현재 계정의 모든 팔로워를 새 계정으로 이동시킵니다
+ other_data: 다른 어떤 데이터도 자동적으로 옮겨지지 않을 것입니다
moderation:
title: 모더레이션
notification_mailer:
@@ -848,6 +946,7 @@ ko:
settings:
account: 계정
account_settings: 계정 설정
+ aliases: 계정 별명
appearance: 외관
authorized_apps: 인증된 애플리케이션
back: 돌아가기
@@ -865,6 +964,8 @@ ko:
profile: 프로필
relationships: 팔로잉과 팔로워
two_factor_authentication: 2단계 인증
+ spam_check:
+ spam_detected_and_silenced: 이것은 자동화 된 보고입니다. 스팸이 감지 되어 작성자를 자동으로 침묵 처리하였습니다. 만약 실수였다면 계정을 침묵 해제하세요.
statuses:
attached:
description: '첨부: %{attached}'
@@ -902,6 +1003,8 @@ ko:
pinned: 고정된 툿
reblogged: 님이 부스트 했습니다
sensitive_content: 민감한 컨텐츠
+ tags:
+ does_not_match_previous_name: 이전 이름과 맞지 않습니다
terms:
body_html: |
개인정보 정책
@@ -1019,7 +1122,9 @@ ko:
disable: 당신의 계정이 동결 된 동안 당신의 계정은 유지 됩니다. 하지만 잠금이 풀릴 때까지 당신은 아무 것도 할 수 없습니다.
silence: 당신의 계정이 제한 된 동안엔 당신의 팔로워 이외엔 툿을 받아 볼 수 없고 공개 리스팅에서 제외 됩니다. 하지만 다른 사람들은 여전히 당신을 팔로우 가능합니다.
suspend: 당신의 계정은 정지 되었으며, 모든 툿과 업로드 한 미디어가 서버에서 삭제 되어 되돌릴 수 없습니다.
+ get_in_touch: 이 메일에 대해 답장해서 %{instance}의 스태프와 연락 할 수 있습니다.
review_server_policies: 서버 정책 검토하기
+ statuses: '구체적으로:'
subject:
disable: 당신의 계정 %{acct}가 동결 되었습니다
none: "%{acct}에게의 경고"
diff --git a/config/locales/lt.yml b/config/locales/lt.yml
index 087cbb582..e1471eed0 100644
--- a/config/locales/lt.yml
+++ b/config/locales/lt.yml
@@ -9,9 +9,6 @@ lt:
contact: Kontaktai
contact_missing: Nenustatyta
documentation: Dokumentacija
- extended_description_html: |
-
Taisyklės
-
Ilgas aprašymas dar nėra sudartyas
generic_description: "%{domain} yra vienas serveris tinkle"
hosted_on: Mastodon palaikomas naudojantis %{domain} talpinimu
learn_more: Daugiau
@@ -420,13 +417,7 @@ lt:
title: Paskyros statusai
with_media: Su medija
tags:
- accounts: Paskyros
- hidden: Paslėpti
- hide: Paslėpti iš direktorijos
- name: Saitažodis(#)
title: Saitažodžiai(#)
- unhide: Rodyti direktorijoje
- visible: Matomas
title: Administracija
warning_presets:
add_new: Pridėti naują
@@ -455,7 +446,6 @@ lt:
your_token: Jūsų prieigos žetonas
auth:
change_password: Slaptažodis
- confirm_email: Patvirtinti el paštą
delete_account: Ištrinti paskyrą
delete_account_html: Jeigu norite ištrinti savo paskyrą, galite eiti čia. Jūsų prašys patvirtinti pasirinkimą.
didnt_get_confirmation: Negavote patvirtinimo instrukcijų?
@@ -497,23 +487,18 @@ lt:
x_months: "%{count}mėn"
x_seconds: "%{count}sek"
deletes:
- bad_password_msg: Geras bandymas, programišiau! Neteisingas slaptažodis
confirm_password: Kad patvirtintumėte savo tapatybę, įveskite dabartini slaptažodį
- description_html: Tai be sugrąžinimo, visam laikui panaikins visa turini iš Jūsų paskyros ir deaktyvuos ją. Jūsų vartotojo vardas paliks rezervuotas, kad išvengtumėme tapatybės pavagimo ateityje.
proceed: Ištrinti paskyrą
success_msg: Jūsų paskyra sėkmingai ištrinta
- warning_html: Tiktai panaikinimas turinio iš šio serverio garantuotas. Turinys, kuris buvo viešai prieinamas ir dalinamas kituose serveriuose paliks pėdsakus. Serveriai, kurie neseka jūsų, kurie nėra tinkle, nepakeis savo duomenų sistemos.
- warning_title: Platinamo turinio prieinamumas
directories:
directory: Profilio direktorija
- enabled: Jūs esate rodomas šioje direktorijoje.
- enabled_but_waiting: Jūs pasirinkote būti įtrauktas į direktorija, bet jūs neturite minimalaus sekėjų skaičiaus (%{min_followers}), kad būtumėte rodomas.
explanation: Raskite vartotojus, remiantis tuo, kuo jie domisi
explore_mastodon: Naršyti %{title}
- how_to_enable: Jūs nesate prisijungęs prie šios direktorijos. Galite prisijungti žemiau. Naudokite saitažodžius savo biografiniame tekste, kad būtumėte rastas naudojantis specifinius saitažodžius!
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Jūs neturie prieigos matyti šiam puslapiui.
'404': Puslapis nerastas.
+ '406': This page is not available in the requested format.
'410': Puslapis neegzistuoja.
'422':
content: Apsaugos patvirtinmas klaidingas. Ar jūs blokuojate sausainius?
@@ -522,6 +507,7 @@ lt:
'500':
content: Atsiprašome, tačiau mūsų pusėje įvyko klaida.
title: Netinkamas puslapis
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Kad naudotumėtės Mastodon web aplikacija, prašome įsijungti JavaScript. Alternatyviai, pabandykite viena iš vietinių aplikacijų Mastodon savo platformai.
exports:
archive_takeout:
@@ -608,9 +594,6 @@ lt:
too_many: Negalima pridėti daugiau nei 4 failų
migrations:
acct: slapyvardis@domenas naujam vartotojui
- currently_redirecting: 'Jūsų profilis nustatytas nukreipimui į:'
- proceed: Išsaugoti
- updated_msg: Jūsų paskyros migracijos nustatymai sėkmingai pakeisti!
moderation:
title: Moderacija
notification_mailer:
diff --git a/config/locales/lv.yml b/config/locales/lv.yml
index 971450a89..f6625dd41 100644
--- a/config/locales/lv.yml
+++ b/config/locales/lv.yml
@@ -1,12 +1,15 @@
---
lv:
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': Throttled
'500':
+ '503': The page could not be served due to a temporary server failure.
invites:
expires_in:
'1800': 30 minutes
diff --git a/config/locales/ms.yml b/config/locales/ms.yml
index 3597ccd15..b77a1fd92 100644
--- a/config/locales/ms.yml
+++ b/config/locales/ms.yml
@@ -10,9 +10,6 @@ ms:
contact_missing: Tidak ditetapkan
contact_unavailable: Tidak tersedia
documentation: Pendokumenan
- extended_description_html: |
-
Tempat sesuai untuk peraturan
-
Kenyataan penuh masih belum ditetapkan.
generic_description: "%{domain} ialah salah sebuah pelayan dalam rangkaian Mastodon"
hosted_on: Mastodon dihoskan di %{domain}
learn_more: Ketahui lebih lanjut
@@ -297,12 +294,15 @@ ms:
create_and_resolve: Selesaikan dengan nota
placeholder: Terangkan tindakan apa yang telah diambil, atau sebarang kemas kini lain yang berkaitan...
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': Throttled
'500':
+ '503': The page could not be served due to a temporary server failure.
exports:
archive_takeout:
in_progress: Mengkompil arkib anda...
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index 52c23de8f..213d213c3 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -17,13 +17,13 @@ nl:
contact_unavailable: n.v.t
discover_users: Gebruikers ontdekken
documentation: Documentatie
- extended_description_html: |
-
Een goede plek voor richtlijnen
-
De uitgebreide omschrijving is nog niet ingevuld.
federation_hint_html: Met een account op %{instance} ben je in staat om mensen die zich op andere Mastodonservers (en op andere plekken) bevinden te volgen.
generic_description: "%{domain} is een server in het Mastodonnetwerk"
get_apps: Mobiele apps
hosted_on: Mastodon op %{domain}
+ instance_actor_flash: 'Dit account is een virtuel actor die wordt gebruikt om de server zelf te vertegenwoordigen en is geen individuele gebruiker. Het wordt voor federatiedoeleinden gebruikt en moet niet worden geblokkeerd, tenzij je de hele server wil blokkeren. In zo''n geval dien je echter een domeinblokkade te gebruiken.
+
+'
learn_more: Meer leren
privacy_policy: Privacybeleid
see_whats_happening: Kijk wat er aan de hand is
@@ -35,6 +35,12 @@ nl:
status_count_before: Zij schreven
tagline: Vrienden volgen en nieuwe ontdekken
terms: Gebruiksvoorwaarden
+ unavailable_content: Niet beschikbare inhoud
+ unavailable_content_description:
+ 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.
+ silenced: Toots van deze server worden nergens weergegeven, behalve op jouw eigen starttijdlijn wanneer je het account volgt.
+ suspended: Je bent niet in staat om iemand van deze server te volgen, en er worden geen gegevens van deze server verwerkt of opgeslagen, en met deze server uitgewisseld.
user_count_after:
one: gebruiker
other: gebruikers
@@ -53,6 +59,7 @@ nl:
media: Media
moved_html: "%{name} is verhuisd naar %{new_profile_link}:"
network_hidden: Deze informatie is niet beschikbaar
+ never_active: Nooit
nothing_here: Hier is niets!
people_followed_by: Mensen die %{name} volgen
people_who_follow: Mensen die %{name} volgen
@@ -183,6 +190,7 @@ nl:
username: Gebruikersnaam
warn: Waarschuwen
web: Webapp
+ whitelisted: Op de witte lijst
action_logs:
actions:
assigned_to_self_report: "%{name} heeft rapportage %{target} aan zichzelf toegewezen"
@@ -218,10 +226,12 @@ nl:
deleted_status: "(verwijderde toot}"
title: Auditlog
custom_emojis:
+ assign_category: Categorie toewijzen
by_domain: Domein
copied_msg: Lokale kopie van emoji maken geslaagd
copy: Kopiëren
copy_failed_msg: Kan geen lokale kopie van deze emoji maken
+ create_new_category: Nieuwe categorie toevoegen
created_msg: Aanmaken van emoji geslaagd!
delete: Verwijderen
destroyed_msg: Verwijderen van emoji geslaagd!
@@ -238,11 +248,13 @@ nl:
shortcode: Verkorte code
shortcode_hint: Tenminste 2 tekens (alleen alfanumeriek en underscores)
title: Lokale emoji’s
+ uncategorized: Niet gecategoriseerd
unlisted: Niet weergegeven
update_failed_msg: Deze emoji kon niet worden bijgewerkt
updated_msg: Bijwerken van emoji is geslaagd!
upload: Uploaden
dashboard:
+ authorized_fetch_mode: Geautoriseerde ophaalmodus
backlog: achterstallige taken
config: Configuratie
feature_deletions: Verwijderen van account
@@ -250,10 +262,13 @@ nl:
feature_profile_directory: Gebruikersgids
feature_registrations: Registraties
feature_relay: Federatierelay
+ feature_spam_check: Anti-spam
feature_timeline_preview: Voorvertoning van tijdlijn
features: Functies
hidden_service: Federatie met verborgen diensten
open_reports: onopgeloste rapportages
+ pending_tags: hashtags die op een beoordeling wachten
+ pending_users: gebruikers die op een beoordeling wachten
recent_users: Recente gebruikers
search: In volledige tekst zoeken
single_user_mode: Modus voor één gebruiker
@@ -265,11 +280,18 @@ nl:
week_interactions: interacties deze week
week_users_active: actieve gebruikers deze week
week_users_new: nieuwe gebruikers deze week
+ whitelist_mode: Modus voor de witte lijst
+ domain_allows:
+ add_new: Domein voor de witte lijst
+ created_msg: Het domein is succesvol aan de witte lijst toegevoegd
+ destroyed_msg: Het domein is van de witte lijst verwijderd
+ undo: Van de witte lijst verwijderen
domain_blocks:
add_new: Nieuwe domeinblokkade toevoegen
created_msg: Domeinblokkade wordt nu verwerkt
destroyed_msg: Domeinblokkade is ongedaan gemaakt
domain: Domein
+ edit: Domeinblokkade bewerken
existing_domain_block_html: Jij hebt al strengere beperkingen opgelegd aan %{name}, je moet het domein eerst deblokkeren.
new:
create: Blokkade aanmaken
@@ -280,6 +302,10 @@ nl:
silence: Negeren
suspend: Opschorten
title: Nieuwe domeinblokkade
+ private_comment: Privé-opmerking
+ private_comment_hint: Opmerking over deze domeinbeperking voor intern gebruik door de moderatoren.
+ public_comment: Openbare opmerking
+ public_comment_hint: Opmerking over deze domeinbeperking voor het grote publiek, voor wanneer de openbare lijst met domeinbeperkingen is ingeschakeld.
reject_media: Mediabestanden weigeren
reject_media_hint: Verwijderd lokaal opgeslagen mediabestanden en weigert deze in de toekomst te downloaden. Irrelevant voor opgeschorte domeinen
reject_reports: Rapportages weigeren
@@ -299,6 +325,7 @@ nl:
title: Domeinblokkade voor %{domain} ongedaan maken
undo: Ongedaan maken
undo: domeinblokkade ongedaan maken
+ view: Domeinblokkade bekijken
email_domain_blocks:
add_new: Nieuwe toevoegen
created_msg: Blokkeren e-maildomein geslaagd
@@ -322,6 +349,8 @@ nl:
all: Alles
limited: Beperkt
title: Moderatie
+ private_comment: Privé-opmerking
+ public_comment: Openbare opmerking
title: Andere domeinen
total_blocked_by_us: Door ons geblokkeerd
total_followed_by_them: Door hun gevolgd
@@ -399,6 +428,13 @@ nl:
custom_css:
desc_html: Het uiterlijk van deze server met CSS aanpassen
title: Aangepaste CSS
+ domain_blocks:
+ all: Naar iedereen
+ disabled: Naar niemand
+ title: Domeinblokkades tonen
+ users: Naar ingelogde lokale gebruikers
+ domain_blocks_rationale:
+ title: Motivering tonen
hero:
desc_html: Wordt op de voorpagina getoond. Tenminste 600x100px aanbevolen. Wanneer dit niet is ingesteld wordt de thumbnail van de Mastodonserver getoond
title: Hero-afbeelding
@@ -449,6 +485,8 @@ nl:
desc_html: Je kan hier jouw eigen privacybeleid, gebruiksvoorwaarden en ander juridisch jargon kwijt. Je kan HTML gebruiken
title: Aangepaste gebruiksvoorwaarden
site_title: Naam Mastodonserver
+ spam_check_enabled:
+ title: Automatische spambestrijding
thumbnail:
desc_html: Gebruikt als voorvertoning voor OpenGraph en de API. 1200x630px aanbevolen
title: Thumbnail Mastodonserver
@@ -456,12 +494,15 @@ nl:
desc_html: Toon een openbare tijdlijn op de voorpagina
title: Tijdlijn op de voorpagina tonen
title: Server-instellingen
+ trends:
+ title: Trending hashtags
statuses:
back_to_account: Terug naar accountpagina
batch:
delete: Verwijderen
nsfw_off: Als niet gevoelig markeren
nsfw_on: Als gevoelig markeren
+ deleted: Verwijderd
failed_to_execute: Uitvoeren mislukt
media:
title: Media
@@ -470,13 +511,23 @@ nl:
title: Toots van account
with_media: Met media
tags:
- accounts: Accounts
- hidden: Verborgen
- hide: Niet in gebruikersgids tonen
+ accounts_today: Aantal verschillende keren vandaag gebruikt
+ accounts_week: Aantal verschillende keren deze week gebruikt
+ breakdown: Uitsplitsing van het gebruik van vandaag naar bron
+ context: Context
+ directory: In de gebruikersgids
+ in_directory: "%{count} keer in de gebruikersgids"
+ last_active: Laatst actief
+ most_popular: Meest populair
+ most_recent: Meest recent
name: Hashtag
+ review: Status beoordelen
+ reviewed: Beoordeeld
title: Hashtags
- unhide: In gebruikersgids tonen
- visible: Zichtbaar
+ trending_right_now: Op dit moment trending
+ unique_uses_today: "%{count} keer vandaag gebruikt"
+ unreviewed: Niet beoordeeld
+ updated_msg: Instellingen hashtag succesvol bijgewerkt
title: Beheer
warning_presets:
add_new: Nieuwe toevoegen
@@ -492,11 +543,17 @@ nl:
body: "%{reporter} heeft %{target} gerapporteerd"
body_remote: Iemand van %{domain} heeft %{target} gerapporteerd
subject: Nieuwe rapportage op %{instance} (#%{id})
+ aliases:
+ add_new: Alias aanmaken
+ created_msg: Succesvol een nieuwe alias aangemaakt. Je kunt nu met de verhuizing vanaf het oude account beginnen.
+ deleted_msg: De alias is succesvol verwijderd. Verhuizen vanaf dat account naar dit account is niet meer mogelijk.
+ remove: Alias ontkoppelen
appearance:
advanced_web_interface: Geavanceerde webomgeving
advanced_web_interface_hint: 'Wanneer je van de hele schermbreedte gebruik wilt maken, stelt de geavanceerde webomgeving je in staat om meerdere verschillende kolommen te configureren. Hiermee kun je zoveel mogelijk informatie op hetzelfde moment bekijken, zoals: Start, meldingen, de globale tijdlijn, meerdere lijsten en hashtags.'
animations_and_accessibility: Animaties en toegankelijkheid
confirmation_dialogs: Bevestigingen
+ discovery: Ontdekken
sensitive_content: Gevoelige inhoud
application_mailer:
notification_preferences: E-mailvoorkeuren wijzigen
@@ -517,9 +574,10 @@ nl:
apply_for_account: Een uitnodiging aanvragen
change_password: Wachtwoord
checkbox_agreement_html: Ik ga akkoord met de regels van deze server en de gebruiksvoorwaarden
- confirm_email: E-mail bevestigen
delete_account: Account verwijderen
delete_account_html: Wanneer je jouw account graag wilt verwijderen, kun je dat hier doen. We vragen jou daar om een bevestiging.
+ description:
+ prefix_sign_up: Registreer je vandaag nog op Mastodon!
didnt_get_confirmation: Geen bevestigingsinstructies ontvangen?
forgot_password: Wachtwoord vergeten?
invalid_reset_password_token: De code om jouw wachtwoord opnieuw in te stellen is verlopen. Vraag een nieuwe aan.
@@ -537,6 +595,11 @@ nl:
reset_password: Wachtwoord opnieuw instellen
security: Beveiliging
set_new_password: Nieuw wachtwoord instellen
+ setup:
+ title: Instellen
+ status:
+ account_status: Accountstatus
+ functional: Jouw account is volledig operationeel.
trouble_logging_in: Problemen met inloggen?
authorize_follow:
already_following: Je volgt dit account al
@@ -549,6 +612,10 @@ nl:
return: Profiel van deze gebruiker tonen
web: Ga naar de webapp
title: Volg %{acct}
+ challenge:
+ confirm: Doorgaan
+ invalid_password: Ongeldig wachtwoord
+ prompt: Bevestig wachtwoord om door te gaan
datetime:
distance_in_words:
about_x_hours: "%{count}u"
@@ -564,26 +631,25 @@ nl:
x_months: "%{count}ma"
x_seconds: "%{count}s"
deletes:
- bad_password_msg: Goed geprobeerd hackers! Ongeldig wachtwoord
+ challenge_not_passed: De informatie die u hebt ingevoerd is ongeldig
confirm_password: Voer jouw huidige wachtwoord in om jouw identiteit te bevestigen
- description_html: Hierdoor worden alle gegevens van jouw account permanent, onomkeerbaar verwijderd en wordt deze gedeactiveerd. Om toekomstige identiteitsdiefstal te voorkomen, kan op deze server jouw gebruikersnaam niet meer gebruikt worden.
+ confirm_username: Voer uw gebruikersnaam in om de procedure te bevestigen
proceed: Account verwijderen
success_msg: Jouw account is succesvol verwijderd
- warning_html: We kunnen alleen garanderen dat jouw gegevens op deze server worden verwijderd. Berichten (toots), incl. media, die veel zijn gedeeld laten mogelijk sporen achter. Offline servers en servers die niet meer op jouw updates zijn geabonneerd zullen niet hun databases updaten.
- warning_title: Verwijdering gegevens op andere servers
+ warning:
+ username_available: Jouw gebruikersnaam zal weer beschikbaar komen
+ username_unavailable: Jouw gebruikersnaam zal onbeschikbaar blijven
directories:
directory: Gebruikersgids
- enabled: Je staat momenteel in de gebruikersgids vermeldt.
- enabled_but_waiting: Je hebt er voor gekozen om in de gebruikersgids te worden vermeldt, maar je hebt daarvoor nog niet het minimaal aantal volgers (%{min_followers}).
explanation: Ontdek gebruikers aan de hand van hun interesses
explore_mastodon: "%{title} verkennen"
- how_to_enable: Je geeft momenteel geen toestemming om in de gebruikersgids te worden vermeldt. Je kunt hieronder toestemming geven. Gebruik hashtags in de tekst van jouw bio, om onder bepaalde hashtags te worden vermeldt!
- people:
- one: "%{count} gebruikers"
- other: "%{count} gebruikers"
+ domain_validator:
+ invalid_domain: is een ongeldige domeinnaam
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Jij hebt geen toestemming om deze pagina te bekijken.
'404': De pagina waarnaar jij op zoek bent bestaat niet.
+ '406': This page is not available in the requested format.
'410': De pagina waarnaar jij op zoek bent bestaat niet meer.
'422':
content: Veiligheidsverificatie mislukt. Blokkeer je toevallig cookies?
@@ -592,6 +658,7 @@ nl:
'500':
content: Het spijt ons, er is aan onze kant iets fout gegaan.
title: Er is iets mis
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Schakel JavaScript in om de webapp van Mastodon te kunnen gebruiken. Als alternatief kan je een Mastodon-app zoeken voor jouw platform.
existing_username_validator:
not_found: Kon geen lokale gebruiker met die gebruikersnaam vinden
@@ -635,6 +702,7 @@ nl:
developers: Ontwikkelaars
more: Meer…
resources: Hulpmiddelen
+ trending_now: Trends
generic:
all: Alles
changes_saved_msg: Wijzigingen succesvol opgeslagen!
@@ -709,10 +777,31 @@ nl:
images_and_video: Een video kan niet aan een toot met afbeeldingen worden gekoppeld
too_many: Er kunnen niet meer dan 4 afbeeldingen toegevoegd worden
migrations:
- acct: gebruikersnaam@domein van het nieuwe account
- currently_redirecting: 'Jouw profiel wordt nu doorverwezen naar:'
- proceed: Opslaan
- updated_msg: Jouw accountmigratie-instelling is succesvol bijgewerkt!
+ acct: Verhuisd naar
+ cancel: Doorverwijzing annuleren
+ cancelled_msg: De doorverwijzing is succesvol geannuleerd.
+ errors:
+ already_moved: is hetzelfde account waarnaar je al naar toe bent verhuisd
+ missing_also_known_as: verwijst niet terug naar dit account
+ move_to_self: kan niet het huidige account zijn
+ not_found: kon niet worden gevonden
+ on_cooldown: Jouw laatste migratie is nog te kort geleden
+ followers_count: Volgers op het moment van verhuizing
+ incoming_migrations: Verhuizen vanaf een ander account
+ incoming_migrations_html: Om te vanaf een ander account naar dit account te verhuizen, moet je eerst een accountalias aanmaken.
+ moved_msg: Jouw account wordt nu naar %{acct} doorverwezen en jouw volgers worden verhuisd.
+ not_redirecting: Jouw account wordt momenteel niet naar een ander account doorverwezen.
+ on_cooldown: Je hebt recentelijk jouw account verhuisd. Deze mogelijkheid is weer beschikbaar over %{count} dagen.
+ past_migrations: Vorige migraties
+ proceed_with_move: Volgers verhuizen
+ redirecting_to: Jouw account wordt nu naar %{acct} doorverwezen.
+ warning:
+ backreference_required: Het nieuwe account moet eerst worden ingesteld om naar dit account te kunnen terugverwijzen
+ before: 'Lees eerst goed deze tekst, alvorens verder te gaan:'
+ cooldown: Na de verhuizing kun je tijdelijk niet opnieuw verhuizen
+ disabled_account: Jouw huidige account is hierna niet meer volledig bruikbaar. Je hebt echter wel toegang tot het exporteren van je gegevens en tot het opnieuw activeren van je account.
+ followers: Deze actie verhuisd alle volgers vanaf het huidige account naar het nieuwe account
+ other_data: Geen andere gegevens worden automatisch verhuisd
moderation:
title: Moderatie
notification_mailer:
@@ -857,6 +946,7 @@ nl:
settings:
account: Account
account_settings: Accountinstellingen
+ aliases: Accountaliassen
appearance: Uiterlijk
authorized_apps: Geautoriseerde apps
back: Terug naar Mastodon
@@ -915,6 +1005,8 @@ nl:
pinned: Vastgemaakte toot
reblogged: boostte
sensitive_content: Gevoelige inhoud
+ tags:
+ does_not_match_previous_name: komt niet overeen met de vorige naam
terms:
body_html: |
Privacy Policy
@@ -1032,7 +1124,9 @@ nl:
disable: Zolang jouw account is bevroren blijven jouw accountgegevens intact, maar kun je geen handelingen uitvoeren totdat het account is vrijgegeven.
silence: Zolang jouw account wordt beperkt, kunnen alleen mensen die jou al volgen jouw toots op deze server zien. Tevens ben je niet zichtbaar in meldingen, gesprekken en op openbare tijdlijnen. Anderen kunnen je echter wel handmatig volgen.
suspend: Jouw account is opgeschort. Jouw toots en geüploade media zijn onomkeerbaar van deze server verwijderd, en ook o.a. van de servers waar jij volgers had.
+ get_in_touch: Je kunt deze e-mail beantwoorden om in contact te komen met de medewerkers van %{instance}.
review_server_policies: Serverbeleid bekijken
+ statuses: 'Met name voor:'
subject:
disable: Jouw account %{acct} is bevroren
none: Waarschuwing voor %{acct}
diff --git a/config/locales/nn.yml b/config/locales/nn.yml
new file mode 100644
index 000000000..a1b61d6e7
--- /dev/null
+++ b/config/locales/nn.yml
@@ -0,0 +1,20 @@
+---
+nn:
+ 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': Throttled
+ '500':
+ '503': The page could not be served due to a temporary server failure.
+ invites:
+ expires_in:
+ '1800': 30 minutes
+ '21600': 6 hours
+ '3600': 1 hour
+ '43200': 12 hours
+ '604800': 1 week
+ '86400': 1 day
diff --git a/config/locales/no.yml b/config/locales/no.yml
index fbf138393..c6b9605b3 100644
--- a/config/locales/no.yml
+++ b/config/locales/no.yml
@@ -7,9 +7,6 @@
contact: Kontakt
contact_missing: Ikke innstilt
contact_unavailable: Ikke tilgjengelig
- extended_description_html: |
-
En god plassering for regler
-
En utvidet beskrivelse er ikke satt opp ennå.
generic_description: "%{domain} er en tjener i nettverket"
hosted_on: Mastodon driftet på %{domain}
learn_more: Lær mer
@@ -326,16 +323,14 @@
x_months: "%{count} mnd"
x_seconds: "%{count} sek"
deletes:
- bad_password_msg: Godt forsøk, hacker! Feil passord
confirm_password: Skriv inn ditt passord for å verifisere din identitet
- description_html: Dette vil permanent, irreversibelt fjerne innhold fra din konto og deaktivere den. Ditt brukernavn vil forbli reservert for å forhindre fremtidige etterligninger.
proceed: Slett konto
success_msg: Din konto ble slettet
- warning_html: Kun sletting av innhold fra denne instansen er garantert. Innhold som har blitt delt i stor utstrekning vil sannsynligvis legge igjen spor. Tjenere som er frakoblet og tjenere som ikke abbonerer på dine oppdatereringer vil ikke oppdatere sine databaser.
- warning_title: Tilgjengelighet av spredt innhold
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Du har ikke tillatelse til å vise denne siden.
'404': Siden du leter etter finnes ikke.
+ '406': This page is not available in the requested format.
'410': Siden du leter etter finnes ikke lenger.
'422':
content: Sikkerhetsverifisering feilet. Blokkerer du informasjonskapsler?
@@ -344,6 +339,7 @@
'500':
content: Beklager men noe gikk galt ved vår ende.
title: Denne siden er ikke korrekt
+ '503': The page could not be served due to a temporary server failure.
noscript_html: For å bruke Mastodon webapplikasjon må du aktivere JavaScript. Alternativt kan du forsøke en av de mange integrerte appene for Mastodon til din plattform.
exports:
blocks: Du blokkerer
@@ -395,9 +391,6 @@
too_many: Kan ikke legge ved mer enn 4 filer
migrations:
acct: brukernavn@domene til den nye kontoen
- currently_redirecting: 'Din profil er omdirigert til:'
- proceed: Lagre
- updated_msg: Dine innstillinger for kontomigrering er oppdatert!
moderation:
title: Moderasjon
notification_mailer:
diff --git a/config/locales/oc.yml b/config/locales/oc.yml
index 067c343b8..101483c3e 100644
--- a/config/locales/oc.yml
+++ b/config/locales/oc.yml
@@ -17,9 +17,6 @@ oc:
contact_unavailable: Pas disponible
discover_users: Descobrissètz de nòvas personas
documentation: Documentacion
- extended_description_html: |
-
Una bona plaça per las règlas
-
La descripcion longa es pas estada causida pel moment.
federation_hint_html: Amb un compte sus %{instance} poiretz sègre de personas de qualque siasque servidor Mastodon e encara mai.
generic_description: "%{domain} es un dels servidors del malhum"
get_apps: Ensajatz una aplicacion mobil
@@ -35,6 +32,9 @@ oc:
status_count_before: qu’an escrich
tagline: Seguètz d’amics e trobatz-ne de nòus
terms: Condicions d’utilizacion
+ unavailable_content: Contengut pas disponible
+ unavailable_content_description:
+ reason: 'Motiu :'
user_count_after:
one: utilizaire
other: utilizaires
@@ -183,6 +183,7 @@ oc:
username: Nom d’utilizaire
warn: Avisar
web: Web
+ whitelisted: Mes en lista blanca
action_logs:
actions:
assigned_to_self_report: "%{name} s’assignèt lo rapòrt %{target}"
@@ -250,6 +251,7 @@ oc:
feature_profile_directory: Annuari de perfils
feature_registrations: Inscripcions
feature_relay: Relai de federacion
+ feature_spam_check: Anti-spam
feature_timeline_preview: Apercebut del flux d’actualitats
features: Foncionalitats
hidden_service: Federacion amb servicis amagats
@@ -265,11 +267,18 @@ oc:
week_interactions: interaccions aquesta setmana
week_users_active: actius aquesta setmana
week_users_new: utilizaires aquesta setmana
+ whitelist_mode: Mòde lista blanca
+ domain_allows:
+ add_new: Plaçar en lista blanca
+ created_msg: Lo domeni es corrèctament estat plaçat en lista blanca
+ destroyed_msg: Lo domeni es corrèctament estat levat de la lista blanca
+ undo: Levar de la lista blanca
domain_blocks:
add_new: Ajustar un novèl blocatge de domeni
created_msg: Domeni blocat es a èsser tractat
destroyed_msg: Lo blocatge del domeni es estat levat
domain: Domeni
+ edit: Modificar lo blocatge de domeni
existing_domain_block_html: Impausèretz ja de limitas mai estrictas per %{name}, vos cal lo desblocard’en primièr.
new:
create: Crear blocatge
@@ -280,6 +289,8 @@ oc:
silence: Silenci
suspend: Suspendre
title: Nòu blocatge domeni
+ private_comment: Comentari privat
+ public_comment: Comentari public
reject_media: Regetar los fichièrs mèdias
reject_media_hint: Lèva los fichièrs gardats localament e regèta las demandas de telecargament dins lo futur. Servís pas a res per las suspensions
reject_reports: Regetar los senhalaments
@@ -299,6 +310,7 @@ oc:
title: Restablir lo blocatge de domeni de %{domain}
undo: Restablir
undo: Restablir
+ view: Veire lo blocatge de domeni
email_domain_blocks:
add_new: Ajustar
created_msg: Blocatge del domeni de corrièl ben plaçat
@@ -322,6 +334,8 @@ oc:
all: Totas
limited: Limitat
title: Moderacion
+ private_comment: Comentari privat
+ public_comment: Comentari public
title: Federacion
total_blocked_by_us: Avèm blocat
total_followed_by_them: Sègon
@@ -449,6 +463,8 @@ oc:
desc_html: Afichada sus la pagina de las condicions d’utilizacion Podètz utilizar de balisas HTML
title: Politica de confidencialitat del site
site_title: Títol del servidor
+ spam_check_enabled:
+ title: Anti-spam
thumbnail:
desc_html: Servís pels apercebuts via OpenGraph e las API. Talha de 1200x630px recomandada
title: Miniatura del servidor
@@ -470,13 +486,14 @@ oc:
title: Estatuts del compte
with_media: Amb mèdia
tags:
- accounts: Comptes
- hidden: Amagat
- hide: Amagar dins l’annuari
+ context: Contèxt
+ directory: A l’annuari
+ in_directory: "%{count} a l’annuari"
+ last_active: Darrièra activitat
+ most_popular: Mai popularas
+ most_recent: Mai recentas
name: Etiqueta
title: Etiquetas
- unhide: Aparéisser dins l’annuari
- visible: Visible
title: Administracion
warning_presets:
add_new: N’ajustar un nòu
@@ -497,6 +514,7 @@ oc:
advanced_web_interface_hint: 'Se volètz utilizar la nautor complèta de l’ecran, l’interfàcia web avançada vos permet de configurar diferentas colomnas per mostrar tan d’informacions que volètz : Acuèlh, notificacions, flux d’actualitat, e d’autras listas e etiquetas.'
animations_and_accessibility: Animacion e accessibilitat
confirmation_dialogs: Fenèstras de confirmacion
+ discovery: Descobèrta
sensitive_content: Contengut sensible
application_mailer:
notification_preferences: Cambiar las preferéncias de corrièl
@@ -517,7 +535,6 @@ oc:
apply_for_account: Demandar una invitacion
change_password: Senhal
checkbox_agreement_html: Accepti las règlas del servidor e los tèrmes del servici
- confirm_email: Confirmar lo corrièl
delete_account: Suprimir lo compte
delete_account_html: Se volètz suprimir vòstre compte, podètz o far aquí. Vos demandarem que confirmetz.
didnt_get_confirmation: Avètz pas recebut las instruccions de confirmacion ?
@@ -537,6 +554,10 @@ oc:
reset_password: Reïnicializar lo senhal
security: Seguretat
set_new_password: Picar un nòu senhal
+ setup:
+ title: Configuracion
+ status:
+ account_status: Estat del compte
trouble_logging_in: Problèmas de connexion ?
authorize_follow:
already_following: Seguètz ja aqueste compte
@@ -549,6 +570,10 @@ oc:
return: Veire lo perfil a la persona
web: Tornar a l’interfàcia Web
title: Sègre %{acct}
+ challenge:
+ confirm: Contunhar
+ invalid_password: Senhal invalid
+ prompt: Confirmatz lo senhal per dire de contunhar
datetime:
distance_in_words:
about_x_hours: "%{count} h"
@@ -564,26 +589,20 @@ oc:
x_months: "%{count} meses"
x_seconds: "%{count}s"
deletes:
- bad_password_msg: Ben ensajat pirata ! Senhal incorrècte
confirm_password: Picatz vòstre senhal actual per verificar vòstra identitat
- description_html: Aquò suprimirà definitivament e sens possibilitat de retorn lo contengut de vòstre compte e lo desactivarà. Lo nom d’utilizaire serà gardat per evitar una futura impostura.
proceed: Suprimir lo compte
success_msg: Compte ben suprimit
- warning_html: La supression del contengut d’aqueste servidor es sola assegurada. Lo contengut fòrça partejat daissarà probablament de traças. Los servidors fòra-linha e los que vos sègon pas mai auràn pas la mesa a jorn de lor basa de donada.
- warning_title: Disponibilitat del contengut difusat
directories:
directory: Annuari de perfils
- enabled: Sètz actualament listat dins l'annuari.
- enabled_but_waiting: Avètz causit d'èsser listat dins l'annuari mas avètz pas encara lo nombre minimum de seguidors (%{min_followers}) per i èsser listat.
explanation: Trobar d’utilizaires segon lor interèsses
explore_mastodon: Explorar %{title}
- how_to_enable: Sètz pas actualament listat dins l’annuari. Podètz cambiar aquò çai-jos. Utilizatz d'etiquetas dins vòstre tèxt de bio per èsser listat amb d’etiquetas especificas !
- people:
- one: "%{count} persona"
- other: "%{count} personas"
+ domain_validator:
+ invalid_domain: es pas un nom de domeni valid
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Avètz pas l’autorizacion de veire aquesta pagina.
'404': La pagina que cercatz existís pas aquí.
+ '406': This page is not available in the requested format.
'410': La pagina que cercatz existís pas mai aquí.
'422':
content: Verificacion de seguretat fracassada. Blocatz los cookies ?
@@ -592,6 +611,7 @@ oc:
'500':
content: Un quicomet a pas foncionat coma caliá.
title: Aquesta pagina es pas corrècta
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Per utilizar l’aplicacion web de Mastodon, mercés d’activar JavaScript. O podètz utilizar una aplicacion per vòstra plataforma coma alernativa.
existing_username_validator:
not_found: impossible de trobar un utilizaire local amb aqueste nom d’utilizaire
@@ -600,8 +620,8 @@ oc:
archive_takeout:
date: Data
download: Telecargar vòstre archiu
- hint_html: Podètz demandar un archiu de vòstres tuts e mèdias enviats. Las donadas exportadas seràn al format ActivityPub, ligible pels logicials compatibles. Podètz demandar un archiu cada 7 jorns.
- in_progress: Complilacion de vòstre archiu...
+ hint_html: Podètz demandar un archiu de vòstres tuts e mèdias enviats. Las donadas exportadas seràn al format ActivityPub, legible pels logicials compatibles. Podètz demandar un archiu cada 7 jorns.
+ in_progress: Compilacion de vòstre archiu...
request: Demandar vòstre archiu
size: Talha
blocks: Personas que blocatz
@@ -635,6 +655,7 @@ oc:
developers: Desvolopaires
more: Mai…
resources: Ressorsas
+ trending_now: Tendéncia del moment
generic:
all: Tot
changes_saved_msg: Cambiaments ben realizats !
@@ -710,9 +731,10 @@ oc:
too_many: Se pòt pas ajustar mai de 4 fichièrs
migrations:
acct: nomutilizaire@domeni del nòu compte
- currently_redirecting: 'Vòstre perfil es parametrat per mandar a :'
- proceed: Enregistrar
- updated_msg: Vòstre paramètre de migracion es ben estat mes a jorn !
+ errors:
+ move_to_self: pòt pas èsser lo compte actual
+ not_found: impossible de trobar
+ proceed_with_move: Desplaçar los seguidors
moderation:
title: Moderacion
notification_mailer:
@@ -1035,6 +1057,7 @@ oc:
silence: Del temps que vòstre compte es limitat, solament lo monde que vos sègon veiràn vòstres tuts sus aqueste servidor, e poiriatz èsser tirat de mantunas listas publicas. Pasmens, d’autres vos pòdon sègre manualament.
suspend: Vòstre compte es suspendut e totes vòstres tuts e fichièrs enviats son estats suprimits sens retorn possible d’aqueste servidor e los de vòstres seguidors.
review_server_policies: Repassar las politicas del servidor
+ statuses: 'Especificament per :'
subject:
disable: Vòstre compte %{acct} es gelat
none: Avertiment per %{acct}
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index 1d6f13090..46b911694 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -17,9 +17,6 @@ pl:
contact_unavailable: Nie dotyczy
discover_users: Odkrywaj użytkowników
documentation: Dokumentacja
- extended_description_html: |
-
Dobre miejsce na zasady użytkowania
-
Nie ustawiono jeszcze szczegółowego opisu
federation_hint_html: Z kontem na %{instance}, możesz śledzić użytkowników każdego serwera Mastodona i nie tylko.
generic_description: "%{domain} jest jednym z serwerów sieci"
get_apps: Spróbuj aplikacji mobilnej
@@ -482,13 +479,7 @@ pl:
title: Wpisy konta
with_media: Z zawartością multimedialną
tags:
- accounts: Konta
- hidden: Ukryte
- hide: Ukryj w katalogu
- name: Hasztag
title: Hashtagi
- unhide: Pokazuj w katalogu
- visible: Widoczne
title: Administracja
warning_presets:
add_new: Dodaj nowy
@@ -529,7 +520,6 @@ pl:
apply_for_account: Poproś o zaproszenie
change_password: Hasło
checkbox_agreement_html: Zgadzam się z regułami serwera i zasadami korzystania z usługi
- confirm_email: Potwierdź adres e-mail
delete_account: Usunięcie konta
delete_account_html: Jeżeli chcesz usunąć konto, przejdź tutaj. Otrzymasz prośbę o potwierdzenie.
didnt_get_confirmation: Nie otrzymałeś(-aś) instrukcji weryfikacji?
@@ -576,28 +566,18 @@ pl:
x_months: "%{count} miesięcy"
x_seconds: "%{count}s"
deletes:
- bad_password_msg: Niezła próba, hakerze! Wprowadzono nieprawidłowe hasło
confirm_password: Wprowadź aktualne hasło, aby potwierdzić tożsamość
- description_html: Ta opcja usunie bezpowrotnie i nieodwracalnie całą zawartość konta i zdezaktywuje je. Twoja nazwa użytkownika pozostanie zarezerwowana, aby zapobiec nadużyciom.
proceed: Usuń konto
success_msg: Twoje konto zostało pomyślnie usunięte
- warning_html: Możemy usunąć zawartość jedynie w obrębie tego serwera. Zawartość udostępniona publicznie pozostawia trwałe ślady. Serwery niepodłączone do sieci bądź nieśledzące Twoich aktualizacji mogą zachować Twoje dane.
- warning_title: Dostępność usuniętej zawartości
directories:
directory: Katalog profilów
- enabled: Jesteś obecnie zapisany(-a) do katalogu
- enabled_but_waiting: Jesteś zapisany(-a) do katalogu, ale jeszcze nie śledzi Cię wystarczająca liczba osób (%{min_followers}), aby się tam pojawić.
explanation: Poznaj profile na podstawie zainteresowań
explore_mastodon: Odkrywaj %{title}
- how_to_enable: Nie jesteś obecnie zapisany(-a) do katalogu. Poniżej możesz zapisać się. Użyj hashtagów w swoim opisie, aby zostać wyświetlonym pod określonymi hashtagami!
- people:
- few: "%{count} osoby"
- many: "%{count} osób"
- one: "%{count} osoba"
- other: "%{count} osób"
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Nie masz uprawnień, aby wyświetlić tę stronę.
'404': Strona, którą próbujesz odwiedzić, nie istnieje.
+ '406': This page is not available in the requested format.
'410': Strona, którą próbujesz odwiedzić, przestała istnieć.
'422':
content: Sprawdzanie bezpieczeństwa nie powiodło się. Czy blokujesz pliki cookie?
@@ -606,6 +586,7 @@ pl:
'500':
content: Przepraszamy, coś poszło nie tak, po naszej stronie.
title: Ta strona jest nieprawidłowa
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Aby korzystać z aplikacji Mastodon, włącz JavaScript. Możesz też skorzystać z jednej z natywnych aplikacji obsługującej Twoje urządzenie.
existing_username_validator:
not_found: nie znaleziono lokalnego użytkownika o tej nazwie
@@ -728,9 +709,6 @@ pl:
too_many: Nie możesz załączyć więcej niż 4 plików
migrations:
acct: nazwa@domena nowego konta
- currently_redirecting: 'Obecnie Twoje konto przekierowuje do:'
- proceed: Zapisz
- updated_msg: Pomyślnie zaktualizowano ustawienia migracji Twojego konta!
moderation:
title: Moderacja
notification_mailer:
@@ -1012,9 +990,9 @@ pl:
Korzystanie ze strony przez dzieci
-
Jeżeli serwer znajduje się w UE lub w EOG: Ta strona, produkty i usługi są przeznaczone dla osób, które ukończyły 16 lat. Jeżeli nie ukończyłeś(-aś) 16 roku życia, zgodnie z wymogami COPPA (Prawo o Ochronie Prywatności Dzieci w Internecie), nie używaj tej strony.
+
Jeżeli serwer znajduje się w UE lub w EOG: Ta strona, produkty i usługi są przeznaczone dla osób, które ukończyły 16 lat. Jeżeli nie ukończyłeś(-aś) 16 roku życia, zgodnie z wymogami RODO (Ogólne rozporządzenie o ochronie danych), nie używaj tej strony.
-
Jeżeli serwer znajduje się w USA: Ta strona, produkty i usługi są przeznaczone dla osób, które ukończyły 13 lat. Jeżeli nie ukończyłeś(-aś) 13 roku życia, zgodnie z wymogami RODO (Ogólne rozporządzenie o ochronie danych), nie używaj tej strony.
+
Jeżeli serwer znajduje się w USA: Ta strona, produkty i usługi są przeznaczone dla osób, które ukończyły 13 lat. Jeżeli nie ukończyłeś(-aś) 13 roku życia, zgodnie z wymogami COPPA (Prawo o Ochronie Prywatności Dzieci w Internecie), nie używaj tej strony.
Wymogi mogą być inne, jeżeli serwer znajduje się w innym kraju.
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index e29191871..32ea8caf6 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -7,6 +7,7 @@ pt-BR:
active_count_after: Ativo
active_footnote: Usuários ativos mensais (UAM)
administered_by: 'Administrado por:'
+ api: API
apps: Apps
apps_platforms: Use o Mastodon a partir de iOS, Android e outras plataformas
browse_directory: Navegue pelo diretório de perfis e filtre por interesses
@@ -16,9 +17,6 @@ pt-BR:
contact_unavailable: Não disponível
discover_users: Descubra usuários
documentation: Documentação
- extended_description_html: |
-
Um bom lugar para regras
-
A descrição da instância ainda não foi feita.
federation_hint_html: Com uma conta em %{instance} você vai poder seguir pessoas em qualquer servidor Mastodon ou outros do fediverso.
generic_description: "%{domain} é um servidor na rede"
get_apps: Experimente um aplicativo
@@ -31,6 +29,11 @@ pt-BR:
status_count_before: Autores de
tagline: Siga amigos e encontre novos
terms: Termos de serviço
+ unavailable_content: Conteúdo indisponível
+ unavailable_content_description:
+ reason: 'Motivo:'
+ suspended: Você não será capaz de seguir ninguém deste servidor, e nenhum dado dele será processado ou armazenado, e nenhum dado trocado.
+ unavailable_content_html: Mastodon geralmente permite que você veja o conteúdo e interaja com usuários de qualquer outro servidor no fediverso. Estas são as exceções deste servidor específico.
user_count_after:
one: usuário
other: usuários
@@ -38,6 +41,7 @@ pt-BR:
what_is_mastodon: O que é Mastodon?
accounts:
choices_html: 'Escolhas de %{name}:'
+ featured_tags_hint: Você pode destacar hashtags específicas que serão exibidas aqui.
follow: Seguir
followers:
one: Seguidor
@@ -49,11 +53,16 @@ pt-BR:
media: Mídia
moved_html: "%{name} se mudou para %{new_profile_link}:"
network_hidden: Esta informação não está disponível
+ never_active: Nunca
nothing_here: Não há nada aqui!
people_followed_by: Pessoas que %{name} segue
people_who_follow: Pessoas que seguem %{name}
pin_errors:
following: Você tem que estar seguindo a pessoa que você quer sugerir
+ posts:
+ one: Toot
+ other: Toots
+ posts_tab_heading: Toots
posts_with_replies: Toots e respostas
reserved_username: Este usuário está reservado
roles:
@@ -75,6 +84,7 @@ pt-BR:
approve: Aprovar
approve_all: Aprovar tudo
are_you_sure: Você tem certeza?
+ avatar: Imagem de Perfil
by_domain: Domínio
change_email:
changed_msg: E-mail da conta modificado com sucesso!
@@ -105,9 +115,11 @@ pt-BR:
header: Cabeçalho
inbox_url: URL da caixa de entrada
invited_by: Convidado por
+ ip: IP
joined: Se cadastrou
location:
all: Todos
+ local: Local
remote: Remoto
title: Localização
login_status: Situação de login
@@ -163,6 +175,7 @@ pt-BR:
statuses: Postagens
subscribe: Inscrever-se
suspended: Suspenso
+ time_in_queue: Esperando na fila por %{time}
title: Contas
unconfirmed_email: E-mail não confirmado
undo_silenced: Retirar silenciamento
@@ -170,6 +183,7 @@ pt-BR:
unsubscribe: Desinscrever-se
username: Nome de usuário
warn: Notificar
+ web: Web
action_logs:
actions:
assigned_to_self_report: "%{name} designou a denúncia %{target} para si"
@@ -205,15 +219,18 @@ pt-BR:
deleted_status: "(status deletado)"
title: Auditar relatório
custom_emojis:
+ assign_category: Designar Categoria
by_domain: Domínio
copied_msg: Cópia local do emoji criada com sucesso
copy: Copiar
copy_failed_msg: Não foi possível criar uma cópia local deste emoji
+ create_new_category: Criar nova categoria
created_msg: Emoji criado com sucesso!
delete: Excluir
destroyed_msg: Emoji deletado com sucesso!
disable: Desabilitar
disabled_msg: Emoji desabilitado com sucesso
+ emoji: Emoji
enable: Habilitar
enabled_msg: Emoji habilitado com sucesso
image_hint: PNG de até 50KB
@@ -224,6 +241,7 @@ pt-BR:
shortcode: Atalho
shortcode_hint: Pelo menos 2 caracteres, apenas caracteres alfanuméricos e underscores
title: Emojis customizados
+ uncategorized: Não categorizado
unlisted: Não listado
update_failed_msg: Não foi possível atualizar esse emoji
updated_msg: Emoji atualizado com sucesso!
@@ -236,13 +254,17 @@ pt-BR:
feature_profile_directory: Diretório de perfis
feature_registrations: Cadastros
feature_relay: Repetidor da federação
+ feature_spam_check: Anti-spam
feature_timeline_preview: pré-visualização da timeline
features: Funcionalidades
hidden_service: Federação com serviços onion
open_reports: Denúncias em aberto
+ pending_tags: hashtags aguardando revisão
+ pending_users: usuários aguardando revisão
recent_users: Usuários recentes
search: Pesquisa em texto
single_user_mode: Modo de usuário único
+ software: Software
space: Uso de espaço em disco
title: Painel de controle
total_users: usuários no total
@@ -255,6 +277,8 @@ pt-BR:
created_msg: Bloqueio de domínio está sendo processado
destroyed_msg: Bloqueio de domínio desfeito
domain: Domínio
+ edit: Editar bloqueio de domínio
+ existing_domain_block_html: Você já impôs limites mais restritivos a %{name}, é necessário primeiro desbloqueá-lo.
new:
create: Criar bloqueio
hint: O bloqueio de domínio não prevenirá a criação de entradas de contas na base de dados, mas vai reatroativa e automaticamente aplicar métodos específicos de moderação nestas contas.
@@ -264,6 +288,8 @@ pt-BR:
silence: Silêncio
suspend: Suspensão
title: Novo bloqueio de domínio
+ private_comment: Comentário privado
+ public_comment: Comentário público
reject_media: Rejeitar arquivos de mídia
reject_media_hint: Remove arquivos de mídia armazenados localmente e recusa quaisquer outros no futuro. Irrelevante para suspensões
reject_reports: Rejeitar denúncias
@@ -283,6 +309,7 @@ pt-BR:
title: Retirar bloqueio de domínio de %{domain}
undo: Retirar
undo: Retirar bloqueio de domínio
+ view: Ver domínios bloqueados
email_domain_blocks:
add_new: Adicionar novo
created_msg: Bloqueio de domínio de e-mail criado com sucesso
@@ -306,6 +333,8 @@ pt-BR:
all: Todas
limited: Limitado
title: Moderação
+ private_comment: Comentário privado
+ public_comment: Comentário público
title: Federação
total_blocked_by_us: Bloqueado por nós
total_followed_by_them: Seguidos por eles
@@ -381,6 +410,15 @@ pt-BR:
custom_css:
desc_html: Modificar o visual com CSS que é carregado em todas as páginas
title: CSS customizado
+ default_noindex:
+ desc_html: Afeta qualquer usuário que não tenha modificado esta configuração manualmente
+ domain_blocks:
+ all: Para todo mundo
+ disabled: Para ninguém
+ title: Mostrar domínios bloqueados
+ users: Para usuários locais logados
+ domain_blocks_rationale:
+ title: Visualizar justificativa
hero:
desc_html: Aparece na página inicial. Ao menos 600x100px é recomendado. Se não estiver definido, o thumbnail da instância é usado no lugar
title: Imagem de capa
@@ -431,6 +469,8 @@ pt-BR:
desc_html: Você pode escrever a sua própria política de privacidade, termos de serviço, entre outras coisas. Você pode usar tags HTML
title: Termos de serviço customizados
site_title: Nome da instância
+ spam_check_enabled:
+ title: Automação anti-spam
thumbnail:
desc_html: Usada para prévias via OpenGraph e API. Recomenda-se 1200x630px
title: Miniatura da instância
@@ -438,12 +478,15 @@ pt-BR:
desc_html: Exibir a timeline pública na página inicial
title: Prévia da timeline
title: Configurações do site
+ trends:
+ title: Hashtags em alta
statuses:
back_to_account: Voltar para página da conta
batch:
delete: Deletar
nsfw_off: Marcar como não-sensível
nsfw_on: Marcar como sensível
+ deleted: Excluídos
failed_to_execute: Falha em executar
media:
title: Mídia
@@ -452,11 +495,15 @@ pt-BR:
title: Postagens da conta
with_media: Com mídia
tags:
- accounts: Contas
- hidden: Escondido
- hide: Esconder do diretório
- unhide: Mostrar no diretório
- visible: Visível
+ context: Contexto
+ directory: No diretório
+ most_popular: Mais populares
+ most_recent: Mais recentes
+ name: Hashtag
+ title: Hashtags
+ trending_right_now: Em alta no momento
+ unreviewed: Não revisadas
+ updated_msg: Configurações de hashtag atualizadas com sucesso
title: Administração
warning_presets:
add_new: Adicionar um novo
@@ -472,8 +519,14 @@ pt-BR:
body: "%{reporter} denunciou %{target}"
body_remote: Alguém da instância %{domain} reportou %{target}
subject: Nova denúncia sobre %{instance} (#%{id})
+ appearance:
+ animations_and_accessibility: Animações e acessibilidade
+ confirmation_dialogs: Popups de confirmação
+ discovery: Descobrir
+ sensitive_content: Conteúdo sensível
application_mailer:
notification_preferences: Mudar preferências de e-mail
+ salutation: "%{name},"
settings: 'Mudar e-mail de preferência: %{link}'
view: 'Visualizar:'
view_profile: Ver perfil
@@ -490,9 +543,13 @@ pt-BR:
apply_for_account: Pedir um convite
change_password: Senha
checkbox_agreement_html: Eu concordo com as regras do servidor e com os termos de serviço
- confirm_email: Confirmar e-mail
+ checkbox_agreement_without_rules_html: Concordo com os termos do serviço
delete_account: Excluir conta
delete_account_html: Se você deseja excluir a sua conta, você pode prosseguir para cá. Uma confirmação será requisitada.
+ description:
+ prefix_invited_by_user: "@%{name} convidou você para entrar neste servidor do Mastodon!"
+ prefix_sign_up: Cadastre-se no Mastodon hoje!
+ suffix: Com uma conta, você poderá seguir pessoas, postar atualizações, trocar mensagens com usuários de qualquer servidor Mastodon e muito mais!
didnt_get_confirmation: Não recebeu instruções de confirmação?
forgot_password: Esqueceu a sua senha?
invalid_reset_password_token: Token de modificação de senha é inválido ou expirou. Por favor, requisite um novo.
@@ -501,6 +558,9 @@ pt-BR:
migrate_account: Mudar para uma conta diferente
migrate_account_html: Se você quer redirecionar essa conta para uma outra você pode configurar isso aqui.
or_log_in_with: Ou faça login com
+ providers:
+ cas: CAS
+ saml: SAML
register: Cadastrar-se
registration_closed: "%{instance} não está aceitando novos membros"
resend_confirmation: Reenviar instruções de confirmação
@@ -519,8 +579,12 @@ pt-BR:
return: Exibir o perfil do usuário
web: Voltar para a página inicial
title: Seguir %{acct}
+ challenge:
+ invalid_password: Senha inválida
+ prompt: Confirme sua senha para continuar
datetime:
distance_in_words:
+ about_x_hours: "%{count}h"
about_x_months: "%{count} meses"
about_x_years: "%{count} anos"
almost_x_years: "%{count} anos"
@@ -533,26 +597,25 @@ pt-BR:
x_months: "%{count} meses"
x_seconds: "%{count} segundos"
deletes:
- bad_password_msg: Boa tentativa, hackers! Senha incorreta
+ challenge_not_passed: As informações que você inseriu não estão corretas
confirm_password: Insira a sua senha atual para verificar a sua identidade
- description_html: Isto vai permanente e irreversivelmente remover conteúdo de sua conta e desativá-la. O seu nome de usuário permanecerá reservado para previnir futuros roubos de identidade.
+ confirm_username: Digite seu nome de usuário para confirmar o procedimento
proceed: Excluir conta
success_msg: A sua conta foi excluída com sucesso
- warning_html: Apenas a exclusão de conteúdo desta instância em particular é garantida. Conteúdo que tenha sido largamente compartilhado muito provavelmente deixará traços. Servidores offline e servidores que se desinscreveram de suas atualizações não irão atualizar as suas bases de dados.
- warning_title: Disponibilidade de conteúdo disseminado
+ warning:
+ before: 'Antes de prosseguir, por favor leia com cuidado:'
+ data_removal: Suas postagens e outros dados serão removidos permanentemente
+ username_available: Seu nome de usuário ficará disponível novamente
+ username_unavailable: Seu nome de usuário permanecerá indisponível
directories:
directory: Diretório de perfis
- enabled: Você está na lista do diretório.
- enabled_but_waiting: Você escolheu ser listado no diretório, mas você ainda não tem o mínimo de seguidores (%{min_followers}) para ser listado.
explanation: Descobrir usuários baseado em seus interesses
explore_mastodon: Explorar %{title}
- how_to_enable: Você não se inscreveu no diretório. Você pode se inscrever abaixo. Use hashtags no texto da sua bio para ser listado em hashtags específicas!
- people:
- one: "%{count} pessoa"
- other: "%{count} pessoas"
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Você não tem permissão para ver esta página.
'404': A página pela qual você está procurando não existe.
+ '406': This page is not available in the requested format.
'410': A página pela qual você está procurando não existe mais.
'422':
content: A verificação de segurança falhou. Você desativou o uso de cookies?
@@ -561,6 +624,7 @@ pt-BR:
'500':
content: Desculpe, algo deu errado.
title: Esta página não está certa
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Para usar o aplicativo web do Mastodon, por favor ative o JavaScript. Ou, se quiser, experimente um dos apps nativos para o Mastodon em sua plataforma.
existing_username_validator:
not_found: não foi possível encontrar um usuário local com esse nome de usuário
@@ -574,6 +638,7 @@ pt-BR:
request: Solicitar o seu arquivo
size: Tamanho
blocks: Você bloqueou
+ csv: CSV
domain_blocks: Bloqueios de domínio
follows: Você segue
lists: Listas
@@ -678,9 +743,15 @@ pt-BR:
too_many: Não é possível anexar mais de 4 imagens
migrations:
acct: username@domain da nova conta
- currently_redirecting: 'Seu perfil está configurado para redirecionar para:'
- proceed: Salvar
- updated_msg: As configurações de migração da sua conta foram atualizadas com sucesso!
+ incoming_migrations: Migrando de outra conta
+ moved_msg: Agora sua conta está redirecionando para %{acct} e seus seguidores estão sendo movidos.
+ not_redirecting: Sua conta não está redirecionando para nenhuma outra conta atualmente.
+ on_cooldown: Você migrou recentemente sua conta. Esta função ficará disponível novamente em %{count} dias.
+ past_migrations: Migrações passadas
+ proceed_with_move: Migrar seguidores
+ redirecting_to: Sua conta está redirecionando para %{acct}.
+ warning:
+ before: 'Antes de prosseguir, por favor leia com cuidado:'
moderation:
title: Moderação
notification_mailer:
@@ -772,13 +843,40 @@ pt-BR:
activity: Última atividade
browser: Navegador
browsers:
+ alipay: Alipay
+ blackberry: BlackBerry
+ chrome: Chrome
+ edge: Microsoft Edge
+ electron: Electron
+ firefox: Firefox
generic: Navegador desconhecido
+ ie: Internet Explorer
+ micro_messenger: MicroMessenger
nokia: Navegador Nokia S40 Ovi
+ opera: Opera
+ otter: Otter
+ phantom_js: PhantomJS
+ qq: QQ Browser
+ safari: Safari
+ uc_browser: UCBrowser
+ weibo: Weibo
current_session: Sessão atual
description: "%{browser} em %{platform}"
explanation: Estes são os navegadores que estão conectados com a sua conta do Mastodon.
+ ip: IP
platforms:
+ adobe_air: Adobe Air
+ android: Android
+ blackberry: BlackBerry
+ chrome_os: ChromeOS
+ firefox_os: Firefox OS
+ ios: iOS
+ linux: Linux
+ mac: Mac
other: Plataforma desconhecida
+ windows: Windows
+ windows_mobile: Windows Mobile
+ windows_phone: Windows Phone
revoke: Revogar
revoke_success: Sessão revogada com sucesso
title: Sessões
@@ -802,6 +900,8 @@ pt-BR:
profile: Perfil
relationships: Seguindo e seguidores
two_factor_authentication: Autenticação em dois passos
+ spam_check:
+ spam_detected_and_silenced: Este é um relatório automatizado. Spam foi detectado e o remetente foi silenciado automaticamente. Se isto for um erro, por favor, desfaça esta ação.
statuses:
attached:
description: 'Anexado: %{attached}'
@@ -831,6 +931,7 @@ pt-BR:
vote: Votar
show_more: Mostrar mais
sign_in_to_participate: Entre para participar dessa conversa
+ title: '%{name}: "%{quote}"'
visibilities:
private: Apenas seguidores
private_long: Mostrar apenas para seguidores
@@ -842,6 +943,8 @@ pt-BR:
pinned: Toot fixado
reblogged: compartilhou
sensitive_content: Conteúdo sensível
+ tags:
+ does_not_match_previous_name: não corresponde ao nome anterior
terms:
body_html: |
Política de privacidade
@@ -958,6 +1061,7 @@ pt-BR:
disable: Enquanto sua conta está congelada, seus dados estão intactos, mas você não pode realizar nenhuma ação até que sua conta seja desbloqueada.
silence: Enquanto sua conta está limitada, somente pessoas que já estão seguindo você poderão ver seus toots nesse servidor, e você pode ser excluído de diversas listagens públicas. No entanto, outros ainda podem seguir você manualmente.
suspend: Sua conta está suspensa e todos os seus toots e mídias foram irreversivelmente removidas desse servidor e de servidores onde você tinha seguidores.
+ get_in_touch: Você pode responder a este e-mail para entrar em contato com a equipe de %{instance}.
review_server_policies: Revisar as políticas do servidor
subject:
disable: Sua conta %{acct} foi congelada
diff --git a/config/locales/pt.yml b/config/locales/pt-PT.yml
similarity index 96%
rename from config/locales/pt.yml
rename to config/locales/pt-PT.yml
index 41c399b7d..ecca3b845 100644
--- a/config/locales/pt.yml
+++ b/config/locales/pt-PT.yml
@@ -1,5 +1,5 @@
---
-pt:
+pt-PT:
about:
about_hashtag_html: Estes são toots públicos marcados com #%{hashtag}. Podes interagir com eles se tiveres uma conta Mastodon.
about_mastodon_html: Mastodon é uma rede social baseada em protocolos abertos da web e software livre e gratuito. É descentralizado como e-mail.
@@ -10,9 +10,6 @@ pt:
contact_missing: Não configurado
contact_unavailable: n.d.
documentation: Documentação
- extended_description_html: |
-
Um bom lugar para regras
-
A descrição estendida ainda não foi configurada.
generic_description: "%{domain} é um servidor na rede"
hosted_on: Mastodon em %{domain}
learn_more: Saber mais
@@ -431,12 +428,6 @@ pt:
no_status_selected: Nenhum estado foi alterado porque nenhum foi selecionado
title: Estado das contas
with_media: Com media
- tags:
- accounts: Contas
- hidden: Escondidas
- hide: Esconder no diretório
- unhide: Mostrar no diretório
- visible: Visível
title: Administração
warning_presets:
add_new: Adicionar novo
@@ -465,7 +456,6 @@ pt:
your_token: O teu token de acesso
auth:
change_password: Palavra-passe
- confirm_email: Confirmar e-mail
delete_account: Eliminar conta
delete_account_html: Se desejas eliminar a conta, podes continua aqui. Uma confirmação será pedida.
didnt_get_confirmation: Não recebeu o email de confirmação?
@@ -506,28 +496,18 @@ pt:
x_months: "%{count} meses"
x_seconds: "%{count} segundos"
deletes:
- bad_password_msg: Boa tentativa, hackers! Palavra-passe incorreta
confirm_password: Introduz a palavra-passe atual para verificar a tua identidade
- description_html: Isto vai permanente e irreversivelmente remover conteúdo da tua conta e desativá-la. O teu nome de utilizador permanecerá reservado para prevenir futuros roubos de identidade.
proceed: Eliminar conta
success_msg: A tua conta foi eliminada com sucesso
- warning_html: |-
- Apenas a eliminação de conteúdo desta instância é garantido.
- Conteúdo que tenha sido partilhado com outras instâncias muito provavelmente deixará pegadas. Servidores offline e servidores que se desinscreveram das tuas atualizações não atualizarão as suas bases de dados.
- warning_title: Disponibilidade de conteúdo disseminado
directories:
directory: Dirétorio de perfil
- enabled: Neste momento tu estás listado no dirétorio.
- enabled_but_waiting: Tu escolheste ser listado no diretório, mas ainda não tens o número mínimo de seguidores (%{min_followers}) para integrares esta lista.
explanation: Descobre utilizadores com base nos seus interesses
explore_mastodon: Explorar %{title}
- how_to_enable: Tu ainda não integras este directório. Podes fazer isso abaixo. Usa hashtags na tua biografia para seres listado em hashtags específicas!
- people:
- one: "%{count} pessoa"
- other: "%{count} pessoas"
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Não tens a permissão necessária para ver esta página.
'404': A página que estás a procurar não existe.
+ '406': This page is not available in the requested format.
'410': A página que estás a procurar não existe mais.
'422':
content: "A verificação de segurança falhou. \nDesativaste o uso de cookies?"
@@ -536,6 +516,7 @@ pt:
'500':
content: Desculpe, mas algo correu mal.
title: Esta página não está correta
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Para usar o aplicativo web do Mastodon, por favor ativa o JavaScript. Alternativamente, experimenta um dos apps nativos para o Mastodon na sua plataforma.
exports:
archive_takeout:
@@ -628,9 +609,6 @@ pt:
too_many: Não é possível anexar mais de 4 arquivos
migrations:
acct: username@domain da nova conta
- currently_redirecting: 'O teu perfil está configurado para redirecionar para:'
- proceed: Salvar
- updated_msg: As configurações de migração da tua conta foram atualizadas com sucesso!
moderation:
title: Moderação
notification_mailer:
diff --git a/config/locales/ro.yml b/config/locales/ro.yml
index 6e6c6f403..7deab6021 100644
--- a/config/locales/ro.yml
+++ b/config/locales/ro.yml
@@ -4,7 +4,6 @@ ro:
hosted_on: Mastodon găzduit de %{domain}
auth:
change_password: Parolă
- confirm_email: Confirmă email
delete_account: Șterge contul
delete_account_html: Dacă vrei să ștergi acest cont poți începe aici. Va trebui să confirmi această acțiune.
didnt_get_confirmation: Nu ai primit instrucțiunile de confirmare?
@@ -44,22 +43,17 @@ ro:
x_days: "%{count}z"
x_months: "%{count}l"
deletes:
- bad_password_msg: Bună încercare, hackere! Parolă incorectă
confirm_password: Introdu parola curentă pentru a-ți verifica identitatea
- description_html: Această acțiune este permanentă și ireversibilă, elimină conținutul și dezactivează contul tău. Acest username va rămâne permanent rezervat pentru a evita furtul de identitate.
proceed: Șterge contul
success_msg: Contul tău a fost șterg. Nu mai poate fi recuperat :D
- warning_html: Doar ștergerea conținutului de pe acest server este garantată. Conținutul tău care a fost redistribuit în alte instațe e posibil să lase urme. Serverele deconecate sau care nu mai sunt abonate la actualizările contului tău nu își vor mai actualiza baza de date.
directories:
explanation: Descoperă oameni și companii în funcție de interesele lor
explore_mastodon: Explorează %{title}
- people:
- few: "%{count} persoană"
- one: "%{count} persoană"
- other: "%{count} oameni"
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Nu ai permisiunea să vizitezi această pagină.
'404': Pagina pe care o cauți nu există.
+ '406': This page is not available in the requested format.
'410': Pagina pe care o cauți nu mai există.
'422':
content: Verificarea securității a eșuat. Ai blocat cookiurile?
@@ -68,6 +62,7 @@ ro:
'500':
content: Ne pare rău, dar ceva a funcționat greșit. Încercați din nou!?
title: Această pagină nu este corectă
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Pentru a utiliza o aplicație web Mastodon, te rog activează JavaScript. Alternativ, încearcă una din aplicațiile native Mastodon pentru platforma ta.
exports:
archive_takeout:
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index 83eb3089f..3b10925ac 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -17,9 +17,6 @@ ru:
contact_unavailable: неизв.
discover_users: Находите пользователей
documentation: Документация
- extended_description_html: |
-
Хорошее место для правил
-
Расширенное описание еще не настроено.
federation_hint_html: С учётной записью на %{instance} вы сможете подписываться на людей с любого сервера Mastodon и не только.
generic_description: "%{domain} - один из серверов сети"
get_apps: Попробуйте мобильное приложение
@@ -119,7 +116,7 @@ ru:
followers: Подписчики
followers_url: URL подписчиков
follows: Подписки
- header: Заголовок
+ header: Шапка
inbox_url: URL входящих
invited_by: Приглашение выдал(а)
ip: IP
@@ -171,6 +168,7 @@ ru:
moderator: Модератор
staff: Персонал
user: Пользователь
+ salmon_url: Страница Salmon
search: Поиск
shared_inbox_url: URL общих входящих
show:
@@ -181,6 +179,7 @@ ru:
statuses: Статусы
subscribe: Подписаться
suspended: Заморожен
+ time_in_queue: Ожидание в очереди %{time}
title: Аккаунты
unconfirmed_email: Неподтверждённый e-mail
undo_silenced: Снять глушение
@@ -189,6 +188,7 @@ ru:
username: Имя пользователя
warn: Предупредить
web: Веб
+ whitelisted: В белом списке
action_logs:
actions:
assigned_to_self_report: "%{name} назначил(а) жалобу %{target} на себя"
@@ -256,10 +256,13 @@ ru:
feature_profile_directory: Каталог профилей
feature_registrations: Регистрация
feature_relay: Ретрансляторы
+ feature_spam_check: Анти-спам
feature_timeline_preview: Предпросмотр ленты
features: Возможности
hidden_service: Федерация со скрытыми сервисами
open_reports: открытых жалоб
+ pending_tags: хэштеги, ожидающие проверки
+ pending_users: пользователи, ожидающие проверки
recent_users: Недавние пользователи
search: Полнотекстовый поиск
single_user_mode: Однопользовательский режим
@@ -267,15 +270,22 @@ ru:
space: Использовано места
title: Панель управления
total_users: всего пользователей
- trends: Тренды
+ trends: Актуальное
week_interactions: взаимодействий на этой неделе
week_users_active: активно на этой неделе
week_users_new: пользователей на этой неделе
+ whitelist_mode: Белый список
+ domain_allows:
+ add_new: Внести в белый список
+ created_msg: Домен добавлен в белый список
+ destroyed_msg: Домен убран из белого списка
+ undo: Убрать из белого списка
domain_blocks:
add_new: Заблокировать домен
created_msg: Блокировка домена обрабатывается
destroyed_msg: Блокировка домена снята
domain: Домен
+ edit: Редактировать блокировку
new:
create: Создать блокировку
hint: Блокировка домена не предотвратит создание новых аккаунтов в базе данных, но ретроактивно и автоматически применит указанные методы модерации для этих аккаунтов.
@@ -285,6 +295,8 @@ ru:
silence: Глушение
suspend: Блокировка
title: Новая доменная блокировка
+ private_comment: Приватный комментарий
+ public_comment: Публичный комментарий
reject_media: Запретить медиаконтент
reject_media_hint: Удаляет локально хранимый медиаконтент и запрещает его загрузку в будущем. Не имеет значения в случае блокировки.
reject_reports: Отклонять жалобы
@@ -331,9 +343,11 @@ ru:
all: Все
limited: Ограниченные
title: Модерация
+ private_comment: Приватный комментарий
+ public_comment: Публичный комментарий
title: Известные узлы
total_blocked_by_us: Заблокировано нами
- total_followed_by_them: Заблокировано ими
+ total_followed_by_them: Их подписчиков
total_followed_by_us: Наших подписчиков
total_reported: Жалобы на них
total_storage: Медиафайлы
@@ -458,6 +472,8 @@ ru:
desc_html: Вы можете добавить сюда собственную политику конфиденциальности, пользовательское соглашение и другие документы. Можно использовать теги HTML
title: Условия использования
site_title: Название сайта
+ spam_check_enabled:
+ title: Анти-спам
thumbnail:
desc_html: Используется для предпросмотра с помощью OpenGraph и API. Рекомендуется разрешение 1200x630px
title: Картинка узла
@@ -479,13 +495,8 @@ ru:
title: Статусы аккаунта
with_media: С медиаконтентом
tags:
- accounts: Аккаунты
- hidden: Скрыты
- hide: Скрыть из каталога
- name: Хэштег
+ context: Контекст
title: Хэштеги
- unhide: Показывать в каталоге
- visible: Видны
title: Администрирование
warning_presets:
add_new: Добавить
@@ -503,6 +514,8 @@ ru:
subject: Новая жалоба, узел %{instance} (#%{id})
appearance:
advanced_web_interface: Многоколоночный интерфейс
+ confirmation_dialogs: Окна подтверждений
+ discovery: Обзор
sensitive_content: Чувствительное содержимое
application_mailer:
notification_preferences: Изменить настройки e-mail
@@ -523,7 +536,6 @@ ru:
apply_for_account: Запросить приглашение
change_password: Пароль
checkbox_agreement_html: Я соглашаюсь с правилами сервера и Условиями использования
- confirm_email: Подтвердите email
delete_account: Удалить аккаунт
delete_account_html: Если Вы хотите удалить свой аккаунт, вы можете перейти сюда. У Вас будет запрошено подтверждение.
didnt_get_confirmation: Не получили инструкцию для подтверждения?
@@ -532,7 +544,7 @@ ru:
login: Войти
logout: Выйти
migrate_account: Перенести аккаунт
- migrate_account_html: Если Вы хотите перенести этот аккаунт на другой, вы можете сделать это здесь.
+ migrate_account_html: Если вы хотите перенаправить подписчиков на другой аккаунт, это можно настроить здесь.
or_log_in_with: Или войти с помощью
providers:
cas: CAS
@@ -570,28 +582,18 @@ ru:
x_months: "%{count}мес"
x_seconds: "%{count}сек"
deletes:
- bad_password_msg: Не вышло, хакеры! Неверный пароль
confirm_password: Введите текущий пароль для подтверждения Вашей личности
- description_html: Это действие перманентно и необратимо удалит контент Вашего аккаунта и деактивирует его. Ваше имя пользователя будет зарезервировано для предотвращения имперсонации в будущем.
proceed: Удалить аккаунт
success_msg: Ваш аккаунт был успешно удален
- warning_html: Гарантируется удаление контента только на этом узле. Широко распространившийся контент, скорее всего, оставит следы. Сервера, отключенные от сети или отписавшиеся от Ваших обновлений, не обновят свои базы данных.
- warning_title: О доступности распространившегося контента
directories:
directory: Каталог профилей
- enabled: В настоящий момент вы указаны в каталоге.
- enabled_but_waiting: Вы согласились находиться в каталоге, но у вас ещё нет необходимого количества подписчиков (%{min_followers}), чтобы оказаться в каталоге.
explanation: Находите пользователей по интересам
explore_mastodon: Изучайте %{title}
- how_to_enable: Вы ещё не находитесь в каталоге. Можете добавиться ниже. Используйте хэштеги в разделе "о себе", чтобы вас находили по этим хэштегам!
- people:
- few: "%{count} человека"
- many: "%{count} человек"
- one: "%{count} человек"
- other: "%{count} человек"
errors:
+ '400': The request you submitted was invalid or malformed.
'403': У Вас нет доступа к просмотру этой страницы.
'404': Страница, которую Вы искали, не существует.
+ '406': This page is not available in the requested format.
'410': Страница, которую Вы искали, больше не существует.
'422':
content: Проверка безопасности не удалась. Возможно, Вы блокируете cookies?
@@ -600,6 +602,7 @@ ru:
'500':
content: Приносим извинения, но на нашей стороне что-то пошло не так.
title: Страница неверна
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Для работы с Mastodon, пожалуйста, включите JavaScript. Кроме того, вы можете использовать одно из приложений Mastodon для Вашей платформы.
existing_username_validator:
not_found: не удалось найти локального пользователя с таким именем
@@ -722,9 +725,6 @@ ru:
too_many: Нельзя добавить более 4 файлов
migrations:
acct: имя@домен нового аккаунта
- currently_redirecting: 'Ваш профиль будет перенаправлен на:'
- proceed: Сохранить
- updated_msg: Настройки миграции вашего аккаунта обновлены!
moderation:
title: Модерация
notification_mailer:
@@ -1064,7 +1064,7 @@ ru:
suspend: Аккаунт заблокирован
welcome:
edit_profile_action: Настроить профиль
- edit_profile_step: Вы можете настроить свой профиль, загрузив аватар, обложку, сменив имя и много чего ещё. Если вы хотите фильтровать подписчиков до того, как они смогут на вас подписаться, вы можете закрыть свой аккаунт.
+ edit_profile_step: Настройте свой профиль, загрузив аватарку, шапку, изменив отображаемое имя и ещё много чего. Если вы хотите вручную рассматривать и подтверждать подписчиков, можно закрыть свой аккаунт.
explanation: Несколько советов для новичков
final_action: Начать постить
final_step: 'Начните постить! Ваши публичные посты могут видеть другие, например, в локальной ленте или по хэштегам, даже если у вас нет подписчиков. Вы также можете поздороваться с остальными и представиться, используя хэштег #приветствие.'
diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml
index b948a5c50..e09f92205 100644
--- a/config/locales/simple_form.ar.yml
+++ b/config/locales/simple_form.ar.yml
@@ -103,7 +103,9 @@ ar:
setting_show_application: اكشف اسم التطبيقات المستخدمة لنشر التبويقات
setting_system_font_ui: استخدم الخطوط الافتراضية للنظام
setting_theme: سمة الموقع
+ setting_trends: اعرض ما يُتداوَل اليوم
setting_unfollow_modal: إظهار مربع حوار للتأكيد قبل إلغاء متابعة أي حساب
+ setting_use_pending_items: الوضع البطيء
severity: القوّة
type: صيغة الاستيراد
username: اسم المستخدم
@@ -125,6 +127,9 @@ ar:
mention: ابعث بريداً إلكترونيًا عندما يُشير إليك أو يذكُرك أحدهم
reblog: ابعث بريداً إلكترونيًا عندما يقوم أحدهم بترقية منشورك
report: إرسال رسالة إلكترونية عند تلقّي إبلاغ جديد
+ tag:
+ name: الوسم
+ usable: اسمح للتبويقات باستخدام هذا الوسم
'no': لا
recommended: موصى بها
required:
diff --git a/config/locales/simple_form.br.yml b/config/locales/simple_form.br.yml
new file mode 100644
index 000000000..c7677c850
--- /dev/null
+++ b/config/locales/simple_form.br.yml
@@ -0,0 +1 @@
+br:
diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml
index d8713e4ca..6a13e81e3 100644
--- a/config/locales/simple_form.ca.yml
+++ b/config/locales/simple_form.ca.yml
@@ -15,7 +15,6 @@ ca:
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
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_html: El directori permet trobar usuaris en funció dels interessos i activitat. Requereix almenys %{min_followers} seguidors
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
@@ -34,8 +33,12 @@ ca:
setting_hide_network: Qui tu segueixes i els que et segueixen a tu 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 dels teus toots
+ setting_use_blurhash: Els degradats es basen en els colors de les imatges ocultes, però enfosqueixen els detalls
+ setting_use_pending_items: Amaga les actualitzacions de la línia de temps després d'un clic en comptes de desplaçar-se automàticament
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:
+ domain: Aquest domini podrà obtenir dades d’aquest servidor i les dades entrants d’aquests seran processades i emmagatzemades
featured_tag:
name: 'És possible que vulguis utilitzar un d''aquests:'
imports:
@@ -44,6 +47,8 @@ ca:
text: Això ens ajudarà a revisar la teva petició
sessions:
otp: 'Introdueix el codi de dos factors generat per el teu telèfon o utilitza un dels teus codis de recuperació:'
+ 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 toots de les llengües seleccionades en les línies de temps públiques
labels:
@@ -108,7 +113,10 @@ ca:
setting_show_application: Desvela l'aplicació utilitzada per enviar toots
setting_system_font_ui: Utilitza el tipus de lletra predeterminat del sistema
setting_theme: Tema del lloc
+ setting_trends: Mostra les tendències d'avui
setting_unfollow_modal: Mostra el diàleg de confirmació abans de deixar de seguir a algú
+ setting_use_blurhash: Mostra degradats de colors per als Mèdia amagats
+ setting_use_pending_items: Mode lent
severity: Severitat
type: Importa el tipus
username: Nom d'usuari
@@ -131,6 +139,11 @@ ca:
pending_account: Envia un correu electrònic quan es necessiti revisar un compte nou
reblog: Envia un correu electrònic si algú comparteix el teu estat
report: Envia un correu electrònic quan s'enviï un nou informe
+ trending_tag: Envia un correu quan una etiqueta sense revisar està en tendència
+ tag:
+ listable: Permet que aquesta etiqueta aparegui en les cerques i en el directori de perfils
+ trendable: Permet que aquesta etiqueta aparegui en les tendències
+ usable: Permet als tuts emprar aquesta etiqueta
'no': 'No'
recommended: Recomanat
required:
diff --git a/config/locales/simple_form.co.yml b/config/locales/simple_form.co.yml
index d58e77528..fbf6813a4 100644
--- a/config/locales/simple_form.co.yml
+++ b/config/locales/simple_form.co.yml
@@ -5,6 +5,7 @@ co:
account_warning_preset:
text: Pudete utilizà a sintassa di i statuti, per esempiu l'URL, hashtag, minzione
admin_account_action:
+ include_statuses: L'utilizatore viderà i statuti rispunsevuli di l'azzione o l'avertimentu di muderazione
send_email_notification: L'utilizatore hà da riceve una spiegazione di cio chì hè accadutu à u so contu
text_html: In uzzione. Pudete utilizà a sintassa di i statuti. Pudete ancu aghjustà preselezzione d'avertimentu per piglià tempu
type_html: Sceglie chì fà cù %{acct}
@@ -15,7 +16,7 @@ co:
bot: Stu contu hè autumatizatu è ùn hè forse micca survegliatu
context: Cuntestu·i induve u filtru deve esse applicatu
digest: Solu mandatu dopu à una longa perioda d’inattività, è solu s’elli ci sò novi missaghji diretti
- discoverable_html: L'annuariu permette à a ghjente di truvà conti à partesi d'interessi è d'attività. Ci vole à avè almenu %{min_followers} abbunati
+ discoverable: L'annuariu di i prufili hè un'altra manera per u vostru contu di tuccà un'audienza più larga
email: Avete da riceve un'e-mail di cunfirmazione
fields: Pudete avè fin’à 4 elementi mustrati cum’un tavulone nant’à u vostru prufile
header: Furmatu PNG, GIF o JPG. %{size} o menu. Sarà ridottu à %{dimensions}px
@@ -35,16 +36,23 @@ co:
setting_noindex: Tocca à u vostru prufile pubblicu è i vostri statuti
setting_show_application: L'applicazione chì voi utilizate per mandà statuti sarà affissata indè a vista ditagliata di quelli
setting_use_blurhash: I digradati blurhash sò basati nant'à i culori di u ritrattu piattatu ma senza i ditagli
+ setting_use_pending_items: Clicchi per messe à ghjornu i statuti invece di fà sfilà a linea autumaticamente
username: U vostru cugnome sarà unicu nant'à %{domain}
whole_word: Quandu a parolla o a frasa sana hè alfanumerica, sarà applicata solu s'ella currisponde à a parolla sana
+ domain_allow:
+ domain: Stu duminiu puderà ricuperà i dati di stu servore è i dati ch'affaccanu da quallà saranu trattati è cunservati
featured_tag:
name: 'Pudete vulè utilizà unu di quelli:'
+ form_challenge:
+ current_password: Entrate in in una zona sicurizata
imports:
data: Un fugliale CSV da un’altru servore di Mastodon
invite_request:
text: Quessu ci aiutarà à valutà a vostra dumanda
sessions:
otp: 'Entrate u codice d’identificazione à dui fattori nant’à u vostru telefuninu, o unu di i vostri codici di ricuperazione:'
+ tag:
+ name: Pudete solu cambià a cassa di i caratteri, per esempiu per u rende più lighjevule
user:
chosen_languages: Soli i statuti scritti in e lingue selezziunate saranu mustrati indè e linee pubbliche
labels:
@@ -55,6 +63,7 @@ co:
account_warning_preset:
text: Testu preselezziunatu
admin_account_action:
+ include_statuses: Inchjude i statuti palisati indè l'e-mail
send_email_notification: Nutificà l'utilizatore cù un'e-mail
text: Avertimentu persunalizatu
type: Azzione
@@ -109,8 +118,10 @@ co:
setting_show_application: Indicà u nome di l'applicazione utilizata per mandà statuti
setting_system_font_ui: Pulizza di caratteri di u sistemu
setting_theme: Tema di u situ
+ setting_trends: Vede e tendenze per oghji
setting_unfollow_modal: Mustrà una cunfirmazione per siguità qualch’unu
setting_use_blurhash: Vede digradati di culori per i media piattati
+ setting_use_pending_items: Modu lentu
severity: Severità
type: Tippu d’impurtazione
username: Cugnome
@@ -122,6 +133,8 @@ co:
must_be_follower: Piattà e nutificazione di quelli·e ch’ùn vi seguitanu
must_be_following: Piattà e nutificazione di quelli·e ch’ùn seguitate
must_be_following_dm: Bluccà e missaghji diretti di quelli·e ch’ùn seguitate
+ invite:
+ comment: Cummentariu
invite_request:
text: Perchè vulete ghjunghje?
notification_emails:
@@ -133,6 +146,12 @@ co:
pending_account: Mandà un'e-mail quandu un novu contu hà bisognu d'esse valutatu
reblog: Mandà un’e-mail quandu qualch’unu sparte i mo statuti
report: Mandà un'e-mail quandu c'hè un novu signalamentu
+ trending_tag: Mandà un'e-mail quandu un hashtag micca verificatu hè in e tendenze
+ tag:
+ listable: Auturizà stu hashtag à esse vistu nant'à l'annuariu di i prufili
+ name: Hashtag
+ trendable: Auturizà stu hashtag à esse vistu in e tendenze
+ usable: Auturizà i statuti à utilizà stu hashtag
'no': Nò
recommended: Ricumandati
required:
diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml
index 5191d77fe..047d59c69 100644
--- a/config/locales/simple_form.cs.yml
+++ b/config/locales/simple_form.cs.yml
@@ -2,9 +2,14 @@
cs:
simple_form:
hints:
+ account_alias:
+ acct: Zadejte přezdívku@doménu účtu, ze kterého se chcete přesunout
+ account_migration:
+ acct: Zadejte přezdívku@doménu účtu, na který se chcete přesunout
account_warning_preset:
text: Můžete používat syntaxi tootů, jako například URL, hashtagy a zmínky
admin_account_action:
+ include_statuses: Uživatel uvidí, které tooty způsobily moderátorskou akci nebo varování
send_email_notification: Uživatel obdrží vysvětlení toho, co se stalo s jeho účtem
text_html: Volitelné. Můžete používat syntaxi tootů. Pro ušetření času si můžete přidat předlohy pro varování
type_html: Vyberte, co chcete udělat s účtem %{acct}
@@ -14,8 +19,10 @@ cs:
avatar: PNG, GIF či JPG. Maximálně %{size}. Bude zmenšen na %{dimensions} px
bot: Tento účet provádí hlavně automatizované akce a nemusí být spravován
context: Jeden či více kontextů, ve kterých má být filtr uplatněn
+ current_password: Z bezpečnostních důvodů prosím zadejte heslo aktuálního účtu
+ current_username: Prosím potvrďte 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žel/a osobní zprávy
- discoverable_html: Adresář dovoluje lidem najít účty podle zájmů a aktivity. Vyžaduje alespoň %{min_followers} sledujících
+ discoverable: Adresář profilů je další způsob, díky kterému se může váš účet dostat k širšímu publiku
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
@@ -35,16 +42,23 @@ cs:
setting_noindex: Ovlivňuje váš veřejný profil a stránky tootů
setting_show_application: Aplikace, kterou používáte k psaní tootů, bude zobrazena v detailním zobrazení vašich tootů
setting_use_blurhash: Gradienty jsou založeny na barvách skryté grafiky, ale zakrývají jakékoliv detaily
+ setting_use_pending_items: Skrýt aktualizace časové osy a načíst je kliknutím namísto automatického rolování proudu
username: Vaše uživatelské jméno bude na %{domain} unikátní
whole_word: Je-li klíčové slovo či fráze pouze alfanumerická, bude aplikována pouze, pokud se shoduje s celým slovem
+ 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
featured_tag:
name: 'Nejspíš budete chtít použít jeden z těchto:'
+ form_challenge:
+ current_password: Vstupujete do zabezpečeného prostoru
imports:
data: Soubor CSV exportovaný z jiného serveru Mastodon
invite_request:
text: To nám pomůže posoudit váš požadavek
sessions:
otp: 'Napište dvoufázový kód vygenerovaný vaší mobilní aplikací, nebo použijte jeden z vašich záložních kódů:'
+ tag:
+ name: Můžete měnit pouze velikost písmen, například kvůli lepší čitelnosti
user:
chosen_languages: Je-li tohle zaškrtnuto, budou ve veřejných časových osách zobrazeny pouze tooty ve zvolených jazycích
labels:
@@ -52,9 +66,14 @@ cs:
fields:
name: Označení
value: Obsah
+ account_alias:
+ acct: Adresa starého účtu
+ account_migration:
+ acct: Adresa nového účtu
account_warning_preset:
text: Text předlohy
admin_account_action:
+ include_statuses: Zahrnout v e-mailu nahlášené tooty
send_email_notification: Informovat uživatele e-mailem
text: Vlastní varování
type: Akce
@@ -109,8 +128,10 @@ cs:
setting_show_application: Zobrazit aplikaci používanou k psaní tootů
setting_system_font_ui: Použít výchozí písmo systému
setting_theme: Motiv stránky
+ setting_trends: Zobrazit dnešní trendy
setting_unfollow_modal: Zobrazovat před zrušením sledování potvrzovací okno
setting_use_blurhash: Zobrazit pro skrytá média barevné gradienty
+ setting_use_pending_items: Pomalý režim
severity: Přísnost
type: Typ importu
username: Uživatelské jméno
@@ -122,6 +143,8 @@ cs:
must_be_follower: Blokovat oznámení od lidí, kteří vás nesledují
must_be_following: Blokovat oznámení od lidí, které nesledujete
must_be_following_dm: Blokovat přímé zprávy od lidí, které nesledujete
+ invite:
+ comment: Komentář
invite_request:
text: Proč se chcete připojit?
notification_emails:
@@ -133,6 +156,12 @@ cs:
pending_account: Posílat e-maily, když je třeba posoudit nový účet
reblog: Posílat e-maily, když někdo boostne váš toot
report: Posílat e-maily, je-li odesláno nové nahlášení
+ trending_tag: Posílat e-maily, když se neschválený hashtag stane populárním
+ tag:
+ listable: Dovolit tomuto hashtagu objevovat se v hledáních a v adresáři profilů
+ name: Hashtag
+ trendable: Dovolit tomuto hashtagu objevovat se v trendech
+ usable: Dovolit tootům používat tento hashtag
'no': Ne
recommended: Doporučeno
required:
diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml
index 9f4ef0708..93e052f27 100644
--- a/config/locales/simple_form.cy.yml
+++ b/config/locales/simple_form.cy.yml
@@ -2,9 +2,14 @@
cy:
simple_form:
hints:
+ account_alias:
+ acct: Rhowch enwdefnyddiwr@parth y cyfrif rydych chi am symud ohono
+ account_migration:
+ acct: Rhowch enwdefnyddiwr@parth y cyfrif rydych chi am symud iddo
account_warning_preset:
text: Gallwch defnyddio cystrawen tŵt, fel URLs, hashnodau a sôniadau
admin_account_action:
+ include_statuses: Bydd y defnyddiwr yn gweld pa tŵtiau sydd wedi achosi'r weithred gymedroli neu'r rhybudd
send_email_notification: Bydd y defnyddiwr yn derbyn esboniad o beth digwyddodd gyda'i cyfrif
text_html: Yn ddewisol. Gallwch defnyddio cystrawen tŵt. Gallwch ychwanegu rhagosodiadau rhybydd i arbed amser
type_html: Dewis beth i wneud gyda %{acct}
@@ -14,8 +19,10 @@ cy:
avatar: PNG, GIF neu JPG. %{size} ar y mwyaf. Caiff ei israddio i %{dimensions}px
bot: Mae'r cyfrif hwn yn perfformio gweithredoedd awtomatig yn bennaf ac mae'n bosib nad yw'n cael ei fonitro
context: Un neu fwy cyd-destun lle dylai'r hidlydd weithio
+ current_password: At ddibenion diogelwch, nodwch gyfrinair y cyfrif cyfredol
+ current_username: I gadarnhau, nodwch enw defnyddiwr y cyfrif cyfredol
digest: Ond yn cael eu hanfon ar ôl cyfnod hir o anweithgarwch ac ond os ydych wedi derbyn unrhyw negeseuon personol yn eich absenoldeb
- discoverable_html: Mae'r cyfeiriadur yn gadael i bobl ddarganfod cyfrifau wedi'i seilio ar ddiddordebau a gweithgareddau.. Mae hyn angen o leiaf %{min_followers} o ddilynwyr
+ discoverable: Mae'r cyfeirlyfr proffil yn ffordd arall y gall eich cyfrif gyrraedd cynulleidfa ehangach
email: Byddwch yn derbyn e-bost i gadarnhau
fields: Mae modd i chi arddangos hyd at 4 eitem fel tabl ar eich proffil
header: PNG, GIF neu JPG. %{size} ar y mwyaf. Ceith ei israddio i %{dimensions}px
@@ -35,10 +42,15 @@ cy:
setting_noindex: Mae hyn yn effeithio ar eich proffil cyhoeddus a'ch tudalennau statws
setting_show_application: Bydd y offer frydych yn defnyddio i dŵtio yn cael ei arddangos yn golwg manwl eich tŵtiau
setting_use_blurhash: Mae graddiannau wedi'u seilio ar liwiau'r delweddau cudd ond maent yn cuddio unrhyw fanylion
+ setting_use_pending_items: Cuddio diweddariadau llinell amser y tu ôl i glic yn lle sgrolio yn awtomatig
username: Bydd eich enw defnyddiwr yn unigryw ar %{domain}
whole_word: Os yw'r allweddair neu'r ymadrodd yn alffaniwmerig yn unig, mi fydd ond yn cael ei osod os yw'n cyfateb a'r gair cyfan
+ 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
featured_tag:
name: 'Efallai hoffech defnyddio un o''r rhain:'
+ form_challenge:
+ current_password: Rydych chi'n mynd i mewn i ardal sicr
imports:
data: Allforiwyd dogfen CSV o achos Mastodon arall
invite_request:
@@ -111,6 +123,7 @@ cy:
setting_theme: Thema'r wefan
setting_unfollow_modal: Dangos deialog cadarnhau cyn dad-ddilyn rhywun
setting_use_blurhash: Dangoswch raddiannau lliwgar ar gyfer cyfryngau cudd
+ setting_use_pending_items: Modd araf
severity: Difrifoldeb
type: Modd mewnforio
username: Enw defnyddiwr
@@ -122,6 +135,8 @@ cy:
must_be_follower: Blocio hysbysiadau o bobl nad ydynt yn eich dilyn
must_be_following: Blocio hysbysiadau o bobl nad ydych yn eu dilyn
must_be_following_dm: Blocio negeseuon uniongyrchol o bobl nad ydych yn eu dilyn
+ invite:
+ comment: Sylw
invite_request:
text: Pam hoffech ymuno?
notification_emails:
@@ -133,6 +148,11 @@ cy:
pending_account: Anfon ebost pan mae cyfrif newydd angen adolygiad
reblog: Anfon e-bost pan mae rhywun yn bŵstio eich statws
report: Anfon e-bost pan y cyflwynir adroddiad newydd
+ tag:
+ listable: Gadewch i'r hashnod hwn ymddangos mewn chwiliadau ac ar y cyfeiriadur proffil
+ name: Hashnod
+ trendable: Gadewch i'r hashnod hwn ymddangos o dan dueddiadau
+ usable: Caniatáu i tŵtiau ddefnyddio'r hashnod hwn
'no': Na
recommended: Argymhellwyd
required:
diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml
index 324afece6..48a0a6883 100644
--- a/config/locales/simple_form.da.yml
+++ b/config/locales/simple_form.da.yml
@@ -26,6 +26,8 @@ da:
setting_noindex: Påvirker din offentlige profil og status sider
username: Dit brugernavn vil være unikt på %{domain}
whole_word: Når nøgle ordet eller udtrykket kun er alfanumerisk, vil det kun blive brugt hvis det passer hele ordet
+ featured_tag:
+ name: 'Du kunne måske tænke dig at bruge en af følgende:'
imports:
data: CSV fil eksporteret fra en anden Mastodon server
sessions:
@@ -83,6 +85,7 @@ da:
setting_system_font_ui: Brug systemets standard font
setting_theme: Tema for side
setting_unfollow_modal: Vis bekræftelses dialog før du stopper med at følge nogen
+ setting_use_pending_items: Langsom tilstand
severity: Omfang
type: Importtype
username: Brugernavn
@@ -92,6 +95,8 @@ da:
must_be_follower: Bloker notifikationer fra folk der ikke følger dig
must_be_following: Bloker notifikationer fra folk du ikke følger
must_be_following_dm: Bloker direkte beskeder fra folk du ikke følger
+ invite_request:
+ text: Hvorfor ønsker du at tilmelde dig?
notification_emails:
digest: Send sammendrag via emails
favourite: Send email når nogen favoriserer din status
@@ -100,7 +105,11 @@ da:
mention: Send e-mail når nogen nævner dig
reblog: Send email når nogen fremhæver din status
report: Send email når en ny anmeldelse bliver indsendt
+ tag:
+ name: Hashtag
'no': Nej
+ recommended: Anbefalet
required:
+ mark: "*"
text: påkrævet
'yes': Ja
diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml
index d07079642..2ce286973 100644
--- a/config/locales/simple_form.de.yml
+++ b/config/locales/simple_form.de.yml
@@ -2,9 +2,14 @@
de:
simple_form:
hints:
+ account_alias:
+ acct: Gib den benutzernamen@domain des Kontos an, von dem du umziehen möchtest
+ account_migration:
+ acct: Gib den benutzernamen@domain des Kontos an, zu dem du umziehen möchtest
account_warning_preset:
text: Du kannst Beitragssyntax benutzen, wie z.B. URLs, Hashtags und Erwähnungen
admin_account_action:
+ include_statuses: Der Benutzer wird sehen, welche Beiträge diese Maßnahme verursacht haben
send_email_notification: Benutzer_in wird Bescheid gegeben, was mit dem Konto geschehen ist
text_html: Optional. Du kannst Beitragssyntax nutzen. Du kannst Warnungsvorlagen benutzen um Zeit zu sparen
type_html: Wähle aus, was du mit %{acct} machen möchtest
@@ -14,8 +19,10 @@ de:
avatar: PNG, GIF oder JPG. Maximal %{size}. Wird auf %{dimensions} px herunterskaliert
bot: Dieses Konto führt lediglich automatisierte Aktionen durch und wird möglicherweise nicht überwacht
context: Ein oder mehrere Kontexte, wo der Filter aktiv werden soll
+ current_password: Aus Sicherheitsgründen gib bitte das Passwort des aktuellen Kontos ein
+ current_username: Um das zu bestätigen, gib den Benutzernamen des aktuellen Kontos ein
digest: Wenn du eine lange Zeit inaktiv bist, wird dir eine Zusammenfassung von Erwähnungen zugeschickt, die du in deiner Abwesenheit empfangen hast
- discoverable_html: Das Verzeichnis erlaubt es dein Profil durch deine Hashtags und deine Aktivitäten zu entdecken. Voraussetzung ist allerdings mindestens %{min_followers} Folger_innen
+ discoverable: Das Profilverzeichnis ist eine andere Möglichkeit, mit der dein Konto ein größeres Publikum erreichen kann
email: Du wirst eine Bestätigungs-E-Mail erhalten
fields: Du kannst bis zu 4 Elemente auf deinem Profil anzeigen lassen, die als Tabelle dargestellt werden
header: PNG, GIF oder JPG. Maximal %{size}. Wird auf %{dimensions} px herunterskaliert
@@ -34,17 +41,24 @@ de:
setting_hide_network: Wem du folgst und wer dir folgt, wird in deinem Profil nicht angezeigt
setting_noindex: Betrifft dein öffentliches Profil und deine Beiträge
setting_show_application: Die Anwendung die du nutzst wird in der detaillierten Ansicht deiner Beiträge angezeigt
- setting_use_blurhash: Die Farbverläufe basieren auf den Farben der versteckten Medien, aber verstecken irgendwelche Details, die Reize auslösen könnten
+ setting_use_blurhash: Die Farbverläufe basieren auf den Farben der versteckten Medien, aber verstecken irgendwelche Details
+ setting_use_pending_items: Neue Beiträge hinter einem Klick verstecken anstatt automatisch zu scrollen
username: Dein Profilname wird auf %{domain} einzigartig sein
whole_word: Wenn das Schlagwort nur aus Buchstaben und Zahlen besteht, wird es nur angewendet, wenn es dem ganzen Wort entspricht
+ domain_allow:
+ domain: Diese Domain kann Daten von diesem Server abrufen und eingehende Daten werden verarbeitet und gespeichert
featured_tag:
name: 'Du möchtest vielleicht einen von diesen benutzen:'
+ form_challenge:
+ current_password: Du betrittst einen sicheren Bereich
imports:
data: CSV-Datei, die aus einem anderen Mastodon-Server exportiert wurde
invite_request:
text: Dies wird uns helfen deine Anmeldungsanfrage besser zu verarbeiten
sessions:
otp: 'Gib die Zwei-Faktor-Authentifizierung von deinem Telefon ein oder benutze einen deiner Wiederherstellungscodes:'
+ tag:
+ name: Du kannst zum Beispiel nur die Groß- und Kleinschreibung der Buchstaben ändern, um es lesbarer zu machen
user:
chosen_languages: Wenn aktiviert, werden nur Beiträge in den ausgewählten Sprachen auf den öffentlichen Zeitleisten angezeigt
labels:
@@ -52,9 +66,14 @@ de:
fields:
name: Bezeichnung
value: Inhalt
+ account_alias:
+ acct: Adresse des alten Kontos
+ account_migration:
+ acct: Adresse des neuen Kontos
account_warning_preset:
text: Vorlagentext
admin_account_action:
+ include_statuses: Meldungen der E-Mail beifügen
send_email_notification: Benachrichtige den Nutzer per E-Mail
text: Eigene Warnung
type: Aktion
@@ -109,8 +128,10 @@ de:
setting_show_application: Anwendung preisgeben, die benutzt wurde um Beiträge zu versenden
setting_system_font_ui: Standardschriftart des Systems verwenden
setting_theme: Theme
+ setting_trends: Heutige Trends anzeigen
setting_unfollow_modal: Bestätigungsdialog anzeigen, bevor jemandem entfolgt wird
setting_use_blurhash: Farbverlauf für versteckte Medien anzeigen
+ setting_use_pending_items: Langsamer Modus
severity: Schweregrad
type: Art des Imports
username: Profilname
@@ -122,6 +143,8 @@ de:
must_be_follower: Benachrichtigungen von Profilen blockieren, die mir nicht folgen
must_be_following: Benachrichtigungen von Profilen blockieren, denen ich nicht folge
must_be_following_dm: Private Nachrichten von Profilen, denen ich nicht folge, blockieren
+ invite:
+ comment: Kommentar
invite_request:
text: Warum möchtest du beitreten?
notification_emails:
@@ -133,6 +156,12 @@ de:
pending_account: E-Mail senden, wenn ein neues Benutzerkonto zur Überprüfung aussteht
reblog: E-Mail senden, wenn jemand meinen Beitrag teilt
report: E-Mail senden, wenn ein neuer Bericht vorliegt
+ trending_tag: E-Mail senden, wenn ein ausstehender Hashtag angesagt ist
+ tag:
+ listable: Erlaube diesem Hashtag im Profilverzeichnis zu erscheinen
+ name: Hashtag
+ trendable: Erlaube es diesen Hashtag in den Trends erscheinen zu lassen
+ usable: Beiträge erlauben, diesen Hashtag zu verwenden
'no': Nein
recommended: Empfohlen
required:
diff --git a/config/locales/simple_form.el.yml b/config/locales/simple_form.el.yml
index 099c900a5..7ff5fbf77 100644
--- a/config/locales/simple_form.el.yml
+++ b/config/locales/simple_form.el.yml
@@ -5,6 +5,7 @@ el:
account_warning_preset:
text: Μπορεις να χρησιμοποιήσεις συντακτικό ενός τουτ όπως διευθύνσεις URL, ταμπέλες και αναφορές
admin_account_action:
+ include_statuses: Ο χρήστης θα δει ποια τουτ προκάλεσαν την προειδοποίηση ή την ενέργεια των διαχειριστών
send_email_notification: Ο χρήστης θα λάβει μια εξήγηση του τι συνέβη με τον λογαριασμό του
text_html: Προαιρετικό. Μπορείς να χρησιμοποιήσεις συντακτικό ενός τουτ. Μπορείς να ορίσεις προκαθορισμένες προειδοποιήσεις για να γλυτώσεις χρόνο
type_html: Διάλεξε τι θα κανείς με τον %{acct}
@@ -15,7 +16,7 @@ el:
bot: Ο λογαριασμός αυτός εκτελεί κυρίως αυτοματοποιημένες ενέργειες και ίσως να μην παρακολουθείται
context: Ένα ή περισσότερα πλαίσια στα οποία μπορεί να εφαρμόζεται αυτό το φίλτρο
digest: Αποστέλλεται μόνο μετά από μακρά περίοδο αδράνειας και μόνο αν έχεις λάβει προσωπικά μηνύματα κατά την απουσία σου
- discoverable_html: "Ο κατάλογος \nσου επιτρέπει να βρεις λογαριασμούς βάσει ενδιαφερόντων και δραστηριότητας. Απαιτεί τουλάχιστον %{min_followers} ακόλουθους"
+ discoverable: Ο κατάλογος λογαριασμών είναι ένας ακόμα τρόπος ώστε ο λογαριασμός σου να βρει μεγαλύτερο κοινό
email: Θα σου σταλεί email επιβεβαίωσης
fields: Μπορείς να έχεις έως 4 σημειώσεις σε μορφή πίνακα στο προφίλ σου
header: PNG, GIF ή JPG. Έως %{size}. Θα περιοριστεί σε διάσταση %{dimensions}px
@@ -35,8 +36,11 @@ el:
setting_noindex: Επηρεάζει το δημόσιο προφίλ και τις δημοσιεύσεις σου
setting_show_application: Η εφαρμογή που χρησιμοποιείς για να στέλνεις τα τουτ σου θα εμφανίζεται στις αναλυτικές λεπτομέρειες τους
setting_use_blurhash: Οι χρωματισμοί βασίζονται στα χρώματα του κρυμμένου πολυμέσου αλλά θολώνουν τις λεπτομέρειες
+ setting_use_pending_items: Εμφάνιση ενημερώσεων ροής μετά από κλικ αντί για αυτόματη κύλισή τους
username: Το όνομα χρήστη σου θα είναι μοναδικό στο %{domain}
whole_word: Όταν η λέξη ή η φράση κλειδί είναι μόνο αλφαριθμητική, θα εφαρμοστεί μόνο αν ταιριάζει με ολόκληρη τη λέξη
+ domain_allow:
+ domain: Ο τομέας αυτός θα επιτρέπεται να ανακτά δεδομένα από αυτό τον διακομιστή και τα εισερχόμενα δεδομένα θα επεξεργάζονται και θα αποθηκεύονται
featured_tag:
name: 'Ίσως να θες να χρησιμοποιήσεις μια από αυτές:'
imports:
@@ -45,6 +49,8 @@ el:
text: Αυτό θα μας βοηθήσει να επιθεωρήσουμε την αίτησή σου
sessions:
otp: 'Βάλε τον κωδικό δυο παραγόντων (2FA) από την εφαρμογή του τηλεφώνου σου ή χρησιμοποίησε κάποιον από τους κωδικούς ανάκτησης σου:'
+ tag:
+ name: Μπορείς να αλλάξεις μόνο το πλαίσιο των χαρακτήρων, για παράδειγμα για να γίνει περισσότερο ευανάγνωστο
user:
chosen_languages: Όταν ενεργοποιηθεί, στη δημόσια ροή θα εμφανίζονται τουτ μόνο από τις επιλεγμένες γλώσσες
labels:
@@ -55,6 +61,7 @@ el:
account_warning_preset:
text: Προκαθορισμένο κείμενο
admin_account_action:
+ include_statuses: Συμπερίληψη των καταγγελλομένων τουτ στο email
send_email_notification: Ενημέρωση χρήστη μέσω email
text: Προσαρμοσμένη προειδοποίηση
type: Ενέργεια
@@ -109,8 +116,10 @@ el:
setting_show_application: Αποκάλυψη εφαρμογής που χρησιμοποιήθηκε για την αποστολή των τουτ
setting_system_font_ui: Χρησιμοποίησε την προεπιλεγμένη γραμματοσειρά του συστήματος
setting_theme: Θέμα ιστότοπου
+ setting_trends: Εμφάνιση σημερινών τάσεων
setting_unfollow_modal: Εμφάνιση ερώτησης επιβεβαίωσης πριν διακόψεις την παρακολούθηση κάποιου
setting_use_blurhash: Εμφάνιση χρωματισμών για τα κρυμμένα πολυμέσα
+ setting_use_pending_items: Αργή λειτουργία
severity: Αυστηρότητα
type: Τύπος εισαγωγής
username: Όνομα χρηστη
@@ -122,6 +131,8 @@ el:
must_be_follower: Μπλόκαρε τις ειδοποιήσεις από όσους δεν ακολουθείς
must_be_following: Μπλόκαρε τις ειδοποιήσεις που προέρχονται από άτομα που δεν τα ακολουθείς
must_be_following_dm: Μπλόκαρε τα προσωπικά μηνύματα από όσους δεν ακολουθείς
+ invite:
+ comment: Σχόλια
invite_request:
text: Γιατί θέλεις να συμμετάσχεις;
notification_emails:
@@ -133,6 +144,12 @@ el:
pending_account: Αποστολή email όταν υπάρχει νέος λογαριασμός για επιθεώρηση
reblog: Στέλνε email όταν κάποιος προωθεί τη δημοσίευση σου
report: Αποστολή email όταν υποβάλλεται νέα καταγγελία
+ trending_tag: Αποστολή email όταν μια μη-εγκεκριμένη ταμπέλα γίνεται δημοφιλής
+ tag:
+ listable: Εμφάνιση αυτής της ταμπέλας στο δημόσιο κατάλογο
+ name: Ταμπέλα
+ trendable: Εμφάνιση της ταμπέλας στις τάσεις
+ usable: Χρήση της ταμπέλας σε τουτ
'no': Όχι
recommended: Προτείνεται
required:
diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml
index e15d5904f..3d909e999 100644
--- a/config/locales/simple_form.en.yml
+++ b/config/locales/simple_form.en.yml
@@ -2,9 +2,14 @@
en:
simple_form:
hints:
+ account_alias:
+ acct: Specify the username@domain of the account you want to move from
+ account_migration:
+ acct: Specify the username@domain of the account you want to move to
account_warning_preset:
text: You can use toot syntax, such as URLs, hashtags and mentions
admin_account_action:
+ include_statuses: The user will see which toots have caused the moderation action or warning
send_email_notification: The user will receive an explanation of what happened with their account
text_html: Optional. You can use toot syntax. You can add warning presets to save time
type_html: Choose what to do with %{acct}
@@ -14,8 +19,10 @@ en:
avatar: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px
bot: This account mainly performs automated actions and might not be monitored
context: One or multiple contexts where the filter should apply
+ 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_html: The directory lets people find accounts based on interests and activity. Requires at least %{min_followers} followers
+ discoverable: The profile directory is another way by which your account can reach a wider audience
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
@@ -42,6 +49,8 @@ en:
domain: This domain will be able to fetch data from this server and incoming data from it will be processed and stored
featured_tag:
name: 'You might want to use one of these:'
+ form_challenge:
+ current_password: You are entering a secure area
imports:
data: CSV file exported from another Mastodon server
invite_request:
@@ -57,9 +66,14 @@ en:
fields:
name: Label
value: Content
+ account_alias:
+ acct: Handle of the old account
+ account_migration:
+ acct: Handle of the new account
account_warning_preset:
text: Preset text
admin_account_action:
+ include_statuses: Include reported toots in the e-mail
send_email_notification: Notify the user per e-mail
text: Custom warning
type: Action
@@ -129,6 +143,8 @@ en:
must_be_follower: Block notifications from non-followers
must_be_following: Block notifications from people you don't follow
must_be_following_dm: Block direct messages from people you don't follow
+ invite:
+ comment: Comment
invite_request:
text: Why do you want to join?
notification_emails:
@@ -142,7 +158,8 @@ en:
report: Send e-mail when a new report is submitted
trending_tag: Send e-mail when an unreviewed hashtag is trending
tag:
- listable: Allow this hashtag to appear on the profile directory
+ listable: Allow this hashtag to appear in searches and on the profile directory
+ name: Hashtag
trendable: Allow this hashtag to appear under trends
usable: Allow toots to use this hashtag
'no': 'No'
diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml
index 1b63b27a8..b6bacde3a 100644
--- a/config/locales/simple_form.eo.yml
+++ b/config/locales/simple_form.eo.yml
@@ -15,7 +15,6 @@ eo:
bot: Tiu konto ĉefe faras aŭtomatajn agojn, kaj povas esti ne kontrolata
context: Unu ol pluraj kuntekstoj kie la filtrilo devus agi
digest: Sendita nur post longa tempo de neaktiveco, kaj nur se vi ricevis personan mesaĝon en via foresto
- discoverable_html: La profilujo permesas al homoj trovi kontojn laŭ interesoj kaj aktiveco. Postulas almenaŭ %{min_followers} sekvantojn
email: Vi ricevos konfirman retmesaĝon
fields: Vi povas havi ĝis 4 tabelajn elementojn en via profilo
header: Formato PNG, GIF aŭ JPG. Ĝis %{size}. Estos malgrandigita al %{dimensions}px
@@ -108,7 +107,9 @@ eo:
setting_show_application: Publikigi la aplikaĵon uzatan por sendi mesaĝojn
setting_system_font_ui: Uzi la dekomencan tiparon de la sistemo
setting_theme: Reteja etoso
+ setting_trends: Montri hodiaŭajn furoraĵojn
setting_unfollow_modal: Montri fenestron por konfirmi antaŭ ol ĉesi sekvi iun
+ setting_use_pending_items: Malrapida reĝimo
severity: Graveco
type: Importa tipo
username: Uzantnomo
@@ -131,6 +132,11 @@ eo:
pending_account: Sendi retmesaĝon kiam nova konto bezonas kontrolon
reblog: Sendi retmesaĝon kiam iu diskonigas vian mesaĝon
report: Sendi retmesaĝon kiam nova signalo estas sendita
+ trending_tag: Sendi retpoŝtmesaĝon kiam nekontrolita kradvorto furoras
+ tag:
+ name: Kradvorto
+ trendable: Permesi al ĉi tiu kradvorto aperi en furoraĵoj
+ usable: Permesi tootojn uzi ĉiun tiun haketon
'no': Ne
recommended: Rekomendita
required:
diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml
index 2986cf091..2fb33dbc3 100644
--- a/config/locales/simple_form.es.yml
+++ b/config/locales/simple_form.es.yml
@@ -2,9 +2,14 @@
es:
simple_form:
hints:
+ account_alias:
+ acct: Especifique el nombre de usuario@dominio de la cuenta desde la cual se desea migrar
+ account_migration:
+ acct: Especifique el nombre de usuario@dominio de la cuenta a la cual se desea migrar
account_warning_preset:
text: Puede usar sintaxis de toots, como URLs, hashtags y menciones
admin_account_action:
+ include_statuses: El usuario verá qué toots han causado la acción de moderación o advertencia
send_email_notification: El usuario recibirá una explicación de lo que sucedió con respecto a su cuenta
text_html: Opcional. Puede usar sintaxis de toots. Puede añadir configuraciones predefinidas de advertencia para ahorrar tiempo
type_html: Elige qué hacer con %{acct}
@@ -14,8 +19,10 @@ es:
avatar: PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px
bot: Esta cuenta ejecuta principalmente acciones automatizadas y podría no ser monitorizada
context: Uno o múltiples contextos en los que debe aplicarse el filtro
+ current_password: Por razones de seguridad por favor ingrese la contraseña de la cuenta actual
+ current_username: Para confirmar, por favor ingrese el nombre de usuario de la cuenta actual
digest: Solo enviado tras un largo periodo de inactividad y solo si has recibido mensajes personales durante tu ausencia
- discoverable_html: El directorio permite a la gente encontrar cuentas basadas en intereses y actividad. Requiere al menos %{min_followers} seguidores
+ discoverable: El directorio del perfil es otra forma en la que su cuenta puede llegar a un público más amplio
email: Se le enviará un correo de confirmación
fields: Puedes tener hasta 4 elementos mostrándose como una tabla en tu perfil
header: PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px
@@ -35,16 +42,23 @@ es:
setting_noindex: Afecta a tu perfil público y páginas de estado
setting_show_application: La aplicación que utiliza usted para publicar toots se mostrará en la vista detallada de sus toots
setting_use_blurhash: Los gradientes se basan en los colores de las imágenes ocultas pero haciendo borrosos los detalles
+ setting_use_pending_items: Ocultar nuevos estados detrás de un clic en lugar de desplazar automáticamente el feed
username: Tu nombre de usuario será único en %{domain}
whole_word: Cuando la palabra clave o frase es solo alfanumérica, solo será aplicado si concuerda con toda la palabra
+ domain_allow:
+ domain: Este dominio podrá obtener datos de este servidor y los datos entrantes serán procesados y archivados
featured_tag:
name: 'Puede que quieras usar uno de estos:'
+ form_challenge:
+ current_password: Estás entrando en un área segura
imports:
data: Archivo CSV exportado desde otra instancia de Mastodon
invite_request:
text: Esto nos ayudará a revisar su aplicación
sessions:
otp: 'Introduce el código de autenticación de dos factores geberado por tu aplicación de teléfono o usa uno de tus códigos de recuperación:'
+ tag:
+ name: Sólo se puede cambiar el cajón de las letras, por ejemplo, para que sea más legible
user:
chosen_languages: Cuando se marca, solo se mostrarán los toots en los idiomas seleccionados en los timelines públicos
labels:
@@ -52,9 +66,14 @@ es:
fields:
name: Etiqueta
value: Contenido
+ account_alias:
+ acct: Maneja la cuenta antigua
+ account_migration:
+ acct: Maneja la cuenta nueva
account_warning_preset:
text: Texto predefinido
admin_account_action:
+ include_statuses: Incluir en el correo electrónico a los toots denunciados
send_email_notification: Notificar al usuario por correo electrónico
text: Aviso personalizado
type: Acción
@@ -109,8 +128,10 @@ es:
setting_show_application: Mostrar aplicación usada para publicar toots
setting_system_font_ui: Utilizar la tipografía por defecto del sistema
setting_theme: Tema del sitio
+ setting_trends: Mostrar las tendencias de hoy
setting_unfollow_modal: Mostrar diálogo de confirmación antes de dejar de seguir a alguien
setting_use_blurhash: Mostrar gradientes coloridos para contenido multimedia oculto
+ setting_use_pending_items: Modo lento
severity: Severidad
type: Importar tipo
username: Nombre de usuario
@@ -122,6 +143,8 @@ es:
must_be_follower: Bloquear notificaciones de personas que no te siguen
must_be_following: Bloquear notificaciones de personas que no sigues
must_be_following_dm: Bloquear mensajes directos de la gente que no sigues
+ invite:
+ comment: Comentar
invite_request:
text: "¿Por qué quiere unirse usted?"
notification_emails:
@@ -133,6 +156,12 @@ es:
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: Enviar un correo cuando se envía un nuevo informe
+ trending_tag: Enviar correo electrónico cuando una etiqueta no revisada está de tendencia
+ tag:
+ listable: Permitir que esta etiqueta aparezca en las búsquedas y en el directorio del perfil
+ name: Etiqueta
+ trendable: Permitir que esta etiqueta aparezca bajo tendencias
+ usable: Permitir a los toots usar esta etiqueta
'no': 'No'
recommended: Recomendado
required:
diff --git a/config/locales/simple_form.et.yml b/config/locales/simple_form.et.yml
new file mode 100644
index 000000000..c52818a35
--- /dev/null
+++ b/config/locales/simple_form.et.yml
@@ -0,0 +1,152 @@
+---
+et:
+ simple_form:
+ hints:
+ account_warning_preset:
+ text: Te saate kasutada tuututuse süntaksi, näiteks URLe, silte ja mainimisi
+ admin_account_action:
+ send_email_notification: Konto omanik saab selgituse selle kohta, mis juhtus nende kontoga
+ text_html: Valikuline. Te saate kasutada tuututuse süntaksi. Te saate lisada hoiatuste eelseadistusi aega säästmiseks
+ type_html: Vali, mida teha kasutajaga %{acct}
+ warning_preset_id: Valikuline. Te saate ikka lisada mis tahes teksti eelseadistuse lõppu
+ defaults:
+ autofollow: Inimesed, kes loovad konto selle kutse läbi, automaatselt jälgivad Teid
+ avatar: PNG, GIF või JPG. Kõige rohkem %{size}. Vähendatakse %{dimensions} pikslini
+ bot: See konto teeb enamjaolt automatiseeritud tegevusi ja ei pruugi olla järelvalve all
+ context: Üks või mitu konteksti, mille vastu see filter peaks rakenduma
+ digest: Saadetakse ainult pärast pikka perioodi tegevusetust ja ainult siis, kui Teile on saadetud privaatseid sõnumeid
+ email: Teile saadetakse kinnituskiri e-posti teel
+ fields: Te saate oma profiilil tabelina kuvada kuni 4 asja
+ header: PNG, GIF või JPG. Kõige rohkem %{size}. Vähendatakse %{dimensions} pikslini
+ inbox_url: Kopeerige soovitud relee avalehe URL
+ irreversible: Filtreeritud tuututused kaovad taastamatult, isegi kui filter on hiljem eemaldatud
+ locale: Kasutajaliidese, e-kirjade ja push-teadete keel
+ locked: Nõuab käsitsi jälgijate kinnitamist
+ password: Sisestage vähemalt 8 tähemärki
+ phrase: Kattub olenemata tuututuse teksti suurtähtedest või sisuhoiatusest
+ scopes: Milliseid API-sid see rakendus tohib kasutada. Kui Te valite kõrgeima taseme, ei pea Te valima individuaalseid.
+ setting_aggregate_reblogs: Ära näita uusi upitusi tuututustele, mis on just hiljuti upitatud (ainult kehtib uutele upitusele)
+ setting_default_sensitive: Tundlik meedia on vaikimisi peidetud ning seda saab avada sellele klikkides
+ setting_display_media_default: Peida tundlikuks märgitud meedia
+ setting_display_media_hide_all: Alati peida kõik meedia
+ setting_display_media_show_all: Alati näita tundlikuks märgistatud meedia
+ setting_hide_network: Keda Te jälgite ja kes jägib Teid ei kuvata Teie profiilil
+ setting_noindex: Mõjutab Teie avalikku profiili ja staatuse lehekülgi
+ setting_show_application: Rakendus, mida kasutate tuututamiseks, kuvatakse tuututuste üksikasjade vaates
+ setting_use_blurhash: Värvid põhinevad peidetud visuaalidel, kuid hägustavad igasuguseid detaile
+ setting_use_pending_items: Peida ajajoone uuendused kliki taga selle asemel, et automaatselt kerida voogu
+ username: Teie kasutajanimi on %{domain}-il unikaalne
+ whole_word: Kui võtmesõna või fraas on ainult tähtnumbriline, rakendub see ainult siis, kui see kattub terve sõnaga
+ domain_allow:
+ domain: See domeen saab tõmmata andmeid sellelt serverilt ning sissetulevad andmed sellelt domeenilt töödeldakse ning salvestatakse
+ featured_tag:
+ name: 'Äkki soovite kasutada mõnda neist:'
+ imports:
+ data: CSV fail eksporditi teisest Mastodoni serverist
+ invite_request:
+ text: See aitab meil üle vaadata Teie taotlust
+ sessions:
+ otp: 'Sisesta kahesammulise autentimise kood loodud Teie mobiilirakenduse poolt või sisesta mõni taastuskood:'
+ tag:
+ name: Te saate ainult muuta tähtede tõstetust, näiteks selleks, et muuta seda rohkem loetavaks
+ user:
+ chosen_languages: Kui valitud, ainult valitud keeltes tuututused näidatakse avalikes ajajoontes
+ labels:
+ account:
+ fields:
+ name: Nimetus
+ value: Sisu
+ account_warning_preset:
+ text: Eelseadistatud tekst
+ admin_account_action:
+ send_email_notification: Teavita kasutajat e-posti teel
+ text: Hoiatus
+ type: Tegevus
+ types:
+ disable: Keela
+ none: Ära tee midagi
+ silence: Vaigista
+ suspend: Peata ja taastamatult kustuta konto andmed
+ warning_preset_id: Kasuta hoiatuse eelseadistust
+ defaults:
+ autofollow: Kutsu oma kontot jälgima
+ avatar: Profiilipilt
+ bot: See konto on robot
+ chosen_languages: Filtreeri keeli
+ confirm_new_password: Kinnita uus salasõna
+ confirm_password: Kinnita salasõna
+ context: Filtreeri kontekste
+ current_password: Kehtiv salasõna
+ data: Andmed
+ discoverable: Lisage see konto kataloogi
+ display_name: Kuvanimi
+ email: E-posti aadress
+ expires_in: Aegu pärast
+ fields: Profiili metaandmed
+ header: Päis
+ inbox_url: Relee sisendkausta URL
+ irreversible: Kustuta selle asemel, et peita
+ locale: Kasutajaliidese keel
+ locked: Lukusta konto
+ max_uses: Maksimum kasutajate arv
+ new_password: Uus salasõna
+ note: Elulugu
+ otp_attempt: Kahesammulise autentimise kood
+ password: Salasõna
+ phrase: Võtmesõna või fraas
+ setting_advanced_layout: Aktiveeri arenenud veebiliides
+ setting_aggregate_reblogs: Grupita upitused ajajoontes
+ setting_auto_play_gif: Mängi GIF-e automaatselt
+ setting_boost_modal: Näita kinnitusdialoogi enne upitamist
+ setting_default_language: Postituse keel
+ setting_default_privacy: Postituse privaatsus
+ setting_default_sensitive: Alati märgista meedia tundlikuks
+ setting_delete_modal: Näita kinnitusdialoogi enne tuututuse kustutamist
+ setting_display_media: Meedia kuvarežiim
+ setting_display_media_default: Vaikimisi
+ setting_display_media_hide_all: Peida kõik
+ setting_display_media_show_all: Kuva kõik
+ setting_expand_spoilers: Alati laienda sisuhoiatustega tuututused
+ setting_hide_network: Peida oma võrk
+ setting_noindex: Keeldu otsingumootorite indekseerimistest
+ setting_reduce_motion: Vähenda liikumist animatsioonides
+ setting_show_application: Avalikusta tuututuste saatmisel kasutatud rakendused
+ setting_system_font_ui: Kasuta süsteemi vaikefonti
+ setting_theme: Saidi teema
+ setting_trends: Näita tänaseid trende
+ setting_unfollow_modal: Näita kinnitusdialoogi enne jälgimise eemaldamist
+ setting_use_blurhash: Näita peidetud meedia asemel värvilist pilti
+ setting_use_pending_items: Aeglane režiim
+ severity: Tõsidus
+ type: Impordi tüüp
+ username: Kasutajanimi
+ username_or_email: Kasutajanimi või e-post
+ whole_word: Terve sõna
+ featured_tag:
+ name: Silt
+ interactions:
+ must_be_follower: Keela teavitused mittejälgijatelt
+ must_be_following: Keela teavitused kasutajatelt, keda sa ei jälgi
+ must_be_following_dm: Keela privaatsõnumid kasutajatelt, keda sa ei jälgi
+ invite_request:
+ text: Miks Te soovite liituda?
+ notification_emails:
+ digest: Saada ülevaatlike e-kirju
+ favourite: Saada e-kiri, kui keegi lisab teie staatuse lemmikuks
+ follow: Saada e-kiri, kui keegi alustab Teie jälgimist
+ follow_request: Saada e-kiri, kui keegi soovib Teid jälgida
+ mention: Saada e-kiri, kui keegi mainib Teid
+ pending_account: Saada e-kiri, kui uus konto vajab ülevaatlust
+ reblog: Saada e-kiri, kui keegi upitab Teie staatust
+ report: Saada e-kiri, kui esitatud on uus teavitus
+ trending_tag: Saada e-kiri, kui ülevaatamata silt trendib
+ tag:
+ listable: Luba sellel sildil ilmuda profiilide kataloogis
+ trendable: Luba sellel sildil trendida
+ usable: Luba tuututustel seda silti kasutada
+ 'no': Ei
+ recommended: Soovituslik
+ required:
+ mark: "*"
+ text: kohustuslik
+ 'yes': Jah
diff --git a/config/locales/simple_form.eu.yml b/config/locales/simple_form.eu.yml
index be3883fb0..65fa6c846 100644
--- a/config/locales/simple_form.eu.yml
+++ b/config/locales/simple_form.eu.yml
@@ -15,7 +15,6 @@ eu:
bot: Kontu honek nagusiki automatizatutako ekintzak burutzen ditu eta agian ez du inork monitorizatzen
context: Iragazkia aplikatzeko testuinguru bat edo batzuk
digest: Jarduerarik gabeko epe luze bat eta gero mezu pertsonalen bat jaso baduzu, besterik ez
- discoverable_html: Direktorioak Jendea interesen eta jardueraren arabera aurkitzea ahalbidetzen du. Gutxienez %{min_followers} jarraitzaile behar dira bertan agertzeko
email: Baieztapen e-mail bat bidaliko zaizu
fields: 4 elementu bistaratu ditzakezu taula batean zure profilean
header: PNG, GIF edo JPG. Gehienez %{size}. %{dimensions}px eskalara txikituko da
@@ -109,8 +108,10 @@ eu:
setting_show_application: Utzi agerian tootak bidaltzeko erabilitako aplikazioa
setting_system_font_ui: Erabili sistemako tipografia lehenetsia
setting_theme: Gunearen gaia
+ setting_trends: Erakutsi gaurko joerak
setting_unfollow_modal: Erakutsi baieztapen elkarrizketa-koadroa inor jarraitzeari utzi aurretik
setting_use_blurhash: Erakutsi gradiente koloretsuak ezkutatutako multimediaren ordez
+ setting_use_pending_items: Modu geldoa
severity: Larritasuna
type: Inportazio mota
username: Erabiltzaile-izena
@@ -133,6 +134,9 @@ eu:
pending_account: Bidali e-mail bat kontu bat berrikusi behar denean
reblog: Bidali e-mail bat norbaitek zure mezuari bultzada ematen badio
report: Bidali e-maila txosten berri bat aurkezten denean
+ tag:
+ trendable: Baimendu traola hau joeretan agertzea
+ usable: Baimendu toot-ek traola hau erabiltzea
'no': Ez
recommended: Aholkatua
required:
diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml
index 7d2dbd8a9..b9f0e9372 100644
--- a/config/locales/simple_form.fa.yml
+++ b/config/locales/simple_form.fa.yml
@@ -2,9 +2,14 @@
fa:
simple_form:
hints:
+ account_alias:
+ acct: نشانی username@domain را برای حسابی که میخواهید از آن منتقل شوید بنویسید
+ account_migration:
+ acct: نشانی username@domain را برای حسابی که میخواهید به آن منتقل شوید بنویسید
account_warning_preset:
text: میتوانید مانند بوقهای معمولی کاربران دیگر را نام ببرید یا پیوند و برچسب بگذارید
admin_account_action:
+ include_statuses: این کاربر خواهد دید که کدام بوق او موجب اقدام مدیریتی یا هشدار شده است
send_email_notification: توضیحی که کاربر میبینید که برای حسابش چه رخ داده است
text_html: اختیاری. میتوانید مثل بوقهای معمولی بنویسید. میتوانید برای صرفهجویی در زمان هشدارهای ازپیشآماده بیفزایید
type_html: با حساب %{acct} میخواهید چه کار کنید؟
@@ -14,8 +19,10 @@ fa:
avatar: یکی از قالبهای PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد
bot: این حساب بیشتر به طور خودکار فعالیت میکند و نظارت پیوستهای روی آن وجود ندارد
context: یک یا چند زمینه که فیلتر باید در آنها اعمال شود
+ current_password: به دلایل امنیتی لطفاً رمز این حساب را وارد کنید
+ current_username: برای تأیید، لطفاً نام کاربری حساب فعلی را وارد کنید
digest: تنها وقتی فرستاده میشود که مدتی طولانی فعالیتی نداشته باشید و در این مدت برای شما پیغام خصوصیای نوشته شده باشد
- discoverable_html: با فهرست گزیدهٔ کاربران مردم میتوانند حسابهای این سرور را بر اساس علاقهمندیها و فعالیتشان پیدا کنند. هر حساب دستکم باید %{min_followers} پیگیر داشته باشد
+ discoverable: فهرست گزیدهٔ کاربران این سرور راه دیگری است که با آن حساب شما میتواند مخاطبان بیشتری پیدا کند
email: به شما ایمیل تأییدی فرستاده خواهد شد
fields: شما میتوانید تا چهار مورد را در یک جدول در نمایهٔ خود نمایش دهید
header: یکی از قالبهای PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد
@@ -34,6 +41,8 @@ fa:
setting_hide_network: فهرست پیگیران شما و فهرست کسانی که شما پی میگیرید روی نمایهٔ شما دیده نخواهد شد
setting_noindex: روی نمایهٔ عمومی و صفحهٔ نوشتههای شما تأثیر میگذارد
setting_show_application: برنامهای که به کمک آن بوق میزنید، در جزئیات بوق شما نمایش خواهد یافت
+ setting_use_blurhash: سایهها بر اساس رنگهای بهکاررفته در تصویر پنهانشده ساخته میشوند ولی جزئیات تصویر در آنها آشکار نیست
+ setting_use_pending_items: به جای پیشرفتن خودکار در فهرست، بهروزرسانی فهرست نوشتهها را پشت یک کلیک پنهان کن
username: نام کاربری شما روی %{domain} یکتا خواهد بود
whole_word: اگر کلیدواژه فقط دارای حروف و اعداد باشد، تنها وقتی پیدا میشود که با کل یک واژه در متن منطبق باشد، نه با بخشی از یک واژه
featured_tag:
@@ -109,6 +118,8 @@ fa:
setting_system_font_ui: بهکاربردن قلم پیشفرض سیستم
setting_theme: تم سایت
setting_unfollow_modal: نمایش پیغام تأیید پیش از لغو پیگیری دیگران
+ setting_use_blurhash: به جای تصویرهای پنهانشده، سایههای رنگی نشان بده
+ setting_use_pending_items: حالت آهسته
severity: شدت
type: نوع درونریزی
username: نام کاربری (لاتین)
diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml
index 6b3aa9bfb..c41292abf 100644
--- a/config/locales/simple_form.fr.yml
+++ b/config/locales/simple_form.fr.yml
@@ -2,9 +2,14 @@
fr:
simple_form:
hints:
+ account_alias:
+ acct: Spécifiez le nom d'utilisateur@domaine du compte que vous souhaitez déplacer
+ account_migration:
+ acct: Spécifiez le nom d'utilisateur@domaine du compte vers lequel vous souhaitez déplacer
account_warning_preset:
text: Vous pouvez utiliser la syntaxe des pouets, comme les URLs, les hashtags et les mentions
admin_account_action:
+ include_statuses: L’utilisateur·rice verra quels sont les pouets qui ont provoqué l’action de modération ou l’avertissement
send_email_notification: L’utilisateur recevra une explication de ce qu’il s’est passé avec son compte
text_html: Optionnel. Vous pouvez utilisez la syntaxe des pouets. Vous pouvez ajouter des présélections d’attention pour économiser du temps
type_html: Choisir que faire avec %{acct}
@@ -14,8 +19,10 @@ fr:
avatar: Au format PNG, GIF ou JPG. %{size} maximum. Sera réduit à %{dimensions}px
bot: Ce compte exécute principalement des actions automatisées et pourrait ne pas être surveillé
context: Un ou plusieurs contextes où le filtre devrait s’appliquer
+ current_password: Pour des raisons de sécurité, veuillez saisir le mot de passe du compte courant
+ current_username: Pour confirmer, veuillez saisir le nom d'utilisateur du compte courant
digest: Uniquement envoyé après une longue période d’inactivité et uniquement si vous avez reçu des messages personnels pendant votre absence
- discoverable_html: L’annuaire permet aux gens de trouver des comptes en se basant sur les intérêts et les activités. Nécessite au moins %{min_followers} abonnés
+ discoverable: L’annuaire des profils est une autre façon pour votre compte d’atteindre une plus grand audience
email: Vous recevrez un courriel de confirmation
fields: Vous pouvez avoir jusqu’à 4 éléments affichés en tant que tableau sur votre profil
header: Au format PNG, GIF ou JPG. %{size} maximum. Sera réduit à %{dimensions}px
@@ -34,16 +41,24 @@ fr:
setting_hide_network: Ceux que vous suivez et ceux qui vous suivent ne seront pas affichés sur votre profil
setting_noindex: Affecte votre profil public ainsi que vos statuts
setting_show_application: Le nom de l’application que vous utilisez afin d’envoyer des pouets sera affiché dans la vue détaillée de ceux-ci
+ setting_use_blurhash: Les dégradés sont basés sur les couleurs des visuels cachés mais ne divulgent pas les détails
+ setting_use_pending_items: Masquer les mises à jour chronologiques derrière un clic au lieu de les montrer automatiquement en faisant défiler le flux d'actualités
username: Votre nom d’utilisateur sera unique sur %{domain}
whole_word: Lorsque le mot-clef ou la phrase-clef est uniquement alphanumérique, ça sera uniquement appliqué s’il correspond au mot entier
+ 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
featured_tag:
name: 'Vous pourriez vouloir utiliser l’un d’entre eux :'
+ form_challenge:
+ current_password: Vous entrez une zone sécurisée
imports:
data: Un fichier CSV généré par un autre serveur de Mastodon
invite_request:
text: Cela nous aidera à considérer votre demande
sessions:
otp: 'Entrez le code d’authentification à deux facteurs généré par l’application de votre téléphone ou utilisez un de vos codes de récupération :'
+ tag:
+ name: Vous ne pouvez modifier que la casse des lettres, par exemple, pour le rendre plus lisible
user:
chosen_languages: Lorsque coché, seuls les pouets dans les langues sélectionnées seront affichés sur les fils publics
labels:
@@ -51,9 +66,14 @@ fr:
fields:
name: Étiquette
value: Contenu
+ account_alias:
+ acct: Gestion de l'ancien compte
+ account_migration:
+ acct: Gestion du nouveau compte
account_warning_preset:
text: Texte de présélection
admin_account_action:
+ include_statuses: Inclure les pouets signalés dans le courriel
send_email_notification: Notifier l’utilisateur par courriel
text: Attention personnalisée
type: Action
@@ -108,7 +128,10 @@ fr:
setting_show_application: Dévoiler le nom de l’application utilisée pour envoyer des pouets
setting_system_font_ui: Utiliser la police par défaut du système
setting_theme: Thème du site
+ setting_trends: Afficher les tendances du jour
setting_unfollow_modal: Afficher une fenêtre de confirmation avant de vous désabonner d’un compte
+ setting_use_blurhash: Afficher les dégradés colorés pour les médias cachés
+ setting_use_pending_items: Mode lent
severity: Sévérité
type: Type d’import
username: Identifiant
@@ -120,6 +143,8 @@ fr:
must_be_follower: Masquer les notifications des personnes qui ne vous suivent pas
must_be_following: Masquer les notifications des personnes que vous ne suivez pas
must_be_following_dm: Bloquer les messages directs des personnes que vous ne suivez pas
+ invite:
+ comment: Commentaire
invite_request:
text: Pourquoi voulez-vous vous inscrire ?
notification_emails:
@@ -131,6 +156,12 @@ fr:
pending_account: Envoyer un courriel lorsqu’un nouveau compte est en attente d’approbation
reblog: Envoyer un courriel lorsque quelqu’un partage mes statuts
report: Envoyer un courriel lorsqu’un nouveau rapport est soumis
+ trending_tag: Envoyer un e-mail quand un hashtag non contrôlé est en tendance actuelle
+ tag:
+ listable: Autoriser ce hashtag à apparaître dans les recherches et dans l’annuaire des profils
+ name: Hashtag
+ trendable: Autoriser ce hashtag à apparaître sous les tendances du jour
+ usable: Autoriser les toots à utiliser ce hashtag
'no': Non
recommended: Recommandé
required:
diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml
index 122481dcf..61308bf48 100644
--- a/config/locales/simple_form.gl.yml
+++ b/config/locales/simple_form.gl.yml
@@ -2,9 +2,14 @@
gl:
simple_form:
hints:
+ account_alias:
+ acct: Indica o usuaria@servidor da conta desde a cal queres migrar
+ account_migration:
+ acct: Indica o usuaria@servidor da conta a cal queres migrar
account_warning_preset:
- text: Vostede pode utilizar dar formato ao toot, como URLs, etiquetas e mencións
+ text: Pódeslle dar formato ao toot, como URLs, etiquetas e mencións
admin_account_action:
+ include_statuses: A usuaria verá que toots causaron a acción da moderación ou aviso
send_email_notification: A usuaria recibirá unha explicación sobre o que lle aconteceu a súa conta
text_html: Optativo. Pode utilizar formato no toot. Pode engadir avisos preestablecidos para aforrar tempo
type_html: Escolla que facer con %{acct}
@@ -14,8 +19,10 @@ gl:
avatar: PNG, GIF ou JPG. Máximo %{size}. Será reducida a %{dimensions}px
bot: Esta conta realiza principalmente accións automatizadas e podería non estar monitorizada
context: Un ou varios contextos onde se debería aplicar o filtro
+ current_password: Por razóns de seguridade, introduce o contrasinal da conta actual
+ current_username: Para confirmar, introduce o nome de usuaria da conta actual
digest: Enviar só tras un longo período de inactividade e só si recibeu algunha mensaxe persoal na súa ausencia
- discoverable_html: O directorio permite atopar contas en función de intereses e actividade. Require ter ao menos %{min_followers} seguidoras
+ discoverable: O directorio de perfil é outro xeito para que a túa conta alcance unha maior audiencia
email: Enviaráselle un correo-e de confirmación
fields: Pode ter ate 4 elementos no seu perfil mostrados como unha táboa
header: PNG, GIF ou JPG. Máximo %{size}. Será reducida a %{dimensions}px
@@ -35,16 +42,23 @@ gl:
setting_noindex: Afecta ao seu perfil público e páxinas de estado
setting_show_application: A aplicación que está a utilizar para enviar toots mostrarase na vista detallada do toot
setting_use_blurhash: Os gradientes toman as cores da imaxe oculta pero esborranchando todos os detalles
+ setting_use_pending_items: Ocultar as actualizacións da liña temporal tras un click no lugar de desprazar automáticamente os comentarios
username: O seu nome de usuaria será único en %{domain}
whole_word: Se a chave ou frase de paso é só alfanumérica, só se aplicará se concorda a palabra completa
+ 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
featured_tag:
name: 'Podería utilizar algunha de estas:'
+ form_challenge:
+ current_password: Estás entrando nun área segura
imports:
data: Ficheiro CSV exportado desde outro servidor Mastodon
invite_request:
text: Esto axudaranos a revisar a súa aplicación
sessions:
- otp: 'Introduza o código de doble-factor xerado no aplicativo do seu móbil ou utilice un dos seus códigos de recuperación:'
+ otp: 'Introduza o código de dobre-factor creado pola aplicación do seu móbil ou utilice un dos seus códigos de recuperación:'
+ tag:
+ name: Só pode cambiar maiús/minúsculas, por exemplo, mellorar a lexibilidade
user:
chosen_languages: Se ten marca, só os toots nos idiomas seleccionados serán mostrados en liñas temporais públicas
labels:
@@ -52,9 +66,14 @@ gl:
fields:
name: Etiqueta
value: Contido
+ account_alias:
+ acct: Xestina a conta antiga
+ account_migration:
+ acct: Xestiona a nova conta
account_warning_preset:
text: Texto preestablecido
admin_account_action:
+ include_statuses: Incluír toots reportados no correo
send_email_notification: Notificar a usuaria por correo-e
text: Aviso personalizado
type: Acción
@@ -87,7 +106,7 @@ gl:
max_uses: Número máximo de usos
new_password: Novo contrasinal
note: Sobre vostede
- otp_attempt: Código de Doble-Factor
+ otp_attempt: Código de Dobre-Factor
password: Contrasinal
phrase: Palabra chave ou frase
setting_advanced_layout: Activar interface web avanzada
@@ -109,8 +128,10 @@ gl:
setting_show_application: Mostrar a aplicación utilizada para tootear
setting_system_font_ui: Utilizar a tipografía por defecto do sistema
setting_theme: Decorado da instancia
+ setting_trends: Mostrar as tendencias de hoxe
setting_unfollow_modal: Solicitar confirmación antes de deixar de seguir alguén
setting_use_blurhash: Mostrar gradientes coloridos para medios ocultos
+ setting_use_pending_items: Modo lento
severity: Severidade
type: Tipo de importación
username: Nome de usuaria
@@ -122,6 +143,8 @@ gl:
must_be_follower: Bloquear as notificacións de non-seguidoras
must_be_following: Bloquea as notificacións de personas que non segue
must_be_following_dm: Bloquea as mensaxes directas de personas que non segue
+ invite:
+ comment: Comentar
invite_request:
text: Por que quere unirse?
notification_emails:
@@ -133,6 +156,12 @@ gl:
pending_account: Enviar correo-e cando unha nova conta precisa revisión
reblog: Enviar un correo cando alguén promociona a súa mensaxe
report: Enviar un correo cando se envíe un novo informe
+ trending_tag: Enviar correo cando unha etiqueta non revisada é tendencia
+ tag:
+ listable: Permitir a esta etiqueta aparecer no directorio de perfil
+ name: Etiqueta
+ trendable: Permitir a esta etiqueta aparecer baixo Tendencias
+ usable: Permitir que os toots utilicen esta etiqueta
'no': Non
recommended: Recomendado
required:
diff --git a/config/locales/simple_form.hu.yml b/config/locales/simple_form.hu.yml
index 7e5e4e79d..e3875cd6b 100644
--- a/config/locales/simple_form.hu.yml
+++ b/config/locales/simple_form.hu.yml
@@ -15,7 +15,6 @@ hu:
bot: Ez a fiók automatikus műveleteket végez és valószínűleg nem figyeljük
context: Kontextusok, ahol a szűrőnek működnie kell
digest: Csak hosszú távollét esetén küldődik és csak ha személyes üzenetet kaptál távollétedben
- discoverable_html: A profilok adatbázisa lehetővé teszi, hogy embereket közös érdeklődés vagy tevékenység alapján találj meg. Legalább %{min_followers} követőre van szükség az adatbázisba való bekerüléshez
email: Kapsz egy megerősítő e-mailt
fields: A profilodon legfeljebb 4 bejegyzés szerepelhet táblázatos formában
header: PNG, GIF vagy JPG. Maximum %{size}. Átméretezzük %{dimensions} pixelre
@@ -34,8 +33,12 @@ hu:
setting_hide_network: Nem látszik majd a profilodon, kik követnek és te kiket követsz
setting_noindex: A nyilvános profilodra és a tülkjeidre vonatkozik
setting_show_application: A tülkök részletes nézetében látszani fog, milyen alkalmazást használtál a tülköléshez
+ setting_use_blurhash: A kihomályosítás az eredeti képből történik, de minden részletet elrejt
+ setting_use_pending_items: Idővonal frissítése csak kattintásra automatikus görgetés helyett
username: A felhasználói neved egyedi lesz a %{domain} domainen
whole_word: Ha a kulcsszó alfanumerikus, csak akkor minősül majd találatnak, ha teljes szóra illeszkedik
+ domain_allow:
+ domain: Ez a domain adatot kérhet le a szerverünkről és az ettől érkező adatokat feldolgozzuk és mentjük
featured_tag:
name: 'Ezeket esetleg használhatod:'
imports:
@@ -44,6 +47,8 @@ hu:
text: Ez segít nekünk átnézni a jelentkezésedet
sessions:
otp: 'Add meg a telefonodon generált kétlépcsős azonosító kódodat vagy használd az egyik tartalék bejelentkező kódot:'
+ tag:
+ name: Csak a kis/nagybetűséget változtathatod meg, pl. hogy olvashatóbb legyen
user:
chosen_languages: Ha aktív, csak a kiválasztott nyelvű tülkök jelennek majd meg a nyilvános idővonalon
labels:
@@ -108,7 +113,10 @@ hu:
setting_show_application: A tülkölésre használt alkalmazás feltüntetése
setting_system_font_ui: Rendszer betűtípusának használata
setting_theme: Megjelenítési sablon
+ setting_trends: Mai trend mutatása
setting_unfollow_modal: Megerősítés kérése mielőtt abbahagyod valaki követését
+ setting_use_blurhash: Rejtett média helyett homály mutatása
+ setting_use_pending_items: Lassú mód
severity: Súlyosság
type: Importálás típusa
username: Felhasználónév
@@ -131,6 +139,11 @@ hu:
pending_account: E-mail küldése, ha új fiókot kell engedélyezni
reblog: E-mail küldése, amikor valaki megtolja a tülködet
report: E-mail küldése, ha új bejelentés érkezett
+ trending_tag: E-mail küldése, ha egy még nem látott hashtag trendi lett
+ tag:
+ listable: A hashtag megjelenhet a profiladatbázisban
+ trendable: A hashtag megjelenhet a trendek között
+ usable: Tülkök használhatják ezt a hashtaget
'no': Nem
recommended: Ajánlott
required:
diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml
index 377a55293..21c86da9e 100644
--- a/config/locales/simple_form.it.yml
+++ b/config/locales/simple_form.it.yml
@@ -5,6 +5,7 @@ it:
account_warning_preset:
text: Puoi usare la sintassi dei toot, come URL, hashtag e menzioni
admin_account_action:
+ include_statuses: L'utente vedrà quali toot hanno causato l'azione di moderazione o l'avviso
send_email_notification: L'utente riceverà una spiegazione di ciò che è successo con suo account
text_html: Opzionale. Puoi usare la sintassi dei toot. Puoi aggiungere avvisi preimpostati per risparmiare tempo
type_html: Decidi cosa fare con %{acct}
@@ -15,7 +16,6 @@ it:
bot: Questo account esegue principalmente operazioni automatiche e potrebbe non essere tenuto sotto controllo da una persona
context: Uno o più contesti nei quali il filtro dovrebbe essere applicato
digest: Inviata solo dopo un lungo periodo di inattività e solo se hai ricevuto qualche messaggio personale in tua assenza
- discoverable_html: La directory permette alle persone di trovare account in base a determinati interessi o attività. Richiede almeno %{min_followers} seguaci
email: Ti manderemo una email di conferma
fields: Puoi avere fino a 4 voci visualizzate come una tabella sul tuo profilo
header: PNG, GIF o JPG. Al massimo %{size}. Verranno scalate a %{dimensions}px
@@ -34,8 +34,12 @@ it:
setting_hide_network: Chi segui e chi segue te non saranno mostrati sul tuo profilo
setting_noindex: Ha effetto sul tuo profilo pubblico e sulle pagine degli status
setting_show_application: L'applicazione che usi per pubblicare i toot sarà mostrata nella vista di dettaglio dei tuoi toot
+ setting_use_blurhash: I gradienti sono basati sui colori delle immagini nascoste ma offuscano tutti i dettagli
+ setting_use_pending_items: Fare clic per mostrare i nuovi messaggi invece di aggiornare la timeline automaticamente
username: Il tuo nome utente sarà unico su %{domain}
whole_word: Quando la parola chiave o la frase è solo alfanumerica, si applica solo se corrisponde alla parola intera
+ domain_allow:
+ domain: Questo dominio potrà recuperare i dati da questo server e i dati in arrivo da esso verranno elaborati e memorizzati
featured_tag:
name: 'Eccone alcuni che potresti usare:'
imports:
@@ -44,6 +48,8 @@ it:
text: Questo ci aiuterà ad esaminare la tua richiesta
sessions:
otp: 'Inserisci il codice a due fattori generato dall''app del tuo telefono o usa uno dei codici di recupero:'
+ tag:
+ name: Puoi cambiare solo il minuscolo/maiuscolo delle lettere, ad esempio, per renderlo più leggibile
user:
chosen_languages: Quando una o più lingue sono contrassegnate, nelle timeline pubbliche vengono mostrati solo i toot nelle lingue selezionate
labels:
@@ -54,6 +60,7 @@ it:
account_warning_preset:
text: Testo preimpostato
admin_account_action:
+ include_statuses: Includi i toots segnalati nell'email
send_email_notification: Informa l'utente via email
text: Avviso personalizzato
type: Azione
@@ -108,7 +115,10 @@ it:
setting_show_application: Rendi pubblica l'applicazione usata per inviare i toot
setting_system_font_ui: Usa il carattere predefinito del sistema
setting_theme: Tema 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
+ setting_use_pending_items: Modalità lenta
severity: Severità
type: Tipo importazione
username: Nome utente
@@ -121,7 +131,7 @@ it:
must_be_following: Blocca notifiche dalle persone che non segui
must_be_following_dm: Blocca i messaggi diretti dalle persone che non segui
invite_request:
- text: Perchè vuoi unirti?
+ text: Perché vuoi iscriverti?
notification_emails:
digest: Invia email riassuntive
favourite: Invia email quando segna come preferito al tuo stato
@@ -131,6 +141,12 @@ it:
pending_account: Invia e-mail quando un nuovo account richiede l'approvazione
reblog: Invia email quando qualcuno da un boost al tuo stato
report: Manda una mail quando viene inviato un nuovo rapporto
+ trending_tag: Invia e-mail quando un hashtag non controllato è in tendenza
+ tag:
+ listable: Permetti a questo hashtag di apparire nella directory dei profili
+ name: Hashtag
+ trendable: Permetti a questo hashtag di apparire nelle tendenze
+ usable: Permetti ai toot di utilizzare questo hashtag
'no': 'No'
recommended: Consigliato
required:
diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml
index e32eded5d..2205dcf8f 100644
--- a/config/locales/simple_form.ja.yml
+++ b/config/locales/simple_form.ja.yml
@@ -5,6 +5,7 @@ ja:
account_warning_preset:
text: URL、ハッシュタグ、メンションなど、投稿に用いる構文が使用できます
admin_account_action:
+ include_statuses: ユーザーは取られた制限や警告の原因となったトゥートを確認できるようになります
send_email_notification: ユーザーは自分のアカウントに何が起こったのか説明を受け取ります
text_html: オプションです。投稿に用いる構文を使うことができます。簡略化のためプリセット警告文を追加することができます
type_html: "%{acct}さんに対し、何を行うか選択してください"
@@ -15,7 +16,7 @@ ja:
bot: このアカウントは主に自動で動作し、人が見ていない可能性があります
context: フィルターを適用する対象 (複数選択可)
digest: 長期間使用していない場合と不在時に返信を受けた場合のみ送信されます
- discoverable_html: ディレクトリ は興味や活動をもとにアカウントを見つけることを可能にします。 掲載には %{min_followers} 人以上のフォロワーが必要です
+ discoverable: ディレクトリはあなたのアカウントをより多くの人に見つけてもらうためのひとつの手段です
email: 確認のメールが送信されます
fields: プロフィールに表として4つまでの項目を表示することができます
header: "%{size}までのPNG、GIF、JPGが利用可能です。 %{dimensions}pxまで縮小されます"
@@ -35,8 +36,11 @@ ja:
setting_noindex: 公開プロフィールおよび各投稿ページに影響します
setting_show_application: トゥートするのに使用したアプリがトゥートの詳細ビューに表示されるようになります
setting_use_blurhash: ぼかしはメディアの色を元に生成されますが、細部は見えにくくなっています
+ setting_use_pending_items: 新着があってもタイムラインを自動的にスクロールしないようにします
username: あなたのユーザー名は %{domain} の中で重複していない必要があります
whole_word: キーワードまたはフレーズが英数字のみの場合、単語全体と一致する場合のみ適用されるようになります
+ domain_allow:
+ domain: 登録するとこのサーバーからデータを受信したり、このドメインから受信するデータを処理して保存できるようになります
featured_tag:
name: 'これらを使うといいかもしれません:'
imports:
@@ -45,6 +49,8 @@ ja:
text: このサーバーは現在承認制です。申請を承認する際に役立つメッセージを添えてください
sessions:
otp: '携帯電話のアプリで生成された二段階認証コードを入力するか、リカバリーコードを使用してください:'
+ tag:
+ name: 視認性向上などのためにアルファベット大文字小文字の変更のみ行うことができます
user:
chosen_languages: 選択すると、選択した言語のトゥートのみが公開タイムラインに表示されるようになります
labels:
@@ -55,6 +61,7 @@ ja:
account_warning_preset:
text: プリセット警告文
admin_account_action:
+ include_statuses: 通報されたトゥートをメールに含める
send_email_notification: メールでユーザーに通知
text: カスタム警告文
type: アクション
@@ -109,8 +116,10 @@ ja:
setting_show_application: 送信したアプリを開示する
setting_system_font_ui: システムのデフォルトフォントを使う
setting_theme: サイトテーマ
+ setting_trends: 本日のトレンドタグを表示する
setting_unfollow_modal: フォローを解除する前に確認ダイアログを表示する
setting_use_blurhash: 非表示のメディアを色付きのぼかしで表示する
+ setting_use_pending_items: 手動更新モード
severity: 重大性
type: インポートする項目
username: ユーザー名
@@ -133,6 +142,12 @@ ja:
pending_account: 新しいアカウントの承認が必要な時にメールで通知する
reblog: トゥートがブーストされた時にメールで通知する
report: 通報を受けた時にメールで通知する
+ trending_tag: 未審査のハッシュタグが人気の時にメールで通知する
+ tag:
+ listable: 検索とディレクトリへの使用を許可する
+ name: ハッシュタグ
+ trendable: トレンドへの表示を許可する
+ usable: トゥートへの使用を許可する
'no': いいえ
recommended: おすすめ
required:
diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml
index 8147cde5d..7c0a81558 100644
--- a/config/locales/simple_form.ko.yml
+++ b/config/locales/simple_form.ko.yml
@@ -5,6 +5,7 @@ ko:
account_warning_preset:
text: URL, 해시태그, 멘션과 같은 툿 문법을 사용할 수 있습니다
admin_account_action:
+ include_statuses: 사용자는 어떤 툿에 대해 경고나 조치가 취해졌는지 볼 수 있게 됩니다
send_email_notification: 유저는 어떤 일이 일어났는 지에 대한 설명을 받게 됩니다
text_html: 선택사항. 툿 문법을 사용할 수 있습니다. 경고 틀을 추가하여 시간을 절약할 수 있습니다
type_html: "%{acct}에 대해 취할 행동 선택"
@@ -14,8 +15,10 @@ ko:
avatar: PNG, GIF 혹은 JPG. 최대 %{size}. %{dimensions}px로 다운스케일 될 것임
bot: 사람들에게 계정이 사람이 아님을 알립니다
context: 필터를 적용 할 한 개 이상의 컨텍스트
+ current_password: 보안을 위해 현재 계정의 비밀번호를 입력해주세요
+ current_username: 확인을 위해, 현재 계정의 유저명을 입력해주세요
digest: 오랫동안 활동하지 않았을 때 받은 멘션들에 대한 요약 받기
- discoverable_html: 디렉토리 는 사람들의 관심사와 활동에 관련 된 계정들을 찾을 수 있게 해 줍니다. 최소 %{min_followers}명의 팔로어가 필요합니다
+ discoverable: 프로필 디렉터리는 내 계정이 더 많은 관심을 갖게 할 수 있는 다른 방법입니다
email: 당신은 확인 메일을 받게 됩니다
fields: 당신의 프로파일에 최대 4개까지 표 형식으로 나타낼 수 있습니다
header: PNG, GIF 혹은 JPG. 최대 %{size}. %{dimensions}px로 다운스케일 됨
@@ -34,16 +37,24 @@ ko:
setting_hide_network: 나를 팔로우 하는 사람들과 내가 팔로우 하는 사람들이 내 프로필에 표시되지 않게 합니다
setting_noindex: 공개 프로필 및 각 툿페이지에 영향을 미칩니다
setting_show_application: 당신이 툿을 작성하는데에 사용한 앱이 툿의 상세정보에 표시 됩니다
+ setting_use_blurhash: 그라디언트는 숨겨진 내용의 색상을 기반으로 하지만 상세 내용은 보이지 않게 합니다
+ setting_use_pending_items: 타임라인의 새 게시물을 자동으로 보여 주는 대신, 클릭해서 나타내도록 합니다
username: 당신의 유저네임은 %{domain} 안에서 유일해야 합니다
whole_word: 키워드가 영문과 숫자로만 이루어 진 경우, 단어 전체에 매칭 되었을 때에만 작동하게 합니다
+ domain_allow:
+ domain: 이 도메인은 이 서버에서 데이터를 가져갈 수 있고 이 도메인에서 보내진 데이터는 처리되고 저장 됩니다
featured_tag:
name: '이것들을 사용하면 좋을 것 같습니다:'
+ form_challenge:
+ current_password: 당신은 보안 구역에 진입하고 있습니다
imports:
data: 다른 마스토돈 서버에서 추출된 CSV 파일
invite_request:
text: 이 정보는 우리가 심사를 하는 데에 참고할 수 있습니다
sessions:
otp: '휴대전화에서 생성 된 2단계 인증 코드를 입력하거나, 복구 코드 중 하나를 사용하세요:'
+ tag:
+ name: 읽기 쉽게하기 위한 글자의 대소문자만 변경할 수 있습니다.
user:
chosen_languages: 체크하면, 선택 된 언어들만 공개 타임라인에 보여집니다
labels:
@@ -54,6 +65,7 @@ ko:
account_warning_preset:
text: 프리셋 텍스트
admin_account_action:
+ include_statuses: 신고된 툿을 이메일에 포함
send_email_notification: 이메일로 유저에게 알리기
text: 커스텀 경고
type: 조치
@@ -108,7 +120,10 @@ ko:
setting_show_application: 툿 작성에 사용한 앱을 공개
setting_system_font_ui: 시스템의 초기 설정 폰트를 사용
setting_theme: 사이트 테마
+ setting_trends: 오늘의 유행 보이기
setting_unfollow_modal: 언팔로우 전 언팔로우 확인 표시
+ setting_use_blurhash: 숨겨진 미디어에 대해 그라디언트 표시
+ setting_use_pending_items: 느린 모드
severity: 심각도
type: 불러오기 종류
username: 유저 이름
@@ -120,6 +135,8 @@ ko:
must_be_follower: 나를 팔로우 하지 않는 사람에게서 온 알림을 차단
must_be_following: 내가 팔로우 하지 않는 사람에게서 온 알림을 차단
must_be_following_dm: 내가 팔로우 하지 않은 사람에게서 오는 다이렉트메시지를 차단
+ invite:
+ comment: 주석
invite_request:
text: 가입하려는 이유가 무엇인가요?
notification_emails:
@@ -131,8 +148,15 @@ ko:
pending_account: 새 계정이 심사가 필요할 때 이메일 보내기
reblog: 누군가 내 툿을 부스트 했을 때 이메일 보내기
report: 새 신고 등록시 이메일로 알리기
+ trending_tag: 리뷰 되지 않은 해시태그가 유행할 때 이메일 보내기
+ tag:
+ listable: 이 해시태그가 프로필 디렉토리에 보여지도록 허용
+ name: 해시태그
+ trendable: 이 해시태그가 유행에 보여지도록 허용
+ usable: 이 해시태그를 툿에 사용 가능하도록 허용
'no': 아니오
recommended: 추천함
required:
+ mark: "*"
text: 필수 항목
'yes': 네
diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml
index 58d29ce12..cda4e9ead 100644
--- a/config/locales/simple_form.nl.yml
+++ b/config/locales/simple_form.nl.yml
@@ -15,7 +15,6 @@ nl:
bot: Dit is een geautomatiseerd account en wordt mogelijk niet gemonitord
context: Een of meerdere locaties waar de filter actief moet zijn
digest: Wordt alleen na een lange periode van inactiviteit verzonden en alleen wanneer je tijdens jouw afwezigheid persoonlijke berichten hebt ontvangen
- discoverable_html: In de gebruikersgids kunnen mensen andere accounts vinden aan de hand van interesses en activiteit. Dit vereist tenminste %{min_followers} volgers
email: Je krijgt een bevestigingsmail
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
@@ -109,6 +108,7 @@ nl:
setting_system_font_ui: Standaardlettertype van jouw systeem gebruiken
setting_theme: Thema website
setting_unfollow_modal: Vraag voor het ontvolgen van iemand een bevestiging
+ setting_use_pending_items: Langzame modus
severity: Zwaarte
type: Importtype
username: Gebruikersnaam
@@ -131,6 +131,8 @@ nl:
pending_account: Een e-mail verzenden wanneer een nieuw account moet worden beoordeeld
reblog: Een e-mail versturen wanneer iemand jouw toot heeft geboost
report: Verstuur een e-mail wanneer een nieuw rapportage is ingediend
+ tag:
+ name: Hashtag
'no': Nee
recommended: Aanbevolen
required:
diff --git a/config/locales/simple_form.nn.yml b/config/locales/simple_form.nn.yml
new file mode 100644
index 000000000..777f4e600
--- /dev/null
+++ b/config/locales/simple_form.nn.yml
@@ -0,0 +1 @@
+nn:
diff --git a/config/locales/simple_form.oc.yml b/config/locales/simple_form.oc.yml
index 9453375b1..50a8efab1 100644
--- a/config/locales/simple_form.oc.yml
+++ b/config/locales/simple_form.oc.yml
@@ -15,7 +15,6 @@ oc:
bot: Avisar lo monde qu’aqueste compte es pas d’una persona
context: Un o mai de contèxtes ont lo filtre deuriá s’aplicar
digest: Solament enviat aprèp un long moment d’inactivitat e solament s’avètz recebut de messatges personals pendent vòstra abséncia
- discoverable_html: L’annuari permet al monde de trobar de comptes segon lor interèsses e activitats. Requerís almens %{min_followers} seguidors
email: Vos mandarem un corrièl de confirmacion
fields: Podètz far veire cap a 4 elements sus vòstre perfil
header: PNG, GIF o JPG. Maximum %{size}. Serà retalhada en %{dimensions}px
@@ -35,6 +34,7 @@ oc:
setting_noindex: Aquò es destinat a vòstre perfil public e vòstra pagina d’estatuts
setting_show_application: Lo nom de l’aplicacion qu’utilizatz per publicar serà mostrat dins la vista detalhada de vòstres tuts
setting_use_blurhash: Los degradats venon de las colors de l’imatge rescondut en enfoscar los detalhs
+ setting_use_pending_items: Rescondre las actualizacions del flux d’actualitat aprèp un clic allòc de desfilar lo flux automaticament
username: Vòstre nom d’utilizaire serà unic sus %{domain}
whole_word: Quand lo mot-clau o frasa es solament alfranumeric, serà pas qu’aplicat se correspond al mot complèt
featured_tag:
@@ -109,8 +109,10 @@ oc:
setting_show_application: Revelar lo nom de l’aplicacion utilizada per enviar de tuts
setting_system_font_ui: Utilizar la polissa del sistèma
setting_theme: Tèma del site
+ setting_trends: Veire las tendéncias d’uèi
setting_unfollow_modal: Mostrar una confirmacion abans de quitar de sègre qualqu’un
setting_use_blurhash: Mostrar los degradats colorats pels mèdias resconduts
+ setting_use_pending_items: Mòde lent
severity: Severitat
type: Tipe d’impòrt
username: Nom d’utilizaire
@@ -122,6 +124,8 @@ oc:
must_be_follower: Blocar las notificacions del mond que vos sègon pas
must_be_following: Blocar las notificacions del mond que seguètz pas
must_be_following_dm: Blocar los messatges del monde que seguètz pas
+ invite:
+ comment: Comentari
invite_request:
text: Perqué volètz vos marcar ?
notification_emails:
@@ -133,6 +137,11 @@ oc:
pending_account: Enviar un corrièl quand cal validar un compte novèl
reblog: Enviar un corrièl quand qualqu’un tòrna partejar vòstre estatut
report: Enviar un corrièl pels nòus senhalaments
+ tag:
+ listable: Permetre a aquesta etiqueta d’aparéisser a las recèrcas e a l’annuari de perfils
+ name: Etiqueta
+ trendable: Permetre a aquesta etiqueta d’aparéisser a las tendéncias
+ usable: Permetre als tuts d’utilizar aquesta etiqueta
'no': Non
recommended: Recomandat
required:
diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml
index 553900855..695817985 100644
--- a/config/locales/simple_form.pl.yml
+++ b/config/locales/simple_form.pl.yml
@@ -15,7 +15,6 @@ pl:
bot: To konto wykonuje głównie zautomatyzowane działania i może nie być monitorowane
context: Jedno lub wiele miejsc, w których filtr zostanie zastosowany
digest: Wysyłane tylko po długiej nieaktywności, jeżeli w tym czasie otrzymaleś jakąś wiadomość bezpośrednią
- discoverable_html: Katalog pozwala znaleźć konta na podstawie zainteresowań i aktywności. Profil musi śledzić przynajmniej %{min_followers} osób
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
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
index 10475e515..8400951f0 100644
--- a/config/locales/simple_form.pt-BR.yml
+++ b/config/locales/simple_form.pt-BR.yml
@@ -15,7 +15,6 @@ pt-BR:
bot: Essa conta executa principalmente ações automatizadas e pode não ser monitorada
context: Um ou mais contextos onde o filtro deve ser aplicado
digest: Enviado após um longo período de inatividade com um resumo das menções que você recebeu em sua ausência
- discoverable_html: O diretório permite encontrar contas baseado em seus interesses e atividades. Requer pelo menos %{min_followers} seguidores
email: Você receberá um email de confirmação
fields: Você pode ter até 4 itens exibidos em forma de tabela no seu perfil
header: PNG, GIF or JPG. Arquivos de até %{size}. Eles serão diminuídos para %{dimensions}px
diff --git a/config/locales/simple_form.pt.yml b/config/locales/simple_form.pt-PT.yml
similarity index 97%
rename from config/locales/simple_form.pt.yml
rename to config/locales/simple_form.pt-PT.yml
index bf6381889..0ac31f8c2 100644
--- a/config/locales/simple_form.pt.yml
+++ b/config/locales/simple_form.pt-PT.yml
@@ -1,5 +1,5 @@
---
-pt:
+pt-PT:
simple_form:
hints:
account_warning_preset:
@@ -15,7 +15,6 @@ pt:
bot: Esta conta executa essencialmente acções automáticas e pode não poder ser monitorizada
context: Um ou múltiplos contextos nos quais o filtro deve ser aplicado
digest: Enviado após um longo período de inatividade e apenas se foste mencionado na tua ausência
- discoverable_html: O directory permite encontrar contas de pessoas com base nos seus interesses e actividades. Exige, pelo menos %{min_followers} seguidores
email: Será enviado um e-mail de confirmação
fields: Podes ter até 4 itens expostos, em forma de tabela, no teu perfil
header: PNG, GIF or JPG. Arquivos até %{size}. Vão ser reduzidos para %{dimensions}px
diff --git a/config/locales/simple_form.ro.yml b/config/locales/simple_form.ro.yml
index 4df2fe161..ac4c344f1 100644
--- a/config/locales/simple_form.ro.yml
+++ b/config/locales/simple_form.ro.yml
@@ -15,7 +15,6 @@ ro:
bot: Acest cont performează în cea mai mare parte acțiuni automate și nu poate fi monitorizat
context: Contextele în care filtrul trebuie aplicat
digest: Este trimis doar după o lungă perioadă de inactivitate și numai dacă primești mesaje personale în perioada de absență
- discoverable_html: Directorul permite utilizatorilor să găsească conturi după interese și activități. Necesită minim %{min_followers} urmăritori
email: Vei primi un e-mail de confirmare
fields: Poti afișa pană la maxim 4 adrese sub formă de tabel pe pofilul tău
header: PNG, GIF sau JPG. Cel mult %{size}. Vor fi redimensionate la %{dimensions}px
diff --git a/config/locales/simple_form.ru.yml b/config/locales/simple_form.ru.yml
index fcc1c2827..ab5eb855e 100644
--- a/config/locales/simple_form.ru.yml
+++ b/config/locales/simple_form.ru.yml
@@ -11,18 +11,17 @@ ru:
warning_preset_id: Необязательно. Вы можете добавить собственный текст в конце шаблона
defaults:
autofollow: Люди, пришедшие по этому приглашению, автоматически будут подписаны на вас
- avatar: PNG, GIF или JPG. Максимально %{size}. Будет уменьшено до %{dimensions}px
+ avatar: Поддерживается PNG, GIF и JPG. Максимальный размер — %{size}. Будет уменьшен до %{dimensions}px
bot: Этот аккаунт обычно выполяет автоматизированные действия и может не просматриваться владельцем
context: Один или несколько контекстов, к которым должны быть применены фильтры
digest: Отсылается лишь после длительной неактивности, если вы в это время получали личные сообщения
- discoverable_html: Каталог позволяет пользователям искать людей по интересам и активности. Необходимо наличие не менее %{min_followers} подписчиков
email: Вам будет отправлено электронное письмо с подтверждением
fields: В профиле можно отобразить до 4 пунктов как таблицу
- header: PNG, GIF или JPG. Максимально %{size}. Будет уменьшено до %{dimensions}px
+ header: Поддерживается PNG, GIF и JPG. Максимальный размер — %{size}. Будет уменьшена до %{dimensions}px
inbox_url: Копировать URL с главной страницы ретранслятора, который вы хотите использовать
irreversible: Отфильтрованные статусы будут утеряны навсегда, даже если в будущем фильтр будет убран
locale: Язык интерфейса, e-mail писем и push-уведомлений
- locked: Потребует от вас ручного подтверждения подписчиков, изменит приватность постов по умолчанию на "только для подписчиков"
+ locked: Подписчиков нужно будет подтверждать самостоятельно
password: Укажите не менее 8 символов
phrase: Будет сопоставлено независимо от присутствия в тексте или предупреждения о содержании статуса
scopes: Какие API приложению будет позволено использовать. Если вы выберете самый верхний, нижестоящие будут выбраны автоматически.
@@ -34,8 +33,12 @@ ru:
setting_hide_network: Те, на кого вы подписаны и кто подписан на Вас, не будут отображены в вашем профиле
setting_noindex: Относится к вашему публичному профилю и страницам статусов
setting_show_application: В окне просмотра вашего статуса будет видно, с какого приложения он был отправлен
+ setting_use_blurhash: Градиенты основаны на цветах скрытых медиа, но скрывают любые детали
+ setting_use_pending_items: Показывать обновления в ленте только после клика вместо автоматической прокрутки
username: Ваш юзернейм будет уникальным на %{domain}
whole_word: Если слово или фраза состоит только из букв и цифр, сопоставление произойдёт только по полному совпадению
+ domain_allow:
+ domain: Этот домен сможет получать данные с этого сервера и его входящие данные будут обрабатываться и сохранены
featured_tag:
name: 'Возможно, вы захотите выбрать из них:'
imports:
@@ -44,6 +47,8 @@ ru:
text: Это поможет нам рассмотреть вашу заявку
sessions:
otp: 'Введите код двухфакторной аутентификации, сгенерированный в мобильном приложении, или используйте один из ваших кодов восстановления:'
+ tag:
+ name: Вы можете изменить только регистр букв чтобы, например, сделать тег более читаемым
user:
chosen_languages: Если выбрано, то в публичных лентах будут показаны только посты на выбранных языках
labels:
@@ -74,7 +79,7 @@ ru:
current_password: Текущий пароль
data: Данные
discoverable: Показывать этот аккаунт в каталоге
- display_name: Показываемое имя
+ display_name: Отображаемое имя
email: Адрес e-mail
expires_in: Истекает через
fields: Метаданные профиля
@@ -85,18 +90,18 @@ ru:
locked: Сделать аккаунт закрытым
max_uses: Максимальное число использований
new_password: Новый пароль
- note: О Вас
+ note: О себе
otp_attempt: Двухфакторный код
password: Пароль
phrase: Слово или фраза
setting_advanced_layout: Включить многоколоночный интерфейс
setting_aggregate_reblogs: Группировать продвижения в лентах
setting_auto_play_gif: Автоматически проигрывать анимированные GIF
- setting_boost_modal: Показывать диалог подтверждения перед продвижением
+ setting_boost_modal: Всегда спрашивать перед продвижением
setting_default_language: Язык отправляемых статусов
setting_default_privacy: Видимость постов
setting_default_sensitive: Всегда отмечать медиаконтент как чувствительный
- setting_delete_modal: Показывать диалог подтверждения перед удалением
+ setting_delete_modal: Всегда спрашивать перед удалении поста
setting_display_media: Отображение медиафайлов
setting_display_media_default: По умолчанию
setting_display_media_hide_all: Скрывать все
@@ -108,7 +113,10 @@ ru:
setting_show_application: Раскрывать приложение, с которого отправляются статусы
setting_system_font_ui: Использовать шрифт системы по умолчанию
setting_theme: Тема сайта
- setting_unfollow_modal: Показывать диалог подтверждения перед тем, как отписаться от аккаунта
+ setting_trends: Показывать сегодняшние тренды
+ setting_unfollow_modal: Всегда спрашивать перед отпиской от аккаунта
+ setting_use_blurhash: Показать цветные градиенты для скрытых медиа
+ setting_use_pending_items: Медленный режим
severity: Строгость
type: Тип импорта
username: Имя пользователя
@@ -131,6 +139,11 @@ ru:
pending_account: Отправлять e-mail при наличии новых заявок на присоединение
reblog: Уведомлять по e-mail, когда кто-то продвинул ваш статус
report: Уведомлять по e-mail при создании жалобы
+ trending_tag: Отправлять e-mail при непроверенных хэштегах в трендах
+ tag:
+ listable: Разрешить показ хэштега в поиске или в каталоге профилей
+ trendable: Разрешить показ хэштега в трендах
+ usable: Разрешить использовать этот хэштег в постах
'no': Нет
recommended: Рекомендуется
required:
diff --git a/config/locales/simple_form.sk.yml b/config/locales/simple_form.sk.yml
index 4ee251b26..b908c0196 100644
--- a/config/locales/simple_form.sk.yml
+++ b/config/locales/simple_form.sk.yml
@@ -5,6 +5,7 @@ sk:
account_warning_preset:
text: Môžeš používať rovnakú syntaxiu ako v rámci príspevkov, čiže URL, haštagy, a spomenutia
admin_account_action:
+ include_statuses: Užívateľ uvidí, ktoré príspevky majú za následok moderačný zásah, alebo upozornenie
send_email_notification: Užívateľ dostane vysvetlenie ohľadom toho, čo sa stalo s ich účtom
text_html: Voliteľné. Môžeš používať rovnakú syntaxiu ako v príspevkoch. Môžeš pridať varovné predlohy a ušetriť tak čas
type_html: Vyber si, čo urobiť s účtom %{acct}
@@ -15,7 +16,6 @@ sk:
bot: Tento účet vykonáva hlavne automatizované akcie, a je pravdepodobne nespravovaný
context: Jedno, alebo viac kritérií, v ktorých má byť filtrovanie uplatnené
digest: Odoslané iba v prípade dlhodobej neprítomnosti, a len ak si obdržal/a nejaké osobné správy kým si bol/a preč
- discoverable_html: Táto databáza umožňuje ľudom nájsť profily podľa záujmu a aktívnosti. Vyžaduje aby mali aspoň %{min_followers} sledovateľov
email: Bude ti odoslaný potvrdzujúci email
fields: Až štyri položky môžeš mať na svojom profile zobrazené vo forme tabuľky
header: PNG, GIF, alebo JPG. Maximálne %{size}. Bude zmenšený na %{dimensions}px
@@ -34,8 +34,11 @@ sk:
setting_hide_network: Koho následuješ, a kto následuje teba, nebude zobrazené na tvojom profile
setting_noindex: Ovplyvňuje verejný profil a stránky s príspevkami
setting_show_application: Aplikácia, ktorú používaš na písanie príspevkov, bude zobrazená v podrobnom náhľade jednotlivých tvojích príspevkov
+ setting_use_pending_items: Skry aktualizovanie časovej osi tak, aby bola načitávaná iba po kliknutí, namiesto samostatného posúvania
username: Tvoja prezývka bude unikátna pre server %{domain}
whole_word: Ak je kľúčové slovo, alebo fráza poskladaná iba s písmen a čísel, bude použité iba ak sa zhoduje s celým výrazom
+ domain_allow:
+ domain: Táto doména bude schopná získavať dáta z tohto servera, a prichádzajúce dáta ním budú spracovávané a uložené
featured_tag:
name: 'Možno by si chcel/a použiť niektoré z týchto:'
imports:
@@ -54,6 +57,7 @@ sk:
account_warning_preset:
text: Text predlohy
admin_account_action:
+ include_statuses: Zahrnúť nahlásené príspevky v emaile
send_email_notification: Oznam užívateľovi cez email
text: Špecifické varovanie
type: Úkon
@@ -101,15 +105,17 @@ sk:
setting_display_media_default: Štandard
setting_display_media_hide_all: Ukry všetky
setting_display_media_show_all: Ukáž všetky
- setting_expand_spoilers: Stále rozbaľ príspevky označené varovaním o obsahu
+ setting_expand_spoilers: Stále rozbaľ príspevky označené varovaním o chúlostivom obsahu
setting_hide_network: Ukry svoju sieť kontaktov
setting_noindex: Nezaraďuj príspevky do indexu pre vyhľadávče
setting_reduce_motion: Mierni pohyb pri animáciách
setting_show_application: Zverejni akú aplikáciu používaš na posielanie príspevkov
setting_system_font_ui: Použi základné systémové písmo
setting_theme: Vzhľad webu
+ setting_trends: Ukáž dnešné trendy
setting_unfollow_modal: Vyžaduj potvrdenie pred skončením sledovania iného užívateľa
setting_use_blurhash: Ukáž farebné prechody pre skryté médiá
+ setting_use_pending_items: Pomalý režim
severity: Závažnosť
type: Typ importu
username: Prezývka
@@ -132,6 +138,12 @@ sk:
pending_account: Zaslať email, ak treba prehodnotiť nový účet
reblog: Zaslať email, ak niekto re-tootne tvoj príspevok
report: Zaslať email, ak niekto podá nové nahlásenie
+ trending_tag: Pošli email, ak sa neoverený haštag stane populárnym
+ tag:
+ listable: Povoľ zobrazovanie tohto haštagu v zozname profilov
+ name: Haštag
+ trendable: Povoľ zobrazovanie tohto haštagu medzi trendujúcimi
+ usable: Povoľ používanie tohto haštagu v príspevkoch
'no': Nie
recommended: Odporúčané
required:
diff --git a/config/locales/simple_form.sl.yml b/config/locales/simple_form.sl.yml
index 2e0495551..771edf383 100644
--- a/config/locales/simple_form.sl.yml
+++ b/config/locales/simple_form.sl.yml
@@ -2,6 +2,13 @@
sl:
simple_form:
hints:
+ account_warning_preset:
+ text: Lahko uporabite skladnjo tuta, kot so URL-ji, ključniki in omembe
+ admin_account_action:
+ send_email_notification: Uporabnik bo prejel razlago, kaj se je zgodilo z njihovim računom
+ text_html: Neobvezno. Lahko uporabite skladnjo tuta. Prednastavite opozorila, da prihranite čas
+ type_html: Izberite, kaj boste storili z %{acct}
+ warning_preset_id: Neobvezno. Še vedno lahko dodate besedilo po meri na konec prednastavitve
defaults:
autofollow: Osebe, ki se prijavijo prek povabila, vas bodo samodejno sledile
avatar: PNG, GIF ali JPG. Največ %{size}. Zmanjšana bo na %{dimensions}px
@@ -18,15 +25,26 @@ sl:
password: Uporabite najmanj 8 znakov
phrase: Se bo ujemal, ne glede na začetnice v tekstu ali opozorilo o vsebini troba
scopes: Do katerih API-jev bo imel program dostop. Če izberete obseg najvišje ravni, vam ni treba izbrati posameznih.
+ setting_aggregate_reblogs: Ne prikažite novih spodbud za tute, ki so bili nedavno spodbujeni (vpliva samo na novo prejete spodbude)
+ setting_default_sensitive: Občutljivi mediji so privzeto skriti in jih je mogoče razkriti s klikom
setting_display_media_default: Skrij medij, ki je označen kot občutljiv
setting_display_media_hide_all: Vedno skrij vse medije
setting_display_media_show_all: Vedno pokaži medij, ki je označen kot občutljiv
setting_hide_network: Kogar spremljate in kdo vas spremlja ne bo prikazano na vašem profilu
setting_noindex: Vpliva na vaš javni profil in na strani s stanjem
+ setting_show_application: Aplikacija, ki jo uporabljate za tutanje, bo prikazana v podrobnem pogledu vaših tutov
+ setting_use_blurhash: Gradienti temeljijo na barvah skrite vizualne slike, vendar zakrivajo vse podrobnosti
+ setting_use_pending_items: Skrij posodobitev časovnice za klikom namesto samodejnega posodabljanja
username: Vaše uporabniško ime bo edinstveno na %{domain}
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
+ featured_tag:
+ name: 'Morda boste želeli uporabiti eno od teh:'
imports:
data: Izvožena CSV datoteka iz drugega Mastodon vozlišča
+ invite_request:
+ text: To nam bo pomagalo pregledati vašo prijavo
sessions:
otp: 'Vnesite dvomestno kodo, ki je ustvarjena z aplikacijo na telefonu, ali uporabite eno od vaših obnovitvenih kod:'
user:
@@ -36,6 +54,18 @@ sl:
fields:
name: Oznaka
value: Vsebina
+ account_warning_preset:
+ text: Prednastavljeno besedilo
+ admin_account_action:
+ send_email_notification: Obvesti uporabnika po e-pošti
+ text: Opozorilo po meri
+ type: Dejanje
+ types:
+ disable: Onemogoči
+ none: Ne naredi ničesar
+ silence: Utišaj
+ suspend: Suspendiraj in nepovratno izbriši podatke računa
+ warning_preset_id: Uporabi prednastavljeno opozorilo
defaults:
autofollow: Povabite, da sledi vašemu računu
avatar: Podoba
@@ -46,6 +76,7 @@ sl:
context: Filtriraj vsebino
current_password: Trenutno geslo
data: Podatki
+ discoverable: Dodaj ta račun v imenik
display_name: Prikazno ime
email: E-poštni naslov
expires_in: Preteče po
@@ -57,9 +88,12 @@ sl:
locked: Zaklenjen račun
max_uses: Največje število uporabnikov
new_password: Novo geslo
+ note: Bio
otp_attempt: Dvofaktorska koda
password: Geslo
phrase: Ključna beseda ali fraza
+ setting_advanced_layout: Omogoči napredni spletni vmesnik
+ setting_aggregate_reblogs: Skupinske spodbude na časovnicah
setting_auto_play_gif: Samodejno predvajanje animiranih GIF-ov
setting_boost_modal: Pred sunkom pokaži potrditveno okno
setting_default_language: Jezik objavljanja
@@ -74,27 +108,37 @@ sl:
setting_hide_network: Skrij svoje omrežje
setting_noindex: Odsotnost indeksiranja iskalnikov
setting_reduce_motion: Zmanjšanje premikanja v animacijah
+ setting_show_application: Razkrij aplikacijo za pošiljanje tutov
setting_system_font_ui: Uporabi privzeto pisavo sistema
setting_theme: Tema strani
setting_unfollow_modal: Pokaži potrditveno okno, preden nekoga prenehamo slediti
+ setting_use_blurhash: Pokaži barvite gradiente za skrite medije
+ setting_use_pending_items: Počasen način
severity: Strogost
type: Vrsta uvoza
username: Uporabniško ime
username_or_email: Uporabniško ime ali E-pošta
whole_word: Celotna beseda
+ featured_tag:
+ name: Ključnik
interactions:
must_be_follower: Blokiraj obvestila nesledilcev
must_be_following: Blokiraj obvestila oseb, ki jim ne sledite
must_be_following_dm: Blokiraj neposredna sporočila oseb, ki jim ne sledite
+ invite_request:
+ text: Zakaj se želite pridružiti?
notification_emails:
digest: Pošlji izvlečke e-pošt
favourite: Pošlji e-pošto, ko nekdo doda vaše stanje med priljubljene
follow: Pošlji e-pošto, ko vas nekdo sledi
follow_request: Pošlji e-pošto, ko vam nekdo želi slediti
mention: Pošlji e-pošto, ko vas nekdo omeni
+ pending_account: Pošlji e-pošto, ko je potreben pregled novega računa
reblog: Pošlji e-pošto, ko nekdo sune vaše stanje
report: Pošlji e-pošto, ko je oddana nova prijava
'no': Ne
+ recommended: Priporočeno
required:
+ mark: "*"
text: zahtevano
'yes': Da
diff --git a/config/locales/simple_form.sq.yml b/config/locales/simple_form.sq.yml
index 04ef12c9a..b365bdda8 100644
--- a/config/locales/simple_form.sq.yml
+++ b/config/locales/simple_form.sq.yml
@@ -15,7 +15,6 @@ sq:
bot: Kjo llogari kryesisht bën veprime të automatizuara dhe mund të mos mbikëqyret dot
context: Një ose disa kontekste kur duhet të zbatohet filtri
digest: I dërguar vetëm pas një periudhe të gjatë pasiviteti dhe vetëm nëse keni marrë ndonjë mesazh personal gjatë mungesës suaj
- discoverable_html: Drejtoria u lejon njerëzve të gjejnë llogari bazuar në interesat dhe veprimtarinë. Lyp të paktën %{min_followers} ndjekës
email: Do t’ju dërgohet një email ripohimi
fields: Te profili juaj mund të keni deri në 4 objekte të shfaqur si tabelë
header: PNG, GIF ose JPG. E shumta %{size}. Do të ripërmasohet në %{dimensions}px
diff --git a/config/locales/simple_form.sr.yml b/config/locales/simple_form.sr.yml
index a097be5dd..6901b842c 100644
--- a/config/locales/simple_form.sr.yml
+++ b/config/locales/simple_form.sr.yml
@@ -15,7 +15,6 @@ sr:
bot: Овај налог углавном врши аутоматизоване радње и можда се не надгледа
context: Један или више контекста у којима треба да се примени филтер
digest: Послато после дужег периода неактивности са прегледом свих битних ствари које сте добили док сте били одсутни
- discoverable_html: Директоријум омогућава људима да пронађу налоге засноване на интересима и активности. Захтева бар %{min_followers} пратиоца
email: Биће вам послата е-пошта са потврдом
fields: Можете имати до 4 ставке приказане као табела на вашем профилу
header: PNG, GIF или JPG. Највише %{size}. Биће смањена на %{dimensions}px
diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml
index 33a3c5a3a..8caae951c 100644
--- a/config/locales/simple_form.th.yml
+++ b/config/locales/simple_form.th.yml
@@ -15,7 +15,6 @@ th:
bot: บัญชีนี้ทำการกระทำอัตโนมัติเป็นหลักและอาจไม่ได้รับการสังเกตการณ์
context: บริบทจำนวนหนึ่งหรือมากกว่าที่ตัวกรองควรใช้
digest: ส่งเฉพาะหลังจากไม่มีการใช้งานเป็นเวลานานและในกรณีที่คุณได้รับข้อความส่วนบุคคลใด ๆ เมื่อคุณไม่อยู่เท่านั้น
- discoverable_html: ไดเรกทอรี ช่วยให้ผู้คนค้นหาบัญชีตามความสนใจและกิจกรรม ต้องการอย่างน้อย %{min_followers} ผู้ติดตาม
email: คุณจะได้รับอีเมลยืนยัน
fields: คุณสามารถมีได้มากถึง 4 รายการแสดงเป็นตารางในโปรไฟล์ของคุณ
header: PNG, GIF หรือ JPG สูงสุด %{size} จะถูกย่อขนาดเป็น %{dimensions}px
@@ -35,6 +34,7 @@ th:
setting_noindex: มีผลต่อโปรไฟล์สาธารณะและหน้าสถานะของคุณ
setting_show_application: จะแสดงแอปพลิเคชันที่คุณใช้เพื่อโพสต์ในมุมมองโดยละเอียดของโพสต์ของคุณ
setting_use_blurhash: การไล่ระดับสีอิงตามสีของภาพที่ซ่อนอยู่แต่ทำให้รายละเอียดใด ๆ คลุมเครือ
+ setting_use_pending_items: ซ่อนการอัปเดตเส้นเวลาไว้หลังการคลิกแทนที่จะเลื่อนฟีดโดยอัตโนมัติ
username: ชื่อผู้ใช้ของคุณจะไม่ซ้ำกันบน %{domain}
whole_word: เมื่อคำสำคัญหรือวลีมีแค่ตัวอักษรและตัวเลข จะถูกใช้หากตรงกันทั้งคำเท่านั้น
featured_tag:
@@ -111,6 +111,7 @@ th:
setting_theme: ชุดรูปแบบไซต์
setting_unfollow_modal: แสดงกล่องโต้ตอบการยืนยันก่อนเลิกติดตามใครสักคน
setting_use_blurhash: แสดงการไล่ระดับสีที่มีสีสันสำหรับสื่อที่ซ่อนอยู่
+ setting_use_pending_items: โหมดช้า
severity: ความรุนแรง
type: ชนิดการนำเข้า
username: ชื่อผู้ใช้
@@ -133,6 +134,9 @@ th:
pending_account: ส่งอีเมลเมื่อบัญชีใหม่ต้องการการตรวจทาน
reblog: ส่งอีเมลเมื่อใครสักคนดันสถานะของคุณ
report: ส่งอีเมลเมื่อมีการส่งรายงานใหม่
+ tag:
+ name: แฮชแท็ก
+ usable: อนุญาตให้โพสต์ใช้แฮชแท็กนี้
'no': ไม่
recommended: แนะนำ
required:
diff --git a/config/locales/simple_form.tr.yml b/config/locales/simple_form.tr.yml
index 68b4c24c9..fd971daa8 100644
--- a/config/locales/simple_form.tr.yml
+++ b/config/locales/simple_form.tr.yml
@@ -4,49 +4,125 @@ tr:
hints:
admin_account_action:
send_email_notification: Kullanıcı, hesabına ne olduğu hakkında bir bildirim alacak
+ type_html: "%{acct} ile ne yapılacağını seçin"
warning_preset_id: İsteğe bağlı. Hazır ayarın sonuna hala özel metin ekleyebilirsiniz
defaults:
autofollow: Davetiyeyle kaydolan kişiler sizi otomatik olarak takip eder
avatar: En fazla %{size} olacak şekilde PNG, GIF veya JPG formatında yükleyiniz. %{dimensions}px büyüklüğüne indirgenecektir
+ bot: Bu hesap temelde otomatik eylemler gerçekleştirir ve izlenmeyebilir
+ context: Filtrenin geçerli olması gereken bir veya daha fazla içerik
+ digest: Yalnızca uzun süre kullanılmadığında ve yalnızca yokluğunda kişisel mesajlar aldıysanız gönderilir
+ discoverable: Profil dizini, hesabınızın daha geniş bir kitleye ulaşmasının başka bir yoludur
+ email: Onay e-postası gönderilecek
header: En fazla %{size} olacak şekilde PNG, GIF veya JPG formatında yükleyiniz. %{dimensions}px büyüklüğüne indirgenecektir.
+ irreversible: Filtre uygulanmış gönderiler, filtre daha sonra çıkartılsa bile geri dönüşümsüz biçimde kaybolur
+ locale: Kullanıcı arayüzünün dili, e-postalar ve push bildirimleri
locked: Takipçilerinizi manuel olarak kabul etmenizi ve gönderilerinizi varsayılan olarak sadece takipçilerinizin göreceği şekilde paylaşmanızı sağlar.
+ password: En az 8 karakter kullanın
+ setting_default_sensitive: Hassas medya varsayılan olarak gizlenir ve bir tıklama ile görüntülenebilir
+ setting_display_media_default: Hassas olarak işaretlenmiş medyayı gizle
+ setting_display_media_hide_all: Tüm medyayı gizle
+ setting_display_media_show_all: Hassas olarak işaretlenmiş medyayı göster
+ setting_hide_network: Takip edilenler ve takipçiler profilinizde gösterilmeyecek
+ setting_noindex: Herkese açık profilinizi ve durum sayfalarınızı etkiler
+ username: Kullanıcı adınız %{domain} alanında benzersiz olacak
+ whole_word: Anahtar kelime veya kelime öbeği yalnızca alfasayısal olduğunda, yalnızca tüm sözcükle eşleşirse uygulanır
+ featured_tag:
+ name: 'Bunlardan birini kullanmak isteyebilirsiniz:'
imports:
data: Diğer Mastodon sunucusundan dışarı aktardığınız CSV dosyası
+ invite_request:
+ text: Bu, başvurunuzu gözden geçirmemize yardımcı olacaktır
sessions:
otp: Telefonunuzdaki two-factor kodunuzu giriniz veya kurtarma kodlarınızdan birini giriniz.
+ user:
+ chosen_languages: İşaretlendiğinde, yalnızca seçilen dillerdeki karakterler genel zaman çizelgelerinde görüntülenir
labels:
+ account:
+ fields:
+ name: Etiket
+ value: İçerik
+ admin_account_action:
+ send_email_notification: E-postayla kullanıcıyı bilgilendir
+ text: Özel uyarı
+ type: Eylem
+ types:
+ disable: Devre dışı
+ none: Hiç birşey
+ silence: Sessiz
+ suspend: Hesap verilerini askıya alın ve geri alınamaz şekilde silin
defaults:
+ autofollow: Hesabınızı takip etmeye davet edin
avatar: Profil resmi
+ bot: Bu bir bot hesabı
+ chosen_languages: Dilleri filtrele
confirm_new_password: Yeni parolanız (tekrar)
confirm_password: Parolanız (tekrar)
+ context: İçeriği filtrele
current_password: Mevcut parolanız
data: Dosya
display_name: Görünen adınız
email: E-posta adresiniz
+ fields: Profil Metaverisi
header: Kapak resmi
locale: Dil
locked: Hesabımı kilitle
+ max_uses: Maksimum kullanım sayısı
new_password: Yeni parolanız
note: Kişisel bilgiler
otp_attempt: İki-faktörlü kod
password: Parolanız
+ phrase: Anahtar kelime veya kelime öbeği
+ setting_advanced_layout: Gelişmiş web arayüzünü etkinleştir
setting_auto_play_gif: GIF'leri otomatik oynatt
setting_boost_modal: Boost etmeden önce onay diyaloğu göster
setting_default_privacy: Gönderi gizliliği
+ setting_default_sensitive: Her zaman hassas medya olarak işaretle
+ setting_delete_modal: Bir gönderiyi silmeden önce onay iletişim kutusunu göster
+ setting_display_media: Medya görünümü
+ setting_display_media_default: Varsayılan
+ setting_display_media_hide_all: Tümünü gizle
+ setting_display_media_show_all: Tümünü göster
+ setting_hide_network: Ağını gizle
+ setting_noindex: Arama motoru endekslemesini iptal et
+ setting_reduce_motion: Animasyonlarda hareketi azalt
+ setting_show_application: İçerik göndermek için kullanılan uygulamayı belirt
+ setting_system_font_ui: Sistemin varsayılan yazı tipini kullan
+ setting_theme: Site teması
+ setting_trends: Bugünün trendlerini göster
+ setting_unfollow_modal: Birini takip etmeden önce onay iletişim kutusunu göster
+ setting_use_blurhash: Gizli ortamlar için renkli gradyen göster
+ setting_use_pending_items: Yavaş mod
severity: Zorluk
type: Dosya türü
username: Kullanıcı adınız
+ username_or_email: Kullanıcı adı ya da email
+ whole_word: Tüm dünya
+ featured_tag:
+ name: Hashtag
interactions:
must_be_follower: Takipçim olmayan kişilerden gelen bildirimleri engelle
must_be_following: Takip etmediğim kişilerden gelen bildirimleri engelle
+ must_be_following_dm: Takip etmediğiniz kişilerin doğrudan ileti göndermesini engelle
+ invite_request:
+ text: Neden katılmak istiyorsun?
notification_emails:
digest: Özet e-postaları gönder
favourite: Biri durumumu favorilerine eklediginde bana e-posta gönder
follow: Biri beni takip ettiğinde bana e-posta gönder
follow_request: Biri bana takip isteği gönderdiğinde, bana e-posta gönder
mention: Biri benden bahsettiğinde, bana e-posta gönder
+ pending_account: Yeni bir hesap incelemesi gerektiğinde e-posta gönder
reblog: Biri durumumu paylaştığında, bana e-posta gönder
+ report: Yeni bir rapor gönderildiğinde e-posta gönder
+ trending_tag: İncelenmemiş bir hashtag trend olduğunda e-posta gönder
+ tag:
+ listable: Bu etiketin aramalarda ve profil dizininde görünmesine izin ver
+ name: Hashtag
+ trendable: Bu etiketin trendlerin altında görünmesine izin ver
'no': Hayır
+ recommended: Önerilen
required:
+ mark: "*"
text: gerekli
'yes': Evet
diff --git a/config/locales/simple_form.uk.yml b/config/locales/simple_form.uk.yml
index 35b20d8a9..1e4a262e7 100644
--- a/config/locales/simple_form.uk.yml
+++ b/config/locales/simple_form.uk.yml
@@ -2,48 +2,151 @@
uk:
simple_form:
hints:
+ account_warning_preset:
+ text: Ви можете використовувати синтаксис дмухів, наприклад URLи, хештеґи та згадки
+ admin_account_action:
+ include_statuses: Користувач побачить, які дмухи призвели до адміністративних дій або попереджень
+ send_email_notification: Користувач отримає роз'яснення, що сталося з його обліковим записом
+ text_html: Необов'язково. Ви можете використовувати синтакс дмухів. Ви можете додати шаблони попереджень, щоб заощадити час
+ type_html: Оберіть, що робити з %{acct}
+ warning_preset_id: Необов'язково. Ви можете ще додати будь-який текст до кінця шаблону
defaults:
+ autofollow: Люди, що зареєструвалися за вашим запрошенням, автоматично підпишуться на вас
avatar: PNG, GIF, або JPG. Максимум - %{size}. Буде зменшено до %{dimensions}px
bot: Цей аккаунт в основному виконує автоматичні дії та може не відстежуватіся
+ digest: Буде послано тільки після довгого періоду неактивності, та тільки якщо ви отримаєте персональне повідомлення у цей період
+ discoverable: Ще один шлях, за яким про вас можуть дізнатися користувачі — каталог профілів
+ email: Вам надійде електронний лист з підтвердженням
+ fields: До 4 елементів може бути відображено як таблиця у вашому профілі
header: PNG, GIF, або JPG. Максимум - %{size}. Буде зменшено до %{dimensions}px
+ inbox_url: Скопіюйте інтернет-адресу з титульної сторінки ретранслятора
+ irreversible: Відсіяні дмухи зникнуть назавжди, навіть якщо фільтр потім буде знято
+ locale: Мова інтерфейсу, електронних листів та push-сповіщень
locked: Буде вимагати від Вас самостійного підтверждення підписників, змінить приватність постів за замовчуванням на "тільки для підписників"
+ password: Не менше 8 символів
+ phrase: Шукає без врахування регістру у тексті дмуха або у його попередженні про вміст
+ 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_use_blurhash: Градієнти, що базуються на кольорах прихованих медіа, але роблять нерозрізненними будь-які деталі
+ setting_use_pending_items: Не додавати нові повідомлення до стрічок миттєво. Показувати їх тільки після додаткового клацання.
+ username: Ваше ім'я користувача буде унікальним у %{domain}
+ whole_word: Якщо пошукове слово або фраза містить тільки літери та цифри, воно має співпадати цілком
+ domain_allow:
+ domain: Цей домен зможе отримувати дані з цього серверу. Вхідні дані будуть оброблені та збережені
+ featured_tag:
+ name: 'Можливо, ви захочете використовувати один з цих:'
imports:
- data: Файл CSV, экспортированный с другого узла Mastodon
+ data: Файл CSV, експортований з іншого сервера Mastodon
+ invite_request:
+ text: Це допоможе нам розглянути вашу заяву
sessions:
otp: Введите код двухфакторной аутентификации или используйте один из Ваших кодов восстановления.
+ tag:
+ name: Тут ви можете лише змінювати регістр літер, щоб підвищити читабельність
+ user:
+ chosen_languages: У глобальних стрічках будуть відображатися дмухи тільки обраними мовами
labels:
+ account:
+ fields:
+ name: Позначка
+ value: Вміст
+ account_warning_preset:
+ text: Текст шаблону
+ admin_account_action:
+ include_statuses: Додати дмухи, на які ви скаржитесь, до електронного листа
+ send_email_notification: Сповістити користувача електронною поштою
+ text: Користувацьке попередження
+ type: Дія
+ types:
+ disable: Вимкнути
+ none: Нічого не робити
+ silence: Глушення
+ suspend: Призупинити та незворотньо видалити дані облікового запису
+ warning_preset_id: Використати шаблон попередження
defaults:
+ autofollow: Запросити слідкувати за вашим обліковим записом
avatar: Аватар
+ bot: Це обліковий запис бота
+ chosen_languages: Фільтрувати мови
confirm_new_password: Підтвердіть новий пароль
confirm_password: Підтвердіть пароль
+ context: Фільтр контексту
current_password: Поточний пароль
data: Дані
+ discoverable: Оприлюднити обліковий запис у каталозі
display_name: Ім'я
email: Email адреса
+ fields: Метадані профіля
header: Заголовок
+ inbox_url: URL поштової скриньки ретранслятора
+ irreversible: Видалити назавжди, а не просто сховати
locale: Мова
locked: Зробити акаунт приватним
+ max_uses: Максимальна кількість використань
new_password: Новий пароль
note: Про Вас
otp_attempt: Двофакторний код
password: Пароль
+ phrase: Ключове слово або фраза
+ setting_advanced_layout: Увімкнути розширений web-інтерфейс
setting_auto_play_gif: Автоматично відтворювати анімовані GIF
- setting_boost_modal: Показывать диалог подтверждения перед продвижением
- setting_default_privacy: Видимость постов
- severity: Строгость
- type: Тип импорта
- username: Имя пользователя
+ setting_boost_modal: Відображати діалог підтвердження під час передмухування
+ setting_default_language: Мова дмухів
+ setting_default_privacy: Видимість постів
+ setting_default_sensitive: Позначити медіа як дражливе
+ setting_delete_modal: Показувати діалог підтвердження під час видалення дмуху
+ setting_display_media: Відображення медіа
+ setting_display_media_default: За промовчанням
+ setting_display_media_hide_all: Сховати всі
+ setting_display_media_show_all: Показати всі
+ setting_expand_spoilers: Завжди розгортати дмухи з попередженнями про вміст
+ setting_hide_network: Сховати вашу мережу
+ setting_noindex: Відмовитися від індексування пошуковими системами
+ setting_reduce_motion: Менше руху в анімаціях
+ setting_show_application: Відображати застосунки, використані для дмухання
+ setting_system_font_ui: Використовувати типовий системний шрифт
+ setting_theme: Тема сайту
+ setting_trends: Показати сьогоднішні тренди
+ setting_unfollow_modal: Відображати діалог підтвердження під час відписки від когось
+ setting_use_blurhash: Відображати барвисті градієнти замість прихованих медіа
+ setting_use_pending_items: Повільний режим
+ severity: Серйозність
+ type: Тип імпорту
+ username: Ім'я користувача
+ username_or_email: Ім'я користувача або електронна пошта
+ whole_word: Ціле слово
+ featured_tag:
+ name: Хештеґ
interactions:
must_be_follower: Блокувати сповіщення від непідписаних людей
must_be_following: Блокувати сповіщення від людей, на яких ви не підписані
+ must_be_following_dm: Заблокувати прямі сповіщення від людей, на яких ви не підписані
+ invite_request:
+ text: Чому ви хочете приєднатися?
notification_emails:
- digest: Присылать дайджест по e-mail
+ digest: Надсилати дайджест електронною поштою
favourite: Надсилати листа, коли комусь подобається Ваш статус
follow: Надсилати листа, коли хтось підписується на Вас
follow_request: Надсилати листа, коли хтось запитує дозволу на підписку
mention: Надсилати листа, коли хтось згадує Вас
+ pending_account: Надсилати електронного листа, коли новий обліковий запис потребує розгляду
reblog: Надсилати листа, коли хтось передмухує Ваш статус
+ report: Надсилати електронного листа, коли з'являється нова скарга
+ trending_tag: Надсилати електронного листа, коли нерозглянутий хештеґ стає популярним
+ tag:
+ listable: Дозволити появу цього хештеґа у каталозі профілів
+ name: Хештеґ
+ trendable: Дозволити появу цього хештеґа у списку популярних хештеґів
+ usable: Дозволити дмухам використовувати цей хештеґ
'no': Ні
+ recommended: Рекомендовано
required:
+ mark: "*"
text: обов'язкове
'yes': Так
diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml
index c62e57a51..9bff15d1d 100644
--- a/config/locales/simple_form.zh-CN.yml
+++ b/config/locales/simple_form.zh-CN.yml
@@ -15,7 +15,6 @@ zh-CN:
bot: 来自这个帐户的绝大多数操作都是自动进行的,并且可能无人监控
context: 过滤器的应用场景
digest: 仅在你长时间未登录,且收到了私信时发送
- discoverable_html: 用户目录 让大家能根据兴趣和活动寻找用户。需要至少 %{min_followers} 位关注者
email: 我们会向你发送一封确认邮件
fields: 这将会在个人资料页上以表格的形式展示,最多 4 个项目
header: 文件大小限制 %{size},只支持 PNG、GIF 或 JPG 格式。图片分辨率将会压缩至 %{dimensions}px
@@ -133,6 +132,8 @@ zh-CN:
pending_account: 在有账户需要审核时,发送电子邮件提醒我
reblog: 当有用户转嘟了我的嘟文时,发送电子邮件提醒我
report: 在提交新举报时,发送电子邮件提醒我
+ tag:
+ listable: 允许这个话题标签在用户目录中显示
'no': 否
recommended: 推荐
required:
diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml
index 4da117b61..97f2d0cff 100644
--- a/config/locales/simple_form.zh-TW.yml
+++ b/config/locales/simple_form.zh-TW.yml
@@ -15,7 +15,6 @@ zh-TW:
bot: 此帳戶主要執行自動操作且可能未被監控
context: 應該套用過濾器的一項或多項內容
digest: 僅在你長時間未登入且在未登入期間收到私訊時傳送
- discoverable_html: 目錄 讓使用者們能基於興趣與活動尋找帳戶。需要至少 %{min_followers} 位關注者
email: 您將收到一封確認電子郵件
fields: 您可在個人資料上有至多 4 個以表格形式顯示的項目
header: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會按比例縮小成 %{dimensions} 像素
diff --git a/config/locales/sk.yml b/config/locales/sk.yml
index 5b0bbdef4..01f5bf750 100644
--- a/config/locales/sk.yml
+++ b/config/locales/sk.yml
@@ -11,21 +11,21 @@ sk:
apps: Aplikácie
apps_platforms: Uživaj Mastodon z iOSu, Androidu a iných platforiem
browse_directory: Prehľadávaj databázu profilov, filtruj podľa záujmov
- browse_public_posts: Prebádaj naživo prúd verejných príspevkov na Mastodone
+ browse_public_posts: Sleduj naživo prúd verejných príspevkov na Mastodone
contact: Kontakt
contact_missing: Nezadaný
contact_unavailable: Neuvedený/á
discover_users: Objavuj užívateľov
documentation: Dokumentácia
- extended_description_html: |
-
Pravidlá
-
Žiadne zatiaľ uvedené nie sú
- federation_hint_html: S účtom na %{instance} budeš môcť následovať ľúdí na hociakom Mastodon serveri, ale aj inde.
+ federation_hint_html: S účtom na %{instance} budeš môcť následovať ľúdí na hociakom Mastodon serveri, ale aj na iných serveroch.
generic_description: "%{domain} je jeden server v sieti"
get_apps: Vyskúšaj aplikácie
hosted_on: Mastodon hostovaný na %{domain}
+ instance_actor_flash: |
+ Tento účet je virtuálnym aktérom, ktorý predstavuje samotný server a nie žiadného jedného užívateľa.
+ Je využívaný pre potreby federovania a nemal by byť blokovaný, pokiaľ nechceš zablokovať celý server, čo ide lepšie dosiahnúť cez blokovanie domény.
learn_more: Zisti viac
- privacy_policy: Ustanovenia o súkromí
+ privacy_policy: Zásady súkromia
see_whats_happening: Pozoruj, čo sa deje
server_stats: 'Serverové štatistiky:'
source_code: Zdrojový kód
@@ -36,16 +36,21 @@ sk:
other: príspevky
status_count_before: Ktorí napísali
tagline: Následuj kamarátov, a objavuj nových
- terms: Podmienky užívania
+ terms: Podmienky užitia
+ unavailable_content: Nedostupný obsah
+ unavailable_content_description:
+ reason: 'Dôvod:'
user_count_after:
few: užívateľov
- many: užívateľov
+ many: užívatelia
one: užívateľ
- other: uživatelia
+ other: užívateľov
user_count_before: Domov pre
what_is_mastodon: Čo je Mastodon?
accounts:
choices_html: "%{name}vé voľby:"
+ endorsements_hint: Môžeš ukázať sledovaných užívateľov, s ktorými si spriaznený/á cez webové rozhranie, a tí tu budú zobrazení.
+ featured_tags_hint: Môžeš zvýrazniť určité haštagy, ktoré tu budú zobrazené.
follow: Následuj
followers:
few: Sledovateľov
@@ -59,6 +64,7 @@ sk:
media: Médiá
moved_html: "%{name} účet bol presunutý na %{new_profile_link}:"
network_hidden: Táto informácia nieje k dispozícii
+ never_active: Nikdy
nothing_here: Nič tu nie je!
people_followed_by: Ľudia, ktorých %{name} sleduje
people_who_follow: Ľudia sledujúci %{name}
@@ -191,11 +197,12 @@ sk:
username: Prezývka
warn: Varuj
web: Web
+ whitelisted: Na bielej listine
action_logs:
actions:
- assigned_to_self_report: "%{name}pridelil/a hlásenie užívateľa %{target}sebe"
+ assigned_to_self_report: "%{name} pridelil/a hlásenie užívateľa %{target} sebe"
change_email_user: "%{name} zmenil/a emailovú adresu užívateľa %{target}"
- confirm_user: "%{name} potvrdil e-mailovú adresu používateľa %{target}"
+ confirm_user: "%{name} potvrdil emailovú adresu používateľa %{target}"
create_account_warning: "%{name} poslal/a varovanie užívateľovi %{target}"
create_custom_emoji: "%{name} nahral nový emoji %{target}"
create_domain_block: "%{name} zablokoval doménu %{target}"
@@ -210,7 +217,7 @@ sk:
disable_user: "%{name} zakázal prihlásenie pre používateľa %{target}"
enable_custom_emoji: "%{name} povolil emoji %{target}"
enable_user: "%{name} povolil prihlásenie pre používateľa %{target}"
- memorialize_account: '%{name} zmenil účet %{target} na stránku "Navždy budeme spomínať"'
+ memorialize_account: "%{name} zmenil účet %{target} na pamätnú stránku"
promote_user: "%{name} povýšil/a používateľa %{target}"
remove_avatar_user: "%{name} odstránil/a %{target}ov avatár"
reopen_report: "%{name} znovu otvoril/a hlásenie užívateľa %{target}"
@@ -226,10 +233,12 @@ sk:
deleted_status: "(zmazaný príspevok)"
title: Kontrólny záznam
custom_emojis:
+ assign_category: Priraď kategóriu
by_domain: Doména
copied_msg: Miestna kópia emoji bola úspešne vytvorená
copy: Kopíruj
copy_failed_msg: Nebolo možné vytvoriť miestnu kópiu tohto emoji
+ create_new_category: Vytvor novú kategóriu
created_msg: Emoji úspešne vytvorené!
delete: Zmaž
destroyed_msg: Emoji úspešne zničené!
@@ -246,6 +255,7 @@ sk:
shortcode: Skratka
shortcode_hint: Aspoň 2 znaky, povolené sú alfanumerické, alebo podčiarkovník
title: Vlastné emoji
+ uncategorized: Nezaradené
unlisted: Nie je na zozname
update_failed_msg: Nebolo možné aktualizovať toto emoji
updated_msg: Emoji bolo úspešne aktualizované!
@@ -258,10 +268,13 @@ sk:
feature_profile_directory: Katalóg profilov
feature_registrations: Registrácie
feature_relay: Federovací mostík
+ feature_spam_check: Proti spamu
feature_timeline_preview: Náhľad časovej osi
features: Vymoženosti
hidden_service: Federácia so skrytými službami
open_reports: otvorené hlásenia
+ pending_tags: haštagy čakajúce na posúdenie
+ pending_users: užívatelia čakajúci na posúdenie
recent_users: Nedávni užívatelia
search: Celofrázové vyhľadávanie
single_user_mode: Jednouživateľské rozhranie
@@ -273,11 +286,18 @@ sk:
week_interactions: Tohto-týždňové interakcie
week_users_active: aktívni tento týždeň
week_users_new: užívateľov počas tohto týždňa
+ whitelist_mode: Režim povolených
+ domain_allows:
+ add_new: Povolená doména
+ created_msg: Doména bola úspešne povolená
+ destroyed_msg: Doména bola odstránená zo zoznamu povolených
+ undo: Odober zo zoznamu povolených
domain_blocks:
add_new: Blokuj novú doménu
created_msg: Doména je v štádiu blokovania
destroyed_msg: Blokovanie domény bolo zrušené
domain: Doména
+ edit: Uprav blokovanie domény
existing_domain_block_html: Pre účet %{name} si už nahodil/a přísnejšie obmedzenie, najskôr ho teda musíš odblokovať.
new:
create: Vytvor blokovanie domény
@@ -288,6 +308,8 @@ sk:
silence: Stíš
suspend: Vylúč
title: Nové blokovanie domény
+ private_comment: Súkromný komentár
+ public_comment: Verejný komentár
reject_media: Odmietaj súbory s obrázkami, alebo videami
reject_media_hint: Vymaže miestne uložené súbory médií a odmietne ich sťahovanie v budúcnosti. Nepodstatné pri vylúčení
reject_reports: Zamietni hlásenia
@@ -301,7 +323,7 @@ sk:
affected_accounts:
few: "%{count} účtov v databázi ovplyvnených"
many: "%{count} účtov v databázi ovplyvnených"
- one: 1 účet v databázi ovplyvnený
+ one: Jeden účet v databázi ovplyvnený
other: "%{count} účty v databázi ovplyvnené"
retroactive:
silence: Zruš stíšenie všetkých momentálne utíšených účtov z tejto domény
@@ -309,6 +331,7 @@ sk:
title: Zruš blokovanie domény %{domain}
undo: Vráť späť
undo: Odvolaj blokovanie domény
+ view: Ukáž blokovanie domén
email_domain_blocks:
add_new: Pridaj nový
created_msg: Emailová doména bola úspešne pridaná do zoznamu zakázaných
@@ -334,6 +357,8 @@ sk:
all: Všetky
limited: Obmedzené
title: Moderácia
+ private_comment: Súkromný komentár
+ public_comment: Verejný komentár
title: Federácia
total_blocked_by_us: Nami blokované
total_followed_by_them: Nimi sledované
@@ -411,6 +436,13 @@ sk:
custom_css:
desc_html: Uprav vzhľad pomocou CSS, ktoré je načítané na každej stránke
title: Vlastné CSS
+ domain_blocks:
+ all: Všetkým
+ disabled: Nikomu
+ title: Ukáž blokované domény
+ users: Prihláseným, miestnym užívateľom
+ domain_blocks_rationale:
+ title: Ukáž zdôvodnenie
hero:
desc_html: Zobrazuje sa na hlavnej stránke. Doporučené je rozlišenie aspoň 600x100px. Pokiaľ nič nieje dodané, bude nastavený základný orázok serveru.
title: Obrázok hrdinu
@@ -461,6 +493,9 @@ sk:
desc_html: Môžeš si napísať svoje vlastné pravidla o súkromí, prevádzke, alebo aj iné legality. Môžeš tu používať HTML kód
title: Vlastné pravidlá prevádzky
site_title: Názov servera
+ spam_check_enabled:
+ desc_html: Mastodon môže sám stíšiť, a nahlásiť účty v závislosti od rozpoznania parametrov ako napríklad opakované rozosielanie nevyžiadanej komunikácie. Môže dôjsť aj k nesprávnej identifikácii.
+ title: Proti spamu
thumbnail:
desc_html: Používané pre náhľady cez OpenGraph a API. Doporučuje sa rozlišenie 1200x630px
title: Miniatúra servera
@@ -468,12 +503,16 @@ sk:
desc_html: Zobraziť verejnú nástenku na hlavnej stránke
title: Náhľad nástenky
title: Nastavenia stránky
+ trends:
+ desc_html: Verejne zobraz už schválené haštagy, ktoré práve trendujú
+ title: Populárne haštagy
statuses:
back_to_account: Späť na účet
batch:
delete: Vymaž
nsfw_off: Označ ako nechúlostivé
nsfw_on: Označ ako chúlostivé
+ deleted: Vymazané
failed_to_execute: Nepodarilo sa vykonať
media:
title: Médiá
@@ -482,13 +521,23 @@ sk:
title: Príspevky na účte
with_media: S médiami
tags:
- accounts: Účty
- hidden: Skryté
- hide: Ukri od databázy
+ accounts_today: Jedinečných užívateľov za dnešok
+ accounts_week: Jedinečných užívateľov tento týždeň
+ breakdown: Rozpis dnešného využitia podľa zdroja
+ context: Súvis
+ directory: V zozname
+ in_directory: "%{count} v zozname"
+ last_active: Naposledy aktívny
+ most_popular: Najpopulárnejšie
+ most_recent: Najnovšie
name: Haštag
+ review: Prehodnoť stav
+ reviewed: Zhodnotené
title: Haštagy
- unhide: Ukáž v databázi
- visible: Viditeľné
+ trending_right_now: Práve populárne
+ unique_uses_today: "%{count} dnes prispievajú"
+ unreviewed: Neposúdené
+ updated_msg: Nastavenia haštagov boli úspešne aktualizované
title: Spravovanie
warning_presets:
add_new: Pridaj nové
@@ -504,14 +553,20 @@ sk:
body: "%{reporter} nahlásil/a %{target}"
body_remote: Niekto z %{domain} nahlásil/a %{target}
subject: Nové hlásenie pre %{instance} (#%{id})
+ new_trending_tag:
+ subject: Nový haštag očakáva preverenie na %{instance} (#%{name})
+ aliases:
+ add_new: Vytvor alias
appearance:
advanced_web_interface: Pokročilé webové rozhranie
advanced_web_interface_hint: 'Ak chceš využiť celkovú šírku tvojej obrazovky, pokročilé webové rozhranie ti umožňuje nastaviť mnoho rôznych stĺpcov, aby si videl/a toľko informácií naraz, koľko chceš: Domov, oboznámenia, federovanú časovú os, a ľubovolný počet zoznamov, či haštagov.'
animations_and_accessibility: Animácie a prístupnosť
confirmation_dialogs: Potvrdzovacie dialógy
+ discovery: Nájdenie
sensitive_content: Chúlostivý obsah
application_mailer:
notification_preferences: Zmeň emailové voľby
+ salutation: "%{name},"
settings: 'Zmeň emailové voľby: %{link}'
view: 'Zobraziť:'
view_profile: Zobraz profil
@@ -528,9 +583,13 @@ sk:
apply_for_account: Vyžiadaj si pozvánku
change_password: Heslo
checkbox_agreement_html: Súhlasím s pravidlami servera, aj s prevoznými podmienkami
- confirm_email: Potvrď email
+ checkbox_agreement_without_rules_html: Súhlasím s podmienkami užívania
delete_account: Vymaž účet
delete_account_html: Pokiaľ chceš svoj účet odtiaľto vymazať, môžeš tak urobiť tu. Budeš požiadaný/á o potvrdenie tohto kroku.
+ description:
+ prefix_invited_by_user: "@%{name} ťa pozýva na tento Mastodon server!"
+ prefix_sign_up: Zaregistruj sa na Mastodone už dnes!
+ suffix: S pomocou účtu budeš môcť následovať ľudí, posielať príspevky, a vymienať si správy s užívateľmi na hociakom Mastodon serveri, ale aj na iných serveroch!
didnt_get_confirmation: Neobdržal/a si kroky na potvrdenie?
forgot_password: Zabudnuté heslo?
invalid_reset_password_token: Token na obnovu hesla vypršal. Prosím vypítaj si nový.
@@ -545,6 +604,15 @@ sk:
reset_password: Obnov heslo
security: Zabezpečenie
set_new_password: Nastav nové heslo
+ setup:
+ email_below_hint_html: Ak je nižšie uvedená emailová adresa nesprávna, môžeš ju zmeniť a dostať nový potvrdzovací email.
+ email_settings_hint_html: Potvrdzovací email bol odoslaný na %{email}. Ak táto emailová adresa nieje správna, môžeš si ju zmeniť v nastaveniach účtu.
+ title: Nastavenie
+ status:
+ account_status: Stav účtu
+ confirming: Čaká sa na dokončenie potvrdenia emailom.
+ functional: Tvoj účet je plne funkčný.
+ pending: Tvoja žiadosť čaká na schvílenie od nášho týmu. Môže to chviľu potrvať. Ak bude tvoja žiadosť schválená, dostaneš o tom email.
trouble_logging_in: Problém s prihlásením?
authorize_follow:
already_following: Tento účet už následuješ
@@ -557,6 +625,10 @@ sk:
return: Ukáž užívateľov profil
web: Prejdi do siete
title: Následuj %{acct}
+ challenge:
+ confirm: Pokračuj
+ invalid_password: Nesprávne heslo
+ prompt: Pre pokračovanie potvrď svoje heslo
datetime:
distance_in_words:
about_x_hours: "%{count}hod"
@@ -572,28 +644,27 @@ sk:
x_months: "%{count}mesiace"
x_seconds: "%{count}sek"
deletes:
- bad_password_msg: Dobrý pokus, hakeri! Nesprávne heslo
confirm_password: Napíšte svoje terajšie heslo pre overenie vašej identity
- description_html: Týmto natrvalo, nenavrátiteľne vymažeš obsah tvojho účtu, a deaktivuješ ho. Tvoja prezývka ale ostane rezervovaná ako prevencia pred budúcimi impersonáciami.
proceed: Vymaž účet
success_msg: Tvoj účet bol úspešne vymazaný
- warning_html: Iba vymazanie obsahu z tohto konkrétneho serveru je zaručené. Obsah, ktorý bol zdieľaný široko-ďaleko pravdepodobne zanechá nejaké stopy. Servery ktoré sú offline a tie ktoré ignorujú tvoje zmeny teda nezaktualizujú svoje databázy.
- warning_title: Dostupnosť rozšírovaného obsahu
+ warning:
+ before: 'Predtým, než budeš pokračovať, prosím pozorne si prečítaj tieto poznámky:'
+ caches: Obsah, ktorý bol predčítaný inými servermi môže zanechať pozostatky
+ data_removal: Tvoje príspevky a iné dáta budú natrvalo odstránené
+ more_details_html: Pre viac podrobností, pozri zásady súkromia.
+ username_available: Tvoje užívateľské meno bude znova dostupné
+ username_unavailable: Tvoja prezývka ostane neprístupná
directories:
directory: Katalóg profilov
- enabled: Momentálne si uvedený/á na zozname profilov.
- enabled_but_waiting: Vyjadril/a si záujem o uvedenie na zozname profilov, lenže ešte nemáš minimálny vyžadovaný počet následovateľov (%{min_followers}), aby si tam bol/a uveden/á.
explanation: Pátraj po užívateľoch podľa ich záujmov
explore_mastodon: Prebádaj %{title}
- how_to_enable: Momentálne niesi zaradený/á do verejnej profilovej databázy. Prihlásiť sa môžeš nižšie. Použi haštagy vo svojom biografickom popise na profile, ak chceš byť uvedený/á aj pod konkrétnými haštagmi!
- people:
- few: "%{count} ľudí"
- many: "%{count} ľudí"
- one: "%{count} človek"
- other: "%{count} ľudia"
+ domain_validator:
+ invalid_domain: nieje správny tvar domény
errors:
+ '400': Požiadavka, ktorú si odoslal/a, bola buď nesprávna, alebo znehodnotená.
'403': Nemáš povolenie pre zobrazenie tejto stránky.
'404': Stránka ktorú hľadáš nieje tu.
+ '406': Táto stránka nie je dostupná v požadovanom formáte.
'410': Stránka ktorú si tu hľadal/a sa tu už viac nenachádza.
'422':
content: Bezpečtnostné overenie zlyhalo. Blokuješ cookies?
@@ -602,6 +673,7 @@ sk:
'500':
content: Ospravedlňujem sa. Niečo sa pokazilo na našom konci.
title: Táto stránka nieje v poriadku
+ '503': Táto stránka nemôže byť načítaná, kvôli dočasnému výpadku servera.
noscript_html: Aby bolo možné používať Mastodon web aplikáciu, povoľ prosím JavaScript. Alebo skús jednu z aplikácii dostupných pre vašu platformu.
existing_username_validator:
not_found: nepodarilo sa nájsť miestného užívateľa s takouto prezývkou
@@ -645,10 +717,12 @@ sk:
developers: Vývojári
more: Viac…
resources: Podklady
+ trending_now: Teraz populárne
generic:
all: Všetko
changes_saved_msg: Zmeny boli úspešne uložené!
copy: Kopíruj
+ no_batch_actions_available: Na tejto stránke niesú k dispozícii žiadne hromadné akcie
order_by: Zoraď podľa
save_changes: Ulož zmeny
validation_errors:
@@ -656,6 +730,8 @@ sk:
many: Niečo ešte nieje celkom v poriadku! Prosím skontroluj %{count} chýb uvedených nižšie
one: Niečo ešte nieje celkom v poriadku! Prosím skontroluj chybu uvedenú nižšie
other: Niečo ešte nieje celkom v poriadku! Prosím skontroluj %{count} chyby uvedené nižšie
+ html_validator:
+ invalid_markup: 'obsahuje neplatný HTML kód: %{error}'
identity_proofs:
active: Aktívne
authorize: Áno, povoľ
@@ -663,7 +739,12 @@ sk:
errors:
failed: Kryptografické prepojenie sa nepodarilo. Prosím skús to znova z %{provider}.
keybase:
+ invalid_token: Keybase tokeny sú hašovaniami podpisov a musia mať 66 znakov
verification_failed: Keybase nerozpoznáva tento token ako podpis od Keybase užívateľa menom %{kb_username}. Prosím skús to znova cez Keybase.
+ wrong_user: Nemožno vytvoriť overenie pre %{proving}, pokiaľ si prihlásený/á ako %{current}. Prihlás sa za %{proving} a skús to znova.
+ explanation_html: |-
+ Tu si môžeš kryptograficky prepojiť svoje iné identity, ako napríklad tvoj profil na Keybase.
+ Umožňuje to ostatním ľudom posielať ti enkryptované správy a veriť obsahu ktorý im pošleš ty.
i_am_html: Na %{service} som %{username}.
identity: Identita
inactive: Neaktívne
@@ -719,9 +800,12 @@ sk:
too_many: Nemôžeš priložiť viac ako 4 súbory
migrations:
acct: prezývka@doména nového účtu
- currently_redirecting: 'Tvoj profil má nastavené presmerovanie na:'
- proceed: Uložiť
- updated_msg: Tvoje nastavenia pre presmerovanie účtu boli úspešne aktualizované!
+ cancel: Zruš presmerovanie
+ errors:
+ move_to_self: nemôže to byť tvoj súčasný účet
+ not_found: nebolo možné nájsť
+ past_migrations: Predošlé presuny
+ proceed_with_move: Presuň sledovateľov
moderation:
title: Moderovanie
notification_mailer:
@@ -729,6 +813,16 @@ sk:
action: Zobraziť všetky notifikácie
body: Tu nájdete krátky súhrn správ ktoré ste zmeškali od svojej poslednj návštevi od %{since}
mention: "%{name} ťa spomenul/a v:"
+ new_followers_summary:
+ few: A ešte, kým si bol/a preč, si získal/a %{count} nových následovateľov! Hurá!
+ 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 \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"
title: Zatiaľ čo si bol/a preč…
favourite:
body: 'Tvoj príspevok bol uložený medzi obľúbené užívateľa %{name}:'
@@ -855,17 +949,37 @@ sk:
statuses:
attached:
description: 'Priložené: %{attached}'
+ image:
+ few: "%{count} obrázkov"
+ many: "%{count} obrázkov"
+ one: "%{count} obrázok"
+ other: "%{count} obrázky"
+ video:
+ few: "%{count} videí"
+ many: "%{count} videí"
+ one: "%{count} video"
+ other: "%{count} videá"
boosted_from_html: Vyzdvihnuté od %{acct_link}
content_warning: 'Varovanie o obsahu: %{warning}'
+ disallowed_hashtags:
+ few: 'obsah nepovolených haštagov: %{tags}'
+ many: 'obsah nepovolených haštagov: %{tags}'
+ one: 'obsahoval nepovolený haštag: %{tags}'
+ other: 'obsahoval nepovolené haštagy: %{tags}'
language_detection: Zisti automaticky
open_in_web: Otvor v okne na webe
over_character_limit: limit %{max} znakov bol presiahnutý
pin_errors:
limit: Už si si pripol ten najvyšší možný počet hlášok
ownership: Nieje možné pripnúť hlášku od niekoho iného
- private: Neverejné príspevky nemôžu byť pripnuté
+ private: Neverejný príspevok nemôže byť pripnutý
reblog: Vyzdvihnutie sa nedá pripnúť
poll:
+ total_votes:
+ few: "%{count} hlasov"
+ many: "%{count} hlasov"
+ one: "%{count} hlas"
+ other: "%{count} hlasy"
vote: Hlasuj
show_more: Ukáž viac
sign_in_to_participate: Prihlás sa pre zapojenie do diskusie
@@ -881,6 +995,8 @@ sk:
pinned: Pripnutý príspevok
reblogged: vyzdvihnutý
sensitive_content: Senzitívny obsah
+ tags:
+ does_not_match_previous_name: nezhoduje sa s predošlým názvom
terms:
body_html: |
Podmienky súkromia
@@ -943,6 +1059,7 @@ sk:
silence: Kým máš účet obmedzený, tvoje príspevky na tomto serveri uvidia iba tí ľudia, ktorí ťa už následujú, a môžeš byť vylúčený/á z rôznych verejných záznamov. Ostatní ťa však stále budú môcť následovať manuálne.
suspend: Tvoj účet bol vylúčený, a všetky tvoje príspevky a nahraté médiálné súbory boli nenávratne zmazané z tohto serveru, a zo serverov na ktorých si mal následovateľov.
review_server_policies: Prehodnoť pravidlá servera
+ statuses: 'Konkrétne kvôli:'
subject:
disable: Tvoj účet %{acct} bol zamrazený
none: Varovanie pre %{acct}
diff --git a/config/locales/sl.yml b/config/locales/sl.yml
index ff6c5851a..63eed6409 100644
--- a/config/locales/sl.yml
+++ b/config/locales/sl.yml
@@ -17,13 +17,13 @@ sl:
contact_unavailable: Ni na voljo
discover_users: Odkrijte uporabnike
documentation: Dokumentacija
- extended_description_html: |
-
Dober prostor za pravila
-
Razširjen opis še ni bil nastavljen.
federation_hint_html: Z računom na %{instance} boste lahko spremljali ljudi na kateremkoli Mastodon strežniku.
generic_description: "%{domain} je en strežnik v omrežju"
get_apps: Poskusite mobilno aplikacijo
hosted_on: Mastodon gostuje na %{domain}
+ instance_actor_flash: |
+ Ta račun je navidezni igralec, ki predstavlja strežnik in ne posameznega uporabnika.
+ Uporablja se za namene federacije in se ne blokira, če ne želite blokirati celotne instance. V tem primeru blokirajte domeno.
learn_more: Nauči se več
privacy_policy: Pravilnik o zasebnosti
see_whats_happening: Poglejte, kaj se dogaja
@@ -191,6 +191,7 @@ sl:
username: Uporabniško ime
warn: Opozori
web: Splet
+ whitelisted: Na belem seznamu
action_logs:
actions:
assigned_to_self_report: "%{name} je prijavil %{target} sebi"
@@ -258,6 +259,7 @@ sl:
feature_profile_directory: Imenik profilov
feature_registrations: Registracije
feature_relay: Rele federacije
+ feature_spam_check: Anti-spam
feature_timeline_preview: Predogled časovnice
features: Zmožnosti
hidden_service: Federacija s skritimi storitvami
@@ -273,6 +275,11 @@ sl:
week_interactions: interakcije ta teden
week_users_active: aktivni ta teden
week_users_new: uporabniki ta teden
+ domain_allows:
+ add_new: Dodaj domeno na beli seznam
+ created_msg: Domena je bila uspešno dodana na beli seznam
+ destroyed_msg: Domena je bila odstranjena iz belega seznama
+ undo: Odstrani iz belega seznama
domain_blocks:
add_new: Dodaj nov domenski blok
created_msg: Domenski blok se sedaj obdeluje
@@ -461,6 +468,9 @@ sl:
desc_html: Lahko napišete svojo pravilnik o zasebnosti, pogoje storitve ali druge pravne dokumente. Lahko uporabite oznake HTML
title: Pogoji storitve po meri
site_title: Ime strežnika
+ spam_check_enabled:
+ desc_html: Mastodon lahko samodejno utiša in samodejno prijavi račune, ki temeljijo na ukrepih, kot je odkrivanje računov, ki pošiljajo ponavljajoča se neželena sporočila. Lahko pride do zmot.
+ title: Anti-spam
thumbnail:
desc_html: Uporablja se za predogled prek OpenGrapha in API-ja. Priporočamo 1200x630px
title: Sličica strežnika
@@ -482,13 +492,7 @@ sl:
title: Stanja računa
with_media: Z mediji
tags:
- accounts: Računi
- hidden: Skriti
- hide: Skrij iz imenika
- name: Ključnik
title: Ključniki
- unhide: Prikaži v imeniku
- visible: Vidni
title: Upravljanje
warning_presets:
add_new: Dodaj novo
@@ -529,7 +533,7 @@ sl:
apply_for_account: Zahtevajte povabilo
change_password: Geslo
checkbox_agreement_html: Strinjam se s pravili strežnika in pogoji storitve
- confirm_email: Potrdi e-pošto
+ checkbox_agreement_without_rules_html: Strinjam se s pogoji storitve
delete_account: Izbriši račun
delete_account_html: Če želite izbrisati svoj račun, lahko nadaljujete tukaj. Prosili vas bomo za potrditev.
didnt_get_confirmation: Niste prejeli navodil za potrditev?
@@ -549,6 +553,14 @@ sl:
reset_password: Ponastavi geslo
security: Varnost
set_new_password: Nastavi novo geslo
+ setup:
+ email_below_hint_html: Če spodnji e-poštni naslov ni pravilen, ga lahko spremenite tukaj in prejmete novo potrditveno e-pošto.
+ email_settings_hint_html: Potrditvena e-pošta je bila poslana na %{email}. Če ta e-poštni naslov ni pravilen, ga lahko spremenite v nastavitvah računa.
+ title: Nastavitev
+ status:
+ account_status: Stanje računa
+ confirming: Čakanje na potrditev e-pošte.
+ pending: Naše osebje preverja vašo prijavo. To lahko traja nekaj časa. Če bo vaša prijava odobrena, boste prejeli e-pošto.
trouble_logging_in: Težave pri prijavi?
authorize_follow:
already_following: Temu računu že sledite
@@ -576,28 +588,18 @@ sl:
x_months: "%{count}mo"
x_seconds: "%{count}s"
deletes:
- bad_password_msg: Lep poskus, hekerji! napačno geslo
confirm_password: Vnesite svoje trenutno geslo, da potrdite svojo identiteto
- description_html: S tem boste trajno, nepovratno odstranili vsebino iz vašega računa in jo deaktivirali. Vaše uporabniško ime bo ostalo rezervirano za preprečevanje prihodnjih lažnih predstav.
proceed: Izbriši račun
success_msg: Vaš račun je bil uspešno izbrisan
- warning_html: Zagotovljeno je samo brisanje vsebine iz tega strežnika. Vsebina, ki je široko razširjena, bo verjetno pustila sledi. Strežniki brez povezave in strežniki, ki so se odjavili od vaših posodobitev, ne bodo posodabljali svojih podatkovnih baz.
- warning_title: Razširjena razpoložljivost vsebine
directories:
directory: Imenik profilov
- enabled: Trenutno ste navedeni v imeniku.
- enabled_but_waiting: Vključili ste, da ste navedeni v imeniku, vendar še nimate najmanjšega števila sledilcev (%{min_followers}), da bi vas prikazalo.
explanation: Odkrijte uporabnike glede na njihove interese
explore_mastodon: Razišči %{title}
- how_to_enable: Trenutno niste vključeni v imenik. Spodaj se lahko vključite. Uporabite ključnike v vaši biografiji, da boste navedeni pod specifične ključnike!
- people:
- few: "%{count} osebe"
- one: "%{count} oseba"
- other: "%{count} oseb"
- two: "%{count} osebi"
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Nimate dovoljenja za ogled te strani.
'404': Iskana stran ne obstaja.
+ '406': This page is not available in the requested format.
'410': Iskana stran ne obstaja več.
'422':
content: Varnostno preverjanje ni uspelo. Ali blokirate piškotke?
@@ -606,6 +608,7 @@ sl:
'500':
content: Žal nam je, toda na našem koncu je prišlo do napake.
title: Ta stran ni pravilna
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Če želite uporabljati spletno aplikacijo Mastodon, omogočite JavaScript. Druga možnost je, da za svojo platformo poskusite eno od lastnih aplikacij za Mastodon.
existing_username_validator:
not_found: s tem uporabniškim imenom ni bilo mogoče najti lokalnega uporabnika
@@ -728,9 +731,6 @@ sl:
too_many: Ni možno priložiti več kot 4 datoteke
migrations:
acct: username@domain novega računa
- currently_redirecting: 'Vaš profil je preusmerjen na:'
- proceed: Shrani
- updated_msg: Nastavitev selitve računa je bila uspešno posodobljena!
moderation:
title: Moderiranje
notification_mailer:
@@ -787,9 +787,318 @@ sl:
older: Starejše
prev: Nazaj
truncate: "…"
+ polls:
+ errors:
+ already_voted: Na tej anketi ste že glasovali
+ duplicate_options: vsebuje podvojene elemente
+ duration_too_long: je predaleč v prihodnosti
+ duration_too_short: je prezgodaj
+ expired: Glasovanje se je že zaključilo
+ over_character_limit: ne more biti daljše od %{max} znakov
+ too_few_options: mora imeti več kot en element
+ too_many_options: ne more vsebovati več kot %{max} elementov
+ preferences:
+ other: Ostalo
+ posting_defaults: Privzete nastavitev objavljanja
+ public_timelines: Javne časovnice
+ relationships:
+ activity: Dejavnost računa
+ dormant: Skrit
+ last_active: Zadnja dejavnost
+ most_recent: Najnovejša
+ moved: Prestavljeno
+ mutual: Vzajemna
+ primary: Primarna
+ relationship: Razmerje
+ remove_selected_domains: Odstrani vse sledilce iz izbranih domen
+ remove_selected_followers: Odstrani izbrane sledilce
+ remove_selected_follows: Prenehaj slediti izbranim uporabnikom
+ status: Stanje računa
+ remote_follow:
+ acct: Vnesite uporabniško_ime@domena, iz katerega želite delovati
+ missing_resource: Za vaš račun ni bilo mogoče najti zahtevanega URL-ja za preusmeritev
+ no_account_html: Še nimate računa? Tukaj se lahko prijavite
+ proceed: Nadaljujte
+ prompt: 'Sledili boste:'
+ reason_html: "Zakaj je ta korak potreben?%{instance} morda ni strežnik, kjer ste registrirani, zato vas moramo najprej preusmeriti na domači strežnik."
+ remote_interaction:
+ favourite:
+ proceed: Nadaljuj s priljubljenim
+ prompt: 'Ali želite vzljubiti ta tut:'
+ reblog:
+ proceed: Nadaljuj s spodbudo
+ prompt: 'Ali želite spodbuditi ta tut:'
+ reply:
+ proceed: Nadaljuj z odgovorom
+ prompt: 'Ali želite odgovoriti na ta tut:'
+ scheduled_statuses:
+ over_daily_limit: Za ta dan ste presegli omejitev %{limit} načrtovanih tutov
+ over_total_limit: Presegli ste omejitev %{limit} načrtovanih tutov
+ too_soon: Načrtovani datum mora biti v prihodnosti
+ sessions:
+ activity: Zadnja dejavnost
+ browser: Brskalnik
+ browsers:
+ alipay: Alipay
+ blackberry: BlackBerry
+ chrome: Chrome
+ edge: Microsoft Edge
+ electron: Electron
+ firefox: Firefox
+ generic: Neznan brskalnik
+ ie: Internet Explorer
+ micro_messenger: MicroMessenger
+ nokia: Nokia S40 Ovi Browser
+ opera: Opera
+ otter: Otter
+ phantom_js: PhantomJS
+ qq: QQ Browser
+ safari: Safari
+ uc_browser: UC Browser
+ weibo: Weibo
+ current_session: Trenutna seja
+ description: "%{browser} na %{platform}"
+ explanation: To so spletni brskalniki, ki so trenutno prijavljeni v vaš Mastodon račun.
+ ip: IP
+ platforms:
+ adobe_air: Adobe Air
+ android: Android
+ blackberry: BlackBerry
+ chrome_os: ChromeOS
+ firefox_os: Firefox OS
+ ios: iOS
+ linux: Linux
+ mac: Mac
+ other: neznana platforma
+ windows: Windows
+ windows_mobile: Windows Mobile
+ windows_phone: Windows Phone
+ revoke: Prekliči
+ revoke_success: Seja je bila uspešno preklicana
+ title: Seje
+ settings:
+ account: Račun
+ account_settings: Nastavitve računa
+ appearance: Videz
+ authorized_apps: Pooblaščene aplikacije
+ back: Nazaj na Mastodon
+ delete: Brisanje računa
+ development: Razvoj
+ edit_profile: Uredi profil
+ export: Izvoz podatkov
+ featured_tags: Vključeni ključniki
+ identity_proofs: Dokazi o identiteti
+ import: Uvozi
+ import_and_export: Uvoz in izvoz
+ migrate: Selitev računa
+ notifications: Obvestila
+ preferences: Nastavitve
+ profile: Profil
+ relationships: Sledenja in sledilci
+ two_factor_authentication: Dvofaktorsko overjanje
+ spam_check:
+ spam_detected_and_silenced: To je samodejno poročilo. Zaznana je bila neželena pošta in pošiljatelj je bil samodejno utišan. Če je prišlo do napake, prekličite utišanje računa.
statuses:
+ attached:
+ description: 'Priloženo: %{attached}'
+ image:
+ few: "%{count} slike"
+ one: "%{count} slika"
+ other: "%{count} slik"
+ two: "%{count} sliki"
+ video:
+ few: "%{count} video posnetki"
+ one: "%{count} video posnetek"
+ other: "%{count} video posnetkov"
+ two: "%{count} video posnetka"
+ boosted_from_html: Spodbujeno iz %{acct_link}
+ content_warning: 'Opozorilo o vsebini: %{warning}'
+ disallowed_hashtags:
+ few: 'vsebuje nedovoljene ključnike: %{tags}'
+ one: 'vsebuje nedovoljeni ključnik: %{tags}'
+ other: 'vsebuje nedovoljenih ključnikov: %{tags}'
+ two: 'vsebuje nedovoljena ključnika: %{tags}'
+ language_detection: Samodejno zaznaj jezik
+ open_in_web: Odpri na spletu
+ over_character_limit: omejitev %{max} znakov je presežena
pin_errors:
+ limit: Pripeli ste največje število tutov
ownership: Trob nekoga drugega ne more biti pripet
private: Nejavnega troba ni mogoče pripeti
+ reblog: Spodbuda ne more biti pripeta
+ poll:
+ total_votes:
+ few: "%{count} glasovi"
+ one: "%{count} glas"
+ other: "%{count} glasov"
+ two: "%{count} glasova"
+ vote: Glasuj
+ show_more: Pokaži več
+ sign_in_to_participate: Prijavite se, če želite sodelovati v pogovoru
+ title: '%{name}: "%{quote}"'
+ visibilities:
+ private: Samo sledilci
+ private_long: Prikaži samo sledilcem
+ public: Javno
+ public_long: Vsi lahko vidijo
+ unlisted: Ni prikazano
+ unlisted_long: Vsi lahko vidijo, vendar ni objavljeno na javnih časovnicah
stream_entries:
pinned: Pripet trob
+ reblogged: spodbujen
+ sensitive_content: Občutljiva vsebina
+ terms:
+ body_html: |
+
Pravilnik o zasebnosti
+
Katere informacije zbiramo?
+
+
+
Osnovni podatki o računu: Če se registrirate na tem strežniku, boste morda morali vnesti uporabniško ime, e-poštni naslov in geslo. Vnesete lahko tudi dodatne informacije o profilu, na primer prikazno ime in biografijo, ter naložite sliko profila in sliko glave. Uporabniško ime, prikazno ime, biografija, slika profila in slika glave so vedno javno dostopni.
+
Objave, sledenja in druge javne informacije: Seznam oseb, ki jim sledite, je javno dostopen, enako velja za vaše sledilce. Ko pošljete sporočilo, sta datum in čas shranjena, kot tudi aplikacija, iz katere ste poslali sporočilo. Sporočila lahko vsebujejo medijske priloge, kot so slike in video posnetki. Javne in neprikazane objave so javno dostopne. Ko v profilu vključite objavo, je to tudi javno dostopna informacija. Vaše objave, ki so dostavljene vašim sledilcem, so včasih dostavljeni na različne strežnike, kjer se kopije objav tudi shranijo. Ko izbrišete objave, se to prav tako dostavi vašim sledilcem. Spodbujanje in vzljubitev drugih objav sta veno javni.
+
Neposredne objave in objave samo za sledilce: Vse objave so shranjene in obdelane na strežniku. Objave samo za sledilce se dostavijo vašim sledilcem in uporabnikom, ki so v njih omenjeni. Neposredne objave se posredujejo samo uporabnikom, ki so v njih omenjeni. V nekaterih primerih so dostavljeni na različne strežnike, kopije pa se shranijo tam. V dobri veri si prizadevamo omejiti dostop do teh objav samo pooblaščenim osebam, vendar drugi strežniki to morda ne bodo storili. Zato je pomembno, da pregledate strežnike, na katerih so sledilci. V nastavitvah lahko preklapljate med možnostmi za odobritev in zavrnitev novih sledilcev. Ne pozabite, da lahko operaterji strežnika in kateri koli prejemni strežnik takšna sporočila pregledajo in da jih lahko prejemniki posnamejo, kopirajo ali drugače ponovno delijo. Ne pošiljajte nevarnih informacij skozi Mastodon.
+
IP-ji in drugi metapodatki: Ko se prijavite, zabeležimo naslov IP, s katerega se prijavljate, in ime aplikacije brskalnika. V nastavitvah so za pregled in preklic na voljo vse prijavljene seje. Zadnji uporabljeni IP naslov je shranjen do 12 mesecev. Prav tako lahko obdržimo dnevnike strežnikov, ki vsebujejo IP naslov vsake zahteve na naš strežnik.
+
+
+
+
+
Za kaj uporabljamo vaše podatke?
+
+
Vse informacije, ki jih zbiramo od vas, so lahko uporabljene na naslednje načine:
+
+
+
Za zagotavljanje osrednje funkcionalnosti Mastodona. Komunicirate lahko z vsebino drugih oseb in objavljate lastno vsebino, ko ste prijavljeni. Na primer, lahko spremljate druge osebe in si ogledate njihove kombinirane objave v svoji prilagojeni domači časovnici.
+
Za pomoč pri moderiranju skupnosti, na primer primerjavo vašega naslova IP naslova z drugimi znanimi, za izobčitev izmikanja ali drugih kršitev.
+
E-poštni naslov, ki ga navedete, se lahko uporabi za pošiljanje informacij, obvestil o drugih osebah, ki komunicirajo z vašo vsebino ali pošiljanju sporočil, ter za odzivanje na poizvedbe in/ali druge zahteve ali vprašanja.
+
+
+
+
+
Kako zaščitimo vaše podatke?
+
+
Za ohranitev varnosti vaših osebnih podatkov izvajamo različne varnostne ukrepe, ko vnašate, pošiljate ali dostopate do vaših osebnih podatkov. Med drugim je seja brskalnika, pa tudi promet med vašimi aplikacijami in API-jem zaščitena s SSL-jem, geslo pa je zgoščeno z uporabo močnega enosmernega algoritma. Če želite omogočiti varen dostop do računa, lahko omogočite dvofaktorsko preverjanje pristnosti.
+
+
+
+
Kakšna je naša politika hrambe podatkov?
+
+
Prizadevali si bomo za:
+
+
+
Shranjevanje dnevnike strežnikov, ki vsebujejo naslov IP vseh zahtev za ta strežnik, če so hranjeni, največ 90 dni.
+
Obdržiitev naslovov IP, povezane z registriranimi uporabniki, ne več kot 12 mesecev.
+
+
+
Lahko zahtevate in prenesete arhiv vaše vsebine, vključno z objavami, predstavnostnimi prilogami, sliko profila in sliko glave.
+
+
Račun lahko kadar koli nepovratno izbrišete.
+
+
+
+
Ali uporabljamo piškotke?
+
+
Da. Piškotki so majhne datoteke, ki jih spletno mesto ali njegov ponudnik storitev prenese na trdi disk vašega računalnika prek spletnega brskalnika (če dovolite). Ti piškotki omogočajo, da spletno mesto prepozna vaš brskalnik in ga, če imate registriran račun, povežete z vašim registriranim računom.
+
+
Piškotke uporabljamo za razumevanje in shranjevanje vaših nastavitev za prihodnje obiske.
+
+
+
+
Ali razkrivamo informacije zunanjim strankam?
+
+
Vaših osebnih podatkov ne prodajamo, preprodajamo ali kako drugače posredujemo zunanjim osebam. To ne vključuje zaupanja vrednih tretjih oseb, ki nam pomagajo pri upravljanju naše spletne strani, vodenju našega poslovanja ali storitev, če se te strani strinjajo, da bodo te informacije zaupne. Vaše podatke lahko tudi objavimo, če menimo, da je objava ustrezna in v skladu z zakonom, uveljavlja pravilnike o spletnih mestih ali ščiti naše ali druge pravice, lastnino ali varnost.
+
+
Vaše javne vsebine lahko prenesejo drugi strežniki v omrežju. Vaše objave in objave samo za sledilce so dostavljene na strežnike, na katerih prebivajo vaši sledilci, in neposredna sporočila so dostavljena na strežnike prejemnikov, če so ti sledilci ali prejemniki na drugem strežniku.
+
+
Ko odobrite aplikacijo za uporabo vašega računa, lahko glede na obseg dovoljenj, ki jih odobravate, dostopa do vaših javnih podatkov o profilu, seznama osebam, ki jim sledite, vaših sledilcev, seznamov, vseh vaših objav in priljubljenih. Aplikacije ne morejo nikoli dostopati do vašega e-poštnega naslova ali gesla.
+
+
+
+
Uporaba strani s strani otrok
+
+
Če je ta strežnik v EU ali EEA: Naše spletno mesto, izdelki in storitve so namenjeni ljudem, ki so stari vsaj 16 let. Če ste mlajši od 16 let, po zahtevah GDPR (General Data Protection Regulation) ne uporabljajte tega spletnega mesta.
+
+
Če je ta strežnik v ZDA Naše spletno mesto, izdelki in storitve so namenjeni ljudem, ki so stari vsaj 13 let. Če ste mlajši od 13 let, po zahtevah COPPA (Children's Online Privacy Protection Act) ne uporabljajte tega spletnega mesta.
+
+
Če je ta strežnik v drugi jurisdikciji, so lahko zakonske zahteve drugačne.
+
+
+
+
Spremembe našega pravilnika o zasebnosti
+
+
Če se odločimo za spremembo našega pravilnika o zasebnosti, bomo te spremembe objavili na tej strani.
+
+
Ta dokument je CC-BY-SA. Zadnja posodobitev je bila 7. marca 2018.
+ title: "%{instance} Pogoji storitve in pravilnik o zasebnosti"
+ themes:
+ contrast: Mastodon (Visok kontrast)
+ default: Mastodon (Temna)
+ mastodon-light: Mastodon (Svetla)
+ time:
+ formats:
+ default: "%b %d, %Y, %H:%M"
+ month: "%b %Y"
+ two_factor_authentication:
+ code_hint: Za potrditev vnesite kodo, ki jo je ustvarila aplikacija za preverjanje pristnosti
+ description_html: Če omogočite dvofaktorsko preverjanje pristnosti, boste za prijavo morali imeti svoj telefon, s katerim boste ustvarili žetone za vstop.
+ disable: Onemogoči
+ enable: Omogoči
+ enabled: Dvofaktorsko preverjanje pristnosti je omogočeno
+ enabled_success: Dvofaktorsko preverjanje pristnosti je uspešno omogočeno
+ generate_recovery_codes: Ustvari kode za obnovitev
+ instructions_html: "Skenirajte QR kodo z Google Authenticator ali s podobno aplikacijo TOTP. Od zdaj naprej bo ta aplikacija ustvarjala žetone, ki jih boste morali vnesti ob prijavi."
+ lost_recovery_codes: Obnovitvene kode vam omogočajo, da ponovno pridobite dostop do svojega računa, če izgubite telefon. Če ste izgubili obnovitvene kode, jih lahko obnovite tukaj. Vaše stare obnovitvene kode bodo neveljavne.
+ manual_instructions: 'Če ne morete skenirati QR kode in jo morate vnesti ročno, je tu skrivnost v tekstovni obliki:'
+ recovery_codes: Varnostna kopija obnovitvenih kod
+ recovery_codes_regenerated: Obnovitvene kode so bile uspešno regenerirane
+ recovery_instructions_html: Če kdaj izgubite dostop do telefona, lahko uporabite eno od spodnjih obnovitvenih kod, da ponovno pridobite dostop do svojega računa. Shranite obnovitvene kode. Lahko jih natisnete in shranite z drugimi pomembnimi dokumenti.
+ setup: Nastavi
+ wrong_code: Vnesena koda je bila neveljavna! Ali sta čas strežnika in čas naprave pravilna?
+ user_mailer:
+ backup_ready:
+ explanation: Zahtevali ste popolno varnostno kopijo računa Mastodon. Zdaj je pripravljen za prenos!
+ subject: Vaš arhiv je pripravljen za prenos
+ title: Prevzem arhiva
+ warning:
+ explanation:
+ disable: Medtem ko je vaš račun zamrznjen, podatki vašega računa ostanejo nedotaknjeni, vendar ne morete izvajati nobenih dejanj, dokler ga ne odklenete.
+ silence: Medtem ko je vaš račun omejen, bodo na tem strežniku videli vaše tute samo osebe, ki vam že sledijo in morda boste izključeni iz različnih javnih seznamov. Vendar vam lahko še vedno ročno sledijo drugi.
+ suspend: Vaš račun je bil začasno ukinjen, vsi vaši tuti in naložene predstavnostne datoteke so bili nepovratno odstranjeni s tega strežnika in strežnikov, kjer ste imeli sledilce.
+ review_server_policies: Preglejte pravilnike strežnika
+ subject:
+ disable: Vaš račun %{acct} je zamrznjen
+ none: Opozorila za %{acct}
+ silence: Vaš račun %{acct} je omejen
+ suspend: Vaš račun %{acct} je suspendiran
+ title:
+ disable: Račun je zamrznjen
+ none: Opozorilo
+ silence: Račun je omejen
+ suspend: Račun je suspendiran
+ welcome:
+ edit_profile_action: Nastavitve profila
+ edit_profile_step: Profil lahko prilagodite tako, da naložite podobo, glavo, spremenite prikazno ime in drugo. Če želite pregledati nove sledilce, preden jim dovolite sledenje, lahko zaklenete svoj račun.
+ explanation: Tu je nekaj nasvetov za začetek
+ final_action: Začnite objavljati
+ final_step: 'Začnite objavljati! Tudi brez sledilcev bodo vaša javna sporočila videli drugi, na primer na lokalni časovnici in v ključnikih. Morda se želite predstaviti s ključnikom #introductions.'
+ full_handle: Vaša polna ročica
+ full_handle_hint: To bi povedali svojim prijateljem, da vam lahko pošljejo sporočila ali vam sledijo iz drugega strežnika.
+ review_preferences_action: Spremenite nastavitve
+ review_preferences_step: Poskrbite, da določite svoje nastavitve, na primer, katera e-poštna sporočila želite prejemati ali katere privzete ravni zasebnosti bodo imele vaše objave. Če nimate potovalne slabosti, lahko omogočite samodejno predvajanje GIF-ov.
+ subject: Dobrodošli na Mastodon
+ tip_federated_timeline: Združena časovnica je pogled na mrežo Mastodona. Vključuje pa samo ljudi, na katere so naročeni vaši sosedje, zato ni popolna.
+ tip_following: Privzeto sledite skrbnikom strežnika. Če želite najti več zanimivih ljudi, preverite lokalne in združene časovnice.
+ tip_local_timeline: Lokalna časovnica je strežniški pogled ljudi na %{instance}. To so vaši neposredni sosedje!
+ tip_mobile_webapp: Če vam mobilni brskalnik ponuja, da dodate Mastodon na domači zaslon, lahko prejmete potisna obvestila. Deluje kot lastna aplikacija na več načinov!
+ tips: Nasveti
+ title: Dobrodošli, %{name}!
+ users:
+ follow_limit_reached: Ne morete spremljati več kot %{limit} ljudi
+ invalid_email: E-poštni naslov je napačen
+ invalid_otp_token: Neveljavna dvofaktorska 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:'
+ verification:
+ explanation_html: 'V metapodatkih svojega profila se lahko potrdite kot lastnik povezav. Za to mora povezano spletno mesto vsebovati povezavo do vašega Mastodon profila. Povezava mora imeti atribut el="me". Vsebina besedila povezave ni pomembna. Tukaj je primer:'
+ verification: Potrditev
diff --git a/config/locales/sq.yml b/config/locales/sq.yml
index cbe225646..af180e281 100644
--- a/config/locales/sq.yml
+++ b/config/locales/sq.yml
@@ -9,9 +9,6 @@ sq:
contact: Kontakt
contact_missing: I parregulluar
documentation: Dokumentim
- extended_description_html: |
-
Një vend i mirë për rregulla
-
Përshkrimi i zgjeruar s’është sajuar ende.
generic_description: "%{domain} është një shërbyes te rrjeti"
hosted_on: Mastodon i strehuar në %{domain}
learn_more: Mësoni më tepër
@@ -424,12 +421,7 @@ sq:
title: Gjendje llogarish
with_media: Me media
tags:
- accounts: Llogari
- hidden: Fshehur
- hide: Fshihe prej drejtorie
title: Hashtage
- unhide: Shfaqe në drejtori
- visible: E dukshme
title: Administrim
warning_presets:
add_new: Shtoni të ri
@@ -458,7 +450,6 @@ sq:
your_token: Token-i juaj për hyrje
auth:
change_password: Fjalëkalim
- confirm_email: Ripohoni email-in
delete_account: Fshije llogarinë
delete_account_html: Nëse dëshironi të fshihni llogarinë tuaj, mund ta bëni që këtu. Do t’ju kërkohet ta ripohoni.
didnt_get_confirmation: S’morët udhëzime ripohimi?
@@ -496,23 +487,18 @@ sq:
over_x_years: "%{count}v"
x_months: "%{count}mj"
deletes:
- bad_password_msg: Provë e bukur, trimosha! Fjalëkalim i pasaktë
confirm_password: Jepni fjalëkalimin tuaj të tanishëm që të verifikohet identiteti juaj
- description_html: Kjo të heqë në mënyrë të përhershme, të pakthyeshme lëndë nga llogaria juaj dhe do ta çaktivizojë atë. Emri juaj i përdoruesit do të mbetet i rezervuar për të shmangur sozi të ardhme.
proceed: Fshini llogarinë
success_msg: Llogaria juaj u fshi me sukses
- warning_html: Garantohet vetëm fshirja e lëndës prej këtij shërbyesi të veçantë. Lënda që është ndarë gjerësisht me të tjerët ka gjasa të lërë gjurmë. Shërbyesit offline dhe shërbyesit që janë shpajtuar prej përditësimeve tuaja, s’do t’i përditësojnë bazat e tyre të të dhënave.
- warning_title: Mund të ketë lëndë të përhapur
directories:
directory: Drejtori profilesh
- enabled: Gjendeni te lista e drejtorisë.
- enabled_but_waiting: Keni zgjedhur të jeni pjesë e drejtorisë, por ende s’keni numrin minimum të ndjekësve (%{min_followers}) për përfshirje në të.
explanation: Zbuloni përdorues bazuar në interesat e tyre
explore_mastodon: Eksploroni %{title}
- how_to_enable: S’keni zgjedhur të jeni i pranishëm te drejtoria. Mund ta bëni më poshtë. Përdorni te teksti i jetëshkrimit tuaj hashtagë, për t’u përfshirë nën hashtagë specifikë!
errors:
+ '400': The request you submitted was invalid or malformed.
'403': S’keni leje të shihni këtë faqe.
'404': Faqja që po kërkonit, s’gjendet këtu.
+ '406': This page is not available in the requested format.
'410': Faqja që po kërkonit, s’gjendet më këtu.
'422':
content: Verifikimi i sigurisë dështoi. Mos i bllokoni gjë cookie-t?
@@ -521,6 +507,7 @@ sq:
'500':
content: Na ndjeni, diçka shkoi ters në anën tonë.
title: Kjo faqe s’është e saktë
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Që të përdorni aplikacionin web Mastodon, ju lutemi, aktivizoni JavaScript-in. Ndryshe, provoni për Mastodon-in një nga aplikacionet e brendshëm të platformës tuaj.
exports:
archive_takeout:
@@ -612,9 +599,6 @@ sq:
too_many: S’mund të bashkëngjiten më shumë se 4 kartela
migrations:
acct: emërpërdoruesi@përkatësi e llogarisë së re
- currently_redirecting: 'Profili juaj është caktuar të ridrejtojë te:'
- proceed: Ruaje
- updated_msg: Rregullimi juaj për migrim llogarish u përditësua me sukses!
moderation:
title: Moderim
notification_mailer:
diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml
index 6530d4c76..44bae34d0 100644
--- a/config/locales/sr-Latn.yml
+++ b/config/locales/sr-Latn.yml
@@ -6,9 +6,6 @@ sr-Latn:
about_this: O instanci
contact: Kontakt
contact_missing: Nije postavljeno
- extended_description_html: |
-
Dobro mesto za pravila
-
Prošireni opis koji još nije postavljen.
generic_description: "%{domain} je server na mreži"
hosted_on: Mastodont hostovan na %{domain}
learn_more: Saznajte više
@@ -314,22 +311,21 @@ sr-Latn:
over_x_years: "%{count}god"
x_months: "%{count}mesec"
deletes:
- bad_password_msg: Dobar pokušaj, hakeri! Neispravna lozinka
confirm_password: Unesite trenutnu lozinku da bismo proverili Vaš identitet
- description_html: Ovo će trajno, bespovratno ukloniti sadržaj sa Vašef naloga i deaktivirati ga. Vaše korisničko ime će ostati rezervisano da se spreči da se neko ne predstavlja kao Vi sutra.
proceed: Obriši nalog
success_msg: Vaš nalog je uspešno obrisan
- warning_html: Garantovano je samo brisanje sadržaja sa ove instance. Sadržaj koji je deljen dalje će verovatno da ostavi neke tragove. Nedostupni i ugašeni serveri, kao i serveri koji su odjavljeni od primanja statusa od Vas, neće ažurirati svoje baze.
- warning_title: Dostupnost rasejanog sadržaja
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Nemate dozvola da vidite ovu stranu.
'404': Strana koju ste tražili ne postoji.
+ '406': This page is not available in the requested format.
'410': Strana koju ste tražili više ne postoji.
'422':
'429': Uspored
'500':
content: Izvinjavamo se, nešto je pošlo po zlu sa ove strane.
title: Strana nije ispravna
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Da biste koristili Mastodont veb aplikaciju, omogućite JavaScript. U suprotnom, probajte neku od originalnih aplikacija za Mastodont za Vašu platformu.
exports:
blocks: Blokirali ste
@@ -382,9 +378,6 @@ sr-Latn:
too_many: Ne može se prikačiti više od 4 fajla
migrations:
acct: korisnik@domen novog naloga
- currently_redirecting: 'Profil Vam je podešen da preusmerava na :'
- proceed: Sačuvaj
- updated_msg: Prebacivanje postavki Vašeg naloga uspešno izmenjeno!
moderation:
title: Moderacija
notification_mailer:
diff --git a/config/locales/sr.yml b/config/locales/sr.yml
index 88db0c4f4..4a5d551ef 100644
--- a/config/locales/sr.yml
+++ b/config/locales/sr.yml
@@ -9,9 +9,6 @@ sr:
contact: Контакт
contact_missing: Није постављено
documentation: Документација
- extended_description_html: |
-
Добро место за правила
-
Проширени опис који још није постављен.
generic_description: "%{domain} је сервер на мрежи"
hosted_on: Мастодонт хостован на %{domain}
learn_more: Сазнајте више
@@ -441,13 +438,7 @@ sr:
title: Статуси налога
with_media: Са мултимедијом
tags:
- accounts: Налози
- hidden: Скривено
- hide: Сакриј од фасцикле
- name: Тараба
title: Тараба
- unhide: Прикажи у фасцикли
- visible: Видљиво
title: Администрација
warning_presets:
add_new: Додај нови
@@ -476,7 +467,6 @@ sr:
your_token: Ваш приступни токен
auth:
change_password: Лозинка
- confirm_email: Потврдите адресу е-поште
delete_account: Обриши налог
delete_account_html: Ако желите да обришете Ваш налог, можете наставити овде. Бићете упитани да потврдите.
didnt_get_confirmation: Нисте добили поруку са упутствима за потврду налога?
@@ -517,25 +507,18 @@ sr:
x_days: "%{count}д"
x_months: "%{count}месец"
deletes:
- bad_password_msg: Добар покушај, хакери! Неисправна лозинка
confirm_password: Унесите тренутну лозинку да бисмо проверили Ваш идентитет
- description_html: Ово ће трајно, бесповратно уклонити садржај са Вашеф налога и деактивирати га. Ваше корисничко име ће остати резервисано да се спречи да се неко не представља као Ви сутра.
proceed: Обриши налог
success_msg: Ваш налог је успешно обрисан
- warning_html: Гарантовано је само брисање садржаја са ове инстанце. Садржај који је дељен даље ће вероватно да остави неке трагове. Недоступни и угашени сервери, као и сервери који су одјављени од примања статуса од Вас, неће ажурирати своје базе.
- warning_title: Доступност расејаног садржаја
directories:
directory: Профил фасцикле
- enabled: Ви сте тренутно видљиви у фасцикли.
explanation: Откријте кориснике на основу њихових интереса
explore_mastodon: Истражи %{title}
- people:
- few: "%{count} људе"
- one: "%{count} особа/е"
- other: "%{count} људи"
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Немате дозвола да видите ову страну.
'404': Страна коју сте тражили не постоји.
+ '406': This page is not available in the requested format.
'410': Страна коју сте тражили више не постоји.
'422':
content: Безбедоносна провера није успела. Да не блокирате колачиће?
@@ -544,6 +527,7 @@ sr:
'500':
content: Извињавамо се, нешто је пошло по злу са ове стране.
title: Страна није исправна
+ '503': The page could not be served due to a temporary server failure.
noscript_html: Да бисте користили Мастодонт веб апликацију, омогућите JavaScript. У супротном, пробајте неку од оригиналних апликација за Мастодонт за Вашу платформу.
exports:
archive_takeout:
@@ -627,9 +611,6 @@ sr:
too_many: Не може се прикачити више од 4 фајла
migrations:
acct: корисник@домен новог налога
- currently_redirecting: 'Профил Вам је подешен да преусмерава на :'
- proceed: Сачувај
- updated_msg: Пребацивање поставки Вашег налога успешно измењено!
moderation:
title: Модерација
notification_mailer:
diff --git a/config/locales/sv.yml b/config/locales/sv.yml
index c123e2889..740aad00d 100644
--- a/config/locales/sv.yml
+++ b/config/locales/sv.yml
@@ -8,9 +8,6 @@ sv:
api: API
contact: Kontakt
contact_missing: Inte inställd
- extended_description_html: |
-
En bra plats för regler
-
Den utökade beskrivningen har inte konfigurerats ännu.
generic_description: "%{domain} är en server i nätverket"
hosted_on: Mastodon värd på %{domain}
learn_more: Lär dig mer
@@ -334,7 +331,6 @@ sv:
your_token: Din access token
auth:
change_password: Lösenord
- confirm_email: Bekräfta e-postadress
delete_account: Ta bort konto
delete_account_html: Om du vill radera ditt konto kan du fortsätta här. Du kommer att bli ombedd att bekräfta.
didnt_get_confirmation: Fick inte instruktioner om bekräftelse?
@@ -378,16 +374,14 @@ sv:
x_months: "%{count}mån"
x_seconds: "%{count}sek"
deletes:
- bad_password_msg: Bra försök, hackare! Fel lösenord
confirm_password: Ange ditt lösenord för att verifiera din identitet
- description_html: Detta vill permanent, irreversibelt ta bort innehåll från ditt konto och avaktivera det. Ditt användarnamn kommer att förbli reserverat för att förhindra framtida efterföljare.
proceed: Ta bort konto
success_msg: Ditt konto har tagits bort
- warning_html: Endast borttagning av innehåll från denna speciella instans garanteras. Innehåll som har delats i stor utsträckning kommer sannolikt att lämna spår. Offline-servrar och servrar som har avstängt från dina uppdateringar uppdaterar inte sina databaser.
- warning_title: Spridet innehåll och tillgänglighet
errors:
+ '400': The request you submitted was invalid or malformed.
'403': Du har inte behörighet att visa den här sidan.
'404': Sidan du letade efter existerar inte.
+ '406': This page is not available in the requested format.
'410': Sidan du letade efter existerar inte längre.
'422':
content: Säkerhetsverifiering misslyckades Blockerar du cookies?
@@ -396,6 +390,7 @@ sv:
'500':
content: Vi är ledsna, men något gick fel från vårat håll.
title: Den här sidan är inte korrekt
+ '503': The page could not be served due to a temporary server failure.
noscript_html: För att använda Mastodon webbapplikationen, vänligen aktivera JavaScript. Alternativt kan du prova en av inhemska appar för Mastodon för din plattform.
exports:
archive_takeout:
@@ -456,9 +451,6 @@ sv:
too_many: Det går inte att bifoga mer än 4 filer
migrations:
acct: användarnamn@domän av det nya kontot
- currently_redirecting: 'Din profil är satt att omdirigeras till:'
- proceed: Spara
- updated_msg: Dina kontoflyttsinställning har uppdaterats!
moderation:
title: Moderera
notification_mailer:
diff --git a/config/locales/ta.yml b/config/locales/ta.yml
index eef06fa7c..75bb81fad 100644
--- a/config/locales/ta.yml
+++ b/config/locales/ta.yml
@@ -1,12 +1,15 @@
---
ta:
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': Throttled
'500':
+ '503': The page could not be served due to a temporary server failure.
invites:
expires_in:
'1800': 30 minutes
diff --git a/config/locales/te.yml b/config/locales/te.yml
index d4a2f507d..ec4846554 100644
--- a/config/locales/te.yml
+++ b/config/locales/te.yml
@@ -10,9 +10,6 @@ te:
contact_missing: ఇంకా సెట్ చేయలేదు
contact_unavailable: వర్తించదు
documentation: పత్రీకరణ
- extended_description_html: |
-
నియమాలకు ఒక మంచి ప్రదేశం
-
మరింత విశదీకరణ ఇంకా సెట్ చేయబడలేదు.
generic_description: "%{domain} అనేది నెట్వర్కులోని ఒక సర్వరు"
hosted_on: మాస్టొడాన్ %{domain} లో హోస్టు చేయబడింది
learn_more: మరింత తెలుసుకోండి
@@ -113,12 +110,15 @@ te:
most_recent_activity: ఇటీవల యాక్టివిటీ
most_recent_ip: ఇటీవలి IP
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': Throttled
'500':
+ '503': The page could not be served due to a temporary server failure.
invites:
expires_in:
'1800': 30 minutes
diff --git a/config/locales/th.yml b/config/locales/th.yml
index a009e4ebb..e1056d0c2 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -1,6 +1,7 @@
---
th:
about:
+ about_hashtag_html: มีโพสต์สาธารณะที่ถูกแท็กด้วย #%{hashtag} คุณสามารถโต้ตอบได้หากคุณมีบัญชีที่ไหนก็ได้ในเฟดิเวิร์ส
about_mastodon_html: Mastodon เป็นเครือข่ายสังคมที่ทำงานบนโปรโตคอลเว็บแบบเปิดและซอฟต์แวร์เสรีที่เปิดต้นฉบับ กระจายศูนย์เหมือนอีเมล
about_this: เกี่ยวกับ
active_count_after: ที่ใช้งาน
@@ -16,11 +17,10 @@ th:
contact_unavailable: ไม่มี
discover_users: ค้นพบผู้ใช้
documentation: เอกสารประกอบ
- extended_description_html: |
-
สถานที่ที่ดีสำหรับกฎ
-
ยังไม่ได้ตั้งคำอธิบายแบบขยาย
+ federation_hint_html: เมื่อคุณมีบัญชีที่ %{instance} แล้ว คุณสามารถติดตามผู้คนบนเซิร์ฟเวอร์ Mastodon เซิร์ฟเวอร์ใดก็ได้
generic_description: "%{domain} เป็นเซิร์ฟเวอร์หนึ่งในเครือข่าย"
get_apps: ลองแอปสำหรับมือถือ
+ hosted_on: Mastodon ให้บริการบน %{domain}
learn_more: เรียนรู้เพิ่มเติม
privacy_policy: นโยบายความเป็นส่วนตัว
see_whats_happening: ดูสิ่งที่กำลังเกิดขึ้น
@@ -28,7 +28,7 @@ th:
source_code: โค้ดต้นฉบับ
status_count_after:
other: สถานะ
- status_count_before: ผู้สร้าง
+ status_count_before: ผู้ใช้เหล่านั้นได้สร้าง
terms: เงื่อนไขการให้บริการ
user_count_after:
other: ผู้ใช้
@@ -45,6 +45,7 @@ th:
media: สื่อ
moved_html: "%{name} ได้ย้ายไปยัง %{new_profile_link}:"
network_hidden: ไม่มีข้อมูลนี้
+ never_active: ไม่เลย
nothing_here: ไม่มีสิ่งใดที่นี่!
people_followed_by: ผู้คนที่ %{name} ติดตาม
people_who_follow: ผู้คนที่ติดตาม %{name}
@@ -156,6 +157,18 @@ th:
warn: เตือน
web: เว็บ
action_logs:
+ actions:
+ change_email_user: "%{name} ได้เปลี่ยนที่อยู่อีเมลของผู้ใช้ %{target}"
+ confirm_user: "%{name} ได้ยืนยันที่อยู่อีเมลของผู้ใช้ %{target}"
+ create_account_warning: "%{name} ได้ส่งคำเตือนไปยัง %{target}"
+ create_domain_block: "%{name} ได้ปิดกั้นโดเมน %{target}"
+ destroy_custom_emoji: "%{name} ได้ทำลายอีโมจิ %{target}"
+ destroy_domain_block: "%{name} ได้เลิกปิดกั้นโดเมน %{target}"
+ destroy_status: "%{name} ได้เอาสถานะโดย %{target} ออก"
+ disable_custom_emoji: "%{name} ได้ปิดใช้งานอีโมจิ %{target}"
+ enable_custom_emoji: "%{name} ได้เปิดใช้งานอีโมจิ %{target}"
+ update_custom_emoji: "%{name} ได้อัปเดตอีโมจิ %{target}"
+ update_status: "%{name} ได้อัปเดตสถานะโดย %{target}"
deleted_status: "(สถานะที่ลบแล้ว)"
title: รายการบันทึกการตรวจสอบ
custom_emojis:
@@ -287,6 +300,8 @@ th:
unresolved: ยังไม่ได้แก้ปัญหา
updated_at: อัปเดตเมื่อ
settings:
+ bootstrap_timeline_accounts:
+ title: การติดตามเริ่มต้นสำหรับผู้ใช้ใหม่
contact_information:
email: อีเมลธุรกิจ
username: ชื่อผู้ใช้ในการติดต่อ
@@ -320,6 +335,8 @@ th:
title: ข้อมูลแบบขยายที่กำหนดเอง
site_short_description:
title: คำอธิบายเซิร์ฟเวอร์แบบสั้น
+ site_terms:
+ title: เงื่อนไขการให้บริการที่กำหนดเอง
site_title: ชื่อเซิร์ฟเวอร์
timeline_preview:
desc_html: แสดงเส้นเวลาสาธารณะในหน้าเริ่มต้น
@@ -336,13 +353,7 @@ th:
no_media: ไม่มีสื่อ
title: สถานะบัญชี
tags:
- accounts: บัญชี
- hidden: ซ่อนอยู่
- hide: ซ่อนจากไดเรกทอรี
- name: แฮชแท็ก
title: แฮชแท็ก
- unhide: แสดงในไดเรกทอรี
- visible: มองเห็น
title: การดูแล
warning_presets:
add_new: เพิ่มใหม่
@@ -362,11 +373,12 @@ th:
view_profile: ดูโปรไฟล์
view_status: ดูสถานะ
applications:
+ created: สร้างแอปพลิเคชันสำเร็จ
+ destroyed: ลบแอปพลิเคชันสำเร็จ
invalid_url: URL ที่ระบุไม่ถูกต้อง
auth:
apply_for_account: ขอคำเชิญ
change_password: รหัสผ่าน
- confirm_email: ยืนยันอีเมล
delete_account: ลบบัญชี
forgot_password: ลืมรหัสผ่านของคุณ?
login: เข้าสู่ระบบ
@@ -381,6 +393,8 @@ th:
reset_password: ตั้งรหัสผ่านใหม่
security: ความปลอดภัย
set_new_password: ตั้งรหัสผ่านใหม่
+ status:
+ account_status: สถานะบัญชี
trouble_logging_in: มีปัญหาในการเข้าสู่ระบบ?
authorize_follow:
already_following: คุณกำลังติดตามบัญชีนี้อยู่แล้ว
@@ -413,8 +427,10 @@ th:
explanation: ค้นพบผู้ใช้ตามความสนใจของเขา
explore_mastodon: สำรวจ %{title}
errors:
+ '400': The request you submitted was invalid or malformed.
'403': คุณไม่มีสิทธิอนุญาตเพื่อดูหน้านี้
'404': หน้าที่คุณกำลังมองหาไม่ได้อยู่ที่นี่
+ '406': This page is not available in the requested format.
'410': หน้าที่คุณกำลังมองหาไม่มีอยู่ที่นี่อีกต่อไป
'422':
content: การตรวจสอบความปลอดภัยล้มเหลว คุณกำลังปิดกั้นคุกกี้หรือไม่?
@@ -422,6 +438,7 @@ th:
'429': Throttled
'500':
title: หน้านี้ไม่ถูกต้อง
+ '503': The page could not be served due to a temporary server failure.
exports:
archive_takeout:
date: วันที่
@@ -482,9 +499,12 @@ th:
'86400': 1 วัน
expires_in_prompt: ไม่เลย
generate: สร้าง
+ max_uses:
+ other: "%{count} การใช้"
max_uses_prompt: ไม่มีขีดจำกัด
table:
expires_at: หมดอายุเมื่อ
+ uses: การใช้
title: เชิญผู้คน
media_attachments:
validations:
@@ -492,7 +512,6 @@ th:
too_many: ไม่สามารถแนบมากกว่า 4 ไฟล์
migrations:
acct: username@domain ของบัญชีใหม่
- proceed: บันทึก
moderation:
title: การควบคุม
notification_mailer:
@@ -530,6 +549,9 @@ th:
older: เก่ากว่า
prev: ก่อนหน้า
truncate: "…"
+ polls:
+ errors:
+ duplicate_options: มีรายการที่ซ้ำกัน
preferences:
other: อื่น ๆ
posting_defaults: ค่าเริ่มต้นการโพสต์
@@ -604,7 +626,7 @@ th:
development: การพัฒนา
edit_profile: แก้ไขโปรไฟล์
export: การส่งออกข้อมูล
- import: นำเข้า
+ import: การนำเข้า
import_and_export: การนำเข้าและการส่งออก
notifications: การแจ้งเตือน
preferences: การกำหนดลักษณะ
@@ -625,6 +647,7 @@ th:
poll:
total_votes:
other: "%{count} การลงคะแนน"
+ vote: ลงคะแนน
show_more: แสดงเพิ่มเติม
sign_in_to_participate: ลงชื่อเข้าเพื่อเข้าร่วมการสนทนา
title: '%{name}: "%{quote}"'
diff --git a/config/locales/tr.yml b/config/locales/tr.yml
index 5929e1e07..b6817999e 100644
--- a/config/locales/tr.yml
+++ b/config/locales/tr.yml
@@ -4,24 +4,36 @@ tr:
about_hashtag_html: Bunlar #%{hashtag}X ile etiketlenen genel paylaşımlar. Açık alanda herhangi bir yerde bir hesabınız varsa, onlarla etkileşime geçebilirsiniz.
about_mastodon_html: Mastodon ücretsiz ve açık kaynaklı bir sosyal ağdır. Merkezileştirilmemiş yapısı sayesinde diğer ticari sosyal platformların aksine iletişimininizin tek bir firmada tutulmasının/yönetilmesinin önüne geçer. Güvendiğiniz bir sunucuyu seçerek oradaki kişilerle etkileşimde bulunabilirsiniz. Herkes kendi Mastodon sunucusunu kurabilir ve sorunsuz bir şekilde Mastodon sosyal ağına dahil edebilir.
about_this: Bu sunucu hakkında
+ active_count_after: etkin
+ active_footnote: Aylık Aktif Kullanıcılar (AAK)
administered_by: 'Tarafından yönetildi:'
+ api: API
apps: Mobil uygulamalar
+ apps_platforms: İos, Android ve diğer platformlardaki Mastodon'u kullanın
+ browse_directory: Bir profil dizinine göz atın ve ilgi alanlarına göre filtreleyin
+ browse_public_posts: Mastodon'daki herkese açık yayınlara göz atın
contact: İletişim
contact_missing: Ayarlanmadı
contact_unavailable: Yok
+ discover_users: Kullanıcıları keşfet
documentation: Belgeler
- extended_description_html: |
-
Kural için iyi bir yer
-
Genişletilmiş açıklama henüz ayarlanmamış.
+ federation_hint_html: "%{instance} hesabınızla, herhangi bir Mastodon sunucusundaki ve haricindeki kişileri takip edebilirsiniz."
generic_description: "%{domain} ağdaki bir sunucudur"
+ get_apps: Bir mobil uygulamayı deneyin
hosted_on: Mastodon %{domain} üzerinde barındırılıyor
+ instance_actor_flash: |
+ Bu hesap, herhangi bir kullanıcıyı değil sunucunun kendisini temsil etmek için kullanılan sanal bir aktördür.
+ Federasyon amaçlı kullanılır ve tüm yansıyı engellemek istemediğiniz sürece engellenmemelidir; bu durumda bir etki alanı bloğu kullanmanız gerekir.
learn_more: Daha fazla bilgi edinin
privacy_policy: Gizlilik politikası
+ see_whats_happening: Neler olduğunu görün
+ server_stats: 'Sunucu istatistikleri:'
source_code: Kaynak kodu
status_count_after:
one: durum
other: durum
status_count_before: Şu ana kadar
+ tagline: Arkadaşlarını takip et ve yenilerini keşfet
terms: Kullanım şartları
user_count_after:
one: kullanıcı
@@ -30,27 +42,36 @@ tr:
what_is_mastodon: Mastodon nedir?
accounts:
choices_html: "%{name} seçimleri:"
+ endorsements_hint: Takip ettiğiniz kişileri web arayüzünden onaylayabilirsiniz, burada görünecekler.
+ featured_tags_hint: Burada görüntülenecek belirli etiketlere sahip olabilirsiniz.
follow: Takip et
followers:
one: Takipçi
other: Takipçi
following: Takip ediliyor
joined: "%{date} tarihinde katıldı"
+ last_active: son aktivite
link_verified_on: Bu bağlantının mülkiyeti %{date} tarihinde kontrol edildi
media: Medya
moved_html: "%{name}, %{new_profile_link} adresine taşındı:"
network_hidden: Bu bilgi mevcut değil
+ never_active: Asla
nothing_here: Burada henüz hiçbir gönderi yok!
people_followed_by: Kullanıcı %{name}'in takip ettikleri
people_who_follow: Kullanıcı %{name}'i takip edenler
pin_errors:
following: Onaylamak istediğiniz kişiyi zaten takip ediyor olmalısınız
+ posts:
+ one: Gönderi
+ other: Tootlar
posts_tab_heading: Tootlar
posts_with_replies: Tootlar ve yanıtlar
reserved_username: Kullanıcı adı saklıdır
roles:
admin: Yönetici
+ bot: Bot
moderator: Denetleyici
+ unavailable: Profil kullanılamıyor
unfollow: Takibi bırak
admin:
account_actions:
@@ -61,7 +82,10 @@ tr:
delete: Sil
destroyed_msg: Denetim notu başarıyla yok edildi!
accounts:
+ approve: Onayla
+ approve_all: Tümünü onayla
are_you_sure: Emin misiniz?
+ avatar: Avatar
by_domain: Sunucu
change_email:
changed_msg: Hesap e-postası başarıyla değiştirildi!
@@ -74,6 +98,7 @@ tr:
confirmed: Onaylandı
confirming: Onaylama
deleted: Silinen
+ demote: Düşür
disable: Devre dışı
disable_two_factor_authentication: 2AD kapat
disabled: Kapalı
@@ -91,6 +116,7 @@ tr:
header: Üstbilgi
inbox_url: Gelen kutusu bağlantısı
invited_by: Tarafından davet edildi
+ ip: IP
joined: Katıldı
location:
all: Hepsi
@@ -101,14 +127,20 @@ tr:
media_attachments: Medya ekleri
memorialize: Bir hatıraya dön
moderation:
+ active: Etkin
all: Hepsi
+ pending: Bekliyor
silenced: Susturulanlar
suspended: Uzaklaştırılanlar
title: Yönetim
moderation_notes: Denetleme notları
most_recent_activity: Son aktivite
most_recent_ip: Son IP
+ no_account_selected: Hiçbiri seçilmediğinden hiçbir hesap değiştirilmedi
+ no_limits_imposed: Sınır koymaz
not_subscribed: Abone edilmedi
+ outbox_url: Giden Kutusu URL'si
+ pending: Bekleyen yorum
perform_full_suspension: Askıya al
profile_url: Profil linki
promote: Yükselt
@@ -116,6 +148,8 @@ tr:
public: Herkese açık
push_subscription_expires: PuSH aboneliği dolumu
redownload: Profili yenile
+ reject: Reddet
+ reject_all: Tümünü reddet
remove_avatar: Avatarı kaldır
remove_header: Üstbilgiyi kaldır
resend_confirmation:
@@ -142,6 +176,7 @@ tr:
statuses: Durumlar
subscribe: Abone ol
suspended: Askıya alındı
+ time_in_queue: "%{time} kuyruğunda bekliyor"
title: Hesaplar
unconfirmed_email: Onaylanmamış e-posta
undo_silenced: Susturmayı geri al
@@ -149,25 +184,98 @@ tr:
unsubscribe: Abonelikten çık
username: Kullanıcı adı
warn: Uyar
+ web: Web
+ whitelisted: Beyaz listede
action_logs:
actions:
+ assigned_to_self_report: "%{name} kendilerine %{target} adlı raporu verdi"
+ change_email_user: "%{name}, %{target} kullanıcısının e-posta adresini değiştirdi"
confirm_user: "%{name} %{target} kullanıcısının e-posta adresini onayladı"
+ create_account_warning: "%{name} %{target} 'a bir uyarı gönderdi"
create_custom_emoji: "%{name} yeni ifade yükledi %{target}"
+ create_domain_block: "%{target} alanı, %{name} tarafından engellendi"
+ create_email_domain_block: "%{target} e-posta alanı, %{name} tarafından kara listeye alınmış"
+ destroy_custom_emoji: "%{target} emoji, %{name} tarafından kaldırıldı"
+ destroy_domain_block: "%{target} alan adının engeli %{name} tarafından kaldırıldı"
+ destroy_email_domain_block: "%{target} e-posta sunucusu, %{name} tarafından beyaz listeye alındı"
disable_2fa_user: "%{name}, %{target} kullanıcısı için iki adım gereksinimini kapattı"
+ disable_custom_emoji: "%{target} emoji, %{name} tarafından devre dışı bırakıldı"
+ deleted_status: "(silinmiş durum)"
+ title: Denetim günlüğü
+ custom_emojis:
+ by_domain: Alan adı
+ copied_msg: Emojinin yerel kopyası başarıyla oluşturuldu
+ copy: Kopyala
+ copy_failed_msg: Bu emojinin yerel bir kopyası oluşturulamadı
+ create_new_category: Yeni kategori ekle
+ created_msg: Emoji başarıyla oluşturuldu!
+ delete: Sil
+ destroyed_msg: Emojo başarıyla yok edildi!
+ disable: Devre dışı bırak
+ disabled_msg: Bu emoji başarıyla devre dışı bırakıldı
+ emoji: İfadeler
+ enable: Etkinleştir
+ enabled_msg: Bu emojiyi başarıyla etkinleştirdi
+ image_hint: 50 KB'a kadar PNG
+ listed: Listelenen
+ new:
+ title: Yeni özel emoji ekle
+ overwrite: Üzerine yaz
+ shortcode_hint: En az 2 karakter, sadece alfanümerik karakterler ve alt çizgiler
+ title: Özel emojiler
+ uncategorized: Kategorilenmemiş
+ unlisted: Listelenmemiş
+ updated_msg: Emoji başarıyla güncellendi!
+ upload: Yükle
+ dashboard:
+ config: Yapılandırma
+ feature_deletions: Hesap silme
+ feature_profile_directory: Profil dizini
+ feature_registrations: Kayıtlar
+ feature_spam_check: Anti-spam
+ feature_timeline_preview: Zaman çizelgesi önizlemesi
+ features: Özellikler
+ hidden_service: Gizli servislere sahip federasyon
+ open_reports: raporları aç
+ pending_tags: inceleme için bekleyen hashtag'ler
+ pending_users: inceleme için bekleyen kullanıcılar
+ recent_users: Son kullanıcılar
+ search: Tam metin araması
+ single_user_mode: Tek kullanıcı modu
+ software: Yazılım
+ space: Alan kullanımı
+ title: Kontrol Paneli
+ total_users: toplam kullanıcı
+ trends: Trendler
+ week_interactions: bu haftaki etkileşimler
+ week_users_active: bu hafta aktif
+ week_users_new: bu hafta kullanıcılar
+ whitelist_mode: Beyaz liste modu
+ domain_allows:
+ created_msg: Alan adı başarıyla beyaz listeye alındı
+ destroyed_msg: Alan adı beyaz listeden kaldırıldı
+ undo: Beyaz listeden çıkar
domain_blocks:
add_new: Yeni ekle
created_msg: Domain bloğu şu an işleniyor
destroyed_msg: Domain bloğu silindi
+ domain: Alan adı
+ edit: Etki alanı bloğunu düzenle
+ existing_domain_block_html: '%{name}''e zaten daha katı sınırlar uyguladınız, önce engellemesini kaldırmanız gerekiyor.'
new:
create: Yeni blok oluştur
hint: Domain bloğu, veri tabanında hesap kayıtlarının oluşturulmasını engellemez, fakat o hesapların üzerine otomatik olarak belirli yönetim metodlarını olarak uygular.
severity:
desc_html: "Susturma, uygulanan hesabın gönderilerini, o hesabı takip etmeyen diğer herkese gizler. Uzaklaştırma hesabın bütün içeriğini, ortam dosyalarını ve profil verisini siler."
+ noop: Yok
silence: Sustur
suspend: Uzaklaştır
title: Yeni domain bloğu
+ private_comment: Özel yorum
+ public_comment: Genel yorum
reject_media: Ortam dosyalarını reddetme
reject_media_hint: Yerel olarak depolanmış ortam dosyalarını ve gelecekte indirilecek olanları reddeder. Uzaklaştırma için uygun değildir
+ reject_reports: Raporları reddet
show:
affected_accounts:
one: Veritabanındaki bir hesap etkilendi
@@ -178,12 +286,43 @@ tr:
title: "%{domain} domain'i için yapılan işlemi geri al"
undo: Geri al
undo: Geri al
+ email_domain_blocks:
+ add_new: Yeni ekle
+ delete: Sil
+ domain: Alan adı
+ new:
+ create: Alan adı ekle
+ title: E-posta kara listesi
+ followers:
+ back_to_account: Hesaba Geri Dön
+ title: "%{acct} Takipçileri"
instances:
+ by_domain: Alan adı
+ known_accounts:
+ one: "%{count} bilinen hesap"
+ other: "%{count} bilinen hesap"
+ moderation:
+ all: Tümü
title: Bilinen Sunucular
+ invites:
+ filter:
+ all: Tümü
+ relays:
+ delete: Sil
+ disable: Devre dışı
+ enabled: Etkin
reports:
+ account:
+ note: not
+ report: şikayet
+ action_taken_by: tarafından gerçekleştirilen eylem
+ are_you_sure: Emin misiniz?
comment:
none: Yok
mark_as_resolved: Giderildi olarak işaretle
+ notes:
+ create: Not Ekle
+ delete: Sil
report: 'Şikayet #%{id}'
reported_account: Şikayet edilen hesap
reported_by: Şikayet eden
@@ -192,13 +331,38 @@ tr:
title: Şikayetler
unresolved: Giderilmedi
settings:
+ activity_api_enabled:
+ title: Kullanıcı etkinliği hakkında toplu istatistikler yayınlayın
contact_information:
email: Herkese açık e-posta adresiniz
username: Bir kullanıcı adı giriniz
+ custom_css:
+ title: Özel CSS
+ domain_blocks:
+ all: Herkes için
+ domain_blocks_rationale:
+ title: Gerekçeyi göster
+ hero:
+ title: Kahraman görseli
+ mascot:
+ title: Maskot görseli
+ preview_sensitive_media:
+ desc_html: Medya duyarlı olarak işaretlenmiş olsa bile, diğer web sitelerindeki bağlantı ön izlemeleri küçük resim gösterecektir
+ title: OpenGraph ön izlemelerinde hassas medyayı göster
+ profile_directory:
+ desc_html: Kullanıcıların keşfedilebilir olmasına izin ver
+ title: Profil dizinini etkinleştir
registrations:
closed_message:
desc_html: Kayıt alımları kapatıldığında ana sayfada görüntülenecek mesajdır. HTML etiketleri kullanabilirsiniz
title: Kayıt alımları kapatılma mesajı
+ min_invite_role:
+ title: tarafından yapılan davetlere izin ver
+ registrations_mode:
+ modes:
+ approved: Kayıt için onay gerekli
+ none: Hiç kimse kayıt olamaz
+ open: Herkes kaydolabilir
site_description:
desc_html: Ana sayfada paragraf olarak görüntülenecek bilgidir. Özellikle <a> ve <em> olmak suretiyle HTML etiketlerini kullanabilirsiniz.
title: Site açıklaması
@@ -207,25 +371,49 @@ tr:
title: Sunucu hakkında detaylı bilgi
site_title: Site başlığı
title: Site Ayarları
+ statuses:
+ no_status_selected: Hiçbiri seçilmediğinden hiçbir durum değiştirilmedi
tags:
- accounts: Hesaplar
- name: Etiketler
title: Etiketler
title: Yönetim
warning_presets:
add_new: Yeni ekle
delete: Sil
edit: Düzenle
+ appearance:
+ advanced_web_interface_hint: 'Tüm ekran genişliğinizden yararlanmak istiyorsanız, gelişmiş web arayüzü istediğiniz kadar bilgi görecek kadar çok sayıda farklı sütunu yapılandırmanıza olanak tanır: Anasayfa, bildirimler, birleşik zaman çizelgesi, istediğiniz sayıda liste ve etiket.'
+ animations_and_accessibility: Animasyonlar ve erişilebilirlik
+ confirmation_dialogs: Onay iletişim kutuları
+ discovery: Keşfet
+ sensitive_content: Hassas içerik
application_mailer:
+ notification_preferences: E-posta tercihlerini değiştir
+ salutation: "%{name},"
settings: 'E-mail tercihlerini değiştir: %{link}'
view: 'Görüntüle:'
+ view_profile: Profili Görüntüle
+ view_status: Durumu görüntüle
applications:
+ created: Uygulama başarıyla oluşturuldu
+ destroyed: Uygulama başarıyla silindi
invalid_url: Verilen URL geçerli değil
+ regenerate_token: Erişim belirtecini yeniden oluştur
+ warning: Bu verilere çok dikkat edin. Asla kimseyle paylaşmayın!
+ your_token: Erişim belirteciniz
auth:
+ apply_for_account: Davet et
+ change_password: Parola
+ checkbox_agreement_html: sunucu kuralları vehizmet şartlarını kabul ediyorum
+ checkbox_agreement_without_rules_html: Hizmet şartlarını kabul ediyorum
+ delete_account: Hesabı sil
+ delete_account_html: Hesabınızı silmek isterseniz, buradan devam edebilirsiniz. Sizden onay istenecektir.
didnt_get_confirmation: Hesap doğrulama mailini almadınız mı?
forgot_password: Parolanızı unuttunuz mu?
+ invalid_reset_password_token: Parola sıfırlama belirteci geçersiz veya süresi dolmuş. Lütfen yeni bir tane talep edin.
login: Giriş yap
logout: Çıkış
+ migrate_account_html: Bu hesabı başka bir hesaba yönlendirmek istiyorsanız, buradan yapılandırabilirsiniz.
+ or_log_in_with: Veya giriş yapın
register: Üye ol
resend_confirmation: Doğrulama mailini tekrar gönder
reset_password: Parolayı değiştir
@@ -249,20 +437,60 @@ tr:
x_minutes: "%{count}dk"
x_months: "%{count}ay"
x_seconds: "%{count}sn"
+ directories:
+ directory: Profil dizini
+ explanation: Kullanıcıları ilgi alanlarına göre keşfedin
+ explore_mastodon: "%{title} keşfet"
+ domain_validator:
+ invalid_domain: geçerli bir alan adı değil
errors:
+ '400': Gönderdiğiniz istek geçersiz veya hatalı biçimlendirilmiş.
'403': Bu sayfayı görmek için izniniz yok.
'404': Aradığınız sayfa bulunamadı.
+ '406': Bu sayfa istenen formatta mevcut değil.
'410': Aradığınız sayfa artık yok.
'422':
content: Güvenlik doğrulaması başarısız oldu. Site cookie'lerini engellemiş olabilirsiniz.
title: Güvenlik doğrulamasu başarısız
'429': Throttled
- '500':
+ '500':
+ content: Üzgünüz, ancak bir şey ters gitti.
+ title: Bu sayfa doğru değil
+ '503': Geçici sunucu hatası nedeniyle sayfa görüntülenemedi.
+ noscript_html: Mastodon web uygulamasını kullanmak için lütfen JavaScript'i etkinleştirin. Alternatif olarak, platformunuz için Mastodon yerel uygulamalardan birini deneyin.
+ existing_username_validator:
+ not_found: bu kullanıcı adına sahip yerel bir kullanıcı bulunamadı
exports:
+ archive_takeout:
+ date: Tarih
+ download: Arşivinizi indirin
+ hint_html: "Gönderileriniz ve yüklediğiniz ortamların bir arşivini talep edebilirsiniz. Dışa aktarılan veriler, herhangi bir uyumlu yazılım tarafından okunabilen ActivityPub formatında olacaktır. Her 7 günde bir arşiv talep edebilirsiniz."
+ in_progress: Arşivinizi derliyoruz...
+ size: Boyut
blocks: Blokladıklarınız
+ csv: CSV
follows: Takip ettikleriniz
+ lists: Listeler
mutes: Susturduklarınız
storage: Ortam deposu
+ featured_tags:
+ add_new: Yeni ekle
+ errors:
+ limit: Zaten azami hashtag miktarı belirlediniz
+ hint_html: "Öne çıkan etiketler nelerdir? Genel profilinizde belirgin bir şekilde görüntülenirler ve kişilerin genel yayınlarınıza özellikle bu etiketler altında göz atmalarına izin verir. Yaratıcı çalışmaları veya uzun vadeli projeleri takip etmek için harika bir araçtır."
+ filters:
+ contexts:
+ home: Ana zaman çizelgesi
+ notifications: Bildirimler
+ public: Genel zaman çizelgesi
+ thread: Sohbetler
+ edit:
+ title: Filtreyi düzenle
+ index:
+ delete: Sil
+ title: Filtreler
+ new:
+ title: Yeni filtre ekle
generic:
changes_saved_msg: Değişiklikler başarıyla kaydedildi!
save_changes: Değişiklikleri kaydet
@@ -283,14 +511,29 @@ tr:
'21600': 6 hours
'3600': 1 hour
'43200': 12 hours
- '604800': 1 week
- '86400': 1 day
+ '604800': 1 hafta
+ '86400': 1 gün
+ expires_in_prompt: Asla
+ generate: Oluştur
+ invited_by: 'Tarafından davet edildi:'
+ max_uses:
+ one: 1 kullanım
+ other: "%{count} kullanım"
+ max_uses_prompt: Limit yok
+ prompt: Bu sunucuya erişim vermek için bağlantılar oluşturun ve başkalarıyla paylaşın
+ table:
+ expires_at: Bitiş tarihi
+ uses: Kullanım
+ title: İnsanları davet et
media_attachments:
validations:
images_and_video: Halihazırda görsel içeren bir gönderiye video ekleyemezsiniz
too_many: 4'ten fazla dosya ekleyemezsiniz
+ moderation:
+ title: Yönetim
notification_mailer:
digest:
+ action: Tüm bildirimleri görüntüle
body: Son ziyaretiniz olan %{since}'den beri'da kaçırdığınız şeylerin özeti
mention: "%{name} senden bahsetti:"
new_followers_summary:
@@ -299,41 +542,129 @@ tr:
subject:
one: "Son ziyaretinizden beri 1 yeni bildiriminiz var \U0001F418"
other: "Son ziyaretinizden beri %{count} yeni bildiriminiz var \U0001F418"
+ title: Senin yokluğunda...
favourite:
body: "%{name} durumunuzu favorilere ekledi:"
subject: "%{name} favorilere ekledi"
+ title: Yeni favori
follow:
body: "%{name} sizi takip etmeye başladı!"
subject: "%{name} sizi takip etmeye başladı"
+ title: Yeni takipçi
follow_request:
+ action: Takip isteklerini yönet
body: "%{name} size takip isteği gönderdi"
subject: 'Takip isteği: %{name}'
+ title: Yeni takip isteği
mention:
+ action: Yanıt
body: "%{name} sizden bahsetti:"
subject: "%{name} sizden bahsetti"
reblog:
body: "%{name} durumunuzu boost etti:"
subject: "%{name} durumunuzu boost etti"
+ title: Yeni gönderi
+ number:
+ human:
+ decimal_units:
+ format: "%n%u"
+ units:
+ billion: B
+ million: M
+ quadrillion: Q
+ thousand: K
+ trillion: T
pagination:
+ newer: Daha yeni
next: Sonraki
+ older: Daha Eski
prev: Önceki
+ truncate: "…"
+ polls:
+ errors:
+ already_voted: Bu ankete daha önce oy verdiniz
+ expired: Anket çoktan sona erdi
+ over_character_limit: her biri %{max} karakterden daha uzun olamaz
+ too_few_options: birden fazla öğeye sahip olmalı
+ too_many_options: "%{max} öğeden fazla öğe içeremez"
+ preferences:
+ other: Diğer
+ relationships:
+ activity: Hesap etkinliği
+ last_active: Son aktivite
+ most_recent: En son
remote_follow:
acct: Takip edeceğiniz kişiyi kullaniciadi@sunuculinki şeklinde giriniz
missing_resource: Hesabınız için yönlendirme linki bulunamadı
proceed: Takip onayı
prompt: Bu kullanıcıyı takip etmek istediğinize emin misiniz?
+ sessions:
+ ip: IP
+ platforms:
+ adobe_air: Adobe Air
+ android: Android
+ blackberry: Blackberry
+ chrome_os: ChromeOS
+ firefox_os: Firefox OS
+ ios: iOS
+ linux: GNU/Linux
+ mac: Mac
+ other: bilinmeyen platform
+ windows: Windows
+ windows_mobile: Windows Mobil
+ windows_phone: Windows Phone
+ revoke: İptal
+ revoke_success: Oturum başarıyla iptal edildi
+ title: Oturumlar
settings:
+ account: Hesap
+ account_settings: Hesap ayarları
+ appearance: Görünüm
authorized_apps: Yetkilendirilen uygulamalar
back: Mastodon'a geri dön
+ delete: Hesap silme
+ development: Geliştirme
edit_profile: Profili düzenle
export: Dışa aktar
+ featured_tags: Öne çıkan hashtag'ler
+ identity_proofs: Kimlik belgesi
import: İçe aktar
+ import_and_export: İçe al ve dışarı aktar
+ migrate: Hesap taşıma
+ notifications: Bildirim
preferences: Tercihler
+ profile: Profil
+ relationships: Takip edilenler ve takipçiler
two_factor_authentication: İki-faktörlü doğrulama
statuses:
+ attached:
+ description: 'Ekli: %{attached}'
+ image:
+ one: "%{count} görsel"
+ other: "%{count} görsel"
+ video:
+ one: "%{count} video"
+ other: "%{count} video"
+ boosted_from_html: "%{acct_link} den yinelendi"
+ content_warning: 'İçerik uyarısı: %{warning}'
+ disallowed_hashtags:
+ one: 'izin verilmeyen bir etiket içeriyordu: %{tags}'
+ other: 'izin verilmeyen hashtag''leri içeriyordu: %{tags}'
+ language_detection: Dili otomatik olarak algıla
open_in_web: Web sayfasında aç
over_character_limit: "%{max} karakter limiti aşıldı"
+ pin_errors:
+ ownership: Başkasının gönderisi sabitlenemez
+ private: Halka açık olmayan gönderi sabitlenemez
+ reblog: Bir yineleme sabitlenemez
+ poll:
+ total_votes:
+ one: "%{count} oy"
+ other: "%{count} oy"
+ vote: Oy
show_more: Daha fazla
+ sign_in_to_participate: Sohbete katılmak için oturum açın
+ title: '%{name}: "%{quote}"'
visibilities:
private: Sadece takipçiler
private_long: Sadece takipçilerime gönder
@@ -342,8 +673,16 @@ tr:
unlisted: Listelenmemiş
unlisted_long: Herkes görebilir fakat herkese açık zaman tünellerinde listelenmez
stream_entries:
+ pinned: Sabitlenmiş gönderi
reblogged: boost edildi
sensitive_content: Hassas içerik
+ tags:
+ does_not_match_previous_name: önceki adla eşleşmiyor
+ terms:
+ title: "%{instance} Hizmet Şartları ve Gizlilik Politikası"
+ themes:
+ contrast: Mastodon (Yüksek karşıtlık)
+ default: Mastodon (Karanlık)
two_factor_authentication:
code_hint: Onaylamak için kimlik doğrulama uygulamanızın oluşturduğu kodu giriniz
description_html: Eğer iki-faktörlü kimlik doğrulamayı aktif ederseniz, giriş yaparken sizin için giriş kodu üreten telefonunuza ihtiyaç duyacaksınız.
diff --git a/config/locales/uk.yml b/config/locales/uk.yml
index c2d422474..ade86d604 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -1,63 +1,110 @@
---
uk:
about:
- about_hashtag_html: Немає публічних постів з хештегом#%{hashtag}. Ви можете You can interact with them if you have an account anywhere in the fediverse.
- about_mastodon_html: Mastodon - це вільна соціальна мережа з відкритим вихідним кодом. Вона є децентралізованою альтернативою комерційним платформам, що дозволяє уникнути ризиків монополізації вашого спілкування однією компанією. Виберіть сервер, якому ви довіряєте — що б ви не вибрали, Ви зможете спілкуватись з усіма іншими. Будь-який користувач може запустити власну інстанцію Mastodon та без проблем брати участь в соціальній мережі.
+ about_hashtag_html: Це публічні дмухи, позначені символом #%{hashtag}. Ви можете взаємодіяти з ними, якщо маєте обліковий запис будь-де у федіверсі.
+ about_mastodon_html: Mastodon — це соціальна мережа, заснована на відкритих веб-протоколах та вільному програмному забезпеченні з відкритим кодом. Вона є децентралізованою на кшталт електронної пошти.
about_this: Про цю інстанцію
+ active_count_after: активних
+ active_footnote: Активні користувачі місяця (MAU)
administered_by: 'Адміністратор:'
+ api: API
+ apps: Мобільні додатки
+ apps_platforms: Користуйтесь Mastodon на iOS, Android та інших платформах
+ browse_directory: Переглядайте каталог профілів та фільтруйте за інтересами
+ browse_public_posts: Переглядайте потік публічних постів на Mastodon
contact: Зв'язатися
contact_missing: Не зазначено
contact_unavailable: Недоступно
+ discover_users: Знайдіть цікавих користувачів
documentation: Документація
- extended_description_html: |
-
Гарне місце для правил
-
Детальний опис ще не налаштований.
+ federation_hint_html: З обліковим записом на %{instance} ви зможете слідкувати за людьми на будь-якому сервері Mastodon та поза ним.
generic_description: "%{domain} є одним сервером у мережі"
+ get_apps: Спробуйте мобільний додаток
hosted_on: Mastodon розміщено на %{domain}
+ instance_actor_flash: 'Цей обліковий запис є віртуальною особою, яка використовується для представлення самого сервера, а не певного користувача. Він використовується для потреб федерації і не повинен бути заблокований, якщо тільки ви не хочете заблокувати весь сервер, у цьому випадку ви повинні скористатися блокуванням домену.
+
+'
learn_more: Дізнатися більше
privacy_policy: Політика приватності
+ see_whats_happening: Погляньте, що відбувається
+ server_stats: 'Статистика серверу:'
source_code: Вихідний код
+ status_count_after:
+ few: статуса
+ many: статусів
+ one: статус
+ other: статуси
status_count_before: Опубліковано
+ tagline: Слідкуйте за друзями та знаходьте нових
terms: Правила використання
+ user_count_after:
+ few: користувача
+ many: користувачів
+ one: користувач
+ other: користувачі
user_count_before: Тут живе
what_is_mastodon: Що таке Mastodon?
accounts:
+ choices_html: 'Вподобання %{name}:'
follow: Підписатися
+ followers:
+ few: Підписника
+ many: Підписників
+ one: Підписник
+ other: Підписників
following: Підписаний(-а)
joined: Приєднався %{date}
+ last_active: остання активність
+ link_verified_on: Права власності на це посилання були перевірені %{date}
media: Медіа
- moved_html: "%{name} переїхав на %{new_profile_link}:"
+ moved_html: "%{name} переїхав до %{new_profile_link}:"
network_hidden: Ця інформація недоступна
+ never_active: Ніколи
nothing_here: Тут нічого немає!
people_followed_by: Люди, на яких підписаний(-а) %{name}
people_who_follow: Підписники %{name}
- posts_with_replies: Пости і відповіді
+ pin_errors:
+ following: Ви повинні бути підписаним на людину, яку бажаєте схвалити
+ posts:
+ few: Дмуха
+ many: Дмухів
+ one: Дмух
+ other: Дмухів
+ posts_tab_heading: Дмухи
+ posts_with_replies: Дмухи та відповіді
reserved_username: Це ім'я користувача зарезервоване
roles:
admin: Адміністратор
bot: Бот
moderator: Мод
+ unavailable: Профіль недоступний
unfollow: Відписатися
admin:
+ account_actions:
+ action: Виконати дію
+ title: Здійснити модераційну дію над %{acct}
account_moderation_notes:
- create: Залишити примітки
- created_msg: Примітку модератора успішно створено!
+ create: Залишити нотатку
+ created_msg: Нотатку модератора успішно створено!
delete: Видалити
- destroyed_msg: Примітку модератора успішно видалено!
+ destroyed_msg: Нотатку модератора успішно видалено!
accounts:
+ approve: Схвалити
+ approve_all: Схвалити всіх
are_you_sure: Ви впевнені?
avatar: Аватар
by_domain: Домен
change_email:
- changed_msg: Поштова адреса аккаунту успішно змінена!
- current_email: Поточна поштова адреса
- label: Змінити поштову адресу
- new_email: Новий e-mail
- submit: Змінити поштову адресу
- title: Змінити поштову адресу для %{username}
+ changed_msg: Адресу електронної пошти облікового запису успішно змінено!
+ current_email: Поточна адреса електронної пошти
+ label: Змінити адресу електронної пошти
+ new_email: Нова адреса електронної пошти
+ submit: Змінити адресу електронної пошти
+ title: Змінити адресу електронної пошти для %{username}
confirm: Зберегти
confirmed: Збережено
confirming: Зберігається
+ deleted: Видалено
demote: Усунути
disable: Вимкнути
disable_two_factor_authentication: Вимкнути двофакторну авторизацію
@@ -65,14 +112,19 @@ uk:
display_name: Відображуване ім'я
domain: Домен
edit: Змінити
- email_status: Статус e-mail
+ email: Електронна пошта
+ email_status: Статус електронної пошти
enable: Увімкнути
enabled: Увімкнено
- feed_url: URL фіду
+ feed_url: URL-адреса каналу
followers: Підписники
followers_url: URL підписників
follows: Підписки
- inbox_url: Вхідний URL
+ header: Заголовок
+ inbox_url: URL вхідних повідомлень
+ invited_by: 'Запросив:'
+ ip: IP
+ joined: Приєднався
location:
all: Усі
local: Локальні
@@ -82,29 +134,37 @@ uk:
media_attachments: Мультимедійні вкладення
memorialize: Зробити пам'ятником
moderation:
+ active: Активний
all: Усі
+ pending: Очікують
silenced: Заглушені
- suspended: Заблоковані
+ suspended: Призупинені
title: Модерація
- moderation_notes: Примітки модераторів
+ moderation_notes: Нотатки модераторів
most_recent_activity: Остання активність
most_recent_ip: Останній IP
+ no_account_selected: Жоден обліковий запис не було змінено, оскільки жоден не було вибрано
+ no_limits_imposed: Жодних обмежень не накладено
not_subscribed: Не підписані
- outbox_url: Вихідний URL
- perform_full_suspension: Повне блокування
+ outbox_url: URL вихідних повідомлень
+ pending: Відгук в очікуванні
+ perform_full_suspension: Призупинити
profile_url: URL профілю
promote: Просунути
protocol: Протокол
public: Публічний
push_subscription_expires: Підписка PuSH спливає
redownload: Оновити аватар
+ reject: Відхилити
+ reject_all: Відхилити усе
remove_avatar: Видалити аватар
+ remove_header: Видалити заголовок
resend_confirmation:
already_confirmed: Цей користувач уже підтверджений
- send: Надіслати підтвердження ще раз
- success: Повідомлення з підтвердженням успішно надіслано!
+ send: Надіслати електронний лист-підтвердження ще раз
+ success: Електронний лист-підтвердження успішно надіслано!
reset: Скинути
- reset_password: Зкинути пароль
+ reset_password: Скинути пароль
resubscribe: Перепідписатися
role: Дозволи
roles:
@@ -112,30 +172,38 @@ uk:
moderator: Модератор
staff: Персонал
user: Користувач
+ salmon_url: Salmon URL
search: Пошук
shared_inbox_url: URL спільного вхідного кошика
show:
- created_reports: Скарги створені цим аккаунтом
+ created_reports: Скарги, створені цим аккаунтом
targeted_reports: Скарги щодо цього аккаунту
silence: Глушення
+ silenced: Заглушені
statuses: Статуси
subscribe: Підписатися
- title: Акаунти
- unconfirmed_email: Непідтверджений e-mail
+ suspended: Призупинені
+ time_in_queue: Очікує в черзі %{time}
+ title: Облікові записи
+ unconfirmed_email: Непідтверджена адреса електронної пошти
undo_silenced: Зняти глушення
- undo_suspension: Зняти блокування
+ undo_suspension: Зняти призупинення
unsubscribe: Відписатися
username: Ім'я користувача
- web: WWW
+ warn: Попередження
+ web: Веб
+ whitelisted: У білому списку
action_logs:
actions:
assigned_to_self_report: "%{name} призначив(-ла) скаргу %{target} на себе"
change_email_user: "%{name} змінив(-ла) поштову адресу користувача %{target}"
confirm_user: "%{name} підтвердив(-ла) статус поштової адреси користувача %{target}"
+ create_account_warning: "%{name} надіслав попередження до %{target}"
create_custom_emoji: "%{name} вивантажив(-ла) нове емодзі %{target}"
create_domain_block: "%{name} заблокував(-ла) домен %{target}"
create_email_domain_block: "%{name} додав(-ла) поштовий домен %{target} до чорного списку"
demote_user: "%{name} понизив(-ла) %{target}"
+ destroy_custom_emoji: "%{name} знищив(-ла) емодзі %{target}"
destroy_domain_block: "%{name} розблокував(-ла) домен %{target}"
destroy_email_domain_block: "%{name} додав(-ла) поштовий домен %{target} до білого списку"
destroy_status: "%{name} видалив(-ла) статус користувача %{target}"
@@ -144,19 +212,20 @@ uk:
disable_user: "%{name} заборонив(-ла) авторизацію користувачу %{target}"
enable_custom_emoji: "%{name} увімкнув(-ла) емодзі %{target}"
enable_user: "%{name} увімкнув(-ла) авторизацію користувачу %{target}"
- memorialize_account: "%{name} перетворив(-ла) сторінку %{target} у пам'ятник"
+ memorialize_account: "%{name} перетворив(-ла) обліковий запис %{target} на сторінку пам'яті"
promote_user: "%{name} підвищив(-ла) користувача %{target}"
remove_avatar_user: "%{name} прибрав(-ла) аватар користувача %{target}"
reopen_report: "%{name} перевідкрив(-ла) скаргу %{target}"
reset_password_user: "%{name} скинув(-ла) пароль користувача %{target}"
resolve_report: "%{name} розв'язав(-ла) скаргу %{target}"
- silence_account: "%{name} заглушив(-ла) аккаунт %{target}"
- suspend_account: "%{name} заблокував аккаунт користувача %{target}"
+ silence_account: "%{name} заглушив(-ла) обліковий запис %{target}"
+ suspend_account: "%{name} заморозив обліковий запис користувача %{target}"
unassigned_report: "%{name} зняв(-ла) призначення скарги %{target}"
- unsilence_account: "%{name} розглушив(-ла) аккаунт %{target}"
- unsuspend_account: "%{name} розблокував аккаунт користувача %{target}"
+ unsilence_account: "%{name} розглушив(-ла) обліковий запис %{target}"
+ unsuspend_account: "%{name} розморозив обліковий запис користувача %{target}"
update_custom_emoji: "%{name} оновив(-ла) емодзі %{target}"
update_status: "%{name} змінив(-ла) статус користуача %{target}"
+ deleted_status: "(видалений статус)"
title: Журнал подій
custom_emojis:
by_domain: Домен
@@ -177,59 +246,86 @@ uk:
title: Додати новий емодзі
overwrite: Переписати
shortcode: Шорткод
- shortcode_hint: Мінімум два символи, тільки цифрові й латинські символи або нижні підкреслення
+ shortcode_hint: Мінімум два символи, тільки цифрові й латинські символи або підкреслення
title: Особливі емодзі
unlisted: Не у списку
update_failed_msg: Не вийшло оновити емозді
updated_msg: Емодзі успішно оновлене!
upload: Вивантажити
dashboard:
+ backlog: відкладені завдання
config: Налаштування
- feature_deletions: Видалення аккаунтів
+ feature_deletions: Видалення облікових записів
feature_invites: Посилання-запрошення
+ feature_profile_directory: Каталог профілів
feature_registrations: Реєстрації
+ feature_relay: Ретранслятор дмухів між серверами
+ feature_spam_check: Анти-спам
+ feature_timeline_preview: Передпоказ стрічки
features: Можливості
hidden_service: Федерація з прихованими сервісами
open_reports: відкриті скарги
+ pending_tags: хештеги, що очікують на перегляд
+ pending_users: користувачі, що очікують на перегляд
recent_users: Останні користувачі
search: Повнотекстовий пошук
single_user_mode: Режим одного користувача
software: Програмне забезпечення
space: Використання дискового простору
- title: Дашборд
+ title: Приборна панель
total_users: користувачів загалом
trends: Тренди
week_interactions: дій за цей тиждень
week_users_active: активно протягом тижня
week_users_new: користувачів цього тижня
+ whitelist_mode: Режим білого списку
+ domain_allows:
+ add_new: Додати домен до білого списку
+ created_msg: Домен було успішно додано до білого списку
+ destroyed_msg: Домен було видалено з білого списку
+ undo: Видалити з білого списку
domain_blocks:
add_new: Додати нове
- created_msg: Блокування домену оброблюється
+ created_msg: Блокування домену обробляється
destroyed_msg: Блокування домену знято
domain: Домен
+ edit: Редагувати блокування доменів
+ existing_domain_block_html: Ви вже наклали більш суворі обмеження на %{name}, вам треба спочатку розблокувати його.
new:
create: Створити блокування
- hint: Блокування домену не завадить створенню нових акаунтів у базі даних, але ретроактивно та автоматично застосує вказані методи модерації для цих акаунтів.
+ hint: Блокування домену не завадить створенню нових облікових записів у базі даних, але ретроактивно та автоматично застосує до них конкретні методи модерації.
severity:
- desc_html: "Глушення зробить статуси акаунту невидимими для всіх, окрім їхніх підписників. Блокування видалить увесь контент акаунту, включаючи мультимедійні вкладення та дані профілю."
+ desc_html: "Глушення зробить пости облікового запису невидимими для всіх, окрім його підписників. Заморожування видалить увесь контент, медіа та дані профілю облікового запису. Якщо ви хочете лише заборонити медіафайли, оберіть Нічого."
noop: Нічого
silence: Глушення
suspend: Блокування
title: Нове блокування домену
+ private_comment: Приватний коментар
+ private_comment_hint: Прокоментуйте обмеження для цього домену, а модератори прочитають.
+ public_comment: Публічний коментар
+ public_comment_hint: Прокоментуйте обмеження для цього домену, це зможуть прочитати всі, якщо така опція ввімкнена.
reject_media: Заборонити медіаконтент
reject_media_hint: Видаляє медіаконтент, збережений локально, і забороняє його завантаження у майбутньому. Не має значення у випадку блокування
+ reject_reports: Відхилити скарги
+ reject_reports_hint: Ігнорувати всі скарги з цього домену. Не має значення у випадку блокування
+ rejecting_media: відхилення медіафайлів
+ rejecting_reports: відхилення скарг
+ severity:
+ silence: заглушені
+ suspend: призупинені
show:
affected_accounts:
- few: Впливає на %{count} акаунти у базі даних
- many: Впливає на %{count} акаунтів у базі даних
- one: Впливає на один акаунт у базі даних
- other: Впливає на %{count} акаунтів у базі даних
+ few: Впливає на %{count} облікових записи у базі даних
+ many: Впливає на %{count} облікових записів у базі даних
+ one: Впливає на один обліковий запис у базі даних
+ other: Впливає на %{count} облікових записів у базі даних
retroactive:
- silence: Зняти глушення з усіх існуючих акаунтів цього домену
- suspend: Зняти блокування з усіх існуючих акаунтів цього домену
+ silence: Зняти глушення з усіх існуючих заглушених облікових записів цього домену
+ suspend: Розморозити існуючі заморожені облікові записи з цього домену
title: Зняти блокування з домена %{domain}
undo: Відмінити
undo: Відмінити
+ view: Переглянути заблоковані домени
email_domain_blocks:
add_new: Додати
created_msg: Успішно додано поштовий домен до чорного списку
@@ -238,25 +334,62 @@ uk:
domain: Домен
new:
create: Додати домен
- title: Нове доменне блокування домену email
+ title: Нове блокування поштового домену
title: Чорний список поштових доменів
+ followers:
+ back_to_account: Повернутися до Облікового запису
+ title: Підписники %{acct}
instances:
+ by_domain: Домен
+ delivery_available: Доставлення доступне
+ known_accounts:
+ few: "%{count} відомих облікових записів"
+ many: "%{count} відомих облікових записів"
+ one: "%{count} відомий обліковий запис"
+ other: "%{count} відомих облікових записів"
+ moderation:
+ all: Усі
+ limited: Обмежені
+ title: Модерація
+ private_comment: Приватний коментар
+ public_comment: Публічний коментар
title: Відомі інстанції
+ total_blocked_by_us: Заблокованих нами
+ total_followed_by_them: Вони стежать за
+ total_followed_by_us: Ми стежимо за
+ total_reported: Звітів про них
+ total_storage: Мультимедійні вкладення
invites:
+ deactivate_all: Деактивувати всі
filter:
all: Все
available: Доступно
expired: Просрочено
title: Фільтр
title: Запрошення
+ pending_accounts:
+ title: Облікові записи у черзі (%{count})
relays:
+ add_new: Додати новий ретранслятор
+ delete: Видалити
+ description_html: "Ретлянслятор дмухів (federation relay) — це проміжний сервер, що обмінюється великими обсягами публічних дмухів між серверами, які цього хочуть. Він може допомогти маленьким та середнім серверам отримувати вміст з усього федесвіту (fediverse). Без нього локальним користувачам довелося б вручну підписуватися на людей з віддалених серверів."
+ disable: Вимкнути
+ disabled: Вимкнено
+ enable: Увімкнути
+ enable_hint: Коли ретрансляцію увімкнено, ваш сервер буде підписаний на усі публічні дмухи з цього ретранслятора, та почне посилати до нього свої публічні дмухи.
+ enabled: Увімкнено
+ inbox_url: URL ретранслятора
+ pending: Очікуємо на підтвердження ретранслятором
+ save_and_enable: Зберегти та увімкнути
+ setup: Налаштування з'єднання з ретранслятором
status: Статус
+ title: Ретранслятори
report_notes:
created_msg: Скарга успішно створена!
destroyed_msg: Скарга успішно видалена!
reports:
account:
- note: примітка
+ note: нотатка
report: скарга
action_taken_by: Дія виконана
are_you_sure: Ви впевнені?
@@ -275,7 +408,7 @@ uk:
placeholder: Опишіть, які дії були виконані, або інші зміни, що стосуються справи...
reopen: Перевідкрити скаргу
report: 'Скарга #%{id}'
- reported_account: Акаунт порушника
+ reported_account: Обліковий запис порушника
reported_by: Відправник скарги
resolved: Вирішено
resolved_msg: Скаргу успішно вирішено!
@@ -289,32 +422,53 @@ uk:
desc_html: Кількість локальних постів, активних та нових користувачів у тижневих розрізах
title: Публікація агрегованої статистики про активність користувачів
bootstrap_timeline_accounts:
- title: Підписки за замовчуванням для нових користувачів
+ desc_html: Розділяйте імена користувачів комами. Працюватимуть тільки локальні і розблоковані облікові записи. Якщо порожньо, то типово це всі локальні адміністратори.
+ title: Типові підписки для нових користувачів
contact_information:
email: Введіть публічний email
username: Введіть ім'я користувача
+ custom_css:
+ desc_html: Відобразити вигляд, коли CSS завантажено для кожної сторінки
+ title: Користувацький CSS
+ domain_blocks:
+ all: Всi
+ disabled: Нікого
+ title: Показати, які домени заблоковані
+ domain_blocks_rationale:
+ title: Обґрунтування
hero:
- desc_html: Відображається на головній сторінці. Рекомендована як мінімум 600x100 пікселів. Якщо не вказано, буде використано передпоказ інстанції
+ desc_html: Відображається на головній сторінці. Рекомендовано як мінімум 600x100 пікселів. Якщо не вказано, буде використано передпоказ інстанції
title: Банер інстанції
+ mascot:
+ desc_html: Відображається на багатьох сторінках. Щонайменше 293×205 пікселів рекомендовано. Якщо не вказано, буде використано талісман інстанції
+ title: Талісман
peers_api_enabled:
desc_html: Доменні ім'я, помічені цією інстанцією федисвіту
title: Опублікувати список знайдених інстанцій
preview_sensitive_media:
- desc_html: Передпоказ посилання на інших сайтах буде відображати мініатюру навіть якщо медіа відмічене як вразливе
- title: Показувати вразливе медія у перепоказі OpenGraph
+ desc_html: Передпоказ посилання на інших сайтах буде відображати мініатюру навіть якщо медіа відмічене як дражливе
+ title: Показувати дражливе медіа у передпоказах OpenGraph
+ profile_directory:
+ desc_html: Дозволити користувачам бути видимими
+ title: Увімкнути каталог профілів
registrations:
closed_message:
desc_html: Відображається на титульній сторінці, коли реєстрація закрита Можна використовувати HTML-теги
title: Повідомлення про закриту реєстрацію
deletion:
- desc_html: Дозволити будь-кому видаляти свій аккаунт
- title: Дозволити видалення аккаунтів
+ desc_html: Дозволити будь-кому видаляти свій обліковий запис
+ title: Видалення відкритого облікового запису
min_invite_role:
disabled: Ніхто
title: Дозволити запрошення від
+ registrations_mode:
+ modes:
+ approved: Для входу потрібне схвалення
+ none: Ніхто не може увійти
+ open: Будь-хто може увійти
show_known_fediverse_at_about_page:
- desc_html: Коли увімкнено, будуть показані пости з усього відомого федисвіту у передпоказі. Інакше будуть показані локальні пости.
- title: Показувати доступний федисвіт у передпоказі фіду
+ desc_html: Коли увімкнено, будуть показані пости з усього відомого федисвіту у передпоказі. Інакше будуть показані лише локальні дмухи.
+ title: Показувати доступний федисвіт у передпоказі стрічки
show_staff_badge:
desc_html: Відмічати персонал на сторінці користувачів
title: Показувати персонал
@@ -324,39 +478,82 @@ uk:
site_description_extended:
desc_html: Відображається на сторінці додаткової информації Можна використовувати HTML-теги
title: Розширений опис сайту
+ site_short_description:
+ title: Короткий опис сервера
site_terms:
desc_html: |-
Ви можене написати власну політику приватності, умови використанні та інші законні штуки
Можете використовувати HTML теги
title: Особливі умови використання
site_title: Назва сайту
+ spam_check_enabled:
+ desc_html: Mastodon може автоматично глушити та автоматично звітувати про облікові записи, які надсилають повторні небажані повідомлення. Можливі хибно-позитивні спрацьовування.
+ title: Автоматизація антиспаму
thumbnail:
desc_html: Використовується для передпоказів через OpenGraph та API. Бажано розміром 1200х640 пікселів
title: Мініатюра інстанції
timeline_preview:
- desc_html: Показувати публічний фід на головній сторінці
+ desc_html: Показувати публічну стрічку на головній сторінці
title: Передпоказ фіду
title: Налаштування сайту
+ trends:
+ desc_html: Відображати розглянуті хештеґи, які популярні зараз
+ title: Популярні хештеги
statuses:
- back_to_account: Назад на сторінку профілю
+ back_to_account: Назад до сторінки облікового запису
batch:
delete: Видалити
- nsfw_off: Відмітити сприйнятливим
- nsfw_on: Відмітити несприйнятливим
+ nsfw_off: Відмітити прийнятним
+ nsfw_on: Відмітити неприйнятним
+ deleted: Видалено
failed_to_execute: Не вийшло
media:
title: Медіа
no_media: Немає медіа
- title: Статуси аккаунтів
+ no_status_selected: Жодного статуса не було змінено, оскільки жодного не було вибрано
+ title: Статуси облікових записів
with_media: З медіа
+ tags:
+ accounts_today: Унікальних використань за сьогодні
+ accounts_week: Унікальних використань за тиждень
+ breakdown: Аналіз використання за сьогодні за джерелом
+ context: Контекст
+ directory: У каталозі
+ in_directory: "%{count} у каталозі"
+ review: Переглянути статус
+ reviewed: Переглянуто
+ title: Хештеґи
+ trending_right_now: Популярні саме зараз
+ unique_uses_today: "%{count} постять сьогодні"
+ unreviewed: Не переглянуто
+ updated_msg: Параметри хештеґів успішно оновлені
title: Адміністрування
+ warning_presets:
+ add_new: Додати новий
+ delete: Видалити
+ edit: Редагувати
+ edit_preset: Редагувати шаблон попередження
+ title: Управління шаблонами попереджень
admin_mailer:
+ new_pending_account:
+ body: Деталі нового облікового запису наведено нижче. Ви можете схвалити або відхилити цю заяву.
+ subject: Новий обліковий запис надіслано на розгляд на %{instance} (%{username})
new_report:
- body: "%{reporter} поскаржився(-лася) %{target}"
- body_remote: Хтось з домену %{domain} поскаржився(-лася) %{target}
+ body: "%{reporter} поскаржився(-лася) на %{target}"
+ body_remote: Хтось з домену %{domain} поскаржився(-лася) на %{target}
subject: Нова скарга до %{instance} (#%{id})
+ new_trending_tag:
+ subject: Новий хештеґ надіслано на розгляд до %{instance} (#%{name})
+ appearance:
+ advanced_web_interface: Розширений web-інтерфейс
+ advanced_web_interface_hint: 'Розширений веб-інтерфейс дає змогу бачити багато стовпчиків одночасно: основна сторінка, сповіщення, глобальна стрічка, будь-які списки та хештеґи. Потребує широкого екрана.'
+ animations_and_accessibility: Анімація та доступність
+ confirmation_dialogs: Діалоги підтвердження
+ discovery: Виявлення
+ sensitive_content: Дражливий вміст
application_mailer:
notification_preferences: Змінити налаштування e-mail
+ salutation: "%{name},"
settings: 'Змінити налаштування e-mail: %{link}'
view: 'Перегляд:'
view_profile: Показати профіль
@@ -370,26 +567,46 @@ uk:
warning: Будьте дуже обережні з цими даними. Ніколи не діліться ними ні з ким!
your_token: Ваш токен доступу
auth:
+ apply_for_account: Запитати запрошення
change_password: Пароль
- confirm_email: Підтвердьте e-mail адресу
- delete_account: Видалити аккаунт
- delete_account_html: Якщо ви хочете видалити аккаунт, ви можете перейти сюди. Вас попросять підтвердити дію.
+ checkbox_agreement_html: Я погоджуюсь з правилами сервера та умовами використання
+ checkbox_agreement_without_rules_html: Я погоджуюся з умовами використання
+ delete_account: Видалити обліковий запис
+ delete_account_html: Якщо ви хочете видалити свій обліковий запис, ви можете перейти сюди. Вас попросять підтвердити дію.
+ description:
+ prefix_invited_by_user: "@%{name} запрошує вас приєднатися до цього сервера Mastodon!"
+ prefix_sign_up: Зареєструйтеся на Mastodon сьогодні!
+ suffix: Маючи обліковий запис, ви зможете підписуватися на людей, публікувати пости та листуватися з користувачами будь-якого сервера Mastodon!
didnt_get_confirmation: Ви не отримали інструкції з підтвердження?
- forgot_password: Забули свій пароль?
+ forgot_password: Забули пароль?
invalid_reset_password_token: Токен скидання паролю неправильний або просрочений. Спробуйте попросити новий.
login: Увійти
logout: Вийти
- migrate_account: Переїхати до іншого аккаунту
- migrate_account_html: Якщо ви бажаєте, щоб відвідувачі цього акканту були перенаправлені до іншого, ви можете налаштувати це тут.
+ migrate_account: Переїхати на інший обліковий запис
+ migrate_account_html: Якщо ви бажаєте перенаправити цей обліковий запис на інший, ви можете налаштувати це тут.
or_log_in_with: Або увійдіть з
+ providers:
+ cas: CAS
+ saml: SAML
register: Зареєструватися
+ registration_closed: "%{instance} не приймає нових членів"
resend_confirmation: Повторно відправити інструкції з підтвердження
reset_password: Скинути пароль
security: Зміна паролю
set_new_password: Встановити новий пароль
+ setup:
+ email_below_hint_html: Якщо ця електронна адреса не є вірною, ви можете змінити її тут та отримати новий лист для підтвердження.
+ email_settings_hint_html: Електронний лист-підтвердження було вислано до %{email}. Якщо ця адреса електронної пошти не є вірною, ви можете змінити її в налаштуваннях облікового запису.
+ title: Налаштування
+ status:
+ account_status: Статус облікового запису
+ confirming: Очікуємо на завершення підтвердження за допомогою електронної пошти.
+ functional: Ваш обліковий запис повністю робочій.
+ pending: Ваша заява очікує на розгляд нашим персоналом. Це може зайняти деякий час. Ви отримаєте електронний лист, якщо ваша заява буде схвалена.
+ trouble_logging_in: Проблема під час входу?
authorize_follow:
- already_following: Ви вже підписані на цей аккаунт
- error: На жаль, при пошуку віддаленого аккаунту виникла помилка
+ already_following: Ви вже слідкуєте за цим обліковим записом
+ error: На жаль, під час пошуку віддаленого облікового запису сталася помилка
follow: Підписатися
follow_request: 'Вам надіслали запит на підписку:'
following: 'Ура! Ви тепер підписані на:'
@@ -413,17 +630,32 @@ uk:
x_months: "%{count}міс"
x_seconds: "%{count}сек"
deletes:
- bad_password_msg: Гарна спроба, гакери! Неправильний пароль
- confirm_password: Введіть актуальний пароль щоб перевірити що ви це ви
- description_html: Це безвідворотно і назавжди видалить контент з вашого аккаунту та деактивує його. Ваше ім'я користувача буде залишатися зарезервованим для уникнення вашої деперсоналізації.
- proceed: Видалити аккаунт
- success_msg: Ваш аккаунт було успішно видалено
- warning_html: Ми можемо гарантувати видалення контенти лише з цього сайту. Контент, що був поширений залишає сліди. Сервери, що є офлайн та ті, що відписалися від наших оновлень не запишуть змін до своїх баз даних.
- warning_title: Про доступність поширеного контенту
+ confirm_password: Введіть актуальний пароль, щоб перевірити що ви це ви
+ proceed: Видалити обліковий запис
+ success_msg: Ваш обліковий запис було успішно видалено
+ warning:
+ before: 'До того як продовжити, будь ласка уважно прочитайте це:'
+ caches: Інформація, кешована іншими серверами, може залишитися
+ data_removal: Ваші пости та інші дані будуть видалені назавжди
+ email_change_html: Ви можете змінити вашу електронну адресу, не видаляючи ваш обліковий запис
+ email_contact_html: Якщо його все ще немає, ви можете написали до %{email} для допомоги
+ email_reconfirmation_html: Якщо ви не отримали електронного листа з підтвердженням, ви можете запросити його знову
+ irreversible: Буде неможливо відновити ваш обліковий запис
+ more_details_html: Подробиці за посиланням політика конфіденційності.
+ username_available: Ваше ім'я користувача стане доступним для використання
+ username_unavailable: Ваше ім'я користувача залишиться недоступним для використання
+ directories:
+ directory: Каталог профілів
+ explanation: Шукайте користувачів за їх інтересами
+ explore_mastodon: Досліджуйте %{title}
+ domain_validator:
+ invalid_domain: не є допустимим ім'ям домену
errors:
+ '400': Ваш запит був недійсним або неправильним.
'403': У Вас немає доступу до перегляду даної сторінки.
- '404': Сторінка, яку Ви шукали, не існує.
- '410': Сторінка, яку Ви шукали, більше не існує.
+ '404': Сторінки, яку Ви шукали, не існує.
+ '406': Ця сторінка недоступна у запрошеному форматі.
+ '410': Сторінки, яку Ви шукали, більше не існує.
'422':
content: Перевірка безпеки не вдалася. Можливо, Ви блокуєте cookies?
title: Перевірка безпеки не вдалася
@@ -431,7 +663,11 @@ uk:
'500':
content: Пробачте, та щось пішло не так з нашого боку.
title: Ця сторінка неправильна
+ '503': Ця сторінка не може бути оброблена через тимчасову відмову сервера.
noscript_html: Для використання веб-застосунку Mastodon, будь-ласка увімкніть JavaScript. Якщо у вас немає такої можливості, скористайтесь одним із нативних застосунків для Mastodon для вашої платформи.
+ existing_username_validator:
+ not_found: не вдалося знайти локального користувача з таким ім'ям
+ not_found_multiple: не вдалося знайти %{usernames}
exports:
archive_takeout:
date: Дата
@@ -441,14 +677,22 @@ uk:
request: Зробити запит на архів
size: Розмір
blocks: Список блокувань
+ csv: CSV
+ domain_blocks: Блокування доменів
follows: Підписки
+ lists: Списки
mutes: Список глушення
storage: Ваш медіаконтент
+ featured_tags:
+ add_new: Додати новий
+ errors:
+ limit: Ви досягли максимальної кількості хештеґів
+ hint_html: "Що таке виділені хештеґи? Це ті, що відображаються ни видному місці у вашому публічному профілі. Вони дають змогу людям фільтрувати ваші публічні пости за цими хештеґами. Це дуже корисно для відстеження мистецьких творів та довготривалих проектів."
filters:
contexts:
- home: Ваш фід
+ home: Ваша стрічка
notifications: Сповіщення
- public: Публічний фід
+ public: Глобальні стрічки
thread: Повідомлення
edit:
title: Редагувати фільтр
@@ -460,14 +704,48 @@ uk:
title: Фільтри
new:
title: Додати фільтр
+ footer:
+ developers: Розробникам
+ more: Більше…
+ resources: Ресурси
+ trending_now: Актуальні
generic:
+ all: Усі
changes_saved_msg: Зміни успішно збережені!
+ copy: Копіювати
+ order_by: Сортувати за
save_changes: Зберегти зміни
+ validation_errors:
+ few: Щось досі не гаразд! Перегляньте %{count} повідомлень про помилки
+ many: Щось досі не гаразд! Перегляньте %{count} повідомлень про помилки
+ one: Щось досі не гаразд! Перегляньте повідомлення про помилку
+ other: Щось досі не гаразд! Перегляньте %{count} повідомлень про помилки
+ html_validator:
+ invalid_markup: 'містить неприпустиму HTML розмітку: %{error}'
+ identity_proofs:
+ active: Активне
+ authorize: Так, авторизувати
+ authorize_connection_prompt: Авторизувати це зашифроване з'єднання?
+ errors:
+ failed: Не вдалося встановити це зашифроване з'єднання. Спробуйте ще раз за допомогою %{provider}.
+ i_am_html: Я %{username} з %{service}.
+ identity: Ідентичність
+ inactive: Неактивний
+ publicize_checkbox: 'Та дмухнути це:'
+ publicize_toot: 'Це доведено! Я таки %{username} з %{service}: %{url}'
+ status: Стан перевірки
+ view_proof: Переглянути доказ
imports:
+ modes:
+ merge: Злиття
+ merge_long: Зберегти існуючі записи та додати нові
+ overwrite: Перезаписувати
+ overwrite_long: Замінити поточні записи новими
preface: Вы можете завантажити деякі дані, наприклад, списки людей, на яких Ви підписані чи яких блокуєте, в Ваш акаунт на цій інстанції з файлів, експортованих з іншої інстанції.
success: Ваші дані були успішно загружені та будуть оброблені в найближчий момент
types:
blocking: Список блокувань
+ domain_blocking: Список заблокованих сайтів
following: Підписки
muting: Список глушення
upload: Завантажити
@@ -485,6 +763,11 @@ uk:
expires_in_prompt: Ніколи
generate: Згенерувати
invited_by: 'Вас запросив(-ла):'
+ max_uses:
+ few: "%{count} використання"
+ many: "%{count} використань"
+ one: 1 використання
+ other: "%{count} використань"
max_uses_prompt: Без обмеження
prompt: Генеруйте та діліться посиланням з іншими для надання доступу до сайту
table:
@@ -493,16 +776,13 @@ uk:
title: Запросити людей
lists:
errors:
- limit: Ви досягнули максимальної кількості списків
+ limit: Ви досягли максимальної кількості списків
media_attachments:
validations:
images_and_video: Не можна додати відео до статусу з зображеннями
too_many: Не можна додати більше 4 файлів
migrations:
- acct: username@domain нового аккаунту
- currently_redirecting: 'Ваш профіль налаштований перенаправляти на:'
- proceed: Зберегти
- updated_msg: Переїзд вашого аккаунту успішно оновлений!
+ acct: username@domain нового облікового запису
moderation:
title: Модерація
notification_mailer:
@@ -526,12 +806,12 @@ uk:
subject: Користувачу %{name} сподобався ваш статус
title: Нове вподобання
follow:
- body: "%{name} тепер підписаний на вас!"
+ body: "%{name} тепер підписаний(-а) на вас!"
subject: "%{name} тепер підписаний(-а) на вас"
- title: Новий підписник
+ title: Новий підписник(-ця)
follow_request:
action: Керувати запитами на підписку
- body: "%{name} запитав Вас про підписку"
+ body: "%{name} запитав(-ла) Вас про підписку"
subject: "%{name} хоче підписатися на Вас"
title: Новий запит на підписку
mention:
@@ -541,11 +821,12 @@ uk:
title: Нова згадка
reblog:
body: 'Ваш статус було передмухнуто %{name}:'
- subject: "%{name} передмухнув ваш статус"
+ subject: "%{name} передмухнув(-ла) ваш статус"
title: Нове передмухування
number:
human:
decimal_units:
+ format: "%n%u"
units:
billion: млрд
million: млн
@@ -555,45 +836,140 @@ uk:
pagination:
newer: Новіше
next: Далі
+ older: Старіші
prev: Назад
+ truncate: "…"
+ polls:
+ errors:
+ already_voted: Ви вже голосували в цьому опитуванні
+ duplicate_options: містить повторювані варіанти
+ duration_too_long: надто далеко у майбутньому
+ duration_too_short: надто мала тривалість
+ expired: Це опитування вже завершено
+ over_character_limit: не може бути довше ніж %{max} символів кожен
+ too_few_options: має містити більше ніж один варіант
+ too_many_options: не може мати більше ніж %{max} варіантів
preferences:
other: Інше
+ posting_defaults: Промовчання для постів
+ public_timelines: Глобальні стрічки
+ relationships:
+ activity: Діяльність облікового запису
+ dormant: Неактивні
+ last_active: Крайня активність
+ most_recent: За часом створення
+ moved: Переміщено
+ mutual: Взаємні уподобання
+ primary: Первинні
+ relationship: Зв’язок
+ remove_selected_domains: Видалити усіх підписників з обраних доменів
+ remove_selected_followers: Видалити обраних підписників
+ remove_selected_follows: Не стежити за обраними користувачами
+ status: Статус облікового запису
remote_follow:
acct: Введіть username@domain, яким ви хочете підписатися
- missing_resource: Пошук потрібного перенаправлення URL для Вашого аккаунта закінчився невдачею
- no_account_html: Не маєте аккаунту? Не біда, ви можете зареєструватися
+ missing_resource: Не вдалося знайти необхідний URL переадресації для вашого облікового запису
+ no_account_html: Не маєте облікового запису? Ви можете зареєструватися тут
proceed: Перейти до підписки
prompt: 'Ви хочете підписатися на:'
+ reason_html: "Чому це необхідно?%{instance} можливо, не є сервером, на якому ви зареєстровані, тому ми маємо спрямувати вас до вашого домашнього сервера."
+ remote_interaction:
+ favourite:
+ proceed: Перейти до додавання в улюблені
+ prompt: 'Ви хочете зробити улюбленим цей дмух:'
+ reblog:
+ proceed: Перейти до передмухування
+ prompt: 'Ви хочете передмухнути цей дмух:'
+ reply:
+ proceed: Перейти до відповіді
+ prompt: 'Ви хочете відповісти на цей дмух:'
+ scheduled_statuses:
+ over_daily_limit: Ви перевищили ліміт в %{limit} запланованих дмухів на сьогодні
+ over_total_limit: Ви перевищили ліміт в %{limit} запланованих дмухів
+ too_soon: Запланована дата має бути в майбутньому
sessions:
activity: Остання активність
browser: Браузер
browsers:
+ alipay: Alipay
+ blackberry: Blackberry
+ chrome: Хром
+ edge: Microsoft Edge
+ electron: Electron
+ firefox: Firefox
generic: Невідомий браузер
+ ie: Internet Explorer
+ micro_messenger: MicroMessenger
+ nokia: Nokia S40 Ovi Browser
+ opera: Опера
+ otter: Otter
+ phantom_js: PhantomJS
+ qq: QQ Browser
+ safari: Сафарі
+ uc_browser: UCBrowser
+ weibo: Weibo
current_session: Активна сесія
description: "%{browser} на %{platform}"
- explanation: Це веб-браузери, нині авторизовані до вашого аккаунту Mastodon.
+ explanation: Це веб-браузери, авторизовані у вашому обліковому записі Mastodon.
+ ip: IP
platforms:
+ adobe_air: Adobe Air
+ android: Android
+ blackberry: Blackberry
+ chrome_os: ChromeOS
+ firefox_os: Firefox OS
+ ios: iOS
+ linux: Linux
+ mac: Mac
other: невідома платформа
+ windows: Windows
+ windows_mobile: Windows Mobile
+ windows_phone: Windows Phone
revoke: Закінчити
revoke_success: Сесія успішно закінчена
title: Сесії
settings:
+ account: Обліковий запис
+ account_settings: Налаштування облікового запису
+ appearance: Вигляд
authorized_apps: Авторизовані застосунки
- back: Назад у Mastodon
- delete: Видалення аккаунту
+ back: Назад до Mastodon
+ delete: Видалення облікового запису
development: Розробка
edit_profile: Редагувати профіль
export: Експорт даних
+ featured_tags: Рекомендовані хештеґи
+ identity_proofs: Докази ідентичності
import: Імпорт
- migrate: Міграція акаунту
+ import_and_export: Імпорт та експорт
+ migrate: Міграція облікового запису
notifications: Сповіщення
preferences: Налаштування
+ profile: Профіль
+ relationships: Підписки та підписники
two_factor_authentication: Двофакторна авторизація
+ spam_check:
+ spam_detected_and_silenced: Це автоматично згенерована скарга. Було виявлено розсилку спаму, відправник був автоматично заглушений. Якщо це помилка, зніміть заглушування з облікового запису.
statuses:
attached:
description: 'Прикріплено: %{attached}'
+ image:
+ few: "%{count} зображень"
+ many: "%{count} зображень"
+ one: "%{count} зображення"
+ other: "%{count} зображення"
+ video:
+ few: "%{count} відео"
+ many: "%{count} відео"
+ one: "%{count} відео"
+ other: "%{count} відео"
boosted_from_html: Просунуто від %{acct_link}
content_warning: 'Попередження про контент: %{warning}'
+ disallowed_hashtags:
+ few: 'заборонених хештеґа: %{tags}'
+ many: 'заборонених хештеґів: %{tags}'
+ one: 'заборонений хештеґ: %{tags}'
+ other: 'заборонених хештеґів: %{tags}'
language_detection: Автоматично визначати мову
open_in_web: Відкрити у вебі
over_character_limit: перевищено ліміт символів (%{max})
@@ -602,7 +978,16 @@ uk:
ownership: Не можна закріпити чужий пост
private: Не можна закріпити непублічний пост
reblog: Не можна закріпити просунутий пост
+ poll:
+ total_votes:
+ few: "%{count} голоса"
+ many: "%{count} голосів"
+ one: "%{count} голос"
+ other: "%{count} голоси"
+ vote: Проголосувати
show_more: Детальніше
+ sign_in_to_participate: Увійдіть, щоб брати участь у бесіді
+ title: '%{name}: "%{quote}"'
visibilities:
private: Для підписників
private_long: Показувати тільки підписникам
@@ -613,13 +998,20 @@ uk:
stream_entries:
pinned: Закріплений пост
reblogged: передмухнув(-ла)
- sensitive_content: Несприйнятливий контент
+ sensitive_content: Дражливий контент
+ tags:
+ does_not_match_previous_name: не збігається з попереднім ім'ям
terms:
+ body_html: "
Політика конфіденційності
\n
Яку інформацію ми збираємо?
\n\n
\n
Основна інформація про обліковий запис: Якщо ви реєструєтесь на цьому сервері, вас можуть попросити ввести ім’я користувача, електронну адресу та пароль. Ви також можете ввести додаткову інформацію профілю, наприклад, ім'я для відображення та біографію, завантажити зображення профілю та зображення заголовка. Ім'я користувача, відображуване ім’я, біографія, зображення профілю та зображення заголовка завжди є загальнодоступними.
\n
Повідомлення, підписки та інша публічна інформація: Список людей, на яких ви підписані, є публічним, це ж стосується і списка ваших підписників. Коли ви надсилаєте повідомлення, дата та час зберігаються, а також програма, за допомогою якої ви надіслали повідомлення. Повідомлення можуть містити мультимедійні вкладення, такі як зображення та відео. Загальнодоступні публікації, навіть приховані зі стрічок, доступні для всіх. Коли ви розміщуєте публікацію у своєму профілі, це також загальнодоступна інформація. Ваші публікації доставляються вашим підписникам, у деяких випадках це означає, що вони доставляються на інші сервери і копії зберігаються там. Коли ви видаляєте публікації, ця інформація також доставляється вашим \nпідписникам. Перепости та вподобання завжди публічні.
\n
Прямі публікації та пости лише для підписників: Усі повідомлення зберігаються та обробляються на сервері. Публікації лише для підписників доставляються вашим підписникам та користувачам, які згадуються в них, а прямі повідомлення надсилаються лише тим користувачам, які в них згадуються. У \nдеяких випадках це означає, що вони доставляються на інші сервери і копії зберігаються там. Ми докладаємо сумлінних зусиль, щоб обмежити доступ до цих постів лише уповноваженим особам, але інші сервери можуть цього не зробити. Тому важливо переглянути сервери, до яких належать ваші підписники. Ви можете переключити параметр для схвалення та відхилення нових підписників вручну в налаштуваннях. Будь ласка, майте на увазі, що оператори нашого сервера та будь-якого приймаючого сервера, можуть переглядати такі повідомлення, і що одержувачі можуть робити скріншот, копіювати або повторно ділитися ними. Не діліться будь-якою небезпечною інформацією на Mastodon.
\n
IP-адреси та інші метадані: Коли ви входите в систему, ми записуємо IP-адресу, з якої ви входите, а також назву веб-переглядача. Усі сеанси, якими ви ввійшли в систему, доступні вам для перегляду та скасування в налаштуваннях. Остання використана IP-адреса зберігається до 12 місяців. Ми також можемо зберігати журнали серверів, які включають IP-адресу кожного запиту на наш сервер.
\n
\n\n\n\n
Для чого ми використовуємо вашу інформацію?
\n\n
Будь-яка інформація, яку ми збираємо від вас, може використовуватися такими способами:
\n\n
\n
Для забезпечення основної функціональності Mastodon. Ви можете взаємодіяти з вмістом інших людей та розміщувати власний вміст лише тоді, коли ви ввійшли в систему. Наприклад, ви можете підписатись на інших людей, щоб переглядати їх публікації об’єднаними на вашій власній персоналізованій локальній стрічці.
\n
Щоб сприяти модерації спільноти, наприклад, порівнюючи вашу IP-адресу з іншими відомими адресами для визначення ухилення від бану чи інших порушень.
\n
Електронна адреса, яку ви вводите, може використовуватися для надсилання вам інформації, сповіщень про інших людей, які взаємодіють з вашим вмістом або надсилають вам повідомлення, а також для відповіді на запити та/або інші запитання./li>\n
\n\n\n\n
Як ми захищаємо вашу інформацію?
\n\n
Ми застосовуємо різноманітні заходи безпеки для підтримки безпеки вашої особистої інформації під час введення, подання чи доступу до вашої особистої інформації. Крім усього іншого, сеанс вашого веб-переглядача, а також трафік між вашими програмами та API захищені SSL, а ваш пароль хеширується за допомогою сильного одностороннього алгоритму. Ви можете дозволити двофакторну автентифікацію для подальшого захисту доступу до свого облікового запису.
\n\n\n\n
Яка наша політика збереження даних?
\n\n
Ми докладемо зусиль для того, щоб:
\n\n
\n
Зберігати журнали сервера, що містять IP-адресу всіх запитів на цьому сервері, але більше 90 днів.
\n
Зберігати IP-адреси, пов’язані з зареєстрованими користувачами, не більше 12 місяців.
\n
\n\n
Ви можете запитати та завантажити архів свого вмісту, включаючи ваші публікації, медіа-додатки, зображення профілю та зображення заголовка.
\n\n
Ви можете в будь-який час безповоротно видалити свій обліковий запис.
\n\n\n\n
Чи використовуємо ми файли cookie?
\n\n
Так. Файли cookie — це невеликі файли, які сайт або його постачальник послуг передає на жорсткий диск вашого комп'ютера через веб-браузер (якщо ви це дозволите). Ці файли cookie дозволяють сайту розпізнавати ваш веб-переглядач і, якщо у вас зареєстрований обліковий запис, пов’язувати його зі своїм зареєстрованим обліковим записом.
\n\n
Ми використовуємо файли cookie, щоб зрозуміти і зберегти ваші налаштування для майбутніх відвідувань.
\n\n\n\n
Чи розкриваємо ми будь-яку інформацію іншим сторонам?
\n\n
Ми не продаємо, не торгуємо та іншим чином не передаємо назовні вашої особистої інформації. Це не стосується довірених третіх осіб, які допомагають нам керувати нашим сайтом, вести наш бізнес або обслуговувати вас, якщо ці сторони погоджуються зберігати цю інформацію конфіденційною. Ми також можемо оприлюднити вашу інформацію, коли вважаємо, що випуск доцільний для дотримання законодавства, \nзастосування політики нашого веб-сайта чи захисту наших або інших прав, власності чи безпеки.
\n\n
Ваш загальнодоступний вміст може завантажуватися іншими серверами в мережі. Ваші загальнодоступні публікації та публікації лише для підписників, доставляються на сервери, де \"проживають\" ваші підписники, а прямі повідомлення надходять на сервери одержувачів, якщо ці підписники або одержувачі проживають на іншому сервері, ніж цей./p>\n\n
Коли ви дозволяєте додатку використовувати ваш обліковий запис, залежно від обсягу дозволів, які ви затверджуєте, він може отримати доступ до вашої інформації про загальнодоступний профіль, список ваших підписок, ваші підписники, ваші списки, всі ваші публікації та вибране. Програми ніколи не можуть отримати доступ до вашої електронної адреси чи пароля.
\n\n\n\n
Використання сайту дітьми
\n\n
Якщо цей сервер знаходиться в ЄС або ЄЕП: наш сайт, продукти та послуги спрямовані на людей, яким не менше 16 років. Якщо вам не виповнилося 16 років, відповідно до вимог GDPR (Загальне положення про захист даних) не використовуйте цей веб-сайт.
\n\n
Якщо цей сервер знаходиться в США: наш сайт, продукти та послуги спрямовані на людей, яким не менше 13 років. Якщо вам не виповнилося 13 років, відповідно до вимог COPPA (Закон про захист конфіденційності дітей в Інтернеті) не використовуйте цей сайт.
\n\n
Законодавчі вимоги можуть бути різними, якщо цей сервер знаходиться в іншій юрисдикції.
\n\n\n\n
Зміни в нашій Політиці конфіденційності
\n\n
Якщо ми вирішимо змінити нашу політику конфіденційності, ми опублікуємо ці зміни на цій сторінці.
\n\n
Цей документ є CC-BY-SA. Востаннє оновлено 7 березня 2018 року.
\n"
title: Умови використання та Політика приватності %{instance}
themes:
contrast: Висока контрасність
default: Mastodon
mastodon-light: Mastodon (світла)
+ time:
+ formats:
+ default: "%b %d, %Y, %H:%M"
+ month: "%b %Y"
two_factor_authentication:
code_hint: Для підтверждення введіть код, згенерований застосунком аутентифікатора
description_html: При увімкненні двофакторної аутентифікації, вхід буде вимагати від Вас використовування Вашого телефона, який згенерує вхідний код.
@@ -629,36 +1021,58 @@ uk:
enabled_success: Двофакторна аутентифікація успішно увімкнена
generate_recovery_codes: Згенерувати коди відновлення
instructions_html: "Відскануйте цей QR-код за допомогою Google Authenticator чи іншого TOTP-застосунку на Вашому телефоні. З цього моменту він буде генерувати коди, які буде необхідно ввести для входу."
- lost_recovery_codes: Коди відновлення дозволяють повернути доступ до акаунту у випадку втрати телефону. Якщо Ви втратили Ваші коди відновлення, Ви можете знову згенерувати їх тут. Тоді ваші старі коди відновлення будуть анульовані.
+ lost_recovery_codes: Коди відновлення дозволяють повернути доступ до вашого облікового запису у випадку втрати телефону. Якщо ви втратили ваші коди відновлення, ви можете знову згенерувати їх тут. Ваші старі коди відновлення будуть анульовані.
manual_instructions: 'Якщо Ви не можете відсканувати QR-код та хочете ввести його вручну, секрет представлений тут відкритим текстом:'
recovery_codes: Запасні коди відновлення
recovery_codes_regenerated: Коди відновлення успішно згенеровані
- recovery_instructions_html: У випадку втрати доступу до вашого телефону ви можете використати один з кодів відновлення, вказаних нижче, щоб повернути доступ до акаунту. Тримайте коди відновлення у безпеці, наприклад, роздруйте їх та зберігайте їх з іншими важливими документами.
+ recovery_instructions_html: У випадку втрати доступу до вашого телефону ви можете використати один з нижчевказаних кодів відновлення, щоб повернути доступ до вашого облікового запису. Тримайте коди відновлення у безпеці, наприклад, роздрукуйте їх та зберігайте разом з іншими важливими документами.
setup: Налаштувати
wrong_code: Введений код неправильний! Чи правильно встановлений час на сервері та пристрої?
user_mailer:
backup_ready:
- explanation: Ви зробили запит на повний архів вашого аккаунту Mastodon. Він вже готовий для завантаження!
+ explanation: Ви робили запит повної резервної копії вашого облікового запису Mastodon. Вона вже готова для завантаження!
subject: Ваш архів готовий до завантаження
title: Винесення архіву
+ warning:
+ explanation:
+ disable: Поки ваш обліковий запис заморожений, його дані залишаються незмінними. Проте ви не зможете виконувати будь-які дії над обліковим записом, доки його не буде розблоковано.
+ silence: Поки ваш обліковий запис обмежено, ваші дмухи на цьому сервері бачитимуть лише ті люди, які вже слідкують за вами, а вас може бути виключено з різних публічних списків. Тим не менш, інші можуть слідкувати за вами вручну.
+ suspend: Ваш обліковий запис було призупинено, а всі ваші дмухи і вивантажені медіафайли - безповоротно видалено з цього сервера та серверів, де ви мали послідовників.
+ get_in_touch: Ви можете відповісти на цей електронний лист, щоб зконтактувати з працівниками %{instance}.
+ review_server_policies: Переглянути політики сервера
+ subject:
+ disable: Ваш обліковий запис %{acct} було заморожено
+ none: Попередження для %{acct}
+ silence: Ваш обліковий запис %{acct} було обмежено
+ suspend: Ваш обліковий запис %{acct} було призупинено
+ title:
+ disable: Обліковий запис заморожено
+ none: Попередження
+ silence: Ообліковий запис обмежено
+ suspend: Обліковий запис призупинено
welcome:
edit_profile_action: Налаштувати профіль
- edit_profile_step: Ви можете налаштувати профіль під себе завантаживши аватар, шпалери, змінивши відображуване ім'я тощо. Якщо ви захочете переглядати нових підписників до того, як вони зможуть підписатися на вас, ви можете заблокувати свій аккаунт.
+ edit_profile_step: Ви можете налаштувати ваш профіль, завантаживши аватар, шпалери, змінивши відображуване ім'я тощо. Якщо ви захочете переглядати нових підписників до того, як вони зможуть підписатися на вас, ви можете заблокувати свій обліковий запис.
explanation: Ось декілька порад для початку
final_action: Почати постити
- final_step: 'Почність постити! Навіть не підписавшись на вас, інші зможуть побачити ваші пости, наприкоал, у локальному фіді та у хештеґах. Якщо ви хочете представитися, можете скористатися хештеґом #introductions.'
+ final_step: 'Почність постити! Навіть не підписавшись на вас, інші зможуть побачити ваші пости, наприклад, у локальній стрічці та у хештеґах. Якщо ви хочете представитися, можете скористатися хештеґом #introductions.'
full_handle: Ваше звернення
full_handle_hint: Те, що ви хочете сказати друзям, щоб вони могли написати вам або підписатися з інших сайтів.
review_preferences_action: Змінити налаштування
review_preferences_step: Переконайтеся у тому, що ви налаштували все необхідне, як от які e-mail повідомлення ви хочете отримувати, або який рівень приватності ви хочете встановити вашим постам за замовчуванням. Якщо хочете, ви можете увімкнути автоматичне програвання GIF анімацій.
subject: Ласкаво просимо до Mastodon
tip_federated_timeline: Федерований фід є широким поглядом на мережу Mastodon. Але він включає лише людей, на яких підписані ваші сусіди по сайту, тому він не є повним.
- tip_following: Ви автоматично підписані на адміністратора(-ів) сервера. Для того, щоб знайти ще цікавих людей, дослідіть локальний та федерований фіди.
+ tip_following: Ви автоматично підписані на адміністратора(-ів) сервера. Для того, щоб знайти ще цікавих людей, дослідіть локальну та глобальну стрічки.
tip_local_timeline: Локальний фід - це погляд згори на людей на %{instance}. Це ваші прямі сусіди!
tip_mobile_webapp: Якщо ваш мобільний браузер пропонує вам додати Mastodon на робочий стіл, ви можете отримувати push-сповіщення. Все може виглядати як нативний застосунок у багатьох речах.
tips: Поради
title: Ласкаво просимо, %{name}!
users:
+ follow_limit_reached: Не можна слідкувати більш ніж за %{limit} людей
invalid_email: Введена адреса e-mail неправильна
invalid_otp_token: Введено неправильний код
otp_lost_help_html: Якщо ви втратили доступ до обох, ви можете отримати доступ з %{email}
+ seamless_external_login: Ви увійшли за допомогою зовнішнього сервісу, тому налаштування паролю та електронної пошти недоступні.
+ signed_in_as: 'Ви увійшли як:'
+ verification:
+ verification: Підтвердження
diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml
index 42ab59d50..89506e223 100644
--- a/config/locales/zh-CN.yml
+++ b/config/locales/zh-CN.yml
@@ -17,9 +17,6 @@ zh-CN:
contact_unavailable: 未公开
discover_users: 发现用户
documentation: 文档
- extended_description_html: |
-