first commit

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

View File

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

Binary file not shown.

View File

@@ -0,0 +1,382 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import datetime as dt
from sql import Column, Window
from sql.aggregate import Min, Sum
from sql.conditionals import Coalesce
from sql.functions import Function, NthValue
from trytond import backend
from trytond.cache import Cache
from trytond.i18n import gettext
from trytond.model import Index, ModelSQL, ModelView, Workflow, fields
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Eval
from trytond.tools import timezone as tz
from trytond.transaction import Transaction
from .exceptions import PeriodClosedError, PeriodTransitionError
class SQLiteStrftime(Function):
__slots__ = ()
_function = 'STRFTIME'
class Line(ModelSQL, ModelView):
__name__ = 'attendance.line'
company = fields.Many2One('company.company', "Company", required=True,
help="The company which the employee attended.")
employee = fields.Many2One('company.employee', "Employee", required=True,
search_context={
'active_test': False,
},
domain=[
('company', '=', Eval('company', -1)),
['OR',
('start_date', '=', None),
('start_date', '<=', Eval('date', None)),
],
['OR',
('end_date', '=', None),
('end_date', '>=', Eval('date', None)),
],
])
at = fields.DateTime("At", required=True)
date = fields.Date("Date", required=True)
type = fields.Selection([
('in', 'In'),
('out', 'Out'),
], "Type", required=True)
@classmethod
def __setup__(cls):
super().__setup__()
cls._order.insert(0, ('at', 'DESC'))
# Do not cache default_at
cls.__rpc__['default_get'].cache = None
@classmethod
def default_at(cls):
return dt.datetime.now()
@classmethod
def default_company(cls):
return Transaction().context.get('company')
@classmethod
def default_employee(cls):
return Transaction().context.get('employee')
@fields.depends('at', 'company')
def on_change_with_date(self):
if not self.at:
return
at = self.at
if self.company and self.company.timezone:
timezone = tz.ZoneInfo(self.company.timezone)
at = self.at.replace(tzinfo=tz.UTC) .astimezone(timezone)
return at.date()
def get_rec_name(self, name):
pool = Pool()
Lang = pool.get('ir.lang')
lang = Lang.get()
return '%s@%s' % (self.employee.rec_name, lang.strftime(self.at))
def compute_fields(self, field_names=None):
cls = self.__class__
values = super().compute_fields(field_names=field_names)
if (field_names is None
or (cls.date.on_change_with & field_names)):
date = self.on_change_with_date()
if getattr(self, 'date', None) != date:
values['date'] = date
return values
@classmethod
def check_modification(cls, mode, lines, values=None, external=False):
super().check_modification(
mode, lines, values=values, external=external)
if mode == 'delete':
cls.check_closed_period(lines, msg='delete')
@classmethod
def validate_fields(cls, records, field_names):
super().validate_fields(records, field_names)
cls.check_closed_period(records, field_names=field_names)
@classmethod
def check_closed_period(cls, records, msg='modify', field_names=None):
pool = Pool()
Period = pool.get('attendance.period')
if field_names and not (field_names & {'company', 'at'}):
return
for record in records:
period_date = Period.get_last_period_date(record.company)
if period_date and period_date > record.at:
raise PeriodClosedError(
gettext('attendance.msg_%s_period_close' % msg,
attendance=record.rec_name,
period=period_date))
@fields.depends('employee', 'at', 'id')
def on_change_with_type(self):
records = self.search([
('employee', '=', self.employee),
('at', '<', self.at),
('id', '!=', self.id),
],
order=[('at', 'desc')],
limit=1)
if records:
record, = records
return {'in': 'out', 'out': 'in'}.get(record.type)
else:
return 'in'
class Period(Workflow, ModelSQL, ModelView):
__name__ = 'attendance.period'
_states = {
'readonly': Eval('state') == 'closed',
}
_last_period_cache = Cache('attendance.period', context=False)
ends_at = fields.DateTime("Ends at", required=True, states=_states)
company = fields.Many2One('company.company', "Company", required=True,
states=_states, help="The company the period is associated with.")
state = fields.Selection([
('draft', 'Draft'),
('closed', 'Closed'),
], "State", readonly=True, sort=False,
help="The current state of the attendance period.")
@classmethod
def __setup__(cls):
super().__setup__()
t = cls.__table__()
cls._sql_indexes.add(
Index(
t,
(t.company, Index.Equality()),
(t.state, Index.Equality(cardinality='low')),
(t.ends_at, Index.Range(order='DESC'))))
cls._transitions |= set((
('draft', 'closed'),
('closed', 'draft'),
))
cls._buttons.update({
'draft': {
'invisible': Eval('state') == 'draft',
'depends': ['state'],
},
'close': {
'invisible': Eval('state') == 'closed',
'depends': ['state'],
},
})
@classmethod
def default_company(cls):
return Transaction().context.get('company')
@classmethod
def default_state(cls):
return 'draft'
def get_rec_name(self, name):
pool = Pool()
Lang = pool.get('ir.lang')
lang = Lang.get()
return lang.strftime(self.ends_at)
@classmethod
def get_last_period_date(cls, company):
key = int(company)
result = cls._last_period_cache.get(key, -1)
if result == -1:
records = cls.search([
('company', '=', company),
('state', '=', 'closed'),
],
order=[('ends_at', 'DESC')],
limit=1)
if records:
record, = records
result = record.ends_at
else:
result = None
cls._last_period_cache.set(key, result)
return result
@classmethod
@ModelView.button
@Workflow.transition('draft')
def draft(cls, periods):
for period in periods:
records = cls.search([
('company', '=', period.company),
('state', '=', 'closed'),
('ends_at', '>', period.ends_at),
],
order=[('ends_at', 'ASC')],
limit=1)
if records:
record, = records
raise PeriodTransitionError(
gettext('attendance.msg_draft_period_previous_closed',
period=period.rec_name,
other_period=record.rec_name))
cls._last_period_cache.clear()
@classmethod
@ModelView.button
@Workflow.transition('closed')
def close(cls, periods):
for period in periods:
records = cls.search([
('company', '=', period.company),
('state', '=', 'draft'),
('ends_at', '<', period.ends_at),
],
order=[('ends_at', 'ASC')],
limit=1)
if records:
record, = records
raise PeriodTransitionError(
gettext('attendance.msg_close_period_previous_open',
period=period.rec_name,
other_period=record.rec_name))
cls._last_period_cache.clear()
class SheetLine(ModelSQL, ModelView):
__name__ = 'attendance.sheet.line'
company = fields.Many2One('company.company', "Company")
employee = fields.Many2One('company.employee', "Employee")
from_ = fields.DateTime("From")
to = fields.DateTime("To")
duration = fields.TimeDelta("Duration")
date = fields.Date("Date")
sheet = fields.Many2One('attendance.sheet', "Sheet")
@classmethod
def __setup__(cls):
super().__setup__()
cls._order.insert(0, ('from_', 'DESC'))
@classmethod
def table_query(cls):
pool = Pool()
Attendance = pool.get('attendance.line')
attendance = Attendance.__table__()
window = Window(
[attendance.employee],
order_by=[attendance.at.asc],
frame='ROWS', start=0, end=1)
type = NthValue(attendance.type, 1, window=window)
from_ = NthValue(attendance.at, 1, window=window)
to = NthValue(attendance.at, 2, window=window)
date = NthValue(attendance.date, 1, window=window)
query = attendance.select(
attendance.id.as_('id'),
attendance.company.as_('company'),
attendance.employee.as_('employee'),
type.as_('type'),
from_.as_('from_'),
to.as_('to'),
date.as_('date'))
sheet = (
Min(query.id * 2, window=Window([query.employee, query.date])))
from_ = Column(query, 'from_')
if backend.name == 'sqlite':
# As SQLite does not support operation on datetime
# we convert datetime into seconds
duration = (
SQLiteStrftime('%s', query.to) - SQLiteStrftime('%s', from_))
else:
duration = query.to - from_
return query.select(
query.id.as_('id'),
query.company.as_('company'),
query.employee.as_('employee'),
from_.as_('from_'),
query.to.as_('to'),
query.date.as_('date'),
duration.as_('duration'),
sheet.as_('sheet'),
where=query.type == 'in')
class Sheet(ModelSQL, ModelView):
__name__ = 'attendance.sheet'
company = fields.Many2One('company.company', "Company")
employee = fields.Many2One('company.employee', "Employee")
duration = fields.TimeDelta("Duration")
date = fields.Date("Date")
lines = fields.One2Many('attendance.sheet.line', 'sheet', "Lines")
@classmethod
def __setup__(cls):
super().__setup__()
cls._order.insert(0, ('date', 'DESC'))
@classmethod
def table_query(cls):
pool = Pool()
Line = pool.get('attendance.sheet.line')
line = Line.__table__()
return line.select(
(Min(line.id * 2)).as_('id'),
line.company.as_('company'),
line.employee.as_('employee'),
Sum(line.duration).as_('duration'),
line.date.as_('date'),
group_by=[line.company, line.employee, line.date])
class Sheet_Timesheet(metaclass=PoolMeta):
__name__ = 'attendance.sheet'
timesheet_duration = fields.TimeDelta("Timesheet Duration")
@classmethod
def table_query(cls):
pool = Pool()
Timesheet = pool.get('timesheet.line')
line = Timesheet.__table__()
timesheet = line.select(
Min(line.id * 2 + 1).as_('id'),
line.company.as_('company'),
line.employee.as_('employee'),
Sum(line.duration).as_('duration'),
line.date.as_('date'),
group_by=[line.company, line.employee, line.date])
attendance = super().table_query()
return (attendance
.join(
timesheet, 'FULL' if backend.name != 'sqlite' else 'LEFT',
condition=(attendance.company == timesheet.company)
& (attendance.employee == timesheet.employee)
& (attendance.date == timesheet.date))
.select(
Coalesce(attendance.id, timesheet.id).as_('id'),
Coalesce(attendance.company, timesheet.company).as_('company'),
Coalesce(
attendance.employee, timesheet.employee).as_('employee'),
attendance.duration.as_('duration'),
timesheet.duration.as_('timesheet_duration'),
Coalesce(attendance.date, timesheet.date).as_('date'),
))

