first commit

This commit is contained in:
root
2026-03-14 09:42:12 +00:00
commit 0adbd20c2c
10991 changed files with 1646955 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
__all__ = ['LotSledMixin']
def __getattr__(name):
if name == 'LotSledMixin':
from .stock import LotSledMixin
return LotSledMixin
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")

View File

@@ -0,0 +1,12 @@
# 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.exceptions import UserError, UserWarning
class LotExpiredError(UserError):
pass
class LotExpiredWarning(UserWarning):
pass

View File

@@ -0,0 +1,260 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr "Крайна дата"
#, fuzzy
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr "Крайна дата"
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
#, fuzzy
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr "Крайна дата"
#, fuzzy
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr "Крайна дата"
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Крайна дата"
#, fuzzy
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr "Крайна дата"
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Крайна дата"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr "Крайна дата"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Крайна дата"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Крайна дата"
#, fuzzy
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr "В брой дни"
#, fuzzy
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr "В брой дни"
#, fuzzy
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr "В брой дни"
#, fuzzy
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr "В брой дни"
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Stock Force Expiration"
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr "Няма"
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "Задължителен"
#, fuzzy
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr "Няма"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "Задължителен"
#, fuzzy
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr "Няма"
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "Задължителен"
#, fuzzy
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr "Няма"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "Задължителен"
#, fuzzy
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr "Няма"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "Задължителен"
#, fuzzy
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Няма"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Задължителен"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr "Няма"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "Задължителен"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Няма"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Задължителен"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr ""
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,236 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr "Estat caducitat"
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr "Temps a caducar"
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "Estat vida útil"
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Temps vida útil"
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr "Estat caducitat"
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr "Temps a caducar"
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "Estat vida útil"
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Temps vida útil"
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "Retard de la vida útil"
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "Retard de la vida útil"
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Data caducitat"
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr "Estat caducitat"
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Data fi vida útil"
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Estat vida útil"
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Data caducitat"
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr "Estat caducitat"
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Data fi vida útil"
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Estat vida útil"
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr "En nombre de dies."
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr "En nombre de dies."
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr "En nombre de dies."
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr "En nombre de dies."
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr "El retard abans d'eliminar de les previsions."
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr "El retard abans d'eliminar de les previsions."
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
"No podeu modificar les dates de caducitat del lot \"%(lot)s\" perquè "
"s'utilitza en el moviment \"%(move)s\" d'un període tancat."
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
"No podeu processar el moviment \"%(move)s\" perquè el seu lot \"%(lot)s\" ha"
" expirat."
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
"No podeu tancar períodes abans de l'expiració del lot \"%(lot)s\" "
"(%(date)s)."
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Forçar caducitats a logística"
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr "Configuració del retard de la vida útil"
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr "Cap"
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "Obligatori"
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr "Cap"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "Obligatori"
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr "Cap"
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "Obligatori"
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr "Cap"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "Obligatori"
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr "Cap"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "Obligatori"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Cap"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Obligatori"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr "Cap"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "Obligatori"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Cap"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Obligatori"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr "Vida útil"
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr "Lot"

View File

@@ -0,0 +1,230 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Stock Force Expiration"
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr ""
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr ""
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,238 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr "Verfallsstatus"
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr "Verfallsdauer"
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "Mindesthaltbarkeitsstatus"
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Mindesthaltbarkeitsdauer"
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr "Verfallsstatus"
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr "Verfallsdauer"
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "Mindesthaltbarkeitsstatus"
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Haltbarkeitsdauer"
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "Aufschub Mindesthaltbarkeitsablauf"
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "Aufschub Mindesthaltbarkeitsablauf"
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Verfallsdatum"
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr "Verfallsstatus"
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Mindesthaltbarkeitsdatum"
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Mindesthaltbarkeitsstatus"
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Verfallsdatum"
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr "Verfallsstatus"
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Mindesthaltbarkeitsdatum"
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Mindesthaltbarkeitsstatus"
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr "In Tagen."
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr "In Tagen."
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr "In Tagen."
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr "In Tagen."
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr "Der Aufschub vor dem Entfernen aus der Bedarfsermittlung."
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr "Der Aufschub vor dem Entfernen aus der Bedarfsermittlung."
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
"Das Verfallsdatum von Charge \"%(lot)s\" kann nicht verändert werden, weil "
"sie in Warenbewegung \"%(move)s\" in einem geschlossenen "
"Lagerbuchungszeitraum verwendet wird."
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
"Die Warenbewegung \"%(move)s\" kann nicht ausgeführt werden, weil die "
"zugewiesene Charge \"%(lot)s\" abgelaufen ist."
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
"Lagerbuchungszeiträume können nicht vor Erreichen des "
"Mindesthaltbarkeitsdatums der Charge \"%(lot)s\" (%(date)s) geschlossen "
"werden."
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Lager Erzwingen bei Ablauf Mindesthaltbarkeit"
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr "Lagerort Charge Mindesthaltbarkeit"
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr "Keiner"
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr "Optional"
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "Erforderlich"
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr "Keiner"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr "Optional"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "Erforderlich"
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr "Keiner"
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr "Optional"
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "Erforderlich"
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr "Keiner"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr "Optional"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "Erforderlich"
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr "Keiner"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr "Optional"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "Erforderlich"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Keiner"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Optional"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Erforderlich"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr "Keiner"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr "Optional"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "Erforderlich"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Keiner"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Optional"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Erforderlich"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr "Mindesthaltbarkeit"
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr "Charge"

View File

