Initial import from Docker volume

This commit is contained in:
root
2025-12-26 13:11:43 +00:00
commit 4998dc066a
13336 changed files with 1767801 additions and 0 deletions

44
modules/stock_lot/__init__.py Executable file
View File

@@ -0,0 +1,44 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import Pool
from . import product, stock
from .stock import LotMixin
__all__ = ['LotMixin', 'register']
def register():
Pool.register(
stock.Lot,
stock.LotTrace,
stock.LotByLocationContext,
stock.LotsByLocations,
stock.LotByWarehouseContext,
stock.Location,
stock.Move,
stock.MoveAddLotsStart,
stock.MoveAddLotsStartLot,
stock.ShipmentIn,
stock.ShipmentOut,
stock.ShipmentOutReturn,
stock.ShipmentInternal,
stock.Period,
stock.PeriodCacheLot,
stock.Inventory,
stock.InventoryLine,
stock.InventoryCountSearch,
product.Configuration,
product.ConfigurationDefaultLotSequence,
product.Template,
product.Product,
module='stock_lot', type_='model')
Pool.register(
stock.MoveAddLots,
stock.InventoryCount,
module='stock_lot', type_='wizard')
Pool.register(
stock.ShipmentDrop,
module='stock_lot', type_='model',
depends=['sale_supply_drop_shipment'])

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

18
modules/stock_lot/ir.xml Executable file
View File

@@ -0,0 +1,18 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.sequence.type" id="sequence_type_stock_lot">
<field name="name">Stock Lot</field>
</record>
<record model="ir.sequence.type-res.group" id="sequence_type_stock_lot_group_admin">
<field name="sequence_type" ref="sequence_type_stock_lot"/>
<field name="group" ref="res.group_admin"/>
</record>
<record model="ir.sequence.type-res.group" id="sequence_type_stock_lot_group_product_admin">
<field name="sequence_type" ref="sequence_type_stock_lot"/>
<field name="group" ref="product.group_product_admin"/>
</record>
</data>
</tryton>

514
modules/stock_lot/locale/bg.po Executable file
View File

@@ -0,0 +1,514 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
#, fuzzy
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr "Въведете партида"
#, fuzzy
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr "Въведете партида"
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr "Въведете партида"
#, fuzzy
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr "Въведете партида"
#, fuzzy
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Партида"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Планирано количество"
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "Номер"
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "Продукт"
#, fuzzy
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr "Количество"
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "Записано на"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Местоположение"
#, fuzzy
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Партида"
#, fuzzy
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Продукт"
#, fuzzy
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "Количество"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "Местоположение"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Планирано количество"
#, fuzzy
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Партида"
#, fuzzy
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Продукт"
#, fuzzy
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr "Количество"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "Записано на"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Местоположение"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "Записано на"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Партида"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Продукт"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "Количество"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr "Количество"
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "Номер"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Продукт"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr "Количество"
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr ""
#, fuzzy
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr "Вътрешно количество"
#, fuzzy
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "Местоположение"
#, fuzzy
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Партида"
#, fuzzy
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "Период"
#, fuzzy
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "Продукт"
#, fuzzy
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr "Вида местонахождение за което е необходима партидата"
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
#, fuzzy
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr "Вида местонахождение за което е необходима партидата"
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr "Планирано количество"
#, fuzzy
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr "Планирано количество"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Lots"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Местоположение"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
#, fuzzy
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr "Наличност на партида"
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Lots"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr "Наличност на партида"
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr ""
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr ""
#, fuzzy
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Местоположение"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Партида"
#, fuzzy
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Партиди"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

465
modules/stock_lot/locale/ca.po Executable file
View File

@@ -0,0 +1,465 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr "Seqüència de lot per defecte"
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr "Seqüència de lot per defecte"
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr "Lot obligatori"
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr "Seqüència del lot"
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr "Lot obligatori"
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr "Seqüència del lot"
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr "UdM per defecte"
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Quantitat prevista"
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr "Té seqüència"
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "Número"
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "Producte"
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr "Quantitat"
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr "Document"
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr "Traçabilitat descendent"
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Des de la ubicació"
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Producte"
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "Quantitat"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr "Albarà"
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "A la ubicació"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr "Unitat"
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr "Traçabilitat ascendent"
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr "A data"
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr "A data"
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr "UdM per defecte"
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Quantitat prevista"
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Producte"
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr "Quantitat"
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "A data"
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Ubicacions"
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "A data"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr "Només zona d'emmagatzematge"
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr "Magatzem"
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr "Duplica número de lot"
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Lots"
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Producte"
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "Quantitat"
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr "Quantitat restant"
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr "Unitat"
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr "Té seqüència"
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "Número"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr "Pare"
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Producte"
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr "Quantitat"
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr "Unitat"
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr "Precàlculs de lot"
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr "Quantitat interna"
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "Ubicació"
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "Període"
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "Producte"
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr "El tipus d'ubicació per la qual el lot és obligatori."
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr "La seqüència utilitzada per numerar automàticament els lots."
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr "El tipus d'ubicació per la qual el lot és obligatori."
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr "La seqüència utilitzada per numerar automàticament els lots."
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr "La unitat de mesura per defecte."
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"Permet calcular les quantitats previstes per a aquesta data.\n"
"* Un valor buit és un data infinita en el futur.\n"
"* Una data en el passat proporcionarà valors històrics."
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr "La unitat de mesura per defecte."
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"Permet calcular les quantitats previstes per a aquesta data.\n"
"* Un valor buit és un data infinita en el futur.\n"
"* Una data en el passat proporcionarà valors històrics."
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr "Marqueu per utilitzar només la quantitat de la zona d'emmagatzematge."
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr "El nombre de vegades que sha de duplicar el lot."
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr "Quantitat per ubicacions (llistat)"
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr "Quantitat per ubicacions"
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Lots"
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Lots"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr "Traçabilitat descendent"
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr "Traçabilitat ascendent"
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Lots per ubicació"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr "Lots per magatzem"
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Afgeix lots"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr "No podeu canviar el producte d'un lot que te moviments d'existències."
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr "Per moure el producte \"%(product)s\" heu d'especificar-n'he el lot."
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
"La quantitat total \"%(lot_quantity)s\" dels lots ha de ser inferior o igual"
" a la quantitat \"%(move_quantity)s\" del moviment."
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr "Heu de seleccionar un lot en comptes d'un producte per \"%(product)s\"."
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr "Traçabilitat descendent"
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr "Traçabilitat ascendent"
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr "Duplica lot"
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Afegir lots"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr "Usuari a les empreses"
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr "Lot"
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Lots"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr "Configuració de les seqüències de lots"
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr "Lot"
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr "Traçabilitat del lot"
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr "Lot per ubicació"
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Lots per ubicació"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr "Lots per Magatzem"
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Afegir lots"
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Afegir lots"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr "Període d'existències precalculat per lot"
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Client"
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Perdut i trobat"
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Producció"
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Intern"
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Proveïdor"
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Client"
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Perdut i trobat"
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Producció"
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Intern"
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Proveïdor"
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Lot"
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Lots"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr "Restant:"
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr "vegades"
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr "Afegeix"
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr "Cancel·la"

491
modules/stock_lot/locale/cs.po Executable file
View File

@@ -0,0 +1,491 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr ""
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr ""
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Production"
#, fuzzy
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Production"
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "Production"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Production"
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Production"
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr ""
#, fuzzy
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Lot"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Production"
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr ""
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Production"
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr ""
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr ""
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr ""
#, fuzzy
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr ""
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr ""
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Lot"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Lot"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Production"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Lot"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Lot"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Lot"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr ""
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr ""
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr ""
#, fuzzy
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Production"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Lot"
#, fuzzy
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Lot"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Lot"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

476
modules/stock_lot/locale/de.po Executable file
View File

@@ -0,0 +1,476 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr "Standard Nummernkreis Charge"
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr "Standard Nummernkreis Charge"
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr "Charge erforderlich für Lagerort"
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr "Nummernkreis Charge"
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr "Charge erforderlich für Lagerort"
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr "Nummernkreis Charge"
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Charge"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr "Standardmaßeinheit"
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Voraussichtliche Menge"
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr "Hat Nummernkreis"
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "Nummer"
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "Artikel"
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr "Menge"
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr "Dokument"
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr "Retrograde Rückverfolgung"
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Von Lagerort"
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Charge"
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Artikel"
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "Menge"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr "Lieferung"
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "Zu Lagerort"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr "Einheit"
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr "Progressive Rückverfolgung"
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr "Ermittlungsdatum"
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr "Ermittlungsdatum"
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr "Standardmaßeinheit"
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Voraussichtliche Menge"
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Charge"
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Artikel"
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr "Menge"
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "Ermittlungsdatum"
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Lagerorte"
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "Ermittlungsdatum"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr "Nur Lagerzone"
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr "Logistikstandort"
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Charge"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr "Chargennummer Duplizieren"
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Chargen"
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Artikel"
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "Menge"
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr "Verbleibende Menge"
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr "Einheit"
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr "Hat Nummernkreis"
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "Nummer"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr "Übergeordnet"
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Artikel"
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr "Menge"
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr "Einheit"
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr "Caches Charge"
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr "Interne Menge"
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "Ort"
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Charge"
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "Lagerbuchungszeitraum"
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "Artikel"
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr "Typ des Lagerorts, für den eine Chargen-Nummer erforderlich ist."
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
"Der Nummernkreis der zur automatischen Nummerierung der Chargen verwendet "
"wird."
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr "Typ des Lagerorts, für den eine Chargen-Nummer erforderlich ist."
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
"Der Nummernkreis der zur automatischen Nummerierung der Chargen verwendet "
"wird."
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr "Die Standardmaßeinheit."
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"Den erwarteten Lagerbestand für dieses Datum ermitteln.\n"
"* Ein leerer Wert bedeutet ein unendliches Datum in der Zukunft.\n"
"* Ein Wert in der Vergangenheit berechnet historische Werte."
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr "Die Standardmaßeinheit."
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"Den erwarteten Lagerbestand für dieses Datum ermitteln.\n"
"* Ein leerer Wert bedeutet ein unendliches Datum in der Zukunft.\n"
"* Ein Wert in der Vergangenheit berechnet historische Werte."
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
"Aktivieren um ausschließlich die Mengen der Lagerzone zu berücksichtigen."
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr "Wie oft die Charge dupliziert werden muss."
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr "Lagerbestand je Lagerort"
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr "Lagerbestand (Strukturansicht)"
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Chargen"
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Chargen"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr "Retrograde Rückverfolgung"
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr "Progressive Rückverfolgung"
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Chargen pro Lagerort"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr "Chargen pro Logistikstandort"
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Chargen Hinzufügen"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
"Der Artikel einer Charge, für die es Warenbewegungen gibt, kann nicht "
"geändert werden."
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
"Damit der Artikel \"%(product)s\" umgelagert werden kann, muss eine Charge "
"angegeben werden."
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
"Die Gesamtmenge \"%(lot_quantity)s\" der Chargen muss kleiner oder gleich "
"der Menge \"%(move_quantity)s\" der Warenbewegung sein."
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
"Für \"%(product)s\" muss eine Charge ausgewählt werden anstatt einem "
"Artikel."
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr "Retrograde Rückverfolgung"
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr "Progressive Rückverfolgung"
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr "Charge Duplizieren"
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Chargen Hinzufügen"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr "Benutzer in Unternehmen"
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr "Lager Charge"
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Chargen"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr "Artikel Einstellungen Standardnummernkreise Charge"
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr "Lager Charge"
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr "Chargenverfolgung"
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr "Chargen nach Lagerort"
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Chargen pro Lagerort"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr "Charge nach Logistikstandort"
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Chargen Hinzufügen"
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Chargen Hinzufügen"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr "Lagerbuchungszeitraum Cache pro Charge"
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Kunde"
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Inventurdifferenz"
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Produktion"
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Lager"
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Lieferant"
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Kunde"
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Inventurdifferenz"
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Produktion"
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Lager"
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Lieferant"
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Charge"
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Chargen"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr "Verbleibend:"
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr "mal"
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr "Hinzufügen"
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr "Abbrechen"

467
modules/stock_lot/locale/es.po Executable file
View File

@@ -0,0 +1,467 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr "Secuencia de lote por defecto"
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr "Secuencia de lote por defecto"
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr "Lote obligatorio"
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr "Secuencia de lote"
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr "Lote obligatorio"
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr "Secuencia de lote"
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Lote"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr "UdM por defecto"
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Cantidad prevista"
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr "Tiene secuencia"
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "Número"
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "Producto"
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr "Cantidad"
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "Fecha"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr "Documento"
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr "Trazabilidad descendente"
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Desde ubicación"
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Lote"
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Producto"
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "Cantidad"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr "Albarán"
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "A ubicación"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr "Unidad"
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr "Trazabilidad ascendente"
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr "A la fecha"
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr "A la fecha"
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr "UdM por defecto"
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Cantidad prevista"
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Lote"
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Producto"
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr "Cantidad"
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "A la fecha"
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Ubicaciones"
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "A la fecha"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr "Solo zona de almacenamiento"
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr "Almacén"
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Lote"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr "Duplicar número de lote"
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Lotes"
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Producto"
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "Cantidad"
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr "Cantidad restante"
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr "Unidad"
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr "Tiene secuencia"
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "Número"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr "Padre"
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Producto"
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr "Cantidad"
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr "Unidad"
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr "Lote precalculado"
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr "Cantidad interna"
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "Ubicación"
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Lote"
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "Periodo"
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "Producto"
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr "El tipo de ubicación en la que el lote es obligatorio."
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr "La secuencia usada para numerar automáticamente los lotes."
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr "El tipo de ubicación en la que el lote es obligatorio."
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr "La secuencia usada para numerar automáticamente los lotes."
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr "La unidad de medida por defecto."
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"Permite calcular las cantidades previstas para esta fecha.\n"
"* Un valor vacío es una fecha infinita en el futuro.\n"
"* Una fecha en el pasado proporcionará valores históricos."
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr "La unidad de medida por defecto."
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"Permite calcular las cantidades previstas para esta fecha.\n"
"* Un valor vacío es una fecha infinita en el futuro.\n"
"* Una fecha en el pasado proporcionará valores históricos."
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr "Marcar para usar solo la cantidad de la zona de almacenamiento."
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr "El número de veces que el lote debe ser duplicado."
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr "Cantidad por ubicaciones (listado)"
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr "Cantidad por ubicaciones"
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Lotes"
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Lotes"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr "Trazabilidad descendente"
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr "Trazabilidad ascendente"
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Lotes por ubicación"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr "Lotes por almacén"
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Añadir lotes"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
"No puede cambiar el producto de un lote que ya tiene movimientos de "
"existencias."
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr "Para mover el producto \"%(product)s\" debe especificar su lote."
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
"La cantidad total \"%(lot_quantity)s\" de los lotes debe ser menor o igual "
"que la cantidad \"%(move_quantity)s\" del movimiento."
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr "Debe seleccionar un lote en lugar de un producto en \"%(product)s\"."
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr "Trazabilidad descendente"
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr "Trazabilidad ascendente"
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr "Duplicar lote"
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Añadir lotes"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr "Usuario en las empresas"
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr "Lote"
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Lotes"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr "Configuración de las secuencias de lotes"
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr "Lote"
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr "Trazabilidad del lote"
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr "Lote por ubicación"
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Lotes por ubicación"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr "Lote por almacén"
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Añadir lotes"
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Añadir lotes"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr "Periodo de existencias precalculado por lote"
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Cliente"
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Perdido y encontrado"
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Producción"
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Interno"
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Proveedor"
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Cliente"
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Perdido y encontrado"
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Producción"
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Interno"
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Proveedor"
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Lote"
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Lotes"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr "Restante:"
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr "veces"
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr "Añadir"
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr "Cancelar"

View File

@@ -0,0 +1,462 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr "Lote requerido"
#, fuzzy
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr "Lote requerido"
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr "Lote requerido"
#, fuzzy
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr "Lote requerido"
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr ""
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr ""
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr ""
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr ""
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr ""
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr ""
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr ""
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr ""
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr ""
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr ""
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr ""
#, fuzzy
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr "El tipo de ubicación para la cual el lote es requerido"
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
#, fuzzy
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr "El tipo de ubicación para la cual el lote es requerido"
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr ""
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr ""
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr ""
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr ""
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
#, fuzzy
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr "Lote de stock"
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr ""
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr "Lote de stock"
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr ""
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr ""
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr ""
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr ""
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr ""
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr ""
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr ""
msgctxt "view:product.template:"
msgid "Lots"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

499
modules/stock_lot/locale/et.po Executable file
View File