View File

@@ -0,0 +1,318 @@
<?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_attendance_admin">
<field name="name">Attendance Administration</field>
</record>
<record model="res.user-res.group" id="user_admin_group_attendance_admin">
<field name="user" ref="res.user_admin"/>
<field name="group" ref="group_attendance_admin"/>
</record>
<record model="ir.ui.icon" id="attendance_icon">
<field name="name">tryton-attendance</field>
<field name="path">icons/tryton-attendance.svg</field>
</record>
<menuitem
name="Attendance"
sequence="100"
icon="tryton-attendance"
id="menu_main_attendance"/>
<menuitem
name="Configuration"
parent="menu_main_attendance"
sequence="0"
id="menu_configuration"
icon="tryton-settings"/>
<record model="ir.ui.menu-res.group" id="menu_configuration_group_employee_admin">
<field name="menu" ref="menu_configuration"/>
<field name="group" ref="group_attendance_admin"/>
</record>
<record model="ir.ui.view" id="attendance_view_form">
<field name="model">attendance.line</field>
<field name="type">form</field>
<field name="name">attendance_form</field>
</record>
<record model="ir.ui.view" id="attendance_view_list">
<field name="model">attendance.line</field>
<field name="type">tree</field>
<field name="name">attendance_list</field>
</record>
<record model="ir.action.act_window" id="act_attendance">
<field name="name">Attendances</field>
<field name="res_model">attendance.line</field>
</record>
<record model="ir.action.act_window.view" id="act_attendance_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="attendance_view_list"/>
<field name="act_window" ref="act_attendance"/>
</record>
<record model="ir.action.act_window.view" id="act_attendance_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="attendance_view_form"/>
<field name="act_window" ref="act_attendance"/>
</record>
<menuitem
action="act_attendance"
parent="menu_main_attendance"
sequence="10"
id="menu_attendance"/>
<record model="ir.rule.group" id="rule_group_attendance_companies">
<field name="name">User in companies</field>
<field name="model">attendance.line</field>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_attendance_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_attendance_companies"/>
</record>
<record model="ir.model.access" id="access_attendance">
<field name="model">attendance.line</field>
<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.rule.group" id="rule_group_attendance">
<field name="name">Own attendance</field>
<field name="model">attendance.line</field>
<field name="global_p" eval="False"/>
<field name="default_p" eval="True"/>
<field name="perm_read" eval="False"/>
</record>
<record model="ir.rule" id="rule_attendance">
<field
name="domain"
eval="[('employee', 'in', Eval('employees', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_attendance"/>
</record>
<record model="ir.rule.group" id="rule_group_attendance_admin">
<field name="name">Any attendance</field>
<field name="model">attendance.line</field>
<field name="global_p" eval="False"/>
<field name="default_p" eval="False"/>
</record>
<record model="ir.rule.group-res.group" id="rule_group_attendance_admin_group_employee_admin">
<field name="rule_group" ref="rule_group_attendance_admin"/>
<field name="group" ref="group_attendance_admin"/>
</record>
<record model="ir.ui.view" id="period_view_form">
<field name="model">attendance.period</field>
<field name="type">form</field>
<field name="name">period_form</field>
</record>
<record model="ir.ui.view" id="period_view_list">
<field name="model">attendance.period</field>
<field name="type">tree</field>
<field name="name">period_list</field>
</record>
<record model="ir.action.act_window" id="act_period_list">
<field name="name">Periods</field>
<field name="res_model">attendance.period</field>
</record>
<record model="ir.action.act_window.view" id="act_period_list_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="period_view_list"/>
<field name="act_window" ref="act_period_list"/>
</record>
<record model="ir.action.act_window.view" id="act_period_list_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="period_view_form"/>
<field name="act_window" ref="act_period_list"/>
</record>
<menuitem
action="act_period_list"
parent="menu_configuration"
sequence="10"
id="menu_period_list"/>
<record model="ir.rule.group" id="rule_group_period_companies">
<field name="name">User in companies</field>
<field name="model">attendance.period</field>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_period_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_period_companies"/>
</record>
<record model="ir.model.access" id="access_period">
<field name="model">attendance.period</field>
<field name="perm_read" eval="False"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_period_admin">
<field name="model">attendance.period</field>
<field name="group" ref="group_attendance_admin"/>
<field name="perm_read" eval="True"/>
<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="period_draft_button">
<field name="model">attendance.period</field>
<field name="name">draft</field>
<field name="string">Draft</field>
</record>
<record model="ir.model.button" id="period_close_button">
<field name="model">attendance.period</field>
<field name="name">close</field>
<field name="string">Close</field>
</record>
<record model="ir.ui.view" id="sheet_line_view_form">
<field name="model">attendance.sheet.line</field>
<field name="type">form</field>
<field name="name">sheet_line_form</field>
</record>
<record model="ir.ui.view" id="sheet_line_view_list">
<field name="model">attendance.sheet.line</field>
<field name="type">tree</field>
<field name="name">sheet_line_list</field>
</record>
<record model="ir.rule.group" id="rule_group_sheet_line_companies">
<field name="name">User in companies</field>
<field name="model">attendance.sheet.line</field>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_sheet_line_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_sheet_line_companies"/>
</record>
<record model="ir.rule.group" id="rule_group_sheet_line">
<field name="name">Own attendance sheet line</field>
<field name="model">attendance.sheet.line</field>
<field name="global_p" eval="False"/>
<field name="default_p" eval="True"/>
<field name="perm_read" eval="False"/>
</record>
<record model="ir.rule" id="rule_sheet_line">
<field
name="domain"
eval="[('employee', 'in', Eval('employees', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_sheet_line"/>
</record>
<record model="ir.rule.group" id="rule_group_sheet_line_admin">
<field name="name">Any attendance sheet line</field>
<field name="model">attendance.sheet.line</field>
<field name="global_p" eval="False"/>
<field name="default_p" eval="False"/>
</record>
<record model="ir.rule.group-res.group" id="rule_group_sheet_line_admin_group_employee_admin">
<field name="rule_group" ref="rule_group_sheet_line_admin"/>
<field name="group" ref="group_attendance_admin"/>
</record>
<record model="ir.ui.view" id="sheet_view_form">
<field name="model">attendance.sheet</field>
<field name="type">form</field>
<field name="name">sheet_form</field>
</record>
<record model="ir.ui.view" id="sheet_view_list">
<field name="model">attendance.sheet</field>
<field name="type">tree</field>
<field name="name">sheet_list</field>
</record>
<record model="ir.action.act_window" id="act_sheet">
<field name="name">Sheets</field>
<field name="res_model">attendance.sheet</field>
</record>
<record model="ir.action.act_window.view" id="act_sheet_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="sheet_view_list"/>
<field name="act_window" ref="act_sheet"/>
</record>
<record model="ir.action.act_window.view" id="act_sheet_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="sheet_view_form"/>
<field name="act_window" ref="act_sheet"/>
</record>
<record model="ir.rule.group" id="rule_group_sheet_companies">
<field name="name">User in companies</field>
<field name="model">attendance.sheet</field>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_sheet_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_sheet_companies"/>
</record>
<record model="ir.rule.group" id="rule_group_sheet">
<field name="name">Own attendance sheet</field>
<field name="model">attendance.sheet</field>
<field name="global_p" eval="False"/>
<field name="default_p" eval="True"/>
<field name="perm_read" eval="False"/>
</record>
<record model="ir.rule" id="rule_sheet">
<field
name="domain"
eval="[('employee', 'in', Eval('employees', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_sheet"/>
</record>
<record model="ir.rule.group" id="rule_group_sheet_admin">
<field name="name">Any attendance sheet</field>
<field name="model">attendance.sheet</field>
<field name="global_p" eval="False"/>
<field name="default_p" eval="False"/>
</record>
<record model="ir.rule.group-res.group" id="rule_group_sheet_admin_group_employee_admin">
<field name="rule_group" ref="rule_group_sheet_admin"/>
<field name="group" ref="group_attendance_admin"/>
</record>
<menuitem
action="act_sheet"
parent="menu_main_attendance"
sequence="20"
id="menu_sheet"/>
</data>
<data depends="timesheet">
<record model="ir.ui.view" id="sheet_view_form_timesheet">
<field name="model">attendance.sheet</field>
<field name="inherit" ref="sheet_view_form"/>
<field name="name">sheet_form_timesheet</field>
</record>
<record model="ir.ui.view" id="sheet_view_list_timesheet">
<field name="model">attendance.sheet</field>
<field name="inherit" ref="sheet_view_list"/>
<field name="name">sheet_list_timesheet</field>
</record>
</data>
</tryton>

