19.0 vanilla

This commit is contained in:
Ernad Husremovic 2026-03-09 09:31:56 +01:00
parent a2f74aefd8
commit 4a4d12c333
844 changed files with 212348 additions and 270090 deletions

View file

@ -10,38 +10,15 @@ pip install odoo-bringout-oca-ocb-project_purchase
## Dependencies
This addon depends on:
- purchase
- project
## Manifest Information
- **Name**: Project Purchase
- **Version**: 1.0
- **Category**: Services/Project
- **License**: LGPL-3
- **Installable**: False
- project_account
## Source
Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `project_purchase`.
- Repository: https://github.com/OCA/OCB
- Branch: 19.0
- Path: addons/project_purchase
## License
This package maintains the original LGPL-3 license from the upstream Odoo project.
## Documentation
- Overview: doc/OVERVIEW.md
- Architecture: doc/ARCHITECTURE.md
- Models: doc/MODELS.md
- Controllers: doc/CONTROLLERS.md
- Wizards: doc/WIZARDS.md
- Reports: doc/REPORTS.md
- Security: doc/SECURITY.md
- Install: doc/INSTALL.md
- Usage: doc/USAGE.md
- Configuration: doc/CONFIGURATION.md
- Dependencies: doc/DEPENDENCIES.md
- Troubleshooting: doc/TROUBLESHOOTING.md
- FAQ: doc/FAQ.md
This package preserves the original LGPL-3 license.

View file

@ -1,3 +1,5 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import controllers
from . import models

View file

@ -6,10 +6,20 @@
'version': '1.0',
'summary': "Monitor purchase in project",
'category': 'Services/Project',
'depends': ['purchase', 'project'],
'depends': ['purchase', 'project_account'],
'demo': [
'data/project_purchase_demo.xml',
],
'data': [
'views/project_project.xml',
'views/purchase_order.xml',
],
'assets': {
'web.assets_backend': [
'project_purchase/static/src/product_catalog/kanban_record.js',
],
},
'auto_install': True,
'author': 'Odoo S.A.',
'license': 'LGPL-3',
}

View file

@ -0,0 +1 @@
from . import catalog

View file

@ -0,0 +1,22 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo.http import request, route
from odoo.addons.product.controllers.catalog import ProductCatalogController
class ProjectPurchaseCatalogController(ProductCatalogController):
@route()
def product_catalog_update_order_line_info(self, res_model, order_id, product_id, quantity=0, **kwargs):
""" Override to update context with project_id.
:param string res_model: The order model.
:param int order_id: The order id.
:param int product_id: The product, as a `product.product` id.
:return: The unit price price of the product, based on the pricelist of the order and
the quantity selected.
:rtype: float
"""
if (project_id := kwargs.get('project_id')):
request.update_context(project_id=project_id)
return super().product_catalog_update_order_line_info(res_model, order_id, product_id, quantity, **kwargs)

View file

@ -5,5 +5,77 @@
<value model="purchase.order.line" search="[('product_id', 'in', [ref('product.product_delivery_01'), ref('product.product_product_27')]), ('order_id', '=', ref('purchase.purchase_order_1'))]"/>
<value eval="{'analytic_distribution': {ref('analytic.analytic_our_super_product'): 100}}"/>
</function>
<record id="product_product_cement" model="product.product">
<field name="name">Cement</field>
<field name="categ_id" ref="product.product_category_construction"/>
<field name="standard_price">100.0</field>
<field name="list_price">110.0</field>
<field name="type">consu</field>
<field name="weight">1.00</field>
<field name="uom_id" ref="uom.product_uom_ton"/>
</record>
<record id="product_product_sand" model="product.product">
<field name="name">Sand</field>
<field name="categ_id" ref="product.product_category_construction"/>
<field name="standard_price">80.0</field>
<field name="list_price">70.0</field>
<field name="type">consu</field>
<field name="weight">1.00</field>
<field name="uom_id" ref="uom.product_uom_ton"/>
</record>
<record id="product_product_bricks" model="product.product">
<field name="name">Bricks</field>
<field name="categ_id" ref="product.product_category_construction"/>
<field name="standard_price">50.0</field>
<field name="list_price">50.0</field>
<field name="type">consu</field>
<field name="weight">1.00</field>
<field name="uom_id" ref="uom.product_uom_ton"/>
</record>
<!-- Purchase order for project update -->
<record id="purchase_order_for_home_construction" model="purchase.order">
<field name="partner_id" ref="base.res_partner_4"/>
<field name="user_id" ref="base.user_admin"/>
<field name="state">draft</field>
<field name="date_order" eval="(datetime.today()).strftime('%Y-%m-%d %H:%M:%S')"/>
<field name="date_planned" eval="(datetime.today()).strftime('%Y-%m-%d %H:%M:%S')"/>
</record>
<record id="purchase_order_line_for_home_construction_1" model="purchase.order.line">
<field name="order_id" ref="purchase_order_for_home_construction"/>
<field name="name" model="purchase.order.line" eval="obj().env.ref('project_purchase.product_product_cement').partner_ref"/>
<field name="product_id" ref="project_purchase.product_product_cement"/>
<field name="product_uom_id" ref="uom.product_uom_ton"/>
<field name="price_unit">150</field>
<field name="product_qty">5</field>
<field name="analytic_distribution" eval="{ref('project.analytic_construction'): 100}"/>
<field name="date_planned" eval="(datetime.today()).strftime('%Y-%m-%d %H:%M:%S')"/>
</record>
<record id="purchase_order_line_for_home_construction_2" model="purchase.order.line">
<field name="order_id" ref="purchase_order_for_home_construction"/>
<field name="name" model="purchase.order.line" eval="obj().env.ref('project_purchase.product_product_sand').partner_ref"/>
<field name="product_id" ref="project_purchase.product_product_sand"/>
<field name="product_uom_id" ref="uom.product_uom_ton"/>
<field name="price_unit">100</field>
<field name="product_qty">10</field>
<field name="analytic_distribution" eval="{ref('project.analytic_construction'): 100}"/>
<field name="date_planned" eval="(datetime.today()).strftime('%Y-%m-%d %H:%M:%S')"/>
</record>
<record id="purchase_order_line_for_home_construction_3" model="purchase.order.line">
<field name="order_id" ref="purchase_order_for_home_construction"/>
<field name="name" model="purchase.order.line" eval="obj().env.ref('project_purchase.product_product_bricks').partner_ref"/>
<field name="product_id" ref="project_purchase.product_product_bricks"/>
<field name="product_uom_id" ref="uom.product_uom_ton"/>
<field name="price_unit">50</field>
<field name="product_qty">15</field>
<field name="analytic_distribution" eval="{ref('project.analytic_construction'): 100}"/>
<field name="date_planned" eval="(datetime.today()).strftime('%Y-%m-%d %H:%M:%S')"/>
</record>
</data>
</odoo>
</odoo>

View file

