| Language | Approved | Translated | Unreviewed | Unfinished | Unfinished words | Unfinished characters | Untranslated | Checks | Suggestions | Comments | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| English BSD-2-Clause | 100% | 100% | 0 | 0 | 0 | 0 | 0 | 276 | 0 | 0 | |
| Albanian BSD-2-Clause | 0% | 0% | 0 | 1,809 | 11,087 | 73,062 | 1,809 | 0 | 0 | 0 | |
| Arabic BSD-2-Clause | 1% | 94% | 1,691 | 108 | 515 | 3,466 | 108 | 25 | 0 | 0 | |
| Azerbaijani BSD-2-Clause | 0% | 23% | 431 | 1,378 | 9,956 | 65,200 | 1,378 | 5 | 0 | 0 | |
| Bosnian BSD-2-Clause | 0% | 1,809 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| Bulgarian BSD-2-Clause | 0% | 41% | 752 | 1,057 | 7,890 | 52,267 | 1,057 | 11 | 1 | 0 | |
| Burmese BSD-2-Clause | 0% | 13% | 247 | 1,562 | 10,677 | 70,381 | 1,562 | 0 | 0 | 0 | |
| Catalan BSD-2-Clause | 0% | 75% | 1,374 | 435 | 3,336 | 22,272 | 435 | 28 | 0 | 0 | |
| Chinese (Simplified Han script) BSD-2-Clause | 0% | 99% | 1,807 | 2 | 3 | 13 | 2 | 26 | 10 | 0 | |
| Chinese (Traditional Han script) BSD-2-Clause | 0% | 93% | 1,683 | 126 | 947 | 6,474 | 126 | 6 | 0 | 0 | |
| Croatian BSD-2-Clause | 0% | 99% | 1,808 | 1 | 1 | 1 | 1 | 26 | 0 | 0 | |
| Czech BSD-2-Clause | 13% | 88% | 1,350 | 213 | 1,332 | 8,884 | 213 | 18 | 0 | 0 | |
| Danish BSD-2-Clause | 0% | 61% | 1,104 | 705 | 5,157 | 34,948 | 705 | 14 | 2 | 0 | |
| Dutch BSD-2-Clause | 0% | 100% | 1,809 | 0 | 0 | 0 | 0 | 6 | 0 | 0 | |
| Estonian BSD-2-Clause | 0% | 99% | 1,803 | 6 | 9 | 92 | 6 | 0 | 0 | 0 | |
| Finnish BSD-2-Clause | 9% | 1,638 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| French BSD-2-Clause | 1% | 100% | 1,807 | 0 | 0 | 0 | 0 | 46 | 0 | 0 | |
| German BSD-2-Clause | 2% | 100% | 1,757 | 0 | 0 | 0 | 0 | 37 | 0 | 0 | |
| Greek BSD-2-Clause | 0% | 89% | 1,615 | 194 | 1,716 | 11,927 | 194 | 0 | 0 | 0 | |
| Hebrew BSD-2-Clause | 6% | 80% | 1,350 | 350 | 3,271 | 22,701 | 350 | 26 | 0 | 0 | |
| Hindi BSD-2-Clause | 0% | 16% | 304 | 1,505 | 10,471 | 69,027 | 1,505 | 1 | 0 | 0 | |
| Hungarian BSD-2-Clause | 4% | 48% | 811 | 924 | 7,693 | 50,983 | 924 | 14 | 2 | 0 | |
| Indonesian BSD-2-Clause | 0% | 98% | 1,774 | 35 | 235 | 1,763 | 35 | 10 | 0 | 0 | |
| Italian BSD-2-Clause | 1% | 100% | 1,806 | 0 | 0 | 0 | 0 | 16 | 0 | 0 | |
| Japanese BSD-2-Clause | 0% | 99% | 1,803 | 6 | 9 | 92 | 6 | 70 | 0 | 0 | |
| Kabyle BSD-2-Clause | 0% | 11% | 203 | 1,606 | 10,628 | 70,023 | 1,606 | 7 | 0 | 0 | |
| Korean BSD-2-Clause | 0% | 98% | 1,780 | 29 | 361 | 2,295 | 28 | 101 | 0 | 0 | |
| Kurdish (Central) BSD-2-Clause | 0% | 10% | 183 | 1,626 | 10,690 | 70,481 | 1,626 | 3 | 0 | 0 | |
| Latvian BSD-2-Clause | 0% | 16% | 300 | 1,509 | 10,446 | 68,721 | 1,509 | 5 | 0 | 0 | |
| Lithuanian BSD-2-Clause | 0% | 45% | 822 | 987 | 7,533 | 50,148 | 987 | 10 | 0 | 0 | |
| Mongolian BSD-2-Clause | 0% | 60% | 1,086 | 723 | 6,145 | 40,598 | 723 | 20 | 0 | 0 | |
| Norwegian Bokmål BSD-2-Clause | 0% | 74% | 1,355 | 454 | 3,851 | 26,662 | 454 | 88 | 0 | 0 | |
| Persian BSD-2-Clause | 0% | 78% | 1,423 | 386 | 3,438 | 24,028 | 386 | 26 | 1 | 0 | |
| Polish BSD-2-Clause | 99% | 99% | 0 | 1 | 1 | 1 | 1 | 18 | 0 | 1 | |
| Portuguese BSD-2-Clause | 0% | 93% | 1,688 | 121 | 728 | 4,890 | 121 | 12 | 0 | 0 | |
| Portuguese (Brazil) BSD-2-Clause | 0% | 94% | 1,708 | 101 | 528 | 3,483 | 101 | 11 | 0 | 0 | |
| Romanian BSD-2-Clause | 0% | 99% | 1,803 | 6 | 9 | 92 | 6 | 5 | 0 | 0 | |
| Russian BSD-2-Clause | 1% | 89% | 1,602 | 192 | 1,071 | 7,270 | 192 | 7 | 0 | 0 | |
| Serbian (Latin script) BSD-2-Clause | 0% | 16% | 301 | 1,508 | 10,529 | 69,255 | 1,508 | 4 | 0 | 0 | |
| Slovak BSD-2-Clause | 0% | 39% | 718 | 1,091 | 7,870 | 52,400 | 1,091 | 20 | 0 | 0 | |
| Slovenian BSD-2-Clause | 0% | 47% | 853 | 956 | 8,059 | 53,176 | 955 | 13 | 2 | 0 | |
| Spanish BSD-2-Clause | 7% | 100% | 1,674 | 0 | 0 | 0 | 0 | 38 | 0 | 0 | |
| Spanish (Latin America) BSD-2-Clause | 9% | 100% | 1,645 | 0 | 0 | 0 | 0 | 34 | 0 | 0 | |
| Swedish BSD-2-Clause | 9% | 89% | 1,433 | 197 | 1,821 | 12,851 | 197 | 2 | 0 | 0 | |
| Thai BSD-2-Clause | 0% | 86% | 1,565 | 244 | 1,221 | 8,919 | 244 | 3 | 0 | 0 | |
| Turkish BSD-2-Clause | 0% | 99% | 1,803 | 6 | 9 | 92 | 6 | 47 | 0 | 0 | |
| Ukrainian BSD-2-Clause | 1% | 79% | 1,421 | 363 | 3,121 | 22,097 | 363 | 1 | 0 | 16 | |
| Uzbek BSD-2-Clause | 0% | 0% | 0 | 1,809 | 11,087 | 73,062 | 10 | 54 | 0 | 0 | |
| Vietnamese BSD-2-Clause | 1% | 93% | 1,692 | 116 | 533 | 3,754 | 116 | 20 | 0 | 0 | |
Summary
| Project website | www.odoo.com | |
|---|---|---|
| Project reviewers45 |
|
|
| Translation license | BSD 2-Clause "Simplified" License | |
| Translation process |
|
|
| File mask |
addons/stock/i18n/*.po
|
|
05/15/2026
String statistics
| Strings percent | Hosted strings | Words percent | Hosted words | Characters percent | Hosted characters | |
|---|---|---|---|---|---|---|
| Total | 88,641 | 543,263 | 3,580,038 | |||
| Source | 1,809 | 11,087 | 73,062 | |||
| Approved | 3% | 2,994 | 3% | 18,918 | 3% | 127,383 |
| Waiting for review | 67% | 59,391 | 62% | 339,274 | 62% | 2,221,742 |
| Translated | 72% | 64,194 | 67% | 369,279 | 67% | 2,422,187 |
| Needs editing | 2% | 1,801 | 2% | 11,051 | 2% | 72,804 |
| Read-only | 2% | 1,809 | 2% | 11,087 | 2% | 73,062 |
| Failing checks | 1% | 1,210 | 3% | 18,249 | 3% | 115,493 |
| Strings with suggestions | 1% | 18 | 1% | 174 | 1% | 1,315 |
| Untranslated strings | 25% | 22,646 | 29% | 162,933 | 30% | 1,085,047 |
Quick numbers
543 k
Hosted words
88,641
Hosted strings
72%
Translated
0
Components
49
Languages
49
Translations
0
Screenshots
and previous 30 days
Trends of last 30 days
—
Hosted words
+100%
−1%
Hosted strings
+100%
+2%
Translated
+69%
+19%
Contributors
+100%
|
Translation approved |
|
|
Translation changed |
|
|
Translation changed |
|
|
Translation changed |
|
|
Translation changed |
|
|
Translation approved |
|
|
Translation added |
|
|
Translation added |
|
|
Translation added |
|
|
Translation approved |
|
<p style="margin: 0px; padding: 0px; font-size: 13px;">
Hello <t t-out="object.partner_id.name or ''">Brandon Freeman</t>,<br/><br/>
We are glad to inform you that your order has been shipped.
<t t-if="hasattr(object, 'carrier_tracking_ref') and object.carrier_tracking_ref">
Your tracking reference is
<strong>
<t t-if="object.carrier_tracking_url">
<t t-set="multiple_carrier_tracking" t-value="object.get_multiple_carrier_tracking()"/>
<t t-if="multiple_carrier_tracking">
<t t-foreach="multiple_carrier_tracking" t-as="line">
<br/><a t-att-href="line[1]" target="_blank" t-out="line[0] or ''"/>
</t>
</t>
<t t-else="">
<a t-attf-href="{{ object.carrier_tracking_url }}" target="_blank" t-out="object.carrier_tracking_ref or ''"/>.
</t>
</t>
<t t-else="">
<t t-out="object.carrier_tracking_ref or ''"/>.
</t>
</strong>
</t>
<br/><br/>
Please find your delivery order attached for more details.<br/><br/>
Thank you,
<t t-if="user.signature" data-o-mail-quote-container="1">
<br/>
<div data-o-mail-quote="1">--<br data-o-mail-quote="1"/><t t-out="user.signature or ''" data-o-mail-quote="1">Mitchell Admin</t></div>
</t>
</p>
</div>
<p style="margin: 0px; padding: 0px; font-size: 13px;">
Estimado/a <t t-out="object.partner_id.name or ''">Brandon Freeman</t>:<br/><br/>
Te informamos de que hemos enviado tu pedido.
<t t-if="hasattr(object, 'carrier_tracking_ref') and object.carrier_tracking_ref">
Tu número de seguimiento es
<strong>
<t t-if="object.carrier_tracking_url">
<t t-set="multiple_carrier_tracking" t-value="object.get_multiple_carrier_tracking()"/>
<t t-if="multiple_carrier_tracking">
<t t-foreach="multiple_carrier_tracking" t-as="line">
<br/><a t-att-href="line[1]" target="_blank" t-out="line[0] or ''"/>
</t>
</t>
<t t-else="">
<a t-attf-href="{{ object.carrier_tracking_url }}" target="_blank" t-out="object.carrier_tracking_ref or ''"/>.
</t>
</t>
<t t-else="">
<t t-out="object.carrier_tracking_ref or ''"/>.
</t>
</strong>
</t>
<br/><br/>
Adjuntamos el albarán de entrega para más información.<br/><br/>
Gracias,
<t t-if="user.signature" data-o-mail-quote-container="1">
<br/>
<div data-o-mail-quote="1">--<br data-o-mail-quote="1"/><t t-out="user.signature or ''" data-o-mail-quote="1">Mitchell Admin</t></div>
</t>
</p>
</div>