| Strings Words Characters | |||
|---|---|---|---|
| 906 6,496 59,803 |
|
All strings | Browse Translate Zen |
| 905 6,493 59,786 |
|
Translated strings | Browse Translate Zen |
| 905 6,493 59,786 |
|
Strings waiting for review | Browse Translate Zen |
| 1 3 17 |
|
Unfinished strings | Browse Translate Zen |
| 1 3 17 |
|
Strings marked for edit | Browse Translate Zen |
| 10 85 518 |
|
Strings with any failing checks | Browse Translate Zen |
| 10 85 518 |
|
Translated strings with any failing checks | Browse Translate Zen |
| 1 16 82 |
|
Failing check: Double space | Browse Translate Zen |
| 6 40 227 |
|
Failing check: Mismatched full stop | Browse Translate Zen |
| 1 11 53 |
|
Failing check: Mismatched exclamation mark | Browse Translate Zen |
| 2 24 170 |
|
Failing check: Python format | Browse Translate Zen |
| 1 5 39 |
|
Failing check: XML markup | Browse Translate Zen |
Summary
| Project website | www.odoo.com | |
|---|---|---|
| Project reviewers39 |
|
|
| Translation license | BSD 2-Clause "Simplified" License | |
| Translation process |
|
|
| File mask |
addons/sale/i18n/*.po
|
|
| Translation file |
Download
addons/sale/i18n/it.po
|
|
| Last change | Jan. 26, 2026, 9:04 a.m. | |
| Last change made by | Marianna Ciofani (cima) | |
| Language | Italian | |
| Language code | it | |
| Text direction | Left to right | |
| Case sensitivity | Case-sensitive | |
| Number of speakers | 70,475,318 | |
| Number of plurals | 3 | |
| Plural type | One/many/other | |
| Plurals | One | 1 | Many | 1000000, 2000000 |
| Other | 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, … | |
| Plural formula |
(n == 1) ? 0 : ((n != 0 && n % 1000000 == 0) ? 1 : 2)
|
|
7 hours ago
String statistics
| Strings percent | Hosted strings | Words percent | Hosted words | Characters percent | Hosted characters | |
|---|---|---|---|---|---|---|
| Total | 906 | 6,496 | 59,803 | |||
| Approved | 0% | 0 | 0% | 0 | 0% | 0 |
| Waiting for review | 99% | 905 | 99% | 6,493 | 99% | 59,786 |
| Translated | 99% | 905 | 99% | 6,493 | 99% | 59,786 |
| Needs editing | 1% | 1 | 1% | 3 | 1% | 17 |
| Read-only | 0% | 0 | 0% | 0 | 0% | 0 |
| Failing checks | 1% | 10 | 1% | 85 | 1% | 518 |
| 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
+100%
Hosted words
—
+100%
Hosted strings
—
+99%
Translated
—
+100%
Contributors
—
|
Translation added |
|
None
Resource updated |
The “
addons/sale/i18n/it.po” file was changed.
2 days ago
|
None
String added in the repository |
|
|
Changes committed |
Changes committed
2 days ago
|
|
Marked for edit |
|
|
Translation added |
|
|
Translation added |
|
|
Translation added |
|
|
Translation added |
|
|
Translation added |
|
| 906 | File in original format as translated in the repository | gettext PO file | |||||||
|---|---|---|---|---|---|---|---|---|---|
| 906 | 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 |
| 1 | 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 |
None
<t t-set="color" t-value="object.company_id.email_secondary_color or '#875A7B'"/>
<t t-if="'website_id' in object and object.website_id" t-set="logo_src" t-value="object.website_id.image_url(object.website_id, 'logo')"/>
<t t-else="" t-set="logo_src" t-valuef="/logo.png?company=#{object.company_id.id}"/>
<img t-att-src="logo_src" style="display: block; height: 50px; margin: 0 0 16px;" alt="Logo"/>
<p style="margin: 0 0 12px; padding: 0px; line-height: 18px; font-size: 14px;">
Hello <t t-out="object.partner_id.display_name or ''">Johnny Tester</t>,
<br/><br/>
<t t-set="tx_sudo" t-value="object.get_portal_last_transaction()"/>
Your order <span style="font-weight:bold;" t-out="object.name or ''">S00049</span>
<t t-if="object.state == 'sale' or (tx_sudo and tx_sudo.state in ('done', 'authorized'))">
has been confirmed.<br/>
Thank you for your trust.
</t>
<t t-elif="tx_sudo and tx_sudo.state == 'pending'">
is pending. It will be confirmed when the payment is received.
<t t-if="object.reference">
Your payment reference is <span style="font-weight:bold;" t-out="object.reference or ''"/>.
</t>
</t>
<br/>
<t t-set="documents" t-value="object._get_product_documents()"/>
<t t-if="documents">
<br/>
<t t-if="len(documents)>1">
Here are some additional documents that may interest you:
</t>
<t t-else="">
Here is an additional document that may interest you:
</t>
<ul style="margin-bottom: 0;">
<t t-foreach="documents" t-as="document">
<li style="font-size: 14px;">
<a t-out="document.ir_attachment_id.name" t-att-href="object.get_portal_url('/document/' + str(document.id))" t-att-target="target"/>
</li>
</t>
</ul>
</t>
<t t-if="not is_html_empty(object.user_id.signature)">
<div style="font-size: 14px; margin: 0 0 16px;"><t t-out="object.user_id.signature or ''">Mitchell Admin</t></div>
</t>
</p>
<t t-if="hasattr(object, 'website_id') and object.website_id">
<div style="margin: 0px; padding: 0px;">
<!-- The following loop is also used in the addons > sale > data > mail_template_data.xml file because we want the same layout. -->
<t t-foreach="object.order_line" t-as="line">
<t t-if="(not hasattr(line, 'is_delivery') or not line.is_delivery) and not line.combo_item_id">
<table width="100%" style="max-width: 590px; font-size: 14px; border-collapse: collapse;" role="presentation">
<tr>
<td width="24%" style="max-width: 120px; padding: 0 10px 10px 0; vertical-align: top;">
<img t-attf-src="/web/image/product.product/{{ line.product_id.id }}/image_128" t-attf-style="width: 64px; height: {{object.website_id and object.website_id._get_product_image_ratio_height() or '64px'}}; object-fit: cover; object-position: center;" alt="Product image"/>
</td>
<td align="left" style="vertical-align: top; padding-bottom: 22px;">
<h3 t-attf-style="mso-line-height-rule:exactly; margin:0; font-size: 14px; {{'margin-bottom: 6px;' if line.product_type == 'combo' else ''}}">
<strong t-out="line.product_id.name or ''" t-attf-style="color: #{color};">Taking care of Trees Course</strong>
<span t-if="line.product_id.product_template_attribute_value_ids" style="opacity: 0.5;">
<t t-out="', '.join(line.product_id.product_template_attribute_value_ids.mapped('name'))"/>
</span>
</h3>
<t t-set="combo_line_idx" t-value="0"/>
<t t-set="totalComboLines" t-value="0"/>
<t t-set="line_idx" t-value="line_index"/>
<t t-foreach="object.order_line" t-as="combo_liness">
<t t-if="(not hasattr(line, 'is_delivery') or not line.is_delivery) and (combo_liness.linked_line_id.id == line.id) and line_idx == line_index">
<t t-if="combo_liness.linked_line_id.id == line.id and combo_liness.id != line.id">
<t t-set="totalComboLines" t-value="totalComboLines + 1"/>
</t>
</t>
</t>
<t t-foreach="object.order_line" t-as="combo_line">
<t t-if="(not hasattr(line, 'is_delivery') or not line.is_delivery) and (combo_line.linked_line_id.id == line.id) and combo_line.combo_item_id and line_idx == line_index">
<t t-set="borderRadiusStyle" t-value="''"/>
<t t-set="borderTopStyle" t-value="''"/>
<t t-set="borderBottomStyle" t-value="''"/>
<t t-if="combo_line.linked_line_id.id == line.id and combo_line.id != line.id">
<t t-set="combo_line_idx" t-value="combo_line_idx + 1"/>
</t>
<t t-elif="combo_line.id == line.id and line_idx != line_index">
<t t-set="combo_line_idx" t-value="0"/>
</t>
<t t-if="combo_line_idx == 1">
<t t-if="totalComboLines != 1">
<t t-set="borderRadiusStyle" t-value="'border-radius: 6px 6px 0 0;'"/>
<t t-set="borderBottomStyle" t-value="'border-bottom: none;'"/>
</t>
<t t-else="">
<t t-set="borderRadiusStyle" t-value="'border-radius: 6px;'"/>
</t>
</t>
<t t-elif="totalComboLines == combo_line_idx">
<t t-set="borderRadiusStyle" t-value="'border-radius: 0 0 6px 6px;'"/>
<t t-if="totalComboLines != 2">
<t t-set="borderTopStyle" t-value="'border-top: none;'"/>
</t>
</t>
<div t-attf-style="width: 100%; border: 1px solid #dee2e6; padding: 5px 8px; {{ borderRadiusStyle }} {{ borderBottomStyle }} {{ borderTopStyle }}">
<t t-out="combo_line.product_id.name or ''">Taking care of Trees Course</t>
<span t-if="combo_line.product_id.product_template_attribute_value_ids" style="opacity: 0.5;">
<t t-out="', '.join(combo_line.product_id.product_template_attribute_value_ids.mapped('name'))"/>
</span>
-
<span>
<t t-out="int(combo_line.product_uom_qty) or ''">10000</t>
<t t-out="combo_line.product_uom_id.name or ''" t-if="combo_line.order_id.create_uid._has_group('uom.group_uom')"/>
</span>
<p t-if="hasattr(combo_line, 'is_rental') and combo_line.is_rental and combo_line.id == line.id" style="opacity: 0.7;">
<t t-out="combo_line._get_rental_pricing_description() or ''"/><br/>
</p>
<t t-if="(hasattr(combo_line, 'is_rental') and combo_line.is_rental) or (hasattr(combo_line, 'event_id') and combo_line.event_id) or (hasattr(combo_line, 'calendar_event_id') and combo_line.calendar_event_id)">
<t t-set="description_lines" t-value="combo_line.get_description_following_lines()"/>
<div t-if="description_lines" style="opacity: 0.7;">
<t t-foreach="description_lines" t-as="description_line">
<p t-if="description_line" t-out="description_line" style="margin: 4px 0 0;"/>
</t>
</div>
</t>
</div>
</t>
<t t-elif="not(combo_line.linked_line_id) and combo_line.id == line.id">
<p t-if="hasattr(line, 'is_rental') and line.is_rental" style="margin: 4px 0 0; opacity: 0.7;">
<t t-out="line._get_rental_pricing_description() or ''"/><br/>
</p>
<t t-if="(hasattr(combo_line, 'is_rental') and combo_line.is_rental) or (hasattr(combo_line, 'event_id') and combo_line.event_id) or (hasattr(combo_line, 'calendar_event_id') and combo_line.calendar_event_id)">
<t t-set="product_description_lines" t-value="line.get_description_following_lines()"/>
<div t-if="product_description_lines" style="opacity: 0.7;">
<t t-foreach="product_description_lines" t-as="product_description_line">
<p t-if="product_description_line" t-out="product_description_line" style="margin: 4px 0 0;"/>
</t>
</div>
</t>
</t>
</t>
<span style="display: inline-block; margin-top: 4px; padding: 4px 8px; border-radius: 20px; background-color: #e9ecef; color: #454748; font-size: 12px;">
<t t-out="int(line.product_uom_qty) or ''">10000</t>
<t t-out="line.product_uom_id.name or ''" t-if="line.order_id.create_uid._has_group('uom.group_uom')"/>
</span>
</td>
<td width="19%" align="right" style="max-width: 100px; vertical-align: top;">
<t t-if="line.product_type == 'combo'">
<span t-out="format_amount(line._get_cart_display_price(), object.currency_id) or ''">$ 10.00</span>
</t>
<t t-else="">
<span style="white-space: nowrap;">
<t t-if="hasattr(object, 'website_id') and object.website_id.show_line_subtotals_tax_selection == 'tax_excluded'">
<t t-out="format_amount(line.price_subtotal, object.currency_id) or ''">$ 10.00</t>
</t>
<t t-else="">
<t t-out="format_amount(line.price_total, object.currency_id) or ''">$ 10.00</t>
</t>
</span>
</t>
<t t-if="hasattr(line, 'recurring_invoice') and line.recurring_invoice">
<br/>
<t t-out="line.subscription_plan_id.billing_period_display_sentence or ''"/>
</t>
</td>
</tr>
</table>
</t>
</t>
</div>
<div style="margin: 10px 0 16px; padding: 0px;">
<table width="100%" t-if="hasattr(object, 'carrier_id') and object.carrier_id" style="max-width: 590px; font-size: 14px; border-spacing: 0px 4px; white-space: nowrap;" role="presentation">
<tr>
<td style="padding-top: 8px; width: 50%; border-top: 1px solid #dee2e6;" align="left">Delivery</td>
<td style="padding-top: 8px; width: 50%; border-top: 1px solid #dee2e6;" align="right" t-out="format_amount(object.amount_delivery, object.currency_id) or ''">$ 0.00</td>
</tr>
<tr>
<td style="width: 50%;" align="left">Untaxed Amount</td>
<td style="width: 50%;" align="right" t-out="format_amount(object.amount_untaxed, object.currency_id) or ''">$ 10.00</td>
</tr>
</table>
<table width="100%" t-else="" style="max-width: 590px; opacity: 0.8; font-size: 14px; border-spacing: 0px 4px; white-space: nowrap;" role="presentation">
<tr>
<td style="width: 50%; border-top: 1px solid #dee2e6;" align="left">Untaxed Amount</td>
<td style="width: 50%; border-top: 1px solid #dee2e6;" align="right" t-out="format_amount(object.amount_untaxed, object.currency_id) or ''">$ 10.00</td>
</tr>
</table>
<table width="100%" style="max-width: 590px; font-size: 14px; border-spacing: 0px; white-space: nowrap;" role="presentation">
<tr>
<td style="width: 20%; padding-bottom: 8px;" align="left">Taxes:</td>
<td style="width: 80%; padding-bottom: 8px;" align="right" t-out="format_amount(object.amount_tax, object.currency_id) or ''">$ 0.00</td>
</tr>
<tr>
<td style="width: 20%; padding-top: 4px; border-top: 1px solid #343a40; opacity: 0.9;" align="left"><strong>Total</strong></td>
<td style="width: 80%; padding-top: 4px; border-top: 1px solid #343a40; font-weight: bold; " align="right">
<span style="display: inline-block; margin-right: 4px; padding: 4px 8px; border: 1px solid #dee2e6; border-radius: 4px;">
<span style="opacity: 0.9;">Paid with</span>
<span t-attf-style="color: #{color}; font-weight: bold;">
<t t-out="tx_sudo.provider_id.sudo().name or ''"/>
</span>
</span>
<span style="opacity: 0.9;"><t t-out="format_amount(object.amount_total, object.currency_id) or ''">$ 10.00</t></span>
</td>
</tr>
</table>
</div>
<table t-if="object.partner_shipping_id and not object.only_services" width="295" style="vertical-align: top; font-size: 14px; margin-bottom: 12px;" align="left" role="presentation">
<tr>
<td style="padding-bottom: 4px; font-weight: bold;">
<span style="opacity: 0.9;">Delivery with</span>
<span t-attf-style="color: {{color}}; opacity: 1;"><t t-out="object.carrier_id.name or ''"/></span>
</td>
</tr>
<tr>
<td style="opacity: 0.9;">
<t t-out="object.partner_shipping_id.street or ''">1201 S Figueroa St</t><br/>
<t t-out="object.partner_shipping_id.city or ''">Los Angeles</t>
<t t-out="object.partner_shipping_id.state_id.name or ''">California</t>
<t t-out="object.partner_shipping_id.zip or ''">90015</t><br/>
<t t-out="object.partner_shipping_id.country_id.name or ''">United States</t>
</td>
</tr>
</table>
<table t-if="object.partner_invoice_id" width="295" style="vertical-align: top; opacity: 0.8; font-size: 14px;" align="left" role="presentation">
<tr>
<td style="padding-bottom: 4px;">
<span style="font-weight:bold;">Billing</span>
</td>
</tr>
<tr>
<td>
<t t-out="object.partner_invoice_id.street or ''">1201 S Figueroa St</t><br/>
<t t-out="object.partner_invoice_id.city or ''">Los Angeles</t>
<t t-out="object.partner_invoice_id.state_id.name or ''">California</t>
<t t-out="object.partner_invoice_id.zip or ''">90015</t><br/>
<t t-out="object.partner_invoice_id.country_id.name or ''">United States</t>
</td>
</tr>
</table>
</t>
</div>
<t t-set="color" t-value="object.company_id.email_secondary_color or '#875A7B'"/>
<t t-if="'website_id' in object and object.website_id" t-set="logo_src" t-value="object.website_id.image_url(object.website_id, 'logo')"/>
<t t-else="" t-set="logo_src" t-valuef="/logo.png?company=#{object.company_id.id}"/>
<img t-att-src="logo_src" style="display: block; height: 50px; margin: 0 0 16px;" alt="Logo"/>
<p style="margin: 0 0 12px; padding: 0px; line-height: 18px; font-size: 14px;">
Ciao <t t-out="object.partner_id.display_name or ''">Johnny Tester</t>,
<br/><br/>
<t t-set="tx_sudo" t-value="object.get_portal_last_transaction()"/>
l'ordine <span style="font-weight:bold;" t-out="object.name or ''">S00049</span>
<t t-if="object.state == 'sale' or (tx_sudo and tx_sudo.state in ('done', 'authorized'))">
è stato confermato.<br/>
Grazie per la fiducia.
</t>
<t t-elif="tx_sudo and tx_sudo.state == 'pending'">
è in sospeso. Verrà confermato una volta ricevuto il pagamento.
<t t-if="object.reference">
Il riferimento del pagamento è <span style="font-weight:bold;" t-out="object.reference or ''"/>.
</t>
</t>
<br/>
<t t-set="documents" t-value="object._get_product_documents()"/>
<t t-if="documents">
<br/>
<t t-if="len(documents)>1">
Di seguito, alcuni documenti aggiuntivi che potrebbero interessarti:
</t>
<t t-else="">
Di seguito, un documento aggiuntivo che potrebbe interessarti:
</t>
<ul style="margin-bottom: 0;">
<t t-foreach="documents" t-as="document">
<li style="font-size: 14px;">
<a t-out="document.ir_attachment_id.name" t-att-href="object.get_portal_url('/document/' + str(document.id))" t-att-target="target"/>
</li>
</t>
</ul>
</t>
<t t-if="not is_html_empty(object.user_id.signature)">
<div style="font-size: 14px; margin: 0 0 16px;"><t t-out="object.user_id.signature or ''">Mitchell Admin</t></div>
</t>
</p>
<t t-if="hasattr(object, 'website_id') and object.website_id">
<div style="margin: 0px; padding: 0px;">
<!-- The following loop is also used in the addons > sale > data > mail_template_data.xml file because we want the same layout. -->
<t t-foreach="object.order_line" t-as="line">
<t t-if="(not hasattr(line, 'is_delivery') or not line.is_delivery) and not line.combo_item_id">
<table width="100%" style="max-width: 590px; font-size: 14px; border-collapse: collapse;" role="presentation">
<tr>
<td width="24%" style="max-width: 120px; padding: 0 10px 10px 0; vertical-align: top;">
<img t-attf-src="/web/image/product.product/{{ line.product_id.id }}/image_128" t-attf-style="width: 64px; height: {{object.website_id and object.website_id._get_product_image_ratio_height() or '64px'}}; object-fit: cover; object-position: center;" alt="Product image"/>
</td>
<td align="left" style="vertical-align: top; padding-bottom: 22px;">
<h3 t-attf-style="mso-line-height-rule:exactly; margin:0; font-size: 14px; {{'margin-bottom: 6px;' if line.product_type == 'combo' else ''}}">
<strong t-out="line.product_id.name or ''" t-attf-style="color: #{color};">Prendersi cura degli alberi</strong>
<span t-if="line.product_id.product_template_attribute_value_ids" style="opacity: 0.5;">
<t t-out="', '.join(line.product_id.product_template_attribute_value_ids.mapped('name'))"/>
</span>
</h3>
<t t-set="combo_line_idx" t-value="0"/>
<t t-set="totalComboLines" t-value="0"/>
<t t-set="line_idx" t-value="line_index"/>
<t t-foreach="object.order_line" t-as="combo_liness">
<t t-if="(not hasattr(line, 'is_delivery') or not line.is_delivery) and (combo_liness.linked_line_id.id == line.id) and line_idx == line_index">
<t t-if="combo_liness.linked_line_id.id == line.id and combo_liness.id != line.id">
<t t-set="totalComboLines" t-value="totalComboLines + 1"/>
</t>
</t>
</t>
<t t-foreach="object.order_line" t-as="combo_line">
<t t-if="(not hasattr(line, 'is_delivery') or not line.is_delivery) and (combo_line.linked_line_id.id == line.id) and combo_line.combo_item_id and line_idx == line_index">
<t t-set="borderRadiusStyle" t-value="''"/>
<t t-set="borderTopStyle" t-value="''"/>
<t t-set="borderBottomStyle" t-value="''"/>
<t t-if="combo_line.linked_line_id.id == line.id and combo_line.id != line.id">
<t t-set="combo_line_idx" t-value="combo_line_idx + 1"/>
</t>
<t t-elif="combo_line.id == line.id and line_idx != line_index">
<t t-set="combo_line_idx" t-value="0"/>
</t>
<t t-if="combo_line_idx == 1">
<t t-if="totalComboLines != 1">
<t t-set="borderRadiusStyle" t-value="'border-radius: 6px 6px 0 0;'"/>
<t t-set="borderBottomStyle" t-value="'border-bottom: none;'"/>
</t>
<t t-else="">
<t t-set="borderRadiusStyle" t-value="'border-radius: 6px;'"/>
</t>
</t>
<t t-elif="totalComboLines == combo_line_idx">
<t t-set="borderRadiusStyle" t-value="'border-radius: 0 0 6px 6px;'"/>
<t t-if="totalComboLines != 2">
<t t-set="borderTopStyle" t-value="'border-top: none;'"/>
</t>
</t>
<div t-attf-style="width: 100%; border: 1px solid #dee2e6; padding: 5px 8px; {{ borderRadiusStyle }} {{ borderBottomStyle }} {{ borderTopStyle }}">
<t t-out="combo_line.product_id.name or ''">Prendersi cura degli alberi</t>
<span t-if="combo_line.product_id.product_template_attribute_value_ids" style="opacity: 0.5;">
<t t-out="', '.join(combo_line.product_id.product_template_attribute_value_ids.mapped('name'))"/>
</span>
-
<span>
<t t-out="int(combo_line.product_uom_qty) or ''">10000</t>
<t t-out="combo_line.product_uom_id.name or ''" t-if="combo_line.order_id.create_uid._has_group('uom.group_uom')"/>
</span>
<p t-if="hasattr(combo_line, 'is_rental') and combo_line.is_rental and combo_line.id == line.id" style="opacity: 0.7;">
<t t-out="combo_line._get_rental_pricing_description() or ''"/><br/>
</p>
<t t-if="(hasattr(combo_line, 'is_rental') and combo_line.is_rental) or (hasattr(combo_line, 'event_id') and combo_line.event_id) or (hasattr(combo_line, 'calendar_event_id') and combo_line.calendar_event_id)">
<t t-set="description_lines" t-value="combo_line.get_description_following_lines()"/>
<div t-if="description_lines" style="opacity: 0.7;">
<t t-foreach="description_lines" t-as="description_line">
<p t-if="description_line" t-out="description_line" style="margin: 4px 0 0;"/>
</t>
</div>
</t>
</div>
</t>
<t t-elif="not(combo_line.linked_line_id) and combo_line.id == line.id">
<p t-if="hasattr(line, 'is_rental') and line.is_rental" style="margin: 4px 0 0; opacity: 0.7;">
<t t-out="line._get_rental_pricing_description() or ''"/><br/>
</p>
<t t-if="(hasattr(combo_line, 'is_rental') and combo_line.is_rental) or (hasattr(combo_line, 'event_id') and combo_line.event_id) or (hasattr(combo_line, 'calendar_event_id') and combo_line.calendar_event_id)">
<t t-set="product_description_lines" t-value="line.get_description_following_lines()"/>
<div t-if="product_description_lines" style="opacity: 0.7;">
<t t-foreach="product_description_lines" t-as="product_description_line">
<p t-if="product_description_line" t-out="product_description_line" style="margin: 4px 0 0;"/>
</t>
</div>
</t>
</t>
</t>
<span style="display: inline-block; margin-top: 4px; padding: 4px 8px; border-radius: 20px; background-color: #e9ecef; color: #454748; font-size: 12px;">
<t t-out="int(line.product_uom_qty) or ''">10000</t>
<t t-out="line.product_uom_id.name or ''" t-if="line.order_id.create_uid._has_group('uom.group_uom')"/>
</span>
</td>
<td width="19%" align="right" style="max-width: 100px; vertical-align: top;">
<t t-if="line.product_type == 'combo'">
<span t-out="format_amount(line._get_cart_display_price(), object.currency_id) or ''">10,00 $</span>
</t>
<t t-else="">
<span style="white-space: nowrap;">
<t t-if="hasattr(object, 'website_id') and object.website_id.show_line_subtotals_tax_selection == 'tax_excluded'">
<t t-out="format_amount(line.price_subtotal, object.currency_id) or ''">10,00 $</t>
</t>
<t t-else="">
<t t-out="format_amount(line.price_total, object.currency_id) or ''">10,00 $</t>
</t>
</span>
</t>
<t t-if="hasattr(line, 'recurring_invoice') and line.recurring_invoice">
<br/>
<t t-out="line.subscription_plan_id.billing_period_display_sentence or ''"/>
</t>
</td>
</tr>
</table>
</t>
</t>
</div>
<div style="margin: 10px 0 16px; padding: 0px;">
<table width="100%" t-if="hasattr(object, 'carrier_id') and object.carrier_id" style="max-width: 590px; font-size: 14px; border-spacing: 0px 4px; white-space: nowrap;" role="presentation">
<tr>
<td style="padding-top: 8px; width: 50%; border-top: 1px solid #dee2e6;" align="left">Consegna</td>
<td style="padding-top: 8px; width: 50%; border-top: 1px solid #dee2e6;" align="right" t-out="format_amount(object.amount_delivery, object.currency_id) or ''">0,00 $</td>
</tr>
<tr>
<td style="width: 50%;" align="left">Importo imponibile</td>
<td style="width: 50%;" align="right" t-out="format_amount(object.amount_untaxed, object.currency_id) or ''">10,00 $</td>
</tr>
</table>
<table width="100%" t-else="" style="max-width: 590px; opacity: 0.8; font-size: 14px; border-spacing: 0px 4px; white-space: nowrap;" role="presentation">
<tr>
<td style="width: 50%; border-top: 1px solid #dee2e6;" align="left">Importo imponibile</td>
<td style="width: 50%; border-top: 1px solid #dee2e6;" align="right" t-out="format_amount(object.amount_untaxed, object.currency_id) or ''">10,00 $</td>
</tr>
</table>
<table width="100%" style="max-width: 590px; font-size: 14px; border-spacing: 0px; white-space: nowrap;" role="presentation">
<tr>
<td style="width: 20%; padding-bottom: 8px;" align="left">Imposte:</td>
<td style="width: 80%; padding-bottom: 8px;" align="right" t-out="format_amount(object.amount_tax, object.currency_id) or ''">0,00 $</td>
</tr>
<tr>
<td style="width: 20%; padding-top: 4px; border-top: 1px solid #343a40; opacity: 0.9;" align="left"><strong>Totale</strong></td>
<td style="width: 80%; padding-top: 4px; border-top: 1px solid #343a40; font-weight: bold; " align="right">
<span style="display: inline-block; margin-right: 4px; padding: 4px 8px; border: 1px solid #dee2e6; border-radius: 4px;">
<span style="opacity: 0.9;">Pagato con</span>
<span t-attf-style="color: #{color}; font-weight: bold;">
<t t-out="tx_sudo.provider_id.sudo().name or ''"/>
</span>
</span>
<span style="opacity: 0.9;"><t t-out="format_amount(object.amount_total, object.currency_id) or ''">10,00 $</t></span>
</td>
</tr>
</table>
</div>
<table t-if="object.partner_shipping_id and not object.only_services" width="295" style="vertical-align: top; font-size: 14px; margin-bottom: 12px;" align="left" role="presentation">
<tr>
<td style="padding-bottom: 4px; font-weight: bold;">
<span style="opacity: 0.9;">Consegna con</span>
<span t-attf-style="color: {{color}}; opacity: 1;"><t t-out="object.carrier_id.name or ''"/></span>
</td>
</tr>
<tr>
<td style="opacity: 0.9;">
<t t-out="object.partner_shipping_id.street or ''">1201 S Figueroa St</t><br/>
<t t-out="object.partner_shipping_id.city or ''">Los Angeles</t>
<t t-out="object.partner_shipping_id.state_id.name or ''">California</t>
<t t-out="object.partner_shipping_id.zip or ''">90015</t><br/>
<t t-out="object.partner_shipping_id.country_id.name or ''">Stati Uniti</t>
</td>
</tr>
</table>
<table t-if="object.partner_invoice_id" width="295" style="vertical-align: top; opacity: 0.8; font-size: 14px;" align="left" role="presentation">
<tr>
<td style="padding-bottom: 4px;">
<span style="font-weight:bold;">Fatturazione</span>
</td>
</tr>
<tr>
<td>
<t t-out="object.partner_invoice_id.street or ''">1201 S Figueroa St</t><br/>
<t t-out="object.partner_invoice_id.city or ''">Los Angeles</t>
<t t-out="object.partner_invoice_id.state_id.name or ''">California</t>
<t t-out="object.partner_invoice_id.zip or ''">90015</t><br/>
<t t-out="object.partner_invoice_id.country_id.name or ''">Stati Uniti</t>
</td>
</tr>
</table>
</t>
</div>