| Strings Words Characters | |||
|---|---|---|---|
| 420 3,803 43,671 |
|
All strings | Browse Translate Zen |
| 420 3,803 43,671 |
|
Translated strings | Browse Translate Zen |
| 420 3,803 43,671 |
|
Strings waiting for review | Browse Translate Zen |
| 14 103 616 |
|
Strings with any failing checks | Browse Translate Zen |
| 14 103 616 |
|
Translated strings with any failing checks | Browse Translate Zen |
| 3 21 151 |
|
Failing check: Double space | Browse Translate Zen |
| 10 80 449 |
|
Failing check: Mismatched full stop | Browse Translate Zen |
| 1 2 16 |
|
Failing check: Mismatched exclamation mark | Browse Translate Zen |
Summary
| Project website | www.odoo.com | |
|---|---|---|
| Project reviewers42 |
|
|
| Translation license | BSD 2-Clause "Simplified" License | |
| Translation process |
|
|
| File mask |
addons/calendar/i18n/*.po
|
|
| Translation file |
Download
addons/calendar/i18n/ja.po
|
|
| Last change | Feb. 14, 2026, 12:06 p.m. | |
| Last change made by | GitHub webhook | |
| Language | Japanese | |
| Language code | ja | |
| Text direction | Left to right | |
| Case sensitivity | Case-insensitive | |
| Number of speakers | 117,608,755 | |
| Number of plurals | 1 | |
| Plural type | None | |
| Plurals | ||
| Plural formula |
0
|
|
03/03/2026
String statistics
| Strings percent | Hosted strings | Words percent | Hosted words | Characters percent | Hosted characters | |
|---|---|---|---|---|---|---|
| Total | 420 | 3,803 | 43,671 | |||
| Approved | 0% | 0 | 0% | 0 | 0% | 0 |
| Waiting for review | 100% | 420 | 100% | 3,803 | 100% | 43,671 |
| Translated | 100% | 420 | 100% | 3,803 | 100% | 43,671 |
| Needs editing | 0% | 0 | 0% | 0 | 0% | 0 |
| Read-only | 0% | 0 | 0% | 0 | 0% | 0 |
| Failing checks | 3% | 14 | 2% | 103 | 1% | 616 |
| Strings with suggestions | 0% | 0 | 0% | 0 | 0% | 0 |
| Untranslated strings | 0% | 0 | 0% | 0 | 0% | 0 |
Quick numbers
and previous 30 days
Trends of last 30 days
—
Hosted words
+100%
—
Hosted strings
+100%
+4%
Translated
+95%
+100%
Contributors
—
|
Changes committed |
Changes committed
02/14/2026
|
|
Translation completed |
Translation completed
02/09/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.sudo().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.sudo().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.sudo().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;"> <t t-set="max_shown_attendees" t-value="20"/> <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[:max_shown_attendees]" 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 t-if="len(object.event_id.attendee_ids) > max_shown_attendees" style="margin-bottom: 5px;"> ... and <t t-out="len(object.event_id.attendee_ids) - max_shown_attendees"/> more </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;"> リマインダー <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;"> <t t-out="object.common_name or ''">Gemini Furniture</t>様<br/> <span style="display: block; margin-top: 8px;">以下の会議のリマインドです。</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.sudo().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;"> 承諾する</a> <a t-attf-href="/calendar/{{ 'recurrence' if recurrent else 'meeting' }}/decline?token={{ object.sudo().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;"> 辞退する</a> <a t-attf-href="/calendar/meeting/view?token={{ object.sudo().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;"> 見る</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'}};">詳細</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">日時</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 ''">火曜日</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 ''">2021年5月</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;">開催頻度</td> <td style="padding-top: 6px;"> <t t-out="object.recurrence_id.get_recurrence_name() or ''">毎週1回、3回開催</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;">所要時間</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;">場所</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">以下より参加する:</t> <t t-else="">参加する</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ディスカス</t> <t t-else="">ビデオ会議</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <t t-set="max_shown_attendees" t-value="20"/> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">参加者</h2> <div t-foreach="object.event_id.attendee_ids[:max_shown_attendees]" 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;">あなた</span> </t> </div> <div t-if="len(object.event_id.attendee_ids) > max_shown_attendees" style="margin-bottom: 5px;"> その他<t t-out="len(object.event_id.attendee_ids) - max_shown_attendees"/>名 </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'}};">会議の内容</h2> <t t-out="object.event_id.description">製品・サービスの新しい価格についての社内打ち合わせ</t> </div> <p style="margin: 32px 0 0;"> よろしくお願いいたします。 <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 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;"> <t t-set="max_shown_attendees" t-value="20"/> <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[:max_shown_attendees]" 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 t-if="len(object.attendee_ids) > max_shown_attendees" style="margin-bottom: 5px;"> ... and <t t-out="len(object.attendee_ids) - max_shown_attendees"/> more </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;"> 会議が更新されました <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;"></span> この会議は更新されました。 </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;">日時</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)">火曜日</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)">2021年5月</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;">開催頻度:</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">毎週1回、3回開催</t></td> </tr> <tr t-if="not object.allday and object.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">所要時間:</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;">場所:</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;">地図を表示</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'">以下より参加する:</t> <t t-else="">参加する</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ディスカス</t> <t t-else="">ビデオ会議</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <t t-set="max_shown_attendees" t-value="20"/> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">参加者</h2> <div t-foreach="object.attendee_ids[:max_shown_attendees]" 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;">あなた</span> </t> </div> <div t-if="len(object.attendee_ids) > max_shown_attendees" style="margin-bottom: 5px;"> その他<t t-out="len(object.attendee_ids) - max_shown_attendees"/> 名 </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'}};">会議の内容</h2> <t t-out="object.description">製品・サービスの新しい価格についての社内打ち合わせ</t> </div> <p style="margin: 32px 0 0;"> よろしくお願いいたします。 <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="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.sudo().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.sudo().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.sudo().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;"> <t t-set="max_shown_attendees" t-value="20"/> <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[:max_shown_attendees]" 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 t-if="len(object.event_id.attendee_ids) > max_shown_attendees" style="margin-bottom: 5px;"> ... and <t t-out="len(object.event_id.attendee_ids) - max_shown_attendees"/> more </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;"> 会議のご案内 </h1> <p style="margin: 0;"> <span style="display: block; margin-bottom: 8px;"><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"> お客様より、<strong t-out="object.event_id.name or ''">プロジェクト提案フォローアップ</strong>会議に招待されています。 </t> <t t-else=""> <t t-out="object.event_id.user_id.partner_id.name or ''">Colleen Diaz</t>様より <strong t-out="object.event_id.name or ''">プロジェクト提案フォローアップ</strong>会議に招待されています。 </t> </t> <t t-else=""> 会議:<strong t-out="object.event_id.name or ''">プロジェクト提案フォローアップ</strong> が予約されました。 </t> </p> <div style="text-align: center; padding: 16px 0px 16px 0px;"> <a t-attf-href="/calendar/meeting/accept?token={{object.sudo().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;"> 承諾する</a> <a t-attf-href="/calendar/meeting/decline?token={{object.sudo().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;"> 辞退する</a> <a t-attf-href="/calendar/meeting/view?token={{object.sudo().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;"> 見る</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'}};">詳細</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">日時</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 ''">火曜日</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 ''">2021年5月</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;">開催日</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">毎週1回、3回開催</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;">所要時間</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;">場所</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;">地図を表示</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">以下より参加する:</t> <t t-else="">参加する</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ディスカス</t> <t t-else="">ビデオ会議</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <t t-set="max_shown_attendees" t-value="20"/> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">参加者:</h2> <div t-foreach="object.event_id.attendee_ids[:max_shown_attendees]" 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;">あなた</span> </t> </div> <div t-if="len(object.event_id.attendee_ids) > max_shown_attendees" style="margin-bottom: 5px;"> その他<t t-out="len(object.event_id.attendee_ids) - max_shown_attendees"/> 名 </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'}};"> <t t-out="object.event_id.description">製品・サービスの新しい価格についての社内打ち合わせ</t> </div> <p style="margin: 32px 0 0;"> よろしくお願いいたします。 <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="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="target_customer" t-value="object.partner_id == customer"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <t t-set="organizer" t-value="object.event_id.user_id"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Date 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 <t t-out="object.common_name or ''">Ready Mat</t>,</span> <t t-if="is_online and target_responsible"> <t t-if="customer"> Your appointment with <t t-out="customer.name or ''">Jesse Brown</t> has been updated: </t> <t t-else=""> Your appointment has been updated: </t> <strong t-out="object.event_id.appointment_type_id.name or ''">Schedule a Demo</strong> is now scheduled for <t t-out="object.event_id.get_display_time_tz(tz=object.partner_id.tz) or ''">05/04/2021 at (11:00:00 To 11:30:00) (Europe/Brussels)</t>. </t> <t t-elif="is_online and target_customer"> Your appointment <strong t-out="object.event_id.appointment_type_id.name or ''"/> <t t-if="organizer">with </t><t t-out="organizer.partner_id.name or ''">Colleen Diaz</t> is now scheduled for <t t-out="object.event_id.get_display_time_tz(tz=object.partner_id.tz) or ''">05/04/2021 at (11:00:00 To 11:30:00) (Europe/Brussels)</t>. </t> <t t-else=""> The date of the meeting <strong t-out="object.event_id.name or ''">Follow-up for Project proposal</strong> <t t-if="organizer">created by </t><t t-out="organizer.partner_id.name or ''">Colleen Diaz</t> is now scheduled for <t t-out="object.event_id.get_display_time_tz(tz=object.partner_id.tz) or ''">05/04/2021 at (11:00:00 To 11:30:00) (Europe/Brussels)</t>. </t> </p> <div style="text-align: center; padding: 16px 0px 16px 0px;"> <a t-attf-href="/calendar/meeting/accept?token={{ object.sudo().access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; padding: 7px 14px; color: {{organizer.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{organizer.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Accept</a> <a t-attf-href="/calendar/meeting/decline?token={{ object.sudo().access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; margin-left: 6px; padding: 7px 14px; color: {{organizer.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{organizer.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Decline</a> <a t-attf-href="/calendar/meeting/view?token={{ object.sudo().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.event_id.videocall_source == 'discuss'">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.event_id.videocall_source == 'discuss'">Odoo Discuss</t> <t t-else="">Video meeting</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <t t-set="max_shown_attendees" t-value="20"/> <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[:max_shown_attendees]" 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 t-if="len(object.event_id.attendee_ids) > max_shown_attendees" style="margin-bottom: 5px;"> ... and <t t-out="len(object.event_id.attendee_ids) - max_shown_attendees"/> more </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="organizer.signature"> <span style="display: block; margin-top: 8px;"><t t-out="organizer.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="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="target_customer" t-value="object.partner_id == customer"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <t t-set="organizer" t-value="object.event_id.user_id"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> <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;"><t t-out="object.common_name or ''">Ready Mat</t>様</span> <t t-if="is_online and target_responsible"> <t t-if="customer"> <t t-out="customer.name or ''">Jesse Brown</t>との </t> <t t-else=""> </t> <strong t-out="object.event_id.appointment_type_id.name or ''">デモをスケジュール</strong> が更新されました: <t t-out="object.event_id.get_display_time_tz(tz=object.partner_id.tz) or ''">2021年5月4日 (11:00:00 - 11:30:00) (Europe/Brussels)</t> </t> <t t-elif="is_online and target_customer"> の新しい </t> <t t-else=""> <t t-out="object.event_id.get_display_time_tz(tz=object.partner_id.tz) or ''">2021年5月4日 (11:00:00 - 11:30:00) (Europe/Brussels)</t> </t> </p> <div style="text-align: center; padding: 16px 0px 16px 0px;"> <a t-attf-href="/calendar/meeting/accept?token={{ object.sudo().access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; padding: 7px 14px; color: {{organizer.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{organizer.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> 承諾する</a> <a t-attf-href="/calendar/meeting/decline?token={{ object.sudo().access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; margin-left: 6px; padding: 7px 14px; color: {{organizer.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{organizer.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> 辞退する</a> <a t-attf-href="/calendar/meeting/view?token={{ object.sudo().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;"> 見る</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'}};">詳細</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">日時</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 ''">火曜日</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 ''">2021年5月</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;">開催 <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">週1回、3回開催</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;">所要時間:</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;">場所:</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;">地図を表示</a> </td> </tr> <tr t-if="object.event_id.videocall_location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;"> <t t-if="object.event_id.videocall_source == 'discuss'">以下より参加する:</t> <t t-else="">参加する</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.event_id.videocall_source == 'discuss'">Odooディスカス</t> <t t-else="">ビデオ会議</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <t t-set="max_shown_attendees" t-value="20"/> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">参加者:</h2> <div t-foreach="object.event_id.attendee_ids[:max_shown_attendees]" 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;">あなた</span> </t> </div> <div t-if="len(object.event_id.attendee_ids) > max_shown_attendees" style="margin-bottom: 5px;"> その他 <t t-out="len(object.event_id.attendee_ids) - max_shown_attendees"/>名 </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'}};"> <t t-out="object.event_id.description">製品・サービスの新しい価格についての社内打ち合わせ</t> </div> <p style="margin: 32px 0 0;"> よろしくお願いいたします。 <t t-if="organizer.signature"> <span style="display: block; margin-top: 8px;"><t t-out="organizer.signature or ''">Mitchell Admin</t></span> </t> </p> </div> |
|
Translation added |
<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;"> <t t-set="max_shown_attendees" t-value="20"/> <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[:max_shown_attendees]" 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 t-if="len(object.attendee_ids) > max_shown_attendees" style="margin-bottom: 5px;"> ... and <t t-out="len(object.attendee_ids) - max_shown_attendees"/> more </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;"> 会議が更新されました <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;"></span> この会議は更新されました。 </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;">日時</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)">火曜日</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)">2021年5月</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;">開催頻度</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">毎週1回、3回開催</t></td> </tr> <tr t-if="not object.allday and object.duration"> <td style="width: 100px; padding-top: 6px; color: #676F7B;">所要時間</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;">場所</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;">地図を表示</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'">以下より参加する:</t> <t t-else="">参加する</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ディスカス</t> <t t-else="">ビデオ会議</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <t t-set="max_shown_attendees" t-value="20"/> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">参加者</h2> <div t-foreach="object.attendee_ids[:max_shown_attendees]" 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;">あなた</span> </t> </div> <div t-if="len(object.attendee_ids) > max_shown_attendees" style="margin-bottom: 5px;"> その他<t t-out="len(object.attendee_ids) - max_shown_attendees"/> 名 </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'}};">会議の内容</h2> <t t-out="object.description">製品・サービスの新しい価格についての社内打ち合わせ</t> </div> <p style="margin: 32px 0 0;"> よろしくお願いいたします。 <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 added |
<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.sudo().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.sudo().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.sudo().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;"> <t t-set="max_shown_attendees" t-value="20"/> <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[:max_shown_attendees]" 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 t-if="len(object.event_id.attendee_ids) > max_shown_attendees" style="margin-bottom: 5px;"> ... and <t t-out="len(object.event_id.attendee_ids) - max_shown_attendees"/> more </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;"> 会議のご案内 </h1> <p style="margin: 0;"> <span style="display: block; margin-bottom: 8px;"><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"> お客様より、<strong t-out="object.event_id.name or ''">プロジェクト提案フォローアップ</strong>会議に招待されています。 </t> <t t-else=""> <t t-out="object.event_id.user_id.partner_id.name or ''">Colleen Diaz</t>様より <strong t-out="object.event_id.name or ''">プロジェクト提案フォローアップ</strong>会議に招待されています。 </t> </t> <t t-else=""> 会議:<strong t-out="object.event_id.name or ''">プロジェクト提案フォローアップ</strong> が予約されました。 </t> </p> <div style="text-align: center; padding: 16px 0px 16px 0px;"> <a t-attf-href="/calendar/meeting/accept?token={{object.sudo().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;"> 承諾する</a> <a t-attf-href="/calendar/meeting/decline?token={{object.sudo().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;"> 辞退する</a> <a t-attf-href="/calendar/meeting/view?token={{object.sudo().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;"> 見る</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'}};">詳細</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">日時</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 ''">火曜日</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 ''">2021年5月</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;">開催日</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">毎週1回、3回開催</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;">所要時間</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;">場所</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;">地図を表示</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">以下より参加する:</t> <t t-else="">参加する</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ディスカス</t> <t t-else="">ビデオ会議</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <t t-set="max_shown_attendees" t-value="20"/> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">参加者</h2> <div t-foreach="object.event_id.attendee_ids[:max_shown_attendees]" 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;">あなた</span> </t> </div> <div t-if="len(object.event_id.attendee_ids) > max_shown_attendees" style="margin-bottom: 5px;"> その他<t t-out="len(object.event_id.attendee_ids) - max_shown_attendees"/> 名 </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'}};">イベントの説明</h2> <t t-out="object.event_id.description">製品・サービスの新しい価格についての社内打ち合わせ</t> </div> <p style="margin: 32px 0 0;"> よろしくお願いいたします。 <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 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="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="target_customer" t-value="object.partner_id == customer"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <t t-set="organizer" t-value="object.event_id.user_id"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> Date 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 <t t-out="object.common_name or ''">Ready Mat</t>,</span> <t t-if="is_online and target_responsible"> <t t-if="customer"> Your appointment with <t t-out="customer.name or ''">Jesse Brown</t> has been updated: </t> <t t-else=""> Your appointment has been updated: </t> <strong t-out="object.event_id.appointment_type_id.name or ''">Schedule a Demo</strong> is now scheduled for <t t-out="object.event_id.get_display_time_tz(tz=object.partner_id.tz) or ''">05/04/2021 at (11:00:00 To 11:30:00) (Europe/Brussels)</t>. </t> <t t-elif="is_online and target_customer"> Your appointment <strong t-out="object.event_id.appointment_type_id.name or ''"/> <t t-if="organizer">with </t><t t-out="organizer.partner_id.name or ''">Colleen Diaz</t> is now scheduled for <t t-out="object.event_id.get_display_time_tz(tz=object.partner_id.tz) or ''">05/04/2021 at (11:00:00 To 11:30:00) (Europe/Brussels)</t>. </t> <t t-else=""> The date of the meeting <strong t-out="object.event_id.name or ''">Follow-up for Project proposal</strong> <t t-if="organizer">created by </t><t t-out="organizer.partner_id.name or ''">Colleen Diaz</t> is now scheduled for <t t-out="object.event_id.get_display_time_tz(tz=object.partner_id.tz) or ''">05/04/2021 at (11:00:00 To 11:30:00) (Europe/Brussels)</t>. </t> </p> <div style="text-align: center; padding: 16px 0px 16px 0px;"> <a t-attf-href="/calendar/meeting/accept?token={{ object.sudo().access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; padding: 7px 14px; color: {{organizer.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{organizer.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Accept</a> <a t-attf-href="/calendar/meeting/decline?token={{ object.sudo().access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; margin-left: 6px; padding: 7px 14px; color: {{organizer.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{organizer.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> Decline</a> <a t-attf-href="/calendar/meeting/view?token={{ object.sudo().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.event_id.videocall_source == 'discuss'">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.event_id.videocall_source == 'discuss'">Odoo Discuss</t> <t t-else="">Video meeting</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <t t-set="max_shown_attendees" t-value="20"/> <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[:max_shown_attendees]" 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 t-if="len(object.event_id.attendee_ids) > max_shown_attendees" style="margin-bottom: 5px;"> ... and <t t-out="len(object.event_id.attendee_ids) - max_shown_attendees"/> more </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="organizer.signature"> <span style="display: block; margin-top: 8px;"><t t-out="organizer.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="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="target_customer" t-value="object.partner_id == customer"/> <t t-set="recurrent" t-value="object.recurrence_id and not ctx.get('calendar_template_ignore_recurrence')"/> <t t-set="organizer" t-value="object.event_id.user_id"/> <h1 style="font-size: 18px; font-weight: bold; color: #374151; margin-bottom: 28px;"> アポイントメント日時の更新 <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;"><t t-out="object.common_name or ''">Ready Mat</t>様</span> <t t-if="is_online and target_responsible"> <t t-if="customer"> <t t-out="customer.name or ''">Jesse Brown</t>とのアポイントメントが更新されました。: </t> <t t-else=""> アポイントメントが更新されました: </t> <strong t-out="object.event_id.appointment_type_id.name or ''">デモをスケジュール</strong> が更新されました: <t t-out="object.event_id.get_display_time_tz(tz=object.partner_id.tz) or ''">2021年5月4日 (11:00:00 - 11:30:00) (Europe/Brussels)</t> </t> <t t-elif="is_online and target_customer"> アポイントメント<strong t-out="object.event_id.appointment_type_id.name or ''"/> <t t-if="organizer">担当: </t><t t-out="organizer.partner_id.name or ''">Colleen Diaz</t> の新しいスケジュールは以下の通りです:<t t-out="object.event_id.get_display_time_tz(tz=object.partner_id.tz) or ''">2021年5月4日 (11:00:00 - 11:30:00) (Europe/Brussels)</t> </t> <t t-else=""> ミーティング:<strong t-out="object.event_id.name or ''">プロジェクト提案フォローアップ</strong> <t t-if="organizer">作成者: </t><t t-out="organizer.partner_id.name or ''">Colleen Diaz</t> の新しいスケジュールは以下の通りです: <t t-out="object.event_id.get_display_time_tz(tz=object.partner_id.tz) or ''">2021年5月4日 (11:00:00 - 11:30:00) (Europe/Brussels)</t> </t> </p> <div style="text-align: center; padding: 16px 0px 16px 0px;"> <a t-attf-href="/calendar/meeting/accept?token={{ object.sudo().access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; padding: 7px 14px; color: {{organizer.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{organizer.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> 承諾する</a> <a t-attf-href="/calendar/meeting/decline?token={{ object.sudo().access_token }}&id={{ object.event_id.id }}" t-attf-style="display: inline-block; margin-left: 6px; padding: 7px 14px; color: {{organizer.company_id.email_primary_color or '#FFFFFF'}}; text-decoration: none; background-color: {{organizer.company_id.email_secondary_color or '#875A7B'}}; border-radius: 3px;"> 辞退する</a> <a t-attf-href="/calendar/meeting/view?token={{ object.sudo().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;"> 見る</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'}};">詳細</h2> <table cellpadding="0" cellspacing="0" border="0" style="font-size: 13px; color: #374151;"> <tr> <td style="width: 100px; color: #676F7B;">日時</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 ''">火曜日</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 ''">2021年5月</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;">開催日</td> <td style="padding-top: 6px;"><t t-out="object.recurrence_id.get_recurrence_name() or ''">週1回、3回開催</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;">所要時間</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;">場所</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;">地図を表示</a> </td> </tr> <tr t-if="object.event_id.videocall_location"> <td style="width: 100px; padding-top: 6px; color: #676F7B;"> <t t-if="object.event_id.videocall_source == 'discuss'">以下より参加する:</t> <t t-else="">参加する</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.event_id.videocall_source == 'discuss'">Odooディスカス</t> <t t-else="">ビデオ会議</t> </a> </td> </tr> </table> </div> <div style="margin: 32px 0 0;"> <t t-set="max_shown_attendees" t-value="20"/> <h2 t-attf-style="margin-bottom: 12px; font-size: 14px; font-weight: bold; color: {{user.company_id.email_secondary_color or '#875A7B'}};">参加者</h2> <div t-foreach="object.event_id.attendee_ids[:max_shown_attendees]" 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;">あなた</span> </t> </div> <div t-if="len(object.event_id.attendee_ids) > max_shown_attendees" style="margin-bottom: 5px;"> その他 <t t-out="len(object.event_id.attendee_ids) - max_shown_attendees"/>名 </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'}};">イベントの説明</h2> <t t-out="object.event_id.description">製品・サービスの新しい価格についての社内打ち合わせ</t> </div> <p style="margin: 32px 0 0;"> よろしくお願いいたします。 <t t-if="organizer.signature"> <span style="display: block; margin-top: 8px;"><t t-out="organizer.signature or ''">Mitchell Admin</t></span> </t> </p> </div> |
None
Resource updated |
The “
addons/calendar/i18n/ja.po” file was changed.
02/07/2026
|
| 420 | File in original format as translated in the repository | gettext PO file | |||||||
|---|---|---|---|---|---|---|---|---|---|
| 420 | 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 |
None