@@ -0,0 +1,499 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr "Partii nõutav"
#, fuzzy
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr "Partii nõutav"
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr "Partii nõutav"
#, fuzzy
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr "Partii nõutav"
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Partii"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Prognoositav kogus"
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "Number"
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "Toode"
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr "Kogus"
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "Kuupäeval"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Asukoht"
#, fuzzy
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Partii"
#, fuzzy
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Toode"
#, fuzzy
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "Kogus"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "Asukoht"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr "Kuupäeval"
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr "Kuupäeval"
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Prognoositav kogus"
#, fuzzy
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Partii"
#, fuzzy
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Toode"
#, fuzzy
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr "Kogus"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "Kuupäeval"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Asukoht"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "Kuupäeval"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Partii"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Partiid"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Toode"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "Kogus"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr "Kogus"
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "Number"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Toode"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr "Kogus"
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr ""
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr "Sisemine kogus"
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "Asukoht"
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Partii"
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "Periood"
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "Toode"
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr "Prognoositav kogus"
#, fuzzy
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr "Prognoositav kogus"
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Partiid"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Partiid"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Asukoht"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Partiid"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Partiid"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
#, fuzzy
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr "Partii laos"
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Partiid"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr "Partii laos"
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr ""
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr ""
#, fuzzy
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Asukoht"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Partiid"
#, fuzzy
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Partiid"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Klient"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Kaotatud ja leitud"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Tootmine"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Laokoht"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Hankija"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Klient"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Kaotatud ja leitud"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Tootmine"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Laokoht"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Hankija"
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Partii"
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Partiid"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

513
modules/stock_lot/locale/fa.po Executable file
View File

@@ -0,0 +1,513 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr "قطعه مورد نیاز"
#, fuzzy
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr "قطعه مورد نیاز"
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr "قطعه مورد نیاز"
#, fuzzy
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr "قطعه مورد نیاز"
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "قطعه"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "مقدار پیش بینی شده"
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "شماره"
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "محصول"
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr "مقدار/تعداد"
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "در تاریخ"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "مکان"
#, fuzzy
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "قطعه"
#, fuzzy
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "محصول"
#, fuzzy
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "مقدار/تعداد"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "مکان"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr "در تاریخ"
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr "در تاریخ"
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "مقدار پیش بینی شده"
#, fuzzy
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "قطعه"
#, fuzzy
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "محصول"
#, fuzzy
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr "مقدار/تعداد"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "در تاریخ"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "مکان"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "در تاریخ"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "قطعه"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "قطعه‌ها"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "محصول"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "مقدار/تعداد"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr "مقدار/تعداد"
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "شماره"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "محصول"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr "مقدار/تعداد"
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr "مخازن قطعه"
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr "مقدار داخلی"
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "مکان"
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "قطعه"
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "دوره زمانی"
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "محصول"
#, fuzzy
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr "نوع مکانی که نیازمند قطعه میباشد"
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
#, fuzzy
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr "نوع مکانی که نیازمند قطعه میباشد"
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"اجازه می دهد مقادیرموجودی مورد انتظار را برای این تاریخ محاسبه کنید.\n"
"* مقدار خالی یک تاریخ درآینده نامحدود است.\n"
"* یک تاریخ در گذشته ارزش های تاریخی را فراهم می کند."
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
#, fuzzy
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"اجازه می دهد مقادیرموجودی مورد انتظار را برای این تاریخ محاسبه کنید.\n"
"* مقدار خالی یک تاریخ درآینده نامحدود است.\n"
"* یک تاریخ در گذشته ارزش های تاریخی را فراهم می کند."
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr "مقدار پیش بینی شده"
#, fuzzy
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr "مقدار پیش بینی شده"
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "قطعه‌ها"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "قطعه‌ها"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "قطعه بواسطه مکان"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "قطعه‌ها"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
"شما نمیتوانید محصول زیادی از یک جنس را تغییر دهید که جابجایی اجناس داشته "
"باشد."
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
"برای جابجایی محصول :\"%(product)s\" شما باید یک قطعه از جنس را ارائه کنید."
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
"شما باید یک مقدار جنس را به جای یک محصول برای \"%(product)s\" انتخاب کنید."
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "قطعه‌ها"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
#, fuzzy
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr "قطعه موجود"
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "قطعه‌ها"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr "قطعه موجود"
#, fuzzy
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr "مخازن قطعه"
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr "قطعه بواسطه مکان"
#, fuzzy
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "قطعه بواسطه مکان"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "قطعه‌ها"
#, fuzzy
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "قطعه‌ها"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr "موجودی دوره انبار در هر قطعه"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "مشتری"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "گمشده ها و یافته ها"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "تهیه کننده"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "مخزن"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "تأمین کننده"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "مشتری"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "گمشده ها و یافته ها"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "تهیه کننده"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "مخزن"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "تأمین کننده"
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "قطعه"
msgctxt "view:product.template:"
msgid "Lots"
msgstr "قطعه‌ها"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

489
modules/stock_lot/locale/fi.po Executable file
View File

@@ -0,0 +1,489 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr ""
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr ""
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Production"
#, fuzzy
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Production"
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "Production"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Production"
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Production"
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr ""
#, fuzzy
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Production"
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr ""
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Production"
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr ""
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr ""
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr ""
#, fuzzy
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr ""
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr ""
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr ""
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Lots"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Production"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Lots"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr ""
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr ""
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr ""
#, fuzzy
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Production"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Lots"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

468
modules/stock_lot/locale/fr.po Executable file
View File

@@ -0,0 +1,468 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr "Séquence de lot par défaut"
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr "Séquence de lot par défaut"
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr "Lot requis"
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr "Séquence de lot"
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr "Lot requis"
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr "Séquence de lot"
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr "UDM par défaut"
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Quantité prévisionnelle"
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr "A une séquence"
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "Numéro"
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "Produit"
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr "Quantité"
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr "Société"
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "Date"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr "Document"
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr "Traces descendantes"
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Emplacement d'origine"
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Produit"
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "Quantité"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr "Expédition"
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "Emplacement de destination"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr "Unité"
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr "Traces ascendantes"
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr "À la date"
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr "À la date"
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr "UDM par défaut"
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Quantité prévisionnelle"
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Produit"
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr "Quantité"
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "À la date"
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Emplacements"
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "À la date"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr "Uniquement zone de magasin"
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr "Entrepôt"
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr "Dupliquer le numéro de lot"
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Lots"
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Produit"
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "Quantité"
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr "Quantité restante"
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr "Unité"
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr "A une séquence"
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "Numéro"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr "Parent"
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Produit"
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr "Quantité"
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr "Unité"
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr "Caches de lot"
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr "Quantité interne"
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "Emplacement"
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "Période"
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "Produit"
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr "Le type d'emplacement pour lequel un lot est requis."
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr "La séquence utilisée pour numéroter automatiquement les lots."
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr "Le type d'emplacement pour lequel un lot est requis."
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr "La séquence utilisée pour numéroter automatiquement les lots."
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr "L'unité de mesure par défaut."
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"Permet de calculer les quantités de stock attendues pour cette date.\n"
"* Une valeur vide est une date infinie dans le futur.\n"
"* Une date dans le passé fournira les valeurs historiques."
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr "L'unité de mesure par défaut."
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"Permet de calculer les quantités de stock attendues pour cette date.\n"
"* Une valeur vide est une date infinie dans le futur.\n"
"* Une date dans le passé fournira les valeurs historiques."
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr "Cochez pour n'utiliser que la quantité de la zone de magasin."
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr "Le nombre de fois que le lot doit être dupliqué."
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr "Liste des quantités par emplacements"
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr "Arbre des quantité par emplacements"
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Lots"
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Lots"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr "Traces descendantes"
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr "Traces ascendantes"
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Lots par emplacements"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr "Lots par entrepôt"
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Ajouter des lots"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
"Vous ne pouvez pas changer le produit d'un lot qui a des mouvements de "
"stock."
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr "Pour déplacer le produit « %(product)s », vous devez fournir un lot."
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
"La quantité totale « %(lot_quantity)s » des lots doit être inférieure ou "
"égale à la quantité « %(move_quantity)s » du mouvement."
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
"Vous devez sélectionner un lot au lieu d'un produit pour « %(product)s »."
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr "Traces descendantes"
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr "Traces ascendantes"
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr "Dupliquer le lot"
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Ajouter des lots"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr "Utilisateur dans les sociétés"
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr "Lot"
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Lots"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr "Configuration produit Séquence de lot par défaut"
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr "Lot"
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr "Suivi des lots"
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr "Lot par emplacement"
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Lots par emplacements"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr "Lot par entrepôt"
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Ajouter des lots"
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Ajouter des lots"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr "Caches de période de stock par lot"
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Client"
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Pertes et surplus"
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Production"
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Magasin"
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Fournisseur"
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Client"
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Pertes et surplus"
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Production"
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Magasin"
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Fournisseur"
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Lot"
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Lots"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr "Restant :"
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr "fois"
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr "Ajouter"
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr "Annuler"

506
modules/stock_lot/locale/hu.po Executable file
View File

@@ -0,0 +1,506 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
#, fuzzy
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr "Charge szükséges a raktárhelyhez "
#, fuzzy
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr "Charge szükséges a raktárhelyhez "
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr "Charge szükséges a raktárhelyhez"
#, fuzzy
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr "Charge szükséges a raktárhelyhez "
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Charge"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Előrelátható mennyiség"
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "Szám"
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "Termék"
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr "Mennyiség"
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "Utolsó módosítás dátuma"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Hely"
#, fuzzy
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Charge"
#, fuzzy
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Termék"
#, fuzzy
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "Mennyiség"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "Hely"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Előrelátható mennyiség"
#, fuzzy
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Charge"
#, fuzzy
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Termék"
#, fuzzy
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr "Mennyiség"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "Utolsó módosítás dátuma"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Hely"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "Utolsó módosítás dátuma"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Charge"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Termék"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "Mennyiség"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr "Mennyiség"
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "Szám"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Termék"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr "Mennyiség"
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr "Caches Charge"
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr "Belső mennyiség"
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "Hely"
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Charge"
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "Raktár időszak"
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "Termék"
#, fuzzy
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr "Raktárhely típusa, melyhez szükséges Charge szám"
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
#, fuzzy
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr "Raktárhely típusa, melyhez szükséges Charge szám"
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr "Előrelátható mennyiség"
#, fuzzy
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr "Előrelátható mennyiség"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Lots"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Hely"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
#, fuzzy
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr "Raktár Charge"
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Lots"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr "Raktár Charge"
#, fuzzy
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr "Caches Charge"
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr ""
#, fuzzy
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Hely"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr "Raktár Cache időszak Chargenként"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Charge"
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Chargen"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

465
modules/stock_lot/locale/id.po Executable file
View File

@@ -0,0 +1,465 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "Nomor"
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "Produk"
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr "Perusahaan"
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "Tanggal"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr "Dokumen"
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Lokasi"
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Produk"
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "Kuantitas"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "Lokasi"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr "Pada Tanggal"
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr "Pada Tanggal"
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Produk"
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "Pada Tanggal"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Lokasi"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "Pada Tanggal"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr "Gudang"
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr ""
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Produk"
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "Kuantitas"
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr ""
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "Nomor"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr "Induk"
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Produk"
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr ""
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr ""
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "Lokasi"
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "Periode"
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "Produk"
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr ""
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr ""
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Lokasi"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr ""
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr ""
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr ""
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr ""
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr ""
#, fuzzy
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Lokasi"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr ""
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr ""
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Pelanggan"
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Produksi"
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Pemasok"
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Pelanggan"
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Produksi"
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Pemasok"
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr ""
msgctxt "view:product.template:"
msgid "Lots"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

488
modules/stock_lot/locale/it.po Executable file
View File

@@ -0,0 +1,488 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Lotto"
#, fuzzy
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr "UdM predefinita"
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Quantità prevista"
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "Numero"
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "Prodotto"
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr "Quantità"
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "Utente scrittura"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Luogo"
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Lotto"
#, fuzzy
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Prodotto"
#, fuzzy
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "Quantità"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "Luogo"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr "UdM predefinita"
#, fuzzy
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Quantità prevista"
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Lotto"
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Prodotto"
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr "Quantità"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "Utente scrittura"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Luogo"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "Utente scrittura"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr "Magazzino"
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Lotto"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Lotti"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Prodotto"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "Quantità"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr "Quantità"
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "Numero"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Prodotto"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr "Quantità"
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr ""
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr ""
#, fuzzy
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "Luogo"
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Lotto"
#, fuzzy
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "Periodo"
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "Prodotto"
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr "Quantità prevista"
#, fuzzy
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr "Quantità prevista"
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Lotti"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Lotti"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Luogo"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Lot"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Lot"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Lotti"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr ""
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr ""
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr ""
#, fuzzy
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Luogo"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Lot"
#, fuzzy
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Lot"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Cliente"
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Perso e ritrovato"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Production"
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Deposito"
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Fornitore"
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Cliente"
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Perso e ritrovato"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Production"
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Deposito"
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Fornitore"
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Lotto"
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Lotti"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

505
modules/stock_lot/locale/lo.po Executable file
View File

@@ -0,0 +1,505 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "ເລກທີ"
#, fuzzy
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "ຜະລິດຕະພັນ"
#, fuzzy
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr "ຈຳນວນ"
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "ວັນທີບັນທຶກ"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "ບ່ອນຢູ່"
#, fuzzy
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "ຜະລິດຕະພັນ"
#, fuzzy
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "ຈຳນວນ"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "ບ່ອນຢູ່"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "ຈຳນວນພາຍໃນ"
#, fuzzy
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "ຜະລິດຕະພັນ"
#, fuzzy
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr "ຈຳນວນ"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "ວັນທີບັນທຶກ"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "ບ່ອນຢູ່"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "ວັນທີບັນທຶກ"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr ""
#, fuzzy
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "ຜະລິດຕະພັນ"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "ຈຳນວນ"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr "ຈຳນວນ"
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "ເລກທີ"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "ຜະລິດຕະພັນ"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr "ຈຳນວນ"
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr ""
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr "ຈຳນວນພາຍໃນ"
#, fuzzy
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "ບ່ອນຢູ່"
#, fuzzy
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "ໄລຍະ"
#, fuzzy
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "ຜະລິດຕະພັນ"
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr ""
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Lots"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "ບ່ອນຢູ່"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Lots"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr ""
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr ""
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr ""
#, fuzzy
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "ບ່ອນຢູ່"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "ລໍຮັບຈ່າຍ"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "ຜະລິດຕະພັນ"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "ຫ້ອງເກັບມ້ຽນຢາ"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "ຜູ້ສະໜອງ"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "ລໍຮັບຈ່າຍ"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "ຜະລິດຕະພັນ"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "ຫ້ອງເກັບມ້ຽນຢາ"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "ຜູ້ສະໜອງ"
#, fuzzy
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Lots"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

494
modules/stock_lot/locale/lt.po Executable file
View File

@@ -0,0 +1,494 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Lo"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr ""
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "Pakeitimo data"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Production"
#, fuzzy
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Lo"
#, fuzzy
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Production"
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "Production"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Lo"
#, fuzzy
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Production"
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "Pakeitimo data"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Production"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "Pakeitimo data"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr ""
#, fuzzy
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Lo"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Lo"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Production"
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr ""
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Production"
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr ""
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr ""
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr ""
#, fuzzy
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Lo"
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr ""
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr ""
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Lo"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Lo"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Production"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Lo"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Lo"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Lo"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr ""
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr ""
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr ""
#, fuzzy
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Production"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Lo"
#, fuzzy
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Lo"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Lo"
#, fuzzy
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Lo"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

468
modules/stock_lot/locale/nl.po Executable file
View File