@@ -0,0 +1,236 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr "Estado caducidad"
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr "Tiempo a caducar"
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "Estado vida útil"
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Tiempo vida útil"
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr "Estado caducidad"
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr "Tiempo a caducar"
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "Estado vida útil"
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Tiempo vida útil"
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "Retraso de la vida útil"
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "Retraso de la vida útil"
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Fecha caducidad"
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr "Estado caducidad"
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Fecha fin vida útil"
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Estado vida útil"
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Fecha caducidad"
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr "Estado caducidad"
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Fecha fin vida útil"
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Estado vida útil"
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr "En número de días."
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr "En número de días."
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr "En número de días."
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr "En número de días."
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr "El retraso antes de eliminar de las previsiones."
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr "El retraso antes de eliminar de las previsiones."
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
"No puede modificar las fechas de caducidad del lote \"%(lot)s\" porque se "
"utiliza en el movimento \"%(move)s\" en un periodo cerrado."
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
"No puede procesar el movimiento \"%(move)s\" porque su lote \"%(lot)s\" ha "
"expirado."
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
"No puede cerrar periodos antes de la expiración del lote \"%(lot)s\" "
"(%(date)s)."
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Forzar caducidades en logística"
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr "Configuración del retraso de la vida útil"
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr "Ninguno"
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "Obligatorio"
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr "Ninguno"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "Obligatorio"
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr "Ninguno"
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "Obligatorio"
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr "Ninguno"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "Obligatorio"
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr "Ninguno"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "Obligatorio"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Ninguno"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Obligatorio"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr "Ninguno"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "Obligatorio"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Ninguno"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Obligatorio"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr "Vida útil"
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr "Lote"

View File

@@ -0,0 +1,236 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr "Estado de caducidad"
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr "Tiempo de caducidad"
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "Estado de vida útil"
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Tiempo de vida útil"
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr "Estado de caducidad"
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr "Tiempo de caducidad"
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "Estado de vida útil"
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Tiempo de vida útil"
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Fecha de caducidad"
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr "Estado de caducidad"
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Fecha de caducidad de vida útil"
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Estado de caducidad de vida útil"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Fecha de caducidad"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr "Estado de caducidad"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Fecha de caducidad de vida útil"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Estado de caducidad de vida útil"
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr ""
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "Requerido"
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "Requerido"
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "Requerido"
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "Requerido"
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "Requerido"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Requerido"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "Requerido"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Requerido"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr ""
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,244 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr "Aegumise staatus"
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr "Aegumistähtaeg"
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr "Aegumise staatus"
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr "Aegumistähtaeg"
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Aegumistähtaeg"
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr "Aegumise staatus"
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Aegumistähtaeg"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr "Aegumise staatus"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Aegumistähtaeg"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Aegumise staatus"
#, fuzzy
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr "Päevades"
#, fuzzy
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr "Päevades"
#, fuzzy
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr "Päevades"
#, fuzzy
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr "Päevades"
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr ""
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr "Mitte"
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr "Valikuline"
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "Nõutud"
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr "Mitte"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr "Valikuline"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "Nõutud"
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr "Mitte"
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr "Valikuline"
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "Nõutud"
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr "Mitte"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr "Valikuline"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "Nõutud"
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr "Mitte"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr "Valikuline"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "Nõutud"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Mitte"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Valikuline"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Nõutud"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr "Mitte"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr "Valikuline"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "Nõutud"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Mitte"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Valikuline"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Nõutud"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr ""
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,250 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr "وضعیت انقضاء"
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr "زمان انقضاء"
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "وضعیت عمر مفید مصرف"
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "عمر مفید مصرف"
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr "وضعیت انقضاء"
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr "زمان انقضاء"
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "وضعیت عمر مفید مصرف"
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "عمر مفید مصرف"
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "عمر مفید تاخیر"
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "عمر مفید تاخیر"
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr "تاریخ انقضاء"
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr "وضعیت انقضاء"
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "عمر مفید تاریخ انقضاء"
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "وضعیت مفید تاریخ انقضاء"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr "تاریخ انقضاء"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr "وضعیت انقضاء"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "عمر مفید تاریخ انقضاء"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "وضعیت مفید تاریخ انقضاء"
#, fuzzy
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr "در تعداد روزها"
#, fuzzy
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr "در تعداد روزها"
#, fuzzy
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr "در تعداد روزها"
#, fuzzy
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr "در تعداد روزها"
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr "تاخیر قبل از حذف از پیش بینی."
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr "تاخیر قبل از حذف از پیش بینی."
#, fuzzy, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
"شما نمیتوانید تاریخ های انقضاء کالاهای: \"%s\" را تغییر دهید چونکه در "
"جابجایی : \"%s\" در دوره بسته شده استفاده شده است."
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
"شما نمیتوانید جابجایی :\"%(move)s\" را پردازش کنید، چراکه تاریخ اجناس "
":\"%(lot)s\" منقضی شده است."
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
"شما نمیتوانید دوره ها را قبل از انقضای اجناس :\"%(lot)s\" (%(date)s) ببندید."
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "تاریخ انقضاء موجودی"
#, fuzzy
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr "پیکربندی موجودی ؛ عمرمفید مصرف"
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr "هیجکدام"
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr "اختیاری"
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "مورد نیاز"
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr "هیجکدام"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr "اختیاری"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "مورد نیاز"
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr "هیجکدام"
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr "اختیاری"
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "مورد نیاز"
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr "هیجکدام"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr "اختیاری"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "مورد نیاز"
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr "هیجکدام"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr "اختیاری"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "مورد نیاز"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "هیجکدام"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "اختیاری"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "مورد نیاز"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr "هیجکدام"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr "اختیاری"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "مورد نیاز"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "هیجکدام"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "اختیاری"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "مورد نیاز"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr "عمر مفید مصرف"
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,230 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Stock Force Expiration"
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr ""
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr ""
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,236 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr "État d'expiration"
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr "Délai d'expiration"
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "État de durée limite d'utilisation optimale"
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Durée limite d'utilisation optimale"
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr "État d'expiration"
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr "Délai d'expiration"
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "État de durée limite d'utilisation optimale"
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Durée limite d'utilisation optimale"
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "Délai de durée limite d'utilisation optimale"
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "Délai de durée limite d'utilisation optimale"
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Date d'expiration"
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr "État d'expiration"
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Date limite d'utilisation optimale"
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "État de date limite d'utilisation optimale"
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Date d'expiration"
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr "État d'expiration"
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Date limite d'utilisation optimale"
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "État de date limite d'utilisation optimale"
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr "En nombre de jours."
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr "En nombre de jours."
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr "En nombre de jours."
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr "En nombre de jours."
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr "Le délai avant d'être retiré de la prévision."
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr "Le délai avant d'être retiré de la prévision."
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
"Vous ne pouvez pas modifier les dates d'expiration du lot « %(lot)s » car il"
" est utilisé sur un mouvement « %(move)s » d'une période clôturée."
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
"Vous ne pouvez pas traiter le mouvement « %(move)s » car son lot « %(lot)s »"
" a expiré."
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
"Vous ne pouvez pas clôturer les périodes avant l'expiration du lot "
"« %(lot)s » (%(date)s)."
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Force l'expiration des stocks"
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr "Durée d'utilisation optimale de lot par emplacement de stock"
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr "Aucune"
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr "Optionnelle"
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "Requise"
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr "Aucune"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr "Optionnelle"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "Requise"
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr "Aucune"
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr "Optionnelle"
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "Requis"
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr "Aucune"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr "Optionnel"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "Requis"
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr "Aucune"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr "Optionnelle"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "Requis"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Aucune"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Optionnelle"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Requis"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr "Aucune"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr "Optionnelle"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "Requise"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Aucun"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Optionnel"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Requis"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr "Limite d'utilisation optimale"
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr "Lot"

