Merge remote-tracking branch 'origin/develop' into improve_settings_reusability

This commit is contained in:
Henry Jameson 2023-05-23 22:24:04 +03:00
commit b72af7d6ae
14 changed files with 906 additions and 293 deletions

View file

@ -1,5 +1,17 @@
import UserAvatar from '../user_avatar/user_avatar.vue'
import UserListPopover from '../user_list_popover/user_list_popover.vue'
import { library } from '@fortawesome/fontawesome-svg-core'
import {
faPlus,
faMinus,
faCheck
} from '@fortawesome/free-solid-svg-icons'
library.add(
faPlus,
faMinus,
faCheck
)
const EMOJI_REACTION_COUNT_CUTOFF = 12
@ -33,6 +45,9 @@ const EmojiReactions = {
},
loggedIn () {
return !!this.$store.state.users.currentUser
},
remoteInteractionLink () {
return this.$store.getters.remoteInteractionLink({ statusId: this.status.id })
}
},
methods: {
@ -62,6 +77,17 @@ const EmojiReactions = {
} else {
this.reactWith(emoji)
}
},
counterTriggerAttrs (reaction) {
return {
class: [
'btn',
'button-default',
'emoji-reaction-count-button',
{ '-picked-reaction': this.reactedWith(reaction.name) }
],
'aria-label': this.$tc('status.reaction_count_label', reaction.count, { num: reaction.count })
}
}
}
}

View file