@@ -0,0 +1,468 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr "Standaard Batch Reeks"
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr "Standaard Batch Reeks"
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr "Batch Vereist"
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr "Batch Reeks"
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr "Batch Vereist"
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr "Batch Reeks"
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Batch"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr "Standaard maateenheid"
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Verwachte hoeveelheid"
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr "Heeft Reeks"
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "Nummer"
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "Product"
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr "Hoeveelheid"
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr "Bedrijf"
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr "Document"
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr "Neerwaartse tracering"
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Van locatie"
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Batch"
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Product"
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "Hoeveelheid"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr "Zending"
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "Naar locatie"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr "Eenheid"
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr "Opwaartse tracering"
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr "Op datum"
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr "Op datum"
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr "Standaard maateenheid"
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Verwachte hoeveelheid"
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Batch"
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Product"
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr "Hoeveelheid"
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "Op datum"
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Locaties"
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "Op datum"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr "Alleen opslag zone"
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr "Magazijn"
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Batch"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr "Dupliceer batchnummer"
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Batches"
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Product"
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "Hoeveelheid"
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr "Resterende hoeveelheid"
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr "Eenheid"
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr "Heeft reeks"
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "Nummer"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr "Bovenliggend"
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Product"
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr "Hoeveelheid"
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr "Eenheid"
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr "Batch Caches"
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr "Interne hoeveelheid"
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "Plaats"
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Batch"
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "Periode"
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "Product"
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr "Het soort locatie waarvoor een batch vereist is."
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr "De reeks die wordt gebruikt om batches automatisch te nummeren."
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr "Het soort locatie waarvoor een batch vereist is."
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr "De reeks die wordt gebruikt om batches automatisch te nummeren."
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr "De standaard maateenheid."
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"Sta toe de verwachte voorraadhoeveelheden voor deze datum te berekenen.\n"
"* Een lege waarde is een oneindige datum in de toekomst.\n"
"* Een datum in het verleden levert historische waarden op."
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr "De standaard maateenheid."
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"Sta toe de verwachte voorraadhoeveelheden voor deze datum te berekenen.\n"
"* Een lege waarde is een oneindige datum in de toekomst.\n"
"* Een datum in het verleden levert historische waarden op."
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr "Vink aan om alleen de hoeveelheid van de opslag zone te gebruiken."
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr "Het aantal keren dat de batch gedupliceerd moet worden."
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr "Lijst met hoeveelheden per locatie"
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr "Boomstructuur met hoeveelheden per locatie"
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Batches"
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Batches"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr "Neerwaartse tracering"
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr "Opwaartse tracering"
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Batches per locatie"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr "Batches per magazijn"
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Batches toevoegen"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
"U kunt het product van een batch die voorraadbewegingen heeft niet wijzigen."
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr "Om product \"%(product)s\" te verplaatsen, moet u een batch opgeven."
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
"De totale hoeveelheid \"%(lot_quantity)s\" van de batches moet kleiner of "
"gelijk zijn aan de hoeveelheid \"%(move_quantity)s\" van de "
"voorraadbeweging."
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
"U moet een batch selecteren in plaats van een product voor \"%(product)s\"."
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr "Neerwaartse tracering"
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr "Opwaartse tracering"
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr "Dupliceer batch"
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Batches toevoegen"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr "Gebruiker in bedrijven"
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr "Voorraad batch"
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Batches"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr "Productconfiguratie Standaard Batch Reeks"
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr "Voorraad batch"
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr "Batch tracering"
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr "Batch per locatie"
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Batches per locatie"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr "Batch per magazijn"
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Batches toevoegen"
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Batches toevoegen"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr "Voorraadperiode Cache per batch"
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Klant"
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Voorraad verschil"
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Productie"
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Magazijn"
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Leverancier"
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Klant"
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Voorraad verschil"
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Productie"
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Magazijn"
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Leverancier"
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Batch"
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Batches"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr "Overig:"
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr "keer"
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr "Toevoegen"
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr "Annuleer"

501
modules/stock_lot/locale/pl.po Executable file
View File

@@ -0,0 +1,501 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "Numer"
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "Produkt"
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr "Ilość"
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "Na dzień"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Lokalizacja"
#, fuzzy
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Produkt"
#, fuzzy
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "Ilość"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "Lokalizacja"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr "Na dzień"
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr "Na dzień"
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Ilość"
#, fuzzy
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Produkt"
#, fuzzy
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr "Ilość"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "Na dzień"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Lokalizacja"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "Na dzień"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr ""
#, fuzzy
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Produkt"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "Ilość"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr "Ilość"
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "Numer"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Produkt"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr "Ilość"
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr ""
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr ""
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "Lokalizacja"
#, fuzzy
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "Okres"
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "Produkt"
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Lots"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Lokalizacja"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Lots"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr ""
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr ""
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr ""
#, fuzzy
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Lokalizacja"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Lots"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

512
modules/stock_lot/locale/pt.po Executable file
View File

@@ -0,0 +1,512 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr "Lote Obrigatório"
#, fuzzy
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr "Lote Obrigatório"
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr "Lote Obrigatório"
#, fuzzy
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr "Lote Obrigatório"
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Lote"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Quantidade prevista"
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "Número"
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "Produto"
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr "Quantidade"
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "Na Data"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Localização"
#, fuzzy
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Lote"
#, fuzzy
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Produto"
#, fuzzy
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "Quantidade"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "Localização"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr "Na Data"
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr "Na Data"
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Quantidade prevista"
#, fuzzy
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Lote"
#, fuzzy
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Produto"
#, fuzzy
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr "Quantidade"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "Na Data"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Localização"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "Na Data"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Lote"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Produto"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "Quantidade"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr "Quantidade"
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "Número"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Produto"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr "Quantidade"
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr "Lotes pré-calculados"
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr "Quantidade interna"
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "Localização"
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Lote"
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "Período"
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "Produto"
#, fuzzy
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr "O tipo de localização para a qual o lote é obrigatório"
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
#, fuzzy
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr "O tipo de localização para a qual o lote é obrigatório"
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"Permite o cálculo esperado das quantidades do estoque para esta data.\n"
"* Um valor vazio é uma data infinita no futuro.\n"
"* Uma data no passado mostrará valores históricos."
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
#, fuzzy
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"Permite o cálculo esperado das quantidades do estoque para esta data.\n"
"* Um valor vazio é uma data infinita no futuro.\n"
"* Uma data no passado mostrará valores históricos."
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr "Quantidade prevista"
#, fuzzy
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr "Quantidade prevista"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Lots"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Lote Localização"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
#, fuzzy
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr "Lote de estoque"
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Lots"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr "Lote de estoque"
#, fuzzy
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr "Lotes pré-calculados"
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr "Lote Localização"
#, fuzzy
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Lote Localização"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr "Período de estoque pré-calculado por lote"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Lote"
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Lotes"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

461
modules/stock_lot/locale/ro.po Executable file
View File

@@ -0,0 +1,461 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr ""
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "Produs"
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr ""
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr ""
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Produs"
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr ""
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Produs"
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Produs"
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr ""
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Produs"
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr ""
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr ""
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr ""
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "Perioadă"
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "Produs"
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr "Locaţii Lista Cantităţi"
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr "Arbore Cantitate Locaţii"
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr ""
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr ""
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr ""
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr ""
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr ""
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr ""
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr ""
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr ""
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr ""
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr ""
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr ""
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr ""
msgctxt "view:product.template:"
msgid "Lots"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

509
modules/stock_lot/locale/ru.po Executable file
View File

@@ -0,0 +1,509 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Прогноз количества"
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "Номер"
#, fuzzy
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "Товарно материальные ценности (ТМЦ)"
#, fuzzy
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr "Кол-во"
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "Дата изменения"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Местоположение"
#, fuzzy
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Товарно материальные ценности (ТМЦ)"
#, fuzzy
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "Кол-во"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "Местоположение"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Прогноз количества"
#, fuzzy
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Товарно материальные ценности (ТМЦ)"
#, fuzzy
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr "Кол-во"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "Дата изменения"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Местоположение"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "Дата изменения"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr ""
#, fuzzy
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Товарно материальные ценности (ТМЦ)"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "Кол-во"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr "Кол-во"
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "Номер"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Товарно материальные ценности (ТМЦ)"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr "Кол-во"
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr ""
#, fuzzy
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr "Внутреннее количество"
#, fuzzy
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "Местоположение"
#, fuzzy
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "Период"
#, fuzzy
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "Товарно материальные ценности (ТМЦ)"
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr "Прогноз количества"
#, fuzzy
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr "Прогноз количества"
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Lots"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Местоположение"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Lots"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr ""
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr ""
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr ""
#, fuzzy
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Местоположение"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Заказчик"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Утраченный и обретенный"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Производство"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Хранилище"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Поставщик"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Заказчик"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Утраченный и обретенный"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Производство"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Хранилище"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Поставщик"
#, fuzzy
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Lots"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

512
modules/stock_lot/locale/sl.po Executable file
View File

@@ -0,0 +1,512 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr "Serija obvezna"
#, fuzzy
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr "Serija obvezna"
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr "Serija obvezna"
#, fuzzy
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr "Serija obvezna"
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Serija"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Predvidena količina"
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "Številka"
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "Izdelek"
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr "Količina"
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "Na dan"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Lokacija"
#, fuzzy
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Serija"
#, fuzzy
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Izdelek"
#, fuzzy
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "Količina"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "Lokacija"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr "Na dan"
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr "Na dan"
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "Predvidena količina"
#, fuzzy
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Serija"
#, fuzzy
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Izdelek"
#, fuzzy
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr "Količina"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "Na dan"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Lokacija"
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "Na dan"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Serija"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Izdelek"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "Količina"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr "Količina"
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "Številka"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Izdelek"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr "Količina"
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr "Predpomnjene serije"
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr "Notranja količina"
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "Lokacija"
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Serija"
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "Obdobje"
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "Izdelek"
#, fuzzy
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr "Vrsta lokacije, za katero je serija obvezna"
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
#, fuzzy
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr "Vrsta lokacije, za katero je serija obvezna"
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"Omogoča izračun predvidenih zalog na ta dan.\n"
"* Prazno polje pomeni neskončno v prihodnost.\n"
"* Pretekli datum daje zgodovino zaloge."
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
#, fuzzy
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"Omogoča izračun predvidenih zalog na ta dan.\n"
"* Prazno polje pomeni neskončno v prihodnost.\n"
"* Pretekli datum daje zgodovino zaloge."
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr "Predvidena količina"
#, fuzzy
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr "Predvidena količina"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Lots"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Serija po lokaciji"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
#, fuzzy
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr "Serija"
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Lots"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr "Serija"
#, fuzzy
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr "Predpomnjene serije"
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr "Serija po lokaciji"
#, fuzzy
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Serija po lokaciji"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr "Predpomnjena obdobja po serijah"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Serija"
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Serije"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

489
modules/stock_lot/locale/tr.po Executable file
View File

@@ -0,0 +1,489 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
#, fuzzy
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr ""
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr ""
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "Production"
#, fuzzy
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "Production"
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "Production"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "Production"
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr ""
#, fuzzy
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "Production"
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr ""
#, fuzzy
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "Production"
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr ""
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "Production"
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr ""
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr ""
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr ""
#, fuzzy
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "Lot"
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr ""
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr ""
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr ""
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "Lots"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "Production"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
#, fuzzy
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "Lots"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr ""
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr ""
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr ""
#, fuzzy
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "Production"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
#, fuzzy
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "Lots"
#, fuzzy
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "Lots"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "Customer"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "Lost and Found"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "Production"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "Storage"
#, fuzzy
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "Supplier"
#, fuzzy
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "Lot"
#, fuzzy
msgctxt "view:product.template:"
msgid "Lots"
msgstr "Lots"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

457
modules/stock_lot/locale/uk.po Executable file
View File

@@ -0,0 +1,457 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr ""
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr ""
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr ""
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr ""
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr ""
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr ""
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr ""
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr ""
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr ""
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr ""
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr ""
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr ""
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr ""
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr ""
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr ""
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr ""
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr ""
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr ""
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr ""
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr ""
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr ""
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr ""
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr ""
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr ""
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr ""
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr ""
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr ""
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr ""
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr ""
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr ""
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr ""
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr ""
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr ""
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr ""
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr ""
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr ""
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr ""
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr ""
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr ""
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr ""
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr ""
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr ""
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr ""
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr ""
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr ""
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr ""
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr ""
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr ""
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr ""
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr ""
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr ""
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr ""
msgctxt "view:product.template:"
msgid "Lots"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr ""
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr ""
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr ""

465
modules/stock_lot/locale/zh_CN.po Executable file
View File