View File

@@ -0,0 +1,258 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr "Lejárat dátuma"
#, fuzzy
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr "Lejárat időpontja"
#, fuzzy
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "Raktáridő állapota"
#, fuzzy
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Raktáridő"
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr "Lejárat dátuma"
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr "Lejárat időpontja"
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "Raktáridő állapota"
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Raktáridő"
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "Raktáridő várakozás időtartama"
#, fuzzy
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "Raktáridő várakozás időtartama"
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Lejárati dátuma"
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr "Lejárati állapot"
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Raktáridő lejárati dátum"
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Raktáridő lejárati dátum"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Lejárati dátuma"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr "Lejárat dátuma"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Raktáridő lejárati dátum"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Raktáridő lejárati dátum"
#, fuzzy
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr "Napok száma"
#, fuzzy
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr "Napok száma"
#, fuzzy
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr "Napok száma"
#, fuzzy
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr "Napok száma"
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
#, fuzzy, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
"A Charge \"%(lot)s\" lejárati dátuma nem módosítható, egy zárt raktár "
"időszakban raktármozgás \"%(move)s\" van."
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
#, fuzzy
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Stock Force Expiration"
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr "Nincs"
#, fuzzy
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr "Opcionális"
#, fuzzy
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "Szükséges"
#, fuzzy
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr "Nincs"
#, fuzzy
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr "Opcionális"
#, fuzzy
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "Szükséges"
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr "Nincs"
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr "Opcionális"
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "Szükséges"
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr "Nincs"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr "Opcionális"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "Szükséges"
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr "Nincs"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr "Opcionális"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "Szükséges"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Nincs"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Opcionális"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Szükséges"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr "Nincs"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr "Opcionális"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "Szükséges"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Nincs"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Opcionális"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Szükséges"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr "Raktár idő"
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,236 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr ""
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr "Tidak ada"
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr "Pilihan"
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "Wajib"
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr "Tidak ada"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr "Pilihan"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "Wajib"
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr "Tidak ada"
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr "Pilihan"
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "Wajib"
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr "Tidak ada"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr "Pilihan"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "Wajib"
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr "Tidak ada"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr "Pilihan"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "Wajib"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Tidak ada"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Pilihan"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Wajib"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr "Tidak ada"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr "Pilihan"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "Wajib"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Tidak ada"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Pilihan"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Wajib"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr ""
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,246 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Stock Force Expiration"
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr "Nessuno"
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "Obbligatorio"
#, fuzzy
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr "Nessuno"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "Obbligatorio"
#, fuzzy
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr "Nessuno"
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "Obbligatorio"
#, fuzzy
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr "Nessuno"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "Obbligatorio"
#, fuzzy
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr "Nessuno"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "Obbligatorio"
#, fuzzy
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Nessuno"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Obbligatorio"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr "Nessuno"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "Obbligatorio"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Nessuno"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Obbligatorio"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr ""
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr "Lotto"

View File

@@ -0,0 +1,246 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Stock Force Expiration"
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr "ບໍ່ມີ"
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "ຕ້ອງມີ"
#, fuzzy
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr "ບໍ່ມີ"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "ຕ້ອງມີ"
#, fuzzy
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr "ບໍ່ມີ"
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "ຕ້ອງມີ"
#, fuzzy
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr "ບໍ່ມີ"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "ຕ້ອງມີ"
#, fuzzy
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr "ບໍ່ມີ"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "ຕ້ອງມີ"
#, fuzzy
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "ບໍ່ມີ"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "ຕ້ອງມີ"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr "ບໍ່ມີ"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "ຕ້ອງມີ"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "ບໍ່ມີ"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "ຕ້ອງມີ"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr ""
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,230 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Stock Force Expiration"
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr ""
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr ""
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,236 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr "Houdbaarheid status"
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr "Houdbaarheidsdatum"
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "Houdbaarheidstermijn status"
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Houdbaarheidstermijn"
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr "Houdbaarheid status"
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr "Houdbaarheids datum"
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "Houdbaarheidstermijn status"
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Houdbaarheidstermijn"
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "Houdbaarheidsvertraging"
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "Houdbaarheidsvertraging"
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Uiterste houdbaarheidsdatum"
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr "Houdbaarheid status"
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Uiterste houdbaarheidstermijn"
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Houdbaarheidstermijn status"
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Uiterste houdbaarheidsdatum"
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr "Houdbaarheid status"
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Uiterste houdbaarheidstermijn"
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Houdbaarheidstermijn status"
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr "In aantal dagen."
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr "In aantal dagen."
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr "In aantal dagen."
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr "In aantal dagen."
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr "De vertraging voor de verwijdering uit de prognose."
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr "De vertraging voor de verwijdering uit de prognose."
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
"U kunt de houdbaarheidsdatums van batch \"%(lot)s niet wijzigen omdat het "
"wordt gebruikt bij voorraadboeking \"%(move)s\" in een afgesloten periode."
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
"U kunt de voorraadboeking \"%(move)s\" niet verwerken omdat de batch "
"\"%(lot)s verlopen is."
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
"U kunt geen periodes afsluiten vóór het verlopen van batch \"%(lot)s\" "
"(%(date)s)."
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Voorraad dwingt houdbaarheidsdatum af"
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr "Voorraad locatie batch houdbaarheid"
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr "Geen"
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr "Optioneel"
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "Vereist"
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr "Geen"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr "Optioneel"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "Vereist"
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr "Geen"
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr "Optioneel"
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "Vereist"
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr "Geen"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr "Optioneel"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "Vereist"
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr "Geen"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr "Optioneel"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "Vereist"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Geen"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Optioneel"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Vereist"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr "Geen"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr "Optioneel"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "Vereist"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Geen"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Optioneel"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Vereist"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr "Houdbaarheidstermijn"
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr "Batch"