View File

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

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/><path d="M0 0h24v24H0z" fill="none"/><path d="M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"/></svg>

After

Width:  |  Height:  |  Size: 333 B

29
modules/attendance/ir.py Normal file
View File

@@ -0,0 +1,29 @@
# 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, PoolMeta
_EMPLOYEES_RULE_MODELS = {
'attendance.line', 'attendance.sheet', 'attendance.sheet.line'}
class Rule(metaclass=PoolMeta):
__name__ = 'ir.rule'
@classmethod
def _get_context(cls, model_name):
pool = Pool()
User = pool.get('res.user')
context = super()._get_context(model_name)
if model_name in _EMPLOYEES_RULE_MODELS:
context['employees'] = User.get_employees()
return context
@classmethod
def _get_cache_key(cls, model_names):
pool = Pool()
User = pool.get('res.user')
key = super()._get_cache_key(model_names)
if model_names & _EMPLOYEES_RULE_MODELS:
key = (*key, User.get_employees())
return key

View File

@@ -0,0 +1,249 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,257 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr "A"
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Empleat"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Tipus"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr "Finalitza el"
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "Estat"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Duració"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Empleat"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr "Línies"
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr "Duració del full de treball"
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Temps"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Empleat"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "De"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr "Full"
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr "A"
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr "La empresa a la que ha atès l'empleat."
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr "L'empresa amb la que esta associada el període."
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr "L'estat actual del període d'assistència."
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr "Linia d'assitència"
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr "Període d'assistència"
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr "Full d'assistència"
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr "Línia de full d'assistència"
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr "Assistències"
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Períodes"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr "Fulls"
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
"Per tancar el període \"%(period)s\" heu de tancar primer el període "
"\"%(other_period)s\"."
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Per eliminar l'asistència \"%(attendance)s\" heu de reobrir el període "
"\"%(period)s\"."
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
"Per cambiar el període \"%(period)s\" heu d'establir primer el "
"període\"%(other_period)s\" a esborrany."
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Per modificar l'assitència \"%(attendance)s\" heu de reobrir el període "
"\"%(period)s\"."
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Tanca"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Esborrany"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr "La teva propia assistència"
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr "Qualsevol assistència"
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr "Usuari a les empreses"
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Usuari a les empreses"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr "El teu propi full d'assistència"
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr "Qualsevol full d'asistència"
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr "Usuari a les empreses"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr "La teva propia línea del full d'asistència"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr "Qualsevol linia del full d'assistència"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr "Usuari a les empreses"
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr "Assistències"
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Configuració"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr "Assistència"
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Períodes"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr "Fulls"
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr "Administració d'assistència"
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr "Entrada"
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr "Sortida"
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr "Tancat"
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr "Esborrany"
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Data"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr "Hora"
msgctxt "view:attendance.period:"
msgid "Time"
msgstr "Hora"