@@ -0,0 +1,465 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.configuration,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr "默认批次序列"
msgctxt ""
"field:product.configuration.default_lot_sequence,default_lot_sequence:"
msgid "Default Lot Sequence"
msgstr "默认批次序列"
msgctxt "field:product.product,lot_required:"
msgid "Lot Required"
msgstr "需要批次"
msgctxt "field:product.product,lot_sequence:"
msgid "Lot Sequence"
msgstr "批次序列"
msgctxt "field:product.template,lot_required:"
msgid "Lot Required"
msgstr "需要批次"
msgctxt "field:product.template,lot_sequence:"
msgid "Lot Sequence"
msgstr "批次序列"
msgctxt "field:stock.inventory.line,lot:"
msgid "Lot"
msgstr "批次"
msgctxt "field:stock.lot,default_uom:"
msgid "Default UoM"
msgstr "默认计量单位"
msgctxt "field:stock.lot,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "预期数量"
msgctxt "field:stock.lot,has_sequence:"
msgid "Has Sequence"
msgstr "具有序列"
msgctxt "field:stock.lot,number:"
msgid "Number"
msgstr "批次号"
msgctxt "field:stock.lot,product:"
msgid "Product"
msgstr "产品"
msgctxt "field:stock.lot,quantity:"
msgid "Quantity"
msgstr "数量"
msgctxt "field:stock.lot.trace,company:"
msgid "Company"
msgstr "公司"
msgctxt "field:stock.lot.trace,date:"
msgid "Date"
msgstr "日期"
msgctxt "field:stock.lot.trace,document:"
msgid "Document"
msgstr "文档"
msgctxt "field:stock.lot.trace,downward_traces:"
msgid "Downward Traces"
msgstr "向下追踪"
#, fuzzy
msgctxt "field:stock.lot.trace,from_location:"
msgid "From Location"
msgstr "库位"
msgctxt "field:stock.lot.trace,lot:"
msgid "Lot"
msgstr "批次"
msgctxt "field:stock.lot.trace,product:"
msgid "Product"
msgstr "产品"
msgctxt "field:stock.lot.trace,quantity:"
msgid "Quantity"
msgstr "数量"
msgctxt "field:stock.lot.trace,shipment:"
msgid "Shipment"
msgstr "收发货"
#, fuzzy
msgctxt "field:stock.lot.trace,to_location:"
msgid "To Location"
msgstr "库位"
msgctxt "field:stock.lot.trace,unit:"
msgid "Unit"
msgstr "单位"
msgctxt "field:stock.lot.trace,upward_traces:"
msgid "Upward Traces"
msgstr "向上追踪"
msgctxt "field:stock.lots_by_location.context,forecast_date:"
msgid "At Date"
msgstr "日期"
msgctxt "field:stock.lots_by_location.context,stock_date_end:"
msgid "At Date"
msgstr "日期"
msgctxt "field:stock.lots_by_locations,default_uom:"
msgid "Default UoM"
msgstr "默认计量单位"
msgctxt "field:stock.lots_by_locations,forecast_quantity:"
msgid "Forecast Quantity"
msgstr "预期数量"
msgctxt "field:stock.lots_by_locations,lot:"
msgid "Lot"
msgstr "批次"
msgctxt "field:stock.lots_by_locations,product:"
msgid "Product"
msgstr "产品"
msgctxt "field:stock.lots_by_locations,quantity:"
msgid "Quantity"
msgstr "数量"
msgctxt "field:stock.lots_by_warehouse.context,forecast_date:"
msgid "At Date"
msgstr "日期"
msgctxt "field:stock.lots_by_warehouse.context,locations:"
msgid "Locations"
msgstr "库位"
msgctxt "field:stock.lots_by_warehouse.context,stock_date_end:"
msgid "At Date"
msgstr "日期"
msgctxt "field:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Only storage zone"
msgstr "只有存储区"
msgctxt "field:stock.lots_by_warehouse.context,warehouse:"
msgid "Warehouse"
msgstr "仓库"
msgctxt "field:stock.move,lot:"
msgid "Lot"
msgstr "批次"
msgctxt "field:stock.move.add.lots.start,duplicate_lot_number:"
msgid "Duplicate Lot Number"
msgstr "重复批次号"
msgctxt "field:stock.move.add.lots.start,lots:"
msgid "Lots"
msgstr "批次"
msgctxt "field:stock.move.add.lots.start,product:"
msgid "Product"
msgstr "产品"
msgctxt "field:stock.move.add.lots.start,quantity:"
msgid "Quantity"
msgstr "数量"
msgctxt "field:stock.move.add.lots.start,quantity_remaining:"
msgid "Quantity Remaining"
msgstr "剩余数量"
msgctxt "field:stock.move.add.lots.start,unit:"
msgid "Unit"
msgstr "单位"
msgctxt "field:stock.move.add.lots.start.lot,has_sequence:"
msgid "Has Sequence"
msgstr "具有序列"
msgctxt "field:stock.move.add.lots.start.lot,number:"
msgid "Number"
msgstr "批次号"
msgctxt "field:stock.move.add.lots.start.lot,parent:"
msgid "Parent"
msgstr "上级"
msgctxt "field:stock.move.add.lots.start.lot,product:"
msgid "Product"
msgstr "产品"
msgctxt "field:stock.move.add.lots.start.lot,quantity:"
msgid "Quantity"
msgstr "数量"
msgctxt "field:stock.move.add.lots.start.lot,quantity_unit:"
msgid "Unit"
msgstr "单位"
msgctxt "field:stock.period,lot_caches:"
msgid "Lot Caches"
msgstr "批次缓存"
msgctxt "field:stock.period.cache.lot,internal_quantity:"
msgid "Internal Quantity"
msgstr "内部数量"
msgctxt "field:stock.period.cache.lot,location:"
msgid "Location"
msgstr "库位"
msgctxt "field:stock.period.cache.lot,lot:"
msgid "Lot"
msgstr "批次"
msgctxt "field:stock.period.cache.lot,period:"
msgid "Period"
msgstr "周期"
msgctxt "field:stock.period.cache.lot,product:"
msgid "Product"
msgstr "产品"
msgctxt "help:product.product,lot_required:"
msgid "The type of location for which lot is required."
msgstr "批次需要的库位类型。"
msgctxt "help:product.product,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr "序列号,用于自动生成数字批次号。"
msgctxt "help:product.template,lot_required:"
msgid "The type of location for which lot is required."
msgstr "批次需要的库位类型。"
msgctxt "help:product.template,lot_sequence:"
msgid "The sequence used to automatically number lots."
msgstr "序列号,用于自动生成数字批次号。"
msgctxt "help:stock.lot,default_uom:"
msgid "The default Unit of Measure."
msgstr "默认计量单位。"
msgctxt "help:stock.lots_by_location.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"允许计算当前日期对应的预期库存数量。\n"
"* 空值是未来的无限日期。\n"
"* 过去的日期将提供历史值。"
msgctxt "help:stock.lots_by_locations,default_uom:"
msgid "The default Unit of Measure."
msgstr "默认计量单位。"
msgctxt "help:stock.lots_by_warehouse.context,forecast_date:"
msgid ""
"Allow to compute expected stock quantities for this date.\n"
"* An empty value is an infinite date in the future.\n"
"* A date in the past will provide historical values."
msgstr ""
"允许计算当前日期对应的预期库存数量。\n"
"* 空值是未来的无限日期。\n"
"* 过去的日期将提供历史值。"
msgctxt "help:stock.lots_by_warehouse.context,stock_skip_warehouse:"
msgid "Check to use only the quantity of the storage zone."
msgstr "选中仅使用存储区的数量。"
msgctxt "help:stock.move.add.lots.start,duplicate_lot_number:"
msgid "The number of times the lot must be duplicated."
msgstr "批次需要复制的次数。"
msgctxt "model:ir.action,name:act_location_quantity_list"
msgid "Locations List Quantity"
msgstr "库位明细数量"
msgctxt "model:ir.action,name:act_location_quantity_tree"
msgid "Locations Tree Quantity"
msgstr "库位树数量"
msgctxt "model:ir.action,name:act_lot_form"
msgid "Lots"
msgstr "批次"
msgctxt "model:ir.action,name:act_lot_form_product_relate"
msgid "Lots"
msgstr "批次"
msgctxt "model:ir.action,name:act_lot_trace_downward_relate"
msgid "Downward Traces"
msgstr "向下追踪"
msgctxt "model:ir.action,name:act_lot_trace_upward_relate"
msgid "Upward Traces"
msgstr "向上追踪"
msgctxt "model:ir.action,name:act_lots_by_locations_relate"
msgid "Lots by Locations"
msgstr "按库位划分的批次"
msgctxt "model:ir.action,name:act_lots_by_warehouse_relate"
msgid "Lots By Warehouse"
msgstr "按仓库划分的批次"
msgctxt "model:ir.action,name:wizard_move_add_lots"
msgid "Add Lots"
msgstr "增加批次"
msgctxt "model:ir.message,text:msg_change_product"
msgid "You cannot change the product of a stock lot which has stock moves."
msgstr "如果一个库存批次包含库存移动,那么这个批次对应的产品无法更改。"
msgctxt "model:ir.message,text:msg_lot_required"
msgid "To move product \"%(product)s\" you must provide a stock lot."
msgstr "移动产品 \"%(product)s\" 之前须提供一个库存批次。"
msgctxt "model:ir.message,text:msg_move_add_lot_quantity"
msgid ""
"The total quantity \"%(lot_quantity)s\" of the lots must be less than or "
"equal to the quantity \"%(move_quantity)s\" of the move."
msgstr "批次的总数量 \"%(lot_quantity)s\" 必须小于或等于移动的数量 \"%(move_quantity)s\"。"
msgctxt "model:ir.message,text:msg_only_lot"
msgid "You must select a stock lot instead of a product for \"%(product)s\"."
msgstr "必须为 \"%(product)s\" 选择库存批次而不是产品。"
msgctxt "model:ir.model.button,string:lot_downward_traces_button"
msgid "Downward Traces"
msgstr "向下追踪"
msgctxt "model:ir.model.button,string:lot_upward_traces_button"
msgid "Upward Traces"
msgstr "向上追踪"
msgctxt ""
"model:ir.model.button,string:move_add_lots_start_duplicate_lot_button"
msgid "Duplicate Lot"
msgstr "重复批次"
msgctxt "model:ir.model.button,string:move_add_lots_wizard_button"
msgid "Add Lots"
msgstr "增加批次"
msgctxt "model:ir.rule.group,name:rule_group_lot_trace_companies"
msgid "User in companies"
msgstr "公司中的用户"
msgctxt "model:ir.sequence.type,name:sequence_type_stock_lot"
msgid "Stock Lot"
msgstr "库存批次"
msgctxt "model:ir.ui.menu,name:menu_lot_form"
msgid "Lots"
msgstr "批次"
msgctxt "model:product.configuration.default_lot_sequence,name:"
msgid "Product Configuration Default Lot Sequence"
msgstr "产品设置-默认批次序列"
msgctxt "model:stock.lot,name:"
msgid "Stock Lot"
msgstr "库存批次"
msgctxt "model:stock.lot.trace,name:"
msgid "Lot Trace"
msgstr "批次追踪"
msgctxt "model:stock.lots_by_location.context,name:"
msgid "Lot by Location"
msgstr "按库位划分的批次"
msgctxt "model:stock.lots_by_locations,name:"
msgid "Lots by Locations"
msgstr "按库位划分的批次"
msgctxt "model:stock.lots_by_warehouse.context,name:"
msgid "Lot by Warehouse"
msgstr "按仓库划分的批次"
msgctxt "model:stock.move.add.lots.start,name:"
msgid "Add Lots"
msgstr "增加批次"
msgctxt "model:stock.move.add.lots.start.lot,name:"
msgid "Add Lots"
msgstr "增加批次"
msgctxt "model:stock.period.cache.lot,name:"
msgid "Stock Period Cache per Lot"
msgstr "每个批次的库存期缓存"
msgctxt "selection:product.product,lot_required:"
msgid "Customer"
msgstr "客户"
msgctxt "selection:product.product,lot_required:"
msgid "Lost and Found"
msgstr "失物招领区"
msgctxt "selection:product.product,lot_required:"
msgid "Production"
msgstr "产品"
msgctxt "selection:product.product,lot_required:"
msgid "Storage"
msgstr "存储区"
msgctxt "selection:product.product,lot_required:"
msgid "Supplier"
msgstr "供应商"
msgctxt "selection:product.template,lot_required:"
msgid "Customer"
msgstr "客户"
msgctxt "selection:product.template,lot_required:"
msgid "Lost and Found"
msgstr "失物招领区"
msgctxt "selection:product.template,lot_required:"
msgid "Production"
msgstr "产品"
msgctxt "selection:product.template,lot_required:"
msgid "Storage"
msgstr "存储区"
msgctxt "selection:product.template,lot_required:"
msgid "Supplier"
msgstr "供应商"
msgctxt "selection:stock.inventory.count.search,search:"
msgid "Lot"
msgstr "批次"
msgctxt "view:product.template:"
msgid "Lots"
msgstr "批次"
msgctxt "view:stock.move.add.lots.start:"
msgid "Remaining:"
msgstr "剩余:"
msgctxt "view:stock.move.add.lots.start:"
msgid "times"
msgstr "次"
msgctxt "wizard_button:stock.move.add.lots,start,add:"
msgid "Add"
msgstr "增加"
msgctxt "wizard_button:stock.move.add.lots,start,end:"
msgid "Cancel"
msgstr "取消"

19
modules/stock_lot/message.xml Executable file
View File

@@ -0,0 +1,19 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data grouped="1">
<record model="ir.message" id="msg_change_product">
<field name="text">You cannot change the product of a stock lot which has stock moves.</field>
</record>
<record model="ir.message" id="msg_lot_required">
<field name="text">To move product "%(product)s" you must provide a stock lot.</field>
</record>
<record model="ir.message" id="msg_only_lot">
<field name="text">You must select a stock lot instead of a product for "%(product)s".</field>
</record>
<record model="ir.message" id="msg_move_add_lot_quantity">
<field name="text">The total quantity "%(lot_quantity)s" of the lots must be less than or equal to the quantity "%(move_quantity)s" of the move.</field>
</record>
</data>
</tryton>

128
modules/stock_lot/product.py Executable file
View File

@@ -0,0 +1,128 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from sql import Table
from trytond.config import config
from trytond.model import ModelSQL, ValueMixin, fields
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Eval, Id
from trytond.transaction import Transaction
class Configuration(metaclass=PoolMeta):
__name__ = 'product.configuration'
default_lot_sequence = fields.MultiValue(
fields.Many2One(
'ir.sequence', "Default Lot Sequence",
domain=[
('sequence_type', '=',
Id('stock_lot', 'sequence_type_stock_lot')),
('company', '=', None),
]))
class ConfigurationDefaultLotSequence(ModelSQL, ValueMixin):
"Product Configuration Default Lot Sequence"
__name__ = 'product.configuration.default_lot_sequence'
default_lot_sequence = fields.Many2One(
'ir.sequence', "Default Lot Sequence",
domain=[
('sequence_type', '=',
Id('stock_lot', 'sequence_type_stock_lot')),
('company', '=', None),
])
class Template(metaclass=PoolMeta):
__name__ = 'product.template'
lot_required = fields.MultiSelection([
('supplier', "Supplier"),
('customer', "Customer"),
('lost_found', "Lost and Found"),
('storage', "Storage"),
('production', "Production"),
], "Lot Required",
help='The type of location for which lot is required.',
states={
'invisible': ~Eval('type').in_(['goods', 'assets']),
})
lot_sequence = fields.Many2One(
'ir.sequence', "Lot Sequence",
domain=[
('sequence_type', '=', Id('stock_lot', 'sequence_type_stock_lot')),
('company', '=', None),
],
states={
'invisible': ~Eval('type').in_(['goods', 'assets']),
},
help="The sequence used to automatically number lots.")
@classmethod
def __register__(cls, module):
connection = Transaction().connection
cursor = connection.cursor()
super().__register__(module)
table_h = cls.__table_handler__(module)
template_lot_type_table_name = config.get(
'table', 'product.template-stock.lot.type',
default='product.template-stock.lot.type' .replace('.', '_'))
lot_type_table_name = config.get(
'table', 'stock.lot.type',
default='stock.lot.type'.replace('.', '_'))
# Migration from 5.2: fill lot_required
if (table_h.table_exist(template_lot_type_table_name)
and table_h.table_exist(lot_type_table_name)):
table = cls.__table__()
template_lot_type = Table(template_lot_type_table_name)
lot_type = Table(lot_type_table_name)
cursor_select = connection.cursor()
cursor_select.execute(*template_lot_type.select(
template_lot_type.template,
distinct_on=template_lot_type.template))
for template_id, in cursor_select:
cursor.execute(*template_lot_type
.join(lot_type,
condition=template_lot_type.type == lot_type.id)
.select(
lot_type.code,
where=template_lot_type.template == template_id))
value = cls.lot_required.sql_format([t for t, in cursor])
cursor.execute(*table.update(
[table.lot_required], [value],
where=table.id == template_id))
table_h.drop_table('product.template-stock.lot.type',
template_lot_type_table_name)
table_h.drop_table('stock.lot.type', lot_type_table_name)
@classmethod
def default_lot_sequence(cls, **pattern):
pool = Pool()
Configuration = pool.get('product.configuration')
sequence = Configuration(1).get_multivalue(
'default_lot_sequence', **pattern)
return sequence.id if sequence else None
class Product(metaclass=PoolMeta):
__name__ = 'product.product'
def lot_is_required(self, from_, to):
'Is product lot required for move with "from_" and "to" location ?'
return any(l.type in (self.lot_required or []) for l in [from_, to])
def create_lot(self):
pool = Pool()
Lot = pool.get('stock.lot')
if self.lot_sequence:
lot = Lot(product=self)
try:
lot.on_change_product()
except AttributeError:
pass
return lot

18
modules/stock_lot/product.xml Executable file
View File

@@ -0,0 +1,18 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.ui.view" id="product_configuration_view_form">
<field name="model">product.configuration</field>
<field name="inherit" ref="product.product_configuration_view_form"/>
<field name="name">product_configuration_form</field>
</record>
<record model="ir.ui.view" id="template_view_form">
<field name="model">product.template</field>
<field name="inherit" ref="product.template_view_form"/>
<field name="name">template_form</field>
</record>
</data>
</tryton>

930
modules/stock_lot/stock.py Executable file
View File