View File

@@ -0,0 +1,245 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr "Termin ważności"
#, fuzzy
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr "Termin ważności"
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
#, fuzzy
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr "Termin ważności"
#, fuzzy
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr "Termin ważności"
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Termin ważności"
#, fuzzy
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr "Termin ważności"
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Termin ważności"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr "Termin ważności"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Termin ważności"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Termin ważności"
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Stock Force Expiration"
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr "Brak"
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr "Opcjonalny"
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "Wymagany"
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr "Brak"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr "Opcjonalny"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "Wymagany"
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr "Brak"
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr "Opcjonalny"
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "Wymagany"
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr "Brak"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr "Opcjonalny"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "Wymagany"
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr "Brak"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr "Opcjonalny"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "Wymagany"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Brak"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Opcjonalny"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Wymagany"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr "Brak"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr "Opcjonalny"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "Wymagany"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Brak"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Opcjonalny"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Wymagany"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr ""
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,248 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr "Data de Expiração"
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr "Hora de Expiração"
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "Estado do Tempo de Vida Útil"
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Tempo de Vida Útil"
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr "Data de Expiração"
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr "Hora de Expiração"
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "Estado do Tempo de Vida Útil"
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Tempo de Vida Útil"
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "Atraso da Vida Útil"
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "Atraso da Vida Útil"
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Data de Expiração"
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr "Estado de Expiração"
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Data de Expiração da Vida Útil"
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Estado de Expiração da Vida Útil"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Data de Expiração"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr "Data de Expiração"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Data de Expiração da Vida Útil"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Estado de Expiração da Vida Útil"
#, fuzzy
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr "Em número de dias"
#, fuzzy
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr "Em número de dias"
#, fuzzy
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr "Em número de dias"
#, fuzzy
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr "Em número de dias"
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr "O atraso antes da remoção da previsão."
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr "O atraso antes da remoção da previsão."
#, fuzzy, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
"Você não pode modificar as datas de expiralção do lote \"%(lot)s\" proque "
"ele foi usado na movimentação \"%(move)s\" em um período fechado."
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
#, fuzzy
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Stock Force Expiration"
#, fuzzy
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr "Configuração de Estoque Vida Útil do Lote"
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr "Nenhum"
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "Requerido"
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr "Nenhum"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "Requerido"
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr "Nenhum"
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "Requerido"
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr "Nenhum"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "Requerido"
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr "Nenhum"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "Requerido"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Nenhum"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Opcional"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Requerido"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr "Nenhum"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr "Opcional"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "Requerido"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Nenhum"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Opcional"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Requerido"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr "Vida Útil"
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,230 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr ""
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr ""
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr ""
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,260 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr "Дата окончания"
#, fuzzy
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr "Дата окончания"
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
#, fuzzy
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr "Дата окончания"
#, fuzzy
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr "Дата окончания"
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Дата окончания"
#, fuzzy
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr "Дата окончания"
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Дата окончания"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr "Дата окончания"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Дата окончания"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Дата окончания"
#, fuzzy
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr "После указанного количества дней"
#, fuzzy
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr "После указанного количества дней"
#, fuzzy
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr "После указанного количества дней"
#, fuzzy
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr "После указанного количества дней"
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Stock Force Expiration"
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr "Отсутствует"
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "Обязательный"
#, fuzzy
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr "Отсутствует"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "Обязательный"
#, fuzzy
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr "Отсутствует"
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "Обязательный"
#, fuzzy
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr "Отсутствует"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "Обязательный"
#, fuzzy
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr "Отсутствует"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "Обязательный"
#, fuzzy
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Отсутствует"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Обязательный"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr "Отсутствует"
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "Обязательный"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Отсутствует"
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Обязательный"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr ""
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,248 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr "Uporabnost"
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr "Rok"
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "Trajanje"
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Rok"
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr "Uporabnost"
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr "Rok"
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr "Trajanje"
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr "Rok"
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "Zakasnitev roka trajanja"
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr "Zakasnitev roka trajanja"
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Rok uporabe"
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr "Uporabnost"
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Rok trajanja"
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Trajanje"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr "Rok uporabe"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr "Uporabnost"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "Rok trajanja"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "Trajanje"
#, fuzzy
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr "V dnevih"
#, fuzzy
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr "V dnevih"
#, fuzzy
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr "V dnevih"
#, fuzzy
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr "V dnevih"
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr "Zakasnitev pred odstranitvijo iz napovedi."
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr "Zakasnitev pred odstranitvijo iz napovedi."
#, fuzzy, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
"Rokov uporabe serije \"%(lot)s\" ni možno popravljati, ker so v knjižbi "
"\"%(move)s\" zaključenega obdobja."
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
#, fuzzy
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Stock Force Expiration"
#, fuzzy
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr "Konfiguracija roka trajanja serije"
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr "Brez"
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr "Neobvezno"
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr "Obvezno"
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr "Brez"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr "Neobvezno"
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr "Obvezno"
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr "Brez"
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr "Neobvezno"
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr "Obvezno"
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr "Brez"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr "Neobvezno"
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr "Obvezno"
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr "Brez"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr "Neobvezno"
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr "Obvezno"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Brez"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Neobvezno"
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Obvezno"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr "Brez"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr "Neobvezno"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr "Obvezno"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr "Brez"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr "Neobvezno"
#, fuzzy
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr "Obvezno"
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr "Rok trajanja"
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,230 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Stock Force Expiration"
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr ""
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr ""
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,230 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr ""
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr ""
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr ""
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr ""
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,240 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:product.product,expiration_state:"
msgid "Expiration State"
msgstr "失效日期"
#, fuzzy
msgctxt "field:product.product,expiration_time:"
msgid "Expiration Time"
msgstr "失效日期"
msgctxt "field:product.product,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.product,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
#, fuzzy
msgctxt "field:product.template,expiration_state:"
msgid "Expiration State"
msgstr "失效日期"
#, fuzzy
msgctxt "field:product.template,expiration_time:"
msgid "Expiration Time"
msgstr "失效日期"
msgctxt "field:product.template,shelf_life_state:"
msgid "Shelf Life Time State"
msgstr ""
msgctxt "field:product.template,shelf_life_time:"
msgid "Shelf Life Time"
msgstr ""
msgctxt "field:stock.configuration,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
msgctxt "field:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "Shelf Life Delay"
msgstr ""
#, fuzzy
msgctxt "field:stock.lot,expiration_date:"
msgid "Expiration Date"
msgstr "失效日期"
#, fuzzy
msgctxt "field:stock.lot,expiration_state:"
msgid "Expiration State"
msgstr "失效日期"
msgctxt "field:stock.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr ""
msgctxt "field:stock.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr ""
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_date:"
msgid "Expiration Date"
msgstr "失效日期"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,expiration_state:"
msgid "Expiration State"
msgstr "失效日期"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_date:"
msgid "Shelf Life Expiration Date"
msgstr "失效日期"
#, fuzzy
msgctxt "field:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Shelf Life Expiration State"
msgstr "失效日期"
msgctxt "help:product.product,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.product,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,expiration_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:product.template,shelf_life_time:"
msgid "In number of days."
msgstr ""
msgctxt "help:stock.configuration,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
msgctxt "help:stock.location.lot.shelf_life,shelf_life_delay:"
msgid "The delay before removal from the forecast."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_lot_modify_expiration_date_period_close"
msgid ""
"You cannot modify expiration dates of lot \"%(lot)s because it is used on "
"move \"%(move)s\" in a closed period."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_move_lot_expired"
msgid "You cannot process move \"%(move)s\" because its lot \"%(lot)s\" has expired."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_period_close_sled"
msgid ""
"You cannot close periods before the expiration of lot \"%(lot)s\" "
"(%(date)s)."
msgstr ""
msgctxt "model:res.group,name:group_stock_force_expiration"
msgid "Stock Force Expiration"
msgstr "Stock Force Expiration"
msgctxt "model:stock.location.lot.shelf_life,string:"
msgid "Stock Location Lot Shelf Life"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.product,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.product,shelf_life_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.template,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "None"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:product.template,shelf_life_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.lot,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,expiration_state:"
msgid "Required"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "None"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Optional"
msgstr ""
msgctxt "selection:stock.move.add.lots.start.lot,shelf_life_expiration_state:"
msgid "Required"
msgstr ""
msgctxt "view:product.template:"
msgid "Shelf Life"
msgstr ""
msgctxt "view:stock.configuration:"
msgid "Lot"
msgstr ""

