| Strings Words Characters | |||
|---|---|---|---|
| 410 3,158 35,970 |
|
All strings | Browse Translate Zen |
| 5 1,076 23,489 |
|
Approved strings | Browse Translate Zen |
| 410 3,158 35,970 |
|
Translated strings | Browse Translate Zen |
| 405 2,082 12,481 |
|
Strings waiting for review | Browse Translate Zen |
| 5 12 62 |
|
Strings with any failing checks | Browse Translate Zen |
| 5 12 62 |
|
Translated strings with any failing checks | Browse Translate Zen |
| 4 10 50 |
|
Failing check: Mismatched colon | Browse Translate Zen |
| 1 2 12 |
|
Failing check: Python format | Browse Translate Zen |
Summary
| Project website | www.odoo.com | |
|---|---|---|
| Project reviewers39 |
|
|
| Translation process |
|
|
| File mask |
addons/gamification/i18n/*.po
|
|
| Translation file |
Download
addons/gamification/i18n/ru.po
|
|
| Last change | Sept. 15, 2025, 6:06 a.m. | |
| Last change made by | None | |
| Language | Russian | |
| Language code | ru | |
| Text direction | Left to right | |
| Case sensitivity | Case-sensitive | |
| Number of speakers | 193,610,712 | |
| Number of plurals | 4 | |
| Plural type | One/few/many/other | |
| Plurals | One | 1, 21, 31, 41, 51, 61, 71, 81, 91, 101, … | Few | 2, 3, 4, 22, 23, 24, 32, 33, 34, 42, … |
| Many | 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, … | |
| Other | ||
| Plural formula |
(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3)
|
|
a week ago
String statistics
| Strings percent | Hosted strings | Words percent | Hosted words | Characters percent | Hosted characters | |
|---|---|---|---|---|---|---|
| Total | 410 | 3,158 | 35,970 | |||
| Approved | 1% | 5 | 34% | 1,076 | 65% | 23,489 |
| Waiting for review | 98% | 405 | 66% | 2,082 | 34% | 12,481 |
| Translated | 100% | 410 | 100% | 3,158 | 100% | 35,970 |
| Needs editing | 0% | 0 | 0% | 0 | 0% | 0 |
| Read-only | 0% | 0 | 0% | 0 | 0% | 0 |
| Failing checks | 1% | 5 | 1% | 12 | 1% | 62 |
| 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%
—
Translated
+100%
—
Contributors
+100%
|
Changes committed |
Changes committed
2 months ago
|
|
Bulk status changed |
<table cellspacing="0" cellpadding="0" width="100%" style="background-color: #EEE; border-collapse: collapse;">
<tr> <td valign="top" align="center"> <t t-set="object_ctx" t-value="ctx.get('object')"/> <t t-set="company" t-value="object_ctx and object_ctx.company_id or user.company_id"/> <t t-set="challenge_lines" t-value="ctx.get('challenge_lines', [])"/> <table cellspacing="0" cellpadding="0" width="600" style="margin: 0 auto; width: 570px;"> <tr><td> <table cellspacing="0" cellpadding="0" width="100%"> <tr> <div> <t t-if="object.visibility_mode == 'ranking'"> <td style="padding:15px;"> <p style="font-size:20px;color:#666666;" align="center">Leaderboard</p> </td> </t> </div> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" bgcolor="#fff" style="background-color:#fff;"> <tr><td style="padding: 15px;"> <t t-if="object.visibility_mode == 'personal'"> <span style="color:#666666;font-size:13px;">Here is your current progress in the challenge <strong t-out="object.name or ''"/>.</span> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:20px;"> <tr> <td align="center"> <div>Personal Performance</div> </td> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:30px;color:#666666;"> <thead> <tr style="color:#9A6C8E; font-size:12px;"> <th align="left" style="padding-bottom: 0px;width:40%;text-align:left;">Goals</th> <th style="width:20%;text-align:right;" align="left">Target</th> <th style="width:20%;text-align:right;" align="right">Current</th> <th style="width:20%;text-align:right;" align="right">Completeness</th> </tr> <tr> <td colspan="5" style="height:1px;background-color:#9A6C8E;"/> </tr> </thead> <tbody t-foreach="challenge_lines" t-as="line"> <tr style="font-weight:bold;"> <td style="padding: 20px 0;" align="left"> <t t-out="line['name'] or ''"/> <t t-if="line['suffix'] or line['monetary']"> (<t t-out="line['full_suffix'] or ''"/>) </t> </td> <td style="padding: 20px 0;" align="right"><t t-out=""%.2f" % line['target'] or ''"/> <t t-if="line['suffix']" t-out="line['suffix'] or ''"/> </td> <td style="padding: 20px 0;" align="right"><t t-out=""%.2f" % line['current'] or ''"/> <t t-if="line['suffix']" t-out="line['suffix'] or ''"/> </td> <td style="padding: 20px 0;font-size:25px;color:#9A6C8E;" align="right"><strong><t t-out="int(line['completeness']) or ''"/>%</strong></td> </tr> <tr> <td colspan="5" style="height:1px;background-color:#e3e3e3;"/> </tr> </tbody> </table> </t> <t t-else=""> <span style="color:#A8A8A8;font-size:13px;"> Challenge: <strong t-out="object.name or ''"/>. </span> <t t-foreach="challenge_lines" t-as="line"> <!-- Header + Button table --> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:35px;"> <tr> <td width="50%"> <div>Top Achievers for goal <strong t-out="line['name'] or ''"/></div> </td> </tr> </table> <!-- Podium --> <t t-if="len(line['goals']) == 2"> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:10px;"> <tr><td style="padding:0 30px;"> <table cellspacing="0" cellpadding="0" width="100%" style="table-layout: fixed;"> <tr> <t t-set="top_goals" t-value="line['goals'][:3]"/> <t t-foreach="top_goals" t-as="goal"> <td align="center" style="width:32%;"> <t t-if="loop.index == 1"> <t t-set="extra_div" t-value="'<div style="height:40px;"></div>'"/> <t t-set="heightA" t-value="95"/> <t t-set="heightB" t-value="75"/> <t t-set="bgColor" t-value="'#b898b0'"/> <t t-set="fontSize" t-value="50"/> <t t-set="podiumPosition" t-value="'2'"/> </t> <t t-elif="loop.index == 2"> <t t-set="extra_div" t-value="''"/> <t t-set="heightA" t-value="55"/> <t t-set="heightB" t-value="115"/> <t t-set="bgColor" t-value="'#9A6C8E'"/> <t t-set="fontSize" t-value="85"/> <t t-set="podiumPosition" t-value="'1'"/> </t> <t t-elif="loop.index == 3"> <t t-set="extra_div" t-value="'<div style="height:60px;"></div>'"/> <t t-set="heightA" t-value="115"/> <t t-set="heightB" t-value="55"/> <t t-set="bgColor" t-value="'#c8afc1'"/> <t t-set="fontSize" t-value="35"/> <t t-set="podiumPosition" t-value="'3'"/> </t> <div style="margin:0 3px 0 3px;height:220px;"> <div t-attf-style="height:{{ heightA }}px;"> <t t-out="extra_div or ''"/> <div style="height:55px;"> <img style="margin-bottom:5px;width:50px;height:50px;border-radius:50%;object-fit:cover;" t-att-src="image_data_uri(object.env['res.users'].browse(goal['user_id']).partner_id.image_128)" t-att-alt="goal['name']"/> </div> <div align="center" t-attf-style="color:{{ bgColor }};height:20px"> <t t-out="goal['name'] or ''"/> </div> </div> <div t-attf-style="background-color:{{ bgColor }};height:{{ heightB }}px;"> <strong><span t-attf-style="color:#fff;font-size:{{ fontSize }}px;" t-out="podiumPosition or ''"/></strong> </div> <div style="height:30px;"> <t t-out=""%.2f" % goal['current'] or ''"/> <t t-if="line['suffix'] or line['monetary']"> <t t-out="line['full_suffix'] or ''"/> </t> </div> </div> </td> </t> </tr> </table> </td> </tr> </table> </t> <!-- data table --> <table cellspacing="0" cellpadding="0" width="100%" style="margin-bottom:5px"> <tr> <td> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:30px;margin-bottom:5px;color:#666666;"> <thead> <tr style="color:#9A6C8E; font-size:12px;"> <th style="width:15%;text-align:center;">Rank</th> <th style="width:25%;text-align:left;">Name</th> <th style="width:30%;text-align:right;">Performance <t t-if="line['suffix']"> (<t t-out="line['suffix'] or ''"/>) </t> <t t-elif="line['monetary']"> (<t t-out="company.currency_id.symbol or ''"/>) </t> </th> <th style="width:30%;text-align:right;">Completeness</th> </tr> <tr> <td colspan="5" style="height:1px;background-color:#9A6C8E;"/> </tr> </thead> <tbody t-foreach="line['goals']" t-as="goal"> <tr> <t t-set="tdBgColor" t-value="'#fff'"/> <t t-set="tdColor" t-value="'gray'"/> <t t-set="mutedColor" t-value="'#AAAAAA'"/> <t t-set="tdPercentageColor" t-value="'#9A6C8E'"/> <td width="15%" align="center" valign="middle" t-attf-style="background-color:{{ tdBgColor }};padding :5px 0;font-size:20px;"><t t-out="goal['rank']+1 or ''"/> </td> <td width="25%" align="left" valign="middle" t-attf-style="background-color:{{ tdBgColor }};padding :5px 0;font-size:13px;"><t t-out="goal['name'] or ''"/></td> <td width="30%" align="right" t-attf-style="background-color:{{ tdBgColor }};padding:5px 0;line-height:1;"><t t-out=""%.2f" % goal['current'] or ''"/><br/><span t-attf-style="font-size:13px;color:{{ mutedColor }};">on <t t-out=""%.2f" % line['target'] or ''"/></span> </td> <td width="30%" t-attf-style="color:{{ tdPercentageColor }};background-color:{{ tdBgColor }};padding-right:15px;font-size:22px;" align="right"><strong><t t-out="int(goal['completeness']) or ''"/>%</strong></td> </tr> <tr> <td colspan="5" style="height:1px;background-color:#DADADA;"/> </tr> </tbody> </table> </td> </tr> </table> </t> </t> </td></tr> </table> </td></tr> </table> </td> </tr> </table>
<table cellspacing="0" cellpadding="0" width="100%" style="background-color: #EEE; border-collapse: collapse;">
<tr> <td valign="top" align="center"> <t t-set="object_ctx" t-value="ctx.get('object')"/> <t t-set="company" t-value="object_ctx and object_ctx.company_id or user.company_id"/> <t t-set="challenge_lines" t-value="ctx.get('challenge_lines', [])"/> <table cellspacing="0" cellpadding="0" width="600" style="margin: 0 auto; width: 570px;"> <tr><td> <table cellspacing="0" cellpadding="0" width="100%"> <tr> <div> <t t-if="object.visibility_mode == 'ranking'"> <td style="padding:15px;"> <p style="font-size:20px;color:#666666;" align="center">Таблица лидеров</p> </td> </t> </div> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" bgcolor="#fff" style="background-color:#fff;"> <tr><td style="padding: 15px;"> <t t-if="object.visibility_mode == 'personal'"> <span style="color:#666666;font-size:13px;">Ваш текущий прогресс по вызову<strong t-out="object.name or ''"/>.</span> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:20px;"> <tr> <td align="center"> <div>Личные результаты</div> </td> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:30px;color:#666666;"> <thead> <tr style="color:#9A6C8E; font-size:12px;"> <th align="left" style="padding-bottom: 0px;width:40%;text-align:left;">Цели</th> <th style="width:20%;text-align:right;" align="left">План</th> <th style="width:20%;text-align:right;" align="right">Текущий результат</th> <th style="width:20%;text-align:right;" align="right">Выполнено</th> </tr> <tr> <td colspan="5" style="height:1px;background-color:#9A6C8E;"/> </tr> </thead> <tbody t-foreach="challenge_lines" t-as="line"> <tr style="font-weight:bold;"> <td style="padding: 20px 0;" align="left"> <t t-out="line['name'] or ''"/> <t t-if="line['suffix'] or line['monetary']"> (<t t-out="line['full_suffix'] or ''"/>) </t> </td> <td style="padding: 20px 0;" align="right"><t t-out=""%.2f" % line['target'] or ''"/> <t t-if="line['suffix']" t-out="line['suffix'] or ''"/> </td> <td style="padding: 20px 0;" align="right"><t t-out=""%.2f" % line['current'] or ''"/> <t t-if="line['suffix']" t-out="line['suffix'] or ''"/> </td> <td style="padding: 20px 0;font-size:25px;color:#9A6C8E;" align="right"><strong><t t-out="int(line['completeness']) or ''"/>%</strong></td> </tr> <tr> <td colspan="5" style="height:1px;background-color:#e3e3e3;"/> </tr> </tbody> </table> </t> <t t-else=""> <span style="color:#A8A8A8;font-size:13px;"> Вызов: <strong t-out="object.name or ''"/>. </span> <t t-foreach="challenge_lines" t-as="line"> <!-- Header + Button table --> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:35px;"> <tr> <td width="50%"> <div>Лучшие достижения по цели <strong t-out="line['name'] or ''"/></div> </td> </tr> </table> <!-- Podium --> <t t-if="len(line['goals']) == 2"> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:10px;"> <tr><td style="padding:0 30px;"> <table cellspacing="0" cellpadding="0" width="100%" style="table-layout: fixed;"> <tr> <t t-set="top_goals" t-value="line['goals'][:3]"/> <t t-foreach="top_goals" t-as="goal"> <td align="center" style="width:32%;"> <t t-if="loop.index == 1"> <t t-set="extra_div" t-value="'<div style="height:40px;"></div>'"/> <t t-set="heightA" t-value="95"/> <t t-set="heightB" t-value="75"/> <t t-set="bgColor" t-value="'#b898b0'"/> <t t-set="fontSize" t-value="50"/> <t t-set="podiumPosition" t-value="'2'"/> </t> <t t-elif="loop.index == 2"> <t t-set="extra_div" t-value="''"/> <t t-set="heightA" t-value="55"/> <t t-set="heightB" t-value="115"/> <t t-set="bgColor" t-value="'#9A6C8E'"/> <t t-set="fontSize" t-value="85"/> <t t-set="podiumPosition" t-value="'1'"/> </t> <t t-elif="loop.index == 3"> <t t-set="extra_div" t-value="'<div style="height:60px;"></div>'"/> <t t-set="heightA" t-value="115"/> <t t-set="heightB" t-value="55"/> <t t-set="bgColor" t-value="'#c8afc1'"/> <t t-set="fontSize" t-value="35"/> <t t-set="podiumPosition" t-value="'3'"/> </t> <div style="margin:0 3px 0 3px;height:220px;"> <div t-attf-style="height:{{ heightA }}px;"> <t t-out="extra_div or ''"/> <div style="height:55px;"> <img style="margin-bottom:5px;width:50px;height:50px;border-radius:50%;object-fit:cover;" t-att-src="image_data_uri(object.env['res.users'].browse(goal['user_id']).partner_id.image_128)" t-att-alt="goal['name']"/> </div> <div align="center" t-attf-style="color:{{ bgColor }};height:20px"> <t t-out="goal['name'] or ''"/> </div> </div> <div t-attf-style="background-color:{{ bgColor }};height:{{ heightB }}px;"> <strong><span t-attf-style="color:#fff;font-size:{{ fontSize }}px;" t-out="podiumPosition or ''"/></strong> </div> <div style="height:30px;"> <t t-out=""%.2f" % goal['current'] or ''"/> <t t-if="line['suffix'] or line['monetary']"> <t t-out="line['full_suffix'] or ''"/> </t> </div> </div> </td> </t> </tr> </table> </td> </tr> </table> </t> <!-- data table --> <table cellspacing="0" cellpadding="0" width="100%" style="margin-bottom:5px"> <tr> <td> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:30px;margin-bottom:5px;color:#666666;"> <thead> <tr style="color:#9A6C8E; font-size:12px;"> <th style="width:15%;text-align:center;">Позиция в рейтинге</th> <th style="width:25%;text-align:left;">Имя</th> <th style="width:30%;text-align:right;">Результат <t t-if="line['suffix']"> (<t t-out="line['suffix'] or ''"/>) </t> <t t-elif="line['monetary']"> (<t t-out="company.currency_id.symbol or ''"/>) </t> </th> <th style="width:30%;text-align:right;">Выполнено</th> </tr> <tr> <td colspan="5" style="height:1px;background-color:#9A6C8E;"/> </tr> </thead> <tbody t-foreach="line['goals']" t-as="goal"> <tr> <t t-set="tdBgColor" t-value="'#fff'"/> <t t-set="tdColor" t-value="'gray'"/> <t t-set="mutedColor" t-value="'#AAAAAA'"/> <t t-set="tdPercentageColor" t-value="'#9A6C8E'"/> <td width="15%" align="center" valign="middle" t-attf-style="background-color:{{ tdBgColor }};padding :5px 0;font-size:20px;"><t t-out="goal['rank']+1 or ''"/> </td> <td width="25%" align="left" valign="middle" t-attf-style="background-color:{{ tdBgColor }};padding :5px 0;font-size:13px;"><t t-out="goal['name'] or ''"/></td> <td width="30%" align="right" t-attf-style="background-color:{{ tdBgColor }};padding:5px 0;line-height:1;"><t t-out=""%.2f" % goal['current'] or ''"/><br/><span t-attf-style="font-size:13px;color:{{ mutedColor }};">на <t t-out=""%.2f" % line['target'] or ''"/></span> </td> <td width="30%" t-attf-style="color:{{ tdPercentageColor }};background-color:{{ tdBgColor }};padding-right:15px;font-size:22px;" align="right"><strong><t t-out="int(goal['completeness']) or ''"/>%</strong></td> </tr> <tr> <td colspan="5" style="height:1px;background-color:#DADADA;"/> </tr> </tbody> </table> </td> </tr> </table> </t> </t> </td></tr> </table> </td></tr> </table> </td> </tr> </table> |
None
Changes committed |
Changes committed
2 months ago
|
|
Translation changed |
<table cellspacing="0" cellpadding="0" width="100%" style="background-color: #EEE; border-collapse: collapse;">
<tr> <td valign="top" align="center"> <t t-set="object_ctx" t-value="ctx.get('object')"/> <t t-set="company" t-value="object_ctx and object_ctx.company_id or user.company_id"/> <t t-set="challenge_lines" t-value="ctx.get('challenge_lines', [])"/> <table cellspacing="0" cellpadding="0" width="600" style="margin: 0 auto; width: 570px;"> <tr><td> <table cellspacing="0" cellpadding="0" width="100%"> <tr> <div> <t t-if="object.visibility_mode == 'ranking'"> <td style="padding:15px;"> <p style="font-size:20px;color:#666666;" align="center">Leaderboard</p> </td> </t> </div> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" bgcolor="#fff" style="background-color:#fff;"> <tr><td style="padding: 15px;"> <t t-if="object.visibility_mode == 'personal'"> <span style="color:#666666;font-size:13px;">Here is your current progress in the challenge <strong t-out="object.name or ''"/>.</span> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:20px;"> <tr> <td align="center"> <div>Personal Performance</div> </td> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:30px;color:#666666;"> <thead> <tr style="color:#9A6C8E; font-size:12px;"> <th align="left" style="padding-bottom: 0px;width:40%;text-align:left;">Goals</th> <th style="width:20%;text-align:right;" align="left">Target</th> <th style="width:20%;text-align:right;" align="right">Current</th> <th style="width:20%;text-align:right;" align="right">Completeness</th> </tr> <tr> <td colspan="5" style="height:1px;background-color:#9A6C8E;"/> </tr> </thead> <tbody t-foreach="challenge_lines" t-as="line"> <tr style="font-weight:bold;"> <td style="padding: 20px 0;" align="left"> <t t-out="line['name'] or ''"/> <t t-if="line['suffix'] or line['monetary']"> (<t t-out="line['full_suffix'] or ''"/>) </t> </td> <td style="padding: 20px 0;" align="right"><t t-out=""%.2f" % line['target'] or ''"/> <t t-if="line['suffix']" t-out="line['suffix'] or ''"/> </td> <td style="padding: 20px 0;" align="right"><t t-out=""%.2f" % line['current'] or ''"/> <t t-if="line['suffix']" t-out="line['suffix'] or ''"/> </td> <td style="padding: 20px 0;font-size:25px;color:#9A6C8E;" align="right"><strong><t t-out="int(line['completeness']) or ''"/>%</strong></td> </tr> <tr> <td colspan="5" style="height:1px;background-color:#e3e3e3;"/> </tr> </tbody> </table> </t> <t t-else=""> <span style="color:#A8A8A8;font-size:13px;"> Challenge: <strong t-out="object.name or ''"/>. </span> <t t-foreach="challenge_lines" t-as="line"> <!-- Header + Button table --> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:35px;"> <tr> <td width="50%"> <div>Top Achievers for goal <strong t-out="line['name'] or ''"/></div> </td> </tr> </table> <!-- Podium --> <t t-if="len(line['goals']) == 2"> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:10px;"> <tr><td style="padding:0 30px;"> <table cellspacing="0" cellpadding="0" width="100%" style="table-layout: fixed;"> <tr> <t t-set="top_goals" t-value="line['goals'][:3]"/> <t t-foreach="top_goals" t-as="goal"> <td align="center" style="width:32%;"> <t t-if="loop.index == 1"> <t t-set="extra_div" t-value="'<div style="height:40px;"></div>'"/> <t t-set="heightA" t-value="95"/> <t t-set="heightB" t-value="75"/> <t t-set="bgColor" t-value="'#b898b0'"/> <t t-set="fontSize" t-value="50"/> <t t-set="podiumPosition" t-value="'2'"/> </t> <t t-elif="loop.index == 2"> <t t-set="extra_div" t-value="''"/> <t t-set="heightA" t-value="55"/> <t t-set="heightB" t-value="115"/> <t t-set="bgColor" t-value="'#9A6C8E'"/> <t t-set="fontSize" t-value="85"/> <t t-set="podiumPosition" t-value="'1'"/> </t> <t t-elif="loop.index == 3"> <t t-set="extra_div" t-value="'<div style="height:60px;"></div>'"/> <t t-set="heightA" t-value="115"/> <t t-set="heightB" t-value="55"/> <t t-set="bgColor" t-value="'#c8afc1'"/> <t t-set="fontSize" t-value="35"/> <t t-set="podiumPosition" t-value="'3'"/> </t> <div style="margin:0 3px 0 3px;height:220px;"> <div t-attf-style="height:{{ heightA }}px;"> <t t-out="extra_div or ''"/> <div style="height:55px;"> <img style="margin-bottom:5px;width:50px;height:50px;border-radius:50%;object-fit:cover;" t-att-src="image_data_uri(object.env['res.users'].browse(goal['user_id']).partner_id.image_128)" t-att-alt="goal['name']"/> </div> <div align="center" t-attf-style="color:{{ bgColor }};height:20px"> <t t-out="goal['name'] or ''"/> </div> </div> <div t-attf-style="background-color:{{ bgColor }};height:{{ heightB }}px;"> <strong><span t-attf-style="color:#fff;font-size:{{ fontSize }}px;" t-out="podiumPosition or ''"/></strong> </div> <div style="height:30px;"> <t t-out=""%.2f" % goal['current'] or ''"/> <t t-if="line['suffix'] or line['monetary']"> <t t-out="line['full_suffix'] or ''"/> </t> </div> </div> </td> </t> </tr> </table> </td> </tr> </table> </t> <!-- data table --> <table cellspacing="0" cellpadding="0" width="100%" style="margin-bottom:5px"> <tr> <td> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:30px;margin-bottom:5px;color:#666666;"> <thead> <tr style="color:#9A6C8E; font-size:12px;"> <th style="width:15%;text-align:center;">Rank</th> <th style="width:25%;text-align:left;">Name</th> <th style="width:30%;text-align:right;">Performance <t t-if="line['suffix']"> (<t t-out="line['suffix'] or ''"/>) </t> <t t-elif="line['monetary']"> (<t t-out="company.currency_id.symbol or ''"/>) </t> </th> <th style="width:30%;text-align:right;">Completeness</th> </tr> <tr> <td colspan="5" style="height:1px;background-color:#9A6C8E;"/> </tr> </thead> <tbody t-foreach="line['goals']" t-as="goal"> <tr> <t t-set="tdBgColor" t-value="'#fff'"/> <t t-set="tdColor" t-value="'gray'"/> <t t-set="mutedColor" t-value="'#AAAAAA'"/> <t t-set="tdPercentageColor" t-value="'#9A6C8E'"/> <td width="15%" align="center" valign="middle" t-attf-style="background-color:{{ tdBgColor }};padding :5px 0;font-size:20px;"><t t-out="goal['rank']+1 or ''"/> </td> <td width="25%" align="left" valign="middle" t-attf-style="background-color:{{ tdBgColor }};padding :5px 0;font-size:13px;"><t t-out="goal['name'] or ''"/></td> <td width="30%" align="right" t-attf-style="background-color:{{ tdBgColor }};padding:5px 0;line-height:1;"><t t-out=""%.2f" % goal['current'] or ''"/><br/><span t-attf-style="font-size:13px;color:{{ mutedColor }};">on <t t-out=""%.2f" % line['target'] or ''"/></span> </td> <td width="30%" t-attf-style="color:{{ tdPercentageColor }};background-color:{{ tdBgColor }};padding-right:15px;font-size:22px;" align="right"><strong><t t-out="int(goal['completeness']) or ''"/>%</strong></td> </tr> <tr> <td colspan="5" style="height:1px;background-color:#DADADA;"/> </tr> </tbody> </table> </td> </tr> </table> </t> </t> </td></tr> </table> </td></tr> </table> </td> </tr> </table>
<table cellspacing="0" cellpadding="0" width="100%" style="background-color: #EEE; border-collapse: collapse;">
<tr> <td valign="top" align="center"> <t t-set="object_ctx" t-value="ctx.get('object')"/> <t t-set="company" t-value="object_ctx and object_ctx.company_id or user.company_id"/> <t t-set="challenge_lines" t-value="ctx.get('challenge_lines', [])"/> <table cellspacing="0" cellpadding="0" width="600" style="margin: 0 auto; width: 570px;"> <tr><td> <table cellspacing="0" cellpadding="0" width="100%"> <tr> <div> <t t-if="object.visibility_mode == 'ranking'"> <td style="padding:15px;"> <p style="font-size:20px;color:#666666;" align="center">Таблица лидеров</p> </td> </t> </div> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" bgcolor="#fff" style="background-color:#fff;"> <tr><td style="padding: 15px;"> <t t-if="object.visibility_mode == 'personal'"> <span style="color:#666666;font-size:13px;">Ваш текущий прогресс по вызову<strong t-out="object.name or ''"/>.</span> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:20px;"> <tr> <td align="center"> <div>Личные результаты</div> </td> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:30px;color:#666666;"> <thead> <tr style="color:#9A6C8E; font-size:12px;"> <th align="left" style="padding-bottom: 0px;width:40%;text-align:left;">Цели</th> <th style="width:20%;text-align:right;" align="left">План</th> <th style="width:20%;text-align:right;" align="right">Текущий результат</th> <th style="width:20%;text-align:right;" align="right">Выполнено</th> </tr> <tr> <td colspan="5" style="height:1px;background-color:#9A6C8E;"/> </tr> </thead> <tbody t-foreach="challenge_lines" t-as="line"> <tr style="font-weight:bold;"> <td style="padding: 20px 0;" align="left"> <t t-out="line['name'] or ''"/> <t t-if="line['suffix'] or line['monetary']"> (<t t-out="line['full_suffix'] or ''"/>) </t> </td> <td style="padding: 20px 0;" align="right"><t t-out=""%.2f" % line['target'] or ''"/> <t t-if="line['suffix']" t-out="line['suffix'] or ''"/> </td> <td style="padding: 20px 0;" align="right"><t t-out=""%.2f" % line['current'] or ''"/> <t t-if="line['suffix']" t-out="line['suffix'] or ''"/> </td> <td style="padding: 20px 0;font-size:25px;color:#9A6C8E;" align="right"><strong><t t-out="int(line['completeness']) or ''"/>%</strong></td> </tr> <tr> <td colspan="5" style="height:1px;background-color:#e3e3e3;"/> </tr> </tbody> </table> </t> <t t-else=""> <span style="color:#A8A8A8;font-size:13px;"> Вызов: <strong t-out="object.name or ''"/>. </span> <t t-foreach="challenge_lines" t-as="line"> <!-- Header + Button table --> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:35px;"> <tr> <td width="50%"> <div>Лучшие достижения по цели <strong t-out="line['name'] or ''"/></div> </td> </tr> </table> <!-- Podium --> <t t-if="len(line['goals']) == 2"> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:10px;"> <tr><td style="padding:0 30px;"> <table cellspacing="0" cellpadding="0" width="100%" style="table-layout: fixed;"> <tr> <t t-set="top_goals" t-value="line['goals'][:3]"/> <t t-foreach="top_goals" t-as="goal"> <td align="center" style="width:32%;"> <t t-if="loop.index == 1"> <t t-set="extra_div" t-value="'<div style="height:40px;"></div>'"/> <t t-set="heightA" t-value="95"/> <t t-set="heightB" t-value="75"/> <t t-set="bgColor" t-value="'#b898b0'"/> <t t-set="fontSize" t-value="50"/> <t t-set="podiumPosition" t-value="'2'"/> </t> <t t-elif="loop.index == 2"> <t t-set="extra_div" t-value="''"/> <t t-set="heightA" t-value="55"/> <t t-set="heightB" t-value="115"/> <t t-set="bgColor" t-value="'#9A6C8E'"/> <t t-set="fontSize" t-value="85"/> <t t-set="podiumPosition" t-value="'1'"/> </t> <t t-elif="loop.index == 3"> <t t-set="extra_div" t-value="'<div style="height:60px;"></div>'"/> <t t-set="heightA" t-value="115"/> <t t-set="heightB" t-value="55"/> <t t-set="bgColor" t-value="'#c8afc1'"/> <t t-set="fontSize" t-value="35"/> <t t-set="podiumPosition" t-value="'3'"/> </t> <div style="margin:0 3px 0 3px;height:220px;"> <div t-attf-style="height:{{ heightA }}px;"> <t t-out="extra_div or ''"/> <div style="height:55px;"> <img style="margin-bottom:5px;width:50px;height:50px;border-radius:50%;object-fit:cover;" t-att-src="image_data_uri(object.env['res.users'].browse(goal['user_id']).partner_id.image_128)" t-att-alt="goal['name']"/> </div> <div align="center" t-attf-style="color:{{ bgColor }};height:20px"> <t t-out="goal['name'] or ''"/> </div> </div> <div t-attf-style="background-color:{{ bgColor }};height:{{ heightB }}px;"> <strong><span t-attf-style="color:#fff;font-size:{{ fontSize }}px;" t-out="podiumPosition or ''"/></strong> </div> <div style="height:30px;"> <t t-out=""%.2f" % goal['current'] or ''"/> <t t-if="line['suffix'] or line['monetary']"> <t t-out="line['full_suffix'] or ''"/> </t> </div> </div> </td> </t> </tr> </table> </td> </tr> </table> </t> <!-- data table --> <table cellspacing="0" cellpadding="0" width="100%" style="margin-bottom:5px"> <tr> <td> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:30px;margin-bottom:5px;color:#666666;"> <thead> <tr style="color:#9A6C8E; font-size:12px;"> <th style="width:15%;text-align:center;">Позиция в рейтинге</th> <th style="width:25%;text-align:left;">Имя</th> <th style="width:30%;text-align:right;">Результат <t t-if="line['suffix']"> (<t t-out="line['suffix'] or ''"/>) </t> <t t-elif="line['monetary']"> (<t t-out="company.currency_id.symbol or ''"/>) </t> </th> <th style="width:30%;text-align:right;">Выполнено</th> </tr> <tr> <td colspan="5" style="height:1px;background-color:#9A6C8E;"/> </tr> </thead> <tbody t-foreach="line['goals']" t-as="goal"> <tr> <t t-set="tdBgColor" t-value="'#fff'"/> <t t-set="tdColor" t-value="'gray'"/> <t t-set="mutedColor" t-value="'#AAAAAA'"/> <t t-set="tdPercentageColor" t-value="'#9A6C8E'"/> <td width="15%" align="center" valign="middle" t-attf-style="background-color:{{ tdBgColor }};padding :5px 0;font-size:20px;"><t t-out="goal['rank']+1 or ''"/> </td> <td width="25%" align="left" valign="middle" t-attf-style="background-color:{{ tdBgColor }};padding :5px 0;font-size:13px;"><t t-out="goal['name'] or ''"/></td> <td width="30%" align="right" t-attf-style="background-color:{{ tdBgColor }};padding:5px 0;line-height:1;"><t t-out=""%.2f" % goal['current'] or ''"/><br/><span t-attf-style="font-size:13px;color:{{ mutedColor }};">на <t t-out=""%.2f" % line['target'] or ''"/></span> </td> <td width="30%" t-attf-style="color:{{ tdPercentageColor }};background-color:{{ tdBgColor }};padding-right:15px;font-size:22px;" align="right"><strong><t t-out="int(goal['completeness']) or ''"/>%</strong></td> </tr> <tr> <td colspan="5" style="height:1px;background-color:#DADADA;"/> </tr> </tbody> </table> </td> </tr> </table> </t> </t> </td></tr> </table> </td></tr> </table> </td> </tr> </table> |
|
Translation completed |
Translation completed
2 months ago
|
|
Translation added |
<table cellspacing="0" cellpadding="0" width="100%" style="background-color: #EEE; border-collapse: collapse;">
<tr> <td valign="top" align="center"> <t t-set="object_ctx" t-value="ctx.get('object')"/> <t t-set="company" t-value="object_ctx and object_ctx.company_id or user.company_id"/> <t t-set="challenge_lines" t-value="ctx.get('challenge_lines', [])"/> <table cellspacing="0" cellpadding="0" width="600" style="margin: 0 auto; width: 570px;"> <tr><td> <table cellspacing="0" cellpadding="0" width="100%"> <tr> <div> <t t-if="object.visibility_mode == 'ranking'"> <td style="padding:15px;"> <p style="font-size:20px;color:#666666;" align="center">Leaderboard</p> </td> </t> </div> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" bgcolor="#fff" style="background-color:#fff;"> <tr><td style="padding: 15px;"> <t t-if="object.visibility_mode == 'personal'"> <span style="color:#666666;font-size:13px;">Here is your current progress in the challenge <strong t-out="object.name or ''"/>.</span> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:20px;"> <tr> <td align="center"> <div>Personal Performance</div> </td> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:30px;color:#666666;"> <thead> <tr style="color:#9A6C8E; font-size:12px;"> <th align="left" style="padding-bottom: 0px;width:40%;text-align:left;">Goals</th> <th style="width:20%;text-align:right;" align="left">Target</th> <th style="width:20%;text-align:right;" align="right">Current</th> <th style="width:20%;text-align:right;" align="right">Completeness</th> </tr> <tr> <td colspan="5" style="height:1px;background-color:#9A6C8E;"/> </tr> </thead> <tbody t-foreach="challenge_lines" t-as="line"> <tr style="font-weight:bold;"> <td style="padding: 20px 0;" align="left"> <t t-out="line['name'] or ''"/> <t t-if="line['suffix'] or line['monetary']"> (<t t-out="line['full_suffix'] or ''"/>) </t> </td> <td style="padding: 20px 0;" align="right"><t t-out=""%.2f" % line['target'] or ''"/> <t t-if="line['suffix']" t-out="line['suffix'] or ''"/> </td> <td style="padding: 20px 0;" align="right"><t t-out=""%.2f" % line['current'] or ''"/> <t t-if="line['suffix']" t-out="line['suffix'] or ''"/> </td> <td style="padding: 20px 0;font-size:25px;color:#9A6C8E;" align="right"><strong><t t-out="int(line['completeness']) or ''"/>%</strong></td> </tr> <tr> <td colspan="5" style="height:1px;background-color:#e3e3e3;"/> </tr> </tbody> </table> </t> <t t-else=""> <span style="color:#A8A8A8;font-size:13px;"> Challenge: <strong t-out="object.name or ''"/>. </span> <t t-foreach="challenge_lines" t-as="line"> <!-- Header + Button table --> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:35px;"> <tr> <td width="50%"> <div>Top Achievers for goal <strong t-out="line['name'] or ''"/></div> </td> </tr> </table> <!-- Podium --> <t t-if="len(line['goals']) == 2"> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:10px;"> <tr><td style="padding:0 30px;"> <table cellspacing="0" cellpadding="0" width="100%" style="table-layout: fixed;"> <tr> <t t-set="top_goals" t-value="line['goals'][:3]"/> <t t-foreach="top_goals" t-as="goal"> <td align="center" style="width:32%;"> <t t-if="loop.index == 1"> <t t-set="extra_div" t-value="'<div style="height:40px;"></div>'"/> <t t-set="heightA" t-value="95"/> <t t-set="heightB" t-value="75"/> <t t-set="bgColor" t-value="'#b898b0'"/> <t t-set="fontSize" t-value="50"/> <t t-set="podiumPosition" t-value="'2'"/> </t> <t t-elif="loop.index == 2"> <t t-set="extra_div" t-value="''"/> <t t-set="heightA" t-value="55"/> <t t-set="heightB" t-value="115"/> <t t-set="bgColor" t-value="'#9A6C8E'"/> <t t-set="fontSize" t-value="85"/> <t t-set="podiumPosition" t-value="'1'"/> </t> <t t-elif="loop.index == 3"> <t t-set="extra_div" t-value="'<div style="height:60px;"></div>'"/> <t t-set="heightA" t-value="115"/> <t t-set="heightB" t-value="55"/> <t t-set="bgColor" t-value="'#c8afc1'"/> <t t-set="fontSize" t-value="35"/> <t t-set="podiumPosition" t-value="'3'"/> </t> <div style="margin:0 3px 0 3px;height:220px;"> <div t-attf-style="height:{{ heightA }}px;"> <t t-out="extra_div or ''"/> <div style="height:55px;"> <img style="margin-bottom:5px;width:50px;height:50px;border-radius:50%;object-fit:cover;" t-att-src="image_data_uri(object.env['res.users'].browse(goal['user_id']).partner_id.image_128)" t-att-alt="goal['name']"/> </div> <div align="center" t-attf-style="color:{{ bgColor }};height:20px"> <t t-out="goal['name'] or ''"/> </div> </div> <div t-attf-style="background-color:{{ bgColor }};height:{{ heightB }}px;"> <strong><span t-attf-style="color:#fff;font-size:{{ fontSize }}px;" t-out="podiumPosition or ''"/></strong> </div> <div style="height:30px;"> <t t-out=""%.2f" % goal['current'] or ''"/> <t t-if="line['suffix'] or line['monetary']"> <t t-out="line['full_suffix'] or ''"/> </t> </div> </div> </td> </t> </tr> </table> </td> </tr> </table> </t> <!-- data table --> <table cellspacing="0" cellpadding="0" width="100%" style="margin-bottom:5px"> <tr> <td> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:30px;margin-bottom:5px;color:#666666;"> <thead> <tr style="color:#9A6C8E; font-size:12px;"> <th style="width:15%;text-align:center;">Rank</th> <th style="width:25%;text-align:left;">Name</th> <th style="width:30%;text-align:right;">Performance <t t-if="line['suffix']"> (<t t-out="line['suffix'] or ''"/>) </t> <t t-elif="line['monetary']"> (<t t-out="company.currency_id.symbol or ''"/>) </t> </th> <th style="width:30%;text-align:right;">Completeness</th> </tr> <tr> <td colspan="5" style="height:1px;background-color:#9A6C8E;"/> </tr> </thead> <tbody t-foreach="line['goals']" t-as="goal"> <tr> <t t-set="tdBgColor" t-value="'#fff'"/> <t t-set="tdColor" t-value="'gray'"/> <t t-set="mutedColor" t-value="'#AAAAAA'"/> <t t-set="tdPercentageColor" t-value="'#9A6C8E'"/> <td width="15%" align="center" valign="middle" t-attf-style="background-color:{{ tdBgColor }};padding :5px 0;font-size:20px;"><t t-out="goal['rank']+1 or ''"/> </td> <td width="25%" align="left" valign="middle" t-attf-style="background-color:{{ tdBgColor }};padding :5px 0;font-size:13px;"><t t-out="goal['name'] or ''"/></td> <td width="30%" align="right" t-attf-style="background-color:{{ tdBgColor }};padding:5px 0;line-height:1;"><t t-out=""%.2f" % goal['current'] or ''"/><br/><span t-attf-style="font-size:13px;color:{{ mutedColor }};">on <t t-out=""%.2f" % line['target'] or ''"/></span> </td> <td width="30%" t-attf-style="color:{{ tdPercentageColor }};background-color:{{ tdBgColor }};padding-right:15px;font-size:22px;" align="right"><strong><t t-out="int(goal['completeness']) or ''"/>%</strong></td> </tr> <tr> <td colspan="5" style="height:1px;background-color:#DADADA;"/> </tr> </tbody> </table> </td> </tr> </table> </t> </t> </td></tr> </table> </td></tr> </table> </td> </tr> </table>
<table cellspacing="0" cellpadding="0" width="100%" style="background-color: #EEE; border-collapse: collapse;">
<tr> <td valign="top" align="center"> <t t-set="object_ctx" t-value="ctx.get('object')"/> <t t-set="company" t-value="object_ctx and object_ctx.company_id or user.company_id"/> <t t-set="challenge_lines" t-value="ctx.get('challenge_lines', [])"/> <table cellspacing="0" cellpadding="0" width="600" style="margin: 0 auto; width: 570px;"> <tr><td> <table cellspacing="0" cellpadding="0" width="100%"> <tr> <div> <t t-if="object.visibility_mode == 'ranking'"> <td style="padding:15px;"> <p style="font-size:20px;color:#666666;" align="center">Таблица лидеров</p> </td> </t> </div> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" bgcolor="#fff" style="background-color:#fff;"> <tr><td style="padding: 15px;"> <t t-if="object.visibility_mode == 'personal'"> <span style="color:#666666;font-size:13px;">Ваш текущий прогресс<strong t-out="object.name or ''"/>.</span> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:20px;"> <tr> <td align="center"> <div>Личные результаты</div> </td> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:30px;color:#666666;"> <thead> <tr style="color:#9A6C8E; font-size:12px;"> <th align="left" style="padding-bottom: 0px;width:40%;text-align:left;">Цели</th> <th style="width:20%;text-align:right;" align="left">План</th> <th style="width:20%;text-align:right;" align="right">Текущий результат</th> <th style="width:20%;text-align:right;" align="right">Выполнено</th> </tr> <tr> <td colspan="5" style="height:1px;background-color:#9A6C8E;"/> </tr> </thead> <tbody t-foreach="challenge_lines" t-as="line"> <tr style="font-weight:bold;"> <td style="padding: 20px 0;" align="left"> <t t-out="line['name'] or ''"/> <t t-if="line['suffix'] or line['monetary']"> (<t t-out="line['full_suffix'] or ''"/>) </t> </td> <td style="padding: 20px 0;" align="right"><t t-out=""%.2f" % line['target'] or ''"/> <t t-if="line['suffix']" t-out="line['suffix'] or ''"/> </td> <td style="padding: 20px 0;" align="right"><t t-out=""%.2f" % line['current'] or ''"/> <t t-if="line['suffix']" t-out="line['suffix'] or ''"/> </td> <td style="padding: 20px 0;font-size:25px;color:#9A6C8E;" align="right"><strong><t t-out="int(line['completeness']) or ''"/>%</strong></td> </tr> <tr> <td colspan="5" style="height:1px;background-color:#e3e3e3;"/> </tr> </tbody> </table> </t> <t t-else=""> <span style="color:#A8A8A8;font-size:13px;"> Вызов: <strong t-out="object.name or ''"/>. </span> <t t-foreach="challenge_lines" t-as="line"> <!-- Header + Button table --> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:35px;"> <tr> <td width="50%"> <div>Лучшие достижения по цели <strong t-out="line['name'] or ''"/></div> </td> </tr> </table> <!-- Podium --> <t t-if="len(line['goals']) == 2"> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:10px;"> <tr><td style="padding:0 30px;"> <table cellspacing="0" cellpadding="0" width="100%" style="table-layout: fixed;"> <tr> <t t-set="top_goals" t-value="line['goals'][:3]"/> <t t-foreach="top_goals" t-as="goal"> <td align="center" style="width:32%;"> <t t-if="loop.index == 1"> <t t-set="extra_div" t-value="'<div style="height:40px;"></div>'"/> <t t-set="heightA" t-value="95"/> <t t-set="heightB" t-value="75"/> <t t-set="bgColor" t-value="'#b898b0'"/> <t t-set="fontSize" t-value="50"/> <t t-set="podiumPosition" t-value="'2'"/> </t> <t t-elif="loop.index == 2"> <t t-set="extra_div" t-value="''"/> <t t-set="heightA" t-value="55"/> <t t-set="heightB" t-value="115"/> <t t-set="bgColor" t-value="'#9A6C8E'"/> <t t-set="fontSize" t-value="85"/> <t t-set="podiumPosition" t-value="'1'"/> </t> <t t-elif="loop.index == 3"> <t t-set="extra_div" t-value="'<div style="height:60px;"></div>'"/> <t t-set="heightA" t-value="115"/> <t t-set="heightB" t-value="55"/> <t t-set="bgColor" t-value="'#c8afc1'"/> <t t-set="fontSize" t-value="35"/> <t t-set="podiumPosition" t-value="'3'"/> </t> <div style="margin:0 3px 0 3px;height:220px;"> <div t-attf-style="height:{{ heightA }}px;"> <t t-out="extra_div or ''"/> <div style="height:55px;"> <img style="margin-bottom:5px;width:50px;height:50px;border-radius:50%;object-fit:cover;" t-att-src="image_data_uri(object.env['res.users'].browse(goal['user_id']).partner_id.image_128)" t-att-alt="goal['name']"/> </div> <div align="center" t-attf-style="color:{{ bgColor }};height:20px"> <t t-out="goal['name'] or ''"/> </div> </div> <div t-attf-style="background-color:{{ bgColor }};height:{{ heightB }}px;"> <strong><span t-attf-style="color:#fff;font-size:{{ fontSize }}px;" t-out="podiumPosition or ''"/></strong> </div> <div style="height:30px;"> <t t-out=""%.2f" % goal['current'] or ''"/> <t t-if="line['suffix'] or line['monetary']"> <t t-out="line['full_suffix'] or ''"/> </t> </div> </div> </td> </t> </tr> </table> </td> </tr> </table> </t> <!-- data table --> <table cellspacing="0" cellpadding="0" width="100%" style="margin-bottom:5px"> <tr> <td> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:30px;margin-bottom:5px;color:#666666;"> <thead> <tr style="color:#9A6C8E; font-size:12px;"> <th style="width:15%;text-align:center;">Позиция в рейтинге</th> <th style="width:25%;text-align:left;">Имя</th> <th style="width:30%;text-align:right;">Результат <t t-if="line['suffix']"> (<t t-out="line['suffix'] or ''"/>) </t> <t t-elif="line['monetary']"> (<t t-out="company.currency_id.symbol or ''"/>) </t> </th> <th style="width:30%;text-align:right;">Выполнено</th> </tr> <tr> <td colspan="5" style="height:1px;background-color:#9A6C8E;"/> </tr> </thead> <tbody t-foreach="line['goals']" t-as="goal"> <tr> <t t-set="tdBgColor" t-value="'#fff'"/> <t t-set="tdColor" t-value="'gray'"/> <t t-set="mutedColor" t-value="'#AAAAAA'"/> <t t-set="tdPercentageColor" t-value="'#9A6C8E'"/> <td width="15%" align="center" valign="middle" t-attf-style="background-color:{{ tdBgColor }};padding :5px 0;font-size:20px;"><t t-out="goal['rank']+1 or ''"/> </td> <td width="25%" align="left" valign="middle" t-attf-style="background-color:{{ tdBgColor }};padding :5px 0;font-size:13px;"><t t-out="goal['name'] or ''"/></td> <td width="30%" align="right" t-attf-style="background-color:{{ tdBgColor }};padding:5px 0;line-height:1;"><t t-out=""%.2f" % goal['current'] or ''"/><br/><span t-attf-style="font-size:13px;color:{{ mutedColor }};">на <t t-out=""%.2f" % line['target'] or ''"/></span> </td> <td width="30%" t-attf-style="color:{{ tdPercentageColor }};background-color:{{ tdBgColor }};padding-right:15px;font-size:22px;" align="right"><strong><t t-out="int(goal['completeness']) or ''"/>%</strong></td> </tr> <tr> <td colspan="5" style="height:1px;background-color:#DADADA;"/> </tr> </tbody> </table> </td> </tr> </table> </t> </t> </td></tr> </table> </td></tr> </table> </td> </tr> </table> |
|
Translation changed |
<table cellspacing="0" cellpadding="0" width="100%" style="background-color: #EEE; border-collapse: collapse;">
<tr> <td valign="top" align="center"> <t t-set="object_ctx" t-value="ctx.get('object')"/> <t t-set="company" t-value="object_ctx and object_ctx.company_id or user.company_id"/> <t t-set="challenge_lines" t-value="ctx.get('challenge_lines', [])"/> <table cellspacing="0" cellpadding="0" width="600" style="margin: 0 auto; width: 570px;"> <tr><td> <table cellspacing="0" cellpadding="0" width="100%"> <tr> <div> <t t-if="object.visibility_mode == 'ranking'"> <td style="padding:15px;"> <p style="font-size:20px;color:#666666;" align="center">Leaderboard</p> </td> </t> </div> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" bgcolor="#fff" style="background-color:#fff;"> <tr><td style="padding: 15px;"> <t t-if="object.visibility_mode == 'personal'"> <span style="color:#666666;font-size:13px;">Here is your current progress in the challenge <strong t-out="object.name or ''"/>.</span> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:20px;"> <tr> <td align="center"> <div>Personal Performance</div> </td> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:30px;color:#666666;"> <thead> <tr style="color:#9A6C8E; font-size:12px;"> <th align="left" style="padding-bottom: 0px;width:40%;text-align:left;">Goals</th> <th style="width:20%;text-align:right;" align="left">Target</th> <th style="width:20%;text-align:right;" align="right">Current</th> <th style="width:20%;text-align:right;" align="right">Completeness</th> </tr> <tr> <td colspan="5" style="height:1px;background-color:#9A6C8E;"/> </tr> </thead> <tbody t-foreach="challenge_lines" t-as="line"> <tr style="font-weight:bold;"> <td style="padding: 20px 0;" align="left"> <t t-out="line['name'] or ''"/> <t t-if="line['suffix'] or line['monetary']"> (<t t-out="line['full_suffix'] or ''"/>) </t> </td> <td style="padding: 20px 0;" align="right"><t t-out=""%.2f" % line['target'] or ''"/> <t t-if="line['suffix']" t-out="line['suffix'] or ''"/> </td> <td style="padding: 20px 0;" align="right"><t t-out=""%.2f" % line['current'] or ''"/> <t t-if="line['suffix']" t-out="line['suffix'] or ''"/> </td> <td style="padding: 20px 0;font-size:25px;color:#9A6C8E;" align="right"><strong><t t-out="int(line['completeness']) or ''"/>%</strong></td> </tr> <tr> <td colspan="5" style="height:1px;background-color:#e3e3e3;"/> </tr> </tbody> </table> </t> <t t-else=""> <span style="color:#A8A8A8;font-size:13px;"> Challenge: <strong t-out="object.name or ''"/>. </span> <t t-foreach="challenge_lines" t-as="line"> <!-- Header + Button table --> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:35px;"> <tr> <td width="50%"> <div>Top Achievers for goal <strong t-out="line['name'] or ''"/></div> </td> </tr> </table> <!-- Podium --> <t t-if="len(line['goals']) == 2"> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:10px;"> <tr><td style="padding:0 30px;"> <table cellspacing="0" cellpadding="0" width="100%" style="table-layout: fixed;"> <tr> <t t-set="top_goals" t-value="line['goals'][:3]"/> <t t-foreach="top_goals" t-as="goal"> <td align="center" style="width:32%;"> <t t-if="loop.index == 1"> <t t-set="extra_div" t-value="'<div style="height:40px;"></div>'"/> <t t-set="heightA" t-value="95"/> <t t-set="heightB" t-value="75"/> <t t-set="bgColor" t-value="'#b898b0'"/> <t t-set="fontSize" t-value="50"/> <t t-set="podiumPosition" t-value="'2'"/> </t> <t t-elif="loop.index == 2"> <t t-set="extra_div" t-value="''"/> <t t-set="heightA" t-value="55"/> <t t-set="heightB" t-value="115"/> <t t-set="bgColor" t-value="'#9A6C8E'"/> <t t-set="fontSize" t-value="85"/> <t t-set="podiumPosition" t-value="'1'"/> </t> <t t-elif="loop.index == 3"> <t t-set="extra_div" t-value="'<div style="height:60px;"></div>'"/> <t t-set="heightA" t-value="115"/> <t t-set="heightB" t-value="55"/> <t t-set="bgColor" t-value="'#c8afc1'"/> <t t-set="fontSize" t-value="35"/> <t t-set="podiumPosition" t-value="'3'"/> </t> <div style="margin:0 3px 0 3px;height:220px;"> <div t-attf-style="height:{{ heightA }}px;"> <t t-out="extra_div or ''"/> <div style="height:55px;"> <img style="margin-bottom:5px;width:50px;height:50px;border-radius:50%;object-fit:cover;" t-att-src="image_data_uri(object.env['res.users'].browse(goal['user_id']).partner_id.image_128)" t-att-alt="goal['name']"/> </div> <div align="center" t-attf-style="color:{{ bgColor }};height:20px"> <t t-out="goal['name'] or ''"/> </div> </div> <div t-attf-style="background-color:{{ bgColor }};height:{{ heightB }}px;"> <strong><span t-attf-style="color:#fff;font-size:{{ fontSize }}px;" t-out="podiumPosition or ''"/></strong> </div> <div style="height:30px;"> <t t-out=""%.2f" % goal['current'] or ''"/> <t t-if="line['suffix'] or line['monetary']"> <t t-out="line['full_suffix'] or ''"/> </t> </div> </div> </td> </t> </tr> </table> </td> </tr> </table> </t> <!-- data table --> <table cellspacing="0" cellpadding="0" width="100%" style="margin-bottom:5px"> <tr> <td> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:30px;margin-bottom:5px;color:#666666;"> <thead> <tr style="color:#9A6C8E; font-size:12px;"> <th style="width:15%;text-align:center;">Rank</th> <th style="width:25%;text-align:left;">Name</th> <th style="width:30%;text-align:right;">Performance <t t-if="line['suffix']"> (<t t-out="line['suffix'] or ''"/>) </t> <t t-elif="line['monetary']"> (<t t-out="company.currency_id.symbol or ''"/>) </t> </th> <th style="width:30%;text-align:right;">Completeness</th> </tr> <tr> <td colspan="5" style="height:1px;background-color:#9A6C8E;"/> </tr> </thead> <tbody t-foreach="line['goals']" t-as="goal"> <tr> <t t-set="tdBgColor" t-value="'#fff'"/> <t t-set="tdColor" t-value="'gray'"/> <t t-set="mutedColor" t-value="'#AAAAAA'"/> <t t-set="tdPercentageColor" t-value="'#9A6C8E'"/> <td width="15%" align="center" valign="middle" t-attf-style="background-color:{{ tdBgColor }};padding :5px 0;font-size:20px;"><t t-out="goal['rank']+1 or ''"/> </td> <td width="25%" align="left" valign="middle" t-attf-style="background-color:{{ tdBgColor }};padding :5px 0;font-size:13px;"><t t-out="goal['name'] or ''"/></td> <td width="30%" align="right" t-attf-style="background-color:{{ tdBgColor }};padding:5px 0;line-height:1;"><t t-out=""%.2f" % goal['current'] or ''"/><br/><span t-attf-style="font-size:13px;color:{{ mutedColor }};">on <t t-out=""%.2f" % line['target'] or ''"/></span> </td> <td width="30%" t-attf-style="color:{{ tdPercentageColor }};background-color:{{ tdBgColor }};padding-right:15px;font-size:22px;" align="right"><strong><t t-out="int(goal['completeness']) or ''"/>%</strong></td> </tr> <tr> <td colspan="5" style="height:1px;background-color:#DADADA;"/> </tr> </tbody> </table> </td> </tr> </table> </t> </t> </td></tr> </table> </td></tr> </table> </td> </tr> </table> <tr> <td valign="top" align="center"> <t t-set="object_ctx" t-value="ctx.get('object')"/> <t t-set="company" t-value="object_ctx and object_ctx.company_id or user.company_id"/> <t t-set="challenge_lines" t-value="ctx.get('challenge_lines', [])"/> <table cellspacing="0" cellpadding="0" width="600" style="margin: 0 auto; width: 570px;"> <tr><td> <table cellspacing="0" cellpadding="0" width="100%"> <tr> <div> <t t-if="object.visibility_mode == 'ranking'"> <td style="padding:15px;"> <p style="font-size:20px;color:#666666;" align="center">Таблица лидеров</p> </td> </t> </div> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" bgcolor="#fff" style="background-color:#fff;"> <tr><td style="padding: 15px;"> <t t-if="object.visibility_mode == 'personal'"> <span style="color:#666666;font-size:13px;">Ваш текущий прогресс<strong t-out="object.name or ''"/>.</span> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:20px;"> <tr> <td align="center"> <div>Личные результаты</div> </td> </tr> </table> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:30px;color:#666666;"> <thead> <tr style="color:#9A6C8E; font-size:12px;"> <th align="left" style="padding-bottom: 0px;width:40%;text-align:left;">Цели</th> <th style="width:20%;text-align:right;" align="left">План</th> <th style="width:20%;text-align:right;" align="right">Текущий результат</th> <th style="width:20%;text-align:right;" align="right">Выполнено</th> </tr> <tr> <td colspan="5" style="height:1px;background-color:#9A6C8E;"/> </tr> </thead> <tbody t-foreach="challenge_lines" t-as="line"> <tr style="font-weight:bold;"> <td style="padding: 20px 0;" align="left"> <t t-out="line['name'] or ''"/> <t t-if="line['suffix'] or line['monetary']"> (<t t-out="line['full_suffix'] or ''"/>) </t> </td> <td style="padding: 20px 0;" align="right"><t t-out=""%.2f" % line['target'] or ''"/> <t t-if="line['suffix']" t-out="line['suffix'] or ''"/> </td> <td style="padding: 20px 0;" align="right"><t t-out=""%.2f" % line['current'] or ''"/> <t t-if="line['suffix']" t-out="line['suffix'] or ''"/> </td> <td style="padding: 20px 0;font-size:25px;color:#9A6C8E;" align="right"><strong><t t-out="int(line['completeness']) or ''"/>%</strong></td> </tr> <tr> <td colspan="5" style="height:1px;background-color:#e3e3e3;"/> </tr> </tbody> </table> </t> <t t-else=""> <span style="color:#A8A8A8;font-size:13px;"> Вызов: <strong t-out="object.name or ''"/>. </span> <t t-foreach="challenge_lines" t-as="line"> <!-- Header + Button table --> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:35px;"> <tr> <td width="50%"> <div>Лучшие достижения по цели <strong t-out="line['name'] or ''"/></div> </td> </tr> </table> <!-- Podium --> <t t-if="len(line['goals']) == 2"> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:10px;"> <tr><td style="padding:0 30px;"> <table cellspacing="0" cellpadding="0" width="100%" style="table-layout: fixed;"> <tr> <t t-set="top_goals" t-value="line['goals'][:3]"/> <t t-foreach="top_goals" t-as="goal"> <td align="center" style="width:32%;"> <t t-if="loop.index == 1"> <t t-set="extra_div" t-value="'<div style="height:40px;"></div>'"/> <t t-set="heightA" t-value="95"/> <t t-set="heightB" t-value="75"/> <t t-set="bgColor" t-value="'#b898b0'"/> <t t-set="fontSize" t-value="50"/> <t t-set="podiumPosition" t-value="'2'"/> </t> <t t-elif="loop.index == 2"> <t t-set="extra_div" t-value="''"/> <t t-set="heightA" t-value="55"/> <t t-set="heightB" t-value="115"/> <t t-set="bgColor" t-value="'#9A6C8E'"/> <t t-set="fontSize" t-value="85"/> <t t-set="podiumPosition" t-value="'1'"/> </t> <t t-elif="loop.index == 3"> <t t-set="extra_div" t-value="'<div style="height:60px;"></div>'"/> <t t-set="heightA" t-value="115"/> <t t-set="heightB" t-value="55"/> <t t-set="bgColor" t-value="'#c8afc1'"/> <t t-set="fontSize" t-value="35"/> <t t-set="podiumPosition" t-value="'3'"/> </t> <div style="margin:0 3px 0 3px;height:220px;"> <div t-attf-style="height:{{ heightA }}px;"> <t t-out="extra_div or ''"/> <div style="height:55px;"> <img style="margin-bottom:5px;width:50px;height:50px;border-radius:50%;object-fit:cover;" t-att-src="image_data_uri(object.env['res.users'].browse(goal['user_id']).partner_id.image_128)" t-att-alt="goal['name']"/> </div> <div align="center" t-attf-style="color:{{ bgColor }};height:20px"> <t t-out="goal['name'] or ''"/> </div> </div> <div t-attf-style="background-color:{{ bgColor }};height:{{ heightB }}px;"> <strong><span t-attf-style="color:#fff;font-size:{{ fontSize }}px;" t-out="podiumPosition or ''"/></strong> </div> <div style="height:30px;"> <t t-out=""%.2f" % goal['current'] or ''"/> <t t-if="line['suffix'] or line['monetary']"> <t t-out="line['full_suffix'] or ''"/> </t> </div> </div> </td> </t> </tr> </table> </td> </tr> </table> </t> <!-- data table --> <table cellspacing="0" cellpadding="0" width="100%" style="margin-bottom:5px"> <tr> <td> <table cellspacing="0" cellpadding="0" width="100%" style="margin-top:30px;margin-bottom:5px;color:#666666;"> <thead> <tr style="color:#9A6C8E; font-size:12px;"> <th style="width:15%;text-align:center;">Позиция в рейтинге</th> <th style="width:25%;text-align:left;">Имя</th> <th style="width:30%;text-align:right;">Показатель результата <t t-if="line['suffix']"> (<t t-out="line['suffix'] or ''"/>) </t> <t t-elif="line['monetary']"> (<t t-out="company.currency_id.symbol or ''"/>) </t> </th> <th style="width:30%;text-align:right;">Выполнено</th> </tr> <tr> <td colspan="5" style="height:1px;background-color:#9A6C8E;"/> </tr> </thead> <tbody t-foreach="line['goals']" t-as="goal"> <tr> <t t-set="tdBgColor" t-value="'#fff'"/> <t t-set="tdColor" t-value="'gray'"/> <t t-set="mutedColor" t-value="'#AAAAAA'"/> <t t-set="tdPercentageColor" t-value="'#9A6C8E'"/> <td width="15%" align="center" valign="middle" t-attf-style="background-color:{{ tdBgColor }};padding :5px 0;font-size:20px;"><t t-out="goal['rank']+1 or ''"/> </td> <td width="25%" align="left" valign="middle" t-attf-style="background-color:{{ tdBgColor }};padding :5px 0;font-size:13px;"><t t-out="goal['name'] or ''"/></td> <td width="30%" align="right" t-attf-style="background-color:{{ tdBgColor }};padding:5px 0;line-height:1;"><t t-out=""%.2f" % goal['current'] or ''"/><br/><span t-attf-style="font-size:13px;color:{{ mutedColor }};">на <t t-out=""%.2f" % line['target'] or ''"/></span> </td> <td width="30%" t-attf-style="color:{{ tdPercentageColor }};background-color:{{ tdBgColor }};padding-right:15px;font-size:22px;" align="right"><strong><t t-out="int(goal['completeness']) or ''"/>%</strong></td> </tr> <tr> <td colspan="5" style="height:1px;background-color:#DADADA;"/> </tr> </tbody> </table> </td> </tr> </table> </t> </t> </td></tr> </table> </td></tr> </table> </td> </tr> </table> |
|
Changes committed |
Changes committed
3 months ago
|
|
Bulk status changed |
Send Report
Отправить отчет
|
|
Changes committed |
Changes committed
3 months ago
|
| 410 | File in original format as translated in the repository | gettext PO file | |||||||
|---|---|---|---|---|---|---|---|---|---|
| 410 | 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