@@ -0,0 +1,930 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import datetime
from collections import defaultdict
from copy import copy
from functools import wraps
from sql import Column, Null
from sql.functions import CharLength
from trytond.i18n import gettext
from trytond.model import (
DeactivableMixin, Index, Model, ModelSQL, ModelView, fields)
from trytond.model.exceptions import (
AccessError, RequiredValidationError, ValidationError)
from trytond.modules.stock import StockMixin
from trytond.modules.stock.exceptions import ShipmentCheckQuantityWarning
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Bool, Eval, Len
from trytond.tools import grouped_slice
from trytond.transaction import Transaction
from trytond.wizard import Button, StateTransition, StateView, Wizard
import logging
logger = logging.getLogger(__name__)
def check_no_move(func):
def find_moves(cls, records, state=None):
pool = Pool()
Move = pool.get('stock.move')
for sub_records in grouped_slice(records):
domain = [
('lot', 'in', [r.id for r in sub_records])
]
if state:
domain.append(('state', '=', state))
moves = Move.search(domain, limit=1, order=[])
if moves:
return True
return False
@wraps(func)
def decorator(cls, *args):
transaction = Transaction()
if transaction.user and transaction.check_access:
actions = iter(args)
for records, values in zip(actions, actions):
for field, state, error in cls._modify_no_move:
if field in values:
if find_moves(cls, records, state):
raise AccessError(gettext(error))
# No moves for those records
break
func(cls, *args)
return decorator
class LotMixin:
__slots__ = ()
number = fields.Char(
"Number", required=True,
states={
'required': ~Eval('has_sequence') | (Eval('id', -1) >= 0),
})
product = fields.Many2One('product.product', 'Product', required=True)
has_sequence = fields.Function(
fields.Boolean("Has Sequence"), 'on_change_with_has_sequence')
@classmethod
def __setup__(cls):
cls.number.search_unaccented = False
super().__setup__()
@fields.depends('product')
def on_change_with_has_sequence(self, name=None):
if self.product:
return bool(self.product.lot_sequence)
class Lot(DeactivableMixin, ModelSQL, ModelView, LotMixin, StockMixin):
"Stock Lot"
__name__ = 'stock.lot'
_rec_name = 'number'
quantity = fields.Function(
fields.Float("Quantity", digits='default_uom'),
'get_quantity', searcher='search_quantity')
forecast_quantity = fields.Function(
fields.Float("Forecast Quantity", digits='default_uom'),
'get_quantity', searcher='search_quantity')
default_uom = fields.Function(
fields.Many2One(
'product.uom', "Default UoM",
help="The default Unit of Measure."),
'on_change_with_default_uom', searcher='search_default_uom')
@classmethod
def __setup__(cls):
super(Lot, cls).__setup__()
cls._modify_no_move = [
('product', None, 'stock_lot.msg_change_product'),
]
cls._buttons.update({
'upward_traces': {},
'downward_traces': {},
})
@classmethod
def order_number(cls, tables):
table, _ = tables[None]
return [CharLength(table.number), table.number]
@classmethod
def get_quantity(cls, lots, name):
location_ids = Transaction().context.get('locations')
product_ids = list(set(l.product.id for l in lots))
quantities = {}
for product_ids in grouped_slice(product_ids):
quantities.update(cls._get_quantity(lots, name, location_ids,
grouping=('product', 'lot',),
grouping_filter=(list(product_ids),)))
return quantities
@classmethod
def search_quantity(cls, name, domain=None):
location_ids = Transaction().context.get('locations')
return cls._search_quantity(name, location_ids, domain,
grouping=('product', 'lot'))
@fields.depends('product')
def on_change_with_default_uom(self, name=None):
return self.product.default_uom if self.product else None
@classmethod
def search_default_uom(cls, name, clause):
nested = clause[0][len(name):]
return [('product.' + name + nested, *clause[1:])]
@classmethod
def copy(cls, lots, default=None):
default = default.copy() if default else {}
has_sequence = {l.id: l.has_sequence for l in lots}
default.setdefault(
'number', lambda o: None if has_sequence[o['id']] else o['number'])
return super().copy(lots, default=default)
@classmethod
def create(cls, vlist):
vlist = [v.copy() for v in vlist]
for values in vlist:
if not values.get('number'):
values['number'] = cls._new_number(values)
return super().create(vlist)
@classmethod
def _new_number(cls, values):
pool = Pool()
Product = pool.get('product.product')
if values.get('product'):
product = Product(values['product'])
if product.lot_sequence:
return product.lot_sequence.get()
@classmethod
@check_no_move
def write(cls, *args):
super(Lot, cls).write(*args)
@classmethod
@ModelView.button_action('stock_lot.act_lot_trace_upward_relate')
def upward_traces(cls, lots):
pass
@classmethod
@ModelView.button_action('stock_lot.act_lot_trace_downward_relate')
def downward_traces(cls, lots):
pass
class LotTrace(ModelSQL, ModelView):
"Lot Trace"
__name__ = 'stock.lot.trace'
product = fields.Many2One(
'product.product', "Product",
context={
'company': Eval('company', -1),
},
depends=['company'])
lot = fields.Many2One('stock.lot', "Lot")
from_location = fields.Many2One('stock.location', "From Location")
to_location = fields.Many2One('stock.location', "To Location")
quantity = fields.Float("Quantity", digits='unit')
unit = fields.Many2One('product.uom', "Unit")
company = fields.Many2One('company.company', "Company")
date = fields.Date("Date")
shipment = fields.Reference("Shipment", 'get_shipments')
document = fields.Function(
fields.Reference("Document", 'get_documents'), 'get_document')
upward_traces = fields.Function(
fields.Many2Many(
'stock.lot.trace', None, None, "Upward Traces"),
'get_upward_traces')
downward_traces = fields.Function(
fields.Many2Many(
'stock.lot.trace', None, None, "Downward Traces"),
'get_downward_traces')
@classmethod
def __setup__(cls):
super().__setup__()
cls._order.insert(0, ('date', None))
@classmethod
def table_query(cls):
pool = Pool()
Move = pool.get('stock.move')
move = Move.__table__()
return (
move.select(
*cls._columns(move),
where=(move.lot != Null) & (move.state == 'done')))
@classmethod
def _columns(cls, move):
return [
move.id.as_('id'),
move.create_uid.as_('create_uid'),
move.create_date.as_('create_date'),
move.write_uid.as_('write_uid'),
move.write_date.as_('write_date'),
move.product.as_('product'),
move.lot.as_('lot'),
move.from_location.as_('from_location'),
move.to_location.as_('to_location'),
move.quantity.as_('quantity'),
move.unit.as_('unit'),
move.company.as_('company'),
move.effective_date.as_('date'),
move.shipment.as_('shipment'),
]
def get_rec_name(self, name):
return self.document.rec_name if self.document else str(self.id)
@classmethod
def get_shipments(cls):
pool = Pool()
Move = pool.get('stock.move')
return Move.get_shipment()
@classmethod
def get_documents(cls):
return cls.get_shipments()
def get_document(self, name):
if self.shipment:
return str(self.shipment)
@classmethod
def _is_trace_move(cls, move):
return move.state == 'done'
@classmethod
def _trace_move_order_key(cls, move):
return (move.effective_date, move.id)
def get_upward_traces(self, name):
return list(map(int, sorted(filter(
self._is_trace_move, self._get_upward_traces()),
key=self._trace_move_order_key)))
def _get_upward_traces(self):
pool = Pool()
Move = pool.get('stock.move')
return set(Move.search([
('lot', '=', self.lot.id),
('from_location', '=', self.to_location),
('effective_date', '>=', self.date),
]))
def get_downward_traces(self, name):
return list(map(int, sorted(filter(
self._is_trace_move, self._get_downward_traces()),
key=self._trace_move_order_key, reverse=True)))
def _get_downward_traces(self):
pool = Pool()
Move = pool.get('stock.move')
return set(Move.search([
('lot', '=', self.lot.id),
('to_location', '=', self.from_location),
('effective_date', '<=', self.date),
]))
class LotByLocationContext(ModelView):
'Lot by Location'
__name__ = 'stock.lots_by_location.context'
forecast_date = fields.Date(
'At Date', help=('Allow to compute expected '
'stock quantities for this date.\n'
'* An empty value is an infinite date in the future.\n'
'* A date in the past will provide historical values.'))
stock_date_end = fields.Function(fields.Date('At Date'),
'on_change_with_stock_date_end')
@staticmethod
def default_forecast_date():
Date = Pool().get('ir.date')
return Date.today()
@fields.depends('forecast_date')
def on_change_with_stock_date_end(self, name=None):
if self.forecast_date is None:
return datetime.date.max
return self.forecast_date
class LotsByLocations(ModelSQL, ModelView):
"Lots by Locations"
__name__ = 'stock.lots_by_locations'
lot = fields.Many2One('stock.lot', "Lot")
product = fields.Many2One('product.product', "Product")
quantity = fields.Function(
fields.Float("Quantity", digits='default_uom'),
'get_lot', searcher='search_lot')
forecast_quantity = fields.Function(
fields.Float("Forecast Quantity", digits='default_uom'),
'get_lot', searcher='search_lot')
default_uom = fields.Function(
fields.Many2One(
'product.uom', "Default UoM",
help="The default Unit of Measure."),
'get_lot', searcher='search_lot')
@classmethod
def __setup__(cls):
super().__setup__()
cls._order.insert(0, ('lot', 'ASC'))
cls._order.insert(1, ('product', 'ASC'))
@classmethod
def table_query(cls):
pool = Pool()
Lot = pool.get('stock.lot')
lot = Lot.__table__()
columns = []
for fname, field in cls._fields.items():
if not hasattr(field, 'set'):
if (isinstance(field, fields.Many2One)
and field.get_target() == Lot):
column = Column(lot, 'id')
else:
column = Column(lot, fname)
columns.append(column.as_(fname))
return lot.select(*columns)
def get_rec_name(self, name):
return self.lot.rec_name
@classmethod
def search_rec_name(cls, name, clause):
return [('lot.rec_name',) + tuple(clause[1:])]
def get_lot(self, name):
value = getattr(self.lot, name)
if isinstance(value, Model):
value = value.id
return value
@classmethod
def search_lot(cls, name, clause):
nested = clause[0][len(name):]
return [('lot.' + name + nested, *clause[1:])]
class LotByWarehouseContext(LotByLocationContext):
"Lot by Warehouse"
__name__ = 'stock.lots_by_warehouse.context'
warehouse = fields.Many2One(
'stock.location', "Warehouse", required=True,
domain=[
('type', '=', 'warehouse'),
],
)
stock_skip_warehouse = fields.Boolean(
"Only storage zone",
help="Check to use only the quantity of the storage zone.")
locations = fields.Function(
fields.Many2Many('stock.location', None, None, "Locations"),
'on_change_with_locations')
@classmethod
def default_warehouse(cls):
return Pool().get('stock.location').get_default_warehouse()
@classmethod
def default_stock_skip_warehouse(cls):
return Transaction().context.get('stock_skip_warehouse')
@fields.depends('warehouse')
def on_change_with_locations(self, name=None):
locations = []
if self.warehouse:
locations.append(self.warehouse)
return locations
class Location(metaclass=PoolMeta):
__name__ = 'stock.location'
@classmethod
def _get_quantity_grouping(cls):
pool = Pool()
Lot = pool.get('stock.lot')
context = Transaction().context
grouping, grouping_filter, key = super()._get_quantity_grouping()
if context.get('lot') is not None:
try:
lot, = Lot.search([('id', '=', context['lot'])])
except ValueError:
pass
else:
grouping = ('product', 'lot',)
grouping_filter = ([lot.product.id], [lot.id])
key = (lot.product.id, lot.id)
return grouping, grouping_filter, key
class Move(metaclass=PoolMeta):
__name__ = 'stock.move'
lot = fields.Many2One('stock.lot', 'Lot',
domain=[
('product', '=', Eval('product')),
],
states={
'readonly': Eval('state').in_(['cancelled', 'done']),
})
@classmethod
def __setup__(cls):
super().__setup__()
cls._buttons.update({
'add_lots_wizard': {
'invisible': ~Eval('state').in_(['draft', 'assigned']),
'readonly': Bool(Eval('lot')),
'depends': ['lot', 'state'],
},
})
@classmethod
@ModelView.button_action('stock_lot.wizard_move_add_lots')
def add_lots_wizard(cls, moves):
pass
def add_lot(self):
if not self.lot and self.product:
lot = self.product.create_lot()
if lot:
self.lot = lot
def check_lot(self):
"Check if lot is required"
if (self.internal_quantity
and not self.lot
and self.product.lot_is_required(
self.from_location, self.to_location)):
raise RequiredValidationError(
gettext('stock_lot.msg_lot_required',
product=self.product.rec_name))
@classmethod
@ModelView.button
def do(cls, moves):
logger.info("STOCK_LOT:%s",moves)
super().do(moves)
for move in moves:
move.check_lot()
@classmethod
def assign_try(
cls, moves, with_childs=True, grouping=('product',), pblc=None):
if 'lot' not in grouping:
moves_with_lot, moves_without_lot = [], []
for move in moves:
if move.lot:
moves_with_lot.append(move)
else:
moves_without_lot.append(move)
success = super().assign_try(
moves_with_lot, with_childs=with_childs,
grouping=grouping + ('lot',), pblc=pblc)
success &= super().assign_try(
moves_without_lot, with_childs=with_childs,
grouping=grouping, pblc=pblc)
else:
success = super().assign_try(
moves, with_childs=with_childs, grouping=grouping, pblc=pblc)
return success
class MoveAddLots(Wizard):
"Add Lots"
__name__ = 'stock.move.add.lots'
start = StateView('stock.move.add.lots.start',
'stock_lot.move_add_lots_start_view_form', [
Button("Cancel", 'end', 'tryton-cancel'),
Button("Add", 'add', 'tryton-ok', default=True),
])
add = StateTransition()
def default_start(self, fields):
default = {}
if 'product' in fields:
default['product'] = self.record.product.id
if 'quantity' in fields:
default['quantity'] = self.record.quantity
if 'unit' in fields:
default['unit'] = self.record.unit.id
return default
def transition_add(self):
pool = Pool()
Lang = pool.get('ir.lang')
Lot = pool.get('stock.lot')
lang = Lang.get()
quantity_remaining = self.start.on_change_with_quantity_remaining()
if quantity_remaining < 0:
digits = self.record.unit.digits
move_quantity = self.record.quantity
lot_quantity = self.record.quantity - quantity_remaining
raise ValidationError(gettext(
'stock_lot.msg_move_add_lot_quantity',
lot_quantity=lang.format_number(lot_quantity, digits),
move_quantity=lang.format_number(move_quantity, digits)))
lots = []
for line in self.start.lots:
lot = line.get_lot(self.record)
lots.append(lot)
Lot.save(lots)
if hasattr(self.model, 'split'):
move = self.record
for line, lot in zip(self.start.lots, lots):
splits = move.split(line.quantity, self.record.unit, count=1)
splits.remove(move)
move.lot = lot
move.save()
if splits:
move, = splits
else:
break
else:
if quantity_remaining:
self.record.quantity = quantity_remaining
self.record.save()
for i, (line, lot) in enumerate(zip(self.start.lots, lots)):
if not i and not quantity_remaining:
self.record.quantity = line.quantity
self.record.lot = lot
self.record.save()
else:
with Transaction().set_context(_stock_move_split=True):
self.model.copy([self.record], {
'quantity': line.quantity,
'lot': lot.id,
})
return 'end'
class MoveAddLotsStart(ModelView):
"Add Lots"
__name__ = 'stock.move.add.lots.start'
product = fields.Many2One('product.product', "Product", readonly=True)
quantity = fields.Float("Quantity", digits='unit', readonly=True)
unit = fields.Many2One('product.uom', "Unit", readonly=True)
quantity_remaining = fields.Function(
fields.Float("Quantity Remaining", digits='unit'),
'on_change_with_quantity_remaining')
lots = fields.One2Many(
'stock.move.add.lots.start.lot', 'parent', "Lots",
domain=[
('product', '=', Eval('product', -1)),
],
states={
'readonly': ~Eval('quantity_remaining', 0),
})
duplicate_lot_number = fields.Integer(
"Duplicate Lot Number",
states={
'invisible': Len(Eval('lots')) != 1,
},
help="The number of times the lot must be duplicated.")
@classmethod
def __setup__(cls):
super().__setup__()
cls._buttons.update(
duplicate_lot={
'invisible': Len(Eval('lots')) != 1,
'readonly': (~Eval('duplicate_lot_number')
| (Eval('duplicate_lot_number', 0) <= 0)),
'depends': ['lots', 'duplicate_lot_number'],
},
)
@fields.depends('quantity', 'lots', 'unit')
def on_change_with_quantity_remaining(self, name=None):
if self.quantity is not None:
quantity = self.quantity
if self.lots:
for lot in self.lots:
quantity -= getattr(lot, 'quantity', 0) or 0
if self.unit:
quantity = self.unit.round(quantity)
return quantity
@ModelView.button_change(
'lots', 'duplicate_lot_number',
methods=['on_change_with_quantity_remaining'])
def duplicate_lot(self):
lots = list(self.lots)
template, = self.lots
for i in range(self.duplicate_lot_number):
lot = copy(template)
lot._id = None
lots.append(lot)
self.lots = lots
self.quantity_remaining = self.on_change_with_quantity_remaining()
class MoveAddLotsStartLot(ModelView, LotMixin):
"Add Lots"
__name__ = 'stock.move.add.lots.start.lot'
parent = fields.Many2One('stock.move.add.lots.start', "Parent")
quantity = fields.Float("Quantity", digits='quantity_unit', required=True)
quantity_unit = fields.Function(
fields.Many2One('product.uom', "Unit"), 'on_change_with_quantity_unit')
@fields.depends(
'parent', '_parent_parent.quantity_remaining')
def on_change_parent(self):
if (self.parent
and self.parent.quantity_remaining is not None):
self.quantity = self.parent.quantity_remaining
@fields.depends('parent', '_parent_parent.unit')
def on_change_with_quantity_unit(self, name=None):
if self.parent and self.parent.unit:
return self.parent.unit.id
@fields.depends('number', 'product', methods=['_set_lot_values'])
def on_change_number(self):
pool = Pool()
Lot = pool.get('stock.lot')
if self.number and self.product:
lots = Lot.search([
('number', '=', self.number),
('product', '=', self.product.id),
])
if len(lots) == 1:
lot, = lots
self._set_lot_values(lot)
def _set_lot_values(self, lot):
pass
def get_lot(self, move):
pool = Pool()
Lot = pool.get('stock.lot')
values = self._get_lot_values(move)
lots = Lot.search(
[(k, '=', v) for k, v in values.items()],
limit=1)
if lots:
lot, = lots
else:
lot = Lot()
for k, v in values.items():
setattr(lot, k, v)
return lot
def _get_lot_values(self, move):
return {
'number': self.number,
'product': move.product,
}
class ShipmentCheckQuantity:
"Check quantities per lot between source and target moves"
__slots__ = ()
def check_quantity(self):
pool = Pool()
Warning = pool.get('res.user.warning')
Lang = pool.get('ir.lang')
lang = Lang.get()
super().check_quantity()
products_with_lot = set()
source_qties = defaultdict(float)
for move in self._check_quantity_source_moves:
if move.lot:
products_with_lot.add(move.product)
source_qties[move.lot] += move.internal_quantity
target_qties = defaultdict(float)
for move in self._check_quantity_target_moves:
if move.lot:
target_qties[move.lot] += move.internal_quantity
diffs = {}
for lot, incoming_qty in target_qties.items():
if (lot not in source_qties
and lot.product not in products_with_lot):
continue
unit = lot.product.default_uom
incoming_qty = unit.round(incoming_qty)
inventory_qty = unit.round(source_qties.pop(lot, 0))
diff = inventory_qty - incoming_qty
if diff:
diffs[lot] = diff
if diffs:
warning_name = Warning.format(
'check_quantity_lot', [self])
if Warning.check(warning_name):
quantities = []
for lot, quantity in diffs.items():
quantity = lang.format_number_symbol(
quantity, lot.product.default_uom)
quantities.append(f"{lot.rec_name}: {quantity}")
raise ShipmentCheckQuantityWarning(warning_name,
gettext(
'stock.msg_shipment_check_quantity',
shipment=self.rec_name,
quantities=', '.join(quantities)))
class ShipmentIn(ShipmentCheckQuantity, metaclass=PoolMeta):
__name__ = 'stock.shipment.in'
def _get_inventory_move(self, incoming_move):
move = super()._get_inventory_move(incoming_move)
if move and incoming_move.lot:
move.lot = incoming_move.lot
return move
class ShipmentOut(ShipmentCheckQuantity, metaclass=PoolMeta):
__name__ = 'stock.shipment.out'
def _get_inventory_move(self, outgoing_move):
move = super()._get_inventory_move(outgoing_move)
if move and outgoing_move.lot:
move.lot = outgoing_move.lot
return move
def _sync_move_key(self, move):
return super()._sync_move_key(move) + (('lot', move.lot),)
class ShipmentOutReturn(ShipmentCheckQuantity, metaclass=PoolMeta):
__name__ = 'stock.shipment.out.return'
def _get_inventory_move(self, incoming_move):
move = super()._get_inventory_move(incoming_move)
if move and incoming_move.lot:
move.lot = incoming_move.lot
return move
class ShipmentInternal(ShipmentCheckQuantity, metaclass=PoolMeta):
__name__ = 'stock.shipment.internal'
def _sync_move_key(self, move):
return super()._sync_move_key(move) + (('lot', move.lot),)
class ShipmentDrop(ShipmentCheckQuantity, metaclass=PoolMeta):
__name__ = 'stock.shipment.drop'
def _sync_move_key(self, move):
return super()._sync_move_key(move) + (('lot', move.lot),)
class Period(metaclass=PoolMeta):
__name__ = 'stock.period'
lot_caches = fields.One2Many('stock.period.cache.lot', 'period',
'Lot Caches', readonly=True)
@classmethod
def groupings(cls):
return super(Period, cls).groupings() + [('product', 'lot')]
@classmethod
def get_cache(cls, grouping):
pool = Pool()
Cache = super(Period, cls).get_cache(grouping)
if grouping == ('product', 'lot'):
return pool.get('stock.period.cache.lot')
return Cache
class PeriodCacheLot(ModelSQL, ModelView):
'''
Stock Period Cache per Lot
It is used to store cached computation of stock quantities per lot.
'''
__name__ = 'stock.period.cache.lot'
period = fields.Many2One(
'stock.period', "Period",
required=True, readonly=True, ondelete='CASCADE')
location = fields.Many2One(
'stock.location', "Location",
required=True, readonly=True, ondelete='CASCADE')
product = fields.Many2One('product.product', 'Product', required=True,
readonly=True, ondelete='CASCADE')
lot = fields.Many2One('stock.lot', 'Lot', readonly=True,
ondelete='CASCADE')
internal_quantity = fields.Float('Internal Quantity', readonly=True)
@classmethod
def __setup__(cls):
super().__setup__()
t = cls.__table__()
cls._sql_indexes.update({
Index(
t,
(t.period, Index.Equality()),
(t.product, Index.Equality()),
(t.lot, Index.Equality()),
include=[t.internal_quantity]),
Index(
t,
(t.location, Index.Equality())),
})
class Inventory(metaclass=PoolMeta):
__name__ = 'stock.inventory'
@classmethod
def grouping(cls):
return super(Inventory, cls).grouping() + ('lot', )
class InventoryLine(metaclass=PoolMeta):
__name__ = 'stock.inventory.line'
lot = fields.Many2One('stock.lot', 'Lot',
domain=[
('product', '=', Eval('product')),
],
states={
'readonly': Eval('inventory_state') != 'draft',
})
@classmethod
def __setup__(cls):
super(InventoryLine, cls).__setup__()
cls._order.insert(1, ('lot', 'ASC'))
def get_rec_name(self, name):
rec_name = super(InventoryLine, self).get_rec_name(name)
if self.lot:
rec_name += ' - %s' % self.lot.rec_name
return rec_name
def get_move(self):
move = super(InventoryLine, self).get_move()
if move:
move.lot = self.lot
return move
class InventoryCount(metaclass=PoolMeta):
__name__ = 'stock.inventory.count'
def default_quantity(self, fields):
pool = Pool()
Product = pool.get('product.product')
inventory = self.record
if isinstance(self.search.search, Product):
product = self.search.search
if product.lot_is_required(
inventory.location, inventory.location.lost_found_used):
raise RequiredValidationError(
gettext('stock_lot.msg_only_lot',
product=product.rec_name))
return super(InventoryCount, self).default_quantity(fields)
def get_line_domain(self, inventory):
pool = Pool()
Lot = pool.get('stock.lot')
domain = super(InventoryCount, self).get_line_domain(inventory)
if isinstance(self.search.search, Lot):
domain.append(('lot', '=', self.search.search.id))
return domain
def get_line_values(self, inventory):
pool = Pool()
Lot = pool.get('stock.lot')
values = super(InventoryCount, self).get_line_values(inventory)
if isinstance(self.search.search, Lot):
lot = self.search.search
values['product'] = lot.product.id
values['lot'] = lot.id
return values
class InventoryCountSearch(metaclass=PoolMeta):
__name__ = 'stock.inventory.count.search'
@classmethod
def __setup__(cls):
super(InventoryCountSearch, cls).__setup__()
cls.search.selection.append(('stock.lot', "Lot"))

