diff --git a/.gitignore b/.gitignore index 06348811..4fbb073c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,2 @@ -# OS -.DS_Store -Thumbs.db - -# IDEs -.buildpath -.project -.settings/ -.build/ -.idea/ -nbproject/ - -# Transifex -.tx/ - -# Composer -vendor/ -composer.lock +/vendor/ +/composer.lock diff --git a/.tx/config b/.tx/config new file mode 100644 index 00000000..8e86d6a8 --- /dev/null +++ b/.tx/config @@ -0,0 +1,48 @@ +[main] +host = https://www.transifex.com +type = XLIFF + +[notification_center.master-notification_center-modules] +source_file = languages/en/modules.xlf +source_lang = en +file_filter = languages//modules.xlf + +[notification_center.master-notification_center-tl_form] +source_file = languages/en/tl_form.xlf +source_lang = en +file_filter = languages//tl_form.xlf + +[notification_center.master-notification_center-tl_module] +source_file = languages/en/tl_module.xlf +source_lang = en +file_filter = languages//tl_module.xlf + +[notification_center.master-notification_center-tl_nc_gateway] +source_file = languages/en/tl_nc_gateway.xlf +source_lang = en +file_filter = languages//tl_nc_gateway.xlf + +[notification_center.master-notification_center-tl_nc_language] +source_file = languages/en/tl_nc_language.xlf +source_lang = en +file_filter = languages//tl_nc_language.xlf + +[notification_center.master-notification_center-tl_nc_message] +source_file = languages/en/tl_nc_message.xlf +source_lang = en +file_filter = languages//tl_nc_message.xlf + +[notification_center.master-notification_center-tl_nc_notification] +source_file = languages/en/tl_nc_notification.xlf +source_lang = en +file_filter = languages//tl_nc_notification.xlf + +[notification_center.master-notification_center-tl_nc_queue] +source_file = languages/en/tl_nc_queue.xlf +source_lang = en +file_filter = languages//tl_nc_queue.xlf + +[notification_center.master-notification_center-tokens] +source_file = languages/en/tokens.xlf +source_lang = en +file_filter = languages//tokens.xlf diff --git a/classes/tl_nc_gateway.php b/classes/tl_nc_gateway.php index ca962dd5..d9697b82 100644 --- a/classes/tl_nc_gateway.php +++ b/classes/tl_nc_gateway.php @@ -23,6 +23,24 @@ public function loadSettingsLanguageFile() \System::loadLanguageFile('tl_settings'); } + /** + * Validate the queue delay + * + * @param string $value + * + * @return string + * + * @throws \RuntimeException + */ + public function validateQueueDelay($value) + { + if ($value && strtotime($value) === false) { + throw new \InvalidArgumentException(sprintf($GLOBALS['TL_LANG']['ERR']['invalidDate'], $value)); + } + + return $value; + } + /** * Check the FTP connection * diff --git a/classes/tl_nc_queue.php b/classes/tl_nc_queue.php index 62ed2146..ca3e3f58 100644 --- a/classes/tl_nc_queue.php +++ b/classes/tl_nc_queue.php @@ -11,9 +11,24 @@ namespace NotificationCenter; use NotificationCenter\Model\QueuedMessage; +use NotificationCenter\Queue\QueueManager; class tl_nc_queue extends \Backend { + /** + * On delete callback. + * + * @param \DataContainer $dc + */ + public function onDeleteCallback(\DataContainer $dc) + { + $queueManager = new $GLOBALS['NOTIFICATION_CENTER']['QUEUE_MANAGER'](); + + if ($queueManager instanceof QueueManager) { + $queueManager->removeMessageFiles($dc->id); + } + } + /** * label_callback * diff --git a/composer.json b/composer.json index 8c803c65..c3ecc527 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ "terminal42/dcawizard":"2.*" }, "require-dev": { - "cyberspectrum/contao-toolbox": "^0.7.2" + "contao/newsletter-bundle":"~3.5 || ~4.1" }, "autoload":{ "psr-0": { @@ -33,6 +33,12 @@ "replace": { "contao-legacy/notification_center": "self.version" }, + "suggest": { + "contao/newsletter-bundle": "Send notifications using the newsletter bundle of Contao" + }, + "conflict": { + "contao/newsletter-bundle": "<3.5 || >= 5.0" + }, "extra":{ "branch-alias": { "dev-develop": "1.4.x-dev" @@ -40,12 +46,6 @@ "contao": { "sources":{ "": "system/modules/notification_center" - }, - "transifex": { - "project": "notification_center", - "prefix": "master-notification_center-", - "languages_cto": "languages", - "languages_tx": ".tx" } } } diff --git a/config/autoload.php b/config/autoload.php index 0a021719..56d6ec46 100644 --- a/config/autoload.php +++ b/config/autoload.php @@ -40,5 +40,9 @@ */ ClassLoader::addClasses(array ( - 'Contao\ModulePasswordNotificationCenter' => 'system/modules/notification_center/modules/ModulePasswordNotificationCenter.php', + 'Contao\ModulePasswordNotificationCenter' => 'system/modules/notification_center/modules/ModulePasswordNotificationCenter.php', + 'Contao\NewsletterModuleTrait' => 'system/modules/notification_center/modules/NewsletterModuleTrait.php', + 'Contao\ModuleNewsletterSubscribeNotificationCenter' => 'system/modules/notification_center/modules/ModuleNewsletterSubscribeNotificationCenter.php', + 'Contao\ModuleNewsletterActivateNotificationCenter' => 'system/modules/notification_center/modules/ModuleNewsletterActivateNotificationCenter.php', + 'Contao\ModuleNewsletterUnsubscribeNotificationCenter' => 'system/modules/notification_center/modules/ModuleNewsletterUnsubscribeNotificationCenter.php', )); diff --git a/config/config.php b/config/config.php index f1360d90..03405aa7 100644 --- a/config/config.php +++ b/config/config.php @@ -48,6 +48,12 @@ */ $GLOBALS['FE_MOD']['user']['lostPasswordNotificationCenter'] = 'ModulePasswordNotificationCenter'; +if (in_array('newsletter', \ModuleLoader::getActive(), true)) { + $GLOBALS['FE_MOD']['newsletter']['newsletterSubscribeNotificationCenter'] = 'ModuleNewsletterSubscribeNotificationCenter'; + $GLOBALS['FE_MOD']['newsletter']['newsletterActivateNotificationCenter'] = 'ModuleNewsletterActivateNotificationCenter'; + $GLOBALS['FE_MOD']['newsletter']['newsletterUnsubscribeNotificationCenter'] = 'ModuleNewsletterUnsubscribeNotificationCenter'; +} + /** * Models */ @@ -164,7 +170,46 @@ 'email_recipient_cc' => array('recipient_email'), 'email_recipient_bcc' => array('recipient_email'), 'email_replyTo' => array('recipient_email'), - ) + ), + 'newsletter_subscribe' => array( + 'recipients' => array('recipient_email', 'admin_email'), + 'email_subject' => array('domain', 'link', 'recipient_email', 'admin_email', 'channels', 'channel_ids', 'subject'), + 'email_text' => array('domain', 'link', 'recipient_email', 'admin_email', 'channels', 'channel_ids', 'token'), + 'email_html' => array('domain', 'link', 'recipient_email', 'admin_email', 'channels', 'channel_ids', 'token'), + 'file_name' => array('domain', 'link', 'recipient_email', 'admin_email', 'channels', 'channel_ids'), + 'file_content' => array('domain', 'link', 'recipient_email', 'admin_email', 'channels', 'channel_ids', 'token'), + 'email_sender_name' => array('recipient_email', 'admin_email', 'admin_name'), + 'email_sender_address' => array('recipient_email', 'admin_email'), + 'email_recipient_cc' => array('recipient_email', 'admin_email'), + 'email_recipient_bcc' => array('recipient_email', 'admin_email'), + 'email_replyTo' => array('recipient_email', 'admin_email'), + ), + 'newsletter_activate' => array( + 'recipients' => array('recipient_email', 'admin_email'), + 'email_subject' => array('domain', 'recipient_email', 'admin_email', 'channels', 'channel_ids', 'subject'), + 'email_text' => array('domain', 'recipient_email', 'admin_email', 'channels', 'channel_ids'), + 'email_html' => array('domain', 'recipient_email', 'admin_email', 'channels', 'channel_ids'), + 'file_name' => array('domain', 'recipient_email', 'admin_email', 'channels', 'channel_ids'), + 'file_content' => array('domain', 'recipient_email', 'admin_email', 'channels', 'channel_ids'), + 'email_sender_name' => array('recipient_email', 'admin_email', 'admin_name'), + 'email_sender_address' => array('recipient_email', 'admin_email'), + 'email_recipient_cc' => array('recipient_email', 'admin_email'), + 'email_recipient_bcc' => array('recipient_email', 'admin_email'), + 'email_replyTo' => array('recipient_email', 'admin_email'), + ), + 'newsletter_unsubscribe' => array( + 'recipients' => array('recipient_email', 'admin_email'), + 'email_subject' => array('domain', 'recipient_email', 'admin_email', 'channels', 'channel_ids', 'subject'), + 'email_text' => array('domain', 'recipient_email', 'admin_email', 'channels', 'channel_ids'), + 'email_html' => array('domain', 'recipient_email', 'admin_email', 'channels', 'channel_ids'), + 'file_name' => array('domain', 'recipient_email', 'admin_email', 'channels', 'channel_ids'), + 'file_content' => array('domain', 'recipient_email', 'admin_email', 'channels', 'channel_ids'), + 'email_sender_name' => array('recipient_email', 'admin_email', 'admin_name'), + 'email_sender_address' => array('recipient_email', 'admin_email'), + 'email_recipient_cc' => array('recipient_email', 'admin_email'), + 'email_recipient_bcc' => array('recipient_email', 'admin_email'), + 'email_replyTo' => array('recipient_email', 'admin_email'), + ), ) ) ); diff --git a/dca/tl_module.php b/dca/tl_module.php index a06ff8bb..0e6a3315 100644 --- a/dca/tl_module.php +++ b/dca/tl_module.php @@ -14,6 +14,14 @@ */ $GLOBALS['TL_DCA']['tl_module']['palettes']['registration'] = str_replace('reg_activate;', 'reg_activate,nc_notification,nc_activation_notification;', $GLOBALS['TL_DCA']['tl_module']['palettes']['registration']); $GLOBALS['TL_DCA']['tl_module']['palettes']['lostPasswordNotificationCenter'] = str_replace('reg_password', 'nc_notification', $GLOBALS['TL_DCA']['tl_module']['palettes']['lostPassword']); +$GLOBALS['TL_DCA']['tl_module']['palettes']['newsletterSubscribeNotificationCenter'] = '{title_legend},name,headline,type;{config_legend},nl_channels,nl_hideChannels,disableCaptcha;{text_legend},nl_text{notification_legend},nc_notification;{redirect_legend},jumpTo;{template_legend:hide},nl_template;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID'; +$GLOBALS['TL_DCA']['tl_module']['palettes']['newsletterActivateNotificationCenter'] = '{title_legend},name,headline,type;{config_legend},nl_channels,nl_hideChannels;{notification_legend},nc_notification;{redirect_legend},jumpTo;{template_legend:hide},customTpl;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID'; +$GLOBALS['TL_DCA']['tl_module']['palettes']['newsletterUnsubscribeNotificationCenter'] = '{title_legend},name,headline,type;{config_legend},nl_channels,nl_hideChannels,disableCaptcha;{notification_legend},nc_notification;{redirect_legend},jumpTo;{template_legend:hide},nl_template;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID'; + +if (version_compare(VERSION, '4.1', '<')) { + $GLOBALS['TL_DCA']['tl_module']['palettes']['newsletterSubscribeNotificationCenter'] = str_replace(',disableCaptcha', '', $GLOBALS['TL_DCA']['tl_module']['palettes']['newsletterSubscribeNotificationCenter']); + $GLOBALS['TL_DCA']['tl_module']['palettes']['newsletterUnsubscribeNotificationCenter'] = str_replace(',disableCaptcha', '', $GLOBALS['TL_DCA']['tl_module']['palettes']['newsletterUnsubscribeNotificationCenter']); +} if (strpos($GLOBALS['TL_DCA']['tl_module']['palettes']['personalData'], 'newsletters')) { $GLOBALS['TL_DCA']['tl_module']['palettes']['personalData'] = str_replace('newsletters;', 'newsletters,nc_notification;', $GLOBALS['TL_DCA']['tl_module']['palettes']['personalData']); @@ -44,4 +52,7 @@ */ $GLOBALS['TL_DCA']['tl_module']['fields']['nc_notification']['eval']['ncNotificationChoices']['registration'] = array('member_registration'); $GLOBALS['TL_DCA']['tl_module']['fields']['nc_notification']['eval']['ncNotificationChoices']['lostPasswordNotificationCenter'] = array('member_password'); -$GLOBALS['TL_DCA']['tl_module']['fields']['nc_activation_notification']['eval']['ncNotificationChoices']['registration'] = array('member_activation'); \ No newline at end of file +$GLOBALS['TL_DCA']['tl_module']['fields']['nc_notification']['eval']['ncNotificationChoices']['newsletterSubscribeNotificationCenter'] = array('newsletter_subscribe'); +$GLOBALS['TL_DCA']['tl_module']['fields']['nc_notification']['eval']['ncNotificationChoices']['newsletterActivateNotificationCenter'] = array('newsletter_activate'); +$GLOBALS['TL_DCA']['tl_module']['fields']['nc_notification']['eval']['ncNotificationChoices']['newsletterUnsubscribeNotificationCenter'] = array('newsletter_unsubscribe'); +$GLOBALS['TL_DCA']['tl_module']['fields']['nc_activation_notification']['eval']['ncNotificationChoices']['registration'] = array('member_activation'); diff --git a/dca/tl_nc_gateway.php b/dca/tl_nc_gateway.php index e7c5b812..cd4e33d9 100644 --- a/dca/tl_nc_gateway.php +++ b/dca/tl_nc_gateway.php @@ -97,7 +97,7 @@ ( '__selector__' => array('type', 'queue_cronEnable', 'email', 'email_overrideSmtp', 'file_connection'), 'default' => '{title_legend},title,type', - 'queue' => '{title_legend},title,type;{gateway_legend},queue_targetGateway;{cronjob_legend},queue_cronExplanation,queue_cronEnable', + 'queue' => '{title_legend},title,type;{gateway_legend},queue_targetGateway,queue_delay;{cronjob_legend},queue_cronExplanation,queue_cronEnable', 'email' => '{title_legend},title,type;{gateway_legend},email_overrideSmtp,', 'file' => '{title_legend},title,type;{gateway_legend},file_type,file_connection', 'postmark' => '{title_legend},title,type;{gateway_legend},postmark_key,postmark_test,postmark_ssl', @@ -164,6 +164,18 @@ 'eval' => array('mandatory'=>true, 'includeBlankOption'=>true, 'tl_class'=>'w50'), 'sql' => "int(10) NOT NULL default '0'" ), + 'queue_delay' => array + ( + 'label' => &$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_delay'], + 'exclude' => true, + 'inputType' => 'text', + 'eval' => array('maxlength' => 64, 'tl_class'=>'w50'), + 'sql' => "varchar(64) NOT NULL default ''", + 'save_callback' => array + ( + array('NotificationCenter\tl_nc_gateway', 'validateQueueDelay') + ), + ), 'queue_cronExplanation' => array ( 'exclude' => true, diff --git a/dca/tl_nc_language.php b/dca/tl_nc_language.php index 1a80631e..df15b55b 100644 --- a/dca/tl_nc_language.php +++ b/dca/tl_nc_language.php @@ -22,7 +22,6 @@ 'ptable' => 'tl_nc_message', 'dataContainer' => 'Table', 'enableVersioning' => true, - 'nc_type_query' => "SELECT type FROM tl_nc_notification WHERE id=(SELECT pid FROM tl_nc_message WHERE id=(SELECT pid FROM tl_nc_language WHERE id=?))", 'oncreate_callback' => array ( array('NotificationCenter\tl_nc_language', 'insertGatewayType'), @@ -102,7 +101,7 @@ ( '__selector__' => array('gateway_type', 'email_mode'), 'default' => '{general_legend},language,fallback', - 'email' => '{general_legend},language,fallback;{meta_legend},email_sender_name,email_sender_address,recipients,email_recipient_cc,email_recipient_bcc,email_replyTo;{content_legend},email_subject,email_mode;{attachments_legend},attachments,attachment_tokens', + 'email' => '{general_legend},language,fallback;{meta_legend},email_sender_name,email_sender_address,recipients,email_recipient_cc,email_recipient_bcc,email_replyTo;{content_legend},email_subject,email_mode;{attachments_legend},attachments,attachment_templates,attachment_tokens', 'file' => '{general_legend},language,fallback;{meta_legend},file_name,file_storage_mode;{content_legend},file_content', 'postmark' => '{general_legend},language,fallback;{meta_legend},email_sender_name,email_sender_address,recipients,email_recipient_cc,email_recipient_bcc,email_replyTo;{content_legend},email_subject,email_mode', ), @@ -190,6 +189,14 @@ 'eval' => array('multiple'=>true, 'fieldType'=>'checkbox', 'files'=>true, 'filesOnly'=>true, 'tl_class'=>'clr'), 'sql' => "blob NULL" ), + 'attachment_templates' => array + ( + 'label' => &$GLOBALS['TL_LANG']['tl_nc_language']['attachment_templates'], + 'exclude' => true, + 'inputType' => 'fileTree', + 'eval' => array('multiple'=>true, 'fieldType'=>'checkbox', 'files'=>true, 'filesOnly'=>true, 'tl_class'=>'clr', 'extensions'=>'xml,txt'), + 'sql' => "blob NULL" + ), 'email_sender_name' => array ( 'label' => &$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_name'], diff --git a/dca/tl_nc_notification.php b/dca/tl_nc_notification.php index d6fc0b97..2d767396 100644 --- a/dca/tl_nc_notification.php +++ b/dca/tl_nc_notification.php @@ -96,7 +96,7 @@ ( '__selector__' => array('type'), 'default' => '{title_legend},title,type;', - 'core_form' => '{title_legend},title,type;{config_legend},flatten_delimiter', + 'core_form' => '{title_legend},title,type;{config_legend},flatten_delimiter;{templates_legend:hide},templates', ), // Fields @@ -138,6 +138,15 @@ 'default' => ',', 'eval' => array('doNotTrim'=>true), 'sql' => "varchar(255) NOT NULL default ''" - ) + ), + 'templates' => array + ( + 'label' => &$GLOBALS['TL_LANG']['tl_nc_notification']['templates'], + 'exclude' => true, + 'inputType' => 'select', + 'options' => \Backend::getTemplateGroup('notification_'), + 'eval' => array('multiple'=>true, 'includeBlankOption'=>true, 'chosen'=>true, 'tl_class'=>'clr'), + 'sql' => "blob NULL", + ), ) ); diff --git a/dca/tl_nc_queue.php b/dca/tl_nc_queue.php index 586a0142..20566328 100644 --- a/dca/tl_nc_queue.php +++ b/dca/tl_nc_queue.php @@ -22,6 +22,9 @@ 'notEditable' => true, 'notCopyable' => true, 'notSortable' => true, + 'ondelete_callback' => [ + ['NotificationCenter\tl_nc_queue', 'onDeleteCallback'], + ], 'sql' => array ( 'keys' => array @@ -112,6 +115,12 @@ 'flag' => 6, 'sql' => "int(10) unsigned NOT NULL default '0'" ), + 'dateDelay' => array + ( + 'label' => &$GLOBALS['TL_LANG']['tl_nc_queue']['dateDelay'], + 'flag' => 6, + 'sql' => "int(10) unsigned NULL" + ), 'dateSent' => array ( 'label' => &$GLOBALS['TL_LANG']['tl_nc_queue']['dateSent'], @@ -136,6 +145,11 @@ 'label' => &$GLOBALS['TL_LANG']['tl_nc_queue']['language'], 'filter' => true, 'sql' => "varchar(5) NOT NULL default ''" - ) + ), + 'attachments' => array + ( + 'label' => &$GLOBALS['TL_LANG']['tl_nc_queue']['attachments'], + 'sql' => "blob NULL" + ), ) ); diff --git a/languages/cs/modules.php b/languages/cs/modules.php deleted file mode 100644 index 6b012334..00000000 --- a/languages/cs/modules.php +++ /dev/null @@ -1,24 +0,0 @@ - + + + + + Notification Center + Oznamovací centrum + + + Notifications + Oznámení + + + Manage notifications. + Spravovat oznámení + + + Queue + Fronta + + + View the message queue. + Zobrazit zprávy ve frontě + + + Gateways + Způsoby rozesílání + + + Manage gateways + Spravovat způsoby rozesílání + + + Lost password (Notification Center) + Poslední heslo (Oznamovací centrum) + + + Generates a form to request a new password and sends the notification using the notification center. + Vytvoří formulář požadující nové heslo a zašle oznámení pomocí Oznamovacího centra. + + + Subscribe (Notification Center) + + + Generates a form to subscribe to one or more channels and sends the notification using the notification center. + + + Activate (Notification Center) + + + Generates a form to activate subscription to one or more channels the notification using the notification center. + + + Unsubscribe (Notification Center) + + + Generates a form to unsubscribe from one or more channels and sends the notification using the notification center. + + + + diff --git a/languages/cs/tl_form.php b/languages/cs/tl_form.php deleted file mode 100644 index 722004d3..00000000 --- a/languages/cs/tl_form.php +++ /dev/null @@ -1,17 +0,0 @@ - + + + + Notification + Oznámení + + + + Please select a notification. + Vyberte prosím oznámení. + + + + + \ No newline at end of file diff --git a/languages/cs/tl_module.php b/languages/cs/tl_module.php deleted file mode 100644 index aa927001..00000000 --- a/languages/cs/tl_module.php +++ /dev/null @@ -1,19 +0,0 @@ - + + + + Notification + Oznámení + + + + Please select a notification. + Vyberte prosím oznámení. + + + + Activation notification + Aktivovat oznámení + + + + Please select an activation notification. + Vyberte prosím aktivní oznámení. + + + + Notification + + + + + \ No newline at end of file diff --git a/languages/cs/tl_nc_gateway.php b/languages/cs/tl_nc_gateway.php deleted file mode 100644 index bbdb292f..00000000 --- a/languages/cs/tl_nc_gateway.php +++ /dev/null @@ -1,90 +0,0 @@ -dowloads).'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_port']['0'] = 'Číslo portu'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_port']['1'] = 'Sem můžete zadat číslo portu. Ponechte pole prázdné pro použití výchozích hodnot.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['0'] = 'Druh souboru'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['1'] = 'Vyberte prosím druh souboru.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['csv'] = 'CSV'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['xml'] = 'Prostý text / XML'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_username']['0'] = 'Užívatelské jméno'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_username']['1'] = 'Zadejte prosím uživatelské jméno.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['ftp_confirm'] = 'Připojení navázáno'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['ftp_error_connect'] = 'Nelze se připojit k serveru FTP!'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['ftp_error_login'] = 'Nepodařilo se přihlásit k serveru FTP!'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['gateway_legend'] = 'Nastavení tohoto způsobu rozesílání'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['new']['0'] = 'Nový druh rozesílání'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['new']['1'] = 'Vytvořit nový způsob rozesílání.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_key']['0'] = 'Klíč API Postmarku'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_key']['1'] = 'Zadejte prosím klíč API Postmarku.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_ssl']['0'] = 'Povolit SSL'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_ssl']['1'] = 'Zde můžete povolit zabezpečené připojení SSL.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_test']['0'] = 'Spustit testovací modus'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_test']['1'] = 'Zde můžete povolit testovací modus.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronEnable']['0'] = 'Aktivovat intervalové zasílání'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronEnable']['1'] = 'Tím budou zprávy rozesílané ve vybraném intervalu.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['0'] = 'Četnost, interval'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['1'] = 'Vyberte četnost, s níž byste rádi obdrželi zprávy. '; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['daily'] = 'Každý den'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['hourly'] = 'Každou hodinu'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['minutely'] = 'Každou minutu'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['monthly'] = 'Každý měsíc'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['weekly'] = 'Každý týden'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronMessages']['0'] = 'Počet zpráv'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronMessages']['1'] = 'Zde můžete zadat počet zpráv, které mají být odeslané v rámci jednoho intervalu.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_targetGateway']['0'] = 'Rozdělené rozesílání'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_targetGateway']['1'] = 'Tento typ umístí všechny zprávy do fronty a pak je rozešle přes druh rozesílání, který si tu zvolíte.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['show']['0'] = 'Podrobnosti k tomuto způsobu rozesílání'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['show']['1'] = 'Zobrazit podrobnosti ke způsobu rozesílání %s.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpEnc']['0'] = 'Šifrování SMTP'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpEnc']['1'] = 'Zde můžete zvolit šifrovací metodu (SSL nebo TLS).'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpHost']['0'] = 'Název serveru SMTP'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpHost']['1'] = 'Zadejte prosím jméno poskytovatele serveru SMTP.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpPass']['0'] = 'Heslo SMTP'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpPass']['1'] = 'Zde můžete zadat heslo pro SMTP.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpPort']['0'] = 'Číslo portu SMTP'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpPort']['1'] = 'Zadejte prosím číslo portu serveru SMTP.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpUser']['0'] = 'Uživatelské jméno SMTP'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpUser']['1'] = 'Zde můžete zadat uživatelské jméno SMTP.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['title']['0'] = 'Název'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['title']['1'] = 'Zadejte prosím název pro tento druh rozesílání.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['title_legend'] = 'Název a druh'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['0'] = 'Druh'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['1'] = 'Vyberte prosím druh rozesílání.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['email'] = 'Standardní rozesílání mailů'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['file'] = 'Zápis do souboru'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['postmark'] = 'Postmark (postmarkapp.com)'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['queue'] = 'Fronta'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['useSMTP']['0'] = 'Zaslat maily přes SMTP'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['useSMTP']['1'] = 'Použít pro odesílání mailů server SMTP místo funkce PHP mail().'; - diff --git a/languages/cs/tl_nc_gateway.xlf b/languages/cs/tl_nc_gateway.xlf new file mode 100644 index 00000000..a1f60136 --- /dev/null +++ b/languages/cs/tl_nc_gateway.xlf @@ -0,0 +1,410 @@ + + + + + Title + Název + + + + Please enter a title for this gateway. + Zadejte prosím název pro tento druh rozesílání. + + + + Type + Druh + + + + Please select a type for this gateway. + Vyberte prosím druh rozesílání. + + + + Target gateway + Rozdělené rozesílání + + + + This gateway will queue all the messages and then send them over the gateway you define here. + Tento typ umístí všechny zprávy do fronty a pak je rozešle přes druh rozesílání, který si tu zvolíte. + + + + Enable poor man's cronjob + Aktivovat intervalové zasílání + + + + This will register this queue gateway to the poor man's cronjob. + Tím budou zprávy rozesílané ve vybraném intervalu. + + + + Interval + Četnost, interval + + + + Choose the interval you would like to have this queue gateway be invoked. + Vyberte četnost, s níž byste rádi obdrželi zprávy. + + + + Number of messages + Počet zpráv + + + + Here you can enter the number of messages that should be sent per invocation. + Zde můžete zadat počet zpráv, které mají být odeslané v rámci jednoho intervalu. + + + + Override SMTP settings + Přepsat nastavení SMTP + + + + This gateway will take the Contao e-mail settings by default. If you want to override the SMTP settings for this specific gateway, activate this checkbox. + Tento druh rozesílání převezme výchozí nastavení rozesílání mailů. Pokud si přejete použít jiná nastavení SMTP pro tento druh, zaškrtněte toto políčko. + + + + File type + Druh souboru + + + + Please choose the file type. + Vyberte prosím druh souboru. + + + + Connection type + Druh připojení + + + + Please choose the connection type. + Vyberte prosím druh připojení. + + + + Host name + Název poskytovatele (host) + + + + Please enter the host name. + Zadejte prosím jméno poskytovatele. + + + + Port number + Číslo portu + + + + Here you can enter the port number. Leave empty to use the default. + Sem můžete zadat číslo portu. Ponechte pole prázdné pro použití výchozích hodnot. + + + + Username + Užívatelské jméno + + + + Please enter the username. + Zadejte prosím uživatelské jméno. + + + + Password + Heslo + + + + Please enter the password. + Zadejte prosím heslo. + + + + Path + Cesta + + + + Here you can enter the path (e.g. <em>downloads</em>). + Zde můžete zadat cestu k souboru (např. <em>dowloads</em>). + + + + Postmark API key + Klíč API Postmarku + + + + Please enter your unique Postmark API key. + Zadejte prosím klíč API Postmarku. + + + + Enable test mode + Spustit testovací modus + + + + Here you can enable the test mode. + Zde můžete povolit testovací modus. + + + + Enable SSL + Povolit SSL + + + + Here you can enable the SSL connection. + Zde můžete povolit zabezpečené připojení SSL. + + + + Send e-mails via SMTP + Zaslat maily přes SMTP + + + + Use an SMTP server instead of the PHP mail() function to send e-mails. + Použít pro odesílání mailů server SMTP místo funkce PHP mail(). + + + + SMTP hostname + Název serveru SMTP + + + + Please enter the host name of the SMTP server. + Zadejte prosím jméno poskytovatele serveru SMTP. + + + + SMTP username + Uživatelské jméno SMTP + + + + Here you can enter the SMTP username. + Zde můžete zadat uživatelské jméno SMTP. + + + + SMTP password + Heslo SMTP + + + + Here you can enter the SMTP password. + Zde můžete zadat heslo pro SMTP. + + + + SMTP encryption + Šifrování SMTP + + + + Here you can choose an encryption method (SSL or TLS). + Zde můžete zvolit šifrovací metodu (SSL nebo TLS). + + + + SMTP port number + Číslo portu SMTP + + + + Please enter the port number of the SMTP server. + Zadejte prosím číslo portu serveru SMTP. + + + + Queue + Fronta + + + + Standard email gateway + Standardní rozesílání mailů + + + + Write to file + Zápis do souboru + + + + Postmark (postmarkapp.com) + Postmark (postmarkapp.com) + + + + Every minute + Každou minutu + + + + Every hour + Každou hodinu + + + + Every day + Každý den + + + + Every week + Každý týden + + + + Every month + Každý měsíc + + + + CSV + CSV + + + + Plain Text / XML + Prostý text / XML + + + + Local + Lokální + + + + FTP + FTP + + + + Connection successful + Připojení navázáno + + + + Could not connect to the FTP server! + Nelze se připojit k serveru FTP! + + + + Could not login to the FTP server! + Nepodařilo se přihlásit k serveru FTP! + + + + New gateway + Nový druh rozesílání + + + + Create a new gateway. + Vytvořit nový způsob rozesílání. + + + + Edit gateway + Upravit tento způsob rozesílání + + + + Edit gateway ID %s. + Upravit způsob rozesílání %s + + + + Copy gateway + Zkopírovat tento způsob rozesílání + + + + Copy gateway ID %s. + Zkopírovat způsob rozesílání %s. + + + + Delete gateway + Smazat tento způsob rozesílání + + + + Delete gateway ID %s. + Smazat způsob rozesílání %s. + + + + Gateway details + Podrobnosti k tomuto způsobu rozesílání + + + + Show details for gateway ID %s. + Zobrazit podrobnosti ke způsobu rozesílání %s. + + + + Title & type + Název a druh + + + + Gateway settings + Nastavení tohoto způsobu rozesílání + + + + Cronjob settings + Nastavení cronu + + + + Queued messages will remain in the queue forever unless +you trigger the sending mechanism by either using a real cron job or +the Contao internal poor man's cronjob. The Notification Center is shipped +with a binary that can be executed using a real cronjob. To setup a real cronjob +that invokes the queue of this queue gateway (ID: {gateway_id}) and send 15 messages every 10 minutes, +you would need to setup the following crontab: +<br><blockquote>*/10 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 15</blockquote><br> +or let's say you want to send 30 messages every 5 minutes after every hour, then you would set it up like this: +<br><blockquote>5 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 30</blockquote><br> +If you don't have access to real cronjobs then you can enable the poor man's cron. Note that it doesn't provide the same +flexibility in terms of interval settings and it is subject to the web execution context and thus certainly affected by +PHP configurations such as the maximum execution time. Thus, try to keep the number of messages sent per invocation as low as possible. +<br><br> +<strong>Note: </strong>When you installed the notification center using Composer, the path to the binary differs: +<blockquote> +/path/to/contao/composer/vendor/terminal42/notification_center/bin/queue +</blockquote> + + + + + Delayed delivery + + + + Enter a <a href="https://php.net/strtotime" target="_blank"><i>strtotime</i></a> time interval to delay message delivery (e.g. <em>+1 day</em>). + + + + + \ No newline at end of file diff --git a/languages/cs/tl_nc_language.php b/languages/cs/tl_nc_language.php deleted file mode 100644 index 576db237..00000000 --- a/languages/cs/tl_nc_language.php +++ /dev/null @@ -1,22 +0,0 @@ -čárkou oddělené příjemce. Použijte automatické vyplňování, abyste viděli spuštěné jednoduché tokeny. '; - diff --git a/languages/cs/tl_nc_language.xlf b/languages/cs/tl_nc_language.xlf new file mode 100644 index 00000000..6db487fe --- /dev/null +++ b/languages/cs/tl_nc_language.xlf @@ -0,0 +1,249 @@ + + + + + Language + Jazyk + + + + Please select a language. + Vyberte prosím jazyk. + + + + Fallback + Výchozí jazyk + + + + Activate this checkbox if this language should be your fallback. + Zaškrtněte tuto možnost, pokud si přejete použít tento jazyk jako výchozí + + + + Recipients + Příjemci + + + + Please enter a <strong>comma-separated</strong> list of recipients in this field. Use the autocompleter to see the available simple tokens. + Zadejte prosím <strong>čárkou</strong> oddělené příjemce. Použijte automatické vyplňování, abyste viděli spuštěné jednoduché tokeny. + + + + Attachments via tokens + Přílohy pomocí tokenu + + + + Please enter a <strong>comma-separated</strong> list of attachment tokens in this field. Use the autocompleter to see the available simple tokens. + + + + Attachments from file system + + + + Please choose from the file picker if you would like to add static files. + + + + Sender name + + + + Please enter the sender name. + + + + Sender address + + + + Please enter the sender email address. + + + + Send a CC to + + + + Recipients that should receive a carbon copy of the mail. Separate multiple addresses with a comma. + + + + Send a BCC to + + + + Recipients that should receive a blind carbon copy of the mail. Separate multiple addresses with a comma. + + + + Reply-to address + + + + You can optionally set a reply-to address for this message. + + + + Subject + + + + Please enter the subject for the e-mail. + + + + Mode + + + + Choose the mode you would like to be used for this email. + + + + Raw text + + + + Please enter the text. + + + + HTML + + + + Please enter the HTML. + + + + External images + + + + Do not embed images in HTML emails. + + + + File name + + + + Please enter the file name. + + + + Storage mode + + + + Here you can choose whether you want to override the existing file or append to an existing file if present. + + + + File content + + + + Please enter the file content. + + + + Text only + + + + HTML and text + + + + Create new file + + + + Override existing file + + + + Append to existing file + + + + New language + + + + Add a new language. + + + + Edit language + + + + Edit language ID %s. + + + + Copy language + + + + Copy language ID %s. + + + + Delete language + + + + Delete language ID %s. + + + + Language details + + + + Show details for language ID %s. + + + + General language settings + + + + Attachments + + + + Meta information + + + + Content + + + + The following tokens you have used are not supported by this notification type: %s. + + + + Your content contains invalid tokens. Simple Tokens cannot contain one of those characters: <>!=*. They are either used for comparisons in if statements or as wildcard. + + + + Attachments from templates + + + + These files are used as templates for an attachment. Simple tokens inside these files are replaced and attached to the message. + + + + + \ No newline at end of file diff --git a/languages/cs/tl_nc_message.xlf b/languages/cs/tl_nc_message.xlf new file mode 100644 index 00000000..163f9265 --- /dev/null +++ b/languages/cs/tl_nc_message.xlf @@ -0,0 +1,130 @@ + + + + + + Title + + + Please enter a title for this message. + + + Gateway + + + Please select a gateway for this message. + + + Languages + + + Here you can manage the different languages. + + + Manage languages + + + Close + + + Priority + + + Please select a priority. + + + Template file + + + Please choose a template file. + + + Tag + + + Here you can enter the tag. + + + Enable open tracking + + + Here you can enable open tracking. + + + Publish message + + + Include this message when a notification is being sent. + + + New message + + + Create a new message. + + + Edit message + + + Edit message ID %s. + + + Duplicate message + + + Duplicate message ID %s. + + + Move message + + + Move message ID %s. + + + Delete message + + + Delete message ID %s. + + + Toggle visibility of message + + + Toggle visibility of message ID %s. + + + Gateway message + + + Show details for message ID %s. + + + Title & Gateway + + + Languages + + + Expert settings + + + Publish settings + + + very high + + + high + + + normal + + + low + + + very low + + + + diff --git a/languages/cs/tl_nc_notification.xlf b/languages/cs/tl_nc_notification.xlf new file mode 100644 index 00000000..7608d8dc --- /dev/null +++ b/languages/cs/tl_nc_notification.xlf @@ -0,0 +1,112 @@ + + + + + + Title + + + Please enter a title for this notification. + + + Type + + + Please select a type for this notification. + + + Standard eMail gateway + + + Write to file + + + New notification + + + Create a new notification. + + + Manage notifications + + + Manage messages for notification ID %s. + + + Edit notification + + + Edit notification ID %s. + + + Copy notification + + + Copy notification ID %s. + + + Delete notification + + + Delete notification ID %s. + + + Notification details + + + Show details for notification ID %s. + + + Title & type + + + Configuration + + + Contao + + + Form submission + + + This notification type can be sent when the form is submitted. + + + Member registration + + + Member personal data + + + Member lost password + + + Delimiter for lists + + + When list values (array values) are submitted, the Notification Center flattens them automatically by using a comma (",") by default. Change this here if you like. + + + Member activation + + + Token Templates + + + Choose templates to generate tokens from their output. Each template name must start with notification_xxx and its token will be converted to a ##template_xxx## token. + + + Templates + + + Newsletter subscribed + + + Newsletter activation + + + Newsletter unsubscribed + + + + diff --git a/languages/cs/tl_nc_queue.xlf b/languages/cs/tl_nc_queue.xlf new file mode 100644 index 00000000..a3ba5059 --- /dev/null +++ b/languages/cs/tl_nc_queue.xlf @@ -0,0 +1,70 @@ + + + + + + Source queue gateway + + + Target gateway + + + Source message + + + Date added to queue + + + Date sent from queue + + + Had an error during delivery process + + + Tokens + + + Language + + + Waiting in queue. + + + Error sending the message. Check the system log for more details. + + + Message sent. + + + Source + + + Add to queue again + + + This queued message (ID %s) encountered an error but you can re-add it to the queue by clicking this button. + + + Delete queued message + + + Delete queued message (ID %s). + + + Show details + + + Shows details of the queued message ID %s. + + + Are you sure you want to re-add queued message ID %s to the queue? + + + Date delayed in queue + + + Attachments + + + + diff --git a/languages/cs/tokens.xlf b/languages/cs/tokens.xlf new file mode 100644 index 00000000..f420b750 --- /dev/null +++ b/languages/cs/tokens.xlf @@ -0,0 +1,40 @@ + + + + + + E-mail address of administrator of the current page. + + + All the form fields. + + + All the form fields and their raw values. + + + All the form field labels. + + + E-mail address of administrator of the current page. + + + E-mail address of the member. + + + The current domain. + + + Current member fields as submitted by the form. Use {{user::*}} insert tags if you need other properties. + + + Member fields as they were before the changes. + + + Flag (1 or 0) if a field has changed, to be used with if-conditions. + + + Output of template "%s" + + + + diff --git a/languages/de/modules.php b/languages/de/modules.php deleted file mode 100644 index 650cef1f..00000000 --- a/languages/de/modules.php +++ /dev/null @@ -1,23 +0,0 @@ - + + + + Notification Center + Notification Center + + + + Notifications + Benachrichtigungen + + + + Manage notifications. + Benachrichtigungen verwalten. + + + + Queue + Warteschlange + + + + View the message queue. + Anzeigen der Nachrichtenwarteschlange. + + + + Gateways + Gateways + + + + Manage gateways + Gateways verwalten + + + + Lost password (Notification Center) + Passwort vergessen (Notification Center) + + + + Generates a form to request a new password and sends the notification using the notification center. + Generiert ein Formular um ein neues Passwort anzufordern und versendet anschließend die Benachrichtigung über das Notification Center. + + + + Subscribe (Notification Center) + Abonnieren (Notification Center) + + + + Generates a form to subscribe to one or more channels and sends the notification using the notification center. + Erzeugt ein Formular zum Abonnieren von Verteilern welches eine Benachrichtigung senden kann. + + + + Activate (Notification Center) + Aktivieren (Notification Center) + + + + Generates a form to activate subscription to one or more channels the notification using the notification center. + Erzeugt ein Formular zur Aktivierung eines Abonnements welches eine Benachrichtigung versenden kann. + + + + Unsubscribe (Notification Center) + Kündigen (Notification Center) + + + + Generates a form to unsubscribe from one or more channels and sends the notification using the notification center. + Erzeugt ein Formular zum Kündigen von Abonnements welches eine Benachrichtigung senden kann. + + + + + \ No newline at end of file diff --git a/languages/de/tl_form.php b/languages/de/tl_form.php deleted file mode 100644 index 788e6099..00000000 --- a/languages/de/tl_form.php +++ /dev/null @@ -1,16 +0,0 @@ - + + + + Notification + Benachrichtigung + + + + Please select a notification. + Bitte wählen Sie eine Benachrichtigung aus. + + + + + \ No newline at end of file diff --git a/languages/de/tl_module.php b/languages/de/tl_module.php deleted file mode 100644 index 8f25c57a..00000000 --- a/languages/de/tl_module.php +++ /dev/null @@ -1,18 +0,0 @@ - + + + + Notification + Benachrichtigung + + + + Please select a notification. + Bitte wählen Sie eine Benachrichtigung. + + + + Activation notification + Aktivierungsbenachrichtigung + + + + Please select an activation notification. + Bitte wählen Sie eine Aktivierungsbenachrichtigung. + + + + Notification + Benachrichtigung + + + + + \ No newline at end of file diff --git a/languages/de/tl_nc_gateway.php b/languages/de/tl_nc_gateway.php deleted file mode 100644 index a723053c..00000000 --- a/languages/de/tl_nc_gateway.php +++ /dev/null @@ -1,90 +0,0 @@ - + + + + Title + Titel + + + + Please enter a title for this gateway. + Bitte geben Sie einen Titel für dieses Gateway ein. + + + + Type + Typ + + + + Please select a type for this gateway. + Bitte wählen Sie einen Typen für dieses Gateway. + + + + Target gateway + Ziel-Gateway + + + + This gateway will queue all the messages and then send them over the gateway you define here. + Dieses Gateway wird alle Nachrichten zuerst in die Warteschlange übertragen. Danach werden sie über das hier gewählte Ziel-Gateway übermittelt. + + + + Enable poor man's cronjob + Poor-Man-Cron aktivieren + + + + This will register this queue gateway to the poor man's cronjob. + Gateway in Poor-Man-Cron registrieren. + + + + Interval + Intervall + + + + Choose the interval you would like to have this queue gateway be invoked. + Wählen Sie den Intervall für die Aufrufe der Warteschlange des Gateways. + + + + Number of messages + Anzahl Nachrichten + + + + Here you can enter the number of messages that should be sent per invocation. + Hier können Sie bestimmen wie viele Nachrichten pro Aurfruf gesendet werden. + + + + Override SMTP settings + SMTP-Einstellungen überschreiben + + + + This gateway will take the Contao e-mail settings by default. If you want to override the SMTP settings for this specific gateway, activate this checkbox. + Aktivieren Sie diese Checkbox um die Contao SMTP-Einstellungen (Systemeinstellungen) zu überschreiben und sie anschließend zu individualisieren. + + + + File type + Dateiformat + + + + Please choose the file type. + Bitte wählen Sie ein Dateiformat aus. + + + + Connection type + Verbindungstyp + + + + Please choose the connection type. + Bitte wählen Sie einen Verbindungstyp aus. + + + + Host name + Server + + + + Please enter the host name. + Bitte geben Sie den Servernamen ein. + + + + Port number + Port + + + + Here you can enter the port number. Leave empty to use the default. + Bitte geben Sie die Portnummer ein. Wenn das Feld leer bleibt wird der Standard-Port verwendet. + + + + Username + Benutzername + + + + Please enter the username. + Bitte geben Sie den FTP-Benutzernamen ein. + + + + Password + Passwort + + + + Please enter the password. + Bitte geben Sie das zugehörige FTP-Passwort ein. + + + + Path + Pfad + + + + Here you can enter the path (e.g. <em>downloads</em>). + Hier können Sie den Zielordner bestimmen. (z.B. downloads) + + + + Postmark API key + Postmark API-Key + + + + Please enter your unique Postmark API key. + Bitte gebe deinen persönlichen Postmark API-Key ein. + + + + Enable test mode + Testmodus aktivieren + + + + Here you can enable the test mode. + Hier aktivieren Sie den Testmodus. + + + + Enable SSL + SSL-Verbindung aktivieren + + + + Here you can enable the SSL connection. + Hier können Sie die SSL-Verbindung aktivieren. + + + + Send e-mails via SMTP + SMTP-Einstellungen überschreiben + + + + Use an SMTP server instead of the PHP mail() function to send e-mails. + Aktivieren Sie diese Checkbox um die Contao SMTP-Einstellungen (Systemeinstellungen) zu überschreiben und sie anschließend zu individualisieren. + + + + SMTP hostname + SMTP-Hostname + + + + Please enter the host name of the SMTP server. + Bitte geben Sie den Hostnamen des SMTP-Servers ein. + + + + SMTP username + SMTP-Benutzername + + + + Here you can enter the SMTP username. + Hier können Sie den SMTP-Benutzernamen eingeben. + + + + SMTP password + SMTP-Passwort + + + + Here you can enter the SMTP password. + Hier können Sie das SMTP-Passwort eingeben. + + + + SMTP encryption + SMTP-Verschlüsselung + + + + Here you can choose an encryption method (SSL or TLS). + Hier können Sie eine Verschlüsselungsmethode auswählen (SSL oder TLS). + + + + SMTP port number + SMTP-Portnummer + + + + Please enter the port number of the SMTP server. + Bitte geben Sie die Portnummer des SMTP-Servers ein. + + + + Queue + Warteschlange + + + + Standard email gateway + Standard E-Mail-Gateway + + + + Write to file + In Datei schreiben + + + + Postmark (postmarkapp.com) + Postmark (postmarkapp.com) + + + + Every minute + Jede Minute + + + + Every hour + Jede Stunde + + + + Every day + Jeder Tag + + + + Every week + Jede Woche + + + + Every month + Jeder Monat + + + + CSV + CSV + + + + Plain Text / XML + Plain Text / XML + + + + Local + Lokal + + + + FTP + FTP + + + + Connection successful + Verbindung erfolgreich! + + + + Could not connect to the FTP server! + Verbindung zum FTP-Server konnte nicht hergestellt werden. + + + + Could not login to the FTP server! + Login auf FTP-Server fehlgeschlagen. + + + + New gateway + Neues Gateway + + + + Create a new gateway. + Neues Gateway anlegen. + + + + Edit gateway + Gateway editieren + + + + Edit gateway ID %s. + Editieren Sie das Gateway ID %s + + + + Copy gateway + Gateway duplizieren + + + + Copy gateway ID %s. + Editieren Sie das Gateway ID %s + + + + Delete gateway + Gateway löschen + + + + Delete gateway ID %s. + Löschen Sie das Gateway ID %s + + + + Gateway details + Gateway-Details + + + + Show details for gateway ID %s. + Details des Gateways ID %s anzeigen. + + + + Title & type + Titel & Typ + + + + Gateway settings + Gateway Einstellungen + + + + Cronjob settings + Cronjob-Einstellungen + + + + Queued messages will remain in the queue forever unless +you trigger the sending mechanism by either using a real cron job or +the Contao internal poor man's cronjob. The Notification Center is shipped +with a binary that can be executed using a real cronjob. To setup a real cronjob +that invokes the queue of this queue gateway (ID: {gateway_id}) and send 15 messages every 10 minutes, +you would need to setup the following crontab: +<br><blockquote>*/10 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 15</blockquote><br> +or let's say you want to send 30 messages every 5 minutes after every hour, then you would set it up like this: +<br><blockquote>5 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 30</blockquote><br> +If you don't have access to real cronjobs then you can enable the poor man's cron. Note that it doesn't provide the same +flexibility in terms of interval settings and it is subject to the web execution context and thus certainly affected by +PHP configurations such as the maximum execution time. Thus, try to keep the number of messages sent per invocation as low as possible. +<br><br> +<strong>Note: </strong>When you installed the notification center using Composer, the path to the binary differs: +<blockquote> +/path/to/contao/composer/vendor/terminal42/notification_center/bin/queue +</blockquote> + + Verzögerte Nachrichten bleiben endlos in der Warteschleifen wenn Sie den Versand nicht entweder durch einen echten CronJob oder den Contao-internen Poor Man's CronJob ausführen. Das Benachrichtigungszentrum liefert ein Programm mit, welches für echte CronJobs verwendet werden kann. Um beispielsweise einen echten CronJob zu konfigurieren welcher aus der Warteschlange dieses Gateways (ID: {gateway_id}) jeweils 15 Nachrichten alle 10 Minuten verwendet, benötigen Sie folgendes Crontab: +<br><blockquote>*/10 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 15</blockquote><br> +oder falls Sie 30 Nachrichten immer am 5 nach jede Stunde senden wollen, sieht die Konfiguration so aus: +<br><blockquote>5 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 30</blockquote><br> +Sollten Sie keinen Zugang zu echten CronJobs haben, kann der Poor Man's CronJob verwendet werden. Beachten Sie dass dieser nicht dieselbe Flexibilität im Bezug auf Intervall-Einstellungen bietet und von der Weboberflächte beeinfluss ist, beispielsweise von der PHP-Konfiguration und -Laufzeit. Versuchen Sie daher die Anzahl Nachrichten pro Versand eher niedrig einzustellen. +<br><br> +<strong>Anmerkung: </strong>Wurde das Benachrichtigungszentrum per Composer installiert lautet der Pfad zum Programm wie folgt: +<blockquote> +/path/to/contao/composer/vendor/terminal42/notification_center/bin/queue +</blockquote> + + + + + Delayed delivery + Auslieferung verzögern + + + + Enter a <a href="https://php.net/strtotime" target="_blank"><i>strtotime</i></a> time interval to delay message delivery (e.g. <em>+1 day</em>). + Geben Sie einen englischen <a href="https://php.net/strtotime" target="_blank"><i>strtotime</i></a> Intervall für die Verzögerung der Nachricht ein (z.B. <em>+1 day</em>). + + + + + \ No newline at end of file diff --git a/languages/de/tl_nc_language.php b/languages/de/tl_nc_language.php deleted file mode 100644 index 8f1070f5..00000000 --- a/languages/de/tl_nc_language.php +++ /dev/null @@ -1,73 +0,0 @@ -Komma-separierte Liste von Attachment-Tokens in dieses Feld ein. Nutzen Sie die Autovervollständigung um die verfügbaren "Platzhalter" zu sehen. (Beginnen Sie mit ##)'; -$GLOBALS['TL_LANG']['tl_nc_language']['attachments']['0'] = 'Dateianhänge vom Dateisystem'; -$GLOBALS['TL_LANG']['tl_nc_language']['attachments']['1'] = 'Bitte wählen Sie mit dem Dateiwähler die statischen Dateien aus, die zur Mail hinzugefügt werden sollen.'; -$GLOBALS['TL_LANG']['tl_nc_language']['attachments_legend'] = 'Attachments'; -$GLOBALS['TL_LANG']['tl_nc_language']['content_legend'] = 'Inhalt'; -$GLOBALS['TL_LANG']['tl_nc_language']['copy']['0'] = 'Sprache kopieren'; -$GLOBALS['TL_LANG']['tl_nc_language']['copy']['1'] = 'Kopiere Sprache ID %s.'; -$GLOBALS['TL_LANG']['tl_nc_language']['delete']['0'] = 'Sprache löschen'; -$GLOBALS['TL_LANG']['tl_nc_language']['delete']['1'] = 'Sprache mit ID %s löschen.'; -$GLOBALS['TL_LANG']['tl_nc_language']['edit']['0'] = 'Sprache editieren'; -$GLOBALS['TL_LANG']['tl_nc_language']['edit']['1'] = 'Sprache ID %s editieren.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_external_images']['0'] = 'Externe Bilder'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_external_images']['1'] = 'Bilder in HTML-E-Mails nicht einbetten.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_html']['0'] = 'HTML'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_html']['1'] = 'Bitte HTML eingeben.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['0'] = 'Modus'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['1'] = 'Bitte den gewünschten Modus für diese E-Mail wählen.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['textAndHtml'] = 'HTML und Text'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['textOnly'] = 'Nur Text'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_bcc']['0'] = 'BCC-Empfänger'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_bcc']['1'] = 'Empfänger die eine Kopie der E-Mail erhalten. Mehrere Adressen per Komma separieren.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_cc']['0'] = 'CC-Empfänger'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_cc']['1'] = 'Empfänger die eine Kopie der E-Mail erhalten. Mehrere Adressen per Komma separieren.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_replyTo']['0'] = 'Antwort an (Reply-To)'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_replyTo']['1'] = 'Optionale "Antwort an" E-Mail-Adresse.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_address']['0'] = 'Absender-E-Mail'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_address']['1'] = 'Bitte geben Sie die Absender-Adresse ein.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_name']['0'] = 'Absendername'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_name']['1'] = 'Bitte geben Sie den Absender ein.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_subject']['0'] = 'Subject'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_subject']['1'] = 'Bitte geben Sie den Betreff der E-Mail ein.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_text']['0'] = 'Rohtext'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_text']['1'] = 'Bitte den Text eingeben.'; -$GLOBALS['TL_LANG']['tl_nc_language']['fallback']['0'] = 'Fallback-Sprache'; -$GLOBALS['TL_LANG']['tl_nc_language']['fallback']['1'] = 'Markieren Sie die Checkbox falls dies die Fallback-Sprache ist.'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_content']['0'] = 'Datei Inhalt'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_content']['1'] = 'Dateiinhalt eingeben.'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_name']['0'] = 'Dateiname'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_name']['1'] = 'Bitte geben Sie den Dateinamen ein.'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_override']['0'] = 'Bestehende Datei überschreiben'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_override']['1'] = 'Überschreibt die bestehende Datei.'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_storage_mode']['0'] = 'Speichermodus'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_storage_mode']['1'] = 'Hier können Sie wählen, ob Sie die bestehende Datei überschreiben, oder an sie anhängen wollen.'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_storage_mode']['append'] = 'Zu einer existierenden Datei hinzufügen'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_storage_mode']['create'] = 'Neue Datei erstellen'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_storage_mode']['override'] = 'Eine existierende Datei überschreiben'; -$GLOBALS['TL_LANG']['tl_nc_language']['general_legend'] = 'Generelle Spracheinstellungen'; -$GLOBALS['TL_LANG']['tl_nc_language']['language']['0'] = 'Sprache'; -$GLOBALS['TL_LANG']['tl_nc_language']['language']['1'] = 'Bitte wählen Sie eine Sprache.'; -$GLOBALS['TL_LANG']['tl_nc_language']['meta_legend'] = 'Meta-Informationen'; -$GLOBALS['TL_LANG']['tl_nc_language']['new']['0'] = 'Neue Sprache'; -$GLOBALS['TL_LANG']['tl_nc_language']['new']['1'] = 'Füge eine neue Sprache hinzu.'; -$GLOBALS['TL_LANG']['tl_nc_language']['recipients']['0'] = 'Empfänger'; -$GLOBALS['TL_LANG']['tl_nc_language']['recipients']['1'] = 'Bitte geben Sie eine Komma-separierte Liste der Empfänger in dieses Feld ein. Nutzen Sie die Autovervollständigung um die verfügbaren "Platzhalter" zu sehen. (Beginnen Sie mit ##)'; -$GLOBALS['TL_LANG']['tl_nc_language']['show']['0'] = 'Sprach-Details'; -$GLOBALS['TL_LANG']['tl_nc_language']['show']['1'] = 'Details für ID %s anzeigen.'; -$GLOBALS['TL_LANG']['tl_nc_language']['token_character_error'] = 'Der Inhalt enthält invalide Tokens. Simple Tokens können keines der folgenden Zeichen enthalten: "<>!=*". Sie werden entweder für if-Bedingungen oder als Platzhalter verwendet.'; -$GLOBALS['TL_LANG']['tl_nc_language']['token_error'] = 'Die folgenden eingesetzten Tokens werden vom Notification-Typ nicht unterstützt: %s.'; - diff --git a/languages/de/tl_nc_language.xlf b/languages/de/tl_nc_language.xlf new file mode 100644 index 00000000..cd0cb8fe --- /dev/null +++ b/languages/de/tl_nc_language.xlf @@ -0,0 +1,301 @@ + + + + + Language + Sprache + + + + Please select a language. + Bitte wählen Sie eine Sprache. + + + + Fallback + Fallback-Sprache + + + + Activate this checkbox if this language should be your fallback. + Markieren Sie die Checkbox falls dies die Fallback-Sprache ist. + + + + Recipients + Empfänger + + + + Please enter a <strong>comma-separated</strong> list of recipients in this field. Use the autocompleter to see the available simple tokens. + Bitte geben Sie eine <strong>Komma-separierte</strong> Liste der Empfänger in dieses Feld ein. Nutzen Sie die Autovervollständigung um die verfügbaren "Platzhalter" zu sehen. (Beginnen Sie mit ##) + + + + Attachments via tokens + Dateianhänge via Tokens + + + + Please enter a <strong>comma-separated</strong> list of attachment tokens in this field. Use the autocompleter to see the available simple tokens. + Bitte geben Sie eine <strong>Komma-separierte</strong> Liste von Attachment-Tokens in dieses Feld ein. Nutzen Sie die Autovervollständigung um die verfügbaren "Platzhalter" zu sehen. (Beginnen Sie mit ##) + + + + Attachments from file system + Dateianhänge vom Dateisystem + + + + Please choose from the file picker if you would like to add static files. + Bitte wählen Sie mit dem Dateiwähler die statischen Dateien aus, die zur Mail hinzugefügt werden sollen. + + + + Sender name + Absendername + + + + Please enter the sender name. + Bitte geben Sie den Absender ein. + + + + Sender address + Absender-E-Mail + + + + Please enter the sender email address. + Bitte geben Sie die Absender-Adresse ein. + + + + Send a CC to + CC-Empfänger + + + + Recipients that should receive a carbon copy of the mail. Separate multiple addresses with a comma. + Empfänger die eine Kopie der E-Mail erhalten. Mehrere Adressen per Komma separieren. + + + + Send a BCC to + BCC-Empfänger + + + + Recipients that should receive a blind carbon copy of the mail. Separate multiple addresses with a comma. + Empfänger die eine Kopie der E-Mail erhalten. Mehrere Adressen per Komma separieren. + + + + Reply-to address + Antwort an (Reply-To) + + + + You can optionally set a reply-to address for this message. + Optionale "Antwort an" E-Mail-Adresse. + + + + Subject + Subject + + + + Please enter the subject for the e-mail. + Bitte geben Sie den Betreff der E-Mail ein. + + + + Mode + Modus + + + + Choose the mode you would like to be used for this email. + Bitte den gewünschten Modus für diese E-Mail wählen. + + + + Raw text + Rohtext + + + + Please enter the text. + Bitte den Text eingeben. + + + + HTML + HTML + + + + Please enter the HTML. + Bitte HTML eingeben. + + + + External images + Externe Bilder + + + + Do not embed images in HTML emails. + Bilder in HTML-E-Mails nicht einbetten. + + + + File name + Dateiname + + + + Please enter the file name. + Bitte geben Sie den Dateinamen ein. + + + + Storage mode + Speichermodus + + + + Here you can choose whether you want to override the existing file or append to an existing file if present. + Hier können Sie wählen, ob Sie die bestehende Datei überschreiben, oder an sie anhängen wollen. + + + + File content + Datei Inhalt + + + + Please enter the file content. + Dateiinhalt eingeben. + + + + Text only + Nur Text + + + + HTML and text + HTML und Text + + + + Create new file + Neue Datei erstellen + + + + Override existing file + Eine existierende Datei überschreiben + + + + Append to existing file + Zu einer existierenden Datei hinzufügen + + + + New language + Neue Sprache + + + + Add a new language. + Füge eine neue Sprache hinzu. + + + + Edit language + Sprache editieren + + + + Edit language ID %s. + Sprache ID %s editieren. + + + + Copy language + Sprache kopieren + + + + Copy language ID %s. + Kopiere Sprache ID %s. + + + + Delete language + Sprache löschen + + + + Delete language ID %s. + Sprache mit ID %s löschen. + + + + Language details + Sprach-Details + + + + Show details for language ID %s. + Details für ID %s anzeigen. + + + + General language settings + Generelle Spracheinstellungen + + + + Attachments + Attachments + + + + Meta information + Meta-Informationen + + + + Content + Inhalt + + + + The following tokens you have used are not supported by this notification type: %s. + Die folgenden eingesetzten Tokens werden vom Notification-Typ nicht unterstützt: %s. + + + + Your content contains invalid tokens. Simple Tokens cannot contain one of those characters: <>!=*. They are either used for comparisons in if statements or as wildcard. + Der Inhalt enthält invalide Tokens. Simple Tokens können keines der folgenden Zeichen enthalten: "<>!=*". Sie werden entweder für if-Bedingungen oder als Platzhalter verwendet. + + + + Attachments from templates + Anhänge aus Vorlagen + + + + These files are used as templates for an attachment. Simple tokens inside these files are replaced and attached to the message. + Diese Dateien werden als Vorlage für Anhänge verwendet. Simple Tokens innerhalb der Datei werden ersetzt und die Datei danach der Nachricht angehängt. + + + + + \ No newline at end of file diff --git a/languages/de/tl_nc_message.php b/languages/de/tl_nc_message.php deleted file mode 100644 index 9b50440f..00000000 --- a/languages/de/tl_nc_message.php +++ /dev/null @@ -1,55 +0,0 @@ - + + + + Title + Titel + + + + Please enter a title for this message. + Bitte geben Sie einen Namen für diese Nachricht ein. + + + + Gateway + Gateway + + + + Please select a gateway for this message. + Bitte wählen Sie einen Gateway für diese Nachricht. + + + + Languages + Sprachen + + + + Here you can manage the different languages. + Hier können Sie die verschiedenen Sprachen verwalten. + + + + Manage languages + Sprachen verwalten + + + + Close + Schliessen + + + + Priority + Priorität + + + + Please select a priority. + Bitte wählen Sie die Priorität aus. + + + + Template file + Template-Datei + + + + Please choose a template file. + Bitte wählen Sie eine Template-Datei aus. + + + + Tag + Schlagwort + + + + Here you can enter the tag. + Hier können Sie ein Schlagwort definieren. + + + + Enable open tracking + Open-Tracking aktivieren + + + + Here you can enable open tracking. + Hier können Sie das "Open-Tracking" aktivieren. + + + + Publish message + Nachricht veröffentlichen + + + + Include this message when a notification is being sent. + Diese Nachricht einfügen beim Versenden der Notification. + + + + New message + Neue Nachricht + + + + Create a new message. + Eine neue Nachricht hinzufügen. + + + + Edit message + Nachricht editieren + + + + Edit message ID %s. + Nachricht ID %s editieren. + + + + Duplicate message + Nachricht kopieren + + + + Duplicate message ID %s. + Nachricht mit ID %s kopieren. + + + + Move message + Nachricht verschieben + + + + Move message ID %s. + Nachricht mit ID %s verschieben. + + + + Delete message + Nachricht löschen + + + + Delete message ID %s. + Nachricht mit ID %s löschen. + + + + Toggle visibility of message + Nachricht ein-/ausblenden + + + + Toggle visibility of message ID %s. + Blende die Nachricht ID %s ein/aus. + + + + Gateway message + Nachrichtendetails + + + + Show details for message ID %s. + Details für Nachricht ID %s anzeigen. + + + + Title & Gateway + Titel & Gateway + + + + Languages + Sprachen + + + + Expert settings + Experteneinstellungen + + + + Publish settings + Einstellungen veröffentlichen + + + + very high + sehr hoch + + + + high + hoch + + + + normal + normal + + + + low + tief + + + + very low + sehr tief + + + + + \ No newline at end of file diff --git a/languages/de/tl_nc_notification.php b/languages/de/tl_nc_notification.php deleted file mode 100644 index cfb34f58..00000000 --- a/languages/de/tl_nc_notification.php +++ /dev/null @@ -1,42 +0,0 @@ - + + + + Title + Titel + + + + Please enter a title for this notification. + Bitte geben Sie einen Namen für diese Benachrichtigung ein. + + + + Type + Benachrichtigungstyp + + + + Please select a type for this notification. + Bitte wählen Sie einen Benachrichtigungstyp aus. + + + + Delimiter for lists + Trennzeichen für Listen + + + + When list values (array values) are submitted, the Notification Center flattens them automatically by using a comma (",") by default. Change this here if you like. + Wenn mehrere Werte (Arrays) übermittelt werden, generiert das Benachrichtigungszentrum daraus automatisch eine kommaseparierte Liste (","). Wählen Sie hier ein anderes Trennzeichen falls nötig. + + + + Standard eMail gateway + Standard eMail Gateway + + + + Write to file + In Datei schreiben + + + + New notification + Neue Benachrichtigung + + + + Create a new notification. + Neue Benachrichtigung erstellen. + + + + Manage notifications + Benachrichtigung editieren + + + + Manage messages for notification ID %s. + Benachrichtigung ID %s editieren. + + + + Edit notification + Benachrichtigung bearbeiten + + + + Edit notification ID %s. + Benachrichtigung ID %s editieren. + + + + Copy notification + Benachrichtigung kopieren + + + + Copy notification ID %s. + Benachrichtigung ID %s kopieren. + + + + Delete notification + Benachrichtigung löschen + + + + Delete notification ID %s. + Benachrichtigung ID %s löschen. + + + + Notification details + Benachrichtigungsdetails + + + + Show details for notification ID %s. + Details für Benachrichtigung ID %s anzeigen. + + + + Title & type + Titel & Benachrichtigungstyp + + + + Configuration + Konfiguration + + + + Contao + Contao + + + + Form submission + Formularübertragung + + + + This notification type can be sent when the form is submitted. + Dieser Benachrichtigungstyp wird nach erfolgreicher Formularübertragung versendet. + + + + Member activation + Mitglied: Aktivierung + + + + Member registration + Mitglieds Registration + + + + Member personal data + Mitglied: Persönliche Daten + + + + Member lost password + Mitglied: Passwort vergessen + + + + Token Templates + Platzhalter Templates + + + + Choose templates to generate tokens from their output. Each template name must start with notification_xxx and its token will be converted to a ##template_xxx## token. + Wählen Sie Templates um daraus ein Token zu generieren. Der Name des Templates muss mit notification_xxx beginnen und wird zum Token ##template_xxx## konvertiert. + + + + Templates + Templates + + + + Newsletter subscribed + Newsletter abonniert + + + + Newsletter activation + Newsletter aktiviert + + + + Newsletter unsubscribed + Newsletter gekündigt + + + + + \ No newline at end of file diff --git a/languages/de/tl_nc_queue.php b/languages/de/tl_nc_queue.php deleted file mode 100644 index ad01c105..00000000 --- a/languages/de/tl_nc_queue.php +++ /dev/null @@ -1,26 +0,0 @@ - + + + + Source queue gateway + Quell-Gateway + + + + Target gateway + Ziel Gateway + + + + Source message + Quell-Nachricht + + + + Date added to queue + Datum hinzugefügt + + + + Date sent from queue + Datum gesendet + + + + Had an error during delivery process + Fehler bei der Auslierfung + + + + Tokens + Tokens + + + + Language + Sprache + + + + Waiting in queue. + In der Warteschlange + + + + Error sending the message. Check the system log for more details. + Fehler beim Senden der Nachricht. Prüfen Sie das System-Log für Details. + + + + Message sent. + Nachricht gesendet. + + + + Source + Quelle + + + + Add to queue again + Nochmals zur Warteschlange hinzufügen + + + + This queued message (ID %s) encountered an error but you can re-add it to the queue by clicking this button. + Diese Nachricht (ID %s) erzeugte einen Fehler, aber Sie können Sie nochmals zur Warteschlange hinzufügen. + + + + Delete queued message + Warteschlangennachricht löschen + + + + Delete queued message (ID %s). + Warteschlangennachricht löschen (ID %s). + + + + Show details + Details anzeigen + + + + Shows details of the queued message ID %s. + Zeige + + + + Are you sure you want to re-add queued message ID %s to the queue? + Soll die Nachricht ID %s wirklich wieder zur Warteschlange hinzugefügt werden? + + + + Date delayed in queue + Datum verzögert + + + + Attachments + Anhänge + + + + + \ No newline at end of file diff --git a/languages/de/tokens.php b/languages/de/tokens.php deleted file mode 100644 index 19e3798f..00000000 --- a/languages/de/tokens.php +++ /dev/null @@ -1,22 +0,0 @@ - + + + + E-mail address of administrator of the current page. + E-Mail-Adresse des aktuellen Seitenadministrator. + + + + All the form fields. + Alle Formular-Felder. + + + + All the form field labels. + Alle Formularfelder und ihre Labels + + + + All the form fields and their raw values. + Alle Formular Felder und ihr Rohinhalt. + + + + E-mail address of administrator of the current page. + E-Mail-Adresse des Administrators der aktuellen Seite. + + + + E-mail address of the member. + E-Mail-Adresse des Mitglieds. + + + + The current domain. + Die aktuelle Domain. + + + + Current member fields as submitted by the form. Use {{user::*}} insert tags if you need other properties. + Mitglieder-Felder wie im Formular übermittelt. Nutzen Sie den {{user::*}} Insert-Tag für andere Felder. + + + + Member fields as they were before the changes. + Mitglied-Felder wie vor der Änderung + + + + Flag (1 or 0) if a field has changed, to be used with if-conditions. + Flag (0 oder 1). das anzeigt, ob sich ein Feld geändert hat. Zur Verwendung in if-Bedingungen. + + + + Output of template "%s" + Ausgabe des Templates "%s" + + + + + \ No newline at end of file diff --git a/languages/en/modules.php b/languages/en/modules.php deleted file mode 100644 index 95f40a24..00000000 --- a/languages/en/modules.php +++ /dev/null @@ -1,22 +0,0 @@ - - * @license LGPL - */ - -/** - * Backend Modules - */ -$GLOBALS['TL_LANG']['MOD']['notification_center'] = 'Notification Center'; -$GLOBALS['TL_LANG']['MOD']['nc_notifications'] = array('Notifications', 'Manage notifications.'); -$GLOBALS['TL_LANG']['MOD']['nc_queue'] = array('Queue', 'View the message queue.'); -$GLOBALS['TL_LANG']['MOD']['nc_gateways'] = array('Gateways', 'Manage gateways'); - -/** - * Front end modules - */ -$GLOBALS['TL_LANG']['FMD']['lostPasswordNotificationCenter'] = array('Lost password (Notification Center)', 'Generates a form to request a new password and sends the notification using the notification center.'); diff --git a/languages/en/modules.xlf b/languages/en/modules.xlf new file mode 100644 index 00000000..1c0aa387 --- /dev/null +++ b/languages/en/modules.xlf @@ -0,0 +1,67 @@ + + + + + + Notification Center + Notification Center + + + Notifications + Notifications + + + Manage notifications. + Manage notifications. + + + Queue + Queue + + + View the message queue. + View the message queue. + + + Gateways + Gateways + + + Manage gateways + Manage gateways + + + Lost password (Notification Center) + Lost password (Notification Center) + + + Generates a form to request a new password and sends the notification using the notification center. + Generates a form to request a new password and sends the notification using the notification center. + + + Subscribe (Notification Center) + Subscribe (Notification Center) + + + Generates a form to subscribe to one or more channels and sends the notification using the notification center. + Generates a form to subscribe to one or more channels and sends the notification using the notification center. + + + Activate (Notification Center) + Activate (Notification Center) + + + Generates a form to activate subscription to one or more channels the notification using the notification center. + Generates a form to activate subscription to one or more channels the notification using the notification center. + + + Unsubscribe (Notification Center) + Unsubscribe (Notification Center) + + + Generates a form to unsubscribe from one or more channels and sends the notification using the notification center. + Generates a form to unsubscribe from one or more channels and sends the notification using the notification center. + + + + diff --git a/languages/en/tl_form.php b/languages/en/tl_form.php deleted file mode 100644 index 8211f3e1..00000000 --- a/languages/en/tl_form.php +++ /dev/null @@ -1,14 +0,0 @@ - - * @license LGPL - */ - -/** - * Fields - */ -$GLOBALS['TL_LANG']['tl_form']['nc_notification'] = array('Notification', 'Please select a notification.'); \ No newline at end of file diff --git a/languages/en/tl_form.xlf b/languages/en/tl_form.xlf new file mode 100644 index 00000000..802aa4dc --- /dev/null +++ b/languages/en/tl_form.xlf @@ -0,0 +1,15 @@ + + + + + + Notification + Notification + + + Please select a notification. + Please select a notification. + + + + diff --git a/languages/en/tl_module.php b/languages/en/tl_module.php deleted file mode 100644 index cbd77988..00000000 --- a/languages/en/tl_module.php +++ /dev/null @@ -1,15 +0,0 @@ - - * @license LGPL - */ - -/** - * Fields - */ -$GLOBALS['TL_LANG']['tl_module']['nc_notification'] = array('Notification', 'Please select a notification.'); -$GLOBALS['TL_LANG']['tl_module']['nc_activation_notification'] = array('Activation notification', 'Please select an activation notification.'); \ No newline at end of file diff --git a/languages/en/tl_module.xlf b/languages/en/tl_module.xlf new file mode 100644 index 00000000..c815a158 --- /dev/null +++ b/languages/en/tl_module.xlf @@ -0,0 +1,27 @@ + + + + + + Notification + Notification + + + Please select a notification. + Please select a notification. + + + Activation notification + Activation notification + + + Please select an activation notification. + Please select an activation notification. + + + Notification + Notification + + + + diff --git a/languages/en/tl_nc_gateway.php b/languages/en/tl_nc_gateway.php deleted file mode 100644 index 17c87ce5..00000000 --- a/languages/en/tl_nc_gateway.php +++ /dev/null @@ -1,99 +0,0 @@ - - * @license LGPL - */ - -/** - * Fields - */ -$GLOBALS['TL_LANG']['tl_nc_gateway']['title'] = array('Title', 'Please enter a title for this gateway.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['type'] = array('Type', 'Please select a type for this gateway.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_targetGateway'] = array('Target gateway', 'This gateway will queue all the messages and then send them over the gateway you define here.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronEnable'] = array('Enable poor man\'s cronjob', 'This will register this queue gateway to the poor man\'s cronjob.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval'] = array('Interval', 'Choose the interval you would like to have this queue gateway be invoked.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronMessages'] = array('Number of messages', 'Here you can enter the number of messages that should be sent per invocation.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['email_overrideSmtp'] = array('Override SMTP settings', 'This gateway will take the Contao e-mail settings by default. If you want to override the SMTP settings for this specific gateway, activate this checkbox.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type'] = array('File type', 'Please choose the file type.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_connection'] = array('Connection type', 'Please choose the connection type.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_host'] = array('Host name', 'Please enter the host name.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_port'] = array('Port number', 'Here you can enter the port number. Leave empty to use the default.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_username'] = array('Username', 'Please enter the username.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_password'] = array('Password', 'Please enter the password.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_path'] = array('Path', 'Here you can enter the path (e.g. downloads).'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_key'] = array('Postmark API key', 'Please enter your unique Postmark API key.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_test'] = array('Enable test mode', 'Here you can enable the test mode.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_ssl'] = array('Enable SSL', 'Here you can enable the SSL connection.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['useSMTP'] = array('Send e-mails via SMTP', 'Use an SMTP server instead of the PHP mail() function to send e-mails.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpHost'] = array('SMTP hostname', 'Please enter the host name of the SMTP server.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpUser'] = array('SMTP username', 'Here you can enter the SMTP username.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpPass'] = array('SMTP password', 'Here you can enter the SMTP password.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpEnc'] = array('SMTP encryption', 'Here you can choose an encryption method (SSL or TLS).'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpPort'] = array('SMTP port number', 'Please enter the port number of the SMTP server.'); - - -/** - * Reference - */ -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['queue'] = 'Queue'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['email'] = 'Standard email gateway'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['file'] = 'Write to file'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['postmark'] = 'Postmark (postmarkapp.com)'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['minutely'] = 'Every minute'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['hourly'] = 'Every hour'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['daily'] = 'Every day'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['weekly'] = 'Every week'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['monthly'] = 'Every month'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['csv'] = 'CSV'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['xml'] = 'Plain Text / XML'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_connection']['local'] = 'Local'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_connection']['ftp'] = 'FTP'; - -/** - * Messages - */ -$GLOBALS['TL_LANG']['tl_nc_gateway']['ftp_confirm'] = 'Connection successful'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['ftp_error_connect'] = 'Could not connect to the FTP server!'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['ftp_error_login'] = 'Could not login to the FTP server!'; - -/** - * Buttons - */ -$GLOBALS['TL_LANG']['tl_nc_gateway']['new'] = array('New gateway', 'Create a new gateway.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['edit'] = array('Edit gateway', 'Edit gateway ID %s.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['copy'] = array('Copy gateway', 'Copy gateway ID %s.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['delete'] = array('Delete gateway', 'Delete gateway ID %s.'); -$GLOBALS['TL_LANG']['tl_nc_gateway']['show'] = array('Gateway details', 'Show details for gateway ID %s.'); - -/** - * Legends - */ -$GLOBALS['TL_LANG']['tl_nc_gateway']['title_legend'] = 'Title & type'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['gateway_legend'] = 'Gateway settings'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['cronjob_legend'] = 'Cronjob settings'; - -/** - * Others - */ -$GLOBALS['TL_LANG']['queueCronjobExplanation'] = 'Queued messages will remain in the queue forever unless -you trigger the sending mechanism by either using a real cron job or -the Contao internal poor man\'s cronjob. The Notification Center is shipped -with a binary that can be executed using a real cronjob. To setup a real cronjob -that invokes the queue of this queue gateway (ID: {gateway_id}) and send 15 messages every 10 minutes, -you would need to setup the following crontab: -
*/10 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 15

