first commit
This commit is contained in:
6
modules/marketing_email/__init__.py
Normal file
6
modules/marketing_email/__init__.py
Normal file
@@ -0,0 +1,6 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
from . import routes
|
||||
|
||||
__all__ = [routes]
|
||||
BIN
modules/marketing_email/__pycache__/__init__.cpython-311.pyc
Normal file
BIN
modules/marketing_email/__pycache__/__init__.cpython-311.pyc
Normal file
Binary file not shown.
BIN
modules/marketing_email/__pycache__/exceptions.cpython-311.pyc
Normal file
BIN
modules/marketing_email/__pycache__/exceptions.cpython-311.pyc
Normal file
Binary file not shown.
BIN
modules/marketing_email/__pycache__/ir.cpython-311.pyc
Normal file
BIN
modules/marketing_email/__pycache__/ir.cpython-311.pyc
Normal file
Binary file not shown.
BIN
modules/marketing_email/__pycache__/marketing.cpython-311.pyc
Normal file
BIN
modules/marketing_email/__pycache__/marketing.cpython-311.pyc
Normal file
Binary file not shown.
BIN
modules/marketing_email/__pycache__/routes.cpython-311.pyc
Normal file
BIN
modules/marketing_email/__pycache__/routes.cpython-311.pyc
Normal file
Binary file not shown.
BIN
modules/marketing_email/__pycache__/web.cpython-311.pyc
Normal file
BIN
modules/marketing_email/__pycache__/web.cpython-311.pyc
Normal file
Binary file not shown.
42
modules/marketing_email/email_subscribe.html
Normal file
42
modules/marketing_email/email_subscribe.html
Normal file
@@ -0,0 +1,42 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns:py="http://genshi.edgewall.org/">
|
||||
<head>
|
||||
<title>Subscription Request</title>
|
||||
</head>
|
||||
<body>
|
||||
<py:for each="record in records">
|
||||
<div style="display: block; text-align: center">
|
||||
<div>
|
||||
<h1>Just one more step...</h1>
|
||||
<py:choose>
|
||||
<py:when test="record.party and record.party.name">
|
||||
<p>${record.party.name}</p>
|
||||
</py:when>
|
||||
<py:otherwise>
|
||||
<p>${record.email}</p>
|
||||
</py:otherwise>
|
||||
</py:choose>
|
||||
<form action="${record.get_email_subscribe_url()}">
|
||||
<py:for each="name, value in extract_params(record.get_email_subscribe_url())">
|
||||
<input type="hidden" name="${name}" value="${value}"/>
|
||||
</py:for>
|
||||
<button type="submit"
|
||||
style="cursor: pointer;
|
||||
padding: 0.5em 1em; font-size: 2em;
|
||||
border: 1px solid #2E6DA4; border-radius: 4px;
|
||||
color: #FFF; background-color: #337AB7;">
|
||||
Subscribe to ${record.list_.name}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
<hr style="margin-top: 20px;
|
||||
border-style: solid none none; border-color: #EEE"></hr>
|
||||
<div style="font-size: 80%; color: #777">
|
||||
<p>Button is not working? Paste this into your browser:</p>
|
||||
<p>${record.get_email_subscribe_url()}</p>
|
||||
<p>If you received this email by mistake, just ignore it.</p>
|
||||
</div>
|
||||
</div>
|
||||
</py:for>
|
||||
</body>
|
||||
</html>
|
||||
42
modules/marketing_email/email_unsubscribe.html
Normal file
42
modules/marketing_email/email_unsubscribe.html
Normal file
@@ -0,0 +1,42 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns:py="http://genshi.edgewall.org/">
|
||||
<head>
|
||||
<title>Request to Unsubscribe</title>
|
||||
</head>
|
||||
<body>
|
||||
<py:for each="record in records">
|
||||
<div style="display: block; text-align: center">
|
||||
<div>
|
||||
<h1>Just one more step...</h1>
|
||||
<py:choose>
|
||||
<py:when test="record.party and record.party.name">
|
||||
<p>${record.party.name}</p>
|
||||
</py:when>
|
||||
<py:otherwise>
|
||||
<p>${record.email}</p>
|
||||
</py:otherwise>
|
||||
</py:choose>
|
||||
<form action="${record.get_email_unsubscribe_url()}">
|
||||
<py:for each="name, value in extract_params(record.get_email_unsubscribe_url())">
|
||||
<input type="hidden" name="${name}" value="${value}"/>
|
||||
</py:for>
|
||||
<button type="submit"
|
||||
style="cursor: pointer;
|
||||
padding: 0.5em 1em; font-size: 2em;
|
||||
border: 1px solid #2E6DA4; border-radius: 4px;
|
||||
color: #FFF; background-color: #337AB7;">
|
||||
Unsubscribe from ${record.list_.name}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
<hr style="margin-top: 20px;
|
||||
border-style: solid none none; border-color: #EEE"></hr>
|
||||
<div style="font-size: 80%; color: #777">
|
||||
<p>Button is not working? Paste this into your browser:</p>
|
||||
<p>${record.get_email_unsubscribe_url()}</p>
|
||||
<p>If you received this email by mistake, just ignore it.</p>
|
||||
</div>
|
||||
</div>
|
||||
</py:for>
|
||||
</body>
|
||||
</html>
|
||||
BIN
modules/marketing_email/empty.gif
Normal file
BIN
modules/marketing_email/empty.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 43 B |
12
modules/marketing_email/exceptions.py
Normal file
12
modules/marketing_email/exceptions.py
Normal file
@@ -0,0 +1,12 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
from trytond.model.exceptions import ValidationError
|
||||
|
||||
|
||||
class TemplateError(ValidationError):
|
||||
pass
|
||||
|
||||
|
||||
class EMailValidationError(ValidationError):
|
||||
pass
|
||||
1
modules/marketing_email/icons/tryton-marketing-mail.svg
Normal file
1
modules/marketing_email/icons/tryton-marketing-mail.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
|
||||
|
After Width: | Height: | Size: 247 B |
15
modules/marketing_email/ir.py
Normal file
15
modules/marketing_email/ir.py
Normal file
@@ -0,0 +1,15 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
from trytond.pool import PoolMeta
|
||||
|
||||
|
||||
class Cron(metaclass=PoolMeta):
|
||||
__name__ = 'ir.cron'
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super().__setup__()
|
||||
cls.method.selection.extend([
|
||||
('marketing.email.message|process',
|
||||
"Send Marketing Messages"),
|
||||
])
|
||||
238
modules/marketing_email/locale/bg.po
Normal file
238
modules/marketing_email/locale/bg.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
242
modules/marketing_email/locale/ca.po
Normal file
242
modules/marketing_email/locale/ca.po
Normal file
@@ -0,0 +1,242 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr "Correu electrònic"
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr "Token del correu electrònic"
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr "Llista"
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr "Tercer"
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr "Usuari web"
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr "Correus electrònics"
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr "Idioma"
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr "Subscrit"
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr "Contingut"
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr "De"
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr "Llista"
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr "Estat"
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr "Títol"
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr "URLs"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr "Correu electrònic"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr "Llista"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr "Missatge"
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
"Deixeu en blanc per a utilitzar el valor definit al fitxer de configuració."
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr "Llistes de correu electrònic"
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr "Missatges"
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr "Correus electrònics"
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr "Sol·licitud de subscripció"
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr "Sol·licitud de cancel·lació de subscripció"
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr "Envia prova"
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr "Tot"
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr "Esborrany"
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr "Enviant"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr "El correu electrònic \"%(email)s\" del registre \"%(record)s\" no es vàlid."
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
"Les direccions de correu només es poden subscriure una vegada a cada llista."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
"Contingut invàlid al missatge \"%(message)s\" amb l'excepció "
|
||||
"\"%(exception)s\"."
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr "Esborrany"
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr "Envia"
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr "Envia prova"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr "Llistes de correu electrònic"
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr "Correus electrònics de marketing"
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr "Llista de correu electrònic de màrqueting"
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr "Missatge de correu electrònic de màrqueting"
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr "Envia missatge de prova del correu electrònic de màrqueting"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr "El botó no funciona? Empega això al teu navegador:"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr "Si heu rebut aquest correu per error, ignoreu-lo."
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr "Només un pas més..."
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr "Subscriures a"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr "Sol·licitud de subscripció"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr "El botó no funciona? Empega això al teu navegador:"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr "Si heu rebut aquest correu per error, ignoreu-lo."
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr "Només un pas més..."
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr "Sol·licitud de cancel·lacio de subscripció"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr "Cancela la subscripció a"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr "Envia correus de marketing"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr "Esborrany"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr "Enviant"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr "Enviat"
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr "Edita"
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr "A:"
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr "A:"
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel·la"
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr "Envia"
|
||||
238
modules/marketing_email/locale/cs.po
Normal file
238
modules/marketing_email/locale/cs.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
244
modules/marketing_email/locale/de.po
Normal file
244
modules/marketing_email/locale/de.po
Normal file
@@ -0,0 +1,244 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr "E-Mail"
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr "E-Mail Token"
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr "Liste"
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr "Partei"
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr "Webbenutzer"
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr "E-Mails"
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr "Sprache"
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr "Angemeldet"
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr "Inhalt"
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr "Von"
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr "Liste"
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr "Status"
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr "Betreff"
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr "URLs"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr "E-Mails"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr "Liste"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr "Nachricht"
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr "Leer lassen, um den Wert aus der Konfigurationsdatei zu verwenden."
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr "Mailinglisten"
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr "Nachrichten"
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr "E-Mails"
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr "Mailing Anmeldung"
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr "Mailing Abmeldung"
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr "Testversand"
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr "Entwurf"
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr "Im Versand"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr "Die E-Mail-Adresse \"%(email)s\" für \"%(record)s\" ist ungültig."
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr "E-Mail-Adressen können nur einmal je Liste angemeldet werden."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr "Ungültiger Inhalt in Nachricht \"%(message)s\" mit Fehler \"%(exception)s\"."
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr "Entwurf"
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr "Senden"
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr "Test versenden"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr "Mailinglisten"
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr "Marketing E-Mail"
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr "Marketing E-Mail Liste"
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr "Marketing E-Mail Nachricht"
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr "Marketing E-Mail Test senden"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
"Wenn der Button nicht funktioniert, kopieren Sie bitte die folgende Zeile in"
|
||||
" die Adresszeile Ihres Browsers:"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
"Ignorieren Sie bitte diese E-Mail, wenn Sie sie irrtümlich erhalten haben."
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr "Nur noch ein weiterer Schritt..."
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr "Anmeldung für"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr "Anmeldeanfrage"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
"Wenn der Button nicht funktioniert, kopieren Sie bitte die folgende Zeile in"
|
||||
" die Adresszeile Ihres Browsers:"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
"Ignorieren Sie bitte diese E-Mail, wenn Sie sie irrtümlich erhalten haben."
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr "Nur noch ein weiterer Schritt..."
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr "Abmeldeanfrage"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr "Abmelden von"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr "Marketing Nachrichten versenden"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr "Entwurf"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr "Im Versand"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr "Gesendet"
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr "An:"
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr "An:"
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr "Senden"
|
||||
243
modules/marketing_email/locale/es.po
Normal file
243
modules/marketing_email/locale/es.po
Normal file
@@ -0,0 +1,243 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr "Correo electrónico"
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr "Token de correo electrónico"
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr "Lista"
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr "Tercero"
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr "Usuario web"
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr "Correos electrónicos"
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr "Idioma"
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr "Suscrito"
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr "Contenido"
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr "De"
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr "Lista"
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr "Estado"
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr "Título"
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr "URLs"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr "Correo electrónico"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr "Lista"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr "Mensaje"
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
"Dejar en blanco para usar el valor definido en el fichero de configuración."
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr "Listas de correos electrónicos"
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr "Mensajes"
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr "Correos electrónicos"
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr "Solicitud de suscripción"
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr "Solicitud de cancelación de suscripción"
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr "Enviar prueba"
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr "Todo"
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr "Borrador"
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr "Enviando"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr "El correo electrónico \"%(email)s\" de \"%(record)s\" no es valido."
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
"Las direcciones de correo electrónico solo se pueden suscribir una vez a "
|
||||
"cada lista."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
"Contenido inválido en el mensaje \"%(message)s\" con la excepción "
|
||||
"\"%(exception)s\"."
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr "Borrador"
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr "Enviar"
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr "Enviar prueba"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr "Listas de correos electrónicos"
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr "Email Marketing"
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr "Lista de Email Marketing"
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr "Mensaje de Email Marketing"
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr "Enviar mensaje de prueba de Email Marketing"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr "¿El botón no funciona? Pegue esto en su navegador:"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr "Si ha recibido este correo electrónico por error, por favor ignórelo."
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr "Solo un paso más ..."
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr "Suscribirse a"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr "Solicitud de suscripción"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr "¿El botón no funciona? Pega esto en tu navegador:"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr "Si ha recibido este correo electrónico por error, por favor ignórelo."
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr "Solo un paso más ..."
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr "Solicitud de cancelación de suscripción"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr "Cancelar suscripción a"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr "Enviar correos de marketing"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr "Borrador"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr "Enviando"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr "Enviado"
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr "Editar"
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr "Para:"
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr "Para:"
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr "Enviar"
|
||||
238
modules/marketing_email/locale/es_419.po
Normal file
238
modules/marketing_email/locale/es_419.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
238
modules/marketing_email/locale/et.po
Normal file
238
modules/marketing_email/locale/et.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
238
modules/marketing_email/locale/fa.po
Normal file
238
modules/marketing_email/locale/fa.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
238
modules/marketing_email/locale/fi.po
Normal file
238
modules/marketing_email/locale/fi.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
243
modules/marketing_email/locale/fr.po
Normal file
243
modules/marketing_email/locale/fr.po
Normal file
@@ -0,0 +1,243 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr "Adresse électronique"
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr "Jeton de courrier électronique"
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr "Liste"
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr "Tiers"
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr "Utilisateur web"
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr "Courriels"
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr "Langue"
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr "Abonné"
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr "Contenu"
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr "De"
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr "Liste"
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr "État"
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr "Titre"
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr "URLs"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr "Adresse électronique"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr "Liste"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr "Message"
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr "Laissez vide pour la valeur définie dans le fichier de configuration."
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr "Listes de diffusion"
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr "Messages"
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr "Adresses électroniques"
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr "Demande d'abonnement"
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr "Demande de désabonnement"
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr "Envoyer un test"
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr "Tous"
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr "Brouillons"
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr "Envoi en cours"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
"L'adresse de courriel « %(email)s » pour « %(record)s » n'est pas valide."
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
"Les adresses de courriel ne peuvent être abonnées qu'une seule fois à chaque"
|
||||
" liste."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
"Contenu non valide dans le message « %(message)s » avec l'exception "
|
||||
"« %(exception)s »."
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr "Brouillon"
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr "Envoyer"
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr "Envoyer un test"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr "Listes de diffusion"
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr "Courriel marketing"
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr "Liste de diffusion marketing"
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr "Message de courriel marketing"
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr "Test d'envoi de courriel marketing"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr "Le bouton ne fonctionne pas ? Copier ceci dans votre navigateur :"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr "Si vous avez reçu ce courriel par erreur, ignorez le."
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr "Encore une étape.."
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr "S'abonner à"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr "Demande d'abonnement"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr "Le bouton ne fonctionne pas ? Copier ceci dans votre navigateur :"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr "Si vous avez reçu ce courriel par erreur, ignorez le."
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr "Encore une étape.."
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr "Demande de désabonnement"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr "Se désabonner de"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr "Envoyer les messages marketing"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr "Brouillon"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr "Envoi en cours"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr "Envoyé"
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr "Éditer"
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr "À :"
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr "À :"
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr "Envoyer"
|
||||
238
modules/marketing_email/locale/hu.po
Normal file
238
modules/marketing_email/locale/hu.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
238
modules/marketing_email/locale/id.po
Normal file
238
modules/marketing_email/locale/id.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr "Pihak"
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr "Bahasa"
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nama"
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr "Kandungan"
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr "Dari"
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr "Pesan"
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr "Biarkan kosong untuk nilai yang ditentukan dalam file konfigurasi."
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr "Rancangan"
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr "Tombol tidak berfungsi? Lekatkan ini pada browser Anda:"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr "Jika Anda menerima email ini karena kesalahan, abaikan saja."
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr "Tinggal satu langkah lagi..."
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr "Tombol tidak berfungsi? Lekatkan ini pada browser Anda:"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr "Jika Anda menerima email ini karena kesalahan, abaikan saja."
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr "Tinggal satu langkah lagi..."
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
242
modules/marketing_email/locale/it.po
Normal file
242
modules/marketing_email/locale/it.po
Normal file
@@ -0,0 +1,242 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr "E-mail"
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr "Elenco"
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr "Controparte"
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr "Utente Web"
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr "Email"
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr "Lingua"
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr "Richiesta di iscrizione"
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr "Contenuto"
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr "Da"
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr "Elenco"
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr "Stato"
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr "Titolo"
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr "URLs"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr "Elenco"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr "Messaggio"
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr "Messaggi"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr "Email"
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr "Richiesta di iscrizione"
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr "Tutti"
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr "Bozza"
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr "Invio"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr "Bozza"
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr "Bozza"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
238
modules/marketing_email/locale/lo.po
Normal file
238
modules/marketing_email/locale/lo.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
238
modules/marketing_email/locale/lt.po
Normal file
238
modules/marketing_email/locale/lt.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
245
modules/marketing_email/locale/nl.po
Normal file
245
modules/marketing_email/locale/nl.po
Normal file
@@ -0,0 +1,245 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr "Email token"
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr "Lijst"
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr "Relatie"
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr "Web gebruiker"
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr "E-mails"
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr "Taal"
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr "Naam"
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr "Geabonneerd"
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr "Inhoud"
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr "Van"
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr "Lijst"
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr "Status"
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr "Titel"
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr "URLs"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr "Lijst"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr "Bericht"
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
"Laat leeg om de waarde te gebruiken die gedefinieerd is in het "
|
||||
"configuratiebestand."
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr "Mail lijst"
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr "Berichten"
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr "Emails"
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr "Abonnementsverzoek"
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr "Uitschrijfverzoek"
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr "Test verzenden"
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr "Concept"
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr "Bezig met verzenden"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr "Het email adres \"%(email)s\" voor \"%(record)s\" is not geldig."
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
"E-mailadressen kunnen slechts één keer op elke lijst worden ingeschreven."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
"Ongeldige inhoud in bericht \"%(message)s\" met uitzondering "
|
||||
"\"%(exception)s\"."
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr "Concept"
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr "Sturen"
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr "Test verzenden"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr "Mail lijst"
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr "Marketing e-mail"
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr "Marketing e-mail lijst"
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr "Marketing e-mailbericht"
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr "Marketing verstuur e-mailbericht test"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr "Werkt de knop niet? Plak dan dit in uw browser:"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
"Als je deze e-mail per ongeluk hebt ontvangen, negeer deze dan gewoon."
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr "Nog maar een stap.."
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr "Abboneer op"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr "Abonnementsaanvraag"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr "Werkt de knop niet? Plak dan dit in uw browser:"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
"Als je deze e-mail per ongeluk hebt ontvangen, negeer deze dan gewoon."
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr "Nog maar een stap.."
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr "Verzoek om u uit te schrijven"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr "Afmelden voor"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr "Stuur marketingberichten"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr "Concept"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr "Bezig met verzenden"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr "Verzonden"
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr "Bewerk"
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr "Aan:"
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr "Aan:"
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr "Sturen"
|
||||
238
modules/marketing_email/locale/pl.po
Normal file
238
modules/marketing_email/locale/pl.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
238
modules/marketing_email/locale/pt.po
Normal file
238
modules/marketing_email/locale/pt.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
238
modules/marketing_email/locale/ro.po
Normal file
238
modules/marketing_email/locale/ro.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
238
modules/marketing_email/locale/ru.po
Normal file
238
modules/marketing_email/locale/ru.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
248
modules/marketing_email/locale/sl.po
Normal file
248
modules/marketing_email/locale/sl.po
Normal file
@@ -0,0 +1,248 @@
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr "E-pošta"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr "E-poštni žeton"
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr "Seznam"
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr "Partner"
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr "Spletni uporabnik"
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr "E-poštni naslovi"
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr "Jezik"
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr "Naziv"
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr "Naročen"
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr "Vsebina"
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr "Od"
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr "Seznam"
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr "Stanje"
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr "Napis"
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr "URL-ji"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr "E-poštni naslovi"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr "Seznam"
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr "Sporočilo"
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
"Pustite prazno za privzeto vrednost opredeljeno v konfiguracijski datoteki."
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr "Elektronski poštni seznami"
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr "Sporočila"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr "E-poštni naslovi"
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr "Zahteva za naročnino"
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr "Zahteva za odjavo"
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr "Test pošiljanja"
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr "Vse"
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr "Osnutek"
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr "V pošiljanju"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr "E-poštni naslov \"%(email)s\" za \"%(record)s\" ni veljaven."
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr "E-poštni naslov sme biti naročen samo enkrat na posameznem seznamu."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr "Sporočilo \"%(message)s\" ima neveljavno vsebino. Napaka: \"%(exception)s\"."
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr "Osnutek"
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr "Pošlji"
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr "Test pošiljanja"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr "Elektronski poštni seznami"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr "Marketinška e-pošta"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr "Marketinška e-pošta"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr "Marketinško e-poštno sporočilo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr "Marketinško e-poštno sporočilo"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr "Gumb ne deluje? Prilepite to povezavo v vaš brskalnik:"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr "Če ste po pomoti prejeli to sporočilo, ga preprosto prezrite."
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr "Samo še en korak..."
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr "Prijava na"
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr "Zahteva za prijavo"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr "Gumb ne deluje? Prilepite to povezavo v vaš brskalnik:"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr "Če ste po pomoti prejeli to sporočilo, ga preprosto prezrite."
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr "Samo še en korak..."
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr "Zahteva za odjavo"
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr "Odjava od"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr "Pošlji marketinška sporočila"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr "Osnutek"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr "V pošiljanju"
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr "Poslano"
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr "Uredi"
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr "Za:"
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr "Za:"
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Prekliči"
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr "Pošlji"
|
||||
238
modules/marketing_email/locale/tr.po
Normal file
238
modules/marketing_email/locale/tr.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
238
modules/marketing_email/locale/uk.po
Normal file
238
modules/marketing_email/locale/uk.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
238
modules/marketing_email/locale/zh_CN.po
Normal file
238
modules/marketing_email/locale/zh_CN.po
Normal file
@@ -0,0 +1,238 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:marketing.email,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,email_token:"
|
||||
msgid "Email Token"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,party:"
|
||||
msgid "Party"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email,web_user:"
|
||||
msgid "Web User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,emails:"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,language:"
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.list,subscribed:"
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,content:"
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,from_:"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,state:"
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,title:"
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.message,urls:"
|
||||
msgid "URLs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,email:"
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,list_:"
|
||||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:marketing.email.send_test,message:"
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:marketing.email.message,from_:"
|
||||
msgid "Leave empty for the value defined in the configuration file."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_message_form"
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_email_relate_list"
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_subscribe"
|
||||
msgid "Subscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:report_email_unsubscribe"
|
||||
msgid "Unsubscribe Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_send_test"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_all"
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action.act_window.domain,name:act_email_message_form_draft"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt ""
|
||||
"model:ir.action.act_window.domain,name:act_email_message_form_sending"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_email_invalid"
|
||||
msgid "The email address \"%(email)s\" for \"%(record)s\" is not valid."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_email_list_unique"
|
||||
msgid "Email addresses can only be subscribed once to each list."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_message_invalid_content"
|
||||
msgid "Invalid content in message \"%(message)s\" with exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_draft_button"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_button"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:message_send_test_button"
|
||||
msgid "Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_email_list_form"
|
||||
msgid "Mailing Lists"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email,string:"
|
||||
msgid "Marketing Email"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.list,string:"
|
||||
msgid "Marketing Email List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.message,string:"
|
||||
msgid "Marketing Email Message"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:marketing.email.send_test,string:"
|
||||
msgid "Marketing Email Send Test"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.subscribe:"
|
||||
msgid "Subscription Request"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Button is not working? Paste this into your browser:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "If you received this email by mistake, just ignore it."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Just one more step..."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Request to Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "report:marketing.email.unsubscribe:"
|
||||
msgid "Unsubscribe from"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Send Marketing Messages"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:marketing.email.message,state:"
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.message:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:marketing.email.send_test:"
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:marketing.email.send_test,start,send:"
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
561
modules/marketing_email/marketing.py
Normal file
561
modules/marketing_email/marketing.py
Normal file
@@ -0,0 +1,561 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
import random
|
||||
import time
|
||||
from collections import defaultdict
|
||||
from email.message import EmailMessage
|
||||
from functools import lru_cache, partial
|
||||
from urllib.parse import (
|
||||
parse_qs, parse_qsl, urlencode, urljoin, urlsplit, urlunsplit)
|
||||
|
||||
from genshi.core import END, START, Attrs, QName
|
||||
from genshi.template import MarkupTemplate
|
||||
from genshi.template import TemplateError as GenshiTemplateError
|
||||
from sql import Literal
|
||||
from sql.aggregate import Count
|
||||
|
||||
try:
|
||||
import html2text
|
||||
except ImportError:
|
||||
html2text = None
|
||||
|
||||
import trytond.config as config
|
||||
from trytond.i18n import gettext
|
||||
from trytond.ir.session import token_hex
|
||||
from trytond.model import (
|
||||
DeactivableMixin, Index, ModelSQL, ModelView, Unique, Workflow, fields)
|
||||
from trytond.pool import Pool
|
||||
from trytond.pyson import Eval
|
||||
from trytond.report import Report, get_email
|
||||
from trytond.sendmail import SMTPDataManager, send_message_transactional
|
||||
from trytond.tools import grouped_slice, reduce_ids
|
||||
from trytond.tools.email_ import (
|
||||
EmailNotValidError, format_address, normalize_email, set_from_header,
|
||||
validate_email)
|
||||
from trytond.transaction import Transaction, inactive_records
|
||||
from trytond.url import http_host
|
||||
from trytond.wizard import Button, StateTransition, StateView, Wizard
|
||||
|
||||
from .exceptions import EMailValidationError, TemplateError
|
||||
|
||||
|
||||
def _add_params(url, **params):
|
||||
parts = urlsplit(url)
|
||||
query = parse_qsl(parts.query)
|
||||
for key, value in sorted(params.items()):
|
||||
query.append((key, value))
|
||||
parts = list(parts)
|
||||
parts[3] = urlencode(query)
|
||||
return urlunsplit(parts)
|
||||
|
||||
|
||||
def _extract_params(url):
|
||||
return parse_qsl(urlsplit(url).query)
|
||||
|
||||
|
||||
class Email(DeactivableMixin, ModelSQL, ModelView):
|
||||
__name__ = 'marketing.email'
|
||||
_rec_name = 'email'
|
||||
|
||||
email = fields.Char("Email", required=True)
|
||||
list_ = fields.Many2One('marketing.email.list', "List", required=True)
|
||||
email_token = fields.Char("Email Token", required=True)
|
||||
web_user = fields.Function(
|
||||
fields.Many2One('web.user', "Web User"), 'get_web_user')
|
||||
party = fields.Function(
|
||||
fields.Many2One('party.party', "Party"), 'get_web_user')
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super().__setup__()
|
||||
|
||||
t = cls.__table__()
|
||||
cls._sql_constraints = [
|
||||
('email_list_unique', Unique(t, t.email, t.list_),
|
||||
'marketing_email.msg_email_list_unique'),
|
||||
]
|
||||
cls._sql_indexes.add(Index(
|
||||
t,
|
||||
(t.list_, Index.Range()),
|
||||
(t.email, Index.Equality(cardinality='high'))))
|
||||
|
||||
@classmethod
|
||||
def default_email_token(cls, nbytes=None):
|
||||
return token_hex(nbytes)
|
||||
|
||||
@classmethod
|
||||
def get_web_user(cls, records, names):
|
||||
pool = Pool()
|
||||
WebUser = pool.get('web.user')
|
||||
result = {}
|
||||
web_user = 'web_user' in names
|
||||
if web_user:
|
||||
web_users = dict.fromkeys(list(map(int, records)))
|
||||
result['web_user'] = web_users
|
||||
party = 'party' in names
|
||||
if party:
|
||||
parties = dict.fromkeys(list(map(int, records)))
|
||||
result['party'] = parties
|
||||
for sub_records in grouped_slice(records):
|
||||
email2id = {r.email: r.id for r in sub_records}
|
||||
users = WebUser.search([
|
||||
('email', 'in', list(email2id.keys())),
|
||||
])
|
||||
if web_user:
|
||||
web_users.update((email2id[u.email], u.id) for u in users)
|
||||
if party:
|
||||
parties.update(
|
||||
(email2id[u.email], u.party.id)
|
||||
for u in users if u.party)
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
def preprocess_values(cls, mode, values):
|
||||
values = super().preprocess_values(mode, values)
|
||||
if mode == 'create':
|
||||
# Ensure to get a different token for each record
|
||||
# default methods are called only once
|
||||
values.setdefault('email_token', cls.default_email_token())
|
||||
if values.get('email'):
|
||||
values['email'] = normalize_email(values['email']).lower()
|
||||
return values
|
||||
|
||||
@classmethod
|
||||
def validate_fields(cls, records, fields_names):
|
||||
super().validate_fields(records, fields_names)
|
||||
cls.check_valid_email(records, fields_names)
|
||||
|
||||
@classmethod
|
||||
def check_valid_email(cls, records, fields_names=None):
|
||||
if fields_names and 'email' not in fields_names:
|
||||
return
|
||||
for record in records:
|
||||
if record.email:
|
||||
try:
|
||||
validate_email(record.email)
|
||||
except EmailNotValidError as e:
|
||||
raise EMailValidationError(gettext(
|
||||
'marketing_email.msg_email_invalid',
|
||||
record=record.rec_name,
|
||||
email=record.email),
|
||||
str(e)) from e
|
||||
|
||||
def get_email_subscribe(self, report_name='marketing.email.subscribe'):
|
||||
pool = Pool()
|
||||
ActionReport = pool.get('ir.action.report')
|
||||
report, = ActionReport.search([
|
||||
('report_name', '=', report_name),
|
||||
], limit=1)
|
||||
return get_email(report, self, [self.list_.language])
|
||||
|
||||
def get_email_subscribe_url(self, url=None):
|
||||
if url is None:
|
||||
url = config.get('marketing', 'email_subscribe_url')
|
||||
if url is not None:
|
||||
return _add_params(url, token=self.email_token)
|
||||
else:
|
||||
return ''
|
||||
|
||||
@classmethod
|
||||
def subscribe_url(cls, url):
|
||||
parts = urlsplit(url)
|
||||
tokens = filter(
|
||||
None, parse_qs(parts.query).get('token', [None]))
|
||||
return cls.subscribe(list(tokens))
|
||||
|
||||
@classmethod
|
||||
def subscribe(cls, tokens):
|
||||
# Make it slow to prevent brute force attacks
|
||||
delay = config.getint('marketing', 'subscribe_delay', default=1)
|
||||
Transaction().atexit(time.sleep, delay)
|
||||
with inactive_records():
|
||||
records = cls.search([
|
||||
('email_token', 'in', tokens),
|
||||
])
|
||||
cls.write(records, {'active': True})
|
||||
return bool(records)
|
||||
|
||||
def get_email_unsubscribe(self, report_name='marketing.email.unsubscribe'):
|
||||
pool = Pool()
|
||||
ActionReport = pool.get('ir.action.report')
|
||||
report, = ActionReport.search([
|
||||
('report_name', '=', report_name),
|
||||
], limit=1)
|
||||
return get_email(report, self, [self.list_.language])
|
||||
|
||||
def get_email_unsubscribe_url(self, url=None):
|
||||
if url is None:
|
||||
url = config.get('marketing', 'email_unsubscribe_url')
|
||||
if url is not None:
|
||||
return _add_params(url, token=self.email_token)
|
||||
else:
|
||||
return ''
|
||||
|
||||
@classmethod
|
||||
def unsubscribe_url(cls, url):
|
||||
parts = urlsplit(url)
|
||||
tokens = filter(
|
||||
None, parse_qs(parts.query).get('token', [None]))
|
||||
cls.unsubscribe(list(tokens))
|
||||
|
||||
@classmethod
|
||||
def unsubscribe(cls, tokens):
|
||||
# Make it slow to prevent brute force attacks
|
||||
delay = config.getint('marketing', 'subscribe_delay', default=1)
|
||||
Transaction().atexit(time.sleep, delay)
|
||||
records = cls.search([
|
||||
('email_token', 'in', tokens),
|
||||
])
|
||||
cls.write(records, {'active': False})
|
||||
return bool(records)
|
||||
|
||||
|
||||
class EmailSubscribe(Report):
|
||||
__name__ = 'marketing.email.subscribe'
|
||||
|
||||
@classmethod
|
||||
def get_context(cls, records, header, data):
|
||||
context = super().get_context(records, header, data)
|
||||
context['extract_params'] = _extract_params
|
||||
return context
|
||||
|
||||
|
||||
class EmailUnsubscribe(Report):
|
||||
__name__ = 'marketing.email.unsubscribe'
|
||||
|
||||
@classmethod
|
||||
def get_context(cls, records, header, data):
|
||||
context = super().get_context(records, header, data)
|
||||
context['extract_params'] = _extract_params
|
||||
return context
|
||||
|
||||
|
||||
class EmailList(DeactivableMixin, ModelSQL, ModelView):
|
||||
__name__ = 'marketing.email.list'
|
||||
|
||||
name = fields.Char("Name", required=True)
|
||||
language = fields.Many2One('ir.lang', "Language", required=True)
|
||||
emails = fields.One2Many('marketing.email', 'list_', "Emails")
|
||||
subscribed = fields.Function(
|
||||
fields.Integer("Subscribed"), 'get_subscribed')
|
||||
|
||||
@staticmethod
|
||||
def default_language():
|
||||
Lang = Pool().get('ir.lang')
|
||||
code = Transaction().context.get(
|
||||
'language', config.get('database', 'language'))
|
||||
try:
|
||||
lang, = Lang.search([
|
||||
('code', '=', code),
|
||||
('translatable', '=', True),
|
||||
], limit=1)
|
||||
return lang.id
|
||||
except ValueError:
|
||||
return None
|
||||
|
||||
@classmethod
|
||||
def get_subscribed(cls, lists, name):
|
||||
pool = Pool()
|
||||
Email = pool.get('marketing.email')
|
||||
email = Email.__table__()
|
||||
cursor = Transaction().connection.cursor()
|
||||
|
||||
subscribed = defaultdict(int)
|
||||
query = email.select(
|
||||
email.list_, Count(Literal('*')), group_by=[email.list_])
|
||||
for sub_lists in grouped_slice(lists):
|
||||
query.where = (
|
||||
reduce_ids(email.list_, sub_lists)
|
||||
& email.active)
|
||||
cursor.execute(*query)
|
||||
subscribed.update(cursor)
|
||||
return subscribed
|
||||
|
||||
def request_subscribe(self, email, from_=None):
|
||||
pool = Pool()
|
||||
Email = pool.get('marketing.email')
|
||||
|
||||
# Randomize processing time to prevent guessing whether the email
|
||||
# address is already subscribed to the list or not.
|
||||
Transaction().atexit(time.sleep, random.random())
|
||||
|
||||
email = email.lower()
|
||||
with inactive_records():
|
||||
records = Email.search([
|
||||
('email', '=', email),
|
||||
('list_', '=', self.id),
|
||||
])
|
||||
if not records:
|
||||
record = Email(email=email, list_=self.id, active=False)
|
||||
record.save()
|
||||
else:
|
||||
record, = records
|
||||
if not record.active:
|
||||
from_cfg = (config.get('marketing', 'email_from')
|
||||
or config.get('email', 'from'))
|
||||
msg, title = record.get_email_subscribe()
|
||||
set_from_header(msg, from_cfg, from_ or from_cfg)
|
||||
msg['To'] = record.email
|
||||
msg['Subject'] = title
|
||||
send_message_transactional(msg)
|
||||
|
||||
def request_unsubscribe(self, email, from_=None):
|
||||
pool = Pool()
|
||||
Email = pool.get('marketing.email')
|
||||
|
||||
# Randomize processing time to prevent guessing whether the email
|
||||
# address was subscribed to the list or not.
|
||||
Transaction().atexit(time.sleep, random.random())
|
||||
|
||||
email = email.lower()
|
||||
with inactive_records():
|
||||
records = Email.search([
|
||||
('email', '=', email),
|
||||
('list_', '=', self.id),
|
||||
])
|
||||
if records:
|
||||
record, = records
|
||||
if record.active:
|
||||
from_cfg = (config.get('marketing', 'email_from')
|
||||
or config.get('email', 'from'))
|
||||
msg, title = record.get_email_unsubscribe()
|
||||
set_from_header(msg, from_cfg, from_ or from_cfg)
|
||||
msg['To'] = record.email
|
||||
msg['Subject'] = title
|
||||
send_message_transactional(msg)
|
||||
|
||||
|
||||
class Message(Workflow, ModelSQL, ModelView):
|
||||
__name__ = 'marketing.email.message'
|
||||
_rec_name = 'title'
|
||||
|
||||
_states = {
|
||||
'readonly': Eval('state') != 'draft',
|
||||
}
|
||||
from_ = fields.Char(
|
||||
"From", states=_states,
|
||||
help="Leave empty for the value defined in the configuration file.")
|
||||
list_ = fields.Many2One(
|
||||
'marketing.email.list', "List",
|
||||
required=True, states=_states)
|
||||
title = fields.Char(
|
||||
"Title", required=True, states=_states)
|
||||
content = fields.Text(
|
||||
"Content",
|
||||
states={
|
||||
'required': Eval('state') != 'draft',
|
||||
'readonly': _states['readonly'],
|
||||
})
|
||||
urls = fields.One2Many(
|
||||
'web.shortened_url', 'record', "URLs", readonly=True)
|
||||
state = fields.Selection([
|
||||
('draft', "Draft"),
|
||||
('sending', "Sending"),
|
||||
('sent', "Sent"),
|
||||
], "State", readonly=True, sort=False)
|
||||
del _states
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls._sql_indexes.add(
|
||||
Index(
|
||||
t, (t.state, Index.Equality(cardinality='low')),
|
||||
where=t.state.in_(['draft', 'sending'])))
|
||||
cls._transitions |= set([
|
||||
('draft', 'sending'),
|
||||
('sending', 'sent'),
|
||||
('sending', 'draft'),
|
||||
])
|
||||
cls._buttons.update({
|
||||
'draft': {
|
||||
'invisible': Eval('state') != 'sending',
|
||||
'depends': ['state'],
|
||||
},
|
||||
'send': {
|
||||
'invisible': Eval('state') != 'draft',
|
||||
'depends': ['state'],
|
||||
},
|
||||
'send_test': {
|
||||
'invisible': Eval('state') != 'draft',
|
||||
'depends': ['state'],
|
||||
},
|
||||
})
|
||||
|
||||
@classmethod
|
||||
def default_state(cls):
|
||||
return 'draft'
|
||||
|
||||
@classmethod
|
||||
def validate_fields(cls, messages, field_names):
|
||||
super().validate_fields(messages, field_names)
|
||||
cls.check_content(messages, field_names)
|
||||
|
||||
@classmethod
|
||||
def check_content(cls, messages, field_names=None):
|
||||
if field_names and 'content' not in field_names:
|
||||
return
|
||||
for message in messages:
|
||||
if not message.content:
|
||||
continue
|
||||
try:
|
||||
MarkupTemplate(message.content)
|
||||
except GenshiTemplateError as exception:
|
||||
raise TemplateError(
|
||||
gettext('marketing_email'
|
||||
'.msg_message_invalid_content',
|
||||
message=message.rec_name,
|
||||
exception=exception)) from exception
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('draft')
|
||||
def draft(cls, messages):
|
||||
pass
|
||||
|
||||
@classmethod
|
||||
@ModelView.button_action('marketing_email.wizard_send_test')
|
||||
def send_test(cls, messages):
|
||||
pass
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('sending')
|
||||
def send(cls, messages):
|
||||
pass
|
||||
|
||||
@classmethod
|
||||
@Workflow.transition('sent')
|
||||
def sent(cls, messages):
|
||||
pass
|
||||
|
||||
@classmethod
|
||||
def process(cls, messages=None, emails=None, smtpd_datamanager=None):
|
||||
pool = Pool()
|
||||
WebShortener = pool.get('web.shortened_url')
|
||||
spy_pixel = config.getboolean(
|
||||
'marketing', 'email_spy_pixel', default=False)
|
||||
|
||||
url_base = config.get('marketing', 'email_base', default=http_host())
|
||||
url_open = urljoin(url_base, '/m/empty.gif')
|
||||
|
||||
@lru_cache(None)
|
||||
def short(url, record):
|
||||
url = WebShortener(
|
||||
record=record,
|
||||
redirect_url=url)
|
||||
url.save()
|
||||
return url.shortened_url
|
||||
|
||||
def convert_href(message):
|
||||
def filter_(stream):
|
||||
for kind, data, pos in stream:
|
||||
if kind is START:
|
||||
tag, attrs = data
|
||||
if tag == 'a' and attrs.get('href'):
|
||||
href = attrs.get('href')
|
||||
attrs -= 'href'
|
||||
href = short(href, str(message))
|
||||
attrs |= [(QName('href'), href)]
|
||||
data = tag, attrs
|
||||
elif kind is END and data == 'body' and spy_pixel:
|
||||
yield START, (QName('img'), Attrs([
|
||||
(QName('src'), short(
|
||||
url_open, str(message))),
|
||||
(QName('height'), '1'),
|
||||
(QName('width'), '1'),
|
||||
])), pos
|
||||
yield END, QName('img'), pos
|
||||
yield kind, data, pos
|
||||
return filter_
|
||||
|
||||
if not smtpd_datamanager:
|
||||
smtpd_datamanager = SMTPDataManager()
|
||||
if messages is None:
|
||||
messages = cls.search([
|
||||
('state', '=', 'sending'),
|
||||
])
|
||||
|
||||
for message in messages:
|
||||
try:
|
||||
template = MarkupTemplate(message.content)
|
||||
except GenshiTemplateError as exception:
|
||||
raise TemplateError(
|
||||
gettext('marketing_email'
|
||||
'.msg_message_invalid_content',
|
||||
message=message.rec_name,
|
||||
exception=exception)) from exception
|
||||
for email in (emails or message.list_.emails):
|
||||
content = (template
|
||||
.generate(
|
||||
email=email,
|
||||
short=partial(short, record=message))
|
||||
.filter(convert_href(message))
|
||||
.render())
|
||||
|
||||
name = email.party.rec_name if email.party else ''
|
||||
from_cfg = (config.get('marketing', 'email_from')
|
||||
or config.get('email', 'from'))
|
||||
to = format_address(email.email, name)
|
||||
|
||||
msg = EmailMessage()
|
||||
set_from_header(msg, from_cfg, message.from_ or from_cfg)
|
||||
msg['To'] = to
|
||||
msg['Subject'] = message.title
|
||||
msg['List-Unsubscribe'] = (
|
||||
f'<{email.get_email_unsubscribe_url()}>')
|
||||
msg['List-Unsubscribe-Post'] = 'List-Unsubscribe=One-Click'
|
||||
if html2text:
|
||||
converter = html2text.HTML2Text()
|
||||
content_text = converter.handle(content)
|
||||
msg.add_alternative(content_text, subtype='plain')
|
||||
if msg.is_multipart():
|
||||
msg.add_alternative(content, subtype='html')
|
||||
else:
|
||||
msg.set_content(content, subtype='html')
|
||||
|
||||
send_message_transactional(msg, datamanager=smtpd_datamanager)
|
||||
if not emails:
|
||||
cls.sent(messages)
|
||||
|
||||
|
||||
class SendTest(Wizard):
|
||||
__name__ = 'marketing.email.send_test'
|
||||
start = StateView(
|
||||
'marketing.email.send_test',
|
||||
'marketing_email.send_test_view_form', [
|
||||
Button("Cancel", 'end', 'tryton-cancel'),
|
||||
Button("Send", 'send', 'tryton-ok', default=True),
|
||||
])
|
||||
send = StateTransition()
|
||||
|
||||
def default_start(self, fields):
|
||||
pool = Pool()
|
||||
Message = pool.get('marketing.email.message')
|
||||
|
||||
message = Message(Transaction().context.get('active_id'))
|
||||
return {
|
||||
'list_': message.list_.id,
|
||||
'message': message.id,
|
||||
}
|
||||
|
||||
def transition_send(self):
|
||||
pool = Pool()
|
||||
Message = pool.get('marketing.email.message')
|
||||
Message.process([self.start.message], [self.start.email])
|
||||
return 'end'
|
||||
|
||||
|
||||
class SendTestView(ModelView):
|
||||
__name__ = 'marketing.email.send_test'
|
||||
|
||||
list_ = fields.Many2One(
|
||||
'marketing.email.list', "List", readonly=True)
|
||||
message = fields.Many2One(
|
||||
'marketing.email.message', "Message", readonly=True)
|
||||
email = fields.Many2One(
|
||||
'marketing.email', "Email", required=True,
|
||||
domain=[
|
||||
('list_', '=', Eval('list_', -1)),
|
||||
])
|
||||
219
modules/marketing_email/marketing.xml
Normal file
219
modules/marketing_email/marketing.xml
Normal file
@@ -0,0 +1,219 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tryton>
|
||||
<data>
|
||||
<record model="ir.ui.icon" id="mail_icon">
|
||||
<field name="name">tryton-marketing-mail</field>
|
||||
<field name="path">icons/tryton-marketing-mail.svg</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="email_view_form">
|
||||
<field name="model">marketing.email</field>
|
||||
<field name="type">form</field>
|
||||
<field name="name">email_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="email_view_list">
|
||||
<field name="model">marketing.email</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="name">email_list</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.act_window" id="act_email_relate_list">
|
||||
<field name="name">Emails</field>
|
||||
<field name="res_model">marketing.email</field>
|
||||
<field name="domain" eval="[('list_', '=', Eval('active_id'))]" pyson="1"/>
|
||||
</record>
|
||||
<record model="ir.action.keyword" id="act_email_relate_list_keyword1">
|
||||
<field name="keyword">form_relate</field>
|
||||
<field name="model">marketing.email.list,-1</field>
|
||||
<field name="action" ref="act_email_relate_list"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.model.access" id="access_email">
|
||||
<field name="model">marketing.email</field>
|
||||
<field name="perm_read" eval="False"/>
|
||||
<field name="perm_write" eval="False"/>
|
||||
<field name="perm_create" eval="False"/>
|
||||
<field name="perm_delete" eval="False"/>
|
||||
</record>
|
||||
<record model="ir.model.access" id="access_email_marketing_email">
|
||||
<field name="model">marketing.email</field>
|
||||
<field name="group" ref="marketing.group_marketing"/>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="True"/>
|
||||
<field name="perm_create" eval="True"/>
|
||||
<field name="perm_delete" eval="True"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="email_list_view_form">
|
||||
<field name="model">marketing.email.list</field>
|
||||
<field name="type">form</field>
|
||||
<field name="name">email_list_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="email_list_view_list">
|
||||
<field name="model">marketing.email.list</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="name">email_list_list</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.act_window" id="act_email_list_form">
|
||||
<field name="name">Mailing Lists</field>
|
||||
<field name="res_model">marketing.email.list</field>
|
||||
</record>
|
||||
<record model="ir.action.act_window.view" id="act_email_list_form_view1">
|
||||
<field name="sequence" eval="10"/>
|
||||
<field name="view" ref="email_list_view_list"/>
|
||||
<field name="act_window" ref="act_email_list_form"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.view" id="act_email_list_form_view2">
|
||||
<field name="sequence" eval="20"/>
|
||||
<field name="view" ref="email_list_view_form"/>
|
||||
<field name="act_window" ref="act_email_list_form"/>
|
||||
</record>
|
||||
<menuitem
|
||||
parent="marketing.menu_marketing"
|
||||
action="act_email_list_form"
|
||||
sequence="10"
|
||||
id="menu_email_list_form"/>
|
||||
|
||||
<record model="ir.model.access" id="access_email_list">
|
||||
<field name="model">marketing.email.list</field>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="False"/>
|
||||
<field name="perm_create" eval="False"/>
|
||||
<field name="perm_delete" eval="False"/>
|
||||
</record>
|
||||
<record model="ir.model.access" id="access_email_list_marketing_email">
|
||||
<field name="model">marketing.email.list</field>
|
||||
<field name="group" ref="marketing.group_marketing"/>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="True"/>
|
||||
<field name="perm_create" eval="True"/>
|
||||
<field name="perm_delete" eval="True"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.report" id="report_email_subscribe">
|
||||
<field name="name">Subscribe Request</field>
|
||||
<field name="model">marketing.email</field>
|
||||
<field name="report_name">marketing.email.subscribe</field>
|
||||
<field name="report">marketing_email/email_subscribe.html</field>
|
||||
<field name="template_extension">html</field>
|
||||
</record>
|
||||
<record model="ir.action.report" id="report_email_unsubscribe">
|
||||
<field name="name">Unsubscribe Request</field>
|
||||
<field name="model">marketing.email</field>
|
||||
<field name="report_name">marketing.email.unsubscribe</field>
|
||||
<field name="report">marketing_email/email_unsubscribe.html</field>
|
||||
<field name="template_extension">html</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="email_message_view_form">
|
||||
<field name="model">marketing.email.message</field>
|
||||
<field name="type">form</field>
|
||||
<field name="name">email_message_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="email_message_view_list">
|
||||
<field name="model">marketing.email.message</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="name">email_message_list</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.act_window" id="act_email_message_form">
|
||||
<field name="name">Messages</field>
|
||||
<field name="res_model">marketing.email.message</field>
|
||||
<field name="domain" eval="[('list_', '=', Eval('active_id'))]" pyson="1"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.view" id="act_email_message_form_view1">
|
||||
<field name="sequence" eval="10"/>
|
||||
<field name="view" ref="email_message_view_list"/>
|
||||
<field name="act_window" ref="act_email_message_form"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.view" id="act_email_message_form_view2">
|
||||
<field name="sequence" eval="20"/>
|
||||
<field name="view" ref="email_message_view_form"/>
|
||||
<field name="act_window" ref="act_email_message_form"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.domain" id="act_email_message_form_draft">
|
||||
<field name="name">Draft</field>
|
||||
<field name="sequence" eval="10"/>
|
||||
<field name="domain" eval="[('state', '=', 'draft')]" pyson="1"/>
|
||||
<field name="count" eval="True"/>
|
||||
<field name="act_window" ref="act_email_message_form"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.domain" id="act_email_message_form_sending">
|
||||
<field name="name">Sending</field>
|
||||
<field name="sequence" eval="20"/>
|
||||
<field name="domain" eval="[('state', '=', 'sending')]" pyson="1"/>
|
||||
<field name="count" eval="True"/>
|
||||
<field name="act_window" ref="act_email_message_form"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.domain" id="act_email_message_form_all">
|
||||
<field name="name">All</field>
|
||||
<field name="sequence" eval="9999"/>
|
||||
<field name="domain"/>
|
||||
<field name="act_window" ref="act_email_message_form"/>
|
||||
</record>
|
||||
<record model="ir.action.keyword" id="act_email_message_form_keyword1">
|
||||
<field name="keyword">form_relate</field>
|
||||
<field name="model">marketing.email.list,-1</field>
|
||||
<field name="action" ref="act_email_message_form"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.model.button" id="message_draft_button">
|
||||
<field name="model">marketing.email.message</field>
|
||||
<field name="name">draft</field>
|
||||
<field name="string">Draft</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.model.button" id="message_send_button">
|
||||
<field name="model">marketing.email.message</field>
|
||||
<field name="name">send</field>
|
||||
<field name="string">Send</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.model.button" id="message_send_test_button">
|
||||
<field name="model">marketing.email.message</field>
|
||||
<field name="name">send_test</field>
|
||||
<field name="string">Send Test</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.model.access" id="access_email_message">
|
||||
<field name="model">marketing.email.message</field>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="False"/>
|
||||
<field name="perm_create" eval="False"/>
|
||||
<field name="perm_delete" eval="False"/>
|
||||
</record>
|
||||
<record model="ir.model.access" id="access_email_message_marketing_email">
|
||||
<field name="model">marketing.email.message</field>
|
||||
<field name="group" ref="marketing.group_marketing"/>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="True"/>
|
||||
<field name="perm_create" eval="True"/>
|
||||
<field name="perm_delete" eval="True"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.wizard" id="wizard_send_test">
|
||||
<field name="name">Send Test</field>
|
||||
<field name="wiz_name">marketing.email.send_test</field>
|
||||
<field name="model">marketing.email.message</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="send_test_view_form">
|
||||
<field name="model">marketing.email.send_test</field>
|
||||
<field name="type">form</field>
|
||||
<field name="name">send_test_form</field>
|
||||
</record>
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record model="ir.cron" id="cron_send_messages">
|
||||
<field name="method">marketing.email.message|process</field>
|
||||
<field name="interval_number" eval="15"/>
|
||||
<field name="interval_type">minutes</field>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
17
modules/marketing_email/message.xml
Normal file
17
modules/marketing_email/message.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tryton>
|
||||
<data grouped="1">
|
||||
<record model="ir.message" id="msg_email_list_unique">
|
||||
<field name="text">Email addresses can only be subscribed once to each list.</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.message" id="msg_message_invalid_content">
|
||||
<field name="text">Invalid content in message "%(message)s" with exception "%(exception)s".</field>
|
||||
</record>
|
||||
<record model="ir.message" id="msg_email_invalid">
|
||||
<field name="text">The email address "%(email)s" for "%(record)s" is not valid.</field>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
12
modules/marketing_email/routes.py
Normal file
12
modules/marketing_email/routes.py
Normal file
@@ -0,0 +1,12 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
from trytond.protocols.wrappers import Response
|
||||
from trytond.tools import file_open
|
||||
from trytond.wsgi import app
|
||||
|
||||
|
||||
@app.route('/m/empty.gif')
|
||||
def empty(request):
|
||||
fp = file_open('marketing_email/empty.gif', mode='rb')
|
||||
return Response(fp, 200, content_type='image/gif', direct_passthrough=True)
|
||||
2
modules/marketing_email/tests/__init__.py
Normal file
2
modules/marketing_email/tests/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
Binary file not shown.
Binary file not shown.
159
modules/marketing_email/tests/test_module.py
Normal file
159
modules/marketing_email/tests/test_module.py
Normal file
@@ -0,0 +1,159 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
from unittest.mock import ANY, Mock, patch
|
||||
|
||||
import trytond.config as config
|
||||
from trytond.modules.marketing_email import marketing as marketing_module
|
||||
from trytond.pool import Pool
|
||||
from trytond.tests.test_tryton import ModuleTestCase, with_transaction
|
||||
from trytond.transaction import inactive_records
|
||||
|
||||
SUBSCRIBE_URL = 'http://www.example.com/subscribe'
|
||||
UNSUBSCRIBE_URL = 'http://www.example.com/unsubscribe'
|
||||
FROM = 'marketing@example.com'
|
||||
|
||||
|
||||
class MarketingEmailTestCase(ModuleTestCase):
|
||||
'Test Marketing Email module'
|
||||
module = 'marketing_email'
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
if not config.has_section('marketing'):
|
||||
config.add_section('marketing')
|
||||
subscribe_url = config.get(
|
||||
'marketing', 'email_subscribe_url', default='')
|
||||
config.set('marketing', 'email_subscribe_url', SUBSCRIBE_URL)
|
||||
self.addCleanup(
|
||||
config.set, 'marketing', 'email_subscribe_url', subscribe_url)
|
||||
unsubscribe_url = config.get(
|
||||
'marketing', 'email_unsubscribe_url', default='')
|
||||
config.set('marketing', 'email_unsubscribe_url', UNSUBSCRIBE_URL)
|
||||
self.addCleanup(
|
||||
config.set, 'marketing', 'email_unsubscribe_url', unsubscribe_url)
|
||||
spy_pixel = config.get('marketing', 'email_spy_pixel', default='')
|
||||
config.set('marketing', 'email_spy_pixel', 'true')
|
||||
self.addCleanup(
|
||||
config.set, 'marketing', 'email_spy_pixel', spy_pixel)
|
||||
from_ = config.get('email', 'from', default='')
|
||||
config.set('email', 'from', FROM)
|
||||
self.addCleanup(config.set, 'email', 'from', from_)
|
||||
|
||||
@with_transaction()
|
||||
def test_subscribe(self):
|
||||
"Test subscribe"
|
||||
pool = Pool()
|
||||
Email = pool.get('marketing.email')
|
||||
EmailList = pool.get('marketing.email.list')
|
||||
|
||||
email_list = EmailList(name="Test")
|
||||
email_list.save()
|
||||
|
||||
with patch.object(
|
||||
marketing_module,
|
||||
'send_message_transactional') as send_message:
|
||||
email_list.request_subscribe('user@example.com')
|
||||
send_message.assert_called_once()
|
||||
|
||||
with inactive_records():
|
||||
email, = Email.search([
|
||||
('list_', '=', email_list.id),
|
||||
])
|
||||
token = email.email_token
|
||||
self.assertTrue(token)
|
||||
self.assertFalse(email.active)
|
||||
self.assertEqual(email_list.subscribed, 0)
|
||||
|
||||
self.assertEqual(
|
||||
email.get_email_subscribe_url(),
|
||||
'%s?token=%s' % (SUBSCRIBE_URL, token))
|
||||
|
||||
Email.subscribe_url(SUBSCRIBE_URL)
|
||||
self.assertFalse(email.active)
|
||||
|
||||
Email.subscribe_url('%s?token=12345' % SUBSCRIBE_URL)
|
||||
self.assertFalse(email.active)
|
||||
|
||||
Email.subscribe_url(email.get_email_subscribe_url())
|
||||
self.assertTrue(email.active)
|
||||
self.assertEqual(email_list.subscribed, 1)
|
||||
|
||||
@with_transaction()
|
||||
def test_unsubscribe(self):
|
||||
"Test unsubscribe"
|
||||
pool = Pool()
|
||||
Email = pool.get('marketing.email')
|
||||
EmailList = pool.get('marketing.email.list')
|
||||
|
||||
email_list = EmailList(name="Test")
|
||||
email_list.save()
|
||||
|
||||
email = Email(email='user@example.com', list_=email_list.id)
|
||||
email.save()
|
||||
|
||||
token = email.email_token
|
||||
self.assertTrue(token)
|
||||
self.assertTrue(email.active)
|
||||
|
||||
with patch.object(
|
||||
marketing_module,
|
||||
'send_message_transactional') as send_message:
|
||||
email_list.request_unsubscribe('user@example.com')
|
||||
send_message.assert_called_once()
|
||||
|
||||
self.assertEqual(
|
||||
email.get_email_unsubscribe_url(),
|
||||
'%s?token=%s' % (UNSUBSCRIBE_URL, token))
|
||||
|
||||
Email.unsubscribe_url(UNSUBSCRIBE_URL)
|
||||
self.assertTrue(email.active)
|
||||
|
||||
Email.unsubscribe_url('%s?token=12345' % UNSUBSCRIBE_URL)
|
||||
self.assertTrue(email.active)
|
||||
|
||||
Email.unsubscribe_url(email.get_email_unsubscribe_url())
|
||||
self.assertFalse(email.active)
|
||||
|
||||
@with_transaction()
|
||||
def test_send_messages(self):
|
||||
"Test messages are sent to the list"
|
||||
pool = Pool()
|
||||
Email = pool.get('marketing.email')
|
||||
EmailList = pool.get('marketing.email.list')
|
||||
Message = pool.get('marketing.email.message')
|
||||
ShortenedURL = pool.get('web.shortened_url')
|
||||
|
||||
email_list = EmailList(name="Test")
|
||||
email_list.save()
|
||||
|
||||
email = Email(email='user@example.com', list_=email_list)
|
||||
email.save()
|
||||
message = Message(list_=email_list)
|
||||
message.title = 'Test'
|
||||
message.content = (
|
||||
'<html>'
|
||||
'<body>'
|
||||
'<a href="http://www.example.com/">Content</a>'
|
||||
'</body>'
|
||||
'</html>')
|
||||
message.save()
|
||||
Message.send([message])
|
||||
|
||||
with patch.object(
|
||||
marketing_module,
|
||||
'send_message_transactional') as send_message:
|
||||
smtpd_datamanager = Mock()
|
||||
Message.process(smtpd_datamanager=smtpd_datamanager)
|
||||
|
||||
send_message.assert_called_once_with(
|
||||
ANY, datamanager=smtpd_datamanager)
|
||||
urls = ShortenedURL.search([
|
||||
('record', '=', str(message)),
|
||||
])
|
||||
|
||||
self.assertEqual(message.state, 'sent')
|
||||
self.assertEqual(len(urls), 2)
|
||||
|
||||
|
||||
del ModuleTestCase
|
||||
26
modules/marketing_email/tryton.cfg
Normal file
26
modules/marketing_email/tryton.cfg
Normal file
@@ -0,0 +1,26 @@
|
||||
[tryton]
|
||||
version=7.8.2
|
||||
depends:
|
||||
ir
|
||||
marketing
|
||||
party
|
||||
res
|
||||
web_user
|
||||
web_shortener
|
||||
xml:
|
||||
marketing.xml
|
||||
message.xml
|
||||
|
||||
[register]
|
||||
model:
|
||||
marketing.Email
|
||||
marketing.EmailList
|
||||
marketing.Message
|
||||
marketing.SendTestView
|
||||
ir.Cron
|
||||
web.ShortenedURL
|
||||
wizard:
|
||||
marketing.SendTest
|
||||
report:
|
||||
marketing.EmailSubscribe
|
||||
marketing.EmailUnsubscribe
|
||||
11
modules/marketing_email/view/email_form.xml
Normal file
11
modules/marketing_email/view/email_form.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<form>
|
||||
<label name="list_"/>
|
||||
<field name="list_"/>
|
||||
<label name="active"/>
|
||||
<field name="active"/>
|
||||
<label name="email"/>
|
||||
<field name="email" colspan="3"/>
|
||||
</form>
|
||||
9
modules/marketing_email/view/email_list.xml
Normal file
9
modules/marketing_email/view/email_list.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tree>
|
||||
<field name="list_" expand="2"/>
|
||||
<field name="email" expand="2"/>
|
||||
<field name="party" expand="1"/>
|
||||
<field name="web_user" expand="1"/>
|
||||
</tree>
|
||||
14
modules/marketing_email/view/email_list_form.xml
Normal file
14
modules/marketing_email/view/email_list_form.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<form>
|
||||
<label name="name"/>
|
||||
<field name="name"/>
|
||||
<label name="active"/>
|
||||
<field name="active"/>
|
||||
<label name="language"/>
|
||||
<field name="language"/>
|
||||
<group id="links" col="-1" colspan="4">
|
||||
<link icon="tryton-marketing-mail" name="marketing_email.act_email_message_form"/>
|
||||
</group>
|
||||
</form>
|
||||
8
modules/marketing_email/view/email_list_list.xml
Normal file
8
modules/marketing_email/view/email_list_list.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tree>
|
||||
<field name="name" expand="2"/>
|
||||
<field name="language" expand="1"/>
|
||||
<field name="subscribed" sum="1"/>
|
||||
</tree>
|
||||
30
modules/marketing_email/view/email_message_form.xml
Normal file
30
modules/marketing_email/view/email_message_form.xml
Normal file
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<form cursor="list_">
|
||||
<label name="from_"/>
|
||||
<field name="from_" colspan="3"/>
|
||||
<label name="list_" string="To:"/>
|
||||
<field name="list_" colspan="3"/>
|
||||
<label name="title"/>
|
||||
<field name="title" colspan="3"/>
|
||||
<notebook colspan="4">
|
||||
<page name="content">
|
||||
<label name="content" yfill="1" yalign="0"/>
|
||||
<group col="-1" id="content" colspan="3" yexpand="1">
|
||||
<field name="content"/>
|
||||
<field name="content" string="Edit" widget="html" xexpand="0"/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="urls">
|
||||
<field name="urls" colspan="4"/>
|
||||
</page>
|
||||
</notebook>
|
||||
<label name="state"/>
|
||||
<field name="state"/>
|
||||
<group col="-1" colspan="2" id="buttons">
|
||||
<button name="draft"/>
|
||||
<button name="send_test" colspan="2"/>
|
||||
<button name="send"/>
|
||||
</group>
|
||||
</form>
|
||||
9
modules/marketing_email/view/email_message_list.xml
Normal file
9
modules/marketing_email/view/email_message_list.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tree>
|
||||
<field name="from_"/>
|
||||
<field name="list_"/>
|
||||
<field name="title"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
9
modules/marketing_email/view/send_test_form.xml
Normal file
9
modules/marketing_email/view/send_test_form.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<form col="2">
|
||||
<label name="email" string="To:"/>
|
||||
<field name="email"/>
|
||||
<label name="message"/>
|
||||
<field name="message"/>
|
||||
</form>
|
||||
14
modules/marketing_email/web.py
Normal file
14
modules/marketing_email/web.py
Normal file
@@ -0,0 +1,14 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
from trytond.pool import PoolMeta
|
||||
|
||||
|
||||
class ShortenedURL(metaclass=PoolMeta):
|
||||
__name__ = 'web.shortened_url'
|
||||
|
||||
@classmethod
|
||||
def _get_models(cls):
|
||||
return super()._get_models() + [
|
||||
'marketing.email.message',
|
||||
]
|
||||
Reference in New Issue
Block a user