421
modules/stock_lot/stock.xml Executable file
View File

@@ -0,0 +1,421 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.ui.view" id="lot_view_form">
<field name="model">stock.lot</field>
<field name="type">form</field>
<field name="name">lot_form</field>
</record>
<record model="ir.ui.view" id="lot_view_tree">
<field name="model">stock.lot</field>
<field name="type">tree</field>
<field name="name">lot_tree</field>
</record>
<record model="ir.action.act_window" id="act_lot_form">
<field name="name">Lots</field>
<field name="res_model">stock.lot</field>
</record>
<record model="ir.action.act_window.view" id="act_lot_form_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="lot_view_tree"/>
<field name="act_window" ref="act_lot_form"/>
</record>
<record model="ir.action.act_window.view" id="act_lot_form_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="lot_view_form"/>
<field name="act_window" ref="act_lot_form"/>
</record>
<menuitem
parent="stock.menu_stock"
action="act_lot_form"
sequence="50"
id="menu_lot_form"/>
<record model="ir.action.act_window" id="act_lot_form_product_relate">
<field name="name">Lots</field>
<field name="res_model">stock.lot</field>
<field
name="domain"
eval="[If(Eval('active_ids', []) == [Eval('active_id')], (If(Eval('active_model') == 'product.template', 'product.template', 'product'), '=', Eval('active_id', -1)), (If(Eval('active_model') == 'product.template', 'product.template', 'product'), 'in', Eval('active_ids', [])))]"
pyson="1"/>
</record>
<record model="ir.action.act_window.view" id="act_lot_form_product_relate_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="lot_view_tree"/>
<field name="act_window" ref="act_lot_form_product_relate"/>
</record>
<record model="ir.action.act_window.view" id="act_lot_form_product_relate_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="lot_view_form"/>
<field name="act_window" ref="act_lot_form_product_relate"/>
</record>
<record model="ir.action.keyword" id="act_lot_form_product_relate_keyword1">
<field name="keyword">form_relate</field>
<field name="model">product.product,-1</field>
<field name="action" ref="act_lot_form_product_relate"/>
</record>
<record model="ir.action.keyword" id="act_lot_form_product_relate_keyword2">
<field name="keyword">form_relate</field>
<field name="model">product.template,-1</field>
<field name="action" ref="act_lot_form_product_relate"/>
</record>
<record model="ir.model.access" id="access_lot">
<field name="model">stock.lot</field>
<field name="perm_read" eval="False"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_lot_group_stock">
<field name="model">stock.lot</field>
<field name="group" ref="stock.group_stock"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_delete" eval="True"/>
</record>
<record model="ir.model.button" id="lot_upward_traces_button">
<field name="model">stock.lot</field>
<field name="name">upward_traces</field>
<field name="string">Upward Traces</field>
</record>
<record model="ir.model.button" id="lot_downward_traces_button">
<field name="model">stock.lot</field>
<field name="name">downward_traces</field>
<field name="string">Downward Traces</field>
</record>
<record model="ir.ui.view" id="lot_trace_view_tree_upward">
<field name="model">stock.lot.trace</field>
<field name="type">tree</field>
<field name="field_childs">upward_traces</field>
<field name="name">lot_trace_tree</field>
</record>
<record model="ir.ui.view" id="lot_trace_view_tree_downward">
<field name="model">stock.lot.trace</field>
<field name="type">tree</field>
<field name="field_childs">downward_traces</field>
<field name="name">lot_trace_tree</field>
</record>
<record model="ir.action.act_window" id="act_lot_trace_upward_relate">
<field name="name">Upward Traces</field>
<field name="res_model">stock.lot.trace</field>
<field
name="domain"
eval="[('lot', 'in', Eval('active_ids', []))]"
pyson="1"/>
<field
name="order"
eval="[('date', 'ASC'), ('id', 'ASC')]"
pyson="1"/>
</record>
<record model="ir.action.act_window.view" id="act_lot_trace_upward_relate_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="lot_trace_view_tree_upward"/>
<field name="act_window" ref="act_lot_trace_upward_relate"/>
</record>
<record model="ir.action.keyword" id="act_lot_trace_upward_relate_keyword1">
<field name="keyword">form_relate</field>
<field name="model">stock.lot,-1</field>
<field name="action" ref="act_lot_trace_upward_relate"/>
</record>
<record model="ir.action.act_window" id="act_lot_trace_downward_relate">
<field name="name">Downward Traces</field>
<field name="res_model">stock.lot.trace</field>
<field
name="domain"
eval="[('lot', 'in', Eval('active_ids', []))]"
pyson="1"/>
<field
name="order"
eval="[('date', 'DESC'), ('id', 'DESC')]"
pyson="1"/>
</record>
<record model="ir.action.act_window.view" id="act_lot_trace_downward_relate_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="lot_trace_view_tree_downward"/>
<field name="act_window" ref="act_lot_trace_downward_relate"/>
</record>
<record model="ir.action.keyword" id="act_lot_trace_downward_relate_keyword1">
<field name="keyword">form_relate</field>
<field name="model">stock.lot,-1</field>
<field name="action" ref="act_lot_trace_downward_relate"/>
</record>
<record model="ir.rule.group" id="rule_group_lot_trace_companies">
<field name="name">User in companies</field>
<field name="model">stock.lot.trace</field>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_lot_trace_companies">
<field
name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_lot_trace_companies"/>
</record>
<record model="ir.model.access" id="access_lot_trace">
<field name="model">stock.lot.trace</field>
<field name="perm_read" eval="False"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_lot_trace_group_stock">
<field name="model">stock.lot.trace</field>
<field name="group" ref="stock.group_stock"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.ui.view" id="lots_by_location_context_view_form">
<field name="model">stock.lots_by_location.context</field>
<field name="type">form</field>
<field name="name">lot_by_location_context_form</field>
</record>
<record model="ir.ui.view" id="lots_by_locations_view_list">
<field name="model">stock.lots_by_locations</field>
<field name="type">tree</field>
<field name="name">lots_by_locations_list</field>
</record>
<record model="ir.model.access" id="access_lots_by_locations">
<field name="model">stock.lots_by_locations</field>
<field name="perm_read" eval="False"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_lots_by_locations_group_stock">
<field name="model">stock.lots_by_locations</field>
<field name="group" ref="stock.group_stock"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.action.act_window" id="act_lots_by_locations_relate">
<field name="name">Lots by Locations</field>
<field name="res_model">stock.lots_by_locations</field>
<field name="context" eval="{'locations': Eval('active_ids')}" pyson="1"/>
<field name="domain"
eval="['OR', ('quantity', '!=', 0.0), ('forecast_quantity', '!=', 0.0)]"
pyson="1"/>
<field name="context_model">stock.lots_by_location.context</field>
</record>
<record model="ir.action.act_window.view" id="act_lots_by_locations_relate_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="lots_by_locations_view_list"/>
<field name="act_window" ref="act_lots_by_locations_relate"/>
</record>
<record model="ir.action.keyword" id="act_lots_by_locations_relate_keyword1">
<field name="keyword">tree_open</field>
<field name="model">stock.location,-1</field>
<field name="action" ref="act_lots_by_locations_relate"/>
</record>
<record model="ir.action.keyword" id="act_lots_by_locations_relate_keyword2">
<field name="keyword">form_relate</field>
<field name="model">stock.location,-1</field>
<field name="action" ref="act_lots_by_locations_relate"/>
</record>
<record model="ir.ui.view" id="lots_by_warehouse_context_view_form">
<field name="model">stock.lots_by_warehouse.context</field>
<field name="inherit" ref="lots_by_location_context_view_form"/>
<field name="name">lot_by_warehouse_context_form</field>
</record>
<record model="ir.action.act_window" id="act_lots_by_warehouse_relate">
<field name="name">Lots By Warehouse</field>
<field name="res_model">stock.lots_by_locations</field>
<field
name="domain"
eval="[If(Eval('active_ids', []) == [Eval('active_id')], (If(Eval('active_model') == 'product.template', 'product.template', 'product'), '=', Eval('active_id', -1)), (If(Eval('active_model') == 'product.template', 'product.template', 'product'), 'in', Eval('active_ids', []))), ['OR', ('quantity', '!=', 0.0), ('forecast_quantity', '!=', 0.0)]]"
pyson="1"/>
<field name="search_value"
eval="None" />
<field name="context_model">stock.lots_by_warehouse.context</field>
</record>
<record model="ir.action.act_window.view" id="act_lots_by_warehouse_relate_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="lots_by_locations_view_list"/>
<field name="act_window" ref="act_lots_by_warehouse_relate"/>
</record>
<record model="ir.action.keyword" id="act_lots_by_warehouse_relate_keyword1">
<field name="keyword">form_relate</field>
<field name="model">product.template,-1</field>
<field name="action" ref="act_lots_by_warehouse_relate"/>
</record>
<record model="ir.action.keyword" id="act_lots_by_warehouse_relate_keyword2">
<field name="keyword">form_relate</field>
<field name="model">product.product,-1</field>
<field name="action" ref="act_lots_by_warehouse_relate"/>
</record>
<record model="ir.action.act_window" id="act_location_quantity_tree">
<field name="name">Locations Tree Quantity</field>
<field name="res_model">stock.location</field>
<field name="domain" eval="[('parent', '=', None)]" pyson="1"/>
<field
name="context"
eval="{'lot': Eval('active_id'), 'stock_skip_warehouse': False}"
pyson="1"/>
<field name="context_model">stock.lots_by_location.context</field>
</record>
<record model="ir.action.act_window.view" id="act_location_quantity_tree_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="stock.location_quantity_view_tree"/>
<field name="act_window" ref="act_location_quantity_tree"/>
</record>
<record model="ir.action.keyword" id="act_location_quantity_tree_keyword1">
<field name="keyword">form_relate</field>
<field name="model">stock.lot,-1</field>
<field name="action" ref="act_location_quantity_tree"/>
</record>
<record model="ir.action.act_window" id="act_location_quantity_list">
<field name="name">Locations List Quantity</field>
<field name="res_model">stock.location</field>
<field name="search_value" eval="['OR', ('quantity', '!=', 0), ('forecast_quantity', '!=', 0)]" pyson="1"/>
<field
name="context"
eval="{'lot': Eval('active_id'), 'with_childs': False, 'stock_skip_warehouse': False}"
pyson="1"/>
<field name="context_model">stock.lots_by_location.context</field>
</record>
<record model="ir.action.act_window.view" id="act_location_quantity_list_view">
<field name="sequence" eval="10"/>
<field name="view" ref="stock.location_quantity_view_list"/>
<field name="act_window" ref="act_location_quantity_list"/>
</record>
<record model="ir.action.keyword" id="act_location_quantity_list_keyword1">
<field name="keyword">form_relate</field>
<field name="model">stock.lot,-1</field>
<field name="action" ref="act_location_quantity_list"/>
</record>
<record model="ir.ui.view" id="move_view_form">
<field name="model">stock.move</field>
<field name="inherit" ref="stock.move_view_form"/>
<field name="name">move_form</field>
</record>
<record model="ir.ui.view" id="move_view_tree">
<field name="model">stock.move</field>
<field name="inherit" ref="stock.move_view_tree"/>
<field name="name">move_tree</field>
</record>
<record model="ir.ui.view" id="move_view_list_shipment_in">
<field name="model">stock.move</field>
<field name="inherit" ref="stock.move_view_list_shipment_in"/>
<field name="name">move_tree</field>
</record>
<record model="ir.ui.view" id="move_view_list_shipment">
<field name="model">stock.move</field>
<field name="inherit" ref="stock.move_view_list_shipment"/>
<field name="name">move_tree</field>
</record>
<record model="ir.model.button" id="move_add_lots_wizard_button">
<field name="model">stock.move</field>
<field name="name">add_lots_wizard</field>
<field name="string">Add Lots</field>
</record>
<record model="ir.action.wizard" id="wizard_move_add_lots">
<field name="name">Add Lots</field>
<field name="wiz_name">stock.move.add.lots</field>
<field name="model">stock.move</field>
</record>
<record model="ir.ui.view" id="move_add_lots_start_view_form">
<field name="model">stock.move.add.lots.start</field>
<field name="type">form</field>
<field name="name">stock_move_add_lots_start_form</field>
</record>
<record model="ir.ui.view" id="move_add_lots_start_lot_view_list">
<field name="model">stock.move.add.lots.start.lot</field>
<field name="type">tree</field>
<field name="name">stock_move_add_lots_start_lot_list</field>
</record>
<record model="ir.model.button" id="move_add_lots_start_duplicate_lot_button">
<field name="model">stock.move.add.lots.start</field>
<field name="name">duplicate_lot</field>
<field name="string">Duplicate Lot</field>
</record>
<record model="ir.ui.view" id="period_cache_lot_view_form">
<field name="model">stock.period.cache.lot</field>
<field name="type">form</field>
<field name="name">period_cache_lot_form</field>
</record>
<record model="ir.ui.view" id="period_cache_lot_view_list">
<field name="model">stock.period.cache.lot</field>
<field name="type">tree</field>
<field name="name">period_cache_lot_list</field>
</record>
<record model="ir.model.access" id="access_period_cache_lot">
<field name="model">stock.period.cache.lot</field>
<field name="perm_read" eval="False"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_period_cache_lot_stock">
<field name="model">stock.period.cache.lot</field>
<field name="group" ref="stock.group_stock"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_period_cache_lot_admin">
<field name="model">stock.period.cache.lot</field>
<field name="group" ref="stock.group_stock_admin"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_delete" eval="True"/>
</record>
<record model="ir.ui.view" id="inventory_line_view_form">
<field name="model">stock.inventory.line</field>
<field name="inherit" ref="stock.inventory_line_view_form"/>
<field name="name">inventory_line_form</field>
</record>
<record model="ir.ui.view" id="inventory_line_view_tree">
<field name="model">stock.inventory.line</field>
<field name="inherit" ref="stock.inventory_line_view_tree"/>
<field name="name">inventory_line_tree</field>
</record>
<record model="ir.ui.view" id="inventory_line_view_list_simple">
<field name="model">stock.inventory.line</field>
<field name="inherit" ref="stock.inventory_line_view_list_simple"/>
<field name="name">inventory_line_tree</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,2 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.

