| Strings Words Characters | |||
|---|---|---|---|
| 418 3,701 42,182 |
|
All strings | Browse Translate Zen |
| 3 885 13,161 |
|
Approved strings | Browse Translate Zen |
| 377 3,456 40,316 |
|
Translated strings | Browse Translate Zen |
| 374 2,571 27,155 |
|
Strings waiting for review | Browse Translate Zen |
| 41 245 1,866 |
|
Unfinished strings | Browse Translate Zen |
| 41 245 1,866 |
|
Untranslated strings | Browse Translate Zen |
| 2 44 255 |
|
Strings with any failing checks | Browse Translate Zen |
| 2 44 255 |
|
Translated strings with any failing checks | Browse Translate Zen |
| 2 44 255 |
|
Failing check: Double space | Browse Translate Zen |
Summary
| Project website | www.odoo.com | |
|---|---|---|
| Project reviewers41 |
|
|
| Translation license | BSD 2-Clause "Simplified" License | |
| Translation process |
|
|
| File mask |
addons/calendar/i18n/*.po
|
|
| Translation file |
Download
addons/calendar/i18n/ca.po
|
|
| Last change | March 14, 2026, 9:32 a.m. | |
| Last change made by | GitHub webhook | |
| Language | Catalan | |
| Language code | ca | |
| Text direction | Left to right | |
| Case sensitivity | Case-sensitive | |
| Number of speakers | 8,218,781 | |
| Number of plurals | 2 | |
| Plural type | One/other | |
| Plurals | Singular | 1 | Plural | 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, … |
| Plural formula |
n != 1
|
|
03/27/2026
String statistics
| Strings percent | Hosted strings | Words percent | Hosted words | Characters percent | Hosted characters | |
|---|---|---|---|---|---|---|
| Total | 418 | 3,701 | 42,182 | |||
| Approved | 1% | 3 | 23% | 885 | 31% | 13,161 |
| Waiting for review | 89% | 374 | 69% | 2,571 | 64% | 27,155 |
| Translated | 90% | 377 | 93% | 3,456 | 95% | 40,316 |
| Needs editing | 0% | 0 | 0% | 0 | 0% | 0 |
| Read-only | 0% | 0 | 0% | 0 | 0% | 0 |
| Failing checks | 1% | 2 | 1% | 44 | 1% | 255 |
| Strings with suggestions | 0% | 0 | 0% | 0 | 0% | 0 |
| Untranslated strings | 9% | 41 | 6% | 245 | 4% | 1,866 |
Quick numbers
and previous 30 days
Trends of last 30 days
—
Hosted words
+100%
—
Hosted strings
+100%
—
Translated
+90%
+100%
Contributors
—
|
Changes committed |
Changes committed
03/14/2026
|
|
Translation approved |
<div style="font-size: 13px; color: #374151;">
<t t-set="customer" t-value=" object.event_id.find_partner_customer()"/> <t t-set="target_responsible" t-value="object.partner_id == object.event_id.partner_id"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <t t-set="is_online" t-value="'appointment_type_id' in object.event_id and object.event_id.appointment_type_id"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Invitation </h1> <p style="margin: 0;"> <span style="display: block; margin-bottom: 8px;">Hello <t t-out="object.common_name or ''">Wood Corner</t>,</span> <t t-if="not target_responsible"> <t t-if="not object.event_id.user_id.active"> You have been invited by Customer to the <strong t-out="object.event_id.name or ''">Follow-up for Project proposal</strong> meeting. </t> <t t-else=""> <t t-out="object.event_id.user_id.partner_id.name or ''">Colleen Diaz</t> invited you for the <strong t-out="object.event_id.name or ''">Follow-up for Project proposal</strong> meeting. </t> </t> <t t-else=""> Your meeting <strong t-out="object.event_id.name or ''">Follow-up for Project proposal</strong> has been booked. </t> </p> <div style="text-align: center; padding: 16px 0px 16px 0px;"> <a t-attf-href="/calendar/meeting/accept?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Accept</a> <a t-attf-href="/calendar/meeting/decline?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; margin-left: 6px; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Decline</a> <a t-attf-href="/calendar/meeting/view?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; margin-left: 12px; padding: 7px 14px; color: #111827; text-decoration: none; background-color: #E7E9ED; border-radius: 3px;"> View</a> </div> <div style="margin: 16px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Details</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">Date & Time</td> <td style="font-weight: bold;"> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='EEEE', lang_code=object.env.lang) or ''">Tuesday</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='d', lang_code=object.env.lang) or ''">4</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='MMMM y', lang_code=object.env.lang) or ''">May 2021</t> <t t-if="not object.event_id.allday"> <t t-out="format_time(time=object.event_id.start, tz=object.mail_tz, time_format='short', lang_code=object.env.lang) or ''">11:00 AM</t> <t t-if="object.mail_tz"> <span style="font-size: 11px; font-weight: normal;"> (<t t-out="object.mail_tz or ''">Europe/Brussels</t>) </span> </t> </t> </td> </tr> <tr t-if="recurrent"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">When</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">Every 1 Weeks, for 3 events</t></td> </tr> <tr t-if="not object.event_id.allday and object.event_id.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Duration</td> <td style="padding-top: 6px;"><t t-out="('%dH%02d' % (object.event_id.duration,round(object.event_id.duration*60)%60)) or ''">0H30</t></td> </tr> <tr t-if="object.event_id.location"> <td style="width: 100px; padding-top: 6px; color: #676F7B; vertical-align: top;">Location</td> <td style="padding-top: 6px;"> <t t-out="object.event_id.location or ''">Bruxelles</t> <a target="_blank" t-if="not is_online or is_online and object.event_id.location != object.event_id.appointment_type_id.location_id.name" t-attf-href="http://maps.google.com/maps?oi=map&q={{object.event_id.location}}" style="margin-left: 12px; font-size: 12px; color: #008f8c; text-decoration: underline;">View Map</a> </td> </tr> <tr t-if="object.event_id.videocall_location"> <td style="width: 100px; padding-top: 6px;color: #676F7B;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Join with</t> <t t-else="">Join</t> </td> <td style="padding-top: 6px;"> <a t-att-href="object.event_id.videocall_location" target="_blank" style="color: #008f8c;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Odoo Discuss</t> <t t-else="">Video meeting</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Attendees</h2> <div t-foreach="object.event_id.attendee_ids" t-as="attendee" style="margin-bottom: 5px;"> <img t-if="attendee.state" t-attf-src="/calendar/static/src/img/state_{{ attendee.state }}.png" style="border:0; width: 15px; height: 15px; vertical-align: text-bottom;"/> <t t-if="attendee != object"> <span style="margin-left: 5px;" t-out="attendee.common_name or ''">Mitchell Admin</span> </t> <t t-else=""> <span style="margin-left: 5px;">You</span> </t> </div> </div> <div t-if="not is_html_empty(object.event_id.description)" style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Description of the event</h2> <t t-out="object.event_id.description">Internal meeting for discussion for new pricing for product and services.</t> </div> <p style="margin: 32px 0 0;"> Thank you! <t t-if="object.event_id.user_id.signature"> <span style="display: block; margin-top: 8px;"><t t-out="object.event_id.user_id.signature or ''">Mitchell Admin</t></span> </t> </p> </div>
<div style="font-size: 13px; color: #374151;">
<t t-set="customer" t-value=" object.event_id.find_partner_customer()"/> <t t-set="target_responsible" t-value="object.partner_id == object.event_id.partner_id"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <t t-set="is_online" t-value="'appointment_type_id' in object.event_id and object.event_id.appointment_type_id"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Invitació </h1> <p style="margin: 0;"> <span style="display: block; margin-bottom: 8px;">Hola, <t t-out="object.common_name or ''">Wood Corner</t>:</span> <t t-if="not target_responsible"> <t t-if="not object.event_id.user_id.active"> Ha estat convidat/ada a la reunió <strong t-out="object.event_id.name or ''">Seguiment de la proposta del projecte</strong>. </t> <t t-else=""> <t t-out="object.event_id.user_id.partner_id.name or ''">Colleen Diaz</t> l'ha convidat a vostè a la reunió <strong t-out="object.event_id.name or ''">Seguiment de la proposta del projecte</strong>. </t> </t> <t t-else=""> La reunió <strong t-out="object.event_id.name or ''">Seguiment de la proposta del projecte</strong> està reservada. </t> </p> <div style="text-align: center; padding: 16px 0px 16px 0px;"> <a t-attf-href="/calendar/meeting/accept?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Acceptar</a> <a t-attf-href="/calendar/meeting/decline?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; margin-left: 6px; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Rebutjar</a> <a t-attf-href="/calendar/meeting/view?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; margin-left: 12px; padding: 7px 14px; color: #111827; text-decoration: none; background-color: #E7E9ED; border-radius: 3px;"> Veure</a> </div> <div style="margin: 16px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Detalls</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">Data i hora</td> <td style="font-weight: bold;"> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='EEEE', lang_code=object.env.lang) or ''">Dimarts</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='d', lang_code=object.env.lang) or ''">4</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='MMMM y', lang_code=object.env.lang) or ''">de maig de 2021</t> <t t-if="not object.event_id.allday"> <t t-out="format_time(time=object.event_id.start, tz=object.mail_tz, time_format='short', lang_code=object.env.lang) or ''">11:00 h</t> <t t-if="object.mail_tz"> <span style="font-size: 11px; font-weight: normal;"> (<t t-out="object.mail_tz or ''">Europa/Brussel·les</t>) </span> </t> </t> </td> </tr> <tr t-if="recurrent"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Quan</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">setmanalment, 3 esdeveniments</t></td> </tr> <tr t-if="not object.event_id.allday and object.event_id.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Durada</td> <td style="padding-top: 6px;"><t t-out="('%dH%02d' % (object.event_id.duration,round(object.event_id.duration*60)%60)) or ''">0H30</t></td> </tr> <tr t-if="object.event_id.location"> <td style="width: 100px; padding-top: 6px; color: #676F7B; vertical-align: top;">Ubicació</td> <td style="padding-top: 6px;"> <t t-out="object.event_id.location or ''">Brussel·les</t> <a target="_blank" t-if="not is_online or is_online and object.event_id.location != object.event_id.appointment_type_id.location_id.name" t-attf-href="http://maps.google.com/maps?oi=map&q={{object.event_id.location}}" style="margin-left: 12px; font-size: 12px; color: #008f8c; text-decoration: underline;">Veure al mapa</a> </td> </tr> <tr t-if="object.event_id.videocall_location"> <td style="width: 100px; padding-top: 6px;color: #676F7B;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Unir-se amb</t> <t t-else="">Unir-se</t> </td> <td style="padding-top: 6px;"> <a t-att-href="object.event_id.videocall_location" target="_blank" style="color: #008f8c;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Converses d'Odoo</t> <t t-else="">Videotrucada</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Participants</h2> <div t-foreach="object.event_id.attendee_ids" t-as="attendee" style="margin-bottom: 5px;"> <img t-if="attendee.state" t-attf-src="/calendar/static/src/img/state_{{ attendee.state }}.png" style="border:0; width: 15px; height: 15px; vertical-align: text-bottom;"/> <t t-if="attendee != object"> <span style="margin-left: 5px;" t-out="attendee.common_name or ''">Mitchell Admin</span> </t> <t t-else=""> <span style="margin-left: 5px;">Vostè</span> </t> </div> </div> <div t-if="not is_html_empty(object.event_id.description)" style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Descripció de l'esdeveniment</h2> <t t-out="object.event_id.description">Reunió interna per parlar sobre els nous preus dels productes i els serveis.</t> </div> <p style="margin: 32px 0 0;"> Gràcies! <t t-if="object.event_id.user_id.signature"> <span style="display: block; margin-top: 8px;"><t t-out="object.event_id.user_id.signature or ''">Mitchell Admin</t></span> </t> </p> </div> |
|
Translation changed |
<div style="font-size: 13px; color: #374151;">
<t t-set="customer" t-value=" object.event_id.find_partner_customer()"/> <t t-set="target_responsible" t-value="object.partner_id == object.event_id.partner_id"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <t t-set="is_online" t-value="'appointment_type_id' in object.event_id and object.event_id.appointment_type_id"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Invitation </h1> <p style="margin: 0;"> <span style="display: block; margin-bottom: 8px;">Hello <t t-out="object.common_name or ''">Wood Corner</t>,</span> <t t-if="not target_responsible"> <t t-if="not object.event_id.user_id.active"> You have been invited by Customer to the <strong t-out="object.event_id.name or ''">Follow-up for Project proposal</strong> meeting. </t> <t t-else=""> <t t-out="object.event_id.user_id.partner_id.name or ''">Colleen Diaz</t> invited you for the <strong t-out="object.event_id.name or ''">Follow-up for Project proposal</strong> meeting. </t> </t> <t t-else=""> Your meeting <strong t-out="object.event_id.name or ''">Follow-up for Project proposal</strong> has been booked. </t> </p> <div style="text-align: center; padding: 16px 0px 16px 0px;"> <a t-attf-href="/calendar/meeting/accept?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Accept</a> <a t-attf-href="/calendar/meeting/decline?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; margin-left: 6px; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Decline</a> <a t-attf-href="/calendar/meeting/view?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; margin-left: 12px; padding: 7px 14px; color: #111827; text-decoration: none; background-color: #E7E9ED; border-radius: 3px;"> View</a> </div> <div style="margin: 16px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Details</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">Date & Time</td> <td style="font-weight: bold;"> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='EEEE', lang_code=object.env.lang) or ''">Tuesday</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='d', lang_code=object.env.lang) or ''">4</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='MMMM y', lang_code=object.env.lang) or ''">May 2021</t> <t t-if="not object.event_id.allday"> <t t-out="format_time(time=object.event_id.start, tz=object.mail_tz, time_format='short', lang_code=object.env.lang) or ''">11:00 AM</t> <t t-if="object.mail_tz"> <span style="font-size: 11px; font-weight: normal;"> (<t t-out="object.mail_tz or ''">Europe/Brussels</t>) </span> </t> </t> </td> </tr> <tr t-if="recurrent"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">When</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">Every 1 Weeks, for 3 events</t></td> </tr> <tr t-if="not object.event_id.allday and object.event_id.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Duration</td> <td style="padding-top: 6px;"><t t-out="('%dH%02d' % (object.event_id.duration,round(object.event_id.duration*60)%60)) or ''">0H30</t></td> </tr> <tr t-if="object.event_id.location"> <td style="width: 100px; padding-top: 6px; color: #676F7B; vertical-align: top;">Location</td> <td style="padding-top: 6px;"> <t t-out="object.event_id.location or ''">Bruxelles</t> <a target="_blank" t-if="not is_online or is_online and object.event_id.location != object.event_id.appointment_type_id.location_id.name" t-attf-href="http://maps.google.com/maps?oi=map&q={{object.event_id.location}}" style="margin-left: 12px; font-size: 12px; color: #008f8c; text-decoration: underline;">View Map</a> </td> </tr> <tr t-if="object.event_id.videocall_location"> <td style="width: 100px; padding-top: 6px;color: #676F7B;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Join with</t> <t t-else="">Join</t> </td> <td style="padding-top: 6px;"> <a t-att-href="object.event_id.videocall_location" target="_blank" style="color: #008f8c;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Odoo Discuss</t> <t t-else="">Video meeting</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Attendees</h2> <div t-foreach="object.event_id.attendee_ids" t-as="attendee" style="margin-bottom: 5px;"> <img t-if="attendee.state" t-attf-src="/calendar/static/src/img/state_{{ attendee.state }}.png" style="border:0; width: 15px; height: 15px; vertical-align: text-bottom;"/> <t t-if="attendee != object"> <span style="margin-left: 5px;" t-out="attendee.common_name or ''">Mitchell Admin</span> </t> <t t-else=""> <span style="margin-left: 5px;">You</span> </t> </div> </div> <div t-if="not is_html_empty(object.event_id.description)" style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Description of the event</h2> <t t-out="object.event_id.description">Internal meeting for discussion for new pricing for product and services.</t> </div> <p style="margin: 32px 0 0;"> Thank you! <t t-if="object.event_id.user_id.signature"> <span style="display: block; margin-top: 8px;"><t t-out="object.event_id.user_id.signature or ''">Mitchell Admin</t></span> </t> </p> </div>
<div style="font-size: 13px; color: #374151;">
<t t-set="customer" t-value=" object.event_id.find_partner_customer()"/> <t t-set="target_responsible" t-value="object.partner_id == object.event_id.partner_id"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <t t-set="is_online" t-value="'appointment_type_id' in object.event_id and object.event_id.appointment_type_id"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Invitació </h1> <p style="margin: 0;"> <span style="display: block; margin-bottom: 8px;">Hola, <t t-out="object.common_name or ''">Wood Corner</t>:</span> <t t-if="not target_responsible"> <t t-if="not object.event_id.user_id.active"> Ha estat convidat/ada a la reunió <strong t-out="object.event_id.name or ''">Seguiment de la proposta del projecte</strong>. </t> <t t-else=""> <t t-out="object.event_id.user_id.partner_id.name or ''">Colleen Diaz</t> l'ha convidat a vostè a la reunió <strong t-out="object.event_id.name or ''">Seguiment de la proposta del projecte</strong>. </t> </t> <t t-else=""> La reunió <strong t-out="object.event_id.name or ''">Seguiment de la proposta del projecte</strong> està reservada. </t> </p> <div style="text-align: center; padding: 16px 0px 16px 0px;"> <a t-attf-href="/calendar/meeting/accept?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Acceptar</a> <a t-attf-href="/calendar/meeting/decline?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; margin-left: 6px; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Rebutjar</a> <a t-attf-href="/calendar/meeting/view?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; margin-left: 12px; padding: 7px 14px; color: #111827; text-decoration: none; background-color: #E7E9ED; border-radius: 3px;"> Veure</a> </div> <div style="margin: 16px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Detalls</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">Data i hora</td> <td style="font-weight: bold;"> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='EEEE', lang_code=object.env.lang) or ''">Dimarts</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='d', lang_code=object.env.lang) or ''">4</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='MMMM y', lang_code=object.env.lang) or ''">de maig de 2021</t> <t t-if="not object.event_id.allday"> <t t-out="format_time(time=object.event_id.start, tz=object.mail_tz, time_format='short', lang_code=object.env.lang) or ''">11:00 h</t> <t t-if="object.mail_tz"> <span style="font-size: 11px; font-weight: normal;"> (<t t-out="object.mail_tz or ''">Europa/Brussel·les</t>) </span> </t> </t> </td> </tr> <tr t-if="recurrent"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Quan</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">setmanalment, 3 esdeveniments</t></td> </tr> <tr t-if="not object.event_id.allday and object.event_id.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Durada</td> <td style="padding-top: 6px;"><t t-out="('%dH%02d' % (object.event_id.duration,round(object.event_id.duration*60)%60)) or ''">0H30</t></td> </tr> <tr t-if="object.event_id.location"> <td style="width: 100px; padding-top: 6px; color: #676F7B; vertical-align: top;">Ubicació</td> <td style="padding-top: 6px;"> <t t-out="object.event_id.location or ''">Brussel·les</t> <a target="_blank" t-if="not is_online or is_online and object.event_id.location != object.event_id.appointment_type_id.location_id.name" t-attf-href="http://maps.google.com/maps?oi=map&q={{object.event_id.location}}" style="margin-left: 12px; font-size: 12px; color: #008f8c; text-decoration: underline;">Veure al mapa</a> </td> </tr> <tr t-if="object.event_id.videocall_location"> <td style="width: 100px; padding-top: 6px;color: #676F7B;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Unir-se amb</t> <t t-else="">Unir-se</t> </td> <td style="padding-top: 6px;"> <a t-att-href="object.event_id.videocall_location" target="_blank" style="color: #008f8c;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Converses d'Odoo</t> <t t-else="">Videotrucada</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Participants</h2> <div t-foreach="object.event_id.attendee_ids" t-as="attendee" style="margin-bottom: 5px;"> <img t-if="attendee.state" t-attf-src="/calendar/static/src/img/state_{{ attendee.state }}.png" style="border:0; width: 15px; height: 15px; vertical-align: text-bottom;"/> <t t-if="attendee != object"> <span style="margin-left: 5px;" t-out="attendee.common_name or ''">Mitchell Admin</span> </t> <t t-else=""> <span style="margin-left: 5px;">Vostè</span> </t> </div> </div> <div t-if="not is_html_empty(object.event_id.description)" style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Descripció de l'esdeveniment</h2> <t t-out="object.event_id.description">Reunió interna per parlar sobre els nous preus dels productes i els serveis.</t> </div> <p style="margin: 32px 0 0;"> Gràcies! <t t-if="object.event_id.user_id.signature"> <span style="display: block; margin-top: 8px;"><t t-out="object.event_id.user_id.signature or ''">Mitchell Admin</t></span> </t> </p> </div> |
|
Translation changed |
<div style="font-size: 13px; color: #374151;">
<t t-set="customer" t-value=" object.event_id.find_partner_customer()"/> <t t-set="target_responsible" t-value="object.partner_id == object.event_id.partner_id"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <t t-set="is_online" t-value="'appointment_type_id' in object.event_id and object.event_id.appointment_type_id"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Invitation </h1> <p style="margin: 0;"> <span style="display: block; margin-bottom: 8px;">Hello <t t-out="object.common_name or ''">Wood Corner</t>,</span> <t t-if="not target_responsible"> <t t-if="not object.event_id.user_id.active"> You have been invited by Customer to the <strong t-out="object.event_id.name or ''">Follow-up for Project proposal</strong> meeting. </t> <t t-else=""> <t t-out="object.event_id.user_id.partner_id.name or ''">Colleen Diaz</t> invited you for the <strong t-out="object.event_id.name or ''">Follow-up for Project proposal</strong> meeting. </t> </t> <t t-else=""> Your meeting <strong t-out="object.event_id.name or ''">Follow-up for Project proposal</strong> has been booked. </t> </p> <div style="text-align: center; padding: 16px 0px 16px 0px;"> <a t-attf-href="/calendar/meeting/accept?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Accept</a> <a t-attf-href="/calendar/meeting/decline?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; margin-left: 6px; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Decline</a> <a t-attf-href="/calendar/meeting/view?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; margin-left: 12px; padding: 7px 14px; color: #111827; text-decoration: none; background-color: #E7E9ED; border-radius: 3px;"> View</a> </div> <div style="margin: 16px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Details</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">Date & Time</td> <td style="font-weight: bold;"> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='EEEE', lang_code=object.env.lang) or ''">Tuesday</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='d', lang_code=object.env.lang) or ''">4</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='MMMM y', lang_code=object.env.lang) or ''">May 2021</t> <t t-if="not object.event_id.allday"> <t t-out="format_time(time=object.event_id.start, tz=object.mail_tz, time_format='short', lang_code=object.env.lang) or ''">11:00 AM</t> <t t-if="object.mail_tz"> <span style="font-size: 11px; font-weight: normal;"> (<t t-out="object.mail_tz or ''">Europe/Brussels</t>) </span> </t> </t> </td> </tr> <tr t-if="recurrent"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">When</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">Every 1 Weeks, for 3 events</t></td> </tr> <tr t-if="not object.event_id.allday and object.event_id.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Duration</td> <td style="padding-top: 6px;"><t t-out="('%dH%02d' % (object.event_id.duration,round(object.event_id.duration*60)%60)) or ''">0H30</t></td> </tr> <tr t-if="object.event_id.location"> <td style="width: 100px; padding-top: 6px; color: #676F7B; vertical-align: top;">Location</td> <td style="padding-top: 6px;"> <t t-out="object.event_id.location or ''">Bruxelles</t> <a target="_blank" t-if="not is_online or is_online and object.event_id.location != object.event_id.appointment_type_id.location_id.name" t-attf-href="http://maps.google.com/maps?oi=map&q={{object.event_id.location}}" style="margin-left: 12px; font-size: 12px; color: #008f8c; text-decoration: underline;">View Map</a> </td> </tr> <tr t-if="object.event_id.videocall_location"> <td style="width: 100px; padding-top: 6px;color: #676F7B;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Join with</t> <t t-else="">Join</t> </td> <td style="padding-top: 6px;"> <a t-att-href="object.event_id.videocall_location" target="_blank" style="color: #008f8c;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Odoo Discuss</t> <t t-else="">Video meeting</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Attendees</h2> <div t-foreach="object.event_id.attendee_ids" t-as="attendee" style="margin-bottom: 5px;"> <img t-if="attendee.state" t-attf-src="/calendar/static/src/img/state_{{ attendee.state }}.png" style="border:0; width: 15px; height: 15px; vertical-align: text-bottom;"/> <t t-if="attendee != object"> <span style="margin-left: 5px;" t-out="attendee.common_name or ''">Mitchell Admin</span> </t> <t t-else=""> <span style="margin-left: 5px;">You</span> </t> </div> </div> <div t-if="not is_html_empty(object.event_id.description)" style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Description of the event</h2> <t t-out="object.event_id.description">Internal meeting for discussion for new pricing for product and services.</t> </div> <p style="margin: 32px 0 0;"> Thank you! <t t-if="object.event_id.user_id.signature"> <span style="display: block; margin-top: 8px;"><t t-out="object.event_id.user_id.signature or ''">Mitchell Admin</t></span> </t> </p> </div>
<div style="font-size: 13px; color: #374151;">
<t t-set="customer" t-value=" object.event_id.find_partner_customer()"/> <t t-set="target_responsible" t-value="object.partner_id == object.event_id.partner_id"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <t t-set="is_online" t-value="'appointment_type_id' in object.event_id and object.event_id.appointment_type_id"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Invitació </h1> <p style="margin: 0;"> <span style="display: block; margin-bottom: 8px;">Hola, <t t-out="object.common_name or ''">Wood Corner</t>:</span> <t t-if="not target_responsible"> <t t-if="not object.event_id.user_id.active"> Ha estat convidat/da a la reunió <strong t-out="object.event_id.name or ''">Seguiment de la proposta del projecte</strong>. </t> <t t-else=""> <t t-out="object.event_id.user_id.partner_id.name or ''">Colleen Diaz</t> l'ha convidat a vostè a la reunió <strong t-out="object.event_id.name or ''">Seguiment de la proposta del projecte</strong>. </t> </t> <t t-else=""> La reunió <strong t-out="object.event_id.name or ''">Seguiment de la proposta del projecte</strong> està reservada. </t> </p> <div style="text-align: center; padding: 16px 0px 16px 0px;"> <a t-attf-href="/calendar/meeting/accept?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Acceptar</a> <a t-attf-href="/calendar/meeting/decline?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; margin-left: 6px; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Rebutjar</a> <a t-attf-href="/calendar/meeting/view?token={{object.access_token}}&id={{object.event_id.id}}" t-attf-style="display: inline-block; margin-left: 12px; padding: 7px 14px; color: #111827; text-decoration: none; background-color: #E7E9ED; border-radius: 3px;"> Veure</a> </div> <div style="margin: 16px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Detalls</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">Data i hora</td> <td style="font-weight: bold;"> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='EEEE', lang_code=object.env.lang) or ''">Dimarts</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='d', lang_code=object.env.lang) or ''">4</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='MMMM y', lang_code=object.env.lang) or ''">de maig de 2021</t> <t t-if="not object.event_id.allday"> <t t-out="format_time(time=object.event_id.start, tz=object.mail_tz, time_format='short', lang_code=object.env.lang) or ''">11:00 h</t> <t t-if="object.mail_tz"> <span style="font-size: 11px; font-weight: normal;"> (<t t-out="object.mail_tz or ''">Europa/Brussel·les</t>) </span> </t> </t> </td> </tr> <tr t-if="recurrent"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Quan</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">setmanalment, 3 esdeveniments</t></td> </tr> <tr t-if="not object.event_id.allday and object.event_id.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Durada</td> <td style="padding-top: 6px;"><t t-out="('%dH%02d' % (object.event_id.duration,round(object.event_id.duration*60)%60)) or ''">0H30</t></td> </tr> <tr t-if="object.event_id.location"> <td style="width: 100px; padding-top: 6px; color: #676F7B; vertical-align: top;">Ubicació</td> <td style="padding-top: 6px;"> <t t-out="object.event_id.location or ''">Brussel·les</t> <a target="_blank" t-if="not is_online or is_online and object.event_id.location != object.event_id.appointment_type_id.location_id.name" t-attf-href="http://maps.google.com/maps?oi=map&q={{object.event_id.location}}" style="margin-left: 12px; font-size: 12px; color: #008f8c; text-decoration: underline;">Veure al mapa</a> </td> </tr> <tr t-if="object.event_id.videocall_location"> <td style="width: 100px; padding-top: 6px;color: #676F7B;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Unir-se amb</t> <t t-else="">Unir-se</t> </td> <td style="padding-top: 6px;"> <a t-att-href="object.event_id.videocall_location" target="_blank" style="color: #008f8c;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Converses d'Odoo</t> <t t-else="">Videotrucada</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Participants</h2> <div t-foreach="object.event_id.attendee_ids" t-as="attendee" style="margin-bottom: 5px;"> <img t-if="attendee.state" t-attf-src="/calendar/static/src/img/state_{{ attendee.state }}.png" style="border:0; width: 15px; height: 15px; vertical-align: text-bottom;"/> <t t-if="attendee != object"> <span style="margin-left: 5px;" t-out="attendee.common_name or ''">Mitchell Admin</span> </t> <t t-else=""> <span style="margin-left: 5px;">Vostè</span> </t> </div> </div> <div t-if="not is_html_empty(object.event_id.description)" style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Descripció de l'esdeveniment</h2> <t t-out="object.event_id.description">Reunió interna per parlar sobre els nous preus dels productes i els serveis.</t> </div> <p style="margin: 32px 0 0;"> Gràcies! <t t-if="object.event_id.user_id.signature"> <span style="display: block; margin-top: 8px;"><t t-out="object.event_id.user_id.signature or ''">Mitchell Admin</t></span> </t> </p> </div> |
|
Translation changed |
<div style="font-size: 13px; color: #374151;">
<t t-set="is_online" t-value="'appointment_type_id' in object.event_id and object.event_id.appointment_type_id"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Reminder <img src="/calendar/static/src/img/bell.png" style="border:0; width: 21px; height: 24px; margin-left: 10px; text-decoration:none; vertical-align: bottom;"/> </h1> <p style="margin: 0;"> Hello <t t-out="object.common_name or ''">Gemini Furniture</t>,<br/> <span style="display: block; margin-top: 8px;">This is a reminder for the event below.</span> </p> <div style="text-align: center; padding: 16px 0px 16px 0px;"> <a t-attf-href="/calendar/{{ 'recurrence' if recurrent else 'meeting' }}/accept?token={{ object.access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Accept</a> <a t-attf-href="/calendar/{{ 'recurrence' if recurrent else 'meeting' }}/decline?token={{ object.access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; margin-left: 6px; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Decline</a> <a t-attf-href="/calendar/meeting/view?token={{ object.access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; margin-left: 12px; padding: 7px 14px; color: #111827; text-decoration: none; background-color: #E7E9ED; border-radius: 3px;"> View</a> </div> <div style="margin: 16px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Details</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">Date & Time</td> <td style="font-weight: bold;"> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='EEEE', lang_code=object.env.lang) or ''">Tuesday</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='d', lang_code=object.env.lang) or ''">4</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='MMMM y', lang_code=object.env.lang) or ''">May 2021</t> <t t-if="not object.event_id.allday"> <t t-out="format_time(time=object.event_id.start, tz=object.mail_tz, time_format='short', lang_code=object.env.lang) or ''">11:00 AM</t> <t t-if="object.mail_tz"> <span style="font-size: 11px; font-weight: normal;"> (<t t-out="object.mail_tz or ''">Europe/Brussels</t>) </span> </t> </t> </td> </tr> <tr t-if="recurrent"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">When</td> <td style="padding-top: 6px;"> <t t-out="object.recurrence_id.get_recurrence_name() or ''">Every 1 Weeks, for 3 events</t> </td> </tr> <tr t-if="not object.event_id.allday and object.event_id.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Duration</td> <td style="padding-top: 6px;"> <t t-out="('%dH%02d' % (object.event_id.duration,round(object.event_id.duration*60)%60)) or ''">0H30</t> </td> </tr> <tr t-if="object.event_id.location"> <td style="width: 100px; padding-top: 6px; color: #676F7B; vertical-align: top;">Location</td> <td style="padding-top: 6px;"> <t t-out="object.event_id.location or ''">Bruxelles</t> <a target="_blank" t-if="not is_online or is_online and object.event_id.location != object.event_id.appointment_type_id.location_id.name" t-attf-href="http://maps.google.com/maps?oi=map&q={{object.event_id.location}}" style="margin-left: 12px; font-size: 12px; color: #008f8c; text-decoration: underline;">View Map</a> </td> </tr> <tr t-if="object.event_id.videocall_location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Join with</t> <t t-else="">Join</t> </td> <td style="padding-top: 6px;"> <a t-att-href="object.event_id.videocall_location" target="_blank" style="color: #008f8c;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Odoo Discuss</t> <t t-else="">Video meeting</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Attendees</h2> <div t-foreach="object.event_id.attendee_ids" t-as="attendee" style="margin-bottom: 5px;"> <img t-if="attendee.state" t-attf-src="/calendar/static/src/img/state_{{ attendee.state }}.png" style="border:0; width: 15px; height: 15px; vertical-align: text-bottom;"/> <t t-if="attendee != object"> <span style="margin-left: 5px;" t-out="attendee.common_name or ''">Mitchell Admin</span> </t> <t t-else=""> <span style="margin-left: 5px;">You</span> </t> </div> </div> <div t-if="not is_html_empty(object.event_id.description)" style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Description of the event</h2> <t t-out="object.event_id.description">Internal meeting for discussion for new pricing for product and services.</t> </div> <p style="margin: 32px 0 0;"> Thank you! <t t-if="object.event_id.user_id.signature"> <span style="display: block; margin-top: 8px;"><t t-out="object.event_id.user_id.signature or ''">Mitchell Admin</t></span> </t> </p> </div>
<div style="font-size: 13px; color: #374151;">
<t t-set="is_online" t-value="'appointment_type_id' in object.event_id and object.event_id.appointment_type_id"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Recordatori <img src="/calendar/static/src/img/bell.png" style="border:0; width: 21px; height: 24px; margin-left: 10px; text-decoration:none; vertical-align: bottom;"/> </h1> <p style="margin: 0;"> Hola, <t t-out="object.common_name or ''">Gemini Furniture</t>:<br/> <span style="display: block; margin-top: 8px;">Aquest és un recordatori del següent esdeveniment.</span> </p> <div style="text-align: center; padding: 16px 0px 16px 0px;"> <a t-attf-href="/calendar/{{ 'recurrence' if recurrent else 'meeting' }}/accept?token={{ object.access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Acceptar</a> <a t-attf-href="/calendar/{{ 'recurrence' if recurrent else 'meeting' }}/decline?token={{ object.access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; margin-left: 6px; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Rebutjar</a> <a t-attf-href="/calendar/meeting/view?token={{ object.access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; margin-left: 12px; padding: 7px 14px; color: #111827; text-decoration: none; background-color: #E7E9ED; border-radius: 3px;"> Veure</a> </div> <div style="margin: 16px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Detalls</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">Data i hora</td> <td style="font-weight: bold;"> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='EEEE', lang_code=object.env.lang) or ''">dimarts</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='d', lang_code=object.env.lang) or ''">4</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='MMMM y', lang_code=object.env.lang) or ''">de maig de 2021</t> <t t-if="not object.event_id.allday"> <t t-out="format_time(time=object.event_id.start, tz=object.mail_tz, time_format='short', lang_code=object.env.lang) or ''">11:00 <t t-if="object.mail_tz"> <span style="font-size: 11px; font-weight: normal;"> (<t t-out="object.mail_tz or ''">Europa/Brussel·les</t>) </span> </t> </t> </td> </tr> <tr t-if="recurrent"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Quan?</td> <td style="padding-top: 6px;"> <t t-out="object.recurrence_id.get_recurrence_name() or ''">setmanalment, 3 esdeveniments</t> </td> </tr> <tr t-if="not object.event_id.allday and object.event_id.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Durada</td> <td style="padding-top: 6px;"> <t t-out="('%dH%02d' % (object.event_id.duration,round(object.event_id.duration*60)%60)) or ''">0 h 30 min</t> </td> </tr> <tr t-if="object.event_id.location"> <td style="width: 100px; padding-top: 6px; color: #676F7B; vertical-align: top;">Ubicació</td> <td style="padding-top: 6px;"> <t t-out="object.event_id.location or ''">Brussel·les</t> <a target="_blank" t-if="not is_online or is_online and object.event_id.location != object.event_id.appointment_type_id.location_id.name" t-attf-href="http://maps.google.com/maps?oi=map&q={{object.event_id.location}}" style="margin-left: 12px; font-size: 12px; color: #008f8c; text-decoration: underline;">Veure el mapa</a> </td> </tr> <tr t-if="object.event_id.videocall_location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Unir-se amb</t> <t t-else="">Unir-se</t> </td> <td style="padding-top: 6px;"> <a t-att-href="object.event_id.videocall_location" target="_blank" style="color: #008f8c;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Converses d'Odoo</t> <t t-else="">Videotrucada</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Participants</h2> <div t-foreach="object.event_id.attendee_ids" t-as="attendee" style="margin-bottom: 5px;"> <img t-if="attendee.state" t-attf-src="/calendar/static/src/img/state_{{ attendee.state }}.png" style="border:0; width: 15px; height: 15px; vertical-align: text-bottom;"/> <t t-if="attendee != object"> <span style="margin-left: 5px;" t-out="attendee.common_name or ''">Mitchell Admin</span> </t> <t t-else=""> <span style="margin-left: 5px;">Vostè</span> </t> </div> </div> <div t-if="not is_html_empty(object.event_id.description)" style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Descripció de l'esdeveniment</h2> <t t-out="object.event_id.description">Reunió interna per parlar sobre els nous preus dels productes i serveis.</t> </div> <p style="margin: 32px 0 0;"> Gràcies! <t t-if="object.event_id.user_id.signature"> <span style="display: block; margin-top: 8px;"><t t-out="object.event_id.user_id.signature or ''">Mitchell Admin</t></span> </t> </p> </div> |
|
Translation approved |
<div style="font-size: 13px; color: #374151;">
<t t-set="is_online" t-value="'appointment_type_id' in object and object.appointment_type_id"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <t t-set="mail_tz" t-value="object._get_mail_tz() or ctx.get('mail_tz')"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Event updated <img src="/calendar/static/src/img/sync.png" style="border:0; width: 24px; height: 24px; margin-left: 10px; text-decoration:none; vertical-align: bottom;"/> </h1> <p style="margin: 0;"> <span style="display: block; margin-bottom: 8px;">Hello,</span> This meeting has been updated. </p> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Details</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">Date & Time</td> <td style="font-weight: bold;"> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='EEEE', lang_code=object.env.lang)">Tuesday</t> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='d', lang_code=object.env.lang)">4</t> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='MMMM y', lang_code=object.env.lang)">May 2021</t> <t t-if="not object.allday"> <t t-out="format_time(time=object.start, tz=mail_tz, time_format='short', lang_code=object.env.lang)">11:00 AM</t> <t t-if="mail_tz"> <span style="font-size: 11px; font-weight: normal;"> (<t t-out="mail_tz or ''">Europe/Brussels</t>) </span> </t> </t> </td> </tr> <tr t-if="recurrent"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">When</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">Every 1 Weeks, for 3 events</t></td> </tr> <tr t-if="not object.allday and object.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Duration</td> <td style="padding-top: 6px;"><t t-out="('%dH%02d' % (object.duration,round(object.duration*60)%60))">0H30</t></td> </tr> <tr t-if="object.location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Location</td> <td style="padding-top: 6px;"> <t t-out="object.location or ''">Bruxelles</t> <a target="_blank" t-if="not is_online or is_online and object.location != object.appointment_type_id.location_id.name" t-attf-href="http://maps.google.com/maps?oi=map&q={{object.location}}" style="margin-left: 12px; font-size: 12px; color: #008f8c; text-decoration: underline;">View Map</a> </td> </tr> <tr t-if="object.videocall_location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;"> <t t-if="object.videocall_source == 'discuss'">Join with</t> <t t-else="">Join</t> </td> <td style="padding-top: 6px;"> <a t-att-href="object.videocall_location" target="_blank" style="color: #008f8c;"> <t t-if="object.videocall_source == 'discuss'">Odoo Discuss</t> <t t-else="">Video meeting</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Attendees</h2> <div t-foreach="object.attendee_ids" t-as="attendee" style="margin-bottom: 5px;"> <img t-if="attendee.state" t-attf-src="/calendar/static/src/img/state_{{ attendee.state }}.png" style="border:0; width: 15px; height: 15px; vertical-align: text-bottom;"/> <t t-if="attendee.common_name"> <span style="margin-left: 5px" t-out="attendee.common_name or ''">Mitchell Admin</span> </t> <t t-else=""> <span style="margin-left: 5px;">You</span> </t> </div> </div> <div t-if="not is_html_empty(object.description)" style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Description of the event</h2> <t t-out="object.description">Internal meeting for discussion for new pricing for product and services.</t> </div> <p style="margin: 32px 0 0;"> Thank you! <t t-if="object.user_id.signature"> <span style="display: block; margin-top: 8px;"><t t-out="object.user_id.signature or ''">Mitchell Admin</t></span> </t> </p> </div>
<div style="font-size: 13px; color: #374151;">
<t t-set="is_online" t-value="'appointment_type_id' in object and object.appointment_type_id"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <t t-set="mail_tz" t-value="object._get_mail_tz() or ctx.get('mail_tz')"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Esdeveniment actualitzat <img src="/calendar/static/src/img/sync.png" style="border:0; width: 24px; height: 24px; margin-left: 10px; text-decoration:none; vertical-align: bottom;"/> </h1> <p style="margin: 0;"> <span style="display: block; margin-bottom: 8px;">Hola:</span> Aquesta reunió ha estat actualitzada. </p> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Detalls</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">Data i hora</td> <td style="font-weight: bold;"> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='EEEE', lang_code=object.env.lang)">dimarts</t> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='d', lang_code=object.env.lang)">4</t> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='MMMM y', lang_code=object.env.lang)">de maig de 2021</t> <t t-if="not object.allday"> <t t-out="format_time(time=object.start, tz=mail_tz, time_format='short', lang_code=object.env.lang)">11:00 h</t> <t t-if="mail_tz"> <span style="font-size: 11px; font-weight: normal;"> (<t t-out="mail_tz or ''">Europa/Brussel·les</t>) </span> </t> </t> </td> </tr> <tr t-if="recurrent"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Quan?</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">setmanalment, 3 esdeveniments</t></td> </tr> <tr t-if="not object.allday and object.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Durada</td> <td style="padding-top: 6px;"><t t-out="('%dH%02d' % (object.duration,round(object.duration*60)%60))">0 h 30 min</t></td> </tr> <tr t-if="object.location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Ubicació</td> <td style="padding-top: 6px;"> <t t-out="object.location or ''">Brussel·les</t> <a target="_blank" t-if="not is_online or is_online and object.location != object.appointment_type_id.location_id.name" t-attf-href="http://maps.google.com/maps?oi=map&q={{object.location}}" style="margin-left: 12px; font-size: 12px; color: #008f8c; text-decoration: underline;">Veure el mapa</a> </td> </tr> <tr t-if="object.videocall_location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;"> <t t-if="object.videocall_source == 'discuss'">Unir-se amb</t> <t t-else="">Unir-se</t> </td> <td style="padding-top: 6px;"> <a t-att-href="object.videocall_location" target="_blank" style="color: #008f8c;"> <t t-if="object.videocall_source == 'discuss'">Converses d'Odoo</t> <t t-else="">Videotrucada</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Participants</h2> <div t-foreach="object.attendee_ids" t-as="attendee" style="margin-bottom: 5px;"> <img t-if="attendee.state" t-attf-src="/calendar/static/src/img/state_{{ attendee.state }}.png" style="border:0; width: 15px; height: 15px; vertical-align: text-bottom;"/> <t t-if="attendee.common_name"> <span style="margin-left: 5px" t-out="attendee.common_name or ''">Mitchell Admin</span> </t> <t t-else=""> <span style="margin-left: 5px;">Vostè</span> </t> </div> </div> <div t-if="not is_html_empty(object.description)" style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Descripció de l'esdeveniment</h2> <t t-out="object.description">Reunió interna per parlar sobre els nous preus dels productes i dels serveis.</t> </div> <p style="margin: 32px 0 0;"> Gràcies! <t t-if="object.user_id.signature"> <span style="display: block; margin-top: 8px;"><t t-out="object.user_id.signature or ''">Mitchell Admin</t></span> </t> </p> </div> |
|
Translation changed |
<div style="font-size: 13px; color: #374151;">
<t t-set="is_online" t-value="'appointment_type_id' in object and object.appointment_type_id"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <t t-set="mail_tz" t-value="object._get_mail_tz() or ctx.get('mail_tz')"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Event updated <img src="/calendar/static/src/img/sync.png" style="border:0; width: 24px; height: 24px; margin-left: 10px; text-decoration:none; vertical-align: bottom;"/> </h1> <p style="margin: 0;"> <span style="display: block; margin-bottom: 8px;">Hello,</span> This meeting has been updated. </p> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Details</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">Date & Time</td> <td style="font-weight: bold;"> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='EEEE', lang_code=object.env.lang)">Tuesday</t> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='d', lang_code=object.env.lang)">4</t> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='MMMM y', lang_code=object.env.lang)">May 2021</t> <t t-if="not object.allday"> <t t-out="format_time(time=object.start, tz=mail_tz, time_format='short', lang_code=object.env.lang)">11:00 AM</t> <t t-if="mail_tz"> <span style="font-size: 11px; font-weight: normal;"> (<t t-out="mail_tz or ''">Europe/Brussels</t>) </span> </t> </t> </td> </tr> <tr t-if="recurrent"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">When</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">Every 1 Weeks, for 3 events</t></td> </tr> <tr t-if="not object.allday and object.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Duration</td> <td style="padding-top: 6px;"><t t-out="('%dH%02d' % (object.duration,round(object.duration*60)%60))">0H30</t></td> </tr> <tr t-if="object.location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Location</td> <td style="padding-top: 6px;"> <t t-out="object.location or ''">Bruxelles</t> <a target="_blank" t-if="not is_online or is_online and object.location != object.appointment_type_id.location_id.name" t-attf-href="http://maps.google.com/maps?oi=map&q={{object.location}}" style="margin-left: 12px; font-size: 12px; color: #008f8c; text-decoration: underline;">View Map</a> </td> </tr> <tr t-if="object.videocall_location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;"> <t t-if="object.videocall_source == 'discuss'">Join with</t> <t t-else="">Join</t> </td> <td style="padding-top: 6px;"> <a t-att-href="object.videocall_location" target="_blank" style="color: #008f8c;"> <t t-if="object.videocall_source == 'discuss'">Odoo Discuss</t> <t t-else="">Video meeting</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Attendees</h2> <div t-foreach="object.attendee_ids" t-as="attendee" style="margin-bottom: 5px;"> <img t-if="attendee.state" t-attf-src="/calendar/static/src/img/state_{{ attendee.state }}.png" style="border:0; width: 15px; height: 15px; vertical-align: text-bottom;"/> <t t-if="attendee.common_name"> <span style="margin-left: 5px" t-out="attendee.common_name or ''">Mitchell Admin</span> </t> <t t-else=""> <span style="margin-left: 5px;">You</span> </t> </div> </div> <div t-if="not is_html_empty(object.description)" style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Description of the event</h2> <t t-out="object.description">Internal meeting for discussion for new pricing for product and services.</t> </div> <p style="margin: 32px 0 0;"> Thank you! <t t-if="object.user_id.signature"> <span style="display: block; margin-top: 8px;"><t t-out="object.user_id.signature or ''">Mitchell Admin</t></span> </t> </p> </div>
<div style="font-size: 13px; color: #374151;">
<t t-set="is_online" t-value="'appointment_type_id' in object and object.appointment_type_id"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <t t-set="mail_tz" t-value="object._get_mail_tz() or ctx.get('mail_tz')"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Esdeveniment actualitzat <img src="/calendar/static/src/img/sync.png" style="border:0; width: 24px; height: 24px; margin-left: 10px; text-decoration:none; vertical-align: bottom;"/> </h1> <p style="margin: 0;"> <span style="display: block; margin-bottom: 8px;">Hola:</span> Aquesta reunió ha estat actualitzada. </p> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Detalls</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">Data i hora</td> <td style="font-weight: bold;"> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='EEEE', lang_code=object.env.lang)">dimarts</t> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='d', lang_code=object.env.lang)">4</t> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='MMMM y', lang_code=object.env.lang)">de maig de 2021</t> <t t-if="not object.allday"> <t t-out="format_time(time=object.start, tz=mail_tz, time_format='short', lang_code=object.env.lang)">11:00 h</t> <t t-if="mail_tz"> <span style="font-size: 11px; font-weight: normal;"> (<t t-out="mail_tz or ''">Europa/Brussel·les</t>) </span> </t> </t> </td> </tr> <tr t-if="recurrent"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Quan?</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">setmanalment, 3 esdeveniments</t></td> </tr> <tr t-if="not object.allday and object.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Durada</td> <td style="padding-top: 6px;"><t t-out="('%dH%02d' % (object.duration,round(object.duration*60)%60))">0 h 30 min</t></td> </tr> <tr t-if="object.location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Ubicació</td> <td style="padding-top: 6px;"> <t t-out="object.location or ''">Brussel·les</t> <a target="_blank" t-if="not is_online or is_online and object.location != object.appointment_type_id.location_id.name" t-attf-href="http://maps.google.com/maps?oi=map&q={{object.location}}" style="margin-left: 12px; font-size: 12px; color: #008f8c; text-decoration: underline;">Veure el mapa</a> </td> </tr> <tr t-if="object.videocall_location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;"> <t t-if="object.videocall_source == 'discuss'">Unir-se amb</t> <t t-else="">Unir-se</t> </td> <td style="padding-top: 6px;"> <a t-att-href="object.videocall_location" target="_blank" style="color: #008f8c;"> <t t-if="object.videocall_source == 'discuss'">Converses d'Odoo</t> <t t-else="">Videotrucada</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};"> <div t-foreach="object.attendee_ids" t-as="attendee" style="margin-bottom: 5px;"> <img t-if="attendee.state" t-attf-src="/calendar/static/src/img/state_{{ attendee.state }}.png" style="border:0; width: 15px; height: 15px; vertical-align: text-bottom;"/> <t t-if="attendee.common_name"> <span style="margin-left: 5px" t-out="attendee.common_name or ''">Mitchell Admin</span> </t> <t t-else=""> <span style="margin-left: 5px;">Vostè</span> </t> </div> </div> <div t-if="not is_html_empty(object.description)" style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Descripció de l'esdeveniment</h2> <t t-out="object.description">Reunió interna per parlar sobre els nous preus dels productes i dels serveis.</t> </div> <p style="margin: 32px 0 0;"> Gràcies! <t t-if="object.user_id.signature"> <span style="display: block; margin-top: 8px;"><t t-out="object.user_id.signature or ''">Mitchell Admin</t></span> </t> </p> </div> |
|
Changes committed |
Changes committed
02/25/2026
|
|
Translation added |
<div style="font-size: 13px; color: #374151;">
<t t-set="is_online" t-value="'appointment_type_id' in object.event_id and object.event_id.appointment_type_id"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Reminder <img src="/calendar/static/src/img/bell.png" style="border:0; width: 21px; height: 24px; margin-left: 10px; text-decoration:none; vertical-align: bottom;"/> </h1> <p style="margin: 0;"> Hello <t t-out="object.common_name or ''">Gemini Furniture</t>,<br/> <span style="display: block; margin-top: 8px;">This is a reminder for the event below.</span> </p> <div style="text-align: center; padding: 16px 0px 16px 0px;"> <a t-attf-href="/calendar/{{ 'recurrence' if recurrent else 'meeting' }}/accept?token={{ object.access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Accept</a> <a t-attf-href="/calendar/{{ 'recurrence' if recurrent else 'meeting' }}/decline?token={{ object.access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; margin-left: 6px; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Decline</a> <a t-attf-href="/calendar/meeting/view?token={{ object.access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; margin-left: 12px; padding: 7px 14px; color: #111827; text-decoration: none; background-color: #E7E9ED; border-radius: 3px;"> View</a> </div> <div style="margin: 16px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Details</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">Date & Time</td> <td style="font-weight: bold;"> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='EEEE', lang_code=object.env.lang) or ''">Tuesday</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='d', lang_code=object.env.lang) or ''">4</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='MMMM y', lang_code=object.env.lang) or ''">May 2021</t> <t t-if="not object.event_id.allday"> <t t-out="format_time(time=object.event_id.start, tz=object.mail_tz, time_format='short', lang_code=object.env.lang) or ''">11:00 AM</t> <t t-if="object.mail_tz"> <span style="font-size: 11px; font-weight: normal;"> (<t t-out="object.mail_tz or ''">Europe/Brussels</t>) </span> </t> </t> </td> </tr> <tr t-if="recurrent"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">When</td> <td style="padding-top: 6px;"> <t t-out="object.recurrence_id.get_recurrence_name() or ''">Every 1 Weeks, for 3 events</t> </td> </tr> <tr t-if="not object.event_id.allday and object.event_id.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Duration</td> <td style="padding-top: 6px;"> <t t-out="('%dH%02d' % (object.event_id.duration,round(object.event_id.duration*60)%60)) or ''">0H30</t> </td> </tr> <tr t-if="object.event_id.location"> <td style="width: 100px; padding-top: 6px; color: #676F7B; vertical-align: top;">Location</td> <td style="padding-top: 6px;"> <t t-out="object.event_id.location or ''">Bruxelles</t> <a target="_blank" t-if="not is_online or is_online and object.event_id.location != object.event_id.appointment_type_id.location_id.name" t-attf-href="http://maps.google.com/maps?oi=map&q={{object.event_id.location}}" style="margin-left: 12px; font-size: 12px; color: #008f8c; text-decoration: underline;">View Map</a> </td> </tr> <tr t-if="object.event_id.videocall_location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Join with</t> <t t-else="">Join</t> </td> <td style="padding-top: 6px;"> <a t-att-href="object.event_id.videocall_location" target="_blank" style="color: #008f8c;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Odoo Discuss</t> <t t-else="">Video meeting</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Attendees</h2> <div t-foreach="object.event_id.attendee_ids" t-as="attendee" style="margin-bottom: 5px;"> <img t-if="attendee.state" t-attf-src="/calendar/static/src/img/state_{{ attendee.state }}.png" style="border:0; width: 15px; height: 15px; vertical-align: text-bottom;"/> <t t-if="attendee != object"> <span style="margin-left: 5px;" t-out="attendee.common_name or ''">Mitchell Admin</span> </t> <t t-else=""> <span style="margin-left: 5px;">You</span> </t> </div> </div> <div t-if="not is_html_empty(object.event_id.description)" style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Description of the event</h2> <t t-out="object.event_id.description">Internal meeting for discussion for new pricing for product and services.</t> </div> <p style="margin: 32px 0 0;"> Thank you! <t t-if="object.event_id.user_id.signature"> <span style="display: block; margin-top: 8px;"><t t-out="object.event_id.user_id.signature or ''">Mitchell Admin</t></span> </t> </p> </div>
<div style="font-size: 13px; color: #374151;">
<t t-set="is_online" t-value="'appointment_type_id' in object.event_id and object.event_id.appointment_type_id"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Recordatori <img src="/calendar/static/src/img/bell.png" style="border:0; width: 21px; height: 24px; margin-left: 10px; text-decoration:none; vertical-align: bottom;"/> </h1> <p style="margin: 0;"> Hola, <t t-out="object.common_name or ''">Gemini Furniture</t>:<br/> <span style="display: block; margin-top: 8px;">Aquest és un recordatori del següent esdeveniment.</span> </p> <div style="text-align: center; padding: 16px 0px 16px 0px;"> <a t-attf-href="/calendar/{{ 'recurrence' if recurrent else 'meeting' }}/accept?token={{ object.access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Acceptar</a> <a t-attf-href="/calendar/{{ 'recurrence' if recurrent else 'meeting' }}/decline?token={{ object.access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; margin-left: 6px; padding: 7px 14px; color: {{object.event_id.user_id.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{object.event_id.user_id.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Rebutjar</a> <a t-attf-href="/calendar/meeting/view?token={{ object.access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; margin-left: 12px; padding: 7px 14px; color: #111827; text-decoration: none; background-color: #E7E9ED; border-radius: 3px;"> Veure</a> </div> <div style="margin: 16px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Detalls</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">Data i hora</td> <td style="font-weight: bold;"> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='EEEE', lang_code=object.env.lang) or ''">dimarts</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='d', lang_code=object.env.lang) or ''">4</t> <t t-out="format_datetime(dt=object.event_id.start, tz=object.mail_tz if not object.event_id.allday else None, dt_format='MMMM y', lang_code=object.env.lang) or ''">de maig de 2021</t> <t t-if="not object.event_id.allday"> <t t-out="format_time(time=object.event_id.start, tz=object.mail_tz, time_format='short', lang_code=object.env.lang) or ''">11:00 AM</t> <t t-if="object.mail_tz"> <span style="font-size: 11px; font-weight: normal;"> (<t t-out="object.mail_tz or ''">Europa/Brussel·les</t>) </span> </t> </t> </td> </tr> <tr t-if="recurrent"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Quan?</td> <td style="padding-top: 6px;"> <t t-out="object.recurrence_id.get_recurrence_name() or ''">setmanalment, 3 esdeveniments</t> </td> </tr> <tr t-if="not object.event_id.allday and object.event_id.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Durada</td> <td style="padding-top: 6px;"> <t t-out="('%dH%02d' % (object.event_id.duration,round(object.event_id.duration*60)%60)) or ''">0 h 30 min</t> </td> </tr> <tr t-if="object.event_id.location"> <td style="width: 100px; padding-top: 6px; color: #676F7B; vertical-align: top;">Ubicació</td> <td style="padding-top: 6px;"> <t t-out="object.event_id.location or ''">Brussel·les</t> <a target="_blank" t-if="not is_online or is_online and object.event_id.location != object.event_id.appointment_type_id.location_id.name" t-attf-href="http://maps.google.com/maps?oi=map&q={{object.event_id.location}}" style="margin-left: 12px; font-size: 12px; color: #008f8c; text-decoration: underline;">Veure el mapa</a> </td> </tr> <tr t-if="object.event_id.videocall_location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Unir-se amb</t> <t t-else="">Unir-se</t> </td> <td style="padding-top: 6px;"> <a t-att-href="object.event_id.videocall_location" target="_blank" style="color: #008f8c;"> <t t-if="object.get_base_url() in object.event_id.videocall_location">Converses d'Odoo</t> <t t-else="">Videotrucada</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Participants</h2> <div t-foreach="object.event_id.attendee_ids" t-as="attendee" style="margin-bottom: 5px;"> <img t-if="attendee.state" t-attf-src="/calendar/static/src/img/state_{{ attendee.state }}.png" style="border:0; width: 15px; height: 15px; vertical-align: text-bottom;"/> <t t-if="attendee != object"> <span style="margin-left: 5px;" t-out="attendee.common_name or ''">Mitchell Admin</span> </t> <t t-else=""> <span style="margin-left: 5px;">Vostè</span> </t> </div> </div> <div t-if="not is_html_empty(object.event_id.description)" style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Descripció de l'esdeveniment</h2> <t t-out="object.event_id.description">Reunió interna per parlar sobre els nous preus dels productes i serveis.</t> </div> <p style="margin: 32px 0 0;"> Gràcies! <t t-if="object.event_id.user_id.signature"> <span style="display: block; margin-top: 8px;"><t t-out="object.event_id.user_id.signature or ''">Mitchell Admin</t></span> </t> </p> </div> |
|
Translation approved |
<div style="font-size: 13px; color: #374151;">
<t t-set="is_online" t-value="'appointment_type_id' in object and object.appointment_type_id"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <t t-set="mail_tz" t-value="object._get_mail_tz() or ctx.get('mail_tz')"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Event updated <img src="/calendar/static/src/img/sync.png" style="border:0; width: 24px; height: 24px; margin-left: 10px; text-decoration:none; vertical-align: bottom;"/> </h1> <p style="margin: 0;"> <span style="display: block; margin-bottom: 8px;">Hello,</span> This meeting has been updated. </p> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Details</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">Date & Time</td> <td style="font-weight: bold;"> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='EEEE', lang_code=object.env.lang)">Tuesday</t> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='d', lang_code=object.env.lang)">4</t> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='MMMM y', lang_code=object.env.lang)">May 2021</t> <t t-if="not object.allday"> <t t-out="format_time(time=object.start, tz=mail_tz, time_format='short', lang_code=object.env.lang)">11:00 AM</t> <t t-if="mail_tz"> <span style="font-size: 11px; font-weight: normal;"> (<t t-out="mail_tz or ''">Europe/Brussels</t>) </span> </t> </t> </td> </tr> <tr t-if="recurrent"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">When</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">Every 1 Weeks, for 3 events</t></td> </tr> <tr t-if="not object.allday and object.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Duration</td> <td style="padding-top: 6px;"><t t-out="('%dH%02d' % (object.duration,round(object.duration*60)%60))">0H30</t></td> </tr> <tr t-if="object.location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Location</td> <td style="padding-top: 6px;"> <t t-out="object.location or ''">Bruxelles</t> <a target="_blank" t-if="not is_online or is_online and object.location != object.appointment_type_id.location_id.name" t-attf-href="http://maps.google.com/maps?oi=map&q={{object.location}}" style="margin-left: 12px; font-size: 12px; color: #008f8c; text-decoration: underline;">View Map</a> </td> </tr> <tr t-if="object.videocall_location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;"> <t t-if="object.videocall_source == 'discuss'">Join with</t> <t t-else="">Join</t> </td> <td style="padding-top: 6px;"> <a t-att-href="object.videocall_location" target="_blank" style="color: #008f8c;"> <t t-if="object.videocall_source == 'discuss'">Odoo Discuss</t> <t t-else="">Video meeting</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Attendees</h2> <div t-foreach="object.attendee_ids" t-as="attendee" style="margin-bottom: 5px;"> <img t-if="attendee.state" t-attf-src="/calendar/static/src/img/state_{{ attendee.state }}.png" style="border:0; width: 15px; height: 15px; vertical-align: text-bottom;"/> <t t-if="attendee.common_name"> <span style="margin-left: 5px" t-out="attendee.common_name or ''">Mitchell Admin</span> </t> <t t-else=""> <span style="margin-left: 5px;">You</span> </t> </div> </div> <div t-if="not is_html_empty(object.description)" style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Description of the event</h2> <t t-out="object.description">Internal meeting for discussion for new pricing for product and services.</t> </div> <p style="margin: 32px 0 0;"> Thank you! <t t-if="object.user_id.signature"> <span style="display: block; margin-top: 8px;"><t t-out="object.user_id.signature or ''">Mitchell Admin</t></span> </t> </p> </div>
<div style="font-size: 13px; color: #374151;">
<t t-set="is_online" t-value="'appointment_type_id' in object and object.appointment_type_id"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <t t-set="mail_tz" t-value="object._get_mail_tz() or ctx.get('mail_tz')"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Esdeveniment actualitzat <img src="/calendar/static/src/img/sync.png" style="border:0; width: 24px; height: 24px; margin-left: 10px; text-decoration:none; vertical-align: bottom;"/> </h1> <p style="margin: 0;"> <span style="display: block; margin-bottom: 8px;">Hola:</span> Aquesta reunió ha estat actualitzada. </p> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Detalls</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">Data i hora</td> <td style="font-weight: bold;"> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='EEEE', lang_code=object.env.lang)">dimarts</t> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='d', lang_code=object.env.lang)">4</t> <t t-out="format_datetime(dt=object.start, tz=mail_tz if not object.allday else None, dt_format='MMMM y', lang_code=object.env.lang)">de maig de 2021</t> <t t-if="not object.allday"> <t t-out="format_time(time=object.start, tz=mail_tz, time_format='short', lang_code=object.env.lang)">11:00 h</t> <t t-if="mail_tz"> <span style="font-size: 11px; font-weight: normal;"> (<t t-out="mail_tz or ''">Europa/Brussel·les</t>) </span> </t> </t> </td> </tr> <tr t-if="recurrent"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Quan?</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">setmanalment, 3 esdeveniments</t></td> </tr> <tr t-if="not object.allday and object.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Durada</td> <td style="padding-top: 6px;"><t t-out="('%dH%02d' % (object.duration,round(object.duration*60)%60))">0 h 30 min</t></td> </tr> <tr t-if="object.location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">Ubicació</td> <td style="padding-top: 6px;"> <t t-out="object.location or ''">Brussel·les</t> <a target="_blank" t-if="not is_online or is_online and object.location != object.appointment_type_id.location_id.name" t-attf-href="http://maps.google.com/maps?oi=map&q={{object.location}}" style="margin-left: 12px; font-size: 12px; color: #008f8c; text-decoration: underline;">Veure el mapa</a> </td> </tr> <tr t-if="object.videocall_location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;"> <t t-if="object.videocall_source == 'discuss'">Unir-se amb</t> <t t-else="">Unir-se</t> </td> <td style="padding-top: 6px;"> <a t-att-href="object.videocall_location" target="_blank" style="color: #008f8c;"> <t t-if="object.videocall_source == 'discuss'">Converses d'Odoo</t> <t t-else="">Videotrucada</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Assistents</h2> <div t-foreach="object.attendee_ids" t-as="attendee" style="margin-bottom: 5px;"> <img t-if="attendee.state" t-attf-src="/calendar/static/src/img/state_{{ attendee.state }}.png" style="border:0; width: 15px; height: 15px; vertical-align: text-bottom;"/> <t t-if="attendee.common_name"> <span style="margin-left: 5px" t-out="attendee.common_name or ''">Mitchell Admin</span> </t> <t t-else=""> <span style="margin-left: 5px;">Vostè</span> </t> </div> </div> <div t-if="not is_html_empty(object.description)" style="margin: 32px 0 0;"> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">Descripció de l'esdeveniment</h2> <t t-out="object.description">Reunió interna per parlar sobre els nous preus dels productes i dels serveis.</t> </div> <p style="margin: 32px 0 0;"> Gràcies! <t t-if="object.user_id.signature"> <span style="display: block; margin-top: 8px;"><t t-out="object.user_id.signature or ''">Mitchell Admin</t></span> </t> </p> </div> |
| 418 | File in original format as translated in the repository | gettext PO file | |||||||
|---|---|---|---|---|---|---|---|---|---|
| 418 | All strings, converted files enriched with comments; suitable for offline translation | CSV | gettext MO | gettext PO | TBX | TMX | XLIFF 1.1 with gettext extensions | XLIFF 1.1 | XLSX |
| 41 | Unfinished strings, converted files enriched with comments; suitable for offline translation | CSV | gettext MO | gettext PO | TBX | TMX | XLIFF 1.1 with gettext extensions | XLIFF 1.1 | XLSX |