View File

@@ -0,0 +1,16 @@
<?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_lot_modify_expiration_date_period_close">
<field name="text">You cannot modify expiration dates of lot "%(lot)s because it is used on move "%(move)s" in a closed period.</field>
</record>
<record model="ir.message" id="msg_move_lot_expired">
<field name="text">You cannot process move "%(move)s" because its lot "%(lot)s" has expired.</field>
</record>
<record model="ir.message" id="msg_period_close_sled">
<field name="text">You cannot close periods before the expiration of lot "%(lot)s" (%(date)s).</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,38 @@
# 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.model import fields
from trytond.pool import PoolMeta
from trytond.pyson import Eval
from .stock import DATE_STATE
class Template(metaclass=PoolMeta):
__name__ = 'product.template'
shelf_life_state = fields.Selection(
DATE_STATE, 'Shelf Life Time State', sort=False)
shelf_life_time = fields.Integer('Shelf Life Time',
states={
'invisible': Eval('shelf_life_state', 'none') == 'none',
},
help='In number of days.')
expiration_state = fields.Selection(
DATE_STATE, 'Expiration State', sort=False)
expiration_time = fields.Integer('Expiration Time',
states={
'invisible': Eval('expiration_state', 'none') == 'none',
},
help='In number of days.')
@staticmethod
def default_shelf_life_state():
return 'none'
@staticmethod
def default_expiration_state():
return 'none'
class Product(metaclass=PoolMeta):
__name__ = 'product.product'

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. -->
<tryton>
<data>
<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>

View File