Binary file not shown.

View File

@@ -0,0 +1,121 @@
=================================
Stock Lot Assign Request Scenario
=================================
Imports::
>>> import datetime as dt
>>> from decimal import Decimal
>>> from proteus import Model
>>> from trytond.modules.company.tests.tools import create_company, get_company
>>> from trytond.tests.tools import activate_modules
>>> today = dt.date.today()
Activate modules::
>>> config = activate_modules('stock_lot')
>>> Inventory = Model.get('stock.inventory')
>>> Location = Model.get('stock.location')
>>> Lot = Model.get('stock.lot')
>>> Party = Model.get('party.party')
>>> ProductTemplate = Model.get('product.template')
>>> ProductUom = Model.get('product.uom')
>>> ShipmentOut = Model.get('stock.shipment.out')
Create company::
>>> _ = create_company()
>>> company = get_company()
Create customer::
>>> customer = Party(name='Customer')
>>> customer.save()
Create product::
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
>>> template = ProductTemplate()
>>> template.name = 'Product'
>>> template.default_uom = unit
>>> template.type = 'goods'
>>> template.list_price = Decimal('20')
>>> template.save()
>>> product, = template.products
Create lot::
>>> lot = Lot()
>>> lot.number = 'LOT'
>>> lot.product = product
>>> lot.save()
Get stock locations::
>>> warehouse_loc, = Location.find([('code', '=', 'WH')])
>>> supplier_loc, = Location.find([('code', '=', 'SUP')])
>>> customer_loc, = Location.find([('code', '=', 'CUS')])
>>> output_loc, = Location.find([('code', '=', 'OUT')])
>>> storage_loc, = Location.find([('code', '=', 'STO')])
>>> zone1 = Location(name='Zone1')
>>> zone1.parent = storage_loc
>>> zone1.type = 'storage'
>>> zone1.save()
>>> zone2, = zone1.duplicate(default={'name': 'Zone2'})
Add product quantities on zones storage locations::
>>> inventory = Inventory()
>>> inventory.location = zone1
>>> inventory_line = inventory.lines.new(product=product)
>>> inventory_line.quantity = 100.0
>>> inventory_line.expected_quantity = 0.0
>>> inventory.click('confirm')
>>> inventory.state
'done'
>>> inventory = Inventory()
>>> inventory.location = zone2
>>> inventory_line = inventory.lines.new()
>>> inventory_line.product = product
>>> inventory_line.lot = lot
>>> inventory_line.quantity = 100.0
>>> inventory_line.expected_quantity = 0.0
>>> inventory.click('confirm')
>>> inventory.state
'done'
Create shipment out::
>>> shipment = ShipmentOut()
>>> shipment.planned_date = today
>>> shipment.customer = customer
>>> shipment.warehouse = warehouse_loc
>>> shipment.company = company
>>> move = shipment.outgoing_moves.new()
>>> move.product = product
>>> move.unit = unit
>>> move.quantity = 10
>>> move.from_location = output_loc
>>> move.to_location = customer_loc
>>> move.company = company
>>> move.unit_price = Decimal('1')
>>> move.currency = company.currency
>>> shipment.click('wait')
Request specific lot in stock assignation::
>>> move, = shipment.inventory_moves
>>> move.lot = lot
>>> move.save()
Assign the shipment::
>>> shipment.click('assign_try')
>>> shipment.state
'assigned'
>>> move, = shipment.inventory_moves
>>> move.from_location.name
'Zone2'

View File

@@ -0,0 +1,111 @@
===========================
Stock Lot Move Add Scenario
===========================
Imports::
>>> from decimal import Decimal
>>> from proteus import Model
>>> from trytond.modules.company.tests.tools import create_company, get_company
>>> from trytond.tests.tools import activate_modules, assertEqual
Activate modules::
>>> modules = ['stock_lot']
>>> if globals().get('stock_split', False):
... modules.append('stock_split')
>>> config = activate_modules(modules)
Create company::
>>> _ = create_company()
>>> company = get_company()
Create product::
>>> ProductUom = Model.get('product.uom')
>>> ProductTemplate = Model.get('product.template')
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
>>> template = ProductTemplate()
>>> template.name = 'Product'
>>> template.default_uom = unit
>>> template.type = 'goods'
>>> template.list_price = Decimal('20')
>>> template.save()
>>> product, = template.products
Get stock locations::
>>> Location = Model.get('stock.location')
>>> storage_loc, = Location.find([('code', '=', 'STO')])
>>> customer_loc, = Location.find([('code', '=', 'CUS')])
Create a move::
>>> Move = Model.get('stock.move')
>>> move = Move()
>>> move.from_location = storage_loc
>>> move.to_location = customer_loc
>>> move.product = product
>>> move.quantity = 10
>>> move.unit_price = Decimal('20')
>>> move.currency = company.currency
>>> move.save()
Create a lot::
>>> Lot = Model.get('stock.lot')
>>> lot2 = Lot(number='02', product=product)
>>> lot2.save()
Add few lots::
>>> add_lots = move.click('add_lots_wizard')
>>> assertEqual(add_lots.form.product, product)
>>> add_lots.form.quantity
10.0
>>> assertEqual(add_lots.form.unit, unit)
>>> add_lots.form.quantity_remaining
10.0
>>> lot = add_lots.form.lots.new()
>>> lot.quantity
10.0
>>> lot.number = '01'
>>> lot.quantity = 2
>>> lot = add_lots.form.lots.new()
>>> lot.quantity
8.0
>>> lot.number = '02'
>>> lot.quantity = 1
>>> add_lots.execute('add')
Check moves::
>>> move, = Move.find([('lot.number', '=', '01')])
>>> move.quantity
2.0
>>> move, = Move.find([('lot.number', '=', '02')])
>>> move.quantity
1.0
>>> assertEqual(move.lot, lot2)
>>> move, = Move.find([('lot', '=', None)])
>>> move.quantity
7.0
Add lot to remaining::
>>> add_lots = move.click('add_lots_wizard')
>>> lot = add_lots.form.lots.new()
>>> lot.number = '03'
>>> add_lots.execute('add')
>>> len(Move.find([]))
3
>>> move.lot.number
'03'
>>> move.quantity
7.0

View File

@@ -0,0 +1,65 @@
=========================
Stock Lot Number Scenario
=========================
Imports::
>>> from proteus import Model
>>> from trytond.tests.tools import activate_modules, assertEqual
Activate modules::
>>> config = activate_modules('stock_lot')
Create lot sequence::
>>> Sequence = Model.get('ir.sequence')
>>> SequenceType = Model.get('ir.sequence.type')
>>> sequence_type, = SequenceType.find(
... [('name', '=', "Stock Lot")], limit=1)
>>> sequence = Sequence(name="Lot", sequence_type=sequence_type)
>>> sequence.save()
Set default sequence::
>>> Configuration = Model.get('product.configuration')
>>> configuration = Configuration(1)
>>> configuration.default_lot_sequence = sequence
>>> configuration.save()
Create product::
>>> ProductUom = Model.get('product.uom')
>>> ProductTemplate = Model.get('product.template')
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
>>> template = ProductTemplate()
>>> assertEqual(template.lot_sequence, sequence)
>>> template.name = 'Product'
>>> template.default_uom = unit
>>> template.type = 'goods'
>>> template.save()
>>> product, = template.products
Create lot without number::
>>> Lot = Model.get('stock.lot')
>>> lot = Lot(product=product)
>>> lot.save()
>>> lot.number
'1'
Copy set a new number::
>>> lot2, = lot.duplicate()
>>> lot2.number
'2'
Copy without sequence keep same number::
>>> template.lot_sequence = None
>>> template.save()
>>> lot3, = lot.duplicate()
>>> lot3.number
'1'

View File

@@ -0,0 +1,96 @@
==============================
Stock Lot Shipment In Scenario
==============================
Imports::
>>> from decimal import Decimal
>>> from proteus import Model
>>> from trytond.modules.company.tests.tools import create_company, get_company
>>> from trytond.tests.tools import activate_modules, assertEqual
Activate modules::
>>> config = activate_modules('stock_lot')
>>> Location = Model.get('stock.location')
>>> Lot = Model.get('stock.lot')
>>> Party = Model.get('party.party')
>>> ProductTemplate = Model.get('product.template')
>>> ProductUom = Model.get('product.uom')
>>> ShipmentIn = Model.get('stock.shipment.in')
Create company::
>>> _ = create_company()
>>> company = get_company()
Create supplier::
>>> supplier = Party(name='Supplier')
>>> supplier.save()
Create product::
>>> unit, = ProductUom.find([('name', '=', "Unit")])
>>> template = ProductTemplate()
>>> template.name = "Product"
>>> template.default_uom = unit
>>> template.type = 'goods'
>>> template.list_price = Decimal('20')
>>> template.save()
>>> product, = template.products
Get stock locations::
>>> supplier_loc, = Location.find([('code', '=', 'SUP')])
>>> input_loc, = Location.find([('code', '=', 'IN')])
>>> storage_loc, = Location.find([('code', '=', 'STO')])
Set 2 lots::
>>> lot1 = Lot(number="1", product=product)
>>> lot1.save()
>>> lot2 = Lot(number="2", product=product)
>>> lot2.save()
Create a shipment::
>>> shipment = ShipmentIn()
>>> shipment.supplier = supplier
>>> move = shipment.incoming_moves.new()
>>> move.product = product
>>> move.quantity = 10
>>> move.from_location = supplier_loc
>>> move.to_location = input_loc
>>> move.unit_price = Decimal('5')
>>> move.currency = company.currency
>>> shipment.save()
Receive the shipment with one lot::
>>> incoming_move, = shipment.incoming_moves
>>> incoming_move.lot = lot1
>>> shipment.click('receive')
>>> shipment.state
'received'
Change lot and try to finish::
>>> incoming_move, = shipment.inventory_moves
>>> assertEqual(incoming_move.lot, lot1)
>>> incoming_move.lot = lot2
>>> shipment.click('do')
Traceback (most recent call last):
...
ShipmentCheckQuantityWarning: ...
>>> incoming_move.reload()
>>> incoming_move.lot = lot1
>>> incoming_move.save()
Finish the shipment::
>>> shipment.click('do')
>>> shipment.state
'done'

View File

@@ -0,0 +1,159 @@
===============================
Stock Lot Shipment Out Scenario
===============================
Imports::
>>> import datetime as dt
>>> from decimal import Decimal
>>> from proteus import Model
>>> from trytond.modules.company.tests.tools import create_company, get_company
>>> from trytond.tests.tools import activate_modules, assertEqual
>>> today = dt.date.today()
Activate modules::
>>> config = activate_modules('stock_lot')
Create company::
>>> _ = create_company()
>>> company = get_company()
Create customer::
>>> Party = Model.get('party.party')
>>> customer = Party(name='Customer')
>>> customer.save()
Create product::
>>> ProductUom = Model.get('product.uom')
>>> ProductTemplate = Model.get('product.template')
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
>>> template = ProductTemplate()
>>> template.name = 'Product'
>>> template.default_uom = unit
>>> template.type = 'goods'
>>> template.list_price = Decimal('20')
>>> template.lot_required = ['storage']
>>> template.save()
>>> product, = template.products
Get stock locations::
>>> Location = Model.get('stock.location')
>>> warehouse_loc, = Location.find([('code', '=', 'WH')])
>>> supplier_loc, = Location.find([('code', '=', 'SUP')])
>>> customer_loc, = Location.find([('code', '=', 'CUS')])
>>> output_loc, = Location.find([('code', '=', 'OUT')])
>>> storage_loc, = Location.find([('code', '=', 'STO')])
Create Shipment Out::
>>> ShipmentOut = Model.get('stock.shipment.out')
>>> shipment_out = ShipmentOut()
>>> shipment_out.planned_date = today
>>> shipment_out.customer = customer
>>> shipment_out.warehouse = warehouse_loc
>>> shipment_out.company = company
>>> move = shipment_out.outgoing_moves.new()
>>> move.product = product
>>> move.unit = unit
>>> move.quantity = 10
>>> move.from_location = output_loc
>>> move.to_location = customer_loc
>>> move.company = company
>>> move.unit_price = Decimal('1')
>>> move.currency = company.currency
>>> shipment_out.save()
Set the shipment state to waiting::
>>> shipment_out.click('wait')
>>> len(shipment_out.outgoing_moves)
1
>>> len(shipment_out.inventory_moves)
1
Split inventory move::
>>> move, = shipment_out.inventory_moves
>>> move.quantity = 7
>>> move.save()
>>> with config.set_context(_stock_move_split=True):
... _ = move.duplicate(default=dict(quantity=3))
>>> shipment_out.reload()
Assign the shipment::
>>> shipment_out.click('assign_force')
>>> shipment_out.state
'assigned'
>>> len(shipment_out.outgoing_moves)
1
Check the inventory moves origin::
>>> outgoing_move, = shipment_out.outgoing_moves
>>> for move in shipment_out.inventory_moves:
... assertEqual(move.origin, outgoing_move)
Try to pick without lot::
>>> shipment_out.click('pick')
Traceback (most recent call last):
...
RequiredValidationError: ...
Set 2 lots::
>>> Lot = Model.get('stock.lot')
>>> for i, move in enumerate(shipment_out.inventory_moves, start=1):
... lot = Lot(number='%05i' % i, product=move.product)
... lot.save()
... move.lot = lot
>>> shipment_out.save()
Pick the shipment::
>>> shipment_out.click('pick')
>>> shipment_out.state
'picked'
>>> len(shipment_out.outgoing_moves)
3
>>> sorted([m.quantity for m in shipment_out.outgoing_moves])
[0.0, 3.0, 7.0]
>>> lot_quantities = {}
>>> for move in shipment_out.outgoing_moves:
... number = move.lot.number if move.lot else ''
... quantity = lot_quantities.setdefault(number, 0)
... lot_quantities[number] += move.quantity
>>> sorted(lot_quantities.items())
[('', 0.0), ('00001', 7.0), ('00002', 3.0)]
Check the inventory moves have an outgoing move origin with the same lot::
>>> for move in shipment_out.inventory_moves:
... assertEqual(move.lot, move.origin.lot)
Pack the shipment and return to pick::
>>> shipment_out.click('pack')
>>> shipment_out.state
'packed'
>>> len(shipment_out.outgoing_moves)
2
>>> shipment_out.click('pick')
>>> shipment_out.state
'picked'
>>> len(shipment_out.outgoing_moves)
2
Check the inventory moves still have an outgoing move origin with the same lot::
>>> for move in shipment_out.inventory_moves:
... assertEqual(move.lot, move.origin.lot)

View File