View File

@@ -0,0 +1,249 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,259 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr "Um"
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Mitarbeiter"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Typ"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr "Endet um"
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "Status"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Erfasste Zeit"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Mitarbeiter"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr "Einträge"
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr "Erfasste Gesamtzeit"
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Erfasste Zeit"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Mitarbeiter"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "Von"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr "Liste"
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr "Bis"
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr "Das Unternehmen für das der Mitarbeiter anwesend war."
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
"Das Unternehmen dem dieser Anwesenheitseintragszeitraum zugeordnet ist."
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr "Der aktuelle Status des Anwesenheitseintragszeitraums."
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr "Anwesenheitseintrag"
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr "Anwesenheitszeitraum"
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr "Anwesenheitsliste"
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr "Anwesenheitszeile"
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr "Anwesenheiten"
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Zeiträume"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr "Listen"
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
"Damit der Anwesenheitseintragszeitraum \"%(period)s\" geschlossen werden "
"kann muss zuerst \"%(other_period)s\" geschlossen werden."
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Um den Anwesenheitseintrag \"%(attendance)s\" zu löschen muss zuerst der "
"Anwesenheitseintragszeitraum \"%(period)s\" wieder geöffnet werden."
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
"Um den Anwesenheitseintragszeitraum \"%(period)s\" zu ändern muss zuerst der"
" Anwesenheitseintragszeitraum \"%(other_period)s\" auf Entwurf gesetzt "
"werden."
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Um den Anwesenheitseintrag \"%(attendance)s\" zu ändern, muss der "
"Anwesenheitseintragszeitraum \"%(period)s\" wieder geöffnet werden."
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Schließen"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Entwurf"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr "Eigene Anwesenheit"
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr "Alle Anwesenheiten"
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr "Benutzer in Unternehmen"
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Benutzer in Unternehmen"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr "Eigene Anwesenheitsliste"
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr "Alle Anwesenheitslisten"
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr "Benutzer in Unternehmen"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr "Eigene Anwesenheitseinträge"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr "Alle Anwesenheitseinträge"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr "Benutzer in Unternehmen"
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr "Anwesenheiten"
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Einstellungen"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr "Anwesenheit"
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Zeiträume"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr "Listen"
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr "Anwesenheit Administration"
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr "Ein"
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr "Aus"
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr "Geschlossen"
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr "Entwurf"
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Datum"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr "Uhrzeit"
msgctxt "view:attendance.period:"
msgid "Time"
msgstr "Uhrzeit"