@@ -0,0 +1,402 @@
# 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 sql import As, Join, Null, Select, Table, Union
from sql.conditionals import Greatest
from trytond.i18n import gettext
from trytond.model import ModelSQL, ModelView, ValueMixin, Workflow, fields
from trytond.model.exceptions import AccessError
from trytond.modules.stock.exceptions import PeriodCloseError
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Eval
from trytond.tools import grouped_slice
from trytond.transaction import Transaction
from .exceptions import LotExpiredError, LotExpiredWarning
DATE_STATE = [
('none', 'None'),
('optional', 'Optional'),
('required', 'Required'),
]
shelf_life_delay = fields.TimeDelta(
"Shelf Life Delay",
help="The delay before removal from the forecast.")
class Configuration(metaclass=PoolMeta):
__name__ = 'stock.configuration'
shelf_life_delay = fields.MultiValue(shelf_life_delay)
@classmethod
def multivalue_model(cls, field):
pool = Pool()
if field == 'shelf_life_delay':
return pool.get('stock.location.lot.shelf_life')
return super().multivalue_model(field)
class ConfigurationLotShelfLife(ModelSQL, ValueMixin):
__name__ = 'stock.location.lot.shelf_life'
shelf_life_delay = shelf_life_delay
class LotSledMixin:
__slots__ = ()
shelf_life_expiration_date = fields.Date('Shelf Life Expiration Date',
states={
'required': (
Eval('shelf_life_expiration_state', 'none') == 'required'),
'invisible': (
(Eval('shelf_life_expiration_state', 'none') == 'none')
& ~Eval('shelf_life_expiration_date')),
})
shelf_life_expiration_state = fields.Function(
fields.Selection(DATE_STATE, 'Shelf Life Expiration State'),
'on_change_with_shelf_life_expiration_state')
expiration_date = fields.Date('Expiration Date',
states={
'required': Eval('expiration_state', 'none') == 'required',
'invisible': (
(Eval('expiration_state', 'none') == 'none')
& ~Eval('expiration_date')),
})
expiration_state = fields.Function(
fields.Selection(DATE_STATE, 'Expiration State'),
'on_change_with_expiration_state')
@fields.depends('product')
def on_change_with_shelf_life_expiration_state(self, name=None):
if self.product:
return self.product.shelf_life_state
return 'none'
@fields.depends('product')
def on_change_with_expiration_state(self, name=None):
if self.product:
return self.product.expiration_state
return 'none'
@fields.depends('product')
def on_change_product(self):
pool = Pool()
Date = pool.get('ir.date')
try:
super().on_change_product()
except AttributeError:
pass
if self.product:
today = Date.today()
if (self.product.shelf_life_state != 'none'
and self.product.shelf_life_time):
self.shelf_life_expiration_date = (today
+ datetime.timedelta(days=self.product.shelf_life_time))
if (self.product.expiration_state != 'none'
and self.product.expiration_time):
self.expiration_date = (today
+ datetime.timedelta(days=self.product.expiration_time))
class Lot(LotSledMixin, metaclass=PoolMeta):
__name__ = 'stock.lot'
@classmethod
def check_modification(cls, mode, lots, values=None, external=False):
super().check_modification(
mode, lots, values=values, external=external)
if (mode == 'write'
and values.keys() & {
'shelf_life_expiration_date', 'expiration_date'}):
cls.check_sled_period_closed(lots)
@classmethod
def check_sled_period_closed(cls, lots):
Period = Pool().get('stock.period')
Move = Pool().get('stock.move')
periods = Period.search([
('state', '=', 'closed'),
], order=[('date', 'DESC')], limit=1)
if not periods:
return
period, = periods
for lots in grouped_slice(lots):
lot_ids = [l.id for l in lots]
moves = Move.search([
('lot', 'in', lot_ids),
['OR', [
('effective_date', '=', None),
('planned_date', '<=', period.date),
],
('effective_date', '<=', period.date),
]], limit=1)
if moves:
move, = moves
raise AccessError(
gettext('stock_lot_sled'
'.msg_lot_modify_expiration_date_period_close',
lot=move.lot.rec_name,
move=move.rec_name))
class MoveAddLotsStartLot(LotSledMixin, metaclass=PoolMeta):
__name__ = 'stock.move.add.lots.start.lot'
@fields.depends('shelf_life_expiration_date', 'expiration_date')
def _set_lot_values(self, lot):
super()._set_lot_values(lot)
self.shelf_life_expiration_date = lot.shelf_life_expiration_date
self.expiration_date = lot.expiration_date
def _get_lot_values(self, move):
values = super()._get_lot_values(move)
values['shelf_life_expiration_date'] = self.shelf_life_expiration_date
values['expiration_date'] = self.expiration_date
return values
class Move(metaclass=PoolMeta):
__name__ = 'stock.move'
@classmethod
@ModelView.button
@Workflow.transition('done')
def do(cls, moves):
super().do(moves)
cls.check_expiration_dates(moves)
@classmethod
def check_expiration_dates_types(cls):
"Location types to check for expiration dates"
return ['supplier', 'customer', 'production']
@classmethod
def check_expiration_dates_locations(cls):
pool = Pool()
Location = pool.get('stock.location')
# Prevent pack expired products
warehouses = Location.search([
('type', '=', 'warehouse'),
])
return [w.output_location for w in warehouses]
@property
def to_check_expiration(self):
if (self.lot
and self.lot.shelf_life_expiration_date
and self.effective_date > self.lot.shelf_life_expiration_date):
return True
return False
@classmethod
def check_expiration_dates(cls, moves):
pool = Pool()
Group = pool.get('res.group')
User = pool.get('res.user')
ModelData = pool.get('ir.model.data')
Warning = pool.get('res.user.warning')
types = cls.check_expiration_dates_types()
locations = cls.check_expiration_dates_locations()
def in_group():
group = Group(ModelData.get_id('stock_lot_sled',
'group_stock_force_expiration'))
transition = Transaction()
user_id = transition.user
if user_id == 0:
user_id = transition.context.get('user', user_id)
if user_id == 0:
return True
user = User(user_id)
return group in user.groups
for move in moves:
if not move.to_check_expiration:
continue
if (move.from_location.type in types
or move.to_location.type in types
or move.from_location in locations
or move.to_location in locations):
values = {
'move': move.rec_name,
'lot': move.lot.rec_name if move.lot else '',
}
if not in_group():
raise LotExpiredError(
gettext('stock_lot_sled.msg_move_lot_expired',
**values))
else:
warning_name = '%s.check_expiration_dates' % move
if Warning.check(warning_name):
raise LotExpiredWarning(warning_name,
gettext('stock_lot_sled.msg_move_lot_expired',
**values))
@classmethod
def compute_quantities_query(cls, location_ids, with_childs=False,
grouping=('product',), grouping_filter=None):
pool = Pool()
Date = pool.get('ir.date')
Lot = pool.get('stock.lot')
Config = pool.get('stock.configuration')
query = super().compute_quantities_query(
location_ids, with_childs=with_childs, grouping=grouping,
grouping_filter=grouping_filter)
context = Transaction().context
today = Date.today()
stock_date_end = context.get('stock_date_end') or datetime.date.max
if (query and not context.get('skip_lot_sled')
and ((stock_date_end == today and context.get('forecast'))
or stock_date_end > today)):
config = Config(1)
shelf_life_delay = config.get_multivalue('shelf_life_delay')
if shelf_life_delay:
try:
expiration_date = stock_date_end + shelf_life_delay
except OverflowError:
if shelf_life_delay >= datetime.timedelta(0):
expiration_date = datetime.date.max
else:
expiration_date = datetime.date.min
else:
expiration_date = stock_date_end
def join(move, lot):
return move.join(lot, 'LEFT',
condition=move.lot == lot.id)
def find_table(join):
if not isinstance(join, Join):
return
for pos in ['left', 'right']:
item = getattr(join, pos)
if isinstance(item, Table):
if item._name == cls._table:
return join, pos, item
else:
found = find_table(item)
if found:
return found
def find_queries(query):
if isinstance(query, Union):
for sub_query in query.queries:
for q in find_queries(sub_query):
yield q
elif isinstance(query, Select):
yield query
for table in query.from_:
for q in find_queries(table):
yield q
elif isinstance(query, Join):
for pos in ['left', 'right']:
item = getattr(query, pos)
for q in find_queries(item):
yield q
def add_join(from_, lot):
# Find move table
for i, table in enumerate(from_):
if isinstance(table, Table) and table._name == cls._table:
sub_query.from_[i] = join(table, lot)
break
found = find_table(table)
if found:
join_, pos, table = found
setattr(join_, pos, join(table, lot))
break
else:
# Not query on move table
return False
return True
union, = query.from_
for sub_query in find_queries(union):
lot = Lot.__table__()
if add_join(sub_query.from_, lot):
clause = (
(lot.shelf_life_expiration_date == Null)
| (lot.shelf_life_expiration_date >= expiration_date))
if sub_query.where:
sub_query.where &= clause
else:
sub_query.where = clause
stock_date_start = context.get('stock_date_start')
if stock_date_start:
with Transaction().set_context(
stock_date_start=None,
skip_lot_sled=True):
query_expired = cls.compute_quantities_query(
location_ids, with_childs=with_childs,
grouping=grouping, grouping_filter=grouping_filter)
union_expired, = query_expired.from_
for sub_query in find_queries(union_expired):
lot = Lot.__table__()
if add_join(sub_query.from_, lot):
# only lot expiring during the period
clause = (
(lot.shelf_life_expiration_date
>= stock_date_start)
& (lot.shelf_life_expiration_date
< stock_date_end))
if sub_query.where:
sub_query.where &= clause
else:
sub_query.where = clause
# Inverse quantity
for column in sub_query._columns:
if (isinstance(column, As)
and column.output_name == 'quantity'):
column.expression = -column.expression
union.queries += union_expired.queries
return query
class Period(metaclass=PoolMeta):
__name__ = 'stock.period'
@classmethod
@ModelView.button
def close(cls, periods):
pool = Pool()
Move = pool.get('stock.move')
Lot = pool.get('stock.lot')
Date = pool.get('ir.date')
Lang = pool.get('ir.lang')
cursor = Transaction().connection.cursor()
move = Move.__table__()
lot = Lot.__table__()
super().close(periods)
# Don't allow to close a period if all products at this date
# are not yet expired
recent_date = max(
(period.date for period in periods),
default=datetime.date.min)
today = Date.today()
query = move.join(lot, 'INNER',
condition=move.lot == lot.id).select(lot.id,
where=(Greatest(move.effective_date, move.planned_date)
<= recent_date)
& (lot.shelf_life_expiration_date >= today)
)
cursor.execute(*query)
lot_id = cursor.fetchone()
if lot_id:
lot_id, = lot_id
lot = Lot(lot_id)
lang = Lang.get()
raise PeriodCloseError(
gettext('stock_lot_sled.msg_period_close_sled',
lot=lot.rec_name,
date=lang.strftime(lot.shelf_life_expiration_date)))

