Initial import from Docker volume

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

View File

@@ -0,0 +1,18 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import Pool
from . import forecast
def register():
Pool.register(
forecast.Forecast,
forecast.ForecastLine,
forecast.ForecastLineMove,
forecast.ForecastCompleteAsk,
module='stock_forecast', type_='model')
Pool.register(
forecast.ForecastComplete,
module='stock_forecast', type_='wizard')

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,8 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.model.exceptions import ValidationError
class ForecastValidationError(ValidationError):
pass

View File

@@ -0,0 +1,633 @@
# 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
import itertools
from dateutil.relativedelta import relativedelta
from sql import Null
from sql.aggregate import Sum
from sql.conditionals import Coalesce
from trytond import backend
from trytond.i18n import gettext
from trytond.model import Index, ModelSQL, ModelView, Unique, Workflow, fields
from trytond.model.exceptions import AccessError
from trytond.pool import Pool
from trytond.pyson import Bool, Equal, Eval, If, Not, Or
from trytond.tools import grouped_slice, reduce_ids
from trytond.transaction import Transaction
from trytond.wizard import Button, StateTransition, StateView, Wizard
from .exceptions import ForecastValidationError
class Forecast(Workflow, ModelSQL, ModelView):
"Stock Forecast"
__name__ = "stock.forecast"
_states = {
'readonly': Not(Equal(Eval('state'), 'draft')),
}
warehouse = fields.Many2One(
'stock.location', 'Location', required=True,
domain=[('type', '=', 'warehouse')], states={
'readonly': Or(Not(Equal(Eval('state'), 'draft')),
Bool(Eval('lines', [0]))),
})
destination = fields.Many2One(
'stock.location', 'Destination', required=True,
domain=[('type', 'in', ['customer', 'production'])], states=_states)
from_date = fields.Date(
"From Date", required=True,
domain=[('from_date', '<=', Eval('to_date'))],
states=_states)
to_date = fields.Date(
"To Date", required=True,
domain=[('to_date', '>=', Eval('from_date'))],
states=_states)
lines = fields.One2Many(
'stock.forecast.line', 'forecast', 'Lines', states=_states)
company = fields.Many2One(
'company.company', 'Company', required=True, states={
'readonly': Or(Not(Equal(Eval('state'), 'draft')),
Bool(Eval('lines', [0]))),
})
state = fields.Selection([
('draft', "Draft"),
('done', "Done"),
('cancelled', "Cancelled"),
], "State", readonly=True, sort=False)
active = fields.Function(fields.Boolean('Active'),
'get_active', searcher='search_active')
del _states
@classmethod
def __setup__(cls):
super(Forecast, cls).__setup__()
t = cls.__table__()
cls._sql_indexes.add(
Index(
t,
(t.state, Index.Equality()),
(t.to_date, Index.Range())))
cls.create_date.select = True
cls._order.insert(0, ('from_date', 'DESC'))
cls._order.insert(1, ('warehouse', 'ASC'))
cls._transitions |= set((
('draft', 'done'),
('draft', 'cancelled'),
('done', 'draft'),
('cancelled', 'draft'),
))
cls._buttons.update({
'cancel': {
'invisible': Eval('state') != 'draft',
'depends': ['state'],
},
'draft': {
'invisible': Eval('state') == 'draft',
'depends': ['state'],
},
'confirm': {
'invisible': Eval('state') != 'draft',
'depends': ['state'],
},
'complete': {
'readonly': Eval('state') != 'draft',
'depends': ['state'],
},
})
cls._active_field = 'active'
@classmethod
def __register__(cls, module_name):
cursor = Transaction().connection.cursor()
sql_table = cls.__table__()
super(Forecast, cls).__register__(module_name)
table = cls.__table_handler__(module_name)
# Migration from 5.0: remove check_from_to_date
table.drop_constraint('check_from_to_date')
# Migration from 5.6: rename state cancel to cancelled
cursor.execute(*sql_table.update(
[sql_table.state], ['cancelled'],
where=sql_table.state == 'cancel'))
@staticmethod
def default_state():
return 'draft'
@classmethod
def default_warehouse(cls):
pool = Pool()
Location = pool.get('stock.location')
return Location.get_default_warehouse()
@classmethod
def default_destination(cls):
Location = Pool().get('stock.location')
locations = Location.search(cls.destination.domain)
if len(locations) == 1:
return locations[0].id
@staticmethod
def default_company():
return Transaction().context.get('company')
def get_active(self, name):
pool = Pool()
Date = pool.get('ir.date')
return self.to_date >= Date.today()
@classmethod
def search_active(cls, name, clause):
pool = Pool()
Date = pool.get('ir.date')
today = Date.today()
operators = {
'=': '>=',
'!=': '<',
}
reverse = {
'=': '!=',
'!=': '=',
}
if clause[1] in operators:
if clause[2]:
return [('to_date', operators[clause[1]], today)]
else:
return [('to_date', operators[reverse[clause[1]]], today)]
else:
return []
def get_rec_name(self, name):
pool = Pool()
Lang = pool.get('ir.lang')
lang = Lang.get()
from_date = lang.strftime(self.from_date)
to_date = lang.strftime(self.to_date)
return (
f'{self.warehouse.rec_name}{self.destination.rec_name} @ '
f'[{from_date} - {to_date}]')
@classmethod
def search_rec_name(cls, name, clause):
operator = clause[1]
if operator.startswith('!') or operator.startswith('not '):
bool_op = 'AND'
else:
bool_op = 'OR'
return [bool_op,
('warehouse.rec_name', *clause[1:]),
('destination.rec_name', *clause[1:]),
]
@classmethod
def validate_fields(cls, forecasts, field_names):
super().validate_fields(forecasts, field_names)
cls.check_date_overlap(forecasts, field_names)
@classmethod
def check_date_overlap(cls, forecasts, field_names=None):
if field_names and not (field_names & {
'from_date', 'to_date',
'warehouse', 'destination',
'company', 'state'}):
return
transaction = Transaction()
connection = transaction.connection
cls.lock()
table = cls.__table__()
cursor = connection.cursor()
for forecast in forecasts:
if forecast.state != 'done':
continue
cursor.execute(*table.select(table.id,
where=(((table.from_date <= forecast.from_date)
& (table.to_date >= forecast.from_date))
| ((table.from_date <= forecast.to_date)
& (table.to_date >= forecast.to_date))
| ((table.from_date >= forecast.from_date)
& (table.to_date <= forecast.to_date)))
& (table.warehouse == forecast.warehouse.id)
& (table.destination == forecast.destination.id)
& (table.company == forecast.company.id)
& (table.id != forecast.id)))
forecast_id = cursor.fetchone()
if forecast_id:
second = cls(forecast_id[0])
raise ForecastValidationError(
gettext('stock_forecast.msg_forecast_date_overlap',
first=forecast.rec_name,
second=second.rec_name))
@classmethod
def delete(cls, forecasts):
# Cancel before delete
cls.cancel(forecasts)
for forecast in forecasts:
if forecast.state != 'cancelled':
raise AccessError(
gettext('stock_forecast.msg_forecast_delete_cancel',
forecast=forecast.rec_name))
super(Forecast, cls).delete(forecasts)
@classmethod
@ModelView.button
@Workflow.transition('draft')
def draft(cls, forecasts):
pass
@classmethod
@ModelView.button
@Workflow.transition('done')
def confirm(cls, forecasts):
pass
@classmethod
@ModelView.button
@Workflow.transition('cancelled')
def cancel(cls, forecasts):
pass
@classmethod
@ModelView.button_action('stock_forecast.wizard_forecast_complete')
def complete(cls, forecasts):
pass
@staticmethod
def create_moves(forecasts):
'Create stock moves for the forecast ids'
pool = Pool()
Line = pool.get('stock.forecast.line')
to_save = []
for forecast in forecasts:
if forecast.state == 'done':
for line in forecast.lines:
line.moves += tuple(line.get_moves())
to_save.append(line)
Line.save(to_save)
@staticmethod
def delete_moves(forecasts):
'Delete stock moves for the forecast ids'
Line = Pool().get('stock.forecast.line')
Line.delete_moves([l for f in forecasts for l in f.lines])
class ForecastLine(ModelSQL, ModelView):
'Stock Forecast Line'
__name__ = 'stock.forecast.line'
_states = {
'readonly': Eval('forecast_state') != 'draft',
}
product = fields.Many2One('product.product', 'Product', required=True,
domain=[
('type', '=', 'goods'),
('consumable', '=', False),
],
states=_states)
product_uom_category = fields.Function(
fields.Many2One(
'product.uom.category', "Product UoM Category",
help="The category of Unit of Measure for the product."),
'on_change_with_product_uom_category')
unit = fields.Many2One(
'product.uom', "Unit", required=True,
domain=[
If(Bool(Eval('product_uom_category')),
('category', '=', Eval('product_uom_category')),
('category', '!=', -1)),
],
states=_states,
depends={'product'})
quantity = fields.Float(
"Quantity", digits='unit', required=True,
domain=[('quantity', '>=', 0)],
states=_states)
minimal_quantity = fields.Float(
"Minimal Qty", digits='unit', required=True,
domain=[('minimal_quantity', '<=', Eval('quantity'))],
states=_states)
moves = fields.Many2Many('stock.forecast.line-stock.move',
'line', 'move', 'Moves', readonly=True)
forecast = fields.Many2One(
'stock.forecast', 'Forecast', required=True, ondelete='CASCADE',
states={
'readonly': ((Eval('forecast_state') != 'draft')
& Bool(Eval('forecast'))),
})
forecast_state = fields.Function(
fields.Selection('get_forecast_states', 'Forecast State'),
'on_change_with_forecast_state')
quantity_executed = fields.Function(fields.Float(
"Quantity Executed", digits='unit'), 'get_quantity_executed')
del _states
@classmethod
def __setup__(cls):
super(ForecastLine, cls).__setup__()
cls.__access__.add('forecast')
t = cls.__table__()
cls._sql_constraints += [
('forecast_product_uniq', Unique(t, t.forecast, t.product),
'stock_forecast.msg_forecast_line_product_unique'),
]
@classmethod
def __register__(cls, module_name):
table_h = cls.__table_handler__(module_name)
# Migration from 6.8: rename uom to unit
if (table_h.column_exist('uom')
and not table_h.column_exist('unit')):
table_h.column_rename('uom', 'unit')
super().__register__(module_name)
table_h = cls.__table_handler__(module_name)
# Migration from 5.0: remove check on quantity
table_h.drop_constraint('check_line_qty_pos')
table_h.drop_constraint('check_line_minimal_qty')
@staticmethod
def default_minimal_quantity():
return 1.0
@fields.depends('product')
def on_change_product(self):
if self.product:
self.unit = self.product.default_uom
@fields.depends('product')
def on_change_with_product_uom_category(self, name=None):
return self.product.default_uom_category if self.product else None
@classmethod
def get_forecast_states(cls):
pool = Pool()
Forecast = pool.get('stock.forecast')
return Forecast.fields_get(['state'])['state']['selection']
@fields.depends('forecast', '_parent_forecast.state')
def on_change_with_forecast_state(self, name=None):
if self.forecast:
return self.forecast.state
def get_rec_name(self, name):
return self.product.rec_name
@classmethod
def search_rec_name(cls, name, clause):
return [('product.rec_name',) + tuple(clause[1:])]
@classmethod
def get_quantity_executed(cls, lines, name):
cursor = Transaction().connection.cursor()
pool = Pool()
Move = pool.get('stock.move')
Location = pool.get('stock.location')
Uom = pool.get('product.uom')
Forecast = pool.get('stock.forecast')
LineMove = pool.get('stock.forecast.line-stock.move')
move = Move.__table__()
location_from = Location.__table__()
location_to = Location.__table__()
line_move = LineMove.__table__()
result = dict((x.id, 0) for x in lines)
def key(line):
return line.forecast.id
lines.sort(key=key)
for forecast_id, lines in itertools.groupby(lines, key):
forecast = Forecast(forecast_id)
product2line = dict((line.product.id, line) for line in lines)
product_ids = product2line.keys()
for sub_ids in grouped_slice(product_ids):
red_sql = reduce_ids(move.product, sub_ids)
cursor.execute(*move.join(location_from,
condition=move.from_location == location_from.id
).join(location_to,
condition=move.to_location == location_to.id
).join(line_move, 'LEFT',
condition=move.id == line_move.move
).select(move.product, Sum(move.internal_quantity),
where=red_sql
& (location_from.left >= forecast.warehouse.left)
& (location_from.right <= forecast.warehouse.right)
& (location_to.left >= forecast.destination.left)
& (location_to.right <= forecast.destination.right)
& (move.state != 'cancelled')
& (Coalesce(move.effective_date, move.planned_date)
>= forecast.from_date)
& (Coalesce(move.effective_date, move.planned_date)
<= forecast.to_date)
& (line_move.id == Null),
group_by=move.product))
for product_id, quantity in cursor:
line = product2line[product_id]
result[line.id] = Uom.compute_qty(
line.product.default_uom, quantity, line.unit)
return result
@classmethod
def copy(cls, lines, default=None):
if default is None:
default = {}
else:
default = default.copy()
default.setdefault('moves', None)
return super(ForecastLine, cls).copy(lines, default=default)
def get_moves(self):
'Get stock moves for the forecast line'
pool = Pool()
Move = pool.get('stock.move')
Date = pool.get('ir.date')
assert not self.moves
today = Date.today()
from_date = self.forecast.from_date
if from_date < today:
from_date = today
to_date = self.forecast.to_date
if to_date < today:
return []
if self.quantity_executed >= self.quantity:
return []
delta = to_date - from_date
delta = delta.days + 1
nb_packet = ((self.quantity - self.quantity_executed)
// self.minimal_quantity)
distribution = self.distribute(delta, nb_packet)
moves = []
for day, qty in distribution.items():
if qty == 0.0:
continue
move = Move()
move.from_location = self.forecast.warehouse.storage_location
move.to_location = self.forecast.destination
move.product = self.product
move.unit = self.unit
move.quantity = qty * self.minimal_quantity
move.planned_date = from_date + datetime.timedelta(day)
move.company = self.forecast.company
move.currency = self.forecast.company.currency
move.unit_price = (
0 if self.forecast.destination.type == 'customer' else None)
moves.append(move)
return moves
@classmethod
def delete_moves(cls, lines):
'Delete stock moves of the forecast line'
Move = Pool().get('stock.move')
Move.delete([m for l in lines for m in l.moves])
def distribute(self, delta, qty):
'Distribute qty over delta'
range_delta = list(range(delta))
a = {}.fromkeys(range_delta, 0)
while qty > 0:
if qty > delta:
for i in range_delta:
a[i] += qty // delta
qty = qty % delta
elif delta // qty > 1:
i = 0
while i < qty:
a[i * delta // qty + (delta // qty // 2)] += 1
i += 1
qty = 0
else:
for i in range_delta:
a[i] += 1
qty = delta - qty
i = 0
while i < qty:
a[delta - ((i * delta // qty) + (delta // qty // 2)) - 1
] -= 1
i += 1
qty = 0
return a
class ForecastLineMove(ModelSQL):
'ForecastLine - Move'
__name__ = 'stock.forecast.line-stock.move'
line = fields.Many2One(
'stock.forecast.line', "Forecast Line",
ondelete='CASCADE', required=True)
move = fields.Many2One(
'stock.move', "Move", ondelete='CASCADE', required=True)
@classmethod
def __register__(cls, module):
# Migration from 7.0: rename to standard name
backend.TableHandler.table_rename(
'forecast_line_stock_move_rel', cls._table)
super().__register__(module)
class ForecastCompleteAsk(ModelView):
'Complete Forecast'
__name__ = 'stock.forecast.complete.ask'
company = fields.Many2One('company.company', "Company", readonly=True)
warehouse = fields.Many2One('stock.location', "Warehouse", readonly=True)
destination = fields.Many2One(
'stock.location', "Destination", readonly=True)
from_date = fields.Date(
"From Date", required=True,
domain=[('from_date', '<', Eval('to_date'))],
states={
'readonly': Bool(Eval('products')),
})
to_date = fields.Date(
"To Date", required=True,
domain=[('to_date', '>', Eval('from_date'))],
states={
'readonly': Bool(Eval('products')),
})
products = fields.Many2Many(
'product.product', None, None, "Products",
domain=[
('type', '=', 'goods'),
('consumable', '=', False),
],
context={
'company': Eval('company', -1),
'locations': [Eval('warehouse', -1)],
'stock_destinations': [Eval('destination', -1)],
'stock_date_start': Eval('from_date', None),
'stock_date_end': Eval('to_date', None),
'with_childs': True,
'stock_invert': True,
},
depends=[
'company', 'warehouse', 'destination', 'from_date', 'to_date'])
class ForecastComplete(Wizard):
'Complete Forecast'
__name__ = 'stock.forecast.complete'
start_state = 'ask'
ask = StateView('stock.forecast.complete.ask',
'stock_forecast.forecast_complete_ask_view_form', [
Button("Cancel", 'end', 'tryton-cancel'),
Button("Complete", 'complete', 'tryton-ok', default=True),
])
complete = StateTransition()
def default_ask(self, fields):
"""
Forecast dates shifted by one year.
"""
default = {}
for field in ['company', 'warehouse', 'destination']:
if field in fields:
record = getattr(self.record, field)
default[field] = record.id
for field in ["to_date", "from_date"]:
if field in fields:
default[field] = (
getattr(self.record, field) - relativedelta(years=1))
return default
def transition_complete(self):
pool = Pool()
ForecastLine = pool.get('stock.forecast.line')
product2line = {l.product: l for l in self.record.lines}
to_save = []
# Ensure context is set
self.ask.products = map(int, self.ask.products)
for product in self.ask.products:
line = product2line.get(product, ForecastLine())
self._fill_line(line, product)
to_save.append(line)
ForecastLine.save(to_save)
return 'end'
def _fill_line(self, line, product):
quantity = max(product.quantity, 0)
line.product = product
line.quantity = quantity
line.unit = product.default_uom
line.forecast = self.record
line.minimal_quantity = min(1, quantity)

View File

@@ -0,0 +1,141 @@
<?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_forecast">
<field name="name">Stock Forecast</field>
</record>
<record model="res.user-res.group"
id="user_admin_group_stock_forecast">
<field name="user" ref="res.user_admin"/>
<field name="group" ref="group_stock_forecast"/>
</record>
<record model="ir.action.wizard" id="wizard_forecast_complete">
<field name="name">Complete Forecast</field>
<field name="wiz_name">stock.forecast.complete</field>
<field name="model">stock.forecast</field>
</record>
<record model="ir.ui.view" id="forecast_view_form">
<field name="model">stock.forecast</field>
<field name="type">form</field>
<field name="name">forecast_form</field>
</record>
<record model="ir.ui.view" id="forecast_view_tree">
<field name="model">stock.forecast</field>
<field name="type">tree</field>
<field name="name">forecast_tree</field>
</record>
<record model="ir.action.act_window" id="act_forecast_form">
<field name="name">Forecasts</field>
<field name="res_model">stock.forecast</field>
<field name="search_value"></field>
</record>
<record model="ir.action.act_window.view"
id="act_forecast_form_view1">
<field name="sequence" eval="1"/>
<field name="view" ref="forecast_view_tree"/>
<field name="act_window" ref="act_forecast_form"/>
</record>
<record model="ir.action.act_window.view"
id="act_forecast_form_view2">
<field name="sequence" eval="2"/>
<field name="view" ref="forecast_view_form"/>
<field name="act_window" ref="act_forecast_form"/>
</record>
<record model="ir.action.act_window.domain" id="act_forecast_form_domain_draft">
<field name="name">Draft</field>
<field name="sequence" eval="10"/>
<field name="domain" eval="[('state', '=', 'draft')]" pyson="1"/>
<field name="act_window" ref="act_forecast_form"/>
</record>
<record model="ir.action.act_window.domain" id="act_forecast_form_domain_done">
<field name="name">Done</field>
<field name="sequence" eval="20"/>
<field name="domain" eval="[('state', '=', 'done')]" pyson="1"/>
<field name="act_window" ref="act_forecast_form"/>
</record>
<record model="ir.action.act_window.domain" id="act_forecast_form_domain_all">
<field name="name">All</field>
<field name="sequence" eval="9999"/>
<field name="domain"></field>
<field name="act_window" ref="act_forecast_form"/>
</record>
<menuitem
parent="stock.menu_stock"
action="act_forecast_form"
sequence="50"
id="menu_forecast_form"/>
<record model="ir.ui.view" id="forecast_line_view_form">
<field name="model">stock.forecast.line</field>
<field name="type">form</field>
<field name="name">forecast_line_form</field>
</record>
<record model="ir.ui.view" id="forecast_line_view_tree">
<field name="model">stock.forecast.line</field>
<field name="type">tree</field>
<field name="name">forecast_line_tree</field>
</record>
<record model="ir.ui.view" id="forecast_complete_ask_view_form">
<field name="model">stock.forecast.complete.ask</field>
<field name="type">form</field>
<field name="name">forecast_complete_ask_form</field>
</record>
<record model="ir.rule.group" id="rule_group_forecast_companies">
<field name="name">User in companies</field>
<field name="model">stock.forecast</field>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_forecast_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_forecast_companies"/>
</record>
<record model="ir.model.access" id="access_forecast">
<field name="model">stock.forecast</field>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_forecast_group_stock">
<field name="model">stock.forecast</field>
<field name="group" ref="group_stock_forecast"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_delete" eval="True"/>
</record>
<record model="ir.model.button" id="forecast_cancel_button">
<field name="model">stock.forecast</field>
<field name="name">cancel</field>
<field name="string">Cancel</field>
</record>
<record model="ir.model.button" id="forecast_draft_button">
<field name="model">stock.forecast</field>
<field name="name">draft</field>
<field name="string">Draft</field>
</record>
<record model="ir.model.button" id="forecast_confirm_button">
<field name="model">stock.forecast</field>
<field name="name">confirm</field>
<field name="string">Confirm</field>
</record>
<record model="ir.model.button" id="forecast_complete_button">
<field name="model">stock.forecast</field>
<field name="name">complete</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,222 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "Активен"
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "Фирма"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr "Местонахождение-цел"
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr "От дата"
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "Редове"
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "Състояние"
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr "До дата"
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr "Местоположение"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "Фирма"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr "Местонахождение-цел"
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr "От дата"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "Продукти"
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr "До дата"
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Прогноза"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr ""
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr "Мин, к-во"
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr "Движения"
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "Продукт"
#, fuzzy
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Категория мер. ед. на продукт"
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr "Количество"
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr "Изпълнено количество"
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr "Ред от прогноза"
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr "Движение"
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
#, fuzzy
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "All"
#, fuzzy
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Приключено"
#, fuzzy
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Проект"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr ""
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Cancel"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Confirm"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
#, fuzzy
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Stock Forecast"
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Прогноза за наличност"
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Изготвяне на прогноза"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr "Ред от прогноза за наличност"
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr "Ред от прогноза - Движение"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Отказ"
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Приключен"
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Проект"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr "Добавяне на ред от прогноза въз основа на минали данни"
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Изготвяне на прогноза"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr "Изпълнен"
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Отказ"

View File

@@ -0,0 +1,212 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "Actiu"
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr "Destí"
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr "Des de la data"
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "Línies"
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "Estat"
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr "Fins a la data"
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr "Ubicació"
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr "Destí"
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr "Des de la data"
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "Productes"
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr "Fins a la data"
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr "Magatzem"
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Previsió"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr "Estat de la previsió"
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr "Quantitat mínima"
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr "Moviments"
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "Producte"
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Categoria UdM del producte"
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr "Quantitat"
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr "Quantitats executades"
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr "Unitat"
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr "Línia de previsió"
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr "Moviment"
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr "La categoria de la unitat de mesura del producte."
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Previsions"
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Previsió completa"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "Tot"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Finalitzada"
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Esborrany"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
"Les previsions \"%(first)s\" i \"%(second)s\" es superposen, heu d'utilitzar"
" dates diferents."
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr "Per eliminar la previsió \"%(forecast)s\" l'heu de cancel·lar."
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr "El producte ha de ser únic en la previsió d'existències."
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Cancel·la"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Confirma"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Esborrany"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr "Usuari a les empreses"
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Previsions"
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Previsió d'existències"
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Previsió d'existències"
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Demanar previsió completa"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr "Línia de previsió d'existències"
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr "Línia de previsió - Moviment"
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Cancel·lada"
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Finalitzada"
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Esborrany"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr "Afegir línia de previsió sobre la base de dades anteriors."
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Previsió completa"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr "Completa"
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Cancel·la"

View File

@@ -0,0 +1,218 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr ""
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr ""
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Forecasts"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr ""
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr ""
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr ""
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr ""
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr ""
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "All"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Done"
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr ""
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Cancel"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Confirm"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr ""
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr ""
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Cancel"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Done"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Draft"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr ""
#, fuzzy
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr ""
#, fuzzy
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Cancel"

View File

@@ -0,0 +1,216 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "Aktiv"
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr "Bestimmungsort"
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr "Von Datum"
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "Positionen"
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "Status"
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr "Bis Datum"
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr "Ort"
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr "Bestimmungsort"
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr "Von Datum"
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "Artikel"
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr "Bis Datum"
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr "Logistikstandort"
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Bedarfsprognose"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr "Prognosestatus"
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr "Minimale Anzahl"
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr "Warenbewegungen"
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "Artikel"
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Maßeinheitenkategorie"
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr "Menge"
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr "Menge ausgeführt"
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr "Einheit"
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr "Bedarfsprognoseposition"
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr "Warenbewegung"
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr "Die Kategorie der Maßeinheit des Artikels."
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Bedarfsprognosen"
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Bedarfsprognose durchführen"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "Alle"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Erledigt"
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Entwurf"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
"Die Bedarfsprognosen \"%(first)s\" und \"%(second)s\" überschneiden sich. Es"
" müssen unterschiedliche Daten verwendet werden."
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
"Damit die Bedarfsprognose \"%(forecast)s\" gelöscht werden kann, muss sie "
"zuerst annulliert werden."
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr "Ein Artikel kann nur einmal pro Bedarfsprognose eingetragen werden."
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Annullieren"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Bestätigen"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Entwurf"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr "Benutzer in Unternehmen"
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Bedarfsprognosen"
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Lager Bedarfsprognose"
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Lager Bedarfsprognose"
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Bedarfsprognose durchführen"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr "Bedarfsprognoseposition"
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr "Bedarfsprognoseposition - Warenbewegung"
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Annulliert"
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Erledigt"
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Entwurf"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr ""
"Erstelle Bedarfsprognosepositionen basierend auf den Werten aus der "
"Vergangenheit."
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Bedarfsprognose durchführen"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr "Durchführen"
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Abbrechen"

View File

@@ -0,0 +1,212 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "Activo"
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr "Destino"
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr "Desde la fecha"
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "Líneas"
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "Estado"
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr "Hasta la fecha"
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr "Ubicación"
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr "Destino"
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr "Desde la fecha"
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "Productos"
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr "Hasta la fecha"
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr "Almacén"
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Previsión"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr "Estado de la previsión"
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr "Cantidad mínima"
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr "Movimientos"
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "Producto"
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Categoría UdM del producto"
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr "Cantidad"
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr "Cantidades ejecutadas"
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr "Unidad"
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr "Línea de previsión"
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr "Movimiento"
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr "La categoría de la unidad de medida del producto."
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Previsiones"
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Previsión completa"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "Todo"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Finalizado"
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Borrador"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
"Las previsiones \"%(first)s\" y \"%(second)s\" se solapan, debe usar fechas "
"diferentes."
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr "Para eliminar la previsión \"%(forecast)s\" debe cancelarla."
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr "El producto debe ser único en la previsión de existencias."
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Cancelar"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Confirmar"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Borrador"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr "Usuario en las empresas"
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Previsiones"
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Previsión de existencias"
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Previsión de existencias"
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Previsión completa"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr "Línea de previsión de existencias"
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr "Línea de previsión - Movimiento"
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Cancelada"
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Finalizada"
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Borrador"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr "Añadir línea de previsión en base a datos anteriores."
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Previsión completa"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr "Completar"
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Cancelar"

View File

@@ -0,0 +1,214 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr ""
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr ""
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr ""
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr ""
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr ""
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr ""
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Categoría de UdM de producto"
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr "Cantidad ejecutada"
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr ""
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr ""
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr ""
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr ""
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr ""
#, fuzzy
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Cancelar"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr ""
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr ""
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr ""
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr ""
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr ""
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr ""
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr ""
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Cancelar"
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr ""
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr ""
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr ""
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr ""
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr ""
#, fuzzy
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Cancelar"

View File

@@ -0,0 +1,216 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "Aktiivne"
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "Ettevõte"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr "Sihtkoht"
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr "Kuupäevast"
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "Read"
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "Olek"
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr "Kuupäevani"
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr "Asukoht"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "Ettevõte"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr "Sihtkoht"
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr "Kuupäevast"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "Tooted"
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr "Luupäevani"
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Prognoos"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr "Prognoosi olek"
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr "Vähim kogus"
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr "Liikumised"
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "Toode"
#, fuzzy
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Toote mõõtühiku kategooria"
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr "Kogus"
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr ""
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr "Prognoosi rida"
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr "Liikumine"
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Prognoosid"
#, fuzzy
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Täielik prognoos"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "Kõik"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Tehtud"
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Mustand"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr ""
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Tühista"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Kinnita"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Mustand"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Prognoosid"
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Laoprognoos"
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Laoprognoos"
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Täielik prognoos"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr "Lao prognoosi rida"
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr "Prognoosirida - kanne"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Tühista"
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Tehtud"
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Mustand"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr ""
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Täielik prognoos"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr "Lõpetatud"
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Tühista"

View File

@@ -0,0 +1,217 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "فعال"
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "شرکت"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr "مقصد"
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr "از تاریخ"
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "سطرها"
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "وضعیت"
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr "تا تاریخ"
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr "مکان"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "شرکت"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr "مقصد"
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr "از تاریخ"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "محصولات"
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr "تا تاریخ"
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "پیش بینی"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr "وضعیت پیش بینی"
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr "تعداد حداقل"
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr "جابجایی ها"
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "محصول"
#, fuzzy
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "دسته بندی واحد اندازه گیری محصول"
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr "مقدار/تعداد"
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr "مقدار حساب شده"
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr "سطر پیش بینی"
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr "جابجایی"
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "پیش بینی ها"
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "پیش بینی کامل"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "همه"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "انجام شد"
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "پیش‌نویس"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
"پیش بینی های :\"%(first)s\" و \"%(second)s\" همپوشانی دارند، شما باید از "
"تاریخ های مختلف استفاده کنید."
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr "برای حذف پیش بینی :\"%(forecast)s\" شما باید آن را لغو کنید."
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr "محصول باید با پیش بینی منحصر به فرد باشد."
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Cancel"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Confirm"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "پیش بینی ها"
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "پیش بینی موجودی"
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "پیش بینی موجودی"
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "پیش بینی کامل"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr "سطر پیش بینی موجودی"
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr "سطر پیش بینی - جابجایی"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "انصراف"
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "انجام شد"
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "پیش‌نویس"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr "بر اساس داده های گذشته سطر پیش بینی را اضافه کنید."
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "پیش بینی کامل"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr "تکمیل"
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "انصراف"

View File

@@ -0,0 +1,218 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr ""
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr ""
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Forecasts"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr ""
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr ""
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr ""
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr ""
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr ""
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "All"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Done"
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr ""
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Cancel"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Confirm"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr ""
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr ""
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Cancel"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Done"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Draft"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr ""
#, fuzzy
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr ""
#, fuzzy
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Cancel"

View File

@@ -0,0 +1,212 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "Actif"
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "Société"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr "Destination"
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr "Date de début"
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "Lignes"
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "État"
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr "Date de fin"
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr "Emplacement"
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "Société"
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr "Destination"
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr "Date de début"
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "Produits"
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr "Date de fin"
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr "Entrepôt"
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Prévision"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr "État de la prévision"
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr "Qté minimale"
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr "Mouvements"
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "Produit"
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Catégorie d'UDM du produit"
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr "Quantité"
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr "Quantité exécutée"
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr "Unité"
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr "Ligne de prévision"
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr "Mouvement"
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr "La catégorie d'Unité De Mesure pour le produit."
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Prévisions"
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Compléter la prévision"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "Toutes"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Effectuée"
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Brouillon"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
"Les prévisions « %(first)s » et « %(second)s » se chevauchent, vous devez "
"utiliser des dates différentes."
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr "Pour supprimer la prévision « %(forecast)s », vous devez l'annuler."
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr "Le produit doit être unique par prévision."
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Annuler"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Confirmer"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Brouillon"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr "Utilisateur dans les sociétés"
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Prévisions"
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Stock prévisionnel"
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Stock prévisionnel"
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Completer la prévision - Demander"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr "Ligne de prévision de stock"
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr "Ligne de prévision - Mouvement"
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Annulée"
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Terminée"
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Brouillon"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr "Ajouter la ligne des prévisions fondées sur des données historiques."
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Completer la prévision"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr "Compléter"
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Annuler"

View File

@@ -0,0 +1,218 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "Aktív"
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "Cég"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr "Cél"
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr "Ettől"
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "Sorok"
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "Állapot"
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr "Eddig"
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr "Tárhely"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "Cég"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr "Cél"
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr "Ettől"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "Termékek"
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr "Eddig"
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Előrejelzés"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr ""
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr "Minimum mennyiség"
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr "Készletmozgások"
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "Termék"
#, fuzzy
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Mértékegység kategória"
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr "Mennyiség"
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr "Mennyiség kész"
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr "Előrejelzés sor"
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr "Tétel"
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Előrejelzések"
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "összes"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Kész"
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "vázlat"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
#, fuzzy
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr "Egy variáció csak egyszer írható be ."
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Mégse"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Jóváhagyás"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "vázlat"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Előrejelzések"
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr ""
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr ""
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "érvénytelen"
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Kész"
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "vázlat"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr ""
#, fuzzy
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr ""
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Mégse"

View File

@@ -0,0 +1,213 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "Aktif"
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "Perusahaan"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr "Dari Tanggal"
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "Baris"
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "Status"
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr "Ke Tanggal"
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr "Lokasi"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "Perusahaan"
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr "Dari Tanggal"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "Produk"
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr "Ke Tanggal"
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr ""
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr ""
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr ""
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr "Perpindahan"
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "Produk"
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr ""
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr "Perpindahan"
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr ""
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr ""
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr ""
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr ""
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Batal"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Konfirmasi"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Rancangan"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Prakiraan"
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr ""
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr ""
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr ""
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr ""
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr ""
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Batal"
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr ""
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Rancangan"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr ""
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr ""
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr ""
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Batal"

View File

@@ -0,0 +1,231 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "Attivo"
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "Azienda"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr "Data Inizio"
#, fuzzy
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "Righe"
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "Stato"
#, fuzzy
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr "a data"
#, fuzzy
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr "Luogo"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "Azienda"
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr "Data Inizio"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "Prodotto"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr "a data"
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Forecasts"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr ""
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr "Movimenti"
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "Prodotto"
#, fuzzy
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Categotia UdM prodotto"
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr "Quantità"
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr ""
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr "Movimento"
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Complete Forecast"
#, fuzzy
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "Tutti"
#, fuzzy
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Fatto"
#, fuzzy
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Bozza"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr ""
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Annulla"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Confirm"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr ""
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr ""
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Annullato"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Fatto"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Bozza"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr ""
#, fuzzy
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr ""
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Annulla"

View File

@@ -0,0 +1,236 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "ໃຊ້ຢູ່"
#, fuzzy
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "ຫ້ອງການ/ສຳນັກງານ"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr "ແຕ່ວັນທີ"
#, fuzzy
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "ຮ່ວງ"
#, fuzzy
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "ສະຖານະ"
#, fuzzy
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr "ເຖິງວັນທີ"
#, fuzzy
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr "ບ່ອນຢູ່"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "ຫ້ອງການ/ສຳນັກງານ"
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr "ແຕ່ວັນທີ"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "ຜະລິດຕະພັນ"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr "ເຖິງວັນທີ"
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Forecasts"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr ""
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr "ຕັດບັນຊີສາງ"
#, fuzzy
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "ຜະລິດຕະພັນ"
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr "ຈຳນວນ"
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr ""
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr "ເຄື່ອນໄຫວ"
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Complete Forecast"
#, fuzzy
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "ທັງໝົດ"
#, fuzzy
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "ແລ້ວໆ"
#, fuzzy
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "ຮ່າງກຽມ"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr ""
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Cancel"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Confirm"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr ""
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr ""
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "ຍົກເລີກ"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "ແລ້ວໆ"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "ຮ່າງກຽມ"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr ""
#, fuzzy
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr ""
#, fuzzy
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "ຍົກເລີກ"

View File

@@ -0,0 +1,219 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr ""
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "Organizacija"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr ""
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "Organizacija"
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Forecasts"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr ""
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr ""
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr ""
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr ""
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr ""
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "All"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Done"
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr ""
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Cancel"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Confirm"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr ""
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr ""
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Cancel"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Done"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Draft"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr ""
#, fuzzy
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr ""
#, fuzzy
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Cancel"

View File

@@ -0,0 +1,212 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "Actief"
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "Bedrijf"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr "Bestemming"
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr "Vanaf datum"
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "Regels"
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "Status"
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr "Tot datum"
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr "Plaats"
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "Bedrijf"
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr "Bestemming"
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr "Vanaf datum"
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "Producten"
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr "Tot datum"
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr "Magazijn"
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "prognose"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr "prognose status"
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr "Minimale hoeveelheid"
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr "Mutaties"
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "Product"
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Product maateenheid categorie"
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr "Hoeveelheid"
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr "Uitgevoerde hoeveelheid (verbruikt?)"
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr "Eenheid"
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr "prognose lijn"
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr "Mutatie"
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr "De categorie van de maateenheid van het product."
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "voorspellingen"
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Prognose voltooien"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "Alle"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Klaar"
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Concept"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
"De prognoses\"%(first)s\" en \"%(second)s\" overlappen elkaar. Verschillende"
" gegevens moeten worden gebruikt."
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr "Om voorspelling \"%(forecast)s\"\" te verwijderen, moet u deze annuleren."
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr "Product moet uniek zijn op basis van prognose."
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Annuleren"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Bevestigen"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Concept"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr "Gebruiker in het bedrijf"
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "prognose"
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Stock prognose"
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Stock prognose"
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Prognose voltooien"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr "Stock prognose lijn"
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr "Prognose lijn - Mutatie"
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Geannuleerd"
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Klaar"
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Concept"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr "prognosesregel toevoegen op basis van gegevens uit het verleden."
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Prognose voltooien"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr "Voltooien"
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Annuleren"

View File

@@ -0,0 +1,226 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "Aktywna"
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "Firma"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr "Cel"
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr "Od dnia"
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "Wiersze"
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "Stan"
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr "Do dnia"
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr "Lokalizacja"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "Firma"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr "Cel"
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr "Od dnia"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "Produkty"
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr "Do dnia"
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Forecasts"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr ""
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr "Minimalna ilość"
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr "Ruchy"
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "Produkt"
#, fuzzy
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Kategoria jm produktu"
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr "Ilość"
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr ""
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr "Ruch"
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
#, fuzzy
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "All"
#, fuzzy
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Done"
#, fuzzy
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr ""
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Cancel"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Confirm"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
#, fuzzy
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr ""
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr ""
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Anuluj"
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Wykonano"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Draft"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr ""
#, fuzzy
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr ""
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Anuluj"

View File

@@ -0,0 +1,223 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "Ativo"
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr "Destino"
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr "Data de Início"
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "Linhas"
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "Estado"
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr "Até a Data"
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr "Localização"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "Empresa"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr "Destino"
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr "Desde a Data"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "Produtos"
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr "Até a Data"
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Previsão"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr "Estado da Previsão"
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr "Qtd Mínima"
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr "Movimentações"
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "Produto"
#, fuzzy
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Categoria da UDM do Produto"
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr "Quantidade"
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr "Quantidade Executada"
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr "Linha de Previsão"
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr "Movimentação"
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
#, fuzzy
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Complete Forecast"
#, fuzzy
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "All"
#, fuzzy
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Done"
#, fuzzy
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
#, fuzzy
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr "O produto deve ser único por previsão"
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Cancel"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Confirm"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
#, fuzzy
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Stock Forecast"
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Previsão do Estoque"
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Pedir a Previsão Completa"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr "Linha da Previsão de Estoque"
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr "Linha de Previsão - Movimentação"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Cancelar"
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Feito"
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Rascunho"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr "Adicionar linha de previsão com base em dados históricos."
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Completar a Previsão"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr "Completar"
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Cancelar"

View File

@@ -0,0 +1,212 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr ""
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "Companie"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "Rânduri"
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr ""
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "Companie"
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "Produs"
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr ""
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr ""
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr ""
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr ""
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "Produs"
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr ""
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr ""
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr ""
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr ""
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr ""
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr ""
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr ""
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr ""
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr ""
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr ""
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr ""
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr ""
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr ""
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr ""
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr ""
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr ""
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr ""
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr ""
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,224 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "Действующий"
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "Организация"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr "Назначение"
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr "Начальная дата"
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "Строки"
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "Состояние"
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr "Конечная дата"
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr "Местоположение"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "Организация"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr "Назначение"
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr "Начальная дата"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "Продукция"
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr "Конечная дата"
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Прогноз"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr ""
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr "Минимальное кол-во"
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr "Перемещения"
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "Продукт"
#, fuzzy
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Категория ед. измерения продукции"
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr "Кол-во"
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr "Кол-во выполнено"
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr "Строка прогноза"
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr "Перемещение"
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
#, fuzzy
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Complete Forecast"
#, fuzzy
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "All"
#, fuzzy
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Выполнено"
#, fuzzy
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
#, fuzzy
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr "Продукт должен быть уникальным в пределах прогноза."
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Cancel"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Confirm"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
#, fuzzy
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Stock Forecast"
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Прогноз по складу"
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Завершить прогноз"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr "Строка прогноза по складу"
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr "Строка прогноза - Перемещение"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Отменить"
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Выполнено"
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Черновик"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr "Добавить строчку прогноза основанного на предыдущих данных."
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Завершить прогноз"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr "Завершить"
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Отменить"

View File

@@ -0,0 +1,223 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "Aktivno"
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr "Družba"
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr "Cilj"
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr "Od"
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr "Postavke"
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "Stanje"
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr "Do"
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr "Lokacija"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr "Družba"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr "Cilj"
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr "Od datuma"
#, fuzzy
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr "Izdelki"
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr "Do"
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Napoved"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr "Stanje napovedi"
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr "Minimalna količina"
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr "Promet"
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr "Izdelek"
#, fuzzy
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Katerogija ME izdelka"
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr "Količina"
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr "Izvedena količina"
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr "Postavka napovedi"
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr "Promet"
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
#, fuzzy
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Complete Forecast"
#, fuzzy
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "All"
#, fuzzy
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Done"
#, fuzzy
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
#, fuzzy
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr "Izdelek mora biti edinstven po napovedih"
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Cancel"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Confirm"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
#, fuzzy
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Stock Forecast"
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Napoved zaloge"
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Izpolnitev napovedi"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr "Postavka napovedi zaloge"
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr "Postavka napovedi - Promet"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Preklic"
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Zaključeno"
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "V pripravi"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr "Dodaj postavko napovedi na osnovi preteklih podatkov."
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Izpolnitev napovedi"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr "Zaključi"
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Prekliči"

View File

@@ -0,0 +1,218 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr ""
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr ""
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Forecasts"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr ""
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr ""
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr ""
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr ""
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr ""
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "All"
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "Done"
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr ""
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Cancel"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Confirm"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr ""
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr ""
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "Cancel"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "Done"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Draft"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr ""
#, fuzzy
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr ""
#, fuzzy
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr "Cancel"

View File

@@ -0,0 +1,210 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr ""
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr ""
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr ""
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr ""
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr ""
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr ""
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr ""
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr ""
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr ""
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr ""
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr ""
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr ""
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr ""
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr ""
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr ""
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr ""
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr ""
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr ""
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr ""
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr ""
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr ""
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr ""
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr ""
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr ""
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,222 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:stock.forecast,active:"
msgid "Active"
msgstr "启用"
msgctxt "field:stock.forecast,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.forecast,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:stock.forecast,lines:"
msgid "Lines"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast,state:"
msgid "State"
msgstr "状态"
msgctxt "field:stock.forecast,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:stock.forecast,warehouse:"
msgid "Location"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,company:"
msgid "Company"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,destination:"
msgid "Destination"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,products:"
msgid "Products"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:stock.forecast.complete.ask,warehouse:"
msgid "Warehouse"
msgstr ""
#, fuzzy
msgctxt "field:stock.forecast.line,forecast:"
msgid "Forecast"
msgstr "Forecasts"
msgctxt "field:stock.forecast.line,forecast_state:"
msgid "Forecast State"
msgstr ""
msgctxt "field:stock.forecast.line,minimal_quantity:"
msgid "Minimal Qty"
msgstr ""
msgctxt "field:stock.forecast.line,moves:"
msgid "Moves"
msgstr ""
msgctxt "field:stock.forecast.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:stock.forecast.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:stock.forecast.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:stock.forecast.line,quantity_executed:"
msgid "Quantity Executed"
msgstr ""
msgctxt "field:stock.forecast.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,line:"
msgid "Forecast Line"
msgstr ""
msgctxt "field:stock.forecast.line-stock.move,move:"
msgid "Move"
msgstr ""
msgctxt "help:stock.forecast.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
msgctxt "model:ir.action,name:wizard_forecast_complete"
msgid "Complete Forecast"
msgstr "Complete Forecast"
#, fuzzy
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_all"
msgid "All"
msgstr "全部"
#, fuzzy
msgctxt "model:ir.action.act_window.domain,name:act_forecast_form_domain_done"
msgid "Done"
msgstr "完成"
msgctxt ""
"model:ir.action.act_window.domain,name:act_forecast_form_domain_draft"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.message,text:msg_forecast_date_overlap"
msgid ""
"The forecasts \"%(first)s\" and \"%(second)s\" overlap, you must use "
"different dates."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_delete_cancel"
msgid "To delete forecast \"%(forecast)s\" you must cancel it."
msgstr ""
msgctxt "model:ir.message,text:msg_forecast_line_product_unique"
msgid "Product must be unique by forecast."
msgstr ""
msgctxt "model:ir.model.button,string:forecast_cancel_button"
msgid "Cancel"
msgstr "Cancel"
msgctxt "model:ir.model.button,string:forecast_confirm_button"
msgid "Confirm"
msgstr "Confirm"
msgctxt "model:ir.model.button,string:forecast_draft_button"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.rule.group,name:rule_group_forecast_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_forecast_form"
msgid "Forecasts"
msgstr "Forecasts"
msgctxt "model:res.group,name:group_stock_forecast"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast,name:"
msgid "Stock Forecast"
msgstr "Stock Forecast"
#, fuzzy
msgctxt "model:stock.forecast.complete.ask,name:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "model:stock.forecast.line,name:"
msgid "Stock Forecast Line"
msgstr ""
msgctxt "model:stock.forecast.line-stock.move,name:"
msgid "ForecastLine - Move"
msgstr ""
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Cancelled"
msgstr "取消"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Done"
msgstr "完成"
#, fuzzy
msgctxt "selection:stock.forecast,state:"
msgid "Draft"
msgstr "Draft"
msgctxt "view:stock.forecast:"
msgid "Add forecast line based on past data."
msgstr ""
#, fuzzy
msgctxt "view:stock.forecast:"
msgid "Complete Forecast"
msgstr "Complete Forecast"
msgctxt "wizard_button:stock.forecast.complete,ask,complete:"
msgid "Complete"
msgstr ""
#, fuzzy
msgctxt "wizard_button:stock.forecast.complete,ask,end:"
msgid "Cancel"
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_forecast_date_overlap">
<field name="text">The forecasts "%(first)s" and "%(second)s" overlap, you must use different dates.</field>
</record>
<record model="ir.message" id="msg_forecast_delete_cancel">
<field name="text">To delete forecast "%(forecast)s" you must cancel it.</field>
</record>
<record model="ir.message" id="msg_forecast_line_product_unique">
<field name="text">Product must be unique by forecast.</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.ui.view" id="product_view_list_forecast">
<field name="model">product.product</field>
<field name="type">tree</field>
<field name="priority" eval="20"/>
<field name="name">product_list_forecast</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,351 @@
# 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 decimal import Decimal
from dateutil.relativedelta import relativedelta
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, inactive_records
class StockForecastTestCase(CompanyTestMixin, ModuleTestCase):
'Test StockForecast module'
module = 'stock_forecast'
@with_transaction()
def test_forecast_rec_name(self):
pool = Pool()
Forecast = pool.get('stock.forecast')
Location = pool.get('stock.location')
customer, = Location.search([('code', '=', 'CUS')])
warehouse, = Location.search([('code', '=', 'WH')])
storage, = Location.search([('code', '=', 'STO')])
company = create_company()
with set_company(company):
forecast = Forecast(
warehouse=warehouse,
destination=customer,
from_date=datetime.date(2023, 1, 1),
to_date=datetime.date(2023, 3, 31),
)
forecast.save()
with inactive_records():
forecasts = Forecast.search([('rec_name', '=', "Warehouse")])
self.assertEqual(
forecast.rec_name,
"[WH] Warehouse → [CUS] Customer @ [01/01/2023 - 03/31/2023]")
self.assertEqual(forecasts, [forecast])
@with_transaction()
def test_distribute(self):
'Test distribute'
pool = Pool()
Line = pool.get('stock.forecast.line')
line = Line()
for values, result in (
((1, 5), {0: 5}),
((4, 8), {0: 2, 1: 2, 2: 2, 3: 2}),
((2, 5), {0: 2, 1: 3}),
((10, 4), {0: 0, 1: 1, 2: 0, 3: 1, 4: 0,
5: 0, 6: 1, 7: 0, 8: 1, 9: 0}),
):
self.assertEqual(line.distribute(*values), result)
@with_transaction()
def test_create_moves_before(self):
"Test create moves before start date"
pool = Pool()
Uom = pool.get('product.uom')
Template = pool.get('product.template')
Product = pool.get('product.product')
Location = pool.get('stock.location')
Forecast = pool.get('stock.forecast')
Move = pool.get('stock.move')
unit, = Uom.search([('name', '=', 'Unit')])
template, = Template.create([{
'name': 'Test create_moves',
'type': 'goods',
'default_uom': unit.id,
}])
product, = Product.create([{
'template': template.id,
}])
customer, = Location.search([('code', '=', 'CUS')])
warehouse, = Location.search([('code', '=', 'WH')])
storage, = Location.search([('code', '=', 'STO')])
company = create_company()
with set_company(company):
today = datetime.date.today()
forecast, = Forecast.create([{
'warehouse': warehouse.id,
'destination': customer.id,
'from_date': today + relativedelta(months=1, day=1),
'to_date': today + relativedelta(months=1, day=20),
'company': company.id,
'lines': [
('create', [{
'product': product.id,
'quantity': 10,
'unit': unit.id,
'minimal_quantity': 2,
}],
),
],
}])
Forecast.confirm([forecast])
Forecast.create_moves([forecast])
line, = forecast.lines
self.assertEqual(line.quantity_executed, 0)
self.assertEqual(len(line.moves), 5)
self.assertEqual(sum(move.quantity for move in line.moves), 10)
self.assertGreaterEqual(
min(m.planned_date for m in line.moves), forecast.from_date)
Forecast.delete_moves([forecast])
line, = forecast.lines
self.assertEqual(len(line.moves), 0)
Move.create([{
'from_location': storage.id,
'to_location': customer.id,
'product': product.id,
'unit': unit.id,
'quantity': 2,
'planned_date': today + relativedelta(months=1, day=5),
'company': company.id,
'currency': company.currency.id,
'unit_price': Decimal('1'),
}])
line, = forecast.lines
self.assertEqual(line.quantity_executed, 2)
Forecast.create_moves([forecast])
line, = forecast.lines
self.assertEqual(line.quantity_executed, 2)
self.assertEqual(len(line.moves), 4)
self.assertEqual(sum(move.quantity for move in line.moves), 8)
self.assertGreaterEqual(
min(m.planned_date for m in line.moves), forecast.from_date)
@with_transaction()
def test_create_moves_during(self):
"Test create moves during the period"
pool = Pool()
Uom = pool.get('product.uom')
Template = pool.get('product.template')
Product = pool.get('product.product')
Location = pool.get('stock.location')
Forecast = pool.get('stock.forecast')
Move = pool.get('stock.move')
unit, = Uom.search([('name', '=', 'Unit')])
template, = Template.create([{
'name': 'Test create_moves',
'type': 'goods',
'default_uom': unit.id,
}])
product, = Product.create([{
'template': template.id,
}])
customer, = Location.search([('code', '=', 'CUS')])
warehouse, = Location.search([('code', '=', 'WH')])
storage, = Location.search([('code', '=', 'STO')])
company = create_company()
with set_company(company):
today = datetime.date.today()
forecast, = Forecast.create([{
'warehouse': warehouse.id,
'destination': customer.id,
'from_date': today - relativedelta(days=20),
'to_date': today + relativedelta(days=10),
'company': company.id,
'lines': [
('create', [{
'product': product.id,
'quantity': 20,
'unit': unit.id,
'minimal_quantity': 2,
}],
),
],
}])
Forecast.confirm([forecast])
Forecast.create_moves([forecast])
line, = forecast.lines
self.assertEqual(line.quantity_executed, 0)
self.assertEqual(len(line.moves), 10)
self.assertEqual(sum(move.quantity for move in line.moves), 20)
self.assertGreaterEqual(
min(m.planned_date for m in line.moves), today)
Forecast.delete_moves([forecast])
line, = forecast.lines
self.assertEqual(len(line.moves), 0)
Move.create([{
'from_location': storage.id,
'to_location': customer.id,
'product': product.id,
'unit': unit.id,
'quantity': 10,
'planned_date': today - relativedelta(days=5),
'company': company.id,
'currency': company.currency.id,
'unit_price': Decimal('1'),
}])
line, = forecast.lines
self.assertEqual(line.quantity_executed, 10)
Forecast.create_moves([forecast])
line, = forecast.lines
self.assertEqual(line.quantity_executed, 10)
self.assertEqual(len(line.moves), 5)
self.assertEqual(sum(move.quantity for move in line.moves), 10)
self.assertGreaterEqual(
min(m.planned_date for m in line.moves), today)
@with_transaction()
def test_create_moves_after(self):
"Test create not moves after end date"
pool = Pool()
Uom = pool.get('product.uom')
Template = pool.get('product.template')
Product = pool.get('product.product')
Location = pool.get('stock.location')
Forecast = pool.get('stock.forecast')
unit, = Uom.search([('name', '=', 'Unit')])
template, = Template.create([{
'name': 'Test create_moves',
'type': 'goods',
'default_uom': unit.id,
}])
product, = Product.create([{
'template': template.id,
}])
customer, = Location.search([('code', '=', 'CUS')])
warehouse, = Location.search([('code', '=', 'WH')])
storage, = Location.search([('code', '=', 'STO')])
company = create_company()
with set_company(company):
today = datetime.date.today()
forecast, = Forecast.create([{
'warehouse': warehouse.id,
'destination': customer.id,
'from_date': today - relativedelta(days=20),
'to_date': today - relativedelta(days=10),
'company': company.id,
'lines': [
('create', [{
'product': product.id,
'quantity': 20,
'unit': unit.id,
'minimal_quantity': 2,
}],
),
],
}])
Forecast.confirm([forecast])
Forecast.create_moves([forecast])
line, = forecast.lines
self.assertEqual(len(line.moves), 0)
@with_transaction()
def test_complete(self):
'Test complete'
pool = Pool()
Uom = pool.get('product.uom')
Template = pool.get('product.template')
Product = pool.get('product.product')
Location = pool.get('stock.location')
Forecast = pool.get('stock.forecast')
Move = pool.get('stock.move')
ForecastComplete = pool.get('stock.forecast.complete', type='wizard')
unit, = Uom.search([('name', '=', 'Unit')])
template, = Template.create([{
'name': 'Test complete',
'type': 'goods',
'default_uom': unit.id,
}])
product, = Product.create([{
'template': template.id,
}])
customer, = Location.search([('code', '=', 'CUS')])
supplier, = Location.search([('code', '=', 'SUP')])
warehouse, = Location.search([('code', '=', 'WH')])
storage, = Location.search([('code', '=', 'STO')])
company = create_company()
with set_company(company):
today = datetime.date.today()
moves = Move.create([{
'from_location': supplier.id,
'to_location': storage.id,
'product': product.id,
'unit': unit.id,
'quantity': 10,
'effective_date': (today
+ relativedelta(months=-1, day=1)),
'company': company.id,
'currency': company.currency.id,
'unit_price': Decimal('1'),
}, {
'from_location': storage.id,
'to_location': customer.id,
'product': product.id,
'unit': unit.id,
'quantity': 5,
'effective_date': (today
+ relativedelta(months=-1, day=15)),
'company': company.id,
'currency': company.currency.id,
'unit_price': Decimal('1'),
}])
Move.do(moves)
forecast, = Forecast.create([{
'warehouse': warehouse.id,
'destination': customer.id,
'from_date': today + relativedelta(months=1, day=1),
'to_date': today + relativedelta(months=1, day=20),
'company': company.id,
}])
with Transaction().set_context(
active_model=Forecast.__name__, active_id=forecast.id):
session_id, _, _ = ForecastComplete.create()
forecast_complete = ForecastComplete(session_id)
forecast_complete.ask.company = company
forecast_complete.ask.warehouse = warehouse
forecast_complete.ask.destination = customer
forecast_complete.ask.from_date = (
today + relativedelta(months=-1, day=1))
forecast_complete.ask.to_date = (
today + relativedelta(months=-1, day=20))
forecast_complete.ask.products = [product]
forecast_complete.transition_complete()
self.assertEqual(len(forecast.lines), 1)
forecast_line, = forecast.lines
self.assertEqual(forecast_line.product, product)
self.assertEqual(forecast_line.unit, unit)
self.assertEqual(forecast_line.quantity, 5)
self.assertEqual(forecast_line.minimal_quantity, 1)
del ModuleTestCase

View File

@@ -0,0 +1,12 @@
[tryton]
version=7.2.1
depends:
company
ir
product
res
stock
xml:
product.xml
forecast.xml
message.xml

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. -->
<form>
<label name="warehouse"/>
<field name="warehouse"/>
<label name="destination"/>
<field name="destination"/>
<label name="from_date"/>
<field name="from_date"/>
<label name="to_date"/>
<field name="to_date"/>
<field name="products" colspan="4" view_ids="stock_forecast.product_view_list_forecast"/>
</form>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="warehouse"/>
<field name="warehouse"/>
<label name="destination"/>
<field name="destination"/>
<label name="from_date"/>
<field name="from_date"/>
<label name="to_date"/>
<field name="to_date"/>
<label name="company"/>
<field name="company"/>
<button string="Complete Forecast" name="complete"
colspan="2"
help="Add forecast line based on past data."/>
<field name="lines" colspan="4"/>
<label name="state"/>
<field name="state"/>
<group colspan="2" col="-1" id="buttons">
<button name="draft" icon="tryton-clear"/>
<button name="cancel" icon="tryton-cancel"/>
<button name="confirm" icon="tryton-ok"/>
</group>
</form>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form col="4">
<label name="forecast"/>
<field name="forecast"/>
<newline/>
<label name="product"/>
<field name="product"/>
<label name="quantity"/>
<field name="quantity"/>
<label name="minimal_quantity"/>
<field name="minimal_quantity"/>
<label name="unit"/>
<field name="unit"/>
<label name="quantity_executed"/>
<field name="quantity_executed"/>
<field name="moves" colspan="4"/>
</form>

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. -->
<tree editable="1">
<field name="forecast" expand="2"/>
<field name="product" expand="1"/>
<field name="quantity"/>
<field name="minimal_quantity"/>
<field name="unit"/>
<field name="quantity_executed"/>
</tree>

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. -->
<tree>
<field name="company" expand="1" optional="1"/>
<field name="warehouse" expand="2" optional="1"/>
<field name="destination" expand="2" optional="0"/>
<field name="from_date"/>
<field name="to_date"/>
<field name="state"/>
</tree>

View File

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