View File

@@ -0,0 +1,257 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr "A"
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Fecha"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Empleado"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Tipo"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr "Finaliza en"
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "Estado"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Fecha"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Duración"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Empleado"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr "Líneas"
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr "Duración del parte de trabajo"
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Fecha"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Duración"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Empleado"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "De"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr "Parte"
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr "A"
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr "La empresa en la que el empleado atendió."
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr "La empresa con la que el periodo está asociado."
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr "El estado actual del periodo de asistencia."
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr "Línea de asistencia"
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr "Periodo de asistencia"
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr "Parte de asistencia"
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr "Línea de parte de asistencia"
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr "Asistencias"
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Periodos"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr "Partes"
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
"Para cerrar el periodo \"%(period)s\" debes cerrar primero "
"%(other_period)s\"."
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Para eliminar la asistencia \"%(attendance)s\" debes reabrir el periodo "
"\"%(period)s\"."
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
"Para cambiar el periodo \"%(period)s\" debes establecer antes "
"\"%(other_period)s\" a borrador."
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Para modificar la asistencia \"%(attendance)s\" debes reabrir el periodo "
"\"%(period)s\"."
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Cerrar"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Borrador"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr "Tu propia asistencia"
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr "Cualquier asistencia"
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr "Usuario en las empresas"
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Usuario en las empresas"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr "Tu propio parte de asistencia"
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr "Cualquier parte de asistencia"
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr "Usuario en las empresas"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr "Tu propia línea de parte de asistencia"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr "Cualquier línea de parte de asistencia"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr "Usuario en las empresas"
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr "Asistencias"
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Configuración"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr "Asistencia"
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Periodos"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr "Partes"
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr "Administración de asistencia"
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr "Entrada"
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr "Salida"
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr "Cerrado"
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr "Borrador"
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Fecha"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr "Hora"
msgctxt "view:attendance.period:"
msgid "Time"
msgstr "Hora"

View File

@@ -0,0 +1,249 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,249 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,249 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,249 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,257 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr "À"
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Société"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Date"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Employé"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Type"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Société"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr "Fini à"
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "État"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Société"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Date"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Durée"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Employé"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr "Lignes"
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr "Durée de relevé de temps"
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Société"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Date"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Durée"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Employé"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "De"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr "Feuille"
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr "À"
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr "La société à laquelle l'employé a été présent."
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr "La société à laquelle la période est associée."
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr "L'état actuel de la période de présence."
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr "Ligne de présence"
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr "Période de présence"
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr "Feuille de présence"
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr "Ligne de feuille de présence"
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr "Présences"
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Périodes"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr "Feuilles"
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
"Pour fermer la période « %(period)s », vous devez d'abord fermer "
"« %(other_period)s »."
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Pour supprimer la présence « %(attendance)s », vous devez rouvrir la période"
" « %(period)s »."
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
"Pour modifier la période « %(period)s », vous devez d'abord mettre "
"« %(other_period)s » en brouillon."
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Pour modifier la présence « %(attendance)s », vous devez rouvrir la période "
"« %(period)s »."
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Fermer"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Brouillon"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr "Présence propre"
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr "N'importe quelle présence"
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr "Utilisateur dans les sociétés"
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Utilisateur dans les sociétés"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr "Feuille de présence propre"
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr "N'importe quelle feuille de présence"
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr "Utilisateur dans les sociétés"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr "Ligne de feuille de présence propre"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr "N'importe quelle ligne de feuille de présence"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr "Utilisateur dans les sociétés"
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr "Présences"
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Configuration"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr "Présence"
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Périodes"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr "Feuilles"
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr "Administration des présences"
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr "Entrée"
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr "Sortie"
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr "Clôturée"
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr "Brouillon"
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Date"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr "Heure"
msgctxt "view:attendance.period:"
msgid "Time"
msgstr "Heure"

View File

@@ -0,0 +1,249 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,257 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Perusahaan"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Tanggal"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Karyawan"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Jenis"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Perusahaan"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "Status"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Perusahaan"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Tanggal"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Durasi"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Karyawan"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Perusahaan"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Tanggal"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Durasi"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Karyawan"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "Dari"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Periode-Periode"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
"Untuk menutup periode \"%(period)s\" Anda harus terlebih dahulu menutup "
"\"%(other_period)s\"."
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Untuk menghapus kehadiran \"%(attendance)s\" Anda harus membuka kembali "
"periode \"%(period)s\"."
#, fuzzy, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
"Untuk mengubah periode \"%(period)s\" Anda harus terlebih dahulu mengubah "
"\"(other_period)s\" menjadi rancangan."
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Untuk mengubah kehadiran \"%(attendance)s\" Anda harus membuka kembali "
"periode \"%(period)s\"."
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Tutup"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Konsep"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Pengguna di dalam perusahaan"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Konfigurasi"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Periode"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Tanggal"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr "Waktu"
msgctxt "view:attendance.period:"
msgid "Time"
msgstr "Waktu"

View File

