diff --git a/fetchmail_from_imap_folder/README.rst b/fetchmail_from_imap_folder/README.rst new file mode 100644 index 000000000..bc161e144 --- /dev/null +++ b/fetchmail_from_imap_folder/README.rst @@ -0,0 +1,151 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +======================= +Email gateway - folders +======================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:6b1b3b898180928b195027fc3ce46158e8409c987d40d1ecb2cd6cca648c75f9 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fmail-lightgray.png?logo=github + :target: https://github.com/OCA/mail/tree/19.0/fetchmail_from_imap_folder + :alt: OCA/mail +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/mail-19-0/mail-19-0-fetchmail_from_imap_folder + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/mail&target_branch=19.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Adds the possibility to attach emails from a certain IMAP folder to +objects, ie partners. Matching is done via several algorithms, ie email +address, email address's domain or the original Odoo algorithm. + +This gives a simple possibility to archive emails in Odoo without a mail +client integration. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +In your fetchmail configuration, you'll find a new list field +``Folders to monitor``. Add your folders here in IMAP notation (usually +something like ``INBOX.your_folder_name.your_subfolder_name``), choose a +model to attach mails to and a matching algorithm to use. + +Exact mailaddress +----------------- + +Fill in a field to search for the email address in ``Field (model)``. +For partners, this would be ``email``. Also fill in the header field +from the email to look at in ``Field (email)``. If you want to match +incoming mails from your customers, this would be ``from``. You can also +list header fields, so to match partners receiving this email, you might +fill in ``to,cc,bcc``. + +Domain of email addresses +------------------------- + +Match the domain of the email address(es) found in ``Field (email)``. +This would attach a mail to ``test1@example.com`` to a record with +``Field (model)`` set to ``test2@example.com``. Given that this is a +fuzzy match, you probably want to check ``Use 1st match``, because +otherwise nothing happens if multiple possible matches are found. + +Odoo standard +------------- + +This is stricly speaking no matching algorithm, but calls the model's +standard action on new incoming mail, which is usually creating a new +record. + +Usage +===== + +A widespread configuration is to have a shared mailbox with several +folders, i.e. one where users drop mails they want to attach to +partners. Let this folder be called ``From partners``. Then create a +folder configuration for your server with path ``"INBOX.From partners"`` +(note the quotes because of the space, this is server dependent). Choose +model ``Partners``, set ``Field (model)`` to ``email`` and +``Field (email)`` to ``from``. In ``Domain``, you could fill in +``[('customer', '=', True)]`` to be sure to only match customer records. + +Now when your users drop mails into this folder, they will be fetched by +Odoo and attached to the partner in question. After some testing, you +might want to check ``Delete matches`` in your folder configuration so +that this folder doesn't grow indefinitely. + +Another way to prevent having to process ever more messages from the +folder to read is to automatically move all processed messages to an +archive folder that can be specified. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Therp BV +* Open Eye Development + +Contributors +------------ + +- Holger Brunn hbrunn@therp.nl +- Ronald Portier ronald@openeyedev.eu +- Alexandre Fayolle alexandre.fayolle@camptocamp.com + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-NL66278| image:: https://github.com/NL66278.png?size=40px + :target: https://github.com/NL66278 + :alt: NL66278 + +Current `maintainer `__: + +|maintainer-NL66278| + +This module is part of the `OCA/mail `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/fetchmail_from_imap_folder/__init__.py b/fetchmail_from_imap_folder/__init__.py new file mode 100644 index 000000000..0e2e5e0e5 --- /dev/null +++ b/fetchmail_from_imap_folder/__init__.py @@ -0,0 +1,5 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import match_algorithm +from . import models +from . import wizard diff --git a/fetchmail_from_imap_folder/__manifest__.py b/fetchmail_from_imap_folder/__manifest__.py new file mode 100644 index 000000000..95c99ea06 --- /dev/null +++ b/fetchmail_from_imap_folder/__manifest__.py @@ -0,0 +1,21 @@ +# Copyright - 2013-2026 Therp BV . +# Copyright - 2026 Open Eye Development . +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +{ + "name": "Email gateway - folders", + "summary": "Attach mails in an IMAP folder to existing objects", + "version": "19.0.1.0.0", + "author": "Therp BV,Open Eye Development,Odoo Community Association (OCA)", + "maintainers": ["NL66278"], + "website": "https://github.com/OCA/mail", + "license": "AGPL-3", + "category": "Tools", + "depends": ["mail"], + "data": [ + "views/fetchmail_server.xml", + "wizard/attach_mail_manually.xml", + "security/ir.model.access.csv", + ], + "installable": True, + "auto_install": False, +} diff --git a/fetchmail_from_imap_folder/i18n/de.po b/fetchmail_from_imap_folder/i18n/de.po new file mode 100644 index 000000000..8e9d434c2 --- /dev/null +++ b/fetchmail_from_imap_folder/i18n/de.po @@ -0,0 +1,525 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_attach_from_folder +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: mail (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-09-29 11:14+0000\n" +"PO-Revision-Date: 2015-09-18 13:55+0000\n" +"Last-Translator: <>\n" +"Language-Team: German (http://www.transifex.com/oca/OCA-mail-8-0/" +"language/de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "Action" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__active +msgid "Active" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "Archive Path" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/wizard/attach_mail_manually.py:0 +msgid "Attach emails manually" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Attach mail manually" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually +msgid "Attach mail to selected documents." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually_mail +msgid "Attach single mail to selected documents." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_available +msgid "Available folders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__body +msgid "Body" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "" +"By default all undeleted emails are searched. Checking this field adds the " +"unread condition." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Cancel" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "" +"Check this field to leave imap inbox alone and only retrieve mail from " +"configured folders." +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Confirm connection first." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__done +msgid "Confirmed" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not create archive folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "" +"Could not fetch %(message_uid)s in folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not open folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not search folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "Create a New Record" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_uid +msgid "Created by" +msgstr "Erstellt von" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_date +msgid "Created on" +msgstr "Erstellt am:" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__date +msgid "Date" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server_folder +msgid "Define folders (IMAP mailboxes) from which to fetch mail." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matched emails from server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matches" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__display_name +msgid "Display Name" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Domain" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_domain +msgid "Domain of email address" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__mail_ids +msgid "Emails" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_exact +msgid "Exact mailadress" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "Fetch Unseen Only" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Fetch folder now" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "Field (email)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "Field (model)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "" +"Field(s) to order by, this mostly useful in conjunction with 'Use 1st match'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Fill in a search filter to narrow down objects to match" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag Nonmatching" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag emails in the server that don't match any object in Odoo" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__folder_id +msgid "Folder" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folder_ids +msgid "Folders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders available on server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders to monitor" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__email_from +msgid "From" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__id +msgid "ID" +msgstr "ID" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "INBOX.subfolder1" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "" +"If there are multiple matches, use the first one. If not checked, multiple " +"matches count as no match at all" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server +msgid "Incoming Mail Server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Invalid folder %s!" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_uid +msgid "Last Updated by" +msgstr "Zuletzt aktualisiert von" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_date +msgid "Last Updated on" +msgstr "Zuletzt aktualisiert am" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "Match Algorithm" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__message_uid +msgid "Message id" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "Message state" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "Model" +msgstr "Modell" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__name +msgid "Name" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__draft +msgid "Not Confirmed" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__object_id +msgid "Object" +msgstr "Objekt" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__odoo_standard +msgid "Odoo standard" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "Only folders, not inbox" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "" +"Optional custom server action to trigger for each incoming mail, on the " +"record that was created or updated by this mail" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "Order (model)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "Path" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "" +"Process each incoming mail as part of a conversation corresponding to this " +"document type. This will create new documents for new conversations, or " +"attach follow-up emails to the existing conversations (documents)." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__received +msgid "Received" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Reset Confirmation" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Save" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__sent +msgid "Sent" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__sequence +msgid "Sequence" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__server_id +msgid "Server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__server_type +msgid "Server Type" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__x_server_type_env_default +msgid "Server Type Env Default" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__smart_search +msgid "Smart Search" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__state +msgid "Status" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__subject +msgid "Subject" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Test & Confirm" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "The algorithm used to determine which object an email matches." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "" +"The field in the email used for matching. Typically this is 'to' or 'from'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "" +"The field in your model that contains the field to match against.\n" +"Examples:\n" +"'email' if your model is res.partner, or 'partner_id.email' if you're " +"matching sale orders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "The model to attach emails to" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "" +"The path to your mail folder. Typically would be something like " +"'INBOX.myfolder'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "The path where successfully retrieved messages will be stored." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "The state messages fetched from this folder should be assigned in Odoo" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Unable to retrieve folders." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "Use 1st match" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__wizard_id +msgid "Wizard" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "[('state', '=', 'open')]" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "email" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "name asc" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "or" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "to,from" +msgstr "" + +#, fuzzy +#~ msgid "Last Modified on" +#~ msgstr "Zuletzt aktualisiert am" diff --git a/fetchmail_from_imap_folder/i18n/es.po b/fetchmail_from_imap_folder/i18n/es.po new file mode 100644 index 000000000..fde78308c --- /dev/null +++ b/fetchmail_from_imap_folder/i18n/es.po @@ -0,0 +1,525 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_attach_from_folder +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: mail (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-09-29 11:14+0000\n" +"PO-Revision-Date: 2015-09-18 13:55+0000\n" +"Last-Translator: <>\n" +"Language-Team: Spanish (http://www.transifex.com/oca/OCA-mail-8-0/" +"language/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "Action" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__active +msgid "Active" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "Archive Path" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/wizard/attach_mail_manually.py:0 +msgid "Attach emails manually" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Attach mail manually" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually +msgid "Attach mail to selected documents." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually_mail +msgid "Attach single mail to selected documents." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_available +msgid "Available folders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__body +msgid "Body" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "" +"By default all undeleted emails are searched. Checking this field adds the " +"unread condition." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Cancel" +msgstr "Cancelar" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "" +"Check this field to leave imap inbox alone and only retrieve mail from " +"configured folders." +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Confirm connection first." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__done +msgid "Confirmed" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not create archive folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "" +"Could not fetch %(message_uid)s in folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not open folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not search folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "Create a New Record" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__date +msgid "Date" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server_folder +msgid "Define folders (IMAP mailboxes) from which to fetch mail." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matched emails from server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matches" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__display_name +msgid "Display Name" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Domain" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_domain +msgid "Domain of email address" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__mail_ids +msgid "Emails" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_exact +msgid "Exact mailadress" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "Fetch Unseen Only" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Fetch folder now" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "Field (email)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "Field (model)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "" +"Field(s) to order by, this mostly useful in conjunction with 'Use 1st match'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Fill in a search filter to narrow down objects to match" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag Nonmatching" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag emails in the server that don't match any object in Odoo" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__folder_id +msgid "Folder" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folder_ids +msgid "Folders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders available on server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders to monitor" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__email_from +msgid "From" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__id +msgid "ID" +msgstr "ID" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "INBOX.subfolder1" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "" +"If there are multiple matches, use the first one. If not checked, multiple " +"matches count as no match at all" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server +msgid "Incoming Mail Server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Invalid folder %s!" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_uid +msgid "Last Updated by" +msgstr "Última actualización de" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "Match Algorithm" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__message_uid +msgid "Message id" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "Message state" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "Model" +msgstr "Modelo" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__name +msgid "Name" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__draft +msgid "Not Confirmed" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__object_id +msgid "Object" +msgstr "Objeto" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__odoo_standard +msgid "Odoo standard" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "Only folders, not inbox" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "" +"Optional custom server action to trigger for each incoming mail, on the " +"record that was created or updated by this mail" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "Order (model)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "Path" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "" +"Process each incoming mail as part of a conversation corresponding to this " +"document type. This will create new documents for new conversations, or " +"attach follow-up emails to the existing conversations (documents)." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__received +msgid "Received" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Reset Confirmation" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Save" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__sent +msgid "Sent" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__sequence +msgid "Sequence" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__server_id +msgid "Server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__server_type +msgid "Server Type" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__x_server_type_env_default +msgid "Server Type Env Default" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__smart_search +msgid "Smart Search" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__state +msgid "Status" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__subject +msgid "Subject" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Test & Confirm" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "The algorithm used to determine which object an email matches." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "" +"The field in the email used for matching. Typically this is 'to' or 'from'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "" +"The field in your model that contains the field to match against.\n" +"Examples:\n" +"'email' if your model is res.partner, or 'partner_id.email' if you're " +"matching sale orders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "The model to attach emails to" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "" +"The path to your mail folder. Typically would be something like " +"'INBOX.myfolder'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "The path where successfully retrieved messages will be stored." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "The state messages fetched from this folder should be assigned in Odoo" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Unable to retrieve folders." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "Use 1st match" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__wizard_id +msgid "Wizard" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "[('state', '=', 'open')]" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "email" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "name asc" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "or" +msgstr "o" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "to,from" +msgstr "" + +#, fuzzy +#~ msgid "Last Modified on" +#~ msgstr "Última actualización en" diff --git a/fetchmail_from_imap_folder/i18n/fetchmail_from_imap_folder.pot b/fetchmail_from_imap_folder/i18n/fetchmail_from_imap_folder.pot new file mode 100644 index 000000000..878fbd2c4 --- /dev/null +++ b/fetchmail_from_imap_folder/i18n/fetchmail_from_imap_folder.pot @@ -0,0 +1,515 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_attach_from_folder +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "Action" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__active +msgid "Active" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "Archive Path" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/wizard/attach_mail_manually.py:0 +msgid "Attach emails manually" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Attach mail manually" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually +msgid "Attach mail to selected documents." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually_mail +msgid "Attach single mail to selected documents." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_available +msgid "Available folders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__body +msgid "Body" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "" +"By default all undeleted emails are searched. Checking this field adds the " +"unread condition." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Cancel" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "" +"Check this field to leave imap inbox alone and only retrieve mail from " +"configured folders." +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Confirm connection first." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__done +msgid "Confirmed" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not create archive folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "" +"Could not fetch %(message_uid)s in folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not open folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not search folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "Create a New Record" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_uid +msgid "Created by" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_date +msgid "Created on" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__date +msgid "Date" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server_folder +msgid "Define folders (IMAP mailboxes) from which to fetch mail." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matched emails from server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matches" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__display_name +msgid "Display Name" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Domain" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_domain +msgid "Domain of email address" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__mail_ids +msgid "Emails" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_exact +msgid "Exact mailadress" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "Fetch Unseen Only" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Fetch folder now" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "Field (email)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "Field (model)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "" +"Field(s) to order by, this mostly useful in conjunction with 'Use 1st match'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Fill in a search filter to narrow down objects to match" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag Nonmatching" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag emails in the server that don't match any object in Odoo" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__folder_id +msgid "Folder" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folder_ids +msgid "Folders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders available on server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders to monitor" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__email_from +msgid "From" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__id +msgid "ID" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "INBOX.subfolder1" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "" +"If there are multiple matches, use the first one. If not checked, multiple " +"matches count as no match at all" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server +msgid "Incoming Mail Server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Invalid folder %s!" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_date +msgid "Last Updated on" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "Match Algorithm" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__message_uid +msgid "Message id" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "Message state" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "Model" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__name +msgid "Name" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__draft +msgid "Not Confirmed" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__object_id +msgid "Object" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__odoo_standard +msgid "Odoo standard" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "Only folders, not inbox" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "" +"Optional custom server action to trigger for each incoming mail, on the " +"record that was created or updated by this mail" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "Order (model)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "Path" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "" +"Process each incoming mail as part of a conversation corresponding to this " +"document type. This will create new documents for new conversations, or " +"attach follow-up emails to the existing conversations (documents)." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__received +msgid "Received" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Reset Confirmation" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Save" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__sent +msgid "Sent" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__sequence +msgid "Sequence" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__server_id +msgid "Server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__server_type +msgid "Server Type" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__x_server_type_env_default +msgid "Server Type Env Default" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__smart_search +msgid "Smart Search" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__state +msgid "Status" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__subject +msgid "Subject" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Test & Confirm" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "The algorithm used to determine which object an email matches." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "" +"The field in the email used for matching. Typically this is 'to' or 'from'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "" +"The field in your model that contains the field to match against.\n" +"Examples:\n" +"'email' if your model is res.partner, or 'partner_id.email' if you're matching sale orders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "The model to attach emails to" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "" +"The path to your mail folder. Typically would be something like " +"'INBOX.myfolder'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "The path where successfully retrieved messages will be stored." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "The state messages fetched from this folder should be assigned in Odoo" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Unable to retrieve folders." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "Use 1st match" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__wizard_id +msgid "Wizard" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "[('state', '=', 'open')]" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "email" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "name asc" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "or" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "to,from" +msgstr "" diff --git a/fetchmail_from_imap_folder/i18n/fr.po b/fetchmail_from_imap_folder/i18n/fr.po new file mode 100644 index 000000000..bea809274 --- /dev/null +++ b/fetchmail_from_imap_folder/i18n/fr.po @@ -0,0 +1,525 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_attach_from_folder +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: mail (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-09-29 11:14+0000\n" +"PO-Revision-Date: 2015-09-18 13:55+0000\n" +"Last-Translator: <>\n" +"Language-Team: French (http://www.transifex.com/oca/OCA-mail-8-0/" +"language/fr/)\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "Action" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__active +msgid "Active" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "Archive Path" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/wizard/attach_mail_manually.py:0 +msgid "Attach emails manually" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Attach mail manually" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually +msgid "Attach mail to selected documents." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually_mail +msgid "Attach single mail to selected documents." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_available +msgid "Available folders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__body +msgid "Body" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "" +"By default all undeleted emails are searched. Checking this field adds the " +"unread condition." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Cancel" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "" +"Check this field to leave imap inbox alone and only retrieve mail from " +"configured folders." +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Confirm connection first." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__done +msgid "Confirmed" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not create archive folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "" +"Could not fetch %(message_uid)s in folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not open folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not search folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "Create a New Record" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_date +msgid "Created on" +msgstr "Date" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__date +msgid "Date" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server_folder +msgid "Define folders (IMAP mailboxes) from which to fetch mail." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matched emails from server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matches" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__display_name +msgid "Display Name" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Domain" +msgstr "Domaine" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_domain +msgid "Domain of email address" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__mail_ids +msgid "Emails" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_exact +msgid "Exact mailadress" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "Fetch Unseen Only" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Fetch folder now" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "Field (email)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "Field (model)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "" +"Field(s) to order by, this mostly useful in conjunction with 'Use 1st match'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Fill in a search filter to narrow down objects to match" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag Nonmatching" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag emails in the server that don't match any object in Odoo" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__folder_id +msgid "Folder" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folder_ids +msgid "Folders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders available on server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders to monitor" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__email_from +msgid "From" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__id +msgid "ID" +msgstr "ID" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "INBOX.subfolder1" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "" +"If there are multiple matches, use the first one. If not checked, multiple " +"matches count as no match at all" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server +msgid "Incoming Mail Server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Invalid folder %s!" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "Match Algorithm" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__message_uid +msgid "Message id" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "Message state" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "Model" +msgstr "Modèle" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__name +msgid "Name" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__draft +msgid "Not Confirmed" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__object_id +msgid "Object" +msgstr "Objet" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__odoo_standard +msgid "Odoo standard" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "Only folders, not inbox" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "" +"Optional custom server action to trigger for each incoming mail, on the " +"record that was created or updated by this mail" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "Order (model)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "Path" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "" +"Process each incoming mail as part of a conversation corresponding to this " +"document type. This will create new documents for new conversations, or " +"attach follow-up emails to the existing conversations (documents)." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__received +msgid "Received" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Reset Confirmation" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Save" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__sent +msgid "Sent" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__sequence +msgid "Sequence" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__server_id +msgid "Server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__server_type +msgid "Server Type" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__x_server_type_env_default +msgid "Server Type Env Default" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__smart_search +msgid "Smart Search" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__state +msgid "Status" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__subject +msgid "Subject" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Test & Confirm" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "The algorithm used to determine which object an email matches." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "" +"The field in the email used for matching. Typically this is 'to' or 'from'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "" +"The field in your model that contains the field to match against.\n" +"Examples:\n" +"'email' if your model is res.partner, or 'partner_id.email' if you're " +"matching sale orders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "The model to attach emails to" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "" +"The path to your mail folder. Typically would be something like " +"'INBOX.myfolder'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "The path where successfully retrieved messages will be stored." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "The state messages fetched from this folder should be assigned in Odoo" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Unable to retrieve folders." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "Use 1st match" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__wizard_id +msgid "Wizard" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "[('state', '=', 'open')]" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "email" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "name asc" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "or" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "to,from" +msgstr "" + +#, fuzzy +#~ msgid "Last Modified on" +#~ msgstr "Dernière mise à jour le" diff --git a/fetchmail_from_imap_folder/i18n/fr_CA.po b/fetchmail_from_imap_folder/i18n/fr_CA.po new file mode 100644 index 000000000..2fd97420a --- /dev/null +++ b/fetchmail_from_imap_folder/i18n/fr_CA.po @@ -0,0 +1,521 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_attach_from_folder +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: mail (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-09-29 11:14+0000\n" +"PO-Revision-Date: 2015-09-18 13:55+0000\n" +"Last-Translator: <>\n" +"Language-Team: French (Canada) (http://www.transifex.com/oca/OCA-server-" +"tools-8-0/language/fr_CA/)\n" +"Language: fr_CA\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "Action" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__active +msgid "Active" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "Archive Path" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/wizard/attach_mail_manually.py:0 +msgid "Attach emails manually" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Attach mail manually" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually +msgid "Attach mail to selected documents." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually_mail +msgid "Attach single mail to selected documents." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_available +msgid "Available folders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__body +msgid "Body" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "" +"By default all undeleted emails are searched. Checking this field adds the " +"unread condition." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Cancel" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "" +"Check this field to leave imap inbox alone and only retrieve mail from " +"configured folders." +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Confirm connection first." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__done +msgid "Confirmed" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not create archive folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "" +"Could not fetch %(message_uid)s in folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not open folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not search folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "Create a New Record" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_uid +msgid "Created by" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_date +msgid "Created on" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__date +msgid "Date" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server_folder +msgid "Define folders (IMAP mailboxes) from which to fetch mail." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matched emails from server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matches" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__display_name +msgid "Display Name" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Domain" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_domain +msgid "Domain of email address" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__mail_ids +msgid "Emails" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_exact +msgid "Exact mailadress" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "Fetch Unseen Only" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Fetch folder now" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "Field (email)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "Field (model)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "" +"Field(s) to order by, this mostly useful in conjunction with 'Use 1st match'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Fill in a search filter to narrow down objects to match" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag Nonmatching" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag emails in the server that don't match any object in Odoo" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__folder_id +msgid "Folder" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folder_ids +msgid "Folders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders available on server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders to monitor" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__email_from +msgid "From" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__id +msgid "ID" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "INBOX.subfolder1" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "" +"If there are multiple matches, use the first one. If not checked, multiple " +"matches count as no match at all" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server +msgid "Incoming Mail Server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Invalid folder %s!" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_date +msgid "Last Updated on" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "Match Algorithm" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__message_uid +msgid "Message id" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "Message state" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "Model" +msgstr "Modèle" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__name +msgid "Name" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__draft +msgid "Not Confirmed" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__object_id +msgid "Object" +msgstr "Objet" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__odoo_standard +msgid "Odoo standard" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "Only folders, not inbox" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "" +"Optional custom server action to trigger for each incoming mail, on the " +"record that was created or updated by this mail" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "Order (model)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "Path" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "" +"Process each incoming mail as part of a conversation corresponding to this " +"document type. This will create new documents for new conversations, or " +"attach follow-up emails to the existing conversations (documents)." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__received +msgid "Received" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Reset Confirmation" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Save" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__sent +msgid "Sent" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__sequence +msgid "Sequence" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__server_id +msgid "Server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__server_type +msgid "Server Type" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__x_server_type_env_default +msgid "Server Type Env Default" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__smart_search +msgid "Smart Search" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__state +msgid "Status" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__subject +msgid "Subject" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Test & Confirm" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "The algorithm used to determine which object an email matches." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "" +"The field in the email used for matching. Typically this is 'to' or 'from'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "" +"The field in your model that contains the field to match against.\n" +"Examples:\n" +"'email' if your model is res.partner, or 'partner_id.email' if you're " +"matching sale orders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "The model to attach emails to" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "" +"The path to your mail folder. Typically would be something like " +"'INBOX.myfolder'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "The path where successfully retrieved messages will be stored." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "The state messages fetched from this folder should be assigned in Odoo" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Unable to retrieve folders." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "Use 1st match" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__wizard_id +msgid "Wizard" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "[('state', '=', 'open')]" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "email" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "name asc" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "or" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "to,from" +msgstr "" diff --git a/fetchmail_from_imap_folder/i18n/it.po b/fetchmail_from_imap_folder/i18n/it.po new file mode 100644 index 000000000..6a26d07a0 --- /dev/null +++ b/fetchmail_from_imap_folder/i18n/it.po @@ -0,0 +1,588 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_attach_from_folder +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: mail (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-09-29 11:14+0000\n" +"PO-Revision-Date: 2026-01-29 12:09+0000\n" +"Last-Translator: mymage \n" +"Language-Team: Italian (http://www.transifex.com/oca/OCA-mail-8-0/" +"language/it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.15.2\n" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "Action" +msgstr "Azione" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__active +msgid "Active" +msgstr "Attivo" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "Archive Path" +msgstr "Archivia percorso" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "Allegati assegnati" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/wizard/attach_mail_manually.py:0 +msgid "Attach emails manually" +msgstr "Allega e-mail manualmente" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Attach mail manually" +msgstr "Allega e-mail manualmente" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually +msgid "Attach mail to selected documents." +msgstr "Allega e-mail ai documenti selezionati." + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually_mail +msgid "Attach single mail to selected documents." +msgstr "Allega e-mail singola ai documenti selezionati." + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_available +msgid "Available folders" +msgstr "Cartelle disponibili" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__body +msgid "Body" +msgstr "Corpo" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "" +"By default all undeleted emails are searched. Checking this field adds the " +"unread condition." +msgstr "" +"Vengono cercate in modo predefinito tutte le e-mail non cancellate. " +"Selezionando questo campo aggiunge la condizione non lette." + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Cancel" +msgstr "Annulla" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "" +"Check this field to leave imap inbox alone and only retrieve mail from " +"configured folders." +msgstr "" +"Selezionare questo campo per lasciare da sola la cartella in ingresso IMAP e " +"ricevere e-mail solo dalle cartelle configurate." + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Confirm connection first." +msgstr "Prima confermare la connessione." + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__done +msgid "Confirmed" +msgstr "Confermata" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not create archive folder %(folder)s on server %(server)s" +msgstr "Impossibile creare la cartella %(folder)s nel server %(server)s" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "" +"Could not fetch %(message_uid)s in folder %(folder)s on server %(server)s" +msgstr "" +"Impossibile recuperare %(message_uid)s nella cartella %(folder)s nel server %" +"(server)s" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not open folder %(folder)s on server %(server)s" +msgstr "Impossibile aprire la cartella %(folder)s nel server %(server)s" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not search folder %(folder)s on server %(server)s" +msgstr "Impossibile cercare la cartella %(folder)s nel server %(server)s" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "Create a New Record" +msgstr "Crea un nuovo record" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__date +msgid "Date" +msgstr "Data" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server_folder +msgid "Define folders (IMAP mailboxes) from which to fetch mail." +msgstr "" +"Definire le cartelle (cassette posta IMAP) dalle quali ricevere e-mail." + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matched emails from server" +msgstr "Elimina le email corrispondenti dal server" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matches" +msgstr "Cancella corrispondenti" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Domain" +msgstr "Dominio" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_domain +msgid "Domain of email address" +msgstr "Dominio degli indirizzi e-mail" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__mail_ids +msgid "Emails" +msgstr "E-mail" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_exact +msgid "Exact mailadress" +msgstr "Indirizzo e-mail esatto" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "Fetch Unseen Only" +msgstr "Recupera solo non lette" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Fetch folder now" +msgstr "Recupera cartella adesso" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "Field (email)" +msgstr "Campo (email)" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "Field (model)" +msgstr "Campo (modello)" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "" +"Field(s) to order by, this mostly useful in conjunction with 'Use 1st match'" +msgstr "" +"Campo(i) di ordinamento, principalmente utilizzato insieme a 'Utilizza la " +"prima corrispondenza'" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Fill in a search filter to narrow down objects to match" +msgstr "" +"Compilare un filtro di ricerca per ridurre gli oggetti da far corrispondere" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag Nonmatching" +msgstr "Selezionare non corrispondente" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag emails in the server that don't match any object in Odoo" +msgstr "" +"Seleziona e-mail nel server che non corrispondono a nessun oggetto in Odoo" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__folder_id +msgid "Folder" +msgstr "Cartella" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folder_ids +msgid "Folders" +msgstr "Cartelle" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders available on server" +msgstr "Cartelle disponibili nel server" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders to monitor" +msgstr "Cartelle da monitorare" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__email_from +msgid "From" +msgstr "Da" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__id +msgid "ID" +msgstr "ID" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "INBOX.subfolder1" +msgstr "INBOX.subfolder1" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "" +"If there are multiple matches, use the first one. If not checked, multiple " +"matches count as no match at all" +msgstr "" +"Se ci sono corrispondenze multiple, usare la prima. Se non selezionata, " +"corrispondenze multiple non vengono considerate" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server +msgid "Incoming Mail Server" +msgstr "Server di posta in arrivo" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Invalid folder %s!" +msgstr "Cartella non valida %s!" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "Match Algorithm" +msgstr "Algoritmo di corrispondenza" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__message_uid +msgid "Message id" +msgstr "ID messaggio" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "Message state" +msgstr "Stato del messaggio" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "Model" +msgstr "Modello" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__name +msgid "Name" +msgstr "Nome" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__draft +msgid "Not Confirmed" +msgstr "Non confermato" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__object_id +msgid "Object" +msgstr "Oggetto" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__odoo_standard +msgid "Odoo standard" +msgstr "Standard Odoo" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "Only folders, not inbox" +msgstr "Solo cartelle, non inbox" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "" +"Optional custom server action to trigger for each incoming mail, on the " +"record that was created or updated by this mail" +msgstr "" +"Azione server personalizzata opzionale da attivare per ogni e-mail in " +"arrivo, sul record che è stato creato o aggiornato da questa e-mail" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "Order (model)" +msgstr "Ordine (modello)" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "Path" +msgstr "Percorso" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "" +"Process each incoming mail as part of a conversation corresponding to this " +"document type. This will create new documents for new conversations, or " +"attach follow-up emails to the existing conversations (documents)." +msgstr "" +"Elabora ogni e-mail in arrivo come parte di una conversazione corrispondente " +"a questo tipo di documento. Questo creerà nuovi documenti per nuove " +"conversazioni, o allegherà e-mail di aggiornamento alle conversazioni " +"esistenti (documenti)." + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__received +msgid "Received" +msgstr "Ricevuto" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Reset Confirmation" +msgstr "Conferma reset" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Save" +msgstr "Salva" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__sent +msgid "Sent" +msgstr "Inviato" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__sequence +msgid "Sequence" +msgstr "Sequenza" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__server_id +msgid "Server" +msgstr "Server" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__server_type +msgid "Server Type" +msgstr "Tipo server" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__x_server_type_env_default +msgid "Server Type Env Default" +msgstr "Tipo server ambiente predefinito" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__smart_search +msgid "Smart Search" +msgstr "Ricerca intelligente" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__state +msgid "Status" +msgstr "Stato" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__subject +msgid "Subject" +msgstr "Oggetto" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Test & Confirm" +msgstr "Testa e conferma" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "The algorithm used to determine which object an email matches." +msgstr "" +"L'algoritmo utilizzato per determinare quale oggetto corrisponde all'email." + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "" +"The field in the email used for matching. Typically this is 'to' or 'from'" +msgstr "" +"Il campo nella e-mail utilizzato per la corrispondenza. Normalmente è 'a' o " +"'da'" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "" +"The field in your model that contains the field to match against.\n" +"Examples:\n" +"'email' if your model is res.partner, or 'partner_id.email' if you're " +"matching sale orders" +msgstr "" +"Il campo nel modello che contiene il campo per la corrispondenza.\n" +"Esempi:\n" +"'email' se il modello è res.partner, o 'partner_id.email' se la " +"corrispondenza è con gli ordini di vendita" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "The model to attach emails to" +msgstr "Modello a cui allegare l'email" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "" +"The path to your mail folder. Typically would be something like " +"'INBOX.myfolder'" +msgstr "" +"Percorso alla cartella e-mail. Normalmente è qualcosa del tipo " +"'INBOX.miacartella'" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "The path where successfully retrieved messages will be stored." +msgstr "Il percorso dove vengono salvati i messaggi ricevuti correttamente." + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "The state messages fetched from this folder should be assigned in Odoo" +msgstr "" +"Lo stato dei messaggi estratti da questa cartella che deve essere assegnato " +"in Odoo" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Unable to retrieve folders." +msgstr "Impossibile ottenere le cartelle." + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "Use 1st match" +msgstr "Utilizza la prima corrispondenza" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__wizard_id +msgid "Wizard" +msgstr "Procedura guidata" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "[('state', '=', 'open')]" +msgstr "[('state', '=', 'open')]" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "email" +msgstr "e-mail" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "name asc" +msgstr "nome ascendente" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "or" +msgstr "o" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "to,from" +msgstr "a,da" + +#~ msgid "Changeset Changes" +#~ msgstr "Modifiche dell'insieme di modifiche" + +#~ msgid "Changesets" +#~ msgstr "Insiemi di modifiche" + +#, python-format +#~ msgid "Could not fetch %(msgid)s in folder %(folder)s on server %(server)s" +#~ msgstr "" +#~ "Impossibile recuperare %(msgid)s nella cartella %(folder)s nel server " +#~ "%(server)s" + +#~ msgid "Count Changesets" +#~ msgstr "Conta insiemi di modifiche" + +#~ msgid "Count Pending Changeset Changes" +#~ msgstr "Conteggio modifiche dell'insieme di modifiche in attesa" + +#~ msgid "Count Pending Changesets" +#~ msgstr "Conteggio insieme di modifiche in attesa" + +#~ msgid "Last Modified on" +#~ msgstr "Ultima modifica il" + +#~ msgid "The number of pending changes of this record" +#~ msgstr "Numero di modifiche di questo record in attesa" + +#~ msgid "The number of pending changesets of this record" +#~ msgstr "Numero di insiemi di modifiche in attesa di questo record" + +#~ msgid "The overall number of changesets of this record" +#~ msgstr "Numero totale di insiemi di modifiche di questo record" + +#~ msgid "User Can See Changeset" +#~ msgstr "L'utente può vedere l'insieme delle modifiche" diff --git a/fetchmail_from_imap_folder/i18n/pt_BR.po b/fetchmail_from_imap_folder/i18n/pt_BR.po new file mode 100644 index 000000000..d2e398625 --- /dev/null +++ b/fetchmail_from_imap_folder/i18n/pt_BR.po @@ -0,0 +1,578 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_attach_from_folder +# +# Translators: +# Armando Vulcano Junior , 2015 +msgid "" +msgstr "" +"Project-Id-Version: mail (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-09-29 11:14+0000\n" +"PO-Revision-Date: 2024-05-29 16:35+0000\n" +"Last-Translator: Rodrigo Macedo " +"\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-server-" +"tools-8-0/language/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "Action" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__active +msgid "Active" +msgstr "Ativo" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "Archive Path" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/wizard/attach_mail_manually.py:0 +#, fuzzy +msgid "Attach emails manually" +msgstr "Anexar mail manualmente" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Attach mail manually" +msgstr "Anexar mail manualmente" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually +msgid "Attach mail to selected documents." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually_mail +msgid "Attach single mail to selected documents." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_available +msgid "Available folders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__body +msgid "Body" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "" +"By default all undeleted emails are searched. Checking this field adds the " +"unread condition." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Cancel" +msgstr "Cancelar" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "" +"Check this field to leave imap inbox alone and only retrieve mail from " +"configured folders." +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Confirm connection first." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__done +msgid "Confirmed" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not create archive folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "" +"Could not fetch %(message_uid)s in folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not open folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not search folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "Create a New Record" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__date +msgid "Date" +msgstr "Data" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server_folder +msgid "Define folders (IMAP mailboxes) from which to fetch mail." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matched emails from server" +msgstr "Excluir emails correspondentes do servidor" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matches" +msgstr "Excluir correspondentes" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__display_name +msgid "Display Name" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Domain" +msgstr "Domínio" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_domain +msgid "Domain of email address" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__mail_ids +msgid "Emails" +msgstr "Emails" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_exact +msgid "Exact mailadress" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "Fetch Unseen Only" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Fetch folder now" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "Field (email)" +msgstr "Campo (email)" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "Field (model)" +msgstr "Campo (modelo)" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "" +"Field(s) to order by, this mostly useful in conjunction with 'Use 1st match'" +msgstr "Campo(s) para classificar, muito útil em conjunção com 'Use 1st match'" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Fill in a search filter to narrow down objects to match" +msgstr "Preencha um filtro de pesquisa para diminuir os objetos para combinar" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag Nonmatching" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag emails in the server that don't match any object in Odoo" +msgstr "" +"E-mails assinalados no servidor que não correspondem a qualquer objeto em " +"Odoo" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__folder_id +msgid "Folder" +msgstr "Pasta" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folder_ids +msgid "Folders" +msgstr "Pastas" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders available on server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders to monitor" +msgstr "Pastas para monitorar" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__email_from +msgid "From" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__id +msgid "ID" +msgstr "Identificação" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "INBOX.subfolder1" +msgstr "INBOX.subpasta1" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "" +"If there are multiple matches, use the first one. If not checked, multiple " +"matches count as no match at all" +msgstr "" +"Se há multiplas combinações, use a primeira. Se não verificado, múltiplas " +"combinações contam como nenhuma combinação" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server +msgid "Incoming Mail Server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Invalid folder %s!" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_uid +msgid "Last Updated by" +msgstr "Última atualização por" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_date +msgid "Last Updated on" +msgstr "Última atualização em" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "Match Algorithm" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__message_uid +msgid "Message id" +msgstr "Identificação da mensagem" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "Message state" +msgstr "Estado da mensagem" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "Model" +msgstr "Modelo" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__name +msgid "Name" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__draft +msgid "Not Confirmed" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__object_id +msgid "Object" +msgstr "Objeto" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__odoo_standard +msgid "Odoo standard" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "Only folders, not inbox" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "" +"Optional custom server action to trigger for each incoming mail, on the " +"record that was created or updated by this mail" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "Order (model)" +msgstr "Pedido (modelo)" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "Path" +msgstr "Caminho" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "" +"Process each incoming mail as part of a conversation corresponding to this " +"document type. This will create new documents for new conversations, or " +"attach follow-up emails to the existing conversations (documents)." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__received +msgid "Received" +msgstr "Recebido" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Reset Confirmation" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Save" +msgstr "Salvar" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__sent +msgid "Sent" +msgstr "Enviado" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__sequence +msgid "Sequence" +msgstr "Sequência" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__server_id +msgid "Server" +msgstr "Servidor" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__server_type +msgid "Server Type" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__x_server_type_env_default +msgid "Server Type Env Default" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__smart_search +msgid "Smart Search" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__state +msgid "Status" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__subject +msgid "Subject" +msgstr "Título" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Test & Confirm" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "The algorithm used to determine which object an email matches." +msgstr "O algoritmo usado para determinar qual objeto combina com o email." + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "" +"The field in the email used for matching. Typically this is 'to' or 'from'" +msgstr "O campo no email usado para combinação. Tipicamente é 'to' ou 'from'" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "" +"The field in your model that contains the field to match against.\n" +"Examples:\n" +"'email' if your model is res.partner, or 'partner_id.email' if you're " +"matching sale orders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "The model to attach emails to" +msgstr "O modelo para anexar emails ao" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "" +"The path to your mail folder. Typically would be something like " +"'INBOX.myfolder'" +msgstr "" +"O caminho para sua pasta de mail. Tipicamente seria alguma coisa como " +"'INBOX.myfolder'" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "The path where successfully retrieved messages will be stored." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "The state messages fetched from this folder should be assigned in Odoo" +msgstr "" +"As mensagens de estado trazidas desta pasta devem ser atribuídas no Odoo" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Unable to retrieve folders." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "Use 1st match" +msgstr "Use a 1a combinação" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__wizard_id +msgid "Wizard" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "[('state', '=', 'open')]" +msgstr "[('state', '=', 'open')]" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "email" +msgstr "email" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "name asc" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "or" +msgstr "ou" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "to,from" +msgstr "para,de" + +#~ msgid "Changeset Changes" +#~ msgstr "Mudanças no conjunto de alterações" + +#~ msgid "Changesets" +#~ msgstr "Conjunto de alterações" + +#, fuzzy +#~ msgid "Last Modified on" +#~ msgstr "Última atualização em" + +#~ msgid "The overall number of changesets of this record" +#~ msgstr "O número total de conjuntos de alterações deste registro" + +#~ msgid "Flag nonmatching" +#~ msgstr "Sinal sem correspondente" + +#, python-format +#~ msgid "Mail attachment" +#~ msgstr "Anexo de Email" + +#~ msgid "Match algorithm" +#~ msgstr "Algoritmo correspondente" + +#~ msgid "POP/IMAP Server" +#~ msgstr "Servidor POP/IMAP" + +#~ msgid "Wizard id" +#~ msgstr "Identificação do assistente" + +#, fuzzy +#~ msgid "fetchmail.attach.mail.manually" +#~ msgstr "Anexar mail manualmente" + +#, fuzzy +#~ msgid "fetchmail.attach.mail.manually.mail" +#~ msgstr "Anexar mail manualmente" + +#~ msgid "name asc,type desc" +#~ msgstr "nome asc, tipo desc" + +#~ msgid "Mailbox %s not found!" +#~ msgstr "Caixa de entrada %s não encontrada!" + +#~ msgid "{'required': [('type', '!=', 'imap')]}" +#~ msgstr "{'required': [('type', '!=', 'imap')]}" diff --git a/fetchmail_from_imap_folder/i18n/ru.po b/fetchmail_from_imap_folder/i18n/ru.po new file mode 100644 index 000000000..20f670c5a --- /dev/null +++ b/fetchmail_from_imap_folder/i18n/ru.po @@ -0,0 +1,523 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_attach_from_folder +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: mail (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-09-29 11:14+0000\n" +"PO-Revision-Date: 2015-09-18 13:55+0000\n" +"Last-Translator: <>\n" +"Language-Team: Russian (http://www.transifex.com/oca/OCA-mail-8-0/" +"language/ru/)\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "Action" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__active +msgid "Active" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "Archive Path" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/wizard/attach_mail_manually.py:0 +msgid "Attach emails manually" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Attach mail manually" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually +msgid "Attach mail to selected documents." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually_mail +msgid "Attach single mail to selected documents." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_available +msgid "Available folders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__body +msgid "Body" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "" +"By default all undeleted emails are searched. Checking this field adds the " +"unread condition." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Cancel" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "" +"Check this field to leave imap inbox alone and only retrieve mail from " +"configured folders." +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Confirm connection first." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__done +msgid "Confirmed" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not create archive folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "" +"Could not fetch %(message_uid)s in folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not open folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not search folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "Create a New Record" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_uid +msgid "Created by" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_date +msgid "Created on" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__date +msgid "Date" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server_folder +msgid "Define folders (IMAP mailboxes) from which to fetch mail." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matched emails from server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matches" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__display_name +msgid "Display Name" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Domain" +msgstr "Домен" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_domain +msgid "Domain of email address" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__mail_ids +msgid "Emails" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_exact +msgid "Exact mailadress" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "Fetch Unseen Only" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Fetch folder now" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "Field (email)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "Field (model)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "" +"Field(s) to order by, this mostly useful in conjunction with 'Use 1st match'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Fill in a search filter to narrow down objects to match" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag Nonmatching" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag emails in the server that don't match any object in Odoo" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__folder_id +msgid "Folder" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folder_ids +msgid "Folders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders available on server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders to monitor" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__email_from +msgid "From" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__id +msgid "ID" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "INBOX.subfolder1" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "" +"If there are multiple matches, use the first one. If not checked, multiple " +"matches count as no match at all" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server +msgid "Incoming Mail Server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Invalid folder %s!" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_date +msgid "Last Updated on" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "Match Algorithm" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__message_uid +msgid "Message id" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "Message state" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "Model" +msgstr "Модель" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__name +msgid "Name" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__draft +msgid "Not Confirmed" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__object_id +msgid "Object" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__odoo_standard +msgid "Odoo standard" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "Only folders, not inbox" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "" +"Optional custom server action to trigger for each incoming mail, on the " +"record that was created or updated by this mail" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "Order (model)" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "Path" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "" +"Process each incoming mail as part of a conversation corresponding to this " +"document type. This will create new documents for new conversations, or " +"attach follow-up emails to the existing conversations (documents)." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__received +msgid "Received" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Reset Confirmation" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Save" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__sent +msgid "Sent" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__sequence +msgid "Sequence" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__server_id +msgid "Server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__server_type +msgid "Server Type" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__x_server_type_env_default +msgid "Server Type Env Default" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__smart_search +msgid "Smart Search" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__state +msgid "Status" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__subject +msgid "Subject" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Test & Confirm" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "The algorithm used to determine which object an email matches." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "" +"The field in the email used for matching. Typically this is 'to' or 'from'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "" +"The field in your model that contains the field to match against.\n" +"Examples:\n" +"'email' if your model is res.partner, or 'partner_id.email' if you're " +"matching sale orders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "The model to attach emails to" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "" +"The path to your mail folder. Typically would be something like " +"'INBOX.myfolder'" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "The path where successfully retrieved messages will be stored." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "The state messages fetched from this folder should be assigned in Odoo" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Unable to retrieve folders." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "Use 1st match" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__wizard_id +msgid "Wizard" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "[('state', '=', 'open')]" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "email" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "name asc" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "or" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "to,from" +msgstr "" diff --git a/fetchmail_from_imap_folder/i18n/sl.po b/fetchmail_from_imap_folder/i18n/sl.po new file mode 100644 index 000000000..a3cabc412 --- /dev/null +++ b/fetchmail_from_imap_folder/i18n/sl.po @@ -0,0 +1,574 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fetchmail_attach_from_folder +# +# Translators: +# Matjaž Mozetič , 2015 +msgid "" +msgstr "" +"Project-Id-Version: mail (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-09-29 11:14+0000\n" +"PO-Revision-Date: 2015-09-26 07:28+0000\n" +"Last-Translator: Matjaž Mozetič \n" +"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-mail-8-0/" +"language/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3);\n" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "Action" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__active +msgid "Active" +msgstr "Aktivno" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "Archive Path" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__assigned_attachment_ids +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__assigned_attachment_ids +msgid "Assigned Attachments" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/wizard/attach_mail_manually.py:0 +#, fuzzy +msgid "Attach emails manually" +msgstr "Ročno pripenjanje e-pošte" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Attach mail manually" +msgstr "Ročno pripenjanje e-pošte" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually +msgid "Attach mail to selected documents." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_attach_mail_manually_mail +msgid "Attach single mail to selected documents." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_available +msgid "Available folders" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__body +msgid "Body" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "" +"By default all undeleted emails are searched. Checking this field adds the " +"unread condition." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Cancel" +msgstr "Preklic" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "" +"Check this field to leave imap inbox alone and only retrieve mail from " +"configured folders." +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Confirm connection first." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__done +msgid "Confirmed" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not create archive folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "" +"Could not fetch %(message_uid)s in folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not open folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Could not search folder %(folder)s on server %(server)s" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "Create a New Record" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_uid +msgid "Created by" +msgstr "Ustvaril" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__create_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__create_date +msgid "Created on" +msgstr "Ustvarjeno" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__date +msgid "Date" +msgstr "Datum" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server_folder +msgid "Define folders (IMAP mailboxes) from which to fetch mail." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matched emails from server" +msgstr "Izbris ujemajočih se e-poštnih sporočil iz strežnika" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__delete_matching +msgid "Delete matches" +msgstr "Izbris ujemajočih" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__display_name +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__display_name +msgid "Display Name" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Domain" +msgstr "Domena" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_domain +msgid "Domain of email address" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__mail_ids +msgid "Emails" +msgstr "E-poštna sporočila" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__email_exact +msgid "Exact mailadress" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__fetch_unseen_only +msgid "Fetch Unseen Only" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Fetch folder now" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "Field (email)" +msgstr "Polje (e-pošta)" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "Field (model)" +msgstr "Polje (model)" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "" +"Field(s) to order by, this mostly useful in conjunction with 'Use 1st match'" +msgstr "" +"Polje(a) za razvrščanje. Uporabljajo se večinoma v sklopu 'Uporabi 1. " +"ujemanje'" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__domain +msgid "Fill in a search filter to narrow down objects to match" +msgstr "Izpolni iskalni filter za zožitev ujemajočih se objektov" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag Nonmatching" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__flag_nonmatching +msgid "Flag emails in the server that don't match any object in Odoo" +msgstr "" +"Označi e-poštna sporočila na strežniku, ki se ne ujemajo z nobenim objektom " +"v Odoo" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__folder_id +msgid "Folder" +msgstr "Mapa" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folder_ids +msgid "Folders" +msgstr "Mape" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders available on server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Folders to monitor" +msgstr "Mape za nadziranje" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__email_from +msgid "From" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__id +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__id +msgid "ID" +msgstr "ID" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "INBOX.subfolder1" +msgstr "INBOX.podmapa1" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "" +"If there are multiple matches, use the first one. If not checked, multiple " +"matches count as no match at all" +msgstr "" +"Ko je več ujemajočih se sporočil, uporabi prvo. Če ni označeno, se več " +"ujemajočih se sporočil smatra kot, da sploh ni ujemajočih se sporočil" + +#. module: fetchmail_attach_from_folder +#: model:ir.model,name:fetchmail_attach_from_folder.model_fetchmail_server +msgid "Incoming Mail Server" +msgstr "" + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server_folder.py:0 +msgid "Invalid folder %s!" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_uid +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_uid +msgid "Last Updated by" +msgstr "Zadnjič posodobil" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__write_date +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__write_date +msgid "Last Updated on" +msgstr "Zadnjič posodobljeno" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "Match Algorithm" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__message_uid +msgid "Message id" +msgstr "ID sporočila" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "Message state" +msgstr "Stanje sporočila" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "Model" +msgstr "Model" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__name +msgid "Name" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__state__draft +msgid "Not Confirmed" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__object_id +msgid "Object" +msgstr "Objekt" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__match_algorithm__odoo_standard +msgid "Odoo standard" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__folders_only +msgid "Only folders, not inbox" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__action_id +msgid "" +"Optional custom server action to trigger for each incoming mail, on the " +"record that was created or updated by this mail" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_order +msgid "Order (model)" +msgstr "Vrstni red (model)" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "Path" +msgstr "Pot" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server__object_id +msgid "" +"Process each incoming mail as part of a conversation corresponding to this " +"document type. This will create new documents for new conversations, or " +"attach follow-up emails to the existing conversations (documents)." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__received +msgid "Received" +msgstr "Prejeto" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Reset Confirmation" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "Save" +msgstr "Shrani" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields.selection,name:fetchmail_attach_from_folder.selection__fetchmail_server_folder__msg_state__sent +msgid "Sent" +msgstr "Poslano" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__sequence +msgid "Sequence" +msgstr "Zaporedje" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__server_id +msgid "Server" +msgstr "Strežnik" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__server_type +msgid "Server Type" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__x_server_type_env_default +msgid "Server Type Env Default" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server__smart_search +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__smart_search +msgid "Smart Search" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__state +msgid "Status" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__subject +msgid "Subject" +msgstr "Zadeva" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "Test & Confirm" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_algorithm +msgid "The algorithm used to determine which object an email matches." +msgstr "" +"Algoritem, ki se uporablja za določanje objekta, ki mu e-pošta priprada." + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__mail_field +msgid "" +"The field in the email used for matching. Typically this is 'to' or 'from'" +msgstr "" +"Polje v e-poštnem sporočilu, ki se uporablja za primerjavo. Tipično je to " +"'za' ali 'od'" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_field +msgid "" +"The field in your model that contains the field to match against.\n" +"Examples:\n" +"'email' if your model is res.partner, or 'partner_id.email' if you're " +"matching sale orders" +msgstr "" +"Polje modela, ki vsebuje polje za ujemanje.\n" +"Primeri:\n" +"'e-pošta' če je model res.partner ali 'partner_id.email', če ujemate " +"prodajne naloge" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__model_id +msgid "The model to attach emails to" +msgstr "Model, ki mu pripenjamo e-pošto" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__path +msgid "" +"The path to your mail folder. Typically would be something like " +"'INBOX.myfolder'" +msgstr "Pot do e-poštne mape. Običajno je to nekaj kot 'INBOX.mojamapa'" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__archive_path +msgid "The path where successfully retrieved messages will be stored." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,help:fetchmail_attach_from_folder.field_fetchmail_server_folder__msg_state +msgid "The state messages fetched from this folder should be assigned in Odoo" +msgstr "Stanje, ki se dodeli sporočilom prenesenim iz te mape." + +#. module: fetchmail_attach_from_folder +#. odoo-python +#: code:addons/fetchmail_attach_from_folder/models/fetchmail_server.py:0 +msgid "Unable to retrieve folders." +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_server_folder__match_first +msgid "Use 1st match" +msgstr "Uporabi 1. ujemanje" + +#. module: fetchmail_attach_from_folder +#: model:ir.model.fields,field_description:fetchmail_attach_from_folder.field_fetchmail_attach_mail_manually_mail__wizard_id +msgid "Wizard" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "[('state', '=', 'open')]" +msgstr "[('state', '=', 'open')]" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "email" +msgstr "e-pošta" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "name asc" +msgstr "" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_attach_mail_manually +msgid "or" +msgstr "ali" + +#. module: fetchmail_attach_from_folder +#: model_terms:ir.ui.view,arch_db:fetchmail_attach_from_folder.view_email_server_form +msgid "to,from" +msgstr "to,from" + +#, fuzzy +#~ msgid "Last Modified on" +#~ msgstr "Zadnjič posodobljeno" + +#~ msgid "Flag nonmatching" +#~ msgstr "Označi ne ujemajoča" + +#, python-format +#~ msgid "Mail attachment" +#~ msgstr "E-poštna priponka" + +#~ msgid "Match algorithm" +#~ msgstr "Algoritem ujemanja" + +#~ msgid "POP/IMAP Server" +#~ msgstr "POP/IMAP strežnik" + +#~ msgid "Wizard id" +#~ msgstr "ID čarovnika" + +#, fuzzy +#~ msgid "fetchmail.attach.mail.manually" +#~ msgstr "Ročno pripenjanje e-pošte" + +#, fuzzy +#~ msgid "fetchmail.attach.mail.manually.mail" +#~ msgstr "Ročno pripenjanje e-pošte" + +#~ msgid "name asc,type desc" +#~ msgstr "name asc,type desc" + +#~ msgid "Mailbox %s not found!" +#~ msgstr "Poštni predal %s ni najden!" + +#~ msgid "{'required': [('type', '!=', 'imap')]}" +#~ msgstr "{'required': [('type', '!=', 'imap')]}" diff --git a/fetchmail_from_imap_folder/match_algorithm/__init__.py b/fetchmail_from_imap_folder/match_algorithm/__init__.py new file mode 100644 index 000000000..38f349a7f --- /dev/null +++ b/fetchmail_from_imap_folder/match_algorithm/__init__.py @@ -0,0 +1,4 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import email_exact +from . import email_domain diff --git a/fetchmail_from_imap_folder/match_algorithm/email_domain.py b/fetchmail_from_imap_folder/match_algorithm/email_domain.py new file mode 100644 index 000000000..e00436375 --- /dev/null +++ b/fetchmail_from_imap_folder/match_algorithm/email_domain.py @@ -0,0 +1,29 @@ +# Copyright - 2013-2024 Therp BV . +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from .email_exact import EmailExact + + +class EmailDomain(EmailExact): + """Search objects by domain name of email address. + + Beware of match_first here, this is most likely to get it wrong (gmail). + """ + + def search_matches(self, folder, message_dict): + """Returns recordset of matching objects.""" + matches = super().search_matches(folder, message_dict) + if not matches: + object_model = folder.env[folder.model_id.model] + domains = [] + for addr in self._get_mailaddresses(folder, message_dict): + domains.append(addr.split("@")[-1]) + matches = object_model.search( + self._get_mailaddress_search_domain( + folder, + message_dict, + operator="like", + values=["%@" + domain for domain in set(domains)], + ), + order=folder.model_order, + ) + return matches diff --git a/fetchmail_from_imap_folder/match_algorithm/email_exact.py b/fetchmail_from_imap_folder/match_algorithm/email_exact.py new file mode 100644 index 000000000..9e3d1d0a6 --- /dev/null +++ b/fetchmail_from_imap_folder/match_algorithm/email_exact.py @@ -0,0 +1,35 @@ +# Copyright - 2013-2024 Therp BV . +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from odoo.tools.mail import email_split +from odoo.tools.safe_eval import safe_eval + + +class EmailExact: + """Search for exactly the mailadress as noted in the email""" + + def _get_mailaddresses(self, folder, message_dict): + mailaddresses = [] + fields = folder.mail_field.split(",") + for field in fields: + if field in message_dict: + mailaddresses += email_split(message_dict[field]) + return [addr.lower() for addr in mailaddresses] + + def _get_mailaddress_search_domain( + self, folder, message_dict, operator="=", values=None + ): + mailaddresses = values or self._get_mailaddresses(folder, message_dict) + if not mailaddresses: # pragma: no cover + return [(0, "=", 1)] + search_domain = ( + (["|"] * (len(mailaddresses) - 1)) + + [(folder.model_field, operator, addr) for addr in mailaddresses] + + safe_eval(folder.domain or "[]") + ) + return search_domain + + def search_matches(self, folder, message_dict): + """Returns recordset of matching objects.""" + object_model = folder.env[folder.model_id.model] + search_domain = self._get_mailaddress_search_domain(folder, message_dict) + return object_model.search(search_domain, order=folder.model_order) diff --git a/fetchmail_from_imap_folder/models/__init__.py b/fetchmail_from_imap_folder/models/__init__.py new file mode 100644 index 000000000..be0235598 --- /dev/null +++ b/fetchmail_from_imap_folder/models/__init__.py @@ -0,0 +1,4 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import fetchmail_server +from . import fetchmail_server_folder diff --git a/fetchmail_from_imap_folder/models/fetchmail_server.py b/fetchmail_from_imap_folder/models/fetchmail_server.py new file mode 100644 index 000000000..3fd3c46da --- /dev/null +++ b/fetchmail_from_imap_folder/models/fetchmail_server.py @@ -0,0 +1,93 @@ +# Copyright - 2013-2026 Therp BV . +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +import logging +import re + +from odoo import api, fields, models + +_logger = logging.getLogger(__name__) + +# connection.list() returns an array of strings with each string containing +# information about an available folder. The string contains three parts: +# - Flags about the folder; +# - The delimiter used in the folder path; +# - The actual folder path (or name). +# Examples: +# (\HasNoChildren) "/" "INBOX" +# (\HasNoChildren) "/" "Sent" +# (\HasChildren) "/" "Customers" +# (\HasNoChildren) "/" "Customers/Acme" +list_response_pattern = re.compile( + r'\((?P.*?)\) "(?P.*)" (?P.*)' +) + + +class FetchmailServer(models.Model): + _inherit = "fetchmail.server" + + def _compute_folders_available(self): + """Retrieve available folders from IMAP server.""" + + def parse_list_response(line): + string_line = line.decode("utf-8") + flags, delimiter, mailbox_name = list_response_pattern.match( + string_line + ).groups() + mailbox_name = mailbox_name.strip('"') + return (flags, delimiter, mailbox_name) + + for this in self: + if this.state != "done": + this.folders_available = self.env._("Confirm connection first.") + continue + connection = this._connect__() + list_result = connection.list() + if list_result[0] != "OK": + this.folders_available = self.env._("Unable to retrieve folders.") + continue + folders_available = [] + for folder_entry in list_result[1]: + folders_available.append(parse_list_response(folder_entry)[2]) + this.folders_available = "\n".join(folders_available) + connection.logout() + + folders_available = fields.Text( + string="Available folders", + compute="_compute_folders_available", + ) + folder_ids = fields.One2many( + comodel_name="fetchmail.server.folder", + inverse_name="server_id", + string="Folders", + context={"active_test": False}, + ) + folders_only = fields.Boolean( + string="Process Only Specified Folders", + help="Enable this option to ignore the default IMAP inbox processing and " + "retrieve emails only from the specified folders.", + ) + # Below existing fields, that are modified by this module. + object_id = fields.Many2one(required=False) # comodel_name='ir.model' + server_type = fields.Selection(default="imap") + + def write(self, vals): + """Should reset to draft if server type changes and state not specified.""" + if "state" not in vals and ( + "server_type" in vals or "is_ssl" in vals or "object_id" in vals + ): + vals["state"] = "draft" + return super().write(vals) + + @api.onchange("server_type", "is_ssl", "object_id") + def onchange_server_type(self): + result = super().onchange_server_type() + self.state = "draft" + return result + + def fetch_mail(self, **kwargs): + result = True + for this in self: + if not this.folders_only: # pragma: no cover + result = result and super(FetchmailServer, this).fetch_mail(**kwargs) + this.folder_ids.fetch_mail() + return result diff --git a/fetchmail_from_imap_folder/models/fetchmail_server_folder.py b/fetchmail_from_imap_folder/models/fetchmail_server_folder.py new file mode 100644 index 000000000..663834354 --- /dev/null +++ b/fetchmail_from_imap_folder/models/fetchmail_server_folder.py @@ -0,0 +1,484 @@ +# Copyright - 2013-2026 Therp BV . +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +import email +import email.policy +import logging +from xmlrpc import client as xmlrpclib + +from odoo import api, fields, models +from odoo.exceptions import UserError, ValidationError +from odoo.tools.mail import decode_message_header, email_split_and_format + +from .. import match_algorithm + +_logger = logging.getLogger(__name__) + + +class FetchmailServerFolder(models.Model): + """Define folders (IMAP mailboxes) from which to fetch mail.""" + + _name = "fetchmail.server.folder" + _description = __doc__ + _rec_name = "path" + _order = "sequence" + + server_id = fields.Many2one("fetchmail.server") + sequence = fields.Integer() + state = fields.Selection( + [("draft", "Not Confirmed"), ("done", "Confirmed")], + string="Status", + readonly=True, + required=True, + copy=False, + default="draft", + ) + path = fields.Char( + required=True, + string="Fetch from Folder", + help="Specify the IMAP folder path to retrieve emails from. " + "Typically, this would be something like 'INBOX.myfolder'.", + ) + archive_path = fields.Char( + string="Archive Folder", + help="Specify the folder where successfully retrieved emails will be moved " + "after processing. If left empty, emails will remain in the original folder.", + ) + model_id = fields.Many2one( + comodel_name="ir.model", + required=True, + ondelete="cascade", + string="Target Model", + help="The model to attach emails to", + ) + model_field = fields.Char( + help="Specify the field in the model that will be used for email matching.\n" + "Examples:\n" + "- 'email' if your model is res.partner\n" + "- 'partner_id.email' if matching sale orders.", + ) + model_order = fields.Char( + help="Specify the field(s) to order by when matching emails. " + "This is mostly useful in conjunction with 'Use 1st Match'.", + ) + match_algorithm = fields.Selection( + selection=[ + ("odoo_standard", "Odoo Standard"), + ("email_domain", "Domain of Email Address"), + ("email_exact", "Exact Email Address"), + ], + required=True, + string="Matching Algorithm", + help="Select the algorithm used to determine which object an email matches.", + ) + mail_field = fields.Char( + string="Email Field", + help="Specify the field in the email used for matching. " + "Typically, this is 'to', 'from' or 'reply_to'.", + ) + delete_matching = fields.Boolean( + string="Delete Matched Emails", + help="Enable this option to delete emails after they are successfully " + "processed and matched.", + ) + flag_nonmatching = fields.Boolean( + string="Flag Non-Matching Emails", + default=True, + help="Enable this option to mark emails as important if they do not match " + "any object in Odoo.", + ) + match_first = fields.Boolean( + string="Use First Match", + help="If there are multiple matches, use the first one. " + "If disabled, multiple matches will be considered as no match.", + ) + domain = fields.Char( + string="Matching Domain", + help="Define a search filter to narrow down objects for email matching.", + ) + msg_state = fields.Selection( + selection=[("sent", "Sent"), ("received", "Received")], + string="Message state", + default="received", + help="The state messages fetched from this folder should be assigned in Odoo", + ) + active = fields.Boolean(default=True) + action_id = fields.Many2one( + comodel_name="ir.actions.server", + string="Server Action", + help="Specify an optional custom server action to trigger for each incoming" + " email. The action will run on the record that was created or updated by" + " this email.", + ) + fetch_unseen_only = fields.Boolean( + help="By default, all undeleted emails are retrieved. " + "Enable this option to fetch only unread emails.", + ) + fetch_last_day_only = fields.Boolean( + string="Fetch Last 24 Hours Only", + help="By default, all emails in the folder are searched. Enable this " + "option to only fetch emails received in the last 24 hours. This helps " + "avoid reprocessing emails if they are not deleted after processing.", + ) + seen = fields.Selection( + selection=[ + ("on_fetch", "Immediately on Fetch"), + ("all", "After Processing"), + ("matching", "When matching"), + ("none", "Never"), + ], + string="Mark email as seen", + required=True, + default="on_fetch", + ) + + def button_confirm_folder(self): + self.write({"state": "draft"}) + for this in self: + if not this.active: + continue + connection = this.server_id._connect__() + connection.select() + if connection.select(this.path)[0] != "OK": + raise ValidationError( + self.env._("Invalid folder %(path)s!", path=this.path) + ) + connection.close() + this.write({"state": "done"}) + + def button_attach_mail_manually(self): + self.ensure_one() + return { + "type": "ir.actions.act_window", + "res_model": "fetchmail.attach.mail.manually", + "target": "new", + "context": dict(self.env.context, folder_id=self.id), + "view_type": "form", + "view_mode": "form", + } + + def set_draft(self): + self.write({"state": "draft"}) + return True + + def fetch_mail(self): + """Retrieve all mails for IMAP folders. + + We will use a separate connection for each folder. + """ + for this in self: + if not this.active or this.state != "done": + continue + connection = None + try: + # New connection per folder + connection = this.server_id._connect__() + this.check_imap_archive_folder(connection) + this.retrieve_imap_folder(connection) + connection.close() + except Exception: # pragma: no cover + _logger.error( + ( + "General failure when trying to connect to" + " %(server_type)s server %(server)s." + ), + { + "server_type": this.server_id.server_type, + "server": this.server_id.name, + }, + exc_info=True, + ) + finally: + if connection: + connection.logout() + + def check_imap_archive_folder(self, connection): + """If archive folder specified, check existance and create when needed.""" + self.ensure_one() + server = self.server_id + if not self.archive_path: + return + if connection.select(self.archive_path)[0] != "OK": + connection.create(self.archive_path) + if connection.select(self.archive_path)[0] != "OK": + raise UserError( + self.env._( + "Could not create archive folder %(folder)s" + " on server %(server)s", + folder=self.archive_path, + server=server.name, + ) + ) + + def get_criteria(self): + criteria = "UNSEEN UNDELETED" if self.fetch_unseen_only else "UNDELETED" + if self.fetch_last_day_only: + yesterday = fields.Date.subtract( + fields.Date.context_today(self), days=1 + ).strftime("%d-%b-%Y") + criteria = f"SINCE {yesterday} {criteria}" + return criteria + + def retrieve_imap_folder(self, connection): + """Retrieve all mails for one IMAP folder.""" + self.ensure_one() + message_uids = self.get_message_uids(connection, self.get_criteria()) + for message_uid in message_uids[0].split(): + # We will accept exceptions for single messages + try: + self.env.cr.execute("savepoint apply_matching") + self.apply_matching(connection, message_uid) + self.env.cr.execute("release savepoint apply_matching") + except Exception: # pragma: no cover + self.env.cr.execute("rollback to savepoint apply_matching") + _logger.exception( + "Failed to fetch mail %(message_uid)s from server %(server)s", + {"message_uid": message_uid, "server": self.server_id.name}, + ) + + def get_message_uids(self, connection, criteria): + """Return imap ids of messages to process""" + # Note that these message_uids are linked to the folder on + # the imap server. They have nothing at all todo with the + # message_id field that is part of the message itself, and the + # two should not be confused. + self.ensure_one() + server = self.server_id + _logger.info( + "start checking for emails in folder %(folder)s on server %(server)s", + {"folder": self.path, "server": server.name}, + ) + if connection.select(self.path)[0] != "OK": + raise UserError( + self.env._( + "Could not open folder %(folder)s on server %(server)s", + folder=self.path, + server=server.name, + ) + ) + charset = None # Generally we do not need to set a charset. + result, message_uids = connection.uid("search", charset, criteria) + if result != "OK": + raise UserError( + self.env._( + "Could not search folder %(folder)s on server %(server)s" + " with criteria %(criteria)s", + folder=self.path, + server=server.name, + criteria=criteria, + ) + ) + _logger.info( + "finished checking for emails in folder %(folder)s on server %(server)s", + {"folder": self.path, "server": server.name}, + ) + return message_uids + + def apply_matching(self, connection, message_uid): + """Return id of object matched (which will be the thread_id).""" + self.ensure_one() + thread_id = None + thread_model = self.env["mail.thread"] + message_org = self.fetch_msg(connection, message_uid) + if self.match_algorithm == "odoo_standard": + thread_id = thread_model.message_process( + self.model_id.model, + message_org, + save_original=self.server_id.original, + strip_attachments=(not self.server_id.attach), + ) + else: + message_dict = self._get_message_dict(message_org) + if not self._check_message_already_present(message_dict): + match = self._find_match(message_dict) + if match: + thread_id = match.id + self.attach_mail(match, message_dict) + matched = True if thread_id else False + if matched: + self.run_server_action(thread_id) + self.update_msg(connection, message_uid, matched=matched) + if self.archive_path and not self.delete_matching: + self._archive_msg(connection, message_uid) + return thread_id # Can be None if no match found. + + def run_server_action(self, matched_object_ids): + action = self.action_id + if not action: + return + records = self.env[self.model_id.model].browse(matched_object_ids) + for record in records: + if not record.exists(): # pragma: no cover + # We have encountered cases where record not existed IRL. + continue + action.with_context( + **{ + "active_id": record.id, + "active_ids": record.ids, + "active_model": self.model_id.model, + } + ).run() + + def fetch_msg(self, connection, message_uid): + """Select a single message from a folder.""" + self.ensure_one() + command = "(RFC822)" if self.seen == "on_fetch" else "(BODY.PEEK[])" + result, msgdata = connection.uid("fetch", message_uid, command) + if result != "OK": + raise UserError( + self.env._( + "Could not fetch %(message_uid)s in folder %(folder)s" + " on server %(server)s", + message_uid=message_uid, + folder=self.path, + server=self.server_id.name, + ) + ) + message_org = msgdata[0][1] # rfc822 message source + return message_org + + def update_msg(self, connection, message_uid, matched=True, flagged=False): + """Update msg in imap folder depending on match and settings.""" + if self.seen == "all" or (matched and self.seen == "matching"): + connection.uid("store", message_uid, "+FLAGS", "\\Seen") + if matched: + if self.delete_matching: + connection.uid("store", message_uid, "+FLAGS", "\\DELETED") + elif flagged and self.flag_nonmatching: + connection.uid("store", message_uid, "-FLAGS", "\\FLAGGED") + else: + if self.flag_nonmatching: + connection.uid("store", message_uid, "+FLAGS", "\\FLAGGED") + + def _archive_msg(self, connection, message_uid): + """Archive message. Folder should already have been created.""" + connection.uid("copy", message_uid, self.archive_path) + connection.uid("store", message_uid, "+FLAGS", "\\Deleted") + connection.expunge() + + @api.model + def _get_message_dict(self, message): + """Get message_dict from original message. + + This uses some code copied from mail.thread.message_process, that + unfortunately is not in a separate method. + """ + if isinstance(message, xmlrpclib.Binary): # pragma: no cover + message = bytes(message.data) + if isinstance(message, str): + message = message.encode("utf-8") + message = email.message_from_bytes(message, policy=email.policy.SMTP) + thread_model = self.env["mail.thread"] + message_dict = thread_model.message_parse( + message, save_original=self.server_id.original + ) + # Populate `reply_to` + message_dict["reply_to"] = ",".join( + { + formatted_email + for address in [ + decode_message_header(message, "Reply-To", separator=","), + ] + if address + for formatted_email in email_split_and_format(address) + } + ) + return message_dict + + def _check_message_already_present(self, message_dict): + """If message already handled, it should be ignored.""" + message_id = message_dict["message_id"] + if self.env["mail.message"].search([("message_id", "=", message_id)], limit=1): + _logger.debug( + "Message %(message_id)s already in database", + {"message_id": message_id}, + ) + return True + return False + + def _find_match(self, message_dict): + """Try to find existing object to link mail to.""" + self.ensure_one() + matcher = self._get_algorithm() + matches = matcher.search_matches(self, message_dict) + if not matches: + _logger.info( + "No match found for message %(subject)s" + " with message_uid %(message_uid)s -" + " To: %(to)s - From: %(from)s - Reply-To: %(reply_to)s", + { + "subject": message_dict.get("subject", "no subject"), + "message_uid": message_dict.get("message_id", "no message_uid"), + "to": message_dict.get("to", ""), + "from": message_dict.get("from", ""), + "reply_to": message_dict.get("reply_to", ""), + }, + ) + return None + if len(matches) > 1: + _logger.debug( + "Multiple matches found: %(matches)s", + { + "matches": ", ".join( + [str((match.id, match.display_name)) for match in matches] + ), + }, + ) + matched = len(matches) == 1 or self.match_first + return matched and matches[0] or None + + def _get_algorithm(self): + """Translate algorithm code to implementation class. + + We used to load this dynamically, but having it more or less hardcoded + allows to adapt the UI to the selected algorithm, withouth needing + the (deprecated) fields_view_get trickery we used in the past. + """ + self.ensure_one() + if self.match_algorithm == "email_domain": + return match_algorithm.email_domain.EmailDomain() + return match_algorithm.email_exact.EmailExact() + + @api.model + def attach_mail(self, match_object, message_dict): + """Attach mail to match_object.""" + message_model = self.env["mail.message"] + msg_values = { + key: val + for key, val in message_dict.items() + if key in message_model._fields + } + partner = self._get_partner_from_object(match_object) + msg_values.update( + { + "author_id": partner and partner.id or False, + "model": match_object._name, + "res_id": match_object.id, + "message_type": "email", + } + ) + thread_model = self.env["mail.thread"] + attachments = message_dict["attachments"] or [] + attachment_ids = [] + attachement_values = thread_model._process_attachments_for_post( + attachments, attachment_ids, msg_values + ) + msg_values.update(attachement_values) + message = message_model.create(msg_values) + _logger.debug( + "Message with id %(message_id)s created" + " for %(match_object._name)s with id %(thread_id)s", + { + "message_id": message.id, + "match_object._name": match_object._name, + "thread_id": match_object.id, + }, + ) + + @api.model + def _get_partner_from_object(self, match_object): + """Get partner from object.""" + if match_object._name == "res.partner": + return match_object + if "partner_id" in match_object._fields: + return match_object.partner_id + return self.env["res.partner"] diff --git a/fetchmail_from_imap_folder/pyproject.toml b/fetchmail_from_imap_folder/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/fetchmail_from_imap_folder/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/fetchmail_from_imap_folder/readme/CONFIGURE.md b/fetchmail_from_imap_folder/readme/CONFIGURE.md new file mode 100644 index 000000000..827592023 --- /dev/null +++ b/fetchmail_from_imap_folder/readme/CONFIGURE.md @@ -0,0 +1,28 @@ +In your fetchmail configuration, you'll find a new list field `Folders to +monitor`. Add your folders here in IMAP notation (usually something like +`INBOX.your_folder_name.your_subfolder_name`), choose a model to attach mails +to and a matching algorithm to use. + +Exact mailaddress +----------------- + +Fill in a field to search for the email address in `Field (model)`. For +partners, this would be `email`. Also fill in the header field from the email +to look at in `Field (email)`. If you want to match incoming mails from your +customers, this would be `from`. You can also list header fields, so to match +partners receiving this email, you might fill in `to,cc,bcc`. + +Domain of email addresses +------------------------- + +Match the domain of the email address(es) found in `Field (email)`. This would +attach a mail to `test1@example.com` to a record with `Field (model)` set to +`test2@example.com`. Given that this is a fuzzy match, you probably want to +check `Use 1st match`, because otherwise nothing happens if multiple possible +matches are found. + +Odoo standard +------------- + +This is stricly speaking no matching algorithm, but calls the model's standard +action on new incoming mail, which is usually creating a new record. diff --git a/fetchmail_from_imap_folder/readme/CONTRIBUTORS.md b/fetchmail_from_imap_folder/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..4de856ab9 --- /dev/null +++ b/fetchmail_from_imap_folder/readme/CONTRIBUTORS.md @@ -0,0 +1,3 @@ +- Holger Brunn +- Ronald Portier +- Alexandre Fayolle diff --git a/fetchmail_from_imap_folder/readme/DESCRIPTION.md b/fetchmail_from_imap_folder/readme/DESCRIPTION.md new file mode 100644 index 000000000..d9e7d303f --- /dev/null +++ b/fetchmail_from_imap_folder/readme/DESCRIPTION.md @@ -0,0 +1,6 @@ +Adds the possibility to attach emails from a certain IMAP folder to objects, +ie partners. Matching is done via several algorithms, ie email address, email +address's domain or the original Odoo algorithm. + +This gives a simple possibility to archive emails in Odoo without a mail +client integration. diff --git a/fetchmail_from_imap_folder/readme/USAGE.md b/fetchmail_from_imap_folder/readme/USAGE.md new file mode 100644 index 000000000..0c7af37f7 --- /dev/null +++ b/fetchmail_from_imap_folder/readme/USAGE.md @@ -0,0 +1,16 @@ +A widespread configuration is to have a shared mailbox with several folders, +i.e. one where users drop mails they want to attach to partners. Let this +folder be called `From partners`. Then create a folder configuration for your +server with path `"INBOX.From partners"` (note the quotes because of the space, +this is server dependent). Choose model `Partners`, set `Field (model)` to +`email` and `Field (email)` to `from`. In `Domain`, you could fill in +`[('customer', '=', True)]` to be sure to only match customer records. + +Now when your users drop mails into this folder, they will be fetched by Odoo +and attached to the partner in question. After some testing, you might want to +check `Delete matches` in your folder configuration so that this folder doesn't +grow indefinitely. + +Another way to prevent having to process ever more messages from the folder +to read is to automatically move all processed messages to an archive folder +that can be specified. diff --git a/fetchmail_from_imap_folder/security/ir.model.access.csv b/fetchmail_from_imap_folder/security/ir.model.access.csv new file mode 100644 index 000000000..50c676fb3 --- /dev/null +++ b/fetchmail_from_imap_folder/security/ir.model.access.csv @@ -0,0 +1,4 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_model_fetchmail_server_folder,fetchmail.server.folder,model_fetchmail_server_folder,base.group_system,1,1,1,1 +access_fetchmail_attach_mail_manually,access_fetchmail_attach_mail_manually,model_fetchmail_attach_mail_manually,base.group_system,1,1,1,1 +access_fetchmail_attach_mail_manually_mail,access_fetchmail_attach_mail_manually_mail,model_fetchmail_attach_mail_manually_mail,base.group_system,1,1,1,1 diff --git a/fetchmail_from_imap_folder/static/description/icon.png b/fetchmail_from_imap_folder/static/description/icon.png new file mode 100644 index 000000000..be54e22b8 Binary files /dev/null and b/fetchmail_from_imap_folder/static/description/icon.png differ diff --git a/fetchmail_from_imap_folder/static/description/index.html b/fetchmail_from_imap_folder/static/description/index.html new file mode 100644 index 000000000..039036d94 --- /dev/null +++ b/fetchmail_from_imap_folder/static/description/index.html @@ -0,0 +1,493 @@ + + + + + +Email gateway - folders + + + +
+ + + +Odoo Community Association + +
+