-or let\'s say you want to send 30 messages every 5 minutes after every hour, then you would set it up like this: -
5 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 30

-If you don\'t have access to real cronjobs then you can enable the poor man\'s cron. Note that it doesn\'t provide the same -flexibility in terms of interval settings and it is subject to the web execution context and thus certainly affected by -PHP configurations such as the maximum execution time. Thus, try to keep the number of messages sent per invocation as low as possible. -

-Note: When you installed the notification center using Composer, the path to the binary differs: -
-/path/to/contao/composer/vendor/terminal42/notification_center/bin/queue -
-'; diff --git a/languages/en/tl_nc_gateway.xlf b/languages/en/tl_nc_gateway.xlf new file mode 100644 index 00000000..cb5817dd --- /dev/null +++ b/languages/en/tl_nc_gateway.xlf @@ -0,0 +1,353 @@ + + + + + + Title + Title + + + Please enter a title for this gateway. + Please enter a title for this gateway. + + + Type + Type + + + Please select a type for this gateway. + Please select a type for this gateway. + + + Target gateway + Target gateway + + + This gateway will queue all the messages and then send them over the gateway you define here. + This gateway will queue all the messages and then send them over the gateway you define here. + + + Enable poor man's cronjob + Enable poor man's cronjob + + + This will register this queue gateway to the poor man's cronjob. + This will register this queue gateway to the poor man's cronjob. + + + Interval + Interval + + + Choose the interval you would like to have this queue gateway be invoked. + Choose the interval you would like to have this queue gateway be invoked. + + + Number of messages + Number of messages + + + Here you can enter the number of messages that should be sent per invocation. + Here you can enter the number of messages that should be sent per invocation. + + + Override SMTP settings + Override SMTP settings + + + This gateway will take the Contao e-mail settings by default. If you want to override the SMTP settings for this specific gateway, activate this checkbox. + This gateway will take the Contao e-mail settings by default. If you want to override the SMTP settings for this specific gateway, activate this checkbox. + + + File type + File type + + + Please choose the file type. + Please choose the file type. + + + Connection type + Connection type + + + Please choose the connection type. + Please choose the connection type. + + + Host name + Host name + + + Please enter the host name. + Please enter the host name. + + + Port number + Port number + + + Here you can enter the port number. Leave empty to use the default. + Here you can enter the port number. Leave empty to use the default. + + + Username + Username + + + Please enter the username. + Please enter the username. + + + Password + Password + + + Please enter the password. + Please enter the password. + + + Path + Path + + + Here you can enter the path (e.g. <em>downloads</em>). + Here you can enter the path (e.g. <em>downloads</em>). + + + Postmark API key + Postmark API key + + + Please enter your unique Postmark API key. + Please enter your unique Postmark API key. + + + Enable test mode + Enable test mode + + + Here you can enable the test mode. + Here you can enable the test mode. + + + Enable SSL + Enable SSL + + + Here you can enable the SSL connection. + Here you can enable the SSL connection. + + + Send e-mails via SMTP + Send e-mails via SMTP + + + Use an SMTP server instead of the PHP mail() function to send e-mails. + Use an SMTP server instead of the PHP mail() function to send e-mails. + + + SMTP hostname + SMTP hostname + + + Please enter the host name of the SMTP server. + Please enter the host name of the SMTP server. + + + SMTP username + SMTP username + + + Here you can enter the SMTP username. + Here you can enter the SMTP username. + + + SMTP password + SMTP password + + + Here you can enter the SMTP password. + Here you can enter the SMTP password. + + + SMTP encryption + SMTP encryption + + + Here you can choose an encryption method (SSL or TLS). + Here you can choose an encryption method (SSL or TLS). + + + SMTP port number + SMTP port number + + + Please enter the port number of the SMTP server. + Please enter the port number of the SMTP server. + + + Queue + Queue + + + Standard email gateway + Standard email gateway + + + Write to file + Write to file + + + Postmark (postmarkapp.com) + Postmark (postmarkapp.com) + + + Every minute + Every minute + + + Every hour + Every hour + + + Every day + Every day + + + Every week + Every week + + + Every month + Every month + + + CSV + CSV + + + Plain Text / XML + Plain Text / XML + + + Local + Local + + + FTP + FTP + + + Connection successful + Connection successful + + + Could not connect to the FTP server! + Could not connect to the FTP server! + + + Could not login to the FTP server! + Could not login to the FTP server! + + + New gateway + New gateway + + + Create a new gateway. + Create a new gateway. + + + Edit gateway + Edit gateway + + + Edit gateway ID %s. + Edit gateway ID %s. + + + Copy gateway + Copy gateway + + + Copy gateway ID %s. + Copy gateway ID %s. + + + Delete gateway + Delete gateway + + + Delete gateway ID %s. + Delete gateway ID %s. + + + Gateway details + Gateway details + + + Show details for gateway ID %s. + Show details for gateway ID %s. + + + Title & type + Title & type + + + Gateway settings + Gateway settings + + + Cronjob settings + Cronjob settings + + + Queued messages will remain in the queue forever unless +you trigger the sending mechanism by either using a real cron job or +the Contao internal poor man's cronjob. The Notification Center is shipped +with a binary that can be executed using a real cronjob. To setup a real cronjob +that invokes the queue of this queue gateway (ID: {gateway_id}) and send 15 messages every 10 minutes, +you would need to setup the following crontab: +<br><blockquote>*/10 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 15</blockquote><br> +or let's say you want to send 30 messages every 5 minutes after every hour, then you would set it up like this: +<br><blockquote>5 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 30</blockquote><br> +If you don't have access to real cronjobs then you can enable the poor man's cron. Note that it doesn't provide the same +flexibility in terms of interval settings and it is subject to the web execution context and thus certainly affected by +PHP configurations such as the maximum execution time. Thus, try to keep the number of messages sent per invocation as low as possible. +<br><br> +<strong>Note: </strong>When you installed the notification center using Composer, the path to the binary differs: +<blockquote> +/path/to/contao/composer/vendor/terminal42/notification_center/bin/queue +</blockquote> + + Queued messages will remain in the queue forever unless +you trigger the sending mechanism by either using a real cron job or +the Contao internal poor man's cronjob. The Notification Center is shipped +with a binary that can be executed using a real cronjob. To setup a real cronjob +that invokes the queue of this queue gateway (ID: {gateway_id}) and send 15 messages every 10 minutes, +you would need to setup the following crontab: +<br><blockquote>*/10 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 15</blockquote><br> +or let's say you want to send 30 messages every 5 minutes after every hour, then you would set it up like this: +<br><blockquote>5 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 30</blockquote><br> +If you don't have access to real cronjobs then you can enable the poor man's cron. Note that it doesn't provide the same +flexibility in terms of interval settings and it is subject to the web execution context and thus certainly affected by +PHP configurations such as the maximum execution time. Thus, try to keep the number of messages sent per invocation as low as possible. +<br><br> +<strong>Note: </strong>When you installed the notification center using Composer, the path to the binary differs: +<blockquote> +/path/to/contao/composer/vendor/terminal42/notification_center/bin/queue +</blockquote> + + + + Delayed delivery + Delayed delivery + + + Enter a <a href="https://php.net/strtotime" target="_blank"><i>strtotime</i></a> time interval to delay message delivery (e.g. <em>+1 day</em>). + Enter a <a href="https://php.net/strtotime" target="_blank"><i>strtotime</i></a> time interval to delay message delivery (e.g. <em>+1 day</em>). + + + + diff --git a/languages/en/tl_nc_language.php b/languages/en/tl_nc_language.php deleted file mode 100644 index 444554d2..00000000 --- a/languages/en/tl_nc_language.php +++ /dev/null @@ -1,63 +0,0 @@ - - * @license LGPL - */ - -/** - * Fields - */ -$GLOBALS['TL_LANG']['tl_nc_language']['language'] = array('Language', 'Please select a language.'); -$GLOBALS['TL_LANG']['tl_nc_language']['fallback'] = array('Fallback', 'Activate this checkbox if this language should be your fallback.'); -$GLOBALS['TL_LANG']['tl_nc_language']['recipients'] = array('Recipients', 'Please enter a comma-separated list of recipients in this field. Use the autocompleter to see the available simple tokens.'); -$GLOBALS['TL_LANG']['tl_nc_language']['attachment_tokens'] = array('Attachments via tokens', 'Please enter a comma-separated list of attachment tokens in this field. Use the autocompleter to see the available simple tokens.'); -$GLOBALS['TL_LANG']['tl_nc_language']['attachments'] = array('Attachments from file system', 'Please choose from the file picker if you would like to add static files.'); -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_name'] = array('Sender name', 'Please enter the sender name.'); -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_address'] = array('Sender address', 'Please enter the sender email address.'); -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_cc'] = array('Send a CC to', 'Recipients that should receive a carbon copy of the mail. Separate multiple addresses with a comma.'); -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_bcc'] = array('Send a BCC to', 'Recipients that should receive a blind carbon copy of the mail. Separate multiple addresses with a comma.'); -$GLOBALS['TL_LANG']['tl_nc_language']['email_replyTo'] = array('Reply-to address', 'You can optionally set a reply-to address for this message.'); -$GLOBALS['TL_LANG']['tl_nc_language']['email_subject'] = array('Subject', 'Please enter the subject for the e-mail.'); -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode'] = array('Mode', 'Choose the mode you would like to be used for this email.'); -$GLOBALS['TL_LANG']['tl_nc_language']['email_text'] = array('Raw text', 'Please enter the text.'); -$GLOBALS['TL_LANG']['tl_nc_language']['email_html'] = array('HTML', 'Please enter the HTML.'); -$GLOBALS['TL_LANG']['tl_nc_language']['email_external_images'] = array('External images', 'Do not embed images in HTML emails.'); -$GLOBALS['TL_LANG']['tl_nc_language']['file_name'] = array('File name', 'Please enter the file name.'); -$GLOBALS['TL_LANG']['tl_nc_language']['file_storage_mode'] = array('Storage mode', 'Here you can choose whether you want to override the existing file or append to an existing file if present.'); -$GLOBALS['TL_LANG']['tl_nc_language']['file_content'] = array('File content', 'Please enter the file content.'); - -/** - * Reference - */ -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['textOnly'] = 'Text only'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['textAndHtml'] = 'HTML and text'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_storage_mode']['create'] = 'Create new file'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_storage_mode']['override'] = 'Override existing file'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_storage_mode']['append'] = 'Append to existing file'; - -/** - * Buttons - */ -$GLOBALS['TL_LANG']['tl_nc_language']['new'] = array('New language', 'Add a new language.'); -$GLOBALS['TL_LANG']['tl_nc_language']['edit'] = array('Edit language', 'Edit language ID %s.'); -$GLOBALS['TL_LANG']['tl_nc_language']['copy'] = array('Copy language', 'Copy language ID %s.'); -$GLOBALS['TL_LANG']['tl_nc_language']['delete'] = array('Delete language', 'Delete language ID %s.'); -$GLOBALS['TL_LANG']['tl_nc_language']['show'] = array('Language details', 'Show details for language ID %s.'); - -/** - * Legends - */ -$GLOBALS['TL_LANG']['tl_nc_language']['general_legend'] = 'General language settings'; -$GLOBALS['TL_LANG']['tl_nc_language']['attachments_legend'] = 'Attachments'; -$GLOBALS['TL_LANG']['tl_nc_language']['meta_legend'] = 'Meta information'; -$GLOBALS['TL_LANG']['tl_nc_language']['content_legend'] = 'Content'; - -/** - * Errors - */ -$GLOBALS['TL_LANG']['tl_nc_language']['token_error'] = 'The following tokens you have used are not supported by this notification type: %s.'; -$GLOBALS['TL_LANG']['tl_nc_language']['token_character_error'] = 'Your content contains invalid tokens. Simple Tokens cannot contain one of those characters: <>!=*. They are either used for comparisons in if statements or as wildcard.'; diff --git a/languages/en/tl_nc_language.xlf b/languages/en/tl_nc_language.xlf new file mode 100644 index 00000000..c430ffe2 --- /dev/null +++ b/languages/en/tl_nc_language.xlf @@ -0,0 +1,243 @@ + + + + + + Language + Language + + + Please select a language. + Please select a language. + + + Fallback + Fallback + + + Activate this checkbox if this language should be your fallback. + Activate this checkbox if this language should be your fallback. + + + Recipients + Recipients + + + Please enter a <strong>comma-separated</strong> list of recipients in this field. Use the autocompleter to see the available simple tokens. + Please enter a <strong>comma-separated</strong> list of recipients in this field. Use the autocompleter to see the available simple tokens. + + + Attachments via tokens + Attachments via tokens + + + Please enter a <strong>comma-separated</strong> list of attachment tokens in this field. Use the autocompleter to see the available simple tokens. + Please enter a <strong>comma-separated</strong> list of attachment tokens in this field. Use the autocompleter to see the available simple tokens. + + + Attachments from file system + Attachments from file system + + + Please choose from the file picker if you would like to add static files. + Please choose from the file picker if you would like to add static files. + + + Sender name + Sender name + + + Please enter the sender name. + Please enter the sender name. + + + Sender address + Sender address + + + Please enter the sender email address. + Please enter the sender email address. + + + Send a CC to + Send a CC to + + + Recipients that should receive a carbon copy of the mail. Separate multiple addresses with a comma. + Recipients that should receive a carbon copy of the mail. Separate multiple addresses with a comma. + + + Send a BCC to + Send a BCC to + + + Recipients that should receive a blind carbon copy of the mail. Separate multiple addresses with a comma. + Recipients that should receive a blind carbon copy of the mail. Separate multiple addresses with a comma. + + + Reply-to address + Reply-to address + + + You can optionally set a reply-to address for this message. + You can optionally set a reply-to address for this message. + + + Subject + Subject + + + Please enter the subject for the e-mail. + Please enter the subject for the e-mail. + + + Mode + Mode + + + Choose the mode you would like to be used for this email. + Choose the mode you would like to be used for this email. + + + Raw text + Raw text + + + Please enter the text. + Please enter the text. + + + HTML + HTML + + + Please enter the HTML. + Please enter the HTML. + + + External images + External images + + + Do not embed images in HTML emails. + Do not embed images in HTML emails. + + + File name + File name + + + Please enter the file name. + Please enter the file name. + + + Storage mode + Storage mode + + + Here you can choose whether you want to override the existing file or append to an existing file if present. + Here you can choose whether you want to override the existing file or append to an existing file if present. + + + File content + File content + + + Please enter the file content. + Please enter the file content. + + + Text only + Text only + + + HTML and text + HTML and text + + + Create new file + Create new file + + + Override existing file + Override existing file + + + Append to existing file + Append to existing file + + + New language + New language + + + Add a new language. + Add a new language. + + + Edit language + Edit language + + + Edit language ID %s. + Edit language ID %s. + + + Copy language + Copy language + + + Copy language ID %s. + Copy language ID %s. + + + Delete language + Delete language + + + Delete language ID %s. + Delete language ID %s. + + + Language details + Language details + + + Show details for language ID %s. + Show details for language ID %s. + + + General language settings + General language settings + + + Attachments + Attachments + + + Meta information + Meta information + + + Content + Content + + + The following tokens you have used are not supported by this notification type: %s. + The following tokens you have used are not supported by this notification type: %s. + + + Your content contains invalid tokens. Simple Tokens cannot contain one of those characters: <>!=*. They are either used for comparisons in if statements or as wildcard. + Your content contains invalid tokens. Simple Tokens cannot contain one of those characters: <>!=*. They are either used for comparisons in if statements or as wildcard. + + + Attachments from templates + Attachments from templates + + + These files are used as templates for an attachment. Simple tokens inside these files are replaced and attached to the message. + These files are used as templates for an attachment. Simple tokens inside these files are replaced and attached to the message. + + + + diff --git a/languages/en/tl_nc_message.php b/languages/en/tl_nc_message.php deleted file mode 100644 index fc3bea29..00000000 --- a/languages/en/tl_nc_message.php +++ /dev/null @@ -1,49 +0,0 @@ - - * @license LGPL - */ - -/** - * Fields - */ -$GLOBALS['TL_LANG']['tl_nc_message']['title'] = array('Title', 'Please enter a title for this message.'); -$GLOBALS['TL_LANG']['tl_nc_message']['gateway'] = array('Gateway', 'Please select a gateway for this message.'); -$GLOBALS['TL_LANG']['tl_nc_message']['languages'] = array('Languages', 'Here you can manage the different languages.', 'Manage languages', 'Close'); -$GLOBALS['TL_LANG']['tl_nc_message']['email_priority'] = array('Priority', 'Please select a priority.'); -$GLOBALS['TL_LANG']['tl_nc_message']['email_template'] = array('Template file', 'Please choose a template file.'); -$GLOBALS['TL_LANG']['tl_nc_message']['postmark_tag'] = array('Tag', 'Here you can enter the tag.'); -$GLOBALS['TL_LANG']['tl_nc_message']['postmark_trackOpens'] = array('Enable open tracking', 'Here you can enable open tracking.'); -$GLOBALS['TL_LANG']['tl_nc_message']['published'] = array('Publish message', 'Include this message when a notification is being sent.'); - -/** - * Buttons - */ -$GLOBALS['TL_LANG']['tl_nc_message']['new'] = array('New message', 'Create a new message.'); -$GLOBALS['TL_LANG']['tl_nc_message']['edit'] = array('Edit message', 'Edit message ID %s.'); -$GLOBALS['TL_LANG']['tl_nc_message']['copy'] = array('Duplicate message', 'Duplicate message ID %s.'); -$GLOBALS['TL_LANG']['tl_nc_message']['cut'] = array('Move message', 'Move message ID %s.'); -$GLOBALS['TL_LANG']['tl_nc_message']['delete'] = array('Delete message', 'Delete message ID %s.'); -$GLOBALS['TL_LANG']['tl_nc_message']['toggle'] = array('Toggle visibility of message', 'Toggle visibility of message ID %s.'); -$GLOBALS['TL_LANG']['tl_nc_message']['show'] = array('Gateway message', 'Show details for message ID %s.'); - -/** - * Legends - */ -$GLOBALS['TL_LANG']['tl_nc_message']['title_legend'] = 'Title & Gateway'; -$GLOBALS['TL_LANG']['tl_nc_message']['languages_legend'] = 'Languages'; -$GLOBALS['TL_LANG']['tl_nc_message']['expert_legend'] = 'Expert settings'; -$GLOBALS['TL_LANG']['tl_nc_message']['publish_legend'] = 'Publish settings'; - -/** - * References - */ -$GLOBALS['TL_LANG']['tl_nc_message']['email_priority_options']['1'] = 'very high'; -$GLOBALS['TL_LANG']['tl_nc_message']['email_priority_options']['2'] = 'high'; -$GLOBALS['TL_LANG']['tl_nc_message']['email_priority_options']['3'] = 'normal'; -$GLOBALS['TL_LANG']['tl_nc_message']['email_priority_options']['4'] = 'low'; -$GLOBALS['TL_LANG']['tl_nc_message']['email_priority_options']['5'] = 'very low'; diff --git a/languages/en/tl_nc_message.xlf b/languages/en/tl_nc_message.xlf new file mode 100644 index 00000000..900154cd --- /dev/null +++ b/languages/en/tl_nc_message.xlf @@ -0,0 +1,171 @@ + + + + + + Title + Title + + + Please enter a title for this message. + Please enter a title for this message. + + + Gateway + Gateway + + + Please select a gateway for this message. + Please select a gateway for this message. + + + Languages + Languages + + + Here you can manage the different languages. + Here you can manage the different languages. + + + Manage languages + Manage languages + + + Close + Close + + + Priority + Priority + + + Please select a priority. + Please select a priority. + + + Template file + Template file + + + Please choose a template file. + Please choose a template file. + + + Tag + Tag + + + Here you can enter the tag. + Here you can enter the tag. + + + Enable open tracking + Enable open tracking + + + Here you can enable open tracking. + Here you can enable open tracking. + + + Publish message + Publish message + + + Include this message when a notification is being sent. + Include this message when a notification is being sent. + + + New message + New message + + + Create a new message. + Create a new message. + + + Edit message + Edit message + + + Edit message ID %s. + Edit message ID %s. + + + Duplicate message + Duplicate message + + + Duplicate message ID %s. + Duplicate message ID %s. + + + Move message + Move message + + + Move message ID %s. + Move message ID %s. + + + Delete message + Delete message + + + Delete message ID %s. + Delete message ID %s. + + + Toggle visibility of message + Toggle visibility of message + + + Toggle visibility of message ID %s. + Toggle visibility of message ID %s. + + + Gateway message + Gateway message + + + Show details for message ID %s. + Show details for message ID %s. + + + Title & Gateway + Title & Gateway + + + Languages + Languages + + + Expert settings + Expert settings + + + Publish settings + Publish settings + + + very high + very high + + + high + high + + + normal + normal + + + low + low + + + very low + very low + + + + diff --git a/languages/en/tl_nc_notification.php b/languages/en/tl_nc_notification.php deleted file mode 100644 index 18fd11e4..00000000 --- a/languages/en/tl_nc_notification.php +++ /dev/null @@ -1,48 +0,0 @@ - - * @license LGPL - */ - -/** - * Fields - */ -$GLOBALS['TL_LANG']['tl_nc_notification']['title'] = array('Title', 'Please enter a title for this notification.'); -$GLOBALS['TL_LANG']['tl_nc_notification']['type'] = array('Type', 'Please select a type for this notification.'); -$GLOBALS['TL_LANG']['tl_nc_notification']['flatten_delimiter'] = array('Delimiter for lists', 'When list values (array values) are submitted, the Notification Center flattens them automatically by using a comma (",") by default. Change this here if you like.'); - -/** - * Reference - */ -$GLOBALS['TL_LANG']['tl_nc_notification']['type']['email'] = 'Standard eMail gateway'; -$GLOBALS['TL_LANG']['tl_nc_notification']['type']['file'] = 'Write to file'; - -/** - * Buttons - */ -$GLOBALS['TL_LANG']['tl_nc_notification']['new'] = array('New notification', 'Create a new notification.'); -$GLOBALS['TL_LANG']['tl_nc_notification']['edit'] = array('Manage notifications', 'Manage messages for notification ID %s.'); -$GLOBALS['TL_LANG']['tl_nc_notification']['editheader'] = array('Edit notification', 'Edit notification ID %s.'); -$GLOBALS['TL_LANG']['tl_nc_notification']['copy'] = array('Copy notification', 'Copy notification ID %s.'); -$GLOBALS['TL_LANG']['tl_nc_notification']['delete'] = array('Delete notification', 'Delete notification ID %s.'); -$GLOBALS['TL_LANG']['tl_nc_notification']['show'] = array('Notification details', 'Show details for notification ID %s.'); - -/** - * Legends - */ -$GLOBALS['TL_LANG']['tl_nc_notification']['title_legend'] = 'Title & type'; -$GLOBALS['TL_LANG']['tl_nc_notification']['config_legend'] = 'Configuration'; - -/** - * Notification types - */ -$GLOBALS['TL_LANG']['tl_nc_notification']['type']['contao'] = 'Contao'; -$GLOBALS['TL_LANG']['tl_nc_notification']['type']['core_form'] = array('Form submission', 'This notification type can be sent when the form is submitted.'); -$GLOBALS['TL_LANG']['tl_nc_notification']['type']['member_activation'] = array('Member activation'); -$GLOBALS['TL_LANG']['tl_nc_notification']['type']['member_registration'] = array('Member registration'); -$GLOBALS['TL_LANG']['tl_nc_notification']['type']['member_personaldata'] = array('Member personal data'); -$GLOBALS['TL_LANG']['tl_nc_notification']['type']['member_password'] = array('Member lost password'); diff --git a/languages/en/tl_nc_notification.xlf b/languages/en/tl_nc_notification.xlf new file mode 100644 index 00000000..86d7e425 --- /dev/null +++ b/languages/en/tl_nc_notification.xlf @@ -0,0 +1,147 @@ + + + + + + Title + Title + + + Please enter a title for this notification. + Please enter a title for this notification. + + + Type + Type + + + Please select a type for this notification. + Please select a type for this notification. + + + Delimiter for lists + Delimiter for lists + + + When list values (array values) are submitted, the Notification Center flattens them automatically by using a comma (",") by default. Change this here if you like. + When list values (array values) are submitted, the Notification Center flattens them automatically by using a comma (",") by default. Change this here if you like. + + + Standard eMail gateway + Standard eMail gateway + + + Write to file + Write to file + + + New notification + New notification + + + Create a new notification. + Create a new notification. + + + Manage notifications + Manage notifications + + + Manage messages for notification ID %s. + Manage messages for notification ID %s. + + + Edit notification + Edit notification + + + Edit notification ID %s. + Edit notification ID %s. + + + Copy notification + Copy notification + + + Copy notification ID %s. + Copy notification ID %s. + + + Delete notification + Delete notification + + + Delete notification ID %s. + Delete notification ID %s. + + + Notification details + Notification details + + + Show details for notification ID %s. + Show details for notification ID %s. + + + Title & type + Title & type + + + Configuration + Configuration + + + Contao + Contao + + + Form submission + Form submission + + + This notification type can be sent when the form is submitted. + This notification type can be sent when the form is submitted. + + + Member activation + Member activation + + + Member registration + Member registration + + + Member personal data + Member personal data + + + Member lost password + Member lost password + + + Token Templates + Token Templates + + + Choose templates to generate tokens from their output. Each template name must start with notification_xxx and its token will be converted to a ##template_xxx## token. + Choose templates to generate tokens from their output. Each template name must start with notification_xxx and its token will be converted to a ##template_xxx## token. + + + Templates + Templates + + + Newsletter subscribed + Newsletter subscribed + + + Newsletter activation + Newsletter activation + + + Newsletter unsubscribed + Newsletter unsubscribed + + + + diff --git a/languages/en/tl_nc_queue.php b/languages/en/tl_nc_queue.php deleted file mode 100644 index 79a6ab16..00000000 --- a/languages/en/tl_nc_queue.php +++ /dev/null @@ -1,41 +0,0 @@ - - * @license LGPL - */ - -/** - * Fields - */ -$GLOBALS['TL_LANG']['tl_nc_queue']['sourceQueue'][0] = 'Source queue gateway'; -$GLOBALS['TL_LANG']['tl_nc_queue']['targetGateway'][0] = 'Target gateway'; -$GLOBALS['TL_LANG']['tl_nc_queue']['message'][0] = 'Source message'; -$GLOBALS['TL_LANG']['tl_nc_queue']['dateAdded'][0] = 'Date added to queue'; -$GLOBALS['TL_LANG']['tl_nc_queue']['dateSent'][0] = 'Date sent from queue'; -$GLOBALS['TL_LANG']['tl_nc_queue']['error'][0] = 'Had an error during delivery process'; -$GLOBALS['TL_LANG']['tl_nc_queue']['tokens'][0] = 'Tokens'; -$GLOBALS['TL_LANG']['tl_nc_queue']['language'][0] = 'Language'; - -/** - * Status - */ -$GLOBALS['TL_LANG']['tl_nc_queue']['status']['queued'] = 'Waiting in queue.'; -$GLOBALS['TL_LANG']['tl_nc_queue']['status']['error'] = 'Error sending the message. Check the system log for more details.'; -$GLOBALS['TL_LANG']['tl_nc_queue']['status']['sent'] = 'Message sent.'; -$GLOBALS['TL_LANG']['tl_nc_queue']['source'] = 'Source'; - -/** - * Buttons - */ -$GLOBALS['TL_LANG']['tl_nc_queue']['re-queue'] = array('Add to queue again', 'This queued message (ID %s) encountered an error but you can re-add it to the queue by clicking this button.'); -$GLOBALS['TL_LANG']['tl_nc_queue']['delete'] = array('Delete queued message', 'Delete queued message (ID %s).'); -$GLOBALS['TL_LANG']['tl_nc_queue']['show'] = array('Show details', 'Shows details of the queued message ID %s.'); - -/** - * Confirmation - */ -$GLOBALS['TL_LANG']['tl_nc_queue']['re-queueConfirmation'] = 'Are you sure you want to re-add queued message ID %s to the queue?'; diff --git a/languages/en/tl_nc_queue.xlf b/languages/en/tl_nc_queue.xlf new file mode 100644 index 00000000..30d2fca2 --- /dev/null +++ b/languages/en/tl_nc_queue.xlf @@ -0,0 +1,91 @@ + + + + + + Source queue gateway + Source queue gateway + + + Target gateway + Target gateway + + + Source message + Source message + + + Date added to queue + Date added to queue + + + Date sent from queue + Date sent from queue + + + Had an error during delivery process + Had an error during delivery process + + + Tokens + Tokens + + + Language + Language + + + Waiting in queue. + Waiting in queue. + + + Error sending the message. Check the system log for more details. + Error sending the message. Check the system log for more details. + + + Message sent. + Message sent. + + + Source + Source + + + Add to queue again + Add to queue again + + + This queued message (ID %s) encountered an error but you can re-add it to the queue by clicking this button. + This queued message (ID %s) encountered an error but you can re-add it to the queue by clicking this button. + + + Delete queued message + Delete queued message + + + Delete queued message (ID %s). + Delete queued message (ID %s). + + + Show details + Show details + + + Shows details of the queued message ID %s. + Shows details of the queued message ID %s. + + + Are you sure you want to re-add queued message ID %s to the queue? + Are you sure you want to re-add queued message ID %s to the queue? + + + Date delayed in queue + Date delayed in queue + + + Attachments + Attachments + + + + diff --git a/languages/en/tokens.php b/languages/en/tokens.php deleted file mode 100755 index 5d9a25e2..00000000 --- a/languages/en/tokens.php +++ /dev/null @@ -1,24 +0,0 @@ - - * @license LGPL - */ - -/** - * Tokens - */ -$GLOBALS['TL_LANG']['NOTIFICATION_CENTER_TOKEN']['core_form']['admin_email'] = 'E-mail address of administrator of the current page.'; -$GLOBALS['TL_LANG']['NOTIFICATION_CENTER_TOKEN']['core_form']['form_*'] = 'All the form fields.'; -$GLOBALS['TL_LANG']['NOTIFICATION_CENTER_TOKEN']['core_form']['formlabel_*'] = 'All the form field labels.'; -$GLOBALS['TL_LANG']['NOTIFICATION_CENTER_TOKEN']['core_form']['raw_data'] = 'All the form fields and their raw values.'; - -$GLOBALS['TL_LANG']['NOTIFICATION_CENTER_TOKEN']['member_personaldata']['admin_email'] = 'E-mail address of administrator of the current page.'; -$GLOBALS['TL_LANG']['NOTIFICATION_CENTER_TOKEN']['member_personaldata']['recipients'] = 'E-mail address of the member.'; -$GLOBALS['TL_LANG']['NOTIFICATION_CENTER_TOKEN']['member_personaldata']['domain'] = 'The current domain.'; -$GLOBALS['TL_LANG']['NOTIFICATION_CENTER_TOKEN']['member_personaldata']['member_*'] = 'Current member fields as submitted by the form. Use {{user::*}} insert tags if you need other properties.'; -$GLOBALS['TL_LANG']['NOTIFICATION_CENTER_TOKEN']['member_personaldata']['member_old_*'] = 'Member fields as they were before the changes.'; -$GLOBALS['TL_LANG']['NOTIFICATION_CENTER_TOKEN']['member_personaldata']['changed_*'] = 'Flag (1 or 0) if a field has changed, to be used with if-conditions.'; diff --git a/languages/en/tokens.xlf b/languages/en/tokens.xlf new file mode 100644 index 00000000..77447b92 --- /dev/null +++ b/languages/en/tokens.xlf @@ -0,0 +1,51 @@ + + + + + + E-mail address of administrator of the current page. + E-mail address of administrator of the current page. + + + All the form fields. + All the form fields. + + + All the form field labels. + All the form field labels. + + + All the form fields and their raw values. + All the form fields and their raw values. + + + E-mail address of administrator of the current page. + E-mail address of administrator of the current page. + + + E-mail address of the member. + E-mail address of the member. + + + The current domain. + The current domain. + + + Current member fields as submitted by the form. Use {{user::*}} insert tags if you need other properties. + Current member fields as submitted by the form. Use {{user::*}} insert tags if you need other properties. + + + Member fields as they were before the changes. + Member fields as they were before the changes. + + + Flag (1 or 0) if a field has changed, to be used with if-conditions. + Flag (1 or 0) if a field has changed, to be used with if-conditions. + + + Output of template "%s" + Output of template "%s" + + + + diff --git a/languages/fr/modules.php b/languages/fr/modules.php deleted file mode 100644 index 4619be03..00000000 --- a/languages/fr/modules.php +++ /dev/null @@ -1,21 +0,0 @@ - + + + + + Notification Center + Centre de notification + + + Notifications + Notifications + + + Manage notifications. + Gérer les notifications. + + + Queue + + + View the message queue. + + + Gateways + Passerelles + + + Manage gateways + Gérer les passerelles + + + Lost password (Notification Center) + Mot de passe perdu (Centre de notification) + + + Generates a form to request a new password and sends the notification using the notification center. + Génère un formulaire pour demander un nouveau mot de passe et envoie la notification à l'aide du centre de notification. + + + Subscribe (Notification Center) + + + Generates a form to subscribe to one or more channels and sends the notification using the notification center. + + + Activate (Notification Center) + + + Generates a form to activate subscription to one or more channels the notification using the notification center. + + + Unsubscribe (Notification Center) + + + Generates a form to unsubscribe from one or more channels and sends the notification using the notification center. + + + + diff --git a/languages/fr/tl_form.php b/languages/fr/tl_form.php deleted file mode 100644 index 0ad37a5d..00000000 --- a/languages/fr/tl_form.php +++ /dev/null @@ -1,17 +0,0 @@ - + + + + Notification + Notification + + + + Please select a notification. + Sélectionner une notification. + + + + + \ No newline at end of file diff --git a/languages/fr/tl_module.php b/languages/fr/tl_module.php deleted file mode 100644 index c5e57edb..00000000 --- a/languages/fr/tl_module.php +++ /dev/null @@ -1,17 +0,0 @@ - + + + + Notification + Notification + + + + Please select a notification. + Sélectionner une notification. + + + + Activation notification + + + + Please select an activation notification. + + + + Notification + + + + + \ No newline at end of file diff --git a/languages/fr/tl_nc_gateway.php b/languages/fr/tl_nc_gateway.php deleted file mode 100644 index ae2990c1..00000000 --- a/languages/fr/tl_nc_gateway.php +++ /dev/null @@ -1,62 +0,0 @@ -téléchargements).'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_port']['0'] = 'Numéro de port'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_port']['1'] = 'Saisir le numéro de port. Laisser vide pour utiliser la valeur par défaut.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['0'] = 'Type de fichier'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['1'] = 'Choisir un type de fichier.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['csv'] = 'CSV'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['xml'] = 'Texte brut / XML'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_username']['0'] = 'Nom d\'utilisateur'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_username']['1'] = 'Saisir le nom d\'utilisateur.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['ftp_confirm'] = 'Connexion réussie'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['ftp_error_class'] = 'Impossible de trouver la classe FTP !'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['ftp_error_connect'] = 'Impossible de se connecter au serveur : %s'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['gateway_legend'] = 'Paramètre de la passerelle'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['new']['0'] = 'Nouvelle passerelle'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['new']['1'] = 'Créer une nouvelle passerelle.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_key']['0'] = 'Clé d\'API Postmark'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_key']['1'] = 'Veuillez insérer votre clé unique d\'API Postmark'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_ssl']['0'] = 'Autoriser le SSL'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_ssl']['1'] = 'Ici vous pouvez autoriser la connection SSL'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_test']['0'] = 'Autoriser le mode de test'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_test']['1'] = 'Ici vous pouvez activer le mode de test'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['show']['0'] = 'Détails de la passerelle'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['show']['1'] = 'Afficher les détails de la passerelle ID %s.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['title']['0'] = 'Titre'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['title']['1'] = 'Saisir un titre pour cette passerelle.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['title_legend'] = 'Titre & type'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['0'] = 'Type'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['1'] = 'Sélectionner le type de cette passerelle.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['email'] = 'Passerelle de messagerie standard'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['file'] = 'Écrire dans un fichier'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['postmark'] = 'Postmark (postmarkapp.com)'; - diff --git a/languages/fr/tl_nc_gateway.xlf b/languages/fr/tl_nc_gateway.xlf new file mode 100644 index 00000000..55010435 --- /dev/null +++ b/languages/fr/tl_nc_gateway.xlf @@ -0,0 +1,382 @@ + + + + + Title + Titre + + + + Please enter a title for this gateway. + Saisir un titre pour cette passerelle. + + + + Type + Type + + + + Please select a type for this gateway. + Sélectionner le type de cette passerelle. + + + + Target gateway + + + + This gateway will queue all the messages and then send them over the gateway you define here. + + + + Enable poor man's cronjob + + + + This will register this queue gateway to the poor man's cronjob. + + + + Interval + + + + Choose the interval you would like to have this queue gateway be invoked. + + + + Number of messages + + + + Here you can enter the number of messages that should be sent per invocation. + + + + Override SMTP settings + Surcharger les paramètres SMTP + + + + This gateway will take the Contao e-mail settings by default. If you want to override the SMTP settings for this specific gateway, activate this checkbox. + Cette passerelle utilisera les paramètres de courrier électronique par défaut de Contao. Cocher pour surcharger les paramètres SMTP de cette passerelle. + + + + File type + Type de fichier + + + + Please choose the file type. + Choisir un type de fichier. + + + + Connection type + Type de connexion + + + + Please choose the connection type. + Choisir le type de connexion. + + + + Host name + Hôte + + + + Please enter the host name. + Saisir le nom de l'hôte. + + + + Port number + Numéro de port + + + + Here you can enter the port number. Leave empty to use the default. + Saisir le numéro de port. Laisser vide pour utiliser la valeur par défaut. + + + + Username + Nom d'utilisateur + + + + Please enter the username. + Saisir le nom d'utilisateur. + + + + Password + Mot de passe + + + + Please enter the password. + Saisir le mot de passe. + + + + Path + Chemin + + + + Here you can enter the path (e.g. <em>downloads</em>). + Saisir le chemin (ex : <em>téléchargements</em>). + + + + Postmark API key + Clé d'API Postmark + + + + Please enter your unique Postmark API key. + Veuillez insérer votre clé unique d'API Postmark + + + + Enable test mode + Autoriser le mode de test + + + + Here you can enable the test mode. + Ici vous pouvez activer le mode de test + + + + Enable SSL + Autoriser le SSL + + + + Here you can enable the SSL connection. + Ici vous pouvez autoriser la connection SSL + + + + Send e-mails via SMTP + + + + Use an SMTP server instead of the PHP mail() function to send e-mails. + + + + SMTP hostname + + + + Please enter the host name of the SMTP server. + + + + SMTP username + + + + Here you can enter the SMTP username. + + + + SMTP password + + + + Here you can enter the SMTP password. + + + + SMTP encryption + + + + Here you can choose an encryption method (SSL or TLS). + + + + SMTP port number + + + + Please enter the port number of the SMTP server. + + + + Queue + + + + Standard email gateway + Passerelle de messagerie standard + + + + Write to file + Écrire dans un fichier + + + + Postmark (postmarkapp.com) + Postmark (postmarkapp.com) + + + + Every minute + + + + Every hour + + + + Every day + + + + Every week + + + + Every month + + + + CSV + CSV + + + + Plain Text / XML + Texte brut / XML + + + + Local + Local + + + + FTP + FTP + + + + Connection successful + Connexion réussie + + + + Could not connect to the FTP server! + Impossible de se connecter au serveur : %s + + + + Could not login to the FTP server! + + + + New gateway + Nouvelle passerelle + + + + Create a new gateway. + Créer une nouvelle passerelle. + + + + Edit gateway + Éditer la passerelle + + + + Edit gateway ID %s. + Éditer la passerelle ID %s. + + + + Copy gateway + Copier la passerelle + + + + Copy gateway ID %s. + Copier la passerelle ID %s. + + + + Delete gateway + Supprimer la passerelle + + + + Delete gateway ID %s. + Supprimer la passerelle ID %s. + + + + Gateway details + Détails de la passerelle + + + + Show details for gateway ID %s. + Afficher les détails de la passerelle ID %s. + + + + Title & type + Titre & type + + + + Gateway settings + Paramètre de la passerelle + + + + Cronjob settings + + + + Queued messages will remain in the queue forever unless +you trigger the sending mechanism by either using a real cron job or +the Contao internal poor man's cronjob. The Notification Center is shipped +with a binary that can be executed using a real cronjob. To setup a real cronjob +that invokes the queue of this queue gateway (ID: {gateway_id}) and send 15 messages every 10 minutes, +you would need to setup the following crontab: +<br><blockquote>*/10 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 15</blockquote><br> +or let's say you want to send 30 messages every 5 minutes after every hour, then you would set it up like this: +<br><blockquote>5 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 30</blockquote><br> +If you don't have access to real cronjobs then you can enable the poor man's cron. Note that it doesn't provide the same +flexibility in terms of interval settings and it is subject to the web execution context and thus certainly affected by +PHP configurations such as the maximum execution time. Thus, try to keep the number of messages sent per invocation as low as possible. +<br><br> +<strong>Note: </strong>When you installed the notification center using Composer, the path to the binary differs: +<blockquote> +/path/to/contao/composer/vendor/terminal42/notification_center/bin/queue +</blockquote> + + + + + Delayed delivery + + + + Enter a <a href="https://php.net/strtotime" target="_blank"><i>strtotime</i></a> time interval to delay message delivery (e.g. <em>+1 day</em>). + + + + + \ No newline at end of file diff --git a/languages/fr/tl_nc_language.php b/languages/fr/tl_nc_language.php deleted file mode 100644 index f830d062..00000000 --- a/languages/fr/tl_nc_language.php +++ /dev/null @@ -1,65 +0,0 @@ -séparée par des virgules des jetons joints à ce champ. Utilisez l\'autocompletion pour afficher les tokens valide'; -$GLOBALS['TL_LANG']['tl_nc_language']['attachments']['0'] = 'Fichiers joints à partir du gestionnaire de fichiers'; -$GLOBALS['TL_LANG']['tl_nc_language']['attachments']['1'] = 'Utiliser le sélecteur de fichier pour ajouter des fichiers statiques.'; -$GLOBALS['TL_LANG']['tl_nc_language']['attachments_legend'] = 'Fichiers joints'; -$GLOBALS['TL_LANG']['tl_nc_language']['content_legend'] = 'Contenu'; -$GLOBALS['TL_LANG']['tl_nc_language']['copy']['0'] = 'Copier la langue'; -$GLOBALS['TL_LANG']['tl_nc_language']['copy']['1'] = 'Copier la langue ID %s.'; -$GLOBALS['TL_LANG']['tl_nc_language']['delete']['0'] = 'Supprimer la langue'; -$GLOBALS['TL_LANG']['tl_nc_language']['delete']['1'] = 'Supprimer la langue ID %s.'; -$GLOBALS['TL_LANG']['tl_nc_language']['edit']['0'] = 'Éditer la langue'; -$GLOBALS['TL_LANG']['tl_nc_language']['edit']['1'] = 'Éditer la langue ID %s.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_html']['0'] = 'HTML'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_html']['1'] = 'Saisir le code HTML.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['0'] = 'Mode'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['1'] = 'Choisir le mode à utiliser pour ce message.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['textAndHtml'] = 'HTML et texte'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['textOnly'] = 'Texte seulement'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_bcc']['0'] = 'Envoyer une BCC à'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_bcc']['1'] = 'Les destinataires qui doivent recevoir une copie carbone cachée de l\'e-mail. Séparer les adresses par une virgule.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_cc']['0'] = 'Envoyer une CC à'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_cc']['1'] = 'Les destinataires qui doivent recevoir une copie carbone de l\'e-mail. Séparer les adresses par une virgule.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_replyTo']['0'] = 'Adresse de réponse'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_replyTo']['1'] = 'Définir une adresse de réponse pour ce message.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_address']['0'] = 'Adresse de l\'expéditeur'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_address']['1'] = 'Saisir l\'adresse email de l\'expéditeur.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_name']['0'] = 'Nom de l\'expéditeur'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_name']['1'] = 'Saisir le nom de l\'expéditeur.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_subject']['0'] = 'Sujet'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_subject']['1'] = 'Saisir un sujet pour cet email.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_text']['0'] = 'Texte brut'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_text']['1'] = 'Saisir le texte.'; -$GLOBALS['TL_LANG']['tl_nc_language']['fallback']['0'] = 'Langue de secours'; -$GLOBALS['TL_LANG']['tl_nc_language']['fallback']['1'] = 'Cocher pour utiliser cette langue en secours.'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_content']['0'] = 'Contenu du fichier'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_content']['1'] = 'Saisir le contenu du fichier'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_name']['0'] = 'Nom de fichier'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_name']['1'] = 'Saisir le nom de fichier sans extension.'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_override']['0'] = 'Écraser le fichier existant'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_override']['1'] = 'Écraser l\'ancien fichier s\'il est déjà existant.'; -$GLOBALS['TL_LANG']['tl_nc_language']['general_legend'] = 'Paramètres de langue'; -$GLOBALS['TL_LANG']['tl_nc_language']['language']['0'] = 'Langue'; -$GLOBALS['TL_LANG']['tl_nc_language']['language']['1'] = 'Sélectionner une langue.'; -$GLOBALS['TL_LANG']['tl_nc_language']['meta_legend'] = 'Informations méta'; -$GLOBALS['TL_LANG']['tl_nc_language']['new']['0'] = 'Nouvelle langue'; -$GLOBALS['TL_LANG']['tl_nc_language']['new']['1'] = 'Ajouter une nouvelle langue.'; -$GLOBALS['TL_LANG']['tl_nc_language']['recipients']['0'] = 'Destinataires'; -$GLOBALS['TL_LANG']['tl_nc_language']['recipients']['1'] = 'Veuillez insérer la lise séparée par des virgules des destinataires dans ce champs. Utilisez l\'auto-completion pour afficher les tokens valide'; -$GLOBALS['TL_LANG']['tl_nc_language']['show']['0'] = 'Détails de la langue'; -$GLOBALS['TL_LANG']['tl_nc_language']['show']['1'] = 'Afficher les détails de la langue ID %s.'; -$GLOBALS['TL_LANG']['tl_nc_language']['token_error'] = 'Les jetons suivants utilisés ne sont pas pris en charge par ce type de notification : %s.'; - diff --git a/languages/fr/tl_nc_language.xlf b/languages/fr/tl_nc_language.xlf new file mode 100644 index 00000000..1b3d165d --- /dev/null +++ b/languages/fr/tl_nc_language.xlf @@ -0,0 +1,291 @@ + + + + + Language + Langue + + + + Please select a language. + Sélectionner une langue. + + + + Fallback + Langue de secours + + + + Activate this checkbox if this language should be your fallback. + Cocher pour utiliser cette langue en secours. + + + + Recipients + Destinataires + + + + Please enter a <strong>comma-separated</strong> list of recipients in this field. Use the autocompleter to see the available simple tokens. + Veuillez insérer la lise <strong>séparée par des virgules</strong> des destinataires dans ce champs. Utilisez l'auto-completion pour afficher les tokens valide + + + + Attachments via tokens + Fichiers joints à partir de jetons + + + + Please enter a <strong>comma-separated</strong> list of attachment tokens in this field. Use the autocompleter to see the available simple tokens. + Veuillez insérer la liste <strong>séparée par des virgules</strong> des jetons joints à ce champ. Utilisez l'autocompletion pour afficher les tokens valide + + + + Attachments from file system + Fichiers joints à partir du gestionnaire de fichiers + + + + Please choose from the file picker if you would like to add static files. + Utiliser le sélecteur de fichier pour ajouter des fichiers statiques. + + + + Sender name + Nom de l'expéditeur + + + + Please enter the sender name. + Saisir le nom de l'expéditeur. + + + + Sender address + Adresse de l'expéditeur + + + + Please enter the sender email address. + Saisir l'adresse email de l'expéditeur. + + + + Send a CC to + Envoyer une CC à + + + + Recipients that should receive a carbon copy of the mail. Separate multiple addresses with a comma. + Les destinataires qui doivent recevoir une copie carbone de l'e-mail. Séparer les adresses par une virgule. + + + + Send a BCC to + Envoyer une BCC à + + + + Recipients that should receive a blind carbon copy of the mail. Separate multiple addresses with a comma. + Les destinataires qui doivent recevoir une copie carbone cachée de l'e-mail. Séparer les adresses par une virgule. + + + + Reply-to address + Adresse de réponse + + + + You can optionally set a reply-to address for this message. + Définir une adresse de réponse pour ce message. + + + + Subject + Sujet + + + + Please enter the subject for the e-mail. + Saisir un sujet pour cet email. + + + + Mode + Mode + + + + Choose the mode you would like to be used for this email. + Choisir le mode à utiliser pour ce message. + + + + Raw text + Texte brut + + + + Please enter the text. + Saisir le texte. + + + + HTML + HTML + + + + Please enter the HTML. + Saisir le code HTML. + + + + External images + + + + Do not embed images in HTML emails. + + + + File name + Nom de fichier + + + + Please enter the file name. + Saisir le nom de fichier sans extension. + + + + Storage mode + + + + Here you can choose whether you want to override the existing file or append to an existing file if present. + + + + File content + Contenu du fichier + + + + Please enter the file content. + Saisir le contenu du fichier + + + + Text only + Texte seulement + + + + HTML and text + HTML et texte + + + + Create new file + + + + Override existing file + + + + Append to existing file + + + + New language + Nouvelle langue + + + + Add a new language. + Ajouter une nouvelle langue. + + + + Edit language + Éditer la langue + + + + Edit language ID %s. + Éditer la langue ID %s. + + + + Copy language + Copier la langue + + + + Copy language ID %s. + Copier la langue ID %s. + + + + Delete language + Supprimer la langue + + + + Delete language ID %s. + Supprimer la langue ID %s. + + + + Language details + Détails de la langue + + + + Show details for language ID %s. + Afficher les détails de la langue ID %s. + + + + General language settings + Paramètres de langue + + + + Attachments + Fichiers joints + + + + Meta information + Informations méta + + + + Content + Contenu + + + + The following tokens you have used are not supported by this notification type: %s. + Les jetons suivants utilisés ne sont pas pris en charge par ce type de notification : %s. + + + + Your content contains invalid tokens. Simple Tokens cannot contain one of those characters: <>!=*. They are either used for comparisons in if statements or as wildcard. + + + + Attachments from templates + + + + These files are used as templates for an attachment. Simple tokens inside these files are replaced and attached to the message. + + + + + \ No newline at end of file diff --git a/languages/fr/tl_nc_message.php b/languages/fr/tl_nc_message.php deleted file mode 100644 index ebd9a8fb..00000000 --- a/languages/fr/tl_nc_message.php +++ /dev/null @@ -1,55 +0,0 @@ - + + + + Title + Titre + + + + Please enter a title for this message. + Saisir un titre pour ce message. + + + + Gateway + Passerelle + + + + Please select a gateway for this message. + Sélectionner une passerelle pour ce message. + + + + Languages + Langues + + + + Here you can manage the different languages. + Gérer les différentes langues. + + + + Manage languages + Gérer les langues + + + + Close + Fermer + + + + Priority + Priorité + + + + Please select a priority. + Sélectionner une priorité. + + + + Template file + Modèle + + + + Please choose a template file. + Choisir un fichier modèle. + + + + Tag + Balise + + + + Here you can enter the tag. + Ici vous pouvez insérer la balise + + + + Enable open tracking + Autoriser le suivi de l'ouverture + + + + Here you can enable open tracking. + Ici vous pouvez autoriser le suivi de l'ouverture + + + + Publish message + Publier le message + + + + Include this message when a notification is being sent. + Inclure ce message quand une notification est envoyée. + + + + New message + Nouveau message + + + + Create a new message. + Créer un nouveau message. + + + + Edit message + Éditer le message + + + + Edit message ID %s. + Éditer le message ID %s. + + + + Duplicate message + Dupliquer le message + + + + Duplicate message ID %s. + Dupliquer le message d'ID %s + + + + Move message + Déplacer le message + + + + Move message ID %s. + Déplacer le message d'ID %s + + + + Delete message + Supprimer le message + + + + Delete message ID %s. + Supprimer le message ID %s. + + + + Toggle visibility of message + Basculer la visibilité du message + + + + Toggle visibility of message ID %s. + Basculer la visibilité du message ID %s. + + + + Gateway message + Message de la passerelle + + + + Show details for message ID %s. + Afficher les détails du message ID %s. + + + + Title & Gateway + Titre & passerelle + + + + Languages + Langues + + + + Expert settings + Paramètre avancés + + + + Publish settings + Paramètres de publication + + + + very high + très haute + + + + high + haute + + + + normal + normale + + + + low + basse + + + + very low + très basse + + + + + \ No newline at end of file diff --git a/languages/fr/tl_nc_notification.php b/languages/fr/tl_nc_notification.php deleted file mode 100644 index 9adae355..00000000 --- a/languages/fr/tl_nc_notification.php +++ /dev/null @@ -1,41 +0,0 @@ - + + + + Title + Titre + + + + Please enter a title for this notification. + Saisir un titre pour cette notification. + + + + Type + Type + + + + Please select a type for this notification. + Sélectionner le type de cette notification. + + + + Delimiter for lists + + + + When list values (array values) are submitted, the Notification Center flattens them automatically by using a comma (",") by default. Change this here if you like. + + + + Standard eMail gateway + Passerelle de messagerie standard + + + + Write to file + Écrire dans un fichier + + + + New notification + Nouvelle notification + + + + Create a new notification. + Créer une notification. + + + + Manage notifications + Gérer les notifications + + + + Manage messages for notification ID %s. + Gérer les messages de la notification ID %s. + + + + Edit notification + Éditer la notification + + + + Edit notification ID %s. + Éditer la notification ID %s. + + + + Copy notification + Copier la notification + + + + Copy notification ID %s. + Copier la notification ID %s. + + + + Delete notification + Supprimer la notification + + + + Delete notification ID %s. + Supprimer la notification ID %s. + + + + Notification details + Détails de la notification + + + + Show details for notification ID %s. + Afficher les détails de la notification ID %s. + + + + Title & type + Titre & type + + + + Configuration + Configuration + + + + Contao + Contao + + + + Form submission + Soumission de formulaire + + + + This notification type can be sent when the form is submitted. + Ce type de notification peut être envoyé lorsque le formulaire est soumis. + + + + Member activation + + + + Member registration + Inscription des membres + + + + Member personal data + Données personnelles du membre + + + + Member lost password + Mot de passe perdu + + + + Token Templates + + + + Choose templates to generate tokens from their output. Each template name must start with notification_xxx and its token will be converted to a ##template_xxx## token. + + + + Templates + + + + Newsletter subscribed + + + + Newsletter activation + + + + Newsletter unsubscribed + + + + + \ No newline at end of file diff --git a/languages/fr/tl_nc_queue.xlf b/languages/fr/tl_nc_queue.xlf new file mode 100644 index 00000000..d6c71650 --- /dev/null +++ b/languages/fr/tl_nc_queue.xlf @@ -0,0 +1,70 @@ + + + + + + Source queue gateway + + + Target gateway + + + Source message + + + Date added to queue + + + Date sent from queue + + + Had an error during delivery process + + + Tokens + + + Language + + + Waiting in queue. + + + Error sending the message. Check the system log for more details. + + + Message sent. + + + Source + + + Add to queue again + + + This queued message (ID %s) encountered an error but you can re-add it to the queue by clicking this button. + + + Delete queued message + + + Delete queued message (ID %s). + + + Show details + + + Shows details of the queued message ID %s. + + + Are you sure you want to re-add queued message ID %s to the queue? + + + Date delayed in queue + + + Attachments + + + + diff --git a/languages/fr/tokens.php b/languages/fr/tokens.php deleted file mode 100644 index 00451135..00000000 --- a/languages/fr/tokens.php +++ /dev/null @@ -1,17 +0,0 @@ - + + + + E-mail address of administrator of the current page. + Adresse e-mail de l'administrateur de la page en cours. + + + + All the form fields. + Tous les champs du formulaire. + + + + All the form field labels. + + + + All the form fields and their raw values. + Tous les champs du formulaire et leur valeur non échappée + + + + E-mail address of administrator of the current page. + + + + E-mail address of the member. + + + + The current domain. + + + + Current member fields as submitted by the form. Use {{user::*}} insert tags if you need other properties. + + + + Member fields as they were before the changes. + + + + Flag (1 or 0) if a field has changed, to be used with if-conditions. + + + + Output of template "%s" + + + + + \ No newline at end of file diff --git a/languages/it/modules.php b/languages/it/modules.php deleted file mode 100644 index e9763e93..00000000 --- a/languages/it/modules.php +++ /dev/null @@ -1,22 +0,0 @@ - + + + + + Notification Center + Centro notifiche + + + Notifications + Notifiche + + + Manage notifications. + Gestisci notifiche. + + + Queue + + + View the message queue. + + + Gateways + Porte + + + Manage gateways + Gestisci porte + + + Lost password (Notification Center) + Password persa (Centro notifiche) + + + Generates a form to request a new password and sends the notification using the notification center. + Genera un modulo per richiedere una nuova password e invia la notifica usando il centro notifiche. + + + Subscribe (Notification Center) + + + Generates a form to subscribe to one or more channels and sends the notification using the notification center. + + + Activate (Notification Center) + + + Generates a form to activate subscription to one or more channels the notification using the notification center. + + + Unsubscribe (Notification Center) + + + Generates a form to unsubscribe from one or more channels and sends the notification using the notification center. + + + + diff --git a/languages/it/tl_form.php b/languages/it/tl_form.php deleted file mode 100644 index a5e12330..00000000 --- a/languages/it/tl_form.php +++ /dev/null @@ -1,17 +0,0 @@ - + + + + Notification + Notifica + + + + Please select a notification. + Seleziona una notifica. + + + + + \ No newline at end of file diff --git a/languages/it/tl_module.php b/languages/it/tl_module.php deleted file mode 100644 index c3d595ac..00000000 --- a/languages/it/tl_module.php +++ /dev/null @@ -1,17 +0,0 @@ - + + + + Notification + Notification + + + + Please select a notification. + Seleziona una notifica. + + + + Activation notification + + + + Please select an activation notification. + + + + Notification + + + + + \ No newline at end of file diff --git a/languages/it/tl_nc_gateway.php b/languages/it/tl_nc_gateway.php deleted file mode 100644 index d445f6cb..00000000 --- a/languages/it/tl_nc_gateway.php +++ /dev/null @@ -1,32 +0,0 @@ - + + + + Title + Titolo + + + + Please enter a title for this gateway. + + + + Type + Tipo + + + + Please select a type for this gateway. + + + + Target gateway + + + + This gateway will queue all the messages and then send them over the gateway you define here. + + + + Enable poor man's cronjob + + + + This will register this queue gateway to the poor man's cronjob. + + + + Interval + + + + Choose the interval you would like to have this queue gateway be invoked. + + + + Number of messages + + + + Here you can enter the number of messages that should be sent per invocation. + + + + Override SMTP settings + + + + This gateway will take the Contao e-mail settings by default. If you want to override the SMTP settings for this specific gateway, activate this checkbox. + + + + File type + Tipo file + + + + Please choose the file type. + Seleziona un tipo di file + + + + Connection type + Tipo connessione + + + + Please choose the connection type. + + + + Host name + Nome host + + + + Please enter the host name. + + + + Port number + Numero porta + + + + Here you can enter the port number. Leave empty to use the default. + + + + Username + Nome utente + + + + Please enter the username. + Inserisci il nome utente + + + + Password + Password + + + + Please enter the password. + Inserisci la password + + + + Path + Percorso + + + + Here you can enter the path (e.g. <em>downloads</em>). + + + + Postmark API key + + + + Please enter your unique Postmark API key. + + + + Enable test mode + + + + Here you can enable the test mode. + + + + Enable SSL + + + + Here you can enable the SSL connection. + + + + Send e-mails via SMTP + + + + Use an SMTP server instead of the PHP mail() function to send e-mails. + + + + SMTP hostname + + + + Please enter the host name of the SMTP server. + + + + SMTP username + + + + Here you can enter the SMTP username. + + + + SMTP password + + + + Here you can enter the SMTP password. + + + + SMTP encryption + + + + Here you can choose an encryption method (SSL or TLS). + + + + SMTP port number + + + + Please enter the port number of the SMTP server. + + + + Queue + + + + Standard email gateway + + + + Write to file + Scrivi su file + + + + Postmark (postmarkapp.com) + + + + Every minute + + + + Every hour + + + + Every day + + + + Every week + + + + Every month + + + + CSV + CSV + + + + Plain Text / XML + Testo / XML + + + + Local + Locale + + + + FTP + FTP + + + + Connection successful + + + + Could not connect to the FTP server! + + + + Could not login to the FTP server! + + + + New gateway + + + + Create a new gateway. + + + + Edit gateway + + + + Edit gateway ID %s. + + + + Copy gateway + + + + Copy gateway ID %s. + + + + Delete gateway + + + + Delete gateway ID %s. + + + + Gateway details + + + + Show details for gateway ID %s. + + + + Title & type + + + + Gateway settings + + + + Cronjob settings + + + + Queued messages will remain in the queue forever unless +you trigger the sending mechanism by either using a real cron job or +the Contao internal poor man's cronjob. The Notification Center is shipped +with a binary that can be executed using a real cronjob. To setup a real cronjob +that invokes the queue of this queue gateway (ID: {gateway_id}) and send 15 messages every 10 minutes, +you would need to setup the following crontab: +<br><blockquote>*/10 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 15</blockquote><br> +or let's say you want to send 30 messages every 5 minutes after every hour, then you would set it up like this: +<br><blockquote>5 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 30</blockquote><br> +If you don't have access to real cronjobs then you can enable the poor man's cron. Note that it doesn't provide the same +flexibility in terms of interval settings and it is subject to the web execution context and thus certainly affected by +PHP configurations such as the maximum execution time. Thus, try to keep the number of messages sent per invocation as low as possible. +<br><br> +<strong>Note: </strong>When you installed the notification center using Composer, the path to the binary differs: +<blockquote> +/path/to/contao/composer/vendor/terminal42/notification_center/bin/queue +</blockquote> + + + + + Delayed delivery + + + + Enter a <a href="https://php.net/strtotime" target="_blank"><i>strtotime</i></a> time interval to delay message delivery (e.g. <em>+1 day</em>). + + + + + \ No newline at end of file diff --git a/languages/it/tl_nc_language.php b/languages/it/tl_nc_language.php deleted file mode 100644 index 00f47c8b..00000000 --- a/languages/it/tl_nc_language.php +++ /dev/null @@ -1,30 +0,0 @@ - + + + + Language + Lingua + + + + Please select a language. + Seleziona una lingua + + + + Fallback + + + + Activate this checkbox if this language should be your fallback. + + + + Recipients + + + + Please enter a <strong>comma-separated</strong> list of recipients in this field. Use the autocompleter to see the available simple tokens. + + + + Attachments via tokens + + + + Please enter a <strong>comma-separated</strong> list of attachment tokens in this field. Use the autocompleter to see the available simple tokens. + + + + Attachments from file system + + + + Please choose from the file picker if you would like to add static files. + + + + Sender name + + + + Please enter the sender name. + + + + Sender address + + + + Please enter the sender email address. + + + + Send a CC to + + + + Recipients that should receive a carbon copy of the mail. Separate multiple addresses with a comma. + + + + Send a BCC to + + + + Recipients that should receive a blind carbon copy of the mail. Separate multiple addresses with a comma. + + + + Reply-to address + + + + You can optionally set a reply-to address for this message. + + + + Subject + Oggetto + + + + Please enter the subject for the e-mail. + + + + Mode + + + + Choose the mode you would like to be used for this email. + + + + Raw text + + + + Please enter the text. + + + + HTML + HTML + + + + Please enter the HTML. + + + + External images + + + + Do not embed images in HTML emails. + + + + File name + Nome file + + + + Please enter the file name. + Inserisci il nome del file senza estensione. + + + + Storage mode + + + + Here you can choose whether you want to override the existing file or append to an existing file if present. + + + + File content + Contenuto file + + + + Please enter the file content. + + + + Text only + Solo testo + + + + HTML and text + HTML e testo + + + + Create new file + + + + Override existing file + + + + Append to existing file + + + + New language + Nuova lingua + + + + Add a new language. + Aggiungi una nuova lingua. + + + + Edit language + Modifica lingua + + + + Edit language ID %s. + + + + Copy language + Copia lingua + + + + Copy language ID %s. + + + + Delete language + + + + Delete language ID %s. + + + + Language details + + + + Show details for language ID %s. + + + + General language settings + + + + Attachments + Allegati + + + + Meta information + + + + Content + Contenuto + + + + The following tokens you have used are not supported by this notification type: %s. + + + + Your content contains invalid tokens. Simple Tokens cannot contain one of those characters: <>!=*. They are either used for comparisons in if statements or as wildcard. + + + + Attachments from templates + + + + These files are used as templates for an attachment. Simple tokens inside these files are replaced and attached to the message. + + + + + \ No newline at end of file diff --git a/languages/it/tl_nc_message.php b/languages/it/tl_nc_message.php deleted file mode 100644 index 196c3c31..00000000 --- a/languages/it/tl_nc_message.php +++ /dev/null @@ -1,32 +0,0 @@ - + + + + Title + Titolo + + + + Please enter a title for this message. + + + + Gateway + + + + Please select a gateway for this message. + + + + Languages + Lingue + + + + Here you can manage the different languages. + + + + Manage languages + Gestisci lingue + + + + Close + Chiudi + + + + Priority + Priorità + + + + Please select a priority. + Seleziona una priorità. + + + + Template file + + + + Please choose a template file. + + + + Tag + + + + Here you can enter the tag. + + + + Enable open tracking + + + + Here you can enable open tracking. + + + + Publish message + + + + Include this message when a notification is being sent. + + + + New message + Nuovo messaggio + + + + Create a new message. + Crea un nuovo messaggio. + + + + Edit message + Modifica messaggio + + + + Edit message ID %s. + + + + Duplicate message + Copia messaggio + + + + Duplicate message ID %s. + + + + Move message + + + + Move message ID %s. + + + + Delete message + + + + Delete message ID %s. + + + + Toggle visibility of message + + + + Toggle visibility of message ID %s. + + + + Gateway message + + + + Show details for message ID %s. + + + + Title & Gateway + + + + Languages + Lingue + + + + Expert settings + Impostazioni esperto + + + + Publish settings + + + + very high + molto alto + + + + high + alto + + + + normal + normale + + + + low + basso + + + + very low + molto basso + + + + + \ No newline at end of file diff --git a/languages/it/tl_nc_notification.php b/languages/it/tl_nc_notification.php deleted file mode 100644 index 76e28354..00000000 --- a/languages/it/tl_nc_notification.php +++ /dev/null @@ -1,27 +0,0 @@ - + + + + Title + Titolo + + + + Please enter a title for this notification. + + + + Type + Tipo + + + + Please select a type for this notification. + + + + Delimiter for lists + + + + When list values (array values) are submitted, the Notification Center flattens them automatically by using a comma (",") by default. Change this here if you like. + + + + Standard eMail gateway + + + + Write to file + Scrivi su file + + + + New notification + Nuova notifica + + + + Create a new notification. + Crea una nuova notifica. + + + + Manage notifications + Gestisci notifiche. + + + + Manage messages for notification ID %s. + + + + Edit notification + Modifica notifca + + + + Edit notification ID %s. + + + + Copy notification + Copia notifica + + + + Copy notification ID %s. + + + + Delete notification + + + + Delete notification ID %s. + + + + Notification details + Dettagli notifica + + + + Show details for notification ID %s. + + + + Title & type + + + + Configuration + Configurazione + + + + Contao + Contao + + + + Form submission + + + + This notification type can be sent when the form is submitted. + + + + Member activation + + + + Member registration + + + + Member personal data + + + + Member lost password + + + + Token Templates + + + + Choose templates to generate tokens from their output. Each template name must start with notification_xxx and its token will be converted to a ##template_xxx## token. + + + + Templates + + + + Newsletter subscribed + + + + Newsletter activation + + + + Newsletter unsubscribed + + + + + \ No newline at end of file diff --git a/languages/it/tl_nc_queue.xlf b/languages/it/tl_nc_queue.xlf new file mode 100644 index 00000000..17c0dd71 --- /dev/null +++ b/languages/it/tl_nc_queue.xlf @@ -0,0 +1,70 @@ + + + + + + Source queue gateway + + + Target gateway + + + Source message + + + Date added to queue + + + Date sent from queue + + + Had an error during delivery process + + + Tokens + + + Language + + + Waiting in queue. + + + Error sending the message. Check the system log for more details. + + + Message sent. + + + Source + + + Add to queue again + + + This queued message (ID %s) encountered an error but you can re-add it to the queue by clicking this button. + + + Delete queued message + + + Delete queued message (ID %s). + + + Show details + + + Shows details of the queued message ID %s. + + + Are you sure you want to re-add queued message ID %s to the queue? + + + Date delayed in queue + + + Attachments + + + + diff --git a/languages/it/tokens.xlf b/languages/it/tokens.xlf new file mode 100644 index 00000000..edfc1aa4 --- /dev/null +++ b/languages/it/tokens.xlf @@ -0,0 +1,40 @@ + + + + + + E-mail address of administrator of the current page. + + + All the form fields. + + + All the form field labels. + + + All the form fields and their raw values. + + + E-mail address of administrator of the current page. + + + E-mail address of the member. + + + The current domain. + + + Current member fields as submitted by the form. Use {{user::*}} insert tags if you need other properties. + + + Member fields as they were before the changes. + + + Flag (1 or 0) if a field has changed, to be used with if-conditions. + + + Output of template "%s" + + + + diff --git a/languages/pl/modules.php b/languages/pl/modules.php deleted file mode 100644 index 747f833a..00000000 --- a/languages/pl/modules.php +++ /dev/null @@ -1,21 +0,0 @@ - + + + + + Notification Center + Centrum powiadomień + + + Notifications + Powiadomienia + + + Manage notifications. + Zarządzaj powiadomieniami + + + Queue + + + View the message queue. + + + Gateways + Bramki + + + Manage gateways + Zarządzaj bramkami + + + Lost password (Notification Center) + Zapomniane hasło (Centrum powiadomień) + + + Generates a form to request a new password and sends the notification using the notification center. + Generuje formularz zapomnianego hasła i wysyła powiadomienie używając centrum powiadomień. + + + Subscribe (Notification Center) + + + Generates a form to subscribe to one or more channels and sends the notification using the notification center. + + + Activate (Notification Center) + + + Generates a form to activate subscription to one or more channels the notification using the notification center. + + + Unsubscribe (Notification Center) + + + Generates a form to unsubscribe from one or more channels and sends the notification using the notification center. + + + + diff --git a/languages/pl/tl_form.php b/languages/pl/tl_form.php deleted file mode 100644 index 7734d3e6..00000000 --- a/languages/pl/tl_form.php +++ /dev/null @@ -1,17 +0,0 @@ - + + + + Notification + Powiadomienie + + + + Please select a notification. + Wybierz powiadomienie. + + + + + \ No newline at end of file diff --git a/languages/pl/tl_module.php b/languages/pl/tl_module.php deleted file mode 100644 index 932b5bfa..00000000 --- a/languages/pl/tl_module.php +++ /dev/null @@ -1,17 +0,0 @@ - + + + + Notification + Powiadomienie + + + + Please select a notification. + Wybierz powiadomienie. + + + + Activation notification + + + + Please select an activation notification. + + + + Notification + + + + + \ No newline at end of file diff --git a/languages/pl/tl_nc_gateway.php b/languages/pl/tl_nc_gateway.php deleted file mode 100644 index 164ec072..00000000 --- a/languages/pl/tl_nc_gateway.php +++ /dev/null @@ -1,55 +0,0 @@ -downloads).'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_port']['0'] = 'Numer portu'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_port']['1'] = 'Tutaj możesz wprowadzić numer portu. Zostaw pole puste, aby użyć wartości domyślnej.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['0'] = 'Typ pliku'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['1'] = 'Proszę wybrać typ pliku.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['csv'] = 'CSV'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['xml'] = 'Czysty tekst / XML'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_username']['0'] = 'Użytkownik'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_username']['1'] = 'Proszę wprowadzić użytkownika.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['ftp_confirm'] = 'Połączenie udane'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['ftp_error_class'] = 'Nie znaleziono klasy FTP!'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['ftp_error_connect'] = 'Połączenie nieudane: %s'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['gateway_legend'] = 'Ustawienia bramki'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['new']['0'] = 'Nowa bramka'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['new']['1'] = 'Utwórz nową bramkę.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['show']['0'] = 'Szczegóły bramki'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['show']['1'] = 'Pokaż szczegóły bramki ID %s.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['title']['0'] = 'Nazwa'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['title']['1'] = 'Wprowadź nazwę dla tej bramki.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['title_legend'] = 'Nazwa i typ'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['0'] = 'Typ'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['1'] = 'Wybierz typ dla tej bramki.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['email'] = 'Standardowa bramka e-mail'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['file'] = 'Zapisz do pliku'; - diff --git a/languages/pl/tl_nc_gateway.xlf b/languages/pl/tl_nc_gateway.xlf new file mode 100644 index 00000000..3ba585cf --- /dev/null +++ b/languages/pl/tl_nc_gateway.xlf @@ -0,0 +1,375 @@ + + + + + Title + Nazwa + + + + Please enter a title for this gateway. + Wprowadź nazwę dla tej bramki. + + + + Type + Typ + + + + Please select a type for this gateway. + Wybierz typ dla tej bramki. + + + + Target gateway + + + + This gateway will queue all the messages and then send them over the gateway you define here. + + + + Enable poor man's cronjob + + + + This will register this queue gateway to the poor man's cronjob. + + + + Interval + + + + Choose the interval you would like to have this queue gateway be invoked. + + + + Number of messages + + + + Here you can enter the number of messages that should be sent per invocation. + + + + Override SMTP settings + Nadpisz ustawienia SMTP + + + + This gateway will take the Contao e-mail settings by default. If you want to override the SMTP settings for this specific gateway, activate this checkbox. + Bramka będzie używać domyślnej konfiguracji e-mail Contao. Jeśli chcesz nadpisać ustawienia SMTP dla tej bramki, zaznacz ten checkbox. + + + + File type + Typ pliku + + + + Please choose the file type. + Proszę wybrać typ pliku. + + + + Connection type + Typ połączenia + + + + Please choose the connection type. + Proszę wybrać typ połączenia. + + + + Host name + Nazwa hostu + + + + Please enter the host name. + Proszę wprowadzić nazwę hostu. + + + + Port number + Numer portu + + + + Here you can enter the port number. Leave empty to use the default. + Tutaj możesz wprowadzić numer portu. Zostaw pole puste, aby użyć wartości domyślnej. + + + + Username + Użytkownik + + + + Please enter the username. + Proszę wprowadzić użytkownika. + + + + Password + Hasło + + + + Please enter the password. + Proszę wprowadzić hasło. + + + + Path + Ścieżka + + + + Here you can enter the path (e.g. <em>downloads</em>). + Tutaj możesz wprowadzić ścieżkę (np. <em>downloads</em>). + + + + Postmark API key + + + + Please enter your unique Postmark API key. + + + + Enable test mode + + + + Here you can enable the test mode. + + + + Enable SSL + + + + Here you can enable the SSL connection. + + + + Send e-mails via SMTP + + + + Use an SMTP server instead of the PHP mail() function to send e-mails. + + + + SMTP hostname + + + + Please enter the host name of the SMTP server. + + + + SMTP username + + + + Here you can enter the SMTP username. + + + + SMTP password + + + + Here you can enter the SMTP password. + + + + SMTP encryption + + + + Here you can choose an encryption method (SSL or TLS). + + + + SMTP port number + + + + Please enter the port number of the SMTP server. + + + + Queue + + + + Standard email gateway + Standardowa bramka e-mail + + + + Write to file + Zapisz do pliku + + + + Postmark (postmarkapp.com) + + + + Every minute + + + + Every hour + + + + Every day + + + + Every week + + + + Every month + + + + CSV + CSV + + + + Plain Text / XML + Czysty tekst / XML + + + + Local + Lokalny + + + + FTP + FTP + + + + Connection successful + Połączenie udane + + + + Could not connect to the FTP server! + Połączenie nieudane: %s + + + + Could not login to the FTP server! + + + + New gateway + Nowa bramka + + + + Create a new gateway. + Utwórz nową bramkę. + + + + Edit gateway + Edytuj bramkę + + + + Edit gateway ID %s. + Edytuj bramkę ID %s. + + + + Copy gateway + Kopiuj bramkę + + + + Copy gateway ID %s. + Kopiuj bramkę ID %s. + + + + Delete gateway + Usuń bramkę + + + + Delete gateway ID %s. + Usuń bramkę ID %s. + + + + Gateway details + Szczegóły bramki + + + + Show details for gateway ID %s. + Pokaż szczegóły bramki ID %s. + + + + Title & type + Nazwa i typ + + + + Gateway settings + Ustawienia bramki + + + + Cronjob settings + + + + Queued messages will remain in the queue forever unless +you trigger the sending mechanism by either using a real cron job or +the Contao internal poor man's cronjob. The Notification Center is shipped +with a binary that can be executed using a real cronjob. To setup a real cronjob +that invokes the queue of this queue gateway (ID: {gateway_id}) and send 15 messages every 10 minutes, +you would need to setup the following crontab: +<br><blockquote>*/10 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 15</blockquote><br> +or let's say you want to send 30 messages every 5 minutes after every hour, then you would set it up like this: +<br><blockquote>5 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 30</blockquote><br> +If you don't have access to real cronjobs then you can enable the poor man's cron. Note that it doesn't provide the same +flexibility in terms of interval settings and it is subject to the web execution context and thus certainly affected by +PHP configurations such as the maximum execution time. Thus, try to keep the number of messages sent per invocation as low as possible. +<br><br> +<strong>Note: </strong>When you installed the notification center using Composer, the path to the binary differs: +<blockquote> +/path/to/contao/composer/vendor/terminal42/notification_center/bin/queue +</blockquote> + + + + + Delayed delivery + + + + Enter a <a href="https://php.net/strtotime" target="_blank"><i>strtotime</i></a> time interval to delay message delivery (e.g. <em>+1 day</em>). + + + + + \ No newline at end of file diff --git a/languages/pl/tl_nc_language.php b/languages/pl/tl_nc_language.php deleted file mode 100644 index cdc11062..00000000 --- a/languages/pl/tl_nc_language.php +++ /dev/null @@ -1,65 +0,0 @@ -po przecinku. Użyj kreatora pomocy, aby zobaczyć dostępne tokeny.'; -$GLOBALS['TL_LANG']['tl_nc_language']['attachments']['0'] = 'Załączniki z systemu plików'; -$GLOBALS['TL_LANG']['tl_nc_language']['attachments']['1'] = 'Wybierz statyczne pliki, które chcesz załączyć.'; -$GLOBALS['TL_LANG']['tl_nc_language']['attachments_legend'] = 'Załączniki'; -$GLOBALS['TL_LANG']['tl_nc_language']['content_legend'] = 'Zawartość'; -$GLOBALS['TL_LANG']['tl_nc_language']['copy']['0'] = 'Kopiuj język'; -$GLOBALS['TL_LANG']['tl_nc_language']['copy']['1'] = 'Kopiuj język ID %s.'; -$GLOBALS['TL_LANG']['tl_nc_language']['delete']['0'] = 'Usuń język'; -$GLOBALS['TL_LANG']['tl_nc_language']['delete']['1'] = 'Usuń język ID %s.'; -$GLOBALS['TL_LANG']['tl_nc_language']['edit']['0'] = 'Edytuj język'; -$GLOBALS['TL_LANG']['tl_nc_language']['edit']['1'] = 'Edytuj język ID %s.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_html']['0'] = 'HTML'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_html']['1'] = 'Wprowadź zawartość HTML.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['0'] = 'Tryb'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['1'] = 'Wybierz tryb, który będzie użyty do wysłania e-mail.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['textAndHtml'] = 'HTML i tekst'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['textOnly'] = 'Tylko tekst'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_bcc']['0'] = 'Wyślij BCC do'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_bcc']['1'] = 'Odbiorcy, którzy powinni otrzymać ukrytą kopię wiadomości. Wprowadź kilka adresów po przecinku.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_cc']['0'] = 'Wyślij CC do'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_cc']['1'] = 'Odbiorcy, którzy powinni otrzymać kopię wiadomości. Wprowadź kilka adresów po przecinku.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_replyTo']['0'] = 'Adres "odpowiedz do"'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_replyTo']['1'] = 'Tutaj możesz ustawić adres "odpowiedz do" dla tej wiadomości.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_address']['0'] = 'Adres nadawcy'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_address']['1'] = 'Wprowadź adres e-mail nadawcy.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_name']['0'] = 'Nazwa nadawcy'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_name']['1'] = 'Wprowadź nazwę nadawcy.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_subject']['0'] = 'Temat'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_subject']['1'] = 'Wprowadź temat e-mail.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_text']['0'] = 'Tekst'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_text']['1'] = 'Wprowadź tekst.'; -$GLOBALS['TL_LANG']['tl_nc_language']['fallback']['0'] = 'Rezerwowy'; -$GLOBALS['TL_LANG']['tl_nc_language']['fallback']['1'] = 'Zaznacz to pole, jeśli język ma być rezerwowy.'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_content']['0'] = 'Zawartość pliku'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_content']['1'] = 'Proszę wprowadzić zawartość pliku.'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_name']['0'] = 'Nazwa pliku'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_name']['1'] = 'Proszę wprowadzić nazwę pliku bez rozszerzenia.'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_override']['0'] = 'Nadpisz istniejący plik'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_override']['1'] = 'Nadpisz istniejący plik, jeśli już istnieje.'; -$GLOBALS['TL_LANG']['tl_nc_language']['general_legend'] = 'Ogólne ustawienia języka'; -$GLOBALS['TL_LANG']['tl_nc_language']['language']['0'] = 'Język'; -$GLOBALS['TL_LANG']['tl_nc_language']['language']['1'] = 'Wybierz język.'; -$GLOBALS['TL_LANG']['tl_nc_language']['meta_legend'] = 'Informacje meta'; -$GLOBALS['TL_LANG']['tl_nc_language']['new']['0'] = 'Nowy język'; -$GLOBALS['TL_LANG']['tl_nc_language']['new']['1'] = 'Dodaj nowy język.'; -$GLOBALS['TL_LANG']['tl_nc_language']['recipients']['0'] = 'Odbiorcy'; -$GLOBALS['TL_LANG']['tl_nc_language']['recipients']['1'] = 'Wprowadź listę odbiorców po przecinku. Użyj kreatora pomocy, aby zobaczyć dostępne tokeny.'; -$GLOBALS['TL_LANG']['tl_nc_language']['show']['0'] = 'Szczegóły języka'; -$GLOBALS['TL_LANG']['tl_nc_language']['show']['1'] = 'Pokaż szczegóły języka ID %s.'; -$GLOBALS['TL_LANG']['tl_nc_language']['token_error'] = 'Następujące tokeny nie są wspierane przez ten typ powiadomienia: %s.'; - diff --git a/languages/pl/tl_nc_language.xlf b/languages/pl/tl_nc_language.xlf new file mode 100644 index 00000000..f12bd894 --- /dev/null +++ b/languages/pl/tl_nc_language.xlf @@ -0,0 +1,291 @@ + + + + + Language + Język + + + + Please select a language. + Wybierz język. + + + + Fallback + Rezerwowy + + + + Activate this checkbox if this language should be your fallback. + Zaznacz to pole, jeśli język ma być rezerwowy. + + + + Recipients + Odbiorcy + + + + Please enter a <strong>comma-separated</strong> list of recipients in this field. Use the autocompleter to see the available simple tokens. + Wprowadź listę odbiorców <strong>po przecinku</strong>. Użyj kreatora pomocy, aby zobaczyć dostępne tokeny. + + + + Attachments via tokens + Załączniki z tokenów + + + + Please enter a <strong>comma-separated</strong> list of attachment tokens in this field. Use the autocompleter to see the available simple tokens. + Wprowadź listę załączników <strong>po przecinku</strong>. Użyj kreatora pomocy, aby zobaczyć dostępne tokeny. + + + + Attachments from file system + Załączniki z systemu plików + + + + Please choose from the file picker if you would like to add static files. + Wybierz statyczne pliki, które chcesz załączyć. + + + + Sender name + Nazwa nadawcy + + + + Please enter the sender name. + Wprowadź nazwę nadawcy. + + + + Sender address + Adres nadawcy + + + + Please enter the sender email address. + Wprowadź adres e-mail nadawcy. + + + + Send a CC to + Wyślij CC do + + + + Recipients that should receive a carbon copy of the mail. Separate multiple addresses with a comma. + Odbiorcy, którzy powinni otrzymać kopię wiadomości. Wprowadź kilka adresów po przecinku. + + + + Send a BCC to + Wyślij BCC do + + + + Recipients that should receive a blind carbon copy of the mail. Separate multiple addresses with a comma. + Odbiorcy, którzy powinni otrzymać ukrytą kopię wiadomości. Wprowadź kilka adresów po przecinku. + + + + Reply-to address + Adres "odpowiedz do" + + + + You can optionally set a reply-to address for this message. + Tutaj możesz ustawić adres "odpowiedz do" dla tej wiadomości. + + + + Subject + Temat + + + + Please enter the subject for the e-mail. + Wprowadź temat e-mail. + + + + Mode + Tryb + + + + Choose the mode you would like to be used for this email. + Wybierz tryb, który będzie użyty do wysłania e-mail. + + + + Raw text + Tekst + + + + Please enter the text. + Wprowadź tekst. + + + + HTML + HTML + + + + Please enter the HTML. + Wprowadź zawartość HTML. + + + + External images + + + + Do not embed images in HTML emails. + + + + File name + Nazwa pliku + + + + Please enter the file name. + Proszę wprowadzić nazwę pliku bez rozszerzenia. + + + + Storage mode + + + + Here you can choose whether you want to override the existing file or append to an existing file if present. + + + + File content + Zawartość pliku + + + + Please enter the file content. + Proszę wprowadzić zawartość pliku. + + + + Text only + Tylko tekst + + + + HTML and text + HTML i tekst + + + + Create new file + + + + Override existing file + + + + Append to existing file + + + + New language + Nowy język + + + + Add a new language. + Dodaj nowy język. + + + + Edit language + Edytuj język + + + + Edit language ID %s. + Edytuj język ID %s. + + + + Copy language + Kopiuj język + + + + Copy language ID %s. + Kopiuj język ID %s. + + + + Delete language + Usuń język + + + + Delete language ID %s. + Usuń język ID %s. + + + + Language details + Szczegóły języka + + + + Show details for language ID %s. + Pokaż szczegóły języka ID %s. + + + + General language settings + Ogólne ustawienia języka + + + + Attachments + Załączniki + + + + Meta information + Informacje meta + + + + Content + Zawartość + + + + The following tokens you have used are not supported by this notification type: %s. + Następujące tokeny nie są wspierane przez ten typ powiadomienia: %s. + + + + Your content contains invalid tokens. Simple Tokens cannot contain one of those characters: <>!=*. They are either used for comparisons in if statements or as wildcard. + + + + Attachments from templates + + + + These files are used as templates for an attachment. Simple tokens inside these files are replaced and attached to the message. + + + + + \ No newline at end of file diff --git a/languages/pl/tl_nc_message.php b/languages/pl/tl_nc_message.php deleted file mode 100644 index 9428c8b8..00000000 --- a/languages/pl/tl_nc_message.php +++ /dev/null @@ -1,50 +0,0 @@ - + + + + Title + Nazwa + + + + Please enter a title for this message. + Wprowadź nazwę dla tej wiadomości. + + + + Gateway + Bramka + + + + Please select a gateway for this message. + Wybierz bramkę dla tej wiadomości. + + + + Languages + Języki + + + + Here you can manage the different languages. + Tutaj możesz zarządzać różnymi językami. + + + + Manage languages + Zarządzaj językami + + + + Close + Zamknij + + + + Priority + Priorytet + + + + Please select a priority. + Wybierz priorytet. + + + + Template file + Szablon + + + + Please choose a template file. + Wybierz pliks zablonu. + + + + Tag + + + + Here you can enter the tag. + + + + Enable open tracking + + + + Here you can enable open tracking. + + + + Publish message + Publikuj wiadomość + + + + Include this message when a notification is being sent. + Załącz tą wiadomość przy wysyłaniu powiadomienia. + + + + New message + Nowa wiadomość + + + + Create a new message. + Utwórz nową wiadomość. + + + + Edit message + Edytuj wiadomość + + + + Edit message ID %s. + Edytuj wiadomość ID %s. + + + + Duplicate message + Kopiuj wiadomość + + + + Duplicate message ID %s. + Kopiuj wiadomość ID %s. + + + + Move message + + + + Move message ID %s. + + + + Delete message + Usuń wiadomość + + + + Delete message ID %s. + Usuń wiadomość ID %s. + + + + Toggle visibility of message + Zmień widoczność wiadomości + + + + Toggle visibility of message ID %s. + Zmień widoczność wiadomości ID %s. + + + + Gateway message + Bramka wiadomości + + + + Show details for message ID %s. + Pokaż szczegóły wiadomości ID %s. + + + + Title & Gateway + Nazwa i bramka + + + + Languages + Języki + + + + Expert settings + Ustawienia zaawansowane + + + + Publish settings + Ustawienia publikacji + + + + very high + bardzo wysoki + + + + high + wysoki + + + + normal + normalny + + + + low + niski + + + + very low + bardzo niski + + + + + \ No newline at end of file diff --git a/languages/pl/tl_nc_notification.php b/languages/pl/tl_nc_notification.php deleted file mode 100644 index 923954be..00000000 --- a/languages/pl/tl_nc_notification.php +++ /dev/null @@ -1,40 +0,0 @@ - + + + + Title + Nazwa + + + + Please enter a title for this notification. + Wprowadź nazwę dla tego powiadomienia. + + + + Type + Typ + + + + Please select a type for this notification. + Wybierz typ dla tego powiadomienia. + + + + Delimiter for lists + + + + When list values (array values) are submitted, the Notification Center flattens them automatically by using a comma (",") by default. Change this here if you like. + + + + Standard eMail gateway + Standardowa bramka e-mail + + + + Write to file + Zapisz do pliku + + + + New notification + Nowe powiadomienie + + + + Create a new notification. + Utwórz nowe powiadomienie. + + + + Manage notifications + Zarządzaj powiadomieniami + + + + Manage messages for notification ID %s. + Zarządzaj wiadomościami dla powiadomienia ID %s. + + + + Edit notification + Edytuj powiadomienie + + + + Edit notification ID %s. + Edytuj powiadomienie ID %s. + + + + Copy notification + Kopiuj powiadomienie + + + + Copy notification ID %s. + Kopiuj powiadomienie ID %s. + + + + Delete notification + Usuń powiadomienie + + + + Delete notification ID %s. + Usuń powiadomienie ID %s. + + + + Notification details + Szczegóły powiadomienia + + + + Show details for notification ID %s. + Pokaż szczegóły powiadomienia ID %s. + + + + Title & type + Nazwa i typ + + + + Configuration + Konfiguracja + + + + Contao + Contao + + + + Form submission + Wysłanie formularza + + + + This notification type can be sent when the form is submitted. + Ten typ powiadomienia może byś wysłany, gdy zostanie wysłany formularz. + + + + Member activation + + + + Member registration + Rejestracja użytkownika + + + + Member personal data + + + + Member lost password + Zaginione hasło użytkownika + + + + Token Templates + + + + Choose templates to generate tokens from their output. Each template name must start with notification_xxx and its token will be converted to a ##template_xxx## token. + + + + Templates + + + + Newsletter subscribed + + + + Newsletter activation + + + + Newsletter unsubscribed + + + + + \ No newline at end of file diff --git a/languages/pl/tl_nc_queue.xlf b/languages/pl/tl_nc_queue.xlf new file mode 100644 index 00000000..01aba32a --- /dev/null +++ b/languages/pl/tl_nc_queue.xlf @@ -0,0 +1,70 @@ + + + + + + Source queue gateway + + + Target gateway + + + Source message + + + Date added to queue + + + Date sent from queue + + + Had an error during delivery process + + + Tokens + + + Language + + + Waiting in queue. + + + Error sending the message. Check the system log for more details. + + + Message sent. + + + Source + + + Add to queue again + + + This queued message (ID %s) encountered an error but you can re-add it to the queue by clicking this button. + + + Delete queued message + + + Delete queued message (ID %s). + + + Show details + + + Shows details of the queued message ID %s. + + + Are you sure you want to re-add queued message ID %s to the queue? + + + Date delayed in queue + + + Attachments + + + + diff --git a/languages/pl/tokens.php b/languages/pl/tokens.php deleted file mode 100644 index be038d93..00000000 --- a/languages/pl/tokens.php +++ /dev/null @@ -1,17 +0,0 @@ - + + + + E-mail address of administrator of the current page. + Adres e-mail administratora bieżącej strony. + + + + All the form fields. + Wszystkie pola formularza. + + + + All the form field labels. + + + + All the form fields and their raw values. + + + + E-mail address of administrator of the current page. + + + + E-mail address of the member. + + + + The current domain. + + + + Current member fields as submitted by the form. Use {{user::*}} insert tags if you need other properties. + + + + Member fields as they were before the changes. + + + + Flag (1 or 0) if a field has changed, to be used with if-conditions. + + + + Output of template "%s" + + + + + \ No newline at end of file diff --git a/languages/ru/modules.php b/languages/ru/modules.php deleted file mode 100644 index 581aacf2..00000000 --- a/languages/ru/modules.php +++ /dev/null @@ -1,23 +0,0 @@ - + + + + + Notification Center + Центр уведомлений + + + Notifications + Уведомления + + + Manage notifications. + Управление уведомлениями. + + + Queue + Очередь + + + View the message queue. + Посмотреть очередь сообщений. + + + Gateways + Шлюзы + + + Manage gateways + Управление шлюзами + + + Lost password (Notification Center) + Забытый пароль (Центр уведомлений) + + + Generates a form to request a new password and sends the notification using the notification center. + Создает форму запроса нового пароля и отправляет уведомление с помощью центра уведомлений. + + + Subscribe (Notification Center) + + + Generates a form to subscribe to one or more channels and sends the notification using the notification center. + + + Activate (Notification Center) + + + Generates a form to activate subscription to one or more channels the notification using the notification center. + + + Unsubscribe (Notification Center) + + + Generates a form to unsubscribe from one or more channels and sends the notification using the notification center. + + + + diff --git a/languages/ru/tl_form.php b/languages/ru/tl_form.php deleted file mode 100644 index 89ab6f5e..00000000 --- a/languages/ru/tl_form.php +++ /dev/null @@ -1,17 +0,0 @@ - + + + + Notification + Уведомление + + + + Please select a notification. + Выберите уведомление. + + + + + \ No newline at end of file diff --git a/languages/ru/tl_module.php b/languages/ru/tl_module.php deleted file mode 100644 index cadca140..00000000 --- a/languages/ru/tl_module.php +++ /dev/null @@ -1,18 +0,0 @@ - + + + + Notification + Уведомление + + + + Please select a notification. + Выберите уведомление. + + + + Activation notification + Уведомление об активации + + + + Please select an activation notification. + Выберите уведомление об активации. + + + + Notification + + + + + \ No newline at end of file diff --git a/languages/ru/tl_nc_gateway.php b/languages/ru/tl_nc_gateway.php deleted file mode 100644 index b6eaedff..00000000 --- a/languages/ru/tl_nc_gateway.php +++ /dev/null @@ -1,87 +0,0 @@ -downloads).'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_port']['0'] = 'Номер порта'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_port']['1'] = 'Вы можете ввести номер порта. Оставьте поле пустым для использования значения по умолчанию.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['0'] = 'Тип файла'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['1'] = 'Выберите тип файла.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['csv'] = 'CSV'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_type']['xml'] = 'Обычный текст / XML'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_username']['0'] = 'Имя пользователя'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['file_username']['1'] = 'Введите имя пользователя.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['ftp_confirm'] = 'Успешное подключение'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['ftp_error_class'] = 'Не удалось найти класс FTP!'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['ftp_error_connect'] = 'Не удалось подключиться к FTP-серверу!'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['ftp_error_login'] = 'Не удалось войти на FTP-сервер!'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['gateway_legend'] = 'Параметры шлюза'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['new']['0'] = 'Новый шлюз'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['new']['1'] = 'Создать новый шлюз.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_key']['0'] = 'Ключ Postmark API'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_key']['1'] = 'Введите уникальный ключ Postmark API.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_ssl']['0'] = 'Включить SSL'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_ssl']['1'] = 'Вы можете включить SSL-соединение.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_test']['0'] = 'Включить тестовый режим'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['postmark_test']['1'] = 'Вы можете включить тестовый режим.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['0'] = 'Интервал'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['1'] = 'Выберите интервал, который хотите использовать для вызова этого шлюза.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['daily'] = 'Каждый день'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['hourly'] = 'Каждый час'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['minutely'] = 'Каждую минуту'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['monthly'] = 'Каждый месяц'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronInterval']['weekly'] = 'Каждую неделю'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronMessages']['0'] = 'Количество сообщений'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_cronMessages']['1'] = 'Вы можете указать количество сообщений, которые должны быть отправлены на вызов.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_targetGateway']['0'] = 'Целевой шлюз'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['queue_targetGateway']['1'] = 'Этот шлюз будет ставить в очередь все сообщения, а затем отправлять их через шлюз, который вы определите.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['show']['0'] = 'Детали шлюза'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['show']['1'] = 'Показать детали шлюза ID %s.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpEnc']['0'] = 'Шифрование SMTP'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpEnc']['1'] = 'Вы можете выбрать метод шифрования (SSL или TLS).'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpHost']['0'] = 'Имя SMTP-хоста'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpHost']['1'] = 'Введите имя SMTP-сервера.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpPass']['0'] = 'Пароль SMTP'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpPass']['1'] = 'Вы можете ввести пароль SMTP.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpPort']['0'] = 'Порт SMTP'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpPort']['1'] = 'Введите номер порта SMTP-сервера.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpUser']['0'] = 'Имя пользователя SMTP'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['smtpUser']['1'] = 'Вы можете ввести имя пользователя SMTP.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['title']['0'] = 'Название'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['title']['1'] = 'Введите название этого шлюза.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['title_legend'] = 'Название и тип'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['0'] = 'Тип'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['1'] = 'Выберите тип этого шлюза.'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['email'] = 'Стандарт почтового шлюза'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['file'] = 'Запись в файл'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['postmark'] = 'Почтовые марки (postmarkapp.com)'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['type']['queue'] = 'Очередь'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['useSMTP']['0'] = 'Отправлять E-mail через SMTP'; -$GLOBALS['TL_LANG']['tl_nc_gateway']['useSMTP']['1'] = 'Использовать SMTP-сервер, а не функцию PHP mail() для отправки электронной почты.'; - diff --git a/languages/ru/tl_nc_gateway.xlf b/languages/ru/tl_nc_gateway.xlf new file mode 100644 index 00000000..3ba27097 --- /dev/null +++ b/languages/ru/tl_nc_gateway.xlf @@ -0,0 +1,407 @@ + + + + + Title + Название + + + + Please enter a title for this gateway. + Введите название этого шлюза. + + + + Type + Тип + + + + Please select a type for this gateway. + Выберите тип этого шлюза. + + + + Target gateway + Целевой шлюз + + + + This gateway will queue all the messages and then send them over the gateway you define here. + Этот шлюз будет ставить в очередь все сообщения, а затем отправлять их через шлюз, который вы определите. + + + + Enable poor man's cronjob + + + + This will register this queue gateway to the poor man's cronjob. + + + + Interval + Интервал + + + + Choose the interval you would like to have this queue gateway be invoked. + Выберите интервал, который хотите использовать для вызова этого шлюза. + + + + Number of messages + Количество сообщений + + + + Here you can enter the number of messages that should be sent per invocation. + Вы можете указать количество сообщений, которые должны быть отправлены на вызов. + + + + Override SMTP settings + Переопределить параметры SMTP + + + + This gateway will take the Contao e-mail settings by default. If you want to override the SMTP settings for this specific gateway, activate this checkbox. + Этот шлюз будет использовать параметры электронной почты Contao по умолчанию. Если вы хотите переопределить параметры SMTP для конкретного шлюза, активируйте этот чекбокс. + + + + File type + Тип файла + + + + Please choose the file type. + Выберите тип файла. + + + + Connection type + Тип подключения + + + + Please choose the connection type. + Выберите тип подключения. + + + + Host name + Имя хоста + + + + Please enter the host name. + Введите имя хоста. + + + + Port number + Номер порта + + + + Here you can enter the port number. Leave empty to use the default. + Вы можете ввести номер порта. Оставьте поле пустым для использования значения по умолчанию. + + + + Username + Имя пользователя + + + + Please enter the username. + Введите имя пользователя. + + + + Password + Пароль + + + + Please enter the password. + Введите пароль. + + + + Path + Путь + + + + Here you can enter the path (e.g. <em>downloads</em>). + Вы можете ввести путь (напр., <em>downloads</em>). + + + + Postmark API key + Ключ Postmark API + + + + Please enter your unique Postmark API key. + Введите уникальный ключ Postmark API. + + + + Enable test mode + Включить тестовый режим + + + + Here you can enable the test mode. + Вы можете включить тестовый режим. + + + + Enable SSL + Включить SSL + + + + Here you can enable the SSL connection. + Вы можете включить SSL-соединение. + + + + Send e-mails via SMTP + Отправлять E-mail через SMTP + + + + Use an SMTP server instead of the PHP mail() function to send e-mails. + Использовать SMTP-сервер, а не функцию PHP mail() для отправки электронной почты. + + + + SMTP hostname + Имя SMTP-хоста + + + + Please enter the host name of the SMTP server. + Введите имя SMTP-сервера. + + + + SMTP username + Имя пользователя SMTP + + + + Here you can enter the SMTP username. + Вы можете ввести имя пользователя SMTP. + + + + SMTP password + Пароль SMTP + + + + Here you can enter the SMTP password. + Вы можете ввести пароль SMTP. + + + + SMTP encryption + Шифрование SMTP + + + + Here you can choose an encryption method (SSL or TLS). + Вы можете выбрать метод шифрования (SSL или TLS). + + + + SMTP port number + Порт SMTP + + + + Please enter the port number of the SMTP server. + Введите номер порта SMTP-сервера. + + + + Queue + Очередь + + + + Standard email gateway + Стандарт почтового шлюза + + + + Write to file + Запись в файл + + + + Postmark (postmarkapp.com) + Почтовые марки (postmarkapp.com) + + + + Every minute + Каждую минуту + + + + Every hour + Каждый час + + + + Every day + Каждый день + + + + Every week + Каждую неделю + + + + Every month + Каждый месяц + + + + CSV + CSV + + + + Plain Text / XML + Обычный текст / XML + + + + Local + Локальный + + + + FTP + FTP + + + + Connection successful + Успешное подключение + + + + Could not connect to the FTP server! + Не удалось подключиться к FTP-серверу! + + + + Could not login to the FTP server! + Не удалось войти на FTP-сервер! + + + + New gateway + Новый шлюз + + + + Create a new gateway. + Создать новый шлюз. + + + + Edit gateway + Редактировать шлюз + + + + Edit gateway ID %s. + Редактировать шлюз ID %s. + + + + Copy gateway + Копировать шлюз + + + + Copy gateway ID %s. + Копировать шлюз ID %s. + + + + Delete gateway + Удалить шлюз + + + + Delete gateway ID %s. + Удалить шлюз ID %s. + + + + Gateway details + Детали шлюза + + + + Show details for gateway ID %s. + Показать детали шлюза ID %s. + + + + Title & type + Название и тип + + + + Gateway settings + Параметры шлюза + + + + Cronjob settings + + + + Queued messages will remain in the queue forever unless +you trigger the sending mechanism by either using a real cron job or +the Contao internal poor man's cronjob. The Notification Center is shipped +with a binary that can be executed using a real cronjob. To setup a real cronjob +that invokes the queue of this queue gateway (ID: {gateway_id}) and send 15 messages every 10 minutes, +you would need to setup the following crontab: +<br><blockquote>*/10 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 15</blockquote><br> +or let's say you want to send 30 messages every 5 minutes after every hour, then you would set it up like this: +<br><blockquote>5 * * * * /path/to/contao/system/modules/notification_center/bin/queue -s {gateway_id} -n 30</blockquote><br> +If you don't have access to real cronjobs then you can enable the poor man's cron. Note that it doesn't provide the same +flexibility in terms of interval settings and it is subject to the web execution context and thus certainly affected by +PHP configurations such as the maximum execution time. Thus, try to keep the number of messages sent per invocation as low as possible. +<br><br> +<strong>Note: </strong>When you installed the notification center using Composer, the path to the binary differs: +<blockquote> +/path/to/contao/composer/vendor/terminal42/notification_center/bin/queue +</blockquote> + + + + + Delayed delivery + + + + Enter a <a href="https://php.net/strtotime" target="_blank"><i>strtotime</i></a> time interval to delay message delivery (e.g. <em>+1 day</em>). + + + + + \ No newline at end of file diff --git a/languages/ru/tl_nc_language.php b/languages/ru/tl_nc_language.php deleted file mode 100644 index be533751..00000000 --- a/languages/ru/tl_nc_language.php +++ /dev/null @@ -1,73 +0,0 @@ -разделенный запятыми список маркеров в этой области. Используйте авто-завершение, чтобы увидеть доступные маркеры.'; -$GLOBALS['TL_LANG']['tl_nc_language']['attachments']['0'] = 'Вложения из файловой системы'; -$GLOBALS['TL_LANG']['tl_nc_language']['attachments']['1'] = 'Выберите при помощи файл-менеджера и добавьте статические файлы.'; -$GLOBALS['TL_LANG']['tl_nc_language']['attachments_legend'] = 'Вложения'; -$GLOBALS['TL_LANG']['tl_nc_language']['content_legend'] = 'Контент'; -$GLOBALS['TL_LANG']['tl_nc_language']['copy']['0'] = 'Копировать язык'; -$GLOBALS['TL_LANG']['tl_nc_language']['copy']['1'] = 'Копировать язык ID %s.'; -$GLOBALS['TL_LANG']['tl_nc_language']['delete']['0'] = 'Удалить язык'; -$GLOBALS['TL_LANG']['tl_nc_language']['delete']['1'] = 'Удалить язык ID %s.'; -$GLOBALS['TL_LANG']['tl_nc_language']['edit']['0'] = 'Редактировать язык'; -$GLOBALS['TL_LANG']['tl_nc_language']['edit']['1'] = 'Редактировать язык ID %s.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_external_images']['0'] = 'Внешние изображения'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_external_images']['1'] = 'Не вставлять изображения в HTML-сообщения.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_html']['0'] = 'HTML'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_html']['1'] = 'Введите HTML.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['0'] = 'Режим'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['1'] = 'Выберите используемый режим для этого письма.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['textAndHtml'] = 'HTML и текст'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_mode']['textOnly'] = 'Только текст'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_bcc']['0'] = 'Отправить СК'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_bcc']['1'] = 'Получатели, которые должны получить скрытую копию по электронной почте. Несколько адресов можно разделить запятой.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_cc']['0'] = 'Отправить CC'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_recipient_cc']['1'] = 'Получатели, которые должны получить копию по электронной почте. Несколько адресов можно разделить запятой.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_replyTo']['0'] = 'Адрес для ответа'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_replyTo']['1'] = 'При необходимости можно задать адрес для ответа на данное сообщение.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_address']['0'] = 'Адрес отправителя'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_address']['1'] = 'Введите адрес электронной почты отправителя.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_name']['0'] = 'Имя отправителя'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_sender_name']['1'] = 'Введите имя отправителя.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_subject']['0'] = 'Тема'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_subject']['1'] = 'Введите тему сообщения.'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_text']['0'] = 'Неформатированный текст'; -$GLOBALS['TL_LANG']['tl_nc_language']['email_text']['1'] = 'Введите текст.'; -$GLOBALS['TL_LANG']['tl_nc_language']['fallback']['0'] = 'Резервный'; -$GLOBALS['TL_LANG']['tl_nc_language']['fallback']['1'] = 'Выберите чекбокс, если этот язык должен быть резервным.'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_content']['0'] = 'Содержимое файла'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_content']['1'] = 'Введите содержимое файла.'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_name']['0'] = 'Имя файла'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_name']['1'] = 'Введите имя файла.'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_override']['0'] = 'Переписать существующий файл'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_override']['1'] = 'Переписать старый файл, если он уже существует.'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_storage_mode']['0'] = 'Режим хранения'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_storage_mode']['1'] = 'Вы можете выбрать, переопределить или добавить существующий файл, если он есть.'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_storage_mode']['append'] = 'Добавить в существующий файл'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_storage_mode']['create'] = 'Создать новый файл'; -$GLOBALS['TL_LANG']['tl_nc_language']['file_storage_mode']['override'] = 'Переопределить существующий файл'; -$GLOBALS['TL_LANG']['tl_nc_language']['general_legend'] = 'Общие параметры языка'; -$GLOBALS['TL_LANG']['tl_nc_language']['language']['0'] = 'Язык'; -$GLOBALS['TL_LANG']['tl_nc_language']['language']['1'] = 'Выберите язык.'; -$GLOBALS['TL_LANG']['tl_nc_language']['meta_legend'] = 'Мета информация'; -$GLOBALS['TL_LANG']['tl_nc_language']['new']['0'] = 'Новый язык'; -$GLOBALS['TL_LANG']['tl_nc_language']['new']['1'] = 'Добавить новый язык.'; -$GLOBALS['TL_LANG']['tl_nc_language']['recipients']['0'] = 'Получатели'; -$GLOBALS['TL_LANG']['tl_nc_language']['recipients']['1'] = 'Введите разделенный запятыми список получателей. Используйте авто-завершение, чтобы увидеть доступные маркеры.'; -$GLOBALS['TL_LANG']['tl_nc_language']['show']['0'] = 'Детали языка'; -$GLOBALS['TL_LANG']['tl_nc_language']['show']['1'] = 'Показать детали языка ID %s.'; -$GLOBALS['TL_LANG']['tl_nc_language']['token_character_error'] = 'В вашем содержании указаны недопустимые токены. Простые токены не могут содержать любой из этих символов: <>!=*. Они либо используются для сравнения в операторах "if", либо в виде подстановочных знаков.'; -$GLOBALS['TL_LANG']['tl_nc_language']['token_error'] = 'Используемые вами маркеры не поддерживают этот тип уведомлений: %s.'; - diff --git a/languages/ru/tl_nc_language.xlf b/languages/ru/tl_nc_language.xlf new file mode 100644 index 00000000..58bcd712 --- /dev/null +++ b/languages/ru/tl_nc_language.xlf @@ -0,0 +1,299 @@ + + + + + Language + Язык + + + + Please select a language. + Выберите язык. + + + + Fallback + Резервный + + + + Activate this checkbox if this language should be your fallback. + Выберите чекбокс, если этот язык должен быть резервным. + + + + Recipients + Получатели + + + + Please enter a <strong>comma-separated</strong> list of recipients in this field. Use the autocompleter to see the available simple tokens. + Введите <strong>разделенный запятыми</strong> список получателей. Используйте авто-завершение, чтобы увидеть доступные маркеры. + + + + Attachments via tokens + Вложения через маркеры + + + + Please enter a <strong>comma-separated</strong> list of attachment tokens in this field. Use the autocompleter to see the available simple tokens. + Введите <strong>разделенный запятыми</strong> список маркеров в этой области. Используйте авто-завершение, чтобы увидеть доступные маркеры. + + + + Attachments from file system + Вложения из файловой системы + + + + Please choose from the file picker if you would like to add static files. + Выберите при помощи файл-менеджера и добавьте статические файлы. + + + + Sender name + Имя отправителя + + + + Please enter the sender name. + Введите имя отправителя. + + + + Sender address + Адрес отправителя + + + + Please enter the sender email address. + Введите адрес электронной почты отправителя. + + + + Send a CC to + Отправить CC + + + + Recipients that should receive a carbon copy of the mail. Separate multiple addresses with a comma. + Получатели, которые должны получить копию по электронной почте. Несколько адресов можно разделить запятой. + + + + Send a BCC to + Отправить СК + + + + Recipients that should receive a blind carbon copy of the mail. Separate multiple addresses with a comma. + Получатели, которые должны получить скрытую копию по электронной почте. Несколько адресов можно разделить запятой. + + + + Reply-to address + Адрес для ответа + + + + You can optionally set a reply-to address for this message. + При необходимости можно задать адрес для ответа на данное сообщение. + + + + Subject + Тема + + + + Please enter the subject for the e-mail. + Введите тему сообщения. + + + + Mode + Режим + + + + Choose the mode you would like to be used for this email. + Выберите используемый режим для этого письма. + + + + Raw text + Неформатированный текст + + + + Please enter the text. + Введите текст. + + + + HTML + HTML + + + + Please enter the HTML. + Введите HTML. + + + + External images + Внешние изображения + + + + Do not embed images in HTML emails. + Не вставлять изображения в HTML-сообщения. + + + + File name + Имя файла + + + + Please enter the file name. + Введите имя файла. + + + + Storage mode + Режим хранения + + + + Here you can choose whether you want to override the existing file or append to an existing file if present. + Вы можете выбрать, переопределить или добавить существующий файл, если он есть. + + + + File content + Содержимое файла + + + + Please enter the file content. + Введите содержимое файла. + + + + Text only + Только текст + + + + HTML and text + HTML и текст + + + + Create new file + Создать новый файл + + + + Override existing file + Переопределить существующий файл + + + + Append to existing file + Добавить в существующий файл + + + + New language + Новый язык + + + + Add a new language. + Добавить новый язык. + + + + Edit language + Редактировать язык + + + + Edit language ID %s. + Редактировать язык ID %s. + + + + Copy language + Копировать язык + + + + Copy language ID %s. + Копировать язык ID %s. + + + + Delete language + Удалить язык + + + + Delete language ID %s. + Удалить язык ID %s. + + + + Language details + Детали языка + + + + Show details for language ID %s. + Показать детали языка ID %s. + + + + General language settings + Общие параметры языка + + + + Attachments + Вложения + + + + Meta information + Мета информация + + + + Content + Контент + + + + The following tokens you have used are not supported by this notification type: %s. + Используемые вами маркеры не поддерживают этот тип уведомлений: %s. + + + + Your content contains invalid tokens. Simple Tokens cannot contain one of those characters: <>!=*. They are either used for comparisons in if statements or as wildcard. + В вашем содержании указаны недопустимые токены. Простые токены не могут содержать любой из этих символов: <>!=*. Они либо используются для сравнения в операторах "if", либо в виде подстановочных знаков. + + + + Attachments from templates + + + + These files are used as templates for an attachment. Simple tokens inside these files are replaced and attached to the message. + + + + + \ No newline at end of file diff --git a/languages/ru/tl_nc_message.php b/languages/ru/tl_nc_message.php deleted file mode 100644 index 7f6f7bbf..00000000 --- a/languages/ru/tl_nc_message.php +++ /dev/null @@ -1,55 +0,0 @@ - + + + + Title + Название + + + + Please enter a title for this message. + Введите название данного сообщения. + + + + Gateway + Шлюз + + + + Please select a gateway for this message. + Выберите шлюз для этого сообщения. + + + + Languages + Языки + + + + Here you can manage the different languages. + Вы можете управлять различными языками. + + + + Manage languages + Управление языками + + + + Close + Закрыть + + + + Priority + Приоритет + + + + Please select a priority. + Выберите приоритет. + + + + Template file + Файл шаблона + + + + Please choose a template file. + Выберите файл шаблона. + + + + Tag + Тег + + + + Here you can enter the tag. + Вы можете ввести тег. + + + + Enable open tracking + Включить открытое отслеживание + + + + Here you can enable open tracking. + Вы можете включить открытое отслеживание. + + + + Publish message + Опубликовать сообщение + + + + Include this message when a notification is being sent. + Включить это сообщение при отправке уведомления. + + + + New message + Новое сообщение + + + + Create a new message. + Создать новое сообщение. + + + + Edit message + Редактировать сообщение + + + + Edit message ID %s. + Редактировать сообщение ID %s. + + + + Duplicate message + Дублировать сообщение + + + + Duplicate message ID %s. + Дублировать сообщение ID %s. + + + + Move message + Переместить сообщение + + + + Move message ID %s. + Переместить сообщение ID %s. + + + + Delete message + Удалить сообщение + + + + Delete message ID %s. + Удалить сообщение ID %s. + + + + Toggle visibility of message + Переключить видимость сообщения + + + + Toggle visibility of message ID %s. + Переключить видимость сообщения ID %s. + + + + Gateway message + Сообщение шлюза + + + + Show details for message ID %s. + Показать детали для сообщения ID %s. + + + + Title & Gateway + Название и шлюз + + + + Languages + Языки + + + + Expert settings + Экспертные настройки + + + + Publish settings + Настройки публикации + + + + very high + очень высокий + + + + high + высокий + + + + normal + нормальный + + + + low + низкий + + + + very low + очень низкий + + + + + \ No newline at end of file diff --git a/languages/ru/tl_nc_notification.php b/languages/ru/tl_nc_notification.php deleted file mode 100644 index a055a792..00000000 --- a/languages/ru/tl_nc_notification.php +++ /dev/null @@ -1,44 +0,0 @@ - + + + + Title + Название + + + + Please enter a title for this notification. + Введите название этого уведомления. + + + + Type + Тип + + + + Please select a type for this notification. + Выберите тип данного уведомления. + + + + Delimiter for lists + Разделитель для списков + + + + When list values (array values) are submitted, the Notification Center flattens them automatically by using a comma (",") by default. Change this here if you like. + При отправке значений списка (значений массива), Центр уведомлений автоматически выравнивает их по умолчанию с помощью запятой (","). Измените это, если хотите. + + + + Standard eMail gateway + Стандарт почтового шлюза + + + + Write to file + Запись в файл + + + + New notification + Новое уведомление + + + + Create a new notification. + Создать новое уведомление. + + + + Manage notifications + Управление уведомлениями + + + + Manage messages for notification ID %s. + Управление сообщениями для уведомления ID %s. + + + + Edit notification + Редактировать уведомление + + + + Edit notification ID %s. + Редактировать уведомление ID %s. + + + + Copy notification + Копировать уведомление + + + + Copy notification ID %s. + Копировать уведомление ID %s. + + + + Delete notification + Удалить уведомление + + + + Delete notification ID %s. + Удалить уведомление ID %s. + + + + Notification details + Детали уведомления + + + + Show details for notification ID %s. + Показать детали уведомления ID %s. + + + + Title & type + Название и тип + + + + Configuration + Конфигурация + + + + Contao + Contao + + + + Form submission + Отправка формы + + + + This notification type can be sent when the form is submitted. + Тип уведомления может быть отправлен при отправке формы. + + + + Member activation + Активация участников + + + + Member registration + Регистрация участника + + + + Member personal data + Персональные данные участника + + + + Member lost password + Забытый пароль участника + + + + Token Templates + + + + Choose templates to generate tokens from their output. Each template name must start with notification_xxx and its token will be converted to a ##template_xxx## token. + + + + Templates + + + + Newsletter subscribed + + + + Newsletter activation + + + + Newsletter unsubscribed + + + + + \ No newline at end of file diff --git a/languages/ru/tl_nc_queue.php b/languages/ru/tl_nc_queue.php deleted file mode 100644 index 8cbd2b71..00000000 --- a/languages/ru/tl_nc_queue.php +++ /dev/null @@ -1,34 +0,0 @@ - + + + + Source queue gateway + Шлюз источника очереди + + + + Target gateway + Целевой шлюз + + + + Source message + Исходное сообщение + + + + Date added to queue + Дата добавления в очередь + + + + Date sent from queue + Дата отправки из очереди + + + + Had an error during delivery process + Если в процессе доставки произошла ошибка + + + + Tokens + Токены + + + + Language + Язык + + + + Waiting in queue. + Ожидание в очереди. + + + + Error sending the message. Check the system log for more details. + Ошибка отправки сообщения. Проверьте системный журнал для получения более подробной информации. + + + + Message sent. + Сообщение отправлено. + + + + Source + Источник + + + + Add to queue again + Добавить в очередь еще раз + + + + This queued message (ID %s) encountered an error but you can re-add it to the queue by clicking this button. + Сообщение в очереди (ID %s) обнаружило ошибку, но вы можете повторно добавить его в очередь, нажав эту кнопку. + + + + Delete queued message + Удалить сообщение в очереди + + + + Delete queued message (ID %s). + Удалить сообщение в очереди (ID %s). + + + + Show details + Показать детали + + + + Shows details of the queued message ID %s. + Показать детали о сообщении в очереди ID %s. + + + + Are you sure you want to re-add queued message ID %s to the queue? + Вы действительно хотите повторно добавить сообщение из очереди ID %s в очередь? + + + + Date delayed in queue + + + + Attachments + + + + + \ No newline at end of file diff --git a/languages/ru/tokens.php b/languages/ru/tokens.php deleted file mode 100644 index 069d5ca9..00000000 --- a/languages/ru/tokens.php +++ /dev/null @@ -1,24 +0,0 @@ - + + + + E-mail address of administrator of the current page. + Адрес электронной почты администратора текущей страницы. + + + + All the form fields. + Все поля формы. + + + + All the form field labels. + Все метки полей формы. + + + + All the form fields and their raw values. + Все поля формы и их начальные значения. + + + + E-mail address of administrator of the current page. + Адрес электронной почты администратора текущей страницы. + + + + E-mail address of the member. + Адрес электронной почты участника. + + + + The current domain. + Текущий домен. + + + + Current member fields as submitted by the form. Use {{user::*}} insert tags if you need other properties. + Текущие поля участника, представленные формой. Используйте вставку тега {{user::*}}, если вам нужны другие свойства. + + + + Member fields as they were before the changes. + Поля пользователя, какими они были до изменений. + + + + Flag (1 or 0) if a field has changed, to be used with if-conditions. + Флаг (1 или 0), если поле изменилось, для использования с условиями "if". + + + + Output of template "%s" + + + + + \ No newline at end of file diff --git a/library/NotificationCenter/AutoSuggester.php b/library/NotificationCenter/AutoSuggester.php index 756eacb1..83317be2 100644 --- a/library/NotificationCenter/AutoSuggester.php +++ b/library/NotificationCenter/AutoSuggester.php @@ -15,8 +15,8 @@ class AutoSuggester extends \Controller { - protected static $strTable; + protected static $objNotification; protected static $strType; public static function load($dc) @@ -38,7 +38,8 @@ public static function load($dc) $GLOBALS['TL_CSS'][] = 'system/modules/notification_center/assets/autosuggester' . ($GLOBALS['TL_CONFIG']['debugMode'] ? '' : '.min') . '.css'; static::$strTable = $dc->table; - static::$strType = \Database::getInstance()->prepare($GLOBALS['TL_DCA'][static::$strTable]['config']['nc_type_query'])->execute($dc->id)->type; + static::$objNotification = \Database::getInstance()->prepare("SELECT * FROM tl_nc_notification WHERE id=(SELECT pid FROM tl_nc_message WHERE id=(SELECT pid FROM tl_nc_language WHERE id=?))")->execute($dc->id); + static::$strType = static::$objNotification->type; foreach ($GLOBALS['TL_DCA'][static::$strTable]['fields'] as $field => $arrConfig) { if ('nc_tokens' === $arrConfig['eval']['rgxp']) { @@ -59,6 +60,7 @@ public function init(\DataContainer $dc) { $strGroup = NotificationModel::findGroupForType(static::$strType); $arrTokens = $GLOBALS['NOTIFICATION_CENTER']['NOTIFICATION_TYPE'][$strGroup][static::$strType][$dc->field]; + $arrTokens = array_merge($arrTokens, $this->loadTemplateTokens()); if (!is_array($arrTokens) || empty($arrTokens)) { return ''; @@ -67,11 +69,16 @@ public function init(\DataContainer $dc) $arrParsedTokens = array(); foreach ($arrTokens as $strToken) { - $arrParsedTokens[] = array - ( + $content = $GLOBALS['TL_LANG']['NOTIFICATION_CENTER_TOKEN'][static::$strType][$strToken] ?: ''; + + if (0 === strpos($strToken, 'template_')) { + $content = sprintf($GLOBALS['TL_LANG']['NOTIFICATION_CENTER_TOKEN']['template'], 'notification_'.substr($strToken, 9)); + } + + $arrParsedTokens[] = [ 'value' => '##' . $strToken . '##', - 'content' => $GLOBALS['TL_LANG']['NOTIFICATION_CENTER_TOKEN'][static::$strType][$strToken] ?: '' - ); + 'content' => $content, + ]; } $GLOBALS['TL_MOOTOOLS'][] = " @@ -103,6 +110,7 @@ public function verifyTokens($rgxp, $strText, $objWidget) $strGroup = NotificationModel::findGroupForType(static::$strType); $validTokens = (array) $GLOBALS['NOTIFICATION_CENTER']['NOTIFICATION_TYPE'][$strGroup][static::$strType][$objWidget->name]; + $validTokens = array_merge($validTokens, $this->loadTemplateTokens()); if (!$this->verifyHashes($strText, $objWidget, $validTokens)) { $this->verifyConditions($strText, $objWidget, $validTokens); @@ -205,4 +213,20 @@ private function verifyConditions($strText, $objWidget, array $validTokens) return false; } + + private function loadTemplateTokens() + { + if (!static::$objNotification) { + return []; + } + + $tokens = []; + $templates = deserialize(static::$objNotification->templates, true); + + foreach ($templates as $template) { + $tokens[] = 'template_'.substr($template, 13); + } + + return $tokens; + } } diff --git a/library/NotificationCenter/Gateway/Email.php b/library/NotificationCenter/Gateway/Email.php index db628f39..52632d69 100644 --- a/library/NotificationCenter/Gateway/Email.php +++ b/library/NotificationCenter/Gateway/Email.php @@ -26,10 +26,12 @@ class Email extends Base implements GatewayInterface, MessageDraftFactoryInterfa /** * Returns a MessageDraft - * @param Message - * @param array - * @param string - * @return MessageDraftInterface|null (if no draft could be found) + * + * @param Message $objMessage + * @param array $arrTokens + * @param string $strLanguage + * + * @return EmailMessageDraft|null (if no draft could be found) */ public function createDraft(Message $objMessage, array $arrTokens, $strLanguage = '') { @@ -47,27 +49,10 @@ public function createDraft(Message $objMessage, array $arrTokens, $strLanguage } /** - * Send email message - * @param Message - * @param array - * @param string - * @return bool + * @param EmailMessageDraft $objDraft */ - public function send(Message $objMessage, array $arrTokens, $strLanguage = '') + public function sendDraft(EmailMessageDraft $objDraft) { - /** - * @var $objDraft \NotificationCenter\MessageDraft\EmailMessageDraft - */ - $objDraft = $this->createDraft($objMessage, $arrTokens, $strLanguage); - - // return false if no language found for BC - if ($objDraft === null) { - - \System::log(sprintf('Could not create draft message for e-mail (Message ID: %s)', $objMessage->id), __METHOD__, TL_ERROR); - - return false; - } - // Override SMTP settings if desired if (version_compare(VERSION, '4.4', '>=') && $this->objModel->email_overrideSmtp) { if (method_exists(\Swift_SmtpTransport::class, 'newInstance')) { @@ -124,7 +109,7 @@ public function send(Message $objMessage, array $arrTokens, $strLanguage = '') // Set image embedding $objEmail->embedImages = !$objDraft->useExternalImages(); - // Add attachments + // Add file attachments $arrAttachments = $objDraft->getAttachments(); if (!empty($arrAttachments)) { foreach ($arrAttachments as $strFile) { @@ -132,6 +117,14 @@ public function send(Message $objMessage, array $arrTokens, $strLanguage = '') } } + // Add string attachments + $arrAttachments = $objDraft->getStringAttachments(); + if (!empty($arrAttachments)) { + foreach ($arrAttachments as $strFilename => $strContent) { + $objEmail->attachFileFromString($strContent, $strFilename); + } + } + // Set CC recipients $arrCc = $objDraft->getCcRecipientEmails(); if (!empty($arrCc)) { @@ -147,12 +140,39 @@ public function send(Message $objMessage, array $arrTokens, $strLanguage = '') try { return $objEmail->sendTo($objDraft->getRecipientEmails()); } catch (\Exception $e) { - \System::log(sprintf('Could not send email for message ID %s: %s', $objMessage->id, $e->getMessage()), __METHOD__, TL_ERROR); + \System::log(sprintf('Could not send email for message ID %s: %s', $objDraft->getMessage()->id, $e->getMessage()), __METHOD__, TL_ERROR); } return false; } + /** + * Send email message + * + * @param Message $objMessage + * @param array $arrTokens + * @param string $strLanguage + * + * @return bool + */ + public function send(Message $objMessage, array $arrTokens, $strLanguage = '') + { + /** + * @var $objDraft \NotificationCenter\MessageDraft\EmailMessageDraft + */ + $objDraft = $this->createDraft($objMessage, $arrTokens, $strLanguage); + + // return false if no language found for BC + if ($objDraft === null) { + + \System::log(sprintf('Could not create draft message for e-mail (Message ID: %s)', $objMessage->id), __METHOD__, TL_ERROR); + + return false; + } + + return $this->sendDraft($objDraft); + } + /** * Override SMTP settings */ diff --git a/library/NotificationCenter/MessageDraft/EmailMessageDraft.php b/library/NotificationCenter/MessageDraft/EmailMessageDraft.php index 87122d24..cdf25986 100644 --- a/library/NotificationCenter/MessageDraft/EmailMessageDraft.php +++ b/library/NotificationCenter/MessageDraft/EmailMessageDraft.php @@ -11,6 +11,7 @@ namespace NotificationCenter\MessageDraft; +use Contao\File; use NotificationCenter\Model\Language; use NotificationCenter\Model\Message; use NotificationCenter\Util\StringUtil; @@ -35,6 +36,18 @@ class EmailMessageDraft implements MessageDraftInterface */ protected $arrTokens = array(); + /** + * File path attachments + * @var array + */ + protected $attachments = null; + + /** + * String attachments + * @var array + */ + protected $stringAttachments = null; + /** * Construct the object * @param Message $objMessage @@ -185,25 +198,65 @@ public function useExternalImages() */ public function getAttachments() { - // Token attachments - $arrAttachments = StringUtil::getTokenAttachments($this->objLanguage->attachment_tokens, $this->arrTokens); + if ($this->attachments === null) { + // Token attachments + $this->attachments = StringUtil::getTokenAttachments($this->objLanguage->attachment_tokens, $this->arrTokens); - // Add static attachments - $arrStaticAttachments = deserialize($this->objLanguage->attachments, true); + // Add static attachments + $arrStaticAttachments = deserialize($this->objLanguage->attachments, true); - if (!empty($arrStaticAttachments)) { - $objFiles = \FilesModel::findMultipleByUuids($arrStaticAttachments); + if (!empty($arrStaticAttachments)) { + $objFiles = \FilesModel::findMultipleByUuids($arrStaticAttachments); - if ($objFiles === null) { - return $arrAttachments; + if ($objFiles !== null) { + while ($objFiles->next()) { + $this->attachments[] = TL_ROOT . '/' . $objFiles->path; + } + } } + } + + return $this->attachments; + } - while ($objFiles->next()) { - $arrAttachments[] = TL_ROOT . '/' . $objFiles->path; + /** + * Returns the contents of attachments as an array (the key being the desired file name). + * @return array + */ + public function getStringAttachments() + { + if ($this->stringAttachments === null) { + + // Add attachment templates + $arrTemplateAttachments = deserialize($this->objLanguage->attachment_templates, true); + + if (!empty($arrTemplateAttachments)) { + $objFiles = \FilesModel::findMultipleByUuids($arrTemplateAttachments); + + if ($objFiles !== null) { + while ($objFiles->next()) { + $file = new File($objFiles->path, true); + if (!$file->exists()) { + continue; + } + + $this->stringAttachments[$objFiles->name] = \Haste\Util\StringUtil::recursiveReplaceTokensAndTags($file->getContent(), $this->arrTokens); + } + } } } - return $arrAttachments; + return $this->stringAttachments; + } + + /** + * Set the attachments + * + * @param array $attachments + */ + public function setAttachments(array $attachments) + { + $this->attachments = $attachments; } /** diff --git a/library/NotificationCenter/Model/Message.php b/library/NotificationCenter/Model/Message.php index a3f93809..d031e722 100644 --- a/library/NotificationCenter/Model/Message.php +++ b/library/NotificationCenter/Model/Message.php @@ -10,6 +10,8 @@ namespace NotificationCenter\Model; +use NotificationCenter\Gateway\Email; + class Message extends \Model { @@ -22,11 +24,15 @@ class Message extends \Model /** * Send this message using its gateway - * @param array - * @param string + * + * @param array $arrTokens + * @param string $strLanguage + * @param array|null $arrAttachments + * * @return bool + * @throws \Exception */ - public function send(array $arrTokens, $strLanguage = '') + public function send(array $arrTokens, $strLanguage = '', array $arrAttachments = []) { /** @var Gateway $objGatewayModel */ if (($objGatewayModel = $this->getRelated('gateway')) === null) { @@ -56,7 +62,25 @@ public function send(array $arrTokens, $strLanguage = '') } } - return $objGatewayModel->getGateway()->send($this, $cpTokens, $cpLanguage); + $objGateway = $objGatewayModel->getGateway(); + + // Send the draft with updated attachments (likely originating from queue) + if ($objGateway instanceof Email && count($arrAttachments) > 0) { + $objDraft = $objGateway->createDraft($this, $cpTokens, $cpLanguage); + + // return false if no language found for BC + if ($objDraft === null) { + \System::log(sprintf('Could not create draft message for e-mail (Message ID: %s)', $this->id), __METHOD__, TL_ERROR); + + return false; + } + + $objDraft->setAttachments($arrAttachments); + + return $objGateway->sendDraft($objDraft); + } + + return $objGateway->send($this, $cpTokens, $cpLanguage); } /** diff --git a/library/NotificationCenter/Model/Notification.php b/library/NotificationCenter/Model/Notification.php index 53a7822c..3ec10b2c 100644 --- a/library/NotificationCenter/Model/Notification.php +++ b/library/NotificationCenter/Model/Notification.php @@ -43,6 +43,7 @@ public function send(array $arrTokens, $strLanguage = '') return array(); } + $arrTokens = $this->addTemplateTokens($arrTokens); $arrResult = array(); foreach ($objMessages as $objMessage) { @@ -67,4 +68,22 @@ public static function findGroupForType($strType) return ''; } + + private function addTemplateTokens(array $tokens) + { + $templates = deserialize($this->templates, true); + + foreach ($templates as $name) { + try { + $template = new \FrontendTemplate($name); + $template->setData($tokens); + + $tokens['template_'.substr($name, 13)] = $template->parse(); + } catch (\Exception $e) { + \System::log('Could not generate token template "'.$name.'"', __METHOD__, TL_ERROR); + } + } + + return $tokens; + } } diff --git a/library/NotificationCenter/Model/QueuedMessage.php b/library/NotificationCenter/Model/QueuedMessage.php index cb123c50..4196d4b1 100644 --- a/library/NotificationCenter/Model/QueuedMessage.php +++ b/library/NotificationCenter/Model/QueuedMessage.php @@ -37,7 +37,31 @@ public function setTokens($arrTokens) */ public function getTokens() { - return (array) json_decode($this->tokens); + return (array) json_decode($this->tokens, true); + } + + /** + * Set the attachments + * + * @param array $attachments + * + * @return $this + */ + public function setAttachments(array $attachments) + { + $this->attachments = json_encode($attachments); + + return $this; + } + + /** + * Get the $attachments + * + * @return array + */ + public function getAttachments() + { + return (array) json_decode($this->attachments, true); } /** @@ -88,7 +112,7 @@ public function send() // Temporarily set gateway to target gateway $message->gateway = $this->targetGateway; - $result = $message->send($this->getTokens(), $this->language); + $result = $message->send($this->getTokens(), $this->language, $this->getAttachments()); // Reset gateway $message->gateway = $this->sourceQueue; @@ -113,7 +137,7 @@ public static function findBySourceAndQuantity($sourceQueue, $numberOfMsgs, $opt $options = array_merge( array( - 'column' => array("$t.sourceQueue=$sourceQueue", "$t.dateSent=''", "$t.error!=1"), + 'column' => array("$t.sourceQueue=$sourceQueue", "$t.dateSent=''", "$t.error!=1", "($t.dateDelay IS NULL OR $t.dateDelay<=UNIX_TIMESTAMP())"), 'order' => "$t.dateAdded", 'limit' => $numberOfMsgs ), diff --git a/library/NotificationCenter/Queue/QueueManager.php b/library/NotificationCenter/Queue/QueueManager.php index 82ccb31c..b3cf7ced 100644 --- a/library/NotificationCenter/Queue/QueueManager.php +++ b/library/NotificationCenter/Queue/QueueManager.php @@ -11,6 +11,12 @@ namespace NotificationCenter\Queue; +use Contao\Files; +use Contao\Folder; +use NotificationCenter\Gateway\GatewayInterface; +use NotificationCenter\MessageDraft\EmailMessageDraft; +use NotificationCenter\MessageDraft\MessageDraftFactoryInterface; +use NotificationCenter\Model\Gateway; use NotificationCenter\Model\Message; use NotificationCenter\Model\QueuedMessage; @@ -39,10 +45,24 @@ public function addMessage(Message $message, $tokens, $language) $objQueuedMessage->sourceQueue = $gateway->id; $objQueuedMessage->targetGateway = $gateway->queue_targetGateway; $objQueuedMessage->dateAdded = time(); + + // Add the delay date + if ($gateway->queue_delay && ($dateDelay = strtotime($gateway->queue_delay, $objQueuedMessage->dateAdded)) !== false) { + $objQueuedMessage->dateDelay = $dateDelay; + } + $objQueuedMessage->setTokens($tokens); $objQueuedMessage->language = $language; $objQueuedMessage->save(); + // Store the files in temporary folder + if (($targetGatewayModel = Gateway::findByPk($gateway->queue_targetGateway)) !== null + && isset($GLOBALS['NOTIFICATION_CENTER']['GATEWAY'][$targetGatewayModel->type]) + ) { + $targetGateway = $GLOBALS['NOTIFICATION_CENTER']['GATEWAY'][$targetGatewayModel->type]; + $this->storeFiles(new $targetGateway($targetGatewayModel), $objQueuedMessage, $message, $language); + } + return $this; } @@ -87,9 +107,87 @@ public function sendFromQueue($sourceQueue, $numberOfMsgs) $msg->dateSent = time(); } + // Remove the temporary message files + $this->removeMessageFiles($msg->id); + $msg->save(); } return $this; } + + /** + * Remove the message files + * + * @param int $messageId + */ + public function removeMessageFiles($messageId) + { + $folder = $this->getTemporaryFolderPath($messageId); + + if (is_dir(TL_ROOT . '/' . $folder)) { + Files::getInstance()->rrdir($folder); + } + } + + /** + * Store files in the temporary folder + * + * @param GatewayInterface $gateway + * @param QueuedMessage $queuedMessage + * @param Message $message + * @param string $language + */ + protected function storeFiles(GatewayInterface $gateway, QueuedMessage $queuedMessage, Message $message, $language) + { + if (!($gateway instanceof MessageDraftFactoryInterface)) { + return; + } + + $draft = $gateway->createDraft($message, $queuedMessage->getTokens(), $language); + + // Return if the draft is not an e-mail draft + if (!($draft instanceof EmailMessageDraft)) { + return; + } + + $attachments = $draft->getAttachments(); + + // Return if there are no attachments + if (count($attachments) === 0) { + return; + } + + $folder = new Folder($this->getTemporaryFolderPath($queuedMessage->id)); + + // Copy the attachments to the temporary folder + foreach ($attachments as $index => $originalPath) { + $originalPath = str_replace(TL_ROOT . '/', '', $originalPath); + $clonePath = $folder->path . '/' . basename($originalPath); + + // Update the tokens if copy was successful + if (Files::getInstance()->copy($originalPath, $clonePath)) { + $attachments[$index] = TL_ROOT . '/' . $clonePath; + } + } + + $queuedMessage->setAttachments($attachments); + $queuedMessage->save(); + } + + /** + * Get the temporary folder path + * + * @param int $messageId + * + * @return string + */ + protected function getTemporaryFolderPath($messageId) + { + if (version_compare(VERSION, '4.4', '>=')) { + return 'var/notification_center/' . $messageId; + } + + return 'system/notification_center_tmp/' . $messageId; + } } diff --git a/modules/ModuleNewsletterActivateNotificationCenter.php b/modules/ModuleNewsletterActivateNotificationCenter.php new file mode 100644 index 00000000..ea7c32a2 --- /dev/null +++ b/modules/ModuleNewsletterActivateNotificationCenter.php @@ -0,0 +1,130 @@ + + * @license LGPL + */ + +namespace Contao; + +use NotificationCenter\Model\Notification; + +class ModuleNewsletterActivateNotificationCenter extends Module +{ + use NewsletterModuleTrait; + + protected $strTemplate = 'mod_newsletter'; + + /** + * Display a wildcard in the back end + * + * @return string + */ + public function generate() + { + if (TL_MODE == 'BE') { + $objTemplate = new \BackendTemplate('be_wildcard'); + $objTemplate->wildcard = '### ' . strtoupper($GLOBALS['TL_LANG']['FMD']['newsletterActivateNotificationCenter'][0]) . ' ###'; + $objTemplate->title = $this->headline; + $objTemplate->id = $this->id; + $objTemplate->link = $this->name; + $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; + + return $objTemplate->parse(); + } + + $this->nl_channels = deserialize($this->nl_channels); + + // Return if there are no channels + if (empty($this->nl_channels) || !\is_array($this->nl_channels)) { + return ''; + } + + if (!\Input::get('token')) { + return ''; + } + + return parent::generate(); + } + + protected function compile() + { + $this->activateRecipient(); + } + + /** + * Activate a recipient + */ + protected function activateRecipient() + { + // Check the token + $objRecipient = \NewsletterRecipientsModel::findByToken(\Input::get('token')); + + if ($objRecipient === null) { + $this->Template->mclass = 'error'; + $this->Template->message = $GLOBALS['TL_LANG']['ERR']['invalidToken']; + + return; + } + + $time = time(); + $arrAdd = array(); + $arrCids = array(); + + // Update the subscriptions + while ($objRecipient->next()) { + /** @var NewsletterChannelModel $objChannel */ + $objChannel = $objRecipient->getRelated('pid'); + + $arrAdd[] = $objRecipient->id; + $arrCids[] = $objChannel->id; + + $objRecipient->active = 1; + $objRecipient->token = ''; + $objRecipient->pid = $objChannel->id; + $objRecipient->confirmed = $time; + $objRecipient->save(); + } + + // HOOK: post activation callback + if (isset($GLOBALS['TL_HOOKS']['activateRecipient']) && \is_array($GLOBALS['TL_HOOKS']['activateRecipient'])) { + foreach ($GLOBALS['TL_HOOKS']['activateRecipient'] as $callback) { + $this->import($callback[0]); + $this->{$callback[0]}->{$callback[1]}($objRecipient->email, $arrAdd, $arrCids); + } + } + + $this->sendNotification($objRecipient->email, $arrCids); + $this->redirectToJumpToPage(); + + // Confirm activation + $this->Template->mclass = 'confirm'; + $this->Template->message = $GLOBALS['TL_LANG']['MSC']['nl_activate']; + } + + protected function sendNotification($strEmail, array $arrCids) + { + $objNotification = Notification::findByPk($this->nc_notification); + if (!$objNotification) { + return; + } + + $objChannel = \NewsletterChannelModel::findByIds($arrCids); + $arrChannels = $objChannel ? $objChannel->fetchEach('title') : []; + + // Prepare the simple token data + $arrData = array(); + $arrData['recipient_email'] = $strEmail; + $arrData['domain'] = \Idna::decode(\Environment::get('host')); + $arrData['channels'] = implode(', ', $arrChannels); + $arrData['channel_ids'] = implode(', ', $arrCids); + $arrData['admin_email'] = $GLOBALS['TL_ADMIN_EMAIL']; + $arrData['admin_name'] = $GLOBALS['TL_ADMIN_NAME']; + $arrData['subject'] = sprintf($GLOBALS['TL_LANG']['MSC']['nl_subject'], \Idna::decode(\Environment::get('host'))); + + $objNotification->send($arrData); + } +} diff --git a/modules/ModuleNewsletterSubscribeNotificationCenter.php b/modules/ModuleNewsletterSubscribeNotificationCenter.php new file mode 100644 index 00000000..3d349e67 --- /dev/null +++ b/modules/ModuleNewsletterSubscribeNotificationCenter.php @@ -0,0 +1,228 @@ + + * @license LGPL + */ + +namespace Contao; + +use NotificationCenter\Model\Notification; + +class ModuleNewsletterSubscribeNotificationCenter extends ModuleSubscribe +{ + use NewsletterModuleTrait; + + /** + * Generate the module + */ + protected function compile() + { + $this->setCustomTemplate(); + + $objCaptchaWidget = $this->createCaptchaWidgetIfEnabled(); + + $strFormId = 'tl_subscribe_' . $this->id; + + $this->processForm($strFormId, $objCaptchaWidget, 'addNewsletterRecipient'); + $this->compileConfirmationMessage(); + + $this->Template->email = ''; + $this->Template->captcha = $objCaptchaWidget ? $objCaptchaWidget->parse() : ''; + $this->Template->channels = $this->compileChannels(); + $this->Template->showChannels = !$this->nl_hideChannels; + $this->Template->submit = specialchars($GLOBALS['TL_LANG']['MSC']['subscribe']); + $this->Template->channelsLabel = $GLOBALS['TL_LANG']['MSC']['nl_channels']; + $this->Template->emailLabel = $GLOBALS['TL_LANG']['MSC']['emailAddress']; + $this->Template->action = \Environment::get('indexFreeRequest'); + $this->Template->formId = $strFormId; + $this->Template->id = $this->id; + $this->Template->text = $this->nl_text; + } + + /** + * Validate the subscription form + * + * @param Widget $objWidget + * + * @return array|bool + */ + protected function validateForm(Widget $objWidget = null) + { + // Validate the e-mail address + $varInput = \Idna::encodeEmail(\Input::post('email', true)); + + if (!\Validator::isEmail($varInput)) { + $this->Template->mclass = 'error'; + $this->Template->message = $GLOBALS['TL_LANG']['ERR']['email']; + + return false; + } + + $this->Template->email = $varInput; + + // Validate the channel selection + $arrChannels = \Input::post('channels'); + + if (!\is_array($arrChannels)) { + $this->Template->mclass = 'error'; + $this->Template->message = $GLOBALS['TL_LANG']['ERR']['noChannels']; + + return false; + } + + $arrChannels = array_intersect($arrChannels, $this->nl_channels); // see #3240 + + if (empty($arrChannels) || !\is_array($arrChannels)) { + $this->Template->mclass = 'error'; + $this->Template->message = $GLOBALS['TL_LANG']['ERR']['noChannels']; + + return false; + } + + $this->Template->selectedChannels = $arrChannels; + + // Check if there are any new subscriptions + $arrSubscriptions = array(); + + if (($objSubscription = \NewsletterRecipientsModel::findBy(array("email=? AND active=1"), $varInput)) !== null) { + $arrSubscriptions = $objSubscription->fetchEach('pid'); + } + + $arrNew = array_diff($arrChannels, $arrSubscriptions); + + if (empty($arrNew) || !\is_array($arrNew)) { + $this->Template->mclass = 'error'; + $this->Template->message = $GLOBALS['TL_LANG']['ERR']['subscribed']; + + return false; + } + + // Validate the captcha + if ($objWidget !== null) { + $objWidget->validate(); + + if ($objWidget->hasErrors()) { + return false; + } + } + + return array($varInput, $arrNew); + } + + /** + * Add a new recipient + * + * @param string $strEmail + * @param array $arrNew + */ + protected function addNewsletterRecipient($strEmail, $arrNew) + { + // Remove old subscriptions that have not been activated yet + if (($objOld = \NewsletterRecipientsModel::findOldSubscriptionsByEmailAndPids($strEmail, $arrNew)) !== null) { + while ($objOld->next()) { + $objOld->delete(); + } + } + + $time = time(); + $strToken = md5(uniqid(mt_rand(), true)); + + // Add the new subscriptions + foreach ($arrNew as $id) { + $objRecipient = new \NewsletterRecipientsModel(); + $objRecipient->pid = $id; + $objRecipient->tstamp = $time; + $objRecipient->email = $strEmail; + $objRecipient->active = ''; + $objRecipient->addedOn = $time; + $objRecipient->ip = \Environment::get('ip'); + $objRecipient->token = $strToken; + $objRecipient->confirmed = ''; + $objRecipient->save(); + + // Remove the blacklist entry (see #4999) + if (version_compare(VERSION, '4.1', '>=') + && ($objBlacklist = \NewsletterBlacklistModel::findByHashAndPid(md5($strEmail), $id)) !== null + ) { + $objBlacklist->delete(); + } + } + + $this->sendNotification($strToken, $strEmail, $arrNew); + $this->redirectToJumpToPage(); + + if (version_compare(VERSION, '4.1', '>=')) { + \System::getContainer() + ->get('session') + ->getFlashBag() + ->set('nl_confirm', $GLOBALS['TL_LANG']['MSC']['nl_confirm']) + ; + } else { + $_SESSION['SUBSCRIBE_CONFIRM'] = $GLOBALS['TL_LANG']['MSC']['nl_confirm']; + } + + $this->reload(); + } + + protected function compileConfirmationMessage() + { + if (version_compare(VERSION, '4.1', '>=')) { + $session = \System::getContainer()->get('session'); + $flashBag = $session->getFlashBag(); + + if ($session->isStarted() && $flashBag->has('nl_confirm')) { + $arrMessages = $flashBag->get('nl_confirm'); + + $this->Template->mclass = 'confirm'; + $this->Template->message = $arrMessages[0]; + } + + return; + } + + // Error message + if (strlen($_SESSION['SUBSCRIBE_ERROR'])) { + $this->Template->mclass = 'error'; + $this->Template->message = $_SESSION['SUBSCRIBE_ERROR']; + $this->Template->hasError = true; + $_SESSION['SUBSCRIBE_ERROR'] = ''; + } + + // Confirmation message + if (strlen($_SESSION['SUBSCRIBE_CONFIRM'])) { + $this->Template->mclass = 'confirm'; + $this->Template->message = $_SESSION['SUBSCRIBE_CONFIRM']; + $this->Template->hasError = false; + $_SESSION['SUBSCRIBE_CONFIRM'] = ''; + } + } + + protected function sendNotification($strToken, $strEmail, array $arrNew) + { + $objNotification = Notification::findByPk($this->nc_notification); + if (!$objNotification) { + return; + } + + $objChannel = \NewsletterChannelModel::findByIds($arrNew); + $arrChannels = $objChannel ? $objChannel->fetchEach('title') : []; + + // Prepare the simple token data + $arrData = array(); + $arrData['recipient_email'] = $strEmail; + $arrData['token'] = $strToken; + $arrData['domain'] = \Idna::decode(\Environment::get('host')); + $arrData['link'] = \Idna::decode(\Environment::get('base')) . \Environment::get('request') . ((strpos(\Environment::get('request'), '?') !== false) ? '&' : '?') . 'token=' . $strToken; + $arrData['channels'] = implode(', ', $arrChannels); + $arrData['channel_ids'] = implode(', ', $arrNew); + $arrData['admin_email'] = $GLOBALS['TL_ADMIN_EMAIL']; + $arrData['admin_name'] = $GLOBALS['TL_ADMIN_NAME']; + $arrData['subject'] = sprintf($GLOBALS['TL_LANG']['MSC']['nl_subject'], \Idna::decode(\Environment::get('host'))); + + $objNotification->send($arrData); + } +} diff --git a/modules/ModuleNewsletterUnsubscribeNotificationCenter.php b/modules/ModuleNewsletterUnsubscribeNotificationCenter.php new file mode 100644 index 00000000..c0979c79 --- /dev/null +++ b/modules/ModuleNewsletterUnsubscribeNotificationCenter.php @@ -0,0 +1,228 @@ + + * @license LGPL + */ + +namespace Contao; + +use NotificationCenter\Model\Notification; + +class ModuleNewsletterUnsubscribeNotificationCenter extends ModuleUnsubscribe +{ + use NewsletterModuleTrait; + + /** + * Generate the module + */ + protected function compile() + { + $this->setCustomTemplate(); + + $objCaptchaWidget = $this->createCaptchaWidgetIfEnabled(); + $strFormId = 'tl_unsubscribe_' . $this->id; + + $this->processForm($strFormId, $objCaptchaWidget, 'removeNewsletterRecipient'); + $this->compileConfirmationMessage(); + + // Default template variables + $this->Template->captcha = $objCaptchaWidget ? $objCaptchaWidget->parse() : ''; + $this->Template->channels = $this->compileChannels(); + $this->Template->showChannels = !$this->nl_hideChannels; + $this->Template->email = \Input::get('email'); + $this->Template->submit = specialchars($GLOBALS['TL_LANG']['MSC']['unsubscribe']); + $this->Template->channelsLabel = $GLOBALS['TL_LANG']['MSC']['nl_channels']; + $this->Template->emailLabel = $GLOBALS['TL_LANG']['MSC']['emailAddress']; + $this->Template->action = \Environment::get('indexFreeRequest'); + $this->Template->formId = $strFormId; + $this->Template->id = $this->id; + } + + /** + * Validate the subscription form + * + * @param Widget $objWidget + * + * @return array|bool + */ + protected function validateForm(Widget $objWidget = null) + { + // Validate the e-mail address + $varInput = \Idna::encodeEmail(\Input::post('email', true)); + + if (!\Validator::isEmail($varInput)) { + $this->Template->mclass = 'error'; + $this->Template->message = $GLOBALS['TL_LANG']['ERR']['email']; + + return false; + } + + $this->Template->email = $varInput; + + // Validate the channel selection + $arrChannels = \Input::post('channels'); + + if (!\is_array($arrChannels)) { + $this->Template->mclass = 'error'; + $this->Template->message = $GLOBALS['TL_LANG']['ERR']['noChannels']; + + return false; + } + + $arrChannels = array_intersect($arrChannels, $this->nl_channels); // see #3240 + + if (empty($arrChannels) || !\is_array($arrChannels)) { + $this->Template->mclass = 'error'; + $this->Template->message = $GLOBALS['TL_LANG']['ERR']['noChannels']; + + return false; + } + + $this->Template->selectedChannels = $arrChannels; + + // Check if there are any new subscriptions + $arrSubscriptions = array(); + + if (($objSubscription = \NewsletterRecipientsModel::findBy( + array("email=? AND active=1"), + $varInput + )) !== null) { + $arrSubscriptions = $objSubscription->fetchEach('pid'); + } + + $arrRemove = array_intersect($arrChannels, $arrSubscriptions); + + if (empty($arrRemove) || !\is_array($arrRemove)) { + $this->Template->mclass = 'error'; + $this->Template->message = $GLOBALS['TL_LANG']['ERR']['unsubscribed']; + + return false; + } + + // Validate the captcha + if ($objWidget !== null) { + $objWidget->validate(); + + if ($objWidget->hasErrors()) { + return false; + } + } + + return array( + $varInput, + $arrRemove, + ); + } + + /** + * Remove the recipient + * + * @param string $strEmail + * @param array $arrRemove + */ + protected function removeNewsletterRecipient($strEmail, $arrRemove) + { + // Remove the subscriptions + if (($objRemove = \NewsletterRecipientsModel::findByEmailAndPids($strEmail, $arrRemove)) !== null) { + while ($objRemove->next()) { + $strHash = md5($objRemove->email); + + // Add a blacklist entry (see #4999) + if (version_compare(VERSION, '4.1', '>=') + && $objBlacklist = (\NewsletterBlacklistModel::findByHashAndPid($strHash, $objRemove->pid)) === null + ) { + $objBlacklist = new \NewsletterBlacklistModel(); + $objBlacklist->pid = $objRemove->pid; + $objBlacklist->hash = $strHash; + $objBlacklist->save(); + } + + $objRemove->delete(); + } + } + + // HOOK: post unsubscribe callback + if (isset($GLOBALS['TL_HOOKS']['removeRecipient']) && \is_array($GLOBALS['TL_HOOKS']['removeRecipient'])) { + foreach ($GLOBALS['TL_HOOKS']['removeRecipient'] as $callback) { + $this->import($callback[0]); + $this->{$callback[0]}->{$callback[1]}($strEmail, $arrRemove); + } + } + + $this->sendNotification($strEmail, $arrRemove); + $this->redirectToJumpToPage(); + + if (version_compare(VERSION, '4.1', '>=')) { + \System::getContainer() + ->get('session') + ->getFlashBag() + ->set('nl_removed', $GLOBALS['TL_LANG']['MSC']['nl_removed']) + ; + } else { + $_SESSION['UNSUBSCRIBE_CONFIRM'] = $GLOBALS['TL_LANG']['MSC']['nl_removed']; + } + + $this->reload(); + } + + protected function compileConfirmationMessage() + { + if (version_compare(VERSION, '4.1', '>=')) { + $session = \System::getContainer()->get('session'); + $flashBag = $session->getFlashBag(); + + // Confirmation message + if ($session->isStarted() && $flashBag->has('nl_removed')) { + $arrMessages = $flashBag->get('nl_removed'); + + $this->Template->mclass = 'confirm'; + $this->Template->message = $arrMessages[0]; + } + + return; + } + + // Error message + if (strlen($_SESSION['UNSUBSCRIBE_ERROR'])) { + $this->Template->mclass = 'error'; + $this->Template->message = $_SESSION['UNSUBSCRIBE_ERROR']; + $_SESSION['UNSUBSCRIBE_ERROR'] = ''; + } + + // Confirmation message + if (strlen($_SESSION['UNSUBSCRIBE_CONFIRM'])) { + $this->Template->mclass = 'confirm'; + $this->Template->message = $_SESSION['UNSUBSCRIBE_CONFIRM']; + $_SESSION['UNSUBSCRIBE_CONFIRM'] = ''; + } + } + + protected function sendNotification($strEmail, array $arrRemove) + { + $objNotification = Notification::findByPk($this->nc_notification); + if (!$objNotification) { + return; + } + + // Get the channels + $objChannels = \NewsletterChannelModel::findByIds($arrRemove); + $arrChannels = $objChannels ? $objChannels->fetchEach('title') : []; + + // Prepare the simple token data + $arrData = array(); + $arrData['recipient_email'] = $strEmail; + $arrData['domain'] = \Idna::decode(\Environment::get('host')); + $arrData['channels'] = implode(', ', $arrChannels); + $arrData['channel_ids'] = implode(', ', $arrRemove); + $arrData['admin_email'] = $GLOBALS['TL_ADMIN_EMAIL']; + $arrData['admin_name'] = $GLOBALS['TL_ADMIN_NAME']; + $arrData['subject'] = sprintf($GLOBALS['TL_LANG']['MSC']['nl_subject'], \Idna::decode(\Environment::get('host'))); + $arrData['text'] = $this->nl_unsubscribe; + + $objNotification->send($arrData); + } +} diff --git a/modules/NewsletterModuleTrait.php b/modules/NewsletterModuleTrait.php new file mode 100644 index 00000000..2e436ac5 --- /dev/null +++ b/modules/NewsletterModuleTrait.php @@ -0,0 +1,88 @@ + + * @license LGPL + */ + +namespace Contao; + + +trait NewsletterModuleTrait +{ + protected function setCustomTemplate() + { + if ($this->nl_template) { + $this->Template = new \FrontendTemplate($this->nl_template); + $this->Template->setData($this->arrData); + } + } + + /** + * @return Widget|null + */ + protected function createCaptchaWidgetIfEnabled() + { + if (version_compare(VERSION, '4.1', '<') || $this->disableCaptcha) + { + return null; + } + + $arrField = [ + 'name' => 'subscribe_' . $this->id, + 'label' => $GLOBALS['TL_LANG']['MSC']['securityQuestion'], + 'inputType' => 'captcha', + 'eval' => ['mandatory' => true] + ]; + + return new \FormCaptcha(\FormCaptcha::getAttributesFromDca($arrField, $arrField['name'])); + } + + /** + * @param $strFormId + * @param $objCaptchaWidget + * @param $strCallback + */ + protected function processForm($strFormId, $objCaptchaWidget, $strCallback) + { + if (\Input::post('FORM_SUBMIT') == $strFormId) + { + $varSubmitted = $this->validateForm($objCaptchaWidget); + + if ($varSubmitted !== false) + { + \call_user_func_array([$this, $strCallback], $varSubmitted); + } + } + } + + protected function compileChannels() + { + $arrChannels = array(); + $objChannel = \NewsletterChannelModel::findByIds($this->nl_channels); + + // Get the titles + if ($objChannel !== null) + { + while ($objChannel->next()) + { + $arrChannels[$objChannel->id] = $objChannel->title; + } + } + + return $arrChannels; + } + + protected function redirectToJumpToPage() + { + // Redirect to the jumpTo page + if ($this->jumpTo && ($objTarget = $this->objModel->getRelated('jumpTo')) instanceof PageModel) + { + /** @var PageModel $objTarget */ + $this->redirect($objTarget->getFrontendUrl()); + } + } +}