@@ -0,0 +1,255 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr "A"
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Azienda"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Dipendente"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Tipo"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Azienda"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr "Finisce alle"
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "Stato"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Azienda"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Durata"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Dipendente"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Azienda"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Durata"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Dipendente"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "Da"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr "Foglio"
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr "A"
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
#, fuzzy
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr "Foglio presenze"
#, fuzzy
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr "Foglio presenze"
#, fuzzy
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr "Foglio presenze"
#, fuzzy
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr "Foglio presenze"
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr "Presenze"
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr "Foglio"
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Chiudi"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Bozza"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Configurazione"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr "Foglio"
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr "Bozza"
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Data"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,249 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,249 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,257 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr "Om"
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Bedrijf"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Werknemer"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Soort"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Bedrijf"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr "Eindigt op"
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "Status"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Bedrijf"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Duur"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Werknemer"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr "Regels"
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr "Urenstaat Duur"
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Bedrijf"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Duur"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Werknemer"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "Van"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr "Staat"
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr "Tot"
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr "Het bedrijf waar de werknemer aanwezig was."
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr "Het bedrijf waaraan de periode is gekoppeld."
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr "De huidige staat van de aanwezigheidsperiode."
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr "Aanwezigheidsregel"
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr "Aanwezigheidsperiode"
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr "Aanwezigheidsstaat"
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr "Aanwezigheidsstaat regel"
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr "Aanwezigen"
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Periodes"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr "Staten"
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
"Om periode \"%(period)s\" te sluiten, moet u eerst \"%(other_period)s\" "
"sluiten."
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Om aanwezigheid \"%(attendance)s\" te verwijderen, moet u periode "
"\"%(period)s\" opnieuw openen."
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
"Om periode \"%(period)s\" te sluiten, moet u eerst \"%(other_period)s\" "
"terug in concept zetten."
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Om aanwezigheid \"%(attendance)s\" te wijzigen, moet u periode "
"\"%(period)s\" opnieuw openen."
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Sluiten"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Concept"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr "Eigen aanwezigheid"
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr "Alle aanwezigheid"
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr "Gebruiker in bedrijven"
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Gebruiker in bedrijven"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr "Eigen aanwezigheidsstaat"
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr "Alle aanwezigheidsstaten"
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr "Gebruiker in bedrijven"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr "Eigen aanwezigheidsstaat regel"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr "Alle aanwezigheidsstaat regel"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr "Gebruiker in bedrijven"
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr "Aanwezigheid"
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Configuratie"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr "Aanwezigheid"
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Periodes"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr "Staten"
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr "Aanwezigheid Administratie"
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr "Inkomend"
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr "Uitgaand"
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr "Gesloten"
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr "Concept"
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Datum"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr "Tijd"
msgctxt "view:attendance.period:"
msgid "Time"
msgstr "Tijd"

View File

@@ -0,0 +1,249 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Okresy"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Szkic"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Użytkownik w firmach"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Konfiguracja"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Okresy"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,249 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Fechar"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Usuário em companhias"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Configuração"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,265 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr "La"
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Societate"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Angajat"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Tip"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Compania"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr "Se termină la"
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "Stare"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Compania"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Durată"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Angajat"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr "Rânduri"
#, fuzzy
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr "Durata foii de pontaj"
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Societate"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Durată"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Angajat"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "De la"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr "Foaie"
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr "La"
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr "Compania cu care este asociată perioada."
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr "Starea actuală a perioadei de prezență."
#, fuzzy
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr "Linia de prezență"
#, fuzzy
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr "Perioada de prezență"
#, fuzzy
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr "Fișa de prezență"
#, fuzzy
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr "Fișa de prezență"
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr "Prezențe"
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Perioade"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr "Foi"
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
"Pentru a închide perioada \"%(period)s\" trebuie mai întâi închisă perioada "
"\"%(other_period)s\"."
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Pentru a șterge prezența \"%(attendance)s\" trebuie să redeschideți perioada"
" \"%(period)s\"."
#, fuzzy, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
"Pentru a schimba perioada \"%(period)s\", trebuie ca mai întâi "
"\"%(other_period)s\" să fie setată ca ciornă."
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Pentru a modifica prezența \"%(attendance)s\" trebuie redeschisă perioada "
"\"%(period)s\"."
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Închidere"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr "Prezența proprie"
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr "Orice prezență"
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr "Utilizator în Companii"
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Utilizator în companii"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr "Fișa de prezență proprie"
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr "Orice foaie de prezență"
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr "Utilizator în Companii"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr "Rândul propriu pe foaia de prezență"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr "Orice rând pe foaia de prezență"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr "Utilizator în Companii"
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr "Prezențe"
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Configurare"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr "Prezență"
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Perioade"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr "Foi"
#, fuzzy
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr "Administrarea prezenței"
#, fuzzy
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr "În"
#, fuzzy
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr "Afară"
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr "Închis"
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr "Ciornă"
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Data"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr "Timp"
msgctxt "view:attendance.period:"
msgid "Time"
msgstr "Timp"

View File