Email gateway - folders

+ +

Beta License: AGPL-3 OCA/mail Translate me on Weblate Try me on Runboat

+

Adds the possibility to attach emails from a certain IMAP folder to +objects, ie partners. Matching is done via several algorithms, ie email +address, email address’s domain or the original Odoo algorithm.

+

This gives a simple possibility to archive emails in Odoo without a mail +client integration.

+

Table of contents

+ +
+

Configuration

+

In your fetchmail configuration, you’ll find a new list field +Folders to  monitor. Add your folders here in IMAP notation (usually +something like INBOX.your_folder_name.your_subfolder_name), choose a +model to attach mails to and a matching algorithm to use.

+
+

Exact mailaddress

+

Fill in a field to search for the email address in Field (model). +For partners, this would be email. Also fill in the header field +from the email to look at in Field (email). If you want to match +incoming mails from your customers, this would be from. You can also +list header fields, so to match partners receiving this email, you might +fill in to,cc,bcc.

+
+
+

Domain of email addresses

+

Match the domain of the email address(es) found in Field (email). +This would attach a mail to test1@example.com to a record with +Field (model) set to test2@example.com. Given that this is a +fuzzy match, you probably want to check Use 1st match, because +otherwise nothing happens if multiple possible matches are found.

+
+
+

