aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/emoji_reactions/emoji_reactions.js26
-rw-r--r--src/components/emoji_reactions/emoji_reactions.vue127
-rw-r--r--src/components/notification/notification.vue3
-rw-r--r--src/i18n/ar.json325
-rw-r--r--src/i18n/en.json3
5 files changed, 440 insertions, 44 deletions
diff --git a/src/components/emoji_reactions/emoji_reactions.js b/src/components/emoji_reactions/emoji_reactions.js
index bb11b840..b4936424 100644
--- a/src/components/emoji_reactions/emoji_reactions.js
+++ b/src/components/emoji_reactions/emoji_reactions.js
@@ -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 })
+ }
}
}
}
diff --git a/src/components/emoji_reactions/emoji_reactions.vue b/src/components/emoji_reactions/emoji_reactions.vue
index eb46018e..92fc58ca 100644
--- a/src/components/emoji_reactions/emoji_reactions.vue
+++ b/src/components/emoji_reactions/emoji_reactions.vue
@@ -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;
+ }
}
}
diff --git a/src/components/notification/notification.vue b/src/components/notification/notification.vue
index 4d801c5e..5a32fc70 100644
--- a/src/components/notification/notification.vue
+++ b/src/components/notification/notification.vue
@@ -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
diff --git a/src/i18n/ar.json b/src/i18n/ar.json
index cd9a410a..7915e779 100644
--- a/src/i18n/ar.json
+++ b/src/i18n/ar.json
@@ -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": "لم يُعثر عليه."
}
}
diff --git a/src/i18n/en.json b/src/i18n/en.json
index b051f088..01309d0e 100644
--- a/src/i18n/en.json
+++ b/src/i18n/en.json
@@ -933,7 +933,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",