diff --git a/.github/workflows/codeception-min-version.yml b/.github/workflows/codeception-min-version.yml index e75408cb..7a5565cf 100644 --- a/.github/workflows/codeception-min-version.yml +++ b/.github/workflows/codeception-min-version.yml @@ -13,3 +13,4 @@ jobs: with: module-id: mail use-rest-module: true + rest-module-branch: develop diff --git a/Events.php b/Events.php index 1a4ab556..1750e5c8 100644 --- a/Events.php +++ b/Events.php @@ -9,6 +9,7 @@ namespace humhub\modules\mail; use humhub\commands\IntegrityController; +use humhub\helpers\ControllerHelper; use humhub\modules\mail\helpers\Url; use humhub\modules\mail\models\Config; use humhub\modules\mail\models\Message; @@ -22,6 +23,7 @@ use humhub\modules\ui\menu\MenuLink; use humhub\modules\user\widgets\HeaderControlsMenu; use humhub\widgets\MetaSearchWidget; +use humhub\widgets\TopMenu; use Yii; /** @@ -152,20 +154,23 @@ public static function onUserDelete($event) public static function onTopMenuInit($event) { try { - if (Yii::$app->user->isGuest) { + if (Yii::$app->user->isGuest || !Yii::$app->user->impersonation->canAccessPrivateContent()) { return; } + /* @var TopMenu $menu */ + $menu = $event->sender; + $module = Config::getModule(); // See https://github.com/humhub/humhub-modules-mail/issues/201 if (method_exists($module, 'hideInTopNav') && !$module->hideInTopNav()) { - $event->sender->addItem([ + $menu->addEntry(new MenuLink([ 'label' => Yii::t('MailModule.base', 'Messages'), 'url' => Url::toMessenger(), - 'icon' => '', - 'isActive' => (Yii::$app->controller->module && Yii::$app->controller->module->id == 'mail'), + 'icon' => 'envelope', + 'isActive' => ControllerHelper::isActivePath('mail'), 'sortOrder' => 300, - ]); + ])); } } catch (\Throwable $e) { Yii::error($e); @@ -175,23 +180,40 @@ public static function onTopMenuInit($event) public static function onNotificationAddonInit($event) { try { - if (Yii::$app->user->isGuest) { + if (Yii::$app->user->isGuest || !Yii::$app->user->impersonation->canAccessPrivateContent()) { return; } - $event->sender->addWidget(NotificationInbox::className(), [], ['sortOrder' => 90]); + $event->sender->addWidget(NotificationInbox::class, [], ['sortOrder' => 90]); } catch (\Throwable $e) { Yii::error($e); } } + /** + * Adds the number of unseen conversation messages to the push notification + * badge count of the `fcm-push` module. + * + * @param \humhub\modules\fcmPush\events\NotificationCountEvent $event + */ + public static function onPushNotificationCount($event) + { + try { + $event->count += (int)UserMessage::getNewMessageCount($event->user->id); + } catch (\Throwable $e) { + Yii::error('Messenger - Error onPushNotificationCount: ' . $e); + } + } + public static function onProfileHeaderControlsMenuInit($event) { try { /* @var HeaderControlsMenu $menu */ $menu = $event->sender; - if ($menu->user->isCurrentUser() || !Yii::$app->user->can(StartConversation::class)) { + if ($menu->user->isCurrentUser() + || !Yii::$app->user->impersonation->canAccessPrivateContent() + || !Yii::$app->user->can(StartConversation::class)) { return; } @@ -244,7 +266,7 @@ public static function onRestApiAddRules() public static function onMetaSearchWidgetInit($event) { - if (Yii::$app->user->isGuest) { + if (Yii::$app->user->isGuest || !Yii::$app->user->impersonation->canAccessPrivateContent()) { return; } diff --git a/Module.php b/Module.php index d3ef8d9b..3cd7d1f6 100644 --- a/Module.php +++ b/Module.php @@ -2,7 +2,6 @@ namespace humhub\modules\mail; -use humhub\components\console\Application as ConsoleApplication; use humhub\modules\mail\models\MessageEntry; use humhub\modules\mail\notifications\MailNotification; use humhub\modules\mail\notifications\ConversationNotification; @@ -40,19 +39,6 @@ class Module extends \humhub\components\Module */ public $conversationUpdatePageSize = 50; - /** - * @inheritdoc - */ - public function init() - { - parent::init(); - - if (Yii::$app instanceof ConsoleApplication) { - // Prevents the Yii HelpCommand from crawling all web controllers and possibly throwing errors at REST endpoints if the REST module is not available. - $this->controllerNamespace = 'mail/commands'; - } - } - /** * @return static */ diff --git a/config.php b/config.php index 5d429260..0bde2c7f 100644 --- a/config.php +++ b/config.php @@ -18,5 +18,6 @@ ['class' => IntegrityController::class, 'event' => IntegrityController::EVENT_ON_RUN, 'callback' => ['humhub\modules\mail\Events', 'onIntegrityCheck']], ['class' => 'humhub\modules\rest\Module', 'event' => 'restApiAddRules', 'callback' => ['humhub\modules\mail\Events', 'onRestApiAddRules']], ['class' => 'humhub\widgets\MetaSearchWidget', 'event' => 'init', 'callback' => ['humhub\modules\mail\Events', 'onMetaSearchWidgetInit']], + ['class' => 'humhub\modules\fcmPush\services\MessagingService', 'event' => 'pushNotificationCount', 'callback' => ['humhub\modules\mail\Events', 'onPushNotificationCount']], // humhub\modules\fcmPush\services\MessagingService::EVENT_NOTIFICATION_COUNT ], ]; diff --git a/controllers/ConfigController.php b/controllers/ConfigController.php index 64b34cd2..629903cb 100644 --- a/controllers/ConfigController.php +++ b/controllers/ConfigController.php @@ -8,9 +8,8 @@ namespace humhub\modules\mail\controllers; -use Yii; use humhub\modules\mail\models\Config; -use humhub\models\Setting; +use Yii; /** * ConfigController handles the configuration requests. diff --git a/controllers/InboxController.php b/controllers/InboxController.php index d7bff32c..41081555 100644 --- a/controllers/InboxController.php +++ b/controllers/InboxController.php @@ -24,6 +24,7 @@ protected function getAccessRules() { return [ [ControllerAccess::RULE_LOGGED_IN_ONLY], + [ControllerAccess::RULE_DENY_IMPERSONATED], ]; } diff --git a/controllers/MailController.php b/controllers/MailController.php index c8c12daa..d3f35b75 100644 --- a/controllers/MailController.php +++ b/controllers/MailController.php @@ -53,6 +53,7 @@ protected function getAccessRules() { return [ [ControllerAccess::RULE_LOGGED_IN_ONLY], + [ControllerAccess::RULE_DENY_IMPERSONATED], [ControllerAccess::RULE_PERMISSION => StartConversation::class, 'actions' => ['create', 'add-user']], ]; } @@ -308,7 +309,7 @@ private function findUserByFilter($keyword, $maxResult) $userInfo = []; $userInfo['guid'] = $user->guid; $userInfo['displayName'] = Html::encode($user->displayName); - $userInfo['image'] = $user->getProfileImage()->getUrl(); + $userInfo['image'] = $user->image->getUrl(); $userInfo['link'] = $user->getUrl(); $results[] = $userInfo; } diff --git a/controllers/TagController.php b/controllers/TagController.php index ee97b7a7..14d358c1 100644 --- a/controllers/TagController.php +++ b/controllers/TagController.php @@ -31,6 +31,7 @@ protected function getAccessRules() { return [ [ControllerAccess::RULE_LOGGED_IN_ONLY], + [ControllerAccess::RULE_DENY_IMPERSONATED], ]; } diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 92982ee0..bd9eb60f 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,6 +1,32 @@ Changelog ========= +3.4.5 (Unreleased) +------------------ +- Enh #510: Deny access to the Messenger while an admin impersonates a user, since conversations are private content — requires core 1.19 and can be disabled with the core `\humhub\modules\user\components\Impersonation::$allowPrivateContentAccess` option (humhub/humhub#8372) + +3.4.4 (July 31, 2026) +--------------------- +- Fix #509: "Write a message" too low on Android Chrome based browsers + +3.4.3 (July 21, 2026) +--------------------- +- Enh #506: Add the number of unseen conversation messages to the push notification badge count (requires `fcm-push` 2.2.9+) +- Enh #507: Trigger the new core `UnreadCountChangedEvent` when a conversation is marked as seen/unread or replied to, so the push notification badge count is refreshed (requires `fcm-push` 2.2.9+) + +3.4.2 (July 8, 2026) +-------------------- +- Fix #499: Update user image +- Enh #500: Add aria-label attribute for icon-only buttons + +3.4.1 (June 22, 2026) +--------------------- +- Fix #498: Fix use of removed module property `isActivated` + +3.4.0 (June 5, 2026) +-------------------- +- Enh #483: Update for HumHub 1.19 + 3.3.12 (July 16, 2026) ---------------------- - Fix #504: Message entries overflow horizontally on iOS Safari diff --git a/messages/am/base.php b/messages/am/base.php index c89f1470..980cefc7 100644 --- a/messages/am/base.php +++ b/messages/am/base.php @@ -4,13 +4,13 @@ 'Cancel' => 'ይቅር', 'Confirm' => 'አረጋግጥ', 'Delete' => 'አስወግድ', + 'Disabled' => 'የማይሰራ', 'Edit' => 'ማስተካከያ', 'Filter' => 'አጣራ', 'Message' => 'መልዕክት', 'Pinned' => 'የተሰካ', 'Search' => 'ፈልግ', 'Subject' => 'ርዕስ', - 'Title' => 'ርዕስ', 'Unpin' => 'ንቀል', 'User' => 'ተጠቃሚ', 'Confirm deleting conversation' => '', @@ -37,13 +37,14 @@ 'Created At' => '', 'Created By' => '', 'Delete conversation' => '', - 'Disabled' => '', 'Do you really want to delete this conversation?' => '', 'Do you really want to delete this message?' => '', 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', 'Is Originator' => '', @@ -69,6 +70,7 @@ 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', 'Recipient' => '', + 'Reply' => '', 'Reply now' => '', 'Required' => '', 'Saturday' => '', diff --git a/messages/an/base.php b/messages/an/base.php index 5b06af47..844f315a 100644 --- a/messages/an/base.php +++ b/messages/an/base.php @@ -22,7 +22,6 @@ 'Subject' => 'Asunto', 'Tags' => 'Etiquetas', 'There are no messages yet.' => 'Encara no i hai mensaches', - 'Title' => 'Títol', 'Unpin' => 'Des-fixar', 'Updated At' => 'Actualizau o', 'Updated By' => 'Actualizau per', @@ -53,7 +52,9 @@ 'Do you really want to delete this message?' => '', 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', + 'Edit conversation subject' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', 'Is Originator' => '', @@ -77,6 +78,7 @@ 'Receive Notifications when someone opens a new conversation.' => '', 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', + 'Reply' => '', 'Reply now' => '', 'Required' => '', 'Saturday' => '', diff --git a/messages/ar/base.php b/messages/ar/base.php index dcb6b75e..4a5e63d6 100644 --- a/messages/ar/base.php +++ b/messages/ar/base.php @@ -11,6 +11,7 @@ 'Created At' => 'أنشئت في', 'Created By' => 'تم وضعه بواسطة', 'Delete' => 'حذف', + 'Disabled' => 'غير مفعل', 'Do you really want to delete this conversation?' => 'هل تريد حذف هذه المحادثة؟', 'Do you really want to delete this message?' => 'هل تريد حذف هذه الرسالة؟', 'Do you really want to leave this conversation?' => 'هل تريد مغادرة هذه المحادثة؟', @@ -23,10 +24,13 @@ 'Messages' => 'الرسائل', 'Monday' => 'الاثنين', 'New message from {senderName}' => 'رسالة جديدة من {senderName}', + 'Optional' => 'اختياري', 'Participants' => 'المشاركون', 'Pinned' => 'تثبيت', 'Recipient' => 'المستلم', + 'Reply' => 'رد', 'Reply now' => 'اضف رد', + 'Required' => 'مطلوب', 'Saturday' => 'السبت', 'Search' => 'بحث', 'Send' => 'ارسال', @@ -37,7 +41,6 @@ 'Tags' => 'الأوسمة', 'There are no messages yet.' => 'لا توجد رسائل', 'Thursday' => 'الخميس', - 'Title' => 'العنوان', 'Today' => 'اليوم', 'Tuesday' => 'الثلاثاء', 'Unpin' => 'إلغاء التثبيت', @@ -63,9 +66,10 @@ 'Conversation tags can be used to filter conversations and are only visible to you.' => '', 'Conversations' => '', 'Delete conversation' => '', - 'Disabled' => '', 'Do you really want to delete this tag?' => '', + 'Edit conversation subject' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Here you can manage your private conversation tags.' => '', 'Is Originator' => '', 'Last Viewed' => '', @@ -79,12 +83,10 @@ 'Max number of new conversations allowed for a user per day' => '', 'My Tags' => '', 'New conversation from {senderName}' => '', - 'Optional' => '', 'Pin' => '', 'Receive Notifications when someone opens a new conversation.' => '', 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', - 'Required' => '', 'Seperate restrictions for new users' => '', 'Show menu item in top Navigation' => '', 'Start new conversations' => '', diff --git a/messages/bg/base.php b/messages/bg/base.php index 133f37f0..69db16cc 100644 --- a/messages/bg/base.php +++ b/messages/bg/base.php @@ -25,6 +25,7 @@ 'Created By' => 'Създадено от', 'Delete' => 'Изтрий', 'Delete conversation' => 'Изтрий обсъждането', + 'Disabled' => 'Деактивиран', 'Do you really want to delete this conversation?' => 'Наистина ли искаш да изтриеш обсъждането?', 'Do you really want to delete this message?' => 'Наистина ли искаш да изтриеш съобщението?', 'Do you really want to delete this tag?' => 'Наистина ли искаш да изтриеш този етикет?', @@ -50,13 +51,16 @@ 'Monday' => 'Понеделник', 'My Tags' => 'Моите етикети', 'New message from {senderName}' => 'Ново съобщение от {senderName}', + 'Optional' => 'По желание', 'Participants' => 'Участници', 'Pinned' => 'Фиксирано', 'Receive Notifications when someone opens a new conversation.' => 'Получи съобщение, когато някой отвори ново обсъждане.', 'Receive Notifications when someone sends you a message.' => 'Получи съобщение, когато някой ти изпрати съобщение.', 'Receive private messages' => 'Получавай лични съобщения', 'Recipient' => 'Получател', + 'Reply' => 'Отговор', 'Reply now' => 'Отговори сега', + 'Required' => 'Задължително', 'Saturday' => 'Събота', 'Search' => 'Търси', 'Send' => 'Изпрати', @@ -71,7 +75,6 @@ 'There are no messages yet.' => 'Все още нямате съобщения.', 'This user is already participating in this conversation.' => 'Този потребител вече присъства в обсъждането.', 'Thursday' => 'Четвъртък', - 'Title' => 'Заглавие', 'Today' => 'Днес', 'Tuesday' => 'Вторник', 'Unpin' => 'Освободи', @@ -93,12 +96,11 @@ 'Messenger module configuration' => '', 'New conversation' => '', 'Advanced Messages Search' => '', - 'Disabled' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', 'Mark Unread' => '', 'New conversation from {senderName}' => '', - 'Optional' => '', 'Pin' => '', - 'Required' => '', 'Yesterday' => '', 'You are not allowed to participate in this conversation. You have been blocked by: {userNames}.' => '', 'You are not allowed to reply to users {userNames}!' => '', diff --git a/messages/br/base.php b/messages/br/base.php index 2a2584e5..f2fc9393 100644 --- a/messages/br/base.php +++ b/messages/br/base.php @@ -34,8 +34,10 @@ 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', 'Edit' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Filter' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', @@ -64,6 +66,7 @@ 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', 'Recipient' => '', + 'Reply' => '', 'Reply now' => '', 'Required' => '', 'Saturday' => '', @@ -80,7 +83,6 @@ 'There are no messages yet.' => '', 'This user is already participating in this conversation.' => '', 'Thursday' => '', - 'Title' => '', 'Today' => '', 'Tuesday' => '', 'Unpin' => '', diff --git a/messages/ca/base.php b/messages/ca/base.php index e7b3c743..b5f30b94 100644 --- a/messages/ca/base.php +++ b/messages/ca/base.php @@ -25,6 +25,7 @@ 'Created By' => 'Creat per', 'Delete' => 'Suprimeix', 'Delete conversation' => 'Suprimir conversa', + 'Disabled' => 'Inhabilitat', 'Do you really want to delete this conversation?' => 'Segur que vols eliminar aquesta conversa?', 'Do you really want to delete this message?' => 'Segur que vols eliminar aquest missatge?', 'Do you really want to delete this tag?' => 'Segur que vols eliminar aquesta etiqueta?', @@ -57,6 +58,7 @@ 'Receive Notifications when someone sends you a message.' => 'Rebre notificacions quan algú t\'envia un missatge.', 'Receive private messages' => 'Rebre missatges privats', 'Recipient' => 'Destinatari', + 'Reply' => 'Respon', 'Reply now' => 'Respon ara', 'Saturday' => 'Dissabte', 'Search' => 'Cerca', @@ -72,7 +74,6 @@ 'There are no messages yet.' => 'No tens cap missatge.', 'This user is already participating in this conversation.' => 'Aquest usuari ja està participant en aquesta conversa.', 'Thursday' => 'Dijous', - 'Title' => 'Títol', 'Today' => 'Avui', 'Tuesday' => 'Dimarts', 'Unpin' => 'Desancorar', @@ -97,7 +98,8 @@ 'Messenger module configuration' => '', 'Add participants' => '', 'Advanced Messages Search' => '', - 'Disabled' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', 'Mark Unread' => '', 'Optional' => '', 'Pin' => '', diff --git a/messages/cs/base.php b/messages/cs/base.php index f6e663ab..a758d4ea 100644 --- a/messages/cs/base.php +++ b/messages/cs/base.php @@ -15,6 +15,7 @@ 'Created By' => 'Vytvořil(a)', 'Delete' => 'Smazat', 'Delete conversation' => 'Smazat konverzaci', + 'Disabled' => 'Zakázáno', 'Do you really want to delete this conversation?' => 'Opravdu chcete smazat tuto konverzaci?', 'Do you really want to delete this message?' => 'Opravdu chcete smazat tuto zprávu?', 'Do you really want to leave this conversation?' => 'Opravdu chcete opustit tuto konverzaci?', @@ -28,10 +29,13 @@ 'Message' => 'Zpráva', 'Messages' => 'Zprávy', 'New message from {senderName}' => 'Nová zpráva od uživatele {senderName}', + 'Optional' => 'Volitelné', 'Participants' => 'Účastníci', 'Pinned' => 'Připnout', 'Recipient' => 'Příjemce', + 'Reply' => 'Odpověď', 'Reply now' => 'Odpovědět', + 'Required' => 'Povinné', 'Search' => 'Hledat', 'Send' => 'Poslat', 'Send message' => 'Poslat zprávu', @@ -39,7 +43,6 @@ 'Subject' => 'Předmět', 'Tags' => 'Štítky', 'There are no messages yet.' => 'Zatím zde nejsou žádné zprávy.', - 'Title' => 'Název', 'Today' => 'Dnes', 'Unpin' => 'Odepnout', 'Updated At' => 'Aktualizováno', @@ -60,9 +63,10 @@ 'Allow users to start new conversations' => '', 'Conversation' => '', 'Conversation tags can be used to filter conversations and are only visible to you.' => '', - 'Disabled' => '', 'Do you really want to delete this tag?' => '', + 'Edit conversation subject' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', 'Leave fields blank in order to disable a restriction.' => '', @@ -75,12 +79,10 @@ 'Monday' => '', 'My Tags' => '', 'New conversation from {senderName}' => '', - 'Optional' => '', 'Pin' => '', 'Receive Notifications when someone opens a new conversation.' => '', 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', - 'Required' => '', 'Saturday' => '', 'Seperate restrictions for new users' => '', 'Show menu item in top Navigation' => '', diff --git a/messages/cy/base.php b/messages/cy/base.php index e567298b..bf211ec5 100644 --- a/messages/cy/base.php +++ b/messages/cy/base.php @@ -34,8 +34,10 @@ 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', 'Edit' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Filter' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', @@ -64,6 +66,7 @@ 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', 'Recipient' => '', + 'Reply' => '', 'Reply now' => '', 'Required' => '', 'Saturday' => '', @@ -80,7 +83,6 @@ 'There are no messages yet.' => '', 'This user is already participating in this conversation.' => '', 'Thursday' => '', - 'Title' => '', 'Today' => '', 'Tuesday' => '', 'Unpin' => '', diff --git a/messages/da/base.php b/messages/da/base.php index 40e8007e..2202dd97 100644 --- a/messages/da/base.php +++ b/messages/da/base.php @@ -13,6 +13,7 @@ 'Created By' => 'Oprettet af', 'Delete' => 'Slet', 'Delete conversation' => 'Slet samtale', + 'Disabled' => 'Deaktiveret', 'Do you really want to delete this conversation?' => 'Vil du virkelig gerne slette denne samtale?', 'Do you really want to delete this message?' => 'Vil du virkelig gerne slette denne besked?', 'Do you really want to leave this conversation?' => 'Vil du virkelig gerne forlade denne samtale', @@ -26,10 +27,13 @@ 'Messages' => 'Beskeder', 'Monday' => 'Mandag', 'New message from {senderName}' => 'Ny besked fra {senderName}', + 'Optional' => 'Valgfrit', 'Participants' => 'Deltagere', 'Pinned' => 'Pinned', 'Recipient' => 'Modtager', + 'Reply' => 'Svar', 'Reply now' => 'Svar nu', + 'Required' => 'Påkrævet', 'Saturday' => 'Lørdag', 'Search' => 'Søg', 'Send' => 'Send', @@ -40,7 +44,6 @@ 'Tags' => 'Tags', 'There are no messages yet.' => 'Der er ingen beskeder endnu.', 'Thursday' => 'Torsdag', - 'Title' => 'Titel', 'Today' => 'I dag', 'Tuesday' => 'Tirsdag', 'Unpin' => 'Fastgør ikke', @@ -66,9 +69,10 @@ 'Conversation' => '', 'Conversation tags can be used to filter conversations and are only visible to you.' => '', 'Conversations' => '', - 'Disabled' => '', 'Do you really want to delete this tag?' => '', + 'Edit conversation subject' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Here you can manage your private conversation tags.' => '', 'Is Originator' => '', 'Last Viewed' => '', @@ -81,12 +85,10 @@ 'Max number of new conversations allowed for a user per day' => '', 'My Tags' => '', 'New conversation from {senderName}' => '', - 'Optional' => '', 'Pin' => '', 'Receive Notifications when someone opens a new conversation.' => '', 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', - 'Required' => '', 'Seperate restrictions for new users' => '', 'Show menu item in top Navigation' => '', 'Start new conversations' => '', diff --git a/messages/de/base.php b/messages/de/base.php index 17763c3d..a4d9881d 100644 --- a/messages/de/base.php +++ b/messages/de/base.php @@ -33,8 +33,10 @@ 'Do you really want to delete this tag?' => 'Willst du diesen Tag wirklich löschen?', 'Do you really want to leave this conversation?' => 'Willst du diese Unterhaltung wirklich verlassen?', 'Edit' => 'Bearbeiten', + 'Edit conversation subject' => 'Betreff der Unterhaltung bearbeiten', 'Edit message entry' => 'Nachricht bearbeiten', 'Edit message...' => 'Nachricht bearbeiten ...', + 'Edit subject' => 'Betreff bearbeiten', 'Filter' => 'Filter', 'Friday' => 'Freitag', 'Here you can manage your private conversation tags.' => 'Hier kannst du private Konversations-Tags verwalten.', @@ -63,6 +65,7 @@ 'Receive Notifications when someone sends you a message.' => 'Benachrichtigungen erhalten, wenn dir jemand eine Nachricht schickt.', 'Receive private messages' => 'Private Nachrichten erhalten', 'Recipient' => 'Empfänger', + 'Reply' => 'Antworten', 'Reply now' => 'Antworte jetzt', 'Required' => 'Erforderlich', 'Saturday' => 'Samstag', @@ -79,7 +82,6 @@ 'There are no messages yet.' => 'Es sind noch keine Nachrichten vorhanden.', 'This user is already participating in this conversation.' => 'Dieser Benutzer nimmt bereits an diesem Gespräch teil.', 'Thursday' => 'Donnerstag', - 'Title' => 'Betreff', 'Today' => 'Heute', 'Tuesday' => 'Dienstag', 'Unpin' => 'Lösen', diff --git a/messages/el/base.php b/messages/el/base.php index 401b4275..0fa3fe56 100644 --- a/messages/el/base.php +++ b/messages/el/base.php @@ -4,6 +4,7 @@ 'Cancel' => 'Ακύρωση', 'Confirm' => 'Επιβεβαίωση', 'Delete' => 'Διαγραφή', + 'Disabled' => 'Απενεργοποίηση', 'Edit' => 'Επεξεργασία', 'Filter' => 'Φίλτρο', 'Friday' => 'Παρασκευή', @@ -11,6 +12,8 @@ 'Monday' => 'Δευτέρα', 'Participants' => 'Συμμετέχοντες', 'Pinned' => 'Καρφιτσωμένo', + 'Reply' => 'Απάντηση', + 'Required' => 'Απαραίτητο', 'Saturday' => 'Σάββατο', 'Search' => 'Αναζήτηση', 'Send' => 'Στείλε', @@ -18,7 +21,6 @@ 'Sunday' => 'Κυριακή', 'Tags' => 'Λέξεις κλειδιά', 'Thursday' => 'Πέμπτη', - 'Title' => 'Τίτλος', 'Tuesday' => 'Τρίτη', 'Unpin' => 'Ξεκαρφίτσωμα', 'User' => 'Χρήστης', @@ -48,13 +50,14 @@ 'Created At' => '', 'Created By' => '', 'Delete conversation' => '', - 'Disabled' => '', 'Do you really want to delete this conversation?' => '', 'Do you really want to delete this message?' => '', 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Here you can manage your private conversation tags.' => '', 'Is Originator' => '', 'Last Viewed' => '', @@ -78,7 +81,6 @@ 'Receive private messages' => '', 'Recipient' => '', 'Reply now' => '', - 'Required' => '', 'Send message' => '', 'Seperate restrictions for new users' => '', 'Show all messages' => '', diff --git a/messages/es-419/base.php b/messages/es-419/base.php index e567298b..bf211ec5 100644 --- a/messages/es-419/base.php +++ b/messages/es-419/base.php @@ -34,8 +34,10 @@ 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', 'Edit' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Filter' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', @@ -64,6 +66,7 @@ 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', 'Recipient' => '', + 'Reply' => '', 'Reply now' => '', 'Required' => '', 'Saturday' => '', @@ -80,7 +83,6 @@ 'There are no messages yet.' => '', 'This user is already participating in this conversation.' => '', 'Thursday' => '', - 'Title' => '', 'Today' => '', 'Tuesday' => '', 'Unpin' => '', diff --git a/messages/es/base.php b/messages/es/base.php index d99c93e7..3817f0f5 100644 --- a/messages/es/base.php +++ b/messages/es/base.php @@ -28,6 +28,7 @@ 'Created By' => 'Creado por', 'Delete' => 'Eliminar', 'Delete conversation' => 'Borrar conversación', + 'Disabled' => 'Deshabilitado', 'Do you really want to delete this conversation?' => '¿Seguro que quieres eliminar esta conversación?', 'Do you really want to delete this message?' => '¿Seguro que quieres eliminar este mensaje?', 'Do you really want to delete this tag?' => '¿Realmente quieres eliminar esta etiqueta?', @@ -55,6 +56,7 @@ 'My Tags' => 'Mis etiquetas', 'New conversation from {senderName}' => 'Nueva conversación de {senderName}', 'New message from {senderName}' => 'Nuevo mensaje de {senderName}', + 'Optional' => 'Opcional', 'Participants' => 'Participantes', 'Pin' => 'Fijar', 'Pinned' => 'Fijado', @@ -62,7 +64,9 @@ 'Receive Notifications when someone sends you a message.' => 'Recibir notificaciones cuando alguien te envía un mensaje.', 'Receive private messages' => 'Recibir mensajes privados', 'Recipient' => 'Destinatario', + 'Reply' => 'Responder', 'Reply now' => 'Responder ahora', + 'Required' => 'Requerido', 'Saturday' => 'Sábado', 'Search' => 'Buscar', 'Send' => 'Enviar', @@ -77,7 +81,6 @@ 'There are no messages yet.' => 'No hay mensajes aún.', 'This user is already participating in this conversation.' => 'Este usuario está ya participando en esta conversación.', 'Thursday' => 'Jueves', - 'Title' => 'Titulo', 'Today' => 'Hoy', 'Tuesday' => 'Martes', 'Unpin' => 'Desfijar', @@ -107,9 +110,8 @@ '{senderName} sent you a new message in {conversationTitle}' => '{senderName} te ha enviado un nuevo mensaje en {conversationTitle}', '{username} joined the conversation.' => '{username} se ha unido a la conversación.', '{username} left the conversation.' => '{username} ha abandonado la conversación.', - 'Disabled' => '', - 'Optional' => '', - 'Required' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', '{senderName} created a new conversation' => '', '{senderName} sent you a new message' => '', ]; diff --git a/messages/et/base.php b/messages/et/base.php index e567298b..bf211ec5 100644 --- a/messages/et/base.php +++ b/messages/et/base.php @@ -34,8 +34,10 @@ 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', 'Edit' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Filter' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', @@ -64,6 +66,7 @@ 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', 'Recipient' => '', + 'Reply' => '', 'Reply now' => '', 'Required' => '', 'Saturday' => '', @@ -80,7 +83,6 @@ 'There are no messages yet.' => '', 'This user is already participating in this conversation.' => '', 'Thursday' => '', - 'Title' => '', 'Today' => '', 'Tuesday' => '', 'Unpin' => '', diff --git a/messages/eu/base.php b/messages/eu/base.php index a451cfe8..b09eff64 100644 --- a/messages/eu/base.php +++ b/messages/eu/base.php @@ -6,16 +6,18 @@ 'Created At' => 'Non sortua', 'Created By' => 'Sortzailea', 'Delete' => 'Ezabatu', + 'Disabled' => 'Desgaituta', 'Edit' => 'Editatu', 'Filter' => 'Iragazkia', 'Leave' => 'Zoaz', 'Message' => 'Mezua', + 'Optional' => 'Aukerazkoa', 'Pinned' => 'Ainguratua', + 'Reply' => 'Erantzun', 'Search' => 'Bilatu', 'Send' => 'Bidali', 'Subject' => 'Gaia', 'Tags' => 'Etiketak', - 'Title' => 'Izenburua', 'Unpin' => 'Ainguratu', 'Updated At' => 'Hemen eguneratua', 'Updated By' => 'Honek eguneratua', @@ -43,13 +45,14 @@ 'Conversation tags can be used to filter conversations and are only visible to you.' => '', 'Conversations' => '', 'Delete conversation' => '', - 'Disabled' => '', 'Do you really want to delete this conversation?' => '', 'Do you really want to delete this message?' => '', 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', 'Is Originator' => '', @@ -67,7 +70,6 @@ 'My Tags' => '', 'New conversation from {senderName}' => '', 'New message from {senderName}' => '', - 'Optional' => '', 'Participants' => '', 'Pin' => '', 'Receive Notifications when someone opens a new conversation.' => '', diff --git a/messages/fa-IR/base.php b/messages/fa-IR/base.php index 2c2d5afb..159179ea 100644 --- a/messages/fa-IR/base.php +++ b/messages/fa-IR/base.php @@ -13,6 +13,7 @@ 'Created By' => 'ایجادشده توسط', 'Delete' => 'حذف', 'Delete conversation' => 'حذف گفتگو', + 'Disabled' => 'غیرفعال شده', 'Do you really want to delete this conversation?' => 'آیا واقعا می‌خواهید این مکالمه را حذف کنید؟', 'Do you really want to delete this message?' => 'آیا واقعا می‌خواهید این پیغام را حذف کنید؟', 'Do you really want to leave this conversation?' => 'آیا واقعا می‌خواهید این مکالمه را ترک کنید؟', @@ -28,6 +29,7 @@ 'Pinned' => 'چسباندن', 'Recipient' => 'گیرنده', 'Reply now' => 'الان پاسخ دهید', + 'Required' => 'مورد نیاز', 'Search' => 'جستجو', 'Send' => 'ارسال', 'Send message' => 'ارسال پیغام', @@ -35,7 +37,6 @@ 'Subject' => 'موضوع', 'Tags' => 'تگ‌ها', 'There are no messages yet.' => 'هنوز پیغامی وجود ندارد.', - 'Title' => 'عنوان', 'Unpin' => 'برداشتن سنجاق', 'Updated At' => 'به‌روزرسانی‌شده در', 'Updated By' => 'بروزرساني توسط', @@ -57,9 +58,10 @@ 'Conversation' => '', 'Conversation tags can be used to filter conversations and are only visible to you.' => '', 'Conversations' => '', - 'Disabled' => '', 'Do you really want to delete this tag?' => '', + 'Edit conversation subject' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', 'Is Originator' => '', @@ -79,7 +81,7 @@ 'Receive Notifications when someone opens a new conversation.' => '', 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', - 'Required' => '', + 'Reply' => '', 'Saturday' => '', 'Seperate restrictions for new users' => '', 'Show menu item in top Navigation' => '', diff --git a/messages/fi/base.php b/messages/fi/base.php index 7a8b2942..9f865d21 100644 --- a/messages/fi/base.php +++ b/messages/fi/base.php @@ -18,6 +18,7 @@ 'Created By' => 'Luonut', 'Delete' => 'Poista', 'Delete conversation' => 'Poista keskustelu', + 'Disabled' => 'Pois päältä', 'Do you really want to delete this conversation?' => 'Haluatko varmasti poistaa tämän keskustelun?', 'Do you really want to delete this message?' => 'Haluatko varmasti poistaa tämän viestin?', 'Do you really want to leave this conversation?' => 'Haluatko varmasti poistua tästä keskustelusta?', @@ -46,6 +47,7 @@ 'Receive private messages' => 'Vastaanota yksityisiä viestejä', 'Recipient' => 'Vastaanottaja', 'Reply now' => 'Vastaa nyt', + 'Required' => 'Vaaditaan', 'Saturday' => 'Lauantai', 'Search' => 'Hae', 'Send' => 'Lähetä', @@ -60,7 +62,6 @@ 'There are no messages yet.' => 'Viestejä ei ole vielä.', 'This user is already participating in this conversation.' => 'Tämä käyttäjä osallistuu jo tähän keskusteluun.', 'Thursday' => 'Torstai', - 'Title' => 'Otsikko', 'Today' => 'Tänään', 'Tuesday' => 'Tiistai', 'Unpin' => 'Poista kiinnitys', @@ -86,8 +87,9 @@ 'Add Tag' => '', 'Advanced Messages Search' => '', 'Conversation tags can be used to filter conversations and are only visible to you.' => '', - 'Disabled' => '', 'Do you really want to delete this tag?' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', 'Here you can manage your private conversation tags.' => '', 'Manage Tags' => '', 'Mark Unread' => '', @@ -95,7 +97,7 @@ 'New conversation from {senderName}' => '', 'Optional' => '', 'Pin' => '', - 'Required' => '', + 'Reply' => '', 'Yesterday' => '', 'You are not allowed to participate in this conversation. You have been blocked by: {userNames}.' => '', 'You are not allowed to reply to users {userNames}!' => '', diff --git a/messages/fr/base.php b/messages/fr/base.php index be20689a..94d222ed 100644 --- a/messages/fr/base.php +++ b/messages/fr/base.php @@ -33,8 +33,10 @@ 'Do you really want to delete this tag?' => 'Souhaitez-vous vraiment supprimer ce tag?', 'Do you really want to leave this conversation?' => 'Souhaitez-vous vraiment quitter cette conversation ?', 'Edit' => 'Modifier', + 'Edit conversation subject' => 'Modifier l\'objet de la conversation', 'Edit message entry' => 'Modifier le message', 'Edit message...' => 'Modifier le message...', + 'Edit subject' => 'Modifier l\'objet', 'Filter' => 'Filtre', 'Friday' => 'Vendredi', 'Here you can manage your private conversation tags.' => 'Vous pouvez administrer vos tags de conversation privées', @@ -63,6 +65,7 @@ 'Receive Notifications when someone sends you a message.' => 'Recevoir une notification lorsqu\'on m\'envoie un message.', 'Receive private messages' => 'Recevoir des messages privés', 'Recipient' => 'Destinataire', + 'Reply' => 'Répondre', 'Reply now' => 'Répondre maintenant', 'Required' => 'Requis', 'Saturday' => 'Samedi', @@ -79,7 +82,6 @@ 'There are no messages yet.' => 'Il n\'y a aucun message.', 'This user is already participating in this conversation.' => 'L\'utilisateur participe déjà à cette conversation.', 'Thursday' => 'Jeudi', - 'Title' => 'Titre', 'Today' => 'Aujourd\'hui', 'Tuesday' => 'Mardi', 'Unpin' => 'Dépingler', diff --git a/messages/he/base.php b/messages/he/base.php index ca0d7a1a..db6083c0 100644 --- a/messages/he/base.php +++ b/messages/he/base.php @@ -4,10 +4,10 @@ 'Cancel' => 'ביטול', 'Confirm' => 'אשר', 'Delete' => 'מחק', + 'Disabled' => 'נָכֶה', 'Edit' => 'עריכה', 'Search' => 'חיפוש', 'Show all messages' => 'הצג את כל ההודעות', - 'Title' => 'כותרת', 'User' => 'מִשׁתַמֵשׁ', 'Confirm deleting conversation' => '', 'Confirm leaving conversation' => '', @@ -33,13 +33,14 @@ 'Created At' => '', 'Created By' => '', 'Delete conversation' => '', - 'Disabled' => '', 'Do you really want to delete this conversation?' => '', 'Do you really want to delete this message?' => '', 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Filter' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', @@ -68,6 +69,7 @@ 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', 'Recipient' => '', + 'Reply' => '', 'Reply now' => '', 'Required' => '', 'Saturday' => '', diff --git a/messages/hr/base.php b/messages/hr/base.php index a2b0dd44..aea84659 100644 --- a/messages/hr/base.php +++ b/messages/hr/base.php @@ -25,6 +25,7 @@ 'Created By' => 'Kreirano od', 'Delete' => 'Obriši', 'Delete conversation' => 'Obriši razgovor', + 'Disabled' => 'Onemogućeno', 'Do you really want to delete this conversation?' => 'Zaista želite obrisati ovaj razgovor?', 'Do you really want to delete this message?' => 'Zaista želite obrisati ovu poruku?', 'Do you really want to delete this tag?' => 'Želite li zaista izbrisati ovu oznaku?', @@ -56,7 +57,9 @@ 'Receive Notifications when someone sends you a message.' => 'Primajte obavijesti kad vam netko pošalje poruku.', 'Receive private messages' => 'Primi privatne poruke', 'Recipient' => 'Primatelj', + 'Reply' => 'Odgovor', 'Reply now' => 'Odgovori sada', + 'Required' => 'Potreban', 'Saturday' => 'Subota', 'Search' => 'Pretraži', 'Send' => 'Pošalji', @@ -71,7 +74,6 @@ 'There are no messages yet.' => 'Još nema poruka.', 'This user is already participating in this conversation.' => 'Ovaj korisnik već sudjeluje u ovom razgovoru.', 'Thursday' => 'Četvrtak', - 'Title' => 'Naziv', 'Today' => 'Danas', 'Tuesday' => 'Utorak', 'Unpin' => 'Otkači', @@ -92,12 +94,12 @@ 'Messenger module configuration' => '', 'New conversation' => '', 'Advanced Messages Search' => '', - 'Disabled' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', 'Mark Unread' => '', 'New conversation from {senderName}' => '', 'Optional' => '', 'Pin' => '', - 'Required' => '', 'Yesterday' => '', 'You are not allowed to participate in this conversation. You have been blocked by: {userNames}.' => '', 'You are not allowed to reply to users {userNames}!' => '', diff --git a/messages/ht/base.php b/messages/ht/base.php index 82a7580e..314ecc42 100644 --- a/messages/ht/base.php +++ b/messages/ht/base.php @@ -1,8 +1,8 @@ 'Andikape', 'Search' => 'Chèche', - 'Title' => 'Tit', 'User' => 'Itilizatè', 'Confirm deleting conversation' => '', 'Confirm leaving conversation' => '', @@ -31,14 +31,15 @@ 'Created By' => '', 'Delete' => '', 'Delete conversation' => '', - 'Disabled' => '', 'Do you really want to delete this conversation?' => '', 'Do you really want to delete this message?' => '', 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', 'Edit' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Filter' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', @@ -67,6 +68,7 @@ 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', 'Recipient' => '', + 'Reply' => '', 'Reply now' => '', 'Required' => '', 'Saturday' => '', diff --git a/messages/hu/base.php b/messages/hu/base.php index 6a0474cb..89d52175 100644 --- a/messages/hu/base.php +++ b/messages/hu/base.php @@ -28,6 +28,7 @@ 'Created By' => 'Létrehozta', 'Delete' => 'Törlés', 'Delete conversation' => 'Beszélgetés törlése', + 'Disabled' => 'Kikapcsolva', 'Do you really want to delete this conversation?' => 'Biztos törlöd ezt a beszélgetést?', 'Do you really want to delete this message?' => 'Biztos törlöd ezt az üzenetet?', 'Do you really want to delete this tag?' => 'Valóban törölni akarod ezt a címkét?', @@ -55,6 +56,7 @@ 'My Tags' => 'Címkéim', 'New conversation from {senderName}' => '{senderName} új beszélgetést indított', 'New message from {senderName}' => '{senderName} új üzenetet küldött', + 'Optional' => 'Opcionális', 'Participants' => 'Résztvevők', 'Pin' => 'Rögzít', 'Pinned' => 'Rögzítve', @@ -62,7 +64,9 @@ 'Receive Notifications when someone sends you a message.' => 'Értesítések fogadása, amikor valaki üzenetet küld neked.', 'Receive private messages' => 'Privát üzenetek fogadása', 'Recipient' => 'Címzett', + 'Reply' => 'Válasz', 'Reply now' => 'Válasz írása', + 'Required' => 'Kötelező', 'Saturday' => 'Szombat', 'Search' => 'Keresés', 'Send' => 'Küldés', @@ -77,7 +81,6 @@ 'There are no messages yet.' => 'Még nincsenek üzenetek.', 'This user is already participating in this conversation.' => 'Ez a felhasználó már tagja ennek a beszélgetésnek.', 'Thursday' => 'Csütörtök', - 'Title' => 'Tárgy', 'Today' => 'Ma', 'Tuesday' => 'Kedd', 'Unpin' => 'Felold', @@ -107,9 +110,8 @@ '{senderName} sent you a new message in {conversationTitle}' => '{senderName} új üzenetet küldött ebben a témában: {conversationTitle}', '{username} joined the conversation.' => '{username} csatlakozott a beszélgetéshez.', '{username} left the conversation.' => '{username} kilépett a beszélgetésből.', - 'Disabled' => '', - 'Optional' => '', - 'Required' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', '{senderName} created a new conversation' => '', '{senderName} sent you a new message' => '', ]; diff --git a/messages/id/base.php b/messages/id/base.php index 604e44dd..40b2814c 100644 --- a/messages/id/base.php +++ b/messages/id/base.php @@ -9,6 +9,7 @@ 'Created At' => 'Dibuat di', 'Created By' => 'Dibuat oleh', 'Delete' => 'Hapus', + 'Disabled' => 'Dengan disabilitas', 'Edit' => 'Ubah', 'Edit message...' => 'Ubah pesan ...', 'Filter' => 'Filter', @@ -23,11 +24,11 @@ 'Participants' => 'Partisipasi', 'Pinned' => 'Disematkan', 'Receive private messages' => 'Terima pesan pribadi', + 'Reply' => 'Balas', 'Search' => 'Cari', 'Send' => 'Kirim', 'Start new conversations' => 'Mulau percakapan baru', 'This user is already participating in this conversation.' => 'Pengguna ini sudah berpartisipasi dalam percakapan ini.', - 'Title' => 'Judul', 'Until a user is member since (days)' => 'Sampai seorang pengguna menjadi anggota sejak (hari)', 'Updated At' => 'Diperbarui di', 'Updated By' => 'Diperbarui oleh', @@ -52,12 +53,13 @@ 'Conversation tags can be used to filter conversations and are only visible to you.' => '', 'Conversations' => '', 'Delete conversation' => '', - 'Disabled' => '', 'Do you really want to delete this conversation?' => '', 'Do you really want to delete this message?' => '', 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', + 'Edit subject' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', 'Is Originator' => '', diff --git a/messages/it/base.php b/messages/it/base.php index 0afba049..8baccdf6 100644 --- a/messages/it/base.php +++ b/messages/it/base.php @@ -27,6 +27,7 @@ 'Created By' => 'Creato da', 'Delete' => 'Cancella', 'Delete conversation' => 'Cancella conversazione', + 'Disabled' => 'Disabilitato', 'Do you really want to delete this conversation?' => 'Vuoi eliminare questa conversazione?', 'Do you really want to delete this message?' => 'Vuoi eliminare questo messaggio?', 'Do you really want to delete this tag?' => 'Vuoi davvero eliminare questo tag?', @@ -53,13 +54,16 @@ 'My Tags' => 'I miei tag', 'New conversation from {senderName}' => 'Nuova conversazione da {senderName}', 'New message from {senderName}' => 'Nuovo messaggio da {senderName}', + 'Optional' => 'Opzionale', 'Participants' => 'Partecipanti', 'Pinned' => 'In evidenza', 'Receive Notifications when someone opens a new conversation.' => 'Ricevi una notifica quando qualcuo crea una nuova conversazione', 'Receive Notifications when someone sends you a message.' => 'Ricevi una notifica quando qualcuno ti invia un messaggio', 'Receive private messages' => 'Ricevi messaggi privati', 'Recipient' => 'Destinatario', + 'Reply' => 'Rispondi', 'Reply now' => 'Rispondi ora', + 'Required' => 'Richiesto', 'Saturday' => 'Sabato', 'Search' => 'Ricerca', 'Send' => 'Invia', @@ -74,7 +78,6 @@ 'There are no messages yet.' => 'Non c\'è alcun altro messaggio.', 'This user is already participating in this conversation.' => 'Questo untente sta già partecipando a questa conversazione.', 'Thursday' => 'Giovedì', - 'Title' => 'Titolo', 'Today' => 'Oggi', 'Tuesday' => 'Martedì', 'Unpin' => 'Scollega', @@ -105,11 +108,10 @@ '{username} joined the conversation.' => '{username} si è unito alla conversazione.', '{username} left the conversation.' => '{username} ha lasciato la conversazione.', 'Advanced Messages Search' => '', - 'Disabled' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', 'Mark Unread' => '', - 'Optional' => '', 'Pin' => '', - 'Required' => '', '{senderName} created a new conversation' => '', '{senderName} sent you a new message' => '', ]; diff --git a/messages/ja/base.php b/messages/ja/base.php index 93174f8e..150e1f47 100644 --- a/messages/ja/base.php +++ b/messages/ja/base.php @@ -28,6 +28,7 @@ 'Created By' => '作成者', 'Delete' => '削除', 'Delete conversation' => '会話を削除', + 'Disabled' => '無効', 'Do you really want to delete this conversation?' => '本当にこの会話を削除しますか?', 'Do you really want to delete this message?' => '本当にこのメッセージを削除しますか?', 'Do you really want to delete this tag?' => '本当にこのタグを削除しますか?', @@ -55,6 +56,7 @@ 'My Tags' => '自分のタグ', 'New conversation from {senderName}' => '{senderName} さんからの新しい会話', 'New message from {senderName}' => '{senderName}さんから新しいメッセージ', + 'Optional' => 'オプション', 'Participants' => '参加者', 'Pin' => 'ピン', 'Pinned' => 'ピン留め', @@ -62,7 +64,9 @@ 'Receive Notifications when someone sends you a message.' => '誰かがあなたにメッセージを送ったら通知を受け取る。', 'Receive private messages' => 'プライベートメッセージを受け取る', 'Recipient' => '受信者', + 'Reply' => 'リプライ', 'Reply now' => '返信', + 'Required' => '必須', 'Saturday' => '土曜', 'Search' => '検索', 'Send' => '送信', @@ -77,7 +81,6 @@ 'There are no messages yet.' => 'まだ何もメッセージはありません。', 'This user is already participating in this conversation.' => 'このユーザーはすでにこの会話に参加しています。', 'Thursday' => '木曜', - 'Title' => 'タイトル', 'Today' => '今日', 'Tuesday' => '火曜', 'Unpin' => 'ピンを外す', @@ -107,9 +110,8 @@ '{senderName} sent you a new message in {conversationTitle}' => '{senderName} が {conversationTitle} で新しいメッセージを送信しました', '{username} joined the conversation.' => '{username} が会話に参加しました。', '{username} left the conversation.' => '{username} さんが会話から退出しました。', - 'Disabled' => '', - 'Optional' => '', - 'Required' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', '{senderName} created a new conversation' => '', '{senderName} sent you a new message' => '', ]; diff --git a/messages/ko/base.php b/messages/ko/base.php index 66d8fc6c..af5ab677 100644 --- a/messages/ko/base.php +++ b/messages/ko/base.php @@ -6,13 +6,14 @@ 'Created At' => '만든 위치', 'Created By' => '만든 사람', 'Delete' => '삭제', + 'Disabled' => '장애가있는', 'Edit' => '편집', 'Filter' => '필터', 'Pinned' => '고정', + 'Reply' => '답변', 'Search' => '검색', 'Send' => '보내기', 'Tags' => 'ㅡㅡ', - 'Title' => '제목', 'Unpin' => '고정 해제', 'Updated At' => '업데이트 날짜', 'Updated By' => '업데이트 작성자', @@ -40,13 +41,14 @@ 'Conversation tags can be used to filter conversations and are only visible to you.' => '', 'Conversations' => '', 'Delete conversation' => '', - 'Disabled' => '', 'Do you really want to delete this conversation?' => '', 'Do you really want to delete this message?' => '', 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', 'Is Originator' => '', diff --git a/messages/lt/base.php b/messages/lt/base.php index bcf90995..44789ab1 100644 --- a/messages/lt/base.php +++ b/messages/lt/base.php @@ -27,6 +27,7 @@ 'Created By' => 'Sukurta (kieno)', 'Delete' => 'Ištrinti', 'Delete conversation' => 'Ištrinti pokalbį', + 'Disabled' => 'Atjungtas', 'Do you really want to delete this conversation?' => 'Ar tikrai norite ištrinti šį pokalbį?', 'Do you really want to delete this message?' => 'Ar tikrai norite ištrinti šią žinutę?', 'Do you really want to delete this tag?' => 'Ar tikrai norite ištrinti šią žymą?', @@ -54,6 +55,7 @@ 'My Tags' => 'Mano žymos', 'New conversation from {senderName}' => 'Naujas pokalbis {senderName}', 'New message from {senderName}' => 'Nauja žinutė nuo {senderName}', + 'Optional' => 'Pasirinktina', 'Participants' => 'Dalyviai', 'Pin' => 'Segtukas', 'Pinned' => 'Prisegta', @@ -61,7 +63,9 @@ 'Receive Notifications when someone sends you a message.' => 'Gauti pranešimus, kai kas nors siunčia jums žinutę.', 'Receive private messages' => 'Gauti privačių žinučių', 'Recipient' => 'Gavėjas', + 'Reply' => 'Atsakyti', 'Reply now' => 'Atsakyti dabar', + 'Required' => 'Reikalinga', 'Saturday' => 'Šeštadienis', 'Search' => 'Ieškoti', 'Send' => 'Išsiųsti', @@ -76,7 +80,6 @@ 'There are no messages yet.' => 'Kol kas nėra žinučių.', 'This user is already participating in this conversation.' => 'Šis naudotojas jau dalyvauja pokalbyje.', 'Thursday' => 'Ketvitadienis', - 'Title' => 'Pavadinimas', 'Today' => 'Šiandien', 'Tuesday' => 'Antradienis', 'Unpin' => 'Atsegti', @@ -107,9 +110,8 @@ '{username} joined the conversation.' => '{username} prisijungė prie pokalbio.', '{username} left the conversation.' => '{username} paliko pokalbį.', 'Advanced Messages Search' => '', - 'Disabled' => '', - 'Optional' => '', - 'Required' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', '{senderName} created a new conversation' => '', '{senderName} sent you a new message' => '', ]; diff --git a/messages/lv/base.php b/messages/lv/base.php index 37cb56d7..eaacce73 100644 --- a/messages/lv/base.php +++ b/messages/lv/base.php @@ -9,6 +9,7 @@ 'Created At' => 'Izveidota', 'Created By' => 'Izveidoja', 'Delete' => 'Dzēst', + 'Disabled' => 'Atslēgts', 'Edit' => 'Rediģēt', 'Edit message entry' => 'Labot ziņas ierakstu', 'Is Originator' => 'Ir iniciātors', @@ -26,7 +27,6 @@ 'Show all messages' => 'Rādīt visas ziņas', 'Subject' => 'Tēma', 'There are no messages yet.' => 'Šeit vēl nav nevienas ziņas.', - 'Title' => 'Nosaukums', 'Unpin' => 'Atspraust', 'Updated At' => 'Atjaunots', 'Updated By' => 'Atjaunoja', @@ -52,12 +52,13 @@ 'Conversation' => '', 'Conversation tags can be used to filter conversations and are only visible to you.' => '', 'Delete conversation' => '', - 'Disabled' => '', 'Do you really want to delete this conversation?' => '', 'Do you really want to delete this message?' => '', 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', + 'Edit conversation subject' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Filter' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', @@ -78,6 +79,7 @@ 'Receive Notifications when someone opens a new conversation.' => '', 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', + 'Reply' => '', 'Required' => '', 'Saturday' => '', 'Seperate restrictions for new users' => '', diff --git a/messages/nb-NO/base.php b/messages/nb-NO/base.php index e657aacb..7ebe66fc 100644 --- a/messages/nb-NO/base.php +++ b/messages/nb-NO/base.php @@ -18,6 +18,7 @@ 'Created By' => 'Skrevet av', 'Delete' => 'Slett', 'Delete conversation' => 'Slett samtale', + 'Disabled' => 'Deaktivert', 'Do you really want to delete this conversation?' => 'Ønsker du virkelig og slette denne samtalen?', 'Do you really want to delete this message?' => 'Ønsker du virkelig og slette denne meldingen?', 'Do you really want to leave this conversation?' => 'Ønsker du virkelig og forlate denne samtalen?', @@ -44,6 +45,7 @@ 'Receive private messages' => 'Motta private meldinger', 'Recipient' => 'Mottaker', 'Reply now' => 'Svar nå', + 'Required' => 'Påkrevd', 'Search' => 'Søk', 'Send' => 'Send', 'Send message' => 'Send melding', @@ -55,7 +57,6 @@ 'Tags' => 'Tags', 'There are no messages yet.' => 'Det er ingen meldinger her enda.', 'This user is already participating in this conversation.' => 'Brukeren deltar allerede i denne samtalen.', - 'Title' => 'Tittel', 'Today' => 'I dag', 'Unpin' => 'Fjern pin', 'Until a user is member since (days)' => 'Til en bruker er medlem siden (dager)', @@ -79,8 +80,9 @@ 'Add Tag' => '', 'Advanced Messages Search' => '', 'Conversation tags can be used to filter conversations and are only visible to you.' => '', - 'Disabled' => '', 'Do you really want to delete this tag?' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', 'Manage Tags' => '', @@ -90,7 +92,7 @@ 'New conversation from {senderName}' => '', 'Optional' => '', 'Pin' => '', - 'Required' => '', + 'Reply' => '', 'Saturday' => '', 'Sunday' => '', 'Thursday' => '', diff --git a/messages/nl/base.php b/messages/nl/base.php index e1fc0012..deb9e322 100644 --- a/messages/nl/base.php +++ b/messages/nl/base.php @@ -33,8 +33,10 @@ 'Do you really want to delete this tag?' => 'Wil u dit label echt verwijderen?', 'Do you really want to leave this conversation?' => 'Wilt u dit gesprek echt verlaten?', 'Edit' => 'Bijwerken', + 'Edit conversation subject' => 'Bewerk het onderwerp van het gesprek', 'Edit message entry' => 'Bericht bewerken', 'Edit message...' => 'Bewerk bericht ...', + 'Edit subject' => 'Onderwerp bewerken', 'Filter' => 'Filter', 'Friday' => 'Vrijdag', 'Here you can manage your private conversation tags.' => 'Hier kunt u uw privégesprekslabels beheren.', @@ -63,6 +65,7 @@ 'Receive Notifications when someone sends you a message.' => 'Ontvang meldingen wanneer iemand u een bericht stuurt.', 'Receive private messages' => 'Ontvang privéberichten', 'Recipient' => 'Ontvanger', + 'Reply' => 'Antwoord', 'Reply now' => 'Antwoord nu', 'Required' => 'Verplicht', 'Saturday' => 'Zaterdag', @@ -79,7 +82,6 @@ 'There are no messages yet.' => 'Er zijn nog geen berichten.', 'This user is already participating in this conversation.' => 'Deze gebruiker neemt al deel aan dit gesprek.', 'Thursday' => 'Donderdag', - 'Title' => 'Titel', 'Today' => 'Vandaag', 'Tuesday' => 'Dinsdag', 'Unpin' => 'Vrijmaken', diff --git a/messages/nn-NO/base.php b/messages/nn-NO/base.php index 4bd01251..e100daf6 100644 --- a/messages/nn-NO/base.php +++ b/messages/nn-NO/base.php @@ -1,7 +1,7 @@ 'Tittel', + 'Disabled' => 'Funksjonshemmet', 'User' => 'Bruker', 'Confirm deleting conversation' => '', 'Confirm leaving conversation' => '', @@ -30,14 +30,15 @@ 'Created By' => '', 'Delete' => '', 'Delete conversation' => '', - 'Disabled' => '', 'Do you really want to delete this conversation?' => '', 'Do you really want to delete this message?' => '', 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', 'Edit' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Filter' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', @@ -66,6 +67,7 @@ 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', 'Recipient' => '', + 'Reply' => '', 'Reply now' => '', 'Required' => '', 'Saturday' => '', diff --git a/messages/pl/base.php b/messages/pl/base.php index 3c0c6531..bb1d3186 100644 --- a/messages/pl/base.php +++ b/messages/pl/base.php @@ -28,6 +28,7 @@ 'Created By' => 'Utworzone przez', 'Delete' => 'Usuń', 'Delete conversation' => 'Usuń rozmowę', + 'Disabled' => 'Wyłączony', 'Do you really want to delete this conversation?' => 'Na pewno chcesz usunąć rozmowę?', 'Do you really want to delete this message?' => 'Na pewno chcesz usunąć wiadomość?', 'Do you really want to delete this tag?' => 'Czy a pewno chcesz usunąć to oznaczenie?', @@ -55,6 +56,7 @@ 'My Tags' => 'Moje Oznaczenia', 'New conversation from {senderName}' => 'Nowa wiadomość od {senderName}', 'New message from {senderName}' => 'Nowa wiadomość od {senderName}', + 'Optional' => 'Opcjonalne', 'Participants' => 'Uczestnicy', 'Pin' => 'Wyróżnij', 'Pinned' => 'Przypnij', @@ -62,7 +64,9 @@ 'Receive Notifications when someone sends you a message.' => 'Otrzymywanie powiadomień kiedy ktoś wyśle Ci wiadomość', 'Receive private messages' => 'Otrzymywanie prywatnych wiadomości', 'Recipient' => 'Odbiorca', + 'Reply' => 'Odpowiedz', 'Reply now' => 'Odpowiedz teraz', + 'Required' => 'Wymagane', 'Saturday' => 'Sobota', 'Search' => 'Szukaj', 'Send' => 'Wyślij', @@ -77,7 +81,6 @@ 'There are no messages yet.' => 'Nie ma jeszcze wiadomości.', 'This user is already participating in this conversation.' => 'Ten użytkownik uczestniczy już w tej rozmowie.', 'Thursday' => 'Czwartek', - 'Title' => 'Tytuł', 'Today' => 'Dziś', 'Tuesday' => 'Wtorek', 'Unpin' => 'Odepnij', @@ -107,9 +110,8 @@ '{senderName} sent you a new message in {conversationTitle}' => '{senderName} wysłał ci nową wiadomość w {conversationTitle}', '{username} joined the conversation.' => '{username} dołączył do konwersacji.', '{username} left the conversation.' => '{username} opuścił konwersację.', - 'Disabled' => '', - 'Optional' => '', - 'Required' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', '{senderName} created a new conversation' => '', '{senderName} sent you a new message' => '', ]; diff --git a/messages/pt-BR/base.php b/messages/pt-BR/base.php index 442867fb..e5a481c7 100644 --- a/messages/pt-BR/base.php +++ b/messages/pt-BR/base.php @@ -1,114 +1,117 @@ Confirm deleting conversation' => 'Confirmar a exclusão da conversa', - 'Confirm leaving conversation' => 'Confirmar saída da conversa', - 'Confirm message deletion' => 'Confirmar exclusão da mensagem', - 'Confirm tag deletion' => 'Confirmar exclusão da tag', - 'Edit conversation tags' => 'Editar tags de conversação', - 'Edit tag' => 'Editar tag', - 'Manage conversation tags' => 'Gerenciar tags de conversa', - 'Messenger module configuration' => 'Configuração do módulo Messenger', - 'New conversation' => 'Nova conversa', - 'New message' => 'Nova mensagem', - 'A tag with the same name already exists.' => 'Já existe uma tag com o mesmo nome.', - 'Add Tag' => 'Adicionar etiqueta', - 'Add participants' => 'Adicionar participantes', - 'Add recipients' => 'Adicionar destinatários', - 'Add user' => 'Adicionar usuário', - 'Advanced Messages Search' => 'Pesquisa avançada de mensagens', - 'Allow others to send you private messages' => 'Permitir que outros enviem mensagens privadas para você', - 'Allow users to start new conversations' => 'Permitir que os usuários iniciem novas conversas', - 'Cancel' => 'Cancelar', - 'Confirm' => 'Confirmar', - 'Conversation' => 'Conversação', - 'Conversation tags can be used to filter conversations and are only visible to you.' => 'As tags de conversação podem ser usadas para filtrar conversas e são visíveis apenas para você.', - 'Conversations' => 'Conversas', - 'Created At' => 'Criado Em', - 'Created By' => 'Criado Por', - 'Delete' => 'Apagar', - 'Delete conversation' => 'Apagar conversa', - 'Disabled' => 'Desativado', - 'Do you really want to delete this conversation?' => 'Você quer realmente apagar esta conversa?', - 'Do you really want to delete this message?' => 'Você realmente quer apagar esta mensagem?', - 'Do you really want to delete this tag?' => 'Tem certeza de que deseja excluir esta tag?', - 'Do you really want to leave this conversation?' => 'Você quer realmente sair desta conversa?', - 'Edit' => 'Editar', - 'Edit message entry' => 'Editar mensagem', - 'Edit message...' => 'Editar mensagem ...', - 'Filter' => 'Filtro', - 'Friday' => 'sexta-feira', - 'Here you can manage your private conversation tags.' => 'Aqui você pode gerenciar suas tags de conversas privadas.', - 'Is Originator' => 'É Originador', - 'Last Viewed' => 'Última Visualização', - 'Leave' => 'Sair', - 'Leave conversation' => 'Deixar conversa', - 'Leave fields blank in order to disable a restriction.' => 'Deixe os campos em branco para desativar uma restrição.', - 'Manage Tags' => 'Gerenciar tags', - 'Mark Unread' => 'Marcar como não lido', - 'Max messages allowed per day' => 'Máximo de mensagens permitidas por dia', - 'Max number of messages allowed for a new user per day' => 'Número máximo de mensagens permitido para um novo usuário por dia', - 'Max number of new conversations allowed for a new user per day' => 'Número máximo de novas conversas permitidas para um novo usuário por dia', - 'Max number of new conversations allowed for a user per day' => 'Número máximo de novas conversas permitidas para um usuário por dia', - 'Message' => 'Mensagem', - 'Messages' => 'Mensagens', - 'Monday' => 'Segunda-feira', - 'My Tags' => 'Minhas Tags', - 'New conversation from {senderName}' => 'Nova conversa de {senderName}', - 'New message from {senderName}' => 'Nova mensagem de {senderName}', - 'Optional' => 'Opcional', - 'Participants' => 'Participantes', - 'Pin' => 'Fixar', - 'Pinned' => 'Fixado', - 'Receive Notifications when someone opens a new conversation.' => 'Receber notificações quando alguém abrir uma nova conversa.', - 'Receive Notifications when someone sends you a message.' => 'Receber notificações quando alguém lhe enviar uma mensagem.', - 'Receive private messages' => 'Receber mensagens privadas', - 'Recipient' => 'Destinatário', - 'Reply now' => 'Responder agora', - 'Required' => 'Obrigatório', - 'Saturday' => 'Sábado', - 'Search' => 'Procurar', - 'Send' => 'Enviar', - 'Send message' => 'Enviar mensagem', - 'Seperate restrictions for new users' => 'Restrições separadas para novos usuários', - 'Show all messages' => 'Mostrar todas as mensagens', - 'Show menu item in top Navigation' => 'Mostrar item de menu no topo Navegação', - 'Start new conversations' => 'Iniciar novas conversas', - 'Subject' => 'Assunto', - 'Sunday' => 'Domingo', - 'Tags' => 'Tags', - 'There are no messages yet.' => 'Não há mensagens ainda.', - 'This user is already participating in this conversation.' => 'Este usuário já está participando desta conversa.', - 'Thursday' => 'Quinta-feira', - 'Title' => 'Título', - 'Today' => 'Hoje', - 'Tuesday' => 'Terça-feira', - 'Unpin' => 'Desprender', - 'Until a user is member since (days)' => 'Até que um usuário seja membro desde (dias)', - 'Updated At' => 'Atualizado Em', - 'Updated By' => 'Atualizado Por', - 'User' => 'Usuário', - 'User {name} is already participating!' => 'O usuário {name} já está participando!', - 'Wednesday' => 'Quarta-feira', - 'Write a message...' => 'Escreva uma mensagem...', - 'Yesterday' => 'Ontem', - 'You' => 'Você', - 'You are not allowed to participate in this conversation. You have been blocked by: {userNames}.' => 'Você não tem permissão para participar desta conversa. Você foi bloqueado por: {userNames}.', - 'You are not allowed to reply to users {userNames}!' => 'Você não tem permissão para responder aos usuários {userNames}!', - 'You are not allowed to send user {name} is already!' => 'Você ainda não pode enviar uma mensagem ao usuário {name}!', - 'You are not allowed to start a conversation with this user.' => 'Você não tem permissão para iniciar uma conversa com este usuário.', - 'You are not allowed to start a conversation with {userName}!' => 'Você não tem permissão para iniciar uma conversa com {userName}!', - 'You cannot send a email to yourself!' => 'Você NÃO PODE enviar um e-mail para si mesmo!', - 'You cannot send a message to yourself!' => 'Você não pode enviar uma mensagem para si mesmo!', - 'You cannot send a message without recipients!' => 'Você não pode enviar uma mensagem sem destinatários!', - 'You joined the conversation.' => 'Você entrou na conversa.', - 'You left the conversation.' => 'Você saiu da conversa.', - 'You\'ve exceeded your daily amount of new conversations.' => 'Você excedeu sua quantidade diária de novas conversas.', - 'edited' => 'editado', - '{n,plural,=1{# other} other{# others}}' => '{n,plural,=1{# other} other{# others}}', - '{senderName} created a new conversation' => '{senderName} criou uma nova conversa', - '{senderName} created a new conversation {conversationTitle}' => '{senderName} criou uma nova conversa {conversationTitle}', - '{senderName} sent you a new message' => '{senderName} enviou uma nova mensagem para você.', - '{senderName} sent you a new message in {conversationTitle}' => '{senderName} lhe enviou uma nova mensagem em {conversationTitle}', - '{username} joined the conversation.' => '{username} entrou na conversa.', - '{username} left the conversation.' => '{username} saiu da conversa.', + 'Confirm deleting conversation' => 'Confirmar a exclusão da conversa', + 'Confirm leaving conversation' => 'Confirmar saída da conversa', + 'Confirm message deletion' => 'Confirmar exclusão da mensagem', + 'Confirm tag deletion' => 'Confirmar exclusão da tag', + 'Edit conversation tags' => 'Editar tags de conversação', + 'Edit tag' => 'Editar tag', + 'Manage conversation tags' => 'Gerenciar tags de conversa', + 'Messenger module configuration' => 'Configuração do módulo Messenger', + 'New conversation' => 'Nova conversa', + 'New message' => 'Nova mensagem', + 'A tag with the same name already exists.' => 'Já existe uma tag com o mesmo nome.', + 'Add Tag' => 'Adicionar etiqueta', + 'Add participants' => 'Adicionar participantes', + 'Add recipients' => 'Adicionar destinatários', + 'Add user' => 'Adicionar usuário', + 'Advanced Messages Search' => 'Pesquisa avançada de mensagens', + 'Allow others to send you private messages' => 'Permitir que outros enviem mensagens privadas para você', + 'Allow users to start new conversations' => 'Permitir que os usuários iniciem novas conversas', + 'Cancel' => 'Cancelar', + 'Confirm' => 'Confirmar', + 'Conversation' => 'Conversação', + 'Conversation tags can be used to filter conversations and are only visible to you.' => 'As tags de conversação podem ser usadas para filtrar conversas e são visíveis apenas para você.', + 'Conversations' => 'Conversas', + 'Created At' => 'Criado Em', + 'Created By' => 'Criado Por', + 'Delete' => 'Apagar', + 'Delete conversation' => 'Apagar conversa', + 'Disabled' => 'Desativado', + 'Do you really want to delete this conversation?' => 'Você quer realmente apagar esta conversa?', + 'Do you really want to delete this message?' => 'Você realmente quer apagar esta mensagem?', + 'Do you really want to delete this tag?' => 'Tem certeza de que deseja excluir esta tag?', + 'Do you really want to leave this conversation?' => 'Você quer realmente sair desta conversa?', + 'Edit' => 'Editar', + 'Edit message entry' => 'Editar mensagem', + 'Edit message...' => 'Editar mensagem ...', + 'Filter' => 'Filtro', + 'Friday' => 'sexta-feira', + 'Here you can manage your private conversation tags.' => 'Aqui você pode gerenciar suas tags de conversas privadas.', + 'Is Originator' => 'É Originador', + 'Last Viewed' => 'Última Visualização', + 'Leave' => 'Sair', + 'Leave conversation' => 'Deixar conversa', + 'Leave fields blank in order to disable a restriction.' => 'Deixe os campos em branco para desativar uma restrição.', + 'Manage Tags' => 'Gerenciar tags', + 'Mark Unread' => 'Marcar como não lido', + 'Max messages allowed per day' => 'Máximo de mensagens permitidas por dia', + 'Max number of messages allowed for a new user per day' => 'Número máximo de mensagens permitido para um novo usuário por dia', + 'Max number of new conversations allowed for a new user per day' => 'Número máximo de novas conversas permitidas para um novo usuário por dia', + 'Max number of new conversations allowed for a user per day' => 'Número máximo de novas conversas permitidas para um usuário por dia', + 'Message' => 'Mensagem', + 'Messages' => 'Mensagens', + 'Monday' => 'Segunda-feira', + 'My Tags' => 'Minhas Tags', + 'New conversation from {senderName}' => 'Nova conversa de {senderName}', + 'New message from {senderName}' => 'Nova mensagem de {senderName}', + 'Optional' => 'Opcional', + 'Participants' => 'Participantes', + 'Pin' => 'Fixar', + 'Pinned' => 'Fixado', + 'Receive Notifications when someone opens a new conversation.' => 'Receber notificações quando alguém abrir uma nova conversa.', + 'Receive Notifications when someone sends you a message.' => 'Receber notificações quando alguém lhe enviar uma mensagem.', + 'Receive private messages' => 'Receber mensagens privadas', + 'Recipient' => 'Destinatário', + 'Reply' => '💬', + 'Reply now' => 'Responder agora', + 'Required' => 'Obrigatório', + 'Saturday' => 'Sábado', + 'Search' => 'Procurar', + 'Send' => 'Enviar', + 'Send message' => 'Enviar mensagem', + 'Seperate restrictions for new users' => 'Restrições separadas para novos usuários', + 'Show all messages' => 'Mostrar todas as mensagens', + 'Show menu item in top Navigation' => 'Mostrar item de menu no topo Navegação', + 'Start new conversations' => 'Iniciar novas conversas', + 'Subject' => 'Assunto', + 'Sunday' => 'Domingo', + 'Tags' => 'Tags', + 'There are no messages yet.' => 'Não há mensagens ainda.', + 'This user is already participating in this conversation.' => 'Este usuário já está participando desta conversa.', + 'Thursday' => 'Quinta-feira', + 'Today' => 'Hoje', + 'Tuesday' => 'Terça-feira', + 'Unpin' => 'Desprender', + 'Until a user is member since (days)' => 'Até que um usuário seja membro desde (dias)', + 'Updated At' => 'Atualizado Em', + 'Updated By' => 'Atualizado Por', + 'User' => 'Usuário', + 'User {name} is already participating!' => 'O usuário {name} já está participando!', + 'Wednesday' => 'Quarta-feira', + 'Write a message...' => 'Escreva uma mensagem...', + 'Yesterday' => 'Ontem', + 'You' => 'Você', + 'You are not allowed to participate in this conversation. You have been blocked by: {userNames}.' => 'Você não tem permissão para participar desta conversa. Você foi bloqueado por: {userNames}.', + 'You are not allowed to reply to users {userNames}!' => 'Você não tem permissão para responder aos usuários {userNames}!', + 'You are not allowed to send user {name} is already!' => 'Você ainda não pode enviar uma mensagem ao usuário {name}!', + 'You are not allowed to start a conversation with this user.' => 'Você não tem permissão para iniciar uma conversa com este usuário.', + 'You are not allowed to start a conversation with {userName}!' => 'Você não tem permissão para iniciar uma conversa com {userName}!', + 'You cannot send a email to yourself!' => 'Você NÃO PODE enviar um e-mail para si mesmo!', + 'You cannot send a message to yourself!' => 'Você não pode enviar uma mensagem para si mesmo!', + 'You cannot send a message without recipients!' => 'Você não pode enviar uma mensagem sem destinatários!', + 'You joined the conversation.' => 'Você entrou na conversa.', + 'You left the conversation.' => 'Você saiu da conversa.', + 'You\'ve exceeded your daily amount of new conversations.' => 'Você excedeu sua quantidade diária de novas conversas.', + 'edited' => 'editado', + '{n,plural,=1{# other} other{# others}}' => '{n,plural,=1{# other} other{# others}}', + '{senderName} created a new conversation' => '{senderName} criou uma nova conversa', + '{senderName} created a new conversation {conversationTitle}' => '{senderName} criou uma nova conversa {conversationTitle}', + '{senderName} sent you a new message' => '{senderName} enviou uma nova mensagem para você.', + '{senderName} sent you a new message in {conversationTitle}' => '{senderName} lhe enviou uma nova mensagem em {conversationTitle}', + '{username} joined the conversation.' => '{username} entrou na conversa.', + '{username} left the conversation.' => '{username} saiu da conversa.', + 'Edit conversation subject' => '', + 'Edit subject' => '', ]; diff --git a/messages/pt/base.php b/messages/pt/base.php index 897c140d..9b026f0f 100644 --- a/messages/pt/base.php +++ b/messages/pt/base.php @@ -26,6 +26,7 @@ 'Created By' => 'Criado Por', 'Delete' => 'Apagar', 'Delete conversation' => 'Apagar conversa', + 'Disabled' => 'Desabilitado', 'Do you really want to delete this conversation?' => 'Queres mesmo apagar esta conversa?', 'Do you really want to delete this message?' => 'Queres mesmo apagar esta mensagem?', 'Do you really want to delete this tag?' => 'Queres mesmo apagar esta etiqueta?', @@ -57,7 +58,9 @@ 'Receive Notifications when someone sends you a message.' => 'Receber notificações quando alguém te envia uma mensagem.', 'Receive private messages' => 'Receber mensagens privadas', 'Recipient' => 'Pessoas destinatárias', + 'Reply' => 'Responder', 'Reply now' => 'Responder agora', + 'Required' => 'Obrigatório', 'Saturday' => 'Sábado', 'Search' => 'Pesquisar', 'Send' => 'Enviar', @@ -72,7 +75,6 @@ 'There are no messages yet.' => 'Ainda não há mensagens.', 'This user is already participating in this conversation.' => 'Esta pessoa já está nesta conversa.', 'Thursday' => 'Quinta-feira', - 'Title' => 'Título', 'Today' => 'Hoje', 'Tuesday' => 'Terça-feira', 'Unpin' => 'Desafixar', @@ -101,12 +103,12 @@ '{username} left the conversation.' => '{username} abandonou a conversa.', 'New conversation' => '', 'Advanced Messages Search' => '', - 'Disabled' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', 'Mark Unread' => '', 'New conversation from {senderName}' => '', 'Optional' => '', 'Pin' => '', - 'Required' => '', 'You are not allowed to participate in this conversation. You have been blocked by: {userNames}.' => '', '{senderName} created a new conversation' => '', '{senderName} created a new conversation {conversationTitle}' => '', diff --git a/messages/ro/base.php b/messages/ro/base.php index 0e224d9c..55d8e011 100644 --- a/messages/ro/base.php +++ b/messages/ro/base.php @@ -4,6 +4,7 @@ 'Cancel' => 'Anulează', 'Confirm' => 'Confirmă', 'Delete' => 'Șterge', + 'Disabled' => '비활성화됨', 'Edit' => 'Editează', 'Filter' => 'Filtrează', 'Message' => 'Mesaj', @@ -12,7 +13,6 @@ 'Search' => 'Căutare', 'Send' => 'Trimite', 'Subject' => '제목', - 'Title' => 'Titlul', 'Unpin' => 'Anulează Anunț', 'User' => 'Utilizator', 'You' => 'Tu', @@ -40,13 +40,14 @@ 'Created At' => '', 'Created By' => '', 'Delete conversation' => '', - 'Disabled' => '', 'Do you really want to delete this conversation?' => '', 'Do you really want to delete this message?' => '', 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', 'Is Originator' => '', @@ -71,6 +72,7 @@ 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', 'Recipient' => '', + 'Reply' => '', 'Reply now' => '', 'Required' => '', 'Saturday' => '', diff --git a/messages/ru/base.php b/messages/ru/base.php index 02d0a082..737cc898 100644 --- a/messages/ru/base.php +++ b/messages/ru/base.php @@ -26,6 +26,7 @@ 'Created By' => 'Создано', 'Delete' => 'Удалить', 'Delete conversation' => 'Удалить диалог', + 'Disabled' => 'Отключён', 'Do you really want to delete this conversation?' => 'Вы действительно хотите удалить эту переписку?', 'Do you really want to delete this message?' => 'Вы действительно хотите удалить это сообщение?', 'Do you really want to delete this tag?' => 'Вы действительно хотите удалить эту метку?', @@ -53,6 +54,7 @@ 'My Tags' => 'Мои метки', 'New conversation from {senderName}' => 'Новый разговор от пользователя {senderName}', 'New message from {senderName}' => 'Новое сообщение от {senderName}', + 'Optional' => 'Необязательный', 'Participants' => 'Участники', 'Pin' => 'Пометить', 'Pinned' => 'Закреплено', @@ -60,7 +62,9 @@ 'Receive Notifications when someone sends you a message.' => 'Получать уведомление, когда кто-то пишет вам сообщение', 'Receive private messages' => 'Принимать личные сообщения', 'Recipient' => 'Получатель', + 'Reply' => 'Ответить', 'Reply now' => 'Ответить сейчас', + 'Required' => 'Обязательное', 'Saturday' => 'Суббота', 'Search' => 'Поиск', 'Send' => 'Отправить', @@ -75,7 +79,6 @@ 'There are no messages yet.' => 'Здесь пока нет сообщений.', 'This user is already participating in this conversation.' => 'Этот пользователь уже участвует в этом чате', 'Thursday' => 'Четверг', - 'Title' => 'Заголовок', 'Today' => 'Сегодня', 'Tuesday' => 'Вторник', 'Unpin' => 'Открепить', @@ -104,9 +107,8 @@ '{username} left the conversation.' => '{username} покинул разговор.', 'New conversation' => '', 'Advanced Messages Search' => '', - 'Disabled' => '', - 'Optional' => '', - 'Required' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', 'You are not allowed to send user {name} is already!' => '', '{senderName} created a new conversation' => '', '{senderName} created a new conversation {conversationTitle}' => '', diff --git a/messages/sk/base.php b/messages/sk/base.php index 10e613cb..625e19fb 100644 --- a/messages/sk/base.php +++ b/messages/sk/base.php @@ -28,6 +28,7 @@ 'Created By' => 'Vytvoril', 'Delete' => 'Odstrániť', 'Delete conversation' => 'Odstrániť konverzáciu', + 'Disabled' => 'Zakázané', 'Do you really want to delete this conversation?' => 'Naozaj chcete odstrániť túto konverzáciu?', 'Do you really want to delete this message?' => 'Naozaj chcete odstrániť túto správu?', 'Do you really want to delete this tag?' => 'Naozaj chcete odstrániť tento štítok?', @@ -55,6 +56,7 @@ 'My Tags' => 'Moje štítky', 'New conversation from {senderName}' => 'Nová konverzácia od {senderName}', 'New message from {senderName}' => 'Nová správa od {senderName}', + 'Optional' => 'Voliteľné', 'Participants' => 'Účastníci', 'Pin' => 'Špendlík', 'Pinned' => 'Pripnuté', @@ -62,7 +64,9 @@ 'Receive Notifications when someone sends you a message.' => 'Dostávajte upozornenia, keď vám niekto pošle správu.', 'Receive private messages' => 'Prijímať súkromné ​​správy', 'Recipient' => 'Príjemca', + 'Reply' => 'Odpovedz', 'Reply now' => 'Odpovedať teraz', + 'Required' => 'Požadovaný', 'Saturday' => 'Sobota', 'Search' => 'Hľadať', 'Send' => 'Odoslať', @@ -77,7 +81,6 @@ 'There are no messages yet.' => 'Zatiaľ nie sú žiadne správy.', 'This user is already participating in this conversation.' => 'Tento používateľ sa už tejto konverzácie zúčastňuje.', 'Thursday' => 'Štvrtok', - 'Title' => 'Názov', 'Today' => 'Dnes', 'Tuesday' => 'Utorok', 'Unpin' => 'Odopnúť', @@ -107,9 +110,8 @@ '{senderName} sent you a new message in {conversationTitle}' => '{senderName} vám poslal novú správu v {conversationTitle}', '{username} joined the conversation.' => '{username} sa pripojil ku konverzácii.', '{username} left the conversation.' => 'Používateľ {username} opustil konverzáciu.', - 'Disabled' => '', - 'Optional' => '', - 'Required' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', '{senderName} created a new conversation' => '', '{senderName} sent you a new message' => '', ]; diff --git a/messages/sl/base.php b/messages/sl/base.php index 7361b2d9..50765a9d 100644 --- a/messages/sl/base.php +++ b/messages/sl/base.php @@ -4,9 +4,10 @@ 'Cancel' => 'Odpovej', 'Confirm' => 'Potrdi', 'Delete' => 'Briši', + 'Disabled' => 'Onemogočeno', 'Edit' => 'Uredi', + 'Reply' => 'Odgovori', 'Search' => 'Išči', - 'Title' => 'Naslov', 'User' => 'Uporabnik', 'Confirm deleting conversation' => '', 'Confirm leaving conversation' => '', @@ -32,13 +33,14 @@ 'Created At' => '', 'Created By' => '', 'Delete conversation' => '', - 'Disabled' => '', 'Do you really want to delete this conversation?' => '', 'Do you really want to delete this message?' => '', 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Filter' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', diff --git a/messages/sq/base.php b/messages/sq/base.php index 0340db25..3d39e98e 100644 --- a/messages/sq/base.php +++ b/messages/sq/base.php @@ -3,10 +3,11 @@ return [ 'Cancel' => 'Anulo', 'Delete' => 'Fshij', + 'Disabled' => 'me aftësi të kufizuara', 'Edit' => 'Ndrysho', + 'Reply' => 'Përgjigju', 'Search' => 'Kërko', 'Send' => 'Dërgo', - 'Title' => 'Titulli', 'User' => 'Përdoruesi', 'Confirm deleting conversation' => '', 'Confirm leaving conversation' => '', @@ -33,13 +34,14 @@ 'Created At' => '', 'Created By' => '', 'Delete conversation' => '', - 'Disabled' => '', 'Do you really want to delete this conversation?' => '', 'Do you really want to delete this message?' => '', 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Filter' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', diff --git a/messages/sr/base.php b/messages/sr/base.php index 04710a76..92ca7547 100644 --- a/messages/sr/base.php +++ b/messages/sr/base.php @@ -25,6 +25,7 @@ 'Created By' => 'Kreirano od', 'Delete' => 'Obriši', 'Delete conversation' => 'Obriši razgovor', + 'Disabled' => 'Onemogućeno', 'Do you really want to delete this conversation?' => 'Zaista želite obrisati ovaj razgovor?', 'Do you really want to delete this message?' => 'Da li zaista želite obrisati ovu poruku?', 'Do you really want to delete this tag?' => 'Želite li zaista izbrisati ovu oznaku?', @@ -56,7 +57,9 @@ 'Receive Notifications when someone sends you a message.' => 'Primajte obaveštenja kad vam neko pošalje poruku.', 'Receive private messages' => 'Primaj privatne poruke', 'Recipient' => 'Primalac', + 'Reply' => 'Odgovor', 'Reply now' => 'Odgovori sada', + 'Required' => 'Potreban', 'Saturday' => 'Subota', 'Search' => 'Pretraži', 'Send' => 'Pošalji', @@ -71,7 +74,6 @@ 'There are no messages yet.' => 'Još nema poruka.', 'This user is already participating in this conversation.' => 'Ovaj korisnik već učestvuje u ovom razgovoru.', 'Thursday' => 'Četvrtak', - 'Title' => 'Funkcija', 'Today' => 'Danas', 'Tuesday' => 'Utorak', 'Unpin' => 'Otkači', @@ -92,12 +94,12 @@ 'Messenger module configuration' => '', 'New conversation' => '', 'Advanced Messages Search' => '', - 'Disabled' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', 'Mark Unread' => '', 'New conversation from {senderName}' => '', 'Optional' => '', 'Pin' => '', - 'Required' => '', 'Yesterday' => '', 'You are not allowed to participate in this conversation. You have been blocked by: {userNames}.' => '', 'You are not allowed to reply to users {userNames}!' => '', diff --git a/messages/sv/base.php b/messages/sv/base.php index de290727..76a39197 100644 --- a/messages/sv/base.php +++ b/messages/sv/base.php @@ -28,6 +28,7 @@ 'Created By' => 'Skapad av', 'Delete' => 'Ta bort', 'Delete conversation' => 'Radera konversation', + 'Disabled' => 'Inaktiverad', 'Do you really want to delete this conversation?' => 'Vill du verkligen radera konversationen?', 'Do you really want to delete this message?' => 'Vill du verkligen radera detta meddelande?', 'Do you really want to delete this tag?' => 'Vill du verkligen ta bort den här taggen?', @@ -55,6 +56,7 @@ 'My Tags' => 'Mina taggar', 'New conversation from {senderName}' => 'Ny konversation från {senderName}', 'New message from {senderName}' => 'Nytt meddelande från {senderName}', + 'Optional' => 'Frivillig', 'Participants' => 'Deltagare', 'Pin' => 'Pinna', 'Pinned' => 'Fastnålad', @@ -62,7 +64,9 @@ 'Receive Notifications when someone sends you a message.' => 'Erhåll notis när någon sänder dig ett meddelande', 'Receive private messages' => 'Erhåll privata meddelanden', 'Recipient' => 'Mottagare', + 'Reply' => 'Svara', 'Reply now' => 'Svara nu', + 'Required' => 'Tvingande', 'Saturday' => 'Lördag', 'Search' => 'Sök', 'Send' => 'Skicka', @@ -77,7 +81,6 @@ 'There are no messages yet.' => 'Det finns inga meddelanden ännu.', 'This user is already participating in this conversation.' => 'Den här användaren deltar redan i denna konversation.', 'Thursday' => 'Torsdag', - 'Title' => 'Rubrik', 'Today' => 'I dag', 'Tuesday' => 'Tisdag', 'Unpin' => 'Ta bort nål', @@ -107,9 +110,8 @@ '{senderName} sent you a new message in {conversationTitle}' => '{senderName} skickade ett nytt meddelande till dig i {conversationTitle}', '{username} joined the conversation.' => '{username} anslöt till konversationen.', '{username} left the conversation.' => '{username} lämnade konversationen.', - 'Disabled' => '', - 'Optional' => '', - 'Required' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', '{senderName} created a new conversation' => '', '{senderName} sent you a new message' => '', ]; diff --git a/messages/sw/base.php b/messages/sw/base.php index e567298b..bf211ec5 100644 --- a/messages/sw/base.php +++ b/messages/sw/base.php @@ -34,8 +34,10 @@ 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', 'Edit' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Filter' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', @@ -64,6 +66,7 @@ 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', 'Recipient' => '', + 'Reply' => '', 'Reply now' => '', 'Required' => '', 'Saturday' => '', @@ -80,7 +83,6 @@ 'There are no messages yet.' => '', 'This user is already participating in this conversation.' => '', 'Thursday' => '', - 'Title' => '', 'Today' => '', 'Tuesday' => '', 'Unpin' => '', diff --git a/messages/th/base.php b/messages/th/base.php index 0ca4f407..98d9598b 100644 --- a/messages/th/base.php +++ b/messages/th/base.php @@ -24,6 +24,7 @@ 'Created By' => 'สร้างโดย', 'Delete' => 'ลบ', 'Delete conversation' => 'ลบบทสนทนา', + 'Disabled' => 'พิการ', 'Do you really want to delete this conversation?' => 'คุณต้องการลบการสนทนานี้จริงหรือ', 'Do you really want to delete this message?' => 'คุณต้องการลบข้อความนี้จริงหรือ', 'Do you really want to delete this tag?' => 'คุณต้องการลบแท็กนี้จริงหรือ', @@ -55,7 +56,9 @@ 'Receive Notifications when someone sends you a message.' => 'รับการแจ้งเตือนเมื่อมีคนส่งข้อความถึงคุณ', 'Receive private messages' => 'รับข้อความส่วนตัว', 'Recipient' => 'ผู้รับ', + 'Reply' => 'ตอบ', 'Reply now' => 'ตอบกลับตอนนี้', + 'Required' => 'จำเป็น', 'Saturday' => 'วันเสาร์', 'Search' => 'ค้นหา', 'Send' => 'ส่ง', @@ -70,7 +73,6 @@ 'There are no messages yet.' => 'ยังไม่มีข้อความ.', 'This user is already participating in this conversation.' => 'ผู้ใช้รายนี้เข้าร่วมการสนทนานี้แล้ว', 'Thursday' => 'วันพฤหัสบดี', - 'Title' => 'หัวข้อ', 'Today' => 'วันนี้', 'Tuesday' => 'วันอังคาร', 'Unpin' => 'เลิกตรึง', @@ -93,12 +95,12 @@ 'New conversation' => '', 'Add participants' => '', 'Advanced Messages Search' => '', - 'Disabled' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', 'Mark Unread' => '', 'New conversation from {senderName}' => '', 'Optional' => '', 'Pin' => '', - 'Required' => '', 'Yesterday' => '', 'You are not allowed to participate in this conversation. You have been blocked by: {userNames}.' => '', 'You are not allowed to reply to users {userNames}!' => '', diff --git a/messages/tr/base.php b/messages/tr/base.php index c5aca853..04763f26 100644 --- a/messages/tr/base.php +++ b/messages/tr/base.php @@ -15,6 +15,7 @@ 'Created By' => 'Oluşturan', 'Delete' => 'Sil', 'Delete conversation' => 'Konuşmayı sil', + 'Disabled' => 'Devre dışı', 'Do you really want to delete this conversation?' => 'Konuşmayı silmek istiyor musun?', 'Do you really want to delete this message?' => 'Mesajı silmek istiyor musun?', 'Do you really want to leave this conversation?' => 'Konuşmadan ayrılmak istiyor musun?', @@ -27,10 +28,13 @@ 'Message' => 'Mesaj', 'Messages' => 'Mesajlar', 'New message from {senderName}' => 'Yeni mesaj var. Gönderen {senderName}', + 'Optional' => 'Opsiyonel', 'Participants' => 'Katılımcılar', 'Pinned' => 'Başa Tuttur', 'Recipient' => 'Alıcı', + 'Reply' => 'Cevapla', 'Reply now' => 'Cevapla', + 'Required' => 'Gerekli', 'Search' => 'Arama', 'Send' => 'Gönder', 'Send message' => 'Mesaj gönder', @@ -38,7 +42,6 @@ 'Subject' => 'Konu', 'Tags' => 'Etiketler', 'There are no messages yet.' => 'Henüz mesaj bulunmuyor.', - 'Title' => 'Başlık', 'Unpin' => 'Sabitlemeyi kaldır', 'Updated At' => 'Güncelleme zamanı', 'Updated By' => 'Güncelleyen', @@ -58,9 +61,10 @@ 'Allow others to send you private messages' => '', 'Allow users to start new conversations' => '', 'Conversation tags can be used to filter conversations and are only visible to you.' => '', - 'Disabled' => '', 'Do you really want to delete this tag?' => '', + 'Edit conversation subject' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', 'Is Originator' => '', @@ -74,12 +78,10 @@ 'Monday' => '', 'My Tags' => '', 'New conversation from {senderName}' => '', - 'Optional' => '', 'Pin' => '', 'Receive Notifications when someone opens a new conversation.' => '', 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', - 'Required' => '', 'Saturday' => '', 'Seperate restrictions for new users' => '', 'Show menu item in top Navigation' => '', diff --git a/messages/uk/base.php b/messages/uk/base.php index 58648945..254ed9d9 100644 --- a/messages/uk/base.php +++ b/messages/uk/base.php @@ -4,10 +4,11 @@ 'Cancel' => 'Скасувати', 'Confirm' => 'Підтвердити', 'Delete' => 'Видалити', + 'Disabled' => 'Вимкнено', 'Edit' => 'Редагувати', + 'Required' => 'Вимагається', 'Search' => 'Пошук', 'Tags' => 'Теги', - 'Title' => 'Заголовок', 'User' => 'Користувач', 'Confirm deleting conversation' => '', 'Confirm leaving conversation' => '', @@ -33,13 +34,14 @@ 'Created At' => '', 'Created By' => '', 'Delete conversation' => '', - 'Disabled' => '', 'Do you really want to delete this conversation?' => '', 'Do you really want to delete this message?' => '', 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Filter' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', @@ -68,8 +70,8 @@ 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', 'Recipient' => '', + 'Reply' => '', 'Reply now' => '', - 'Required' => '', 'Saturday' => '', 'Send' => '', 'Send message' => '', diff --git a/messages/uz/base.php b/messages/uz/base.php index d4b2c7d9..fa59b134 100644 --- a/messages/uz/base.php +++ b/messages/uz/base.php @@ -1,7 +1,7 @@ 'Sarlavha', + 'Disabled' => 'Oʻchirilgan', 'User' => 'Foydalanuvchi', 'Confirm deleting conversation' => '', 'Confirm leaving conversation' => '', @@ -30,14 +30,15 @@ 'Created By' => '', 'Delete' => '', 'Delete conversation' => '', - 'Disabled' => '', 'Do you really want to delete this conversation?' => '', 'Do you really want to delete this message?' => '', 'Do you really want to delete this tag?' => '', 'Do you really want to leave this conversation?' => '', 'Edit' => '', + 'Edit conversation subject' => '', 'Edit message entry' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Filter' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', @@ -66,6 +67,7 @@ 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', 'Recipient' => '', + 'Reply' => '', 'Reply now' => '', 'Required' => '', 'Saturday' => '', diff --git a/messages/vi/base.php b/messages/vi/base.php index 73a77e92..3dab8959 100644 --- a/messages/vi/base.php +++ b/messages/vi/base.php @@ -16,6 +16,7 @@ 'Created By' => 'Tạo bởi', 'Delete' => 'Xóa', 'Delete conversation' => 'Xóa hội thoại', + 'Disabled' => 'Ngừng hoạt động', 'Do you really want to delete this conversation?' => 'Bạn thực sự muốn xóa cuộc hội thoại này?', 'Do you really want to delete this message?' => 'Bạn thực sự muốn xóa tin nhắn này?', 'Do you really want to leave this conversation?' => 'Bạn thực sự muốn rời cuộc hội thoại này?', @@ -36,6 +37,7 @@ 'Receive private messages' => 'Nhận tin nhắn riêng tư ', 'Recipient' => 'Người nhận', 'Reply now' => 'Trả lời bây giờ', + 'Required' => 'Bắt buộc', 'Saturday' => 'Thứ bảy', 'Search' => 'Tìm kiếm', 'Send' => 'Gửi', @@ -46,7 +48,6 @@ 'Tags' => 'Thẻ', 'There are no messages yet.' => 'Chưa có tin nhắn nào.', 'Thursday' => 'Thứ năm', - 'Title' => 'Tiêu đề', 'Today' => 'Hôm nay', 'Tuesday' => 'Thứ ba', 'Unpin' => 'Hủy ghim', @@ -68,9 +69,10 @@ 'Allow users to start new conversations' => '', 'Conversation' => '', 'Conversation tags can be used to filter conversations and are only visible to you.' => '', - 'Disabled' => '', 'Do you really want to delete this tag?' => '', + 'Edit conversation subject' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Here you can manage your private conversation tags.' => '', 'Leave fields blank in order to disable a restriction.' => '', 'Manage Tags' => '', @@ -85,7 +87,7 @@ 'Pin' => '', 'Receive Notifications when someone opens a new conversation.' => '', 'Receive Notifications when someone sends you a message.' => '', - 'Required' => '', + 'Reply' => '', 'Seperate restrictions for new users' => '', 'Show menu item in top Navigation' => '', 'Start new conversations' => '', diff --git a/messages/zh-CN/base.php b/messages/zh-CN/base.php index 4d95afa0..18babb89 100644 --- a/messages/zh-CN/base.php +++ b/messages/zh-CN/base.php @@ -14,6 +14,7 @@ 'Created By' => '创建人', 'Delete' => '删除', 'Delete conversation' => '删除讨论', + 'Disabled' => '生效', 'Do you really want to delete this conversation?' => '你真的要删除此讨论?', 'Do you really want to delete this message?' => '你真的要删除此消息?', 'Do you really want to leave this conversation?' => '你真的要退出此讨论?', @@ -30,6 +31,7 @@ 'Pinned' => '标记', 'Recipient' => '收件人', 'Reply now' => '现在回复', + 'Required' => '必填', 'Search' => '搜 索', 'Send' => '发送', 'Send message' => '发送消息', @@ -37,7 +39,6 @@ 'Subject' => '主题', 'Tags' => '标签', 'There are no messages yet.' => '还没有消息.', - 'Title' => '标题', 'Unpin' => '取消置顶', 'Updated At' => '修改于', 'Updated By' => '修改人', @@ -58,9 +59,10 @@ 'Allow users to start new conversations' => '', 'Conversation' => '', 'Conversation tags can be used to filter conversations and are only visible to you.' => '', - 'Disabled' => '', 'Do you really want to delete this tag?' => '', + 'Edit conversation subject' => '', 'Edit message...' => '', + 'Edit subject' => '', 'Friday' => '', 'Here you can manage your private conversation tags.' => '', 'Leave fields blank in order to disable a restriction.' => '', @@ -79,7 +81,7 @@ 'Receive Notifications when someone opens a new conversation.' => '', 'Receive Notifications when someone sends you a message.' => '', 'Receive private messages' => '', - 'Required' => '', + 'Reply' => '', 'Saturday' => '', 'Seperate restrictions for new users' => '', 'Show menu item in top Navigation' => '', diff --git a/messages/zh-TW/base.php b/messages/zh-TW/base.php index 3b10557f..20d53cd0 100644 --- a/messages/zh-TW/base.php +++ b/messages/zh-TW/base.php @@ -23,6 +23,7 @@ 'Conversations' => '對話', 'Delete' => '刪除', 'Delete conversation' => '刪除對話', + 'Disabled' => '已禁用', 'Do you really want to delete this conversation?' => '您確定真的要刪除這個對話嗎?', 'Do you really want to delete this message?' => '您確定真的要刪除這個訊息嗎?', 'Do you really want to delete this tag?' => '您真的想要刪除這個標籤嗎?', @@ -47,6 +48,7 @@ 'Receive Notifications when someone sends you a message.' => '每當有人傳送訊息給您時接收通知。', 'Receive private messages' => '接收私密訊息', 'Recipient' => '收件者', + 'Reply' => '回覆', 'Reply now' => '現在回覆', 'Search' => '搜尋', 'Send' => '傳送', @@ -58,7 +60,6 @@ 'Tags' => '標籤', 'There are no messages yet.' => '目前還沒有訊息。', 'This user is already participating in this conversation.' => '此用戶已經參加這個對話。', - 'Title' => '標題', 'Unpin' => '取消釘選', 'User' => '用戶', 'User {name} is already participating!' => '用戶{name}已經參加了!', @@ -76,7 +77,8 @@ 'Advanced Messages Search' => '', 'Created At' => '', 'Created By' => '', - 'Disabled' => '', + 'Edit conversation subject' => '', + 'Edit subject' => '', 'Friday' => '', 'Is Originator' => '', 'Last Viewed' => '', diff --git a/models/Message.php b/models/Message.php index bc124ab6..0a2a773c 100644 --- a/models/Message.php +++ b/models/Message.php @@ -4,6 +4,7 @@ use humhub\components\ActiveRecord; use humhub\modules\mail\Module; +use humhub\modules\notification\events\UnreadCountChangedEvent; use humhub\modules\ui\icon\widgets\Icon; use humhub\modules\user\models\User; use Yii; @@ -260,6 +261,10 @@ public function markUnread($userId = null) if ($userMessage) { $userMessage->last_viewed = null; $userMessage->save(); + + if ($userMessage->user) { + UnreadCountChangedEvent::triggerChanged($userMessage->user); + } } } @@ -324,8 +329,15 @@ public function seen($userId) 'message_id' => $this->id, ]); if ($userMessage !== null) { + $wasUnread = $userMessage->isUnread(); + $userMessage->last_viewed = date('Y-m-d G:i:s'); $userMessage->save(); + + // Only the transition from unread to read changes the unread count. + if ($wasUnread && $userMessage->user) { + UnreadCountChangedEvent::triggerChanged($userMessage->user); + } } } diff --git a/models/MessageNotification.php b/models/MessageNotification.php index cb013f71..a5396d58 100644 --- a/models/MessageNotification.php +++ b/models/MessageNotification.php @@ -5,6 +5,7 @@ use humhub\helpers\Html; use humhub\modules\content\widgets\richtext\converter\RichTextToEmailHtmlConverter; use humhub\modules\content\widgets\richtext\converter\RichTextToHtmlConverter; +use humhub\modules\fcmPush\Module; use humhub\modules\mail\helpers\Url; use humhub\modules\mail\live\NewUserMessage; use humhub\modules\mail\notifications\ConversationNotificationCategory; @@ -161,8 +162,9 @@ private function sendMail(User $user) private function sendPush(User $user) { + /** @var Module $fcmModule */ $fcmModule = Yii::$app->getModule('fcm-push'); - if (!$fcmModule || !$fcmModule->isActivated) { + if (!$fcmModule || !$fcmModule->isEnabled) { return; } if (!$this->canReceivePush($user)) { @@ -173,14 +175,21 @@ private function sendPush(User $user) $firebaseService = new \humhub\modules\fcmPush\services\MessagingService($fcmModule->getConfigureForm()); - $firebaseService->processMessage( + $args = [ $user, Yii::$app->name, $this->getSubHeadline(), Url::toMessenger($this->message, true), null, - null, - ); + ]; + + // fcm-push < 2.2.9 still requires the $notificationCount parameter + // (deprecated and ignored since 2.2.9) + if (version_compare($fcmModule->getVersion(), '2.2.9', '<')) { + $args[] = null; + } + + $firebaseService->processMessage(...$args); Yii::$app->i18n->autosetLocale(); } diff --git a/models/forms/ReplyForm.php b/models/forms/ReplyForm.php index 78aabf67..d89643f3 100644 --- a/models/forms/ReplyForm.php +++ b/models/forms/ReplyForm.php @@ -5,6 +5,7 @@ use humhub\modules\mail\helpers\Url; use humhub\modules\mail\models\Message; use humhub\modules\mail\models\MessageEntry; +use humhub\modules\notification\events\UnreadCountChangedEvent; use Yii; use yii\base\Model; @@ -96,6 +97,10 @@ public function save() if ($userMessage) { $userMessage->last_viewed = date('Y-m-d G:i:s'); $userMessage->save(); + + if ($userMessage->user) { + UnreadCountChangedEvent::triggerChanged($userMessage->user); + } } return true; diff --git a/module.json b/module.json index 211a8abe..c79c0b45 100644 --- a/module.json +++ b/module.json @@ -8,10 +8,9 @@ "messenger", "communication" ], - "version": "3.3.12", + "version": "3.4.5", "humhub": { - "minVersion": "1.18.1", - "maxVersion": "1.18" + "minVersion": "1.19" }, "homepage": "https://github.com/humhub/mail", "authors": [ diff --git a/resources/css/humhub.mail.css b/resources/css/humhub.mail.css index 16273408..e0fdcee3 100644 --- a/resources/css/humhub.mail.css +++ b/resources/css/humhub.mail.css @@ -1,16 +1,18 @@ :root { --hh-mail-offset-top: 0px; - --hh-mail-top-conversation-height: 0px; + --hh-mail-top-conversation-height: 50px; + --hh-mail-conversation-bottom-margin: 0px; } -@media (max-width: 991.98px) { +@media (min-width: 768px) { :root { --hh-mail-top-conversation-height: 60px; + --hh-mail-conversation-bottom-margin: 15px; } } -@media (max-width: 767.98px) { +@media (min-width: 992px) { :root { - --hh-mail-top-conversation-height: 50px; + --hh-mail-top-conversation-height: 0px; } } #dropdown-messages .dropdown-header { @@ -99,14 +101,15 @@ #mail-conversation-root > .panel { display: flex; flex-direction: column; - height: calc(100vh - 15px - var(--hh-fixed-header-height) - var(--hh-fixed-footer-height) - var(--hh-mobile-app-safe-area-inset-bottom, env(safe-area-inset-bottom)) - var(--hh-mail-top-conversation-height)); + height: calc(100svh - var(--hh-mail-conversation-bottom-margin) - var(--hh-fixed-header-height) - var(--hh-fixed-footer-height) - var(--hh-mobile-app-safe-area-inset-bottom, env(safe-area-inset-bottom)) - var(--hh-mail-top-conversation-height)); + margin-bottom: var(--hh-mail-conversation-bottom-margin); } #mail-conversation-root > .panel > .conversation-entry-container { flex: 1; overflow: auto; } #mail-conversation-root > .panel .content_create .richtext-create-input-group > .mb-3 [data-ui-markdown] { - max-height: calc(50vh - var(--hh-fixed-header-height) - var(--hh-fixed-footer-height) - var(--hh-mobile-app-safe-area-inset-bottom, env(safe-area-inset-bottom)) - var(--hh-mail-top-conversation-height)); + max-height: calc(50svh - var(--hh-fixed-header-height) - var(--hh-fixed-footer-height) - var(--hh-mobile-app-safe-area-inset-bottom, env(safe-area-inset-bottom)) - var(--hh-mail-top-conversation-height)); overflow-y: auto; } @@ -213,9 +216,6 @@ border: none; margin-bottom: 0 !important; } -.mail-message-form > panel-body { - margin: 0 10px; -} .mail-message-form .content-create-input-group { position: relative; } @@ -375,7 +375,6 @@ .device-ios-mobile #createmessage-message.ProsemirrorEditor.fullscreen, .device-ios-mobile .mail-message-form .ProsemirrorEditor.fullscreen { top: var(--hh-fixed-header-height); - height: calc(100vh - var(--hh-fixed-header-height) - var(--hh-mobile-app-safe-area-inset-bottom, env(safe-area-inset-bottom))); height: calc(100dvh - var(--hh-fixed-header-height) - var(--hh-mobile-app-safe-area-inset-bottom, env(safe-area-inset-bottom))); } .device-ios-mobile #createmessage-message.ProsemirrorEditor.fullscreen .ProseMirror-menubar-wrapper, diff --git a/resources/css/humhub.mail.min.css b/resources/css/humhub.mail.min.css index 05721c42..ca2485c4 100644 --- a/resources/css/humhub.mail.min.css +++ b/resources/css/humhub.mail.min.css @@ -1 +1 @@ -:root{--hh-mail-offset-top:0px;--hh-mail-top-conversation-height:0px}@media (max-width:991.98px){:root{--hh-mail-top-conversation-height:60px}}@media (max-width:767.98px){:root{--hh-mail-top-conversation-height:50px}}#dropdown-messages .dropdown-header{color:#000;margin-bottom:12px;font-weight:600}#dropdown-messages.dropdown-menu li a{font-size:inherit!important}#dropdown-messages .text-break{font-weight:200}.modal-body #createmessage-message .ProseMirror{min-height:100px!important}#create-message-button .fa,#mail-conversation-create-button .fa{margin:0}#conversation-tags-root{border-bottom:1px solid #eee}#conversation-tags-root .my-tags-label{padding-right:10px}.conversation-edit-button{border-bottom-right-radius:0;border-top-right-radius:0}.conversation-scroll-down-button{position:absolute;z-index:1;cursor:pointer;bottom:58px;right:25px;width:38px;height:38px;background:#fff;border-radius:50%;box-shadow:1px 1px 2px #999}.conversation-scroll-down-button .fa{font-size:26px;margin:7px 0 0 11px}.conversation-entry-list{height:100%}.conversation-entry-content{display:table;float:left;background-color:var(--hh-background-color-secondary);border-radius:10px;padding:10px}.conversation-entry-content pre{max-width:485px}.conversation-entry-content.own{background:var(--hh-background-color-highlight)}.conversation-entry-content .markdown-render{float:left;width:100%;min-width:230px}.conversation-blocked-recipient{-webkit-filter:grayscale(100%);filter:grayscale(100%)}#mail-conversation-root hr{border-top:1px solid #eee}#mail-conversation-root .ProsemirrorEditor.focusMenu .ProseMirror-menubar{margin-top:0}#mail-conversation-root>.panel{display:flex;flex-direction:column;height:calc(100vh - 15px - var(--hh-fixed-header-height) - var(--hh-fixed-footer-height) - var(--hh-mobile-app-safe-area-inset-bottom,env(safe-area-inset-bottom)) - var(--hh-mail-top-conversation-height))}#mail-conversation-root>.panel>.conversation-entry-container{flex:1;overflow:auto}#mail-conversation-root>.panel .content_create .richtext-create-input-group>.mb-3 [data-ui-markdown]{max-height:calc(50vh - var(--hh-fixed-header-height) - var(--hh-fixed-footer-height) - var(--hh-mobile-app-safe-area-inset-bottom,env(safe-area-inset-bottom)) - var(--hh-mail-top-conversation-height));overflow-y:auto}#mail-conversation-header{padding:6px 10px;border-bottom:1px solid var(--hh-background3);border-bottom-left-radius:0;border-bottom-right-radius:0}#mail-conversation-header h1{font-weight:600;font-size:16px;display:inline-block}@media (min-width:576px){#mail-conversation-header{padding:18px}#mail-conversation-header h1{font-size:18px}}#mail-conversation-header small{display:block;font-size:11px;font-weight:400}#mail-conversation-header small a{color:var(--hh-text-color-main)}@media (max-height:500px){#mail-conversation-header h1{margin-bottom:0}#mail-conversation-header small{display:none}}#conversation-settings-button{padding:6px;font-size:12px;cursor:pointer}#mail-filter-root{margin-top:5px}.mail-inbox-messages .hh-list,.mail-inbox-messages .mail-link,.mail-inbox-messages .messagePreviewEntry{overflow-x:hidden}.mail-inbox-messages .panel-heading>a{font-weight:600}.mail-inbox-messages .panel-heading #mail-filter-root>a{font-weight:400}.mail-inbox-messages .text-break{min-width:0}.mail-inbox-messages .text-break h4{font-weight:600;font-size:16px;display:flex;gap:8px}.mail-inbox-messages .text-break h4 time{font-size:11px!important;font-weight:400;flex:0 0 auto;margin-left:auto;text-align:right}.mail-inbox-messages .text-break h5{font-size:14px;line-height:16px;font-weight:500!important;color:var(--hh-text-color-highlight)!important;display:flex;justify-content:space-between;margin:7px 0}.mail-inbox-messages .text-break h5 span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-inbox-messages .text-break .mail-last-entry{font-size:14px;font-weight:500;color:var(--hh-text-color-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-message-form{width:100%;padding:10px;box-shadow:none;border:none;margin-bottom:0!important}.mail-message-form>panel-body{margin:0 10px}.mail-message-form .content-create-input-group{position:relative}.mail-message-form .humhub-ui-richtext{border-radius:10px}@media (min-width:768px){.mail-message-form .humhub-ui-richtext{padding-right:115px}.mail-message-form .richtext-create-buttons{position:absolute;right:24px;bottom:24px;z-index:500}}.mail-message-form .reply-button{margin-left:0!important}.mail-message-form .form-text{margin:0}.mail-message-form .alert{margin-bottom:0}.mail-conversation-entry{margin-top:3px;position:relative}.mail-conversation-entry .conversation-menu{visibility:hidden;padding-left:35px}.mail-conversation-entry .conversation-menu .conversation-menu-item{margin-bottom:10px;margin-left:5px}.mail-conversation-entry .conversation-menu .conversation-menu-item a{cursor:pointer}.mail-conversation-entry .conversation-menu .time{color:inherit;text-transform:none}.mail-conversation-entry .conversation-menu .badge{background-color:var(--hh-background-color-secondary);border-radius:10px;color:inherit}.mail-conversation-entry .conversation-menu .conversation-edit-button{background-color:var(--hh-background-color-secondary);border-radius:50%;color:inherit}.mail-conversation-entry .conversation-menu .conversation-edit-button:hover{background-color:var(--hh-background-color-secondary);color:inherit}.mail-conversation-entry:hover .conversation-menu{visibility:visible}.mail-conversation-entry .author-image .img-user{max-width:100%}.mail-conversation-entry .author-label{font-size:10px;font-weight:600}.mail-conversation-entry.hideUserInfo .author-label{display:none}.mail-conversation-entry.hideUserInfo .author-image a{visibility:hidden;margin-top:0}.mail-conversation-entry .conversation-entry-time{float:right;font-size:10px;color:var(--hh-text-color-main)}.mail-conversation-entry .conversation-entry-time>span{font-style:italic}.conversation-entry-badge{padding:10px 0 8px;text-align:center}.conversation-entry-badge span{display:inline-block;box-shadow:1px 1px 3px rgba(0,0,0,.3);border-radius:7px;padding:5px 20px}.conversation-entry-badge.conversation-date-badge span{text-transform:uppercase}#inbox{max-height:calc(100vh - var(--hh-fixed-header-height) - var(--hh-fixed-footer-height) - var(--hh-mobile-app-safe-area-inset-bottom,env(safe-area-inset-bottom)) - var(--hh-mail-offset-top));overflow:auto;border-radius:4px}.messagePreviewEntry{cursor:pointer}.messagePreviewEntry time{font-size:10px;color:var(--hh-text-color-secondary)}.messagePreviewEntry .new-message-badge{display:none}.messagePreviewEntry.unread .new-message-badge{display:block}.messagePreviewEntry.unread time{color:var(--bs-info)}.messagePreviewEntry.unread .mail-last-entry{color:var(--hh-text-color-highlight)}.message-tag-filter-group .select2-selection{border-bottom-right-radius:0}.message-tag-filter-group .manage-tags-link{font-weight:600;font-size:.8em;border:1px solid #ededed;border-top:0;border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:2px 5px}.new-message-badge{float:right;min-width:14px;height:14px;border-radius:50%;background:var(--bs-info);margin-left:2px}.inbox-entry-title{font-weight:600}.field-replyform-message{margin:0}.device-ios-mobile #createmessage-message.ProsemirrorEditor.fullscreen,.device-ios-mobile .mail-message-form .ProsemirrorEditor.fullscreen{top:var(--hh-fixed-header-height);height:calc(100vh - var(--hh-fixed-header-height) - var(--hh-mobile-app-safe-area-inset-bottom,env(safe-area-inset-bottom)));height:calc(100dvh - var(--hh-fixed-header-height) - var(--hh-mobile-app-safe-area-inset-bottom,env(safe-area-inset-bottom)))}.device-ios-mobile #createmessage-message.ProsemirrorEditor.fullscreen .ProseMirror-menubar-wrapper,.device-ios-mobile .mail-message-form .ProsemirrorEditor.fullscreen .ProseMirror-menubar-wrapper{display:flex;flex-direction:column;height:100%}.device-ios-mobile #createmessage-message.ProsemirrorEditor.fullscreen .ProseMirror-menubar,.device-ios-mobile .mail-message-form .ProsemirrorEditor.fullscreen .ProseMirror-menubar{position:sticky!important;top:0!important;z-index:1}.device-ios-mobile #createmessage-message.ProsemirrorEditor.fullscreen .ProseMirror,.device-ios-mobile .mail-message-form .ProsemirrorEditor.fullscreen .ProseMirror{flex:1 1 auto;height:auto;min-height:0}@media (max-width:991.98px){#inbox{max-height:500px!important}}@media (max-width:767.98px){#dropdown-messages{width:300px!important}.arrow{margin-left:-101px!important}#inbox{max-height:none!important}.mail-conversation-single-message #inbox{max-height:none!important}.mail-conversation-single-message .inbox-wrapper{display:none}.conversation-entry-content pre{max-width:245px;padding:0}} \ No newline at end of file +:root{--hh-mail-offset-top:0px;--hh-mail-top-conversation-height:50px;--hh-mail-conversation-bottom-margin:0px}@media (min-width:768px){:root{--hh-mail-top-conversation-height:60px;--hh-mail-conversation-bottom-margin:15px}}@media (min-width:992px){:root{--hh-mail-top-conversation-height:0px}}#dropdown-messages .dropdown-header{color:#000;margin-bottom:12px;font-weight:600}#dropdown-messages.dropdown-menu li a{font-size:inherit!important}#dropdown-messages .text-break{font-weight:200}.modal-body #createmessage-message .ProseMirror{min-height:100px!important}#create-message-button .fa,#mail-conversation-create-button .fa{margin:0}#conversation-tags-root{border-bottom:1px solid #eee}#conversation-tags-root .my-tags-label{padding-right:10px}.conversation-edit-button{border-bottom-right-radius:0;border-top-right-radius:0}.conversation-scroll-down-button{position:absolute;z-index:1;cursor:pointer;bottom:58px;right:25px;width:38px;height:38px;background:#fff;border-radius:50%;box-shadow:1px 1px 2px #999}.conversation-scroll-down-button .fa{font-size:26px;margin:7px 0 0 11px}.conversation-entry-list{height:100%}.conversation-entry-content{display:table;float:left;background-color:var(--hh-background-color-secondary);border-radius:10px;padding:10px}.conversation-entry-content pre{max-width:485px}.conversation-entry-content.own{background:var(--hh-background-color-highlight)}.conversation-entry-content .markdown-render{float:left;width:100%;min-width:230px}.conversation-blocked-recipient{-webkit-filter:grayscale(100%);filter:grayscale(100%)}#mail-conversation-root hr{border-top:1px solid #eee}#mail-conversation-root .ProsemirrorEditor.focusMenu .ProseMirror-menubar{margin-top:0}#mail-conversation-root>.panel{display:flex;flex-direction:column;height:calc(100svh - var(--hh-mail-conversation-bottom-margin) - var(--hh-fixed-header-height) - var(--hh-fixed-footer-height) - var(--hh-mobile-app-safe-area-inset-bottom,env(safe-area-inset-bottom)) - var(--hh-mail-top-conversation-height));margin-bottom:var(--hh-mail-conversation-bottom-margin)}#mail-conversation-root>.panel>.conversation-entry-container{flex:1;overflow:auto}#mail-conversation-root>.panel .content_create .richtext-create-input-group>.mb-3 [data-ui-markdown]{max-height:calc(50svh - var(--hh-fixed-header-height) - var(--hh-fixed-footer-height) - var(--hh-mobile-app-safe-area-inset-bottom,env(safe-area-inset-bottom)) - var(--hh-mail-top-conversation-height));overflow-y:auto}#mail-conversation-header{padding:6px 10px;border-bottom:1px solid var(--hh-background3);border-bottom-left-radius:0;border-bottom-right-radius:0}#mail-conversation-header h1{font-weight:600;font-size:16px;display:inline-block}@media (min-width:576px){#mail-conversation-header{padding:18px}#mail-conversation-header h1{font-size:18px}}#mail-conversation-header small{display:block;font-size:11px;font-weight:400}#mail-conversation-header small a{color:var(--hh-text-color-main)}@media (max-height:500px){#mail-conversation-header h1{margin-bottom:0}#mail-conversation-header small{display:none}}#conversation-settings-button{padding:6px;font-size:12px;cursor:pointer}#mail-filter-root{margin-top:5px}.mail-inbox-messages .hh-list,.mail-inbox-messages .mail-link,.mail-inbox-messages .messagePreviewEntry{overflow-x:hidden}.mail-inbox-messages .panel-heading>a{font-weight:600}.mail-inbox-messages .panel-heading #mail-filter-root>a{font-weight:400}.mail-inbox-messages .text-break{min-width:0}.mail-inbox-messages .text-break h4{font-weight:600;font-size:16px;display:flex;gap:8px}.mail-inbox-messages .text-break h4 time{font-size:11px!important;font-weight:400;flex:0 0 auto;margin-left:auto;text-align:right}.mail-inbox-messages .text-break h5{font-size:14px;line-height:16px;font-weight:500!important;color:var(--hh-text-color-highlight)!important;display:flex;justify-content:space-between;margin:7px 0}.mail-inbox-messages .text-break h5 span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-inbox-messages .text-break .mail-last-entry{font-size:14px;font-weight:500;color:var(--hh-text-color-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-message-form{width:100%;padding:10px;box-shadow:none;border:none;margin-bottom:0!important}.mail-message-form .content-create-input-group{position:relative}.mail-message-form .humhub-ui-richtext{border-radius:10px}@media (min-width:768px){.mail-message-form .humhub-ui-richtext{padding-right:115px}.mail-message-form .richtext-create-buttons{position:absolute;right:24px;bottom:24px;z-index:500}}.mail-message-form .reply-button{margin-left:0!important}.mail-message-form .form-text{margin:0}.mail-message-form .alert{margin-bottom:0}.mail-conversation-entry{margin-top:3px;position:relative}.mail-conversation-entry .conversation-menu{visibility:hidden;padding-left:35px}.mail-conversation-entry .conversation-menu .conversation-menu-item{margin-bottom:10px;margin-left:5px}.mail-conversation-entry .conversation-menu .conversation-menu-item a{cursor:pointer}.mail-conversation-entry .conversation-menu .time{color:inherit;text-transform:none}.mail-conversation-entry .conversation-menu .badge{background-color:var(--hh-background-color-secondary);border-radius:10px;color:inherit}.mail-conversation-entry .conversation-menu .conversation-edit-button{background-color:var(--hh-background-color-secondary);border-radius:50%;color:inherit}.mail-conversation-entry .conversation-menu .conversation-edit-button:hover{background-color:var(--hh-background-color-secondary);color:inherit}.mail-conversation-entry:hover .conversation-menu{visibility:visible}.mail-conversation-entry .author-image .img-user{max-width:100%}.mail-conversation-entry .author-label{font-size:10px;font-weight:600}.mail-conversation-entry.hideUserInfo .author-label{display:none}.mail-conversation-entry.hideUserInfo .author-image a{visibility:hidden;margin-top:0}.mail-conversation-entry .conversation-entry-time{float:right;font-size:10px;color:var(--hh-text-color-main)}.mail-conversation-entry .conversation-entry-time>span{font-style:italic}.conversation-entry-badge{padding:10px 0 8px;text-align:center}.conversation-entry-badge span{display:inline-block;box-shadow:1px 1px 3px rgba(0,0,0,.3);border-radius:7px;padding:5px 20px}.conversation-entry-badge.conversation-date-badge span{text-transform:uppercase}#inbox{max-height:calc(100vh - var(--hh-fixed-header-height) - var(--hh-fixed-footer-height) - var(--hh-mobile-app-safe-area-inset-bottom,env(safe-area-inset-bottom)) - var(--hh-mail-offset-top));overflow:auto;border-radius:4px}.messagePreviewEntry{cursor:pointer}.messagePreviewEntry time{font-size:10px;color:var(--hh-text-color-secondary)}.messagePreviewEntry .new-message-badge{display:none}.messagePreviewEntry.unread .new-message-badge{display:block}.messagePreviewEntry.unread time{color:var(--bs-info)}.messagePreviewEntry.unread .mail-last-entry{color:var(--hh-text-color-highlight)}.message-tag-filter-group .select2-selection{border-bottom-right-radius:0}.message-tag-filter-group .manage-tags-link{font-weight:600;font-size:.8em;border:1px solid #ededed;border-top:0;border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:2px 5px}.new-message-badge{float:right;min-width:14px;height:14px;border-radius:50%;background:var(--bs-info);margin-left:2px}.inbox-entry-title{font-weight:600}.field-replyform-message{margin:0}.device-ios-mobile #createmessage-message.ProsemirrorEditor.fullscreen,.device-ios-mobile .mail-message-form .ProsemirrorEditor.fullscreen{top:var(--hh-fixed-header-height);height:calc(100dvh - var(--hh-fixed-header-height) - var(--hh-mobile-app-safe-area-inset-bottom,env(safe-area-inset-bottom)))}.device-ios-mobile #createmessage-message.ProsemirrorEditor.fullscreen .ProseMirror-menubar-wrapper,.device-ios-mobile .mail-message-form .ProsemirrorEditor.fullscreen .ProseMirror-menubar-wrapper{display:flex;flex-direction:column;height:100%}.device-ios-mobile #createmessage-message.ProsemirrorEditor.fullscreen .ProseMirror-menubar,.device-ios-mobile .mail-message-form .ProsemirrorEditor.fullscreen .ProseMirror-menubar{position:sticky!important;top:0!important;z-index:1}.device-ios-mobile #createmessage-message.ProsemirrorEditor.fullscreen .ProseMirror,.device-ios-mobile .mail-message-form .ProsemirrorEditor.fullscreen .ProseMirror{flex:1 1 auto;height:auto;min-height:0}@media (max-width:991.98px){#inbox{max-height:500px!important}}@media (max-width:767.98px){#dropdown-messages{width:300px!important}.arrow{margin-left:-101px!important}#inbox{max-height:none!important}.mail-conversation-single-message #inbox{max-height:none!important}.mail-conversation-single-message .inbox-wrapper{display:none}.conversation-entry-content pre{max-width:245px;padding:0}} \ No newline at end of file diff --git a/resources/css/humhub.mail.scss b/resources/css/humhub.mail.scss index 4a4a1531..08e5cb41 100644 --- a/resources/css/humhub.mail.scss +++ b/resources/css/humhub.mail.scss @@ -14,16 +14,18 @@ $radiusNone: 0; :root { --hh-mail-offset-top: 0px; - --hh-mail-top-conversation-height: 0px; + --hh-mail-top-conversation-height: 50px; + --hh-mail-conversation-bottom-margin: 0px; } -@include media-breakpoint-down(lg) { +@include media-breakpoint-up(md) { :root { --hh-mail-top-conversation-height: 60px; + --hh-mail-conversation-bottom-margin: 15px; } } -@include media-breakpoint-down(md) { +@include media-breakpoint-up(lg) { :root { - --hh-mail-top-conversation-height: 50px; + --hh-mail-top-conversation-height: 0px; } } @@ -141,7 +143,8 @@ $radiusNone: 0; > .panel { display: flex; flex-direction: column; - height: calc(100vh - 15px - var(--hh-fixed-header-height) - var(--hh-fixed-footer-height) - var(--hh-mobile-app-safe-area-inset-bottom, env(safe-area-inset-bottom)) - var(--hh-mail-top-conversation-height)); // 15px of the .panel margin-bottom + height: calc(100svh - var(--hh-mail-conversation-bottom-margin) - var(--hh-fixed-header-height) - var(--hh-fixed-footer-height) - var(--hh-mobile-app-safe-area-inset-bottom, env(safe-area-inset-bottom)) - var(--hh-mail-top-conversation-height)); // 15px of the .panel margin-bottom + margin-bottom: var(--hh-mail-conversation-bottom-margin); > .conversation-entry-container { flex: 1; @@ -149,7 +152,7 @@ $radiusNone: 0; } .content_create .richtext-create-input-group>.mb-3 [data-ui-markdown] { - max-height: calc(50vh - var(--hh-fixed-header-height) - var(--hh-fixed-footer-height) - var(--hh-mobile-app-safe-area-inset-bottom, env(safe-area-inset-bottom)) - var(--hh-mail-top-conversation-height)); + max-height: calc(50svh - var(--hh-fixed-header-height) - var(--hh-fixed-footer-height) - var(--hh-mobile-app-safe-area-inset-bottom, env(safe-area-inset-bottom)) - var(--hh-mail-top-conversation-height)); overflow-y: auto; } } @@ -273,10 +276,6 @@ $radiusNone: 0; border: none; margin-bottom: 0 !important; - > panel-body { - margin: 0 10px; - } - .content-create-input-group { position: relative; } @@ -479,7 +478,6 @@ $radiusNone: 0; #createmessage-message.ProsemirrorEditor.fullscreen, .mail-message-form .ProsemirrorEditor.fullscreen { top: var(--hh-fixed-header-height); - height: calc(100vh - var(--hh-fixed-header-height) - var(--hh-mobile-app-safe-area-inset-bottom, env(safe-area-inset-bottom))); height: calc(100dvh - var(--hh-fixed-header-height) - var(--hh-mobile-app-safe-area-inset-bottom, env(safe-area-inset-bottom))); .ProseMirror-menubar-wrapper { diff --git a/tests/codeception/unit/ImpersonationTest.php b/tests/codeception/unit/ImpersonationTest.php new file mode 100644 index 00000000..22f3edd2 --- /dev/null +++ b/tests/codeception/unit/ImpersonationTest.php @@ -0,0 +1,151 @@ +configureImpersonation(false); + + parent::_after(); + } + + /** + * Both impersonation configurations with their expected effect: [allowPrivateContentAccess, access denied] + */ + private static function impersonationModes(): array + { + return [ + 'deny private content access (default)' => [false, true], + 'allow private content access' => [true, false], + ]; + } + + /** + * All Messenger controllers which give access to conversations: [controller class, action id] + */ + private static function messengerControllers(): array + { + return [ + 'conversation' => [MailController::class, 'index'], + 'inbox' => [InboxController::class, 'index'], + 'tag' => [TagController::class, 'manage'], + ]; + } + + /** + * Cross product of every impersonation configuration with every Messenger controller + */ + public static function messengerAccessProvider(): array + { + $data = []; + + foreach (static::impersonationModes() as $modeName => [$allowPrivateContentAccess, $expectDenied]) { + foreach (static::messengerControllers() as $controllerName => [$controllerClass, $action]) { + $data[$modeName . ' / ' . $controllerName] = [ + $allowPrivateContentAccess, + $expectDenied, + $controllerClass, + $action, + ]; + } + } + + return $data; + } + + public function testControllersDenyImpersonatedUsers() + { + foreach (static::messengerControllers() as [$controllerClass, $action]) { + $this->assertContains( + [ControllerAccess::RULE_DENY_IMPERSONATED], + $this->getAccessRules($controllerClass), + $controllerClass . ' must be denied while impersonating', + ); + } + } + + /** + * @dataProvider messengerAccessProvider + */ + public function testMessengerAccess( + bool $allowPrivateContentAccess, + bool $expectDenied, + string $controllerClass, + string $action, + ) { + $this->configureImpersonation($allowPrivateContentAccess); + $this->becomeUser('Admin'); + + $this->assertTrue( + $this->hasAccess($controllerClass, $action), + 'A user which does not impersonate always has access to the Messenger', + ); + + $this->startImpersonation('User1'); + + $this->assertSame( + !$expectDenied, + $this->hasAccess($controllerClass, $action), + 'Messenger access while impersonating', + ); + + $this->assertTrue(Yii::$app->user->impersonation->stop()); + + $this->assertTrue( + $this->hasAccess($controllerClass, $action), + 'Access is restored once the impersonation has been stopped', + ); + } + + private function hasAccess(string $controllerClass, string $action): bool + { + $access = new StrictAccess(['action' => $action]); + $access->setRules($this->getAccessRules($controllerClass)); + + return $access->run(); + } + + private function getAccessRules(string $controllerClass): array + { + $controller = new $controllerClass('mail', Yii::$app->moduleManager->getModule('mail')); + + return $controller->behaviors()['acl']['rules']; + } + + private function configureImpersonation(bool $allowPrivateContentAccess): Impersonation + { + $impersonation = Yii::$app->user->impersonation; + $impersonation->allowPrivateContentAccess = $allowPrivateContentAccess; + + return $impersonation; + } + + private function startImpersonation(string $userName): void + { + $this->assertFalse(Yii::$app->user->impersonation->isActive()); + + $this->assertTrue(Yii::$app->user->impersonation->start(User::findOne(['username' => $userName]))); + + $this->assertTrue(Yii::$app->user->impersonation->isActive()); + } +} diff --git a/views/emails/NewMessage.php b/views/emails/NewMessage.php index 9b5231ab..4c48242f 100644 --- a/views/emails/NewMessage.php +++ b/views/emails/NewMessage.php @@ -114,7 +114,7 @@ " + src="image->getUrl(null, true); ?>" width="50" alt="" style="max-width:50px; display:block !important; border-radius: 4px;" diff --git a/views/mail/conversation.php b/views/mail/conversation.php index a548df9a..a0d62fc2 100644 --- a/views/mail/conversation.php +++ b/views/mail/conversation.php @@ -87,6 +87,7 @@ ->submit() ->action('reply', $replyForm->getUrl()) ->icon('paper-plane-o') + ->options(['aria-label' => Yii::t('MailModule.base', 'Reply')]) ->sm() ?> diff --git a/views/tag/manage.php b/views/tag/manage.php index a38bd3b5..3f37e7fe 100644 --- a/views/tag/manage.php +++ b/views/tag/manage.php @@ -43,7 +43,11 @@
tag, 'name', ['style' => 'height:36px', 'class' => 'form-control', 'placeholder' => Yii::t('MailModule.base', 'Add Tag')]) ?> - icon('fa-plus')->loader()->submit() ?> + icon('plus') + ->options(['aria-label' => Yii::t('MailModule.base', 'Add Tag')]) + ->loader() + ->submit() ?>
tag, 'name') ?> @@ -64,17 +68,25 @@ 'class' => ActionColumn::class, 'options' => ['width' => '80px'], 'contentOptions' => ['style' => 'text-align:right'], + 'template' => '{update} {delete}', 'buttons' => [ - 'update' => fn($url, $model) => - /* @var $model Topic */ - ModalButton::primary()->load(Url::toEditTag($model->id))->icon('fa-pencil')->sm()->loader(false), - 'view' => fn() => '', - 'delete' => fn($url, $model) => - /* @var $model Topic */ - Button::danger()->icon('fa-times')->action('client.post', Url::toDeleteTag($model->id))->confirm( - Yii::t('MailModule.base', 'Confirm tag deletion'), - Yii::t('MailModule.base', 'Do you really want to delete this tag?'), - Yii::t('base', 'Delete'))->sm()->loader(false), + 'update' => fn($url, Topic $model) => ModalButton::primary() + ->load(Url::toEditTag($model->id)) + ->icon('pencil') + ->options(['aria-label' => Yii::t('base', 'Edit')]) + ->sm() + ->loader(false), + 'delete' => fn($url, Topic $model) => Button::danger() + ->icon('times') + ->options(['aria-label' => Yii::t('base', 'Delete')]) + ->action('client.post', Url::toDeleteTag($model->id)) + ->confirm( + Yii::t('MailModule.base', 'Confirm tag deletion'), + Yii::t('MailModule.base', 'Do you really want to delete this tag?'), + Yii::t('base', 'Delete'), + ) + ->sm() + ->loader(false), ], ], ]]) ?> diff --git a/widgets/ConversationStateBadge.php b/widgets/ConversationStateBadge.php index 0cacb8f1..4c64e426 100644 --- a/widgets/ConversationStateBadge.php +++ b/widgets/ConversationStateBadge.php @@ -12,7 +12,6 @@ use humhub\helpers\Html; use humhub\modules\mail\models\AbstractMessageEntry; use humhub\modules\mail\models\MessageEntry; -use humhub\modules\user\models\User; use Yii; /** diff --git a/widgets/ConversationView.php b/widgets/ConversationView.php index 127ad7cf..ce69bc61 100644 --- a/widgets/ConversationView.php +++ b/widgets/ConversationView.php @@ -9,7 +9,6 @@ namespace humhub\modules\mail\widgets; -use Yii; use humhub\widgets\JsWidget; use humhub\modules\mail\helpers\Url; diff --git a/widgets/ManageTagsLink.php b/widgets/ManageTagsLink.php deleted file mode 100644 index c9b569db..00000000 --- a/widgets/ManageTagsLink.php +++ /dev/null @@ -1,20 +0,0 @@ -setType(static::TYPE_NONE) - ->setText(Yii::t('MailModule.base', 'Manage Tags')) - ->link(Url::toManageTags()) - ->icon('gear')->right()->cssClass('manage-tags-link'); - } - -} diff --git a/widgets/Notifications.php b/widgets/Notifications.php deleted file mode 100644 index fc4213da..00000000 --- a/widgets/Notifications.php +++ /dev/null @@ -1,12 +0,0 @@ -action('ui.modal.load', Url::toConversationUserList($this->message)) ->encodeLabel(false); } diff --git a/widgets/views/inboxFilter.php b/widgets/views/inboxFilter.php index 2158a889..72ef3630 100644 --- a/widgets/views/inboxFilter.php +++ b/widgets/views/inboxFilter.php @@ -2,9 +2,9 @@ use humhub\components\View; use humhub\helpers\Html; +use humhub\modules\mail\helpers\Url; use humhub\modules\mail\models\forms\InboxFilterForm; use humhub\modules\mail\widgets\ConversationTagPicker; -use humhub\modules\mail\widgets\ManageTagsLink; use humhub\modules\ui\filter\widgets\PickerFilterInput; use humhub\modules\ui\filter\widgets\TextFilterInput; use humhub\modules\user\widgets\UserPickerField; @@ -52,7 +52,10 @@ 'pickerOptions' => ['id' => 'inbox-tag-picker', 'name' => 'tags', 'placeholder' => Yii::t('MailModule.base', 'Tags'), 'placeholderMore' => Yii::t('MailModule.base', 'Tags')]]) ?> - + icon('gear') + ->right() + ->cssClass('manage-tags-link') ?>