<?php

return [
    'title' => [
        'massMailer'    => 'MASS MAILER',
        'qrBills'       => 'QR BILLS',
        'pdfMail'       => 'PDF MAIL',
        'htmlMail'      => 'HTML MAIL',
    ],    
    'readme' => [
        'hint1'         => 'If you are unsure about some settings, consult the ',
        'hintLink'      => 'README',
        'hint2'         => '.',
    ],
    'profile' => [
        'selection' => [
            'title'      => 'Current profile:',
            'submit'     => 'Change',
        ],
        'creation' => [
            'title'      => 'New profile:',
            'submit'     => 'Create',
        ],
        'deletion' => [
            'title'      => 'Profile to delete:',
            'submit'     => 'Delete',
        ],
    ],
    'choice' => [
        'title'         => 'Choose use case:',
        'qrBill'        => 'QR bill PDF with payment slip',
        'pdfMail'       => 'PDF without payment slip',
        'htmlMail'      => 'HTML mail without PDF',
    ],
    'cfg' => [
        'title'         => '1. Configure settings',
        'hint'          => 'These configuration settings are also in place when you upload the input files.<br />Therefore, first set the configuration and then upload the input files!',
        'currency' => [
            'title'     => 'Currency',
            'CHF'       => 'CHF',
            'EUR'       => 'EUR',
        ],
        'printAmount' => [
            'title'         => 'Print amount',
            'no'            => 'No',
            'individual'    => 'Individual amount of recipient',
            'global'        => 'Amount (between 0.00 and 500.00):',
        ],
        'paymentSlip' => [
            'printUltimateDebtor' => [
                'title'     => "Print 'Ultimate Debtor'",
                'no'        => ' no',
                'yes'       => ' yes',
            ],
            'appendReference' => [
                'title'     => "Append reference to 'Additional Information'",
                'no'        => ' no',
                'yes'       => ' yes',
            ],
        ],
        'mail' => [
            'sendMail' => [
                'title'     => 'Send e-mail',
                'no'        => ' no',
                'yes'       => ' yes',
            ],
            'testMail' => [
                'title'     => 'Test e-mail ',
                'info'      => 'Predefine an e-mail address for test runnings (see 3. Execute)',
            ],
            'sleepAfterSend' => [
                'title'     => 'Sleep after sent ',
                'info'      => 'Time to wait after an e-mail has been sent. Depends on mail server. In tenths of seconds.',
                'range'     => '(between 1 and 20, in tenths of seconds):',
            ],
        ],
        'defaultLanguage' => [
            'title'     => 'Default language ',
            'info'      => 'Select a default language for the mass mailing. For recipient languages in Recipients.csv which are not present in the uploaded input files, the default language is used.',
            'de'        => 'German',
            'en'        => 'English',
            'fr'        => 'French',
            'it'        => 'Italian',
        ],
        'multiLanguageSupport' => [
            'title'     => 'Multi-language support',
            'no'        => ' no',
            'yes'       => ' yes',
            'additionalLanguages' => [
                'title' => 'Additional language(s)',
                'info'  => 'Select additional languages for the mass mailing which are present in Recipients.csv. For each selected language you have to provide a separate language file (see 2. Upload input files).',
                'de'    => 'German',
                'en'    => 'English',
                'fr'    => 'French',
                'it'    => 'Italian',
                
            ],
        ],
        'submit'    => 'Save configuration',
    ],
    'upload' => [
        'title'         => '2. Upload input files',
        'hint1'         => 'Refer to ',
        'hintLink'      => 'README_File_Formats',
        'hint2'         => ' to learn about the format of each of the input files.',
        'success'       => 'The file has been successfully uploaded.',
        'failed'        => 'FILE HAS NOT BEEN UPLOADED!',
        'deleteAll'     => [
            'title'     => 'Delete all input files',
            'hint'      => 'Before you upload a new set of input files, you should delete the old input files, otherwise you may get unexpected results.',
            'submit'    => 'Delete files',
            'success'   => 'Input files successfully deleted or no files to delete.',
            'failed'    => 'The deletion of a file has failed and the whole process was aborted.',
        ],
        'pdf' => [
            'title'     => 'Data for PDF creation',
            'data' => [
                'title'     => 'PdfData.json',
                'submit'    => 'Upload',
            ],
            'positions' => [
                'title'     => 'PdfPositions.json',
                'submit'    => 'Upload',
            ],
            'template' => [
                'title'     => 'PdfTemplate.pdf',
                'submit'    => 'Upload',
                'de' => [
                    'title'     => 'PdfTemplate_de.pdf',
                    'submit'    => 'Upload',
                ],
                'fr' => [
                    'title'     => 'PdfTemplate_fr.pdf',
                    'submit'    => 'Upload',
                ],
                'it' => [
                    'title'     => 'PdfTemplate_it.pdf',
                    'submit'    => 'Upload',
                ],
                'en' => [
                    'title'     => 'PdfTemplate_en.pdf',
                    'submit'    => 'Upload',
                ],
            ],
        ],
        'paymentSlip' => [
            'title'        => 'Data for payment slip',
            'credInfo' => [
                'title'    => 'CreditorInformation.json',
                'submit'   => 'Upload',
            ],
            'addInfo' => [
                'title'    => 'AdditionalInformation.json',
                'submit'   => 'Upload',
                'info'     => 'This file is optional.',
            ],
        ],
        'mail' => [
            'title'        => 'Data for e-mail',
            'data' => [
                'title'    => 'MailData.json',
                'info'     => "The fields 'subject' and 'attachmentName' should not contain umlauts, as this is not properly supported by e-mail clients.",
                'submit'   => 'Upload',
            ],
            'body' => [
                'title'    => 'MailBody.html',
                'submit'   => 'Upload',
                'de' => [
                    'title'     => 'MailBody_de.html',
                    'submit'    => 'Upload',
                ],
                'fr' => [
                    'title'     => 'MailBody_fr.html',
                    'submit'    => 'Upload',
                ],
                'it' => [
                    'title'     => 'MailBody_it.html',
                    'submit'    => 'Upload',
                ],
                'en' => [
                    'title'     => 'MailBody_en.html',
                    'submit'    => 'Upload',
                ],
            ],
        ],
        'recipient' => [
            'title'        => 'Recipients',
            'recipients' => [
                'title'     => 'Recipients.csv',
                'submit'    => 'Upload',
            ],
        ],
    ],
    'execution' => [
        'title'       => '3. Execute',
        'hint'        => "During the execution, you will see the current state in the section 'Status' below.",
        'dryRun' => [
            'title'     => 'Dry run ',
            'info'      => "'Dry run' will create all the PDFs in memory and setup the e-mail, so every possible action (including validation of the prepared data by 3rd party libraries) is done, but will not write the created PDFs into files on disk and will not send the prepared e-mails. During a 'dry run', the input files are additionally checked whether they contain text in every language some recipient has. In such a case a warning is printed, but the 'dry run' is not stopped.",
            'hint'      => 'Test creating PDFs and setting up e-mails',
            'submit'    => 'Dry run',
            'start'     => '*** Dry run *** (no PDFs stored, no e-mails sent)',
        ],
        'testRun' => [
            'title'       => "Test run ",
            'info'        => "A 'test run' starts the processing with a recipient list that has only one example entry. The predefined e-mail address is dynamically inserted into the only entry of the special recipient list. Therefore, the processing will send only one mail to the this e-mail address. <br /> You can overwrite the predefined e-mail address by another e-mail. <br /> <strong>Attention:</strong> If you enter a formally valid, but non-existing e-mail address, the mail server cannot deliver the mail and sends an error report to the e-mail address defined by the field 'fromAddress' in the input file 'MailData.json'.",
            'hint'        => "Send a test mail to predefined e-mail address: ",
            'submit'      => "Test run",
            'mailAddress' => "Test run to email address: ",
        ],
        'execute' => [
            'title'     => 'Execute process ',
            'info'      => "<strong>Attention:</strong> Depending on the configuration 'Sleep after send' and the number of recipients, you have too wait a quite long time until the processing has finished. <br /> Example: 'Sleep after send' is one second and you have 150 recipients. <br /> In this case you have to wait at least 150 seconds (two and a half minutes) until the final result ('<em>Congratulations</em>') is shown. <strong>Be patient!</strong>",
            'hint'      => "To be 100% sure that all the PDF files are created as expected, you may want to process an execution with configuration 'Send e-mail' = 'no'. After creating the QR bills, you can check the created PDF files if they look right.",
            'submit'    => 'Execute',
        ],
        'status'                    => 'Status',
        'start'                     => "Number of recipients to process: ",
        'success'                   => "<strong>CONGRATULATIONS</strong>: All recipients successfully processed!",
        'pdfCreatingSuppressed'     => "Creating PDF suppressed by global flag 'createPdf'.",
        'pdfCreated1'               => "PDF for ",
        'pdfCreated2'               => " created",
        'pdfWritingSuppressed'      => "Writing PDF suppressed because of option 'dry run'.",
        'sendMailSuppressed'        => "Preparing and sending mail suppressed by global flag 'sendMail'.",
        'sendMailAddressEmpty'      => "Preparing and sending mail suppressed as e-mail address is empty.",
        'sendMailSuccess'           => "Mail has been sent successfully to: ",
        'sendMailSendSuppressed'    => "Sending mail suppressed because of option 'dry run'.",
        'protocolDownloadLink1'     => "Download <a href=\"",
        'protocolDownloadLink2'     => "\" download>protocol file</a>.",        
        'zipDownloadLink1'          => "Download <a href=\"",
        'zipDownloadLink2'          => "\">ZIP archive</a>.",
        'languageCheckStart1'       => "Checking language of ",
        'languageCheckStart2'       => " recipients",
        'languageCheckWarn1'        => "Warning: Recipient '",
        'languageCheckWarn2'        => "' has language '",
        'languageCheckWarn3'        => "' and the following input data does not contain values for this language:",
    ],
    'exception' => [
        'unexpectedError1'          => "<strong>UNEXPECTED ERROR: ",
        'unexpectedError2'          => "</strong>",
        'invalidArgument'           => "Invalid argument",
        'additionalInformation' => [
            'surroundingKeyDoesNotExist'    => "Surrounding Key 'AdditionalInformation' does not exist",
        ],
        'creditorInformation' => [
            'surroundingKeyDoesNotExist'    => "Surrounding Key 'CreditorInformation' does not exist",
            'nameDoesNotExist'              => "Key 'name' for name of 'CreditorInformation' does not exist",
            'addressLine1DoesNotExist'      => "Key 'addressLine1' for adress line 1 of 'CreditorInformation' does not exist",
            'addressLine2DoesNotExist'      => "Key 'addressLine2' for adress line 2 of 'CreditorInformation' does not exist",
            'countryDoesNotExist'           => "Key 'country' for country of 'CreditorInformation' does not exist",
            'ibanDoesNotExist'              => "Key 'iban' for IBAN of 'CreditorInformation' does not exist",
            'ibanCountryInvalidForQrBill'   => "Invalid QR bill IBAN (position 1..2 are not 'CH' or 'LI')",
            'ibanNotNumeric'                => "Invalid QR bill IBAN (position 5..9 not numeric)",
            'ibanNotQrIban'                 => "Invalid QR bill IBAN (position 5..9 not in range 30000..31999)",
            'besrIdNotNumeric'              => "Invalid QR bill BESR-ID (not numeric)",
            'besrIdTooShort'                => "Invalid QR bill BESR-ID (less than 6 digits)",
            'besrIdTooLong'                 => "Invalid QR bill BESR-ID (more than 8 digits)",
        ],
        'files' => [
            'missingInputFileForLanguage'   => "Missing input file for some language",
            'errorDecodingJsonFile'         => "Error decoding JSON file",
            'errorEncodingJsonFile'         => "Error encoding JSON file",
            'unableToOpenFile'              => "Unable to open file",
            'unableToReadFile'              => "Unable to read file",
            'unableToWriteFile'             => "Unable to write file",
            'unableToFlushFile'             => "Unable to flush file",
            'unableToCloseFile'             => "Unable to close file",
            'unableToDeleteFile'            => "Unable to delete file",
            'unableToDeletePath'            => "Unable to delete path",
            'fileDoesNotExist'              => "File does not exist",
        ],
        'lock' => [
            'unableToAcquireLock'           => "Profile is in use by other user: "
        ],
        'mail' => [
            'mailDataNotProvided'           => "mailData not provided",
            'unableToAttachPdf'             => "Unable to attach PDF",
            'unableToSendMail'              => "Unable to send mail",
        ],
        'mailData' => [
            'surroundingKeyDoesNotExist'    => "Surrounding Key 'MailData' does not exist",
            'fromAddressDoesNotExist'       => "Key 'fromAddress' for e-mail from address of 'mail data' does not exist",
            'fromAddressInvalid'            => "Invalid fromAddress",
            'fromNameDoesNotExist'          => "Key 'fromName' for e-mail from name of 'mail data' does not exist",
            'subjectDoesNotExist'           => "Key 'subject' for e-mail subject of 'mail data' does not exist",
            'attachmentNameDoesNotExist'    => "Key 'attachmentName' for e-mail attachment name of 'mail data' does not exist",
        ],
        'multiLanguageText' => [
            'languageDoesNotExist'          => "Key 'language' does not exist",
            'textDoesNotExist'              => "Key 'text' does not exist",
            'defaultLanguageMissing'        => "Language 'default' is missing in given texts",
            'additionalLanguageMissing'     => "Additional language is missing in given texts",
        ],
        'pdfData' => [
            'pdfTemplateDoesNotExist'       => "PDF template does not exist",
            'pdfTemplateLangDoesNotExist'   => "PDF template does not exist for some language",
            'surroundingKeyDoesNotExist'    => "PdfData.json does not contain the surrounding Key 'PdfData'",
            'defaultEntryDoesNotExist'      => "PdfData.json does not contain an entry with name 'default'",
            'keyNameDoesNotExist'           => "Key 'name' does not exist",
            'keyPositionDoesNotExist'       => "Key 'position' does not exist",
            'keyTextAttributeDoesNotExist'  => "Key 'textAttribute' does not exist",
        ],
        'pdfPositions' => [
            'surroundingKeyDoesNotExist'        => "Surrounding Key 'PdfPositions' does not exist",
            'defaultTextAttributeDoesNotExist'  => "Key 'defaultTextAttribute' does not exist",
        ],
        'position' => [
            'pageNotNumeric'                => "Invalid page (not numeric)",
            'posXDoesNotExist'              => "Key 'posX' does not exist",
            'posXNotNumeric'                => "Invalid X position (not numeric)",
            'posYDoesNotExist'              => "Key 'posY' does not exist",
            'posYNotNumeric'                => "Invalid Y position (not numeric)",
        ],
        'process' => [
            'nothingToDo'                   => "Nothing to do: createPdf and sendMail are both false!",
            'testEmailAddressNotProvided'   => "testEmailAddress not provided for TestRun",
            'pdfDataNotProvided'            => "pdfData not provided",
            'creditorInfoNotProvided'       => "creditorInfo not provided",
        ],
        'profile' => [
            'selectFailed'                  => "Select of profile failed, the profile does not exist.",
            'createFailed'                  => "Create of profile failed, the profile already exists.",
            'deleteFailed'                  => "Delete of profile failed, the profile is the default profile.",
        ],
        'recipient' => [
            'headerDoesNotExist'            => "Missing header column: ",
            'notEnoughElements'             => "Not enough elements",
            'firstNameDoesNotExist'         => "Missing column 'firstName'",
            'lastNameDoesNotExist'          => "Missing column 'lastName'",
            'streetDoesNotExist'            => "Missing column 'street'",
            'buildingNoDoesNotExist'        => "Missing column 'buildingNo'",
            'postalCodeDoesNotExist'        => "Missing column 'postalCode'",
            'cityDoesNotExist'              => "Missing column 'city'",
            'countryDoesNotExist'           => "Missing column 'country'",
            'languageDoesNotExist'          => "Missing column 'language'",
            'mailAddressDoesNotExist'       => "Missing column 'mailAddress'",
            'mailAddressInvalid'            => "Invalid mail address",
            'referenceDoesNotExist'         => "Reference is missing",
            'referenceNotNumeric'           => "Invalid reference (not numeric)",
            'amountDoesNotExist'            => "Amount is missing",
            'amountNotNumeric'              => "Invalid amount (not numeric)",
            'amountLessThanZero'            => "Invalid amount (< 0)",
        ],
        'storage' => [
            'createDirectoryFailed'         => "Failed to create output directory",
            'openZipFailed'                 => "Open of ZIP archive failed",
            'addingFileToZipFailed'         => "Adding a file to the ZIP archive failed",
            'closeZipFailed'                => "Closing of ZIP archive failed",
        ],
        'textAttribute' => [
            'textColorDoesNotExist'         => "Key 'textColor' does not exist",
            'textColorNotNumeric'           => "Invalid text color (not numeric)",
            'lineHeightDoesNotExist'        => "Key 'lineHeight' does not exist",
            'lineHeightNotNumeric'          => "Invalid line height (not numeric)",
            'fontFamilyDoesNotExist'        => "Key 'fontFamily' does not exist",
            'fontStyleDoesNotExist'         => "Key 'fontStyle' does not exist",
            'fontStyleInvalid'              => "Invalid font style (not one of '', 'B', 'I' or 'U')",
            'fontSizeDoesNotExist'          => "Key 'fontSize' does not exist",
            'fontSizeNotNumeric'            => "Invalid font size (not numeric)",
        ],
        'upload' => [
            'invalidUploadFile'             => "Invalid upload file",
            'unableToCreatePath'            => "Unable to create input path",
            'errorMovingFile'               => "There was an error saving the file",
            'fileTooLarge'                  => "File is too large (> 5'000'000 bytes)",
            'onlyJpegFilesAllowed'          => "Only files with the extension .JPG or .JPEG are allowed",
            'onlyJsonFilesAllowed'          => "Only files with the extension .JSON are allowed",
            'onlyHtmlFilesAllowed'          => "Only files with the extension .HTM or .HTML are allowed",
            'onlyCsvFilesAllowed'           => "Only files with the extension .CSV are allowed",
            'onlyPdfFilesAllowed'           => "Only files with the extension .PDF are allowed",
        ],
    ]
];

?>