@ -1,15 +1,19 @@
<template>
<div class="EmojiReactions">
<UserListPopover
<span
v-for="(reaction) in emojiReactions"
:key="reaction.url || reaction.name"
:users="accountsForEmoji[reaction.name]"
class="emoji-reaction-container btn-group"
>
<button
<component
:is="loggedIn ? 'button' : 'a'"
v-bind="!loggedIn ? { href: remoteInteractionLink } : {}"
role="button"
class="emoji-reaction btn button-default"
:class="{ '-picked-reaction': reactedWith(reaction.name), 'not-clickable': !loggedIn }"
:class="{ '-picked-reaction': reactedWith(reaction.name) }"
:title="reaction.url ? reaction.name : undefined"
:aria-pressed="reactedWith(reaction.name)"
@click="emojiOnClick(reaction.name, $event)"
@mouseenter="fetchEmojiReactionsByIfMissing()"
>
<span
class="reaction-emoji"
@ -17,7 +21,6 @@
<img
v-if="reaction.url"
:src="reaction.url"
:title="reaction.name"
class="reaction-emoji-content"
width="1em"
>
@ -26,9 +29,36 @@
class="reaction-emoji reaction-emoji-content"
>{{ reaction.name }}</span>
</span>
<span>{{ reaction.count }}</span>
</button>
</UserListPopover>
<FALayers>
<FAIcon
v-if="reactedWith(reaction.name)"
class="active-marker"
transform="shrink-6 up-9"
icon="check"
/>
<FAIcon
v-if="!reactedWith(reaction.name)"
class="focus-marker"
transform="shrink-6 up-9"
icon="plus"
/>
<FAIcon
v-else
class="focus-marker"
transform="shrink-6 up-9"
icon="minus"
/>
</FALayers>
</component>
<UserListPopover
:users="accountsForEmoji[reaction.name]"
class="emoji-reaction-popover"
:trigger-attrs="counterTriggerAttrs(reaction)"
@show="fetchEmojiReactionsByIfMissing()"
>
<span class="emoji-reaction-counts">{{ reaction.count }}</span>
</UserListPopover>
</span>
<a
v-if="tooManyReactions"
class="emoji-reaction-expand faint"
@ -43,6 +73,7 @@
<script src="./emoji_reactions.js"></script>
<style lang="scss">
@import "../../variables";
@import "../../mixins";
.EmojiReactions {
display: flex;
@ -51,14 +82,44 @@
--emoji-size: calc(1.25em * var(--emojiReactionsScale, 1));
.emoji-reaction {
padding: 0 0.5em;
margin-right: 0.5em;
.emoji-reaction-container {
display: flex;
align-items: stretch;
margin-top: 0.5em;
margin-right: 0.5em;
.emoji-reaction-popover {
padding: 0;
.emoji-reaction-count-button {
background-color: var(--btn);
height: 100%;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
box-sizing: border-box;
min-width: 2em;
display: inline-flex;
justify-content: center;
align-items: center;
color: $fallback--text;
color: var(--btnText, $fallback--text);
&.-picked-reaction {
border: 1px solid var(--accent, $fallback--link);
margin-right: -1px;
}
}
}
}
.emoji-reaction {
padding-left: 0.5em;
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
.reaction-emoji {
width: var(--emoji-size);
@ -85,19 +146,45 @@
outline: none;
}
&.not-clickable {
cursor: default;
&:hover {
box-shadow: $fallback--buttonShadow;
box-shadow: var(--buttonShadow);
}
.svg-inline--fa {
color: $fallback--text;
color: var(--btnText, $fallback--text);
}
&.-picked-reaction {
border: 1px solid var(--accent, $fallback--link);
margin-left: -1px; // offset the border, can't use inset shadows either
margin-right: calc(0.5em - 1px);
margin-right: -1px;
.svg-inline--fa {
color: $fallback--link;
color: var(--accent, $fallback--link);
}
}
@include unfocused-style {
.focus-marker {
visibility: hidden;
}
.active-marker {
visibility: visible;
}
}
@include focused-style {
.svg-inline--fa {
color: $fallback--link;
color: var(--accent, $fallback--link);
}
.focus-marker {
visibility: visible;
}
.active-marker {
visibility: hidden;
}
}
}

View file

@ -125,7 +125,8 @@
v-if="notification.emoji_url"
class="emoji-reaction-emoji emoji-reaction-emoji-image"
:src="notification.emoji_url"
:name="notification.emoji"
:alt="notification.emoji"
:title="notification.emoji"
>
<span
v-else

View file

@ -46,7 +46,7 @@ const ReactButton = {
},
computed: {
hideCustomEmoji () {
return !this.$store.state.instance.pleromaChatMessagesAvailable
return !this.$store.state.instance.pleromaCustomEmojiReactionsAvailable
}
}
}

View file

@ -9,7 +9,8 @@
"scope_options": "",
"text_limit": "الحد الأقصى للنص",
"title": "الميّزات",
"who_to_follow": "للمتابعة"
"who_to_follow": "للمتابعة",
"upload_limit": "حد الرفع"
},
"finder": {
"error_fetching_user": "خطأ أثناء جلب صفحة المستخدم",
@ -17,7 +18,35 @@
},
"general": {
"apply": "تطبيق",
"submit": "إرسال"
"submit": "إرسال",
"error_retry": "حاول مجددًا",
"retry": "حاول مجدداً",
"optional": "اختياري",
"show_more": "اعرض المزيد",
"show_less": "اعرض أقل",
"cancel": "ألغ",
"disable": "عطّل",
"enable": "فعّل",
"confirm": "تأكيد",
"close": "أغلق",
"role": {
"admin": "مدير",
"moderator": "مشرف"
},
"generic_error_message": "حدث خطأ: {0}",
"never_show_again": "لا تظهره مجددًا",
"yes": "نعم",
"no": "لا",
"unpin": "ألغ تثبيت العنصر",
"undo": "تراجع",
"more": "المزيد",
"loading": "يحمل…",
"generic_error": "حدث خطأ",
"scope_in_timeline": {
"private": "المتابِعون فقط"
},
"scroll_to_top": "مرر لأعلى",
"pin": "ثبت العنصر"
},
"login": {
"login": "تسجيل الدخول",
@ -25,7 +54,19 @@
"password": "الكلمة السرية",
"placeholder": "مثال lain",
"register": "انشاء حساب",
"username": "إسم المستخدم"
"username": "إسم المستخدم",
"logout_confirm_title": "تأكيد الخروج",
"logout_confirm": "أتريد الخروج؟",
"logout_confirm_accept_button": "خروج",
"logout_confirm_cancel_button": "لا تخرج",
"hint": "لِج للانضمام للمناقشة",
"authentication_code": "رمز الاستيثاق",
"enter_recovery_code": "أدخل رمز التأكيد",
"enter_two_factor_code": "أدخل رمز الاستيثاق بعاملين",
"recovery_code": "رمز الاستعادة",
"heading": {
"totp": "الاستيثاق بعاملين"
}
},
"nav": {
"chat": "الدردشة المحلية",
@ -33,23 +74,48 @@
"mentions": "الإشارات",
"public_tl": "الخيط الزمني العام",
"timeline": "الخيط الزمني",
"twkn": "كافة الشبكة المعروفة"
"twkn": "كافة الشبكة المعروفة",
"search_close": "أغلق شربط البحث",
"back": "للخلف",
"administration": "الإدارة",
"preferences": "التفضيلات",
"chats": "المحادثات",
"lists": "القوائم",
"edit_nav_mobile": "خصص شريط التنقل",
"edit_pinned": "حرر العناصر المثبتة",
"mobile_notifications_close": "أغلق الاشعارات",
"announcements": "إعلانات",
"home_timeline": "الخط الزمني الرئيس",
"search": "بحث",
"who_to_follow": "للمتابعة",
"dms": "رسالة شخصية",
"edit_finish": "تم التحرير",
"timelines": "الخيوط الزمنية",
"mobile_notifications": "افتح الإشعارات (تتواجد اشعارات غير مقروءة)"
},
"notifications": {
"broken_favorite": "منشور مجهول، جارٍ البحث عنه…",
"favorited_you": "أعجِب بمنشورك",
"followed_you": "يُتابعك",
"load_older": "تحميل الإشعارات الأقدم",
"notifications": "الإخطارات",
"notifications": "الاشعارات",
"read": "مقروء!",
"repeated_you": "شارَك منشورك"
"repeated_you": "شارَك منشورك",
"error": "خطأ أثناء جلب الاشعارات: {0}",
"follow_request": "يريد متابعتك",
"poll_ended": "انتهى الاستطلاع",
"no_more_notifications": "لا مزيد من الإشعارات",
"reacted_with": "تفاعل بـ{0}",
"submitted_report": "أرسل بلاغًا"
},
"post_status": {
"account_not_locked_warning": "",
"account_not_locked_warning_link": "مقفل",
"attachments_sensitive": "اعتبر المرفقات كلها كمحتوى حساس",
"content_type": {
"text/plain": "نص صافٍ"
"text/plain": "نص صِرف",
"text/html": "HTML",
"text/markdown": "ماركداون"
},
"content_warning": "الموضوع (اختياري)",
"default": "وصلت للتوّ إلى لوس أنجلس.",
@ -60,15 +126,47 @@
"private": "",
"public": "علني - يُنشر على الخيوط الزمنية العمومية",
"unlisted": "غير مُدرَج - لا يُنشَر على الخيوط الزمنية العمومية"
}
},
"media_description": "وصف الوسائط",
"direct_warning_to_all": "سيكون عذا المنشور مرئيًا لكل المستخدمين المذكورين.",
"post": "انشر",
"preview": "معاينة",
"preview_empty": "فارغ",
"scope_notice": {
"public": "سيكون هذا المنشور مرئيًا للجميع",
"private": "سيكون هذا المنشور مرئيا لمتابِعيك فقط"
},
"direct_warning_to_first_only": "سيكون عذا المنشور مرئيًا للمستخدمين المذكورين في أول الرسالة.",
"edit_unsupported_warning": "بليروما لا يدعم تعديل الذكر والاستطلاع.",
"empty_status_error": "يتعذر نشر منشور فارغ دون ملفات"
},
"registration": {
"bio": "السيرة الذاتية",
"email": "عنوان البريد الإلكتروني",
"fullname": "الإسم المعروض",
"fullname": "الاسم العلني",
"password_confirm": "تأكيد الكلمة السرية",
"registration": "التسجيل",
"token": "رمز الدعوة"
"token": "رمز الدعوة",
"bio_optional": "سيرة (اختيارية)",
"email_optional": "بيرد إلكتروني (اختياري)",
"username_placeholder": "مثل lain",
"reason": "سبب التسجيل",
"register": "سجل",
"validations": {
"username_required": "لايمكن تركه فارغًا",
"email_required": "لايمكن تركه فارغًا",
"password_required": "لايمكن تركه فارغًا",
"password_confirmation_required": "لايمكن تركه فارغًا",
"fullname_required": "لايمكن تركه فارغًا",
"password_confirmation_match": "يلزم أن يطابق كلمة السر",
"birthday_required": "لايمكن تركه فارغًا",
"birthday_min_age": "يلزم أن يكون في {date} أو قبله"
},
"fullname_placeholder": "مثل Lain Iwakura",
"reason_placeholder": "قبول التسجيل في هذا المثيل يستلزم موافقة المدير\nلهذا يجب عليك إعلامه بسبب التسجيل.",
"birthday_optional": "تاريخ الميلاد (اختياري):",
"email_language": "بأي لغة تريد استلام رسائل البريد الإلكتروني؟",
"birthday": "تاريخ الميلاد:"
},
"settings": {
"attachmentRadius": "المُرفَقات",
@ -83,9 +181,9 @@
"cGreen": "أخضر (إعادة النشر)",
"cOrange": "برتقالي (مفضلة)",
"cRed": "أحمر (إلغاء)",
"change_password": "تغيير كلمة السر",
"change_password_error": "وقع هناك خلل أثناء تعديل كلمتك السرية.",
"changed_password": "تم تغيير كلمة المرور بنجاح!",
"change_password": "غيّر كلمة السر",
"change_password_error": "حدث خلل أثناء تعديل كلمتك السرية.",
"changed_password": "نجح تغيير كلمة السر!",
"collapse_subject": "",
"confirm_new_password": "تأكيد كلمة السر الجديدة",
"current_avatar": "صورتك الرمزية الحالية",
@ -94,11 +192,11 @@
"data_import_export_tab": "تصدير واستيراد البيانات",
"default_vis": "أسلوب العرض الافتراضي",
"delete_account": "حذف الحساب",
"delete_account_description": "حذف حسابك و كافة منشوراتك نهائيًا.",
"delete_account_error": "",
"delete_account_description": "حذف حسابك و كافة بياناتك نهائيًا.",
"delete_account_error": "حدثة مشكلة اثناء حذف حسابك، إذا استمرت تواصل مع مدير المثيل.",
"delete_account_instructions": "يُرجى إدخال كلمتك السرية أدناه لتأكيد عملية حذف الحساب.",
"export_theme": "حفظ النموذج",
"filtering": "التصفية",
"filtering": "الترشيح",
"filtering_explanation": "سيتم إخفاء كافة المنشورات التي تحتوي على هذه الكلمات، كلمة واحدة في كل سطر",
"follow_export": "تصدير الاشتراكات",
"follow_export_button": "تصدير الاشتراكات كملف csv",
@ -108,10 +206,10 @@
"follows_imported": "",
"foreground": "الأمامية",
"general": "الإعدادات العامة",
"hide_attachments_in_convo": "إخفاء المرفقات على المحادثات",
"hide_attachments_in_tl": "إخفاء المرفقات على الخيط الزمني",
"hide_post_stats": "",
"hide_user_stats": "",
"hide_attachments_in_convo": "اخف المرفقات من المحادثات",
"hide_attachments_in_tl": "اخف المرفقات من الخيط الزمني",
"hide_post_stats": "اخف احصائيات المنشور (مثل عدد التفضيلات)",
"hide_user_stats": "اخف احصائيات المستخدم (مثل عدد المتابِعين)",
"import_followers_from_a_csv_file": "",
"import_theme": "تحميل نموذج",
"inputRadius": "",
@ -166,7 +264,92 @@
"values": {
"false": "لا",
"true": "نعم"
}
},
"emoji_reactions_scale": "معامل تحجيم التفاعلات",
"app_name": "اسم تطبيق",
"security": "الأمن",
"enter_current_password_to_confirm": "أدخل كلمة السر الحالية لتيقن من هويتك",
"mfa": {
"title": "الاستيثاق بعاملين",
"generate_new_recovery_codes": "ولّد رموز استعادة جديدة",
"warning_of_generate_new_codes": "عند توليد رموز استعادة جديدة ستزال القديمة.",
"recovery_codes": "رموز الاستعادة.",
"recovery_codes_warning": "خزن هذه الرموز في مكان آمن. إذا فقدت هذه الرموز وتعذر عليك الوصول إلى تطبيق الاستيثاق بعاملين، لن تتمكن من الوصول لحسابك.",
"authentication_methods": "طرق الاستيثاق",
"scan": {
"title": "مسح",
"desc": "امسح رمز الاستجابة السريعة QR من تطبيق الاستيثاق أو أدخل المفتاح:",
"secret_code": "مفتاح"
},
"verify": {
"desc": "لتفعيل الاستيثاق بعاملين أدخل الرمز من تطبيق الاستيثاق:"
}
},
"block_import": "استيراد المحجوبين",
"import_mutes_from_a_csv_file": "استورد قائمة المكتومين من ملف csv",
"account_backup": "نسخ احتياطي للحساب",
"download_backup": "نزّل",
"account_backup_table_head": "نسخ احتياطي",
"backup_not_ready": "هذا النسخ الاحتياطي ليس جاهزًا.",
"backup_failed": "فشل النسخ الاحتياطي.",
"remove_backup": "أزل",
"list_backups_error": "خطأ أثناء حلب قائمة النُسخ الاحتياطية: {error}",
"added_backup": "أُضيفت نسخة احتياطية جديدة.",
"blocks_tab": "المحجوبون",
"confirm_dialogs_block": "حجب مستخدم",
"confirm_dialogs_mute": "كتم مستخدم",
"confirm_dialogs_delete": "حذف حالة",
"confirm_dialogs_logout": "خروج",
"confirm_dialogs_approve_follow": "قبول متابِع",
"confirm_dialogs_deny_follow": "رفض متابِع",
"list_aliases_error": "خطأ أثناء جلب الكنيات: {error}",
"hide_list_aliases_error_action": "أغلق",
"remove_alias": "أزل هذه الكنية",
"add_alias_error": "حدث خطأ أثناء إضافة الكنية: {error}",
"confirm_dialogs": "أطلب تأكيدًا عند",
"confirm_dialogs_repeat": "مشاركة حالة",
"mutes_and_blocks": "المكتومون والمحجوبون",
"move_account_target": "الحساب المستهدف (مثل {example})",
"wordfilter": "ترشيح الكلمات",
"always_show_post_button": "أظهر الزر العائم لإنشاء منشور جديد دائمًا",
"hide_wallpaper": "اخف خلفية المثيل",
"save": "احفظ التعديلات",
"lists_navigation": "أظهر القوائم في شريط التنقل",
"mute_export_button": "صدّر قائمة المكتومين إلى ملف csv",
"blocks_imported": "اُستورد المحجوبون! معالجة القائمة ستستغرق وقتًا.",
"mute_export": "تصدير المكتومين",
"mute_import": "استيراد المكتومين",
"mute_import_error": "خطأ أثناء استيراد المكتومين",
"change_email_error": "حدثت خلل أثناء تغيير بريدك الإلكتروني.",
"change_email": "غيّر البريد الإلكتروني",
"changed_email": "نجح تغيير البريد الإلكتروني!",
"account_alias_table_head": "الكنية",
"account_alias": "كنيات الحساب",
"move_account": "أنقل الحساب",
"moved_account": "نُقل الحساب.",
"hide_media_previews": "اخف معاينات الوسائط",
"hide_muted_posts": "اخف منشورات المستخدمين المكتومين",
"confirm_dialogs_unfollow": "الغاء متابعة مستخدم",
"confirm_dialogs_remove_follower": "إزالة متابع",
"new_alias_target": "أضف كنية جديدة (مثل {example})",
"added_alias": "أُضيفت الكنية.",
"move_account_error": "خطأ أثناء نقل الحساب: {error}",
"emoji_reactions_on_timeline": "أظهر التفاعلات في الخط الزمني",
"mutes_imported": "اُستورد المكتومون! معالجة القئمة ستستغرق وقتًا.",
"remove_language": "أزل",
"primary_language": "اللغة الرئيسية:",
"expert_mode": "أظهر الإعدادات المتقدمة",
"block_import_error": "خطأ أثناء استيراد قائمة المحجوبين",
"add_backup": "أنشئ نسخة احتياطية جديدة",
"add_backup_error": "خطأ أثناء إضافة نسخ احتياطي جديد: {error}",
"move_account_notes": "إذا أردت نقل حسابك عليك إضافة كنية تشير إلى هنا في الحساب المستهدف.",
"avatar_size_instruction": "أدنى حجم مستحسن للصورة الرمزية هو 150x150 بيكسل.",
"word_filter_and_more": "مرشح الكلمات والمزيد...",
"hide_all_muted_posts": "اخف المنشورات المكتومة",
"max_thumbnails": "أقصى عدد للصور المصغرة لكل منشور (فارغ = غير محدود)",
"block_export_button": "صدّر قائمة المحجوبين إلى ملف csv",
"block_export": "تصدير المحجوبين",
"use_one_click_nsfw": "افتح المرفقات ذات المحتوى الحساس NSFW بنقرة واحدة"
},
"timeline": {
"collapse": "",
@ -211,11 +394,109 @@
"keyword_policies": "سياسة الكلمات الدلالية"
},
"simple": {
"simple_policies": "سياسات الخادم"
"simple_policies": "سياسات الخادم",
"instance": "مثيل",
"reason": "السبب",
"accept": "قبول",
"reject": "رفض"
},
"federation": "الاتحاد",
"mrf_policies": "تفعيل سياسات إعادة كتابة المنشور",
"mrf_policies_desc": "خاصية إعادة كتابة المناشير تقوم بتعديل تفاعل الاتحاد مع هذا الخادم. السياسات التالية مفعّلة:"
}
},
"announcements": {
"page_header": "إعلانات",
"title": "إعلان",
"mark_as_read_action": "علّمه كمقروء",
"post_form_header": "انشر إعلانًا",
"post_placeholder": "اكتب محتوى الاعلان هنا...",
"post_action": "انشر",
"post_error": "خطأ: {error}",
"close_error": "أغلاق",
"delete_action": "احذف",
"start_time_prompt": "وقت البدأ: ",
"end_time_prompt": "وقت النهاية: ",
"all_day_prompt": "هذا حدث يوم كامل",
"start_time_display": "يبدأ في {time}",
"end_time_display": "ينتهي في {time}",
"edit_action": "حرر",
"submit_edit_action": "أرسل",
"cancel_edit_action": "ألغِ",
"inactive_message": "هذا الاعلان غير نشط",
"published_time_display": "نُشر في {time}"
},
"polls": {
"votes": "أصوات",
"vote": "صوّت",
"type": "نوع الاستطلاع",
"single_choice": "خيار واحد",
"multiple_choices": "متعدد الخيارات",
"expiry": "عمر الاستطلاع",
"expires_in": "ينتهي الاستطلاع في {0}",
"expired": "انتهى الاستطلاع منذ {0}",
"add_poll": "أضف استطلاعًا",
"add_option": "أضف خيارًا",
"option": "خيار"
},
"emoji": {
"stickers": "ملصقات",
"emoji": "إيموجي",
"search_emoji": "ابحث عن إيموجي",
"unicode_groups": {
"animals-and-nature": "حيوانات وطبيعة",
"food-and-drink": "أطعمة ومشروبات",
"symbols": "رموز",
"activities": "نشاطات",
"flags": "أعلام"
},
"add_emoji": "أدخل إيموجي",
"custom": "إيموجي مخصص"
},
"interactions": {
"emoji_reactions": "تفاعلات بالإيموجي",
"reports": "البلاغات",
"follows": "المتابعات الجديدة"
},
"report": {
"state_closed": "مغلق",
"state_resolved": "عولج",
"reported_statuses": "الحالة المبلغة عنها:",
"state_open": "مفتوح",
"notes": "ملاحظة:",
"state": "الحالة:",
"reporter": "المبلِّغ:",
"reported_user": "المُبلغ عنه:"
},
"selectable_list": {
"select_all": "اختر الكل"
},
"image_cropper": {
"save": "احفظ",
"cancel": "ألغ"
},
"importer": {
"submit": "أرسل",
"success": "نجح الاستيراد.",
"error": "حدث خطأ أثناء الاستيراد."
},
"domain_mute_card": {
"mute": "اكتم",
"mute_progress": "يكتم…",
"unmute": "ارفع الكتم",
"unmute_progress": "يرفع الكتم…"
},
"exporter": {
"export": "صدر",
"processing": "يُعالج. سيُطلب منك تنزيل الملف قريباً"
},
"media_modal": {
"previous": "السابق",
"next": "التالي",
"hide": "أغلق عارض الوسائط"
},
"remote_user_resolver": {
"searching_for": "يبحث عن",
"error": "لم يُعثر عليه."
}
}