View File

@@ -0,0 +1,38 @@
<?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="res.group" id="group_stock_force_expiration">
<field name="name">Stock Force Expiration</field>
</record>
<record model="res.user-res.group"
id="user_admin_group_stock_force_assignment">
<field name="user" ref="res.user_admin"/>
<field name="group" ref="group_stock_force_expiration"/>
</record>
<record model="ir.ui.view" id="stock_configuration_view_form">
<field name="model">stock.configuration</field>
<field name="inherit" ref="stock.stock_configuration_view_form"/>
<field name="name">configuration_form</field>
</record>
<record model="ir.ui.view" id="lot_view_form">
<field name="model">stock.lot</field>
<field name="inherit" ref="stock_lot.lot_view_form"/>
<field name="name">lot_form</field>
</record>
<record model="ir.ui.view" id="lot_view_tree">
<field name="model">stock.lot</field>
<field name="inherit" ref="stock_lot.lot_view_tree"/>
<field name="name">lot_tree</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="inherit" ref="stock_lot.move_add_lots_start_lot_view_list"/>
<field name="name">lot_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.

View File

@@ -0,0 +1,171 @@
# 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 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 StockLotSLEDTestCase(CompanyTestMixin, ModuleTestCase):
'Test Stock Lot SLED module'
module = 'stock_lot_sled'
longMessage = True
@with_transaction()
def test_sled(self):
'Test SLED'
pool = Pool()
Uom = pool.get('product.uom')
Template = pool.get('product.template')
Product = pool.get('product.product')
Location = pool.get('stock.location')
Date = pool.get('ir.date')
Move = pool.get('stock.move')
Lot = pool.get('stock.lot')
Period = pool.get('stock.period')
Config = pool.get('stock.configuration')
u, = Uom.search([('name', '=', 'Unit')])
template = Template(
name='Test SLED',
type='goods',
default_uom=u,
shelf_life_state='optional',
)
template.save()
product = Product(template=template)
product.save()
supplier, = Location.search([('code', '=', 'SUP')])
storage, = Location.search([('code', '=', 'STO')])
company = create_company()
with set_company(company):
today = Date.today()
lot = Lot(
number='Test',
product=product,
shelf_life_expiration_date=today + datetime.timedelta(days=5),
)
lot.save()
move = Move(
product=product,
unit=u,
quantity=5,
from_location=supplier,
to_location=storage,
planned_date=today,
company=company,
unit_price=0,
currency=company.currency,
lot=lot,
)
move.save()
period = Period(date=today + datetime.timedelta(days=-10),
company=company)
period.save()
Period.close([period])
config = Config(1)
empty = 0
computed = 5
delta = -5
for context, quantity in [
({'stock_date_end': datetime.date.min}, empty),
({'stock_date_end': today + datetime.timedelta(days=-1)},
empty),
({'stock_date_end': today}, empty),
({'stock_date_end': today, 'forecast': True}, computed),
({'stock_date_end': today + datetime.timedelta(days=3)},
computed),
({'stock_date_end': today + datetime.timedelta(days=5)},
computed),
({'stock_date_end': today + datetime.timedelta(days=6)},
empty),
({}, empty),
({'stock_date_start': today, 'stock_date_end': today},
empty),
({'stock_date_start': today + datetime.timedelta(days=1),
'stock_date_end': today + datetime.timedelta(days=7)},
delta),
({'stock_date_start': today + datetime.timedelta(days=1),
'stock_date_end': today + datetime.timedelta(days=2)},
empty),
({'stock_date_start': today + datetime.timedelta(days=1),
'stock_date_end': today + datetime.timedelta(days=5)},
empty),
({'stock_date_start': today + datetime.timedelta(days=5),
'stock_date_end': today + datetime.timedelta(days=6)},
delta),
({'stock_date_start': today + datetime.timedelta(days=5),
'stock_date_end': today + datetime.timedelta(days=7)},
delta),
({'stock_date_start': today + datetime.timedelta(days=6),
'stock_date_end': today + datetime.timedelta(days=7)},
empty),
({'stock_date_end': datetime.date.max}, empty),
]:
with Transaction().set_context(context=context,
locations=[storage.id]):
quantities = Product.products_by_location(
[storage.id], grouping_filter=([product.id],))
self.assertEqual(
quantities[(storage.id, product.id)],
quantity,
msg='context: %s' % repr(context))
quantities = Product.products_by_location(
[storage.id], grouping_filter=([product.id],),
with_childs=True)
self.assertEqual(
quantities[(storage.id, product.id)],
quantity,
msg='context: %s, with childs' % repr(context))
quantities = Product.products_by_location(
[storage.id],
grouping=('product.template',),
grouping_filter=([product.template.id],),)
self.assertEqual(
quantities[(storage.id, product.template.id)],
quantity,
msg='template, context: %s' % repr(context))
quantities = Product.products_by_location(
[storage.id],
grouping=('product.template',),
grouping_filter=([product.template.id],),
with_childs=True)
self.assertEqual(
quantities[(storage.id, product.template.id)],
quantity,
msg='template, context: %s, with_childs' %
repr(context))
for context, delay, quantity in [
({'stock_date_end': datetime.date.min},
datetime.timedelta(days=-1), empty),
({'stock_date_end': datetime.date.max},
datetime.timedelta(days=1), empty),
]:
config.shelf_life_delay = delay
config.save()
with Transaction().set_context(context=context,
locations=[storage.id]):
quantities = Product.products_by_location(
[storage.id], grouping_filter=([product.id],))
self.assertEqual(
quantities[(storage.id, product.id)],
quantity,
msg='context: %s; shelf_life_delay: %s' %
(repr(context), delay))
del ModuleTestCase