Odoo standard

+

This is stricly speaking no matching algorithm, but calls the model’s +standard action on new incoming mail, which is usually creating a new +record.

+
+
+
+

Usage

+

A widespread configuration is to have a shared mailbox with several +folders, i.e. one where users drop mails they want to attach to +partners. Let this folder be called From partners. Then create a +folder configuration for your server with path "INBOX.From partners" +(note the quotes because of the space, this is server dependent). Choose +model Partners, set Field (model) to email and +Field (email) to from. In Domain, you could fill in +[('customer', '=', True)] to be sure to only match customer records.

+

Now when your users drop mails into this folder, they will be fetched by +Odoo and attached to the partner in question. After some testing, you +might want to check Delete matches in your folder configuration so +that this folder doesn’t grow indefinitely.

+

Another way to prevent having to process ever more messages from the +folder to read is to automatically move all processed messages to an +archive folder that can be specified.

+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Therp BV
  • +
  • Open Eye Development
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

Current maintainer:

+

NL66278

+

This module is part of the OCA/mail project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+
+ + diff --git a/fetchmail_from_imap_folder/tests/__init__.py b/fetchmail_from_imap_folder/tests/__init__.py new file mode 100644 index 000000000..15713133b --- /dev/null +++ b/fetchmail_from_imap_folder/tests/__init__.py @@ -0,0 +1,4 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import test_attach_mail_manually +from . import test_match_algorithms diff --git a/fetchmail_from_imap_folder/tests/common.py b/fetchmail_from_imap_folder/tests/common.py new file mode 100644 index 000000000..bc2a801e8 --- /dev/null +++ b/fetchmail_from_imap_folder/tests/common.py @@ -0,0 +1,31 @@ +# Copyright - 2015-2026 Therp BV . +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + + +def get_message_body(email, subject): + """Get Message Body, as returned by fetch() from connection. + + fetch returns a list of tuples with the message information. + """ + return [ + ( + "1 (RFC822 {1149}", + "Return-Path: \r\n" + "Delivered-To: demo@yourcompany.example.com\r\n" + "Received: from localhost (localhost [127.0.0.1])\r\n" + "\tby vanaheim.acme.com (Postfix) with ESMTP id 14A3183163\r\n" + "\tfor ;" + " Wed, 23 Jul 2025 16:03:52 +0200 (CEST)\r\n" + "To: Test User \r\n" + f"From: Reynaert de Vos <{email}>\r\n" + f"Subject: {subject}\r\n" + "Message-ID: <485a8041-d560-a981-5afc-d31c1f136748@acme.com>\r\n" + "Date: Mon, 26 Mar 2018 16:03:51 +0200\r\n" + "User-Agent: Mock Test\r\n" + "MIME-Version: 1.0\r\n" + "Content-Type: text/plain; charset=utf-8\r\n" + "Content-Language: en-US\r\n" + "Content-Transfer-Encoding: 7bit\r\n\r\n" + "Hallo Wereld!\r\n", + ) + ] diff --git a/fetchmail_from_imap_folder/tests/test_attach_mail_manually.py b/fetchmail_from_imap_folder/tests/test_attach_mail_manually.py new file mode 100644 index 000000000..5390c408a --- /dev/null +++ b/fetchmail_from_imap_folder/tests/test_attach_mail_manually.py @@ -0,0 +1,185 @@ +# Copyright - 2015-2026 Therp BV . +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +# pylint: disable=method-required-super +from unittest.mock import MagicMock, patch + +from odoo.fields import Command +from odoo.tests.common import TransactionCase + +from odoo.addons.mail.models.fetchmail import FetchmailServer + +from .common import get_message_body + + +def get_message_org(email, subject): + # get_message_body returns an array of tuples, similar to what + # IMAP4.fetch(...) would return. There will be a tuple + # for each message. The actual messages are in the second + # part of each tuple. + return get_message_body(email, subject)[0][1] + + +class TestAttachMailManually(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.Wizard = cls.env["fetchmail.attach.mail.manually"] + cls.Folder = cls.env["fetchmail.server.folder"] + cls.Partner = cls.env["res.partner"] + cls.server = cls.env["fetchmail.server"].create( + { + "name": "Test IMAP", + "server": "imap.example.com", + "server_type": "imap", + "user": "test@example.com", + "password": "secret", + "state": "done", + } + ) + cls.folder = cls.Folder.create( + { + "server_id": cls.server.id, + "sequence": 5, + "path": "INBOX", + "model_id": cls.env.ref("base.model_res_partner").id, + "model_field": "email", + "match_algorithm": "email_exact", + # The intention is to link email to sender partner object. + "mail_field": "from", + } + ) + cls.partner = cls.Partner.create( + {"name": "Test Partner", "email": "test@example.com"} + ) + + def _mock_connection(self): + mock_conn = MagicMock() + mock_conn.select.return_value = ("OK",) + mock_conn.search.return_value = ("OK", [b"1"]) + mock_conn.uid.return_value = ("OK", [b"1"]) + mock_conn.fetch.return_value = ( + "OK", + [(b"1 (RFC822 {123}", b"Mocked raw email content")], + ) + mock_conn.list.return_value = ( + "OK", + [b'(\\HasNoChildren) "." "INBOX"', b'(\\HasChildren) "." "Sent"'], + ) + return mock_conn + + def _mock_fetch_msg(self, connection, message_uid): + """Return raw message body (bytes).""" + return get_message_org("test@example.com", "Test") + + @patch.object(FetchmailServer, "_connect__") + def test_default_get_populates_mail_ids(self, mock_connect): + """Test that default_get loads emails into wizard.""" + mock_conn = self._mock_connection() + mock_connect.return_value = mock_conn + with ( + patch.object( + self.folder.__class__, "fetch_msg", side_effect=self._mock_fetch_msg + ), + patch.object( + self.folder.__class__, "get_message_uids", return_value=[b"1"] + ), + patch.object(self.folder.__class__, "get_criteria", return_value="ALL"), + ): + wizard = self.Wizard.with_context(folder_id=self.folder.id).create({}) + self.assertEqual(len(wizard.mail_ids), 1) + self.assertEqual(wizard.mail_ids[0].subject, "Test") + + @patch.object(FetchmailServer, "_connect__") + def test_attach_mails_only_with_object_id(self, mock_connect): + """Only mails with object_id should be attached.""" + mock_conn = self._mock_connection() + mock_connect.return_value = mock_conn + message_org = get_message_org("test@example.com", "With Object") + with patch.object( + self.folder.__class__, + "fetch_msg", + side_effect=lambda conn, message_uid: message_org, + ): + wizard = self.Wizard.create( + { + "folder_id": self.folder.id, + "mail_ids": [ + Command.create( + { + "message_uid": "1", + "subject": "No Object", + "object_id": False, + }, + ), + Command.create( + { + "message_uid": "2", + "subject": "With Object", + "object_id": f"res.partner,{self.partner.id}", + }, + ), + ], + } + ) + with patch.object(self.folder.__class__, "attach_mail") as mock_attach: + with patch.object(self.folder.__class__, "update_msg"): + wizard.attach_mails() + mock_attach.assert_called_once() + args, _ = mock_attach.call_args + self.assertEqual(args[0], self.partner) + + def test_prepare_mail_returns_expected_dict(self): + """Test _prepare_mail returns correct structure.""" + folder = self.folder + message_uid = "123" + message_dict = { + "subject": "Test", + "date": "2025-07-23", + "from": "test@example.com", + "body": "