View file

@ -1027,7 +1027,8 @@
"show_all_conversation_with_icon": "{icon} {text}",
"show_all_conversation": "Show full conversation ({numStatus} other status) | Show full conversation ({numStatus} other statuses)",
"show_only_conversation_under_this": "Only show replies to this status",
"status_history": "Status history"
"status_history": "Status history",
"reaction_count_label": "{num} person reacted | {num} people reacted"
},
"user_card": {
"approve": "Approve",

View file

@ -55,8 +55,8 @@
"undo": "Malfari",
"yes": "Jes",
"no": "Ne",
"unpin": "Malfiksi eron",
"pin": "Fiksi eron",
"unpin": "Malfiksi",
"pin": "Fiksi",
"scroll_to_top": "Rulumi supren"
},
"image_cropper": {
@ -81,7 +81,11 @@
"recovery_code": "Rehava kodo",
"enter_two_factor_code": "Enigu kodon de duobla aŭtentikigo",
"enter_recovery_code": "Enigu rehavan kodon",
"authentication_code": "Aŭtentikiga kodo"
"authentication_code": "Aŭtentikiga kodo",
"logout_confirm_title": "Konfirmo de adiaŭo",
"logout_confirm": "Ĉu vi certe volas adiaŭi?",
"logout_confirm_accept_button": "Adiaŭi",
"logout_confirm_cancel_button": "Ne adiaŭi"
},
"media_modal": {
"previous": "Antaŭa",
@ -90,7 +94,7 @@
"hide": "Fermi vidilon de vidaŭdaĵoj"
},
"nav": {
"about": "Pri",
"about": "Prio",
"back": "Reen",
"chat": "Loka babilejo",
"friend_requests": "Petoj pri abono",
@ -115,7 +119,9 @@
"edit_finish": "Fini redakton",
"mobile_notifications": "Malfermi sciigojn (estas nelegitaj)",
"mobile_notifications_close": "Fermi sciigojn",
"announcements": "Anoncoj"
"announcements": "Anoncoj",
"search_close": "Fermi serĉujon",
"mobile_sidebar": "(Mal)ŝalti flankan breton por telefonoj"
},
"notifications": {
"broken_favorite": "Nekonata afiŝo, serĉante ĝin…",
@ -169,7 +175,9 @@
"post": "Afiŝo",
"edit_remote_warning": "Aliaj foraj nodoj eble ne subtenas redaktadon, kaj ne povos ricevi pli novan version de via afiŝo.",
"edit_unsupported_warning": "Pleroma ne subtenas redaktadon de mencioj aŭ enketoj.",
"edit_status": "Redakti afiŝon"
"edit_status": "Redakti afiŝon",
"content_type_selection": "Formo de afiŝo",
"scope_notice_dismiss": "Fermi ĉi tiun avizon"
},
"registration": {
"bio": "Priskribo",
@ -189,14 +197,18 @@
"email_required": "ne povas resti malplena",
"password_required": "ne povas resti malplena",
"password_confirmation_required": "ne povas resti malplena",
"password_confirmation_match": "samu la pasvorton"
"password_confirmation_match": "samu la pasvorton",
"birthday_min_age": "ne povas esti post {date}",
"birthday_required": "ne povas resti malplena"
},
"reason_placeholder": "Ĉi-node oni aprobas registriĝojn permane.\nSciigu la administrantojn kial vi volas registriĝi.",
"reason": "Kialo registriĝi",
"register": "Registriĝi",
"bio_optional": "Prio (malnepra)",
"email_optional": "Retpoŝtadreso (malnepra)",
"email_language": "En kiu lingvo vi volus ricevi retleterojn de la servilo?"
"email_language": "En kiu lingvo vi volus ricevi retleterojn de la servilo?",
"birthday": "Naskiĝtago:",
"birthday_optional": "Naskiĝtago (malnepra):"
},
"settings": {
"app_name": "Nomo de aplikaĵo",
@ -666,7 +678,28 @@
"user_popover_avatar_overlay": "Aperigi ŝprucaĵon pri uzanto sur profilbildo",
"show_yous": "Montri la markon «(Vi)»",
"user_popover_avatar_action_zoom": "Zomi la profilbildon",
"third_column_mode": "Kun sufiĉo da spaco, montri trian kolumnon kun"
"third_column_mode": "Kun sufiĉo da spaco, montri trian kolumnon kun",
"birthday": {
"show_birthday": "Montri mian naskiĝtagon",
"label": "Naskiĝtago"
},
"confirm_dialogs_delete": "forigo de afiŝo",
"backup_running": "Ĉi tiu savkopiado progresas, traktis {number} datumon. | Ĉi tiu savkopiado progresas, traktis {number} datumojn.",
"backup_failed": "Ĉi tiu savkopiado malsukcesis.",
"autocomplete_select_first": "Memage elekti unuan kandidaton kiam rezultoj de memaga konjektado disponeblas",
"confirm_dialogs_logout": "adiaŭo",
"user_popover_avatar_action": "Post klako sur profilbildon en ŝprucaĵo",
"remove_language": "Forigi",
"primary_language": "Ĉefa lingvo:",
"confirm_dialogs": "Peti konfirmon je",
"confirm_dialogs_repeat": "ripeto de afiŝo",
"confirm_dialogs_unfollow": "malabono de uzanto",
"confirm_dialogs_block": "blokado de uzanto",
"confirm_dialogs_mute": "silentigo de uzanto",
"confirm_dialogs_approve_follow": "aprobo de abonanto",
"confirm_dialogs_deny_follow": "malaprobo de abonanto",
"confirm_dialogs_remove_follower": "forigo de abonanto",
"tree_fade_ancestors": "Montri responditojn de la nuna afiŝo per teksto malvigla"
},
"timeline": {
"collapse": "Maletendi",
@ -753,7 +786,33 @@
"note_blank": "(Neniu)",
"edit_note_apply": "Apliki",
"edit_note_cancel": "Nuligi",
"edit_note": "Redakti noton"
"edit_note": "Redakti noton",
"block_confirm": "Ĉu vi certe volas bloki uzanton {user}?",
"block_confirm_accept_button": "Bloki",
"remove_follower_confirm": "Ĉu vi certe volas forigi uzanton {user} de viaj abonantoj?",
"approve_confirm_accept_button": "Aprobi",
"approve_confirm_cancel_button": "Ne aprobi",
"approve_confirm": "Ĉu vi certe volas aprobi abonan peton de {user}?",
"block_confirm_title": "Konfirmo de blokado",
"approve_confirm_title": "Konfirmo de aprobo",
"block_confirm_cancel_button": "Ne bloki",
"deny_confirm_accept_button": "Malaprobi",
"deny_confirm_cancel_button": "Ne malaprobi",
"mute_confirm_title": "Silentigi konfirmon",
"deny_confirm_title": "Konfirmo de malaprobo",
"mute_confirm": "Ĉu vi certe volas silentigi uzanton {user}?",
"mute_confirm_accept_button": "Silentigi",
"mute_confirm_cancel_button": "Ne silentigi",
"mute_duration_prompt": "Silentigi ĉi tiun uzanton por (0 signifas senliman silentigon):",
"remove_follower_confirm_accept_button": "Forigi",
"remove_follower_confirm_title": "Konfirmo de forigo de abonanto",
"birthday": "Naskita je {birthday}",
"deny_confirm": "Ĉu vi certe volas malaprobi abonan peton de {user}?",
"unfollow_confirm_cancel_button": "Ne malaboni",
"unfollow_confirm_title": "Konfirmo de malabono",
"unfollow_confirm": "Ĉu vi certe volas malaboni uzanton {user}?",
"unfollow_confirm_accept_button": "Malaboni",
"remove_follower_confirm_cancel_button": "Ne forigi"
},
"user_profile": {
"timeline_title": "Historio de uzanto",
@ -775,7 +834,8 @@
"accept_follow_request": "Akcepti abonpeton",
"add_reaction": "Aldoni reagon",
"toggle_expand": "Etendi aŭ maletendi sciigon por montri plenan afiŝon",
"toggle_mute": "Etendi aŭ maletendi afiŝon por montri silentigitan enhavon"
"toggle_mute": "Etendi aŭ maletendi afiŝon por montri silentigitan enhavon",
"autocomplete_available": "{number} rezulto disponeblas. Uzu la sagajn klavojn supren kaj suben por foliumi ilin. | {number} rezulto disponeblas. Uzu la sagajn klavojn supren kaj suben por foliumi ilin."
},
"upload": {
"error": {
@ -951,7 +1011,14 @@
"show_all_conversation_with_icon": "{icon} {text}",
"show_only_conversation_under_this": "Montri nur respondojn al ĉi tiu afiŝo",
"status_history": "Historio de afiŝo",
"open_gallery": "Malfermi galerion"
"open_gallery": "Malfermi galerion",
"delete_confirm_title": "Konfirmo de forigo",
"delete_confirm_accept_button": "Forigi",
"repeat_confirm": "Ĉu vi certe volas ripeti ĉi tiun afiŝon?",
"repeat_confirm_title": "Konfirmo de ripeto",
"repeat_confirm_accept_button": "Ripeti",
"repeat_confirm_cancel_button": "Ne ripeti",
"delete_confirm_cancel_button": "Ne forigi"
},
"time": {
"years_short": "{0}j",
@ -1119,6 +1186,7 @@
"edit_action": "Redakti",
"submit_edit_action": "Afiŝi",
"cancel_edit_action": "Nuligi",
"inactive_message": "Ĉi tiu anonco estas neaktiva"
"inactive_message": "Ĉi tiu anonco estas neaktiva",
"post_form_header": "Afiŝi anoncon"
}
}