View File

@@ -0,0 +1,22 @@
[tryton]
version=7.8.1
depends:
ir
product
stock
stock_lot
xml:
stock.xml
product.xml
message.xml
[register]
model:
product.Template
product.Product
stock.Configuration
stock.ConfigurationLotShelfLife
stock.Lot
stock.MoveAddLotsStartLot
stock.Move
stock.Period

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="/form" position="inside">
<separator id="lot" colspan="4" string="Lot"/>
<label name="shelf_life_delay"/>
<field name="shelf_life_delay"/>
<newline/>
</xpath>
</data>

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">
<newline/>
<label name="shelf_life_expiration_date"/>
<field name="shelf_life_expiration_date"/>
<label name="expiration_date"/>
<field name="expiration_date"/>
</xpath>
</data>

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="/tree/field[@name='product']" position="after">
<field name="shelf_life_expiration_date" optional="1"/>
<field name="expiration_date" optional="1"/>
</xpath>
</data>

View File

@@ -0,0 +1,17 @@
<?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[@name='lot_required']"
position="inside">
<separator id="sled" string="Shelf Life" colspan="4"/>
<label name="shelf_life_state"/>
<field name="shelf_life_state"/>
<label name="shelf_life_time"/>
<field name="shelf_life_time"/>
<label name="expiration_state"/>
<field name="expiration_state"/>
<label name="expiration_time"/>
<field name="expiration_time"/>
</xpath>
</data>