@ -1,54 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Language-Team: Afrikaans (https://app.transifex.com/odoo/teams/41243/af/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: af\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
msgid "Project"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Orders"
msgstr ""

View file

@ -1,54 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Language-Team: Amharic (https://app.transifex.com/odoo/teams/41243/am/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: am\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
msgid "Project"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Orders"
msgstr ""

View file

@ -1,48 +1,76 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
# Malaz Abuidris <msea@odoo.com>, 2023
#
# * project_purchase
#
# "Tiffany Chang (tic)" <tic@odoo.com>, 2025.
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Malaz Abuidris <msea@odoo.com>, 2023\n"
"Language-Team: Arabic (https://app.transifex.com/odoo/teams/41243/ar/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-10-13 12:17+0000\n"
"Last-Translator: \"Dylan Kiss (dyki)\" <dyki@odoo.com>\n"
"Language-Team: Arabic <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/ar/>\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "عدد أوامر الشراء "
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "الطابوق"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "اسمنت"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "اسم العرض"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "المُعرف"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "التكاليف الأخرى "
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "لم يتم العثور على أي أمر شراء. فلنقم بإنشاء واحد."
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"بمجرد أن قمت بطلب المنتجات من مورّدك، قم بتأكيد طلب عرض السعر وسوف يتحول إلى "
"أمر شراء."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "المشروع"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "عناصر أمر البيع "
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "أمر شراء"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -51,9 +79,13 @@ msgstr "بند أمر الشراء"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "أوامر الشراء"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "رمل"

View file

@ -1,59 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Jumshud Sultanov <cumshud@gmail.com>, 2022
# erpgo translator <jumshud@erpgo.az>, 2023
#
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: erpgo translator <jumshud@erpgo.az>, 2023\n"
"Language-Team: Azerbaijani (https://app.transifex.com/odoo/teams/41243/az/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2024-09-26 08:56+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: az\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: \n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Layihə"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Satınalma Sifariş Xətti"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Satın Alma Sifarişi"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,54 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Language-Team: Belarusian (https://app.transifex.com/odoo/teams/41243/be/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: be\n"
"Plural-Forms: nplurals=4; plural=(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);\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
msgid "Project"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Orders"
msgstr ""

View file

@ -1,61 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# aleksandar ivanov, 2023
# Maria Boyadjieva <marabo2000@gmail.com>, 2023
# Martin Trigaux, 2023
# Elena Varbanova, 2024
#
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Elena Varbanova, 2024\n"
"Language-Team: Bulgarian (https://app.transifex.com/odoo/teams/41243/bg/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2024-09-26 08:56+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: bg\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: \n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Поръчки за покупка"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Проект"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Артикули от поръчка за покупка"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Ред на поръчка за покупка"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Поръчки за покупки"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,56 +1,86 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
# * project_purchase
#
# Odoo Translation Bot <c3p@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 19.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2024-02-06 13:32+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-10-08 18:38+0000\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: bs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
# taken from hr.po
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Nalozi u nabavi"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py
#, python-format
msgid "Other Costs"
msgstr "Ostali troškovi"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
# taken from hr.po
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projekt"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py
#, python-format
msgid "Purchase Order Items"
msgstr "Stavke nabavnog naloga"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr ""
# taken from hr.po
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Stavka naloga nabave"
msgstr ""
# taken from hr.po
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Nalozi u nabavi"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,51 +1,74 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Quim - eccit <quim@eccit.com>, 2022
# Martin Trigaux, 2022
# Manel Fernandez Ramirez <manelfera@outlook.com>, 2022
# marcescu, 2022
# Ivan Espinola, 2023
#
# * project_purchase
#
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Ivan Espinola, 2023\n"
"Language-Team: Catalan (https://app.transifex.com/odoo/teams/41243/ca/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-09-16 04:47+0000\n"
"Last-Translator: \"Dylan Kiss (dyki)\" <dyki@odoo.com>\n"
"Language-Team: Catalan <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/ca/>\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Ordres de compra"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Maons"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Ciment"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Altres costos"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "No s'ha trobat cap comanda de compra. Creem-ne una."
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Un cop hagis sol·licitat els productes al proveïdor, confirma la sol·licitud "
"de pressupost i aquesta es convertirà en una comanda de compra."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projecte"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Elements de comanda de compra"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Comanda de compra"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -54,9 +77,16 @@ msgstr "Línia de la comanda de compra"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Comandes de compra"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""
#~ msgid "Purchase Order Items"
#~ msgstr "Elements de comanda de compra"

View file

@ -1,61 +1,88 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Jiří Podhorecký <jirka.p@volny.cz>, 2022
# Martin Trigaux, 2022
# karolína schusterová <karolina.schusterova@vdp.sk>, 2022
# Tereza Mokrá, 2024
#
# * project_purchase
#
# "Tiffany Chang (tic)" <tic@odoo.com>, 2025.
# "Marta (wacm)" <wacm@odoo.com>, 2026.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Tereza Mokrá, 2024\n"
"Language-Team: Czech (https://app.transifex.com/odoo/teams/41243/cs/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2026-01-29 09:08+0000\n"
"Last-Translator: \"Marta (wacm)\" <wacm@odoo.com>\n"
"Language-Team: Czech <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/cs/>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: cs\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 5.14.3\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Cihly"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Cement"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "Zobrazovací název"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Ostatní náklady"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
msgid "Project"
msgstr "Projekt"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Položky objednávky"
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projekty"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Nákupní objednávka"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Řádek objednávky"
msgstr "Položka nákupní objednávky"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Objednávky"
msgstr "Nákupní objednávky"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,47 +1,72 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
#
# * project_purchase
#
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: Danish (https://app.transifex.com/odoo/teams/41243/da/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-09-14 21:19+0000\n"
"Last-Translator: \"Dylan Kiss (dyki)\" <dyki@odoo.com>\n"
"Language-Team: Danish <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/da/>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Mursten"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Andre Omkostninger"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projekt"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Indkøbsordre"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -50,9 +75,13 @@ msgstr "Indkøbsordrelinie"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Indkøbsordrer"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,48 +1,75 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
# Larissa Manderfeld, 2023
#
# * project_purchase
#
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
# "Larissa Manderfeld (lman)" <lman@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Larissa Manderfeld, 2023\n"
"Language-Team: German (https://app.transifex.com/odoo/teams/41243/de/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-10-31 12:54+0000\n"
"Last-Translator: \"Larissa Manderfeld (lman)\" <lman@odoo.com>\n"
"Language-Team: German <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/de/>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Bestellungen"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Ziegelsteine"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Zement"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "Anzeigename"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Andere Kosten"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "Es wurde keine Bestellung gefunden. Erstellen Sie eine!"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Sobald Sie Ihre Produkte bei Ihrem Lieferanten bestellt haben, bestätigen "
"Sie Ihre Angebotsanfrage, die dann in eine Bestellung umgewandelt wird."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projekt"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Bestellpositionen"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Bestellung"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -51,9 +78,13 @@ msgstr "Bestellzeile"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Bestellungen"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Sand"

View file

@ -0,0 +1,87 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-09-24 19:23+0000\n"
"Last-Translator: \"Dylan Kiss (dyki)\" <dyki@odoo.com>\n"
"Language-Team: Greek <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/el/>\n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Έργο"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Παραγγελία Αγοράς"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Γραμμή Παραγγελίας Αγοράς"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Παραγγελίες Αγοράς"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,49 +1,75 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
# Pedro M. Baeza <pedro.baeza@tecnativa.com>, 2022
# Wil Odoo, 2024
#
# * project_purchase
#
# "Tiffany Chang (tic)" <tic@odoo.com>, 2025.
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Spanish (https://app.transifex.com/odoo/teams/41243/es/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-10-23 12:57+0000\n"
"Last-Translator: \"Dylan Kiss (dyki)\" <dyki@odoo.com>\n"
"Language-Team: Spanish <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/es/>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Pedidos de compra"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Ladrillos"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Cemento"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "Nombre para mostrar"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Otros costes"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "No se ha encontrado ningún pedido de compra, creemos uno."
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Una vez que haya pedido sus productos a su proveedor, confirme su solicitud "
"de presupuesto y se convertirá en un pedido de compra."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Proyecto"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Elementos del pedido de compra"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Pedido de compra"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -52,9 +78,13 @@ msgstr "Línea de pedido de compra"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Pedidos de compra"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Arena"

View file

@ -0,0 +1,94 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
# "Fernanda Alvarez (mfar)" <mfar@odoo.com>, 2025.
# "Patricia Gutiérrez (pagc)" <pagc@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-11-11 17:19+0000\n"
"Last-Translator: \"Patricia Gutiérrez (pagc)\" <pagc@odoo.com>\n"
"Language-Team: Spanish (Latin America) <https://translate.odoo.com/projects/"
"odoo-19/project_purchase/es_419/>\n"
"Language: es_419\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Ladrillos"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Cemento"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "Nombre para mostrar"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "No se encontró ninguna orden de compra, creemos una."
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Una vez que hayas solicitado los productos a tu proveedor, confirma la "
"solicitud de cotización para convertirla en una orden de compra."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Proyectos"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Orden de compra"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Línea de la orden de compra"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Órdenes de compra"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Arena"
#~ msgid "Purchase Order Items"
#~ msgstr "Artículos de la orden de compra"

View file

@ -1,60 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
# Lucia Pacheco, 2022
# Fernanda Alvarez, 2023
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Fernanda Alvarez, 2023\n"
"Language-Team: Spanish (Mexico) (https://app.transifex.com/odoo/teams/41243/es_MX/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_MX\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Órdenes de compra"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Otros gastos"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
msgid "Project"
msgstr "Proyecto"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Artículos de la orden de compra"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Línea de orden de compra"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Orders"
msgstr "Órdenes de compra"

View file

@ -1,49 +1,74 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Eneli Õigus <enelioigus@gmail.com>, 2022
# JanaAvalah, 2022
# Triine Aavik <triine@avalah.ee>, 2022
#
# * project_purchase
#
# Kristina Pešehodko <kristina@avalah.ee>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 19.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Triine Aavik <triine@avalah.ee>, 2022\n"
"Language-Team: Estonian (https://app.transifex.com/odoo/teams/41243/et/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-10-22 11:08+0000\n"
"Last-Translator: Kristina Pešehodko <kristina@avalah.ee>\n"
"Language-Team: Estonian <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/et/>\n"
"Language: et\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: et\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Ostutellimused"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Tellised"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Tsement"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "Kuvatav nimi"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Muud kulud"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "Ostutellimusi ei leitud. Loome ühe."
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Kui Te olete enda tooted tanijalt ära tellinud, kinnitage enda hinnapäring "
"ning see muutub ostutellimuseks."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projekt"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Ostutellimuse kaubad"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Ostutellimus"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -52,9 +77,13 @@ msgstr "Ostutellimuse rida"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Ostutellimused"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Liiv"

View file

@ -1,61 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Hamid Darabi, 2023
# Hamed Mohammadi <hamed@dehongi.com>, 2023
# Martin Trigaux, 2023
# Hanna Kheradroosta, 2023
#
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Hanna Kheradroosta, 2023\n"
"Language-Team: Persian (https://app.transifex.com/odoo/teams/41243/fa/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2024-09-26 08:56+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fa\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: \n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# سفارشات خرید"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "سایر هزینه ها"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "پروژه"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "سطر سفارش خرید"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "سفارشات خرید"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,50 +1,75 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Tuomo Aura <tuomo.aura@web-veistamo.fi>, 2022
# Svante Suominen <svante.suominen@web-veistamo.fi>, 2022
# Martin Trigaux, 2022
# Ossi Mantylahti <ossi.mantylahti@obs-solutions.fi>, 2023
#
# * project_purchase
#
# "Tiffany Chang (tic)" <tic@odoo.com>, 2025.
# Saara Hakanen <sahak@odoo.com>, 2025, 2026.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Ossi Mantylahti <ossi.mantylahti@obs-solutions.fi>, 2023\n"
"Language-Team: Finnish (https://app.transifex.com/odoo/teams/41243/fi/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2026-02-27 14:41+0000\n"
"Last-Translator: Saara Hakanen <sahak@odoo.com>\n"
"Language-Team: Finnish <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/fi/>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.14.3\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Ostotilausta"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Tiilet"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Sementti"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "Näyttönimi"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "Tunnus"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Muut kustannukset"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "Ostotilausta ei löytynyt. Luodaan sellainen."
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Kun olet tilannut tuotteet toimittajalta, vahvista tarjouspyyntösi, niin se "
"muuttuu ostotilaukseksi."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projektit"
msgstr "Projekti"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Ostotilauksen kohteet"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Ostotilaus"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -53,9 +78,13 @@ msgstr "Ostotilausrivi"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Ostotilaukset"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Hiekkaa"

View file

@ -1,59 +1,90 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
# Manon Rondou, 2024
#
# * project_purchase
#
# "Tiffany Chang (tic)" <tic@odoo.com>, 2025.
# "Manon Rondou (ronm)" <ronm@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Manon Rondou, 2024\n"
"Language-Team: French (https://app.transifex.com/odoo/teams/41243/fr/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-10-15 09:14+0000\n"
"Last-Translator: \"Manon Rondou (ronm)\" <ronm@odoo.com>\n"
"Language-Team: French <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/fr/>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fr\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Bons de commande"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Briques"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Ciment"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "Nom d'affichage"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Autres coûts"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "Aucun bon de commande n'a été trouvé. Créons-en un."
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Une fois que vous avez commandé vos produits auprès de votre fournisseur, "
"confirmez votre demande de prix afin d'en faire un bon de commande."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projet"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Articles du bon de commande"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Bon de commande fournisseur"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Ligne de commande d'achat"
msgstr "Ligne de bon de commande"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Bons de commande fournisseur"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Sable"

View file

@ -1,54 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Language-Team: Gujarati (https://app.transifex.com/odoo/teams/41243/gu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: gu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
msgid "Project"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Orders"
msgstr ""

View file

@ -1,63 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# ZVI BLONDER <ZVIBLONDER@gmail.com>, 2022
# Yihya Hugirat <hugirat@gmail.com>, 2022
# דודי מלכה <Dudimalka6@gmail.com>, 2022
# Roy Sayag, 2023
# Yoram Lavi, 2025
# or balmas, 2025
#
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: or balmas, 2025\n"
"Language-Team: Hebrew (https://app.transifex.com/odoo/teams/41243/he/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2024-09-26 08:56+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: he\n"
"Plural-Forms: nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;\n"
"Plural-Forms: \n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# הזמנות רכש"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "עלויות אחרות"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "פרויקט"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "פריטים בהזמנת רכש"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "שורת הזמנת רכש"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "הזמנות רכש"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,58 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Ujjawal Pathak, 2025
#
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Ujjawal Pathak, 2025\n"
"Language-Team: Hindi (https://app.transifex.com/odoo/teams/41243/hi/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2024-09-26 08:56+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: hi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: \n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "परचेज़ ऑर्डर लाइन"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,60 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Vladimir Olujić <olujic.vladimir@storm.hr>, 2022
# Martin Trigaux, 2022
# Luka Carević <luka@uvid.hr>, 2024
#
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Luka Carević <luka@uvid.hr>, 2024\n"
"Language-Team: Croatian (https://app.transifex.com/odoo/teams/41243/hr/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2024-09-26 08:56+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: hr\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"Plural-Forms: \n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Nalozi u nabavi"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projekt"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Stavka naloga nabave"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Nalozi u nabavi"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,48 +1,72 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Ákos Nagy <akos.nagy@oregional.hu>, 2022
# Tamás Németh <ntomasz81@gmail.com>, 2022
#
# * project_purchase
#
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Tamás Németh <ntomasz81@gmail.com>, 2022\n"
"Language-Team: Hungarian (https://app.transifex.com/odoo/teams/41243/hu/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-09-29 19:48+0000\n"
"Last-Translator: \"Dylan Kiss (dyki)\" <dyki@odoo.com>\n"
"Language-Team: Hungarian <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/hu/>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: hu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projekt"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Beszerzési megrendelés"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -51,9 +75,13 @@ msgstr "Beszerzési rendelés tétel"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Beszerzési rendelések"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,54 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Language-Team: Armenian (https://app.transifex.com/odoo/teams/41243/hy/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: hy\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
msgid "Project"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Orders"
msgstr ""

View file

@ -1,48 +1,75 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
# Abe Manyo, 2025
#
# * project_purchase
#
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
# "Abe Manyo (abem)" <abem@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Abe Manyo, 2025\n"
"Language-Team: Indonesian (https://app.transifex.com/odoo/teams/41243/id/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-10-16 06:08+0000\n"
"Last-Translator: \"Abe Manyo (abem)\" <abem@odoo.com>\n"
"Language-Team: Indonesian <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/id/>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: id\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# SPB"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Batu Bata"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Semen"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "Nama Tampilan"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Ongkos Lain"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "Tidak ada SPB yang ditemukan. Ayo buat baru."
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Setelah Anda memesan produk Anda ke supplier Anda, konfirmasikan permintaan "
"Anda untuk quotation dan akan diubah menjadi SPB."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Project"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Item SPB"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Purchase Order"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -51,9 +78,13 @@ msgstr "Baris Order Pembelian"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Order Pembelian"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Pasir"

View file

@ -1,54 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Language-Team: Icelandic (https://app.transifex.com/odoo/teams/41243/is/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: is\n"
"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
msgid "Project"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Orders"
msgstr ""

View file

@ -1,48 +1,75 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
# Sergio Zanchetta <primes2h@gmail.com>, 2023
#
# * project_purchase
#
# "Tiffany Chang (tic)" <tic@odoo.com>, 2025.
# "Marianna Ciofani (cima)" <cima@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Sergio Zanchetta <primes2h@gmail.com>, 2023\n"
"Language-Team: Italian (https://app.transifex.com/odoo/teams/41243/it/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-10-16 17:05+0000\n"
"Last-Translator: \"Marianna Ciofani (cima)\" <cima@odoo.com>\n"
"Language-Team: Italian <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/it/>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: it\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "N. ordini di acquisto"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Mattoni"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Cemento"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "Nome visualizzato"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Altri costi"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "Nessun ordine di acquisto trovato. Creiamone uno."
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Una volta ordinati i prodotti dal fornitore, conferma la richiesta di "
"preventivo che si trasformerà in un ordine di acquisto."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Progetto"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Voci ordine di acquisto"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Ordine di acquisto"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -51,9 +78,13 @@ msgstr "Riga ordine di acquisto"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Ordini di acquisto"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Sabbia"

View file

@ -1,49 +1,75 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
# Ryoko Tsuda <ryoko@quartile.co>, 2023
# Junko Augias, 2023
#
# * project_purchase
#
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
# "Junko Augias (juau)" <juau@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Junko Augias, 2023\n"
"Language-Team: Japanese (https://app.transifex.com/odoo/teams/41243/ja/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-10-20 02:30+0000\n"
"Last-Translator: \"Junko Augias (juau)\" <juau@odoo.com>\n"
"Language-Team: Japanese <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/ja/>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "購買オーダ数"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "レンガ"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "セメント"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "表示名"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "他の原価"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "購買オーダが見つかりません。作成しましょう。"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"仕入先にプロダクトを発注したら、見積依頼を確定して下さい。購買オーダに変換さ"
"れます。"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "プロジェクト"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "購買オーダ項目"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "購買オーダ"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -52,9 +78,13 @@ msgstr "購買オーダ明細"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "購買オーダ"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "砂"

View file

@ -0,0 +1,85 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Odoo Translation Bot <c3p@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 19.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-10-08 18:38+0000\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: kab\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,59 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Sengtha Chay <sengtha@gmail.com>, 2023
# Lux Sok <sok.lux@gmail.com>, 2023
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Lux Sok <sok.lux@gmail.com>, 2023\n"
"Language-Team: Khmer (https://app.transifex.com/odoo/teams/41243/km/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: km\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
msgid "Project"
msgstr "គំរោង"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "ការការម៉ង់ទិញតាមខ្សែបន្ទាប់"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Orders"
msgstr "ការបញ្ជាទិញ"

View file

@ -1,48 +1,73 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
# Sarah Park, 2023
#
# * project_purchase
#
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
# "Kwanghee Park (kwpa)" <kwpa@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Sarah Park, 2023\n"
"Language-Team: Korean (https://app.transifex.com/odoo/teams/41243/ko/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-11-17 19:01+0000\n"
"Last-Translator: \"Kwanghee Park (kwpa)\" <kwpa@odoo.com>\n"
"Language-Team: Korean <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/ko/>\n"
"Language: ko\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ko\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# 발주서"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "벽돌"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "시멘트"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "표시명"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "기타 비용"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "구매주문서를 찾을 수 없습니다. 새로 작성해주세요!"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr "공급업체에 주문한 후 견적 요청을 확인하면 구매주문서로 변환됩니다."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "프로젝트"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "구매발주서 항목"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "구매주문서"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -51,9 +76,13 @@ msgstr "발주서 내역"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "발주서"
msgstr "구매 주문"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "모래"

View file

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2024-09-26 08:56+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,59 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# ສີສຸວັນ ສັງບົວບຸລົມ <sisouvan@gmail.com>, 2023
# Amkha VAYAPHATH <amkha.nazou@gmail.com>, 2023
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Amkha VAYAPHATH <amkha.nazou@gmail.com>, 2023\n"
"Language-Team: Lao (https://app.transifex.com/odoo/teams/41243/lo/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: lo\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
msgid "Project"
msgstr "ໂຄງການ"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "​ລາຍການການ​ສັ່ງ​ຊື້ທາງ​"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Orders"
msgstr ""

View file

@ -1,60 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Jonas Zinkevicius <jozi@odoo.com>, 2022
# Linas Versada <linaskrisiukenas@gmail.com>, 2022
# Martin Trigaux, 2022
#
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: Lithuanian (https://app.transifex.com/odoo/teams/41243/lt/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2024-09-26 08:56+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: lt\n"
"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"
"Plural-Forms: \n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "Pirkimo užsakymo nr."
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projektas"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Pirkimo užsakymo eilutė "
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Pirkimų užsakymai"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,59 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Arnis Putniņš <arnis@allegro.lv>, 2022
# Konstantins Zabogonskis <inculin4ik@gmail.com>, 2022
#
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 19.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Konstantins Zabogonskis <inculin4ik@gmail.com>, 2022\n"
"Language-Team: Latvian (https://app.transifex.com/odoo/teams/41243/lv/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-10-08 18:38+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: lv\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
"Plural-Forms: \n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Project"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Pasūtījuma rinda"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Pirkuma Pasūtījumi"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,58 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Niyas Raphy, 2023
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Niyas Raphy, 2023\n"
"Language-Team: Malayalam (https://app.transifex.com/odoo/teams/41243/ml/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ml\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
msgid "Project"
msgstr "പ്രൊജക്റ്റ് "
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "പർച്ചേസ് ഓർഡർ ലൈൻ"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Orders"
msgstr "പർച്ചേസ് ഓർഡർ"

View file

@ -1,60 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
# Batmunkh Ganbat <batmunkh.g@bumanit.mn>, 2022
# hish, 2022
#
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: hish, 2022\n"
"Language-Team: Mongolian (https://app.transifex.com/odoo/teams/41243/mn/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2024-09-26 08:56+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: mn\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: \n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Төсөл"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Худалдан авалтын захиалгын мөр"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Худалдан авалт"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,58 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Mehjabin Farsana, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Mehjabin Farsana, 2022\n"
"Language-Team: Malay (https://app.transifex.com/odoo/teams/41243/ms/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ms\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
msgid "Project"
msgstr "Projek"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Orders"
msgstr ""

View file

@ -0,0 +1,87 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Oakarmin Iron <oakarminiron@gmail.com>, 2025, 2026.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2026-02-04 07:54+0000\n"
"Last-Translator: Oakarmin Iron <oakarminiron@gmail.com>\n"
"Language-Team: Burmese <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/my/>\n"
"Language: my\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.14.3\n"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "ပရောဂျက်"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "အဝယ် အော်ဒါ"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "အဝယ် အော်ဒါများ"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,47 +1,72 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
#
# * project_purchase
#
# "Tiffany Chang (tic)" <tic@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: Norwegian Bokmål (https://app.transifex.com/odoo/teams/41243/nb/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-09-16 18:48+0000\n"
"Last-Translator: \"Tiffany Chang (tic)\" <tic@odoo.com>\n"
"Language-Team: Norwegian Bokmål <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/nb_NO/>\n"
"Language: nb\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: nb\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Prosjekt"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Innkjøpsordre"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -50,9 +75,13 @@ msgstr "Innkjøpsordrelinje"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Innkjøpsordrer"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,48 +1,75 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Jolien De Paepe, 2022
# Martin Trigaux, 2022
#
# * project_purchase
#
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
# Bren Driesen <brdri@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: Dutch (https://app.transifex.com/odoo/teams/41243/nl/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-10-23 09:17+0000\n"
"Last-Translator: \"Dylan Kiss (dyki)\" <dyki@odoo.com>\n"
"Language-Team: Dutch <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/nl/>\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Inkooporders"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Bakstenen"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Cement"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "Weergavenaam"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Andere kosten"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "Geen inkooporder gevonden. Laten we er één maken!"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Nadat je je producten bij je leverancier heeft besteld, bevestig je je "
"inkoopofferte en wordt het een inkooporder."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Project"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Inkooporderitems"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Inkooporder"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -51,9 +78,13 @@ msgstr "Inkooporderregel"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Inkooporders"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Zand"

View file

@ -1,54 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Language-Team: Norwegian (https://app.transifex.com/odoo/teams/41243/no/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: no\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
msgid "Project"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Orders"
msgstr ""

View file

@ -1,50 +1,77 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Maksym <ms@myodoo.pl>, 2022
# Piotr Szlązak <szlazakpiotr@gmail.com>, 2022
# Martin Trigaux, 2022
# Tadeusz Karpiński <tadeuszkarpinski@gmail.com>, 2023
#
# * project_purchase
#
# "Tiffany Chang (tic)" <tic@odoo.com>, 2025.
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
# "Marta (wacm)" <wacm@odoo.com>, 2026.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Tadeusz Karpiński <tadeuszkarpinski@gmail.com>, 2023\n"
"Language-Team: Polish (https://app.transifex.com/odoo/teams/41243/pl/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2026-03-06 17:50+0000\n"
"Last-Translator: \"Marta (wacm)\" <wacm@odoo.com>\n"
"Language-Team: Polish <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/pl/>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pl\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 5.16.1\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "#Zamówienia zakupu"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Cegły"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Cement"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "Nazwa wyświetlana"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Inne koszty"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "Nie znaleziono żadnego zamówienia. Utwórzmy jakieś."
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Po złożeniu zamówienia na produkty u dostawcy potwierdź zapytanie ofertowe, "
"a zostanie ono przekształcone w zamówienie zakupu."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projekt"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Pozycje zamówienia zakupu"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Zamówienie zakupu"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -53,9 +80,13 @@ msgstr "Pozycja zamówienia zakupu"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Zamówienia Zakupu"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Piasek"

View file

@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 19.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2024-02-06 13:32+0000\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2026-01-25 18:36+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@ -16,27 +16,52 @@ msgstr ""
"Plural-Forms: \n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr ""
#. module: project_purchase
@ -46,9 +71,13 @@ msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,59 +1,89 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Manuela Silva <mmsrs@sky.com>, 2022
# Maitê Dietze, 2024
#
# * project_purchase
#
# "Tiffany Chang (tic)" <tic@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Maitê Dietze, 2024\n"
"Language-Team: Portuguese (https://app.transifex.com/odoo/teams/41243/pt/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-09-16 18:48+0000\n"
"Last-Translator: \"Tiffany Chang (tic)\" <tic@odoo.com>\n"
"Language-Team: Portuguese <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/pt/>\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pt\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Nota de encomenda"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Tijolos"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Cimento"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "Nenhum pedido de compra encontrado. Vamos criá-lo!"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Depois de encomendar os produtos ao fornecedor, confirme sua solicitação de "
"cotação e ela se transformará em um pedido de compra."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projeto"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Pedido de compra"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Linha de Encomenda de Compra"
msgstr "Linha do pedido de compra"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Nota de encomenda"
msgstr "Pedidos de compra"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Areia"

View file

@ -1,49 +1,75 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
# a75f12d3d37ea5bf159c4b3e85eb30e7_0fa6927, 2023
# Maitê Dietze, 2023
#
# * project_purchase
#
# "Tiffany Chang (tic)" <tic@odoo.com>, 2025.
# "Maitê Dietze (madi)" <madi@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Maitê Dietze, 2023\n"
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/odoo/teams/41243/pt_BR/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-11-07 01:36+0000\n"
"Last-Translator: \"Maitê Dietze (madi)\" <madi@odoo.com>\n"
"Language-Team: Portuguese (Brazil) <https://translate.odoo.com/projects/"
"odoo-19/project_purchase/pt_BR/>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "Nº de pedidos de compra"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Tijolos"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Cimento"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "Exibir nome"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Outros custos"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "Nenhum pedido de compra encontrado. Vamos criá-lo!"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Depois de encomendar os produtos ao fornecedor, confirme sua solicitação de "
"cotação e ela se transformará em um pedido de compra."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projeto"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Itens do pedido de compra"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Pedido de compra"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -52,9 +78,16 @@ msgstr "Linha do pedido de compra"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Pedidos de compra"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Areia"
#~ msgid "Purchase Order Items"
#~ msgstr "Itens do pedido de compra"

View file

@ -1,49 +1,75 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
# Foldi Robert <foldirobert@nexterp.ro>, 2022
# Larisa_nexterp, 2025
#
# * project_purchase
#
# Dorin Hongu <dhongu@gmail.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Larisa_nexterp, 2025\n"
"Language-Team: Romanian (https://app.transifex.com/odoo/teams/41243/ro/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-11-24 12:09+0000\n"
"Last-Translator: Dorin Hongu <dhongu@gmail.com>\n"
"Language-Team: Romanian <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/ro/>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ro\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr ""
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Cărămizi"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Ciment"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "Nume afișat"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Alte costuri"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "Nu a fost găsită nicio comandă de achiziție. Hai să creăm una."
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Odată ce ați comandat produsele de la furnizorul dvs., confirmați cererea de "
"ofertă și aceasta se va transforma într-o comandă de achiziție."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Proiect"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Articole comandă de achiziție"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Comandă de achiziție"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -52,9 +78,13 @@ msgstr "Linie comandă de achiziție"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Comenzi de achiziție"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Nisip"

View file

@ -1,59 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# * project_purchase
#
# Translators:
# Сергей Шебанин <sergey@shebanin.ru>, 2022
# Wil Odoo, 2024
#
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
# "Anastasiia Koroleva (koan)" <koan@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 17.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Russian (https://app.transifex.com/odoo/teams/41243/ru/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-10-27 05:45+0000\n"
"Last-Translator: \"Anastasiia Koroleva (koan)\" <koan@odoo.com>\n"
"Language-Team: Russian <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/ru/>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ru\n"
"Plural-Forms: nplurals=4; plural=(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);\n"
"Plural-Forms: nplurals=4; plural=(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);\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Заказы на покупку"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Кирпичиками"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Цемент"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Прочие расходы"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "Не найден ни один заказ на закупку. Давайте создадим первый!"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"После того как вы заказали товары у поставщика, подтвердите запрос цен "
"(RFQ), и он станет заказом на покупку."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Проект"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Пункты заказа на поставку"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Заказ на покупку"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Позиция заказа на поставку"
msgstr "Позиция заказа на покупку"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Заказы на поставку"
msgstr "Заказы на покупку"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Песок"
#~ msgid "# Purchase Orders"
#~ msgstr "# Заказы на покупку"
#~ msgid "Purchase Order Items"
#~ msgstr "Пункты заказа на поставку"

View file

@ -1,47 +1,74 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
#
# * project_purchase
#
# Tomáš Píšek <Tomas.Pisek@seznam.cz>, 2026.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 19.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: Slovak (https://app.transifex.com/odoo/teams/41243/sk/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2026-02-16 05:04+0000\n"
"Last-Translator: Tomáš Píšek <Tomas.Pisek@seznam.cz>\n"
"Language-Team: Slovak <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/sk/>\n"
"Language: sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sk\n"
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 5.14.3\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr ""
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Tehly"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Cement"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "Zobrazovaný názov"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "Nenašla sa žiadna nákupná objednávka. Vytvorme nejakú."
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Po objednaní produktov od dodávateľa potvrďte svoju žiadosť o cenovú ponuku "
"a tá sa premení na objednávku."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projekt"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Nákupná objednávka"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -50,9 +77,13 @@ msgstr "Riadok nákupnej objednávky"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Nakupné objednávky"
msgstr "Nákupné objednávky"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Piesok"

View file

@ -1,49 +1,73 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Jasmina Macur <jasmina@hbs.si>, 2022
# Martin Trigaux, 2022
# Katja Deržič, 2024
#
# * project_purchase
#
# "Tiffany Chang (tic)" <tic@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Katja Deržič, 2024\n"
"Language-Team: Slovenian (https://app.transifex.com/odoo/teams/41243/sl/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-09-16 21:29+0000\n"
"Last-Translator: \"Tiffany Chang (tic)\" <tic@odoo.com>\n"
"Language-Team: Slovenian <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/sl/>\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
"n%100==4 ? 2 : 3;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "Nabavni nalog"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Ostali stroški"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projekt"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Postavke nabavnega naloga"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Nabavni nalog"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -52,9 +76,13 @@ msgstr "Postavka nabavnega naloga"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Nabavni nalogi"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,42 +1,68 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 19.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Language-Team: Albanian (https://app.transifex.com/odoo/teams/41243/sq/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-12-30 18:37+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sq\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: \n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr ""
#. module: project_purchase
@ -46,9 +72,13 @@ msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,58 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Dragan Vukosavljevic <dragan.vukosavljevic@gmail.com>, 2023
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Dragan Vukosavljevic <dragan.vukosavljevic@gmail.com>, 2023\n"
"Language-Team: Serbian (https://app.transifex.com/odoo/teams/41243/sr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sr\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Zahteva za nabavku"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Ostali troškovi"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
msgid "Project"
msgstr "Projekat"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Stavke naloga za nabavku"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Linija naloga za nabavku"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Orders"
msgstr "Nalozi za nabavku"

View file

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2024-09-26 08:56+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -1,49 +1,73 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Kim Asplund <kim.asplund@gmail.com>, 2022
# Martin Trigaux, 2022
# Lasse L, 2023
#
# * project_purchase
#
# "Tiffany Chang (tic)" <tic@odoo.com>, 2025.
# Hanna Kharraziha <hakha@odoo.com>, 2026.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Lasse L, 2023\n"
"Language-Team: Swedish (https://app.transifex.com/odoo/teams/41243/sv/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2026-02-27 14:41+0000\n"
"Last-Translator: Hanna Kharraziha <hakha@odoo.com>\n"
"Language-Team: Swedish <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/sv/>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.14.3\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Inköpsordrar"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Tegelstenar"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Cement"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Övriga kostnader"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Projekt"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Poster i inköpsorder"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Inköpsorder"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -52,9 +76,13 @@ msgstr "Inköpsorderrad"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Inköpsordrar"
msgstr "Inköpsorders"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Sand"

View file

@ -1,54 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Language-Team: Swahili (https://app.transifex.com/odoo/teams/41243/sw/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sw\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
msgid "Project"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Orders"
msgstr ""

View file

@ -1,54 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Language-Team: Tamil (https://app.transifex.com/odoo/teams/41243/ta/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ta\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
msgid "Project"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Orders"
msgstr ""

View file

@ -1,59 +1,89 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Wichanon Jamwutthipreecha, 2022
# Rasareeyar Lappiam, 2023
#
# * project_purchase
#
# "Tiffany Chang (tic)" <tic@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Rasareeyar Lappiam, 2023\n"
"Language-Team: Thai (https://app.transifex.com/odoo/teams/41243/th/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-09-16 21:20+0000\n"
"Last-Translator: \"Tiffany Chang (tic)\" <tic@odoo.com>\n"
"Language-Team: Thai <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/th/>\n"
"Language: th\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: th\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# ใบสั่งซื้อ"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Bricks"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Cement"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "ต้นทุนอื่น ๆ "
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"เมื่อคุณสั่งซื้อผลิตภัณฑ์จากซัพพลายเออร์แล้ว โปรดยืนยันคำขอใบเสนอราคาของคุณ "
"และมันจะเปลี่ยนเป็นใบสั่งซื้อ"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "โปรเจกต์"
msgstr "โปรเจกต์"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "รายการใบสั่งซื้อ"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "คำสั่งซื้อ"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "ไลน์คำสั่งซื้อ"
msgstr "รายการคำสั่งซื้อ"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "คำสั่งซื้อ"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Sand"

View file

@ -1,50 +1,75 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Murat Kaplan <muratk@projetgrup.com>, 2022
# Martin Trigaux, 2022
# Ediz Duman <neps1192@gmail.com>, 2022
# Tugay Hatıl <tugayh@projetgrup.com>, 2023
#
# * project_purchase
#
# "Tiffany Chang (tic)" <tic@odoo.com>, 2025.
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Tugay Hatıl <tugayh@projetgrup.com>, 2023\n"
"Language-Team: Turkish (https://app.transifex.com/odoo/teams/41243/tr/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-11-07 21:08+0000\n"
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
"Language-Team: Turkish <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/tr/>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: tr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Satınalma Siparişleri"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Tuğla"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Çimento"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "İsim Göster"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Diğer Maliyetler"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "Satın alma siparişi bulunamadı. Bir tane oluşturalım."
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Ürünlerinizi tedarikçinizden sipariş ettikten sonra fiyatlandırma talebinizi "
"onaylayın; böylece bu bir satın alma siparişine dönüşecektir."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Proje"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Satınalma Sipariş Satırları"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Satınalma Siparişi"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -53,9 +78,16 @@ msgstr "Satınalma Sipariş Satırı"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Satınalma Siparişleri"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Kum"
#~ msgid "Purchase Order Items"
#~ msgstr "Satınalma Sipariş Satırları"

View file

@ -1,59 +1,89 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
# Alina Lisnenko <alina.lisnenko@erp.co.ua>, 2023
#
# * project_purchase
#
# Oleksii Lytvynov <oleksii.lytvynov@self-erp.com>, 2026.
# Alina Lisnenko <alina.lisnenko@erp.co.ua>, 2026.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Alina Lisnenko <alina.lisnenko@erp.co.ua>, 2023\n"
"Language-Team: Ukrainian (https://app.transifex.com/odoo/teams/41243/uk/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2026-02-19 18:50+0000\n"
"Last-Translator: Alina Lisnenko <alina.lisnenko@erp.co.ua>\n"
"Language-Team: Ukrainian <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/uk/>\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: uk\n"
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 5.14.3\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "К-сть замовлень на купівлю"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Інші витрати"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Проект"
msgstr "Проєкт"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Рядки замовлення на купівлю"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr ""
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Рядок замовлення на купівлю"
msgstr ""
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Замовлення на купівлю"
msgstr ""
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr ""

View file

@ -0,0 +1,105 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
#
# Translated by:
# Deepvision - info@deepvision.uz | +998 77-093-0007
# Amon Olimov - amon.bars@gmail.com
# Jonibek Yorqulov - j.yorqulov@deepvision.uz
# Mirzohidkhon Ulugkhujaev ulugkhujayevmirzohidxon@gmail.com
#
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 19.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-10-08 18:38+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: uz\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_bricks_product_template
#, fuzzy
msgid "Bricks"
msgstr "Gishtlar"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
#, fuzzy
msgid "Cement"
msgstr "Sement"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
#, fuzzy
msgid "Display Name"
msgstr "Korsatiladigan nom"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
#, fuzzy
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
#, fuzzy
msgid "No purchase order found. Let's create one."
msgstr "Xarid buyurtmasi topilmadi. Keling, yangisini yaratamiz."
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
#, fuzzy
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Yetkazib beruvchingizdan mahsulotlarni buyurtma qilganingizdan song, narx "
"sorovingizni tasdiqlang va u xarid buyurtmasiga aylanadi."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
#, fuzzy
msgid "Project"
msgstr "Loyiha"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order
#, fuzzy
msgid "Purchase Order"
msgstr "Xarid buyurtmasi"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
#, fuzzy
msgid "Purchase Order Line"
msgstr "Xarid buyurtmasi satri"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
#, fuzzy
msgid "Purchase Orders"
msgstr "Xarid buyurtmalari"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
#, fuzzy
msgid "Sand"
msgstr "Qum"

View file

@ -1,59 +1,90 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
# Thi Huong Nguyen, 2023
#
# * project_purchase
#
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
# "Thi Huong Nguyen (thng)" <thng@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Thi Huong Nguyen, 2023\n"
"Language-Team: Vietnamese (https://app.transifex.com/odoo/teams/41243/vi/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-10-16 06:08+0000\n"
"Last-Translator: \"Thi Huong Nguyen (thng)\" <thng@odoo.com>\n"
"Language-Team: Vietnamese <https://translate.odoo.com/projects/odoo-19/"
"project_purchase/vi/>\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: vi\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# Đơn mua hàng"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Gạch"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "Xi măng"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr ""
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "Other Costs"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "Không tìm thấy đơn mua hàng nào. Hãy tạo mới."
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr ""
"Sau khi bạn đặt sản phẩm từ nhà cung cấp, hãy xác nhận yêu cầu báo giá và nó "
"sẽ chuyển thành đơn đặt hàng."
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "Dự án"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "Hạng mục đơn mua hàng"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "Đơn mua hàng"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Chi tiết mua hàng"
msgstr "Dòng đơn mua hàng"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "Đơn mua hàng"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "Cát"

View file

@ -1,48 +1,73 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# Translators:
# Raymond Yu <cl_yu@hotmail.com>, 2022
# Martin Trigaux, 2022
#
# * project_purchase
#
# "Tiffany Chang (tic)" <tic@odoo.com>, 2025.
# "Chloe Wang (chwa)" <chwa@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Martin Trigaux, 2022\n"
"Language-Team: Chinese (China) (https://app.transifex.com/odoo/teams/41243/zh_CN/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-12-03 12:35+0000\n"
"Last-Translator: \"Chloe Wang (chwa)\" <chwa@odoo.com>\n"
"Language-Team: Chinese (Simplified Han script) <https://translate.odoo.com/"
"projects/odoo-19/project_purchase/zh_Hans/>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.14.3\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "# 采购订单"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "砖块"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "水泥"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "显示名称"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "ID"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "其他费用"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "未找到采购订单。我们来创建一个。"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr "向供应商下单后,确认报价申请,系统就会自动将其转为采购订单。"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "项目"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "采购订单项目"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "采购订单"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -51,9 +76,13 @@ msgstr "采购订单明细"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "采购订单"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "沙粒"

View file

@ -1,48 +1,75 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_purchase
#
# * project_purchase
#
# Translators:
# Martin Trigaux, 2022
# Tony Ng, 2023
#
# Wil Odoo, 2025
#
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server saas~18.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-06 13:32+0000\n"
"PO-Revision-Date: 2022-09-22 05:54+0000\n"
"Last-Translator: Tony Ng, 2023\n"
"Language-Team: Chinese (Taiwan) (https://app.transifex.com/odoo/teams/41243/zh_TW/)\n"
"POT-Creation-Date: 2026-01-25 18:36+0000\n"
"PO-Revision-Date: 2025-09-16 08:11+0000\n"
"Last-Translator: \"Dylan Kiss (dyki)\" <dyki@odoo.com>\n"
"Language-Team: Chinese (Traditional Han script) <https://translate.odoo.com/"
"projects/odoo-19/project_purchase/zh_Hant/>\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: zh_TW\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.12.2\n"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__purchase_orders_count
msgid "# Purchase Orders"
msgstr "採購訂單數目"
#: model:product.template,name:project_purchase.product_product_bricks_product_template
msgid "Bricks"
msgstr "Bricks"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_cement_product_template
msgid "Cement"
msgstr "水泥"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__display_name
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__display_name
msgid "Display Name"
msgstr "顯示名稱"
#. module: project_purchase
#: model:ir.model.fields,field_description:project_purchase.field_project_project__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__id
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order_line__id
msgid "ID"
msgstr "識別號"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Other Costs"
msgstr "其他費用"
#: code:addons/project_purchase/models/project_project.py:0
msgid "No purchase order found. Let's create one."
msgstr "找不到採購單。讓我們建立一個吧!"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project_project.py:0
msgid ""
"Once you ordered your products from your supplier, confirm your request for "
"quotation and it will turn into a purchase order."
msgstr "若已決定要向供應商訂購產品,請確認你的報價請求,它將會轉換為採購單。"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_project_project
#: model:ir.model.fields,field_description:project_purchase.field_purchase_order__project_id
msgid "Project"
msgstr "專案"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#, python-format
msgid "Purchase Order Items"
msgstr "採購訂單項目"
#: model:ir.model,name:project_purchase.model_purchase_order
msgid "Purchase Order"
msgstr "採購訂單"
#. module: project_purchase
#: model:ir.model,name:project_purchase.model_purchase_order_line
@ -51,9 +78,13 @@ msgstr "採購訂單資料行"
#. module: project_purchase
#. odoo-python
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#: code:addons/project_purchase/models/project.py:0
#, python-format
#: code:addons/project_purchase/models/project_project.py:0
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders
#: model:ir.embedded.actions,name:project_purchase.project_embedded_action_purchase_orders_dashboard
msgid "Purchase Orders"
msgstr "採購訂單"
#. module: project_purchase
#: model:product.template,name:project_purchase.product_product_sand_product_template
msgid "Sand"
msgstr "沙粒"

View file

@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import project
from . import project_project
from . import purchase_order_line
from . import purchase_order

View file

@ -1,212 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import json
from odoo import api, fields, models, _, _lt
from odoo.osv import expression
from datetime import date
class Project(models.Model):
_inherit = "project.project"
purchase_orders_count = fields.Integer('# Purchase Orders', compute='_compute_purchase_orders_count', groups='purchase.group_purchase_user')
@api.depends('analytic_account_id')
def _compute_purchase_orders_count(self):
if not self.analytic_account_id:
self.purchase_orders_count = 0
return
query = self.env['purchase.order.line']._search([])
query.add_where('purchase_order_line.analytic_distribution ?| %s', [[str(account_id) for account_id in self.analytic_account_id.ids]])
query.order = None
query_string, query_param = query.select(
'jsonb_object_keys(purchase_order_line.analytic_distribution) as account_id',
'COUNT(DISTINCT(order_id)) as purchase_order_count',
)
query_string = f"{query_string} GROUP BY jsonb_object_keys(purchase_order_line.analytic_distribution)"
self._cr.execute(query_string, query_param)
data = {int(record.get('account_id')): record.get('purchase_order_count') for record in self._cr.dictfetchall()}
for project in self:
project.purchase_orders_count = data.get(project.analytic_account_id.id, 0)
# ----------------------------
# Actions
# ----------------------------
def action_open_project_purchase_orders(self):
query = self.env['purchase.order.line']._search([])
query.add_where('purchase_order_line.analytic_distribution ? %s', [str(self.analytic_account_id.id)])
query_string, query_param = query.select('order_id')
self._cr.execute(query_string, query_param)
purchase_order_ids = [pol.get('order_id') for pol in self._cr.dictfetchall()]
action_window = {
'name': _('Purchase Orders'),
'type': 'ir.actions.act_window',
'res_model': 'purchase.order',
'views': [[False, 'tree'], [False, 'form']],
'domain': [('id', 'in', purchase_order_ids)],
'context': {
'project_id': self.id,
}
}
if len(purchase_order_ids) == 1:
action_window['views'] = [[False, 'form']]
action_window['res_id'] = purchase_order_ids[0]
return action_window
def action_profitability_items(self, section_name, domain=None, res_id=False):
if section_name == 'purchase_order':
action = {
'name': _('Purchase Order Items'),
'type': 'ir.actions.act_window',
'res_model': 'purchase.order.line',
'views': [[False, 'tree'], [False, 'form']],
'domain': domain,
'context': {
'create': False,
'edit': False,
},
}
if res_id:
action['res_id'] = res_id
if 'views' in action:
action['views'] = [
(view_id, view_type)
for view_id, view_type in action['views']
if view_type == 'form'
] or [False, 'form']
action['view_mode'] = 'form'
return action
return super().action_profitability_items(section_name, domain, res_id)
# ----------------------------
# Project Updates
# ----------------------------
def _get_stat_buttons(self):
buttons = super(Project, self)._get_stat_buttons()
if self.user_has_groups('purchase.group_purchase_user'):
buttons.append({
'icon': 'credit-card',
'text': _lt('Purchase Orders'),
'number': self.purchase_orders_count,
'action_type': 'object',
'action': 'action_open_project_purchase_orders',
'show': self.purchase_orders_count > 0,
'sequence': 36,
})
return buttons
def _get_profitability_aal_domain(self):
return expression.AND([
super()._get_profitability_aal_domain(),
['|', ('move_line_id', '=', False), ('move_line_id.purchase_line_id', '=', False)],
])
def _get_profitability_labels(self):
labels = super()._get_profitability_labels()
labels['purchase_order'] = _lt('Purchase Orders')
labels['other_purchase_costs'] = _lt('Other Costs')
return labels
def _get_profitability_sequence_per_invoice_type(self):
sequence_per_invoice_type = super()._get_profitability_sequence_per_invoice_type()
sequence_per_invoice_type['purchase_order'] = 9
sequence_per_invoice_type['other_purchase_costs'] = 10
return sequence_per_invoice_type
def _get_profitability_items(self, with_action=True):
profitability_items = super()._get_profitability_items(with_action)
if self.analytic_account_id:
query = self.env['purchase.order.line'].sudo()._search([
('state', 'in', ['purchase', 'done']),
'|',
('qty_invoiced', '>', 0),
'|', ('qty_to_invoice', '>', 0), ('product_qty', '>', 0),
])
query.add_where('purchase_order_line.analytic_distribution ? %s', [str(self.analytic_account_id.id)])
query_string, query_param = query.select('"purchase_order_line".id', 'qty_invoiced', 'qty_to_invoice', 'product_qty', 'price_subtotal', 'purchase_order_line.currency_id', '"purchase_order_line".analytic_distribution')
self._cr.execute(query_string, query_param)
purchase_order_line_read = [{
**pol,
'invoice_lines': self.env['purchase.order.line'].browse(pol['id']).sudo().invoice_lines, # One2Many cannot be queried, they are not columns
} for pol in self._cr.dictfetchall()]
purchase_order_line_invoice_line_ids = self._get_already_included_profitability_invoice_line_ids()
if purchase_order_line_read:
# Get conversion rate from currencies to currency of the project
currency_ids = {pol['currency_id'] for pol in purchase_order_line_read + [{'currency_id': self.currency_id.id}]}
rates = self.env['res.currency'].browse(list(currency_ids))._get_rates(self.company_id, date.today())
conversion_rates = {cid: rates[self.currency_id.id] / rate_from for cid, rate_from in rates.items()}
amount_invoiced = amount_to_invoice = 0.0
purchase_order_line_ids = []
for pol_read in purchase_order_line_read:
purchase_order_line_invoice_line_ids.extend(pol_read['invoice_lines'].ids)
price_subtotal = self.currency_id.round(pol_read['price_subtotal'] * conversion_rates[pol_read['currency_id']])
price_subtotal_unit = price_subtotal / pol_read['product_qty'] if pol_read['product_qty'] else 0.0
analytic_contribution = pol_read['analytic_distribution'][str(self.analytic_account_id.id)] / 100.
amount_invoiced -= price_subtotal_unit * pol_read['qty_invoiced'] * analytic_contribution if pol_read['qty_invoiced'] > 0 else 0.0
if pol_read['qty_to_invoice'] > 0:
amount_to_invoice -= price_subtotal_unit * pol_read['qty_to_invoice'] * analytic_contribution
else:
amount_to_invoice -= price_subtotal_unit * (pol_read['product_qty'] - pol_read['qty_invoiced']) * analytic_contribution
purchase_order_line_ids.append(pol_read['id'])
costs = profitability_items['costs']
section_id = 'purchase_order'
purchase_order_costs = {'id': section_id, 'sequence': self._get_profitability_sequence_per_invoice_type()[section_id], 'billed': amount_invoiced, 'to_bill': amount_to_invoice}
if with_action and purchase_order_line_ids and self.user_has_groups('purchase.group_purchase_user'):
args = [section_id, [('id', 'in', purchase_order_line_ids)]]
if len(purchase_order_line_ids) == 1:
args.append(purchase_order_line_ids[0])
action = {'name': 'action_profitability_items', 'type': 'object', 'args': json.dumps(args)}
purchase_order_costs['action'] = action
costs['data'].append(purchase_order_costs)
costs['total']['billed'] += amount_invoiced
costs['total']['to_bill'] += amount_to_invoice
# calculate the cost of bills without a purchase order
query = self.env['account.move.line'].sudo()._search([
('move_id.move_type', 'in', ['in_invoice', 'in_refund']),
('parent_state', 'in', ['draft', 'posted']),
('id', 'not in', purchase_order_line_invoice_line_ids),
])
query.add_where('account_move_line.analytic_distribution ? %s', [str(self.analytic_account_id.id)])
# account_move_line__move_id is the alias of the joined table account_move in the query
# we can use it, because of the "move_id.move_type" clause in the domain of the query, which generates the join
# this is faster than a search_read followed by a browse on the move_id to retrieve the move_type of each account.move.line
query_string, query_param = query.select('balance', 'parent_state', 'account_move_line.company_currency_id', 'account_move_line.analytic_distribution', 'account_move_line__move_id.move_type')
self._cr.execute(query_string, query_param)
bills_move_line_read = self._cr.dictfetchall()
if bills_move_line_read:
# Get conversion rate from currencies to currency of the project
currency_ids = {bml['company_currency_id'] for bml in bills_move_line_read + [{'company_currency_id': self.currency_id.id}]}
rates = self.env['res.currency'].browse(list(currency_ids))._get_rates(self.company_id, date.today())
conversion_rates = {cid: rates[self.currency_id.id] / rate_from for cid, rate_from in rates.items()}
amount_invoiced = amount_to_invoice = 0.0
for moves_read in bills_move_line_read:
line_balance = self.currency_id.round(moves_read['balance'] * conversion_rates[moves_read['company_currency_id']])
analytic_contribution = moves_read['analytic_distribution'][str(self.analytic_account_id.id)] / 100.
if moves_read['parent_state'] == 'draft':
amount_to_invoice -= line_balance * analytic_contribution
else: # moves_read['parent_state'] == 'posted'
amount_invoiced -= line_balance * analytic_contribution
# don't display the section if the final values are both 0 (bill -> vendor credit)
if amount_invoiced != 0 or amount_to_invoice != 0:
costs = profitability_items['costs']
section_id = 'other_purchase_costs'
bills_costs = {
'id': section_id,
'sequence': self._get_profitability_sequence_per_invoice_type()[section_id],
'billed': amount_invoiced,
'to_bill': amount_to_invoice,
}
costs['data'].append(bills_costs)
costs['total']['billed'] += amount_invoiced
costs['total']['to_bill'] += amount_to_invoice
return profitability_items

View file

@ -0,0 +1,213 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import json
from odoo import fields, models, _
from odoo.fields import Domain
class ProjectProject(models.Model):
_inherit = "project.project"
purchase_orders_count = fields.Integer('# Purchase Orders', compute='_compute_purchase_orders_count', groups='purchase.group_purchase_user', export_string_translation=False)
def _compute_purchase_orders_count(self):
purchase_orders_per_project = dict(
self.env['purchase.order']._read_group(
domain=[
('project_id', 'in', self.ids),
('order_line', '!=', False),
],
groupby=['project_id'],
aggregates=['id:array_agg'],
)
)
purchase_orders_count_per_project_from_lines = dict(
self.env['purchase.order.line']._read_group(
domain=[
('order_id', 'not in', [order_id for values in purchase_orders_per_project.values() for order_id in values]),
('analytic_distribution', 'in', self.account_id.ids),
],
groupby=['analytic_distribution'],
aggregates=['__count'],
)
)
projects_no_account = self.filtered(lambda project: not project.account_id)
for project in projects_no_account:
project.purchase_orders_count = len(purchase_orders_per_project.get(project, []))
purchase_orders_per_project = {project.account_id.id: len(orders) for project, orders in purchase_orders_per_project.items()}
for project in (self - projects_no_account):
project.purchase_orders_count = purchase_orders_per_project.get(project.account_id.id, 0) + purchase_orders_count_per_project_from_lines.get(project.account_id.id, 0)
# ----------------------------
# Actions
# ----------------------------
def action_open_project_purchase_orders(self):
purchase_orders = self.env['purchase.order.line'].search([
'|',
('analytic_distribution', 'in', self.account_id.ids),
('order_id.project_id', '=', self.id),
]).order_id
action_window = {
'name': self.env._('Purchase Orders'),
'type': 'ir.actions.act_window',
'res_model': 'purchase.order',
'views': [
[False, 'list'], [self.env.ref('purchase.purchase_order_view_kanban_without_dashboard').id, 'kanban'],
[False, 'form'], [False, 'calendar'], [False, 'pivot'], [False, 'graph'], [False, 'activity'],
],
'domain': [('id', 'in', purchase_orders.ids)],
'context': {
'default_project_id': self.id,
},
'help': "<p class='o_view_nocontent_smiling_face'>%s</p><p>%s</p>" % (
_("No purchase order found. Let's create one."),
_("Once you ordered your products from your supplier, confirm your request for quotation and it will turn "
"into a purchase order."),
),
}
if len(purchase_orders) == 1 and not self.env.context.get('from_embedded_action'):
action_window['views'] = [[False, 'form']]
action_window['res_id'] = purchase_orders.id
return action_window
def action_profitability_items(self, section_name, domain=None, res_id=False):
if section_name == 'purchase_order':
action = {
'name': self.env._('Purchase Orders'),
'type': 'ir.actions.act_window',
'res_model': 'purchase.order',
'views': [[False, 'list'], [False, 'form']],
'domain': domain,
'context': {
'create': False,
'edit': False,
},
}
if res_id:
action['res_id'] = res_id
if 'views' in action:
action['views'] = [
(view_id, view_type)
for view_id, view_type in action['views']
if view_type == 'form'
] or [False, 'form']
action['view_mode'] = 'form'
return action
return super().action_profitability_items(section_name, domain, res_id)
# ----------------------------
# Project Updates
# ----------------------------
def _get_stat_buttons(self):
buttons = super()._get_stat_buttons()
if self.env.user.has_group('purchase.group_purchase_user'):
buttons.append({
'icon': 'credit-card',
'text': self.env._('Purchase Orders'),
'number': self.purchase_orders_count,
'action_type': 'object',
'action': 'action_open_project_purchase_orders',
'show': self.purchase_orders_count > 0,
'sequence': 36,
})
return buttons
def _get_profitability_aal_domain(self):
return Domain.AND([
super()._get_profitability_aal_domain(),
['|', ('move_line_id', '=', False), ('move_line_id.purchase_line_id', '=', False)],
])
def _add_purchase_items(self, profitability_items, with_action=True):
return False
def _get_profitability_labels(self):
labels = super()._get_profitability_labels()
labels['purchase_order'] = self.env._('Purchase Orders')
return labels
def _get_profitability_sequence_per_invoice_type(self):
sequence_per_invoice_type = super()._get_profitability_sequence_per_invoice_type()
sequence_per_invoice_type['purchase_order'] = 10
return sequence_per_invoice_type
def _get_profitability_items(self, with_action=True):
profitability_items = super()._get_profitability_items(with_action)
if self.account_id:
purchase_lines = self.env['purchase.order.line'].sudo().search([
('analytic_distribution', 'in', self.account_id.ids),
('state', 'in', 'purchase')
])
purchase_order_line_invoice_line_ids = self._get_already_included_profitability_invoice_line_ids()
with_action = with_action and (
self.env.user.has_group('purchase.group_purchase_user')
or self.env.user.has_group('account.group_account_invoice')
or self.env.user.has_group('account.group_account_readonly')
)
if purchase_lines:
amount_invoiced = amount_to_invoice = 0.0
purchase_order_line_invoice_line_ids.extend(purchase_lines.invoice_lines.ids)
for purchase_line in purchase_lines:
price_subtotal = purchase_line.currency_id._convert(purchase_line.price_subtotal, self.currency_id, self.company_id)
# an analytic account can appear several time in an analytic distribution with different repartition percentage
analytic_contribution = sum(
percentage for ids, percentage in purchase_line.analytic_distribution.items()
if str(self.account_id.id) in ids.split(',')
) / 100.
purchase_line_amount_to_invoice = price_subtotal * analytic_contribution
invoice_lines = purchase_line.invoice_lines.filtered(
lambda l:
l.parent_state != 'cancel'
and l.analytic_distribution
and any(
str(self.account_id.id) in key.split(',')
for key in l.analytic_distribution
)
)
if invoice_lines:
invoiced_qty = sum(invoice_lines.filtered(lambda l: not l.is_refund).mapped('quantity'))
if invoiced_qty < purchase_line.product_qty:
amount_to_invoice -= purchase_line_amount_to_invoice * ((purchase_line.product_qty - invoiced_qty) / purchase_line.product_qty)
for line in invoice_lines:
price_subtotal = line.currency_id._convert(line.price_subtotal, self.currency_id, self.company_id)
if not line.analytic_distribution:
continue
# an analytic account can appear several time in an analytic distribution with different repartition percentage
analytic_contribution = sum(
percentage for ids, percentage in line.analytic_distribution.items()
if str(self.account_id.id) in ids.split(',')
) / 100.
cost = price_subtotal * analytic_contribution * (-1 if line.is_refund else 1)
if line.parent_state == 'posted':
amount_invoiced -= cost
else:
amount_to_invoice -= cost
else:
amount_to_invoice -= purchase_line_amount_to_invoice
costs = profitability_items['costs']
section_id = 'purchase_order'
purchase_order_costs = {'id': section_id, 'sequence': self._get_profitability_sequence_per_invoice_type()[section_id], 'billed': amount_invoiced, 'to_bill': amount_to_invoice}
if with_action:
purchase_order = purchase_lines.order_id
args = [section_id, [('id', 'in', purchase_order.ids)]]
if len(purchase_order) == 1:
args.append(purchase_order.id)
action = {'name': 'action_profitability_items', 'type': 'object', 'args': json.dumps(args)}
purchase_order_costs['action'] = action
costs['data'].append(purchase_order_costs)
costs['total']['billed'] += amount_invoiced
costs['total']['to_bill'] += amount_to_invoice
domain = [
('move_id.move_type', 'in', ['in_invoice', 'in_refund']),
('parent_state', 'in', ['draft', 'posted']),
('price_subtotal', '!=', 0),
('id', 'not in', purchase_order_line_invoice_line_ids),
]
self._get_costs_items_from_purchase(domain, profitability_items, with_action=with_action)
return profitability_items

View file

@ -0,0 +1,9 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class PurchaseOrder(models.Model):
_inherit = 'purchase.order'
project_id = fields.Many2one('project.project', domain=[('is_template', '=', False)])

View file

@ -1,14 +1,36 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import models
from odoo import api, models
class PurchaseOrderLine(models.Model):
_inherit = 'purchase.order.line'
@api.depends('product_id', 'order_id.partner_id', 'order_id.project_id')
def _compute_analytic_distribution(self):
super()._compute_analytic_distribution()
for line in self:
if line._context.get('project_id'):
line.analytic_distribution = {line.env['project.project'].browse(line._context['project_id']).analytic_account_id.id: 100}
ctx_project = self.env['project.project'].browse(self.env.context.get('project_id'))
project_lines = self.filtered(lambda l: not l.display_type and (ctx_project or l.order_id.project_id))
empty_project_lines = project_lines.filtered(lambda l: not l.analytic_distribution)
super(PurchaseOrderLine, (self - project_lines) + empty_project_lines)._compute_analytic_distribution()
for line in project_lines:
project = ctx_project or line.order_id.project_id
if line.analytic_distribution:
applied_root_plans = self.env['account.analytic.account'].browse(
list({int(account_id) for ids in line.analytic_distribution for account_id in ids.split(",")})
).root_plan_id
if accounts_to_add := project._get_analytic_accounts().filtered(
lambda account: account.root_plan_id not in applied_root_plans
):
line.analytic_distribution = {
f"{account_ids},{','.join(map(str, accounts_to_add.ids))}": percentage
for account_ids, percentage in line.analytic_distribution.items()
}
else:
line.analytic_distribution = project._get_analytic_distribution()
@api.model_create_multi
def create(self, vals_list):
lines = super().create(vals_list)
lines._recompute_recordset(fnames=['analytic_distribution'])
return lines

View file

@ -0,0 +1,12 @@
import { patch } from "@web/core/utils/patch";
import { ProductCatalogKanbanRecord } from "@product/product_catalog/kanban_record";
patch(ProductCatalogKanbanRecord.prototype, {
_getUpdateQuantityAndGetPriceParams() {
return {
...super._getUpdateQuantityAndGetPriceParams(),
project_id: this.props.record.context.project_id,
};
},
});

View file

@ -1,4 +1,4 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import test_project_profitability
from . import test_project_purchase

View file

@ -1,20 +1,34 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from datetime import datetime, timedelta
from odoo import Command
from odoo.tests import tagged
from odoo.tools import float_round, float_compare
from odoo.tools import float_round
from odoo.addons.project.tests.test_project_profitability import TestProjectProfitabilityCommon
from odoo.addons.purchase.tests.test_purchase_invoice import TestPurchaseToInvoiceCommon
from odoo.addons.account.tests.common import AccountTestInvoicingCommon
from odoo.tools.float_utils import float_compare
@tagged('-at_install', 'post_install')
class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurchaseToInvoiceCommon):
class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurchaseToInvoiceCommon, AccountTestInvoicingCommon):
def test_bills_without_purchase_order_are_accounted_in_profitability(self):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.env.user.group_ids |= cls.env.ref('purchase.group_purchase_user')
cls.company_data_2 = cls.setup_other_company()
def _create_invoice_for_po(self, purchase_order):
purchase_order.action_create_invoice()
purchase_bill = purchase_order.invoice_ids # get the bill from the purchase
purchase_bill.invoice_date = datetime.today()
purchase_bill.action_post()
return purchase_bill
def test_bills_without_purchase_order_are_accounted_in_profitability_project_purchase(self):
"""
A bill that has an AAL on one of its line should be taken into account
for the profitability of the project.
@ -41,17 +55,32 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
"currency_id": self.env.company.currency_id.id,
})],
})
# the bill_1 is in draft, therefor it should have the cost "to_bill" same as the -product_price (untaxed)
# add 2 new AAL to the analytic account. Those costs must be present in the cost data
self.env['account.analytic.line'].create([{
'name': 'extra costs 1',
'account_id': self.analytic_account.id,
'amount': -50.1,
}, {
'name': 'extra costs 2',
'account_id': self.analytic_account.id,
'amount': -100,
}])
# the bill_1 is in draft, therefore it should have the cost "to_bill" same as the -product_price (untaxed)
self.assertDictEqual(
self.project._get_profitability_items(False)['costs'],
{
'data': [{
'id': 'other_costs_aal',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['other_costs_aal'],
'to_bill': 0.0,
'billed': -150.1,
}, {
'id': 'other_purchase_costs',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['other_purchase_costs'],
'to_bill': -self.product_a.standard_price * analytic_contribution,
'billed': 0.0,
}],
'total': {'to_bill': -self.product_a.standard_price * analytic_contribution, 'billed': 0.0},
'total': {'to_bill': -self.product_a.standard_price * analytic_contribution, 'billed': -150.1},
},
)
# post bill_1
@ -61,12 +90,17 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
self.project._get_profitability_items(False)['costs'],
{
'data': [{
'id': 'other_costs_aal',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['other_costs_aal'],
'to_bill': 0.0,
'billed': -150.1,
}, {
'id': 'other_purchase_costs',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['other_purchase_costs'],
'to_bill': 0.0,
'billed': -self.product_a.standard_price * analytic_contribution,
}],
'total': {'to_bill': 0.0, 'billed': -self.product_a.standard_price * analytic_contribution},
'total': {'to_bill': 0.0, 'billed': -self.product_a.standard_price * analytic_contribution - 150.1},
},
)
# create another bill, with 3 lines, 2 diff products, the second line has 2 as quantity, the third line has a negative price
@ -99,11 +133,16 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
"currency_id": self.env.company.currency_id.id,
})],
})
# bill_2 is not posted, therefor its cost should be "to_billed" = - sum of all product_price * qty for each line
# bill_2 is not posted, therefore its cost should be "to_billed" = - sum of all product_price * qty for each line
self.assertDictEqual(
self.project._get_profitability_items(False)['costs'],
{
'data': [{
'id': 'other_costs_aal',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['other_costs_aal'],
'to_bill': 0.0,
'billed': -150.1,
}, {
'id': 'other_purchase_costs',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['other_purchase_costs'],
'to_bill': -(self.product_a.standard_price +
@ -115,17 +154,22 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
'to_bill': -(self.product_a.standard_price +
2 * self.product_b.standard_price -
self.service_deliver.standard_price) * analytic_contribution,
'billed': -self.product_a.standard_price * analytic_contribution,
'billed': -self.product_a.standard_price * analytic_contribution - 150.1,
},
},
)
# post bill_2
bill_2.action_post()
# bill_2 is posted, therefor its cost should be counting in "billed", with the cost of bill_1
# bill_2 is posted, therefore its cost should be counting in "billed", with the cost of bill_1
self.assertDictEqual(
self.project._get_profitability_items(False)['costs'],
{
'data': [{
'id': 'other_costs_aal',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['other_costs_aal'],
'to_bill': 0.0,
'billed': -150.1,
}, {
'id': 'other_purchase_costs',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['other_purchase_costs'],
'to_bill': 0.0,
@ -137,7 +181,7 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
'to_bill': 0.0,
'billed': -(2 * self.product_a.standard_price +
2 * self.product_b.standard_price -
self.service_deliver.standard_price) * analytic_contribution,
self.service_deliver.standard_price) * analytic_contribution - 150.1,
},
},
)
@ -154,15 +198,20 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
})],
})
purchase_order.button_confirm()
purchase_order.order_line.flush_recordset()
# we should have a new section "purchase_order", the total should be updated,
# but the "other_purchase_costs" shouldn't change, as we don't takes into
self.assertEqual(purchase_order.invoice_status, 'to invoice')
# The section "purchase_order" should appear as the purchase order is validated, the total should be updated,
# the "other_purchase_costs" shouldn't change, as we don't take into
# account bills from purchase orders, as those are already taken into calculations
# from the purchase orders (in "purchase_order" section)
self.assertDictEqual(
self.project._get_profitability_items(False)['costs'],
{
'data': [{
'id': 'other_costs_aal',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['other_costs_aal'],
'to_bill': 0.0,
'billed': -150.1,
},{
'id': 'purchase_order',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['purchase_order'],
'to_bill': -self.product_order.standard_price * analytic_contribution,
@ -171,28 +220,68 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
'id': 'other_purchase_costs',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['other_purchase_costs'],
'to_bill': 0.0,
'billed': float_round(-(2 * self.product_a.standard_price +
'billed': -(2 * self.product_a.standard_price +
2 * self.product_b.standard_price -
self.service_deliver.standard_price) * analytic_contribution, precision_digits=price_precision),
self.service_deliver.standard_price) * analytic_contribution,
}],
'total': {
'to_bill': -self.product_order.standard_price * analytic_contribution,
'billed': float_round(-(2 * self.product_a.standard_price +
'billed': -(2 * self.product_a.standard_price +
2 * self.product_b.standard_price -
self.service_deliver.standard_price) * analytic_contribution, precision_digits=price_precision),
self.service_deliver.standard_price) * analytic_contribution - 150.1,
},
},
)
# Create a vendor bill linked to the PO
purchase_order.action_create_invoice()
purchase_bill = purchase_order.invoice_ids # get the bill from the purchase
purchase_bill.invoice_date = datetime.today()
purchase_bill.action_post()
# now the bill has been posted, its costs should be accounted in the "billed" part
self.assertEqual(purchase_order.invoice_ids.state, 'draft')
# now the bill has been created and set to draft so the section "purchase_order" should appear, its costs should be accounted in the "to bill" part
# of the purchase_order section, but should touch in the other_purchase_costs
self.assertDictEqual(
self.project._get_profitability_items(False)['costs'],
{
'data': [{
'id': 'other_costs_aal',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['other_costs_aal'],
'to_bill': 0.0,
'billed': -150.1,
}, {
'id': 'purchase_order',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['purchase_order'],
'to_bill': -self.product_order.standard_price * analytic_contribution,
'billed': 0.0,
}, {
'id': 'other_purchase_costs',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['other_purchase_costs'],
'to_bill': 0.0,
'billed': -(2 * self.product_a.standard_price +
2 * self.product_b.standard_price -
self.service_deliver.standard_price) * analytic_contribution,
}],
'total': {
'to_bill': -self.product_order.standard_price * analytic_contribution,
'billed': -(2 * self.product_a.standard_price +
2 * self.product_b.standard_price -
self.service_deliver.standard_price) * analytic_contribution -150.1,
},
},
)
# Post the vendor bill linked to the PO
purchase_bill = purchase_order.invoice_ids
purchase_bill.invoice_date = datetime.today()
purchase_bill.action_post()
self.assertEqual(purchase_order.invoice_ids.state, 'posted')
# now the bill has been posted so the costs of the section "purchase_order" should be accounted in the "billed" part
# and the total should be updated accordingly
self.assertDictEqual(
self.project._get_profitability_items(False)['costs'],
{
'data': [{
'id': 'other_costs_aal',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['other_costs_aal'],
'to_bill': 0.0,
'billed': -150.1,
}, {
'id': 'purchase_order',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['purchase_order'],
'to_bill': 0.0,
@ -207,10 +296,10 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
}],
'total': {
'to_bill': 0.0,
'billed': float_round(-(2 * self.product_a.standard_price +
'billed': -(2 * self.product_a.standard_price +
2 * self.product_b.standard_price -
self.service_deliver.standard_price +
self.product_order.standard_price) * analytic_contribution, precision_digits=price_precision),
self.product_order.standard_price) * analytic_contribution - 150.1,
},
},
)
@ -253,7 +342,7 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
})],
})
purchase_order.button_confirm()
purchase_order.order_line.flush_recordset()
self.assertEqual(purchase_order.invoice_status, 'to invoice')
self.assertDictEqual(
self.project._get_profitability_items(False)['costs'],
{
@ -268,11 +357,12 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
'billed': 0.0,
},
},
'No data should be found since the purchase order is not invoiced.',
)
purchase_order.action_create_invoice()
purchase_bill = purchase_order.invoice_ids # get the bill from the purchase
purchase_bill.invoice_date = datetime.today()
purchase_bill.action_post()
# Invoice the purchase order
self._create_invoice_for_po(purchase_order)
self.assertEqual(purchase_order.invoice_status, 'invoiced')
self.assertDictEqual(
self.project._get_profitability_items(False)['costs'],
{
@ -289,6 +379,237 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
},
)
def test_multi_currency_for_project_purchase_profitability(self):
""" This test ensures that when purchase orders with different currencies are linked to the same project, the amount are correctly computed according to the
rate of the company """
project = self.env['project.project'].create({'name': 'new project'})
project._create_analytic_account()
account = project.account_id
foreign_company = self.company_data_2['company']
foreign_company.currency_id = self.foreign_currency
# a custom analytic contribution (number between 1 -> 100 included)
analytic_distribution = 42
analytic_contribution = analytic_distribution / 100.
# Create a bill_1 with the foreign_currency.
bill_1 = self.env['account.move'].create({
"name": "Bill foreign currency",
"move_type": "in_invoice",
"state": "draft",
"partner_id": self.partner.id,
"invoice_date": datetime.today(),
"date": datetime.today(),
"invoice_date_due": datetime.today() - timedelta(days=1),
"company_id": foreign_company.id,
"invoice_line_ids": [Command.create({
"analytic_distribution": {account.id: analytic_distribution},
"product_id": self.product_a.id,
"quantity": 1,
"product_uom_id": self.product_a.uom_id.id,
"price_unit": self.product_a.standard_price,
"currency_id": self.foreign_currency.id,
}), Command.create({
"analytic_distribution": {account.id: analytic_distribution},
"product_id": self.product_a.id,
"quantity": 2,
"product_uom_id": self.product_a.uom_id.id,
"price_unit": self.product_a.standard_price,
"currency_id": self.foreign_currency.id,
})],
})
# Ensures that if no items have the main currency, the total is still displayed in the main currency.
# Expected total : product_price * 0.2 (rate) * 3 (number of products).
# Note : for some reason, the method to round the amount to the rounding of the currency is not 100% reliable.
# We use a float_compare in order to ensure the value is close enough to the expected result. This problem has no repercusion on the client side, since
# there is also a rounding method on this side to ensure the amount is correctly displayed.
items = project._get_profitability_items(with_action=False)['costs']
self.assertEqual('other_purchase_costs', items['data'][0]['id'])
self.assertEqual(project._get_profitability_sequence_per_invoice_type()['other_purchase_costs'], items['data'][0]['sequence'])
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 0.6, items['data'][0]['to_bill'], 2), 0)
self.assertEqual(0.0, items['data'][0]['billed'])
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 0.6, items['total']['to_bill'], 2), 0)
self.assertEqual(0.0, items['total']['billed'])
# Create a bill 2 with the main currency.
bill_2 = self.env['account.move'].create({
"name": "Bill main currency",
"move_type": "in_invoice",
"state": "draft",
"partner_id": self.partner.id,
"invoice_date": datetime.today(),
"invoice_line_ids": [Command.create({
"analytic_distribution": {account.id: analytic_distribution},
"product_id": self.product_a.id,
"quantity": 1,
"product_uom_id": self.product_a.uom_id.id,
"price_unit": self.product_a.standard_price,
"currency_id": self.env.company.currency_id.id,
}), Command.create({
"analytic_distribution": {account.id: analytic_distribution},
"product_id": self.product_a.id,
"quantity": 2,
"product_uom_id": self.product_a.uom_id.id,
"price_unit": self.product_a.standard_price,
"currency_id": self.env.company.currency_id.id,
})],
})
# The 2 bills are in draft, therefore the "to_bill" section should contain the total cost of the 2 bills.
# The expected total is therefore product_price * 1 * 3 + product_price * 0.2 * 3 => * 3.6
items = project._get_profitability_items(with_action=False)['costs']
self.assertEqual('other_purchase_costs', items['data'][0]['id'])
self.assertEqual(project._get_profitability_sequence_per_invoice_type()['other_purchase_costs'], items['data'][0]['sequence'])
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 3.6, items['data'][0]['to_bill'], 2), 0)
self.assertEqual(0.0, items['data'][0]['billed'])
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 3.6, items['total']['to_bill'], 2), 0)
self.assertEqual(0.0, items['total']['billed'])
# Bill 2 is posted. Its total is now in the 'billed' section, while the bill_1 is still in the 'to bill' one.
bill_2.action_post()
items = project._get_profitability_items(with_action=False)['costs']
self.assertEqual('other_purchase_costs', items['data'][0]['id'])
self.assertEqual(project._get_profitability_sequence_per_invoice_type()['other_purchase_costs'], items['data'][0]['sequence'])
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 0.6, items['data'][0]['to_bill'], 2), 0)
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 3, items['data'][0]['billed'], 2), 0)
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 0.6, items['total']['to_bill'], 2), 0)
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 3, items['total']['billed'], 2), 0)
# Bill 1 is posted. Its total is now in the 'billed' section, the 'to bill' one should now be empty.
bill_1.action_post()
items = project._get_profitability_items(with_action=False)['costs']
self.assertEqual('other_purchase_costs', items['data'][0]['id'])
self.assertEqual(project._get_profitability_sequence_per_invoice_type()['other_purchase_costs'], items['data'][0]['sequence'])
self.assertEqual(0.0, items['data'][0]['to_bill'])
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 3.6, items['data'][0]['billed'], 2), 0)
self.assertEqual(0.0, items['total']['to_bill'])
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 3.6, items['total']['billed'], 2), 0)
# create a new purchase order with the foreign company
purchase_order_foreign = self.env['purchase.order'].create({
"name": "A foreign purchase order",
"partner_id": self.partner_a.id,
"company_id": foreign_company.id,
"order_line": [Command.create({
"analytic_distribution": {account.id: analytic_distribution},
"product_id": self.product_order.id,
"product_qty": 1,
"price_unit": self.product_order.standard_price,
"currency_id": self.foreign_currency.id,
}), Command.create({
"analytic_distribution": {account.id: analytic_distribution},
"product_id": self.product_order.id,
"product_qty": 2,
"price_unit": self.product_order.standard_price,
"currency_id": self.foreign_currency.id,
})],
})
purchase_order_foreign.button_confirm()
self.assertEqual(purchase_order_foreign.invoice_status, 'to invoice')
# The section "purchase_order" should appear because the purchase order is validated, the total should be updated,
# but the "other_purchase_costs" shouldn't change, as we don't take into
# account bills from purchase orders in this section.
items = project._get_profitability_items(with_action=False)['costs']
self.assertEqual('purchase_order', items['data'][0]['id'])
self.assertEqual(project._get_profitability_sequence_per_invoice_type()['purchase_order'], items['data'][0]['sequence'])
self.assertEqual(0.0, items['data'][0]['billed'])
self.assertEqual(float_compare(-self.product_order.standard_price * analytic_contribution * 0.6, items['data'][0]['to_bill'], 2), 0)
self.assertEqual('other_purchase_costs', items['data'][1]['id'])
self.assertEqual(project._get_profitability_sequence_per_invoice_type()['other_purchase_costs'], items['data'][1]['sequence'])
self.assertEqual(0.0, items['data'][1]['to_bill'])
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 3.6, items['data'][1]['billed'], 2), 0)
self.assertEqual(float_compare(- self.product_order.standard_price * analytic_contribution * 0.6, items['total']['to_bill'], 2), 0)
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 3.6, items['total']['billed'], 2), 0)
# create a new purchase order
purchase_order = self.env['purchase.order'].create({
"name": "A foreign purchase order",
"partner_id": self.partner_a.id,
"company_id": self.env.company.id,
"order_line": [Command.create({
"analytic_distribution": {account.id: analytic_distribution},
"product_id": self.product_order.id,
"product_qty": 1,
"price_unit": self.product_order.standard_price,
"currency_id": self.env.company.currency_id.id,
}), Command.create({
"analytic_distribution": {account.id: analytic_distribution},
"product_id": self.product_order.id,
"product_qty": 2,
"price_unit": self.product_order.standard_price,
"currency_id": self.env.company.currency_id.id,
})],
})
purchase_order.button_confirm()
self.assertEqual(purchase_order.invoice_status, 'to invoice')
# The section "purchase_order" should be updated with the new po values.
items = project._get_profitability_items(with_action=False)['costs']
self.assertEqual('purchase_order', items['data'][0]['id'])
self.assertEqual(project._get_profitability_sequence_per_invoice_type()['purchase_order'], items['data'][0]['sequence'])
self.assertEqual(0.0, items['data'][0]['billed'])
self.assertEqual(float_compare(-self.product_order.standard_price * analytic_contribution * 3.6, items['data'][0]['to_bill'], 2), 0)
self.assertEqual('other_purchase_costs', items['data'][1]['id'])
self.assertEqual(project._get_profitability_sequence_per_invoice_type()['other_purchase_costs'], items['data'][1]['sequence'])
self.assertEqual(0.0, items['data'][1]['to_bill'])
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 3.6, items['data'][1]['billed'], 2), 0)
self.assertEqual(float_compare(- self.product_order.standard_price * analytic_contribution * 3.6 , items['total']['to_bill'], 2), 0)
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 3.6, items['total']['billed'], 2), 0)
self._create_invoice_for_po(purchase_order)
self.assertEqual(purchase_order.invoice_status, 'invoiced')
# The section "purchase_order" should now appear because purchase_order was invoiced.
# The purchase order of the main company has been billed. Its total should now be in the 'billed' section.
items = project._get_profitability_items(with_action=False)['costs']
self.assertEqual('purchase_order', items['data'][0]['id'])
self.assertEqual(project._get_profitability_sequence_per_invoice_type()['purchase_order'], items['data'][0]['sequence'])
self.assertEqual(float_compare(-self.product_order.standard_price * analytic_contribution * 0.6, items['data'][0]['to_bill'], 2), 0)
self.assertEqual(float_compare(-self.product_order.standard_price * analytic_contribution * 3, items['data'][0]['billed'], 2), 0)
self.assertEqual('other_purchase_costs', items['data'][1]['id'])
self.assertEqual(project._get_profitability_sequence_per_invoice_type()['other_purchase_costs'], items['data'][1]['sequence'])
self.assertEqual(0.0, items['data'][1]['to_bill'])
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 3.6, items['data'][1]['billed'], 2), 0)
self.assertEqual(float_compare(-self.product_order.standard_price * analytic_contribution * 0.6, items['total']['to_bill'], 2), 0)
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 3.6 - self.product_order.standard_price * analytic_contribution * 3, items['total']['billed'], 2), 0)
self._create_invoice_for_po(purchase_order_foreign)
self.assertEqual(purchase_order_foreign.invoice_status, 'invoiced')
# The purchase order of the main company has been billed. Its total should now be in the 'billed' section.
# The 'to bill' section of the purchase order should now be empty
items = project._get_profitability_items(with_action=False)['costs']
self.assertEqual('purchase_order', items['data'][0]['id'])
self.assertEqual(project._get_profitability_sequence_per_invoice_type()['purchase_order'], items['data'][0]['sequence'])
self.assertEqual(0.0, items['data'][0]['to_bill'])
self.assertEqual(float_compare(-self.product_order.standard_price * analytic_contribution * 3.6, items['data'][0]['billed'], 2), 0)
self.assertEqual('other_purchase_costs', items['data'][1]['id'])
self.assertEqual(project._get_profitability_sequence_per_invoice_type()['other_purchase_costs'], items['data'][1]['sequence'])
self.assertEqual(0.0, items['data'][1]['to_bill'])
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 3.6, items['data'][1]['billed'], 2), 0)
self.assertEqual(0.0, items['total']['to_bill'])
self.assertEqual(float_compare(-self.product_a.standard_price * analytic_contribution * 3.6 - self.product_order.standard_price * analytic_contribution * 3.6, items['total']['billed'], 2), 0)
def test_project_purchase_order_smart_button(self):
project = self.env['project.project'].create({
'name': 'Test Project'
})
purchase_order = self.env['purchase.order'].create({
"name": "A purchase order",
"partner_id": self.partner_a.id,
"company_id": self.env.company.id,
"order_line": [Command.create({
"product_id": self.product_order.id,
"product_qty": 1,
"price_unit": self.product_order.standard_price,
"currency_id": self.foreign_currency.id,
})],
"project_id": project.id,
})
action = project.action_open_project_purchase_orders()
self.assertTrue(action)
self.assertEqual(action['res_id'], purchase_order.id)
def test_analytic_distribution_with_included_tax(self):
"""When calculating the profitability of a project, included taxes should not be calculated"""
included_tax = self.env['account.tax'].create({
@ -296,7 +617,7 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
'amount': '15.0',
'amount_type': 'percent',
'type_tax_use': 'purchase',
'price_include': True
'price_include_override': 'tax_included',
})
# create a purchase.order with the project account in analytic_distribution
@ -307,13 +628,13 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
'analytic_distribution': {self.analytic_account.id: 100},
'product_id': self.product_order.id,
'product_qty': 2, # plural value to check if the price is multiplied more than once
'taxes_id': [included_tax.id], # set the included tax
'tax_ids': [included_tax.id], # set the included tax
'price_unit': self.product_order.standard_price,
'currency_id': self.env.company.currency_id.id,
})],
})
purchase_order.button_confirm()
purchase_order.order_line.flush_recordset()
purchase_order.action_create_invoice()
# the profitability should not take taxes into account
self.assertDictEqual(
self.project._get_profitability_items(False)['costs'],
@ -331,7 +652,6 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
},
)
purchase_order.action_create_invoice()
purchase_bill = purchase_order.invoice_ids # get the bill from the purchase
purchase_bill.invoice_date = datetime.today()
purchase_bill.action_post()
@ -368,8 +688,8 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
})
purchase_order.button_confirm()
# changing the uom to a higher number
purchase_order.order_line.product_uom = self.env.ref("uom.product_uom_dozen")
purchase_order.order_line.flush_recordset()
purchase_order.order_line.product_uom_id = self.env.ref("uom.product_uom_dozen")
purchase_order.action_create_invoice()
self.assertDictEqual(
self.project._get_profitability_items(False)['costs'],
{
@ -386,6 +706,104 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
},
)
def test_cross_analytics_contribution(self):
cross_plan = self.env['account.analytic.plan'].create({'name': 'Cross Plan'})
cross_account = self.env['account.analytic.account'].create({
'name': "Cross Analytic Account",
'plan_id': cross_plan.id,
"company_id": self.env.company.id,
})
cross_distribution = 42
cross_order = self.env['purchase.order'].create({
'name': 'Cross Purchase Order',
"partner_id": self.partner_a.id,
"company_id": self.env.company.id,
'order_line': [
Command.create({
'analytic_distribution': {
f"{self.project.account_id.id},{cross_account.id}": cross_distribution,
},
"product_id": self.product_order.id,
"product_qty": 1,
"price_unit": self.product_order.standard_price,
"currency_id": self.env.company.currency_id.id,
}),
],
})
cross_order.button_confirm()
cross_order.action_create_invoice()
items = self.project._get_profitability_items(with_action=False)['costs']
self.assertEqual(
items['data'][0]['to_bill'],
-(self.product_order.standard_price * cross_distribution / 100)
)
def test_vendor_credit_note_profitability(self):
"""Reversing a vendor bill should cancel out the profitability costs."""
purchase_order = self.env['purchase.order'].create({
'name': "A Purchase",
'partner_id': self.partner_a.id,
'order_line': [Command.create({
'analytic_distribution': {self.analytic_account.id: 100},
'product_id': self.product_order.id,
})],
})
purchase_order.button_confirm()
vendor_bill = self._create_invoice_for_po(purchase_order)
items = self.project._get_profitability_items(with_action=False)['costs']
self.assertDictEqual(items['total'], {
'billed': -purchase_order.amount_untaxed,
'to_bill': 0.0,
})
credit_note = vendor_bill._reverse_moves()
items = self.project._get_profitability_items(with_action=False)['costs']
self.assertDictEqual(items['total'], {
'billed': -purchase_order.amount_untaxed,
'to_bill': purchase_order.amount_untaxed,
})
credit_note.invoice_date = vendor_bill.invoice_date
credit_note.action_post()
items = self.project._get_profitability_items(with_action=False)['costs']
self.assertDictEqual(items['total'], {
'billed': 0.0,
'to_bill': 0.0,
})
def test_project_purchase_profitability_without_analytic_distribution(self):
purchase_order = self.env['purchase.order'].create({
"name": "A purchase order",
"partner_id": self.partner_a.id,
"order_line": [Command.create({
'analytic_distribution': {self.analytic_account.id: 100},
'product_id': self.product_order.id,
})],
})
purchase_order.button_confirm()
vendor_bill = self._create_invoice_for_po(purchase_order)
vendor_bill.invoice_line_ids.analytic_distribution = False
self.assertDictEqual(
self.project._get_profitability_items(False)['costs'],
{
'data': [{
'id': 'purchase_order',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['purchase_order'],
'to_bill': -235.0,
'billed': 0.0,
}],
'total': {
'to_bill': -235.0,
'billed': 0.0,
},
},
)
def test_profitability_foreign_currency_rate_on_bill_date(self):
"""Test that project profitability uses the correct currency rate (on bill date) for vendor bills in foreign currency."""
CurrencyRate = self.env['res.currency.rate']
@ -452,3 +870,164 @@ class TestProjectPurchaseProfitability(TestProjectProfitabilityCommon, TestPurch
float_compare(actual_billed, expected_cost, precision_digits=2) == 0,
f"Expected billed {expected_cost}, got {actual_billed}"
)
def test_project_purchase_profitability_with_split_bills(self):
"""
Test that project profitability is correctly computed when a purchase order
is billed in multiple steps (e.g. one partial bill followed by a final bill
covering the remaining quantity)
"""
purchase_order = self.env['purchase.order'].create({
'name': "A purchase order",
'partner_id': self.partner_a.id,
'company_id': self.env.company.id,
'order_line': [Command.create({
'product_id': self.product_order.id,
'price_unit': 100,
'tax_ids': [],
'product_qty': 5.0,
})],
'project_id': self.project.id,
})
purchase_order.button_confirm()
self.assertDictEqual(
self.project._get_profitability_items(False)['costs'],
{
'data': [{
'id': 'purchase_order',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['purchase_order'],
'to_bill': -500.0,
'billed': 0.0,
}],
'total': {
'to_bill': -500.0,
'billed': 0.0,
},
},
)
purchase_order.action_create_invoice()
vendor_bill = purchase_order.invoice_ids
vendor_bill.invoice_date = datetime.today()
vendor_bill.invoice_line_ids.quantity = 2.0
vendor_bill.action_post()
self.assertDictEqual(
self.project._get_profitability_items(False)['costs'],
{
'data': [{
'id': 'purchase_order',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['purchase_order'],
'to_bill': -300.0,
'billed': -200.0,
}],
'total': {
'to_bill': -300.0,
'billed': -200.0,
},
},
)
purchase_order.action_create_invoice()
vendor_bill_2 = purchase_order.invoice_ids[1]
vendor_bill_2.invoice_date = datetime.today()
vendor_bill_2.invoice_line_ids.quantity = 3.0
vendor_bill_2.invoice_line_ids.analytic_distribution = {}
vendor_bill_2.action_post()
self.assertDictEqual(
self.project._get_profitability_items(False)['costs'],
{
'data': [{
'id': 'purchase_order',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['purchase_order'],
'to_bill': -300.0,
'billed': -200.0,
}],
'total': {
'to_bill': -300.0,
'billed': -200.0,
},
},
)
purchase_order.action_create_invoice()
vendor_bill_3 = purchase_order.invoice_ids[2]
vendor_bill_3.invoice_date = datetime.today()
vendor_bill_3.invoice_line_ids.quantity = 3.0
vendor_bill_3.action_post()
self.assertDictEqual(
self.project._get_profitability_items(False)['costs'],
{
'data': [{
'id': 'purchase_order',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['purchase_order'],
'to_bill': 0.0,
'billed': -500.0,
}],
'total': {
'to_bill': 0.0,
'billed': -500.0,
},
},
)
def test_project_profitability_when_multiple_aa_in_the_same_line(self):
other_analytic_account = self.env['account.analytic.account'].create({
'name': 'Not important',
'code': 'KO-1234',
'plan_id': self.analytic_plan.id,
})
# create a new purchase order
purchase_order = self.env['purchase.order'].create({
"name": "A purchase order",
"partner_id": self.partner_a.id,
"order_line": [
Command.create({
"analytic_distribution": {
# this is the analytic_account that is linked to the project
f"{self.analytic_account.id},{other_analytic_account.id}": 100,
},
"product_id": self.product_order.id,
"product_qty": 1,
"price_unit": self.product_order.standard_price,
"currency_id": self.env.company.currency_id.id,
}),
Command.create({
"analytic_distribution": {
# this is the analytic_account that is linked to the project
f"{other_analytic_account.id},{self.analytic_account.id}": 100,
},
"product_id": self.product_order.id,
"product_qty": 1,
"price_unit": self.product_order.standard_price,
"currency_id": self.env.company.currency_id.id,
}),
],
})
purchase_order.button_confirm()
purchase_order.action_create_invoice()
vendor_bill = purchase_order.invoice_ids[0]
vendor_bill.invoice_date = datetime.today()
vendor_bill.action_post()
self.assertDictEqual(
self.project._get_profitability_items(False)['costs'],
{
'data': [{
'id': 'purchase_order',
'sequence': self.project._get_profitability_sequence_per_invoice_type()['purchase_order'],
'to_bill': 0.0,
'billed': -470.0,
}],
'total': {
'to_bill': 0.0,
'billed': -470.0,
},
},
)

View file

@ -0,0 +1,146 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import Command
from odoo.addons.project_purchase.tests.test_project_profitability import TestProjectPurchaseProfitability
class TestProjectPurchase(TestProjectPurchaseProfitability):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.project_plan, _other_plans = cls.env['account.analytic.plan']._get_all_plans()
cls.proj_analytic_account = cls.env['account.analytic.account'].create({
'name': 'AA of Project',
'plan_id': cls.project_plan.id,
})
cls.project1 = cls.env['project.project'].create({
'name': 'Project',
'account_id': cls.proj_analytic_account.id,
})
# Create additional analytic plans at setup to avoid adding fields in project.project between tests
cls.analytic_plan_1 = cls.env['account.analytic.plan'].create({'name': 'Purchase Project Plan 1'})
cls.analytic_plan_2 = cls.env['account.analytic.plan'].create({'name': 'Purchase Project Plan 2'})
cls.analytic_account_1 = cls.env['account.analytic.account'].create({
'name': 'Analytic Account - Plan 1',
'plan_id': cls.analytic_plan_1.id,
})
cls.analytic_account_2 = cls.env['account.analytic.account'].create({
'name': 'Analytic Account - Plan 2',
'plan_id': cls.analytic_plan_2.id,
})
def test_project_creation_on_po_with_manual_analytic(self):
""" Tests the interaction between manually added analytic account, distribution
model accounts and the project account created when the PO is confirmed.
"""
self.env['account.analytic.distribution.model'].create({
'partner_id': self.partner.id,
'analytic_distribution': {self.analytic_account_1.id: 100},
'company_id': self.company.id,
})
analytic_distribution_manual = {str(self.analytic_account.id): 100}
purchase_order = self.env['purchase.order'].create({
'partner_id': self.partner.id,
'order_line': [
Command.create({
'product_id': self.product_order.id,
}),
],
})
# Add a manual analytic account and a project
purchase_order.order_line.analytic_distribution = {**purchase_order.order_line.analytic_distribution, **analytic_distribution_manual}
purchase_order.project_id = self.project1
# All accounts should still be in the line after confirmation
expected_analytic_distribution = {
f"{self.analytic_account.id},{purchase_order.project_id.account_id.id}": 100,
f"{self.analytic_account_1.id},{purchase_order.project_id.account_id.id}": 100,
}
self.assertEqual(purchase_order.order_line.analytic_distribution, expected_analytic_distribution)
def test_project_on_pol_with_analytic_distribution_model(self):
""" If a line has a distribution coming from an analytic distribution model, and the PO has a project,
both the project account and the accounts from the ADM should still be in the line after confirmation.
The Project account should appear on all lines if there are several Analytic Distribution Models applying.
"""
# We create one distribution model with two accounts in one line, based on product
# and a second model with a different plan, based on partner
distribution_model_product = self.env['account.analytic.distribution.model'].create({
'product_id': self.product_order.id,
'analytic_distribution': {','.join([str(self.analytic_account_1.id), str(self.analytic_account_2.id)]): 100},
'company_id': self.company.id,
})
distribution_model_partner = self.env['account.analytic.distribution.model'].create({
'partner_id': self.partner_a.id,
'analytic_distribution': {self.analytic_account.id: 100},
'company_id': self.company.id,
})
purchase_order = self.env['purchase.order'].create({
'partner_id': self.partner_a.id,
'order_line': [
Command.create({'product_id': self.product_order.id}),
],
})
self.assertEqual(
purchase_order.order_line.analytic_distribution,
distribution_model_product.analytic_distribution | distribution_model_partner.analytic_distribution
)
# When we add a project to the PO, it should keep the previous accounts + the project account
purchase_order.project_id = self.project1
expected_distribution_project = {
f"{self.analytic_account_1.id},{self.analytic_account_2.id},{self.project1.account_id.id}": 100,
f"{self.analytic_account.id},{self.project1.account_id.id}": 100,
}
self.assertEqual(purchase_order.order_line.analytic_distribution, expected_distribution_project)
def test_compute_purchase_orders_count(self):
self.project1.account_id = self.analytic_account # Project with analytics
order_line_values = {
'product_id': self.product_order.id,
'product_qty': 1,
'price_unit': self.product_order.standard_price,
'currency_id': self.env.company.currency_id.id,
}
self.env['purchase.order'].create([
{
'name': 'Purchase Order 1',
'partner_id': self.partner_a.id,
'order_line': [Command.create({**order_line_values, 'analytic_distribution': {self.analytic_account.id: 100}})]
},
{
'name': 'Purchase Order 2',
'partner_id': self.partner_a.id,
'project_id': self.project1.id,
'order_line': [Command.create(order_line_values)],
},
{
'name': 'Purchase Order 3',
'partner_id': self.partner_a.id,
'project_id': self.project1.id,
'order_line': [Command.create({**order_line_values, 'analytic_distribution': {self.analytic_account.id: 100}})]
},
])
self.assertEqual(self.project1.purchase_orders_count, 3, 'The number of purchase orders linked to project1 should be equal to 3.')
project2 = self.env['project.project'].create({'name': 'Project'})
project2.account_id = False # Project without analytics
self.env['purchase.order'].create([
{
'name': 'Purchase Order 4',
'partner_id': self.partner_a.id,
'project_id': project2.id,
'order_line': [Command.create(order_line_values)],
},
{
'name': 'Purchase Order 5',
'partner_id': self.partner_a.id,
'project_id': project2.id,
'order_line': [Command.create(order_line_values)],
},
])
self.assertEqual(project2.purchase_orders_count, 2, 'The number of purchase orders linked to project2 should be equal to 2.')

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="project_embedded_action_purchase_orders" model="ir.embedded.actions">
<field name="parent_res_model">project.project</field>
<field name="sequence">70</field>
<field name="name">Purchase Orders</field>
<field name="parent_action_id" ref="project.act_project_project_2_project_task_all"/>
<field name="python_method">action_open_project_purchase_orders</field>
<field name="context">{"from_embedded_action": true}</field>
<field name="groups_ids" eval="[(4, ref('purchase.group_purchase_user'))]"/>
</record>
<record id="project_embedded_action_purchase_orders_dashboard" model="ir.embedded.actions">
<field name="parent_res_model">project.project</field>
<field name="sequence">70</field>
<field name="name">Purchase Orders</field>
<field name="parent_action_id" ref="project.project_update_all_action"/>
<field name="python_method">action_open_project_purchase_orders</field>
<field name="context">{"from_embedded_action": true}</field>
<field name="groups_ids" eval="[(4, ref('purchase.group_purchase_user'))]"/>
</record>
</odoo>

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_order_form_inherit_project_purchase" model="ir.ui.view">
<field name="name">purchase.order.form.purchase.project</field>
<field name="model">purchase.order</field>
<field name="inherit_id" ref="purchase.purchase_order_form"/>
<field name="priority">10</field>
<field name="arch" type="xml">
<field name="origin" position="after">
<field name="project_id" groups="project.group_project_user"/>
</field>
</field>
</record>
</odoo>

View file

@ -1,13 +1,15 @@
[project]
name = "odoo-bringout-oca-ocb-project_purchase"
version = "16.0.0"
description = "Project Purchase - Monitor purchase in project"
description = "Project Purchase -
Monitor purchase in project
"
authors = [
{ name = "Ernad Husremovic", email = "hernad@bring.out.ba" }
]
dependencies = [
"odoo-bringout-oca-ocb-purchase>=16.0.0",
"odoo-bringout-oca-ocb-project>=16.0.0",
"odoo-bringout-oca-ocb-purchase>=19.0.0",
"TODO_MAP-project_account>=19.0.0",
"requests>=2.25.1"
]
readme = "README.md"
@ -17,7 +19,7 @@ classifiers = [
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Office/Business",
]