View file

@ -75,7 +75,11 @@
"enter_two_factor_code": "2단계인증 코드를 입력하십시오",
"enter_recovery_code": "복구 코드를 입력하십시오",
"authentication_code": "인증 코드",
"hint": "로그인해서 대화에 참여"
"hint": "로그인해서 대화에 참여",
"logout_confirm_title": "로그아웃 확인",
"logout_confirm": "정말 로그아웃 하시겠습니까?",
"logout_confirm_accept_button": "로그아웃",
"logout_confirm_cancel_button": "로그아웃 안 함"
},
"nav": {
"about": "인스턴스 소개",
@ -104,7 +108,8 @@
"edit_finish": "편집 종료",
"mobile_notifications_close": "알림 닫기",
"mobile_sidebar": "모바일 사이드바 토글",
"announcements": "공지사항"
"announcements": "공지사항",
"search_close": "검색 바 닫기"
},
"notifications": {
"broken_favorite": "알 수 없는 게시물입니다, 검색합니다…",
@ -158,7 +163,9 @@
"edit_status": "수정",
"edit_remote_warning": "수정 기능이 없는 다른 인스턴스에서는 수정한 사항이 반영되지 않을 수 있습니다.",
"post": "게시",
"direct_warning_to_first_only": "맨 앞에 멘션한 사용자들에게만 보여집니다."
"direct_warning_to_first_only": "맨 앞에 멘션한 사용자들에게만 보여집니다.",
"content_type_selection": "게시물 형태",
"scope_notice_dismiss": "알림 닫기"
},
"registration": {
"bio": "소개",
@ -175,7 +182,9 @@
"email_required": "공백으로 둘 수 없습니다",
"password_required": "공백으로 둘 수 없습니다",
"password_confirmation_required": "공백으로 둘 수 없습니다",
"password_confirmation_match": "패스워드와 일치해야 합니다"
"password_confirmation_match": "패스워드와 일치해야 합니다",
"birthday_required": "공백으로 둘 수 없습니다",
"birthday_min_age": "{date} 또는 그 이전 출생만 가능합니다"
},
"fullname_placeholder": "예: 김례인",
"username_placeholder": "예: lain",
@ -185,7 +194,9 @@
"reason": "가입하려는 이유",
"reason_placeholder": "이 인스턴스는 수동으로 가입을 승인하고 있습니다.\n왜 가입하고 싶은지 관리자에게 알려주세요.",
"register": "가입",
"email_language": "무슨 언어로 이메일을 받길 원하시나요?"
"email_language": "무슨 언어로 이메일을 받길 원하시나요?",
"birthday": "생일:",
"birthday_optional": "생일 (선택):"
},
"settings": {
"attachmentRadius": "첨부물",
@ -383,7 +394,8 @@
"highlight": "강조 요소",
"pressed": "눌렸을 때",
"toggled": "토글됨",
"tabs": "탭"
"tabs": "탭",
"underlay": "밑배경"
},
"radii": {
"_tab_label": "둥글기"
@ -652,7 +664,29 @@
"post_status_content_type": "게시물 내용 형식",
"list_aliases_error": "별칭을 가져오는 중 에러 발생: {error}",
"add_alias_error": "별칭을 추가하는 중 에러 발생: {error}",
"mention_link_show_avatar_quick": "멘션 옆에 유저 프로필 사진을 보임"
"mention_link_show_avatar_quick": "멘션 옆에 유저 프로필 사진을 보임",
"backup_running": "백업 중입니다, {number}개 처리 완료. | 백업 중입니다, {number}개 처리 완료.",
"confirm_dialogs": "하기 전에 다시 물어보기",
"autocomplete_select_first": "자동완성이 가능하면 자동으로 첫 번째 후보를 선택",
"backup_failed": "백업에 실패했습니다.",
"emoji_reactions_scale": "리액션 크기",
"birthday": {
"label": "생일",
"show_birthday": "내 생일 보여주기"
},
"add_language": "보조 언어 추가",
"confirm_dialogs_repeat": "리핏",
"confirm_dialogs_unfollow": "언팔로우",
"confirm_dialogs_block": "차단",
"confirm_dialogs_mute": "뮤트",
"confirm_dialogs_delete": "게시물 삭제",
"confirm_dialogs_approve_follow": "팔로워 승인",
"confirm_dialogs_deny_follow": "팔로워 거절",
"confirm_dialogs_remove_follower": "팔로워 제거",
"remove_language": "삭제",
"primary_language": "주 언어:",
"fallback_language": "보조 언어 {index}:",
"confirm_dialogs_logout": "로그아웃"
},
"timeline": {
"collapse": "접기",
@ -735,7 +769,12 @@
"striped": "줄무늬 배경",
"solid": "단색 배경",
"side": "옆트임"
}
},
"approve_confirm_title": "승인 확인",
"approve_confirm_accept_button": "승인",
"approve_confirm_cancel_button": "승인 안 함",
"approve_confirm": "{user}의 팔로우 요청을 승인할까요?",
"block_confirm_title": "차단 확인"
},
"user_profile": {
"timeline_title": "사용자 타임라인",
@ -1069,7 +1108,14 @@
"ancestor_follow_with_icon": "{icon} {text}",
"show_all_conversation_with_icon": "{icon} {text}",
"ancestor_follow": "이 게시물 아래 {numReplies}개 답글 더 보기 | 이 게시물 아래 {numReplies}개 답글 더 보기",
"show_only_conversation_under_this": "이 게시물의 답글만 보기"
"show_only_conversation_under_this": "이 게시물의 답글만 보기",
"repeat_confirm": "리핏할까요?",
"repeat_confirm_title": "리핏 확인",
"repeat_confirm_accept_button": "리핏",
"repeat_confirm_cancel_button": "리핏 안 함",
"delete_confirm_title": "삭제 확인",
"delete_confirm_accept_button": "삭제",
"delete_confirm_cancel_button": "냅두기"
},
"errors": {
"storage_unavailable": "Pleroma가 브라우저 저장소에 접근할 수 없습니다. 로그인이 풀리거나 로컬 설정이 초기화 되는 등 예상치 못한 문제를 겪을 수 있습니다. 쿠키를 활성화 해보세요."

View file

@ -45,7 +45,7 @@ const i18n = createI18n({
messages: messages.default
})
messages.setLanguage(i18n, currentLocale)
messages.setLanguage(i18n.global, currentLocale)
const persistedStateOptions = {
paths: [