@@ -0,0 +1,249 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,261 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr "Ob"
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Družba"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Zaposlenec"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Vrsta"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Družba"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr "Zaključek"
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "Stanje"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Družba"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Trajanje"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Zaposlenec"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr "Vrstice"
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr "Skupni zabeleženi čas"
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Družba"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Trajanje"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Zaposlenec"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "Od"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr "List"
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr "Za"
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr "Družba, pri kateri je bil zaposlenec prisoten."
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr "Družba, s katero je povezano obdobje."
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr "Trenutno stanje obdobja prisotnosti."
#, fuzzy
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr "Vrstica prisotnosti"
#, fuzzy
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr "Obdobje prisotnosti"
#, fuzzy
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr "Seznam prisotnosti"
#, fuzzy
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr "Vrstica seznama prisotnosti"
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr "Prisotnost"
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Obdobja"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr "Seznami"
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
"Za zaprtje obdobja \"%(period)s\", je potrebno najprej zapreti "
"\"%(other_period)s\"."
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Za izbris prisotnosti \"%(attendance)s\", je potrebno ponovno odpreti "
"obdobje \"%(period)s\"."
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
"Za spremembo obdobja \"%(period)s\", je potrebno najprej spremeniti stanje "
"\"%(other_period)s\" v osnutek."
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Za spremembo prisotnosti \"%(attendance)s\", je potrebno ponovno odpreti "
"obdobje \"%(period)s\"."
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Zapri"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Osnutek"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr "Lastna prisotnost"
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr "Vsa prisotnost"
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr "Uporabnik v družbah"
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Uporabnik v družbah"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr "Lastni seznam prisotnosti"
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr "Vsi seznami prisotnosti"
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr "Uporabnik v družbah"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr "Lastne vrstice seznama prisotnosti"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr "Vse vrstice seznama prisotnosti"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr "Uporabnik v družbah"
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr "Prisotnost"
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Konfiguracija"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr "Prisotnost"
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Obdobja"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr "Seznami"
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr "Skrbništvo prisotnosti"
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr "Prihod"
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr "Odhod"
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr "Zaprto"
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr "Osnutek"
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Datum"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr "Čas"
msgctxt "view:attendance.period:"
msgid "Time"
msgstr "Čas"

View File

@@ -0,0 +1,249 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,249 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Закрити"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Користувач у компаніях"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Налаштування"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,249 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,string:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,string:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,string:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,string:"
msgid "Attendance Sheet Line"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "结账"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "草案"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "公司中的用户"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "设置"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,19 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data grouped="1">
<record model="ir.message" id="msg_modify_period_close">
<field name="text">To modify attendance "%(attendance)s" you must reopen period "%(period)s".</field>
</record>
<record model="ir.message" id="msg_delete_period_close">
<field name="text">To delete attendance "%(attendance)s" you must reopen period "%(period)s".</field>
</record>
<record model="ir.message" id="msg_close_period_previous_open">
<field name="text">To close period "%(period)s" you must first close "%(other_period)s".</field>
</record>
<record model="ir.message" id="msg_draft_period_previous_closed">
<field name="text">To change period "%(period)s" you must first change "%(other_period)s" to draft.</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,94 @@
===================
Attendance Scenario
===================
Imports::
>>> import datetime as dt
>>> from dateutil.relativedelta import relativedelta
>>> from proteus import Model
>>> from trytond.modules.company.tests.tools import create_company, get_company
>>> from trytond.tests.tools import activate_modules, assertEqual, assertTrue
>>> now = dt.datetime.now()
>>> tomorrow = now + relativedelta(days=1)
>>> next_week = now + relativedelta(days=7)
Activate attendance.line module::
>>> config = activate_modules('attendance')
Create a company::
>>> _ = create_company()
>>> company = get_company()
Create an employee::
>>> Party = Model.get('party.party')
>>> Employee = Model.get('company.employee')
>>> employee = Employee()
>>> party = Party(name='Employee')
>>> party.save()
>>> employee.party = party
>>> employee.company = company
>>> employee.save()
Create an attendance record for the employee::
>>> Attendance = Model.get('attendance.line')
>>> attendance = Attendance()
>>> attendance.type
'in'
>>> attendance.employee = employee
>>> attendance.at = now
>>> attendance.save()
>>> assertEqual(attendance.date, now.date())
>>> assertTrue(attendance.rec_name)
When creating a new attendance the type is automatically set::
>>> attendance = Attendance()
>>> attendance.employee = employee
>>> attendance.at = now + relativedelta(hours=2)
>>> attendance.type
'out'
>>> attendance.save()
Close the period::
>>> Period = Model.get('attendance.period')
>>> period = Period()
>>> period.ends_at = now + relativedelta(hours=4)
>>> period.click('close')
>>> period.state
'closed'
>>> bool(period.rec_name)
True
You can't create attendances in closed periods::
>>> attendance = Attendance()
>>> attendance.employee = employee
>>> attendance.at = now
>>> attendance.type = 'in'
>>> attendance.save()
Traceback (most recent call last):
...
PeriodClosedError: ...
But it is possible in open periods::
>>> attendance.at = tomorrow
>>> attendance.save()
Update attendance date time, update its date::
>>> attendance.at = next_week
>>> attendance.save()
>>> assertEqual(attendance.date, next_week.date())

View File

@@ -0,0 +1,86 @@
=========================
Attendance Sheet Scenario
=========================
Imports::
>>> import datetime as dt
>>> from proteus import Model
>>> from trytond.modules.company.tests.tools import create_company, get_company
>>> from trytond.tests.tools import activate_modules
Activate attendance.line module::
>>> config = activate_modules('attendance')
Create a company::
>>> _ = create_company()
>>> company = get_company()
Create employees::
>>> Party = Model.get('party.party')
>>> Employee = Model.get('company.employee')
>>> employee1 = Employee()
>>> party1 = Party(name='Employee 1')
>>> party1.save()
>>> employee1.party = party1
>>> employee1.company = company
>>> employee1.save()
>>> employee2 = Employee()
>>> party2 = Party(name='Employee 2')
>>> party2.save()
>>> employee2.party = party2
>>> employee2.company = company
>>> employee2.save()
Fill attendances::
>>> Attendance = Model.get('attendance.line')
>>> def present(employee, type, at):
... attendance = Attendance(employee=employee, at=at)
... attendance.type = type
... attendance.save()
>>> present(employee1, 'in', dt.datetime(2020, 4, 1, 9))
>>> present(employee1, 'out', dt.datetime(2020, 4, 1, 12))
>>> present(employee1, 'in', dt.datetime(2020, 4, 1, 13))
>>> present(employee1, 'in', dt.datetime(2020, 4, 1, 15))
>>> present(employee1, 'out', dt.datetime(2020, 4, 1, 18))
Check attendance sheet::
>>> Sheet = Model.get('attendance.sheet')
>>> sheet, = Sheet.find([])
>>> sheet.duration
datetime.timedelta(seconds=28800)
>>> sheet.date
datetime.date(2020, 4, 1)
>>> len(sheet.lines)
3
>>> sum([l.duration for l in sheet.lines], dt.timedelta())
datetime.timedelta(seconds=28800)
Fill attendance over 1 day::
>>> present(employee1, 'in', dt.datetime(2020, 4, 2, 20))
>>> present(employee1, 'out', dt.datetime(2020, 4, 3, 6))
Check attendance sheet::
>>> sheet, = Sheet.find([('date', '=', dt.date(2020, 4, 2))])
>>> sheet.duration
datetime.timedelta(seconds=36000)
Add attendance for other employee::
>>> present(employee2, 'in', dt.datetime(2020, 4, 1, 10))
>>> present(employee2, 'out', dt.datetime(2020, 4, 1, 16))
Check attendance sheet::
>>> sheet, = Sheet.find([('employee', '=', employee2.id)])
>>> sheet.duration
datetime.timedelta(seconds=21600)