Body

", + } + result = self.Wizard._prepare_mail(folder, message_uid, message_dict) + expected = { + "message_uid": "123", + "subject": "Test", + "date": "2025-07-23", + "body": "

Body

", + "email_from": "test@example.com", + } + self.assertEqual(result, expected) + + def test_wizard_name_is_translated(self): + """Test that default name is translated.""" + message_org = get_message_org("test@example.com", "With Object") + with ( + patch.object(FetchmailServer, "_connect__", return_value=MagicMock()), + patch.object(self.folder.__class__, "fetch_msg", return_value=message_org), + patch.object( + self.folder.__class__, "get_message_uids", return_value=[b"1"] + ), + patch.object(self.folder.__class__, "get_criteria", return_value="ALL"), + ): + wizard = self.Wizard.with_context(folder_id=self.folder.id).create({}) + self.assertEqual(wizard.name, "Attach emails manually") + + def test_compute_folders_available_success(self): + """You must return the available folders.""" + with patch.object( + self.server.__class__, "_connect__", return_value=self._mock_connection() + ): + result = self.server.folders_available + self.assertEqual(result, "INBOX\nSent") + + def test_compute_folders_available_not_done(self): + """If the server is not confirmed, you must warn.""" + self.server.state = "draft" + result = self.server.folders_available + self.assertEqual(result, "Confirm connection first.") + + def test_compute_folders_available_list_error(self): + """If list() fails, it should display an error message.""" + mock_conn = MagicMock() + mock_conn.list.return_value = ("NO", []) + with patch.object(self.server.__class__, "_connect__", return_value=mock_conn): + result = self.server.folders_available + self.assertEqual(result, "Unable to retrieve folders.") diff --git a/fetchmail_from_imap_folder/tests/test_match_algorithms.py b/fetchmail_from_imap_folder/tests/test_match_algorithms.py new file mode 100644 index 000000000..1a409b101 --- /dev/null +++ b/fetchmail_from_imap_folder/tests/test_match_algorithms.py @@ -0,0 +1,400 @@ +# Copyright - 2015-2026 Therp BV . +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +# pylint: disable=method-required-super +from datetime import datetime +from unittest.mock import patch + +from odoo import fields +from odoo.exceptions import UserError, ValidationError +from odoo.fields import Command +from odoo.tests.common import TransactionCase +from odoo.tools.mail import email_normalize + +from ..match_algorithm import email_domain, email_exact +from .common import get_message_body + +TEST_EMAIL = "reynaert@dutchsagas.nl" +TEST_SUBJECT = "Test subject" +MAIL_MESSAGE = {"subject": TEST_SUBJECT, "to": "demo@yourcompany.example.com"} + + +class MockConnection: + _msg_store = {} + + def select(self, path=None): + if path in ("INBOX", "customers", "archived_messages"): + return ("OK",) + return ("NO",) + + def create(self, path): + """Mock creating a folder.""" + return ("OK",) + + def store(self, message_uid, msg_item, value): + """Mock store command. + + Actually simplified. We only store te latest flag set (or unset), in the + real IMAP folder there can be multiple flags on a message. + """ + if message_uid not in self._msg_store: + self._msg_store[message_uid] = {} + msg_key = msg_item[1:] # Remove + or - + if msg_item == "-FLAGS": # This is to remove flags + self._msg_store[message_uid][msg_key] = "" + else: + self._msg_store[message_uid][msg_key] = value + return "OK" + + def copy(self, message_uid, folder_path): + """Mock copy command.""" + return "OK" + + def fetch(self, message_uid, parts): + """Return RFC822 formatted message. + + By passing special values in message_uid, we can manipulate + the body returned. + """ + if message_uid == "deleted_uid": + return ("BAD", "") + email = ( + "the_smart_red_one@reynaerde.waesland" + if message_uid == "test no match" + else TEST_EMAIL + ) + return ("OK", get_message_body(email, TEST_SUBJECT)) + + def search(self, charset, criteria): + """Return some message uid's.""" + if criteria == "test_invalid": + return ("BAD", []) + return ("OK", ["123 456"]) + + def close(self): + pass + + def logout(self): + pass + + def expunge(self): + """Mock an IMAP4.expunge action""" + return ("OK", None) + + def uid(self, command, *args): + """Return from the appropiate mocked method.""" + method = getattr(self, command) + return method(*args) + + +class TestMatchAlgorithms(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.PartnerCategory = cls.env["res.partner.category"] + cls.partner_category = cls.PartnerCategory.create({"name": "Test Partners"}) + cls.Partner = cls.env["res.partner"] + cls.test_partner = cls.Partner.with_context(tracking_disable=True).create( + { + "name": "Reynaert de Vos", + "email": TEST_EMAIL, + "is_company": False, + "category_id": [Command.clear()], + } + ) + cls.FetchmailServer = cls.env["fetchmail.server"] + cls.FetchmailServerFolder = cls.env["fetchmail.server.folder"] + cls.server = cls.FetchmailServer.create( + { + "name": "Test Fetchmail Server", + "server": "imap.example.com", + "server_type": "imap", + "folders_only": True, # Not going to test default fetchmail + "active": True, + "state": "done", + } + ) + cls.folder = cls.FetchmailServerFolder.create( + { + "server_id": cls.server.id, + "sequence": 5, + "path": "INBOX", + "model_id": cls.env.ref("base.model_res_partner").id, + "model_field": "email", + "match_algorithm": "email_exact", + # The intention is to link email to sender partner object. + "mail_field": "from", + } + ) + partner_ir_model = cls.env["ir.model"].search( + [ + ("model", "=", cls.Partner._name), + ], + limit=1, + ) + cls.server_action = cls.env["ir.actions.server"].create( + { + "name": "Action Set Active Partner", + "state": "object_write", + "update_path": "category_id", + "evaluation_type": "value", + "value": str(cls.partner_category.id), + "model_id": partner_ir_model.id, + } + ) + + def test_server(self): + """Test the server model.""" + self.server.write({"server_type": "pop"}) + self.assertEqual(self.server.state, "draft") + self._reactivate_server() + self.assertEqual(self.server.state, "done") + with patch.object( + self.server.__class__, "_connect__", return_value=MockConnection() + ): + self.server.fetch_mail() + self.server.onchange_server_type() + self.assertEqual(self.server.state, "draft") + + def _reactivate_server(self): + """Set type to imap and state to "done".""" + self.server.write( + { + "server_type": "imap", + "active": True, + "state": "done", + } + ) + + def test_email_exact(self): + """A message to ronald@acme.com should be linked to partner with that email.""" + MAIL_MESSAGE["from"] = TEST_EMAIL + self._test_search_matches(email_exact.EmailExact) + self._test_apply_matching(email_exact.EmailExact) + + def test_email_exact_duplicate(self): + """If two partners have same email, return 1st or none, depending on config.""" + connection = MockConnection() + folder = self.folder + folder.match_algorithm = "email_exact" + folder.match_first = False + extra_partner = self.Partner.with_context(tracking_disable=True).create( + { + "name": "The Young Fox", + "email": TEST_EMAIL, + "is_company": False, + } + ) + MAIL_MESSAGE["from"] = TEST_EMAIL + matcher = email_exact.EmailExact() + matches = matcher.search_matches(folder, MAIL_MESSAGE) + self.assertEqual(len(matches), 2) + thread_id = folder.apply_matching(connection, "does not really matter") + self.assertFalse(thread_id) + folder.match_first = True + thread_id = folder.apply_matching(connection, "does not really matter") + self.assertIn(thread_id, [self.test_partner.id, extra_partner.id]) + + def test_email_domain(self): + """Test with email in same domain, but different mailbox.""" + ALTERNATE_EMAIL = TEST_EMAIL.replace("reynaert@", "mariken@") + MAIL_MESSAGE["from"] = ALTERNATE_EMAIL + self.folder.match_algorithm = "email_domain" + self.folder.match_first = True + self._test_search_matches(email_domain.EmailDomain) + self._test_apply_matching(email_domain.EmailDomain) + + def _test_search_matches(self, match_algorithm): + matcher = match_algorithm() + matches = matcher.search_matches(self.folder, MAIL_MESSAGE) + # matches should be a record set with length 1. + self.assertEqual(matches.email, self.test_partner.email) + self.assertEqual(matches, self.test_partner) + + def _test_apply_matching(self, match_algorithm): + connection = MockConnection() + thread_id = self.folder.apply_matching(connection, "1") + self.assertEqual(thread_id, self.test_partner.id) + self.assertEqual(self.test_partner.message_ids[-1].subject, TEST_SUBJECT) + + def test_apply_matching_exact(self): + folder = self.folder + folder.match_algorithm = "email_exact" + connection = MockConnection() + message_uid = "<485a8041-d560-a981-5afc-d31c1f136748@acme.com>" + folder.apply_matching(connection, message_uid) + + def test_apply_matching_exact_no_match(self): + folder = self.folder + folder.match_algorithm = "email_exact" + connection = MockConnection() + message_uid = "test no match" + folder.apply_matching(connection, message_uid) + + def test_apply_matching_odoo_standard(self): + folder = self.folder + folder.match_algorithm = "odoo_standard" + connection = MockConnection() + message_uid = "test no match" + thread_id = folder.apply_matching(connection, message_uid) + self.assertTrue(thread_id) # Odoo standard either updates of creates record. + partner = self.Partner.browse(thread_id) + self.assertTrue(partner) + self.assertEqual( + email_normalize(partner.email), "the_smart_red_one@reynaerde.waesland" + ) + + def test_retrieve_imap_folder_domain(self): + folder = self.folder + folder.match_algorithm = "email_domain" + connection = MockConnection() + folder.retrieve_imap_folder(connection) + + def test_archive_messages(self): + folder = self.folder + folder.archive_path = "archived_messages" + connection = MockConnection() + folder.check_imap_archive_folder(connection) + # Apply matching should succeed with no error. + folder.match_algorithm = "email_exact" + message_uid = "<485a8041-d560-a981-5afc-d31c1f136748@acme.com>" + folder.apply_matching(connection, message_uid) + # Should fail on not existing folder that is not autocreated. + with self.assertRaises(UserError): + folder.archive_path = "will_not_be_created" + folder.check_imap_archive_folder(connection) + # Should not fail if no archive path. + folder.archive_path = False + folder.check_imap_archive_folder(connection) + # Archiving should simply not fail. + folder._archive_msg(connection, "does not matter") + + def test_non_action(self): + connection = MockConnection() + self.folder.action_id = False + self.folder.apply_matching(connection, "1") + self.assertFalse(self.test_partner.category_id) + + def test_get_criteria(self): + self.folder.write({"fetch_unseen_only": False, "fetch_last_day_only": False}) + criteria = self.folder.get_criteria() + self.assertEqual(criteria, "UNDELETED") + self.folder.write({"fetch_unseen_only": True, "fetch_last_day_only": False}) + criteria = self.folder.get_criteria() + self.assertEqual(criteria, "UNSEEN UNDELETED") + self.folder.write({"fetch_last_day_only": True}) + criteria = self.folder.get_criteria() + criteria_words = criteria.split() + criteria_words[0] = "SINCE" + since_date = datetime.strptime(criteria_words[1], "%d-%b-%Y").date() + yesterday = fields.Date.subtract(fields.Date.context_today(self.folder), days=1) + self.assertEqual(since_date, yesterday) + + def test_action(self): + connection = MockConnection() + self.folder.action_id = self.server_action + self.folder.apply_matching(connection, "1") + self.assertEqual(self.partner_category, self.test_partner.category_id) + + def test_button_confirm_folder(self): + """Test the button_confirm_folder method.""" + folder = self.folder + with patch.object( + self.server.__class__, "_connect__", return_value=MockConnection() + ): + # Inactive folders are not set to done + folder.active = False + folder.button_confirm_folder() + self.assertEqual(folder.state, "draft") + # Active folders are set to done + folder.active = True + folder.button_confirm_folder() + self.assertEqual(folder.state, "done") + # Should fail on unknown folder. + with self.assertRaises(ValidationError): + folder.path = "invalid_folder" + folder.button_confirm_folder() + + def test_fetchmail(self): + """Test the overall process.""" + folder = self.folder + with patch.object( + self.server.__class__, "_connect__", return_value=MockConnection() + ): + # Should not result in error if not active or in draft. + folder.active = False + folder.button_confirm_folder() + self.assertEqual(folder.state, "draft") + folder.fetch_mail() + # Should also not result in error if active. + folder.active = True + folder.button_confirm_folder() + self.assertEqual(folder.state, "done") + folder.fetch_mail() + + def test_fetch_msg_exception(self): + """There can be an exception, for example if message no longer exists.""" + folder = self.folder + connection = MockConnection() + with self.assertRaises(UserError): + folder.fetch_msg(connection, "deleted_uid") + + def test_get_message_uids(self): + """Test failure on invalid criteria.""" + folder = self.folder + connection = MockConnection() + criteria = folder.get_criteria() + message_uids = folder.get_message_uids(connection, criteria) + self.assertEqual(message_uids, ["123 456"]) + folder.path = "invalid_folder" + with self.assertRaises(UserError): + folder.get_message_uids(connection, criteria) + folder.path = "INBOX" # Restore valid folder path. + criteria = "test_invalid" + with self.assertRaises(UserError): + folder.get_message_uids(connection, criteria) + + def test_update_msg(self): + """Message update depends on folder configuration.""" + folder = self.folder + connection = MockConnection() + folder.seen = "matching" + folder.update_msg(connection, "123", matched=True) + self._check_flags(connection, "123", "\\Seen") + folder.seen = "on_fetch" # back to default + folder.delete_matching = True + folder.update_msg(connection, "456", matched=True) + self._check_flags(connection, "456", "\\DELETED") + folder.delete_matching = False # back to default + self.flag_nonmatching = True + folder.update_msg(connection, "789", matched=True, flagged=True) + self._check_flags(connection, "789", "") + + def _check_flags(self, connection, uid, expected_flags): + """Check whether expected value stored.""" + self.assertIn(uid, connection._msg_store) + self.assertIn("FLAGS", connection._msg_store[uid]) + self.assertEqual(connection._msg_store[uid]["FLAGS"], expected_flags) + + def test_get_partner_from_object(self): + """When object refers to partner, return that partner.""" + folder = self.folder + company_partner = folder._get_partner_from_object(self.env.company) + self.assertEqual(self.env.company.partner_id, company_partner) + # Object with no partner_id should return empty recordset. + server_partner = folder._get_partner_from_object(self.server) + self.assertEqual(server_partner._name, "res.partner") + self.assertEqual(len(server_partner), 0) + + def test_button_attach_mail_manually(self): + """The button should return the an action dictionary.""" + folder = self.folder + action_dict = folder.button_attach_mail_manually() + Wizard = self.env[action_dict["res_model"]] + self.assertEqual(Wizard._name, "fetchmail.attach.mail.manually") + + def test_set_draft(self): + """Test the set_draft method.""" + folder = self.folder + res = folder.set_draft() + self.assertEqual(res, True) + self.assertEqual(folder.state, "draft") diff --git a/fetchmail_from_imap_folder/views/fetchmail_server.xml b/fetchmail_from_imap_folder/views/fetchmail_server.xml new file mode 100644 index 000000000..819f3113e --- /dev/null +++ b/fetchmail_from_imap_folder/views/fetchmail_server.xml @@ -0,0 +1,136 @@ + + + + fetchmail.server.form + fetchmail.server + + + + server_type not in ('imap', 'outlook') + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+
+
diff --git a/fetchmail_from_imap_folder/wizard/__init__.py b/fetchmail_from_imap_folder/wizard/__init__.py new file mode 100644 index 000000000..bdeb5f85c --- /dev/null +++ b/fetchmail_from_imap_folder/wizard/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import attach_mail_manually diff --git a/fetchmail_from_imap_folder/wizard/attach_mail_manually.py b/fetchmail_from_imap_folder/wizard/attach_mail_manually.py new file mode 100644 index 000000000..bcd0a702b --- /dev/null +++ b/fetchmail_from_imap_folder/wizard/attach_mail_manually.py @@ -0,0 +1,95 @@ +# Copyright 2013-2026 Therp BV . +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +import logging + +from odoo import api, fields, models +from odoo.fields import Command + +_logger = logging.getLogger(__name__) + + +class AttachMailManually(models.TransientModel): + """Attach mail to selected documents.""" + + _name = "fetchmail.attach.mail.manually" + _description = __doc__ + + name = fields.Char() + folder_id = fields.Many2one(comodel_name="fetchmail.server.folder") + mail_ids = fields.One2many( + "fetchmail.attach.mail.manually.mail", "wizard_id", "Emails" + ) + + @api.model + def _prepare_mail(self, folder, message_uid, message_dict): + return { + "message_uid": message_uid, + "subject": message_dict.get("subject", ""), + "date": message_dict.get("date") or False, + "body": message_dict.get("body", ""), + "email_from": message_dict.get("from", ""), + } + + @api.model + def default_get(self, fields_list): + defaults = super().default_get(fields_list) + if not fields_list or "name" in fields_list: + defaults["name"] = self.env._("Attach emails manually") + defaults["mail_ids"] = [] + FetchmailServerFolder = self.env["fetchmail.server.folder"] + folder_id = self.env.context.get("folder_id") + defaults["folder_id"] = folder_id + folder = FetchmailServerFolder.browse([folder_id]) + connection = folder.server_id._connect__() + connection.select(folder.path) + criteria = "FLAGGED" if folder.flag_nonmatching else folder.get_criteria() + message_uids = folder.get_message_uids(connection, criteria) + for message_uid in message_uids[0].split(): + message_org = folder.fetch_msg(connection, message_uid) + message_dict = folder._get_message_dict(message_org) + defaults["mail_ids"].append( + Command.create(self._prepare_mail(folder, message_uid, message_dict)) + ) + connection.close() + return defaults + + def attach_mails(self): + self.ensure_one() + folder = self.folder_id + server = folder.server_id + connection = server._connect__() + connection.select(folder.path) + for mail in self.mail_ids: + if not mail.object_id: + continue + message_uid = mail.message_uid + message_org = folder.fetch_msg(connection, message_uid) + message_dict = folder._get_message_dict(message_org) + folder.attach_mail(mail.object_id, message_dict) + folder.update_msg( + connection, message_uid, matched=True, flagged=folder.flag_nonmatching + ) + connection.close() + return {"type": "ir.actions.act_window_close"} + + +class AttachMailManuallyMail(models.TransientModel): + """Attach single mail to selected documents.""" + + _name = "fetchmail.attach.mail.manually.mail" + _description = __doc__ + + wizard_id = fields.Many2one("fetchmail.attach.mail.manually", readonly=True) + message_uid = fields.Char("Message id") + subject = fields.Char(readonly=True) + date = fields.Datetime(readonly=True) + email_from = fields.Char("From", readonly=True) + body = fields.Html(readonly=True) + object_id = fields.Reference( + selection=lambda self: self._get_model_selection(), + ) + + def _get_model_selection(self): + """Selection from all models in the system.""" + Model = self.env["ir.model"] + return [(m.model, m.name) for m in Model.search([("transient", "=", False)])] diff --git a/fetchmail_from_imap_folder/wizard/attach_mail_manually.xml b/fetchmail_from_imap_folder/wizard/attach_mail_manually.xml new file mode 100644 index 000000000..d2d0d6fd6 --- /dev/null +++ b/fetchmail_from_imap_folder/wizard/attach_mail_manually.xml @@ -0,0 +1,43 @@ + + + + fetchmail.attach.mail.manually + fetchmail.attach.mail.manually + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+