@@ -0,0 +1,137 @@
====================================
Stock Lot Shipment Internal Scenario
====================================
Imports::
>>> import datetime as dt
>>> from decimal import Decimal
>>> from proteus import Model
>>> from trytond.modules.company.tests.tools import create_company, get_company
>>> from trytond.tests.tools import activate_modules, assertEqual, assertTrue
>>> today = dt.date.today()
>>> yesterday = today - dt.timedelta(days=1)
>>> tomorrow = today + dt.timedelta(days=1)
Activate modules::
>>> config = activate_modules('stock_lot')
>>> LeadTime = Model.get('stock.location.lead_time')
>>> Location = Model.get('stock.location')
>>> Lot = Model.get('stock.lot')
>>> ProductTemplate = Model.get('product.template')
>>> ProductUom = Model.get('product.uom')
>>> Shipment = Model.get('stock.shipment.internal')
Create company::
>>> _ = create_company()
>>> company = get_company()
Create product::
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
>>> template = ProductTemplate()
>>> template.name = "Product"
>>> template.default_uom = unit
>>> template.type = 'goods'
>>> template.list_price = Decimal('20')
>>> template.save()
>>> product, = template.products
Get stock locations::
>>> warehouse1, = Location.find([('type', '=', 'warehouse')])
>>> warehouse2, = warehouse1.duplicate()
Add lead time between warehouses::
>>> lead_time = LeadTime()
>>> lead_time.warehouse_from = warehouse1
>>> lead_time.warehouse_to = warehouse2
>>> lead_time.lead_time = dt.timedelta(1)
>>> lead_time.save()
Create Internal Shipment with lead time::
>>> shipment = Shipment()
>>> shipment.planned_date = tomorrow
>>> shipment.from_location = warehouse1.storage_location
>>> shipment.to_location = warehouse2.storage_location
>>> assertTrue(shipment.transit_location)
>>> assertEqual(shipment.planned_start_date, today)
>>> move = shipment.moves.new()
>>> move.product = product
>>> move.quantity = 3
>>> move.from_location = shipment.from_location
>>> move.to_location = shipment.to_location
>>> shipment.save()
Set the shipment state to waiting::
>>> shipment.click('wait')
>>> shipment.state
'waiting'
>>> len(shipment.outgoing_moves)
1
>>> len(shipment.incoming_moves)
1
Split outgoing moves::
>>> move, = shipment.outgoing_moves
>>> move.quantity = 1
>>> move.save()
>>> with config.set_context(_stock_move_split=True):
... _ = move.duplicate(default=dict(quantity=2))
>>> shipment.reload()
Assign the shipment::
>>> shipment.click('assign_force')
>>> shipment.state
'assigned'
>>> len(shipment.incoming_moves)
1
Check the inventory moves origin::
>>> incoming_move, = shipment.incoming_moves
>>> for move in shipment.outgoing_moves:
... assertEqual(move.origin, incoming_move)
Set 2 lots::
>>> for i, move in enumerate(shipment.outgoing_moves, start=1):
... lot = Lot(number='%05i' % i, product=move.product)
... lot.save()
... move.lot = lot
>>> shipment.save()
Ship the shipment::
>>> shipment.effective_start_date = yesterday
>>> shipment.click('ship')
>>> shipment.state
'shipped'
>>> len(shipment.incoming_moves)
3
>>> sorted([m.quantity for m in shipment.incoming_moves])
[0.0, 1.0, 2.0]
>>> lot_quantities = {}
>>> for move in shipment.incoming_moves:
... number = move.lot.number if move.lot else ''
... quantity = lot_quantities.setdefault(number, 0)
... lot_quantities[number] += move.quantity
>>> sorted(lot_quantities.items())
[('', 0.0), ('00001', 1.0), ('00002', 2.0)]
Check the outgoing moves have an incoming move origin with the same lot::
>>> for move in shipment.outgoing_moves:
... assertEqual(move.lot, move.origin.lot)

View File

@@ -0,0 +1,84 @@
========================
Stock Lot Trace Scenario
========================
Imports::
>>> from decimal import Decimal
>>> from proteus import Model
>>> from trytond.modules.company.tests.tools import create_company, get_company
>>> from trytond.tests.tools import activate_modules
Activate modules::
>>> config = activate_modules('stock_lot')
>>> Location = Model.get('stock.location')
>>> Lot = Model.get('stock.lot')
>>> LotTrace = Model.get('stock.lot.trace')
>>> Move = Model.get('stock.move')
>>> ProductTemplate = Model.get('product.template')
>>> UoM = Model.get('product.uom')
Create company::
>>> _ = create_company()
>>> company = get_company()
Create product::
>>> unit, = UoM.find([('name', '=', "Unit")])
>>> template = ProductTemplate(name="Product")
>>> template.type = 'goods'
>>> template.default_uom = unit
>>> template.save()
>>> product, = template.products
Create lot::
>>> lot = Lot(product=product, number="1")
>>> lot.save()
Get locations::
>>> supplier_loc, = Location.find([('code', '=', 'SUP')])
>>> storage_loc, = Location.find([('code', '=', 'STO')])
>>> customer_loc, = Location.find([('code', '=', 'CUS')])
Make some moves::
>>> move_in = Move(product=product, lot=lot)
>>> move_in.quantity = 10
>>> move_in.from_location = supplier_loc
>>> move_in.to_location = storage_loc
>>> move_in.currency = company.currency
>>> move_in.unit_price = Decimal('0')
>>> move_in.click('do')
>>> move_in.state
'done'
>>> move_out = Move(product=product, lot=lot)
>>> move_out.quantity = 2
>>> move_out.from_location = storage_loc
>>> move_out.to_location = customer_loc
>>> move_out.currency = company.currency
>>> move_out.unit_price = Decimal('0')
>>> move_out.click('do')
>>> move_out.state
'done'
Check lot traces::
>>> trace = LotTrace(move_in.id)
>>> trace.upward_traces == [LotTrace(move_out.id)]
True
>>> trace.downward_traces
[]
>>> trace = LotTrace(move_out.id)
>>> trace.upward_traces
[]
>>> trace.downward_traces == [LotTrace(move_in.id)]
True

View File

@@ -0,0 +1,313 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import datetime as dt
from decimal import Decimal
from trytond.modules.company.tests import (
CompanyTestMixin, create_company, set_company)
from trytond.pool import Pool
from trytond.tests.test_tryton import ModuleTestCase, with_transaction
from trytond.transaction import Transaction
class StockLotTestCase(CompanyTestMixin, ModuleTestCase):
'Test Stock Lot module'
module = 'stock_lot'
extras = ['stock_split']
@with_transaction()
def test_products_by_location(self):
'Test products_by_location'
pool = Pool()
Uom = pool.get('product.uom')
Template = pool.get('product.template')
Product = pool.get('product.product')
Location = pool.get('stock.location')
Move = pool.get('stock.move')
Lot = pool.get('stock.lot')
kg, = Uom.search([('name', '=', 'Kilogram')])
g, = Uom.search([('name', '=', 'Gram')])
template, = Template.create([{
'name': 'Test products_by_location',
'type': 'goods',
'default_uom': kg.id,
}])
product, = Product.create([{
'template': template.id,
}])
supplier, = Location.search([('code', '=', 'SUP')])
customer, = Location.search([('code', '=', 'CUS')])
storage, = Location.search([('code', '=', 'STO')])
company = create_company()
currency = company.currency
with set_company(company):
lot1, lot2 = Lot.create([{
'number': '1',
'product': product.id,
}, {
'number': '2',
'product': product.id,
}])
moves = Move.create([{
'product': product.id,
'lot': lot1.id,
'unit': kg.id,
'quantity': 5,
'from_location': supplier.id,
'to_location': storage.id,
'company': company.id,
'unit_price': Decimal('1'),
'currency': currency.id,
}, {
'product': product.id,
'lot': lot2.id,
'unit': kg.id,
'quantity': 10,
'from_location': supplier.id,
'to_location': storage.id,
'company': company.id,
'unit_price': Decimal('1'),
'currency': currency.id,
}, {
'product': product.id,
'lot': lot2.id,
'unit': kg.id,
'quantity': 2,
'from_location': storage.id,
'to_location': customer.id,
'company': company.id,
'unit_price': Decimal('1'),
'currency': currency.id,
}, {
'product': product.id,
'lot': None,
'unit': kg.id,
'quantity': 3,
'from_location': supplier.id,
'to_location': storage.id,
'company': company.id,
'unit_price': Decimal('1'),
'currency': currency.id,
}])
Move.do(moves)
self.assertEqual(Product.products_by_location([storage.id],
grouping_filter=([product.id],)), {
(storage.id, product.id): 16,
})
self.assertEqual(Product.products_by_location([storage.id],
grouping=('product', 'lot',),
grouping_filter=([product.id],)), {
(storage.id, product.id, lot1.id): 5,
(storage.id, product.id, lot2.id): 8,
(storage.id, product.id, None): 3,
})
with Transaction().set_context(locations=[storage.id]):
lot1, lot2 = Lot.browse([lot1, lot2])
self.assertEqual(lot1.quantity, 5)
self.assertEqual(lot2.quantity, 8)
@with_transaction()
def test_period(self):
'Test period'
pool = Pool()
Uom = pool.get('product.uom')
Template = pool.get('product.template')
Product = pool.get('product.product')
Location = pool.get('stock.location')
Move = pool.get('stock.move')
Lot = pool.get('stock.lot')
Period = pool.get('stock.period')
unit, = Uom.search([('name', '=', 'Unit')])
template, = Template.create([{
'name': 'Test period',
'type': 'goods',
'default_uom': unit.id,
}])
product, = Product.create([{
'template': template.id,
}])
supplier, = Location.search([('code', '=', 'SUP')])
storage, = Location.search([('code', '=', 'STO')])
company = create_company()
currency = company.currency
with set_company(company):
lot1, lot2 = Lot.create([{
'number': '1',
'product': product.id,
}, {
'number': '2',
'product': product.id,
}])
today = dt.date.today()
moves = Move.create([{
'product': product.id,
'lot': lot1.id,
'unit': unit.id,
'quantity': 5,
'from_location': supplier.id,
'to_location': storage.id,
'planned_date': today - dt.timedelta(days=1),
'effective_date': today - dt.timedelta(days=1),
'company': company.id,
'unit_price': Decimal('1'),
'currency': currency.id,
}, {
'product': product.id,
'lot': lot2.id,
'unit': unit.id,
'quantity': 10,
'from_location': supplier.id,
'to_location': storage.id,
'planned_date': today - dt.timedelta(days=1),
'effective_date': today - dt.timedelta(days=1),
'company': company.id,
'unit_price': Decimal('1'),
'currency': currency.id,
}, {
'product': product.id,
'lot': None,
'unit': unit.id,
'quantity': 3,
'from_location': supplier.id,
'to_location': storage.id,
'planned_date': today - dt.timedelta(days=1),
'effective_date': today - dt.timedelta(days=1),
'company': company.id,
'unit_price': Decimal('1'),
'currency': currency.id,
}])
Move.do(moves)
period, = Period.create([{
'date': today - dt.timedelta(days=1),
'company': company.id,
}])
Period.close([period])
self.assertEqual(period.state, 'closed')
quantities = {
supplier: -18,
storage: 18,
}
for cache in period.caches:
self.assertEqual(cache.product, product)
self.assertEqual(cache.internal_quantity,
quantities[cache.location])
quantities = {
(supplier, lot1): -5,
(storage, lot1): 5,
(supplier, lot2): -10,
(storage, lot2): 10,
(supplier, None): -3,
(storage, None): 3,
}
for lot_cache in period.lot_caches:
self.assertEqual(lot_cache.product, product)
self.assertEqual(lot_cache.internal_quantity,
quantities[(lot_cache.location, lot_cache.lot)])
@with_transaction()
def test_assign_try_with_lot(self):
"Test Move assign_try with lot"
pool = Pool()
Template = pool.get('product.template')
Product = pool.get('product.product')
Uom = pool.get('product.uom')
Location = pool.get('stock.location')
Move = pool.get('stock.move')
Lot = pool.get('stock.lot')
unit, = Uom.search([('name', '=', 'Meter')])
template = Template(
name="Product",
type='goods',
default_uom=unit,
)
template.save()
product = Product(template=template.id)
product.save()
supplier, = Location.search([('code', '=', 'SUP')])
storage, = Location.search([('code', '=', 'STO')])
customer, = Location.search([('code', '=', 'CUS')])
company = create_company()
with set_company(company):
lot1, lot2 = Lot.create([{
'number': "1",
'product': product.id,
}, {
'number': "2",
'product': product.id,
}])
moves = Move.create([{
'product': product.id,
'lot': lot1.id,
'unit': unit.id,
'quantity': 2,
'from_location': supplier.id,
'to_location': storage.id,
'company': company.id,
'unit_price': Decimal(1),
'currency': company.currency.id,
}, {
'product': product.id,
'lot': lot2.id,
'unit': unit.id,
'quantity': 3,
'from_location': supplier.id,
'to_location': storage.id,
'company': company.id,
'unit_price': Decimal(1),
'currency': company.currency.id,
}, {
'product': product.id,
'lot': None,
'unit': unit.id,
'quantity': 3,
'from_location': supplier.id,
'to_location': storage.id,
'company': company.id,
'unit_price': Decimal(1),
'currency': company.currency.id,
}])
Move.do(moves)
move, = Move.create([{
'product': product.id,
'unit': unit.id,
'quantity': 10,
'from_location': storage.id,
'to_location': customer.id,
'company': company.id,
'unit_price': Decimal(1),
'currency': company.currency.id,
}])
self.assertFalse(
Move.assign_try([move], grouping=('product', 'lot')))
moves = Move.search([
('product', '=', product.id),
('from_location', '=', storage.id),
('to_location', '=', customer.id),
('company', '=', company.id),
])
self.assertEqual(len(moves), 4)
self.assertEqual({
(m.lot, m.quantity, m.state) for m in moves}, {
(lot1, 2, 'assigned'),
(lot2, 3, 'assigned'),
(None, 3, 'assigned'),
(None, 2, 'draft'),
})
del ModuleTestCase

View File

@@ -0,0 +1,8 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.tests.test_tryton import load_doc_tests
def load_tests(*args, **kwargs):
return load_doc_tests(__name__, __file__, *args, **kwargs)

14
modules/stock_lot/tryton.cfg Executable file
View File

@@ -0,0 +1,14 @@
[tryton]
version=7.2.3
depends:
ir
product
stock
extras_depend:
sale_supply_drop_shipment
stock_split
xml:
ir.xml
stock.xml
product.xml
message.xml

View File

@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="/form/field[@name='product']" position="after">
<label name="lot"/>
<field name="lot"/>
</xpath>
</data>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="/tree/field[@name='product']" position="after">
<field name="lot" expand="1"/>
</xpath>
</data>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="forecast_date"/>
<field name="forecast_date"/>
<field name="stock_date_end" invisible="1" colspan="4"/>
</form>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="//label[@name='forecast_date']" position="before">
<label name="warehouse"/>
<field name="warehouse"/>
<label name="stock_skip_warehouse"/>
<field name="stock_skip_warehouse"/>
</xpath>
<xpath expr="//field[@name='stock_date_end']" position="before">
<field name="locations" invisible="1" colspan="4"/>
</xpath>
</data>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="number"/>
<field name="number"/>
<group col="-1" colspan="2" id="checkboxes">
<label name="active"/>
<field name="active" xexpand="0" width="25"/>
</group>
<label name="product"/>
<field name="product"/>
<group id="relates" colspan="4" col="-1">
<button name="upward_traces" icon="tryton-arrow-up"/>
<button name="downward_traces" icon="tryton-arrow-down"/>
</group>
</form>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree>
<field name="document" expand="2"/>
<field name="product" expand="1"/>
<field name="lot" expand="1"/>
<field name="from_location" expand="1" optional="1"/>
<field name="to_location" expand="1" optional="1"/>
<field name="quantity" symbol="unit"/>
<field name="date"/>
</tree>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree>
<field name="number" expand="1"/>
<field name="product" expand="1"/>
</tree>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree>
<field name="lot" expand="1"/>
<field name="product" expand="1"/>
<field name="quantity" symbol="default_uom"/>
<field name="forecast_quantity" symbol="default_uom"/>
</tree>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="/form/field[@name='product']" position="after">
<label name="lot"/>
<field name="lot"/>
</xpath>
<xpath expr="/form/group[@id='buttons']" position="inside">
<button name="add_lots_wizard" icon="tryton-add"/>
</xpath>
</data>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="/tree/field[@name='product']" position="after">
<field name="lot" expand="1" optional="0"/>
</xpath>
<xpath expr="/tree" position="inside">
<button name="add_lots_wizard"/>
</xpath>
</data>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form col="8">
<label name="period"/>
<field name="period" colspan="6"/>
<label name="location"/>
<field name="location"/>
<label name="product"/>
<field name="product"/>
<label name="lot"/>
<field name="lot"/>
<label name="internal_quantity"/>
<field name="internal_quantity"/>
</form>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree>
<field name="period"/>
<field name="location"/>
<field name="product"/>
<field name="lot"/>
<field name="internal_quantity"/>
</tree>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="//field[@name='product_sequence']" position="after">
<label name="default_lot_sequence"/>
<field name="default_lot_sequence"/>
</xpath>
</data>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="product"/>
<field name="product" colspan="3"/>
<label name="quantity"/>
<field name="quantity" symbol="unit"/>
<label name="quantity_remaining" string="Remaining:"/>
<field name="quantity_remaining" symbol="unit"/>
<field name="lots" colspan="4"/>
<group col="-1" colspan="2" id="duplicate_lot">
<button name="duplicate_lot" icon="tryton-copy"/>
<field name="duplicate_lot_number" xexpand="0"/>
<label name="duplicate_lot_number" string="times"/>
</group>
</form>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree editable="1">
<field name="parent" expand="1"/>
<field name="number" expand="2"/>
<field name="product" expand="1"/>
<field name="quantity"/>
</tree>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="/form/notebook/page[@id='general']" position="after">
<page string="Lots" name="lot_required">
<label name="lot_required"/>
<field name="lot_required" yexpand="0"/>
<label name="lot_sequence"/>
<field name="lot_sequence"/>
</page>
</xpath>
</data>