View File

@@ -0,0 +1,77 @@
=============================
Attendance Timesheet Scenario
=============================
Imports::
>>> import datetime as dt
>>> from proteus import Model
>>> from trytond import backend
>>> from trytond.modules.company.tests.tools import create_company, get_company
>>> from trytond.tests.tools import activate_modules, assertEqual
Activate attendance.line module::
>>> config = activate_modules(['attendance', 'timesheet'])
Create a company::
>>> _ = create_company()
>>> company = get_company()
Create work::
>>> Work = Model.get('timesheet.work')
>>> work = Work(name="Work")
>>> work.save()
Create an employee::
>>> Party = Model.get('party.party')
>>> Employee = Model.get('company.employee')
>>> employee = Employee()
>>> party = Party(name='Employee')
>>> party.save()
>>> employee.party = party
>>> employee.company = company
>>> employee.save()
Fill attendance::
>>> Attendance = Model.get('attendance.line')
>>> def present(employee, type, at):
... attendance = Attendance(employee=employee, at=at)
... attendance.type = type
... attendance.save()
>>> present(employee, 'in', dt.datetime(2020, 4, 1, 9))
>>> present(employee, 'out', dt.datetime(2020, 4, 1, 12))
>>> present(employee, 'in', dt.datetime(2020, 4, 1, 13))
>>> present(employee, 'out', dt.datetime(2020, 4, 1, 18))
Fill time sheet::
>>> Timesheet = Model.get('timesheet.line')
>>> def spend(employee, work, date, duration):
... timesheet = Timesheet(employee=employee, work=work)
... timesheet.date = date
... timesheet.duration = duration
... timesheet.save()
>>> spend(employee, work, dt.date(2020, 4, 1), dt.timedelta(hours=7))
>>> spend(employee, work, dt.date(2020, 4, 2), dt.timedelta(hours=2))
Check attendance time sheet::
>>> Sheet = Model.get('attendance.sheet')
>>> sheet, = Sheet.find([('date', '=', dt.date(2020, 4, 1))])
>>> sheet.duration
datetime.timedelta(seconds=28800)
>>> sheet.timesheet_duration
datetime.timedelta(seconds=25200)
>>> if backend.name != 'sqlite':
... sheet, = Sheet.find([('date', '=', dt.date(2020, 4, 2))])
... sheet.duration
... assertEqual(sheet.timesheet_duration, dt.timedelta(hours=2))

View File

@@ -0,0 +1,14 @@
# 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.modules.company.tests import CompanyTestMixin
from trytond.tests.test_tryton import ModuleTestCase
class CompanyAttendanceTestCase(CompanyTestMixin, ModuleTestCase):
'Test Company Attendance module'
module = 'attendance'
extras = ['timesheet']
del ModuleTestCase

View File

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

View File

@@ -0,0 +1,22 @@
[tryton]
version=7.8.0
depends:
ir
company
extras_depend:
timesheet
xml:
attendance.xml
message.xml
[register]
model:
ir.Rule
attendance.Line
attendance.Period
attendance.SheetLine
attendance.Sheet
[register timesheet]
model:
attendance.Sheet_Timesheet

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. -->
<form>
<label name="employee"/>
<field name="employee"/>
<label name="company"/>
<field name="company"/>
<label name="type"/>
<field name="type"/>
<label name="at"/>
<field name="at"/>
</form>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree>
<field name="company" expand="1" optional="1"/>
<field name="employee" expand="2"/>
<field name="type"/>
<field name="at" widget="date" string="Date"/>
<field name="at" widget="time" string="Time"/>
</tree>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="company"/>
<field name="company"/>
<label name="ends_at"/>
<field name="ends_at"/>
<label name="state"/>
<field name="state"/>
<group col="-1" colspan="2" id="buttons">
<button name="draft" icon="tryton-clear"/>
<button name="close" icon="tryton-ok"/>
</group>
</form>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree>
<field name="company" expand="1" optional="1"/>
<field name="ends_at" widget="date"/>
<field name="ends_at" widget="time" string="Time"/>
<field name="state"/>
</tree>

View File

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

View File

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

View File

@@ -0,0 +1,15 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="employee"/>
<field name="employee"/>
<label name="company"/>
<field name="company"/>
<label name="from_"/>
<field name="from_"/>
<label name="to"/>
<field name="to"/>
<label name="duration"/>
<field name="duration"/>
</form>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree>
<field name="from_" widget="date" expand="1"/>
<field name="from_" widget="time" expand="1"/>
<field name="to" widget="date" expand="1"/>
<field name="to" widget="time" expand="1"/>
<field name="duration" expand="2"/>
</tree>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree>
<field name="company" expand="1" optional="1"/>
<field name="employee" expand="2"/>
<field name="date"/>
<field name="duration" expand="2"/>
</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. -->
<data>
<xpath expr="//field[@name='duration']" position="after">
<field name="timesheet_duration" expand="2"/>
</xpath>
</data>