summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Delavallée <tde@openerp.com>2012-06-01 13:36:25 +0200
committerThibault Delavallée <tde@openerp.com>2012-06-01 13:36:25 +0200
commitcd19f68eb9f145e9049949074e06196d540cf2c2 (patch)
tree6c050ac836af1e3226ce7b71726db7e40b32a126
parentc9ce120fcdda692dce255359654e9b393332197b (diff)
parentf9e6b60c9f48c48d7b0d2a9b67a3e2376e032fd2 (diff)
[MERGE] Merged with main addons.
bzr revid: tde@openerp.com-20120601113625-c9w0kmnw1dzvjswx
-rw-r--r--addons/account/account_invoice.py60
-rw-r--r--addons/account/account_invoice_view.xml19
-rw-r--r--addons/account/account_report.xml2
-rw-r--r--addons/account/edi/invoice.py11
-rw-r--r--addons/account/i18n/fr.po12
-rw-r--r--addons/account/i18n/ja.po36
-rw-r--r--addons/account/i18n/pt.po92
-rw-r--r--addons/account/i18n/zh_TW.po10
-rw-r--r--addons/account_analytic_analysis/i18n/pt.po122
-rw-r--r--addons/account_anglo_saxon/i18n/ja.po10
-rwxr-xr-xaddons/account_asset/i18n/fr.po10
-rw-r--r--addons/account_asset/i18n/id.po793
-rwxr-xr-xaddons/account_asset/i18n/pt.po12
-rw-r--r--addons/account_bank_statement_extensions/i18n/gu.po90
-rw-r--r--addons/account_bank_statement_extensions/i18n/ja.po22
-rw-r--r--addons/account_bank_statement_extensions/i18n/ro.po385
-rw-r--r--addons/account_check_writing/i18n/fr.po10
-rw-r--r--addons/account_check_writing/i18n/ro.po213
-rw-r--r--addons/account_coda/i18n/fr.po10
-rw-r--r--addons/account_coda/i18n/pt.po60
-rw-r--r--addons/account_followup/i18n/fr.po70
-rw-r--r--addons/account_voucher/account_voucher.py2
-rw-r--r--addons/account_voucher/account_voucher_pay_invoice.xml4
-rw-r--r--addons/account_voucher/account_voucher_view.xml2
-rw-r--r--addons/account_voucher/invoice.py2
-rw-r--r--addons/analytic_journal_billing_rate/i18n/lv.po79
-rw-r--r--addons/auction/i18n/pt.po2946
-rw-r--r--addons/auth_openid/i18n/gu.po112
-rw-r--r--addons/auth_openid/i18n/ro.po113
-rw-r--r--addons/base_calendar/i18n/ja.po427
-rw-r--r--addons/base_iban/i18n/ja.po26
-rw-r--r--addons/base_module_quality/i18n/ja.po692
-rw-r--r--addons/base_module_record/i18n/ja.po268
-rw-r--r--addons/base_report_designer/i18n/ja.po198
-rw-r--r--addons/base_setup/i18n/gu.po282
-rw-r--r--addons/base_setup/i18n/ja.po20
-rw-r--r--addons/base_status/__init__.py (renamed from addons/delivery/wizard/__init__.py)10
-rw-r--r--addons/base_status/__openerp__.py42
-rw-r--r--addons/base_status/base_stage.py432
-rw-r--r--addons/base_status/base_state.py194
-rw-r--r--addons/base_synchro/i18n/ja.po279
-rw-r--r--addons/board/i18n/gu.po348
-rw-r--r--addons/board/i18n/ja.po42
-rw-r--r--addons/caldav/i18n/ja.po148
-rw-r--r--addons/caldav/i18n/pt.po10
-rw-r--r--addons/crm/__openerp__.py2
-rw-r--r--addons/crm/board_crm_view.xml20
-rw-r--r--addons/crm/crm.py461
-rw-r--r--addons/crm/crm_lead.py248
-rw-r--r--addons/crm/crm_lead_data.xml56
-rw-r--r--addons/crm/crm_lead_demo.xml172
-rw-r--r--addons/crm/crm_lead_view.xml357
-rw-r--r--addons/crm/crm_meeting.py75
-rw-r--r--addons/crm/crm_meeting_view.xml39
-rw-r--r--addons/crm/crm_phonecall.py72
-rw-r--r--addons/crm/crm_phonecall_view.xml27
-rw-r--r--addons/crm/crm_view.xml5
-rw-r--r--addons/crm/i18n/pt.po12
-rw-r--r--addons/crm/test/process/cancel_lead.yml34
-rw-r--r--addons/crm/test/process/lead2opportunity2win.yml24
-rw-r--r--addons/crm_claim/crm_claim.py157
-rw-r--r--addons/crm_claim/crm_claim_data.xml34
-rw-r--r--addons/crm_claim/crm_claim_demo.xml7
-rw-r--r--addons/crm_claim/crm_claim_menu.xml5
-rw-r--r--addons/crm_claim/crm_claim_view.xml80
-rw-r--r--addons/crm_claim/security/ir.model.access.csv1
-rw-r--r--addons/crm_claim/test/process/claim.yml2
-rw-r--r--addons/crm_fundraising/crm_fundraising.py93
-rw-r--r--addons/crm_fundraising/crm_fundraising_demo.xml8
-rw-r--r--addons/crm_helpdesk/crm_helpdesk.py22
-rw-r--r--addons/crm_helpdesk/crm_helpdesk_view.xml49
-rw-r--r--addons/crm_helpdesk/i18n/gu.po738
-rw-r--r--addons/crm_helpdesk/i18n/ja.po9
-rw-r--r--addons/crm_partner_assign/i18n/ja.po12
-rw-r--r--addons/delivery/__init__.py1
-rw-r--r--addons/delivery/__openerp__.py1
-rw-r--r--addons/delivery/delivery_view.xml27
-rw-r--r--addons/delivery/i18n/lv.po642
-rw-r--r--addons/delivery/sale.py37
-rw-r--r--addons/delivery/test/delivery_cost.yml22
-rw-r--r--addons/delivery/wizard/delivery_sale_order.py96
-rw-r--r--addons/delivery/wizard/delivery_sale_order_view.xml38
-rw-r--r--addons/edi/static/src/xml/edi_sale_purchase.xml12
-rw-r--r--addons/email_template/i18n/ja.po10
-rw-r--r--addons/event/__openerp__.py3
-rw-r--r--addons/event/event.py26
-rw-r--r--addons/event/event_demo.xml8
-rw-r--r--addons/event/event_view.xml75
-rw-r--r--addons/event/static/src/css/event.css93
-rw-r--r--addons/event/test/process/event_draft2done.yml2
-rw-r--r--addons/event_sale/event_sale.py2
-rw-r--r--addons/google_map/__openerp__.py1
-rw-r--r--addons/google_map/google_map_view.xml3
-rw-r--r--addons/google_map/static/src/js/google_map.js75
-rw-r--r--addons/hr_evaluation/hr_evaluation.py6
-rw-r--r--addons/hr_evaluation/hr_evaluation_data.xml43
-rw-r--r--addons/hr_evaluation/hr_evaluation_view.xml58
-rw-r--r--addons/hr_evaluation/report/hr_evaluation_report.py3
-rw-r--r--addons/hr_evaluation/report/hr_evaluation_report_view.xml1
-rw-r--r--addons/hr_evaluation/security/ir.model.access.csv2
-rw-r--r--addons/hr_expense/i18n/ja.po10
-rw-r--r--addons/hr_holidays/hr_holidays.py25
-rw-r--r--addons/hr_holidays/hr_holidays_view.xml26
-rw-r--r--addons/hr_holidays/i18n/gu.po842
-rw-r--r--addons/hr_recruitment/__openerp__.py9
-rw-r--r--addons/hr_recruitment/board_hr_recruitment_statistical_view.xml2
-rw-r--r--addons/hr_recruitment/hr_recruitment.py183
-rw-r--r--addons/hr_recruitment/hr_recruitment_data.xml12
-rw-r--r--addons/hr_recruitment/hr_recruitment_view.xml45
-rw-r--r--addons/hr_recruitment/test/recruitment_process.yml33
-rw-r--r--addons/hr_timesheet_sheet/i18n/zh_CN.po88
-rw-r--r--addons/idea/i18n/gu.po710
-rw-r--r--addons/import_base/i18n/ja.po104
-rw-r--r--addons/import_base/i18n/ro.po104
-rw-r--r--addons/import_google/i18n/ja.po223
-rw-r--r--addons/import_google/i18n/pt.po227
-rw-r--r--addons/import_google/i18n/ro.po229
-rw-r--r--addons/import_sugarcrm/i18n/fr.po10
-rw-r--r--addons/import_sugarcrm/i18n/pt.po404
-rw-r--r--addons/import_sugarcrm/i18n/ro.po421
-rw-r--r--addons/knowledge/i18n/lv.po33
-rw-r--r--addons/l10n_be/i18n/ja.po503
-rw-r--r--addons/l10n_multilang/i18n/ro.po178
-rw-r--r--addons/l10n_syscohada/i18n/ro.po123
-rw-r--r--addons/lunch/i18n/ja.po554
-rw-r--r--addons/mail/i18n/ja.po511
-rw-r--r--addons/mail/static/src/css/mail.css1
-rw-r--r--addons/marketing_campaign/i18n/hi.po1073
-rw-r--r--addons/marketing_campaign/i18n/ja.po1106
-rw-r--r--addons/marketing_campaign_crm_demo/i18n/ja.po187
-rw-r--r--addons/membership/i18n/ja.po888
-rw-r--r--addons/mrp/i18n/fr.po91
-rw-r--r--addons/mrp/i18n/ja.po2272
-rw-r--r--addons/mrp/i18n/lv.po2231
-rw-r--r--addons/mrp_jit/i18n/ja.po64
-rw-r--r--addons/mrp_operations/i18n/ja.po836
-rw-r--r--addons/mrp_repair/i18n/ja.po795
-rw-r--r--addons/mrp_subproduct/i18n/ja.po128
-rw-r--r--addons/multi_company/i18n/ja.po97
-rw-r--r--addons/pad_project/i18n/pt.po38
-rw-r--r--addons/plugin/i18n/fr.po11
-rw-r--r--addons/plugin/i18n/pt.po23
-rw-r--r--addons/plugin_thunderbird/i18n/fr.po11
-rw-r--r--addons/plugin_thunderbird/i18n/ja.po100
-rw-r--r--addons/point_of_sale/i18n/ja.po2725
-rw-r--r--addons/project/__openerp__.py2
-rw-r--r--addons/project/board_project_view.xml27
-rw-r--r--addons/project/project.py317
-rw-r--r--addons/project/project_data.xml28
-rw-r--r--addons/project/project_demo.xml54
-rw-r--r--addons/project/project_view.xml95
-rw-r--r--addons/project/report/project_cumulative.xml3
-rw-r--r--addons/project/report/project_report.py4
-rw-r--r--addons/project/report/project_report_view.xml2
-rw-r--r--addons/project/static/src/js/project.js10
-rw-r--r--addons/project/test/task_process.yml6
-rw-r--r--addons/project_issue/__openerp__.py1
-rw-r--r--addons/project_issue/board_project_issue_view.xml26
-rw-r--r--addons/project_issue/i18n/sv.po952
-rw-r--r--addons/project_issue/project_issue.py190
-rw-r--r--addons/project_issue/project_issue_demo.xml48
-rw-r--r--addons/project_issue/project_issue_view.xml93
-rw-r--r--addons/project_issue/report/project_issue_report.py4
-rw-r--r--addons/project_issue/report/project_issue_report_view.xml4
-rw-r--r--addons/project_issue/test/cancel_issue.yml6
-rw-r--r--addons/project_long_term/project_long_term_view.xml2
-rw-r--r--addons/project_planning/project_planning_view.xml2
-rw-r--r--addons/project_scrum/project_scrum_demo.xml12
-rw-r--r--addons/project_scrum/project_scrum_view.xml4
-rw-r--r--addons/purchase/edi/purchase_order.py12
-rw-r--r--addons/purchase/edi/purchase_order_action_data.xml14
-rw-r--r--addons/purchase/i18n/fr.po75
-rw-r--r--addons/purchase/purchase.py103
-rw-r--r--addons/purchase/purchase_view.xml31
-rw-r--r--addons/purchase/purchase_workflow.xml22
-rw-r--r--addons/purchase_double_validation/__openerp__.py1
-rw-r--r--addons/purchase_double_validation/purchase_double_validation_view.xml16
-rw-r--r--addons/purchase_requisition/purchase_requisition_view.xml18
-rw-r--r--addons/report_webkit/header_view.xml4
-rw-r--r--addons/sale/edi/sale_order.py11
-rw-r--r--addons/sale/edi/sale_order_action_data.xml12
-rw-r--r--addons/sale/i18n/is.po2173
-rw-r--r--addons/sale/sale.py149
-rw-r--r--addons/sale/sale_view.xml47
-rw-r--r--addons/sale/sale_workflow.xml24
-rw-r--r--addons/sale_journal/i18n/lv.po130
-rw-r--r--addons/sale_layout/i18n/lv.po254
-rw-r--r--addons/stock/i18n/de.po10
-rw-r--r--addons/stock/i18n/zh_TW.po20
-rw-r--r--addons/stock/stock.py2
-rw-r--r--addons/stock/stock_view.xml6
-rw-r--r--addons/web_uservoice/i18n/pt.po23
192 files changed, 33320 insertions, 2850 deletions
diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py
index 4445b8bd330..115df33085b 100644
--- a/addons/account/account_invoice.py
+++ b/addons/account/account_invoice.py
@@ -201,17 +201,18 @@ class account_invoice(osv.osv):
'state': fields.selection([
('draft','Draft'),
- ('cancel','Cancelled'),
('proforma','Pro-forma'),
('proforma2','Pro-forma'),
('open','Open'),
- ('paid','Paid')
- ],'Status', select=True, readonly=True,
+ ('paid','Paid'),
+ ('cancel','Cancelled'),
+ ],'State', select=True, readonly=True,
help=' * The \'Draft\' state is used when a user is encoding a new and unconfirmed Invoice. \
\n* The \'Pro-forma\' when invoice is in Pro-forma state,invoice does not have an invoice number. \
\n* The \'Open\' state is used when user create invoice,a invoice number is generated.Its in open state till user does not pay invoice. \
\n* The \'Paid\' state is set automatically when the invoice is paid. Its related journal entries may or may not be reconciled. \
\n* The \'Cancelled\' state is used when user cancel invoice.'),
+ 'sent': fields.boolean('Sent', readonly=True, help="It indicates that the invoice has been sent."),
'date_invoice': fields.date('Invoice Date', readonly=True, states={'draft':[('readonly',False)]}, select=True, help="Keep empty to use the current date"),
'date_due': fields.date('Due Date', states={'paid':[('readonly',True)], 'open':[('readonly',True)], 'close':[('readonly',True)]}, select=True,
help="If you use payment terms, the due date will be computed automatically at the generation "\
@@ -286,6 +287,7 @@ class account_invoice(osv.osv):
'check_total': 0.0,
'internal_number': False,
'user_id': lambda s, cr, u, c: u,
+ 'sent': False,
}
_sql_constraints = [
('number_uniq', 'unique(number, company_id, journal_id, type)', 'Invoice Number must be unique per Company!'),
@@ -366,6 +368,47 @@ class account_invoice(osv.osv):
else:
raise orm.except_orm(_('Unknown Error'), str(e))
+ def invoice_print(self, cr, uid, ids, context=None):
+ '''
+ This function prints the invoice and mark it as sent, so that we can see more easily the next step of the workflow
+ '''
+ assert len(ids) == 1, 'This option should only be used for a single id at a time'
+ self.write(cr, uid, ids, {'sent': True}, context=context)
+ datas = {
+ 'ids': ids,
+ 'model': 'account.invoice',
+ 'form': self.read(cr, uid, ids[0], context=context)
+ }
+ return {
+ 'type': 'ir.actions.report.xml',
+ 'report_name': 'account.invoice',
+ 'datas': datas,
+ 'nodestroy' : True
+ }
+
+ def action_invoice_sent(self, cr, uid, ids, context=None):
+ '''
+ This function opens a window to compose an email, with the edi invoice template message loaded by default
+ '''
+ mod_obj = self.pool.get('ir.model.data')
+ template = mod_obj.get_object_reference(cr, uid, 'account', 'email_template_edi_invoice')
+ template_id = template and template[1] or False
+ res = mod_obj.get_object_reference(cr, uid, 'mail', 'email_compose_message_wizard_form')
+ res_id = res and res[1] or False
+ ctx = dict(context, active_model='account.invoice', active_id=ids[0])
+ ctx.update({'mail.compose.template_id': template_id})
+ return {
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'res_model': 'mail.compose.message',
+ 'views': [(res_id, 'form')],
+ 'view_id': res_id,
+ 'type': 'ir.actions.act_window',
+ 'target': 'new',
+ 'context': ctx,
+ 'nodestroy': True,
+ }
+
def confirm_paid(self, cr, uid, ids, context=None):
if context is None:
context = {}
@@ -604,6 +647,7 @@ class account_invoice(osv.osv):
'move_name':False,
'internal_number': False,
'period_id': False,
+ 'sent': False,
})
if 'date_invoice' not in default:
default.update({
@@ -1664,4 +1708,14 @@ class res_partner(osv.osv):
res_partner()
+class mail_message(osv.osv):
+ _name = 'mail.message'
+ _inherit = 'mail.message'
+
+ def _postprocess_sent_message(self, cr, uid, message, context=None):
+ if message.model == 'account.invoice':
+ self.pool.get('account.invoice').write(cr, uid, [message.res_id], {'sent':True}, context=context)
+ return super(mail_message, self)._postprocess_sent_message(cr, uid, message=message, context=context)
+
+mail_message()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml
index 5fc687e0bd0..3810bcf5de8 100644
--- a/addons/account/account_invoice_view.xml
+++ b/addons/account/account_invoice_view.xml
@@ -146,11 +146,11 @@
<field name="arch" type="xml">
<form layout="manual">
<div class="oe_form_topbar">
- <button name="invoice_open" states="draft,proforma2" string="Approve"/>
- <button name="%(action_account_invoice_refund)d" type='action' string='Refund' states='open,paid'/>
- <button name='%(action_account_state_open)d' type='action' string='Re-Open' groups="account.group_account_invoice" attrs="{'invisible':['|', ('state','&lt;&gt;','paid'), ('reconciled', '=', True)]}" help="This button only appears when the state of the invoice is 'paid' (showing that it has been fully reconciled) and auto-computed boolean 'reconciled' is False (depicting that it's not the case anymore). In other words, the invoice has been dereconciled and it does not fit anymore the 'paid' state. You should press this button to re-open it and let it continue its normal process after having resolved the eventual exceptions it may have created."/>
+ <button name="invoice_open" states="draft,proforma2" string="Validate"/>
+ <button name="%(action_account_invoice_refund)d" type='action' string='Ask Refund' states='open,paid'/>
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" groups="base.group_no_one"/>
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object"/>
+ <button name='%(action_account_state_open)d' type='action' string='Re-Open' groups="account.group_account_invoice" attrs="{'invisible':['|', ('state','&lt;&gt;','paid'), ('reconciled', '=', True)]}" help="This button only appears when the state of the invoice is 'paid' (showing that it has been fully reconciled) and auto-computed boolean 'reconciled' is False (depicting that it's not the case anymore). In other words, the invoice has been dereconciled and it does not fit anymore the 'paid' state. You should press this button to re-open it and let it continue its normal process after having resolved the eventual exceptions it may have created."/>
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,open,paid" statusbar_colors='{"proforma":"blue","proforma2":"blue"}'/>
</div>
@@ -262,13 +262,15 @@
<field name="arch" type="xml">
<form layout="manual">
<div class="oe_form_topbar">
- <button name="invoice_proforma2" states="draft" string="PRO-FORMA" groups="account.group_proforma_invoices"/>
+ <button name="action_invoice_sent" type="object" string="Send by Email" states="open" attrs="{'invisible':['|',('sent','=',True), ('state', '=', 'draft')]}"/>
+ <button name="invoice_print" string="Print Invoice" type="object" states="open" attrs="{'invisible':['|',('sent','=',True), ('state', '=', 'draft')]}"/>
<button name="invoice_open" states="draft,proforma2" string="Validate"/>
- <button name='%(action_account_state_open)d' type='action' string='Re-Open' groups="account.group_account_invoice" attrs="{'invisible':['|', ('state','&lt;&gt;','paid'), ('reconciled', '=', True)]}" help="This button only appears when the state of the invoice is 'paid' (showing that it has been fully reconciled) and auto-computed boolean 'reconciled' is False (depicting that it's not the case anymore). In other words, the invoice has been dereconciled and it does not fit anymore the 'paid' state. You should press this button to re-open it and let it continue its normal process after having resolved the eventual exceptions it may have created."/>
- <button name="%(account_invoices)d" string="Print Invoice" type="action" states="open,paid,proforma,sale,proforma2"/>
- <button name="%(action_account_invoice_refund)d" type='action' string='Refund' states='open,paid'/>
- <button name="action_cancel_draft" states="cancel" string="Reset to Draft" type="object"/>
+ <button name="invoice_proforma2" states="draft" string="PRO-FORMA" groups="account.group_proforma_invoices"/>
+ <button name="%(action_account_invoice_refund)d" type='action' string='Refund Invoice' states='paid'/>
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" groups="base.group_no_one"/>
+ <button name="action_cancel_draft" states="cancel" string="Reset to Draft" type="object"/>
+ <button name='%(action_account_state_open)d' type='action' string='Re-Open' groups="account.group_account_invoice" attrs="{'invisible':['|', ('state','&lt;&gt;','paid'), ('reconciled', '=', True)]}" help="This button only appears when the state of the invoice is 'paid' (showing that it has been fully reconciled) and auto-computed boolean 'reconciled' is False (depicting that it's not the case anymore). In other words, the invoice has been dereconciled and it does not fit anymore the 'paid' state. You should press this button to re-open it and let it continue its normal process after having resolved the eventual exceptions it may have created."/>
+ <!--button name="%(account_invoices)d" string="Print Invoice" type="action" states="open,paid,proforma,sale,proforma2"/-->
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,open,paid" statusbar_colors='{"proforma":"blue","proforma2":"blue"}'/>
</div>
@@ -291,6 +293,7 @@
<newline/>
<field domain="[('company_id', '=', company_id),('type','=', 'receivable')]" name="account_id" groups="account.group_account_user"/>
<field name="name"/>
+ <field name="sent"/>
</group>
<notebook colspan="4">
<page string="Invoice">
diff --git a/addons/account/account_report.xml b/addons/account/account_report.xml
index 78caf1c95b6..7b574c8960e 100644
--- a/addons/account/account_report.xml
+++ b/addons/account/account_report.xml
@@ -21,7 +21,7 @@
string="Invoices"
attachment="(object.state in ('open','paid')) and ('INV'+(object.number or '').replace('/','')+'.pdf')"
usage="default"
- multi="True"/>
+ />
<report id="account_transfers" model="account.transfer" name="account.transfer" string="Transfers" xml="account/report/transfer.xml" xsl="account/report/transfer.xsl"/>
<report auto="False" id="account_intracom" menu="False" model="account.move.line" name="account.intracom" string="IntraCom"/>
diff --git a/addons/account/edi/invoice.py b/addons/account/edi/invoice.py
index cada93e75e0..6e4d601e987 100644
--- a/addons/account/edi/invoice.py
+++ b/addons/account/edi/invoice.py
@@ -21,6 +21,7 @@
from osv import fields, osv, orm
from edi import EDIMixin
+from edi.models import edi
INVOICE_LINE_EDI_STRUCT = {
'name': True,
@@ -71,6 +72,16 @@ INVOICE_EDI_STRUCT = {
class account_invoice(osv.osv, EDIMixin):
_inherit = 'account.invoice'
+ def action_invoice_sent(self, cr, uid, ids, context=None):
+ """"Override this method to add a link to mail"""
+ if context is None:
+ context = {}
+ invoice_objs = self.browse(cr, uid, ids, context=context)
+ edi_token = self.pool.get('edi.document').export_edi(cr, uid, invoice_objs, context = context)[0]
+ web_root_url = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url')
+ ctx = dict(context, edi_web_url_view=edi.EDI_VIEW_WEB_URL % (web_root_url, cr.dbname, edi_token))
+ return super(account_invoice, self).action_invoice_sent(cr, uid, ids, context=ctx)
+
def edi_export(self, cr, uid, records, edi_struct=None, context=None):
"""Exports a supplier or customer invoice"""
edi_struct = dict(edi_struct or INVOICE_EDI_STRUCT)
diff --git a/addons/account/i18n/fr.po b/addons/account/i18n/fr.po
index ba03a8d062a..c328c761933 100644
--- a/addons/account/i18n/fr.po
+++ b/addons/account/i18n/fr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
-"PO-Revision-Date: 2012-05-10 17:54+0000\n"
-"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
+"PO-Revision-Date: 2012-05-22 12:17+0000\n"
+"Last-Translator: Francois Degrave <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 04:48+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:08+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: account
#: code:addons/account/account_move_line.py:1200
@@ -3767,7 +3767,7 @@ msgstr "Date"
#. module: account
#: view:account.move:0
msgid "Post"
-msgstr "Message"
+msgstr "Comptabiliser"
#. module: account
#: view:account.unreconcile:0
@@ -10886,7 +10886,7 @@ msgstr "Rechercher une facture"
#: view:account.invoice.report:0
#: model:ir.actions.act_window,name:account.action_account_invoice_refund
msgid "Refund"
-msgstr "Créer un avoir"
+msgstr "Avoir"
#. module: account
#: model:email.template,body_text:account.email_template_edi_invoice
diff --git a/addons/account/i18n/ja.po b/addons/account/i18n/ja.po
index 9f2bc798696..f4550c3fd69 100644
--- a/addons/account/i18n/ja.po
+++ b/addons/account/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
-"PO-Revision-Date: 2012-05-15 06:17+0000\n"
+"PO-Revision-Date: 2012-06-01 01:29+0000\n"
"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-16 04:50+0000\n"
-"X-Generator: Launchpad (build 15247)\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
#. module: account
#: view:account.invoice.report:0
@@ -1662,7 +1662,7 @@ msgstr "切り離された仕訳帳順序"
#. module: account
#: view:account.invoice:0
msgid "Responsible"
-msgstr "責任担当"
+msgstr "担当"
#. module: account
#: model:ir.actions.act_window,name:account.action_report_account_type_sales_tree_all
@@ -1679,7 +1679,7 @@ msgstr "請求書のキャンセル:現在の請求書をキャンセルする
#. module: account
#: model:ir.ui.menu,name:account.periodical_processing_invoicing
msgid "Invoicing"
-msgstr "請求"
+msgstr "請求中"
#. module: account
#: code:addons/account/report/account_partner_balance.py:115
@@ -2615,7 +2615,7 @@ msgstr "銀行消し込み"
#. module: account
#: report:account.invoice:0
msgid "Disc.(%)"
-msgstr "ディスク(%)"
+msgstr "割引(%)"
#. module: account
#: report:account.general.ledger:0
@@ -4445,7 +4445,7 @@ msgstr ""
#: view:account.tax:0
#: view:account.tax.template:0
msgid "Keep empty to use the income account"
-msgstr "損益勘定を使うためは空のままとして下さい。"
+msgstr "収益勘定を使うためは空のままとして下さい。"
#. module: account
#: code:addons/account/account.py:3299
@@ -5300,7 +5300,7 @@ msgstr "年度エントリー仕訳帳の末尾"
#: code:addons/account/wizard/account_move_journal.py:63
#, python-format
msgid "Configuration Error !"
-msgstr "設定エラー。"
+msgstr "設定エラーです。"
#. module: account
#: field:account.payment.term.line,value_amount:0
@@ -5592,7 +5592,7 @@ msgstr "買掛金合計"
#: model:account.account.type,name:account.data_account_type_income
#: model:account.financial.report,name:account.account_financial_report_income0
msgid "Income"
-msgstr "収益"
+msgstr "収入"
#. module: account
#: selection:account.bank.statement.line,type:0
@@ -5888,7 +5888,7 @@ msgstr "サブスクリプション期間中"
#. module: account
#: report:account.invoice:0
msgid "Fiscal Position Remark :"
-msgstr "会計ポジション注釈:"
+msgstr "会計ポジションの注釈:"
#. module: account
#: view:analytic.entries.report:0
@@ -7024,7 +7024,7 @@ msgstr "財務レポートの階層"
#: view:analytic.entries.report:0
#: field:analytic.entries.report,product_uom_id:0
msgid "Product UOM"
-msgstr "製品単位"
+msgstr "製品の単位"
#. module: account
#: model:ir.actions.act_window,help:account.action_view_bank_statement_tree
@@ -7335,7 +7335,7 @@ msgstr ""
#: field:account.invoice.tax,invoice_id:0
#: model:ir.model,name:account.model_account_invoice_line
msgid "Invoice Line"
-msgstr "請求行"
+msgstr "請求書行"
#. module: account
#: view:account.invoice.report:0
@@ -7590,7 +7590,7 @@ msgstr "仕訳帳の仕訳帳エントリー記帳"
#. module: account
#: view:product.product:0
msgid "Sale Taxes"
-msgstr "消費税(売上)"
+msgstr "消費税"
#. module: account
#: field:account.financial.report,name:0
@@ -8156,7 +8156,7 @@ msgstr "一部が支払済の請求書のキャンセルはできません。ま
#. module: account
#: field:account.chart.template,property_account_income_categ:0
msgid "Income Category Account"
-msgstr "収益分類のアカウント"
+msgstr "収入分類のアカウント"
#. module: account
#: field:account.account,adjusted_balance:0
@@ -9454,7 +9454,7 @@ msgstr ""
#. module: account
#: view:account.analytic.account:0
msgid "Pending"
-msgstr "保留"
+msgstr "保留中"
#. module: account
#: model:process.transition,name:account.process_transition_analyticinvoice0
@@ -10758,3 +10758,9 @@ msgstr "仕訳帳エントリーの買掛金、または買掛金の残差金額
#~ msgid "Description On Invoices"
#~ msgstr "請求書説明"
+
+#~ msgid "Write-Off journal"
+#~ msgstr "償却仕訳帳"
+
+#~ msgid "Full Payment"
+#~ msgstr "全支払"
diff --git a/addons/account/i18n/pt.po b/addons/account/i18n/pt.po
index 256f903bbd0..ce81967607a 100644
--- a/addons/account/i18n/pt.po
+++ b/addons/account/i18n/pt.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
-"PO-Revision-Date: 2012-05-10 17:57+0000\n"
-"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
+"PO-Revision-Date: 2012-05-31 15:04+0000\n"
+"Last-Translator: ThinkOpen Solutions <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 04:51+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
#. module: account
#: view:account.invoice.report:0
@@ -93,7 +93,7 @@ msgstr "Antiguidade de saldos de clientes até hoje."
#. module: account
#: model:process.transition,name:account.process_transition_invoiceimport0
msgid "Import from invoice or payment"
-msgstr "Importar da fatura ou do pagamento"
+msgstr "Importar da fatura ou pagamento"
#. module: account
#: model:ir.model,name:account.model_wizard_multi_charts_accounts
@@ -274,7 +274,7 @@ msgstr ""
#. module: account
#: report:account.overdue:0
msgid "Sub-Total :"
-msgstr "Sub-total :"
+msgstr "Sub-Total :"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_use_model_create_entry
@@ -404,12 +404,12 @@ msgstr "account.bank.accounts.wizard"
#: field:account.move.line,date_created:0
#: field:account.move.reconcile,create_date:0
msgid "Creation date"
-msgstr "Data de criação"
+msgstr "Data da Criação"
#. module: account
#: selection:account.journal,type:0
msgid "Purchase Refund"
-msgstr "Nota de Crédito de Compras"
+msgstr "Reembolso da Compra"
#. module: account
#: selection:account.journal,type:0
@@ -686,7 +686,7 @@ msgstr "Fechar periodo"
#. module: account
#: model:ir.model,name:account.model_account_common_partner_report
msgid "Account Common Partner Report"
-msgstr "Relatório Comum de Conta de Paceiros"
+msgstr "Relatório Comum de Conta de Parceiros"
#. module: account
#: field:account.fiscalyear.close,period_id:0
@@ -715,7 +715,7 @@ msgstr "Todos os movimentos a conciliar devem ser da mesma empresa."
#: model:ir.actions.act_window,name:account.action_aged_receivable
#, python-format
msgid "Receivable Accounts"
-msgstr "Contas a receber"
+msgstr "Contas a Receber"
#. module: account
#: constraint:account.move.line:0
@@ -873,6 +873,10 @@ msgid ""
"or Loss you'd realized if those transactions were ended today. Only for "
"accounts having a secondary currency set."
msgstr ""
+"Ao fazer transações multi-moeda, pode perder ou ganhar alguma quantia devida "
+"a alterações da taxa de câmbio. Este menu dá uma previsão do ganho ou perda "
+"que percebeu se essas transações foram terminadas hoje. Somente para contas "
+"com um conjunto moeda secundária."
#. module: account
#: selection:account.entries.report,month:0
@@ -881,7 +885,7 @@ msgstr ""
#: selection:report.account.sales,month:0
#: selection:report.account_type.sales,month:0
msgid "September"
-msgstr "setembro"
+msgstr "Setembro"
#. module: account
#: selection:account.subscription,period_type:0
@@ -1000,7 +1004,7 @@ msgstr "Responsabilidade"
#. module: account
#: view:account.entries.report:0
msgid "Extended Filters..."
-msgstr "Filtros Extendidos..."
+msgstr "Filtros Avançados..."
#. module: account
#: model:ir.ui.menu,name:account.menu_account_central_journal
@@ -1157,7 +1161,7 @@ msgstr "Em disputa"
#: model:ir.actions.act_window,name:account.action_view_bank_statement_tree
#: model:ir.ui.menu,name:account.journal_cash_move_lines
msgid "Cash Registers"
-msgstr "Registos de Caixa"
+msgstr "Caixa Registadora"
#. module: account
#: report:account.analytic.account.journal:0
@@ -1289,7 +1293,7 @@ msgid ""
"You can not use this general account in this journal, check the tab 'Entry "
"Controls' on the related journal !"
msgstr ""
-"Não pode usar esta conta geral nesta diário, verificar 'Controles de "
+"Não pode usar esta conta geral neste diário, verificar 'Controles de "
"Entrada' do guia do diário relacionado!"
#. module: account
@@ -1434,7 +1438,7 @@ msgstr "Saldo de abertura"
#. module: account
#: view:account.invoice:0
msgid "Reset to Draft"
-msgstr "Voltar a rascunho"
+msgstr "Redefinir para rascunho"
#. module: account
#: view:wizard.multi.charts.accounts:0
@@ -1518,7 +1522,7 @@ msgstr "Calcular impostos"
#: field:account.chart.template,code_digits:0
#: field:wizard.multi.charts.accounts,code_digits:0
msgid "# of Digits"
-msgstr "Nº de dígitos"
+msgstr "# de Dígitos"
#. module: account
#: field:account.journal,entry_posted:0
@@ -1529,7 +1533,7 @@ msgstr "Saltar o estado \"Rascunho\" para lançamentos manuais"
#: view:account.invoice.report:0
#: field:account.invoice.report,price_total:0
msgid "Total Without Tax"
-msgstr "Total, com taxas"
+msgstr "Total sem Impostos"
#. module: account
#: model:ir.actions.act_window,help:account.action_move_journal_line
@@ -1547,7 +1551,7 @@ msgstr ""
#. module: account
#: view:account.entries.report:0
msgid "# of Entries "
-msgstr "Nº. de movimentos "
+msgstr "# de Entradas "
#. module: account
#: help:account.fiscal.position,active:0
@@ -1652,7 +1656,7 @@ msgstr "Conta de imposto para notas de crédito"
#: view:account.bank.statement:0
#: field:account.bank.statement,line_ids:0
msgid "Statement lines"
-msgstr "Linhas de extrato"
+msgstr "Linhas do extrato"
#. module: account
#: model:ir.actions.act_window,help:account.action_bank_statement_tree
@@ -1681,7 +1685,7 @@ msgstr "Data/Código"
#: view:analytic.entries.report:0
#: field:analytic.entries.report,general_account_id:0
msgid "General Account"
-msgstr "Contas gerais"
+msgstr "Conta Geral"
#. module: account
#: field:res.partner,debit_limit:0
@@ -1730,8 +1734,8 @@ msgid ""
"Cancel Invoice: Creates the refund invoice, validate and reconcile it to "
"cancel the current invoice."
msgstr ""
-"Anular fatura: Cria uma nota de crédito, valida-a e aloca-a à fatura atual, "
-"Ficando as duas no estado pago."
+"Cancelar fatura: Cria uma nota de crédito, valida-a e aloca-a à fatura "
+"atual, Ficando as duas no estado pago."
#. module: account
#: model:ir.ui.menu,name:account.periodical_processing_invoicing
@@ -1865,7 +1869,7 @@ msgstr "Erro!"
#. module: account
#: sql_constraint:account.move.line:0
msgid "Wrong credit or debit value in accounting entry !"
-msgstr "Valor de crédito ou débito errado no movimento contabilístico !"
+msgstr "Valor de Crédito ou débito errado na entrada de contabilidade!"
#. module: account
#: view:account.invoice.report:0
@@ -1898,7 +1902,7 @@ msgstr "Baseado em"
#: field:account.invoice,move_id:0
#: field:account.invoice,move_name:0
msgid "Journal Entry"
-msgstr "Lançamento de diário"
+msgstr "Entradas no diário"
#. module: account
#: view:account.tax:0
@@ -1932,7 +1936,7 @@ msgstr "Venda / Compra Diário"
#. module: account
#: view:account.analytic.account:0
msgid "Analytic account"
-msgstr "Conta analítica"
+msgstr "Conta Analítica"
#. module: account
#: code:addons/account/account_bank_statement.py:339
@@ -2045,7 +2049,7 @@ msgstr ""
#: view:account.invoice:0
#: view:report.invoice.created:0
msgid "Untaxed Amount"
-msgstr "Valor sem Impostos"
+msgstr "Montante sem Impostos"
#. module: account
#: help:account.tax,active:0
@@ -2053,7 +2057,7 @@ msgid ""
"If the active field is set to False, it will allow you to hide the tax "
"without removing it."
msgstr ""
-"Se o campo activo for definido como 'Falso', ele permitirá que oculte o "
+"Se o campo ativo for definido como 'Falso', ele permitirá que oculte o "
"imposto sem o remover."
#. module: account
@@ -2123,7 +2127,7 @@ msgstr "Importar da fatura"
#: selection:report.account.sales,month:0
#: selection:report.account_type.sales,month:0
msgid "January"
-msgstr "janeiro"
+msgstr "Janeiro"
#. module: account
#: view:account.journal:0
@@ -2261,7 +2265,7 @@ msgstr "ECNJ"
#: view:account.subscription:0
#: selection:account.subscription,state:0
msgid "Running"
-msgstr "Em execução"
+msgstr "Em Funcionamento"
#. module: account
#: view:account.chart.template:0
@@ -2307,7 +2311,7 @@ msgstr "# de Qt. de Artigos "
#. module: account
#: model:ir.model,name:account.model_product_template
msgid "Product Template"
-msgstr "Template Artigo"
+msgstr "Template do Artigo"
#. module: account
#: report:account.account.balance:0
@@ -2505,7 +2509,7 @@ msgstr "Progresso de 30% ao fim de 30 dias"
#. module: account
#: view:account.entries.report:0
msgid "Unreconciled entries"
-msgstr "Movimentos Dereconciliado"
+msgstr "Movimentos Desreconciliados"
#. module: account
#: field:account.invoice.tax,base_code_id:0
@@ -2606,7 +2610,7 @@ msgstr ""
#. module: account
#: view:account.analytic.cost.ledger.journal.report:0
msgid "Select period"
-msgstr "Seleccione o período"
+msgstr "Selecione o período"
#. module: account
#: model:ir.ui.menu,name:account.menu_account_pp_statements
@@ -2679,7 +2683,7 @@ msgstr "Erro de Configuração!"
#. module: account
#: field:account.invoice.report,price_average:0
msgid "Average Price"
-msgstr "Preço médio"
+msgstr "Preço Médio"
#. module: account
#: report:account.overdue:0
@@ -2824,8 +2828,8 @@ msgid ""
"always skipping that state."
msgstr ""
"Marque esta caixa se não pretende que os novos movimentos do diário passem "
-"através do estado \"rascunho\" e vão directamente para o estado "
-"\"Publicado\" sem qualquer validação manual.\n"
+"através do estado 'rascunho' e vão diretamente para o estado 'Publicado' sem "
+"qualquer validação manual.\n"
"Note que os movimentos do diário que são automaticamente criados pelo "
"sistema também ignoram este estado."
@@ -2949,7 +2953,7 @@ msgstr "Obrigatório"
#: field:product.category,property_account_expense_categ:0
#: field:product.template,property_account_expense:0
msgid "Expense Account"
-msgstr "Conta de gastos"
+msgstr "Conta de Despesas"
#. module: account
#: help:account.invoice,period_id:0
@@ -2999,7 +3003,7 @@ msgid ""
msgstr ""
"A data de maturidade dos movimentos gerados por este modelo. Pode escolher "
"entre a data de criação ou a data de criação dos movimentos mais os termos "
-"de pagamento dos Paceiros."
+"de pagamento dos Parceiros."
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_accounting
@@ -3023,7 +3027,7 @@ msgstr "Lucro e prejuízo"
#: model:ir.model,name:account.model_account_fiscal_position
#: field:res.partner,property_account_position:0
msgid "Fiscal Position"
-msgstr "Posição fiscal"
+msgstr "Posição Fiscal"
#. module: account
#: code:addons/account/account_invoice.py:735
@@ -3044,7 +3048,7 @@ msgstr "Um parceiro por página"
#: field:account.account,child_parent_ids:0
#: field:account.account.template,child_parent_ids:0
msgid "Children"
-msgstr "Contas-filho"
+msgstr "Descendentes"
#. module: account
#: selection:account.invoice,type:0
@@ -3097,7 +3101,7 @@ msgstr "Transação a dinheiro"
#. module: account
#: view:res.partner:0
msgid "Bank account"
-msgstr "Conta bancária"
+msgstr "Conta Bancária"
#. module: account
#: field:account.chart.template,tax_template_ids:0
@@ -3190,7 +3194,7 @@ msgstr "BNK"
#. module: account
#: field:account.move.line,analytic_lines:0
msgid "Analytic lines"
-msgstr "Linhas da analítica"
+msgstr "Linhas analíticas"
#. module: account
#: view:account.invoice:0
@@ -3220,7 +3224,7 @@ msgstr "Começa em"
#. module: account
#: model:ir.model,name:account.model_account_partner_ledger
msgid "Account Partner Ledger"
-msgstr "Balancete de Contas de Terceiro"
+msgstr "Balancete de Contas do Parceiro"
#. module: account
#: help:account.journal.column,sequence:0
@@ -8774,7 +8778,7 @@ msgstr "Diário de Compra"
#: view:account.invoice.refund:0
msgid "Refund Invoice: Creates the refund invoice, ready for editing."
msgstr ""
-"Nota de crédito: Emite uma nota de crédito, para ser editada / confirmada à "
+"Estornar fatura: Emite uma nota de crédito, para ser editada / confirmada à "
"mão."
#. module: account
@@ -10690,7 +10694,7 @@ msgstr ""
#. module: account
#: view:account.payment.term:0
msgid "Description on Invoices"
-msgstr ""
+msgstr "Descrição de Faturas"
#. module: account
#: model:ir.model,name:account.model_account_analytic_chart
diff --git a/addons/account/i18n/zh_TW.po b/addons/account/i18n/zh_TW.po
index f44c0af16ed..f5aa3781e50 100644
--- a/addons/account/i18n/zh_TW.po
+++ b/addons/account/i18n/zh_TW.po
@@ -7,20 +7,20 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
-"PO-Revision-Date: 2011-09-27 10:01+0000\n"
-"Last-Translator: Walter Cheuk <wwycheuk@gmail.com>\n"
+"PO-Revision-Date: 2012-05-23 07:32+0000\n"
+"Last-Translator: VTTW <victso@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 04:55+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: account
#: view:account.invoice.report:0
#: view:analytic.entries.report:0
msgid "last month"
-msgstr "上月"
+msgstr "上個月"
#. module: account
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
diff --git a/addons/account_analytic_analysis/i18n/pt.po b/addons/account_analytic_analysis/i18n/pt.po
index afdf9c25f17..20c8677e066 100644
--- a/addons/account_analytic_analysis/i18n/pt.po
+++ b/addons/account_analytic_analysis/i18n/pt.po
@@ -7,25 +7,25 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
-"PO-Revision-Date: 2010-12-09 09:33+0000\n"
-"Last-Translator: OpenERP Administrators <Unknown>\n"
+"PO-Revision-Date: 2012-05-31 15:05+0000\n"
+"Last-Translator: Marcelo Almeida <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-02-09 06:32+0000\n"
-"X-Generator: Launchpad (build 14763)\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
#. module: account_analytic_analysis
#: field:account.analytic.account,revenue_per_hour:0
msgid "Revenue per Time (real)"
-msgstr ""
+msgstr "Receita por hora (real)"
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_ca:0
msgid "Computed using the formula: Max Invoice Price - Invoiced Amount."
msgstr ""
-"Processado com a fórmula: Preço Máximo da Factura - Montante Facturado."
+"Calculado utilizando a fórmula: Valor Máximo da Fatura - Valor da Fatura"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_date:0
@@ -38,11 +38,13 @@ msgid ""
"The contracts to be renewed because the deadline is passed or the working "
"hours are higher than the allocated hours"
msgstr ""
+"Os contratos a serem renovados, porque o prazo é passado ou as horas de "
+"trabalho são maiores do que as horas atribuídas"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Pending contracts to renew with your customer"
-msgstr ""
+msgstr "Contratos pendentes de renovação com o seu cliente"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_non_invoiced:0
@@ -50,31 +52,33 @@ msgid ""
"Number of time (hours/days) (from journal of type 'general') that can be "
"invoiced if you invoice based on analytic account."
msgstr ""
+"Número de tempo (horas ou dias) (de Diário do tipo 'geral') que podem ser "
+"faturados, se fatura com base na conta analítica"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Analytic Accounts with a past deadline in one month."
-msgstr ""
+msgstr "Contas Analíticas com um prazo limite ultrapassando um mês."
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Group By..."
-msgstr ""
+msgstr "Grupo por..."
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "End Date"
-msgstr ""
+msgstr "Data final"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Create Invoice"
-msgstr ""
+msgstr "Criar Fatura"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_invoice_date:0
msgid "Last Invoice Date"
-msgstr "Data da última factura"
+msgstr "Data da última fatura"
#. module: account_analytic_analysis
#: help:account.analytic.account,theorical_margin:0
@@ -87,16 +91,18 @@ msgid ""
"Number of time you spent on the analytic account (from timesheet). It "
"computes quantities on all journal of type 'general'."
msgstr ""
+"Número de tempo que gastou na conta analítica (da folha de horas). Ele "
+"calcula quantidades em todos os Diários do tipo 'geral'."
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Contracts in progress"
-msgstr ""
+msgstr "Contractos em progresso"
#. module: account_analytic_analysis
#: field:account.analytic.account,is_overdue_quantity:0
msgid "Overdue Quantity"
-msgstr ""
+msgstr "Quantidade em atraso"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,help:account_analytic_analysis.action_account_analytic_overdue
@@ -108,6 +114,12 @@ msgid ""
"pending accounts and reopen or close the according to the negotiation with "
"the customer."
msgstr ""
+"Vai encontrar aqui os contratos a serem renovados, porque o prazo é passado "
+"ou as horas de trabalho são maiores do que as horas atribuídas. OpenERP "
+"define automaticamente essas contas analíticas para o estado pendente, a fim "
+"de emitir um aviso durante a gravação da folha de horas. Vendedores devem "
+"rever todas as contas pendentes e reabrir ou fechar o acordo com a "
+"negociação com o cliente."
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_theorical:0
@@ -117,7 +129,7 @@ msgstr "Retorno Teórico"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_non_invoiced:0
msgid "Uninvoiced Time"
-msgstr ""
+msgstr "Tempo não faturado"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_invoiced_date:0
@@ -125,13 +137,13 @@ msgid ""
"If invoice from the costs, this is the date of the latest work or cost that "
"have been invoiced."
msgstr ""
-"Se facturado dos custos, esta é a data do último trabalho ou dos custos que "
-"foram facturados."
+"Se faturado dos custos, esta é a data do último trabalho ou dos custos que "
+"foram faturados."
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "To Renew"
-msgstr ""
+msgstr "Para renovar"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_date:0
@@ -141,24 +153,26 @@ msgstr "Data do Último Custo/Trabalho"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_invoiced:0
msgid "Invoiced Time"
-msgstr ""
+msgstr "Tempo faturado"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid ""
"A contract in OpenERP is an analytic account having a partner set on it."
msgstr ""
+"Um contrato em OpenERP é um relato analítico a ter num conjunto parceiro "
+"sobre ele."
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_hours:0
msgid "Remaining Time"
-msgstr ""
+msgstr "Tempo Restante"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_overdue
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_overdue
msgid "Contracts to Renew"
-msgstr ""
+msgstr "Contratos para renovar"
#. module: account_analytic_analysis
#: field:account.analytic.account,theorical_margin:0
@@ -168,7 +182,7 @@ msgstr "Margem Teórica"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid " +1 Month"
-msgstr ""
+msgstr " +1 mês"
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_theorical:0
@@ -177,29 +191,29 @@ msgid ""
"if all these costs have been invoiced at the normal sale price provided by "
"the pricelist."
msgstr ""
-"Baseado nos custos que teve no projecto, qual é que seria o rendimento se "
-"todos estes custos fossem facturados ao preço normal da venda fornecidos "
-"pela tabela de preço."
+"Baseado nos custos que teve no projeto, qual é que seria o rendimento se "
+"todos estes custos fossem faturados ao preço normal da venda fornecidos pela "
+"tabela de preço."
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Pending"
-msgstr ""
+msgstr "Pendente"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_to_invoice:0
msgid "Uninvoiced Amount"
-msgstr "Montante não Facturado"
+msgstr "Montante não Faturado"
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin:0
msgid "Computed using the formula: Invoiced Amount - Total Costs."
-msgstr "Processado ao utilizar a fórmula: Montante Facturado - Custo Total."
+msgstr "Processado ao utilizar a fórmula: Montante Faturado - Custo Total."
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Parent"
-msgstr ""
+msgstr "Ascendente"
#. module: account_analytic_analysis
#: field:account.analytic.account,user_ids:0
@@ -221,17 +235,17 @@ msgstr "Resumo de horas por utilizador"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_invoiced:0
msgid "Invoiced Amount"
-msgstr "Montante Facturado"
+msgstr "Montante Faturado"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_invoiced_date:0
msgid "Date of Last Invoiced Cost"
-msgstr "Data do Último Custo Facturado"
+msgstr "Data do Último Custo Faturado"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Contract"
-msgstr ""
+msgstr "Contrato"
#. module: account_analytic_analysis
#: field:account.analytic.account,real_margin_rate:0
@@ -246,7 +260,7 @@ msgstr "Margem Real"
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_invoiced:0
msgid "Total customer invoiced amount for this account."
-msgstr "Montante da facturação total do cliente para esta conta"
+msgstr "Montante da faturação total do cliente para esta conta"
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_month
@@ -266,7 +280,7 @@ msgstr "Receita Restante"
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_hours:0
msgid "Computed using the formula: Maximum Time - Total Time"
-msgstr ""
+msgstr "Cálculo utilizando a fórmula: Tempo máximo - Tempo Total"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_invoiced:0
@@ -274,6 +288,8 @@ msgid ""
"Number of time (hours/days) that can be invoiced plus those that already "
"have been invoiced."
msgstr ""
+"Número de tempo (horas ou dias) que pode ser faturado mais aqueles que já "
+"tenham sido faturados."
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_to_invoice:0
@@ -281,13 +297,13 @@ msgid ""
"If invoice from analytic account, the remaining amount you can invoice to "
"the customer based on the total costs."
msgstr ""
-"Se facturado a partir da conta analítica, o montante restante que pode "
-"facturar ao cliente baseado nos custos totais."
+"Se faturado a partir da conta analítica, o montante restante que pode "
+"faturar ao cliente baseado nos custos totais."
#. module: account_analytic_analysis
#: help:account.analytic.account,revenue_per_hour:0
msgid "Computed using the formula: Invoiced Amount / Total Time"
-msgstr ""
+msgstr "Calculado através da fórmula: Valor faturado / Tempo Total"
#. module: account_analytic_analysis
#: field:account.analytic.account,total_cost:0
@@ -312,38 +328,38 @@ msgstr "Conta Analítica"
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_overdue_all
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_overdue_all
msgid "Contracts"
-msgstr ""
+msgstr "Contractos"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Manager"
-msgstr ""
+msgstr "Gestor"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all
msgid "All Uninvoiced Entries"
-msgstr "Todas os Movimentos não Facturados"
+msgstr "Todos os Movimentos não Faturados"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_invoice_date:0
msgid "If invoice from the costs, this is the date of the latest invoiced."
-msgstr ""
+msgstr "Se for fatura dos custos, esta é a data da última faturada."
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Associated Partner"
-msgstr ""
+msgstr "Parceiro associado"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Open"
-msgstr ""
+msgstr "Abrir"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Contracts that are not assigned to an account manager."
-msgstr ""
+msgstr "Contratos que não são atribuídos a um gestor de conta."
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_quantity:0
@@ -358,18 +374,12 @@ msgid ""
"Total of costs for this account. It includes real costs (from invoices) and "
"indirect costs, like time spent on timesheets."
msgstr ""
-"Total de custos para esta conta. Que inclui custos reais (das facturas) e "
+"Total de custos para esta conta. Que inclui custos reais (das faturas) e "
"custos indirectos, como o tempo gasto em folha de horas."
#~ msgid "Invoicing"
#~ msgstr "Facturação"
-#~ msgid ""
-#~ "Number of hours that can be invoiced plus those that already have been "
-#~ "invoiced."
-#~ msgstr ""
-#~ "Número de horas que podem ser facturadas mais as que já foram facturadas."
-
#~ msgid "Hours summary by user"
#~ msgstr "Resumo de horas por utilizador"
@@ -506,6 +516,14 @@ msgstr ""
#~ "por utilizador bem como por mês.\n"
#~ msgid ""
+#~ "Number of hours that can be invoiced plus those that already have been "
+#~ "invoiced."
+#~ msgstr ""
+#~ "Número de horas que podem ser facturadas mais aquelas que já tenham sido "
+#~ "facturadas."
+
+#~ msgid ""
#~ "Error! The currency has to be the same as the currency of the selected "
#~ "company"
-#~ msgstr "Erro! A divisa tem que ser a mesma que a da empresa seleccionada"
+#~ msgstr ""
+#~ "Erro! A divisa tem que ser a mesma que a divisa da empresa seleccionada"
diff --git a/addons/account_anglo_saxon/i18n/ja.po b/addons/account_anglo_saxon/i18n/ja.po
index d94e95cbf0b..a2d2eb88dc6 100644
--- a/addons/account_anglo_saxon/i18n/ja.po
+++ b/addons/account_anglo_saxon/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
-"PO-Revision-Date: 2012-04-28 01:18+0000\n"
+"PO-Revision-Date: 2012-05-31 06:16+0000\n"
"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-04-29 04:45+0000\n"
-"X-Generator: Launchpad (build 15149)\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
#. module: account_anglo_saxon
#: sql_constraint:purchase.order:0
@@ -35,7 +35,7 @@ msgstr "製品分類"
#. module: account_anglo_saxon
#: sql_constraint:stock.picking:0
msgid "Reference must be unique per Company!"
-msgstr "参照は会社内ではユニークでなければいけません。"
+msgstr "参照は会社ごとにユニークでなければいけません。"
#. module: account_anglo_saxon
#: constraint:product.category:0
@@ -87,7 +87,7 @@ msgstr "出庫票"
#. module: account_anglo_saxon
#: sql_constraint:account.invoice:0
msgid "Invoice Number must be unique per Company!"
-msgstr "請求書番号は会社ごとにユニークでなければいけません。"
+msgstr "請求書番号は会社ごとに固有である必要があります。"
#. module: account_anglo_saxon
#: help:product.category,property_account_creditor_price_difference_categ:0
diff --git a/addons/account_asset/i18n/fr.po b/addons/account_asset/i18n/fr.po
index 614a952f916..3cc6369d50a 100755
--- a/addons/account_asset/i18n/fr.po
+++ b/addons/account_asset/i18n/fr.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2012-05-10 17:23+0000\n"
-"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
+"PO-Revision-Date: 2012-05-22 12:19+0000\n"
+"Last-Translator: Quentin THEURET <Unknown>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 05:14+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: account_asset
#: view:account.asset.asset:0
@@ -621,7 +621,7 @@ msgstr "Prorata temporis"
#. module: account_asset
#: view:account.asset.category:0
msgid "Accounting Information"
-msgstr ""
+msgstr "Informations comptables"
#. module: account_asset
#: model:ir.model,name:account_asset.model_account_invoice
diff --git a/addons/account_asset/i18n/id.po b/addons/account_asset/i18n/id.po
new file mode 100644
index 00000000000..76572006197
--- /dev/null
+++ b/addons/account_asset/i18n/id.po
@@ -0,0 +1,793 @@
+# Indonesian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 01:37+0100\n"
+"PO-Revision-Date: 2012-05-21 16:12+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Indonesian <id@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Assets in draft and open states"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.category,method_end:0
+#: field:account.asset.history,method_end:0 field:asset.modify,method_end:0
+msgid "Ending date"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,value_residual:0
+msgid "Residual Value"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.category,account_expense_depreciation_id:0
+msgid "Depr. Expense Account"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.depreciation.confirmation.wizard:0
+msgid "Compute Asset"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.asset.report:0
+msgid "Group By..."
+msgstr ""
+
+#. module: account_asset
+#: field:asset.asset.report,gross_value:0
+msgid "Gross Amount"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0 field:account.asset.asset,name:0
+#: field:account.asset.depreciation.line,asset_id:0
+#: field:account.asset.history,asset_id:0 field:account.move.line,asset_id:0
+#: view:asset.asset.report:0 field:asset.asset.report,asset_id:0
+#: model:ir.model,name:account_asset.model_account_asset_asset
+msgid "Asset"
+msgstr ""
+
+#. module: account_asset
+#: help:account.asset.asset,prorata:0 help:account.asset.category,prorata:0
+msgid ""
+"Indicates that the first depreciation entry for this asset have to be done "
+"from the purchase date instead of the first January"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.history,name:0
+msgid "History name"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,company_id:0
+#: field:account.asset.category,company_id:0 view:asset.asset.report:0
+#: field:asset.asset.report,company_id:0
+msgid "Company"
+msgstr "Perusahaan"
+
+#. module: account_asset
+#: view:asset.modify:0
+msgid "Modify"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0 view:asset.asset.report:0
+#: selection:asset.asset.report,state:0
+msgid "Running"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.depreciation.line,amount:0
+msgid "Depreciation Amount"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.asset.report:0
+#: model:ir.actions.act_window,name:account_asset.action_asset_asset_report
+#: model:ir.model,name:account_asset.model_asset_asset_report
+#: model:ir.ui.menu,name:account_asset.menu_action_asset_asset_report
+msgid "Assets Analysis"
+msgstr ""
+
+#. module: account_asset
+#: field:asset.modify,name:0
+msgid "Reason"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,method_progress_factor:0
+#: field:account.asset.category,method_progress_factor:0
+msgid "Degressive Factor"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal
+msgid "Asset Categories"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.depreciation.confirmation.wizard:0
+msgid ""
+"This wizard will post the depreciation lines of running assets that belong "
+"to the selected period."
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,account_move_line_ids:0
+#: field:account.move.line,entry_ids:0
+#: model:ir.actions.act_window,name:account_asset.act_entries_open
+msgid "Entries"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,depreciation_line_ids:0
+msgid "Depreciation Lines"
+msgstr ""
+
+#. module: account_asset
+#: help:account.asset.asset,salvage_value:0
+msgid "It is the amount you plan to have that you cannot depreciate."
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.depreciation.line,depreciation_date:0
+#: view:asset.asset.report:0 field:asset.asset.report,depreciation_date:0
+msgid "Depreciation Date"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.category,account_asset_id:0
+msgid "Asset Account"
+msgstr ""
+
+#. module: account_asset
+#: field:asset.asset.report,posted_value:0
+msgid "Posted Amount"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0 view:asset.asset.report:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form
+#: model:ir.ui.menu,name:account_asset.menu_finance_assets
+#: model:ir.ui.menu,name:account_asset.menu_finance_config_assets
+msgid "Assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.category,account_depreciation_id:0
+msgid "Depreciation Account"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0 view:account.asset.category:0
+#: view:account.asset.history:0 view:asset.modify:0 field:asset.modify,note:0
+msgid "Notes"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.depreciation.line,move_id:0
+msgid "Depreciation Entry"
+msgstr ""
+
+#. module: account_asset
+#: sql_constraint:account.move.line:0
+msgid "Wrong credit or debit value in accounting entry !"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.asset.report:0 field:asset.asset.report,nbr:0
+msgid "# of Depreciation Lines"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.asset.report:0
+msgid "Assets in draft state"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,method_end:0
+#: selection:account.asset.asset,method_time:0
+#: selection:account.asset.category,method_time:0
+#: selection:account.asset.history,method_time:0
+msgid "Ending Date"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,code:0
+msgid "Reference"
+msgstr ""
+
+#. module: account_asset
+#: constraint:account.invoice:0
+msgid "Invalid BBA Structured Communication !"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Account Asset"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_asset_depreciation_confirmation_wizard
+#: model:ir.ui.menu,name:account_asset.menu_asset_depreciation_confirmation_wizard
+msgid "Compute Assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.depreciation.line,sequence:0
+msgid "Sequence of the depreciation"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,method_period:0
+#: field:account.asset.category,method_period:0
+#: field:account.asset.history,method_period:0
+#: field:asset.modify,method_period:0
+msgid "Period Length"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0 view:asset.asset.report:0
+#: selection:asset.asset.report,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.asset.report:0
+msgid "Date of asset purchase"
+msgstr "Tanggal pembelian aset"
+
+#. module: account_asset
+#: help:account.asset.asset,method_number:0
+msgid "Calculates Depreciation within specified interval"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change Duration"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.category,account_analytic_id:0
+msgid "Analytic account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,method:0 field:account.asset.category,method:0
+msgid "Computation Method"
+msgstr "Metode Perhitungan"
+
+#. module: account_asset
+#: help:account.asset.asset,method_period:0
+msgid "State here the time during 2 depreciations, in months"
+msgstr ""
+
+#. module: account_asset
+#: constraint:account.asset.asset:0
+msgid ""
+"Prorata temporis can be applied only for time method \"number of "
+"depreciations\"."
+msgstr ""
+
+#. module: account_asset
+#: help:account.asset.history,method_time:0
+msgid ""
+"The method to use to compute the dates and number of depreciation lines.\n"
+"Number of Depreciations: Fix the number of depreciation lines and the time "
+"between 2 depreciations.\n"
+"Ending Date: Choose the time between 2 depreciations and the date the "
+"depreciations won't go beyond."
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,purchase_value:0
+msgid "Gross value "
+msgstr ""
+
+#. module: account_asset
+#: constraint:account.asset.asset:0
+msgid "Error ! You can not create recursive assets."
+msgstr ""
+
+#. module: account_asset
+#: help:account.asset.history,method_period:0
+msgid "Time in month between two depreciations"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.asset.report:0 field:asset.asset.report,name:0
+msgid "Year"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.modify:0
+#: model:ir.actions.act_window,name:account_asset.action_asset_modify
+#: model:ir.model,name:account_asset.model_asset_modify
+msgid "Modify Asset"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Other Information"
+msgstr "Informasi lainnya"
+
+#. module: account_asset
+#: field:account.asset.asset,salvage_value:0
+msgid "Salvage Value"
+msgstr ""
+
+#. module: account_asset
+#: field:account.invoice.line,asset_category_id:0 view:asset.asset.report:0
+msgid "Asset Category"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Set to Close"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
+msgid "Compute assets"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
+msgid "Modify asset"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Assets in closed state"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,parent_id:0
+msgid "Parent Asset"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.history:0
+#: model:ir.model,name:account_asset.model_account_asset_history
+msgid "Asset history"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.asset.report:0
+msgid "Assets purchased in current year"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,state:0 field:asset.asset.report,state:0
+msgid "State"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.model,name:account_asset.model_account_invoice_line
+msgid "Invoice Line"
+msgstr ""
+
+#. module: account_asset
+#: constraint:account.move.line:0
+msgid ""
+"The selected account of your Journal Entry forces to provide a secondary "
+"currency. You should remove the secondary currency on the account or select "
+"a multi-currency view on the journal."
+msgstr ""
+
+#. module: account_asset
+#: view:asset.asset.report:0
+msgid "Month"
+msgstr "Bulan"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation Board"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.model,name:account_asset.model_account_move_line
+msgid "Journal Items"
+msgstr ""
+
+#. module: account_asset
+#: field:asset.asset.report,unposted_value:0
+msgid "Unposted Amount"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,method_time:0
+#: field:account.asset.category,method_time:0
+#: field:account.asset.history,method_time:0
+msgid "Time Method"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.category:0
+msgid "Analytic Information"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.modify:0
+msgid "Asset Durations to Modify"
+msgstr ""
+
+#. module: account_asset
+#: constraint:account.move.line:0
+msgid ""
+"The date of your Journal Entry is not in the defined period! You should "
+"change the date or remove this constraint from the journal."
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,note:0 field:account.asset.category,note:0
+#: field:account.asset.history,note:0
+msgid "Note"
+msgstr ""
+
+#. module: account_asset
+#: help:account.asset.asset,method:0 help:account.asset.category,method:0
+msgid ""
+"Choose the method to use to compute the amount of depreciation lines.\n"
+" * Linear: Calculated on basis of: Gross Value / Number of Depreciations\n"
+" * Degressive: Calculated on basis of: Remaining Value * Degressive Factor"
+msgstr ""
+
+#. module: account_asset
+#: help:account.asset.asset,method_time:0
+#: help:account.asset.category,method_time:0
+msgid ""
+"Choose the method to use to compute the dates and number of depreciation "
+"lines.\n"
+" * Number of Depreciations: Fix the number of depreciation lines and the "
+"time between 2 depreciations.\n"
+" * Ending Date: Choose the time between 2 depreciations and the date the "
+"depreciations won't go beyond."
+msgstr ""
+
+#. module: account_asset
+#: view:asset.asset.report:0
+msgid "Assets in running state"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Closed"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,partner_id:0
+#: field:asset.asset.report,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.asset.report:0 field:asset.asset.report,depreciation_value:0
+msgid "Amount of Depreciation Lines"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.asset.report:0
+msgid "Posted depreciation lines"
+msgstr ""
+
+#. module: account_asset
+#: constraint:account.move.line:0
+msgid "Company must be the same for its related account and period."
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,child_ids:0
+msgid "Children Assets"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.asset.report:0
+msgid "Date of depreciation"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.history,user_id:0
+msgid "User"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.history,date:0
+msgid "Date"
+msgstr "Tanggal"
+
+#. module: account_asset
+#: view:asset.asset.report:0
+msgid "Assets purchased in current month"
+msgstr ""
+
+#. module: account_asset
+#: constraint:account.move.line:0
+msgid "You can not create journal items on an account of type view."
+msgstr ""
+
+#. module: account_asset
+#: view:asset.asset.report:0
+msgid "Extended Filters..."
+msgstr "Filter Tambahan..."
+
+#. module: account_asset
+#: view:account.asset.asset:0 view:asset.depreciation.confirmation.wizard:0
+msgid "Compute"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.category:0
+msgid "Search Asset Category"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.model,name:account_asset.model_asset_depreciation_confirmation_wizard
+msgid "asset.depreciation.confirmation.wizard"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,active:0
+msgid "Active"
+msgstr "Aktif"
+
+#. module: account_asset
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_close
+msgid "Close asset"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.depreciation.line,parent_state:0
+msgid "State of Asset"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.depreciation.line,name:0
+msgid "Depreciation Name"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0 field:account.asset.asset,history_ids:0
+msgid "History"
+msgstr ""
+
+#. module: account_asset
+#: sql_constraint:account.invoice:0
+msgid "Invoice Number must be unique per Company!"
+msgstr ""
+
+#. module: account_asset
+#: field:asset.depreciation.confirmation.wizard,period_id:0
+msgid "Period"
+msgstr "Periode"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "General"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,prorata:0 field:account.asset.category,prorata:0
+msgid "Prorata Temporis"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.category:0
+msgid "Accounting Information"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.model,name:account_asset.model_account_invoice
+msgid "Invoice"
+msgstr "Faktur"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form_normal
+msgid "Review Asset Categories"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.depreciation.confirmation.wizard:0 view:asset.modify:0
+msgid "Cancel"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0 selection:asset.asset.report,state:0
+msgid "Close"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0 view:account.asset.category:0
+msgid "Depreciation Method"
+msgstr "Metode Depresiasi"
+
+#. module: account_asset
+#: field:account.asset.asset,purchase_date:0 view:asset.asset.report:0
+#: field:asset.asset.report,purchase_date:0
+msgid "Purchase Date"
+msgstr "Tanggal Pembelian"
+
+#. module: account_asset
+#: selection:account.asset.asset,method:0
+#: selection:account.asset.category,method:0
+msgid "Degressive"
+msgstr ""
+
+#. module: account_asset
+#: help:asset.depreciation.confirmation.wizard,period_id:0
+msgid ""
+"Choose the period for which you want to automatically post the depreciation "
+"lines of running assets"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Current"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.depreciation.line,remaining_value:0
+msgid "Amount to Depreciate"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.category,open_asset:0
+msgid "Skip Draft State"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0 view:account.asset.category:0
+#: view:account.asset.history:0
+msgid "Depreciation Dates"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,currency_id:0
+msgid "Currency"
+msgstr "Mata Uang"
+
+#. module: account_asset
+#: field:account.asset.category,journal_id:0
+msgid "Journal"
+msgstr "Jurnal"
+
+#. module: account_asset
+#: field:account.asset.depreciation.line,depreciated_value:0
+msgid "Amount Already Depreciated"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.depreciation.line,move_check:0
+#: view:asset.asset.report:0 field:asset.asset.report,move_check:0
+msgid "Posted"
+msgstr ""
+
+#. module: account_asset
+#: help:account.asset.asset,state:0
+msgid ""
+"When an asset is created, the state is 'Draft'.\n"
+"If the asset is confirmed, the state goes in 'Running' and the depreciation "
+"lines can be posted in the accounting.\n"
+"You can manually close an asset when the depreciation is over. If the last "
+"line of depreciation is posted, the asset automatically goes in that state."
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.category,name:0
+msgid "Name"
+msgstr "Nama"
+
+#. module: account_asset
+#: help:account.asset.category,open_asset:0
+msgid ""
+"Check this if you want to automatically confirm the assets of this category "
+"when created by invoices."
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Set to Draft"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,method:0
+#: selection:account.asset.category,method:0
+msgid "Linear"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.asset.report:0
+msgid "Month-1"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.model,name:account_asset.model_account_asset_depreciation_line
+msgid "Asset depreciation line"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,category_id:0 view:account.asset.category:0
+#: field:asset.asset.report,asset_category_id:0
+#: model:ir.model,name:account_asset.model_account_asset_category
+msgid "Asset category"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.asset.report:0
+msgid "Assets purchased in last month"
+msgstr ""
+
+#. module: account_asset
+#: code:addons/account_asset/wizard/wizard_asset_compute.py:49
+#, python-format
+msgid "Created Asset Moves"
+msgstr ""
+
+#. module: account_asset
+#: constraint:account.move.line:0
+msgid "You can not create journal items on closed account."
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,help:account_asset.action_asset_asset_report
+msgid ""
+"From this report, you can have an overview on all depreciation. The tool "
+"search can also be used to personalise your Assets reports and so, match "
+"this analysis to your needs;"
+msgstr ""
+
+#. module: account_asset
+#: help:account.asset.category,method_period:0
+msgid "State here the time between 2 depreciations, in months"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,method_number:0
+#: selection:account.asset.asset,method_time:0
+#: field:account.asset.category,method_number:0
+#: selection:account.asset.category,method_time:0
+#: field:account.asset.history,method_number:0
+#: selection:account.asset.history,method_time:0
+#: field:asset.modify,method_number:0
+msgid "Number of Depreciations"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Create Move"
+msgstr ""
+
+#. module: account_asset
+#: view:asset.depreciation.confirmation.wizard:0
+msgid "Post Depreciation Lines"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Confirm Asset"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree
+msgid "Asset Hierarchy"
+msgstr "Hirarki Aset"
diff --git a/addons/account_asset/i18n/pt.po b/addons/account_asset/i18n/pt.po
index aa94b06991b..80869fa03da 100755
--- a/addons/account_asset/i18n/pt.po
+++ b/addons/account_asset/i18n/pt.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2011-12-10 11:58+0000\n"
-"Last-Translator: Paulino Ascenção <Unknown>\n"
+"PO-Revision-Date: 2012-05-31 15:07+0000\n"
+"Last-Translator: ThinkOpen Solutions <Unknown>\n"
"Language-Team: Portuguese <pt@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 05:15+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
#. module: account_asset
#: view:account.asset.asset:0
@@ -439,7 +439,7 @@ msgstr "Método tempo"
#. module: account_asset
#: view:account.asset.category:0
msgid "Analytic Information"
-msgstr ""
+msgstr "Informação Analitica"
#. module: account_asset
#: view:asset.modify:0
@@ -620,7 +620,7 @@ msgstr "Prorata Temporis"
#. module: account_asset
#: view:account.asset.category:0
msgid "Accounting Information"
-msgstr ""
+msgstr "Informação contabilística"
#. module: account_asset
#: model:ir.model,name:account_asset.model_account_invoice
diff --git a/addons/account_bank_statement_extensions/i18n/gu.po b/addons/account_bank_statement_extensions/i18n/gu.po
index 3e77a3b8a26..6e0e0089341 100644
--- a/addons/account_bank_statement_extensions/i18n/gu.po
+++ b/addons/account_bank_statement_extensions/i18n/gu.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
-"PO-Revision-Date: 2012-04-17 09:03+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2012-06-01 04:42+0000\n"
+"Last-Translator: Jalpesh Patel(OpenERP) <pja@tinyerp.com>\n"
"Language-Team: Gujarati <gu@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-04-18 04:42+0000\n"
-"X-Generator: Launchpad (build 15108)\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
@@ -42,7 +42,7 @@ msgstr ""
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,parent_id:0
msgid "Parent Code"
-msgstr "પેરેંટ કોડ"
+msgstr "પિતૃ સંકેત"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
@@ -64,7 +64,7 @@ msgstr ""
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Group By..."
-msgstr "ગ્રુપ દ્વારા..."
+msgstr "સમૂહ દ્વારા"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,state:0
@@ -80,25 +80,25 @@ msgstr "કાચું"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Statement"
-msgstr "વિધાન"
+msgstr "નિવેદન"
#. module: account_bank_statement_extensions
#: view:confirm.statement.line:0
#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_confirm_statement_line
#: model:ir.model,name:account_bank_statement_extensions.model_confirm_statement_line
msgid "Confirm selected statement lines"
-msgstr ""
+msgstr "પસંદ કરેલ નિવેદન લીટીઓ ખાતરી કરો"
#. module: account_bank_statement_extensions
#: report:bank.statement.balance.report:0
#: model:ir.actions.report.xml,name:account_bank_statement_extensions.bank_statement_balance_report
msgid "Bank Statement Balances Report"
-msgstr ""
+msgstr "બેન્ક નિવેદન સિલક અહેવાલ"
#. module: account_bank_statement_extensions
#: view:cancel.statement.line:0
msgid "Cancel Lines"
-msgstr ""
+msgstr "લીટીઓ રદ કરો"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line.global:0
@@ -109,7 +109,7 @@ msgstr ""
#. module: account_bank_statement_extensions
#: view:confirm.statement.line:0
msgid "Confirm Lines"
-msgstr ""
+msgstr "લીટીઓ પુષ્ટિ કરો"
#. module: account_bank_statement_extensions
#: code:addons/account_bank_statement_extensions/account_bank_statement.py:130
@@ -134,33 +134,33 @@ msgstr "રોજનામું"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Confirmed Statement Lines."
-msgstr ""
+msgstr "પુષ્ટિ નિવેદન આવેલ લીટીઓ."
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Credit Transactions."
-msgstr ""
+msgstr "ધિરાણ વ્યવહારો."
#. module: account_bank_statement_extensions
#: model:ir.actions.act_window,help:account_bank_statement_extensions.action_cancel_statement_line
msgid "cancel selected statement lines."
-msgstr ""
+msgstr "પસંદ કરેલ લીટીઓની નિવેદન રદ કરો."
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,counterparty_number:0
msgid "Counterparty Number"
-msgstr ""
+msgstr "પ્રતિકૂળ સંખ્યા"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line.global:0
msgid "Transactions"
-msgstr ""
+msgstr "વ્યવહારો"
#. module: account_bank_statement_extensions
#: code:addons/account_bank_statement_extensions/account_bank_statement.py:130
#, python-format
msgid "Warning"
-msgstr ""
+msgstr "ચેતવણી"
#. module: account_bank_statement_extensions
#: report:bank.statement.balance.report:0
@@ -170,7 +170,7 @@ msgstr ""
#. module: account_bank_statement_extensions
#: report:bank.statement.balance.report:0
msgid "Date"
-msgstr ""
+msgstr "તારીખ"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
@@ -181,17 +181,17 @@ msgstr ""
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Debit Transactions."
-msgstr ""
+msgstr "ઉધાર વ્યવહારો."
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Extended Filters..."
-msgstr ""
+msgstr "વિસ્તૃત ગાળકો ..."
#. module: account_bank_statement_extensions
#: view:confirm.statement.line:0
msgid "Confirmed lines cannot be changed anymore."
-msgstr ""
+msgstr "પુષ્ટિ લીટીઓ હવે બદલી શકાતી નથી"
#. module: account_bank_statement_extensions
#: constraint:res.partner.bank:0
@@ -204,47 +204,47 @@ msgstr ""
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,val_date:0
msgid "Valuta Date"
-msgstr ""
+msgstr "ચલણ તારીખો"
#. module: account_bank_statement_extensions
#: model:ir.actions.act_window,help:account_bank_statement_extensions.action_confirm_statement_line
msgid "Confirm selected statement lines."
-msgstr ""
+msgstr "પસંદ નિવેદન લીટીઓ ખાતરી કરો."
#. module: account_bank_statement_extensions
#: view:cancel.statement.line:0
msgid "Are you sure you want to cancel the selected Bank Statement lines ?"
-msgstr ""
+msgstr "શું તમે ખરેખર પસંદિત બેન્ક નિવેદન લાઇન્સ રદ કરવા માંગો છો?"
#. module: account_bank_statement_extensions
#: report:bank.statement.balance.report:0
msgid "Name"
-msgstr ""
+msgstr "નામ"
#. module: account_bank_statement_extensions
#: selection:account.bank.statement.line.global,type:0
msgid "ISO 20022"
-msgstr ""
+msgstr "ISO 20022"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Notes"
-msgstr ""
+msgstr "નોંધ"
#. module: account_bank_statement_extensions
#: selection:account.bank.statement.line.global,type:0
msgid "Manual"
-msgstr ""
+msgstr "માર્ગદર્શિકા"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Credit"
-msgstr ""
+msgstr "જમા"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,amount:0
msgid "Amount"
-msgstr ""
+msgstr "કિંમત"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
@@ -254,7 +254,7 @@ msgstr ""
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,counterparty_currency:0
msgid "Counterparty Currency"
-msgstr ""
+msgstr "પ્રતિકૂળ ચલણ"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,counterparty_bic:0
@@ -269,7 +269,7 @@ msgstr ""
#. module: account_bank_statement_extensions
#: view:confirm.statement.line:0
msgid "Are you sure you want to confirm the selected Bank Statement lines ?"
-msgstr ""
+msgstr "શું તમે ખરેખર પસંદિત બેન્ક નિવેદન લાઇન્સ ખાતરી કરવા માંગો છો?"
#. module: account_bank_statement_extensions
#: constraint:account.bank.statement.line:0
@@ -288,7 +288,7 @@ msgstr ""
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Draft Statement Lines."
-msgstr ""
+msgstr "કાચું નિવેદન લીટીઓ."
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
@@ -298,27 +298,27 @@ msgstr ""
#. module: account_bank_statement_extensions
#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement_line
msgid "Bank Statement Line"
-msgstr ""
+msgstr "બેન્ક વિધાન લીટી"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,code:0
msgid "Code"
-msgstr ""
+msgstr "સંકેત"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,counterparty_name:0
msgid "Counterparty Name"
-msgstr ""
+msgstr "પ્રતિકૂળ નામ"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,name:0
msgid "Communication"
-msgstr ""
+msgstr "સંચાર"
#. module: account_bank_statement_extensions
#: model:ir.model,name:account_bank_statement_extensions.model_res_partner_bank
msgid "Bank Accounts"
-msgstr ""
+msgstr "બેંક હિસાબી"
#. module: account_bank_statement_extensions
#: constraint:account.bank.statement:0
@@ -328,24 +328,24 @@ msgstr ""
#. module: account_bank_statement_extensions
#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement
msgid "Bank Statement"
-msgstr ""
+msgstr "બેન્ક સ્ટેટમેન્ટ"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Statement Line"
-msgstr ""
+msgstr "વિધાન લીટી"
#. module: account_bank_statement_extensions
#: sql_constraint:account.bank.statement.line.global:0
msgid "The code must be unique !"
-msgstr ""
+msgstr "કોડ અજોડ હોવું જ જોઈએ!"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,bank_statement_line_ids:0
#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_bank_statement_line
#: model:ir.ui.menu,name:account_bank_statement_extensions.bank_statement_line
msgid "Bank Statement Lines"
-msgstr ""
+msgstr "બેંક વિધાન લીટીઓ"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line.global:0
@@ -356,17 +356,17 @@ msgstr ""
#: view:cancel.statement.line:0
#: view:confirm.statement.line:0
msgid "Cancel"
-msgstr ""
+msgstr "રદ કરો"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Statement Lines"
-msgstr ""
+msgstr "વિધાન લીટીઓ"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Total Amount"
-msgstr ""
+msgstr "કુલ રકમ"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,globalisation_id:0
diff --git a/addons/account_bank_statement_extensions/i18n/ja.po b/addons/account_bank_statement_extensions/i18n/ja.po
index f040102bb83..170139fac06 100644
--- a/addons/account_bank_statement_extensions/i18n/ja.po
+++ b/addons/account_bank_statement_extensions/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
-"PO-Revision-Date: 2012-04-16 23:00+0000\n"
+"PO-Revision-Date: 2012-05-23 06:08+0000\n"
"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-04-18 04:42+0000\n"
-"X-Generator: Launchpad (build 15108)\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
@@ -80,14 +80,14 @@ msgstr "ドラフト"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Statement"
-msgstr "明細書"
+msgstr "取引明細書"
#. module: account_bank_statement_extensions
#: view:confirm.statement.line:0
#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_confirm_statement_line
#: model:ir.model,name:account_bank_statement_extensions.model_confirm_statement_line
msgid "Confirm selected statement lines"
-msgstr "選択した明細行の確認"
+msgstr "選択した取引明細書行の確認"
#. module: account_bank_statement_extensions
#: report:bank.statement.balance.report:0
@@ -165,7 +165,7 @@ msgstr "警告"
#. module: account_bank_statement_extensions
#: report:bank.statement.balance.report:0
msgid "Closing Balance"
-msgstr "締切残高"
+msgstr "期末残高"
#. module: account_bank_statement_extensions
#: report:bank.statement.balance.report:0
@@ -176,7 +176,7 @@ msgstr "日付"
#: view:account.bank.statement.line:0
#: field:account.bank.statement.line,globalisation_amount:0
msgid "Glob. Amount"
-msgstr "国際化金額"
+msgstr "全体の金額"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
@@ -201,7 +201,7 @@ msgid ""
"valid payments"
msgstr ""
"\n"
-"正当な支払いを行うために銀行タイプIBAN口座のための銀行にBIC/Swiftコードを定義して下さい。"
+"正当な支払いを行うために銀行タイプIBAN口座のための銀行にBIC / SWIFTコードを定義して下さい。"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line,val_date:0
@@ -221,7 +221,7 @@ msgstr "選択した銀行明細行のキャンセルを本当に行いますか
#. module: account_bank_statement_extensions
#: report:bank.statement.balance.report:0
msgid "Name"
-msgstr "名称"
+msgstr "氏名"
#. module: account_bank_statement_extensions
#: selection:account.bank.statement.line.global,type:0
@@ -295,7 +295,7 @@ msgstr "ドラフト明細行"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
msgid "Glob. Am."
-msgstr "国際化総額"
+msgstr "全体の金額"
#. module: account_bank_statement_extensions
#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement_line
@@ -340,7 +340,7 @@ msgstr "明細行"
#. module: account_bank_statement_extensions
#: sql_constraint:account.bank.statement.line.global:0
msgid "The code must be unique !"
-msgstr "コードは固有でなければなりません。"
+msgstr "コードは固有であるべきです。"
#. module: account_bank_statement_extensions
#: field:account.bank.statement.line.global,bank_statement_line_ids:0
diff --git a/addons/account_bank_statement_extensions/i18n/ro.po b/addons/account_bank_statement_extensions/i18n/ro.po
new file mode 100644
index 00000000000..32d75c3dac4
--- /dev/null
+++ b/addons/account_bank_statement_extensions/i18n/ro.po
@@ -0,0 +1,385 @@
+# Romanian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:35+0000\n"
+"PO-Revision-Date: 2012-05-21 11:09+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Romanian <ro@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Search Bank Transactions"
+msgstr "Cauta Tranzactii Bancare"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+#: selection:account.bank.statement.line,state:0
+msgid "Confirmed"
+msgstr "Confirmat(a)"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement:0
+#: view:account.bank.statement.line:0
+msgid "Glob. Id"
+msgstr "Id Glob."
+
+#. module: account_bank_statement_extensions
+#: selection:account.bank.statement.line.global,type:0
+msgid "CODA"
+msgstr "CODA"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line.global,parent_id:0
+msgid "Parent Code"
+msgstr "Cod parinte"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Debit"
+msgstr "Debit"
+
+#. module: account_bank_statement_extensions
+#: view:cancel.statement.line:0
+#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_cancel_statement_line
+#: model:ir.model,name:account_bank_statement_extensions.model_cancel_statement_line
+msgid "Cancel selected statement lines"
+msgstr "Anuleaza liniile selectate ale extrasului de cont"
+
+#. module: account_bank_statement_extensions
+#: constraint:res.partner.bank:0
+msgid "The RIB and/or IBAN is not valid"
+msgstr "Codul RIB si/sau IBAN nu este valabil"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Group By..."
+msgstr "Grupeaza dupa..."
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line,state:0
+msgid "State"
+msgstr "Stare"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+#: selection:account.bank.statement.line,state:0
+msgid "Draft"
+msgstr "Ciorna"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Statement"
+msgstr "Extras de cont"
+
+#. module: account_bank_statement_extensions
+#: view:confirm.statement.line:0
+#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_confirm_statement_line
+#: model:ir.model,name:account_bank_statement_extensions.model_confirm_statement_line
+msgid "Confirm selected statement lines"
+msgstr "Confirma liniile extrasului de cont selectat"
+
+#. module: account_bank_statement_extensions
+#: report:bank.statement.balance.report:0
+#: model:ir.actions.report.xml,name:account_bank_statement_extensions.bank_statement_balance_report
+msgid "Bank Statement Balances Report"
+msgstr "Raport Sold Extras de cont"
+
+#. module: account_bank_statement_extensions
+#: view:cancel.statement.line:0
+msgid "Cancel Lines"
+msgstr "Anuleaza Liniile"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line.global:0
+#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement_line_global
+msgid "Batch Payment Info"
+msgstr "Informatii Plata Lot"
+
+#. module: account_bank_statement_extensions
+#: view:confirm.statement.line:0
+msgid "Confirm Lines"
+msgstr "Confirma Liniile"
+
+#. module: account_bank_statement_extensions
+#: code:addons/account_bank_statement_extensions/account_bank_statement.py:130
+#, python-format
+msgid ""
+"Delete operation not allowed ! Please go to the associated bank "
+"statement in order to delete and/or modify this bank statement line"
+msgstr ""
+"Operatiune de stergere nepermisa! Va rugam sa mergeti la extrasul de cont "
+"asociat pentru a sterge si/sau modifica aceasta linie a extrasului de cont"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line.global,type:0
+msgid "Type"
+msgstr "Tip:"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+#: field:account.bank.statement.line,journal_id:0
+#: report:bank.statement.balance.report:0
+msgid "Journal"
+msgstr "Jurnal"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Confirmed Statement Lines."
+msgstr "Liniile confirmate ale Extrasului de cont."
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Credit Transactions."
+msgstr "Operatiuni de credit"
+
+#. module: account_bank_statement_extensions
+#: model:ir.actions.act_window,help:account_bank_statement_extensions.action_cancel_statement_line
+msgid "cancel selected statement lines."
+msgstr "anuleaza liniile extrasului de cont selectat."
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line,counterparty_number:0
+msgid "Counterparty Number"
+msgstr "Numar Echivalent"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line.global:0
+msgid "Transactions"
+msgstr "Tranzactii"
+
+#. module: account_bank_statement_extensions
+#: code:addons/account_bank_statement_extensions/account_bank_statement.py:130
+#, python-format
+msgid "Warning"
+msgstr "Atentionare"
+
+#. module: account_bank_statement_extensions
+#: report:bank.statement.balance.report:0
+msgid "Closing Balance"
+msgstr "Sold la inchidere"
+
+#. module: account_bank_statement_extensions
+#: report:bank.statement.balance.report:0
+msgid "Date"
+msgstr "Data"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+#: field:account.bank.statement.line,globalisation_amount:0
+msgid "Glob. Amount"
+msgstr "Suma Glob."
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Debit Transactions."
+msgstr "Tranzactii de debit."
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Extended Filters..."
+msgstr "Filtre Extinse..."
+
+#. module: account_bank_statement_extensions
+#: view:confirm.statement.line:0
+msgid "Confirmed lines cannot be changed anymore."
+msgstr "Liniile confirmate nu mai pot fi modificate."
+
+#. module: account_bank_statement_extensions
+#: constraint:res.partner.bank:0
+msgid ""
+"\n"
+"Please define BIC/Swift code on bank for bank type IBAN Account to make "
+"valid payments"
+msgstr ""
+"\n"
+"Va rugam sa definiti un cod BIC/Swift la banca pentru ca Contul bancar de "
+"tip IBAN sa faca plati valabile"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line,val_date:0
+msgid "Valuta Date"
+msgstr "Data Valuta"
+
+#. module: account_bank_statement_extensions
+#: model:ir.actions.act_window,help:account_bank_statement_extensions.action_confirm_statement_line
+msgid "Confirm selected statement lines."
+msgstr "Confirmati liniile extrasului de cont selectat."
+
+#. module: account_bank_statement_extensions
+#: view:cancel.statement.line:0
+msgid "Are you sure you want to cancel the selected Bank Statement lines ?"
+msgstr ""
+"Sunteti sigur(a) ca doriti sa anulati liniile Extrasului de cont selectat ?"
+
+#. module: account_bank_statement_extensions
+#: report:bank.statement.balance.report:0
+msgid "Name"
+msgstr "Nume"
+
+#. module: account_bank_statement_extensions
+#: selection:account.bank.statement.line.global,type:0
+msgid "ISO 20022"
+msgstr "ISO 20022"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Notes"
+msgstr "Note"
+
+#. module: account_bank_statement_extensions
+#: selection:account.bank.statement.line.global,type:0
+msgid "Manual"
+msgstr "Manual"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Credit"
+msgstr "Credit"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line.global,amount:0
+msgid "Amount"
+msgstr "Suma"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Fin.Account"
+msgstr "Cont Fin."
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line,counterparty_currency:0
+msgid "Counterparty Currency"
+msgstr "Moneda echivalenta"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line,counterparty_bic:0
+msgid "Counterparty BIC"
+msgstr "BIC echivalent"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line.global,child_ids:0
+msgid "Child Codes"
+msgstr "Coduri subordonate"
+
+#. module: account_bank_statement_extensions
+#: view:confirm.statement.line:0
+msgid "Are you sure you want to confirm the selected Bank Statement lines ?"
+msgstr ""
+"Sunteti sigur(a) ca doriti sa confirmati liniile Extrasului de cont selectat "
+"?"
+
+#. module: account_bank_statement_extensions
+#: constraint:account.bank.statement.line:0
+msgid ""
+"The amount of the voucher must be the same amount as the one on the "
+"statement line"
+msgstr ""
+"Suma de pe chitanta trebuie sa fie aceeasi ca si cea din linia extrasului"
+
+#. module: account_bank_statement_extensions
+#: help:account.bank.statement.line,globalisation_id:0
+msgid ""
+"Code to identify transactions belonging to the same globalisation level "
+"within a batch payment"
+msgstr ""
+"Cod pentru identificarea tranzactiilor care apartin aceluiasi nivel de "
+"globalizare din cadrul unei plati a unui lot"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Draft Statement Lines."
+msgstr "Linii ale Extrasului de cont ciorna."
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Glob. Am."
+msgstr "Suma Glob."
+
+#. module: account_bank_statement_extensions
+#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement_line
+msgid "Bank Statement Line"
+msgstr "Linie extras de cont"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line.global,code:0
+msgid "Code"
+msgstr "Cod"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line,counterparty_name:0
+msgid "Counterparty Name"
+msgstr "Nume echivalent"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line.global,name:0
+msgid "Communication"
+msgstr "Comunicare"
+
+#. module: account_bank_statement_extensions
+#: model:ir.model,name:account_bank_statement_extensions.model_res_partner_bank
+msgid "Bank Accounts"
+msgstr "Conturi Bancare"
+
+#. module: account_bank_statement_extensions
+#: constraint:account.bank.statement:0
+msgid "The journal and period chosen have to belong to the same company."
+msgstr "Jurnalul si perioada aleasa trebuie sa apartina aceleiasi companii."
+
+#. module: account_bank_statement_extensions
+#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement
+msgid "Bank Statement"
+msgstr "Extras de cont"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Statement Line"
+msgstr "Linie a Extrasului de cont"
+
+#. module: account_bank_statement_extensions
+#: sql_constraint:account.bank.statement.line.global:0
+msgid "The code must be unique !"
+msgstr "Codul trebuie sa fie unic !"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line.global,bank_statement_line_ids:0
+#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_bank_statement_line
+#: model:ir.ui.menu,name:account_bank_statement_extensions.bank_statement_line
+msgid "Bank Statement Lines"
+msgstr "Linii Extras de cont"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line.global:0
+msgid "Child Batch Payments"
+msgstr "Plati secundare lot"
+
+#. module: account_bank_statement_extensions
+#: view:cancel.statement.line:0
+#: view:confirm.statement.line:0
+msgid "Cancel"
+msgstr "Anuleaza"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Statement Lines"
+msgstr "Linii Extras de cont"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Total Amount"
+msgstr "Suma totala"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line,globalisation_id:0
+msgid "Globalisation ID"
+msgstr "ID globalizare"
diff --git a/addons/account_check_writing/i18n/fr.po b/addons/account_check_writing/i18n/fr.po
index 1a5c3d54fa0..c179c281856 100644
--- a/addons/account_check_writing/i18n/fr.po
+++ b/addons/account_check_writing/i18n/fr.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
-"PO-Revision-Date: 2012-02-13 21:29+0000\n"
-"Last-Translator: t.o <Unknown>\n"
+"PO-Revision-Date: 2012-05-24 17:30+0000\n"
+"Last-Translator: Quentin THEURET <Unknown>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 05:15+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-05-25 04:40+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: account_check_writing
#: selection:res.company,check_layout:0
@@ -155,7 +155,7 @@ msgstr "Sociétés"
#. module: account_check_writing
#: view:res.company:0
msgid "Default Check Layout"
-msgstr ""
+msgstr "Disposition par défaut des chèques"
#. module: account_check_writing
#: constraint:account.journal:0
diff --git a/addons/account_check_writing/i18n/ro.po b/addons/account_check_writing/i18n/ro.po
new file mode 100644
index 00000000000..9ffa733ff3b
--- /dev/null
+++ b/addons/account_check_writing/i18n/ro.po
@@ -0,0 +1,213 @@
+# Romanian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:35+0000\n"
+"PO-Revision-Date: 2012-05-21 12:06+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Romanian <ro@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: account_check_writing
+#: selection:res.company,check_layout:0
+msgid "Check on Top"
+msgstr "Cecul in partea de sus"
+
+#. module: account_check_writing
+#: model:ir.actions.act_window,help:account_check_writing.action_write_check
+msgid ""
+"The check payment form allows you to track the payment you do to your "
+"suppliers specially by check. When you select a supplier, the payment method "
+"and an amount for the payment, OpenERP will propose to reconcile your "
+"payment with the open supplier invoices or bills.You can print the check"
+msgstr ""
+"Forma de plata prin cec va permite sa tineti evidenta platilor pe care le "
+"faceti furnizorilor d-voastra mai ales prin cecuri. Atunci cand selectati un "
+"furnizor, metoda de plata si o suma pentru plata, OpenERP va propune "
+"reconcilierea platii d-voastra cu facturile deschise ale furnizorului. "
+"Puteti printa cecul"
+
+#. module: account_check_writing
+#: view:account.voucher:0
+#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_bottom
+#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_middle
+#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_top
+msgid "Print Check"
+msgstr "Printeaza Cecul"
+
+#. module: account_check_writing
+#: selection:res.company,check_layout:0
+msgid "Check in middle"
+msgstr "Cecul la mijloc"
+
+#. module: account_check_writing
+#: help:res.company,check_layout:0
+msgid ""
+"Check on top is compatible with Quicken, QuickBooks and Microsoft Money. "
+"Check in middle is compatible with Peachtree, ACCPAC and DacEasy. Check on "
+"bottom is compatible with Peachtree, ACCPAC and DacEasy only"
+msgstr ""
+"Cecul in partea de sus este compatibil cu Quicken, QuickBooks si Microsoft "
+"Money. Cecul la mijloc este compatibil cu Peachtree, ACCPAC si DacEasy. "
+"Cecul in partea de jos este compatibil numai cu Peachtree, ACCPAC si DacEasy"
+
+#. module: account_check_writing
+#: selection:res.company,check_layout:0
+msgid "Check on bottom"
+msgstr "Cecul in partea de jos"
+
+#. module: account_check_writing
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr "Eroare! Nu puteti crea companii recursive."
+
+#. module: account_check_writing
+#: help:account.journal,allow_check_writing:0
+msgid "Check this if the journal is to be used for writing checks."
+msgstr ""
+"Bifati aceasta casuta daca jurnalul va fi folosit pentru scrierea de cecuri."
+
+#. module: account_check_writing
+#: field:account.journal,allow_check_writing:0
+msgid "Allow Check writing"
+msgstr "Permite scrierea de cecuri"
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Description"
+msgstr "Descriere"
+
+#. module: account_check_writing
+#: model:ir.model,name:account_check_writing.model_account_journal
+msgid "Journal"
+msgstr "Jurnal"
+
+#. module: account_check_writing
+#: model:ir.actions.act_window,name:account_check_writing.action_write_check
+#: model:ir.ui.menu,name:account_check_writing.menu_action_write_check
+msgid "Write Checks"
+msgstr "Scrieti Cecuri"
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Discount"
+msgstr "Reducere"
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Original Amount"
+msgstr "Suma Initiala"
+
+#. module: account_check_writing
+#: view:res.company:0
+msgid "Configuration"
+msgstr "Configurare"
+
+#. module: account_check_writing
+#: field:account.voucher,allow_check:0
+msgid "Allow Check Writing"
+msgstr "Permiteti Scrierea de Cecuri"
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Payment"
+msgstr "Plata"
+
+#. module: account_check_writing
+#: field:account.journal,use_preprint_check:0
+msgid "Use Preprinted Check"
+msgstr "Folositi Cecuri pre-tiparite"
+
+#. module: account_check_writing
+#: sql_constraint:res.company:0
+msgid "The company name must be unique !"
+msgstr "Numele companiei trebuie sa fie unic !"
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Due Date"
+msgstr "Data scadentei"
+
+#. module: account_check_writing
+#: model:ir.model,name:account_check_writing.model_res_company
+msgid "Companies"
+msgstr "Companii"
+
+#. module: account_check_writing
+#: view:res.company:0
+msgid "Default Check Layout"
+msgstr ""
+
+#. module: account_check_writing
+#: constraint:account.journal:0
+msgid ""
+"Configuration error! The currency chosen should be shared by the default "
+"accounts too."
+msgstr ""
+"Eroare de configurare! Moneda aleasa ar trebui sa fie comuna si conturilor "
+"predefinite."
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+msgid "Balance Due"
+msgstr "Sold datorat"
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Check Amount"
+msgstr "Suma Cec"
+
+#. module: account_check_writing
+#: model:ir.model,name:account_check_writing.model_account_voucher
+msgid "Accounting Voucher"
+msgstr "Chitanta contabila"
+
+#. module: account_check_writing
+#: sql_constraint:account.journal:0
+msgid "The name of the journal must be unique per company !"
+msgstr "Numele jurnalului trebuie sa fie unic per companie !"
+
+#. module: account_check_writing
+#: sql_constraint:account.journal:0
+msgid "The code of the journal must be unique per company !"
+msgstr "Codul jurnalului trebuie sa fie unic per companie !"
+
+#. module: account_check_writing
+#: field:account.voucher,amount_in_word:0
+msgid "Amount in Word"
+msgstr "Suma in litere"
+
+#. module: account_check_writing
+#: report:account.print.check.top:0
+msgid "Open Balance"
+msgstr "Sold la deschidere"
+
+#. module: account_check_writing
+#: field:res.company,check_layout:0
+msgid "Choose Check layout"
+msgstr "Alegeti formatul Cecului"
+
+#~ msgid "Default Check layout"
+#~ msgstr "Formatul implicit al cecului"
diff --git a/addons/account_coda/i18n/fr.po b/addons/account_coda/i18n/fr.po
index 90cabdeb999..6c1d8caa2c7 100644
--- a/addons/account_coda/i18n/fr.po
+++ b/addons/account_coda/i18n/fr.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
-"PO-Revision-Date: 2010-12-31 10:33+0000\n"
-"Last-Translator: lholivier <olivier.lenoir@free.fr>\n"
+"PO-Revision-Date: 2012-05-24 17:31+0000\n"
+"Last-Translator: gde (OpenERP) <Unknown>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 05:08+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-05-25 04:39+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: account_coda
#: model:account.coda.trans.code,description:account_coda.actcc_09_21
@@ -70,7 +70,7 @@ msgstr ""
#. module: account_coda
#: model:account.coda.trans.category,description:account_coda.actrca_002
msgid "Interest paid"
-msgstr ""
+msgstr "Intérêts payés"
#. module: account_coda
#: field:account.coda.trans.type,parent_id:0
diff --git a/addons/account_coda/i18n/pt.po b/addons/account_coda/i18n/pt.po
index 0d99a5515a6..42facc9739f 100644
--- a/addons/account_coda/i18n/pt.po
+++ b/addons/account_coda/i18n/pt.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
-"PO-Revision-Date: 2010-12-20 19:21+0000\n"
-"Last-Translator: Rui Franco (multibase.pt) <Unknown>\n"
+"PO-Revision-Date: 2012-05-31 15:12+0000\n"
+"Last-Translator: ThinkOpen Solutions <Unknown>\n"
"Language-Team: Portuguese <pt@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 05:09+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
#. module: account_coda
#: model:account.coda.trans.code,description:account_coda.actcc_09_21
@@ -1780,6 +1780,8 @@ msgstr "Pagamentos de salários coletivos"
#: model:account.coda.trans.code,comment:account_coda.actcc_80_17
msgid "Collected for unsealed deposit of securities, and other parcels"
msgstr ""
+"Recolhidos para o depósito de valores mobiliários sem lacre, e outras "
+"parcelas"
#. module: account_coda
#: model:account.coda.comm.type,description:account_coda.acct_004
@@ -1853,7 +1855,7 @@ msgstr "Documentário de taxas gerais de crédito"
#. module: account_coda
#: model:account.coda.trans.code,description:account_coda.actcc_80_25
msgid "Renting of direct debit box"
-msgstr ""
+msgstr "Locação de caixa de débito direto"
#. module: account_coda
#: model:account.coda.trans.code,description:account_coda.actcc_11_52
@@ -1871,6 +1873,9 @@ msgid ""
"globalisation of which this record is the first.\n"
"The same code will be repeated at the end of the globalisation."
msgstr ""
+"O valor que é mencionado (1 a 9), especifica o nível de hierarquia da "
+"globalização do que este disco é o primeiro.\n"
+"O mesmo código será repetido no final da globalização."
#. module: account_coda
#: field:coda.bank.account,description2:0
@@ -1880,7 +1885,7 @@ msgstr "Descrição da Conta Secundária"
#. module: account_coda
#: model:account.coda.trans.category,description:account_coda.actrca_211
msgid "Credit arrangement fee | Additional credit arrangement fee"
-msgstr ""
+msgstr "Taxa de arranjo de Crédito | taxa de arranjo de crédito adicional"
#. module: account_coda
#: view:coda.bank.statement:0
@@ -1925,7 +1930,7 @@ msgstr ""
#. module: account_coda
#: model:account.coda.trans.category,description:account_coda.actrca_035
msgid "Charges foreign documentary bill"
-msgstr ""
+msgstr "Encargos conta documentário estrangeiro"
#. module: account_coda
#: model:account.coda.trans.code,comment:account_coda.actcc_80_39
@@ -2191,6 +2196,8 @@ msgid ""
"Credit transfer or cash payment with reconstituted structured format "
"communication"
msgstr ""
+"Transferência de crédito ou pagamento em dinheiro com a comunicação "
+"reconstituída do formato estruturado"
#. module: account_coda
#: model:account.coda.trans.code,description:account_coda.actcc_07_86
@@ -2279,7 +2286,7 @@ msgstr "Pesquisar Extratos Bancários CODA"
#. module: account_coda
#: model:account.coda.trans.category,description:account_coda.actrca_410
msgid "Reclamation charges"
-msgstr ""
+msgstr "Taxas de Contestação"
#. module: account_coda
#: model:ir.actions.act_window,help:account_coda.action_coda_bank_statements
@@ -2347,7 +2354,7 @@ msgstr "Assistente em estado incorreto. Por favor, clique no botão Cancelar!"
#. module: account_coda
#: model:account.coda.trans.category,description:account_coda.actrca_418
msgid "Endorsement commission"
-msgstr ""
+msgstr "Comissão de Averbamento"
#. module: account_coda
#: model:account.coda.trans.category,description:account_coda.actrca_005
@@ -2381,6 +2388,10 @@ msgid ""
"credit transfers with a structured communication As a matter of principle, "
"this type will also be used when no detailed data (type 6 or 7) is following."
msgstr ""
+"Montante foi totalizado pelo banco; por exemplo, : O montante total de uma "
+"série de transferências de crédito com uma comunicação estruturada como uma "
+"questão de princípio, este tipo também será usado quando nenhum dado "
+"detalhado (tipo 6 ou 7) está a seguir."
#. module: account_coda
#: model:account.coda.trans.code,description:account_coda.actcc_03_37
@@ -2400,7 +2411,7 @@ msgstr "Levantamento de dinheiro pela sua filial ou agentes"
#. module: account_coda
#: model:account.coda.trans.category,description:account_coda.actrca_049
msgid "Fiscal stamps/stamp duty"
-msgstr ""
+msgstr "Selos fiscais / imposto de selo"
#. module: account_coda
#: model:account.coda.trans.code,comment:account_coda.actcc_03_58
@@ -2414,7 +2425,7 @@ msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Select Your File :"
-msgstr ""
+msgstr "Selecione o seu ficheiro:"
#. module: account_coda
#: model:account.coda.trans.code,description:account_coda.actcc_80_06
@@ -2485,7 +2496,7 @@ msgstr "Pesquisar ficheiros CODA"
#. module: account_coda
#: model:account.coda.trans.code,description:account_coda.actcc_07_52
msgid "Remittance of commercial paper - credit under usual reserve"
-msgstr ""
+msgstr "Remessa de papel comercial - crédito sob reserva habitual"
#. module: account_coda
#: help:coda.bank.account,active:0
@@ -2499,7 +2510,7 @@ msgstr ""
#. module: account_coda
#: model:account.coda.trans.code,comment:account_coda.actcc_07_54
msgid "Among other things advances or promissory notes"
-msgstr ""
+msgstr "Entre outras coisas avanços ou notas promissórias"
#. module: account_coda
#: model:account.coda.trans.code,description:account_coda.actcc_80_10
@@ -2543,7 +2554,7 @@ msgstr "Para os profissionais, tais como seguros e corretores"
#: model:account.coda.trans.code,comment:account_coda.actcc_80_19
msgid ""
"Collected for securities, gold, pass-books, etc. placed in safe custody"
-msgstr ""
+msgstr "Títulos Coletados, ouro, passa-livros, etc. colocados sob custódia"
#. module: account_coda
#: model:account.coda.trans.code,comment:account_coda.actcc_09_19
@@ -2551,6 +2562,8 @@ msgid ""
"Used in case of payments accepted under reserve of count, result of "
"overcrediting"
msgstr ""
+"Usado no caso de pagamentos aceites com reserva de contagem, resultado sobre "
+"crédito"
#. module: account_coda
#: code:addons/account_coda/wizard/account_coda_import.py:630
@@ -2597,7 +2610,7 @@ msgstr "Comissão para as despesas de manutenção"
#. module: account_coda
#: model:account.coda.trans.code,description:account_coda.actcc_11_03
msgid "Subscription to securities"
-msgstr ""
+msgstr "Subscrição de valores"
#. module: account_coda
#: model:account.coda.trans.category,description:account_coda.actrca_425
@@ -2659,6 +2672,7 @@ msgstr "Bonificação de juros"
#: model:account.coda.trans.code,description:account_coda.actcf_41
msgid "International credit transfers - non-SEPA credit transfers"
msgstr ""
+"Transferências internacionais de crédito - transferências de crédito não SEPA"
#. module: account_coda
#: model:account.coda.trans.code,comment:account_coda.actcc_03_87
@@ -2856,6 +2870,7 @@ msgstr ""
#: model:account.coda.trans.code,description:account_coda.actcf_35
msgid "Closing (periodical settlements for interest, costs,…)"
msgstr ""
+"Encerramento (estabelecimentos periódicos relativos aos juros, custos, ...)"
#. module: account_coda
#: model:account.coda.trans.code,description:account_coda.actcc_04_51
@@ -3057,6 +3072,8 @@ msgid ""
"Costs charged for calculating the amount of the tax to be paid (e.g. "
"Fiscomat)."
msgstr ""
+"Custos cobrados para o cálculo do montante do imposto a ser pago (Fiscomat "
+"por exemplo)."
#. module: account_coda
#: model:account.coda.trans.category,description:account_coda.actrca_014
@@ -3181,7 +3198,7 @@ msgstr "Subsídio"
#. module: account_coda
#: model:account.coda.trans.code,description:account_coda.actcc_04_06
msgid "Payment with tank card"
-msgstr ""
+msgstr "Pagamento com cartão de depósito"
#. module: account_coda
#: model:account.coda.comm.type,description:account_coda.acct_107
@@ -3496,13 +3513,14 @@ msgstr "Licitações"
#. module: account_coda
#: model:account.coda.trans.code,description:account_coda.actcc_43_07
msgid "Unpaid foreign cheque"
-msgstr ""
+msgstr "Cheque estrangeiro Não remunerado"
#. module: account_coda
#: model:account.coda.trans.code,comment:account_coda.actcc_11_03
msgid ""
"Bonds, shares, tap issues of CDs, with or without payment of interest, etc."
msgstr ""
+"Obrigações, ações, questões de CDs, com ou sem pagamento de juros, etc"
#. module: account_coda
#: model:account.coda.trans.code,description:account_coda.actcc_09_66
@@ -3512,7 +3530,7 @@ msgstr "Resgate de cupões de gasolina"
#. module: account_coda
#: model:account.coda.trans.category,description:account_coda.actrca_058
msgid "Capital premium"
-msgstr ""
+msgstr "Prémio Capital"
#. module: account_coda
#: model:account.coda.trans.code,description:account_coda.actcc_11_15
@@ -3528,7 +3546,7 @@ msgstr "Moeda da contraparte"
#. module: account_coda
#: model:account.coda.trans.category,description:account_coda.actrca_202
msgid "Advising commission | Additional advising commission"
-msgstr ""
+msgstr "Comissões da Assessoria | comissão adicional aconselhada"
#. module: account_coda
#: field:coda.bank.account,find_partner:0
@@ -3736,6 +3754,8 @@ msgstr "Pagamento do cheque"
#: model:account.coda.trans.code,comment:account_coda.actcc_43_07
msgid "Foreign cheque remitted for collection that returns unpaid"
msgstr ""
+"Cheques estrangeiros remetidos para a recolha que retorna como não "
+"remunerados"
#. module: account_coda
#: model:account.coda.trans.code,comment:account_coda.actcc_80_07
@@ -3982,7 +4002,7 @@ msgstr "Custos de ATM no estrangeiro"
#. module: account_coda
#: model:account.coda.trans.category,description:account_coda.actrca_018
msgid "Tental guarantee charges"
-msgstr ""
+msgstr "Tental taxas de garantia"
#. module: account_coda
#: model:account.coda.trans.category,description:account_coda.actrca_430
diff --git a/addons/account_followup/i18n/fr.po b/addons/account_followup/i18n/fr.po
index 74243144583..4e1604dcf9b 100644
--- a/addons/account_followup/i18n/fr.po
+++ b/addons/account_followup/i18n/fr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
-"PO-Revision-Date: 2012-02-13 21:37+0000\n"
-"Last-Translator: t.o <Unknown>\n"
+"PO-Revision-Date: 2012-05-24 17:31+0000\n"
+"Last-Translator: YannUbuntu <yannubuntu@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-02-14 05:43+0000\n"
-"X-Generator: Launchpad (build 14781)\n"
+"X-Launchpad-Export-Date: 2012-05-25 04:39+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: account_followup
#: view:account_followup.followup:0
@@ -69,6 +69,26 @@ msgid ""
"\n"
"Best Regards,\n"
msgstr ""
+"\n"
+"Cher % (partner_name)s,\n"
+"\n"
+"Nous constatons que, malgré l'envoi d'un rappel, votre compte client "
+"présente toujours à ce jour un solde débiteur.\n"
+"\n"
+"Il est essentiel que le règlement soit réalisé immédiatement faute de quoi "
+"nous devrons envisager de stopper\n"
+"nos relations commerciales jusqu'à apurement de la situation.\n"
+"\n"
+"Merci de prendre les mesures appropriées pour que le règlement intervienne "
+"dans les 8 prochains jours.\n"
+"\n"
+"S'il subsiste un problème avec le paiement de la facture dont nous n'avons "
+"pas été informé, n'hésitez pas à contacter notre service comptabilité au "
+"(+32) .12.34.56.78 afin que nous puissions le solutionner rapidement.\n"
+"\n"
+"Le détails de paiements dus est imprimé ci-dessous.\n"
+"\n"
+"Nous vous prions d’agréer, Madame, Monsieur, nos respectueuses salutations.\n"
#. module: account_followup
#: field:account_followup.followup,company_id:0
@@ -123,7 +143,7 @@ msgstr "Valeur erronée au crédit ou au débit de l'écriture comptable !"
#. module: account_followup
#: selection:account_followup.followup.line,start:0
msgid "Net Days"
-msgstr "Jour ouvrable"
+msgstr "Jours ouvrables"
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.action_account_followup_definition_form
@@ -340,6 +360,8 @@ msgid ""
"Your description is invalid, use the right legend or %% if you want to use "
"the percent character."
msgstr ""
+"Votre description n'est pas correcte, utilisez une légende exacte ou %% si "
+"vous souhaitez utiliser le caractère pour cent."
#. module: account_followup
#: constraint:account.move.line:0
@@ -449,7 +471,7 @@ msgstr "Envoyer un Message de confirmation"
#. module: account_followup
#: report:account_followup.followup.print:0
msgid "Total:"
-msgstr "Total:"
+msgstr "Total :"
#. module: account_followup
#: constraint:res.company:0
@@ -529,7 +551,7 @@ msgstr "Rapport des Relances"
#. module: account_followup
#: view:account_followup.followup.line:0
msgid "Follow-Up Steps"
-msgstr ""
+msgstr "Niveaux de relance"
#. module: account_followup
#: field:account_followup.stat,period_id:0
@@ -561,7 +583,7 @@ msgstr "Niveau de relance maximal"
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.action_view_account_followup_followup_form
msgid "Review Invoicing Follow-Ups"
-msgstr ""
+msgstr "Définir les relances"
#. module: account_followup
#: constraint:account.move.line:0
@@ -576,6 +598,11 @@ msgid ""
"code to adapt the email content to the good context (good name, good date) "
"and you can manage the multi language of messages."
msgstr ""
+"Définissez les niveaux de relance, leur message et leur déclenchement. Pour "
+"chaque étape, spécifiez le message et le nombre de jours avant la relance. "
+"Utilisez la légende pour connaître le code à utiliser pour adapter "
+"dynamiquement le contenu du courriel (nom, date). Vous pouvez aussi gérer "
+"la langue des messages en fonction des destinataires."
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.act_account_partner_account_move_payable_all
@@ -590,6 +617,10 @@ msgid ""
"\n"
"%s"
msgstr ""
+"Aucun courriel n'a été envoyé aux partenaires suivants. Leur adresse de "
+"courriel n'est pas renseignée !\n"
+"\n"
+"%s"
#. module: account_followup
#: view:account.followup.print.all:0
@@ -605,7 +636,7 @@ msgstr "%(date)s: Date Courante"
#. module: account_followup
#: view:account_followup.stat:0
msgid "Including journal entries marked as a litigation"
-msgstr ""
+msgstr "Inclure les écritures marquées comme litigieuses"
#. module: account_followup
#: view:account_followup.stat:0
@@ -621,7 +652,7 @@ msgstr "Description"
#. module: account_followup
#: constraint:account_followup.followup:0
msgid "Only One Followup by Company."
-msgstr ""
+msgstr "Une seule relance par société"
#. module: account_followup
#: view:account_followup.stat:0
@@ -715,11 +746,26 @@ msgid ""
"\n"
"Best Regards,\n"
msgstr ""
+"\n"
+"Cher% (partner_name)s,\n"
+"\n"
+"Malgré plusieurs rappels, votre compte est toujours débiteur.\n"
+"\n"
+"A moins d'un paiement intégral effectué dans les 8 prochains jours, une "
+"action pour le recouvrement de la dette sera entreprise sans autre avis.\n"
+"\n"
+"Je suis convaincu que cette action se révélera inutile. Le détails des "
+"sommes dues est imprimé ci-dessous.\n"
+"\n"
+"En cas de question concernant cette situation, n'hésitez pas à contacter "
+"notre service comptabilité au (+32) .12.34.56.78.\n"
+"\n"
+"Cordialement,\n"
#. module: account_followup
#: constraint:account.move.line:0
msgid "You can not create journal items on closed account."
-msgstr ""
+msgstr "Vous ne pouvez pas passer d'écritures sur un compte clôturé."
#. module: account_followup
#: view:account.followup.print.all:0
@@ -744,7 +790,7 @@ msgstr "Réf. Client"
#. module: account_followup
#: field:account.followup.print.all,test_print:0
msgid "Test Print"
-msgstr ""
+msgstr "Tester l'impression"
#. module: account_followup
#: view:account.followup.print.all:0
diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py
index f2cffdf27cd..9ca30aed099 100644
--- a/addons/account_voucher/account_voucher.py
+++ b/addons/account_voucher/account_voucher.py
@@ -780,7 +780,7 @@ class account_voucher(osv.osv):
def proforma_voucher(self, cr, uid, ids, context=None):
self.action_move_line_create(cr, uid, ids, context=context)
- return True
+ return {'type': 'ir.actions.act_window_close'}
def action_cancel_draft(self, cr, uid, ids, context=None):
wf_service = netsvc.LocalService("workflow")
diff --git a/addons/account_voucher/account_voucher_pay_invoice.xml b/addons/account_voucher/account_voucher_pay_invoice.xml
index 345241cb4ee..da669ad04ee 100644
--- a/addons/account_voucher/account_voucher_pay_invoice.xml
+++ b/addons/account_voucher/account_voucher_pay_invoice.xml
@@ -8,7 +8,7 @@
<field name="inherit_id" ref="account.invoice_form"/>
<field name="arch" type="xml">
<button name="invoice_open" position="after">
- <button name="invoice_pay_customer" type="object" string="Payment" states="open" icon="gtk-go-forward"/>
+ <button name="invoice_pay_customer" type="object" string="Register Payment" states="open" icon="gtk-go-forward"/>
</button>
</field>
</record>
@@ -19,7 +19,7 @@
<field name="inherit_id" ref="account.invoice_supplier_form"/>
<field name="arch" type="xml">
<button name="invoice_open" position="after">
- <button name="invoice_pay_customer" type="object" string="Pay Invoice" states="open" icon="gtk-go-forward"/>
+ <button name="invoice_pay_customer" type="object" string="Pay" states="open" icon="gtk-go-forward"/>
</button>
</field>
</record>
diff --git a/addons/account_voucher/account_voucher_view.xml b/addons/account_voucher/account_voucher_view.xml
index 349d4e70ed7..3b33143648b 100644
--- a/addons/account_voucher/account_voucher_view.xml
+++ b/addons/account_voucher/account_voucher_view.xml
@@ -43,7 +43,7 @@
<form layout="manual">
<div class="oe_form_topbar">
<button name="proforma_voucher" string="Post" states="draft"/>
- <button name="cancel_voucher" string="Cancel" type="object" states="posted" confirm="Are you sure to unreconcile this record ?"/>
+ <button name="cancel_voucher" string="Cancel" type="object" states="posted" confirm="Are you sure to unreconcile this record?"/>
<button name="cancel_voucher" string="Cancel" states="draft,proforma" />
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft"/>
<div class="oe_right">
diff --git a/addons/account_voucher/invoice.py b/addons/account_voucher/invoice.py
index b108bc14fe3..006a622e25f 100644
--- a/addons/account_voucher/invoice.py
+++ b/addons/account_voucher/invoice.py
@@ -36,7 +36,7 @@ class invoice(osv.osv):
'res_model': 'account.voucher',
'type': 'ir.actions.act_window',
'nodestroy': True,
- 'target': 'current',
+ 'target': 'new',
'domain': '[]',
'context': {
'default_partner_id': inv.partner_id.id,
diff --git a/addons/analytic_journal_billing_rate/i18n/lv.po b/addons/analytic_journal_billing_rate/i18n/lv.po
new file mode 100644
index 00000000000..01b645557dd
--- /dev/null
+++ b/addons/analytic_journal_billing_rate/i18n/lv.po
@@ -0,0 +1,79 @@
+# Latvian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:35+0000\n"
+"PO-Revision-Date: 2012-05-28 13:45+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Latvian <lv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-29 04:46+0000\n"
+"X-Generator: Launchpad (build 15316)\n"
+
+#. module: analytic_journal_billing_rate
+#: sql_constraint:account.invoice:0
+msgid "Invoice Number must be unique per Company!"
+msgstr ""
+
+#. module: analytic_journal_billing_rate
+#: field:analytic_journal_rate_grid,journal_id:0
+msgid "Analytic Journal"
+msgstr ""
+
+#. module: analytic_journal_billing_rate
+#: constraint:account.invoice:0
+msgid "Invalid BBA Structured Communication !"
+msgstr ""
+
+#. module: analytic_journal_billing_rate
+#: view:analytic_journal_rate_grid:0
+msgid "Billing Rate per Journal for this Analytic Account"
+msgstr ""
+
+#. module: analytic_journal_billing_rate
+#: field:analytic_journal_rate_grid,account_id:0
+#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
+msgid "Analytic Account"
+msgstr ""
+
+#. module: analytic_journal_billing_rate
+#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
+msgid "Relation table between journals and billing rates"
+msgstr ""
+
+#. module: analytic_journal_billing_rate
+#: field:account.analytic.account,journal_rate_ids:0
+msgid "Invoicing Rate per Journal"
+msgstr ""
+
+#. module: analytic_journal_billing_rate
+#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
+msgid "Invoice"
+msgstr ""
+
+#. module: analytic_journal_billing_rate
+#: constraint:hr.analytic.timesheet:0
+msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
+msgstr ""
+
+#. module: analytic_journal_billing_rate
+#: field:analytic_journal_rate_grid,rate_id:0
+msgid "Invoicing Rate"
+msgstr ""
+
+#. module: analytic_journal_billing_rate
+#: constraint:account.analytic.account:0
+msgid "Error! You can not create recursive analytic accounts."
+msgstr ""
+
+#. module: analytic_journal_billing_rate
+#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
+msgid "Timesheet Line"
+msgstr ""
diff --git a/addons/auction/i18n/pt.po b/addons/auction/i18n/pt.po
new file mode 100644
index 00000000000..8ecba7f56b6
--- /dev/null
+++ b/addons/auction/i18n/pt.po
@@ -0,0 +1,2946 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# * auction
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 6.0dev\n"
+"Report-Msgid-Bugs-To: support@openerp.com\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-31 15:15+0000\n"
+"Last-Translator: ThinkOpen Solutions <Unknown>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: auction
+#: model:ir.ui.menu,name:auction.auction_report_menu
+msgid "Reporting"
+msgstr "Relatório"
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_taken
+msgid "Auction taken"
+msgstr "Ação tomada"
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Set to draft"
+msgstr "Definir como Rascunho"
+
+#. module: auction
+#: view:auction.deposit:0
+#: field:auction.deposit,partner_id:0
+#: field:auction.lots,seller_id:0
+#: view:report.auction:0
+#: field:report.auction,seller:0
+msgid "Seller"
+msgstr "Vendedor"
+
+#. module: auction
+#: field:auction.lots,name:0
+msgid "Title"
+msgstr "Título"
+
+#. module: auction
+#: field:auction.lots.sms.send,text:0
+msgid "SMS Message"
+msgstr "Mensagem SMS"
+
+#. module: auction
+#: view:auction.catalog.flagey:0
+#: view:auction.lots.auction.move:0
+#: view:auction.lots.make.invoice.buyer:0
+msgid " "
+msgstr " "
+
+#. module: auction
+#: view:auction.lots.auction.move:0
+msgid "Warning, Erase The Object Adjudication Price and Its Buyer!"
+msgstr "Atenção, apague o Preço de Adjudicação do objeto e o seu comprador!"
+
+#. module: auction
+#: help:auction.pay.buy,statement_id1:0
+msgid "First Bank Statement For Buyer"
+msgstr "Primeiro estrato bancário para o comprador"
+
+#. module: auction
+#: field:auction.bid_line,lot_id:0
+#: field:auction.lot.history,lot_id:0
+msgid "Object"
+msgstr "Objeto"
+
+#. module: auction
+#: field:report.auction.object.date,obj_num:0
+msgid "# of Objects"
+msgstr "Número de objetos"
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Authors"
+msgstr "Autores"
+
+#. module: auction
+#: view:auction.bid:0
+#: report:auction.bids:0
+#: view:auction.lots:0
+#: field:auction.lots,ach_uid:0
+#: field:auction.lots.buyer_map,ach_uid:0
+#: field:auction.lots.make.invoice.buyer,buyer_id:0
+#: field:auction.pay.buy,buyer_id:0
+#: report:buyer.list:0
+#: view:report.auction:0
+#: field:report.auction,buyer:0
+#: report:report.auction.buyer.result:0
+msgid "Buyer"
+msgstr "Comprador"
+
+#. module: auction
+#: field:report.auction,object:0
+msgid "No of objects"
+msgstr "Número de objetos"
+
+#. module: auction
+#: help:auction.lots,paid_vnd:0
+msgid ""
+"When state of Seller Invoice is 'Paid', this field is selected as True."
+msgstr ""
+"Quando o estado da fatura da Loja é 'pago', este campo é selecionado como "
+"True."
+
+#. module: auction
+#: report:auction.total.rml:0
+msgid "# of paid items (based on invoices):"
+msgstr "Número de items pagos (com base nas faturas)"
+
+#. module: auction
+#: view:auction.deposit:0
+msgid "Deposit Border"
+msgstr "Limite do Depósito"
+
+#. module: auction
+#: field:auction.lots.make.invoice,amount:0
+#: field:auction.lots.make.invoice.buyer,amount:0
+msgid "Invoiced Amount"
+msgstr "Montante Faturado"
+
+#. module: auction
+#: help:auction.lots,name:0
+msgid "Auction object name"
+msgstr "Nome do objeto leilão"
+
+#. module: auction
+#: model:ir.model,name:auction.model_aie_category
+msgid "aie.category"
+msgstr "aie.category"
+
+#. module: auction
+#: field:auction.deposit.cost,amount:0
+#: field:auction.pay.buy,amount:0
+#: field:auction.pay.buy,amount2:0
+#: field:auction.pay.buy,amount3:0
+msgid "Amount"
+msgstr "Montante"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.action_deposit_border
+#: model:ir.ui.menu,name:auction.menu_auction_deposit_border
+msgid "Deposit border"
+msgstr "Limite do Depósito"
+
+#. module: auction
+#: view:auction.deposit:0
+msgid "Reference"
+msgstr "Referência"
+
+#. module: auction
+#: help:auction.dates,state:0
+msgid ""
+"When auction starts the state is 'Draft'.\n"
+" At the end of auction, the state becomes 'Closed'."
+msgstr ""
+"Quando um leilão começa, o seu estado é 'Rascunho'\n"
+" No fim do leilão, o estado passa a 'Fechado'"
+
+#. module: auction
+#: field:auction.dates,account_analytic_id:0
+msgid "Analytic Account"
+msgstr "Conta Analítica"
+
+#. module: auction
+#: help:auction.pay.buy,amount3:0
+msgid "Amount For Third Bank Statement"
+msgstr "Montante para o terceiro extrato bancário"
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Buy object"
+msgstr "Comprar Objeto"
+
+#. module: auction
+#: field:auction.lots,lot_num:0
+msgid "List Number"
+msgstr "Número da Lista"
+
+#. module: auction
+#: report:buyer.list:0
+msgid "Date:"
+msgstr "Data:"
+
+#. module: auction
+#: field:auction.deposit.cost,name:0
+msgid "Cost Name"
+msgstr "Nome do Custo"
+
+#. module: auction
+#: view:auction.dates:0
+#: field:auction.dates,state:0
+#: view:auction.lots:0
+#: field:auction.lots,state:0
+#: view:report.auction:0
+#: field:report.auction,state:0
+msgid "State"
+msgstr "Estado"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "First Auction Date"
+msgstr "Primeira Data do Leilão"
+
+#. module: auction
+#: selection:report.auction,month:0
+msgid "January"
+msgstr "Janeiro"
+
+#. module: auction
+#: help:auction.lot.category,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the auction "
+"lot category without removing it."
+msgstr ""
+"Se o campo ativo é definido como Falso, ele permitirá que oculte o lote da "
+"categoria leilão sem o remover."
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Ref"
+msgstr "Ref"
+
+#. module: auction
+#: field:report.auction,total_price:0
+msgid "Total Price"
+msgstr "Preço Total"
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Total Adj."
+msgstr "Total Adj."
+
+#. module: auction
+#: view:auction.lots.sms.send:0
+msgid "SMS - Gateway: clickatell','Bulk SMS Send"
+msgstr ""
+
+#. module: auction
+#: help:auction.lots,costs:0
+msgid "Deposit cost"
+msgstr "Custo de depósito"
+
+#. module: auction
+#: selection:auction.lots,state:0
+#: selection:report.auction,state:0
+#: selection:report.object.encoded,state:0
+msgid "Unsold"
+msgstr "Não vendido"
+
+#. module: auction
+#: view:auction.deposit:0
+msgid "Search Auction deposit"
+msgstr "Pesquisar depósito do leilão"
+
+#. module: auction
+#: help:auction.lots,lot_num:0
+msgid "List number in depositer inventory"
+msgstr "Número da lista no inventário do depósito"
+
+#. module: auction
+#: report:auction.total.rml:0
+msgid "Items"
+msgstr "Items"
+
+#. module: auction
+#: model:account.tax,name:auction.auction_tax5
+#: field:auction.dates,seller_costs:0
+msgid "Seller Costs"
+msgstr "Custos do Vendedor"
+
+#. module: auction
+#: view:auction.bid:0
+#: view:auction.bid_line:0
+#: view:auction.lots:0
+#: field:auction.lots,bid_lines:0
+#: model:ir.actions.report.xml,name:auction.bid_auction
+#: model:ir.ui.menu,name:auction.menu_action_bid_open
+msgid "Bids"
+msgstr "Licitações"
+
+#. module: auction
+#: field:report.auction,gross_revenue:0
+msgid "Gross Revenue"
+msgstr "Receita Bruta"
+
+#. module: auction
+#: view:auction.lots.buyer_map:0
+msgid "Buyer Map"
+msgstr "Mapa do Comprador"
+
+#. module: auction
+#: field:report.object.encoded,obj_ret:0
+msgid "# obj ret"
+msgstr "# obj ret"
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_bid
+msgid "Bid Auctions"
+msgstr "Licitações"
+
+#. module: auction
+#: help:auction.lots,image:0
+msgid "Object Image"
+msgstr "Imagem do Objeto"
+
+#. module: auction
+#: code:addons/auction/wizard/auction_lots_buyer_map.py:70
+#, python-format
+msgid "No buyer is set for this lot."
+msgstr "Nenhum comprador está definido para este lote."
+
+#. module: auction
+#: code:addons/auction/auction.py:578
+#, python-format
+msgid "The Buyer \"%s\" has no Invoice Address."
+msgstr "O comprador \"%s\" não tem um endereço de faturação"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.action_auction_object_categories
+msgid "Auction object Categories"
+msgstr "Categorias do objeto do leilão"
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_deposit_cost
+msgid "Auction Deposit Cost"
+msgstr "Custo Depósito Leilão"
+
+#. module: auction
+#: view:auction.deposit:0
+msgid "Deposit Border Form"
+msgstr "Formulário do Limite do Depósito"
+
+#. module: auction
+#: help:auction.lots,statement_id:0
+msgid "Bank statement line for given buyer"
+msgstr "Linha do Extrato Bancário para um Determinado Comprador"
+
+#. module: auction
+#: field:auction.lot.category,aie_categ:0
+msgid "Category"
+msgstr "Categori­a"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.action_view_auction_buyer_map
+msgid "Map buyer username to Partners"
+msgstr "Mapa do comprador nome de utilizador para Parceiros"
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Search Auction Lots"
+msgstr "Pesquisar lotes do leilão"
+
+#. module: auction
+#: field:report.auction,net_revenue:0
+msgid "Net Revenue"
+msgstr "Receita líquida"
+
+#. module: auction
+#: field:report.auction.adjudication,state:0
+#: field:report.object.encoded,state:0
+msgid "Status"
+msgstr "Estado"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.action_auction_lots_sms_send
+msgid "SMS Send"
+msgstr "Enviar SMS"
+
+#. module: auction
+#: selection:report.auction,month:0
+msgid "August"
+msgstr "Agosto"
+
+#. module: auction
+#: view:auction.lots:0
+#: selection:auction.lots,state:0
+#: view:report.auction:0
+#: selection:report.auction,state:0
+msgid "Sold"
+msgstr "Vendido"
+
+#. module: auction
+#: selection:report.auction,month:0
+msgid "June"
+msgstr "Junho"
+
+#. module: auction
+#: code:addons/auction/wizard/auction_catalog_flagey_report.py:63
+#, python-format
+msgid "No Lots belong to this Auction Date"
+msgstr "Sem Lotes pertencentes a esta Data do Leilão"
+
+#. module: auction
+#: view:auction.lots:0
+msgid "New Object"
+msgstr "Novo Objeto"
+
+#. module: auction
+#: selection:report.auction,month:0
+msgid "October"
+msgstr "Outubro"
+
+#. module: auction
+#: field:auction.bid_line,name:0
+msgid "Bid date"
+msgstr "Data da Licitação"
+
+#. module: auction
+#: field:auction.dates,acc_expense:0
+msgid "Expense Account"
+msgstr "Conta de Despesas"
+
+#. module: auction
+#: model:ir.ui.menu,name:auction.menu_wizard_emporte
+msgid "Deliveries Management"
+msgstr "Gestão de Entregas"
+
+#. module: auction
+#: field:auction.lots,obj_desc:0
+msgid "Object Description"
+msgstr "Descrição do Objeto"
+
+#. module: auction
+#: field:auction.lots,artist2_id:0
+msgid "Artist/Author2"
+msgstr "Artista / Autor2"
+
+#. module: auction
+#: view:auction.pay.buy:0
+msgid "Line1"
+msgstr "Linha1"
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_lots_make_invoice_buyer
+msgid "Make Invoice for Buyer"
+msgstr "Criar Fatura para o Comprador"
+
+#. module: auction
+#: field:auction.lots,gross_revenue:0
+#: field:report.object.encoded,gross_revenue:0
+msgid "Gross revenue"
+msgstr "Receita Bruta"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.action_auction_pay_buy
+msgid "Pay objects of the buyer"
+msgstr "Objetos pagos pelo comprador"
+
+#. module: auction
+#: help:auction.dates,auction2:0
+msgid "End date of auction"
+msgstr "Data de fim do leilão"
+
+#. module: auction
+#: view:auction.lots.sms.send:0
+msgid "Send SMS"
+msgstr "Enviar SMS"
+
+#. module: auction
+#: field:auction.lots,name2:0
+msgid "Short Description (2)"
+msgstr "Pequena descrição (2)"
+
+#. module: auction
+#: report:auction.total.rml:0
+#: model:ir.ui.menu,name:auction.auction_buyers_menu
+msgid "Buyers"
+msgstr "Compradores"
+
+#. module: auction
+#: view:auction.lots:0
+#: view:report.auction:0
+msgid "Object Category"
+msgstr "Categoria do Objeto"
+
+#. module: auction
+#: model:account.tax.code,name:auction.account_tax_code_id4
+msgid "VAT 12%"
+msgstr "IVA 12%"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Buyer Invoices"
+msgstr "Faturas de Compradores"
+
+#. module: auction
+#: model:ir.actions.report.xml,name:auction.res_w_buyer
+msgid "Results with buyer"
+msgstr "Resultados com o comprador"
+
+#. module: auction
+#: field:auction.bid_line,price:0
+msgid "Maximum Price"
+msgstr "Preço máximo"
+
+#. module: auction
+#: help:auction.dates,auction1:0
+msgid "Start date of auction"
+msgstr "Data de início do leilão"
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_lots_auction_move
+msgid "Auction Move"
+msgstr "Movimento Leilão"
+
+#. module: auction
+#: help:auction.dates,buyer_costs:0
+msgid "Account tax for buyer"
+msgstr "Imposto Conta para Comprador"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Next Auction"
+msgstr "Próximo Leilão"
+
+#. module: auction
+#: view:auction.taken:0
+msgid "Select lots which are Sold"
+msgstr "Selecionar os lotes que são vendidos"
+
+#. module: auction
+#: field:auction.lots,statement_id:0
+msgid "Payment"
+msgstr "Pagamento"
+
+#. module: auction
+#: code:addons/auction/auction.py:571
+#: code:addons/auction/auction.py:686
+#, python-format
+msgid "The object \"%s\" has no buyer assigned."
+msgstr "O objeto \"%s\" não tem comprador atribuído"
+
+#. module: auction
+#: selection:auction.deposit,method:0
+msgid "Keep until sold"
+msgstr "Manter até ser vendido"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Last Auction Date"
+msgstr "Data do último leilão"
+
+#. module: auction
+#: field:report.object.encoded,obj_num:0
+msgid "# of Encoded obj."
+msgstr "Número de objetos codificados"
+
+#. module: auction
+#: field:auction.lots,paid_vnd:0
+msgid "Seller Paid"
+msgstr "Vendedor Pago"
+
+#. module: auction
+#: view:board.board:0
+#: view:report.object.encoded:0
+msgid "Objects statistics"
+msgstr "Estatísticas dos Objetos"
+
+#. module: auction
+#: report:auction.total.rml:0
+msgid "# of sellers:"
+msgstr "# de vendedores"
+
+#. module: auction
+#: field:report.auction,date:0
+#: field:report.object.encoded,date:0
+msgid "Create Date"
+msgstr "Data de Criação"
+
+#. module: auction
+#: view:auction.dates:0
+#: selection:report.object.encoded,state:0
+msgid "Invoiced"
+msgstr "Faturado"
+
+#. module: auction
+#: report:auction.total.rml:0
+msgid "# of items taken away:"
+msgstr "Número de items retirados:"
+
+#. module: auction
+#: model:ir.model,name:auction.model_report_auction
+#: view:report.auction:0
+msgid "Auction's Summary"
+msgstr "Resumos de Leilões"
+
+#. module: auction
+#: report:buyer.list:0
+msgid "%)"
+msgstr "%)"
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Buyer Information"
+msgstr "Informação sobre o comprador"
+
+#. module: auction
+#: help:auction.lots,gross_revenue:0
+msgid "Buyer Price - Seller Price"
+msgstr "Preço Comprador - Preço Vendedor"
+
+#. module: auction
+#: field:auction.lots.make.invoice,objects:0
+#: field:auction.lots.make.invoice.buyer,objects:0
+msgid "# of objects"
+msgstr "# de objetos"
+
+#. module: auction
+#: field:auction.lots,lot_est2:0
+msgid "Maximum Estimation"
+msgstr "Estimativa máxima"
+
+#. module: auction
+#: field:auction.lots,buyer_price:0
+msgid "Buyer price"
+msgstr "Preço do Comprador"
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Bids Details"
+msgstr "Pormenores das licitações"
+
+#. module: auction
+#: field:auction.lots,is_ok:0
+msgid "Buyer's payment"
+msgstr "Pagamento do Comprador"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "End of auction"
+msgstr "Fim do Leilão"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.action_auction_catalog_flagey_wizard
+#: model:ir.model,name:auction.model_auction_catalog_flagey
+msgid "Auction Catalog Flagey"
+msgstr "Catálogo de leilão flagey"
+
+#. module: auction
+#: selection:report.auction,month:0
+msgid "March"
+msgstr "Março"
+
+#. module: auction
+#: model:account.tax,name:auction.auction_tax4
+msgid "Seller Costs1"
+msgstr "Custos do vendedor 1"
+
+#. module: auction
+#: field:auction.deposit,create_uid:0
+#: field:auction.lots,create_uid:0
+msgid "Created by"
+msgstr "Criado por"
+
+#. module: auction
+#: report:auction.total.rml:0
+msgid "# of buyers:"
+msgstr "Número de compradores:"
+
+#. module: auction
+#: field:auction.lots,costs:0
+msgid "Indirect costs"
+msgstr "Custos indiretos"
+
+#. module: auction
+#: help:auction.dates,seller_costs:0
+msgid "Account tax for seller"
+msgstr "Imposto Conta para Vendedor"
+
+#. module: auction
+#: code:addons/auction/wizard/auction_lots_invoice.py:67
+#: code:addons/auction/wizard/auction_lots_numerotate.py:103
+#: code:addons/auction/wizard/auction_lots_numerotate.py:129
+#, python-format
+msgid "UserError"
+msgstr "Erro do Utilizador"
+
+#. module: auction
+#: field:auction.dates,journal_seller_id:0
+msgid "Seller Journal"
+msgstr "Diário do Vendedor"
+
+#. module: auction
+#: view:auction.dates:0
+#: selection:auction.dates,state:0
+#: view:auction.lots:0
+#: selection:auction.lots,state:0
+#: view:report.auction:0
+#: selection:report.auction,state:0
+#: selection:report.auction.adjudication,state:0
+#: selection:report.object.encoded,state:0
+msgid "Draft"
+msgstr "Rascunho"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Invoiced Auction"
+msgstr "Leilão faturado"
+
+#. module: auction
+#: view:auction.catalog.flagey:0
+msgid "Print"
+msgstr "Imprimir"
+
+#. module: auction
+#: view:auction.lots:0
+#: view:report.auction:0
+msgid "Type"
+msgstr "Tipo"
+
+#. module: auction
+#: help:aie.category,child_ids:0
+msgid "children aie category"
+msgstr ""
+
+#. module: auction
+#: help:auction.lots,ach_emp:0
+msgid "When state is Taken Away, this field is marked as True"
+msgstr ""
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.action_auction_taken
+msgid "Gestion emporte"
+msgstr "Substituição de Gestão"
+
+#. module: auction
+#: view:auction.bid:0
+#: report:auction.bids:0
+#: view:auction.dates:0
+#: view:auction.lots:0
+#: field:auction.lots,auction_id:0
+#: report:auction.total.rml:0
+#: model:ir.module.category,name:auction.module_category_auction
+#: model:ir.ui.menu,name:auction.auction_menu_root
+#: view:report.auction:0
+msgid "Auction"
+msgstr "Leilão"
+
+#. module: auction
+#: view:auction.lot.category:0
+#: model:ir.ui.menu,name:auction.menu_auction_object_cat
+msgid "Object Categories"
+msgstr "Categoria de objetos"
+
+#. module: auction
+#: field:auction.lots.sms.send,app_id:0
+msgid "API ID"
+msgstr "ID da API"
+
+#. module: auction
+#: field:auction.bid,name:0
+#: field:auction.bid_line,bid_id:0
+msgid "Bid ID"
+msgstr "ID da licitação"
+
+#. module: auction
+#: report:auction.total.rml:0
+msgid "Min Estimate:"
+msgstr "Estimativa mínima:"
+
+#. module: auction
+#: selection:report.auction,month:0
+msgid "September"
+msgstr "Setembro"
+
+#. module: auction
+#: field:report.auction,net_margin:0
+msgid "Net Margin"
+msgstr "Margem líquida"
+
+#. module: auction
+#: field:auction.lots,vnd_lim_net:0
+msgid "Net limit ?"
+msgstr "Net Limite?"
+
+#. module: auction
+#: field:aie.category,child_ids:0
+msgid "unknown"
+msgstr "desconhecido"
+
+#. module: auction
+#: report:auction.total.rml:0
+msgid "# of commissions:"
+msgstr "Número de comissões"
+
+#. module: auction
+#: field:auction.bid_line,auction:0
+#: field:auction.dates,name:0
+msgid "Auction Name"
+msgstr "Nome do Leilão"
+
+#. module: auction
+#: model:account.tax,name:auction.tax_seller
+msgid "Seller Costs (12%)"
+msgstr "Custos Vendedor (12%)"
+
+#. module: auction
+#: field:aie.category,parent_id:0
+msgid "Parent aie Category"
+msgstr ""
+
+#. module: auction
+#: view:report.auction:0
+msgid "Auction Summary"
+msgstr "Resumo do leilão"
+
+#. module: auction
+#: view:auction.lots.make.invoice:0
+#: view:auction.lots.make.invoice.buyer:0
+msgid "(Keep empty for automatic number)"
+msgstr "(Manter vazio para numerar automaticamente)"
+
+#. module: auction
+#: code:addons/auction/auction.py:578
+#, python-format
+msgid "No Invoice Address"
+msgstr "Sem endereço de faturação"
+
+#. module: auction
+#: model:ir.actions.report.xml,name:auction.v_huissier
+msgid "Bailiffs Listing"
+msgstr "Listagem de oficiais de justiça"
+
+#. module: auction
+#: code:addons/auction/wizard/auction_lots_numerotate.py:103
+#: code:addons/auction/wizard/auction_lots_numerotate.py:129
+#, python-format
+msgid "This record does not exist !"
+msgstr "Este registo não existe!"
+
+#. module: auction
+#: field:auction.pay.buy,total:0
+msgid "Total Amount"
+msgstr "Montante total"
+
+#. module: auction
+#: help:auction.pay.buy,amount:0
+msgid "Amount For First Bank Statement"
+msgstr "Montante para primeiro extrato bancário"
+
+#. module: auction
+#: model:ir.model,name:auction.model_report_auction_object_date
+#: view:report.auction.object.date:0
+msgid "Objects per day"
+msgstr "Objetos, por dia"
+
+#. module: auction
+#: help:auction.lots,author_right:0
+msgid "Account tax for author commission"
+msgstr ""
+
+#. module: auction
+#: model:product.template,name:auction.monproduit_product_template
+msgid "Oeuvres a 21%"
+msgstr "Obras a 21%"
+
+#. module: auction
+#: field:report.object.encoded,adj:0
+msgid "Adj."
+msgstr "Adj."
+
+#. module: auction
+#: field:auction.lot.history,name:0
+#: field:report.auction.adjudication,date:0
+msgid "Date"
+msgstr "Data"
+
+#. module: auction
+#: field:auction.lots,obj_ret:0
+msgid "Price retired"
+msgstr "Preço retirado"
+
+#. module: auction
+#: view:auction.deposit:0
+msgid "Extra Costs"
+msgstr "Custos extras"
+
+#. module: auction
+#: view:auction.lots.buyer_map:0
+msgid "Map "
+msgstr "Mapa "
+
+#. module: auction
+#: field:auction.lots,paid_ach:0
+msgid "Buyer Invoice Reconciled"
+msgstr "Fatura de comprador reconciliada"
+
+#. module: auction
+#: field:auction.deposit,date_dep:0
+msgid "Deposit date"
+msgstr "Data de depósito"
+
+#. module: auction
+#: model:ir.actions.report.xml,name:auction.id_deposit
+msgid "Deposits"
+msgstr "Depósitos"
+
+#. module: auction
+#: field:auction.deposit,specific_cost_ids:0
+msgid "Specific Costs"
+msgstr "Custos específicos"
+
+#. module: auction
+#: report:buyer.list:0
+msgid "To pay ("
+msgstr "Para pagar ("
+
+#. module: auction
+#: model:account.tax,name:auction.tax_buyer
+msgid "Buyer Costs (20%)"
+msgstr "Custos Comprador (20%)"
+
+#. module: auction
+#: model:ir.ui.menu,name:auction.menu_board_auction
+msgid "Dashboard"
+msgstr "Painel de Controlo"
+
+#. module: auction
+#: view:auction.dates:0
+#: model:ir.actions.act_window,name:auction.action_auction_dates_next
+#: model:ir.ui.menu,name:auction.auction_date_menu
+#: model:ir.ui.menu,name:auction.menu_auction_dates_next1
+msgid "Auctions"
+msgstr "Leilões"
+
+#. module: auction
+#: view:board.board:0
+msgid "Total Adjudications"
+msgstr "Adjudicação Total"
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_lots_make_invoice
+msgid "Make invoice"
+msgstr "Criar Fatura"
+
+#. module: auction
+#: selection:report.auction,month:0
+msgid "November"
+msgstr "Novembro"
+
+#. module: auction
+#: view:auction.dates:0
+#: view:auction.lots:0
+msgid "History"
+msgstr "Histórico"
+
+#. module: auction
+#: field:aie.category,code:0
+msgid "Code"
+msgstr "Código"
+
+#. module: auction
+#: report:auction.code_bar_lot:0
+msgid "Nr."
+msgstr "Nº"
+
+#. module: auction
+#: model:ir.actions.report.xml,name:auction.v_report_barcode_lot
+msgid "Barcode batch"
+msgstr "Código de Barras do Lote"
+
+#. module: auction
+#: report:report.auction.buyer.result:0
+msgid "Num"
+msgstr "Nº"
+
+#. module: auction
+#: view:auction.catalog.flagey:0
+#: view:auction.taken:0
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Buyer's Payment History"
+msgstr "Histórico de Pagamento do Comprador"
+
+#. module: auction
+#: view:auction.artists:0
+#: field:auction.artists,biography:0
+msgid "Biography"
+msgstr "Biografia"
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Inventory"
+msgstr "Inventário"
+
+#. module: auction
+#: view:auction.pay.buy:0
+msgid "Pay"
+msgstr "Pagar"
+
+#. module: auction
+#: view:auction.lots.make.invoice:0
+msgid "Create Invoices for Seller"
+msgstr "Criar faturas para o vendedor"
+
+#. module: auction
+#: field:report.object.encoded,obj_margin:0
+msgid "Net margin"
+msgstr "Margem líquida"
+
+#. module: auction
+#: help:auction.lots,lot_local:0
+msgid "Auction Location"
+msgstr "Local do leilão"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Analytic"
+msgstr "Analítica"
+
+#. module: auction
+#: help:auction.lots,paid_ach:0
+msgid ""
+"When state of Buyer Invoice is 'Paid', this field is selected as True."
+msgstr ""
+"Quando o estado da fatura do Comprador está 'Pago', este campo é selecionado "
+"como True."
+
+#. module: auction
+#: report:bids.lots:0
+#: report:bids.phones.details:0
+msgid "Cat.N"
+msgstr "Cat.N"
+
+#. module: auction
+#: selection:auction.deposit,method:0
+msgid "Decrease limit of 10%"
+msgstr "Diminuição limite de 10%"
+
+#. module: auction
+#: field:auction.dates,adj_total:0
+#: field:report.auction.adjudication,adj_total:0
+msgid "Total Adjudication"
+msgstr "Adjudicação total"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.action_auction_lots_make_invoice_buyer
+msgid "Invoice Buyer objects"
+msgstr "Fatura de objetos comprados"
+
+#. module: auction
+#: view:report.auction:0
+msgid "My Auction"
+msgstr "O meu leilão"
+
+#. module: auction
+#: help:auction.lots,gross_margin:0
+msgid "(Gross Revenue*100.0)/ Object Price"
+msgstr ""
+
+#. module: auction
+#: field:auction.bid,contact_tel:0
+msgid "Contact Number"
+msgstr "Número para contato"
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Price"
+msgstr "Preço"
+
+#. module: auction
+#: report:bids.phones.details:0
+msgid "-"
+msgstr "-"
+
+#. module: auction
+#: view:auction.deposit:0
+msgid "Photos"
+msgstr "Fotos"
+
+#. module: auction
+#: field:auction.lots.make.invoice,number:0
+#: field:auction.lots.make.invoice.buyer,number:0
+msgid "Invoice Number"
+msgstr "Número de Fatura"
+
+#. module: auction
+#: code:addons/auction/wizard/auction_lots_buyer_map.py:87
+#: code:addons/auction/wizard/auction_lots_numerotate.py:77
+#: code:addons/auction/wizard/auction_lots_numerotate.py:95
+#: code:addons/auction/wizard/auction_lots_numerotate.py:122
+#: code:addons/auction/wizard/auction_lots_numerotate.py:137
+#: code:addons/auction/wizard/auction_lots_numerotate.py:173
+#, python-format
+msgid "Active IDs not Found"
+msgstr "IDs ativos não encontrados"
+
+#. module: auction
+#: code:addons/auction/wizard/auction_aie_send.py:166
+#: code:addons/auction/wizard/auction_aie_send_result.py:117
+#, python-format
+msgid "Connection to WWW.Auction-in-Europe.com failed !"
+msgstr "A ligação a www.action-in-europe.com falhou!"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.act_auction_lot_open_bid
+#: model:ir.actions.act_window,name:auction.action_bid_open
+msgid "Open Bids"
+msgstr "Licitações abertas"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.open_board_auction
+msgid "Auction board"
+msgstr ""
+
+#. module: auction
+#: field:aie.category,name:0
+#: view:auction.artists:0
+#: report:bids.lots:0
+msgid "Name"
+msgstr "Nome"
+
+#. module: auction
+#: field:auction.deposit,name:0
+#: view:auction.lots:0
+#: field:auction.lots,bord_vnd_id:0
+msgid "Depositer Inventory"
+msgstr "Inventório do Depósito"
+
+#. module: auction
+#: code:addons/auction/auction.py:692
+#, python-format
+msgid "The Buyer has no Invoice Address."
+msgstr "O comprador não tem endereço de faturação."
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.action_report_auction_adjudication_tree
+msgid "Auction Adjudication Report"
+msgstr ""
+
+#. module: auction
+#: field:auction.lots.sms.send,user:0
+msgid "Login"
+msgstr "Iniciar sessão"
+
+#. module: auction
+#: model:ir.model,name:auction.model_report_auction_adjudication
+msgid "report_auction_adjudication"
+msgstr "report_auction_adjudication"
+
+#. module: auction
+#: model:ir.actions.report.xml,name:auction.seller_lots_3
+msgid "Seller Form"
+msgstr "Formulário do Vendedor"
+
+#. module: auction
+#: field:auction.lots,lot_type:0
+#: field:report.auction,lot_type:0
+msgid "Object category"
+msgstr "Categoria do objeto"
+
+#. module: auction
+#: view:auction.taken:0
+msgid "Mark Lots"
+msgstr "Marca de Lotes"
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_lots
+msgid "Auction Object"
+msgstr "Ação Objeto"
+
+#. module: auction
+#: field:auction.lots,obj_num:0
+#: field:auction.lots.enable,confirm_en:0
+msgid "Catalog Number"
+msgstr "Número de catálogo"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Accounting"
+msgstr "Contabilidade"
+
+#. module: auction
+#: model:ir.actions.report.xml,name:auction.bid_phone
+msgid "Bids phones"
+msgstr "Oferta de telefones"
+
+#. module: auction
+#: field:report.auction,avg_estimation:0
+msgid "Avg estimation"
+msgstr "Estimativa média"
+
+#. module: auction
+#: report:auction.total.rml:0
+msgid "Debit:"
+msgstr "Débito:"
+
+#. module: auction
+#: code:addons/auction/wizard/auction_aie_send.py:166
+#: code:addons/auction/wizard/auction_aie_send_result.py:116
+#: code:addons/auction/wizard/auction_lots_buyer_map.py:70
+#: code:addons/auction/wizard/auction_lots_numerotate.py:145
+#, python-format
+msgid "Error"
+msgstr "Erro"
+
+#. module: auction
+#: field:auction.lots,author_right:0
+msgid "Author rights"
+msgstr "Direitos de autor"
+
+#. module: auction
+#: view:auction.bid:0
+#: view:auction.dates:0
+#: view:auction.deposit:0
+#: view:auction.lots:0
+#: view:report.auction:0
+msgid "Group By..."
+msgstr "Agrupar por..."
+
+#. module: auction
+#: view:report.auction:0
+msgid "Auction during last month."
+msgstr "Leilão durante o último mês."
+
+#. module: auction
+#: help:auction.dates,journal_id:0
+msgid "Account journal for buyer"
+msgstr "Diário da conta para o comprador"
+
+#. module: auction
+#: field:auction.bid,bid_lines:0
+#: report:auction.bids:0
+#: report:bids.lots:0
+#: model:ir.model,name:auction.model_auction_bid_line
+msgid "Bid"
+msgstr "Licitação"
+
+#. module: auction
+#: view:report.object.encoded:0
+msgid "Total net rev."
+msgstr "Receita líquida total"
+
+#. module: auction
+#: view:auction.lots.buyer_map:0
+msgid "Update"
+msgstr "Atualizar"
+
+#. module: auction
+#: report:auction.total.rml:0
+#: model:ir.ui.menu,name:auction.auction_seller_menu
+msgid "Sellers"
+msgstr "Vendedores"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Draft Auction"
+msgstr "Rascunho Leilão"
+
+#. module: auction
+#: help:auction.lots,lot_est2:0
+msgid "Maximum Estimate Price"
+msgstr "Preço máximo estimado"
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Notes"
+msgstr "Notas"
+
+#. module: auction
+#: view:auction.lots.auction.move:0
+msgid "Move to Auction date"
+msgstr "Mudar para data de Leilão"
+
+#. module: auction
+#: report:auction.total.rml:0
+msgid "# of unsold items:"
+msgstr "Número de items por vender"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Create Invoices"
+msgstr "Criar Faturas"
+
+#. module: auction
+#: field:auction.bid,auction_id:0
+#: view:auction.dates:0
+#: field:auction.lots.auction.move,auction_id:0
+msgid "Auction Date"
+msgstr "Data de leilão"
+
+#. module: auction
+#: report:auction.code_bar_lot:0
+msgid ", ID"
+msgstr ", ID"
+
+#. module: auction
+#: report:buyer.list:0
+msgid "Adj.("
+msgstr ""
+
+#. module: auction
+#: model:ir.actions.report.xml,name:auction.lot_list_inv
+msgid "Lots List - Landscape"
+msgstr "Lista de Lotes (na horizontal)"
+
+#. module: auction
+#: view:auction.artists:0
+msgid "Author/Artist"
+msgstr "Autor / Artista"
+
+#. module: auction
+#: field:auction.lots,ach_login:0
+#: field:auction.lots.buyer_map,ach_login:0
+msgid "Buyer Username"
+msgstr "Nome de utilizador do comprador"
+
+#. module: auction
+#: field:auction.lot.category,priority:0
+msgid "Priority"
+msgstr "Prioridade"
+
+#. module: auction
+#: view:board.board:0
+#: model:ir.actions.act_window,name:auction.action_report_latest_objects_tree
+msgid "Latest objects"
+msgstr "Objetos mais recentes"
+
+#. module: auction
+#: field:auction.lots,lot_local:0
+msgid "Location"
+msgstr "Localização"
+
+#. module: auction
+#: view:report.auction:0
+msgid "Month -1"
+msgstr "Mês -1"
+
+#. module: auction
+#: help:auction.lots,is_ok:0
+msgid "When buyer pay for bank statement', this field is marked"
+msgstr ""
+"Quando o comprador pagar por extrato bancário', este campo está marcado"
+
+#. module: auction
+#: field:auction.lots,ach_emp:0
+msgid "Taken Away"
+msgstr "Retirados"
+
+#. module: auction
+#: view:report.object.encoded:0
+msgid "Total gross rev."
+msgstr "Receita bruta total"
+
+#. module: auction
+#: help:auction.lots,lot_est1:0
+msgid "Minimum Estimate Price"
+msgstr "Preço mínimo estimado"
+
+#. module: auction
+#: view:auction.deposit:0
+msgid "Deposit Date"
+msgstr "Data do Depósito"
+
+#. module: auction
+#: code:addons/auction/wizard/auction_lots_numerotate.py:145
+#, python-format
+msgid "This lot does not exist !"
+msgstr "Este lote não existe !"
+
+#. module: auction
+#: selection:report.auction,month:0
+msgid "July"
+msgstr "Julho"
+
+#. module: auction
+#: field:auction.bid_line,call:0
+msgid "To be Called"
+msgstr "Para ser Cancelado"
+
+#. module: auction
+#: view:auction.lots:0
+#: model:ir.actions.act_window,name:auction.action_report_auction_lots_estimation_adj_category_tree
+msgid "Min est/Adj/Max est"
+msgstr "Estimativa mínima/Preço de adjudicação/Estimativa máxima"
+
+#. module: auction
+#: field:auction.lots,lot_est1:0
+msgid "Minimum Estimation"
+msgstr "Estimativa mínima"
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_lots_sms_send
+msgid "Sms send "
+msgstr "Enviar SMS "
+
+#. module: auction
+#: view:auction.lots.auction.move:0
+#: model:ir.actions.act_window,name:auction.action_auction_lots_auction_move
+msgid "Change Auction Date"
+msgstr "Mudar data de leilão"
+
+#. module: auction
+#: field:auction.artists,birth_death_dates:0
+msgid "Lifespan"
+msgstr "Período de validade"
+
+#. module: auction
+#: view:auction.deposit:0
+#: field:auction.deposit,method:0
+msgid "Withdrawned method"
+msgstr "Método de Arrebatamento"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Buyer Commissions"
+msgstr "Comissões Comprador"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.action_report_auction
+#: model:ir.ui.menu,name:auction.menu_report_auction
+msgid "Auction Analysis"
+msgstr "Análise Leilão"
+
+#. module: auction
+#: code:addons/auction/wizard/auction_pay_buy.py:80
+#, python-format
+msgid "Payment aborted !"
+msgstr "Pagamento Cancelado !"
+
+#. module: auction
+#: field:auction.lot.history,price:0
+msgid "Withdrawn price"
+msgstr "Preço Final"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Beginning of the auction"
+msgstr "Inicio do leilão"
+
+#. module: auction
+#: help:auction.pay.buy,statement_id3:0
+msgid "Third Bank Statement For Buyer"
+msgstr ""
+
+#. module: auction
+#: view:report.auction:0
+#: field:report.auction,month:0
+#: field:report.auction.object.date,month:0
+msgid "Month"
+msgstr "Mês"
+
+#. module: auction
+#: report:auction.total.rml:0
+msgid "Max Estimate:"
+msgstr "Estimativa máxima"
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Statistical"
+msgstr "Estatística"
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_deposit
+msgid "Auction Deposit Border"
+msgstr ""
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.action_report_object_encoded_tree
+msgid "Object statistics"
+msgstr "Estatísticas do Objeto"
+
+#. module: auction
+#: help:auction.lots,net_margin:0
+msgid "(Net Revenue * 100)/ Object Price"
+msgstr "(Receita líquida * 100) / Preço do objeto"
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_lot_history
+msgid "Lot History"
+msgstr "Histórico do Lote"
+
+#. module: auction
+#: view:auction.lots.make.invoice:0
+#: view:auction.lots.make.invoice.buyer:0
+msgid "Create invoices"
+msgstr "Criar Faturas"
+
+#. module: auction
+#: model:account.tax.code,name:auction.account_tax_code_id5
+msgid "VAT 5%"
+msgstr "IVA 5%"
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_lots_buyer_map
+msgid "Map Buyer"
+msgstr ""
+
+#. module: auction
+#: report:buyer.list:0
+msgid "Lot"
+msgstr "Lote"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.action_report_auction_object_date_tree
+msgid "Auction Object Date"
+msgstr "Data da ação do objeto"
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_artists
+msgid "auction.artists"
+msgstr "auction.artists"
+
+#. module: auction
+#: field:report.auction,avg_price:0
+msgid "Avg Price."
+msgstr "Preço médio"
+
+#. module: auction
+#: help:auction.pay.buy,statement_id2:0
+msgid "Second Bank Statement For Buyer"
+msgstr ""
+
+#. module: auction
+#: field:auction.dates,journal_id:0
+msgid "Buyer Journal"
+msgstr "Diário do Comprador"
+
+#. module: auction
+#: selection:auction.lots,state:0
+#: selection:report.object.encoded,state:0
+msgid "Paid"
+msgstr "Pago"
+
+#. module: auction
+#: report:bids.lots:0
+#: report:bids.phones.details:0
+msgid "Phone"
+msgstr "Telefone"
+
+#. module: auction
+#: field:auction.lot.category,active:0
+msgid "Active"
+msgstr "Ativo"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Exposition Dates"
+msgstr ""
+
+#. module: auction
+#: model:account.tax,name:auction.auction_tax1
+msgid "TVA"
+msgstr "IVA"
+
+#. module: auction
+#: field:auction.lots,important:0
+msgid "To be Emphatized"
+msgstr "Para realçar"
+
+#. module: auction
+#: report:buyer.list:0
+msgid "Total:"
+msgstr "Total:"
+
+#. module: auction
+#: model:account.tax,name:auction.auction_tax2
+msgid "TVA1"
+msgstr "IVA 1"
+
+#. module: auction
+#: view:report.auction.object.date:0
+msgid "Objects per Day"
+msgstr "Objetos por Dia"
+
+#. module: auction
+#: field:auction.dates,seller_invoice_history:0
+#: field:auction.lots,sel_inv_id:0
+#: view:auction.lots.make.invoice:0
+msgid "Seller Invoice"
+msgstr "Fatura do comprador"
+
+#. module: auction
+#: view:board.board:0
+msgid "Objects by day"
+msgstr "Objetos por dia"
+
+#. module: auction
+#: help:auction.dates,expo2:0
+msgid "Last exposition date for auction"
+msgstr ""
+
+#. module: auction
+#: code:addons/auction/auction.py:571
+#: code:addons/auction/auction.py:686
+#, python-format
+msgid "Missed buyer !"
+msgstr "Perdeu Comprador !"
+
+#. module: auction
+#: report:auction.code_bar_lot:0
+msgid "Flagey"
+msgstr "Flagey"
+
+#. module: auction
+#: view:board.board:0
+msgid "Auction manager "
+msgstr "Gestor de leilão "
+
+#. module: auction
+#: code:addons/auction/wizard/auction_lots_invoice.py:67
+#, python-format
+msgid ""
+"Two different buyers for the same invoice !\n"
+"Please correct this problem before invoicing"
+msgstr ""
+"Dois compradores diferentes para a mesma fatura!\n"
+"Por favor, corrija este problema antes da faturação"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Invoice"
+msgstr "Fatura"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Commissions"
+msgstr "Comissões"
+
+#. module: auction
+#: field:auction.lots,vnd_lim:0
+msgid "Seller limit"
+msgstr "Limite de Vendedores"
+
+#. module: auction
+#: field:auction.deposit,transfer:0
+msgid "Transfer"
+msgstr "Transferência"
+
+#. module: auction
+#: view:auction.pay.buy:0
+msgid "Line3"
+msgstr "Linha3"
+
+#. module: auction
+#: view:auction.pay.buy:0
+msgid "Line2"
+msgstr "Linha2"
+
+#. module: auction
+#: help:auction.lots,obj_ret:0
+msgid "Object Ret"
+msgstr ""
+
+#. module: auction
+#: view:report.auction.adjudication:0
+msgid "Total adjudication"
+msgstr "Adjudicação Total"
+
+#. module: auction
+#: selection:auction.deposit,method:0
+msgid "Contact the Seller"
+msgstr "Contate o Vendedor"
+
+#. module: auction
+#: field:auction.taken,lot_ids:0
+msgid "Lots Emportes"
+msgstr "Importação de Lotes"
+
+#. module: auction
+#: field:auction.lots,net_margin:0
+msgid "Net Margin (%)"
+msgstr "Margem líquida (%)"
+
+#. module: auction
+#: field:auction.lots,product_id:0
+msgid "Product"
+msgstr "Artigo"
+
+#. module: auction
+#: report:buyer.list:0
+msgid ")"
+msgstr ")"
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Seller Information"
+msgstr "Informação sobre o vendedor"
+
+#. module: auction
+#: view:auction.deposit:0
+#: field:auction.deposit,lot_id:0
+#: view:auction.lots:0
+#: model:ir.actions.act_window,name:auction.action_all_objects
+#: model:ir.ui.menu,name:auction.auction_all_objects_menu
+msgid "Objects"
+msgstr "Objetos"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Seller Invoices"
+msgstr "Faturas de vendedor"
+
+#. module: auction
+#: report:auction.total.rml:0
+msgid "Paid:"
+msgstr "Pago:"
+
+#. module: auction
+#: field:auction.deposit,total_neg:0
+msgid "Allow Negative Amount"
+msgstr "Permitir um montante negativo"
+
+#. module: auction
+#: help:auction.pay.buy,amount2:0
+msgid "Amount For Second Bank Statement"
+msgstr ""
+
+#. module: auction
+#: field:auction.lot.history,auction_id:0
+#: field:report.auction,auction:0
+#: field:report.auction.adjudication,name:0
+msgid "Auction date"
+msgstr "Data de leilão"
+
+#. module: auction
+#: view:auction.lots.sms.send:0
+msgid "SMS Text"
+msgstr "Texto do SMS"
+
+#. module: auction
+#: field:auction.dates,auction1:0
+msgid "First Auction Day"
+msgstr "Primeiro Dia de Leilão"
+
+#. module: auction
+#: view:auction.lots.make.invoice.buyer:0
+msgid "Create Invoices for Buyer"
+msgstr "Criar faturas para o comprador"
+
+#. module: auction
+#: model:res.groups,name:auction.group_auction_manager
+msgid "Manager"
+msgstr "Gestor"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Names"
+msgstr "Nomes"
+
+#. module: auction
+#: view:auction.artists:0
+#: model:ir.ui.menu,name:auction.menu_auction_artist
+msgid "Artists"
+msgstr "Artistas"
+
+#. module: auction
+#: view:auction.pay.buy:0
+msgid "Pay Objects"
+msgstr "Pagar objetos"
+
+#. module: auction
+#: help:auction.dates,expo1:0
+msgid "Beginning exposition date for auction"
+msgstr "A partir da data de exposição para leilão"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.act_auction_lot_line_open
+msgid "Open lots"
+msgstr "Lotes Abertos"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.act_auction_lot_open_deposit
+msgid "Deposit slip"
+msgstr ""
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_lots_enable
+msgid "Lots Enable"
+msgstr ""
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Lots"
+msgstr "Lotes"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.action_auction_artist
+msgid "Auction Artists"
+msgstr ""
+
+#. module: auction
+#: field:auction.lots,seller_price:0
+msgid "Seller price"
+msgstr "Preço do Vendedor"
+
+#. module: auction
+#: model:account.tax,name:auction.auction_tax20
+msgid "Frais de vente0"
+msgstr ""
+
+#. module: auction
+#: model:ir.actions.report.xml,name:auction.buy_id_list
+msgid "Buyer List"
+msgstr "Lista de Comprador"
+
+#. module: auction
+#: report:buyer.list:0
+msgid "Buyer costs("
+msgstr "Custos do Comprador("
+
+#. module: auction
+#: field:auction.pay.buy,statement_id1:0
+#: field:auction.pay.buy,statement_id2:0
+#: field:auction.pay.buy,statement_id3:0
+msgid "Statement"
+msgstr "Extrato"
+
+#. module: auction
+#: help:auction.lots,seller_price:0
+#: help:auction.lots.make.invoice,amount:0
+msgid "Seller Price"
+msgstr "Preço Vendedor"
+
+#. module: auction
+#: model:account.tax,name:auction.auction_tax6
+msgid "Frais de vente"
+msgstr "Taxas de Vendas"
+
+#. module: auction
+#: model:account.tax.code,name:auction.account_tax_code_id1
+msgid "VAT 1%"
+msgstr "IVA 1%"
+
+#. module: auction
+#: model:account.tax,name:auction.auction_tax
+msgid "Droit d'auteur"
+msgstr "Direitos de autor"
+
+#. module: auction
+#: field:auction.dates,expo1:0
+msgid "First Exposition Day"
+msgstr "Primeiro Dia de Exposição"
+
+#. module: auction
+#: field:report.auction.object.date,name:0
+msgid "Created date"
+msgstr "Data Criada"
+
+#. module: auction
+#: help:auction.lots,bord_vnd_id:0
+msgid ""
+"Provide deposit information: seller, Withdrawned Method, Object, Deposit "
+"Costs"
+msgstr ""
+
+#. module: auction
+#: field:auction.lots,net_revenue:0
+#: field:report.object.encoded,net_revenue:0
+msgid "Net revenue"
+msgstr "Receitas líquidas"
+
+#. module: auction
+#: code:addons/auction/wizard/auction_catalog_flagey_report.py:63
+#: code:addons/auction/wizard/auction_pay_buy.py:89
+#, python-format
+msgid "Error!"
+msgstr "Erro !"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.action_report_latest_doposit_tree
+msgid "Latest Deposits"
+msgstr "Últimos Depósitos"
+
+#. module: auction
+#: report:auction.total.rml:0
+msgid "# of items:"
+msgstr "Número de items"
+
+#. module: auction
+#: model:account.tax,name:auction.tax_buyer_author
+msgid "Author rights (4%)"
+msgstr "Direitos de autor (4%)"
+
+#. module: auction
+#: field:report.object.encoded,estimation:0
+msgid "Estimation"
+msgstr "Estimativa"
+
+#. module: auction
+#: view:auction.taken:0
+msgid "OK"
+msgstr "OK"
+
+#. module: auction
+#: model:ir.actions.report.xml,name:auction.buyer_form_id
+msgid "Buyer Form"
+msgstr "Formulário do Comprador"
+
+#. module: auction
+#: field:auction.bid,partner_id:0
+msgid "Buyer Name"
+msgstr "Nome do comprador"
+
+#. module: auction
+#: view:report.auction:0
+#: field:report.auction,day:0
+msgid "Day"
+msgstr "Dia"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.action_auction_lots_make_invoice
+msgid "Invoice Seller objects"
+msgstr "Faturas de Objetos Vendidos"
+
+#. module: auction
+#: field:auction.lots,gross_margin:0
+msgid "Gross Margin (%)"
+msgstr "Margem bruta (%)"
+
+#. module: auction
+#: selection:auction.dates,state:0
+#: selection:report.auction.adjudication,state:0
+msgid "Closed"
+msgstr "Encerrado"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Search Next Auction Dates"
+msgstr "Procurar próximas datas de leilões"
+
+#. module: auction
+#: view:auction.catalog.flagey:0
+msgid "Print Auction Catalog Flagey Report..."
+msgstr ""
+
+#. module: auction
+#: field:auction.lots,ach_avance:0
+msgid "Buyer Advance"
+msgstr "Adiantamento do Comprador"
+
+#. module: auction
+#: field:auction.lots,obj_comm:0
+msgid "Commission"
+msgstr "Comissão"
+
+#. module: auction
+#: view:board.board:0
+msgid "Min/Adj/Max"
+msgstr "Min/adj/Max"
+
+#. module: auction
+#: view:auction.catalog.flagey:0
+msgid "Catalog Flagey Report"
+msgstr ""
+
+#. module: auction
+#: help:auction.lots,obj_price:0
+msgid "Object Price"
+msgstr "Preço do objeto"
+
+#. module: auction
+#: view:auction.bid:0
+msgid "Bids Lines"
+msgstr ""
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Catalog"
+msgstr "Catálogo"
+
+#. module: auction
+#: help:auction.lots,auction_id:0
+msgid "Auction for object"
+msgstr "Leilão por objeto"
+
+#. module: auction
+#: field:auction.deposit.cost,account:0
+msgid "Destination Account"
+msgstr "Conta de destino"
+
+#. module: auction
+#: model:ir.ui.menu,name:auction.auction_config_menu
+msgid "Configuration"
+msgstr "Configuração"
+
+#. module: auction
+#: model:ir.actions.act_window,name:auction.action_report_auction_object_date_tree_my
+msgid "My Auction Object Date"
+msgstr ""
+
+#. module: auction
+#: code:addons/auction/wizard/auction_pay_buy.py:80
+#, python-format
+msgid ""
+"You should pay all the total: \"%.2f\" are missing to accomplish the payment."
+msgstr ""
+"Deve pagar a totalidade: \"%.2f\" estão em falta para realizar o pagamento."
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_pay_buy
+msgid "Pay buy"
+msgstr "Pagar Compra"
+
+#. module: auction
+#: model:ir.ui.menu,name:auction.auction_outils_menu
+msgid "Tools Bar Codes"
+msgstr "Ferramenta do Código de Barras"
+
+#. module: auction
+#: field:auction.deposit.cost,deposit_id:0
+msgid "Deposit"
+msgstr "Depósito"
+
+#. module: auction
+#: field:auction.dates,expo2:0
+msgid "Last Exposition Day"
+msgstr "Último Dia de Exposição"
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_lots_able
+msgid "Lots able"
+msgstr ""
+
+#. module: auction
+#: model:account.tax.code,name:auction.account_tax_code_id3
+msgid "VAT 10%"
+msgstr "IVA 10%"
+
+#. module: auction
+#: field:auction.artists,name:0
+msgid "Artist/Author Name"
+msgstr "Artista/Nome do Autor"
+
+#. module: auction
+#: selection:report.auction,month:0
+msgid "December"
+msgstr "Dezembro"
+
+#. module: auction
+#: view:auction.deposit:0
+#: field:auction.lots,image:0
+msgid "Image"
+msgstr "Imagem"
+
+#. module: auction
+#: help:auction.lots,buyer_price:0
+#: help:auction.lots.make.invoice.buyer,amount:0
+msgid "Buyer Price"
+msgstr "Preço Comprador"
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_lot_category
+msgid "Auction Lots Category"
+msgstr ""
+
+#. module: auction
+#: model:account.tax.code,name:auction.account_tax_code_id2
+msgid "VAT 20%"
+msgstr "IVA 20%"
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_payer_sel
+msgid "Auction payment for seller"
+msgstr ""
+
+#. module: auction
+#: view:auction.lots:0
+#: selection:auction.lots,state:0
+msgid "Taken away"
+msgstr "Retirado"
+
+#. module: auction
+#: model:ir.actions.report.xml,name:auction.seller_form_id
+msgid "Seller List"
+msgstr "Lista de vendedores"
+
+#. module: auction
+#: view:report.object.encoded:0
+msgid "Total adj."
+msgstr "Total adj."
+
+#. module: auction
+#: view:auction.deposit:0
+msgid "Deposit Costs"
+msgstr "Custos de Depósito"
+
+#. module: auction
+#: field:auction.lot.category,name:0
+msgid "Category Name"
+msgstr "Nome da categoria"
+
+#. module: auction
+#: report:buyer.list:0
+msgid "........."
+msgstr "........."
+
+#. module: auction
+#: view:report.auction:0
+msgid "Auction Summary tree view"
+msgstr ""
+
+#. module: auction
+#: report:report.auction.buyer.result:0
+msgid "Adj"
+msgstr "Adj"
+
+#. module: auction
+#: view:auction.dates:0
+#: model:ir.model,name:auction.model_auction_dates
+msgid "Auction Dates"
+msgstr "Datas de leilão"
+
+#. module: auction
+#: model:ir.ui.menu,name:auction.menu_board_auction_open
+msgid "Auction DashBoard"
+msgstr "Painel Controlo do Leilão"
+
+#. module: auction
+#: view:report.auction:0
+#: field:report.auction,user_id:0
+#: field:report.auction.adjudication,user_id:0
+#: field:report.auction.object.date,user_id:0
+#: field:report.object.encoded,user_id:0
+#: model:res.groups,name:auction.group_auction_user
+msgid "User"
+msgstr "Utilizador"
+
+#. module: auction
+#: view:auction.pay.buy:0
+msgid "Payment Lines"
+msgstr "Linhas de Pagamento"
+
+#. module: auction
+#: code:addons/auction/auction.py:692
+#, python-format
+msgid "Missed Address !"
+msgstr "Endereço Errado !"
+
+#. module: auction
+#: help:auction.lots,net_revenue:0
+msgid "Buyer Price - Seller Price - Indirect Cost"
+msgstr ""
+
+#. module: auction
+#: help:auction.lots,state:0
+msgid ""
+" * The 'Draft' state is used when a object is encoding as a new object. "
+" \n"
+"* The 'Unsold' state is used when object does not sold for long time, user "
+"can also set it as draft state after unsold. \n"
+"* The 'Paid' state is used when user pay for the object \n"
+"* The 'Sold' state is used when user buy the object."
+msgstr ""
+
+#. module: auction
+#: field:auction.artists,pseudo:0
+msgid "Pseudo"
+msgstr "Pseudónimo"
+
+#. module: auction
+#: view:auction.lots:0
+msgid "Not sold"
+msgstr "Por vender"
+
+#. module: auction
+#: model:account.tax,name:auction.auction_tax3
+#: field:auction.dates,buyer_costs:0
+msgid "Buyer Costs"
+msgstr "Custos do Comprador"
+
+#. module: auction
+#: report:auction.total.rml:0
+msgid "Auction Date:"
+msgstr "Data de Leilão"
+
+#. module: auction
+#: view:auction.deposit:0
+msgid "Objects Description"
+msgstr "Descrição Objetos"
+
+#. module: auction
+#: field:auction.dates,buyer_invoice_history:0
+#: field:auction.lots,ach_inv_id:0
+#: view:auction.lots.make.invoice.buyer:0
+msgid "Buyer Invoice"
+msgstr "Fatura do comprador"
+
+#. module: auction
+#: report:auction.bids:0
+msgid "Tel"
+msgstr "Tel"
+
+#. module: auction
+#: field:auction.lots,artist_id:0
+msgid "Artist/Author"
+msgstr "Artista/Autor"
+
+#. module: auction
+#: model:ir.actions.report.xml,name:auction.total_result1
+msgid "Auction Totals with lists"
+msgstr "Totais Leilão com listas"
+
+#. module: auction
+#: view:auction.deposit:0
+msgid "General Information"
+msgstr "Informação Geral"
+
+#. module: auction
+#: view:auction.lots.auction.move:0
+#: view:auction.lots.buyer_map:0
+#: view:auction.lots.make.invoice:0
+#: view:auction.lots.make.invoice.buyer:0
+#: view:auction.lots.sms.send:0
+#: view:auction.pay.buy:0
+msgid "Close"
+msgstr "Fechar"
+
+#. module: auction
+#: model:ir.model,name:auction.model_report_object_encoded
+msgid "Object encoded"
+msgstr "Objeto codificado"
+
+#. module: auction
+#: view:auction.bid:0
+msgid "Search Auction Bid"
+msgstr ""
+
+#. module: auction
+#: report:bids.phones.details:0
+msgid "Est"
+msgstr "Est"
+
+#. module: auction
+#: view:auction.dates:0
+msgid "Seller Commissions"
+msgstr "Comissões Vendedor"
+
+#. module: auction
+#: view:report.object.encoded:0
+msgid "Object statistic"
+msgstr "Estatística do objeto"
+
+#. module: auction
+#: help:auction.dates,journal_seller_id:0
+msgid "Account journal for seller"
+msgstr "Diário da Conta para o vendedor"
+
+#. module: auction
+#: field:auction.dates,auction2:0
+msgid "Last Auction Day"
+msgstr "Último dia de leilão"
+
+#. module: auction
+#: code:addons/auction/wizard/auction_pay_buy.py:89
+#, python-format
+msgid "No auction date for \"%s\": Please set one."
+msgstr ""
+
+#. module: auction
+#: view:auction.deposit:0
+#: field:auction.deposit,info:0
+#: report:bids.phones.details:0
+msgid "Description"
+msgstr "Descrição"
+
+#. module: auction
+#: selection:report.auction,month:0
+msgid "May"
+msgstr "Maio"
+
+#. module: auction
+#: field:auction.lots,obj_price:0
+msgid "Adjudication price"
+msgstr "Preço de adjudicação"
+
+#. module: auction
+#: field:auction.dates,acc_income:0
+msgid "Income Account"
+msgstr "Conta de receitas"
+
+#. module: auction
+#: field:auction.lots.sms.send,password:0
+msgid "Password"
+msgstr "Password"
+
+#. module: auction
+#: selection:report.auction,month:0
+msgid "February"
+msgstr "Fevereiro"
+
+#. module: auction
+#: selection:report.auction,month:0
+msgid "April"
+msgstr "Abril"
+
+#. module: auction
+#: view:auction.pay.buy:0
+msgid "Pay objects"
+msgstr "Objetos Pagos"
+
+#. module: auction
+#: view:report.object.encoded:0
+msgid "# objects"
+msgstr "Número de objetos"
+
+#. module: auction
+#: report:auction.total.rml:0
+msgid "Adjudication:"
+msgstr "Adjudicação:"
+
+#. module: auction
+#: model:ir.actions.report.xml,name:auction.details_bids_phones
+msgid "Bids per lot (phone)"
+msgstr "Oferta por Lote (telefone)"
+
+#. module: auction
+#: field:report.auction,buyer_login:0
+msgid "Buyer Login"
+msgstr "Login do Comprador"
+
+#. module: auction
+#: field:auction.deposit,tax_id:0
+msgid "Expenses"
+msgstr "Despesas"
+
+#. module: auction
+#: view:report.auction:0
+msgid "Auction during current month."
+msgstr ""
+
+#. module: auction
+#: model:ir.model,name:auction.model_auction_payer
+msgid "Auction payer"
+msgstr ""
+
+#. module: auction
+#: view:report.auction:0
+msgid "Auction during current year."
+msgstr "Leilão durante este ano."
+
+#. module: auction
+#: report:auction.total.rml:0
+msgid "Auction name:"
+msgstr "Nome do Leilão:"
+
+#. module: auction
+#: view:board.board:0
+msgid "Latest deposits"
+msgstr "Depósitos mais recentes"
+
+#. module: auction
+#: model:ir.actions.report.xml,name:auction.art2
+msgid "Artists Biography"
+msgstr "Biografia do Artista"
+
+#. module: auction
+#: view:report.auction:0
+#: field:report.auction,year:0
+msgid "Year"
+msgstr "Ano"
+
+#. module: auction
+#: field:auction.lots,history_ids:0
+msgid "Auction history"
+msgstr "Histórico do Leilão"
+
+#~ msgid "SMS - Gateway: clickatell"
+#~ msgstr "SMS - Gateway: clickatell"
+
+#~ msgid "Provisoire"
+#~ msgstr "Provisório"
+
+#~ msgid "Adjudication by Auction"
+#~ msgstr "Adjudicação por Leilão"
+
+#~ msgid "Numerotation (per lot)"
+#~ msgstr "Numeração (por lote)"
+
+#~ msgid "Antique/Books, manuscripts, eso."
+#~ msgstr "Antiguidades/livros, manuscritos, etc."
+
+#~ msgid "Buyer invoice reconciled"
+#~ msgstr "Factura do comprador reconciliada"
+
+#~ msgid "Objects by Auction"
+#~ msgstr "Objetos por Leilão"
+
+#~ msgid "Antiques"
+#~ msgstr "Antiguidades"
+
+#~ msgid "Dates"
+#~ msgstr "Datas"
+
+#~ msgid "All objects"
+#~ msgstr "Todos os objectos"
+
+#~ msgid "Contact"
+#~ msgstr "Contacto"
+
+#~ msgid "Back"
+#~ msgstr "Anterior"
+
+#~ msgid "Langage"
+#~ msgstr "Linguagem"
+
+#~ msgid "Exit"
+#~ msgstr "Sair"
+
+#~ msgid "Amount paid"
+#~ msgstr "Montante pago"
+
+#~ msgid "Continue"
+#~ msgstr "Continuar"
+
+#~ msgid "Retry"
+#~ msgstr "Repetir"
+
+#~ msgid "The VAT doesn't seem to be correct."
+#~ msgstr "O IVA não parece estar correcto."
+
+#~ msgid "Error ! You can not create recursive associated members."
+#~ msgstr "Erro! Não pode criar membros associados recursivamente."
+
+#~ msgid "Total margin"
+#~ msgstr "Margem Total"
+
+#~ msgid "Definitive (ordre catalogue)"
+#~ msgstr "Definitivo (Catálogo de Ordem)"
+
+#~ msgid "My Encoded Objects Per Day"
+#~ msgstr "Meus Objectos Codificacdos Por Dia"
+
+#~ msgid "Lot history"
+#~ msgstr "Histórico de Lote"
+
+#~ msgid "Bids line"
+#~ msgstr "Linha de Ofertas"
+
+#~ msgid "Antique/Tin / Copper wares"
+#~ msgstr "Antiguidade/Lata/Mercadorias de cobre"
+
+#~ msgid "Mark as taken away"
+#~ msgstr "Marcar como retirado"
+
+#~ msgid "Statements"
+#~ msgstr "Extratos"
+
+#~ msgid "Unclassifieds"
+#~ msgstr "Desclassificados"
+
+#~ msgid "Object Type"
+#~ msgstr "Tipo de Objecto"
+
+#~ msgid "Contemporary Art"
+#~ msgstr "Arte Contemporânea"
+
+#~ msgid "No of sellers"
+#~ msgstr "Nº de vendedores"
+
+#~ msgid "ned"
+#~ msgstr "ned"
+
+#~ msgid "Net margin (%)"
+#~ msgstr "Margem de Net (%)"
+
+#~ msgid "Buyer's auction for all months"
+#~ msgstr "Leilão do Comprador por todos os meses"
+
+#~ msgid "Cont. Art/Painting"
+#~ msgstr "Cont. Arte/Pintura"
+
+#~ msgid "Unsold objects"
+#~ msgstr "Objectos não Bendidos"
+
+#~ msgid "Sold Objects"
+#~ msgstr "Objectos Vendidos"
+
+#~ msgid "Sum net margin"
+#~ msgstr "Somar margem de net"
+
+#~ msgid "Inventory Number"
+#~ msgstr "Número do Inventário"
+
+#~ msgid "Antique/Cartoons"
+#~ msgstr "Antiguidade/Cartoons"
+
+#~ msgid "Error ! You cannot create recursive Hierarchy of Employees."
+#~ msgstr "Erro ! Não pode criar Hierarquias de Funcionários recursivamente."
+
+#~ msgid "Artist/Author 2"
+#~ msgstr "Artista/Autor 2"
+
+#~ msgid "Auction Objects"
+#~ msgstr "Objectos do Leilão"
+
+#~ msgid "Depositer's statistics"
+#~ msgstr "Estatisticas do Depositante"
+
+#~ msgid "Buyer information"
+#~ msgstr "Informação do Comprador"
+
+#~ msgid "auction.dates"
+#~ msgstr "auction.dates"
+
+#~ msgid "My Latest Deposits"
+#~ msgstr "Meus Últimos Depósitos"
+
+#~ msgid "Buyer's Revenues"
+#~ msgstr "Lucros do Comprador"
+
+#~ msgid "eng"
+#~ msgstr "eng"
+
+#~ msgid "Bulk SMS send"
+#~ msgstr "Enviar um Volume de SMS"
+
+#~ msgid "fr"
+#~ msgstr "FR"
+
+#~ msgid "Antique/Old weapons and militaria"
+#~ msgstr "Antiguidade/Velhas armas e militaria"
+
+#~ msgid "Antique/Oriental Arts/Chineese furnitures"
+#~ msgstr "Antigo/Arte Oriental/Móveis Chineses"
+
+#~ msgid "Avg. Est"
+#~ msgstr "Avg.Est"
+
+#~ msgid ""
+#~ "This module provides functionality to \n"
+#~ " manage artists, articles, sellers, buyers and auction.\n"
+#~ " Manage bids, track of sold, paid and unpaid objects.\n"
+#~ " Delivery Management. \n"
+#~ " "
+#~ msgstr ""
+#~ "Este módulo provê funcionalidade para\n"
+#~ " gestão artistica, artigos, vendedores, compradores e leilão.\n"
+#~ " Gestão de oferta, faixa de vendas, pagos e objecto não pagos.\n"
+#~ " Gestão de Entrega. \n"
+#~ " "
+
+#~ msgid "Confirmation set taken away"
+#~ msgstr "Confirmação do conjunto retirado"
+
+#~ msgid "Mark as paid for seller"
+#~ msgstr "Marcar como pago para o vendedor"
+
+#~ msgid "Close + Create all invoices"
+#~ msgstr "Fechar + Criar todas as Facturas"
+
+#~ msgid "Antique/Verreries"
+#~ msgstr "Antiguidade/Artigos de Vidro"
+
+#~ msgid "Antique/Toys"
+#~ msgstr "Antigo/Brinquedos"
+
+#~ msgid "Auction Management"
+#~ msgstr "Gestão de Leilão"
+
+#~ msgid "Define Artists"
+#~ msgstr "Definir Artistas"
+
+#~ msgid "Comparison of estimations"
+#~ msgstr "Comparação das estimativas"
+
+#~ msgid "Code barres du lot"
+#~ msgstr "Código de barras do lote"
+
+#~ msgid "Birth / Death dates"
+#~ msgstr "Datas de Nascimento/Morte"
+
+#~ msgid "Antique/Jewelry"
+#~ msgstr "Antiguidade/Jóias"
+
+#~ msgid "Unclassified objects "
+#~ msgstr "Objectos não Classificados "
+
+#~ msgid "Numerotation"
+#~ msgstr "Numeração"
+
+#~ msgid "Bordereau de dépôt"
+#~ msgstr "Comprovante de Depósito"
+
+#~ msgid "Cont. Art/Arts"
+#~ msgstr "Cont. Arte/Artes"
+
+#~ msgid "comparaison estimate/adjudication "
+#~ msgstr "comparação estimar/adjudicação "
+
+#~ msgid "Adj(EUR)"
+#~ msgstr "Adj(EUR)"
+
+#~ msgid "Cont. Art/Other Media"
+#~ msgstr "Cont. Arte/Outros Mídia"
+
+#~ msgid "Send Image also ?"
+#~ msgstr "Enviar Imagem também?"
+
+#~ msgid "General Informations"
+#~ msgstr "Informações Gerais"
+
+#~ msgid "Auctions results"
+#~ msgstr "Resultados de Leilões"
+
+#~ msgid "Unclassified objects"
+#~ msgstr "Objectos não Classificados"
+
+#~ msgid "Antique/Carpet and textilles"
+#~ msgstr "Antiguidade/Carpete e têxteis"
+
+#~ msgid "New Auction Dates"
+#~ msgstr "Nova Data de Leilão"
+
+#~ msgid "Sum adj"
+#~ msgstr "Soma adj"
+
+#~ msgid "No of Objects"
+#~ msgstr "Nº de Objectos"
+
+#~ msgid "Antique/Painting"
+#~ msgstr "Antiguidade/Pintura"
+
+#~ msgid "Aie Category"
+#~ msgstr "Categoria AIE"
+
+#~ msgid "Check payment for seller"
+#~ msgstr "Verificar o pagamento para o vendedor"
+
+#~ msgid "Send results to Auction-in-europe.com"
+#~ msgstr "Enviar resultados para Auction-in-europe.com"
+
+#~ msgid "Seller's auction"
+#~ msgstr "Leilão do Vendedor"
+
+#~ msgid "Seller's Revenues"
+#~ msgstr "Receitas do Vendedor"
+
+#~ msgid "Buyer's Summary"
+#~ msgstr "Resumo de Comprador"
+
+#~ msgid "Depositer's Statistics"
+#~ msgstr "Estatísticas do Depósito"
+
+#~ msgid "To pay"
+#~ msgstr "Para pagar"
+
+#~ msgid "Enable Taken away"
+#~ msgstr "Permitir Retirada"
+
+#~ msgid "Antique/Others"
+#~ msgstr "Antiguidade/Outros"
+
+#~ msgid "Auction dates"
+#~ msgstr "Data dos Leilões"
+
+#~ msgid "Encoded Objects Per Day"
+#~ msgstr "Codificar Objectos por Dia"
+
+#~ msgid "Auction Reporting on buyer view"
+#~ msgstr "Relatório do Leilão na vista do comprador"
+
+#~ msgid "Payment's history"
+#~ msgstr "Histórico de Pagamentos"
+
+#~ msgid "Auction results"
+#~ msgstr "Resultados dos Leilões"
+
+#~ msgid "Auction's Revenues"
+#~ msgstr "Rendimentos dos Leilões"
+
+#~ msgid "Antique/Metal Ware"
+#~ msgstr "Antiguidade/Peças de Metal"
+
+#~ msgid "de"
+#~ msgstr "de"
+
+#~ msgid "Old Auctions"
+#~ msgstr "Leilões Antigos"
+
+#~ msgid "Cont. Art/Curiosa"
+#~ msgstr "Cont. Arte/Curiosa"
+
+#~ msgid "Auction module"
+#~ msgstr "Módulo Leilão"
+
+#~ msgid "Attendance"
+#~ msgstr "Atendimento"
+
+#~ msgid "Seller information"
+#~ msgstr "Informação do Vendedor"
+
+#~ msgid "Cont. Art/Jewelry"
+#~ msgstr "Cont. Arte/Jóias"
+
+#~ msgid "Next Auctions"
+#~ msgstr "Próximos Leilões"
+
+#~ msgid "#"
+#~ msgstr "#"
+
+#~ msgid "Antique/Miniatures / Collections"
+#~ msgstr "Antiguidade/Miniaturas/Colecções"
+
+#~ msgid "Cont. Art/Photo"
+#~ msgstr "Cont. Arte/Fotografia"
+
+#~ msgid "Bid auctions"
+#~ msgstr "Oferta de Leilão"
+
+#~ msgid "Avg margin"
+#~ msgstr "Margem Avg"
+
+#~ msgid "Antique/Art from the Ivory Coast"
+#~ msgstr "Antiguidade/ Arte para a Costa do Marfim"
+
+#~ msgid "Antique/Religiosa"
+#~ msgstr "Antiguidade/Religiosa"
+
+#~ msgid ""
+#~ "Error: The default UOM and the purchase UOM must be in the same category."
+#~ msgstr ""
+#~ "Erro: O UOM padrão e o UOM de compra devem estar na mesma categoria."
+
+#~ msgid "Unplanned objects"
+#~ msgstr "Objectos não Pagos"
+
+#~ msgid "Cont. Art/Sculpture"
+#~ msgstr "Cont. Arte/Escultura"
+
+#~ msgid "Antique/Argenterie"
+#~ msgstr "Antiguidade/Talheres"
+
+#~ msgid "Detailed lots"
+#~ msgstr "Lotes Detalhados"
+
+#~ msgid "Antique/Lightings"
+#~ msgstr "Antiguidade/Iluminação"
+
+#~ msgid "Antique/Sculpture, bronze, eso."
+#~ msgstr "Antiguidade/Escultura, bronze, etc."
+
+#~ msgid "Numerotate"
+#~ msgstr "Numeração"
+
+#~ msgid "Listing Huissiers"
+#~ msgstr "Listagem de Oficiais de Justiça"
+
+#~ msgid "All objects are assigned to buyers !"
+#~ msgstr "Todos os objectos são atribuidos para os compradores !"
+
+#~ msgid "Able Taken away"
+#~ msgstr "Permissão de Retirada"
+
+#~ msgid "Seller's Summary"
+#~ msgstr "Resumo de Vendedores"
+
+#~ msgid "Send on your website"
+#~ msgstr "Enviar para o seu Website"
+
+#~ msgid "Simplified lots for adjudication"
+#~ msgstr "Lotes Simplificados para adjudicação"
+
+#~ msgid "Sum Adjustication"
+#~ msgstr "Soma da Adjudicação"
+
+#~ msgid "Antique/Porcelain, Ceramics, Glassmaking, ..."
+#~ msgstr "Antiguidade/Porcelanas/Cerâmicas/Vidreiros"
+
+#~ msgid "Object Reference"
+#~ msgstr "Referência do Objecto"
+
+#~ msgid "Cont. Art/Shows"
+#~ msgstr "Cont. Arte/Shows"
+
+#~ msgid "Unsold Objects"
+#~ msgstr "Objectos não Vendidos"
+
+#~ msgid "Avg Adj."
+#~ msgstr "Avg Adj."
+
+#~ msgid "auction.deposit.cost"
+#~ msgstr "auction.deposit.cost"
+
+#~ msgid "Object Inventory"
+#~ msgstr "Inventário do Objecto"
+
+#~ msgid "Antique/Art from the Ivory Coast/African Arts"
+#~ msgstr "Antiguidade/Arte a partir da Costa de Marfim/Artes Africanas"
+
+#~ msgid "Lot Category"
+#~ msgstr "Categoria de Lote"
+
+#~ msgid "Total"
+#~ msgstr "Total"
+
+#~ msgid "Send to website"
+#~ msgstr "Enviar para o Website"
+
+#~ msgid "Old Auction Dates"
+#~ msgstr "Datas Antigas de Leilões"
+
+#~ msgid "Antique/Engravings"
+#~ msgstr "Antiguidade/Gravuras"
+
+#~ msgid "First Number"
+#~ msgstr "Primeiro Número"
+
+#~ msgid ""
+#~ "Warning, this will erase the object adjudication price and its buyer !"
+#~ msgstr ""
+#~ "Aviso, isto vai apagar o preço de adjudicção do objecto e do seu comprador !"
+
+#~ msgid "Bid information"
+#~ msgstr "Informação da Oferta"
+
+#~ msgid "Antique/Musical Instruments"
+#~ msgstr "Antiguidade/Instrumentos Musicais"
+
+#~ msgid "Antique/Graphic Arts"
+#~ msgstr "Antiguidade/Artes Gráficas"
+
+#~ msgid "Antique/Oriental Arts"
+#~ msgstr "Antiguidade/Artes Orientais"
+
+#~ msgid "Sum of adjudication"
+#~ msgstr "Soma de Adjudicação"
+
+#~ msgid "Unmark as taken away"
+#~ msgstr "Desmarcar como retirados"
+
+#~ msgid "Lot Number"
+#~ msgstr "Número de Lote"
+
+#~ msgid "Employee"
+#~ msgstr "Funcionário"
+
+#~ msgid "Report deposit border"
+#~ msgstr "Relatório de deposito limite"
+
+#~ msgid "Auction report"
+#~ msgstr "Relatório do Leilão"
+
+#~ msgid "auction.lot.category"
+#~ msgstr "auction.lot.category"
+
+#~ msgid "Antique/Collectible & art objects"
+#~ msgstr "Antiguidade/Coleção&objectos de arte"
+
+#~ msgid "Buyer's auction"
+#~ msgstr "Leilão de Compradores"
+
+#~ msgid "Antique/Furnitures"
+#~ msgstr "Antiguidade/Móveis"
+
+#~ msgid "Unplanned Objects"
+#~ msgstr "Objectos não Planeados"
+
+#~ msgid "Numerotation (automatic)"
+#~ msgstr "Numeração (automatica)"
+
+#~ msgid "Amount to paid"
+#~ msgstr "Montante para pagar"
+
+#~ msgid "No of buyers"
+#~ msgstr "Nº de compradores"
+
+#~ msgid "Avg adjudication"
+#~ msgstr "Avg de Adjudicação"
+
+#~ msgid "Next Auction Dates"
+#~ msgstr "Próximas Datas de Leilão"
+
+#~ msgid "Report Sign In/Out"
+#~ msgstr "Relatória de Entrada/Saída"
+
+#~ msgid "Objects to sell"
+#~ msgstr "Objectos para vender"
+
+#~ msgid "Short Description"
+#~ msgstr "Pequena Descrição"
+
+#~ msgid "Employees"
+#~ msgstr "Funcionários"
+
+#~ msgid "Antique/Clocks and watches"
+#~ msgstr "Antiguidade/Relógio e relógios"
+
+#~ msgid "Antique/Scientific Instruments"
+#~ msgstr "Antiguidade/ Instrumentos Ciêntificos"
+
+#~ msgid "Confirmation enable taken away"
+#~ msgstr "Confirmar a permissão de retirada"
+
+#~ msgid "Sum of adjustication"
+#~ msgstr "Soma de adjudicação"
+
+#~ msgid "Antique/Wine"
+#~ msgstr "Antiguidade/Vinhos"
+
+#~ msgid "Antique/African Arts"
+#~ msgstr "Antiguidade/Artes Africanas"
+
+#~ msgid "Antique/Posters"
+#~ msgstr "Antiguidade/Cartazes"
+
+#~ msgid "Create Invoices For Seller"
+#~ msgstr "Criar faturas para o vendedor"
+
+#~ msgid "Invalid model name in the action definition."
+#~ msgstr "Nome de modelo inválido na definição da ação"
+
+#~ msgid "Error: Sign in (resp. Sign out) must follow Sign out (resp. Sign in)"
+#~ msgstr "Erro: Entrada (Saída) deve ser seguida de Saída (Entrada)"
+
+#~ msgid "Error ! You can not create recursive accounts."
+#~ msgstr "Erro! Não pode criar contas recursivamente."
+
+#~ msgid "Invalid XML for View Architecture!"
+#~ msgstr "XML inválido para a arquitetura da vista"
+
+#~ msgid "Error: Invalid ean code"
+#~ msgstr "Erro: Código EAN inválido"
+
+#~ msgid ""
+#~ "The Object name must start with x_ and not contain any special character !"
+#~ msgstr ""
+#~ "O nome do Objeto deve começar com x_ e não pode conter nenhum caracter "
+#~ "especial !"
+
+#~ msgid "Create Invoices For Buyer"
+#~ msgstr "Criar faturas para o comprador"
+
+#~ msgid "Auction Reporting on seller view"
+#~ msgstr "Relatório do Leilão na vista do vendedor"
+
+#~ msgid "Error: UOS must be in a different category than the UOM"
+#~ msgstr "Erro: UdV deve estar numa categoria diferente da UdM"
+
+#~ msgid "Auction buyer reporting form view"
+#~ msgstr "Formulário do comprador do Leilão"
+
+#~ msgid "Auction reporting2 form view"
+#~ msgstr "Formulário de relatorios do Leilão"
diff --git a/addons/auth_openid/i18n/gu.po b/addons/auth_openid/i18n/gu.po
new file mode 100644
index 00000000000..20022b1dfa6
--- /dev/null
+++ b/addons/auth_openid/i18n/gu.po
@@ -0,0 +1,112 @@
+# Gujarati translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 01:37+0100\n"
+"PO-Revision-Date: 2012-05-31 11:08+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Gujarati <gu@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. #-#-#-#-# auth_openid.pot (OpenERP Server 6.1rc1) #-#-#-#-#
+#. module: auth_openid
+#. #-#-#-#-# auth_openid.pot.web (PROJECT VERSION) #-#-#-#-#
+#. openerp-web
+#: view:res.users:0
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:12
+msgid "OpenID"
+msgstr ""
+
+#. #-#-#-#-# auth_openid.pot (OpenERP Server 6.1rc1) #-#-#-#-#
+#. module: auth_openid
+#. #-#-#-#-# auth_openid.pot.web (PROJECT VERSION) #-#-#-#-#
+#. openerp-web
+#: field:res.users,openid_url:0
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:47
+msgid "OpenID URL"
+msgstr ""
+
+#. module: auth_openid
+#: help:res.users,openid_email:0
+msgid "Used for disambiguation in case of a shared OpenID URL"
+msgstr ""
+
+#. module: auth_openid
+#: sql_constraint:res.users:0
+msgid "You can not have two users with the same login !"
+msgstr "તમે બે વપરાશકર્તાઓને એક જ લોગીન ન કરી શકો!"
+
+#. module: auth_openid
+#: field:res.users,openid_email:0
+msgid "OpenID Email"
+msgstr ""
+
+#. module: auth_openid
+#: constraint:res.users:0
+msgid "The chosen company is not in the allowed companies for this user"
+msgstr "પસંદ કરેલ કંપની માન્ય કંપનીઓમાં આ વપરાશકર્તા માટે નથી"
+
+#. module: auth_openid
+#: field:res.users,openid_key:0
+msgid "OpenID Key"
+msgstr ""
+
+#. module: auth_openid
+#: model:ir.model,name:auth_openid.model_res_users
+msgid "res.users"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:8
+msgid "Password"
+msgstr "પાસવર્ડ"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:9
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:10
+msgid "Google"
+msgstr "ગુગલ"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:10
+msgid "Google Apps"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:11
+msgid "Launchpad"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:20
+msgid "Google Apps Domain:"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:24
+msgid "Username:"
+msgstr "વપરાશકર્તાનું નામ:"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:28
+msgid "OpenID URL:"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:35
+msgid "Google Apps Domain"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:41
+msgid "Username"
+msgstr "વપરાશકર્તા નામ"
diff --git a/addons/auth_openid/i18n/ro.po b/addons/auth_openid/i18n/ro.po
new file mode 100644
index 00000000000..b239f88da35
--- /dev/null
+++ b/addons/auth_openid/i18n/ro.po
@@ -0,0 +1,113 @@
+# Romanian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 01:37+0100\n"
+"PO-Revision-Date: 2012-05-21 17:32+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Romanian <ro@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. #-#-#-#-# auth_openid.pot (OpenERP Server 6.1rc1) #-#-#-#-#
+#. module: auth_openid
+#. #-#-#-#-# auth_openid.pot.web (PROJECT VERSION) #-#-#-#-#
+#. openerp-web
+#: view:res.users:0
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:12
+msgid "OpenID"
+msgstr "OpenID"
+
+#. #-#-#-#-# auth_openid.pot (OpenERP Server 6.1rc1) #-#-#-#-#
+#. module: auth_openid
+#. #-#-#-#-# auth_openid.pot.web (PROJECT VERSION) #-#-#-#-#
+#. openerp-web
+#: field:res.users,openid_url:0
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:47
+msgid "OpenID URL"
+msgstr "URL OpenID"
+
+#. module: auth_openid
+#: help:res.users,openid_email:0
+msgid "Used for disambiguation in case of a shared OpenID URL"
+msgstr "Folosit pentru evitarea ambiguitatii in cazul unui URL OpenID"
+
+#. module: auth_openid
+#: sql_constraint:res.users:0
+msgid "You can not have two users with the same login !"
+msgstr "Nu pot exista doi utilizatori cu acelasi nume de autentificare !"
+
+#. module: auth_openid
+#: field:res.users,openid_email:0
+msgid "OpenID Email"
+msgstr "E-mail OpenID"
+
+#. module: auth_openid
+#: constraint:res.users:0
+msgid "The chosen company is not in the allowed companies for this user"
+msgstr ""
+"Compania aleasa nu se afla printre companiile permise acestui utilizator"
+
+#. module: auth_openid
+#: field:res.users,openid_key:0
+msgid "OpenID Key"
+msgstr "Cheie OpenID"
+
+#. module: auth_openid
+#: model:ir.model,name:auth_openid.model_res_users
+msgid "res.users"
+msgstr "res.utilizatori"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:8
+msgid "Password"
+msgstr "Parola"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:9
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:10
+msgid "Google"
+msgstr "Google"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:10
+msgid "Google Apps"
+msgstr "Google Apps"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:11
+msgid "Launchpad"
+msgstr "Launchpad"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:20
+msgid "Google Apps Domain:"
+msgstr "Domeniu Google Apps:"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:24
+msgid "Username:"
+msgstr "Nume de utilizator:"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:28
+msgid "OpenID URL:"
+msgstr "URL OpenID:"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:35
+msgid "Google Apps Domain"
+msgstr "Domeniu Google Apps"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:41
+msgid "Username"
+msgstr "Nume de utilizator"
diff --git a/addons/base_calendar/i18n/ja.po b/addons/base_calendar/i18n/ja.po
index 79432f88c3f..86889b89ef7 100644
--- a/addons/base_calendar/i18n/ja.po
+++ b/addons/base_calendar/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2012-05-19 05:06+0000\n"
+"PO-Revision-Date: 2012-05-23 06:06+0000\n"
"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-20 04:38+0000\n"
-"X-Generator: Launchpad (build 15259)\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: base_calendar
#: view:calendar.attendee:0
@@ -77,7 +77,7 @@ msgstr "招待"
#: help:calendar.event,recurrency:0
#: help:calendar.todo,recurrency:0
msgid "Recurrent Meeting"
-msgstr "定例ミーティング"
+msgstr "定期ミーティング"
#. module: base_calendar
#: model:ir.actions.act_window,name:base_calendar.action_res_alarm_view
@@ -255,95 +255,95 @@ msgstr "エラー"
#. module: base_calendar
#: selection:calendar.attendee,role:0
msgid "Chair Person"
-msgstr ""
+msgstr "議長"
#. module: base_calendar
#: selection:calendar.alarm,action:0
msgid "Procedure"
-msgstr ""
+msgstr "手続き"
#. module: base_calendar
#: code:addons/base_calendar/base_calendar.py:1004
#, python-format
msgid "Interval cannot be negative"
-msgstr ""
+msgstr "間隔は負の値を持てません。"
#. module: base_calendar
#: selection:calendar.event,state:0
#: selection:calendar.todo,state:0
msgid "Cancelled"
-msgstr ""
+msgstr "キャンセル済"
#. module: base_calendar
#: code:addons/base_calendar/wizard/base_calendar_invite_attendee.py:143
#, python-format
msgid "%s must have an email address to send mail"
-msgstr ""
+msgstr "%sはメール送信用のEメールアドレスを持つべきです。"
#. module: base_calendar
#: selection:calendar.alarm,trigger_interval:0
#: selection:res.alarm,trigger_interval:0
msgid "Minutes"
-msgstr ""
+msgstr "分"
#. module: base_calendar
#: selection:calendar.alarm,action:0
msgid "Display"
-msgstr ""
+msgstr "表示"
#. module: base_calendar
#: view:calendar.attendee:0
msgid "Invitation type"
-msgstr ""
+msgstr "招待タイプ"
#. module: base_calendar
#: help:calendar.attendee,state:0
msgid "Status of the attendee's participation"
-msgstr ""
+msgstr "出席者の参加の状況"
#. module: base_calendar
#: selection:calendar.alarm,trigger_related:0
#: selection:res.alarm,trigger_related:0
msgid "The event ends"
-msgstr ""
+msgstr "イベントの終了"
#. module: base_calendar
#: view:calendar.attendee:0
#: view:calendar.event:0
msgid "Group By..."
-msgstr ""
+msgstr "グループ化…"
#. module: base_calendar
#: help:base_calendar.invite.attendee,email:0
msgid "Provide external email address who will receive this invitation."
-msgstr ""
+msgstr "この招待状を受け取る外部のEメールアドレスを提供して下さい。"
#. module: base_calendar
#: help:calendar.attendee,partner_id:0
msgid "Partner related to contact"
-msgstr ""
+msgstr "コンタクトと関係あるパートナ"
#. module: base_calendar
#: help:calendar.attendee,cutype:0
msgid "Specify the type of Invitation"
-msgstr ""
+msgstr "招待タイプを定義して下さい。"
#. module: base_calendar
#: field:calendar.alarm,event_end_date:0
#: field:calendar.attendee,event_end_date:0
msgid "Event End Date"
-msgstr ""
+msgstr "イベント終了日"
#. module: base_calendar
#: selection:calendar.attendee,role:0
msgid "Optional Participation"
-msgstr ""
+msgstr "任意の参加"
#. module: base_calendar
#: field:calendar.event,date_deadline:0
#: field:calendar.todo,date_deadline:0
msgid "Deadline"
-msgstr ""
+msgstr "期限"
#. module: base_calendar
#: code:addons/base_calendar/base_calendar.py:389
@@ -351,7 +351,7 @@ msgstr ""
#: code:addons/base_calendar/base_calendar.py:1006
#, python-format
msgid "Warning!"
-msgstr ""
+msgstr "警告"
#. module: base_calendar
#: help:calendar.event,active:0
@@ -359,14 +359,14 @@ msgstr ""
msgid ""
"If the active field is set to true, it will allow you to hide the "
"event alarm information without removing it."
-msgstr ""
+msgstr "アクティブ項目をTrueに設定した場合,イベントアラーム情報を削除することなく,非表示にできます。"
#. module: base_calendar
#: field:base_calendar.invite.attendee,partner_id:0
#: view:calendar.attendee:0
#: field:calendar.attendee,partner_id:0
msgid "Partner"
-msgstr ""
+msgstr "パートナ"
#. module: base_calendar
#: field:calendar.event,organizer:0
@@ -374,7 +374,7 @@ msgstr ""
#: field:calendar.todo,organizer:0
#: field:calendar.todo,organizer_id:0
msgid "Organizer"
-msgstr ""
+msgstr "主催者"
#. module: base_calendar
#: view:calendar.attendee:0
@@ -382,443 +382,443 @@ msgstr ""
#: field:calendar.event,user_id:0
#: field:calendar.todo,user_id:0
msgid "Responsible"
-msgstr ""
+msgstr "責任者"
#. module: base_calendar
#: view:calendar.event:0
#: model:res.request.link,name:base_calendar.request_link_meeting
msgid "Event"
-msgstr ""
+msgstr "イベント"
#. module: base_calendar
#: selection:calendar.alarm,trigger_occurs:0
#: selection:res.alarm,trigger_occurs:0
msgid "Before"
-msgstr ""
+msgstr "変更前"
#. module: base_calendar
#: view:calendar.event:0
#: selection:calendar.event,state:0
#: selection:calendar.todo,state:0
msgid "Confirmed"
-msgstr ""
+msgstr "確認済"
#. module: base_calendar
#: field:calendar.alarm,attendee_ids:0
#: field:calendar.event,attendee_ids:0
#: field:calendar.todo,attendee_ids:0
msgid "Attendees"
-msgstr ""
+msgstr "出席者"
#. module: base_calendar
#: code:addons/base_calendar/base_calendar.py:1411
#, python-format
msgid "Group by date not supported, use the calendar view instead"
-msgstr ""
+msgstr "日付のグループ化はサポートされませんが、代りにカレンダービューを使って下さい。"
#. module: base_calendar
#: view:calendar.event:0
msgid "Confirm"
-msgstr ""
+msgstr "確認"
#. module: base_calendar
#: model:ir.model,name:base_calendar.model_calendar_todo
msgid "Calendar Task"
-msgstr ""
+msgstr "カレンダータスク"
#. module: base_calendar
#: field:calendar.event,su:0
#: field:calendar.todo,su:0
msgid "Sun"
-msgstr ""
+msgstr "日"
#. module: base_calendar
#: field:calendar.attendee,cutype:0
msgid "Invite Type"
-msgstr ""
+msgstr "招待タイプ"
#. module: base_calendar
#: view:res.alarm:0
msgid "Reminder details"
-msgstr ""
+msgstr "通知詳細"
#. module: base_calendar
#: field:calendar.attendee,parent_ids:0
msgid "Delegrated From"
-msgstr ""
+msgstr "委任元"
#. module: base_calendar
#: selection:calendar.event,select1:0
#: selection:calendar.todo,select1:0
msgid "Day of month"
-msgstr ""
+msgstr "月の日"
#. module: base_calendar
#: view:calendar.event:0
#: field:calendar.event,location:0
#: field:calendar.todo,location:0
msgid "Location"
-msgstr ""
+msgstr "場所"
#. module: base_calendar
#: selection:calendar.event,class:0
#: selection:calendar.todo,class:0
msgid "Public for Employees"
-msgstr ""
+msgstr "従業員の一般"
#. module: base_calendar
#: field:base_calendar.invite.attendee,send_mail:0
msgid "Send mail?"
-msgstr ""
+msgstr "メール送信しますか?"
#. module: base_calendar
#: field:base_calendar.invite.attendee,email:0
#: selection:calendar.alarm,action:0
#: field:calendar.attendee,email:0
msgid "Email"
-msgstr ""
+msgstr "Eメール"
#. module: base_calendar
#: view:calendar.attendee:0
msgid "Event Detail"
-msgstr ""
+msgstr "イベント詳細"
#. module: base_calendar
#: selection:calendar.alarm,state:0
msgid "Run"
-msgstr ""
+msgstr "実行"
#. module: base_calendar
#: field:calendar.event,exdate:0
#: field:calendar.todo,exdate:0
msgid "Exception Date/Times"
-msgstr ""
+msgstr "例外の日付 / 時間"
#. module: base_calendar
#: field:calendar.event,end_date:0
#: field:calendar.todo,end_date:0
msgid "Repeat Until"
-msgstr ""
+msgstr "繰り返し(まで)"
#. module: base_calendar
#: model:ir.actions.act_window,help:base_calendar.action_res_alarm_view
msgid ""
"Create specific calendar alarms that may be assigned to calendar events or "
"meetings."
-msgstr ""
+msgstr "カレンダーイベントまたはミーティングを割り当てられる特定のカレンダーアラームを作成して下さい。"
#. module: base_calendar
#: field:calendar.event,show_as:0
#: field:calendar.todo,show_as:0
msgid "Show as"
-msgstr ""
+msgstr "見せる(として)"
#. module: base_calendar
#: view:calendar.event:0
msgid "Visibility"
-msgstr ""
+msgstr "視界"
#. module: base_calendar
#: field:calendar.attendee,rsvp:0
msgid "Required Reply?"
-msgstr ""
+msgstr "返信が必要ですか?"
#. module: base_calendar
#: field:calendar.event,base_calendar_url:0
#: field:calendar.todo,base_calendar_url:0
msgid "Caldav URL"
-msgstr ""
+msgstr "CalDAVのURL"
#. module: base_calendar
#: field:calendar.event,recurrent_uid:0
#: field:calendar.todo,recurrent_uid:0
msgid "Recurrent ID"
-msgstr ""
+msgstr "定期ID"
#. module: base_calendar
#: selection:calendar.event,month_list:0
#: selection:calendar.todo,month_list:0
msgid "July"
-msgstr ""
+msgstr "7月"
#. module: base_calendar
#: view:calendar.attendee:0
#: selection:calendar.attendee,state:0
msgid "Accepted"
-msgstr ""
+msgstr "受諾済"
#. module: base_calendar
#: field:calendar.event,th:0
#: field:calendar.todo,th:0
msgid "Thu"
-msgstr ""
+msgstr "木"
#. module: base_calendar
#: field:calendar.attendee,child_ids:0
msgid "Delegrated To"
-msgstr ""
+msgstr "委任先"
#. module: base_calendar
#: view:calendar.event:0
msgid "To"
-msgstr ""
+msgstr "終了"
#. module: base_calendar
#: view:calendar.attendee:0
msgid "Required Reply"
-msgstr ""
+msgstr "返信要求"
#. module: base_calendar
#: selection:calendar.attendee,role:0
msgid "Participation required"
-msgstr ""
+msgstr "参加必須"
#. module: base_calendar
#: field:calendar.event,create_date:0
#: field:calendar.todo,create_date:0
msgid "Created"
-msgstr ""
+msgstr "作成済"
#. module: base_calendar
#: sql_constraint:ir.model:0
msgid "Each model must be unique!"
-msgstr ""
+msgstr "各モジュールは固有でなければなりません。"
#. module: base_calendar
#: selection:calendar.event,rrule_type:0
#: selection:calendar.todo,rrule_type:0
msgid "Daily"
-msgstr ""
+msgstr "日次"
#. module: base_calendar
#: field:calendar.event,class:0
#: field:calendar.todo,class:0
msgid "Mark as"
-msgstr ""
+msgstr "マーク"
#. module: base_calendar
#: view:calendar.attendee:0
#: field:calendar.attendee,partner_address_id:0
msgid "Contact"
-msgstr ""
+msgstr "連絡先"
#. module: base_calendar
#: help:calendar.event,rrule_type:0
#: help:calendar.todo,rrule_type:0
msgid "Let the event automatically repeat at that interval"
-msgstr ""
+msgstr "イベントをその間隔で自動的に繰り返します。"
#. module: base_calendar
#: view:calendar.attendee:0
#: view:calendar.event:0
msgid "Delegate"
-msgstr ""
+msgstr "委任"
#. module: base_calendar
#: view:base_calendar.invite.attendee:0
#: selection:base_calendar.invite.attendee,type:0
msgid "Partner Contacts"
-msgstr ""
+msgstr "パートナ連絡先"
#. module: base_calendar
#: selection:calendar.event,byday:0
#: selection:calendar.todo,byday:0
msgid "First"
-msgstr ""
+msgstr "先頭"
#. module: base_calendar
#: view:calendar.event:0
msgid "Privacy"
-msgstr ""
+msgstr "プライバシー"
#. module: base_calendar
#: field:calendar.event,vtimezone:0
#: field:calendar.todo,vtimezone:0
msgid "Timezone"
-msgstr ""
+msgstr "タイムゾーン"
#. module: base_calendar
#: view:calendar.event:0
msgid "Subject"
-msgstr ""
+msgstr "件名"
#. module: base_calendar
#: selection:calendar.attendee,state:0
msgid "Needs Action"
-msgstr ""
+msgstr "要アクション"
#. module: base_calendar
#: selection:calendar.event,month_list:0
#: selection:calendar.todo,month_list:0
msgid "September"
-msgstr ""
+msgstr "9月"
#. module: base_calendar
#: selection:calendar.event,month_list:0
#: selection:calendar.todo,month_list:0
msgid "December"
-msgstr ""
+msgstr "12月"
#. module: base_calendar
#: help:base_calendar.invite.attendee,send_mail:0
msgid "Check this if you want to send an Email to Invited Person"
-msgstr ""
+msgstr "招待者にEメールを送信したい場合は、ここをチェックして下さい。"
#. module: base_calendar
#: view:calendar.event:0
msgid "Availability"
-msgstr ""
+msgstr "利用可能"
#. module: base_calendar
#: selection:calendar.attendee,cutype:0
msgid "Individual"
-msgstr ""
+msgstr "個人"
#. module: base_calendar
#: help:calendar.event,count:0
#: help:calendar.todo,count:0
msgid "Repeat x times"
-msgstr ""
+msgstr "n回繰り返し"
#. module: base_calendar
#: field:calendar.alarm,user_id:0
msgid "Owner"
-msgstr ""
+msgstr "所有者"
#. module: base_calendar
#: view:calendar.attendee:0
msgid "Delegation Info"
-msgstr ""
+msgstr "委任情報"
#. module: base_calendar
#: view:calendar.event:0
msgid "Start Date"
-msgstr ""
+msgstr "開始日"
#. module: base_calendar
#: field:calendar.attendee,cn:0
msgid "Common name"
-msgstr ""
+msgstr "一般名"
#. module: base_calendar
#: view:calendar.attendee:0
#: selection:calendar.attendee,state:0
msgid "Declined"
-msgstr ""
+msgstr "拒否済"
#. module: base_calendar
#: view:calendar.attendee:0
msgid "My Role"
-msgstr ""
+msgstr "私の役割"
#. module: base_calendar
#: view:calendar.event:0
msgid "My Events"
-msgstr ""
+msgstr "私のイベント"
#. module: base_calendar
#: view:calendar.attendee:0
#: view:calendar.event:0
msgid "Decline"
-msgstr ""
+msgstr "拒否"
#. module: base_calendar
#: selection:calendar.attendee,cutype:0
msgid "Group"
-msgstr ""
+msgstr "グループ"
#. module: base_calendar
#: selection:calendar.event,class:0
#: selection:calendar.todo,class:0
msgid "Private"
-msgstr ""
+msgstr "非公開"
#. module: base_calendar
#: field:base_calendar.invite.attendee,contact_ids:0
msgid "Contacts"
-msgstr ""
+msgstr "コンタクト"
#. module: base_calendar
#: model:ir.model,name:base_calendar.model_res_alarm
msgid "Basic Alarm Information"
-msgstr ""
+msgstr "基本アラーム情報"
#. module: base_calendar
#: field:calendar.event,fr:0
#: field:calendar.todo,fr:0
msgid "Fri"
-msgstr ""
+msgstr "金"
#. module: base_calendar
#: selection:calendar.alarm,trigger_interval:0
#: selection:res.alarm,trigger_interval:0
msgid "Hours"
-msgstr ""
+msgstr "時間"
#. module: base_calendar
#: view:calendar.attendee:0
#: view:calendar.event:0
msgid "Invitation Detail"
-msgstr ""
+msgstr "招待の詳細"
#. module: base_calendar
#: field:calendar.attendee,member:0
msgid "Member"
-msgstr ""
+msgstr "メンバー"
#. module: base_calendar
#: view:calendar.event:0
msgid "From"
-msgstr ""
+msgstr "開始"
#. module: base_calendar
#: field:calendar.event,rrule:0
#: field:calendar.todo,rrule:0
msgid "Recurrent Rule"
-msgstr ""
+msgstr "定期ルール"
#. module: base_calendar
#: selection:calendar.alarm,state:0
msgid "Draft"
-msgstr ""
+msgstr "ドラフト"
#. module: base_calendar
#: field:calendar.alarm,attach:0
msgid "Attachment"
-msgstr ""
+msgstr "添付"
#. module: base_calendar
#: view:calendar.attendee:0
msgid "Invitation From"
-msgstr ""
+msgstr "招待フォーム"
#. module: base_calendar
#: view:calendar.event:0
msgid "End of Recurrency"
-msgstr ""
+msgstr "定期の終了"
#. module: base_calendar
#: view:calendar.event:0
msgid "Reminder"
-msgstr ""
+msgstr "通知"
#. module: base_calendar
#: view:calendar.event:0
#: model:ir.actions.act_window,name:base_calendar.action_view_event
#: model:ir.ui.menu,name:base_calendar.menu_events
msgid "Events"
-msgstr ""
+msgstr "イベント"
#. module: base_calendar
#: model:ir.actions.act_window,name:base_calendar.action_view_calendar_invite_attendee_wizard
#: model:ir.model,name:base_calendar.model_base_calendar_invite_attendee
msgid "Invite Attendees"
-msgstr ""
+msgstr "出席者の招待"
#. module: base_calendar
#: help:calendar.attendee,email:0
msgid "Email of Invited Person"
-msgstr ""
+msgstr "招待者のEメール"
#. module: base_calendar
#: field:calendar.alarm,repeat:0
@@ -826,100 +826,100 @@ msgstr ""
#: field:calendar.todo,count:0
#: field:res.alarm,repeat:0
msgid "Repeat"
-msgstr ""
+msgstr "繰り返し"
#. module: base_calendar
#: help:calendar.attendee,dir:0
msgid ""
"Reference to the URIthat points to the directory information corresponding "
"to the attendee."
-msgstr ""
+msgstr "出席者に対応しているディレクトリ情報を指し示すURIへの参照"
#. module: base_calendar
#: selection:calendar.event,month_list:0
#: selection:calendar.todo,month_list:0
msgid "August"
-msgstr ""
+msgstr "8月"
#. module: base_calendar
#: selection:calendar.event,week_list:0
#: selection:calendar.todo,week_list:0
msgid "Monday"
-msgstr ""
+msgstr "月曜"
#. module: base_calendar
#: model:ir.model,name:base_calendar.model_ir_model
msgid "Models"
-msgstr ""
+msgstr "モデル"
#. module: base_calendar
#: selection:calendar.event,month_list:0
#: selection:calendar.todo,month_list:0
msgid "June"
-msgstr ""
+msgstr "6月"
#. module: base_calendar
#: field:calendar.alarm,event_date:0
#: field:calendar.attendee,event_date:0
#: view:calendar.event:0
msgid "Event Date"
-msgstr ""
+msgstr "イベント日"
#. module: base_calendar
#: selection:calendar.event,end_type:0
#: selection:calendar.todo,end_type:0
msgid "Number of repetitions"
-msgstr ""
+msgstr "繰り返し数"
#. module: base_calendar
#: view:calendar.event:0
msgid "The"
-msgstr ""
+msgstr "・"
#. module: base_calendar
#: view:calendar.attendee:0
#: field:calendar.attendee,delegated_from:0
msgid "Delegated From"
-msgstr ""
+msgstr "委任元"
#. module: base_calendar
#: field:calendar.attendee,user_id:0
msgid "User"
-msgstr ""
+msgstr "ユーザ"
#. module: base_calendar
#: view:calendar.event:0
#: field:calendar.event,date:0
msgid "Date"
-msgstr ""
+msgstr "日付"
#. module: base_calendar
#: selection:calendar.event,month_list:0
#: selection:calendar.todo,month_list:0
msgid "November"
-msgstr ""
+msgstr "11月"
#. module: base_calendar
#: help:calendar.attendee,member:0
msgid "Indicate the groups that the attendee belongs to"
-msgstr ""
+msgstr "出席者が属すグループを示して下さい。"
#. module: base_calendar
#: view:base_calendar.invite.attendee:0
msgid "Data"
-msgstr ""
+msgstr "データ"
#. module: base_calendar
#: field:calendar.event,end_type:0
#: field:calendar.todo,end_type:0
msgid "Recurrence termination"
-msgstr ""
+msgstr "定期の終了"
#. module: base_calendar
#: field:calendar.event,mo:0
#: field:calendar.todo,mo:0
msgid "Mon"
-msgstr ""
+msgstr "月"
#. module: base_calendar
#: view:calendar.attendee:0
@@ -930,30 +930,30 @@ msgstr "レビューのための招待"
#: selection:calendar.event,month_list:0
#: selection:calendar.todo,month_list:0
msgid "October"
-msgstr ""
+msgstr "10月"
#. module: base_calendar
#: view:calendar.attendee:0
#: view:calendar.event:0
msgid "Uncertain"
-msgstr ""
+msgstr "不確実"
#. module: base_calendar
#: field:calendar.attendee,language:0
msgid "Language"
-msgstr ""
+msgstr "言語"
#. module: base_calendar
#: field:calendar.alarm,trigger_occurs:0
#: field:res.alarm,trigger_occurs:0
msgid "Triggers"
-msgstr ""
+msgstr "トリガー"
#. module: base_calendar
#: selection:calendar.event,month_list:0
#: selection:calendar.todo,month_list:0
msgid "January"
-msgstr ""
+msgstr "1月"
#. module: base_calendar
#: view:calendar.attendee:0
@@ -964,19 +964,19 @@ msgstr "委任された招待"
#: field:calendar.alarm,trigger_interval:0
#: field:res.alarm,trigger_interval:0
msgid "Interval"
-msgstr ""
+msgstr "間隔"
#. module: base_calendar
#: selection:calendar.event,week_list:0
#: selection:calendar.todo,week_list:0
msgid "Wednesday"
-msgstr ""
+msgstr "水曜"
#. module: base_calendar
#: field:calendar.alarm,name:0
#: view:calendar.event:0
msgid "Summary"
-msgstr ""
+msgstr "要約"
#. module: base_calendar
#: field:calendar.alarm,active:0
@@ -984,28 +984,28 @@ msgstr ""
#: field:calendar.todo,active:0
#: field:res.alarm,active:0
msgid "Active"
-msgstr ""
+msgstr "アクティブ"
#. module: base_calendar
#: code:addons/base_calendar/base_calendar.py:389
#, python-format
msgid "You cannot duplicate a calendar attendee."
-msgstr ""
+msgstr "カレンダーの出席者は重複できません。"
#. module: base_calendar
#: view:calendar.event:0
msgid "Choose day in the month where repeat the meeting"
-msgstr ""
+msgstr "ミーティングを定期的に行う場合は月の日を選択して下さい。"
#. module: base_calendar
#: field:calendar.alarm,action:0
msgid "Action"
-msgstr ""
+msgstr "アクション"
#. module: base_calendar
#: help:base_calendar.invite.attendee,type:0
msgid "Select whom you want to Invite"
-msgstr ""
+msgstr "招待したい人を選択して下さい。"
#. module: base_calendar
#: help:calendar.alarm,duration:0
@@ -1013,50 +1013,50 @@ msgstr ""
msgid ""
"Duration' and 'Repeat' are both optional, but if one occurs, so MUST the "
"other"
-msgstr ""
+msgstr "継続期間と繰り返しは両方オプションです。しかし、片方が生じるなら他も必要です。"
#. module: base_calendar
#: view:calendar.attendee:0
msgid "Required to Join"
-msgstr ""
+msgstr "参加要請"
#. module: base_calendar
#: help:calendar.attendee,role:0
msgid "Participation role for the calendar user"
-msgstr ""
+msgstr "カレンダーユーザのための関連する役割"
#. module: base_calendar
#: view:calendar.attendee:0
#: field:calendar.attendee,delegated_to:0
msgid "Delegated To"
-msgstr ""
+msgstr "委任先"
#. module: base_calendar
#: help:calendar.alarm,action:0
msgid "Defines the action to be invoked when an alarm is triggered"
-msgstr ""
+msgstr "アラームが起動する時に発動するアクションを定義して下さい。"
#. module: base_calendar
#: selection:calendar.event,end_type:0
#: selection:calendar.todo,end_type:0
msgid "End date"
-msgstr ""
+msgstr "終了日"
#. module: base_calendar
#: view:calendar.event:0
msgid "Search Events"
-msgstr ""
+msgstr "イベントの検索"
#. module: base_calendar
#: view:calendar.event:0
msgid "Recurrency Option"
-msgstr ""
+msgstr "定期のオプション"
#. module: base_calendar
#: selection:calendar.event,rrule_type:0
#: selection:calendar.todo,rrule_type:0
msgid "Weekly"
-msgstr ""
+msgstr "週次"
#. module: base_calendar
#: help:calendar.alarm,active:0
@@ -1064,18 +1064,18 @@ msgstr ""
msgid ""
"If the active field is set to true, it will allow you to hide the event "
"alarm information without removing it."
-msgstr ""
+msgstr "アクティブ項目をTrueに設定した場合、イベントアラーム情報を削除することなく非表示にできます。"
#. module: base_calendar
#: field:calendar.event,recurrent_id:0
#: field:calendar.todo,recurrent_id:0
msgid "Recurrent ID date"
-msgstr ""
+msgstr "定期ID日付"
#. module: base_calendar
#: sql_constraint:res.users:0
msgid "You can not have two users with the same login !"
-msgstr ""
+msgstr "同じログインでは2つのユーザを持てません。"
#. module: base_calendar
#: field:calendar.alarm,state:0
@@ -1085,40 +1085,40 @@ msgstr ""
#: field:calendar.event,state:0
#: field:calendar.todo,state:0
msgid "State"
-msgstr ""
+msgstr "状態"
#. module: base_calendar
#: view:res.alarm:0
msgid "Reminder Details"
-msgstr ""
+msgstr "通知の詳細"
#. module: base_calendar
#: view:calendar.attendee:0
msgid "To Review"
-msgstr ""
+msgstr "レビュー"
#. module: base_calendar
#: selection:calendar.alarm,state:0
msgid "Done"
-msgstr ""
+msgstr "完了"
#. module: base_calendar
#: help:calendar.event,interval:0
#: help:calendar.todo,interval:0
msgid "Repeat every (Days/Week/Month/Year)"
-msgstr ""
+msgstr "反復間隔(日 / 週 / 月 / 年)"
#. module: base_calendar
#: view:base_calendar.invite.attendee:0
#: field:base_calendar.invite.attendee,user_ids:0
msgid "Users"
-msgstr ""
+msgstr "ユーザ"
#. module: base_calendar
#: view:base_calendar.invite.attendee:0
#: view:calendar.event:0
msgid "Cancel"
-msgstr ""
+msgstr "キャンセル"
#. module: base_calendar
#: model:ir.model,name:base_calendar.model_res_users
@@ -1129,7 +1129,7 @@ msgstr ""
#: selection:calendar.event,week_list:0
#: selection:calendar.todo,week_list:0
msgid "Tuesday"
-msgstr ""
+msgstr "火曜"
#. module: base_calendar
#: help:calendar.alarm,description:0
@@ -1137,12 +1137,12 @@ msgid ""
"Provides a more complete description of the "
"calendar component, than that provided by the "
"\"SUMMARY\" property"
-msgstr ""
+msgstr "要約プロパティによって提供されるよりも、より完全なカレンダー構成の説明を提供します。"
#. module: base_calendar
#: view:calendar.event:0
msgid "Responsible User"
-msgstr ""
+msgstr "ユーザ責任者"
#. module: base_calendar
#: code:addons/base_calendar/base_calendar.py:1466
@@ -1152,37 +1152,37 @@ msgstr ""
#: selection:res.users,availability:0
#, python-format
msgid "Busy"
-msgstr ""
+msgstr "ビジー"
#. module: base_calendar
#: model:ir.model,name:base_calendar.model_calendar_event
msgid "Calendar Event"
-msgstr ""
+msgstr "カレンダーイベント"
#. module: base_calendar
#: selection:calendar.attendee,state:0
#: selection:calendar.event,state:0
#: selection:calendar.todo,state:0
msgid "Tentative"
-msgstr ""
+msgstr "暫定"
#. module: base_calendar
#: field:calendar.event,interval:0
#: field:calendar.todo,interval:0
msgid "Repeat every"
-msgstr ""
+msgstr "反復(間隔)"
#. module: base_calendar
#: field:calendar.event,recurrency:0
#: field:calendar.todo,recurrency:0
msgid "Recurrent"
-msgstr ""
+msgstr "定期"
#. module: base_calendar
#: help:calendar.event,location:0
#: help:calendar.todo,location:0
msgid "Location of Event"
-msgstr ""
+msgstr "イベント場所"
#. module: base_calendar
#: model:ir.actions.act_window,name:base_calendar.action_view_attendee_form
@@ -1194,24 +1194,24 @@ msgstr "イベントの招待"
#: selection:calendar.event,week_list:0
#: selection:calendar.todo,week_list:0
msgid "Thursday"
-msgstr ""
+msgstr "木曜"
#. module: base_calendar
#: field:calendar.event,exrule:0
#: field:calendar.todo,exrule:0
msgid "Exception Rule"
-msgstr ""
+msgstr "例外ルール"
#. module: base_calendar
#: help:calendar.attendee,language:0
msgid ""
"To specify the language for text values in aproperty or property parameter."
-msgstr ""
+msgstr "プロパティまたはプロパティパラメータのテキスト値の言語を指定します。"
#. module: base_calendar
#: view:calendar.event:0
msgid "Details"
-msgstr ""
+msgstr "詳細"
#. module: base_calendar
#: help:calendar.event,exrule:0
@@ -1219,29 +1219,29 @@ msgstr ""
msgid ""
"Defines a rule or repeating pattern of time to exclude from the recurring "
"rule."
-msgstr ""
+msgstr "ルールまたは反復ルールから除外あうする時間の繰り返しパターンを定義して下さい。"
#. module: base_calendar
#: field:calendar.event,month_list:0
#: field:calendar.todo,month_list:0
msgid "Month"
-msgstr ""
+msgstr "月"
#. module: base_calendar
#: view:base_calendar.invite.attendee:0
#: view:calendar.event:0
msgid "Invite People"
-msgstr ""
+msgstr "招待"
#. module: base_calendar
#: view:calendar.event:0
msgid "Confirmed Events"
-msgstr ""
+msgstr "確認済イベント"
#. module: base_calendar
#: field:calendar.attendee,dir:0
msgid "URI Reference"
-msgstr ""
+msgstr "URI参照"
#. module: base_calendar
#: field:calendar.alarm,description:0
@@ -1251,19 +1251,19 @@ msgstr ""
#: field:calendar.todo,description:0
#: field:calendar.todo,name:0
msgid "Description"
-msgstr ""
+msgstr "詳細"
#. module: base_calendar
#: selection:calendar.event,month_list:0
#: selection:calendar.todo,month_list:0
msgid "May"
-msgstr ""
+msgstr "5月"
#. module: base_calendar
#: field:base_calendar.invite.attendee,type:0
#: view:calendar.attendee:0
msgid "Type"
-msgstr ""
+msgstr "タイプ"
#. module: base_calendar
#: view:calendar.attendee:0
@@ -1274,12 +1274,12 @@ msgstr "招待の検索"
#: selection:calendar.alarm,trigger_occurs:0
#: selection:res.alarm,trigger_occurs:0
msgid "After"
-msgstr ""
+msgstr "変更後"
#. module: base_calendar
#: selection:calendar.alarm,state:0
msgid "Stop"
-msgstr ""
+msgstr "停止"
#. module: base_calendar
#: model:ir.model,name:base_calendar.model_ir_values
@@ -1295,62 +1295,62 @@ msgstr ""
#: view:calendar.attendee:0
#: selection:calendar.attendee,state:0
msgid "Delegated"
-msgstr ""
+msgstr "委任済"
#. module: base_calendar
#: field:calendar.event,sa:0
#: field:calendar.todo,sa:0
msgid "Sat"
-msgstr ""
+msgstr "土"
#. module: base_calendar
#: view:calendar.event:0
msgid "Choose day where repeat the meeting"
-msgstr ""
+msgstr "定例ミーティングの日を選択して下さい。"
#. module: base_calendar
#: field:calendar.alarm,trigger_related:0
#: field:res.alarm,trigger_related:0
msgid "Related to"
-msgstr ""
+msgstr "関連先"
#. module: base_calendar
#: help:calendar.attendee,sent_by:0
msgid "Specify the user that is acting on behalf of the calendar user"
-msgstr ""
+msgstr "カレンダーユーザのために行動しているユーザを指定してして下さい。"
#. module: base_calendar
#: view:calendar.event:0
msgid "End Date"
-msgstr ""
+msgstr "終了日"
#. module: base_calendar
#: selection:calendar.event,month_list:0
#: selection:calendar.todo,month_list:0
msgid "February"
-msgstr ""
+msgstr "2月"
#. module: base_calendar
#: selection:calendar.attendee,cutype:0
msgid "Resource"
-msgstr ""
+msgstr "リソース"
#. module: base_calendar
#: field:res.alarm,name:0
msgid "Name"
-msgstr ""
+msgstr "名称"
#. module: base_calendar
#: model:ir.model,name:base_calendar.model_calendar_alarm
msgid "Event alarm information"
-msgstr ""
+msgstr "イベントアラーム情報"
#. module: base_calendar
#: help:calendar.alarm,name:0
msgid ""
"Contains the text to be used as the message subject for "
"email or contains the text to be used for display"
-msgstr ""
+msgstr "Eメールのメッセージの件名として使用されるテキスト、あるいは表示に使用するためのテキストが含まれています。"
#. module: base_calendar
#: field:calendar.event,alarm_id:0
@@ -1358,45 +1358,45 @@ msgstr ""
#: field:calendar.todo,alarm_id:0
#: field:calendar.todo,base_calendar_alarm_id:0
msgid "Alarm"
-msgstr ""
+msgstr "アラーム"
#. module: base_calendar
#: field:calendar.attendee,sent_by_uid:0
msgid "Sent By User"
-msgstr ""
+msgstr "ユーザによる送信"
#. module: base_calendar
#: selection:calendar.event,month_list:0
#: selection:calendar.todo,month_list:0
msgid "April"
-msgstr ""
+msgstr "4月"
#. module: base_calendar
#: view:calendar.event:0
msgid "Recurrency period"
-msgstr ""
+msgstr "定期の期間"
#. module: base_calendar
#: field:calendar.event,week_list:0
#: field:calendar.todo,week_list:0
msgid "Weekday"
-msgstr ""
+msgstr "平日"
#. module: base_calendar
#: field:calendar.event,byday:0
#: field:calendar.todo,byday:0
msgid "By day"
-msgstr ""
+msgstr "日毎"
#. module: base_calendar
#: field:calendar.alarm,model_id:0
msgid "Model"
-msgstr ""
+msgstr "モデル"
#. module: base_calendar
#: selection:calendar.alarm,action:0
msgid "Audio"
-msgstr ""
+msgstr "音声"
#. module: base_calendar
#: field:calendar.event,id:0
@@ -1407,62 +1407,62 @@ msgstr ""
#. module: base_calendar
#: selection:calendar.attendee,role:0
msgid "For information Purpose"
-msgstr ""
+msgstr "情報目的のため"
#. module: base_calendar
#: view:base_calendar.invite.attendee:0
msgid "Invite"
-msgstr ""
+msgstr "招待"
#. module: base_calendar
#: model:ir.model,name:base_calendar.model_calendar_attendee
msgid "Attendee information"
-msgstr ""
+msgstr "出席者情報"
#. module: base_calendar
#: field:calendar.alarm,res_id:0
msgid "Resource ID"
-msgstr ""
+msgstr "リソースID"
#. module: base_calendar
#: code:addons/base_calendar/base_calendar.py:418
#, python-format
msgid "Couldn't Invite because date is not specified!"
-msgstr ""
+msgstr "日付が定義されていないため招待できません。"
#. module: base_calendar
#: field:calendar.attendee,sent_by:0
msgid "Sent By"
-msgstr ""
+msgstr "送信者"
#. module: base_calendar
#: field:calendar.event,sequence:0
#: field:calendar.todo,sequence:0
msgid "Sequence"
-msgstr ""
+msgstr "順序"
#. module: base_calendar
#: help:calendar.event,alarm_id:0
#: help:calendar.todo,alarm_id:0
msgid "Set an alarm at this time, before the event occurs"
-msgstr ""
+msgstr "イベントが発生する前に今回アラームを設定して下さい。"
#. module: base_calendar
#: selection:base_calendar.invite.attendee,type:0
msgid "Internal User"
-msgstr ""
+msgstr "内部ユーザ"
#. module: base_calendar
#: view:calendar.attendee:0
#: view:calendar.event:0
msgid "Accept"
-msgstr ""
+msgstr "受諾"
#. module: base_calendar
#: selection:calendar.event,week_list:0
#: selection:calendar.todo,week_list:0
msgid "Saturday"
-msgstr ""
+msgstr "土曜"
#. module: base_calendar
#: view:calendar.attendee:0
@@ -1473,13 +1473,13 @@ msgstr "招待先"
#: selection:calendar.event,byday:0
#: selection:calendar.todo,byday:0
msgid "Second"
-msgstr ""
+msgstr "秒"
#. module: base_calendar
#: field:calendar.attendee,availability:0
#: field:res.users,availability:0
msgid "Free/Busy"
-msgstr ""
+msgstr "空き / 済"
#. module: base_calendar
#: field:calendar.alarm,duration:0
@@ -1490,17 +1490,17 @@ msgstr ""
#: field:res.alarm,duration:0
#: field:res.alarm,trigger_duration:0
msgid "Duration"
-msgstr ""
+msgstr "期間"
#. module: base_calendar
#: selection:base_calendar.invite.attendee,type:0
msgid "External Email"
-msgstr ""
+msgstr "外部Eメール"
#. module: base_calendar
#: field:calendar.alarm,trigger_date:0
msgid "Trigger Date"
-msgstr ""
+msgstr "トリガー日"
#. module: base_calendar
#: help:calendar.alarm,attach:0
@@ -1512,9 +1512,12 @@ msgid ""
" * Points to a procedure resource, which is invoked when "
" the alarm is triggered for procedure."
msgstr ""
+"・ アラームが起動する時に発せられる音のリソースを指定して下さい。\n"
+" ・ ファイルはEメールにメッセージの添付として送信されます。\n"
+" ・ アラームが起動された時に処理される手続きのリソースを指定して下さい。"
#. module: base_calendar
#: selection:calendar.event,byday:0
#: selection:calendar.todo,byday:0
msgid "Fifth"
-msgstr ""
+msgstr "第5"
diff --git a/addons/base_iban/i18n/ja.po b/addons/base_iban/i18n/ja.po
index 6a23a021336..592190abca4 100644
--- a/addons/base_iban/i18n/ja.po
+++ b/addons/base_iban/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2012-04-08 06:11+0000\n"
-"Last-Translator: Masaki Yamaya <Unknown>\n"
+"PO-Revision-Date: 2012-05-23 06:14+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-04-09 04:56+0000\n"
-"X-Generator: Launchpad (build 15060)\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:08+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: base_iban
#: constraint:res.partner.bank:0
@@ -24,27 +24,29 @@ msgid ""
"Please define BIC/Swift code on bank for bank type IBAN Account to make "
"valid payments"
msgstr ""
+"\n"
+"正当な支払いを行うために銀行タイプIBAN口座のための銀行にBIC/Swiftコードを定義して下さい。"
#. module: base_iban
#: code:addons/base_iban/base_iban.py:139
#, python-format
msgid "This IBAN does not pass the validation check, please verify it"
-msgstr ""
+msgstr "このIBANは検証チェックを通過できません。それを確認して下さい。"
#. module: base_iban
#: model:res.partner.bank.type,format_layout:base_iban.bank_iban
msgid "%(bank_name)s: IBAN %(acc_number)s - BIC %(bank_bic)s"
-msgstr ""
+msgstr "%(bank_name)s:IBAN %(acc_number)s - BIC %(bank_bic)s"
#. module: base_iban
#: model:res.partner.bank.type.field,name:base_iban.bank_swift_field
msgid "bank_bic"
-msgstr ""
+msgstr "BIC(銀行特定コード)"
#. module: base_iban
#: model:res.partner.bank.type.field,name:base_iban.bank_zip_field
msgid "zip"
-msgstr ""
+msgstr "郵便番号"
#. module: base_iban
#: help:res.partner.bank,iban:0
@@ -59,7 +61,7 @@ msgstr "銀行口座"
#. module: base_iban
#: model:res.partner.bank.type.field,name:base_iban.bank_country_field
msgid "country_id"
-msgstr ""
+msgstr "国コード"
#. module: base_iban
#: code:addons/base_iban/base_iban.py:136
@@ -67,7 +69,7 @@ msgstr ""
msgid ""
"The IBAN does not seem to be correct. You should have entered something like "
"this %s"
-msgstr ""
+msgstr "このIBANは正しくないようです。次のように何かを入れるべきです:%s"
#. module: base_iban
#: field:res.partner.bank,iban:0
@@ -78,12 +80,12 @@ msgstr "国際銀行口座番号"
#: code:addons/base_iban/base_iban.py:140
#, python-format
msgid "The IBAN is invalid, it should begin with the country code"
-msgstr ""
+msgstr "このIBANは無効です。それは国コードから始まる必要があります。"
#. module: base_iban
#: model:res.partner.bank.type,name:base_iban.bank_iban
msgid "IBAN Account"
-msgstr ""
+msgstr "IBAN口座"
#. module: base_iban
#: constraint:res.partner.bank:0
diff --git a/addons/base_module_quality/i18n/ja.po b/addons/base_module_quality/i18n/ja.po
new file mode 100644
index 00000000000..3f2a0360c7c
--- /dev/null
+++ b/addons/base_module_quality/i18n/ja.po
@@ -0,0 +1,692 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-24 01:37+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/object_test/object_test.py:187
+#: code:addons/base_module_quality/object_test/object_test.py:204
+#: code:addons/base_module_quality/pep8_test/pep8_test.py:274
+#, python-format
+msgid "Suggestion"
+msgstr "提案"
+
+#. module: base_module_quality
+#: model:ir.actions.act_window,name:base_module_quality.action_view_quality_save_report
+#: view:save.report:0
+msgid "Standard Entries"
+msgstr "標準エントリー"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/base_module_quality.py:100
+#, python-format
+msgid "Programming Error"
+msgstr "プログラムエラー"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/method_test/method_test.py:31
+#, python-format
+msgid "Method Test"
+msgstr "メソッドのテスト"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/object_test/object_test.py:34
+#, python-format
+msgid ""
+"\n"
+"Test checks for fields, views, security rules, dependancy level\n"
+msgstr ""
+"\n"
+"項目、ビュー、セキュリティルール、依存関係レベルのテストをチェック\n"
+
+#. module: base_module_quality
+#: view:save.report:0
+msgid " "
+msgstr " "
+
+#. module: base_module_quality
+#: selection:module.quality.detail,state:0
+msgid "Skipped"
+msgstr "スキップ済"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/method_test/method_test.py:46
+#, python-format
+msgid "Module has no objects"
+msgstr "モジュールはオブジェクトを持っていません。"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:49
+#, python-format
+msgid "Speed Test"
+msgstr "速度テスト"
+
+#. module: base_module_quality
+#: model:ir.model,name:base_module_quality.model_quality_check
+msgid "Module Quality Check"
+msgstr "モジュール品質チェック"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/method_test/method_test.py:82
+#: code:addons/base_module_quality/object_test/object_test.py:187
+#: code:addons/base_module_quality/object_test/object_test.py:204
+#: code:addons/base_module_quality/pep8_test/pep8_test.py:274
+#: code:addons/base_module_quality/speed_test/speed_test.py:144
+#: code:addons/base_module_quality/speed_test/speed_test.py:151
+#: code:addons/base_module_quality/terp_test/terp_test.py:132
+#: code:addons/base_module_quality/workflow_test/workflow_test.py:143
+#, python-format
+msgid "Object Name"
+msgstr "オブジェクト名"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/method_test/method_test.py:54
+#: code:addons/base_module_quality/method_test/method_test.py:61
+#: code:addons/base_module_quality/method_test/method_test.py:68
+#, python-format
+msgid "Ok"
+msgstr "OK"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/terp_test/terp_test.py:34
+#, python-format
+msgid ""
+"This test checks if the module satisfies the current coding standard used by "
+"OpenERP."
+msgstr "このテストでは、このモジュールがOpenERPにより使用されている現在のコーディング基準を満たしているかをチェックします。"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/wizard/quality_save_report.py:39
+#, python-format
+msgid "No report to save!"
+msgstr "保存するレポートはありません。"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/object_test/object_test.py:177
+#, python-format
+msgid "Result of dependancy in %"
+msgstr "依存関係の結果(%)"
+
+#. module: base_module_quality
+#: help:module.quality.detail,state:0
+msgid ""
+"The test will be completed only if the module is installed or if the test "
+"may be processed on uninstalled module."
+msgstr ""
+"テストはモジュールがインストールがされている場合にのみ完了します。またはモジュールがアンインストールされた場合にもテストは実行されるかも知れません。"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/pylint_test/pylint_test.py:99
+#, python-format
+msgid "Result (/10)"
+msgstr "結果( / 10)"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/terp_test/terp_test.py:33
+#, python-format
+msgid "Terp Test"
+msgstr "Terpテスト"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/object_test/object_test.py:33
+#, python-format
+msgid "Object Test"
+msgstr "オブジェクトテスト"
+
+#. module: base_module_quality
+#: view:module.quality.detail:0
+msgid "Save Report"
+msgstr "レポートを保存"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/wizard/module_quality_check.py:43
+#: model:ir.actions.act_window,name:base_module_quality.act_base_module_quality
+#: view:quality.check:0
+#, python-format
+msgid "Quality Check"
+msgstr "品質チェック"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:128
+#, python-format
+msgid "Not Efficient"
+msgstr "非効率"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/wizard/quality_save_report.py:39
+#, python-format
+msgid "Warning"
+msgstr "警告"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/structure_test/structure_test.py:172
+#, python-format
+msgid "Feedback about structure of module"
+msgstr "モジュール構造についてのフィードバック"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/unit_test/unit_test.py:35
+#, python-format
+msgid "Unit Test"
+msgstr "単体テスト"
+
+#. module: base_module_quality
+#: view:quality.check:0
+msgid "Check"
+msgstr "チェック"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:151
+#, python-format
+msgid "Reading Complexity"
+msgstr "読み易さ"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/pep8_test/pep8_test.py:267
+#, python-format
+msgid "Result of pep8_test in %"
+msgstr "pep8テストの結果(%)"
+
+#. module: base_module_quality
+#: field:module.quality.detail,state:0
+msgid "State"
+msgstr "状態"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/unit_test/unit_test.py:50
+#, python-format
+msgid "Module does not have 'unit_test/test.py' file"
+msgstr "モジュールには\"unit_test/test.py\"ファイルがありません。"
+
+#. module: base_module_quality
+#: field:module.quality.detail,ponderation:0
+msgid "Ponderation"
+msgstr "熟考"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/object_test/object_test.py:177
+#, python-format
+msgid "Result of Security in %"
+msgstr "セキュリティの結果(%)"
+
+#. module: base_module_quality
+#: help:module.quality.detail,ponderation:0
+msgid ""
+"Some tests are more critical than others, so they have a bigger weight in "
+"the computation of final rating"
+msgstr "幾つかのテストは他よりもっと重要です。それらは最終格付けの計算においてより大きな比重を持っています。"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:120
+#, python-format
+msgid "No enough data"
+msgstr "十分なデータがありません。"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/terp_test/terp_test.py:132
+#, python-format
+msgid "Result (/1)"
+msgstr "結果( / 1)"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:151
+#, python-format
+msgid "N (Number of Records)"
+msgstr "N(レコード数)"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:133
+#, python-format
+msgid "No data"
+msgstr "データがありません。"
+
+#. module: base_module_quality
+#: model:ir.model,name:base_module_quality.model_module_quality_detail
+msgid "module.quality.detail"
+msgstr ""
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:127
+#, python-format
+msgid "O(n) or worst"
+msgstr "O(n)または最悪"
+
+#. module: base_module_quality
+#: field:save.report,module_file:0
+msgid "Save report"
+msgstr "レポートの保存"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/workflow_test/workflow_test.py:34
+#, python-format
+msgid ""
+"This test checks where object has workflow or not on it if there is a state "
+"field and several buttons on it and also checks validity of workflow xml file"
+msgstr ""
+"このテストは状態項目とその上に幾つかのボタンを持つ場合、オブジェクトがワークフローをどこに持つのか持たないかをチェックします。そしてワークフローxmlファ"
+"イルの有効性もチェックします。"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/structure_test/structure_test.py:151
+#, python-format
+msgid "Result in %"
+msgstr "結果(%)"
+
+#. module: base_module_quality
+#: view:quality.check:0
+msgid "This wizard will check module(s) quality"
+msgstr "このウィザードはモジュールの品質チェックをします。"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/pep8_test/pep8_test.py:58
+#: code:addons/base_module_quality/pylint_test/pylint_test.py:88
+#, python-format
+msgid "No python file found"
+msgstr "Phthonファイルが見つかりません。"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:144
+#: view:module.quality.check:0
+#: view:module.quality.detail:0
+#, python-format
+msgid "Result"
+msgstr "結果"
+
+#. module: base_module_quality
+#: field:module.quality.detail,message:0
+msgid "Message"
+msgstr "メッセージ"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/terp_test/terp_test.py:54
+#, python-format
+msgid "The module does not contain the __openerp__.py file"
+msgstr "モジュールは__openerp__.pyファイルが含んでいません。"
+
+#. module: base_module_quality
+#: view:module.quality.detail:0
+msgid "Detail"
+msgstr "詳細"
+
+#. module: base_module_quality
+#: field:module.quality.detail,note:0
+msgid "Note"
+msgstr "注記"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:85
+#, python-format
+msgid ""
+"<html>O(1) means that the number of SQL requests to read the object does not "
+"depand on the number of objects we are reading. This feature is mostly "
+"wished.\n"
+"</html>"
+msgstr ""
+"<html>O(1) "
+"はオブジェクトの読み込みのためのSQLリクエストの数が読み込むオブジェクト数に依存しないこと意味します。これは多くの人が望む機能です。</html>"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/terp_test/terp_test.py:120
+#, python-format
+msgid "__openerp__.py file"
+msgstr ""
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/unit_test/unit_test.py:70
+#, python-format
+msgid "Status"
+msgstr "状態"
+
+#. module: base_module_quality
+#: view:module.quality.check:0
+#: field:module.quality.check,check_detail_ids:0
+msgid "Tests"
+msgstr "テスト"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:50
+#, python-format
+msgid ""
+"\n"
+"This test checks the speed of the module. Note that at least 5 demo data is "
+"needed in order to run it.\n"
+"\n"
+msgstr ""
+"\n"
+"このテストはモジュールの速度をチェックします。その実行には少なくとも5つのデモデータが必要であることに注意して下さい。\n"
+"\n"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/pylint_test/pylint_test.py:71
+#, python-format
+msgid "Unable to parse the result. Check the details."
+msgstr "結果の解析ができません。詳細をチェックして下さい。"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/structure_test/structure_test.py:33
+#, python-format
+msgid ""
+"\n"
+"This test checks if the module satisfy tiny structure\n"
+msgstr ""
+"\n"
+"このテストはモジュールが小さな構造を満たすかをチェックします。\n"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/structure_test/structure_test.py:151
+#: code:addons/base_module_quality/workflow_test/workflow_test.py:136
+#, python-format
+msgid "Module Name"
+msgstr "モジュール名"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/unit_test/unit_test.py:56
+#, python-format
+msgid "Error! Module is not properly loaded/installed"
+msgstr "エラー。モジュールは正しくロードまたはインストールされていません。"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:115
+#, python-format
+msgid "Error in Read method"
+msgstr "読み込みでエラーです。"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:138
+#, python-format
+msgid "Score is below than minimal score(%s%%)"
+msgstr "そのスコアは最小スコアより下です(%s%%)"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:151
+#, python-format
+msgid "N/2"
+msgstr ""
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/method_test/method_test.py:57
+#: code:addons/base_module_quality/method_test/method_test.py:64
+#: code:addons/base_module_quality/method_test/method_test.py:71
+#, python-format
+msgid "Exception"
+msgstr "例外"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/base_module_quality.py:100
+#, python-format
+msgid "Test Is Not Implemented"
+msgstr "テストが実装されていません。"
+
+#. module: base_module_quality
+#: model:ir.model,name:base_module_quality.model_save_report
+msgid "Save Report of Quality"
+msgstr "品質レポートの保存"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:151
+#, python-format
+msgid "N"
+msgstr ""
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/workflow_test/workflow_test.py:143
+#, python-format
+msgid "Feed back About Workflow of Module"
+msgstr "モジュールのワークフローについてのフィードバック"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:73
+#, python-format
+msgid ""
+"Given module has no objects.Speed test can work only when new objects are "
+"created in the module along with demo data"
+msgstr ""
+"そのモジュールにはオブジェクトがありません。速度テストは新しいオブジェクトがデモデータとともにモジュールの中に作成された時にのみ動作します。"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/pylint_test/pylint_test.py:32
+#, python-format
+msgid ""
+"This test uses Pylint and checks if the module satisfies the coding standard "
+"of Python. See http://www.logilab.org/project/name/pylint for further info.\n"
+" "
+msgstr ""
+"このテストはPylint を使います。そしてPythonのコーディング規約を満たしているかをチェックします。\n"
+"詳細は http://www.logilab.org/project/name/pylint を見て下さい。\n"
+" "
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:116
+#, python-format
+msgid "Error in Read method: %s"
+msgstr "読み込みでエラー:%s"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/workflow_test/workflow_test.py:129
+#, python-format
+msgid "No Workflow define"
+msgstr "ワークフローの定義がありません。"
+
+#. module: base_module_quality
+#: selection:module.quality.detail,state:0
+msgid "Done"
+msgstr "完了"
+
+#. module: base_module_quality
+#: view:quality.check:0
+msgid "Cancel"
+msgstr "キャンセル"
+
+#. module: base_module_quality
+#: view:save.report:0
+msgid "Close"
+msgstr "閉じる"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/pep8_test/pep8_test.py:32
+#, python-format
+msgid ""
+"\n"
+"PEP-8 Test , copyright of py files check, method can not call from loops\n"
+msgstr ""
+"\n"
+"PEP-8テスト、pyファイルの著作権チェック、メソッドはループから呼び出しはできません\n"
+
+#. module: base_module_quality
+#: field:module.quality.check,final_score:0
+msgid "Final Score (%)"
+msgstr "最終スコア(%)"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/pylint_test/pylint_test.py:61
+#, python-format
+msgid ""
+"Error. Is pylint correctly installed? (http://pypi.python.org/pypi/pylint)"
+msgstr "エラー。Pylintは正しくインストールされていますか?(http://pypi.python.org/pypi/pylint)"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:125
+#, python-format
+msgid "Efficient"
+msgstr "効率性"
+
+#. module: base_module_quality
+#: field:module.quality.check,name:0
+msgid "Rated Module"
+msgstr "評価モジュール"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/workflow_test/workflow_test.py:33
+#, python-format
+msgid "Workflow Test"
+msgstr "ワークフローテスト"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/unit_test/unit_test.py:36
+#, python-format
+msgid ""
+"\n"
+"This test checks the Unit Test(PyUnit) Cases of the module. Note that "
+"'unit_test/test.py' is needed in module.\n"
+"\n"
+msgstr ""
+"\n"
+"このテストはモジュールの単体テスト(PyUnit)の実情をチェックします。\"unit_test/test.py\"がモジュールに必要とされることに注意し"
+"て下さい。\n"
+"\n"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/method_test/method_test.py:32
+#, python-format
+msgid ""
+"\n"
+"This test checks if the module classes are raising exception when calling "
+"basic methods or not.\n"
+msgstr ""
+"\n"
+"このテストは基本メソッド呼び出しの時にモジュールクラスが例外を起こすかどうかをテストします。\n"
+
+#. module: base_module_quality
+#: field:module.quality.detail,detail:0
+msgid "Details"
+msgstr "詳細"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:119
+#, python-format
+msgid "Warning! Not enough demo data"
+msgstr "警告。十分なデモデータがありません。"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/pylint_test/pylint_test.py:31
+#, python-format
+msgid "Pylint Test"
+msgstr "Pylintテスト"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/pep8_test/pep8_test.py:31
+#, python-format
+msgid "PEP-8 Test"
+msgstr "PEP-8テスト"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/object_test/object_test.py:187
+#, python-format
+msgid "Field name"
+msgstr "項目名"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:151
+#, python-format
+msgid "1"
+msgstr ""
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:132
+#, python-format
+msgid "Warning! Object has no demo data"
+msgstr "警告。オブジェクトはデモデータを持っていません。"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/terp_test/terp_test.py:140
+#, python-format
+msgid "Tag Name"
+msgstr "タグ名"
+
+#. module: base_module_quality
+#: model:ir.model,name:base_module_quality.model_module_quality_check
+msgid "module.quality.check"
+msgstr ""
+
+#. module: base_module_quality
+#: field:module.quality.detail,name:0
+msgid "Name"
+msgstr "名前"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/object_test/object_test.py:177
+#: code:addons/base_module_quality/workflow_test/workflow_test.py:136
+#, python-format
+msgid "Result of views in %"
+msgstr "ビューの結果(%)"
+
+#. module: base_module_quality
+#: field:module.quality.detail,score:0
+msgid "Score (%)"
+msgstr "スコア(%)"
+
+#. module: base_module_quality
+#: help:save.report,name:0
+msgid "Save report as .html format"
+msgstr ".html フォーマットとしてレポートを保存"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/base_module_quality.py:269
+#, python-format
+msgid "The module has to be installed before running this test."
+msgstr "このモジュールはこのテストの実行前にインストールされている必要があります。"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/speed_test/speed_test.py:123
+#, python-format
+msgid "O(1)"
+msgstr ""
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/object_test/object_test.py:177
+#, python-format
+msgid "Result of fields in %"
+msgstr "項目の結果(%)"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/unit_test/unit_test.py:70
+#: view:module.quality.detail:0
+#: field:module.quality.detail,summary:0
+#, python-format
+msgid "Summary"
+msgstr "要約"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/pylint_test/pylint_test.py:99
+#: code:addons/base_module_quality/structure_test/structure_test.py:172
+#: field:save.report,name:0
+#, python-format
+msgid "File Name"
+msgstr "ファイル名"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/pep8_test/pep8_test.py:274
+#, python-format
+msgid "Line number"
+msgstr "行番号"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/structure_test/structure_test.py:32
+#, python-format
+msgid "Structure Test"
+msgstr "構造テスト"
+
+#. module: base_module_quality
+#: field:module.quality.detail,quality_check_id:0
+msgid "Quality"
+msgstr "品質"
+
+#. module: base_module_quality
+#: code:addons/base_module_quality/terp_test/terp_test.py:140
+#, python-format
+msgid "Feed back About terp file of Module"
+msgstr "モジュールのterpファイルについてのフィードバック"
diff --git a/addons/base_module_record/i18n/ja.po b/addons/base_module_record/i18n/ja.po
new file mode 100644
index 00000000000..46eec086f36
--- /dev/null
+++ b/addons/base_module_record/i18n/ja.po
@@ -0,0 +1,268 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-24 03:50+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:08+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: base_module_record
+#: wizard_field:base_module_record.module_record_objects,info,category:0
+msgid "Category"
+msgstr "分類"
+
+#. module: base_module_record
+#: wizard_view:base_module_record.module_record_objects,save:0
+msgid "Information"
+msgstr "情報"
+
+#. module: base_module_record
+#: model:ir.model,name:base_module_record.model_ir_module_record
+msgid "ir.module.record"
+msgstr ""
+
+#. module: base_module_record
+#: wizard_button:base_module_record.module_record_data,info,end:0
+#: wizard_button:base_module_record.module_record_data,save_yaml,end:0
+msgid "End"
+msgstr "終了"
+
+#. module: base_module_record
+#: wizard_view:base_module_record.module_record_data,init:0
+#: wizard_view:base_module_record.module_record_objects,init:0
+msgid "Choose objects to record"
+msgstr "オブジェクトを記録するための選択"
+
+#. module: base_module_record
+#: wizard_field:base_module_record.module_record_objects,info,author:0
+msgid "Author"
+msgstr "著者"
+
+#. module: base_module_record
+#: wizard_field:base_module_record.module_record_objects,info,directory_name:0
+msgid "Directory Name"
+msgstr "ディレクトリ名"
+
+#. module: base_module_record
+#: wizard_field:base_module_record.module_record_data,init,filter_cond:0
+#: wizard_field:base_module_record.module_record_objects,init,filter_cond:0
+msgid "Records only"
+msgstr "レコードのみ"
+
+#. module: base_module_record
+#: selection:base_module_record.module_record_objects,info,data_kind:0
+msgid "Demo Data"
+msgstr "デモデータ"
+
+#. module: base_module_record
+#: wizard_field:base_module_record.module_record_objects,save,module_filename:0
+msgid "Filename"
+msgstr "ファイル名"
+
+#. module: base_module_record
+#: wizard_field:base_module_record.module_record_objects,info,version:0
+msgid "Version"
+msgstr "バージョン"
+
+#. module: base_module_record
+#: wizard_view:base_module_record.module_record_data,info:0
+#: wizard_view:base_module_record.module_record_data,init:0
+#: wizard_view:base_module_record.module_record_data,save_yaml:0
+#: wizard_view:base_module_record.module_record_objects,init:0
+msgid "Objects Recording"
+msgstr "オブジェクトの記録"
+
+#. module: base_module_record
+#: wizard_view:base_module_record.module_record_objects,save:0
+msgid ""
+"If you think your module could interest other people, we'd like you to "
+"publish it on http://www.openerp.com, in the 'Modules' section. You can do "
+"it through the website or using features of the 'base_module_publish' module."
+msgstr ""
+"あなたのモジュールに他の人々が興味を持つであろうと思う場合は、http://www.openerp.com "
+"上の\"Modules\"セクションに公開して下さい。これは、Webサイトを通じて、または\"base_module_publish\"モジュールの機能を"
+"使うことで行うことができます。"
+
+#. module: base_module_record
+#: wizard_field:base_module_record.module_record_data,init,check_date:0
+#: wizard_field:base_module_record.module_record_objects,init,check_date:0
+msgid "Record from Date"
+msgstr "記録開始日"
+
+#. module: base_module_record
+#: wizard_view:base_module_record.module_record_data,end:0
+#: wizard_view:base_module_record.module_record_objects,end:0
+#: wizard_view:base_module_record.module_record_objects,info:0
+#: wizard_view:base_module_record.module_record_objects,save:0
+#: wizard_view:base_module_record.module_record_objects,save_yaml:0
+msgid "Module Recording"
+msgstr "モジュールの記録"
+
+#. module: base_module_record
+#: model:ir.actions.wizard,name:base_module_record.wizard_base_module_record_objects
+#: model:ir.ui.menu,name:base_module_record.menu_wizard_base_module_record_objects
+msgid "Export Customizations As a Module"
+msgstr "カスタマイズをモジュールとしてエクスポート"
+
+#. module: base_module_record
+#: wizard_view:base_module_record.module_record_objects,save:0
+msgid "Thanks in advance for your contribution."
+msgstr "あなたの貢献に感謝します。"
+
+#. module: base_module_record
+#: help:base_module_record.module_record_data,init,objects:0
+#: help:base_module_record.module_record_objects,init,objects:0
+msgid "List of objects to be recorded"
+msgstr "記録されるレコードのリスト"
+
+#. module: base_module_record
+#: wizard_field:base_module_record.module_record_objects,info,description:0
+msgid "Full Description"
+msgstr "全詳細"
+
+#. module: base_module_record
+#: wizard_field:base_module_record.module_record_objects,info,name:0
+msgid "Module Name"
+msgstr "モジュール名"
+
+#. module: base_module_record
+#: wizard_field:base_module_record.module_record_data,init,objects:0
+#: wizard_field:base_module_record.module_record_objects,init,objects:0
+msgid "Objects"
+msgstr "オブジェクト"
+
+#. module: base_module_record
+#: wizard_field:base_module_record.module_record_objects,save,module_file:0
+#: wizard_field:base_module_record.module_record_objects,save_yaml,yaml_file:0
+msgid "Module .zip File"
+msgstr "モジュールの .zipファイル"
+
+#. module: base_module_record
+#: wizard_view:base_module_record.module_record_objects,save:0
+msgid "Module successfully created!"
+msgstr "モジュールの作成が成功しました。"
+
+#. module: base_module_record
+#: wizard_view:base_module_record.module_record_objects,save_yaml:0
+msgid "YAML file successfully created !"
+msgstr "YAMLファイルの作成が成功しました。"
+
+#. module: base_module_record
+#: wizard_view:base_module_record.module_record_data,info:0
+#: wizard_view:base_module_record.module_record_data,save_yaml:0
+msgid "Result, paste this to your module's xml"
+msgstr "結果として、モジュールのxmlにこれを貼り付けます。"
+
+#. module: base_module_record
+#: selection:base_module_record.module_record_data,init,filter_cond:0
+#: selection:base_module_record.module_record_objects,init,filter_cond:0
+msgid "Created"
+msgstr "作成済"
+
+#. module: base_module_record
+#: wizard_view:base_module_record.module_record_data,end:0
+#: wizard_view:base_module_record.module_record_objects,end:0
+msgid "Thanks For using Module Recorder"
+msgstr "モジュールレコーダーの利用に感謝します。"
+
+#. module: base_module_record
+#: wizard_field:base_module_record.module_record_objects,info,website:0
+msgid "Documentation URL"
+msgstr "ドキュメントURL"
+
+#. module: base_module_record
+#: selection:base_module_record.module_record_data,init,filter_cond:0
+#: selection:base_module_record.module_record_objects,init,filter_cond:0
+msgid "Modified"
+msgstr "変更済"
+
+#. module: base_module_record
+#: wizard_button:base_module_record.module_record_data,init,record:0
+#: wizard_button:base_module_record.module_record_objects,init,record:0
+msgid "Record"
+msgstr "記録"
+
+#. module: base_module_record
+#: wizard_button:base_module_record.module_record_objects,info,save:0
+msgid "Continue"
+msgstr "続き"
+
+#. module: base_module_record
+#: model:ir.actions.wizard,name:base_module_record.wizard_base_module_record_data
+#: model:ir.ui.menu,name:base_module_record.menu_wizard_base_module_record_data
+msgid "Export Customizations As Data File"
+msgstr "カスタマイズをデータファイルとしてエクスポート"
+
+#. module: base_module_record
+#: code:addons/base_module_record/wizard/base_module_save.py:129
+#, python-format
+msgid "Error"
+msgstr "エラー"
+
+#. module: base_module_record
+#: selection:base_module_record.module_record_objects,info,data_kind:0
+msgid "Normal Data"
+msgstr "通常データ"
+
+#. module: base_module_record
+#: wizard_button:base_module_record.module_record_data,end,end:0
+#: wizard_button:base_module_record.module_record_objects,end,end:0
+msgid "OK"
+msgstr ""
+
+#. module: base_module_record
+#: model:ir.ui.menu,name:base_module_record.menu_wizard_base_mod_rec
+msgid "Module Creation"
+msgstr "モジュールの作成"
+
+#. module: base_module_record
+#: wizard_field:base_module_record.module_record_objects,info,data_kind:0
+msgid "Type of Data"
+msgstr "データのタイプ"
+
+#. module: base_module_record
+#: wizard_view:base_module_record.module_record_objects,info:0
+msgid "Module Information"
+msgstr "モジュール情報"
+
+#. module: base_module_record
+#: wizard_field:base_module_record.module_record_data,init,info_yaml:0
+#: wizard_field:base_module_record.module_record_objects,init,info_yaml:0
+msgid "YAML"
+msgstr ""
+
+#. module: base_module_record
+#: wizard_field:base_module_record.module_record_data,info,res_text:0
+#: wizard_field:base_module_record.module_record_data,save_yaml,res_text:0
+msgid "Result"
+msgstr "結果"
+
+#. module: base_module_record
+#: wizard_button:base_module_record.module_record_data,init,end:0
+#: wizard_button:base_module_record.module_record_objects,info,end:0
+#: wizard_button:base_module_record.module_record_objects,init,end:0
+msgid "Cancel"
+msgstr "キャンセル"
+
+#. module: base_module_record
+#: wizard_button:base_module_record.module_record_objects,save,end:0
+#: wizard_button:base_module_record.module_record_objects,save_yaml,end:0
+msgid "Close"
+msgstr "閉じる"
+
+#. module: base_module_record
+#: selection:base_module_record.module_record_data,init,filter_cond:0
+#: selection:base_module_record.module_record_objects,init,filter_cond:0
+msgid "Created & Modified"
+msgstr "作成&修正済"
diff --git a/addons/base_report_designer/i18n/ja.po b/addons/base_report_designer/i18n/ja.po
new file mode 100644
index 00000000000..8ef88c33f69
--- /dev/null
+++ b/addons/base_report_designer/i18n/ja.po
@@ -0,0 +1,198 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-24 04:08+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: base_report_designer
+#: model:ir.model,name:base_report_designer.model_base_report_sxw
+msgid "base.report.sxw"
+msgstr ""
+
+#. module: base_report_designer
+#: view:base_report_designer.installer:0
+msgid "OpenERP Report Designer Configuration"
+msgstr "OpenERPレポートデザイナ設定"
+
+#. module: base_report_designer
+#: view:base_report_designer.installer:0
+msgid ""
+"This plug-in allows you to create/modify OpenERP Reports into OpenOffice "
+"Writer."
+msgstr "このプラグインによって、OpenOfficeライターの中にOpenERPレポートを作成 / 修正することができます。"
+
+#. module: base_report_designer
+#: view:base.report.file.sxw:0
+msgid "Upload the modified report"
+msgstr "修正後レポートのアップロード"
+
+#. module: base_report_designer
+#: view:base.report.file.sxw:0
+msgid "The .SXW report"
+msgstr "SXWレポート"
+
+#. module: base_report_designer
+#: model:ir.model,name:base_report_designer.model_base_report_designer_installer
+msgid "base_report_designer.installer"
+msgstr ""
+
+#. module: base_report_designer
+#: view:base_report_designer.installer:0
+msgid "_Close"
+msgstr "閉じる"
+
+#. module: base_report_designer
+#: view:base.report.rml.save:0
+msgid "The RML Report"
+msgstr "RMLレポート"
+
+#. module: base_report_designer
+#: view:base_report_designer.installer:0
+msgid "Configure"
+msgstr "設定"
+
+#. module: base_report_designer
+#: view:base_report_designer.installer:0
+msgid "title"
+msgstr "タイトル"
+
+#. module: base_report_designer
+#: field:base.report.file.sxw,report_id:0
+#: field:base.report.sxw,report_id:0
+msgid "Report"
+msgstr "レポート"
+
+#. module: base_report_designer
+#: model:ir.model,name:base_report_designer.model_base_report_rml_save
+msgid "base.report.rml.save"
+msgstr ""
+
+#. module: base_report_designer
+#: model:ir.ui.menu,name:base_report_designer.menu_action_report_designer_wizard
+msgid "Report Designer"
+msgstr "レポートデザイナ"
+
+#. module: base_report_designer
+#: field:base_report_designer.installer,name:0
+msgid "File name"
+msgstr "ファイル名"
+
+#. module: base_report_designer
+#: view:base.report.file.sxw:0
+#: view:base.report.sxw:0
+msgid "Get a report"
+msgstr "レポート取得"
+
+#. module: base_report_designer
+#: view:base_report_designer.installer:0
+#: model:ir.actions.act_window,name:base_report_designer.action_report_designer_wizard
+msgid "OpenERP Report Designer"
+msgstr "OpenERPレポートデザイナ"
+
+#. module: base_report_designer
+#: view:base.report.sxw:0
+msgid "Continue"
+msgstr "続き"
+
+#. module: base_report_designer
+#: field:base.report.rml.save,file_rml:0
+msgid "Save As"
+msgstr "名前を付けて保存"
+
+#. module: base_report_designer
+#: help:base_report_designer.installer,plugin_file:0
+msgid ""
+"OpenObject Report Designer plug-in file. Save as this file and install this "
+"plug-in in OpenOffice."
+msgstr ""
+"OpenObjectレポートデザイナのプラグインファイルです。このファイルを保存し、OpenOfficeの中にこのプラグインをインストールして下さい。"
+
+#. module: base_report_designer
+#: view:base.report.rml.save:0
+msgid "Save RML FIle"
+msgstr "RMLファイルの保存"
+
+#. module: base_report_designer
+#: field:base.report.file.sxw,file_sxw:0
+#: field:base.report.file.sxw,file_sxw_upload:0
+msgid "Your .SXW file"
+msgstr "あなたのSXWファイル"
+
+#. module: base_report_designer
+#: view:base_report_designer.installer:0
+msgid "Installation and Configuration Steps"
+msgstr "インストールと設定の手順"
+
+#. module: base_report_designer
+#: field:base_report_designer.installer,description:0
+msgid "Description"
+msgstr "詳細"
+
+#. module: base_report_designer
+#: view:base.report.file.sxw:0
+msgid ""
+"This is the template of your requested report.\n"
+"Save it as a .SXW file and open it with OpenOffice.\n"
+"Don't forget to install the OpenERP SA OpenOffice package to modify it.\n"
+"Once it is modified, re-upload it in OpenERP using this wizard."
+msgstr ""
+"これは要求されたレポートのテンプレートです。\n"
+"これをSXWファイルとして保存し、OpenOfficeで開いて下さい。\n"
+"更新のためOpenERPのOpenOfficeパッケージのインストールを忘れないで下さい。\n"
+"更新された後、このウィザードを使用してOpenERPの中に再アップロードして下さい。"
+
+#. module: base_report_designer
+#: field:base_report_designer.installer,config_logo:0
+msgid "Image"
+msgstr "画像"
+
+#. module: base_report_designer
+#: model:ir.actions.act_window,name:base_report_designer.action_view_base_report_sxw
+msgid "Base Report sxw"
+msgstr "基本レポートSXW"
+
+#. module: base_report_designer
+#: model:ir.model,name:base_report_designer.model_base_report_file_sxw
+msgid "base.report.file.sxw"
+msgstr ""
+
+#. module: base_report_designer
+#: field:base_report_designer.installer,plugin_file:0
+msgid "OpenObject Report Designer Plug-in"
+msgstr "OpenObjectレポートデザイナプラグイン"
+
+#. module: base_report_designer
+#: model:ir.actions.act_window,name:base_report_designer.action_report_designer_installer
+msgid "OpenERP Report Designer Installation"
+msgstr "OpenERPレポートデザイナインストール"
+
+#. module: base_report_designer
+#: view:base.report.file.sxw:0
+#: view:base.report.rml.save:0
+#: view:base.report.sxw:0
+#: view:base_report_designer.installer:0
+msgid "Cancel"
+msgstr "キャンセル"
+
+#. module: base_report_designer
+#: model:ir.model,name:base_report_designer.model_ir_actions_report_xml
+msgid "ir.actions.report.xml"
+msgstr ""
+
+#. module: base_report_designer
+#: view:base.report.sxw:0
+msgid "Select your report"
+msgstr "レポートの選択"
diff --git a/addons/base_setup/i18n/gu.po b/addons/base_setup/i18n/gu.po
new file mode 100644
index 00000000000..3563c7da2ff
--- /dev/null
+++ b/addons/base_setup/i18n/gu.po
@@ -0,0 +1,282 @@
+# Gujarati translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-31 11:08+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Gujarati <gu@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:32+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: base_setup
+#: field:user.preferences.config,menu_tips:0
+msgid "Display Tips"
+msgstr ""
+
+#. module: base_setup
+#: selection:base.setup.terminology,partner:0
+msgid "Guest"
+msgstr "અતિથિ"
+
+#. module: base_setup
+#: model:ir.model,name:base_setup.model_product_installer
+msgid "product.installer"
+msgstr ""
+
+#. module: base_setup
+#: selection:product.installer,customers:0
+msgid "Create"
+msgstr "બનાવો"
+
+#. module: base_setup
+#: selection:base.setup.terminology,partner:0
+msgid "Member"
+msgstr "સભ્ય"
+
+#. module: base_setup
+#: field:migrade.application.installer.modules,sync_google_contact:0
+msgid "Sync Google Contact"
+msgstr ""
+
+#. module: base_setup
+#: help:user.preferences.config,context_tz:0
+msgid ""
+"Set default for new user's timezone, used to perform timezone conversions "
+"between the server and the client."
+msgstr ""
+
+#. module: base_setup
+#: selection:product.installer,customers:0
+msgid "Import"
+msgstr "આયાત કરો"
+
+#. module: base_setup
+#: selection:base.setup.terminology,partner:0
+msgid "Donor"
+msgstr ""
+
+#. module: base_setup
+#: model:ir.actions.act_window,name:base_setup.action_base_setup_company
+msgid "Set Company Header and Footer"
+msgstr ""
+
+#. module: base_setup
+#: model:ir.actions.act_window,help:base_setup.action_base_setup_company
+msgid ""
+"Fill in your company data (address, logo, bank accounts) so that it's "
+"printed on your reports. You can click on the button 'Preview Header' in "
+"order to check the header/footer of PDF documents."
+msgstr ""
+
+#. module: base_setup
+#: field:product.installer,customers:0
+msgid "Customers"
+msgstr "ગ્રાહકો"
+
+#. module: base_setup
+#: selection:user.preferences.config,view:0
+msgid "Extended"
+msgstr "વિસ્તૃત"
+
+#. module: base_setup
+#: selection:base.setup.terminology,partner:0
+msgid "Patient"
+msgstr ""
+
+#. module: base_setup
+#: model:ir.actions.act_window,help:base_setup.action_import_create_installer
+msgid ""
+"Create or Import Customers and their contacts manually from this form or "
+"you can import your existing partners by CSV spreadsheet from \"Import "
+"Data\" wizard"
+msgstr ""
+
+#. module: base_setup
+#: view:user.preferences.config:0
+msgid "Define Users's Preferences"
+msgstr ""
+
+#. module: base_setup
+#: model:ir.actions.act_window,name:base_setup.action_user_preferences_config_form
+msgid "Define default users preferences"
+msgstr ""
+
+#. module: base_setup
+#: help:migrade.application.installer.modules,import_saleforce:0
+msgid "For Import Saleforce"
+msgstr ""
+
+#. module: base_setup
+#: help:migrade.application.installer.modules,quickbooks_ippids:0
+msgid "For Quickbooks Ippids"
+msgstr ""
+
+#. module: base_setup
+#: help:user.preferences.config,view:0
+msgid ""
+"If you use OpenERP for the first time we strongly advise you to select the "
+"simplified interface, which has less features but is easier. You can always "
+"switch later from the user preferences."
+msgstr ""
+
+#. module: base_setup
+#: view:base.setup.terminology:0
+#: view:user.preferences.config:0
+msgid "res_config_contents"
+msgstr ""
+
+#. module: base_setup
+#: field:user.preferences.config,view:0
+msgid "Interface"
+msgstr "ઇન્ટરફેસ"
+
+#. module: base_setup
+#: model:ir.model,name:base_setup.model_migrade_application_installer_modules
+msgid "migrade.application.installer.modules"
+msgstr ""
+
+#. module: base_setup
+#: view:base.setup.terminology:0
+msgid ""
+"You can use this wizard to change the terminologies for customers in the "
+"whole application."
+msgstr ""
+
+#. module: base_setup
+#: selection:base.setup.terminology,partner:0
+msgid "Tenant"
+msgstr ""
+
+#. module: base_setup
+#: selection:base.setup.terminology,partner:0
+msgid "Customer"
+msgstr ""
+
+#. module: base_setup
+#: field:user.preferences.config,context_lang:0
+msgid "Language"
+msgstr "ભાષા"
+
+#. module: base_setup
+#: help:user.preferences.config,context_lang:0
+msgid ""
+"Sets default language for the all user interface, when UI translations are "
+"available. If you want to Add new Language, you can add it from 'Load an "
+"Official Translation' wizard from 'Administration' menu."
+msgstr ""
+
+#. module: base_setup
+#: view:user.preferences.config:0
+msgid ""
+"This will set the default preferences for new users and update all existing "
+"ones. Afterwards, users are free to change those values on their own user "
+"preference form."
+msgstr ""
+
+#. module: base_setup
+#: field:base.setup.terminology,partner:0
+msgid "How do you call a Customer"
+msgstr ""
+
+#. module: base_setup
+#: field:migrade.application.installer.modules,quickbooks_ippids:0
+msgid "Quickbooks Ippids"
+msgstr ""
+
+#. module: base_setup
+#: selection:base.setup.terminology,partner:0
+msgid "Client"
+msgstr ""
+
+#. module: base_setup
+#: field:migrade.application.installer.modules,import_saleforce:0
+msgid "Import Saleforce"
+msgstr ""
+
+#. module: base_setup
+#: field:user.preferences.config,context_tz:0
+msgid "Timezone"
+msgstr "ટાઈમઝોન"
+
+#. module: base_setup
+#: model:ir.actions.act_window,name:base_setup.action_partner_terminology_config_form
+msgid "Use another word to say \"Customer\""
+msgstr ""
+
+#. module: base_setup
+#: model:ir.model,name:base_setup.model_base_setup_terminology
+msgid "base.setup.terminology"
+msgstr ""
+
+#. module: base_setup
+#: help:user.preferences.config,menu_tips:0
+msgid ""
+"Check out this box if you want to always display tips on each menu action"
+msgstr ""
+
+#. module: base_setup
+#: field:base.setup.terminology,config_logo:0
+#: field:migrade.application.installer.modules,config_logo:0
+#: field:product.installer,config_logo:0
+#: field:user.preferences.config,config_logo:0
+msgid "Image"
+msgstr "ચિત્ર"
+
+#. module: base_setup
+#: model:ir.model,name:base_setup.model_user_preferences_config
+msgid "user.preferences.config"
+msgstr ""
+
+#. module: base_setup
+#: model:ir.actions.act_window,name:base_setup.action_config_access_other_user
+msgid "Create Additional Users"
+msgstr ""
+
+#. module: base_setup
+#: model:ir.actions.act_window,name:base_setup.action_import_create_installer
+msgid "Create or Import Customers"
+msgstr ""
+
+#. module: base_setup
+#: field:migrade.application.installer.modules,import_sugarcrm:0
+msgid "Import Sugarcrm"
+msgstr ""
+
+#. module: base_setup
+#: help:product.installer,customers:0
+msgid "Import or create customers"
+msgstr ""
+
+#. module: base_setup
+#: selection:user.preferences.config,view:0
+msgid "Simplified"
+msgstr "સરળ"
+
+#. module: base_setup
+#: help:migrade.application.installer.modules,import_sugarcrm:0
+msgid "For Import Sugarcrm"
+msgstr ""
+
+#. module: base_setup
+#: selection:base.setup.terminology,partner:0
+msgid "Partner"
+msgstr "ભાગીદાર"
+
+#. module: base_setup
+#: view:base.setup.terminology:0
+msgid "Specify Your Terminology"
+msgstr ""
+
+#. module: base_setup
+#: help:migrade.application.installer.modules,sync_google_contact:0
+msgid "For Sync Google Contact"
+msgstr ""
diff --git a/addons/base_setup/i18n/ja.po b/addons/base_setup/i18n/ja.po
index 1c8714f4031..5cc2296cbcf 100644
--- a/addons/base_setup/i18n/ja.po
+++ b/addons/base_setup/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2012-05-07 05:42+0000\n"
+"PO-Revision-Date: 2012-05-23 09:07+0000\n"
"Last-Translator: Tomomi Mengelberg <tomomi.mengelberg@aquasys.co.jp>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-08 04:49+0000\n"
-"X-Generator: Launchpad (build 15204)\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:08+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: base_setup
#: field:user.preferences.config,menu_tips:0
@@ -52,7 +52,7 @@ msgstr "Googleの連絡先を同期する。"
msgid ""
"Set default for new user's timezone, used to perform timezone conversions "
"between the server and the client."
-msgstr ""
+msgstr "新規ユーザのタイムゾーンのデフォルト設定のために、サーバとクライアント間のタイムゾーンの変換をします。"
#. module: base_setup
#: selection:product.installer,customers:0
@@ -76,6 +76,8 @@ msgid ""
"printed on your reports. You can click on the button 'Preview Header' in "
"order to check the header/footer of PDF documents."
msgstr ""
+"レポートに印刷されますので、会社のデータ(アドレス、ロゴ、銀行口座)を記入してください。 PDF "
+"ドキュメントのヘッダー/フッターを確認するには、\"ヘッダープレビュー\"をクリックします。"
#. module: base_setup
#: field:product.installer,customers:0
@@ -99,6 +101,8 @@ msgid ""
"you can import your existing partners by CSV spreadsheet from \"Import "
"Data\" wizard"
msgstr ""
+"このフォームから手動で顧客とその連絡先を作成またはインポート或いは "
+"\"データのインポート\"ウィザードからCSVスプレッドシートで、既存のパートナーをインポートすることができます。"
#. module: base_setup
#: view:user.preferences.config:0
@@ -113,7 +117,7 @@ msgstr "ユーザのプリファレンスを初期値に定義します。"
#. module: base_setup
#: help:migrade.application.installer.modules,import_saleforce:0
msgid "For Import Saleforce"
-msgstr ""
+msgstr "Salesforceのインポート"
#. module: base_setup
#: help:migrade.application.installer.modules,quickbooks_ippids:0
@@ -149,7 +153,7 @@ msgstr "migrade.application.installer.modules"
msgid ""
"You can use this wizard to change the terminologies for customers in the "
"whole application."
-msgstr ""
+msgstr "アプリケーション全体の顧客の用語を変更するには、このウィザードを使用することができます。"
#. module: base_setup
#: selection:base.setup.terminology,partner:0
@@ -173,6 +177,8 @@ msgid ""
"available. If you want to Add new Language, you can add it from 'Load an "
"Official Translation' wizard from 'Administration' menu."
msgstr ""
+"UI翻訳が利用可能な時は、既定の言語を全てのユーザインターフェースに設定します。新しい言語を追加する場合は、\"管理\" "
+"メニューのウィザード\"オフィシャル翻訳をロードする' から追加することができます。"
#. module: base_setup
#: view:user.preferences.config:0
@@ -210,7 +216,7 @@ msgstr "タイムゾーン"
#. module: base_setup
#: model:ir.actions.act_window,name:base_setup.action_partner_terminology_config_form
msgid "Use another word to say \"Customer\""
-msgstr ""
+msgstr "\"顧客\"を言い表す他の言葉を使用してください。"
#. module: base_setup
#: model:ir.model,name:base_setup.model_base_setup_terminology
diff --git a/addons/delivery/wizard/__init__.py b/addons/base_status/__init__.py
index 3b35a3cd51e..e4107f90a37 100644
--- a/addons/delivery/wizard/__init__.py
+++ b/addons/base_status/__init__.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+# Copyright (C) 2012-today OpenERP SA (<http://openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -15,11 +15,11 @@
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
-import delivery_sale_order
+import base_state
+import base_stage
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/base_status/__openerp__.py b/addons/base_status/__openerp__.py
new file mode 100644
index 00000000000..fcb8f54a7ee
--- /dev/null
+++ b/addons/base_status/__openerp__.py
@@ -0,0 +1,42 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2012-today OpenERP SA (<http://openerp.com>)
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+{
+ 'name': 'State/Stage Management',
+ 'version': '1.0',
+ 'category': 'Hidden',
+ 'description': """
+This module handles state and stage. It is derived from the crm_base and
+crm_case classes from crm.
+
+ * ``base_state``: state management
+ * ``base_stage``: stage management
+ """,
+ 'author': 'OpenERP SA',
+ 'website': 'http://www.openerp.com',
+ 'depends': ['base'],
+ 'init_xml': [],
+ 'update_xml': [],
+ 'demo_xml': [],
+ 'installable': True,
+ 'auto_install': False,
+}
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/base_status/base_stage.py b/addons/base_status/base_stage.py
new file mode 100644
index 00000000000..cc6dda19cdf
--- /dev/null
+++ b/addons/base_status/base_stage.py
@@ -0,0 +1,432 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-today OpenERP SA (<http://www.openerp.com>)
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from osv import fields
+from tools.translate import _
+
+class base_stage(object):
+ """ Base utility mixin class for objects willing to manage their stages.
+ Object that inherit from this class should inherit from mailgate.thread
+ to have access to the mail gateway, as well as Chatter. Objects
+ subclassing this class should define the following colums:
+ - ``date_open`` (datetime field)
+ - ``date_closed`` (datetime field)
+ - ``user_id`` (many2one to res.users)
+ - ``partner_id`` (many2one to res.partner)
+ - ``stage_id`` (many2one to a stage definition model)
+ - ``state`` (selection field, related to the stage_id.state)
+ """
+
+ def _get_default_partner(self, cr, uid, context=None):
+ """ Gives id of partner for current user
+ :param context: if portal not in context returns False
+ """
+ if context is None:
+ context = {}
+ if not context or not context.get('portal'):
+ return False
+ user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
+ if hasattr(user, 'partner_address_id') and user.partner_address_id:
+ return user.partner_address_id
+ return user.company_id.partner_id.id
+
+ def _get_default_email(self, cr, uid, context=None):
+ """ Gives default email address for current user
+ :param context: if portal not in context returns False
+ """
+ if context is None:
+ context = {}
+ if not context or not context.get('portal'):
+ return False
+ user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
+ return user.user_email
+
+ def _get_default_user(self, cr, uid, context=None):
+ """ Gives current user id
+ :param context: if portal not in context returns False
+ """
+ if context is None:
+ context = {}
+ if not context or not context.get('portal'):
+ return False
+ return uid
+
+ def onchange_partner_address_id(self, cr, uid, ids, add, email=False):
+ """ This function returns value of partner email based on Partner Address
+ :param add: Id of Partner's address
+ :param email: Partner's email ID
+ """
+ data = {'value': {'email_from': False, 'phone':False}}
+ if add:
+ address = self.pool.get('res.partner').browse(cr, uid, add)
+ data['value'] = {'email_from': address and address.email or False ,
+ 'phone': address and address.phone or False}
+ if 'phone' not in self._columns:
+ del data['value']['phone']
+ return data
+
+ def onchange_partner_id(self, cr, uid, ids, part, email=False):
+ """ This function returns value of partner address based on partner
+ :param part: Partner's id
+ :param email: Partner's email ID
+ """
+ data={}
+ if part:
+ addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['contact'])
+ data.update(self.onchange_partner_address_id(cr, uid, ids, addr['contact'])['value'])
+ return {'value': data}
+
+ def _get_default_section_id(self, cr, uid, context=None):
+ """ Gives default section """
+ return False
+
+ def _get_default_stage_id(self, cr, uid, context=None):
+ """ Gives default stage_id """
+ return self.stage_find(cr, uid, [], None, [('state', '=', 'draft')], context=context)
+
+ def stage_find(self, cr, uid, cases, section_id, domain=[], order='sequence', context=None):
+ """ Find stage, with a given (optional) domain on the search,
+ ordered by the order parameter. If several stages match the
+ search criterions, the first one will be returned, according
+ to the requested search order.
+ This method is meant to be overriden by subclasses. That way
+ specific behaviors can be achieved for every class inheriting
+ from base_stage.
+
+ :param cases: browse_record of cases
+ :param section_id: section limitating the search, given for
+ a generic search (for example default search).
+ A section models concepts such as Sales team
+ (for CRM), ou departments (for HR).
+ :param domain: a domain on the search of stages
+ :param order: order of the search
+ """
+ return False
+
+ def stage_set_with_state_name(self, cr, uid, cases, state_name, context=None):
+ """ Set a new stage, with a state_name instead of a stage_id
+ :param cases: browse_record of cases
+ """
+ if isinstance(cases, (int, long)):
+ cases = self.browse(cr, uid, cases, context=context)
+ for case in cases:
+ stage_id = self.stage_find(cr, uid, [case], None, [('state', '=', state_name)], context=context)
+ if stage_id:
+ self.stage_set(cr, uid, [case.id], stage_id, context=context)
+ return True
+
+ def stage_set(self, cr, uid, ids, stage_id, context=None):
+ """ Set the new stage. This methods is the right method to call
+ when changing states. It also checks whether an onchange is
+ defined, and execute it.
+ """
+ value = {}
+ if hasattr(self, 'onchange_stage_id'):
+ value = self.onchange_stage_id(cr, uid, ids, stage_id, context=context)['value']
+ value['stage_id'] = stage_id
+ self.stage_set_send_note(cr, uid, ids, stage_id, context=context)
+ return self.write(cr, uid, ids, value, context=context)
+
+ def stage_change(self, cr, uid, ids, op, order, context=None):
+ """ Change the stage and take the next one, based on a condition
+ writen for the 'sequence' field and an operator. This methods
+ checks whether the case has a current stage, and takes its
+ sequence. Otherwise, a default 0 sequence is chosen and this
+ method will therefore choose the first available stage.
+ For example if op is '>' and current stage has a sequence of
+ 10, this will call stage_find, with [('sequence', '>', '10')].
+ """
+ for case in self.browse(cr, uid, ids, context=context):
+ seq = 0
+ if case.stage_id:
+ seq = case.stage_id.sequence or 0
+ section_id = None
+ next_stage_id = self.stage_find(cr, uid, [case], None, [('sequence', op, seq)],order, context=context)
+ if next_stage_id:
+ return self.stage_set(cr, uid, [case.id], next_stage_id, context=context)
+ return False
+
+ def stage_next(self, cr, uid, ids, context=None):
+ """ This function computes next stage for case from its current stage
+ using available stage for that case type
+ """
+ return self.stage_change(cr, uid, ids, '>','sequence', context)
+
+ def stage_previous(self, cr, uid, ids, context=None):
+ """ This function computes previous stage for case from its current
+ stage using available stage for that case type
+ """
+ return self.stage_change(cr, uid, ids, '<', 'sequence desc', context)
+
+ def copy(self, cr, uid, id, default=None, context=None):
+ """ Overrides orm copy method to avoid copying messages,
+ as well as date_closed and date_open columns if they
+ exist."""
+ if default is None:
+ default = {}
+
+ if hasattr(self, '_columns'):
+ if self._columns.get('date_closed'):
+ default.update({ 'date_closed': False, })
+ if self._columns.get('date_open'):
+ default.update({ 'date_open': False })
+ return super(base_stage, self).copy(cr, uid, id, default, context=context)
+
+ def case_escalate(self, cr, uid, ids, context=None):
+ """ Escalates case to parent level """
+ cases = self.browse(cr, uid, ids, context=context)
+ cases[0].state # fill browse record cache, for _action having old and new values
+ for case in cases:
+ data = {'active': True}
+ if case.section_id.parent_id:
+ data['section_id'] = case.section_id.parent_id.id
+ if case.section_id.parent_id.change_responsible:
+ if case.section_id.parent_id.user_id:
+ data['user_id'] = case.section_id.parent_id.user_id.id
+ else:
+ raise osv.except_osv(_('Error !'), _('You can not escalate, you are already at the top level regarding your sales-team category.'))
+ self.write(cr, uid, [case.id], data, context=context)
+ case.case_escalate_send_note(case.section_id.parent_id, context=context)
+ cases = self.browse(cr, uid, ids, context=context)
+ self._action(cr, uid, cases, 'escalate', context=context)
+ return True
+
+ def case_open(self, cr, uid, ids, context=None):
+ """ Opens case """
+ cases = self.browse(cr, uid, ids, context=context)
+ for case in cases:
+ data = {'active': True}
+ if case.stage_id and case.stage_id.state == 'draft':
+ data['date_open'] = fields.datetime.now()
+ if not case.user_id:
+ data['user_id'] = uid
+ self.case_set(cr, uid, [case.id], 'open', data, context=context)
+ self.case_open_send_note(cr, uid, [case.id], context=context)
+ return True
+
+ def case_close(self, cr, uid, ids, context=None):
+ """ Closes case """
+ self.case_set(cr, uid, ids, 'done', {'active': True, 'date_closed': fields.datetime.now()}, context=context)
+ self.case_close_send_note(cr, uid, ids, context=context)
+ return True
+
+ def case_cancel(self, cr, uid, ids, context=None):
+ """ Cancels case """
+ self.case_set(cr, uid, ids, 'cancel', {'active': True}, context=context)
+ self.case_cancel_send_note(cr, uid, ids, context=context)
+ return True
+
+ def case_pending(self, cr, uid, ids, context=None):
+ """ Set case as pending """
+ self.case_set(cr, uid, ids, 'pending', {'active': True}, context=context)
+ self.case_pending_send_note(cr, uid, ids, context=context)
+ return True
+
+ def case_reset(self, cr, uid, ids, context=None):
+ """ Resets case as draft """
+ self.case_set(cr, uid, ids, 'draft', {'active': True}, context=context)
+ self.case_reset_send_note(cr, uid, ids, context=context)
+ return True
+
+ def case_set(self, cr, uid, ids, new_state_name=None, values_to_update=None, new_stage_id=None, context=None):
+ """ Generic method for setting case. This methods wraps the update
+ of the record, as well as call to _action and browse_record
+ case setting to fill the cache.
+
+ :params new_state_name: the new state of the record; this method
+ will call ``stage_set_with_state_name``
+ that will find the stage matching the
+ new state, using the ``stage_find`` method.
+ :params new_stage_id: alternatively, you may directly give the
+ new stage of the record
+ :params state_name: the new value of the state, such as
+ 'draft' or 'close'.
+ :params update_values: values that will be added with the state
+ update when writing values to the record.
+ """
+ cases = self.browse(cr, uid, ids, context=context)
+ cases[0].state # fill browse record cache, for _action having old and new values
+ # 1. update the stage
+ if new_state_name:
+ self.stage_set_with_state_name(cr, uid, cases, new_state_name, context=context)
+ elif not (new_stage_id is None):
+ self.stage_set(cr, uid, ids, new_stage_id, context=context)
+ # 2. update values
+ if values_to_update:
+ self.write(cr, uid, ids, values_to_update, context=context)
+ # 3. call _action for base action rule
+ if new_state_name:
+ self._action(cr, uid, cases, new_state_name, context=context)
+ elif not (new_stage_id is None):
+ new_state_name = self.read(cr, uid, ids, ['state'], context=context)[0]['state']
+ self._action(cr, uid, cases, new_state_name, context=context)
+ return True
+
+ def _action(self, cr, uid, cases, state_to, scrit=None, context=None):
+ if context is None:
+ context = {}
+ context['state_to'] = state_to
+ rule_obj = self.pool.get('base.action.rule')
+ if not rule_obj:
+ return True
+ model_obj = self.pool.get('ir.model')
+ model_ids = model_obj.search(cr, uid, [('model','=',self._name)], context=context)
+ rule_ids = rule_obj.search(cr, uid, [('model_id','=',model_ids[0])], context=context)
+ return rule_obj._action(cr, uid, rule_ids, cases, scrit=scrit, context=context)
+
+ def remind_partner(self, cr, uid, ids, context=None, attach=False):
+ return self.remind_user(cr, uid, ids, context, attach,
+ destination=False)
+
+ def remind_user(self, cr, uid, ids, context=None, attach=False, destination=True):
+ mail_message = self.pool.get('mail.message')
+ for case in self.browse(cr, uid, ids, context=context):
+ if not destination and not case.email_from:
+ return False
+ if not case.user_id.user_email:
+ return False
+ if destination and case.section_id.user_id:
+ case_email = case.section_id.user_id.user_email
+ else:
+ case_email = case.user_id.user_email
+
+ src = case_email
+ dest = case.user_id.user_email or ""
+ body = case.description or ""
+ for message in case.message_ids:
+ if message.email_from and message.body_text:
+ body = message.body_text
+ break
+
+ if not destination:
+ src, dest = dest, case.email_from
+ if body and case.user_id.signature:
+ if body:
+ body += '\n\n%s' % (case.user_id.signature)
+ else:
+ body = '\n\n%s' % (case.user_id.signature)
+
+ body = self.format_body(body)
+
+ attach_to_send = {}
+
+ if attach:
+ attach_ids = self.pool.get('ir.attachment').search(cr, uid, [('res_model', '=', self._name), ('res_id', '=', case.id)])
+ attach_to_send = self.pool.get('ir.attachment').read(cr, uid, attach_ids, ['datas_fname', 'datas'])
+ attach_to_send = dict(map(lambda x: (x['datas_fname'], base64.decodestring(x['datas'])), attach_to_send))
+
+ # Send an email
+ subject = "Reminder: [%s] %s" % (str(case.id), case.name, )
+ mail_message.schedule_with_attach(cr, uid,
+ src,
+ [dest],
+ subject,
+ body,
+ model=self._name,
+ reply_to=case.section_id.reply_to,
+ res_id=case.id,
+ attachments=attach_to_send,
+ context=context
+ )
+ return True
+
+ def _check(self, cr, uid, ids=False, context=None):
+ """ Function called by the scheduler to process cases for date actions.
+ Must be overriden by inheriting classes.
+ """
+ return True
+
+ def format_body(self, body):
+ return self.pool.get('base.action.rule').format_body(body)
+
+ def format_mail(self, obj, body):
+ return self.pool.get('base.action.rule').format_mail(obj, body)
+
+ def message_thread_followers(self, cr, uid, ids, context=None):
+ res = {}
+ for case in self.browse(cr, uid, ids, context=context):
+ l=[]
+ if case.email_cc:
+ l.append(case.email_cc)
+ if case.user_id and case.user_id.user_email:
+ l.append(case.user_id.user_email)
+ res[case.id] = l
+ return res
+
+ # ******************************
+ # Notifications
+ # ******************************
+
+ def case_get_note_msg_prefix(self, cr, uid, id, context=None):
+ """ Default prefix for notifications. For example: "%s has been
+ <b>closed</b>.". As several models will inherit from base_stage,
+ this method returns a void string. Class using base_stage
+ will have to override this method to define the prefix they
+ want to display.
+ """
+ return ''
+
+ def stage_set_send_note(self, cr, uid, ids, stage_id, context=None):
+ """ Send a notification when the stage changes. This method has
+ to be overriden, because each document will have its particular
+ behavior and/or stage model (such as project.task.type or
+ crm.case.stage).
+ """
+ return True
+
+ def case_open_send_note(self, cr, uid, ids, context=None):
+ for id in ids:
+ msg = _('%s has been <b>opened</b>.') % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
+ self.message_append_note(cr, uid, [id], body=msg, context=context)
+ return True
+
+ def case_close_send_note(self, cr, uid, ids, context=None):
+ for id in ids:
+ msg = _('%s has been <b>closed</b>.') % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
+ self.message_append_note(cr, uid, [id], body=msg, context=context)
+ return True
+
+ def case_cancel_send_note(self, cr, uid, ids, context=None):
+ for id in ids:
+ msg = _('%s has been <b>canceled</b>.') % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
+ self.message_append_note(cr, uid, [id], body=msg, context=context)
+ return True
+
+ def case_pending_send_note(self, cr, uid, ids, context=None):
+ for id in ids:
+ msg = _('%s is now <b>pending</b>.') % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
+ self.message_append_note(cr, uid, [id], body=msg, context=context)
+ return True
+
+ def case_reset_send_note(self, cr, uid, ids, context=None):
+ for id in ids:
+ msg = _('%s has been <b>renewed</b>.') % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
+ self.message_append_note(cr, uid, [id], body=msg, context=context)
+ return True
+
+ def case_escalate_send_note(self, cr, uid, ids, new_section=None, context=None):
+ for id in ids:
+ if new_section:
+ msg = '%s has been <b>escalated</b> to <b>%s</b>.' % (self.case_get_note_msg_prefix(cr, uid, id, context=context), new_section.name)
+ else:
+ msg = '%s has been <b>escalated</b>.' % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
+ self.message_append_note(cr, uid, [id], 'System Notification', msg, context=context)
+ return True
diff --git a/addons/base_status/base_state.py b/addons/base_status/base_state.py
new file mode 100644
index 00000000000..5baf71a01b6
--- /dev/null
+++ b/addons/base_status/base_state.py
@@ -0,0 +1,194 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-today OpenERP SA (<http://www.openerp.com>)
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from osv import fields
+from tools.translate import _
+
+class base_state(object):
+ """ Base utility mixin class for objects willing to manage their state.
+ Object subclassing this class should define the following colums:
+ - ``date_open`` (datetime field)
+ - ``date_closed`` (datetime field)
+ - ``user_id`` (many2one to res.users)
+ - ``partner_id`` (many2one to res.partner)
+ - ``state`` (selection field)
+ """
+
+ def _get_default_partner(self, cr, uid, context=None):
+ """ Gives id of partner for current user
+ :param context: if portal not in context returns False
+ """
+ if context is None:
+ context = {}
+ if not context or not context.get('portal'):
+ return False
+ user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
+ if hasattr(user, 'partner_address_id') and user.partner_address_id:
+ return user.partner_address_id
+ return user.company_id.partner_id.id
+
+ def _get_default_email(self, cr, uid, context=None):
+ """ Gives default email address for current user
+ :param context: if portal not in context returns False
+ """
+ if context is None:
+ context = {}
+ if not context or not context.get('portal'):
+ return False
+ user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
+ return user.user_email
+
+ def _get_default_user(self, cr, uid, context=None):
+ """ Gives current user id
+ :param context: if portal not in context returns False
+ """
+ if context is None:
+ context = {}
+ if not context or not context.get('portal'):
+ return False
+ return uid
+
+ def onchange_partner_address_id(self, cr, uid, ids, add, email=False):
+ """ This function returns value of partner email based on Partner Address
+ :param add: Id of Partner's address
+ :param email: Partner's email ID
+ """
+ data = {'value': {'email_from': False, 'phone':False}}
+ if add:
+ address = self.pool.get('res.partner').browse(cr, uid, add)
+ data['value'] = {'email_from': address and address.email or False ,
+ 'phone': address and address.phone or False}
+ if 'phone' not in self._columns:
+ del data['value']['phone']
+ return data
+
+ def onchange_partner_id(self, cr, uid, ids, part, email=False):
+ """ This function returns value of partner address based on partner
+ :param part: Partner's id
+ :param email: Partner's email ID
+ """
+ data={}
+ if part:
+ addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['contact'])
+ data.update(self.onchange_partner_address_id(cr, uid, ids, addr['contact'])['value'])
+ return {'value': data}
+
+ def case_open(self, cr, uid, ids, context=None):
+ """ Opens case """
+ cases = self.browse(cr, uid, ids, context=context)
+ for case in cases:
+ values = {'active': True}
+ if case.state == 'draft':
+ values['date_open'] = fields.datetime.now()
+ if not case.user_id:
+ values['user_id'] = uid
+ self.case_set(cr, uid, [case.id], 'open', values, context=context)
+ self.case_open_send_note(cr, uid, [case.id], context=context)
+ return True
+
+ def case_close(self, cr, uid, ids, context=None):
+ """ Closes case """
+ self.case_set(cr, uid, ids, 'done', {'date_closed': fields.datetime.now()}, context=context)
+ self.case_close_send_note(cr, uid, ids, context=context)
+ return True
+
+ def case_cancel(self, cr, uid, ids, context=None):
+ """ Cancels case """
+ self.case_set(cr, uid, ids, 'cancel', {'active': True}, context=context)
+ self.case_cancel_send_note(cr, uid, ids, context=context)
+ return True
+
+ def case_pending(self, cr, uid, ids, context=None):
+ """ Sets case as pending """
+ self.case_set(cr, uid, ids, 'pending', {'active': True}, context=context)
+ self.case_pending_send_note(cr, uid, ids, context=context)
+ return True
+
+ def case_reset(self, cr, uid, ids, context=None):
+ """ Resets case as draft """
+ self.case_set(cr, uid, ids, 'draft', {'active': True}, context=context)
+ self.case_reset_send_note(cr, uid, ids, context=context)
+ return True
+
+ def case_set(self, cr, uid, ids, state_name, update_values=None, context=None):
+ """ Generic method for setting case. This methods wraps the update
+ of the record, as well as call to _action and browse_record
+ case setting to fill the cache.
+
+ :params: state_name: the new value of the state, such as
+ 'draft' or 'close'.
+ :params: update_values: values that will be added with the state
+ update when writing values to the record.
+ """
+ cases = self.browse(cr, uid, ids, context=context)
+ cases[0].state # fill browse record cache, for _action having old and new values
+ if update_values is None:
+ update_values = {}
+ update_values['state'] = state_name
+ self.write(cr, uid, ids, update_values, context=context)
+ self._action(cr, uid, cases, state_name, context=context)
+
+ def _action(self, cr, uid, cases, state_to, scrit=None, context=None):
+ if context is None:
+ context = {}
+ context['state_to'] = state_to
+ rule_obj = self.pool.get('base.action.rule')
+ model_obj = self.pool.get('ir.model')
+ model_ids = model_obj.search(cr, uid, [('model','=',self._name)])
+ rule_ids = rule_obj.search(cr, uid, [('model_id','=',model_ids[0])])
+ return rule_obj._action(cr, uid, rule_ids, cases, scrit=scrit, context=context)
+
+ # ******************************
+ # Notifications
+ # ******************************
+
+ def case_get_note_msg_prefix(self, cr, uid, id, context=None):
+ return ''
+
+ def case_open_send_note(self, cr, uid, ids, context=None):
+ for id in ids:
+ msg = _('%s has been <b>opened</b>.') % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
+ self.message_append_note(cr, uid, [id], body=msg, context=context)
+ return True
+
+ def case_close_send_note(self, cr, uid, ids, context=None):
+ for id in ids:
+ msg = _('%s has been <b>closed</b>.') % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
+ self.message_append_note(cr, uid, [id], body=msg, context=context)
+ return True
+
+ def case_cancel_send_note(self, cr, uid, ids, context=None):
+ for id in ids:
+ msg = _('%s has been <b>canceled</b>.') % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
+ self.message_append_note(cr, uid, [id], body=msg, context=context)
+ return True
+
+ def case_pending_send_note(self, cr, uid, ids, context=None):
+ for id in ids:
+ msg = _('%s is now <b>pending</b>.') % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
+ self.message_append_note(cr, uid, [id], body=msg, context=context)
+ return True
+
+ def case_reset_send_note(self, cr, uid, ids, context=None):
+ for id in ids:
+ msg = _('%s has been <b>renewed</b>.') % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
+ self.message_append_note(cr, uid, [id], body=msg, context=context)
+ return True
diff --git a/addons/base_synchro/i18n/ja.po b/addons/base_synchro/i18n/ja.po
new file mode 100644
index 00000000000..afb60e50941
--- /dev/null
+++ b/addons/base_synchro/i18n/ja.po
@@ -0,0 +1,279 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-24 04:40+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: base_synchro
+#: model:ir.actions.act_window,name:base_synchro.action_view_base_synchro
+msgid "Base Synchronization"
+msgstr "ベースの同期"
+
+#. module: base_synchro
+#: field:base.synchro.server,server_db:0
+msgid "Server Database"
+msgstr "サーバデータベース"
+
+#. module: base_synchro
+#: view:base.synchro.server:0
+#: model:ir.model,name:base_synchro.model_base_synchro_server
+msgid "Synchronized server"
+msgstr "同期サーバ"
+
+#. module: base_synchro
+#: field:base.synchro.obj.avoid,name:0
+msgid "Field Name"
+msgstr "項目名"
+
+#. module: base_synchro
+#: field:base.synchro.obj,synchronize_date:0
+msgid "Latest Synchronization"
+msgstr "最終同期"
+
+#. module: base_synchro
+#: field:base.synchro,user_id:0
+msgid "Send Result To"
+msgstr "結果送信先"
+
+#. module: base_synchro
+#: model:ir.model,name:base_synchro.model_base_synchro_obj_avoid
+msgid "Fields to not synchronize"
+msgstr "非同期項目"
+
+#. module: base_synchro
+#: view:base.synchro:0
+msgid "_Close"
+msgstr "閉じる"
+
+#. module: base_synchro
+#: view:base.synchro:0
+msgid "Transfer Data To Server"
+msgstr "サーバにデータ転送"
+
+#. module: base_synchro
+#: model:ir.model,name:base_synchro.model_base_synchro_obj
+msgid "Register Class"
+msgstr "クラス登録"
+
+#. module: base_synchro
+#: view:base.synchro.obj:0
+#: model:ir.actions.act_window,name:base_synchro.action_transfer_tree
+#: model:ir.ui.menu,name:base_synchro.transfer_menu_id
+msgid "Synchronized objects"
+msgstr "同期済オブジェクト"
+
+#. module: base_synchro
+#: field:base.synchro.server,obj_ids:0
+msgid "Models"
+msgstr "モデル"
+
+#. module: base_synchro
+#: field:base.synchro.obj.avoid,obj_id:0
+#: view:base.synchro.obj.line:0
+#: field:base.synchro.obj.line,obj_id:0
+msgid "Object"
+msgstr "オブジェクト"
+
+#. module: base_synchro
+#: view:base.synchro:0
+msgid "Synchronization Completed!"
+msgstr "同期が完了しました。"
+
+#. module: base_synchro
+#: field:base.synchro.server,login:0
+msgid "User Name"
+msgstr "ユーザ名"
+
+#. module: base_synchro
+#: view:base.synchro.obj:0
+#: view:base.synchro.obj.line:0
+msgid "Group By"
+msgstr "グループ化"
+
+#. module: base_synchro
+#: selection:base.synchro.obj,action:0
+msgid "Upload"
+msgstr "アップロード"
+
+#. module: base_synchro
+#: view:base.synchro.obj:0
+msgid "Latest synchronization"
+msgstr "最終同期"
+
+#. module: base_synchro
+#: view:base.synchro.obj.line:0
+#: field:base.synchro.obj.line,name:0
+msgid "Date"
+msgstr "日付"
+
+#. module: base_synchro
+#: field:base.synchro.server,password:0
+msgid "Password"
+msgstr "パスワード"
+
+#. module: base_synchro
+#: field:base.synchro.obj,avoid_ids:0
+msgid "Fields Not Sync."
+msgstr "非同期項目"
+
+#. module: base_synchro
+#: selection:base.synchro.obj,action:0
+msgid "Both"
+msgstr "両方"
+
+#. module: base_synchro
+#: field:base.synchro.obj,name:0
+msgid "Name"
+msgstr "名前"
+
+#. module: base_synchro
+#: view:base.synchro.obj:0
+msgid "Fields"
+msgstr "項目"
+
+#. module: base_synchro
+#: view:base.synchro.obj.line:0
+msgid "Transfered Ids Details"
+msgstr "転送IDの詳細"
+
+#. module: base_synchro
+#: field:base.synchro.obj,action:0
+msgid "Synchronisation direction"
+msgstr "同期指示"
+
+#. module: base_synchro
+#: field:base.synchro.obj,server_id:0
+msgid "Server"
+msgstr "サーバ"
+
+#. module: base_synchro
+#: model:ir.actions.act_window,name:base_synchro.action_base_synchro_obj_line_tree
+#: model:ir.model,name:base_synchro.model_base_synchro_obj_line
+#: model:ir.ui.menu,name:base_synchro.menu_action_base_synchro_obj_line_tree
+msgid "Synchronized instances"
+msgstr "同期インスタンス"
+
+#. module: base_synchro
+#: field:base.synchro.obj,active:0
+msgid "Active"
+msgstr "アクティブ"
+
+#. module: base_synchro
+#: view:base.synchro.obj:0
+#: field:base.synchro.obj,model_id:0
+msgid "Object to synchronize"
+msgstr "同期させるオブジェクト"
+
+#. module: base_synchro
+#: model:ir.actions.act_window,name:base_synchro.action_base_synchro_server_tree
+#: model:ir.ui.menu,name:base_synchro.synchro_server_tree_menu_id
+msgid "Servers to be synchronized"
+msgstr "同期されるサーバ"
+
+#. module: base_synchro
+#: view:base.synchro.obj:0
+msgid "Transfer Details"
+msgstr "転送の詳細"
+
+#. module: base_synchro
+#: field:base.synchro.obj.line,remote_id:0
+msgid "Remote Id"
+msgstr "リモート ID"
+
+#. module: base_synchro
+#: field:base.synchro.obj,line_id:0
+msgid "Ids Affected"
+msgstr "影響を受けたID"
+
+#. module: base_synchro
+#: model:ir.ui.menu,name:base_synchro.next_id_63
+msgid "History"
+msgstr "履歴"
+
+#. module: base_synchro
+#: model:ir.ui.menu,name:base_synchro.next_id_62
+#: model:ir.ui.menu,name:base_synchro.synch_config
+msgid "Synchronization"
+msgstr "同期"
+
+#. module: base_synchro
+#: field:base.synchro.obj,domain:0
+msgid "Domain"
+msgstr "ドメイン"
+
+#. module: base_synchro
+#: view:base.synchro:0
+msgid "_Synchronize"
+msgstr "同期"
+
+#. module: base_synchro
+#: view:base.synchro:0
+msgid "OK"
+msgstr ""
+
+#. module: base_synchro
+#: field:base.synchro.server,name:0
+msgid "Server name"
+msgstr "サーバ名"
+
+#. module: base_synchro
+#: field:base.synchro.obj,sequence:0
+msgid "Sequence"
+msgstr "順序"
+
+#. module: base_synchro
+#: view:base.synchro:0
+msgid ""
+"The synchronisation has been started.You will receive a request when it's "
+"done."
+msgstr "同期が開始されました。完了したら、あなたは要求を受け取るでしょう。"
+
+#. module: base_synchro
+#: field:base.synchro.server,server_port:0
+msgid "Server Port"
+msgstr "サーバのポート"
+
+#. module: base_synchro
+#: model:ir.ui.menu,name:base_synchro.menu_action_view_base_synchro
+msgid "Synchronize objects"
+msgstr "オブジェクトの同期"
+
+#. module: base_synchro
+#: model:ir.model,name:base_synchro.model_base_synchro
+msgid "base.synchro"
+msgstr ""
+
+#. module: base_synchro
+#: field:base.synchro.obj.line,local_id:0
+msgid "Local Id"
+msgstr "ローカルID"
+
+#. module: base_synchro
+#: model:ir.actions.act_window,name:base_synchro.actions_regclass_tree
+#: model:ir.actions.act_window,name:base_synchro.actions_transfer_line_form
+msgid "Filters"
+msgstr "フィルタ"
+
+#. module: base_synchro
+#: selection:base.synchro.obj,action:0
+msgid "Download"
+msgstr "ダウンロード"
+
+#. module: base_synchro
+#: field:base.synchro,server_url:0
+#: field:base.synchro.server,server_url:0
+msgid "Server URL"
+msgstr "サーバURL"
diff --git a/addons/board/i18n/gu.po b/addons/board/i18n/gu.po
new file mode 100644
index 00000000000..31d883053f7
--- /dev/null
+++ b/addons/board/i18n/gu.po
@@ -0,0 +1,348 @@
+# Gujarati translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-31 11:09+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Gujarati <gu@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: board
+#: view:res.log.report:0
+msgid " Year "
+msgstr ""
+
+#. module: board
+#: model:ir.model,name:board.model_board_menu_create
+msgid "Menu Create"
+msgstr ""
+
+#. module: board
+#: view:board.menu.create:0
+msgid "Menu Information"
+msgstr ""
+
+#. module: board
+#: view:res.users:0
+msgid "Latest Connections"
+msgstr ""
+
+#. module: board
+#: view:res.log.report:0
+msgid "Log created in last month"
+msgstr ""
+
+#. module: board
+#: view:board.board:0
+#: model:ir.actions.act_window,name:board.open_board_administration_form
+msgid "Administration Dashboard"
+msgstr "સંચાલન ડેશબોર્ડ"
+
+#. module: board
+#: view:res.log.report:0
+msgid "Group By..."
+msgstr "ગ્રુપ દ્વારા..."
+
+#. module: board
+#: view:res.log.report:0
+msgid "Log created in current year"
+msgstr ""
+
+#. module: board
+#: model:ir.model,name:board.model_board_board
+msgid "Board"
+msgstr "બૉર્ડ"
+
+#. module: board
+#: field:board.menu.create,menu_name:0
+msgid "Menu Name"
+msgstr ""
+
+#. module: board
+#: model:ir.actions.act_window,name:board.board_weekly_res_log_report_action
+#: view:res.log.report:0
+msgid "Weekly Global Activity"
+msgstr ""
+
+#. module: board
+#: field:board.board.line,name:0
+msgid "Title"
+msgstr "શીર્ષક"
+
+#. module: board
+#: field:res.log.report,nbr:0
+msgid "# of Entries"
+msgstr ""
+
+#. module: board
+#: view:res.log.report:0
+#: field:res.log.report,month:0
+msgid "Month"
+msgstr "મહિનો"
+
+#. module: board
+#: view:res.log.report:0
+msgid "Log created in current month"
+msgstr ""
+
+#. module: board
+#: model:ir.actions.act_window,name:board.board_monthly_res_log_report_action
+#: view:res.log.report:0
+msgid "Monthly Activity per Document"
+msgstr ""
+
+#. module: board
+#: view:board.board:0
+msgid "Configuration Overview"
+msgstr ""
+
+#. module: board
+#: model:ir.actions.act_window,name:board.action_view_board_list_form
+#: model:ir.ui.menu,name:board.menu_view_board_form
+msgid "Dashboard Definition"
+msgstr ""
+
+#. module: board
+#: selection:res.log.report,month:0
+msgid "March"
+msgstr "માર્ચ"
+
+#. module: board
+#: selection:res.log.report,month:0
+msgid "August"
+msgstr "ઑગસ્ટ"
+
+#. module: board
+#: model:ir.actions.act_window,name:board.action_user_connection_tree
+msgid "User Connections"
+msgstr ""
+
+#. module: board
+#: field:res.log.report,creation_date:0
+msgid "Creation Date"
+msgstr "સર્જન તારીખ"
+
+#. module: board
+#: view:res.log.report:0
+msgid "Log Analysis"
+msgstr ""
+
+#. module: board
+#: field:res.log.report,res_model:0
+msgid "Object"
+msgstr "વસ્તુ"
+
+#. module: board
+#: selection:res.log.report,month:0
+msgid "June"
+msgstr "જૂન"
+
+#. module: board
+#: field:board.board,line_ids:0
+msgid "Action Views"
+msgstr ""
+
+#. module: board
+#: model:ir.model,name:board.model_res_log_report
+msgid "Log Report"
+msgstr ""
+
+#. module: board
+#: code:addons/board/wizard/board_menu_create.py:46
+#, python-format
+msgid "Please Insert Dashboard View(s) !"
+msgstr ""
+
+#. module: board
+#: selection:res.log.report,month:0
+msgid "July"
+msgstr "જુલાઈ"
+
+#. module: board
+#: view:res.log.report:0
+#: field:res.log.report,day:0
+msgid "Day"
+msgstr "દિવસ"
+
+#. module: board
+#: view:board.menu.create:0
+msgid "Create Menu For Dashboard"
+msgstr ""
+
+#. module: board
+#: selection:res.log.report,month:0
+msgid "February"
+msgstr ""
+
+#. module: board
+#: selection:res.log.report,month:0
+msgid "October"
+msgstr ""
+
+#. module: board
+#: model:ir.model,name:board.model_board_board_line
+msgid "Board Line"
+msgstr ""
+
+#. module: board
+#: field:board.menu.create,menu_parent_id:0
+msgid "Parent Menu"
+msgstr ""
+
+#. module: board
+#: view:res.log.report:0
+msgid " Month-1 "
+msgstr ""
+
+#. module: board
+#: selection:res.log.report,month:0
+msgid "January"
+msgstr ""
+
+#. module: board
+#: view:board.board:0
+msgid "Users"
+msgstr ""
+
+#. module: board
+#: selection:res.log.report,month:0
+msgid "November"
+msgstr ""
+
+#. module: board
+#: help:board.board.line,sequence:0
+msgid ""
+"Gives the sequence order when displaying a list of "
+"board lines."
+msgstr ""
+
+#. module: board
+#: selection:res.log.report,month:0
+msgid "April"
+msgstr ""
+
+#. module: board
+#: view:board.board:0
+#: field:board.board,name:0
+#: field:board.board.line,board_id:0
+#: model:ir.ui.menu,name:board.menu_dasboard
+msgid "Dashboard"
+msgstr ""
+
+#. module: board
+#: code:addons/board/wizard/board_menu_create.py:45
+#, python-format
+msgid "User Error!"
+msgstr ""
+
+#. module: board
+#: field:board.board.line,action_id:0
+msgid "Action"
+msgstr ""
+
+#. module: board
+#: field:board.board.line,position:0
+msgid "Position"
+msgstr ""
+
+#. module: board
+#: view:res.log.report:0
+msgid "Model"
+msgstr ""
+
+#. module: board
+#: model:ir.actions.act_window,name:board.board_homepage_action
+msgid "Home Page"
+msgstr ""
+
+#. module: board
+#: model:ir.actions.act_window,name:board.action_latest_activities_tree
+msgid "Latest Activities"
+msgstr ""
+
+#. module: board
+#: selection:board.board.line,position:0
+msgid "Left"
+msgstr ""
+
+#. module: board
+#: field:board.board,view_id:0
+msgid "Board View"
+msgstr ""
+
+#. module: board
+#: selection:board.board.line,position:0
+msgid "Right"
+msgstr ""
+
+#. module: board
+#: field:board.board.line,width:0
+msgid "Width"
+msgstr ""
+
+#. module: board
+#: view:res.log.report:0
+msgid " Month "
+msgstr ""
+
+#. module: board
+#: field:board.board.line,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: board
+#: selection:res.log.report,month:0
+msgid "September"
+msgstr ""
+
+#. module: board
+#: selection:res.log.report,month:0
+msgid "December"
+msgstr ""
+
+#. module: board
+#: view:board.board:0
+#: view:board.menu.create:0
+msgid "Create Menu"
+msgstr ""
+
+#. module: board
+#: field:board.board.line,height:0
+msgid "Height"
+msgstr ""
+
+#. module: board
+#: model:ir.actions.act_window,name:board.action_board_menu_create
+msgid "Create Board Menu"
+msgstr ""
+
+#. module: board
+#: selection:res.log.report,month:0
+msgid "May"
+msgstr ""
+
+#. module: board
+#: view:res.log.report:0
+#: field:res.log.report,name:0
+msgid "Year"
+msgstr ""
+
+#. module: board
+#: view:board.menu.create:0
+msgid "Cancel"
+msgstr ""
+
+#. module: board
+#: view:board.board:0
+msgid "Dashboard View"
+msgstr ""
diff --git a/addons/board/i18n/ja.po b/addons/board/i18n/ja.po
index d6c6e71f1cf..d3d95a02373 100644
--- a/addons/board/i18n/ja.po
+++ b/addons/board/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2012-04-29 04:47+0000\n"
-"Last-Translator: Masaki Yamaya <Unknown>\n"
+"PO-Revision-Date: 2012-05-24 04:45+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-04-30 04:41+0000\n"
-"X-Generator: Launchpad (build 15171)\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: board
#: view:res.log.report:0
@@ -115,12 +115,12 @@ msgstr "ダッシュボードの定義"
#. module: board
#: selection:res.log.report,month:0
msgid "March"
-msgstr "3月"
+msgstr "3月"
#. module: board
#: selection:res.log.report,month:0
msgid "August"
-msgstr "8月"
+msgstr "8月"
#. module: board
#: model:ir.actions.act_window,name:board.action_user_connection_tree
@@ -192,7 +192,7 @@ msgstr "10月"
#. module: board
#: model:ir.model,name:board.model_board_board_line
msgid "Board Line"
-msgstr ""
+msgstr "ボード行"
#. module: board
#: field:board.menu.create,menu_parent_id:0
@@ -224,7 +224,7 @@ msgstr "11月"
msgid ""
"Gives the sequence order when displaying a list of "
"board lines."
-msgstr ""
+msgstr "ボード行のリストを表示する場合、並び順を指定して下さい。"
#. module: board
#: selection:res.log.report,month:0
@@ -248,7 +248,7 @@ msgstr "ユーザエラー"
#. module: board
#: field:board.board.line,action_id:0
msgid "Action"
-msgstr ""
+msgstr "アクション"
#. module: board
#: field:board.board.line,position:0
@@ -268,7 +268,7 @@ msgstr "ホームページ"
#. module: board
#: model:ir.actions.act_window,name:board.action_latest_activities_tree
msgid "Latest Activities"
-msgstr ""
+msgstr "最新の行動"
#. module: board
#: selection:board.board.line,position:0
@@ -278,58 +278,58 @@ msgstr "左"
#. module: board
#: field:board.board,view_id:0
msgid "Board View"
-msgstr ""
+msgstr "ボードビュー"
#. module: board
#: selection:board.board.line,position:0
msgid "Right"
-msgstr ""
+msgstr "右"
#. module: board
#: field:board.board.line,width:0
msgid "Width"
-msgstr ""
+msgstr "幅"
#. module: board
#: view:res.log.report:0
msgid " Month "
-msgstr ""
+msgstr " 月 "
#. module: board
#: field:board.board.line,sequence:0
msgid "Sequence"
-msgstr ""
+msgstr "順序"
#. module: board
#: selection:res.log.report,month:0
msgid "September"
-msgstr ""
+msgstr "9月"
#. module: board
#: selection:res.log.report,month:0
msgid "December"
-msgstr ""
+msgstr "12月"
#. module: board
#: view:board.board:0
#: view:board.menu.create:0
msgid "Create Menu"
-msgstr ""
+msgstr "メニューの作成"
#. module: board
#: field:board.board.line,height:0
msgid "Height"
-msgstr ""
+msgstr "高さ"
#. module: board
#: model:ir.actions.act_window,name:board.action_board_menu_create
msgid "Create Board Menu"
-msgstr ""
+msgstr "ボードメニューの作成"
#. module: board
#: selection:res.log.report,month:0
msgid "May"
-msgstr ""
+msgstr "5月"
#. module: board
#: view:res.log.report:0
diff --git a/addons/caldav/i18n/ja.po b/addons/caldav/i18n/ja.po
index 0fb4deac052..cb0c2dc92e5 100644
--- a/addons/caldav/i18n/ja.po
+++ b/addons/caldav/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2012-05-10 17:21+0000\n"
-"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
+"PO-Revision-Date: 2012-05-24 17:42+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 05:13+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-05-25 04:40+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: caldav
#: view:basic.calendar:0
@@ -57,6 +57,29 @@ msgid ""
"\n"
" "
msgstr ""
+"\n"
+"事前要求事項\n"
+"----------\n"
+"CalDAVとのカレンダー同期を行う組み込みの方法はありません。\n"
+"サードパーティのソフトウェアのインストールが必要です:Calendar(CalDAV)が現在唯一です。\n"
+"\n"
+"設定\n"
+"-------------\n"
+"\n"
+"1. Calendar Syncを開きます。\n"
+" 2つのタブのインタフェースが現れます。\n"
+" 最初のタブに留まります。\n"
+"\n"
+"2. CaDAV Calendar URL:そのURL にアクセスします(即ち "
+"http://host.com:8069/webdav/db/calendars/users/demo/c/Meetings)。\n"
+"\n"
+"3. OpenERPのユーザ名とパスワードを入力します。\n"
+"\n"
+"4. サーバがSSLを使わない場合は警告を受けます。\"Yes\"を応答します。\n"
+"\n"
+"5. すると、手動で同期、または x分毎に同期を設定するカスタマイズが可能です。\n"
+"\n"
+" "
#. module: caldav
#: field:basic.calendar.alias,name:0
@@ -104,6 +127,9 @@ msgid ""
"to synchronize Meeting with Calendars client.You can access Calendars using "
"CalDAV clients, like sunbird, Calendar Evaluation, Mobile."
msgstr ""
+"カレンダーはOpenERPモデルの全てとともにカレンダーイベントとToDo属性のカスタマイズが可能です。カレンダーはiCalのインポート / "
+"エクスポートを提供します。WebDAVサーバはカレンダーへのリモートアクセスを提供します。カレンダークライアントとともにミーティングの同期を手伝います。S"
+"unbird、Calendar Evaluation、MobileのようにCalDAVクライアントを使ってカレンダーにアクセスできます。"
#. module: caldav
#: code:addons/caldav/calendar.py:789
@@ -176,6 +202,26 @@ msgid ""
"side.\n"
" "
msgstr ""
+"\n"
+" 1. カレンダービューへ行く\n"
+"\n"
+" 2. ファイル -> 新規 -> カレンダー\n"
+"\n"
+" 3. フォームを埋める\n"
+" ・ タイプ:CalDav\n"
+" ・ 名前:好みの名前(例:会議)\n"
+" ・ "
+"URL:http://HOST:PORT/webdav/DB_NAME/calendars/users/USER/c/Meetings (例: "
+"http://localhost:8069/webdav/db_1/calendars/users/demo/c/Meetings)このウィンドウに与えら"
+"れたもの\n"
+" ・ \"SSL使用\"のチェックを外す\n"
+" ・ ユーザ名:あなたのユーザ名(例:demo)\n"
+" ・ リフレッシュ:サーバとデータの同期を行う好みの時間間隔\n"
+"\n"
+" 4. OKをクリックし、OpenERPのパスワードを入力\n"
+"\n"
+" 5. 名付けをした新しいカレンダーが左側に表示\n"
+" "
#. module: caldav
#: code:addons/caldav/calendar.py:879
@@ -218,7 +264,7 @@ msgstr "ICS をエクスポートする"
#. module: caldav
#: selection:basic.calendar.fields,fn:0
msgid "Use the field"
-msgstr ""
+msgstr "この項目を使用"
#. module: caldav
#: code:addons/caldav/calendar.py:789
@@ -475,6 +521,25 @@ msgid ""
"created\n"
" "
msgstr ""
+"\n"
+" ・ WebDAVサーバはカレンダーにリモートアクセスを提供\n"
+" ・ WebDAVを使ってカレンダーの同期\n"
+" ・ 全てのOpenERPモデルとともにカレンダーイベントとToDo属性をカスタマイズ\n"
+" ・ iCalのインポート / エクスポート機能を提供\n"
+"\n"
+" CalDAVクライアントを使ってカレンダーにアクセスする先:\n"
+" "
+"http://HOSTNAME:PORT/webdav/DATABASE_NAME/calendars/users/USERNAME/c\n"
+"\n"
+" WebCalを使ってOpenERPカレンダーにアクセスするためのリモートサイトのURL:\n"
+" "
+"http://HOSTNAME:PORT/webdav/DATABASE_NAME/Calendars/CALENDAR_NAME.ics\n"
+"\n"
+" 場所\n"
+" HOSTNAME:稼動中のOpenERPサーバ(WebDAVとともに)ホスト名\n"
+" PORT:稼動中のOpenERPサーバのポート(デフォルト:8069)\n"
+" DATABASE_NAME:作成されたOpenERPカレンダーのデータベース名\n"
+" "
#. module: caldav
#: sql_constraint:document.directory:0
@@ -560,6 +625,30 @@ msgid ""
"\n"
"7. Then Finish, your meetings should appear now in your calendar view\n"
msgstr ""
+"\n"
+"事前要求事項\n"
+"----------\n"
+"Thunderbirdを使っている場合、最初にlightningモジュールをインストールする必要があります。\n"
+"http://www.mozilla.org/projects/calendar/lightning/\n"
+"\n"
+"設定\n"
+"-------------\n"
+"1. カレンダービューへ行く\n"
+"\n"
+"2. ファイル -> 新規カレンダー\n"
+"\n"
+"3. \"ネットワークで\"を選択\n"
+"\n"
+"4. フォーマットとしてCalDAVを選択\n"
+" "
+"場所としてURLを指定(例:http://host.com:8069/webdav/db/calendars/users/demo/c/Meetings)"
+"\n"
+"\n"
+"5. カレンダーの名前と色を選択。警報のチェックを外すのが望ましい\n"
+"\n"
+"6. OpenERPのログイン名とパスワードを入力(パスワード入力を1回だけとする場合はパスワードを記憶するをチェック)\n"
+"\n"
+"7. 完了すると、その時にはカレンダービューにミーティングが現れる\n"
#. module: caldav
#: view:caldav.browse:0
@@ -596,7 +685,7 @@ msgstr "私のカレンダー"
msgid ""
"Also export a <name>.ics entry next to the calendar folder, with WebCal "
"content."
-msgstr ""
+msgstr "また、<name>.ics エントリーを隣のカレンダーフォルダにWebCalコンテンツとともにインポートします。"
#. module: caldav
#: field:basic.calendar.fields,fn:0
@@ -619,7 +708,7 @@ msgstr "詳細"
#. module: caldav
#: help:basic.calendar.alias,cal_line_id:0
msgid "The calendar/line this mapping applies to"
-msgstr ""
+msgstr "このマッピングのカレンダー / 行の適用先"
#. module: caldav
#: field:basic.calendar.fields,mapping:0
@@ -660,7 +749,7 @@ msgstr "遠隔カレンダを継読する。"
#. module: caldav
#: help:basic.calendar,calendar_color:0
msgid "For supporting clients, the color of the calendar entries"
-msgstr ""
+msgstr "サポートするクライアントのカレンダーエントリーの色"
#. module: caldav
#: field:basic.calendar,name:0
@@ -761,6 +850,47 @@ msgid ""
" now trusts it.\n"
" "
msgstr ""
+"\n"
+" SSL固有の設定は以下のドキュメントを参照して下さい。\n"
+"\n"
+"カレンダーの設定のために次のことをする必要があります:\n"
+"\n"
+"1. 設定をクリックし、メール、コンタクト、カレンダーページに行きます。\n"
+"2. アカウントを追加に進みます。\n"
+"3. その他をクリックします。\n"
+"4. カレンダーグループからCalDAVアカウントの追加を選択します。\n"
+"\n"
+"5. ホスト名を入力します。\n"
+" (例:URLが http://openerp.com:8069/webdav/db_1/calendars/ "
+"であれば、openerp.comのホスト)\n"
+"\n"
+"6. OpenERPのユーザ名とパスワードを埋めます。\n"
+"\n"
+"7. 詳細として、サーバ名かOpenERPカレンダーの類の何れかを残すことができます。\n"
+"\n"
+"9. SSLサーバを使わない場合、エラーが発生します。気に留めず継続を押下します。\n"
+"\n"
+"10. 詳細設定をクリックし正しいポートとパスを設定します。\n"
+"\n"
+"11. OpenERPサーバのポートを指定:SSLは8071、他は8069\n"
+"\n"
+"12. アカウントURLにOpenERP WebDAVの正しいパスを設定します。\n"
+" URLはウィザードにより与えられます(例:http://my.server.ip:8069/webdav/dbname/calendars/)\n"
+"\n"
+"13. 完了をクリック。上手くいけば電話はOpenERPサーバに接続詞アカウントの使用を検証します。\n"
+"\n"
+"14. iPhoneのメインメニューに行き、カレンダーアプリケーションに入ります。\n"
+"  あなたのOpenERPカレンダーはカレンダーボタンの選択の内側に表示される。\n"
+"  新しいカレンダーエントリーを作成する時、保存されるカレンダーの指定が必要であることに注意して下さい。\n"
+"\n"
+"SSLを必要とする場合は(証明書はいつものように検証済ではない)、最初に次の手順でiPhoneに信頼させることが必要です。\n"
+"IF you need SSL (and your certificate is not a verified one, as usual),\n"
+"\n"
+" s1. Safari(ブラウザ)を開いてOpenERPサーバのhttpsの場所を入力します:\n"
+"  https://my.server.ip:8071/\n"
+" (サーバが\"my.server.ip\"にありHTTPSポートがデフォルトの8071と想定)\n"
+" s2. Safariは接続してその証明書が使われたことを警告します。証明書を検証し、同意するとiPhoneは信頼します。\n"
+" "
#. module: caldav
#: selection:user.preference,device:0
@@ -817,7 +947,7 @@ msgstr "basic.calendar.todo"
#. module: caldav
#: help:basic.calendar,calendar_order:0
msgid "For supporting clients, the order of this folder among the calendars"
-msgstr ""
+msgstr "サポートするクライアントのカレンダー中のフォルダ並び順"
#~ msgid "Provide path for Remote Calendar"
#~ msgstr "遠隔カレンダーへの経路を指定して下さい。"
diff --git a/addons/caldav/i18n/pt.po b/addons/caldav/i18n/pt.po
index 1a27f114f0c..2746ddd853a 100644
--- a/addons/caldav/i18n/pt.po
+++ b/addons/caldav/i18n/pt.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2012-05-10 17:59+0000\n"
-"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
+"PO-Revision-Date: 2012-05-31 15:16+0000\n"
+"Last-Translator: ThinkOpen Solutions <Unknown>\n"
"Language-Team: Portuguese <pt@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 05:13+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
#. module: caldav
#: view:basic.calendar:0
@@ -672,7 +672,7 @@ msgstr ""
#. module: caldav
#: view:caldav.browse:0
msgid "Browse Caldav"
-msgstr ""
+msgstr "Pesquisa Caldav"
#. module: caldav
#: field:user.preference,host_name:0
diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py
index 2049b3a8cc9..0c9b75b4d41 100644
--- a/addons/crm/__openerp__.py
+++ b/addons/crm/__openerp__.py
@@ -57,6 +57,7 @@ Creates a dashboard for CRM that includes:
'depends': [
'base_action_rule',
'base_setup',
+ 'base_status',
'process',
'mail',
'base_calendar',
@@ -66,7 +67,6 @@ Creates a dashboard for CRM that includes:
],
'init_xml': [
'crm_data.xml',
- 'crm_meeting_data.xml',
'crm_lead_data.xml',
'crm_meeting_data.xml',
'crm_phonecall_data.xml',
diff --git a/addons/crm/board_crm_view.xml b/addons/crm/board_crm_view.xml
index b8e05b68cf5..524a49ef025 100644
--- a/addons/crm/board_crm_view.xml
+++ b/addons/crm/board_crm_view.xml
@@ -19,19 +19,13 @@
<field name="planned_revenue" sum="Total of Planned Revenue"/>
<field name="probability" widget="progressbar" avg="Avg. of Probability"/>
<field name="date_deadline" invisible="1"/>
- <field name="state"/>
- <button name="case_open" string="Open"
- states="draft,pending" type="object"
- icon="gtk-go-forward" />
- <button name="case_pending" string="Pending"
- states="open,draft" type="object"
- icon="gtk-media-pause" />
- <button name="case_mark_lost" string="Lost"
- states="open,pending" type="object"
- icon="gtk-cancel" />
- <button name="case_close" string="Won"
- states="open,draft,pending" type="object"
- icon="gtk-apply" />
+ <field name="state" groups="base.group_no_one"/>
+ <button name="case_open" string="Open" type="object"
+ states="draft,pending" icon="gtk-go-forward"/>
+ <button name="case_mark_won" string="Won" type="object"
+ states="open,pending" icon="gtk-apply"/>
+ <button name="case_mark_lost" string="Lost" type="object"
+ states="open,pending" icon="gtk-cancel"/>
</tree>
</field>
</record>
diff --git a/addons/crm/crm.py b/addons/crm/crm.py
index 75a7fe11622..e30a1fbfa65 100644
--- a/addons/crm/crm.py
+++ b/addons/crm/crm.py
@@ -2,7 +2,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+# Copyright (C) 2004-today OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -19,12 +19,11 @@
#
##############################################################################
-import time
import base64
-import tools
-
+import time
from osv import fields
from osv import osv
+import tools
from tools.translate import _
MAX_LEVEL = 15
@@ -57,8 +56,11 @@ class crm_case_channel(osv.osv):
}
class crm_case_stage(osv.osv):
- """ Stage of case """
-
+ """ Model for case stages. This models the main stages of a document
+ management flow. Main CRM objects (leads, opportunities, project
+ issues, ...) will now use only stages, instead of state and stages.
+ Stages are for example used to display the kanban view of records.
+ """
_name = "crm.case.stage"
_description = "Stage of case"
_rec_name = 'name'
@@ -66,22 +68,34 @@ class crm_case_stage(osv.osv):
_columns = {
'name': fields.char('Stage Name', size=64, required=True, translate=True),
- 'sequence': fields.integer('Sequence', help="Used to order stages."),
+ 'sequence': fields.integer('Sequence', help="Used to order stages. Lower is better."),
'probability': fields.float('Probability (%)', required=True, help="This percentage depicts the default/average probability of the Case for this stage to be a success"),
'on_change': fields.boolean('Change Probability Automatically', help="Setting this stage will change the probability automatically on the opportunity."),
'requirements': fields.text('Requirements'),
- 'section_ids':fields.many2many('crm.case.section', 'section_stage_rel', 'stage_id', 'section_id', 'Sections'),
- 'case_default': fields.boolean('Common to All Teams', help="If you check this field, this stage will be proposed by default on each sales team. It will not assign this stage to existing teams."),
+ 'section_ids':fields.many2many('crm.case.section', 'section_stage_rel', 'stage_id', 'section_id', string='Sections',
+ help="Link between stages and sales teams. When set, this limitate the current stage to the selected sales teams."),
+ 'state': fields.selection(AVAILABLE_STATES, 'State', required=True, help="The related state for the stage. The state of your document will automatically change regarding the selected stage. For example, if a stage is related to the state 'Close', when your document reaches this stage, it will be automatically have the 'closed' state."),
+ 'case_default': fields.boolean('Common to All Teams',
+ help="If you check this field, this stage will be proposed by default on each sales team. It will not assign this stage to existing teams."),
+ 'fold': fields.boolean('Hide in Views when Empty',
+ help="This stage is not visible, for example in status bar or kanban view, when there are no records in that stage to display."),
+ 'type': fields.selection([ ('lead','Lead'),
+ ('opportunity', 'Opportunity'),
+ ('both', 'Both')],
+ string='Type', size=16, required=True,
+ help="This field is used to distinguish stages related to Leads from stages related to Opportunities, or to specify stages available for both types."),
}
_defaults = {
'sequence': lambda *args: 1,
'probability': lambda *args: 0.0,
+ 'state': 'draft',
+ 'fold': False,
+ 'type': 'both',
}
class crm_case_section(osv.osv):
- """Sales Team"""
-
+ """ Model for sales teams. """
_name = "crm.case.section"
_description = "Sales Teams"
_order = "complete_name"
@@ -107,6 +121,7 @@ class crm_case_section(osv.osv):
'working_hours': fields.float('Working Hours', digits=(16,2 )),
'stage_ids': fields.many2many('crm.case.stage', 'section_stage_rel', 'section_id', 'stage_id', 'Stages'),
}
+
def _get_stage_common(self, cr, uid, context):
ids = self.pool.get('crm.case.stage').search(cr, uid, [('case_default','=',1)], context=context)
return ids
@@ -171,430 +186,6 @@ class crm_case_resource_type(osv.osv):
'section_id': fields.many2one('crm.case.section', 'Sales Team'),
}
-class crm_base(object):
- """ Base utility mixin class for crm objects,
- Object subclassing this should define colums:
- date_open
- date_closed
- user_id
- partner_id
- """
- def _get_default_partner_address(self, cr, uid, context=None):
- """Gives id of default address for current user
- :param context: if portal in context is false return false anyway
- """
- if context is None:
- context = {}
- if not context.get('portal'):
- return False
- # was user.address_id.id, but address_id has been removed
- user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
- if hasattr(user, 'partner_address_id') and user.partner_address_id:
- return user.partner_address_id
- return False
-
- def _get_default_partner(self, cr, uid, context=None):
- """Gives id of partner for current user
- :param context: if portal in context is false return false anyway
- """
- if context is None:
- context = {}
- if not context.get('portal', False):
- return False
- user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
- if hasattr(user, 'partner_address_id') and user.partner_address_id:
- return user.partner_address_id
- return user.company_id.partner_id.id
-
- def _get_default_email(self, cr, uid, context=None):
- """Gives default email address for current user
- :param context: if portal in context is false return false anyway
- """
- if not context.get('portal', False):
- return False
- user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
- return user.user_email
-
- def _get_default_user(self, cr, uid, context=None):
- """Gives current user id
- :param context: if portal in context is false return false anyway
- """
- if context and context.get('portal', False):
- return False
- return uid
-
- def _get_section(self, cr, uid, context=None):
- return False
-
- def onchange_partner_address_id(self, cr, uid, ids, add, email=False):
- """This function returns value of partner email based on Partner Address
- :param ids: List of case IDs
- :param add: Id of Partner's address
- :param email: Partner's email ID
- """
- data = {'value': {'email_from': False, 'phone':False}}
- if add:
- address = self.pool.get('res.partner').browse(cr, uid, add)
- data['value'] = {'email_from': address and address.email or False ,
- 'phone': address and address.phone or False}
- if 'phone' not in self._columns:
- del data['value']['phone']
- return data
-
- def onchange_partner_id(self, cr, uid, ids, part, email=False):
- """This function returns value of partner address based on partner
- :param ids: List of case IDs
- :param part: Partner's id
- :param email: Partner's email ID
- """
- data={}
- if part:
- addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['contact'])
- data.update(self.onchange_partner_address_id(cr, uid, ids, addr['contact'])['value'])
- return {'value': data}
-
- def case_get_note_msg_prefix(self, cr, uid, id, context=None):
- return ''
-
- def case_open_send_note(self, cr, uid, ids, context=None):
- for id in ids:
- msg = '%s has been <b>opened</b>.' % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
- self.message_append_note(cr, uid, [id], body=msg, context=context)
- return True
-
- def case_close_send_note(self, cr, uid, ids, context=None):
- for id in ids:
- msg = '%s has been <b>closed</b>.'% (self.case_get_note_msg_prefix(cr, uid, id, context=context))
- self.message_append_note(cr, uid, [id], body=msg, context=context)
- return True
-
- def case_cancel_send_note(self, cr, uid, ids, context=None):
- for id in ids:
- msg = '%s has been <b>cancelled</b>.' % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
- self.message_append_note(cr, uid, [id], body=msg, context=context)
- return True
-
- def case_pending_send_note(self, cr, uid, ids, context=None):
- for id in ids:
- msg = '%s is now <b>pending</b>.' % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
- self.message_append_note(cr, uid, [id], body=msg, context=context)
- return True
-
- def case_reset_send_note(self, cr, uid, ids, context=None):
- for id in ids:
- msg = '%s has been <b>renewed</b>.' % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
- self.message_append_note(cr, uid, [id], body=msg, context=context)
- return True
-
- def case_open(self, cr, uid, ids, context=None):
- """Opens Case
- :param ids: List of case Ids
- """
- cases = self.browse(cr, uid, ids)
- for case in cases:
- data = {'state': 'open', 'active': True}
- if not case.user_id:
- data['user_id'] = uid
- self.write(cr, uid, [case.id], data)
- self.case_open_send_note(cr, uid, ids, context=context)
- self._action(cr, uid, cases, 'open')
-
- return True
-
- def case_close(self, cr, uid, ids, context=None):
- """Closes Case
- :param ids: List of case Ids
- """
- cases = self.browse(cr, uid, ids)
- cases[0].state # to fill the browse record cache
- self.write(cr, uid, ids, {'state': 'done', 'date_closed': time.strftime('%Y-%m-%d %H:%M:%S'), })
- # We use the cache of cases to keep the old case state
- self.case_close_send_note(cr, uid, ids, context=context)
- self._action(cr, uid, cases, 'done')
- return True
-
- def case_cancel(self, cr, uid, ids, context=None):
- """Cancels Case
- :param ids: List of case Ids
- """
- cases = self.browse(cr, uid, ids)
- cases[0].state # to fill the browse record cache
- self.write(cr, uid, ids, {'state': 'cancel', 'active': True})
- # We use the cache of cases to keep the old case state
- self.case_cancel_send_note(cr, uid, ids, context=context)
- self._action(cr, uid, cases, 'cancel')
- return True
-
- def case_pending(self, cr, uid, ids, context=None):
- """Marks case as pending
- :param ids: List of case Ids
- """
- cases = self.browse(cr, uid, ids)
- cases[0].state # to fill the browse record cache
- self.write(cr, uid, ids, {'state': 'pending', 'active': True})
- self.case_pending_send_note(cr, uid, ids, context=context)
- self._action(cr, uid, cases, 'pending')
- return True
-
- def case_reset(self, cr, uid, ids, context=None):
- """Resets case as draft
- :param ids: List of case Ids
- """
- cases = self.browse(cr, uid, ids)
- cases[0].state # to fill the browse record cache
- self.write(cr, uid, ids, {'state': 'draft', 'active': True})
- self.case_reset_send_note(cr, uid, ids, context=context)
- self._action(cr, uid, cases, 'draft')
- return True
-
- def _action(self, cr, uid, cases, state_to, scrit=None, context=None):
- if context is None:
- context = {}
- context['state_to'] = state_to
- rule_obj = self.pool.get('base.action.rule')
- model_obj = self.pool.get('ir.model')
- model_ids = model_obj.search(cr, uid, [('model','=',self._name)])
- rule_ids = rule_obj.search(cr, uid, [('model_id','=',model_ids[0])])
- return rule_obj._action(cr, uid, rule_ids, cases, scrit=scrit, context=context)
-
-class crm_case(crm_base):
- """ A simple python class to be used for common functions
- Object that inherit from this class should inherit from mailgate.thread
- And need a stage_id field
- And object that inherit (orm inheritance) from a class the overwrite copy
- """
-
- def stage_find(self, cr, uid, section_id, domain=[], order='sequence'):
- domain = list(domain)
- if section_id:
- domain.append(('section_ids', '=', section_id))
- stage_ids = self.pool.get('crm.case.stage').search(cr, uid, domain, order=order)
- if stage_ids:
- return stage_ids[0]
- return False
-
- def stage_set(self, cr, uid, ids, stage_id, context=None):
- value = {}
- if hasattr(self,'onchange_stage_id'):
- value = self.onchange_stage_id(cr, uid, ids, stage_id)['value']
- value['stage_id'] = stage_id
- return self.write(cr, uid, ids, value, context=context)
-
- def stage_change(self, cr, uid, ids, op, order, context=None):
- if context is None:
- context = {}
- for case in self.browse(cr, uid, ids, context=context):
- seq = 0
- if case.stage_id:
- seq = case.stage_id.sequence
- section_id = None
- if case.section_id:
- section_id = case.section_id.id
- next_stage_id = self.stage_find(cr, uid, section_id, [('sequence',op,seq)],order)
- if next_stage_id:
- return self.stage_set(cr, uid, [case.id], next_stage_id, context=context)
- return False
-
- def stage_next(self, cr, uid, ids, context=None):
- """This function computes next stage for case from its current stage
- using available stage for that case type
- """
- return self.stage_change(cr, uid, ids, '>','sequence', context)
-
- def stage_previous(self, cr, uid, ids, context=None):
- """This function computes previous stage for case from its current
- stage using available stage for that case type
- """
- return self.stage_change(cr, uid, ids, '<', 'sequence desc', context)
-
- def copy(self, cr, uid, id, default=None, context=None):
- """Overrides orm copy method to avoid copying messages,
- as well as date_closed and date_open columns if they
- exist."""
- if default is None:
- default = {}
-
- default.update({ 'message_ids': [], })
- if hasattr(self, '_columns'):
- if self._columns.get('date_closed'):
- default.update({ 'date_closed': False, })
- if self._columns.get('date_open'):
- default.update({ 'date_open': False })
- return super(crm_case, self).copy(cr, uid, id, default, context=context)
-
- def case_escalate_send_note(self, cr, uid, ids, new_section=None, context=None):
- for id in ids:
- if new_section:
- msg = '%s has been <b>escalated</b> to <b>%s</b>.' % (self.case_get_note_msg_prefix(cr, uid, id, context=context), new_section.name)
- else:
- msg = '%s has been <b>escalated</b>.' % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
- self.message_append_note(cr, uid, [id], 'System Notification', msg, context=context)
- return True
-
- def case_get_note_msg_prefix(self, cr, uid, id, context=None):
- return ''
-
- def case_open(self, cr, uid, ids, context=None):
- """Opens Case"""
- cases = self.browse(cr, uid, ids)
- for case in cases:
- data = {'state': 'open', 'active': True }
- if not case.user_id:
- data['user_id'] = uid
- self.write(cr, uid, [case.id], data)
- self.case_open_send_note(cr, uid, ids, context=context)
- self._action(cr, uid, cases, 'open')
- return True
-
- def case_close(self, cr, uid, ids, context=None):
- """Closes Case"""
- cases = self.browse(cr, uid, ids)
- cases[0].state # to fill the browse record cache
- self.write(cr, uid, ids, {'state': 'done',
- 'date_closed': time.strftime('%Y-%m-%d %H:%M:%S'),
- })
- #
- # We use the cache of cases to keep the old case state
- #
- self.case_close_send_note(cr, uid, ids, context=context)
- self._action(cr, uid, cases, 'done')
- return True
-
- def case_escalate(self, cr, uid, ids, context=None):
- """Escalates case to parent level"""
- cases = self.browse(cr, uid, ids)
- for case in cases:
- data = {'active': True}
- if case.section_id.parent_id:
- data['section_id'] = case.section_id.parent_id.id
- if case.section_id.parent_id.change_responsible:
- if case.section_id.parent_id.user_id:
- data['user_id'] = case.section_id.parent_id.user_id.id
- else:
- raise osv.except_osv(_('Error !'), _('You can not escalate, you are already at the top level regarding your sales-team category.'))
- self.write(cr, uid, [case.id], data)
- case.case_escalate_send_note(case.section_id.parent_id)
- cases = self.browse(cr, uid, ids)
- self._action(cr, uid, cases, 'escalate')
- return True
-
- def case_cancel(self, cr, uid, ids, context=None):
- """Cancels Case"""
- cases = self.browse(cr, uid, ids)
- cases[0].state # to fill the browse record cache
- self.write(cr, uid, ids, {'state': 'cancel',
- 'active': True})
- self.case_cancel_send_note(cr, uid, ids, context=context)
- self._action(cr, uid, cases, 'cancel')
- return True
-
- def case_pending(self, cr, uid, ids, context=None):
- """Marks case as pending"""
- cases = self.browse(cr, uid, ids)
- cases[0].state # to fill the browse record cache
- self.write(cr, uid, ids, {'state': 'pending', 'active': True})
- self.case_pending_send_note(cr, uid, ids, context=context)
- self._action(cr, uid, cases, 'pending')
- return True
-
- def case_reset(self, cr, uid, ids, context=None):
- """Resets case as draft"""
- state = 'draft'
- cases = self.browse(cr, uid, ids)
- cases[0].state # to fill the browse record cache
- self.write(cr, uid, ids, {'state': state, 'active': True})
- self.case_reset_send_note(cr, uid, ids, context=context)
- self._action(cr, uid, cases, state)
- return True
-
- def remind_partner(self, cr, uid, ids, context=None, attach=False):
- return self.remind_user(cr, uid, ids, context, attach,
- destination=False)
-
- def remind_user(self, cr, uid, ids, context=None, attach=False, destination=True):
- mail_message = self.pool.get('mail.message')
- for case in self.browse(cr, uid, ids, context=context):
- if not destination and not case.email_from:
- return False
- if not case.user_id.user_email:
- return False
- if destination and case.section_id.user_id:
- case_email = case.section_id.user_id.user_email
- else:
- case_email = case.user_id.user_email
-
- src = case_email
- dest = case.user_id.user_email or ""
- body = case.description or ""
- for message in case.message_ids:
- if message.email_from and message.body_text:
- body = message.body_text
- break
-
- if not destination:
- src, dest = dest, case.email_from
- if body and case.user_id.signature:
- if body:
- body += '\n\n%s' % (case.user_id.signature)
- else:
- body = '\n\n%s' % (case.user_id.signature)
-
- body = self.format_body(body)
-
- attach_to_send = {}
-
- if attach:
- attach_ids = self.pool.get('ir.attachment').search(cr, uid, [('res_model', '=', self._name), ('res_id', '=', case.id)])
- attach_to_send = self.pool.get('ir.attachment').read(cr, uid, attach_ids, ['datas_fname', 'datas'])
- attach_to_send = dict(map(lambda x: (x['datas_fname'], base64.decodestring(x['datas'])), attach_to_send))
-
- # Send an email
- subject = "Reminder: [%s] %s" % (str(case.id), case.name, )
- mail_message.schedule_with_attach(cr, uid,
- src,
- [dest],
- subject,
- body,
- model=self._name,
- reply_to=case.section_id.reply_to,
- res_id=case.id,
- attachments=attach_to_send,
- context=context
- )
- return True
-
- def _check(self, cr, uid, ids=False, context=None):
- """Function called by the scheduler to process cases for date actions
- Only works on not done and cancelled cases
- """
- cr.execute('select * from crm_case \
- where (date_action_last<%s or date_action_last is null) \
- and (date_action_next<=%s or date_action_next is null) \
- and state not in (\'cancel\',\'done\')',
- (time.strftime("%Y-%m-%d %H:%M:%S"),
- time.strftime('%Y-%m-%d %H:%M:%S')))
-
- ids2 = map(lambda x: x[0], cr.fetchall() or [])
- cases = self.browse(cr, uid, ids2, context=context)
- return self._action(cr, uid, cases, False, context=context)
-
- def format_body(self, body):
- return self.pool.get('base.action.rule').format_body(body)
-
- def format_mail(self, obj, body):
- return self.pool.get('base.action.rule').format_mail(obj, body)
-
- def message_thread_followers(self, cr, uid, ids, context=None):
- res = {}
- for case in self.browse(cr, uid, ids, context=context):
- l=[]
- if case.email_cc:
- l.append(case.email_cc)
- if case.user_id and case.user_id.user_email:
- l.append(case.user_id.user_email)
- res[case.id] = l
- return res
-
def _links_get(self, cr, uid, context=None):
"""Gets links value for reference field"""
obj = self.pool.get('res.request.link')
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index fb7c08966e3..0b58975bca2 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -2,7 +2,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+# Copyright (C) 2004-today OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -19,15 +19,15 @@
#
##############################################################################
-from osv import fields, osv
-from datetime import datetime
+import binascii
+from base_status.base_stage import base_stage
import crm
+from datetime import datetime
+from mail.mail_message import to_email
+from osv import fields, osv
import time
-from tools.translate import _
-from crm import crm_case
-import binascii
import tools
-from mail.mail_message import to_email
+from tools.translate import _
CRM_LEAD_PENDING_STATES = (
crm.AVAILABLE_STATES[2][0], # Cancelled
@@ -35,22 +35,68 @@ CRM_LEAD_PENDING_STATES = (
crm.AVAILABLE_STATES[4][0], # Pending
)
-class crm_lead(crm_case, osv.osv):
+class crm_lead(base_stage, osv.osv):
""" CRM Lead Case """
_name = "crm.lead"
_description = "Lead/Opportunity"
_order = "priority,date_action,id desc"
_inherit = ['ir.needaction_mixin', 'mail.thread','res.partner']
+ def _get_default_section_id(self, cr, uid, context=None):
+ """ Gives default section by checking if present in the context """
+ return (self._resolve_section_id_from_context(cr, uid, context=context) or False)
+
+ def _get_default_stage_id(self, cr, uid, context=None):
+ """ Gives default stage_id """
+ section_id = self._get_default_section_id(cr, uid, context=context)
+ return self.stage_find(cr, uid, [], section_id, [('state', '=', 'draft'), ('type', '=', 'both')], context=context)
+
+ def _resolve_section_id_from_context(self, cr, uid, context=None):
+ """ Returns ID of section based on the value of 'section_id'
+ context key, or None if it cannot be resolved to a single
+ Sales Team.
+ """
+ if context is None:
+ context = {}
+ if type(context.get('default_section_id')) in (int, long):
+ return context.get('default_section_id')
+ if isinstance(context.get('default_section_id'), basestring):
+ section_name = context['default_section_id']
+ section_ids = self.pool.get('crm.case.section').name_search(cr, uid, name=section_name, context=context)
+ if len(section_ids) == 1:
+ return int(section_ids[0][0])
+ return None
+
+ def _resolve_type_from_context(self, cr, uid, context=None):
+ """ Returns the type (lead or opportunity) from the type context
+ key. Returns None if it cannot be resolved.
+ """
+ if context is None:
+ context = {}
+ return context.get('default_type')
+
def _read_group_stage_ids(self, cr, uid, ids, domain, read_group_order=None, access_rights_uid=None, context=None):
access_rights_uid = access_rights_uid or uid
stage_obj = self.pool.get('crm.case.stage')
order = stage_obj._order
+ # lame hack to allow reverting search, should just work in the trivial case
if read_group_order == 'stage_id desc':
- # lame hack to allow reverting search, should just work in the trivial case
order = "%s desc" % order
- stage_ids = stage_obj._search(cr, uid, ['|', ('id','in',ids),('case_default','=',1)], order=order,
- access_rights_uid=access_rights_uid, context=context)
+ # retrieve section_id from the context and write the domain
+ # - ('id', 'in', 'ids'): add columns that should be present
+ # - OR ('case_default', '=', True), ('fold', '=', False): add default columns that are not folded
+ # - OR ('section_ids', '=', section_id), ('fold', '=', False) if section_id: add section columns that are not folded
+ search_domain = []
+ section_id = self._resolve_section_id_from_context(cr, uid, context=context)
+ if section_id:
+ search_domain += ['|', '&', ('section_ids', '=', section_id), ('fold', '=', False)]
+ search_domain += ['|', ('id', 'in', ids), '&', ('case_default', '=', True), ('fold', '=', False)]
+ # retrieve type from the context (if set: choose 'type' or 'both')
+ type = self._resolve_type_from_context(cr, uid, context=context)
+ if type:
+ search_domain += ['|', ('type', '=', type), ('type', '=', 'both')]
+ # perform search
+ stage_ids = stage_obj._search(cr, uid, search_domain, order=order, access_rights_uid=access_rights_uid, context=context)
result = stage_obj.name_get(cr, access_rights_uid, stage_ids, context=context)
# restore order of the search
result.sort(lambda x,y: cmp(stage_ids.index(x[0]), stage_ids.index(y[0])))
@@ -154,7 +200,6 @@ class crm_lead(crm_case, osv.osv):
'email_cc': fields.text('Global CC', size=252 , help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"),
'description': fields.text('Notes'),
'write_date': fields.datetime('Update Date' , readonly=True),
-
'categ_id': fields.many2one('crm.case.categ', 'Category', \
domain="['|',('section_id','=',section_id),('section_id','=',False), ('object_id.model', '=', 'crm.lead')]"),
'type_id': fields.many2one('crm.case.resource.type', 'Campaign', \
@@ -167,7 +212,8 @@ class crm_lead(crm_case, osv.osv):
'type':fields.selection([ ('lead','Lead'), ('opportunity','Opportunity'), ],'Type', help="Type is used to separate Leads and Opportunities"),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True),
'date_closed': fields.datetime('Closed', readonly=True),
- 'stage_id': fields.many2one('crm.case.stage', 'Stage', domain="[('section_ids', '=', section_id)]"),
+ 'stage_id': fields.many2one('crm.case.stage', 'Stage',
+ domain="['&', '|', ('section_ids', '=', section_id), ('case_default', '=', True), '|', ('type', '=', type), ('type', '=', 'both')]"),
'user_id': fields.many2one('res.users', 'Salesperson'),
'referred': fields.char('Referred By', size=64),
'date_open': fields.datetime('Opened', readonly=True),
@@ -175,11 +221,13 @@ class crm_lead(crm_case, osv.osv):
multi='day_open', type="float", store=True),
'day_close': fields.function(_compute_day, string='Days to Close', \
multi='day_close', type="float", store=True),
- 'state': fields.selection(crm.AVAILABLE_STATES, 'Status', size=16, readonly=True,
- help='The state is set to \'Draft\', when a case is created.\
- \nIf the case is in progress the state is set to \'In progress\'.\
- \nWhen the case is over, the state is set to \'Done\'.\
- \nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
+ 'state': fields.related('stage_id', 'state', type="selection", store=True,
+ selection=crm.AVAILABLE_STATES, string="State", readonly=True,
+ help='The state is set to \'Draft\', when a case is created.\
+ If the case is in progress the state is set to \'Open\'.\
+ When the case is over, the state is set to \'Done\'.\
+ If the case needs to be reviewed then the state is \
+ set to \'Pending\'.'),
'subjects': fields.function(_get_email_subject, fnct_search=_history_search, string='Subject of Email', type='char', size=64),
# Only used for type opportunity
@@ -191,23 +239,21 @@ class crm_lead(crm_case, osv.osv):
'date_deadline': fields.date('Expected Closing'),
'date_action': fields.date('Next Action Date', select=True),
'title_action': fields.char('Next Action', size=64),
- 'stage_id': fields.many2one('crm.case.stage', 'Stage', domain="[('section_ids', '=', section_id)]"),
'color': fields.integer('Color Index'),
'partner_address_name': fields.related('partner_id', 'name', type='char', string='Partner Contact Name', readonly=True),
'partner_address_email': fields.related('partner_id', 'email', type='char', string='Partner Contact Email', readonly=True),
'company_currency': fields.related('company_id', 'currency_id', 'symbol', type='char', string='Company Currency', readonly=True),
'user_email': fields.related('user_id', 'user_email', type='char', string='User Email', readonly=True),
'user_login': fields.related('user_id', 'login', type='char', string='User Login', readonly=True),
-
}
_defaults = {
- 'active': lambda *a: 1,
- 'user_id': crm_case._get_default_user,
- 'email_from': crm_case._get_default_email,
- 'state': lambda *a: 'draft',
- 'type': lambda *a: 'lead',
- 'section_id': crm_case._get_section,
+ 'active': 1,
+ 'type': 'lead',
+ 'user_id': lambda s, cr, uid, c: s._get_default_user(cr, uid, c),
+ 'email_from': lambda s, cr, uid, c: s._get_default_email(cr, uid, c),
+ 'stage_id': lambda s, cr, uid, c: s._get_default_stage_id(cr, uid, c),
+ 'section_id': lambda s, cr, uid, c: s._get_default_section_id(cr, uid, c),
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.lead', context=c),
'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0],
'color': 0,
@@ -240,95 +286,104 @@ class crm_lead(crm_case, osv.osv):
return {'value':{}}
return {'value':{'probability': stage.probability}}
- def stage_find_percent(self, cr, uid, percent, section_id):
- """ Return the first stage with a probability == percent
+ def _check(self, cr, uid, ids=False, context=None):
+ """ Override of the base.stage method.
+ Function called by the scheduler to process cases for date actions
+ Only works on not done and cancelled cases
+ """
+ cr.execute('select * from crm_case \
+ where (date_action_last<%s or date_action_last is null) \
+ and (date_action_next<=%s or date_action_next is null) \
+ and state not in (\'cancel\',\'done\')',
+ (time.strftime("%Y-%m-%d %H:%M:%S"),
+ time.strftime('%Y-%m-%d %H:%M:%S')))
+
+ ids2 = map(lambda x: x[0], cr.fetchall() or [])
+ cases = self.browse(cr, uid, ids2, context=context)
+ return self._action(cr, uid, cases, False, context=context)
+
+ def stage_find(self, cr, uid, cases, section_id, domain=[], order='sequence', context=None):
+ """ Override of the base.stage method
+ Parameter of the stage search taken from the lead:
+ - type: stage type must be the same or 'both'
+ - section_id: if set, stages must belong to this section or
+ be a default stage; if not set, stages must be default
+ stages
"""
- stage_pool = self.pool.get('crm.case.stage')
- if section_id :
- ids = stage_pool.search(cr, uid, [("probability", '=', percent), ("section_ids", 'in', [section_id])])
- else :
- ids = stage_pool.search(cr, uid, [("probability", '=', percent)])
-
- if ids:
- return ids[0]
+ if isinstance(cases, (int, long)):
+ cases = self.browse(cr, uid, cases, context=context)
+ # collect all section_ids
+ section_ids = []
+ types = ['both']
+ if section_id:
+ section_ids.append(section_id)
+ for lead in cases:
+ if lead.section_id:
+ section_ids.append(lead.section_id.id)
+ if lead.type not in types:
+ types.append(lead.type)
+ # OR all section_ids and OR with case_default
+ search_domain = []
+ if section_ids:
+ search_domain += [('|')] * len(section_ids)
+ for section_id in section_ids:
+ search_domain.append(('section_ids', '=', section_id))
+ search_domain.append(('case_default', '=', True))
+ # AND with cases types
+ search_domain.append(('type', 'in', types))
+ # AND with the domain in parameter
+ search_domain += list(domain)
+ # perform search, return the first found
+ stage_ids = self.pool.get('crm.case.stage').search(cr, uid, search_domain, order=order, context=context)
+ if stage_ids:
+ return stage_ids[0]
return False
- def stage_find_lost(self, cr, uid, section_id):
- return self.stage_find_percent(cr, uid, 0.0, section_id)
-
- def stage_find_won(self, cr, uid, section_id):
- return self.stage_find_percent(cr, uid, 100.0, section_id)
-
- def case_open(self, cr, uid, ids, context=None):
- for lead in self.browse(cr, uid, ids, context=context):
- if lead.state == 'draft':
- value = {'date_open': time.strftime('%Y-%m-%d %H:%M:%S')}
- self.write(cr, uid, [lead.id], value)
- if lead.type == 'opportunity' and not lead.stage_id:
- stage_id = self.stage_find(cr, uid, lead.section_id.id or False, [('sequence','>',0)])
- if stage_id:
- self.stage_set(cr, uid, [lead.id], stage_id)
- res = super(crm_lead, self).case_open(cr, uid, ids, context)
- return res
-
- def case_close(self, cr, uid, ids, context=None):
- res = super(crm_lead, self).case_close(cr, uid, ids, context)
- self.write(cr, uid, ids, {'date_closed': time.strftime('%Y-%m-%d %H:%M:%S')})
- return res
-
def case_cancel(self, cr, uid, ids, context=None):
- """Overrides cancel for crm_case for setting probability
- """
- res = super(crm_lead, self).case_cancel(cr, uid, ids, context)
- self.write(cr, uid, ids, {'probability' : 0.0})
+ """ Overrides case_cancel from base_stage to set probability """
+ res = super(crm_lead, self).case_cancel(cr, uid, ids, context=context)
+ self.write(cr, uid, ids, {'probability' : 0.0}, context=context)
return res
def case_reset(self, cr, uid, ids, context=None):
- """Overrides reset as draft in order to set the stage field as empty
- """
- res = super(crm_lead, self).case_reset(cr, uid, ids, context)
- self.write(cr, uid, ids, {'stage_id': False, 'probability': 0.0})
+ """ Overrides case_reset from base_stage to set probability """
+ res = super(crm_lead, self).case_reset(cr, uid, ids, context=context)
+ self.write(cr, uid, ids, {'probability': 0.0}, context=context)
return res
def case_mark_lost(self, cr, uid, ids, context=None):
- """Mark the case as lost: state = done and probability = 0%
- """
- res = super(crm_lead, self).case_close(cr, uid, ids, context)
- self.write(cr, uid, ids, {'probability' : 0.0})
+ """ Mark the case as lost: state=cancel and probability=0 """
for lead in self.browse(cr, uid, ids):
- stage_id = self.stage_find_lost(cr, uid, lead.section_id.id or False)
+ stage_id = self.stage_find(cr, uid, [lead], lead.section_id.id or False, [('probability', '=', 0.0)], context=context)
if stage_id:
- self.stage_set(cr, uid, [lead.id], stage_id)
- return res
+ self.case_set(cr, uid, [lead.id], values_to_update={'probability': 0.0}, new_stage_id=stage_id, context=context)
+ self.case_mark_lost_send_note(cr, uid, ids, context=context)
+ return True
def case_mark_won(self, cr, uid, ids, context=None):
- """Mark the case as lost: state = done and probability = 0%
- """
- res = super(crm_lead, self).case_close(cr, uid, ids, context=None)
- self.write(cr, uid, ids, {'probability' : 100.0})
+ """ Mark the case as lost: state=done and probability=100 """
for lead in self.browse(cr, uid, ids):
- stage_id = self.stage_find_won(cr, uid, lead.section_id.id or False)
+ stage_id = self.stage_find(cr, uid, [lead], lead.section_id.id or False, [('probability', '=', 100.0)], context=context)
if stage_id:
- self.stage_set(cr, uid, [lead.id], stage_id)
- self.case_mark_won_send_note(cr, uid, [lead.id], context=context)
- return res
+ self.case_set(cr, uid, [lead.id], values_to_update={'probability': 100.0}, new_stage_id=stage_id, context=context)
+ self.case_mark_won_send_note(cr, uid, ids, context=context)
+ return True
def set_priority(self, cr, uid, ids, priority):
- """Set lead priority
+ """ Set lead priority
"""
return self.write(cr, uid, ids, {'priority' : priority})
def set_high_priority(self, cr, uid, ids, context=None):
- """Set lead priority to high
+ """ Set lead priority to high
"""
return self.set_priority(cr, uid, ids, '1')
def set_normal_priority(self, cr, uid, ids, context=None):
- """Set lead priority to normal
+ """ Set lead priority to normal
"""
return self.set_priority(cr, uid, ids, '3')
-
def _merge_data(self, cr, uid, ids, oldest, fields, context=None):
# prepare opportunity data into dictionary for merging
opportunities = self.browse(cr, uid, ids, context=context)
@@ -806,22 +861,12 @@ class crm_lead(crm_case, osv.osv):
"You should better cancel it, instead of deleting it.") % lead.name)
return super(crm_lead, self).unlink(cr, uid, ids, context)
-
def write(self, cr, uid, ids, vals, context=None):
- if not context:
- context = {}
-
- if 'date_closed' in vals:
- return super(crm_lead,self).write(cr, uid, ids, vals, context=context)
-
- if vals.get('stage_id'):
- stage = self.pool.get('crm.case.stage').browse(cr, uid, vals['stage_id'], context=context)
+ if vals.get('stage_id') and not vals.get('probability'):
# change probability of lead(s) if required by stage
- if not vals.get('probability') and stage.on_change:
+ stage = self.pool.get('crm.case.stage').browse(cr, uid, vals['stage_id'], context=context)
+ if stage.on_change:
vals['probability'] = stage.probability
- for case in self.browse(cr, uid, ids, context=context):
- message = _("Stage changed to <b>%s</b>.") % (stage.name)
- case.message_append_note(body=message)
return super(crm_lead,self).write(cr, uid, ids, vals, context)
# ----------------------------------------
@@ -836,6 +881,11 @@ class crm_lead(crm_case, osv.osv):
sub_ids.append(obj.user_id.id)
return self.pool.get('res.users').read(cr, uid, sub_ids, context=context)
+ def stage_set_send_note(self, cr, uid, ids, stage_id, context=None):
+ """ Override of the (void) default notification method. """
+ stage_name = self.pool.get('crm.case.stage').name_get(cr, uid, [stage_id], context=context)[0][1]
+ return self.message_append_note(cr, uid, ids, body= _("Stage changed to <b>%s</b>.") % (stage_name), context=context)
+
def case_get_note_msg_prefix(self, cr, uid, lead, context=None):
if isinstance(lead, (int, long)):
lead = self.browse(cr, uid, [lead], context=context)[0]
diff --git a/addons/crm/crm_lead_data.xml b/addons/crm/crm_lead_data.xml
index aaa00307bfe..306a35924a9 100644
--- a/addons/crm/crm_lead_data.xml
+++ b/addons/crm/crm_lead_data.xml
@@ -3,47 +3,81 @@
<data noupdate="1">
<!-- Crm stages -->
- <record model="crm.case.stage" id="stage_lead6">
- <field name="name">Lost</field>
- <field eval="1" name="case_default"/>
- <field eval="'0'" name="probability"/>
- <field eval="'0'" name="sequence"/>
- </record>
<record model="crm.case.stage" id="stage_lead1">
<field name="name">New</field>
<field eval="1" name="case_default"/>
+ <field name="state">draft</field>
<field eval="'10'" name="probability"/>
- <field eval="'11'" name="sequence"/>
+ <field eval="'10'" name="sequence"/>
+ <field name="type">both</field>
</record>
<record model="crm.case.stage" id="stage_lead2">
+ <field name="name">Opportunity</field>
+ <field eval="1" name="case_default"/>
+ <field name="state">open</field>
+ <field eval="'20'" name="probability"/>
+ <field eval="'11'" name="sequence"/>
+ <field name="type">lead</field>
+ </record>
+ <record model="crm.case.stage" id="stage_lead3">
<field name="name">Qualification</field>
<field eval="1" name="case_default"/>
+ <field name="state">open</field>
<field eval="'20'" name="probability"/>
<field eval="'12'" name="sequence"/>
+ <field name="type">opportunity</field>
</record>
- <record model="crm.case.stage" id="stage_lead3">
+ <record model="crm.case.stage" id="stage_lead4">
<field name="name">Proposition</field>
<field eval="1" name="case_default"/>
+ <field name="state">open</field>
<field eval="'40'" name="probability"/>
<field eval="'13'" name="sequence"/>
+ <field name="type">opportunity</field>
</record>
- <record model="crm.case.stage" id="stage_lead4">
+ <record model="crm.case.stage" id="stage_lead5">
<field name="name">Negotiation</field>
<field eval="1" name="case_default"/>
+ <field name="state">open</field>
<field eval="'60'" name="probability"/>
<field eval="'14'" name="sequence"/>
+ <field name="type">opportunity</field>
</record>
- <record model="crm.case.stage" id="stage_lead5">
+ <record model="crm.case.stage" id="stage_lead6">
<field name="name">Won</field>
<field eval="1" name="case_default"/>
+ <field name="state">done</field>
<field eval="'100'" name="probability"/>
<field eval="'15'" name="sequence"/>
<field eval="1" name="on_change"/>
+ <field name="type">opportunity</field>
+ </record>
+ <record model="crm.case.stage" id="stage_lead7">
+ <field name="name">Dead</field>
+ <field eval="1" name="case_default"/>
+ <field eval="True" name="fold"/>
+ <field name="state">cancel</field>
+ <field eval="'0'" name="probability"/>
+ <field eval="'16'" name="sequence"/>
+ <field name="type">lead</field>
+ </record>
+ <record model="crm.case.stage" id="stage_lead8">
+ <field name="name">Lost</field>
+ <field eval="1" name="case_default"/>
+ <field eval="True" name="fold"/>
+ <field name="state">cancel</field>
+ <field eval="'0'" name="probability"/>
+ <field eval="'17'" name="sequence"/>
+ <field name="type">opportunity</field>
</record>
+
<record model="crm.case.section" id="section_sales_department">
<field name="name">Sales Department</field>
<field name="code">Sales</field>
- <field name="stage_ids" eval="[(4, ref('stage_lead1')), (4, ref('stage_lead2')), (4, ref('stage_lead3')), (4, ref('stage_lead4')), (4, ref('stage_lead5')), (4, ref('stage_lead6'))]"/>
+ <field name="stage_ids" eval="[ (4, ref('stage_lead1')), (4, ref('stage_lead2')),
+ (4, ref('stage_lead3')), (4, ref('stage_lead4')),
+ (4, ref('stage_lead5')), (4, ref('stage_lead6')),
+ (4, ref('stage_lead7')), (4, ref('stage_lead8'))]"/>
</record>
<!-- Crm campain -->
diff --git a/addons/crm/crm_lead_demo.xml b/addons/crm/crm_lead_demo.xml
index 19987f8f61a..21c7f9e31ab 100644
--- a/addons/crm/crm_lead_demo.xml
+++ b/addons/crm/crm_lead_demo.xml
@@ -8,14 +8,13 @@
<field name="type">lead</field>
<field name="user_id" ref="base.user_root"/>
<field eval="'The Oil Company'" name="partner_name"/>
- <field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_marketing_department"/>
<field eval="'Luc Latour'" name="contact_name"/>
<field name="title" ref="base.res_partner_title_sir"/>
- <field eval="'Training Manager'" name="function"/>
- <field eval="'Paris'" name="city"/>
- <field name="country_id" ref="base.fr"/>
- <field eval="'luc.latour@oilcompany.fr'" name="email_from"/>
+ <field eval="'Training Manager'" name="function"/>
+ <field eval="'Paris'" name="city"/>
+ <field name="country_id" ref="base.fr"/>
+ <field eval="'luc.latour@oilcompany.fr'" name="email_from"/>
<field eval="'0033 621 782-0636'" name="mobile"/>
<field eval="1" name="active"/>
<field name="stage_id" ref="crm.stage_lead1"/>
@@ -29,18 +28,17 @@
<field name="type">lead</field>
<field name="user_id" ref="base.user_root"/>
<field eval="'Le Club SARL'" name="partner_name"/>
- <field eval="'Marc Dufour'" name="contact_name"/>
+ <field eval="'Marc Dufour'" name="contact_name"/>
<field name="title" ref="base.res_partner_title_sir"/>
- <field eval="'Purchase Manager'" name="function"/>
- <field eval="'Bordeaux'" name="city"/>
- <field name="country_id" ref="base.fr"/>
- <field eval="'md@leclub.fr'" name="email_from"/>
- <field eval="'draft'" name="state"/>
+ <field eval="'Purchase Manager'" name="function"/>
+ <field eval="'Bordeaux'" name="city"/>
+ <field name="country_id" ref="base.fr"/>
+ <field eval="'md@leclub.fr'" name="email_from"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(392) 895-7917'" name="mobile"/>
<field eval="1" name="active"/>
<field name="categ_id" ref="crm.categ_oppor2"/>
- <field name="stage_id" ref="crm.stage_lead2"/>
+ <field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'Interest in Your New Product'" name="name"/>
<field eval="'(956) 293-2595'" name="phone"/>
</record>
@@ -50,15 +48,14 @@
<field name="type">lead</field>
<field name="user_id" ref="base.user_demo"/>
<field eval="'The Kompany'" name="partner_name"/>
- <field eval="'John Miller'" name="contact_name"/>
- <field eval="'New-York'" name="city"/>
- <field name="country_id" ref="base.us"/>
- <field eval="'draft'" name="state"/>
+ <field eval="'John Miller'" name="contact_name"/>
+ <field eval="'New-York'" name="city"/>
+ <field name="country_id" ref="base.us"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(820) 167-3208'" name="mobile"/>
<field eval="1" name="active"/>
<field name="categ_id" ref="crm.categ_oppor4"/>
- <field name="stage_id" ref="crm.stage_lead2"/>
+ <field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'Need Info about Web Design'" name="name"/>
<field eval="'(079) 681-2139'" name="phone"/>
<field eval="'contact@thkompany.com'" name="email_from"/>
@@ -68,10 +65,9 @@
<field eval="'3'" name="priority"/>
<field name="type">lead</field>
<field eval="'The Gas Company'" name="partner_name"/>
- <field eval="'Henry Mc Coy'" name="contact_name"/>
- <field eval="'London'" name="city"/>
- <field name="country_id" ref="base.uk"/>
- <field eval="'draft'" name="state"/>
+ <field eval="'Henry Mc Coy'" name="contact_name"/>
+ <field eval="'London'" name="city"/>
+ <field name="country_id" ref="base.uk"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(077) 582-4035'" name="mobile"/>
<field eval="1" name="active"/>
@@ -87,16 +83,15 @@
<field name="type">lead</field>
<field name="user_id" ref="base.user_root"/>
<field eval="'Stonage IT'" name="partner_name"/>
- <field eval="'Carrie Helle'" name="contact_name"/>
- <field eval="'Purchase Manager'" name="function"/>
- <field eval="'Bruxelles'" name="city"/>
- <field name="country_id" ref="base.be"/>
- <field eval="'draft'" name="state"/>
+ <field eval="'Carrie Helle'" name="contact_name"/>
+ <field eval="'Purchase Manager'" name="function"/>
+ <field eval="'Bruxelles'" name="city"/>
+ <field name="country_id" ref="base.be"/>
<field name="section_id" ref="crm.section_sales_marketing_department"/>
<field eval="'(333) 715-1450'" name="mobile"/>
<field eval="1" name="active"/>
<field name="categ_id" ref="crm.categ_oppor1"/>
- <field name="stage_id" ref="crm.stage_lead2"/>
+ <field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'Need a Quotation for PC1'" name="name"/>
<field eval="'(855) 924-4364'" name="phone"/>
<field eval="'helle@stonageit.be'" name="email_from"/>
@@ -110,15 +105,14 @@
<field name="type">lead</field>
<field name="user_id" ref="base.user_root"/>
<field eval="'Opensides'" name="partner_name"/>
- <field eval="'Tina Pinero'" name="contact_name"/>
- <field eval="'Consultant'" name="function"/>
- <field eval="'Roma'" name="city"/>
- <field name="country_id" ref="base.it"/>
- <field eval="'draft'" name="state"/>
+ <field eval="'Tina Pinero'" name="contact_name"/>
+ <field eval="'Consultant'" name="function"/>
+ <field eval="'Roma'" name="city"/>
+ <field name="country_id" ref="base.it"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(468) 017-2684'" name="mobile"/>
<field name="categ_id" ref="crm.categ_oppor8"/>
- <field name="stage_id" ref="crm.stage_lead6"/>
+ <field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'Need Info about your Services'" name="name"/>
<field eval="'(373) 907-1009'" name="phone"/>
<field eval="'info@opensides.be'" name="email_from"/>
@@ -130,15 +124,14 @@
<field name="type">lead</field>
<field name="user_id" ref="base.user_demo"/>
<field eval="'Gardner Group'" name="partner_name"/>
- <field eval="'Wendi Baltz'" name="contact_name"/>
- <field eval="'Journalist'" name="function"/>
- <field eval="'Kiev'" name="city"/>
- <field name="country_id" ref="base.ua"/>
- <field eval="'draft'" name="state"/>
+ <field eval="'Wendi Baltz'" name="contact_name"/>
+ <field eval="'Journalist'" name="function"/>
+ <field eval="'Kiev'" name="city"/>
+ <field name="country_id" ref="base.ua"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(463) 014-1208'" name="mobile"/>
<field name="categ_id" ref="crm.categ_oppor4"/>
- <field name="stage_id" ref="crm.stage_lead2"/>
+ <field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'Info about Your Company ?'" name="name"/>
<field eval="'(282) 603-7489'" name="phone"/>
</record>
@@ -149,17 +142,16 @@
<field name="type">lead</field>
<field name="user_id" ref="base.user_demo"/>
<field eval="'Survey'" name="name"/>
- <field eval="'open'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor6"/>
<field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'Survey Expert'" name="partner_name"/>
- <field eval="'John Smith'" name="contact_name"/>
- <field eval="'Sales'" name="function"/>
- <field eval="'Cambridge'" name="city"/>
- <field name="country_id" ref="base.uk"/>
+ <field eval="'John Smith'" name="contact_name"/>
+ <field eval="'Sales'" name="function"/>
+ <field eval="'Cambridge'" name="city"/>
+ <field name="country_id" ref="base.uk"/>
<field eval="'smith_john@gmail.com'" name="email_from"/>
- <field eval="'(282) 596-8584'" name="phone"/>
+ <field eval="'(282) 596-8584'" name="phone"/>
</record>
<record id="crm_case_business_card0" model="crm.lead">
<field eval="1" name="active"/>
@@ -168,17 +160,16 @@
<field name="type">lead</field>
<field name="user_id" ref="base.user_root"/>
<field eval="'Partnership'" name="name"/>
- <field eval="'open'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor5"/>
<field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'Marketing Business'" name="partner_name"/>
- <field eval="'Laure Smith'" name="contact_name"/>
- <field eval="'Sales'" name="function"/>
- <field eval="'Oxford'" name="city"/>
- <field name="country_id" ref="base.uk"/>
+ <field eval="'Laure Smith'" name="contact_name"/>
+ <field eval="'Sales'" name="function"/>
+ <field eval="'Oxford'" name="city"/>
+ <field name="country_id" ref="base.uk"/>
<field eval="'l.smith@marketing-business.com'" name="email_from"/>
- <field eval="'(252) 578-7894'" name="phone"/>
+ <field eval="'(252) 578-7894'" name="phone"/>
</record>
<record id="crm_case_imported_contact0" model="crm.lead">
<field eval="1" name="active"/>
@@ -186,9 +177,8 @@
<field eval="'2'" name="priority"/>
<field name="type">lead</field>
<field eval="'Info'" name="name"/>
- <field eval="'cancel'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
- <field name="stage_id" ref="crm.stage_lead2"/>
+ <field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'Business Group'" name="partner_name"/>
</record>
<record id="crm_case_employee0" model="crm.lead">
@@ -198,12 +188,11 @@
<field name="type">lead</field>
<field name="user_id" ref="base.user_demo"/>
<field eval="'Need Info about Onsite Intervention'" name="name"/>
- <field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor3"/>
- <field name="stage_id" ref="crm.stage_lead2"/>
+ <field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'Agrolait'" name="partner_name"/>
- <field eval="'Sylvie Lelitre'" name="contact_name"/>
+ <field eval="'Sylvie Lelitre'" name="contact_name"/>
</record>
<record id="crm_case_company_partnership0" model="crm.lead">
<field eval="1" name="active"/>
@@ -212,28 +201,15 @@
<field name="type">lead</field>
<field name="user_id" ref="base.user_demo"/>
<field eval="'Need Quotation for 100 PC and 100 Keyboards'" name="name"/>
- <field eval="'done'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor1"/>
<field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'Centrale d\'achats 1'" name="partner_name"/>
</record>
- <!-- Call Function to Open the leads-->
- <function model="crm.lead" name="case_open"
- eval="[ref('crm_case_electonicgoodsdealer0'), ref('crm_case_company_partnership0'), ref('crm_case_webvisitor0'), ref('crm_case_business_card0'), ref('crm.crm_case_employee0')], {'install_mode': True}"
- />
- <!-- Call Function to mark the lead as Pending-->
- <function model="crm.lead" name="case_pending"
- eval="[ref('crm_case_itdeveloper0')], {'install_mode': True}"
- />
- <!-- Call Function to Close the leads-->
- <function model="crm.lead" name="case_close"
- eval="[ref('crm_case_vpoperations0'), ref('crm_case_developingwebapplications0'), ref('crm_case_webvisitor0')], {'install_mode': True}"
- />
- <!-- Call Function to Cancel the leads-->
+ <!-- Call Function to Cancel the leads (set as Dead) -->
<function model="crm.lead" name="case_cancel"
- eval="[ref('crm_case_mgroperations0'), ref('crm_case_imported_contact0')], {'install_mode': True}"
+ eval="[ref('crm_case_company_partnership0'), ref('crm_case_vpoperations0'), ref('crm_case_developingwebapplications0'), ref('crm_case_webvisitor0')], {'install_mode': True}"
/>
<!-- Demo Opportunities -->
@@ -245,11 +221,10 @@
<field name="partner_id" ref="base.res_partner_3"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_root"/>
- <field eval="'open'" name="state"/>
<field eval="'150000'" name="planned_revenue"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor1"/>
- <field name="stage_id" ref="crm.stage_lead3"/>
+ <field name="stage_id" ref="crm.stage_lead4"/>
<field eval="'Plan to buy 200 PC2'" name="name"/>
<field eval="'Conf call with purchase manager'" name="title_action"/>
</record>
@@ -260,12 +235,11 @@
<field name="partner_id" ref="base.res_partner_9"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
- <field eval="'draft'" name="state"/>
<field eval="45000.0" name="planned_revenue"/>
<field eval="35" name="probability"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor3"/>
- <field name="stage_id" ref="crm.stage_lead2"/>
+ <field name="stage_id" ref="crm.stage_lead3"/>
<field eval="'Pricing Information of Onsite Intervention'" name="name"/>
<field eval="'Send price list regarding our interventions'" name="title_action"/>
<field eval="time.strftime('%Y-%m-03')" name="date_action"/>
@@ -283,12 +257,11 @@
<field name="partner_id" ref="base.res_partner_lucievonck0"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
- <field eval="'draft'" name="state"/>
<field eval="30000.0" name="planned_revenue"/>
<field eval="30" name="probability"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor3"/>
- <field name="stage_id" ref="crm.stage_lead2"/>
+ <field name="stage_id" ref="crm.stage_lead3"/>
<field eval="'Interest in your Kitchen Design Project'" name="name"/>
<field eval="'Send Catalogue by E-Mail'" name="title_action"/>
<field eval="time.strftime('%Y-01-10')" name="date_action"/>
@@ -299,19 +272,18 @@
<field eval="1367" name="zip"/>
<field name="country_id" ref="base.be"/>
</record>
- <record id="crm_case_unifliege" model="crm.lead">
+ <record id="crm_case_unifliege" model="crm.lead">
<field eval="1" name="active"/>
<field name="type">opportunity</field>
<field name="type_id" ref="crm.type_lead2"/>
<field name="partner_id" ref="base.res_partner_accent"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_root"/>
- <field eval="'open'" name="state"/>
<field eval="2500.0" name="planned_revenue"/>
<field eval="25" name="probability"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor6"/>
- <field name="stage_id" ref="crm.stage_lead2"/>
+ <field name="stage_id" ref="crm.stage_lead3"/>
<field eval="'Plan train our students on your product'" name="name"/>
<field eval="'Call to define real needs about training'" name="title_action"/>
<field eval="time.strftime('%Y-%m-04')" name="date_action"/>
@@ -323,19 +295,18 @@
<field eval="75016" name="zip"/>
<field name="country_id" ref="base.be"/>
</record>
- <record id="crm_case_bankwealthy2" model="crm.lead">
+ <record id="crm_case_bankwealthy2" model="crm.lead">
<field eval="1" name="active"/>
<field name="type">opportunity</field>
<field name="type_id" ref="crm.type_lead2"/>
<field name="partner_id" ref="base.res_partner_2"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_root"/>
- <field eval="'open'" name="state"/>
<field eval="462.0" name="planned_revenue"/>
<field eval="40" name="probability"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor2"/>
- <field name="stage_id" ref="crm.stage_lead2"/>
+ <field name="stage_id" ref="crm.stage_lead3"/>
<field eval="'Plan to buy 66 keyboards and 66 mouses'" name="name"/>
<field eval="'Propose the kit keyboard+mouse'" name="title_action"/>
<field eval="time.strftime('%Y-04-12')" name="date_action"/>
@@ -354,12 +325,11 @@
<field name="partner_id" ref="base.res_partner_8"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_root"/>
- <field eval="'done'" name="state"/>
<field eval="55000.0" name="planned_revenue"/>
<field eval="90" name="probability"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor7"/>
- <field name="stage_id" ref="crm.stage_lead5"/>
+ <field name="stage_id" ref="crm.stage_lead6"/>
<field eval="'Need 20 Days of Consultancy'" name="name"/>
<field eval="time.strftime('%Y-%m-%d')" name="date_deadline"/>
<field eval="'info@mycompany.net'" name="email_from"/>
@@ -372,11 +342,10 @@
<field name="partner_id" ref="base.res_partner_duboissprl0"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
- <field eval="'open'" name="state"/>
<field eval="45000.0" name="planned_revenue"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor5"/>
- <field name="stage_id" ref="crm.stage_lead4"/>
+ <field name="stage_id" ref="crm.stage_lead5"/>
<field eval="'Need new design for my website'" name="name"/>
<field eval="time.strftime('%Y-05-01')" name="date_action"/>
<field eval="time.strftime('%Y-06-30')" name="date_deadline"/>
@@ -395,40 +364,37 @@
<field name="partner_id" ref="base.res_partner_maxtor"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
- <field eval="'done'" name="state"/>
<field eval="42000.0" name="planned_revenue"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor2"/>
- <field name="stage_id" ref="crm.stage_lead6"/>
+ <field name="stage_id" ref="crm.stage_lead8"/>
<field eval="'Want to subscribe to your online solution'" name="name"/>
</record>
- <record id="crm_case_dirtminingltdunits0" model="crm.lead">
+ <record id="crm_case_dirtminingltdunits0" model="crm.lead">
<field eval="30" name="probability"/>
<field eval="1" name="active"/>
<field name="type">opportunity</field>
<field name="partner_id" ref="base.res_partner_tinyatwork"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_root"/>
- <field eval="'done'" name="state"/>
<field eval="25000.0" name="planned_revenue"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor6"/>
- <field name="stage_id" ref="crm.stage_lead6"/>
+ <field name="stage_id" ref="crm.stage_lead8"/>
<field eval="'Interest in your Partnership Contract'" name="name"/>
</record>
- <record id="crm_case_dirtminingltdunits10" model="crm.lead">
+ <record id="crm_case_dirtminingltdunits10" model="crm.lead">
<field eval="30" name="probability"/>
<field eval="1" name="active"/>
<field name="type">opportunity</field>
<field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_root"/>
- <field eval="'open'" name="state"/>
<field eval="5000" name="planned_revenue"/>
<field eval="30" name="probability"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor2"/>
- <field name="stage_id" ref="crm.stage_lead2"/>
+ <field name="stage_id" ref="crm.stage_lead3"/>
<field eval="'Plan to attend a training'" name="name"/>
<field eval="time.strftime('%Y-04-10')" name="date_action"/>
<field eval="time.strftime('%Y-06-12')" name="date_deadline"/>
@@ -439,7 +405,7 @@
<field eval="77420" name="zip"/>
<field name="country_id" ref="base.fr"/>
</record>
- <record id="crm_case_construstazunits0" model="crm.lead">
+ <record id="crm_case_construstazunits0" model="crm.lead">
<field eval="60" name="probability"/>
<field eval="1" name="active"/>
<field name="type">opportunity</field>
@@ -447,11 +413,10 @@
<field name="partner_id" ref="base.res_partner_thymbra"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_root"/>
- <field eval="'open'" name="state"/>
<field eval="'150000'" name="planned_revenue"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor1"/>
- <field name="stage_id" ref="crm.stage_lead3"/>
+ <field name="stage_id" ref="crm.stage_lead4"/>
<field eval="'Need customize the solution'" name="name"/>
<field eval="'Conf call with technical service'" name="title_action"/>
<field name="partner_name">Thymbra</field>
@@ -461,7 +426,7 @@
<field eval="1659" name="zip"/>
<field name="country_id" ref="base.ar"/>
</record>
- <record id="crm_case_ericdubois4" model="crm.lead">
+ <record id="crm_case_ericdubois4" model="crm.lead">
<field eval="65" name="probability"/>
<field eval="1" name="active"/>
<field name="type">opportunity</field>
@@ -469,11 +434,10 @@
<field name="partner_id" ref="base.res_partner_ericdubois0"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_root"/>
- <field eval="'open'" name="state"/>
<field eval="'1200'" name="planned_revenue"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm.categ_oppor1"/>
- <field name="stage_id" ref="crm.stage_lead3"/>
+ <field name="stage_id" ref="crm.stage_lead4"/>
<field eval="'Interest in your customizable PC'" name="name"/>
<field eval="time.strftime('%Y-08-05')" name="date_action"/>
<field eval="time.strftime('%Y-10-10')" name="date_deadline"/>
@@ -484,26 +448,24 @@
<field eval="7000" name="zip"/>
<field name="country_id" ref="base.be"/>
</record>
- <record id="crm_case_fabiendupont" model="crm.lead">
+ <record id="crm_case_fabiendupont" model="crm.lead">
<field eval="1" name="active"/>
<field name="type">opportunity</field>
<field name="type_id" ref="crm.type_lead1"/>
<field name="partner_id" ref="base.res_partner_fabiendupont0"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_root"/>
- <field eval="'draft'" name="state"/>
<field name="categ_id" ref="crm.categ_oppor4"/>
<field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'Need more info about the onsite intervention'" name="name"/>
</record>
- <record id="crm_case_shelvehouse" model="crm.lead">
+ <record id="crm_case_shelvehouse" model="crm.lead">
<field eval="1" name="active"/>
<field name="type">opportunity</field>
<field name="type_id" ref="crm.type_lead1"/>
<field name="partner_id" ref="base.res_partner_theshelvehouse0"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
- <field eval="'draft'" name="state"/>
<field name="categ_id" ref="crm.categ_oppor4"/>
<field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'Need more info about your pc2'" name="name"/>
diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml
index 5741ad9c321..44f76bb81f9 100644
--- a/addons/crm/crm_lead_view.xml
+++ b/addons/crm/crm_lead_view.xml
@@ -1,35 +1,41 @@
<?xml version="1.0"?>
<openerp>
-<data>
-
- <!-- Stage Search view -->
- <record id="crm_lead_stage_search" model="ir.ui.view">
- <field name="name">Stage - Search</field>
- <field name="model">crm.case.stage</field>
- <field name="type">search</field>
- <field name="arch" type="xml">
- <search string="Stage Search">
- <field name="name"/>
- </search>
- </field>
- </record>
-
- <!--Lead Stage Form view -->
- <record id="crm_lead_stage_act" model="ir.actions.act_window">
- <field name="name">Stages</field>
- <field name="res_model">crm.case.stage</field>
- <field name="view_type">form</field>
- <field name="view_id" ref="crm.crm_case_stage_tree"/>
- <field name="help">Add specific stages to leads and opportunities allowing your sales to better organise their sales pipeline. Stages will allow them to easily track how a specific lead or opportunity is positioned in the sales cycle.</field>
- </record>
+ <data>
+
+ <!--
+ CRM CASE STAGE
+ -->
+
+ <!-- Stage Search view -->
+ <record id="crm_lead_stage_search" model="ir.ui.view">
+ <field name="name">Stage - Search</field>
+ <field name="model">crm.case.stage</field>
+ <field name="type">search</field>
+ <field name="arch" type="xml">
+ <search string="Stage Search">
+ <field name="name"/>
+ <field name="state"/>
+ <field name="type"/>
+ </search>
+ </field>
+ </record>
- <menuitem action="crm_lead_stage_act" id="menu_crm_lead_stage_act" name="Stages"
- groups="base.group_no_one" sequence="0"
- parent="base.menu_crm_config_lead" />
+ <!-- Stage Form view -->
+ <record id="crm_lead_stage_act" model="ir.actions.act_window">
+ <field name="name">Stages</field>
+ <field name="res_model">crm.case.stage</field>
+ <field name="view_type">form</field>
+ <field name="view_id" ref="crm.crm_case_stage_tree"/>
+ <field name="help">Add specific stages to leads and opportunities allowing your sales to better organise their sales pipeline. Stages will allow them to easily track how a specific lead or opportunity is positioned in the sales cycle.</field>
+ </record>
+ <menuitem action="crm_lead_stage_act" id="menu_crm_lead_stage_act" name="Stages" sequence="0" parent="base.menu_crm_config_lead" />
- <!-- Lead/Opportunity Categories Action -->
+ <!--
+ LEADS/OPPORTUNITIES CATEGORIES
+ -->
+ <!-- Categories Form View -->
<record id="crm_lead_categ_action" model="ir.actions.act_window">
<field name="name">Categories</field>
<field name="res_model">crm.case.categ</field>
@@ -44,6 +50,9 @@
id="menu_crm_lead_categ" name="Categories"
parent="base.menu_crm_config_lead" sequence="1" groups="base.group_no_one"/>
+ <!--
+ LEADS
+ -->
<!-- CRM Lead Form View -->
<record model="ir.ui.view" id="crm_case_form_view_leads">
@@ -53,14 +62,17 @@
<field name="arch" type="xml">
<form string="Leads Form" layout="manual">
<div class="oe_form_topbar">
- <button name="case_open" string="Open" states="draft,pending" type="object" />
- <button name="case_mark_lost" string="Close" states="open,pending" type="object" />
- <button name="case_pending" string="Pending" states="open" type="object" />
- <button name="case_escalate" string="Escalate" states="open,pending" type="object" />
- <button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" />
- <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" />
+ <button name="%(crm.action_crm_lead2opportunity_partner)d" string="Convert to Opportunity" type="action"
+ states="draft,open,pending" help="Convert to Opportunity"/>
+ <button name="case_escalate" string="Escalate" type="object"
+ states="draft,open,pending"/>
+ <button name="case_reset" string="Reset" type="object"
+ states="cancel"/>
+ <button name="case_cancel" string="Cancel" type="object"
+ states="draft,open,pending"/>
<div class="oe_right">
- <field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
+ <field name="stage_id" nolabel="1" widget="statusbar"
+ on_change="onchange_stage_id(stage_id)"/>
</div>
<div class="oe_clear"/>
</div>
@@ -71,24 +83,9 @@
<field name="categ_id"
widget="selection"
domain="[('object_id.model','=','crm.lead')]"/>
- <button
- name="%(crm.action_crm_lead2opportunity_partner)d"
- string="Convert to Opportunity"
- help="Convert to Opportunity" icon="gtk-go-forward"
- type="action"
- />
<newline />
<field name="user_id" />
<field name="section_id" widget="selection" />
- <field name="stage_id" domain="section_id and [('section_ids', '=', section_id)] or []" />
- <group col="2" colspan="1">
- <button name="stage_previous" string=""
- states="open,pending,draft" type="object"
- icon="gtk-go-back" context="{'stage_type': 'lead'}" />
- <button name="stage_next" string=""
- states="open,pending,draft" type="object"
- icon="gtk-go-forward" context="{'stage_type': 'lead'}" />
- </group>
<field name="type" invisible="1"/>
</group>
<notebook colspan="4">
@@ -142,6 +139,7 @@
<field name="type_id" select="1" widget="selection"/>
<field name="channel_id" select="1" widget="selection"/>
<field name="referred"/>
+ <field name="state" groups="base.group_no_one"/>
</group>
<group colspan="2" col="2">
<separator string="Mailings" colspan="2" col="2"/>
@@ -161,72 +159,55 @@
</div>
</form>
</field>
- </record>
-
- <!-- CRM Lead Tree View -->
-
- <record model="ir.ui.view" id="crm_case_tree_view_leads">
- <field name="name">Leads</field>
- <field name="model">crm.lead</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Leads" fonts="bold:needaction_pending==True" colors="blue:state=='pending';grey:state in ('cancel', 'done')">
- <field name="needaction_pending" invisible="1"/>
- <field name="date_deadline" invisible="1"/>
- <field name="create_date" groups="base.group_no_one"/>
- <field name="name" string="Subject"/>
- <field name="contact_name"/>
- <field name="country_id" invisible="context.get('invisible_country', True)" />
- <field name="email_from"/>
- <field name="phone"/>
-
- <field name="categ_id" invisible="1"/>
- <field name="type_id" invisible="1"/>
- <field name="referred" invisible="1"/>
- <field name="channel_id" invisible="1"/>
- <field name="subjects" invisible="1"/>
-
- <field name="stage_id"/>
- <button name="stage_previous" string="Previous Stage"
- states="open,pending" type="object" icon="gtk-go-back" />
- <button name="stage_next" string="Next Stage"
- states="open,pending" type="object"
- icon="gtk-go-forward" />
- <field name="section_id" invisible="context.get('invisible_section', True)" />
- <field name="user_id" />
- <field name="state" />
- <button name="case_open" string="Open"
- states="draft,pending" type="object"
- icon="gtk-go-forward" />
- <button name="case_close" string="Close"
- states="open,draft,pending" type="object"
- icon="gtk-close" />
- <button name="%(crm.action_crm_lead2opportunity_partner)d"
- string="Convert to Opportunity"
- states="draft,open,pending" icon="gtk-index"
- type="action" />
- <button name="case_escalate" string="Escalate"
- states="open,draft,pending" type="object"
- icon="gtk-go-up" />
- </tree>
- </field>
- </record>
+ </record>
- <!-- CRM Lead Calendar View -->
+ <!-- CRM Lead Tree View -->
+ <record model="ir.ui.view" id="crm_case_tree_view_leads">
+ <field name="name">Leads</field>
+ <field name="model">crm.lead</field>
+ <field name="type">tree</field>
+ <field name="arch" type="xml">
+ <tree string="Leads" fonts="bold:needaction_pending==True" colors="blue:state=='pending';grey:state in ('cancel', 'done')">
+ <field name="needaction_pending" invisible="1"/>
+ <field name="date_deadline" invisible="1"/>
+ <field name="create_date" groups="base.group_no_one"/>
+ <field name="name" string="Subject"/>
+ <field name="contact_name"/>
+ <field name="country_id" invisible="context.get('invisible_country', True)" />
+ <field name="email_from"/>
+ <field name="phone"/>
+ <field name="stage_id"/>
+ <field name="categ_id" invisible="1"/>
+ <field name="section_id" invisible="context.get('invisible_section', True)" />
+ <field name="state" groups="base.group_no_one"/>
+ <field name="type_id" invisible="1"/>
+ <field name="referred" invisible="1"/>
+ <field name="channel_id" invisible="1"/>
+ <field name="subjects" invisible="1"/>
+ <button name="%(crm.action_crm_lead2opportunity_partner)d" string="Convert to Opportunity" type="action"
+ states="draft,open,pending" icon="gtk-go-forward"/>
+ <button name="case_escalate" string="Escalate" type="object"
+ states="draft,open,pending" icon="gtk-go-up"/>
+ <button name="case_cancel" string="Dead" type="object"
+ states="open,draft,pending" icon="gtk-cancel"/>
+ </tree>
+ </field>
+ </record>
- <record model="ir.ui.view" id="crm_case_calendar_view_leads">
- <field name="name">CRM - Leads Calendar</field>
- <field name="model">crm.lead</field>
- <field name="type">calendar</field>
- <field name="priority" eval="2"/>
- <field name="arch" type="xml">
- <calendar string="Leads Generation"
- date_start="date_action" color="user_id">
- <field name="name" />
- <field name="partner_name" />
- </calendar>
- </field>
- </record>
+ <!-- CRM Lead Calendar View -->
+ <record model="ir.ui.view" id="crm_case_calendar_view_leads">
+ <field name="name">CRM - Leads Calendar</field>
+ <field name="model">crm.lead</field>
+ <field name="type">calendar</field>
+ <field name="priority" eval="2"/>
+ <field name="arch" type="xml">
+ <calendar string="Leads Generation"
+ date_start="date_action" color="user_id">
+ <field name="name" />
+ <field name="partner_name" />
+ </calendar>
+ </field>
+ </record>
<!-- CRM Lead Kanban View -->
<record model="ir.ui.view" id="crm_case_kanban_view_leads">
@@ -235,7 +216,7 @@
<field name="type">kanban</field>
<field name="arch" type="xml">
<kanban default_group_by="stage_id">
- <field name="state"/>
+ <field name="state" groups="base.group_no_one"/>
<field name="color"/>
<field name="priority"/>
<field name="planned_revenue" sum="Expected Revenues"/>
@@ -264,13 +245,13 @@
<li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
</ul>
<div class="oe_kanban_content">
- <a type="edit"><h3>
+ <h3>
<field name="partner_id"/>
<t t-if="record.planned_revenue.raw_value">
- <t t-esc="Math.round(record.planned_revenue.value)"/>
<field name="company_currency"/>
</t>
- </h3></a>
+ </h3>
<div>
<b> <field name="partner_address_name"/> </b>
</div>
@@ -316,7 +297,6 @@
</record>
<!-- CRM Lead Search View -->
-
<record id="view_crm_case_leads_filter" model="ir.ui.view">
<field name="name">CRM - Leads Search</field>
<field name="model">crm.lead</field>
@@ -391,6 +371,10 @@
</record>
+ <!--
+ OPPORTUNITY
+ -->
+
<!-- Opportunities Form View -->
<record model="ir.ui.view" id="crm_case_form_view_oppor">
<field name="name">Opportunities</field>
@@ -400,15 +384,23 @@
<field name="arch" type="xml">
<form string="Opportunities" layout="manual">
<div class="oe_form_topbar oe_form_topbar_hifirst">
- <button name="case_mark_won" string="Mark Won" states="open,pending" type="object" />
- <button name="case_open" string="Open" states="draft,pending" type="object" />
- <button name="case_pending" string="Pending" states="draft,open" type="object" />
- <button name="case_escalate" string="Escalate" states="open,pending" type="object" />
- <button name="case_mark_lost" string="Mark Lost" states="open,pending" type="object" />
- <button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" />
- <button name="case_cancel" string="Cancel" states="draft" type="object" />
+ <button name="case_open" string="Open" type="object"
+ states="draft"/>
+ <button name="case_mark_won" string="Mark Won" type="object"
+ states="draft,open"/>
+ <button name="case_mark_lost" string="Mark Lost" type="object"
+ states="draft,open"/>
+ <button name="case_reset" string="Reset to Draft" type="object"
+ states="cancel"/>
+ <button name="case_escalate" string="Escalate" type="object"
+ states="open"/>
+ <button name="stage_previous" string="Previous" type="object"
+ states="open" icon="gtk-go-back" context="{'stage_type': 'opportunity'}"/>
+ <button name="stage_next" string="Next" type="object"
+ states="open" icon="gtk-go-forward" context="{'stage_type': 'opportunity'}"/>
<div class="oe_right">
- <field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
+ <field name="stage_id" nolabel="1" widget="statusbar"
+ on_change="onchange_stage_id(stage_id)"/>
</div>
<div class="oe_clear"/>
</div>
@@ -461,20 +453,8 @@
<field name="categ_id" select="1"
string="Category" widget="selection"
domain="[('object_id.model', '=', 'crm.lead')]" />
-
- <label string="Stage" for="stage_id" align="1.0"/>
- <group colspan="1" col="3">
- <field name="stage_id" nolabel="1"
- on_change="onchange_stage_id(stage_id)"
- domain="section_id and [('section_ids', '=', section_id)] or []" width="60%%"/>
- <button name="stage_previous"
- states="draft,open,pending" type="object"
- icon="gtk-go-back" string="" context="{'stage_type': 'opportunity'}"/>
- <button name="stage_next" states="draft,open,pending"
- type="object" icon="gtk-go-forward" string="" context="{'stage_type': 'opportunity'}"/>
- </group>
-
- <field name="priority" string="Priority"/>
+ <field name="state"/>
+ <field name="priority"/>
</group>
<separator colspan="4" string="Details"/>
@@ -534,41 +514,41 @@
</field>
</record>
- <!-- Opportunities Tree View -->
- <record model="ir.ui.view" id="crm_case_tree_view_oppor">
- <field name="name">Opportunities Tree</field>
- <field name="model">crm.lead</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Opportunities" fonts="bold:needaction_pending==True" colors="blue:state=='pending' and not(date_deadline and (date_deadline &lt; current_date));gray:state in ('cancel', 'done');red:date_deadline and (date_deadline &lt; current_date)">
- <field name="needaction_pending" invisible="1"/>
- <field name="date_deadline" invisible="1"/>
- <field name="create_date" groups="base.group_no_one"/>
- <field name="name" string="Opportunity"/>
- <field name="partner_id" string="Customer"/>
- <field name="country_id" invisible="context.get('invisible_country', True)" />
- <field name="date_action"/>
- <field name="title_action" />
- <field name="channel_id" invisible="1"/>
- <field name="type_id" invisible="1"/>
- <field name="subjects" invisible="1"/>
- <field name="stage_id"/>
- <button name="stage_previous" string="Previous Stage" states="open,pending" type="object" icon="gtk-go-back" />
- <button name="stage_next" string="Next Stage" states="open,pending" type="object" icon="gtk-go-forward" />
- <field name="planned_revenue" sum="Expected Revenues"/>
- <field name="probability" widget="progressbar" avg="Avg. of Probability"/>
- <field name="section_id" invisible="context.get('invisible_section', True)" />
- <field name="user_id"/>
- <field name="priority" invisible="1"/>
- <field name="categ_id" invisible="1"/>
- <field name="state"/>
- <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" />
- <button name="case_pending" string="Pending" states="open,draft" type="object" icon="gtk-media-pause" />
- <button name="case_mark_lost" string="Lost" states="open,pending" type="object" icon="gtk-cancel" />
- <button name="case_mark_won" string="Won" states="open,pending" type="object" icon="gtk-apply" />
- </tree>
- </field>
- </record>
+ <!-- Opportunities Tree View -->
+ <record model="ir.ui.view" id="crm_case_tree_view_oppor">
+ <field name="name">Opportunities Tree</field>
+ <field name="model">crm.lead</field>
+ <field name="type">tree</field>
+ <field name="arch" type="xml">
+ <tree string="Opportunities" fonts="bold:needaction_pending==True" colors="blue:state=='pending' and not(date_deadline and (date_deadline &lt; current_date));gray:state in ('cancel', 'done');red:date_deadline and (date_deadline &lt; current_date)">
+ <field name="needaction_pending" invisible="1"/>
+ <field name="date_deadline" invisible="1"/>
+ <field name="create_date" groups="base.group_no_one"/>
+ <field name="name" string="Opportunity"/>
+ <field name="partner_id" string="Customer"/>
+ <field name="country_id" invisible="context.get('invisible_country', True)" />
+ <field name="date_action"/>
+ <field name="title_action" />
+ <field name="channel_id" invisible="1"/>
+ <field name="type_id" invisible="1"/>
+ <field name="subjects" invisible="1"/>
+ <field name="stage_id"/>
+ <field name="planned_revenue" sum="Expected Revenues"/>
+ <field name="probability" widget="progressbar" avg="Avg. of Probability"/>
+ <field name="section_id" invisible="context.get('invisible_section', True)" />
+ <field name="user_id"/>
+ <field name="priority" invisible="1"/>
+ <field name="categ_id" invisible="1"/>
+ <field name="state" groups="base.group_no_one"/>
+ <button name="case_open" string="Open" type="object"
+ states="draft,pending" icon="gtk-go-forward"/>
+ <button name="case_mark_won" string="Won" type="object"
+ states="open,pending" icon="gtk-apply"/>
+ <button name="case_mark_lost" string="Lost" type="object"
+ states="open,pending" icon="gtk-cancel"/>
+ </tree>
+ </field>
+ </record>
<!-- Opportunities Search View -->
@@ -599,8 +579,7 @@
help="Unassigned Opportunities" />
</field>
<field name="section_id"
- context="{'invisible_section': False}"
- widget="selection">
+ context="{'invisible_section': False, 'default_section_id': self}">
<filter icon="terp-personal+"
domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
context="{'invisible_section': False}"
@@ -630,19 +609,19 @@
</field>
</record>
- <!-- crm.lead Opportunities Graph View -->
- <record model="ir.ui.view" id="crm_case_graph_view_opportunity">
- <field name="name">CRM - Opportunity Graph</field>
- <field name="model">crm.lead</field>
- <field name="type">graph</field>
- <field name="arch" type="xml">
- <graph string="Opportunity by Categories" type="bar" orientation="horizontal">
- <field name="categ_id"/>
- <field name="planned_revenue" operator="+"/>
- <field name="state" group="True"/>
- </graph>
- </field>
- </record>
+ <!-- crm.lead Opportunities Graph View -->
+ <record model="ir.ui.view" id="crm_case_graph_view_opportunity">
+ <field name="name">CRM - Opportunity Graph</field>
+ <field name="model">crm.lead</field>
+ <field name="type">graph</field>
+ <field name="arch" type="xml">
+ <graph string="Opportunity by Categories" type="bar" orientation="horizontal">
+ <field name="categ_id"/>
+ <field name="planned_revenue" operator="+"/>
+ <field name="state" group="True"/>
+ </graph>
+ </field>
+ </record>
-</data>
+ </data>
</openerp>
diff --git a/addons/crm/crm_meeting.py b/addons/crm/crm_meeting.py
index 3ef6becc2ce..bc1ab42b3df 100644
--- a/addons/crm/crm_meeting.py
+++ b/addons/crm/crm_meeting.py
@@ -2,7 +2,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+# Copyright (C) 2004-today OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -20,43 +20,35 @@
##############################################################################
from base_calendar import base_calendar
-from crm import crm_base, crm_case
+from base_status.base_state import base_state
+from base_status.base_stage import base_stage
+import logging
from osv import fields, osv
import tools
from tools.translate import _
-import logging
-
-class crm_lead(crm_case, osv.osv):
- """ CRM Leads """
- _name = 'crm.lead'
-crm_lead()
-
-class crm_phonecall(crm_case, osv.osv):
- """ CRM Phonecall """
- _name = 'crm.phonecall'
-crm_phonecall()
+class crm_lead(base_stage, osv.osv):
+ """ CRM Leads """
+ _name = 'crm.lead'
-class crm_meeting(crm_base, osv.osv):
- """ CRM Meeting Cases """
-
+class crm_meeting(base_state, osv.Model):
+ """ Model for CRM meetings """
_name = 'crm.meeting'
_description = "Meeting"
_order = "id desc"
_inherit = ["calendar.event", 'ir.needaction_mixin', "mail.thread"]
_columns = {
- # From crm.case
- 'name': fields.char('Summary', size=124, required=True, states={'done': [('readonly', True)]}),
+ # base_state required fields
'partner_id': fields.many2one('res.partner', 'Partner', states={'done': [('readonly', True)]}),
'section_id': fields.many2one('crm.case.section', 'Sales Team', states={'done': [('readonly', True)]}, \
select=True, help='Sales team to which Case belongs to.'),
'email_from': fields.char('Email', size=128, states={'done': [('readonly', True)]}, help="These people will receive email."),
- 'id': fields.integer('ID', readonly=True),
'create_date': fields.datetime('Creation Date' , readonly=True),
'write_date': fields.datetime('Write Date' , readonly=True),
'date_action_last': fields.datetime('Last Action', readonly=1),
'date_action_next': fields.datetime('Next Action', readonly=1),
# Meeting fields
+ 'name': fields.char('Summary', size=124, required=True, states={'done': [('readonly', True)]}),
'categ_id': fields.many2one('crm.case.categ', 'Meeting Type', \
domain="[('object_id.model', '=', 'crm.meeting')]", \
),
@@ -66,11 +58,11 @@ class crm_meeting(crm_base, osv.osv):
'event_id', 'attendee_id', 'Attendees', states={'done': [('readonly', True)]}),
'date_closed': fields.datetime('Closed', readonly=True),
'date_deadline': fields.datetime('Deadline', states={'done': [('readonly', True)]}),
- 'state': fields.selection([('open', 'Confirmed'),
- ('draft', 'Unconfirmed'),
+ 'state': fields.selection([ ('draft', 'Unconfirmed'),
+ ('open', 'Confirmed'),
('cancel', 'Cancelled'),
- ('done', 'Done')], 'Status', \
- size=16, readonly=True),
+ ('done', 'Done')],
+ string='Status', size=16, readonly=True),
}
_defaults = {
'state': 'draft',
@@ -90,6 +82,17 @@ class crm_meeting(crm_base, osv.osv):
result[obj.id] = [obj.user_id.id]
return result
+ def case_open(self, cr, uid, ids, context=None):
+ """ Confirms meeting """
+ res = super(crm_meeting, self).case_open(cr, uid, ids, context)
+ for (id, name) in self.name_get(cr, uid, ids):
+ id=base_calendar.base_calendar_id2real_id(id)
+ return res
+
+ # ----------------------------------------
+ # OpenChatter
+ # ----------------------------------------
+
def case_get_note_msg_prefix(self, cr, uid, id, context=None):
return 'Meeting'
@@ -118,32 +121,12 @@ class crm_meeting(crm_base, osv.osv):
meeting.message_append_note(body=parent_message)
return True
- def case_close_send_note(self, cr, uid, ids, context=None):
- message = _("Meeting has been <b>done</b>.")
- return self.message_append_note(cr, uid, ids, body=message, context=context)
-
def case_open_send_note(self, cr, uid, ids, context=None):
- for meeting in self.browse(cr, uid, ids, context=context):
- if meeting.state != 'draft':
- return False
- message = _("Meeting has been <b>confirmed</b>.")
- meeting.message_append_note(body=message)
- return True
+ return self.message_append_note(cr, uid, ids, body=_("Meeting has been <b>confirmed</b>."), context=context)
- def case_open(self, cr, uid, ids, context=None):
- """Confirms meeting
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of Meeting Ids
- @param *args: Tuple Value for additional Params
- """
- res = super(crm_meeting, self).case_open(cr, uid, ids, context)
- for (id, name) in self.name_get(cr, uid, ids):
- id=base_calendar.base_calendar_id2real_id(id)
- return res
+ def case_close_send_note(self, cr, uid, ids, context=None):
+ return self.message_append_note(cr, uid, ids, body=_("Meeting has been <b>done</b>."), context=context)
-crm_meeting()
class calendar_attendee(osv.osv):
""" Calendar Attendee """
diff --git a/addons/crm/crm_meeting_view.xml b/addons/crm/crm_meeting_view.xml
index 2fde5cb6f5d..e7176386842 100644
--- a/addons/crm/crm_meeting_view.xml
+++ b/addons/crm/crm_meeting_view.xml
@@ -25,8 +25,22 @@
<field name="model">crm.meeting</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form layout="manual">
- <sheet string="Meetings" layout="auto">
+ <form string="Meetings" layout="manual">
+ <div class="oe_form_topbar oe_form_topbar_hifirst">
+ <button name="case_open" string="Confirm" type="object"
+ states="draft"/>
+ <button name="case_close" string="Done" type="object"
+ states="open"/>
+ <button name="case_reset" string="Reset to Unconfirmed" type="object"
+ states="cancel,done"/>
+ <button name="case_cancel" string="Cancel" type="object"
+ states="draft,open"/>
+ <div class="oe_right">
+ <field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done"/>
+ </div>
+ <div class="oe_clear"/>
+ </div>
+ <sheet layout="auto">
<group col="6" colspan="4">
<field name="name" select="1" string="Title"
required="1" />
@@ -72,19 +86,6 @@
</group>
<separator string="Description" colspan="4" />
<field name="description" nolabel="1" colspan="4" />
- <separator colspan="4"/>
- <group col="8" colspan="4" groups="base.group_no_one">
- <field name="state" />
- <button name="case_close" string="Done"
- states="open" type="object"
- icon="gtk-jump-to" />
- <button name="case_reset" string="Reset to Unconfirmed"
- states="open,done" type="object"
- icon="gtk-convert" />
- <button name="case_open" string="Confirm"
- states="draft" type="object"
- icon="gtk-go-forward" />
- </group>
</page>
<page string="Invitation Detail">
<button string="Invite People"
@@ -210,10 +211,10 @@
</page>
</notebook>
- </sheet>
- <div class="oe_form_sheet_width">
- <field name="message_ids" colspan="4" widget="ThreadView" nolabel="1"/>
- </div>
+ </sheet>
+ <div class="oe_form_bottom">
+ <field name="message_ids" colspan="4" widget="ThreadView" nolabel="1"/>
+ </div>
</form>
</field>
</record>
diff --git a/addons/crm/crm_phonecall.py b/addons/crm/crm_phonecall.py
index 77b5be903da..9418b05b9ea 100644
--- a/addons/crm/crm_phonecall.py
+++ b/addons/crm/crm_phonecall.py
@@ -2,7 +2,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+# Copyright (C) 2004-today OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -19,26 +19,22 @@
#
##############################################################################
-from crm import crm_base
-from osv import fields, osv
-from tools.translate import _
+from base_status.base_state import base_state
import crm
+from datetime import datetime
+from osv import fields, osv
import time
from tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT, DATETIME_FORMATS_MAP
-from datetime import datetime
-
-class crm_phonecall(crm_base, osv.osv):
- """ Phonecall Cases """
+from tools.translate import _
+class crm_phonecall(base_state, osv.osv):
+ """ Model for CRM phonecalls """
_name = "crm.phonecall"
_description = "Phonecall"
_order = "id desc"
_inherit = ['ir.needaction_mixin', 'mail.thread']
_columns = {
- # From crm.case
- 'id': fields.integer('ID', readonly=True),
- 'name': fields.char('Call Summary', size=64, required=True),
- 'active': fields.boolean('Active', required=False),
+ # base_state required fields
'date_action_last': fields.datetime('Last Action', readonly=1),
'date_action_next': fields.datetime('Next Action', readonly=1),
'create_date': fields.datetime('Creation Date' , readonly=True),
@@ -48,20 +44,21 @@ class crm_phonecall(crm_base, osv.osv):
'partner_id': fields.many2one('res.partner', 'Partner'),
'company_id': fields.many2one('res.company', 'Company'),
'description': fields.text('Description'),
- 'state': fields.selection([
- ('draft', 'Draft'),
- ('open', 'Todo'),
+ 'state': fields.selection([ ('draft', 'Draft'),
+ ('open', 'Confirmed'),
('pending', 'Not Held'),
('cancel', 'Cancelled'),
- ('done', 'Held'),
- ], 'Status', size=16, readonly=True,
- help='The state is set to \'Todo\', when a case is created.\
- \nIf the case is in progress the state is set to \'Open\'.\
- \nWhen the call is over, the state is set to \'Held\'.\
- \nIf the call needs to be done then the state is set to \'Not Held\'.'),
+ ('done', 'Held'),],
+ string='Status', size=16, readonly=True,
+ help='The state is set to \'Todo\', when a case is created.\
+ If the case is in progress the state is set to \'Open\'.\
+ When the call is over, the state is set to \'Held\'.\
+ If the call needs to be done then the state is set to \'Not Held\'.'),
'email_from': fields.char('Email', size=128, help="These people will receive email."),
'date_open': fields.datetime('Opened', readonly=True),
# phonecall fields
+ 'name': fields.char('Call Summary', size=64, required=True),
+ 'active': fields.boolean('Active', required=False),
'duration': fields.float('Duration', help="Duration in Minutes"),
'categ_id': fields.many2one('crm.case.categ', 'Category', \
domain="['|',('section_id','=',section_id),('section_id','=',False),\
@@ -80,11 +77,10 @@ class crm_phonecall(crm_base, osv.osv):
return 'open'
_defaults = {
- 'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
+ 'date': fields.datetime.now,
'priority': crm.AVAILABLE_PRIORITIES[2][0],
'state': _get_default_state,
'user_id': lambda self,cr,uid,ctx: uid,
- 'active': 1,
}
def create(self, cr, uid, vals, context=None):
@@ -95,32 +91,23 @@ class crm_phonecall(crm_base, osv.osv):
return obj_id
def case_close(self, cr, uid, ids, context=None):
- """Overrides close for crm_case for setting close date
- """
+ """ Overrides close for crm_case for setting duration """
res = True
- for phone in self.browse(cr, uid, ids):
+ for phone in self.browse(cr, uid, ids, context=context):
phone_id = phone.id
- data = {'date_closed': time.strftime('%Y-%m-%d %H:%M:%S')}
+ data = {}
if phone.duration <=0:
- duration = datetime.now() - datetime.strptime(phone.date, '%Y-%m-%d %H:%M:%S')
- data.update({'duration': duration.seconds/float(60)})
- res = super(crm_phonecall, self).case_close(cr, uid, [phone_id], context)
- self.write(cr, uid, [phone_id], data)
+ duration = datetime.now() - datetime.strptime(phone.date, DEFAULT_SERVER_DATETIME_FORMAT)
+ data['duration'] = duration.seconds/float(60)
+ res = super(crm_phonecall, self).case_close(cr, uid, [phone_id], context=context)
+ self.write(cr, uid, [phone_id], data, context=context)
return res
def case_reset(self, cr, uid, ids, context=None):
"""Resets case as Todo
"""
res = super(crm_phonecall, self).case_reset(cr, uid, ids, context)
- self.write(cr, uid, ids, {'duration': 0.0, 'state':'open'})
- return res
-
-
- def case_open(self, cr, uid, ids, context=None):
- """Overrides cancel for crm_case for setting Open Date
- """
- res = super(crm_phonecall, self).case_open(cr, uid, ids, context)
- self.write(cr, uid, ids, {'date_open': time.strftime('%Y-%m-%d %H:%M:%S')})
+ self.write(cr, uid, ids, {'duration': 0.0, 'state':'open'}, context=context)
return res
def schedule_another_phonecall(self, cr, uid, ids, schedule_time, call_summary, \
@@ -299,7 +286,7 @@ class crm_phonecall(crm_base, osv.osv):
return value
# ----------------------------------------
- # OpenChatter methods and notifications
+ # OpenChatter
# ----------------------------------------
def get_needaction_user_ids(self, cr, uid, ids, context=None):
@@ -335,9 +322,6 @@ class crm_phonecall(crm_base, osv.osv):
def _call_set_partner_send_note(self, cr, uid, ids, context=None):
return self.message_append_note(cr, uid, ids, body=_("Partner has been <b>created</b>"), context=context)
-
-
-crm_phonecall()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml
index 06a89897db6..6360e24a217 100644
--- a/addons/crm/crm_phonecall_view.xml
+++ b/addons/crm/crm_phonecall_view.xml
@@ -43,10 +43,14 @@
states="open,pending" icon="gtk-redo"
name="action_make_meeting" type="object" />
<field name="state"/>
- <button name="case_cancel" string="Cancel" states="open,pending" type="object" icon="gtk-cancel"/>
- <button name="case_open" string="Todo" states="pending" type="object" icon="gtk-go-forward"/>
- <button name="case_close" string="Held" states="open,pending" type="object" icon="gtk-jump-to"/>
- <button name="case_pending" string="Not Held" states="open" type="object" icon="gtk-media-pause"/>
+ <button name="case_open" string="Confirm" type="object"
+ states="draft,pending" icon="gtk-go-forward"/>
+ <button name="case_close" string="Held" type="object"
+ states="open,pending" icon="gtk-jump-to"/>
+ <button name="case_cancel" string="Cancel" type="object"
+ states="draft,open,pending" icon="gtk-cancel"/>
+ <button name="case_reset" string="Reset to Todo" type="object"
+ states="cancel" icon="gtk-convert"/>
</tree>
</field>
</record>
@@ -60,13 +64,16 @@
<field name="arch" type="xml">
<form layout="manual">
<div class="oe_form_topbar">
- <button name="case_close" string="Held" states="open,pending" type="object" />
- <button name="case_open" string="Todo" states="pending" type="object" />
- <button name="case_pending" string="Not Held" states="open" type="object" />
- <button name="case_reset" string="Reset to Todo" states="cancel" type="object" />
- <button name="case_cancel" string="Cancel" states="open,pending" type="object" />
+ <button name="case_open" string="Confirm" type="object"
+ states="draft,pending" icon="gtk-go-forward"/>
+ <button name="case_close" string="Held" type="object"
+ states="open,pending" icon="gtk-jump-to"/>
+ <button name="case_reset" string="Reset to Todo" type="object"
+ states="cancel" icon="gtk-convert"/>
+ <button name="case_cancel" string="Cancel" type="object"
+ states="draft,open,pending" icon="gtk-cancel"/>
<div class="oe_right">
- <field name="state" widget="statusbar" nolabel="1" statusbar_visible="open,done" statusbar_colors='{"pending":"red"}' select="1"/>
+ <field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,open,done" select="1"/>
</div>
<div class="oe_clear"/>
</div>
diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml
index dd24ef38911..c8f019e685b 100644
--- a/addons/crm/crm_view.xml
+++ b/addons/crm/crm_view.xml
@@ -143,6 +143,8 @@
<field name="sequence"/>
<field name="name"/>
<field name="probability"/>
+ <field name="state"/>
+ <field name="type"/>
</tree>
</field>
</record>
@@ -162,6 +164,9 @@
<field name="on_change"/>
<field name="case_default"/>
<field name="sequence"/>
+ <field name="state"/>
+ <field name="fold"/>
+ <field name="type"/>
</group>
<separator string="Requirements" colspan="4"/>
<field name="requirements" nolabel="1" colspan="4"/>
diff --git a/addons/crm/i18n/pt.po b/addons/crm/i18n/pt.po
index 10a2ca3571f..89f79d998b4 100644
--- a/addons/crm/i18n/pt.po
+++ b/addons/crm/i18n/pt.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2011-01-19 00:40+0000\n"
-"Last-Translator: Tiago Baptista <Unknown>\n"
+"PO-Revision-Date: 2012-05-31 15:17+0000\n"
+"Last-Translator: ThinkOpen Solutions <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 04:45+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:32+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
#. module: crm
#: view:crm.lead.report:0
@@ -792,7 +792,7 @@ msgstr "Continuar"
#. module: crm
#: field:crm.segmentation,som_interval:0
msgid "Days per Period"
-msgstr ""
+msgstr "Dias por Periodo"
#. module: crm
#: field:crm.meeting,byday:0
@@ -959,7 +959,7 @@ msgstr "Dias para abrir"
#. module: crm
#: view:crm.meeting:0
msgid "Show Time as"
-msgstr ""
+msgstr "Mostrar horas como"
#. module: crm
#: view:crm.phonecall2partner:0
diff --git a/addons/crm/test/process/cancel_lead.yml b/addons/crm/test/process/cancel_lead.yml
index ca5f7d0174a..34dd8310022 100644
--- a/addons/crm/test/process/cancel_lead.yml
+++ b/addons/crm/test/process/cancel_lead.yml
@@ -6,8 +6,11 @@
-
I check cancelled lead.
-
- !assert {model: crm.lead, id: crm.crm_case_itisatelesalescampaign0, string: Lead is in cancel state}:
- - state == "cancel"
+ !python {model: crm.lead}: |
+ lead = self.browse(cr, uid, ref('crm_case_itisatelesalescampaign0'))
+ assert lead.stage_id.id == ref('crm.stage_lead7'), "Stage should be 'Dead' and is %s." % (lead.stage_id.name)
+ assert lead.state == 'cancel', "Opportunity is not in 'cancel' state."
+ assert lead.probability == 0.0, 'Opportunity probability is wrong and should be 0.0.'
-
I reset cancelled lead into unqualified lead.
-
@@ -19,35 +22,24 @@
!assert {model: crm.lead, id: crm.crm_case_itisatelesalescampaign0, string: Lead is in draft state}:
- state == "draft"
-
- I put unqualified lead into pending.
+ I re-open the lead
-
!python {model: crm.lead}: |
- self.case_pending(cr, uid, [ref("crm_case_itisatelesalescampaign0")])
+ self.case_open(cr, uid, [ref("crm_case_itisatelesalescampaign0")])
-
- I check status of pending lead.
+ I check stage and state of the re-opened lead
-
- !assert {model: crm.lead, id: crm.crm_case_itisatelesalescampaign0, string: Lead is in pending state}:
- - state == "pending"
+ !python {model: crm.lead}: |
+ lead = self.browse(cr, uid, ref('crm.crm_case_itisatelesalescampaign0'))
+ assert lead.stage_id.id == ref('crm.stage_lead2'), "Opportunity stage should be 'Qualification'."
+ assert lead.state == 'open', "Opportunity should be in 'open' state."
-
I escalate the lead to parent team.
-
!python {model: crm.lead}: |
self.case_escalate(cr, uid, [ref("crm_case_itisatelesalescampaign0")])
-
- I check lead escalate to parent team.
+ I check the lead is correctly escalated to the parent team.
-
!assert {model: crm.lead, id: crm.crm_case_itisatelesalescampaign0, string: Escalate lead to parent team}:
- section_id.name == "Sales Department"
--
- I mark as lost the opportunity.
--
- !python {model: crm.lead}: |
- self.case_mark_lost(cr, uid, [ref("crm_case_itisatelesalescampaign0")])
--
- I check opportunity after lost.
--
- !python {model: crm.lead}: |
- lead = self.browse(cr, uid, ref('crm_case_itisatelesalescampaign0'))
- assert lead.state == 'done', "lead is not done state"
- assert lead.stage_id.id == ref('crm.stage_lead6'), 'Stage is not changed!'
- assert lead.probability == 0.0, 'Probability is wrong!'
diff --git a/addons/crm/test/process/lead2opportunity2win.yml b/addons/crm/test/process/lead2opportunity2win.yml
index a5b6c421dbb..c1caf394c2e 100644
--- a/addons/crm/test/process/lead2opportunity2win.yml
+++ b/addons/crm/test/process/lead2opportunity2win.yml
@@ -51,7 +51,6 @@
-
!python {model: crm.lead}: |
self.action_makeMeeting(cr, uid, [ref('crm_case_qrecorp0')])
-
-
After communicated with customer, I put some notes with contract details.
-
@@ -60,18 +59,18 @@
note_id = self.create(cr, uid, {'body': "ces détails envoyés par le client sur ​​le FAX pour la qualité"})
self.action_add(cr, uid, [note_id], context=context)
-
- Finally, I won this opportunity, so I close this opportunity.
+ I win this opportunity
-
!python {model: crm.lead}: |
self.case_mark_won(cr, uid, [ref("crm_case_qrecorp0")])
-
- I check details of the opportunity after won the opportunity.
+ I check details of the opportunity after having won the opportunity.
-
!python {model: crm.lead}: |
lead = self.browse(cr, uid, ref('crm_case_qrecorp0'))
- assert lead.state == 'done', 'Opportunity is not in done state!'
- assert lead.stage_id.name == 'Won', ' Stage of Opportunity is not win!'
- assert lead.probability == 100.0, 'probability revenue should not be 100.0!'
+ assert lead.stage_id.id == ref('crm.stage_lead6'), "Opportunity stage should be 'Won'."
+ assert lead.state == 'done', "Opportunity is not in 'done' state!"
+ assert lead.probability == 100.0, "Revenue probability should be 100.0!"
-
I convert mass lead into opportunity customer.
-
@@ -97,6 +96,19 @@
assert opp.type == 'opportunity', 'Lead is not converted to opportunity!'
assert opp.stage_id.id == ref("stage_lead1"), 'Stage of probability is incorrect!'
-
+ I loose the second opportunity
+-
+ !python {model: crm.lead}: |
+ self.case_mark_lost(cr, uid, [ref("crm_case_electonicgoodsdealer0")])
+-
+ I check details of the opportunity after the loose
+-
+ !python {model: crm.lead}: |
+ lead = self.browse(cr, uid, ref('crm_case_electonicgoodsdealer0'))
+ assert lead.stage_id.id == ref('crm.stage_lead8'), "Opportunity stage should be 'Lost'."
+ assert lead.state == 'cancel', "Lost opportunity is not in 'cancel' state!"
+ assert lead.probability == 0.0, "Revenue probability should be 0.0!"
+-
I confirm review needs meeting.
-
!python {model: crm.meeting}: |
diff --git a/addons/crm_claim/crm_claim.py b/addons/crm_claim/crm_claim.py
index cbccc18cd96..7f634f4642c 100644
--- a/addons/crm_claim/crm_claim.py
+++ b/addons/crm_claim/crm_claim.py
@@ -2,7 +2,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+# Copyright (C) 2004-today OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -19,25 +19,57 @@
#
##############################################################################
-from osv import fields, osv
+from base_status.base_stage import base_stage
+import binascii
from crm import crm
-import time
from crm import wizard
-import binascii
+from osv import fields, osv
+import time
import tools
from tools.translate import _
wizard.mail_compose_message.SUPPORTED_MODELS.append('crm.claim')
+
CRM_CLAIM_PENDING_STATES = (
crm.AVAILABLE_STATES[2][0], # Cancelled
crm.AVAILABLE_STATES[3][0], # Done
crm.AVAILABLE_STATES[4][0], # Pending
)
-
-class crm_claim(crm.crm_case, osv.osv):
+class crm_claim_stage(osv.osv):
+ """ Model for claim stages. This models the main stages of a claim
+ management flow. Main CRM objects (leads, opportunities, project
+ issues, ...) will now use only stages, instead of state and stages.
+ Stages are for example used to display the kanban view of records.
"""
- Crm claim
+ _name = "crm.claim.stage"
+ _description = "Claim stages"
+ _rec_name = 'name'
+ _order = "sequence"
+
+ _columns = {
+ 'name': fields.char('Stage Name', size=64, required=True, translate=True),
+ 'sequence': fields.integer('Sequence', help="Used to order stages. Lower is better."),
+ 'section_ids':fields.many2many('crm.case.section', 'section_claim_stage_rel', 'stage_id', 'section_id', string='Sections',
+ help="Link between stages and sales teams. When set, this limitate the current stage to the selected sales teams."),
+ 'state': fields.selection(crm.AVAILABLE_STATES, 'State', required=True, help="The related state for the stage. The state of your document will automatically change regarding the selected stage. For example, if a stage is related to the state 'Close', when your document reaches this stage, it will be automatically have the 'closed' state."),
+ 'case_refused': fields.boolean('Refused stage',
+ help='Refused stages are specific stages for done.'),
+ 'case_default': fields.boolean('Common to All Teams',
+ help="If you check this field, this stage will be proposed by default on each sales team. It will not assign this stage to existing teams."),
+ 'fold': fields.boolean('Hide in Views when Empty',
+ help="This stage is not visible, for example in status bar or kanban view, when there are no records in that stage to display."),
+ }
+
+ _defaults = {
+ 'sequence': lambda *args: 1,
+ 'state': 'draft',
+ 'fold': False,
+ 'case_refused': False,
+ }
+
+class crm_claim(base_stage, osv.osv):
+ """ Crm claim
"""
_name = "crm.claim"
_description = "Claim"
@@ -73,46 +105,71 @@ class crm_claim(crm.crm_case, osv.osv):
'email_cc': fields.text('Watchers Emails', size=252, help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"),
'email_from': fields.char('Email', size=128, help="These people will receive email."),
'partner_phone': fields.char('Phone', size=32),
- 'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_ids','=',section_id)]"),
+ 'stage_id': fields.many2one ('crm.claim.stage', 'Stage',
+ domain="['|', ('section_ids', '=', section_id), ('case_default', '=', True)]"),
'cause': fields.text('Root Cause'),
- 'state': fields.selection(crm.AVAILABLE_STATES, 'Status', size=16, readonly=True,
- help='The state is set to \'Draft\', when a case is created.\
- \nIf the case is in progress the state is set to \'Open\'.\
- \nWhen the case is over, the state is set to \'Done\'.\
- \nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
+ 'state': fields.related('stage_id', 'state', type="selection", store=True,
+ selection=crm.AVAILABLE_STATES, string="State", readonly=True,
+ help='The state is set to \'Draft\', when a case is created.\
+ If the case is in progress the state is set to \'Open\'.\
+ When the case is over, the state is set to \'Done\'.\
+ If the case needs to be reviewed then the state is \
+ set to \'Pending\'.'),
}
_defaults = {
- 'user_id': crm.crm_case._get_default_user,
- 'partner_id': crm.crm_case._get_default_partner,
- 'email_from':crm.crm_case. _get_default_email,
- 'state': lambda *a: 'draft',
- 'section_id':crm.crm_case. _get_section,
- 'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
+ 'user_id': lambda s, cr, uid, c: s._get_default_user(cr, uid, c),
+ 'partner_id': lambda s, cr, uid, c: s._get_default_partner(cr, uid, c),
+ 'email_from': lambda s, cr, uid, c: s._get_default_email(cr, uid, c),
+ 'section_id': lambda s, cr, uid, c: s._get_default_section_id(cr, uid, c),
+ 'date': fields.datetime.now,
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.case', context=c),
'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0],
'active': lambda *a: 1
}
- def case_get_note_msg_prefix(self, cr, uid, id, context=None):
- return 'Claim'
+ def stage_find(self, cr, uid, cases, section_id, domain=[], order='sequence', context=None):
+ """ Override of the base.stage method
+ Parameter of the stage search taken from the lead:
+ - section_id: if set, stages must belong to this section or
+ be a default case
+ """
+ if isinstance(cases, (int, long)):
+ cases = self.browse(cr, uid, cases, context=context)
+ # collect all section_ids
+ section_ids = []
+ if section_id:
+ section_ids.append(section_id)
+ for claim in cases:
+ if claim.section_id:
+ section_ids.append(claim.section_id.id)
+ # OR all section_ids and OR with case_default
+ search_domain = []
+ if section_ids:
+ search_domain += [('|')] * len(section_ids)
+ for section_id in section_ids:
+ search_domain.append(('section_ids', '=', section_id))
+ search_domain.append(('case_default', '=', True))
+ # AND with the domain in parameter
+ search_domain += list(domain)
+ # perform search, return the first found
+ stage_ids = self.pool.get('crm.claim.stage').search(cr, uid, search_domain, order=order, context=context)
+ if stage_ids:
+ return stage_ids[0]
+ return False
def create(self, cr, uid, vals, context=None):
obj_id = super(crm_claim, self).create(cr, uid, vals, context)
self.create_send_note(cr, uid, [obj_id], context=context)
return obj_id
- def write(self, cr, uid, ids, vals, context=None):
- if vals.get('stage_id'):
- stage = self.pool.get('crm.case.stage').browse(cr, uid, vals['stage_id'], context=context)
- message = _("Stage changed to <b>%s</b>.") % (stage.name)
- self.message_append_note(cr, uid, ids, body=message, context=context)
- return super(crm_claim,self).write(cr, uid, ids, vals, context)
-
- def create_send_note(self, cr, uid, ids, context=None):
- msg = '%s has been <b>created</b>.' % (self.case_get_note_msg_prefix(cr, uid, ids, context=context))
- self.message_append_note(cr, uid, ids, body=msg, context=context)
- return True
+ def case_refuse(self, cr, uid, ids, context=None):
+ """ Mark the case as refused: state=done and case_refused=True """
+ for lead in self.browse(cr, uid, ids):
+ stage_id = self.stage_find(cr, uid, [lead], lead.section_id.id or False, ['&', ('state', '=', 'done'), ('case_refused', '=', True)], context=context)
+ if stage_id:
+ self.case_set(cr, uid, [lead.id], values_to_update={}, new_stage_id=stage_id, context=context)
+ return self.case_refuse_send_note(cr, uid, ids, context=context)
def onchange_partner_id(self, cr, uid, ids, part, email=False):
"""This function returns value of partner address based on partner
@@ -126,17 +183,6 @@ class crm_claim(crm.crm_case, osv.osv):
}
address = self.pool.get('res.partner').browse(cr, uid, part)
return {'value': {'email_from': address.email, 'partner_phone': address.phone}}
-
- def case_open(self, cr, uid, ids, *args):
- """Opens Claim"""
- for l in self.browse(cr, uid, ids):
- # When coming from draft override date and stage otherwise just set state
- if l.state == 'draft':
- stage_id = self.stage_find(cr, uid, l.section_id.id or False, [('sequence','>',0)])
- if stage_id:
- self.stage_set(cr, uid, [l.id], stage_id)
- res = super(crm_claim, self).case_open(cr, uid, ids, *args)
- return res
def message_new(self, cr, uid, msg, custom_values=None, context=None):
"""Automatically called when new email message arrives"""
@@ -191,6 +237,31 @@ class crm_claim(crm.crm_case, osv.osv):
res = self.write(cr, uid, [case.id], values, context=context)
return res
+ # ---------------------------------------------------
+ # OpenChatter methods and notifications
+ # ---------------------------------------------------
+
+ def case_get_note_msg_prefix(self, cr, uid, id, context=None):
+ """ Override of default prefix for notifications. """
+ return 'Claim'
+
+ def create_send_note(self, cr, uid, ids, context=None):
+ msg = '%s has been <b>created</b>.' % (self.case_get_note_msg_prefix(cr, uid, ids, context=context))
+ self.message_append_note(cr, uid, ids, body=msg, context=context)
+ return True
+
+ def case_refuse_send_note(self, cr, uid, ids, context=None):
+ for id in ids:
+ msg = _('%s has been <b>refused</b>.') % (self.case_get_note_msg_prefix(cr, uid, id, context=context))
+ self.message_append_note(cr, uid, [id], body=msg, context=context)
+ return True
+
+ def stage_set_send_note(self, cr, uid, ids, stage_id, context=None):
+ """ Override of the (void) default notification method. """
+ stage_name = self.pool.get('crm.claim.stage').name_get(cr, uid, [stage_id], context=context)[0][1]
+ return self.message_append_note(cr, uid, ids, body= _("Stage changed to <b>%s</b>.") % (stage_name), context=context)
+
+
class res_partner(osv.osv):
_inherit = 'res.partner'
_columns = {
diff --git a/addons/crm_claim/crm_claim_data.xml b/addons/crm_claim/crm_claim_data.xml
index 5b3a2b0ed2a..33bd280c364 100644
--- a/addons/crm_claim/crm_claim_data.xml
+++ b/addons/crm_claim/crm_claim_data.xml
@@ -42,27 +42,39 @@
Case Stage
-->
- <record model="crm.case.stage" id="stage_claim1">
- <field name="name">Accepted as Claim</field>
+ <record model="crm.claim.stage" id="stage_claim1">
+ <field name="name">Draft claim</field>
+ <field name="state">draft</field>
<field name="sequence">26</field>
+ <field name="case_default" eval="True"/>
</record>
- <record model="crm.case.stage" id="stage_claim5">
+ <record model="crm.claim.stage" id="stage_claim5">
<field name="name">Actions Defined</field>
+ <field name="state">open</field>
<field name="sequence">27</field>
+ <field name="case_default" eval="True"/>
</record>
- <record model="crm.case.stage" id="stage_claim2">
+ <record model="crm.claim.stage" id="stage_claim2">
<field name="name">Actions Done</field>
+ <field name="state">done</field>
<field name="sequence">28</field>
+ <field name="case_default" eval="True"/>
</record>
- <record model="crm.case.stage" id="stage_claim3">
- <field name="name">Won't fix</field>
+ <record model="crm.claim.stage" id="stage_claim3">
+ <field name="name">Refused</field>
+ <field name="state">done</field>
<field name="sequence">29</field>
+ <field name="case_default" eval="True"/>
+ <field name="case_refused" eval="True"/>
+ <field name="fold" eval="True"/>
</record>
-
- <record model="crm.case.section" id="crm.section_sales_department">
- <field name="name">Sales Department</field>
- <field name="code">Sales</field>
- <field name="stage_ids" eval="[(4, ref('stage_claim1')), (4, ref('stage_claim2')), (4, ref('stage_claim3')), (4, ref('stage_claim5'))]"/>
+ <record model="crm.claim.stage" id="stage_claim3">
+ <field name="name">Cancelled</field>
+ <field name="state">cancel</field>
+ <field name="sequence">30</field>
+ <field name="case_default" eval="True"/>
+ <field name="fold" eval="True"/>
</record>
+
</data>
</openerp>
diff --git a/addons/crm_claim/crm_claim_demo.xml b/addons/crm_claim/crm_claim_demo.xml
index 592e655b489..0e368bcdffa 100644
--- a/addons/crm_claim/crm_claim_demo.xml
+++ b/addons/crm_claim/crm_claim_demo.xml
@@ -12,7 +12,6 @@
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field eval="&quot;Problem with the delivery of goods&quot;" name="name"/>
- <field eval="&quot;open&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm_claim.categ_claim1"/>
<field name="stage_id" ref="crm_claim.stage_claim1"/>
@@ -25,7 +24,6 @@
<field eval="&quot;4&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field eval="&quot;Damaged Products&quot;" name="name"/>
- <field eval="&quot;open&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm_claim.categ_claim2"/>
<field name="stage_id" ref="crm_claim.stage_claim5"/>
@@ -38,7 +36,6 @@
<field eval="&quot;2&quot;" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
<field eval="&quot;Document related problems&quot;" name="name"/>
- <field eval="&quot;done&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm_claim.categ_claim3"/>
<field name="stage_id" ref="crm_claim.stage_claim2"/>
@@ -52,7 +49,6 @@
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field eval="&quot;Product quality not maintained&quot;" name="name"/>
- <field eval="&quot;draft&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm_claim.categ_claim1"/>
<field name="stage_id" ref="crm_claim.stage_claim5"/>
@@ -65,7 +61,6 @@
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field eval="&quot;Some products missing&quot;" name="name"/>
- <field eval="&quot;pending&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="categ_id" ref="crm_claim.categ_claim3"/>
<field name="stage_id" ref="crm_claim.stage_claim3"/>
@@ -77,7 +72,6 @@
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field eval="&quot;Problem with the delivery of assignments&quot;" name="name"/>
- <field eval="&quot;cancel&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="time.strftime('%Y-%m-28 14:15:30')" name="date"/>
<field name="categ_id" ref="crm_claim.categ_claim1"/>
@@ -91,7 +85,6 @@
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field eval="&quot;Documents unclear&quot;" name="name"/>
- <field eval="&quot;done&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="time.strftime('%Y-%m-19 13:01:05')" name="date"/>
<field name="categ_id" ref="crm_claim.categ_claim3"/>
diff --git a/addons/crm_claim/crm_claim_menu.xml b/addons/crm_claim/crm_claim_menu.xml
index 734302fa7f9..75bfd9ce211 100644
--- a/addons/crm_claim/crm_claim_menu.xml
+++ b/addons/crm_claim/crm_claim_menu.xml
@@ -50,5 +50,10 @@
<menuitem name="Claims" id="menu_crm_case_claims"
parent="base.menu_aftersale" action="crm_case_categ_claim0" sequence="1"/>
+ <!-- Claim Stages -->
+ <menuitem id="menu_definitions" name="Configuration" parent="base.menu_main_pm" sequence="60"/>
+ <menuitem id="menu_project_config_project" name="Stages" parent="menu_definitions" sequence="1"/>
+ <menuitem id="menu_claim_stage_view" name="Claim Stages" action="crm_claim_stage_act" parent="menu_project_config_project" sequence="20"/>
+
</data>
</openerp>
diff --git a/addons/crm_claim/crm_claim_view.xml b/addons/crm_claim/crm_claim_view.xml
index a0f8151812b..4524378b440 100644
--- a/addons/crm_claim/crm_claim_view.xml
+++ b/addons/crm_claim/crm_claim_view.xml
@@ -23,12 +23,40 @@
<!-- Claim Stages -->
+ <record id="crm_claim_stage_tree" model="ir.ui.view">
+ <field name="name">crm.claim.stage.tree</field>
+ <field name="model">crm.claim.stage</field>
+ <field name="type">tree</field>
+ <field name="arch" type="xml">
+ <tree string="Claim Stages">
+ <field name="sequence"/>
+ <field name="name"/>
+ <field name="state"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="crm_claim_stage_form" model="ir.ui.view">
+ <field name="name">crm.claim.stage.form</field>
+ <field name="model">crm.claim.stage</field>
+ <field name="type">form</field>
+ <field name="arch" type="xml">
+ <form string="Claim Stage">
+ <field name="name"/>
+ <field name="case_default"/>
+ <field name="sequence"/>
+ <field name="state"/>
+ <field name="case_refused"/>
+ <field name="fold"/>
+ </form>
+ </field>
+ </record>
+
<record id="crm_claim_stage_act" model="ir.actions.act_window">
<field name="name">Claim Stages</field>
- <field name="res_model">crm.case.stage</field>
+ <field name="res_model">crm.claim.stage</field>
<field name="view_type">form</field>
- <field name="view_id" ref="crm.crm_case_stage_tree"/>
- <field name="context">{'search_default_claim':1}</field>
+ <field name="view_id" ref="crm_claim_stage_tree"/>
<field name="help">You can create claim stages to categorize the status of every claim entered in the system. The stages define all the steps required for the resolution of a claim.</field>
</record>
@@ -44,19 +72,19 @@
<field name="partner_id"/>
<field name="user_id" />
<field name="date"/>
+ <field name="stage_id"/>
<field name="date_action_next"/>
<field name="action_next"/>
<field name="categ_id" string="Type" select="1"/>
- <field name="stage_id" invisible="1"/>
<field name="date_deadline" invisible="1"/>
<field name="date_closed" invisible="1"/>
- <field name="state"/>
- <button name="case_open" string="Open"
- states="draft,pending" type="object"
- icon="gtk-go-forward" />
- <button name="case_close" string="Close"
- states="open,draft,pending" type="object"
- icon="gtk-close" />
+ <field name="state" groups="base.group_no_one"/>
+ <button name="case_open" string="Open" type="object"
+ states="draft,pending" icon="gtk-go-forward"/>
+ <button name="case_close" string="Done" type="object"
+ states="draft,open,pending" icon="gtk-close"/>
+ <button name="case_refuse" string="Refuse" type="object"
+ states="draft,open,pending" icon="gtk-cancel"/>
</tree>
</field>
</record>
@@ -68,13 +96,23 @@
<field name="arch" type="xml">
<form layout="manual">
<div class="oe_form_topbar">
- <button name="case_close" string="Done" states="open,pending" type="object" />
- <button name="case_open" string="Open" states="draft,pending" type="object" />
- <button name="case_pending" string="Pending" states="draft,open" type="object" />
- <button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" />
- <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" />
+ <button name="case_open" string="Open" type="object"
+ states="draft,pending"/>
+ <button name="case_close" string="Done" type="object"
+ states="open,pending"/>
+ <button name="case_refuse" string="Refuse" type="object"
+ states="draft,open,pending"/>
+ <button name="stage_previous" string="Previous Stage" type="object"
+ states="open,pending" icon="gtk-go-back" attrs="{'invisible': [('stage_id','=', False)]}"/>
+ <button name="stage_next" string="Next Stage" type="object"
+ states="open,pending" icon="gtk-go-forward" attrs="{'invisible': [('stage_id','=', False)]}"/>
+ <button name="case_reset" string="Reset to Draft" type="object"
+ states="cancel,done"/>
+ <button name="case_cancel" string="Cancel" type="object"
+ states="draft,open,pending"/>
<div class="oe_right">
- <field name="state" select="1" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
+ <field name="stage_id" nolabel="1" widget="statusbar"
+ on_change="onchange_stage_id(stage_id)"/>
</div>
<div class="oe_clear"/>
</div>
@@ -86,11 +124,7 @@
<group colspan="4" col="6">
<field name="user_id"/>
<field name="section_id" widget="selection" />
- <group colspan="2" col="4">
- <field name="stage_id" domain="[('section_ids','=',section_id)]"/>
- <button name="stage_previous" string="" type="object" icon="gtk-go-back" />
- <button name="stage_next" string="" type="object" icon="gtk-go-forward" />
- </group>
+ <field name="state" groups="base.group_no_one"/>
<newline />
<field name="priority"/>
<field name="date_deadline"/>
@@ -207,7 +241,7 @@
domain="[]" context="{'group_by':'categ_id'}" />
<filter string="Status"
icon="terp-stock_effects-object-colorize"
- domain="[]" context="{'group_by':'state'}" />
+ domain="[]" context="{'group_by':'state'}" groups="base.group_no_one"/>
<separator orientation="vertical"/>
<filter string="Claim Date" icon="terp-go-month"
domain="[]" help="Claim Date"
diff --git a/addons/crm_claim/security/ir.model.access.csv b/addons/crm_claim/security/ir.model.access.csv
index 5a05fbd4d87..303624288ce 100644
--- a/addons/crm_claim/security/ir.model.access.csv
+++ b/addons/crm_claim/security/ir.model.access.csv
@@ -1,5 +1,6 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_crm_claim_manager,crm.claim.manager,model_crm_claim,base.group_sale_manager,1,1,1,1
access_crm_claim_user,crm.claim.user,model_crm_claim,base.group_sale_salesman,1,1,1,0
+access_crm_claim_stage_user,crm.claim.stage.user,model_crm_claim_stage,base.group_sale_salesman,1,1,1,1
access_crm_claim_report_manager,crm.claim.report.manager,model_crm_claim_report,base.group_sale_manager,1,1,1,1
access_crm_claim_partner_manager,crm.claim.partner.manager,model_crm_claim,base.group_partner_manager,1,0,0,0
diff --git a/addons/crm_claim/test/process/claim.yml b/addons/crm_claim/test/process/claim.yml
index e20436cd3c6..45ca7cf2962 100644
--- a/addons/crm_claim/test/process/claim.yml
+++ b/addons/crm_claim/test/process/claim.yml
@@ -30,7 +30,7 @@
claim_ids = self.search(cr, uid, [('email_from','=', 'Mr. John Right <info@customer.com>')])
claim = self.browse(cr, uid, claim_ids[0])
assert claim.state == "open", "Claim is not in Open state"
- assert claim.stage_id.id == ref("crm.stage_lead1"), "Claim is not in New stage"
+ assert claim.stage_id.id == ref("crm.stage_lead2"), "Claim is not in Qualification stage"
-
After complete all service from our side, I close this claim.
-
diff --git a/addons/crm_fundraising/crm_fundraising.py b/addons/crm_fundraising/crm_fundraising.py
index cdeaaecf897..d391c329050 100644
--- a/addons/crm_fundraising/crm_fundraising.py
+++ b/addons/crm_fundraising/crm_fundraising.py
@@ -19,13 +19,14 @@
#
##############################################################################
-from osv import fields, osv
+from base_status.base_stage import base_stage
from crm import crm
from crm import wizard
+from osv import fields, osv
wizard.mail_compose_message.SUPPORTED_MODELS.append('crm.fundraising')
-class crm_fundraising(crm.crm_case, osv.osv):
+class crm_fundraising(base_stage, osv.osv):
""" Fund Raising Cases """
_name = "crm.fundraising"
@@ -73,8 +74,62 @@ class crm_fundraising(crm.crm_case, osv.osv):
\nIf the case is in progress the state is set to \'Open\'.\
\nWhen the case is over, the state is set to \'Done\'.\
\nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
+ 'state': fields.related('stage_id', 'state', type="selection", store=True,
+ selection=crm.AVAILABLE_STATES, string="State", readonly=True,
+ help='The state is set to \'Draft\', when a case is created.\
+ If the case is in progress the state is set to \'Open\'.\
+ When the case is over, the state is set to \'Done\'.\
+ If the case needs to be reviewed then the state is \
+ set to \'Pending\'.'),
}
+ _defaults = {
+ 'active': 1,
+ 'user_id': lambda s, cr, uid, c: s._get_default_user(cr, uid, c),
+ 'partner_id': lambda s, cr, uid, c: s._get_default_partner(cr, uid, c),
+ 'email_from': lambda s, cr, uid, c: s._get_default_email(cr, uid, c),
+ 'section_id': lambda s, cr, uid, c: s._get_default_section_id(cr, uid, c),
+ 'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.case', context=c),
+ 'priority': crm.AVAILABLE_PRIORITIES[2][0],
+ 'probability': 0.0,
+ 'planned_cost': 0.0,
+ 'planned_revenue': 0.0,
+ }
+
+ def stage_find(self, cr, uid, cases, section_id, domain=[], order='sequence', context=None):
+ """ Override of the base.stage method
+ Parameter of the stage search taken from the lead:
+ - section_id: if set, stages must belong to this section or
+ be a default case
+ """
+ if isinstance(cases, (int, long)):
+ cases = self.browse(cr, uid, cases, context=context)
+ # collect all section_ids
+ section_ids = []
+ if section_id:
+ section_ids.append(section_id)
+ for case in cases:
+ if case.section_id:
+ section_ids.append(case.section_id.id)
+ # OR all section_ids and OR with case_default
+ search_domain = []
+ if section_ids:
+ search_domain += [('|')] * len(section_ids)
+ for section_id in section_ids:
+ search_domain.append(('section_ids', '=', section_id))
+ search_domain.append(('case_default', '=', True))
+ # AND with the domain in parameter
+ search_domain += list(domain)
+ # perform search, return the first found
+ stage_ids = self.pool.get('crm.case.stage').search(cr, uid, search_domain, order=order, context=context)
+ if stage_ids:
+ return stage_ids[0]
+ return False
+
+ def create(self, cr, uid, vals, context=None):
+ obj_id = super(crm_fundraising, self).create(cr, uid, vals, context)
+ self.create_send_note(cr, uid, [obj_id], context=context)
+ return obj_id
def message_new(self, cr, uid, msg, custom_values=None, context=None):
"""Automatically called when new email message arrives"""
@@ -92,33 +147,23 @@ class crm_fundraising(crm.crm_case, osv.osv):
self.write(cr, uid, [res_id], vals, context=context)
return res_id
-
- _defaults = {
- 'active': 1,
- 'user_id': crm.crm_case._get_default_user,
- 'partner_id': crm.crm_case._get_default_partner,
- 'email_from': crm.crm_case. _get_default_email,
- 'state': 'draft',
- 'section_id': crm.crm_case. _get_section,
- 'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.case', context=c),
- 'priority': crm.AVAILABLE_PRIORITIES[2][0],
- 'probability': 0.0,
- 'planned_cost': 0.0,
- 'planned_revenue': 0.0,
- }
-
- def case_get_note_msg_prefix(self, cr, uid, id, context=None):
- return 'Fund'
-
- def create(self, cr, uid, vals, context=None):
- obj_id = super(crm_fundraising, self).create(cr, uid, vals, context)
- self.create_send_note(cr, uid, [obj_id], context=context)
- return obj_id
+ # ---------------------------------------------------
+ # OpenChatter methods and notifications
+ # ---------------------------------------------------
def create_send_note(self, cr, uid, ids, context=None):
msg = '%s has been <b>created</b>.' % (self.case_get_note_msg_prefix(cr, uid, ids, context=context))
self.message_append_note(cr, uid, ids, body=msg, context=context)
return True
+ def case_get_note_msg_prefix(self, cr, uid, id, context=None):
+ """ Override of default prefix for notifications. """
+ return 'Fundraising'
+
+ def stage_set_send_note(self, cr, uid, ids, stage_id, context=None):
+ """ Override of the (void) default notification method. """
+ stage_name = self.pool.get('crm.case.stage').name_get(cr, uid, [stage_id], context=context)[0][1]
+ return self.message_append_note(cr, uid, ids, body= _("Stage changed to <b>%s</b>.") % (stage_name), context=context)
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/crm_fundraising/crm_fundraising_demo.xml b/addons/crm_fundraising/crm_fundraising_demo.xml
index 52b4094d126..70b32afabf3 100644
--- a/addons/crm_fundraising/crm_fundraising_demo.xml
+++ b/addons/crm_fundraising/crm_fundraising_demo.xml
@@ -9,7 +9,6 @@
<field name="partner_id" ref="base.res_partner_9"/>
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
- <field eval="&quot;open&quot;" name="state"/>
<field eval="250000.0" name="planned_cost"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="time.strftime('%Y-%m-01 10:35:50')" name="date"/>
@@ -26,7 +25,6 @@
<field name="partner_id" ref="base.main_partner"/>
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
- <field eval="&quot;draft&quot;" name="state"/>
<field eval="2000000.0" name="planned_cost"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="time.strftime('%Y-%m-05 12:35:50')" name="date"/>
@@ -43,7 +41,6 @@
<field name="partner_id" ref="base.res_partner_3"/>
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
- <field eval="&quot;open&quot;" name="state"/>
<field eval="500000.0" name="planned_cost"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="time.strftime('%Y-%m-07 13:50:50')" name="date"/>
@@ -59,7 +56,6 @@
<field name="partner_id" ref="base.res_partner_4"/>
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
- <field eval="&quot;draft&quot;" name="state"/>
<field eval="1000000.0" name="planned_cost"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="time.strftime('%Y-%m-12 15:10:50')" name="date"/>
@@ -75,7 +71,6 @@
<field name="partner_id" ref="base.res_partner_14"/>
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
- <field eval="&quot;open&quot;" name="state"/>
<field eval="5000000.0" name="planned_cost"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="time.strftime('%Y-%m-17 19:00:15')" name="date"/>
@@ -91,7 +86,6 @@
<field name="partner_id" ref="base.res_partner_10"/>
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
- <field eval="&quot;done&quot;" name="state"/>
<field eval="10000000.0" name="planned_cost"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="time.strftime('%Y-%m-27 09:00:15')" name="date"/>
@@ -109,7 +103,6 @@
<field name="partner_id" ref="base.res_partner_15"/>
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
- <field eval="&quot;draft&quot;" name="state"/>
<field eval="10000.0" name="planned_cost"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="time.strftime('%Y-%m-01 10:00:15')" name="date"/>
@@ -126,7 +119,6 @@
<field name="partner_id" ref="base.res_partner_9"/>
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
- <field eval="&quot;open&quot;" name="state"/>
<field eval="800000.0" name="planned_cost"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="time.strftime('%Y-%m-24 22:00:15')" name="date"/>
diff --git a/addons/crm_helpdesk/crm_helpdesk.py b/addons/crm_helpdesk/crm_helpdesk.py
index cf5e67c3d3a..25a8cee6e93 100644
--- a/addons/crm_helpdesk/crm_helpdesk.py
+++ b/addons/crm_helpdesk/crm_helpdesk.py
@@ -19,10 +19,10 @@
#
##############################################################################
+from base_status.base_state import base_state
from crm import crm
-from osv import fields, osv
-import time
from crm import wizard
+from osv import fields, osv
import tools
from tools.translate import _
@@ -34,7 +34,7 @@ CRM_HELPDESK_STATES = (
wizard.mail_compose_message.SUPPORTED_MODELS.append('crm.helpdesk')
-class crm_helpdesk(crm.crm_case, osv.osv):
+class crm_helpdesk(base_state, osv.osv):
""" Helpdesk Cases """
_name = "crm.helpdesk"
@@ -81,12 +81,11 @@ class crm_helpdesk(crm.crm_case, osv.osv):
_defaults = {
'active': lambda *a: 1,
- 'user_id': crm.crm_case._get_default_user,
- 'partner_id': crm.crm_case._get_default_partner,
- 'email_from': crm.crm_case. _get_default_email,
+ 'user_id': lambda s, cr, uid, c: s._get_default_user(cr, uid, c),
+ 'partner_id': lambda s, cr, uid, c: s._get_default_partner(cr, uid, c),
+ 'email_from': lambda s, cr, uid, c: s._get_default_email(cr, uid, c),
'state': lambda *a: 'draft',
- 'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
- 'section_id': crm.crm_case. _get_section,
+ 'date': lambda *a: fields.datetime.now(),
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.helpdesk', context=c),
'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0],
}
@@ -154,5 +153,12 @@ class crm_helpdesk(crm.crm_case, osv.osv):
res = self.write(cr, uid, [case.id], values, context=context)
return res
+ # ******************************
+ # OpenChatter
+ # ******************************
+
+ def case_get_note_msg_prefix(self, cr, uid, id, context=None):
+ return 'Helpdesk'
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/crm_helpdesk/crm_helpdesk_view.xml b/addons/crm_helpdesk/crm_helpdesk_view.xml
index d52e3c1af70..2bdb81f872a 100644
--- a/addons/crm_helpdesk/crm_helpdesk_view.xml
+++ b/addons/crm_helpdesk/crm_helpdesk_view.xml
@@ -30,12 +30,18 @@
<field name="arch" type="xml">
<form layout="manual">
<div class="oe_form_topbar">
- <button name="case_close" states="open,pending" string="Close" type="object" />
- <button name="case_open" states="draft,pending" string="Open" type="object" />
- <button name="case_pending" states="draft,open" string="Pending" type="object" />
- <button name="case_reset" states="done,cancel" string="Reset to Draft" type="object" />
- <button name="case_escalate" states="open,draft,pending" string="Escalate" type="object" />
- <button name="case_cancel" states="draft,open,pending" string="Cancel" type="object" />
+ <button name="case_open" string="Open" type="object"
+ states="draft,pending"/>
+ <button name="case_close" string="Close" type="object"
+ states="open,draft,pending"/>
+ <button name="case_pending" string="Pending" type="object"
+ states="draft,open"/>
+ <button name="case_reset" string="Reset to Draft" type="object"
+ states="cancel,done"/>
+ <button name="case_escalate" string="Escalate" type="object"
+ states="open,draft,pending"/>
+ <button name="case_cancel" string="Cancel" type="object"
+ states="draft,open,pending"/>
<div class="oe_right">
<field name="state" select="1" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
</div>
@@ -103,7 +109,7 @@
</page>
</notebook>
</sheet>
- <div class="oe_form_sheet_width">
+ <div class="oe_form_bottom">
<field name="message_ids" colspan="4" widget="ThreadView" nolabel="1"/>
</div>
</form>
@@ -127,23 +133,18 @@
<field name="section_id"/>
<field name="priority"/>
<field name="state"/>
- <button name="case_cancel" string="Cancel"
- states="draft,open,pending" type="object"
- icon="gtk-cancel" />
- <button name="case_open" string="Open"
- states="draft,pending" type="object"
- icon="gtk-go-forward" />
- <button name="case_pending" string="Pending"
- states="draft,open" type="object"
- icon="gtk-media-pause" />
- <button name="case_escalate" string="Escalate"
- states="open,draft,pending" type="object"
- icon="gtk-go-up" />
- <button name="case_close" string="Done"
- states="open,draft,pending" type="object"
- icon="gtk-close" />
- <button name="case_reset" string="Reset to Draft"
- states="done,cancel" type="object" icon="gtk-convert" />
+ <button name="case_open" string="Open" type="object"
+ states="draft,pending" icon="gtk-go-forward"/>
+ <button name="case_close" string="Done" type="object"
+ states="open,draft,pending" icon="gtk-close"/>
+ <button name="case_pending" string="Pending" type="object"
+ states="draft,open" icon="gtk-media-pause"/>
+ <button name="case_escalate" string="Escalate" type="object"
+ states="open,draft,pending" icon="gtk-go-up"/>
+ <button name="case_cancel" string="Cancel" type="object"
+ states="draft,open,pending" icon="gtk-cancel"/>
+ <button name="case_reset" string="Reset to Draft" type="object"
+ states="cancel,done" icon="gtk-convert" />
</tree>
</field>
</record>
diff --git a/addons/crm_helpdesk/i18n/gu.po b/addons/crm_helpdesk/i18n/gu.po
new file mode 100644
index 00000000000..e9a7479516a
--- /dev/null
+++ b/addons/crm_helpdesk/i18n/gu.po
@@ -0,0 +1,738 @@
+# Gujarati translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-31 11:11+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Gujarati <gu@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk.report,delay_close:0
+msgid "Delay to Close"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk.report,nbr:0
+msgid "# of Cases"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: view:crm.helpdesk.report:0
+msgid "Group By..."
+msgstr "ગ્રુપ દ્વારા..."
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Today"
+msgstr "આજે"
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "March"
+msgstr "માર્ચ"
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Helpdesk requests occurred in current year"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,company_id:0
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,company_id:0
+msgid "Company"
+msgstr "કંપની"
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,email_cc:0
+msgid "Watchers Emails"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk,priority:0
+#: selection:crm.helpdesk.report,priority:0
+msgid "Highest"
+msgstr "ઉચ્ચતમ"
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,day:0
+msgid "Day"
+msgstr "દિવસ"
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Add Internal Note"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Date of helpdesk requests"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Notes"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,message_ids:0
+msgid "Messages"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "My company"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk,state:0
+#: selection:crm.helpdesk.report,state:0
+msgid "Cancelled"
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.actions.act_window,name:crm_helpdesk.action_report_crm_helpdesk
+#: model:ir.ui.menu,name:crm_helpdesk.menu_report_crm_helpdesks_tree
+msgid "Helpdesk Analysis"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,date_closed:0
+msgid "Close Date"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,ref:0
+msgid "Reference"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,date_action_next:0
+msgid "Next Action"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Helpdesk Supports"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Extra Info"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: field:crm.helpdesk,partner_id:0
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Estimates"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk.report,section_id:0
+msgid "Section"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Helpdesk requests occurred in last month"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Send New Email"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Helpdesk requests during last 7 days"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: selection:crm.helpdesk,state:0
+#: view:crm.helpdesk.report:0
+msgid "New"
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.model,name:crm_helpdesk.model_crm_helpdesk_report
+msgid "Helpdesk report after Sales Services"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,email_from:0
+msgid "Email"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,channel_id:0
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,channel_id:0
+msgid "Channel"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk,priority:0
+#: selection:crm.helpdesk.report,priority:0
+msgid "Lowest"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "# Mails"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: view:crm.helpdesk.report:0
+msgid "My Sales Team(s)"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,create_date:0
+#: field:crm.helpdesk.report,create_date:0
+msgid "Creation Date"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Reset to Draft"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: selection:crm.helpdesk,state:0
+#: selection:crm.helpdesk.report,state:0
+msgid "Pending"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: field:crm.helpdesk,date_deadline:0
+#: field:crm.helpdesk.report,date_deadline:0
+msgid "Deadline"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "July"
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.actions.act_window,name:crm_helpdesk.crm_helpdesk_categ_action
+msgid "Helpdesk Categories"
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.ui.menu,name:crm_helpdesk.menu_crm_case_helpdesk-act
+msgid "Categories"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "New Helpdesk Request"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "History Information"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Dates"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Month of helpdesk requests"
+msgstr ""
+
+#. module: crm_helpdesk
+#: code:addons/crm_helpdesk/crm_helpdesk.py:101
+#, python-format
+msgid "No Subject"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "#Helpdesk"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "All pending Helpdesk Request"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Year of helpdesk requests"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "References"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "September"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Communication"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,month:0
+msgid "Month"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Escalate"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,write_date:0
+msgid "Update Date"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Helpdesk requests occurred in current month"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Salesman"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,ref2:0
+msgid "Reference 2"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,categ_id:0
+#: field:crm.helpdesk.report,categ_id:0
+msgid "Category"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Responsible User"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Helpdesk Support"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,planned_cost:0
+#: field:crm.helpdesk.report,planned_cost:0
+msgid "Planned Costs"
+msgstr ""
+
+#. module: crm_helpdesk
+#: help:crm.helpdesk,channel_id:0
+msgid "Communication channel."
+msgstr ""
+
+#. module: crm_helpdesk
+#: help:crm.helpdesk,email_cc:0
+msgid ""
+"These email addresses will be added to the CC field of all inbound and "
+"outbound emails for this record before being sent. Separate multiple email "
+"addresses with a comma"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Search Helpdesk"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk,priority:0
+#: selection:crm.helpdesk.report,priority:0
+msgid "Low"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,date_closed:0
+#: selection:crm.helpdesk,state:0
+#: view:crm.helpdesk.report:0
+#: selection:crm.helpdesk.report,state:0
+msgid "Closed"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Reply"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "7 Days"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Communication & History"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "August"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk,priority:0
+#: selection:crm.helpdesk.report,priority:0
+msgid "Normal"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Global CC"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "June"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,planned_revenue:0
+msgid "Planned Revenue"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk.report,user_id:0
+msgid "User"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,active:0
+msgid "Active"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "November"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Extended Filters..."
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.actions.act_window,name:crm_helpdesk.crm_case_helpdesk_act111
+msgid "Helpdesk Requests"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Search"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "October"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "January"
+msgstr ""
+
+#. module: crm_helpdesk
+#: help:crm.helpdesk,email_from:0
+msgid "These people will receive email."
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: field:crm.helpdesk,date:0
+msgid "Date"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "History"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: field:crm.helpdesk,priority:0
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,priority:0
+msgid "Priority"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,partner_address_id:0
+msgid "Partner Contact"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Misc"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: field:crm.helpdesk,state:0
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,state:0
+msgid "State"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "General"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Send Reminder"
+msgstr ""
+
+#. module: crm_helpdesk
+#: help:crm.helpdesk,section_id:0
+msgid ""
+"Sales team to which Case belongs to. Define "
+"Responsible user and Email account for mail gateway."
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Done"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "December"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Cancel"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Close"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: view:crm.helpdesk.report:0
+#: selection:crm.helpdesk.report,state:0
+msgid "Open"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Helpdesk Support Tree"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk,state:0
+msgid "In Progress"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Categorization"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+#: model:ir.model,name:crm_helpdesk.model_crm_helpdesk
+#: model:ir.ui.menu,name:crm_helpdesk.menu_config_helpdesk
+msgid "Helpdesk"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: field:crm.helpdesk,user_id:0
+msgid "Responsible"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk.report,delay_expected:0
+msgid "Overpassed Deadline"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,description:0
+msgid "Description"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "May"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,probability:0
+msgid "Probability (%)"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk.report,email:0
+msgid "# Emails"
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.actions.act_window,help:crm_helpdesk.action_report_crm_helpdesk
+msgid ""
+"Have a general overview of all support requests by sorting them with "
+"specific criteria such as the processing time, number of requests answered, "
+"emails sent and costs."
+msgstr ""
+
+#. module: crm_helpdesk
+#: help:crm.helpdesk,state:0
+msgid ""
+"The state is set to 'Draft', when a case is created. "
+" \n"
+"If the case is in progress the state is set to 'Open'. "
+" \n"
+"When the case is over, the state is set to 'Done'. "
+" \n"
+"If the case needs to be reviewed then the state is set to 'Pending'."
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "February"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,name:0
+msgid "Name"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Month-1"
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.ui.menu,name:crm_helpdesk.menu_help_support_main
+msgid "Helpdesk and Support"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "April"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "My Case(s)"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Query"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,id:0
+msgid "ID"
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.actions.act_window,help:crm_helpdesk.crm_helpdesk_categ_action
+msgid ""
+"Create and manage helpdesk categories to better manage and classify your "
+"support requests."
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Todays's Helpdesk Requests"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Request Date"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Open Helpdesk Request"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk,priority:0
+#: selection:crm.helpdesk.report,priority:0
+msgid "High"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: field:crm.helpdesk,section_id:0
+#: view:crm.helpdesk.report:0
+msgid "Sales Team"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,date_action_last:0
+msgid "Last Action"
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.actions.act_window,help:crm_helpdesk.crm_case_helpdesk_act111
+msgid ""
+"Helpdesk and Support allow you to track your interventions. Select a "
+"customer, add notes and categorize interventions with partners if necessary. "
+"You can also assign a priority level. Use the OpenERP Issues system to "
+"manage your support activities. Issues can be connected to the email "
+"gateway: new emails may create issues, each of them automatically gets the "
+"history of the conversation with the customer."
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,name:0
+msgid "Year"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,duration:0
+msgid "Duration"
+msgstr ""
diff --git a/addons/crm_helpdesk/i18n/ja.po b/addons/crm_helpdesk/i18n/ja.po
index 836b26ca92c..3228f329919 100644
--- a/addons/crm_helpdesk/i18n/ja.po
+++ b/addons/crm_helpdesk/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2012-04-23 20:45+0000\n"
+"PO-Revision-Date: 2012-05-28 19:12+0000\n"
"Last-Translator: Masaki Yamaya <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-04-24 04:53+0000\n"
-"X-Generator: Launchpad (build 15135)\n"
+"X-Launchpad-Export-Date: 2012-05-29 04:46+0000\n"
+"X-Generator: Launchpad (build 15316)\n"
#. module: crm_helpdesk
#: field:crm.helpdesk.report,delay_close:0
@@ -725,6 +725,9 @@ msgid ""
"gateway: new emails may create issues, each of them automatically gets the "
"history of the conversation with the customer."
msgstr ""
+"ヘルプデスクとサポート機能を使って、あなたの介在を記録することができます。カスタマごとに注釈を加えたり、必要であればパートナとのやり取りを記録することがで"
+"きます。また,優先レベルを割り当てることもできます。OpenERPの問題システムを使ってサポート活動を管理することができます。問題をEメールゲートウェイと"
+"連動させて、新しいEメールが問題を作成して、カスタマとの対話の履歴を自動的に生成することができます。"
#. module: crm_helpdesk
#: view:crm.helpdesk.report:0
diff --git a/addons/crm_partner_assign/i18n/ja.po b/addons/crm_partner_assign/i18n/ja.po
index c2ab27be520..e400396e074 100644
--- a/addons/crm_partner_assign/i18n/ja.po
+++ b/addons/crm_partner_assign/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2012-04-22 04:23+0000\n"
-"Last-Translator: Masaki Yamaya <Unknown>\n"
+"PO-Revision-Date: 2012-05-25 04:47+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-04-23 04:46+0000\n"
-"X-Generator: Launchpad (build 15135)\n"
+"X-Launchpad-Export-Date: 2012-05-26 05:07+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,send_to:0
@@ -30,7 +30,7 @@ msgstr "メッセージタイプ"
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,auto_delete:0
msgid "Permanently delete emails after sending"
-msgstr "送信後、Eメールを削除する"
+msgstr "送信後、Eメールを削除"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,delay_close:0
@@ -847,7 +847,7 @@ msgstr "CRMパートナ報告書"
#. module: crm_partner_assign
#: model:ir.model,name:crm_partner_assign.model_crm_lead_forward_to_partner
msgid "E-mail composition wizard"
-msgstr "Eメール作成ツール"
+msgstr "Eメール作成ウィザード"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,priority:0
diff --git a/addons/delivery/__init__.py b/addons/delivery/__init__.py
index cfe7327dded..d277419434a 100644
--- a/addons/delivery/__init__.py
+++ b/addons/delivery/__init__.py
@@ -21,7 +21,6 @@
import delivery
import partner
-import wizard
import report
import sale
import stock
diff --git a/addons/delivery/__openerp__.py b/addons/delivery/__openerp__.py
index 52d4eacda5e..cd8d2520db6 100644
--- a/addons/delivery/__openerp__.py
+++ b/addons/delivery/__openerp__.py
@@ -37,7 +37,6 @@ When creating invoices from picking, OpenERP is able to add and compute the ship
'init_xml': ['delivery_data.xml'],
'update_xml': [
'security/ir.model.access.csv',
- 'wizard/delivery_sale_order_view.xml',
'delivery_report.xml',
'delivery_view.xml',
'partner_view.xml'
diff --git a/addons/delivery/delivery_view.xml b/addons/delivery/delivery_view.xml
index 11defc97dd9..10f12a63f4e 100644
--- a/addons/delivery/delivery_view.xml
+++ b/addons/delivery/delivery_view.xml
@@ -161,19 +161,6 @@
</field>
</record>
- <record id="view_order_withcarrier_form" model="ir.ui.view">
- <field name="name">delivery.sale.order_withcarrier.form.view</field>
- <field name="type">form</field>
- <field name="model">sale.order</field>
- <field name="inherit_id" ref="sale.view_order_form"/>
- <field name="arch" type="xml">
- <group name="logistics" position="inside">
- <field name="id" invisible="True"/>
- <field name="carrier_id" context="{'order_id':active_id or False}"/>
- </group>
- </field>
- </record>
-
<record id="view_picking_withcarrier_out_form" model="ir.ui.view">
<field name="name">delivery.stock.picking_withcarrier.out.form.view</field>
<field name="type">form</field>
@@ -258,14 +245,18 @@
</field>
</record>
- <record model="ir.ui.view" id="edit_project_multicompany">
- <field name="name">sale.order.multicompany</field>
+ <record id="view_order_withcarrier_form" model="ir.ui.view">
+ <field name="name">delivery.sale.order_withcarrier.form.view</field>
+ <field name="type">form</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
- <xpath expr="//button[@name='order_confirm']" position="after">
- <button name="%(action_delivery_cost)d" states="draft" string="Delivery Costs" type="action" icon="gtk-add" context="{'order_id':active_id}"/>
- </xpath>
+ <xpath expr="//group[@name='bellow_the_lines_hook']" position="inside">
+ <separator string="Delivery Costs" colspan="4"/>
+ <field name="carrier_id" context="{'order_id':active_id or False}" colspan="2"/>
+ <button name="delivery_set" states="draft" string="Add Now on the Sale Order" type="object" icon="gtk-add" colspan="2"/>
+ <label string="if you don't click on 'Add Now', the delivery cost won't be added on the Sale Order, but will be added on the Delivery Order only" colspan="4"/>
+ </xpath>
</field>
</record>
diff --git a/addons/delivery/i18n/lv.po b/addons/delivery/i18n/lv.po
new file mode 100644
index 00000000000..e42f7e9adf9
--- /dev/null
+++ b/addons/delivery/i18n/lv.po
@@ -0,0 +1,642 @@
+# Latvian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-28 08:36+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Latvian <lv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-29 04:45+0000\n"
+"X-Generator: Launchpad (build 15316)\n"
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Order Ref."
+msgstr ""
+
+#. module: delivery
+#: model:product.template,name:delivery.delivery_product_product_template
+msgid "Delivery by Poste"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.carrier:0
+#: view:delivery.grid:0
+msgid "Destination"
+msgstr ""
+
+#. module: delivery
+#: field:stock.move,weight_net:0
+msgid "Net weight"
+msgstr ""
+
+#. module: delivery
+#: view:stock.picking:0
+msgid "Delivery Order"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_delivery_grid_line
+msgid "Delivery Grid Line"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.carrier:0
+#: view:delivery.grid:0
+msgid "Delivery grids"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+#: field:stock.picking,volume:0
+msgid "Volume"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid,line_ids:0
+msgid "Grid Line"
+msgstr ""
+
+#. module: delivery
+#: help:delivery.carrier,partner_id:0
+msgid "The partner that is doing the delivery service."
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.report.xml,name:delivery.report_shipping
+msgid "Delivery order"
+msgstr ""
+
+#. module: delivery
+#: view:res.partner:0
+msgid "Deliveries Properties"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,name:delivery.action_picking_tree4
+msgid "Picking to be invoiced"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,pricelist_ids:0
+msgid "Advanced Pricing"
+msgstr ""
+
+#. module: delivery
+#: help:delivery.grid,sequence:0
+msgid "Gives the sequence order when displaying a list of delivery grid."
+msgstr ""
+
+#. module: delivery
+#: view:delivery.carrier:0
+#: view:delivery.grid:0
+#: field:delivery.grid,country_ids:0
+msgid "Countries"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Delivery Order :"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,variable_factor:0
+msgid "Variable Factor"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,help:delivery.action_delivery_grid_form
+msgid ""
+"The delivery price list allows you to compute the cost and sales price of "
+"the delivery according to the weight of the products and other criteria. You "
+"can define several price lists for one delivery method, per country or a "
+"zone in a specific country defined by a postal code range."
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,amount:0
+msgid "Amount"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,price_type:0
+msgid "Fixed"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,name:0
+#: view:delivery.sale.order:0
+#: field:delivery.sale.order,carrier_id:0
+#: model:ir.actions.act_window,name:delivery.action_delivery_carrier_form
+#: model:ir.ui.menu,name:delivery.menu_action_delivery_carrier_form
+#: field:res.partner,property_delivery_carrier:0
+#: field:sale.order,carrier_id:0
+msgid "Delivery Method"
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/delivery.py:213
+#, python-format
+msgid "No price available!"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_stock_move
+msgid "Stock Move"
+msgstr ""
+
+#. module: delivery
+#: field:stock.picking,carrier_tracking_ref:0
+msgid "Carrier Tracking Ref"
+msgstr ""
+
+#. module: delivery
+#: field:stock.picking,weight_net:0
+msgid "Net Weight"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid.line:0
+msgid "Grid Lines"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.carrier:0
+#: view:delivery.grid:0
+msgid "Grid definition"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.sale.order:0
+msgid "_Cancel"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,operator:0
+msgid "Operator"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_res_partner
+msgid "Partner"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_sale_order
+msgid "Sales Order"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,help:delivery.action_delivery_carrier_form1
+msgid ""
+"Define your delivery methods and their pricing. The delivery costs can be "
+"added on the sale order form or in the invoice, based on the delivery orders."
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Lot"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,partner_id:0
+msgid "Transport Company"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_delivery_grid
+msgid "Delivery Grid"
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/delivery.py:213
+#, python-format
+msgid "No line matched this product or order in the choosed delivery grid."
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Invoiced to"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_stock_picking
+msgid "Picking List"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,grids_id:0
+msgid "Delivery Grids"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_delivery_sale_order
+msgid "Make Delievery"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,name:0
+msgid "Name"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid,zip_from:0
+msgid "Start Zip"
+msgstr ""
+
+#. module: delivery
+#: help:delivery.carrier,amount:0
+msgid ""
+"Amount of the order to benefit from a free shipping, expressed in the "
+"company currency"
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/stock.py:89
+#, python-format
+msgid "Warning"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,grid_id:0
+msgid "Grid"
+msgstr ""
+
+#. module: delivery
+#: help:delivery.grid,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the delivery "
+"grid without removing it."
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid,zip_to:0
+msgid "To Zip"
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/delivery.py:141
+#, python-format
+msgid "Default price"
+msgstr ""
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_delivery_define_delivery_steps_wizard
+msgid "delivery.define.delivery.steps.wizard"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,normal_price:0
+msgid "Normal Price"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Order Date"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid,name:0
+msgid "Grid Name"
+msgstr ""
+
+#. module: delivery
+#: view:stock.move:0
+msgid "Weights"
+msgstr ""
+
+#. module: delivery
+#: field:stock.picking,number_of_packages:0
+msgid "Number of Packages"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+#: report:sale.shipping:0
+#: field:stock.move,weight:0
+#: field:stock.picking,weight:0
+msgid "Weight"
+msgstr ""
+
+#. module: delivery
+#: help:delivery.carrier,use_detailed_pricelist:0
+msgid ""
+"Check this box if you want to manage delivery prices that depends on the "
+"destination, the weight, the total of the order, etc."
+msgstr ""
+
+#. module: delivery
+#: help:delivery.carrier,normal_price:0
+msgid ""
+"Keep empty if the pricing depends on the advanced pricing per destination"
+msgstr ""
+
+#. module: delivery
+#: constraint:stock.move:0
+msgid "You can not move products from or to a location of the type view."
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/wizard/delivery_sale_order.py:70
+#, python-format
+msgid "No grid available !"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,operator:0
+msgid ">="
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/wizard/delivery_sale_order.py:53
+#: code:addons/delivery/wizard/delivery_sale_order.py:73
+#, python-format
+msgid "Order not in draft state !"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.define.delivery.steps.wizard:0
+msgid "Choose Your Default Picking Policy"
+msgstr ""
+
+#. module: delivery
+#: constraint:stock.move:0
+msgid "You try to assign a lot which is not from the same product"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,active:0
+#: field:delivery.grid,active:0
+msgid "Active"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Shipping Date"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,product_id:0
+msgid "Delivery Product"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.grid.line:0
+msgid "Condition"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,standard_price:0
+msgid "Cost Price"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.define.delivery.steps.wizard,picking_policy:0
+msgid "Picking Policy"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,price_type:0
+#: field:delivery.grid.line,type:0
+msgid "Variable"
+msgstr ""
+
+#. module: delivery
+#: help:res.partner,property_delivery_carrier:0
+msgid "This delivery method will be used when invoicing from picking."
+msgstr ""
+
+#. module: delivery
+#: sql_constraint:stock.picking:0
+msgid "Reference must be unique per Company!"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,max_value:0
+msgid "Maximum Value"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Quantity"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.define.delivery.steps.wizard:0
+#: model:ir.actions.act_window,name:delivery.action_define_delivery_steps
+msgid "Setup Your Picking Policy"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,name:delivery.action_delivery_carrier_form1
+msgid "Define Delivery Methods"
+msgstr ""
+
+#. module: delivery
+#: help:delivery.carrier,free_if_more_than:0
+msgid ""
+"If the order is more expensive than a certain amount, the customer can "
+"benefit from a free shipping"
+msgstr ""
+
+#. module: delivery
+#: help:sale.order,carrier_id:0
+msgid ""
+"Complete this field if you plan to invoice the shipping based on picking."
+msgstr ""
+
+#. module: delivery
+#: view:delivery.define.delivery.steps.wizard:0
+msgid "Cancel"
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/delivery.py:130
+#, python-format
+msgid "Free if more than %.2f"
+msgstr ""
+
+#. module: delivery
+#: sql_constraint:sale.order:0
+msgid "Order Reference must be unique per Company!"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,help:delivery.action_delivery_carrier_form
+msgid ""
+"Define the delivery methods you are using and their pricing in order to "
+"reinvoice the delivery costs when you are doing invoicing based on delivery "
+"orders"
+msgstr ""
+
+#. module: delivery
+#: view:res.partner:0
+msgid "Sales & Purchases"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,operator:0
+msgid "<="
+msgstr ""
+
+#. module: delivery
+#: constraint:stock.move:0
+msgid "You must assign a production lot for this product"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,free_if_more_than:0
+msgid "Free If More Than"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.sale.order:0
+msgid "Create Deliveries"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.carrier:0
+#: view:delivery.grid:0
+#: field:delivery.grid,state_ids:0
+msgid "States"
+msgstr ""
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Description"
+msgstr ""
+
+#. module: delivery
+#: help:delivery.carrier,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the delivery "
+"carrier without removing it."
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,name:delivery.action_delivery_grid_form
+#: model:ir.ui.menu,name:delivery.menu_action_delivery_grid_form
+msgid "Delivery Pricelist"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,price:0
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+msgid "Price"
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/wizard/delivery_sale_order.py:70
+#, python-format
+msgid "No grid matching for this carrier !"
+msgstr ""
+
+#. module: delivery
+#: model:ir.ui.menu,name:delivery.menu_delivery
+msgid "Delivery"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+msgid "Weight * Volume"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,operator:0
+msgid "="
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/stock.py:90
+#, python-format
+msgid "The carrier %s (id: %d) has no delivery grid!"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.carrier:0
+msgid "Pricing Information"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.define.delivery.steps.wizard,picking_policy:0
+msgid "Deliver all products at once"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.carrier,use_detailed_pricelist:0
+msgid "Advanced Pricing per Destination"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.carrier:0
+#: field:delivery.grid,carrier_id:0
+#: model:ir.model,name:delivery.model_delivery_carrier
+#: report:sale.shipping:0
+#: field:stock.picking,carrier_id:0
+msgid "Carrier"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.sale.order:0
+msgid "_Apply"
+msgstr ""
+
+#. module: delivery
+#: field:sale.order,id:0
+msgid "ID"
+msgstr ""
+
+#. module: delivery
+#: code:addons/delivery/wizard/delivery_sale_order.py:53
+#: code:addons/delivery/wizard/delivery_sale_order.py:73
+#, python-format
+msgid "The order state have to be draft to add delivery lines."
+msgstr ""
+
+#. module: delivery
+#: constraint:res.partner:0
+msgid "Error ! You cannot create recursive associated members."
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,list_price:0
+msgid "Sale Price"
+msgstr ""
+
+#. module: delivery
+#: model:ir.actions.act_window,name:delivery.action_delivery_cost
+#: view:sale.order:0
+msgid "Delivery Costs"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.define.delivery.steps.wizard,picking_policy:0
+msgid "Deliver each product when available"
+msgstr ""
+
+#. module: delivery
+#: view:delivery.define.delivery.steps.wizard:0
+msgid "Apply"
+msgstr ""
+
+#. module: delivery
+#: field:delivery.grid.line,price_type:0
+msgid "Price Type"
+msgstr ""
diff --git a/addons/delivery/sale.py b/addons/delivery/sale.py
index 86fb261e413..3ed3756a733 100644
--- a/addons/delivery/sale.py
+++ b/addons/delivery/sale.py
@@ -18,8 +18,10 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
-from osv import fields,osv
+import time
+from osv import fields,osv
+from tools.translate import _
# Overloaded sale_order to manage carriers :
class sale_order(osv.osv):
@@ -41,6 +43,39 @@ class sale_order(osv.osv):
result.update(carrier_id=order.carrier_id.id)
return result
+ def delivery_set(self, cr, uid, ids, context=None):
+ order_obj = self.pool.get('sale.order')
+ line_obj = self.pool.get('sale.order.line')
+ grid_obj = self.pool.get('delivery.grid')
+ carrier_obj = self.pool.get('delivery.carrier')
+ acc_fp_obj = self.pool.get('account.fiscal.position')
+ for order in self.browse(cr, uid, ids, context=context):
+ grid_id = carrier_obj.grid_get(cr, uid, [order.carrier_id.id], order.partner_shipping_id.id)
+ if not grid_id:
+ raise osv.except_osv(_('No grid available !'), _('No grid matching for this carrier !'))
+
+ if not order.state in ('draft'):
+ raise osv.except_osv(_('Order not in draft state !'), _('The order state have to be draft to add delivery lines.'))
+
+ grid = grid_obj.browse(cr, uid, grid_id, context=context)
+
+ taxes = grid.carrier_id.product_id.taxes_id
+ fpos = order.fiscal_position or False
+ taxes_ids = acc_fp_obj.map_tax(cr, uid, fpos, taxes)
+ #create the sale order line
+ line_obj.create(cr, uid, {
+ 'order_id': order.id,
+ 'name': grid.carrier_id.name,
+ 'product_uom_qty': 1,
+ 'product_uom': grid.carrier_id.product_id.uom_id.id,
+ 'product_id': grid.carrier_id.product_id.id,
+ 'price_unit': grid_obj.get_price(cr, uid, grid.id, order, time.strftime('%Y-%m-%d'), context),
+ 'tax_id': [(6,0,taxes_ids)],
+ 'type': 'make_to_stock'
+ })
+ #remove the value of the carrier_id field on the sale order
+ return self.write(cr, uid, ids, {'carrier_id': False}, context=context)
+ #return {'type': 'ir.actions.act_window_close'} action reload?
sale_order()
diff --git a/addons/delivery/test/delivery_cost.yml b/addons/delivery/test/delivery_cost.yml
index 521f260e136..433acb1d18f 100644
--- a/addons/delivery/test/delivery_cost.yml
+++ b/addons/delivery/test/delivery_cost.yml
@@ -3,14 +3,8 @@
-
I add delivery cost in Sale order.
-
- !python {model: delivery.sale.order}: |
- context.update({'active_ids': [ref("sale.order")]})
--
- !record {model: delivery.sale.order, id: sale_delivery_carrier}:
- {}
--
- !python {model: delivery.sale.order}: |
- self.delivery_set(cr, uid, [ref('sale_delivery_carrier')], context=context)
+ !python {model: sale.order}: |
+ self.delivery_set(cr, uid, [ref("sale.order")], context=context)
-
I check sale order after added delivery cost.
-
@@ -35,7 +29,7 @@
self.create_invoice(cr, uid, [wiz_id], {"active_ids": ship_ids, "active_id": ship_ids[0]})
-
I print a Delivery Order report.
--
+-
!python {model: stock.picking}: |
import netsvc, tools, os
sale = self.pool.get('sale.order')
@@ -47,14 +41,8 @@
-
I add free delivery cost in Sale order.
-
- !python {model: delivery.sale.order}: |
- context.update({'active_ids': [ref("sale.order2")]})
--
- !record {model: delivery.sale.order, id: sale_delivery_carrier}:
- {}
--
- !python {model: delivery.sale.order}: |
- self.delivery_set(cr, uid, [ref('sale_delivery_carrier')], context=context)
+ !python {model: sale.order}: |
+ self.delivery_set(cr, uid, [ref("sale.order2")], context=context)
-
I check sale order after added delivery cost.
-
diff --git a/addons/delivery/wizard/delivery_sale_order.py b/addons/delivery/wizard/delivery_sale_order.py
deleted file mode 100644
index 80b3431f2a7..00000000000
--- a/addons/delivery/wizard/delivery_sale_order.py
+++ /dev/null
@@ -1,96 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
-
-import time
-from tools.translate import _
-
-from osv import osv, fields
-
-class make_delivery(osv.osv_memory):
- _name = "delivery.sale.order"
- _description = 'Make Delievery'
-
- _columns = {
- 'carrier_id': fields.many2one('delivery.carrier','Delivery Method', required=True),
- }
-
-
- def default_get(self, cr, uid, fields, context=None):
- res = super(make_delivery, self).default_get(cr, uid, fields, context=context)
- order_obj = self.pool.get('sale.order')
- for order in order_obj.browse(cr, uid, context.get('active_ids', []), context=context):
- carrier = order.carrier_id.id
- if not carrier:
- carrier = order.partner_id.property_delivery_carrier.id
- res.update({'carrier_id': carrier})
-
- return res
-
- def view_init(self, cr , uid , fields, context=None):
- if context is None:
- context = {}
- order_obj = self.pool.get('sale.order')
- for order in order_obj.browse(cr, uid, context.get('active_ids', []), context=context):
- if not order.state in ('draft'):
- raise osv.except_osv(_('Order not in draft state !'), _('The order state have to be draft to add delivery lines.'))
- pass
-
- def delivery_set(self, cr, uid, ids, context=None):
- if context is None:
- context = {}
- rec_ids = context and context.get('active_ids',[])
- order_obj = self.pool.get('sale.order')
- line_obj = self.pool.get('sale.order.line')
- grid_obj = self.pool.get('delivery.grid')
- carrier_obj = self.pool.get('delivery.carrier')
- acc_fp_obj = self.pool.get('account.fiscal.position')
- order_objs = order_obj.browse(cr, uid, rec_ids, context=context)
- for datas in self.browse(cr, uid, ids, context=context):
- for order in order_objs:
- grid_id = carrier_obj.grid_get(cr, uid, [datas.carrier_id.id],order.partner_shipping_id.id)
- if not grid_id:
- raise osv.except_osv(_('No grid available !'), _('No grid matching for this carrier !'))
-
- if not order.state in ('draft'):
- raise osv.except_osv(_('Order not in draft state !'), _('The order state have to be draft to add delivery lines.'))
-
- grid = grid_obj.browse(cr, uid, grid_id, context=context)
-
- taxes = grid.carrier_id.product_id.taxes_id
- fpos = order.fiscal_position or False
- taxes_ids = acc_fp_obj.map_tax(cr, uid, fpos, taxes)
- line_obj.create(cr, uid, {
- 'order_id': order.id,
- 'name': grid.carrier_id.name,
- 'product_uom_qty': 1,
- 'product_uom': grid.carrier_id.product_id.uom_id.id,
- 'product_id': grid.carrier_id.product_id.id,
- 'price_unit': grid_obj.get_price(cr, uid, grid.id, order, time.strftime('%Y-%m-%d'), context),
- 'tax_id': [(6,0,taxes_ids)],
- 'type': 'make_to_stock'
- })
-
- return {'type': 'ir.actions.act_window_close'}
-
-make_delivery()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/delivery/wizard/delivery_sale_order_view.xml b/addons/delivery/wizard/delivery_sale_order_view.xml
deleted file mode 100644
index fa56b0efcf7..00000000000
--- a/addons/delivery/wizard/delivery_sale_order_view.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<openerp>
- <data>
-
- <!-- Delivery Sale Order -->
-
- <record id="view_make_delivery_wizard" model="ir.ui.view">
- <field name="name">Delivery Costs</field>
- <field name="model">delivery.sale.order</field>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <form string="Create Deliveries">
- <separator colspan="4" string="Delivery Method" />
- <field name="carrier_id" widget="selection"/>
- <newline/>
- <separator colspan="4"/>
- <group col="2" colspan="4">
- <button icon='gtk-cancel' special="cancel"
- string="_Cancel" />
- <button name="delivery_set" string="_Apply"
- colspan="1" type="object" icon="gtk-apply" />
- </group>
- </form>
- </field>
- </record>
-
- <record id="action_delivery_cost" model="ir.actions.act_window">
- <field name="name">Delivery Costs</field>
- <field name="type">ir.actions.act_window</field>
- <field name="res_model">delivery.sale.order</field>
- <field name="view_type">form</field>
- <field name="view_mode">form</field>
- <field name="view_id" ref="view_make_delivery_wizard"/>
- <field name="target">new</field>
- </record>
-
- </data>
-</openerp>
diff --git a/addons/edi/static/src/xml/edi_sale_purchase.xml b/addons/edi/static/src/xml/edi_sale_purchase.xml
index 698b322606f..8d6bab67761 100644
--- a/addons/edi/static/src/xml/edi_sale_purchase.xml
+++ b/addons/edi/static/src/xml/edi_sale_purchase.xml
@@ -33,7 +33,15 @@
</div>
</div>
- <h1 class="oe_edi_doc_title">Order <t t-esc="doc.name"/>: <t t-esc="_.str.sprintf('%.2f',doc.amount_total)"/> <t t-esc="doc.currency.code"/></h1>
+ <t t-if="(doc.state == 'draft' or doc.state == 'sent') and doc.__model == 'sale.order'">
+ <h1 class="oe_edi_doc_title">Quotation <t t-esc="doc.name"/>: <t t-esc="_.str.sprintf('%.2f',doc.amount_total)"/> <t t-esc="doc.currency.code"/></h1>
+ </t>
+ <t t-if="(doc.state == 'draft' or doc.state == 'sent') and doc.__model == 'purchase.order'">
+ <h1 class="oe_edi_doc_title">Request for Quotation <t t-esc="doc.name"/>: <t t-esc="_.str.sprintf('%.2f',doc.amount_total)"/> <t t-esc="doc.currency.code"/></h1>
+ </t>
+ <t t-if="(doc.state != 'draft' and doc.state != 'sent')">
+ <h1 class="oe_edi_doc_title">Order <t t-esc="doc.name"/>: <t t-esc="_.str.sprintf('%.2f',doc.amount_total)"/> <t t-esc="doc.currency.code"/></h1>
+ </t>
<table width="100%" class="oe_edi_data oe_edi_shade">
<tr class="oe_edi_floor">
@@ -116,7 +124,7 @@
</div>
</t>
<t t-name="Edi.sale.order.sidebar">
- <t t-if="doc.order_policy &amp;&amp; (doc.order_policy == 'prepaid' || doc.order_policy == 'manual')">
+ <t t-if="doc.order_policy and (doc.order_policy == 'prepaid' || doc.order_policy == 'manual') and (doc.state != 'draft' and doc.state != 'sent')">
<t t-if="doc.company_address.paypal_account || doc.company_address.bank_ids">
<p class="oe_edi_sidebar_title">Pay Online</p>
<t t-if="doc.company_address.paypal_account">
diff --git a/addons/email_template/i18n/ja.po b/addons/email_template/i18n/ja.po
index ca2abdc61d3..60b491ad0c2 100644
--- a/addons/email_template/i18n/ja.po
+++ b/addons/email_template/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2012-05-10 18:28+0000\n"
-"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
+"PO-Revision-Date: 2012-05-25 04:53+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 05:11+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-05-26 05:07+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: email_template
#: field:email.template,subtype:0
@@ -408,7 +408,7 @@ msgstr "Eメールを送信する (%s)"
#: field:email.template,body_html:0
#: field:email_template.preview,body_html:0
msgid "Rich-text Contents"
-msgstr "リッチテキストの内容"
+msgstr "リッチテキストのコンテンツ"
#. module: email_template
#: field:email.template,copyvalue:0
diff --git a/addons/event/__openerp__.py b/addons/event/__openerp__.py
index 5a829f63f43..f1a9769f803 100644
--- a/addons/event/__openerp__.py
+++ b/addons/event/__openerp__.py
@@ -1,3 +1,4 @@
+
# -*- coding: utf-8 -*-
##############################################################################
#
@@ -38,7 +39,7 @@ Note that:
Association / Configuration / Types of Events
""",
'author': 'OpenERP SA',
- 'depends': ['email_template'],
+ 'depends': ['email_template','google_map'],
'init_xml': [],
'update_xml': [
'security/event_security.xml',
diff --git a/addons/event/event.py b/addons/event/event.py
index 218776b021d..a348e005d06 100644
--- a/addons/event/event.py
+++ b/addons/event/event.py
@@ -112,6 +112,14 @@ class event_event(osv.osv):
if total_confirmed < self.event.register_min or total_confirmed > self.event.register_max and self.event.register_max!=0:
raise osv.except_osv(_('Error!'),_("The total of confirmed registration for the event '%s' does not meet the expected minimum/maximum. You should maybe reconsider those limits before going further") % (self.event.name))
+ def check_registration_limits_before(self, cr, uid, ids, no_of_registration, context=None):
+ for event in self.browse(cr, uid, ids, context=context):
+ available_seats = event.register_avail
+ if available_seats and no_of_registration > available_seats:
+ raise osv.except_osv(_('Warning!'),_("Only %d Seats are Available!") % (available_seats))
+ elif available_seats == 0:
+ raise osv.except_osv(_('Warning!'),_("No Tickets Available!"))
+
def confirm_event(self, cr, uid, ids, context=None):
register_pool = self.pool.get('event.registration')
if self.event.email_confirmation_id:
@@ -189,7 +197,7 @@ class event_event(osv.osv):
'register_current': fields.function(_get_register, string='Confirmed Registrations', multi='register_numbers'),
'register_avail': fields.function(_get_register, string='Available Registrations', multi='register_numbers',type='integer'),
'register_prospect': fields.function(_get_register, string='Unconfirmed Registrations', multi='register_numbers'),
- 'register_attended': fields.function(_get_register, string='Attended Registrations', multi='register_numbers'),
+ 'register_attended': fields.function(_get_register, string='# of Participations', multi='register_numbers'),
'registration_ids': fields.one2many('event.registration', 'event_id', 'Registrations', readonly=False, states={'done': [('readonly', True)]}),
'date_begin': fields.datetime('Start Date', required=True, readonly=True, states={'draft': [('readonly', False)]}),
'date_end': fields.datetime('End Date', required=True, readonly=True, states={'draft': [('readonly', False)]}),
@@ -205,7 +213,6 @@ class event_event(osv.osv):
'full_name' : fields.function(_name_get_fnc, type="char", string='Name'),
'reply_to': fields.char('Reply-To Email', size=64, readonly=False, states={'done': [('readonly', True)]}, help="The email address of the organizer is likely to be put here, with the effect to be in the 'Reply-To' of the mails sent automatically at event or registrations confirmation. You can also put the email address of your mail gateway if you use one."),
'main_speaker_id': fields.many2one('res.partner','Main Speaker', readonly=False, states={'done': [('readonly', True)]}, help="Speaker who will be giving speech at the event."),
- 'speaker_ids': fields.many2many('res.partner', 'event_speaker_rel', 'speaker_id', 'partner_id', 'Other Speakers', readonly=False, states={'done': [('readonly', True)]}),
'address_id': fields.many2one('res.partner','Location Address', readonly=False, states={'done': [('readonly', True)]}),
'speaker_confirmed': fields.boolean('Speaker Confirmed', readonly=False, states={'done': [('readonly', True)]}),
'country_id': fields.related('address_id', 'country_id',
@@ -214,21 +221,23 @@ class event_event(osv.osv):
'company_id': fields.many2one('res.company', 'Company', required=False, change_default=True, readonly=False, states={'done': [('readonly', True)]}),
'is_subscribed' : fields.function(_subscribe_fnc, type="boolean", string='Subscribed'),
}
-
_defaults = {
'state': 'draft',
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'event.event', context=c),
'user_id': lambda obj, cr, uid, context: uid,
}
-
def subscribe_to_event(self, cr, uid, ids, context=None):
register_pool = self.pool.get('event.registration')
user_pool = self.pool.get('res.users')
+ num_of_seats = int(context.get('ticket', 1))
+ self.check_registration_limits_before(cr, uid, ids, num_of_seats, context=context)
user = user_pool.browse(cr, uid, uid, context=context)
curr_reg_ids = register_pool.search(cr, uid, [('user_id', '=', user.id), ('event_id', '=' , ids[0])])
#the subscription is done with UID = 1 because in case we share the kanban view, we want anyone to be able to subscribe
if not curr_reg_ids:
- curr_reg_ids = [register_pool.create(cr, 1, {'event_id': ids[0] ,'email': user.user_email, 'name':user.name, 'user_id': user.id,})]
+ curr_reg_ids = [register_pool.create(cr, 1, {'event_id': ids[0] ,'email': user.user_email, 'name':user.name, 'user_id': user.id, 'nb_register': num_of_seats})]
+ else:
+ register_pool.write(cr, uid, curr_reg_ids, {'nb_register': num_of_seats}, context=context)
return register_pool.confirm_registration(cr, 1, curr_reg_ids, context=context)
def unsubscribe_to_event(self, cr, uid, ids, context=None):
@@ -246,7 +255,6 @@ class event_event(osv.osv):
_constraints = [
(_check_closing_date, 'Error ! Closing Date cannot be set before Beginning Date.', ['date_end']),
]
-
def onchange_event_type(self, cr, uid, ids, type_event, context=None):
if type_event:
type_info = self.pool.get('event.type').browse(cr,uid,type_event,context)
@@ -347,6 +355,11 @@ class event_registration(osv.osv):
def registration_open(self, cr, uid, ids, context=None):
""" Open Registration
"""
+ event_obj = self.pool.get('event.event')
+ for register in self.browse(cr, uid, ids, context=context):
+ event_id = register.event_id.id
+ no_of_registration = register.nb_register
+ event_obj.check_registration_limits_before(cr, uid, [event_id], no_of_registration, context=context)
res = self.confirm_registration(cr, uid, ids, context=context)
self.mail_user(cr, uid, ids, context=context)
return res
@@ -457,5 +470,4 @@ class event_registration(osv.osv):
event_registration()
-
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/event/event_demo.xml b/addons/event/event_demo.xml
index 96bc64e12aa..81dad07b5e4 100644
--- a/addons/event/event_demo.xml
+++ b/addons/event/event_demo.xml
@@ -38,16 +38,16 @@
<record id="event_1" model="event.event">
<field name="name">Opera of Verdi</field>
- <field eval="time.strftime('%Y-%m-05 18:00:00')" name="date_begin"/>
- <field eval="time.strftime('%Y-%m-05 21:00:00')" name="date_end"/>
+ <field eval="(DateTime.today()+ timedelta(days=1)).strftime('%Y-%m-%d 18:00:00')" name="date_begin"/>
+ <field eval="(DateTime.today()+ timedelta(days=2)).strftime('%Y-%m-%d 21:00:00')" name="date_end"/>
<field name="type" ref="event_type_1"/>
<field name="register_min">50</field>
<field name="register_max">350</field>
</record>
<record id="event_2" model="event.event">
<field name="name">Conference on ERP Business</field>
- <field eval="time.strftime('%Y-%m-05 14:00:00')" name="date_begin"/>
- <field eval="time.strftime('%Y-%m-05 16:30:00')" name="date_end"/>
+ <field eval="(DateTime.today()+ timedelta(days=2)).strftime('%Y-%m-%d 14:00:00')" name="date_begin"/>
+ <field eval="(DateTime.today()+ timedelta(days=2)).strftime('%Y-%m-%d 16:30:00')" name="date_end"/>
<field name="type" ref="event_type_2"/>
<field name="register_max">200</field>
</record>
diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml
index 0542f436cd9..ec326d282d4 100644
--- a/addons/event/event_view.xml
+++ b/addons/event/event_view.xml
@@ -50,10 +50,10 @@
<field name="model">event.event</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form layout="manual">
+ <form string="Events" layout="manual">
<div class="oe_form_topbar">
<button string="Confirm Event" name="button_confirm" states="draft" type="object"/>
- <button string="Mark Done" name="button_done" states="confirm" type="object"/>
+ <button string="Event Ended" name="button_done" states="confirm" type="object"/>
<button string="Set To Draft" name="button_draft" states="cancel,done" type="object"/>
<button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object"/>
<div class="oe_right">
@@ -61,19 +61,40 @@
</div>
<div class="oe_clear"/>
</div>
- <sheet string="Events" layout="auto">
- <group col="6" colspan="4" class="oe_form_header">
- <field name="name"/>
- <field name="date_begin"/>
- <field name="date_end"/>
+ <sheet layout="manual">
+
+
+ <field name="name" required="1" nolabel="1" class="oe_form_title" colspan="4"/>
+ <group colspan="4" col="5">
+ <group col="2" colspan="2" class="oe_form_group_label_border" style="margin-top: 20px;">
<field name="type" on_change="onchange_event_type(type,context)"/>
<field name="user_id"/>
- <field name="address_id" />
+ <field name="address_id" widget="many2one_address_google_map" widget_option="{'placeholder':'.oe_form_google_map'}"/>
</group>
- <notebook colspan="4">
- <page string="Event">
- <separator string="Description" colspan="4"/>
+ <group col="2" colspan="2" class="oe_form_group_label_border" style="margin-top: 20px;">
+ <field name="date_begin"/>
+ <field name="date_end"/>
+ <field name="register_min"/>
+ <field name="register_max"/>
+ </group>
+ </group>
+
+ <div class="oe_form_google_map" style="height: 200px"></div>
+
+ <notebook colspan="4">
+ <page string="Event Description">
<field name="note" colspan="4" nolabel="1"/>
+ </page>
+ <page string="Internal Data">
+ <group class="oe_form_group_label_border" colspan="2" col="2">
+ <field name="register_current"/>
+ <field name="register_prospect"/>
+ <field name="register_attended"/>
+ </group>
+ <group class="oe_form_group_label_border" colspan="2" col="2">
+ <field name="main_speaker_id" domain="[('speaker','=',True)]" context="{'default_speaker':1}"/>
+ <field name="speaker_confirmed"/>
+ </group>
<field name="registration_ids" colspan="4" nolabel="1" groups="event.group_event_manager,event.group_event_user">
<tree string="Registration" editable="top">
<field name="name" />
@@ -108,28 +129,6 @@
</form>
</field>
</page>
- <page string="Speakers">
- <field name="main_speaker_id" domain="[('speaker','=',True)]" context="{'default_speaker':1}"/>
- <field name="speaker_confirmed"/>
- <separator string="Other Speakers" colspan="4"/>
- <field name="speaker_ids" domain="[('speaker','=',True)]" context="{'default_speaker':1}" colspan="4" nolabel="1"/>
- </page>
- <page string="Extra Info">
- <group col="2" colspan="2">
- <separator string="Registrations" colspan="2"/>
- <field name="register_min"/>
- <field name="register_max"/>
- <field name="register_prospect"/>
- <field name="register_current"/>
- <field name="register_attended"/>
- </group>
- <group col="2" colspan="2">
- <separator string="Emails" colspan="2"/>
- <field name="reply_to"/>
- <field name="email_registration_id" domain="[('model_id.model','=','event.registration')]"/>
- <field name="email_confirmation_id" domain="[('model_id.model','=','event.registration')]"/>
- </group>
- </page>
</notebook>
</sheet>
<div class="oe_form_sheet_width">
@@ -165,9 +164,10 @@
</field>
</record>
+
<!-- Event Kanban View -->
- <record model="ir.ui.view" id="view_event_kanban">
+ <record model="ir.ui.view" id="view_event_kanban">
<field name="name">event.event.kanban</field>
<field name="model">event.event</field>
<field name="type">kanban</field>
@@ -211,13 +211,14 @@
</p>
<t t-if="record.register_avail.raw_value != 0">
<t t-if="!record.is_subscribed.raw_value">
- <button type="object" name="subscribe_to_event" class="subscribe_button oe_event_button_subscribe">
+ <input t-att-id="record.id.raw_value" type="text" name="subscribe" class="no_of_seats" value="1" onchange="document.getElementById('btn_sub' +this.id).setAttribute('data-context',JSON.stringify({'ticket':this.value}))"/>
+ <button t-att-id="'btn_sub'+record.id.raw_value" type="object" name="subscribe_to_event" class="oe_mail_button_follow">
<span >Subscribe</span>
</button>
</t>
</t>
<t t-if="record.is_subscribed.raw_value">
- <button type="object" name="unsubscribe_to_event" class="unsubscribe_button oe_event_button_unsubscribe">
+ <button type="object" name="unsubscribe_to_event" class="oe_mail_button_unfollow">
<span>Subscribed</span>
<span class="unsubscribe">Unsubscribe</span>
</button>
@@ -494,7 +495,7 @@
<field name="view_mode">tree,form,calendar,graph</field>
<field name="context">{}</field>
<field name="search_view_id" ref="view_registration_search"/>
- </record>
+ </record>view_
<menuitem
name="Registrations"
diff --git a/addons/event/static/src/css/event.css b/addons/event/static/src/css/event.css
index a0f738e6323..8602ea24d53 100644
--- a/addons/event/static/src/css/event.css
+++ b/addons/event/static/src/css/event.css
@@ -29,90 +29,17 @@
color: #FFFFFF;
background-color: #8A89BA;
}
-div.oe_fold_column{
- padding:0px !important;
-}
-.oe_event_button_subscribe {
- display: inline-block;
- border: 1px solid #ababab;
- color: #404040;
- font-size: 12px;
- padding: 3px 10px;
- text-align: center;
- -o-background-size: 100% 100%;
- -moz-background-size: 100% 100%;
- -webkit-background-size: auto auto !important;
- background-size: 100% 100%;
- background: #d8d8d8 none;
- background: none, -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8));
- background: none, -webkit-linear-gradient(#efefef, #d8d8d8);
- background: none, -moz-linear-gradient(#efefef, #d8d8d8);
- background: none, -o-linear-gradient(top, #efefef, #d8d8d8);
- background: none, -khtml-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8));
- background: -ms-linear-gradient(top, #efefef, #d8d8d8);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#efefef', endColorstr='#d8d8d8',GradientType=0 );
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- -o-border-radius: 3px;
- -ms-border-radius: 3px;
- border-radius: 3px;
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
- -webkit-font-smoothing: antialiased;
- outline: none;
-}
-.oe_event_button_unsubscribe {
- display: inline-block;
- border: 1px solid #AAA;
- color: #404040;
- font-size: 12px;
- padding: 3px 10px;
- text-align: center;
- -o-background-size: 100% 100%;
- -moz-background-size: 100% 100%;
- -webkit-background-size: auto auto !important;
- background-size: 100% 100%;
- background: #AAA none;
- background: none, -webkit-gradient(linear, left top, left bottom, from(#AAA), to(#AAA));
- background: none, -webkit-linear-gradient(#AAA, #AAA);
- background: none, -moz-linear-gradient(#AAA, #AAA);
- background: none, -o-linear-gradient(top, #AAA, #AAA);
- background: none, -khtml-gradient(linear, left top, left bottom, from(#AAA), to(#AAA));
- background: -ms-linear-gradient(top, #AAA, #AAA);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#AAA, endColorstr='#AAA',GradientType=0 );
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- -o-border-radius: 3px;
- -ms-border-radius: 3px;
- border-radius: 3px;
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset;
- text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
- -webkit-font-smoothing: antialiased;
- outline: none;
+
+.no_of_seats{
+ width:35px;
}
-.oe_event_button_subscribe:hover {
- cursor: pointer;
- background-size: 100% 100%;
- /*background: #DC5F59 none;*/
+.oe_mapbox
+{
+ position: relative;
+ float: right;
+ height:200px;
+ width:256px;
+ border: 1px solid #eeeeee;
}
-.oe_event_button_unsubscribe:hover {
- cursor: pointer;
- background-size: 100% 100%;
- background: #DC5F59 none;
- }
- .unsubscribe, .unsubscribe_button:hover span {
- display: none;
- background-color: #DC5F59
- }
- .unsubscribe_button:hover .unsubscribe {
- display: inline;
- background-color: #DC5F59;
- }
diff --git a/addons/event/test/process/event_draft2done.yml b/addons/event/test/process/event_draft2done.yml
index d3f3d1fb466..eb40340befd 100644
--- a/addons/event/test/process/event_draft2done.yml
+++ b/addons/event/test/process/event_draft2done.yml
@@ -9,6 +9,7 @@
name: event
date_begin: 2012-01-01 19:05:15
date_end: 2012-01-01 20:05:15
+ register_max: 10
-
I create a registration for the event
-
@@ -32,6 +33,7 @@
I confirm the registration1
-
!python {model: event.registration}: |
+ event_pool = self.pool.get("event.event")
self.registration_open(cr, uid, [ref("event_registration1")],context=context)
-
I check that registration is "confirmed"
diff --git a/addons/event_sale/event_sale.py b/addons/event_sale/event_sale.py
index df115c0eef4..0d6497c45f2 100644
--- a/addons/event_sale/event_sale.py
+++ b/addons/event_sale/event_sale.py
@@ -70,7 +70,6 @@ class sale_order_line(osv.osv):
def button_confirm(self, cr, uid, ids, context=None):
'''
create registration with sale order
-
'''
registration_obj = self.pool.get('event.registration')
sale_obj = self.pool.get('sale.order')
@@ -92,4 +91,3 @@ class sale_order_line(osv.osv):
message = _("The registration %s has been created from the Sale Order %s.") % (registration_id, order_line.order_id.name)
registration_obj.log(cr, uid, registration_id, message)
return super(sale_order_line, self).button_confirm(cr, uid, ids, context=context)
-
diff --git a/addons/google_map/__openerp__.py b/addons/google_map/__openerp__.py
index 8aa1b60ca88..a6e85c3cd66 100644
--- a/addons/google_map/__openerp__.py
+++ b/addons/google_map/__openerp__.py
@@ -38,6 +38,7 @@ Using this you can directly open Google Map from the URL widget.""",
'google_map_view.xml',
],
'demo_xml': [],
+ 'js': ['static/src/js/google_map.js'],
'installable': True,
'auto_install': False,
'certificate': '0029498930765',
diff --git a/addons/google_map/google_map_view.xml b/addons/google_map/google_map_view.xml
index 4cd7e4ad7c4..eda86a0662f 100644
--- a/addons/google_map/google_map_view.xml
+++ b/addons/google_map/google_map_view.xml
@@ -12,8 +12,7 @@
<label string="Street2 : " align="1.0"/>
<group colspan="1" col="2">
<field name="street2" nolabel="1"/>
- <button name="open_map"
- string="Map" type="object" icon="gtk-zoom-in"/>
+ <button name="open_map" string="Map" type="object" icon="gtk-zoom-in"/>
</group>
</field>
</field>
diff --git a/addons/google_map/static/src/js/google_map.js b/addons/google_map/static/src/js/google_map.js
new file mode 100644
index 00000000000..9aa693e53c6
--- /dev/null
+++ b/addons/google_map/static/src/js/google_map.js
@@ -0,0 +1,75 @@
+openerp.event = function(instance, mod) {
+ instance.web.form.widgets.add('many2one_address_google_map', 'instance.google_map.Many2OneAddress');
+
+ var googleMapsLoaded = null;
+
+ instance.google_map.GoogleMapConnector = instance.web.Class.extend({
+ map_load: function() {
+ var self = this;
+ if(googleMapsLoaded === null) {
+ googleMapsLoaded = $.Deferred();
+ // global
+ openerp_googleMapsCallback = googleMapsLoaded.resolve;
+ $.ajax({
+ url: "https://maps.googleapis.com/maps/api/js?v=3&callback=openerp_googleMapsCallback&sensor=false",
+ dataType: "script"
+ }).fail(googleMapsLoaded.reject);
+ }
+ return googleMapsLoaded;
+ },
+ render_map: function(address,element) {
+ this.map_load().then(function() {
+ var geocoder = new google.maps.Geocoder();
+ geocoder.geocode({'address': address}, function(results, status) {
+ if (status == google.maps.GeocoderStatus.OK) {
+ var lat = results[0].geometry.location.lat();
+ var lng = results[0].geometry.location.lng();
+ var myOptions = {
+ zoom: 17,
+ center: new google.maps.LatLng(lat,lng),
+ mapTypeId: google.maps.MapTypeId.ROADMAP
+ };
+ var map = new google.maps.Map(element,myOptions);
+ var position = new google.maps.LatLng(lat,lng);
+ var marker = new google.maps.Marker({ map: map, position: position });
+ return marker;
+ }
+ });
+ });
+ },
+ });
+
+ instance.google_map.Many2OneAddress = instance.web.form.FieldMany2One.extend({
+ init: function(field_manager, node){
+ this._super(field_manager, node);
+ this.map = new instance.google_map.GoogleMapConnector();
+ },
+ get_address:function(value){
+ var self = this;
+ if (!value || value.length == 0){
+ return $.Deferred().reject();
+ }
+ (value instanceof Array)?value = parseInt(value[0]):false;
+ var data = new instance.web.DataSet(this,this.field.relation, this.build_context());
+ data.read_ids(value,["street","city","zip","country_id"]).done(function(value){
+ var address;
+ if (value['country_id']) {
+ address = _.str.sprintf('%(street)s, %(zip)s %(city)s, %(country_id[1])s', value);
+ } else {
+ address = _.str.sprintf('%(street)s, %(zip)s %(city)s', value);
+ }
+ // TODO repalce by widget_option selector self.options.selector
+ var el = self.view.$element.find(".oe_form_google_map")[0];
+ self.map.render_map(address,el);
+ });
+ },
+ set_value:function(value){
+ this._super(value);
+ this.get_address(value);
+ },
+ render_value:function(no_recurse){
+ this.get_address(this.get("value"));
+ this._super(no_recurse);
+ }
+ });
+};
diff --git a/addons/hr_evaluation/hr_evaluation.py b/addons/hr_evaluation/hr_evaluation.py
index 80ab03f22e7..e85f0274d84 100644
--- a/addons/hr_evaluation/hr_evaluation.py
+++ b/addons/hr_evaluation/hr_evaluation.py
@@ -167,7 +167,6 @@ class hr_evaluation(osv.osv):
('done','Done'),
], 'Status', required=True, readonly=True),
'date_close': fields.date('Ending Date', select=True),
- 'progress': fields.float("Progress"),
}
_defaults = {
'date': lambda *a: (parser.parse(datetime.now().strftime('%Y-%m-%d')) + relativedelta(months =+ 1)).strftime('%Y-%m-%d'),
@@ -245,7 +244,6 @@ class hr_evaluation(osv.osv):
return True
def button_done(self,cr, uid, ids, context=None):
- self.write(cr, uid, ids,{'progress': 1 * 100}, context=context)
self.write(cr, uid, ids,{'state':'done', 'date_close': time.strftime('%Y-%m-%d')}, context=context)
return True
@@ -312,7 +310,6 @@ class hr_evaluation_interview(osv.osv):
for id in self.browse(cr, uid, ids, context=context):
flag = False
wating_id = 0
- tot_done_req = 1
if not id.evaluation_id.id:
raise osv.except_osv(_('Warning !'),_("You cannot start evaluation without Appraisal."))
records = hr_eval_obj.browse(cr, uid, [id.evaluation_id.id], context=context)[0].survey_request_ids
@@ -322,11 +319,8 @@ class hr_evaluation_interview(osv.osv):
continue
if child.state != "done":
flag = True
- else:
- tot_done_req += 1
if not flag and wating_id:
self.survey_req_waiting_answer(cr, uid, [wating_id], context=context)
- hr_eval_obj.write(cr, uid, [id.evaluation_id.id], {'progress': tot_done_req * 100 / len(records)}, context=context)
self.write(cr, uid, ids, { 'state': 'done'}, context=context)
return True
diff --git a/addons/hr_evaluation/hr_evaluation_data.xml b/addons/hr_evaluation/hr_evaluation_data.xml
index ec4b46f8a62..bf482d2fcd7 100644
--- a/addons/hr_evaluation/hr_evaluation_data.xml
+++ b/addons/hr_evaluation/hr_evaluation_data.xml
@@ -2,7 +2,7 @@
<openerp>
<data noupdate="1">
<record id="survey_2" model="survey">
- <field name="title">Employee Appraisal</field>
+ <field name="title">Self Appraisal</field>
<field name="max_response_limit">20</field>
<field eval="[(6,0,[])]" name="users"/>
<field name="type" ref="survey.survey_type1"/>
@@ -1157,37 +1157,11 @@ Once the form had been filled, the employee send it to his supervisor.
</data>
<data noupdate="1">
- <record id="hr_evaluation_plan_phase_sendtosubordinates0" model="hr_evaluation.plan.phase">
- <field name="plan_id" ref="hr_evaluation_plan_managersevaluationplan0"/>
- <field name="name">Send to Subordinates</field>
- <field eval="0" name="send_anonymous_manager"/>
- <field eval="1" name="sequence"/>
- <field name="company_id" ref="base.main_company"/>
- <field name="action">bottom-up</field>
- <field eval="0" name="send_anonymous_employee"/>
- <field eval="0" name="send_answer_employee"/>
- <field name="survey_id" ref="hr_evaluation.survey_2"/>
- <field eval="0" name="send_answer_manager"/>
- <field eval="0" name="wait"/>
- </record>
- <record id="hr_evaluation_plan_phase_sendtomanagers0" model="hr_evaluation.plan.phase">
- <field name="plan_id" ref="hr_evaluation_plan_managersevaluationplan0"/>
- <field name="name">Send to Managers</field>
- <field eval="0" name="send_anonymous_manager"/>
- <field eval="2" name="sequence"/>
- <field name="company_id" ref="base.main_company"/>
- <field name="action">top-down</field>
- <field eval="0" name="send_anonymous_employee"/>
- <field eval="0" name="send_answer_employee"/>
- <field name="survey_id" ref="hr_evaluation.survey_2"/>
- <field eval="0" name="send_answer_manager"/>
- <field eval="0" name="wait"/>
- </record>
<record id="hr_evaluation_plan_phase_sendtoemployee0" model="hr_evaluation.plan.phase">
<field name="plan_id" ref="hr_evaluation_plan_managersevaluationplan0"/>
<field name="name">Send to Employee</field>
<field eval="0" name="send_anonymous_manager"/>
- <field eval="3" name="sequence"/>
+ <field eval="1" name="sequence"/>
<field name="company_id" ref="base.main_company"/>
<field name="action">self</field>
<field eval="0" name="send_anonymous_employee"/>
@@ -1196,19 +1170,6 @@ Once the form had been filled, the employee send it to his supervisor.
<field eval="0" name="send_answer_manager"/>
<field eval="0" name="wait"/>
</record>
- <record id="hr_evaluation_plan_phase_finalinterviewwithmanager0" model="hr_evaluation.plan.phase">
- <field name="plan_id" ref="hr_evaluation_plan_managersevaluationplan0"/>
- <field name="name">Final Interview With Manager</field>
- <field eval="0" name="send_anonymous_manager"/>
- <field eval="4" name="sequence"/>
- <field name="company_id" ref="base.main_company"/>
- <field name="action">final</field>
- <field eval="0" name="send_anonymous_employee"/>
- <field eval="0" name="send_answer_employee"/>
- <field name="survey_id" ref="hr_evaluation.survey_2"/>
- <field eval="0" name="send_answer_manager"/>
- <field eval="1" name="wait"/>
- </record>
</data>
<data noupdate="1">
diff --git a/addons/hr_evaluation/hr_evaluation_view.xml b/addons/hr_evaluation/hr_evaluation_view.xml
index a8d0eee63f9..9611ec382e9 100644
--- a/addons/hr_evaluation/hr_evaluation_view.xml
+++ b/addons/hr_evaluation/hr_evaluation_view.xml
@@ -162,7 +162,7 @@
<button name="button_draft" string="Reset to Draft" states="cancel" type="object"/>
<button name="button_cancel" string="Cancel" states="draft,wait,progress" type="object"/>
<div class="oe_right">
- <field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,wait,done" statusbar_colors='{"progress":"blue"}'/>
+ <field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,progress,wait,done" statusbar_colors='{"progress":"blue"}'/>
</div>
<div class="oe_clear"/>
</div>
@@ -172,21 +172,20 @@
<field name="employee_id" on_change="onchange_employee_id(employee_id)"/>
<field name="plan_id"/>
<field name="date"/>
- <field name="progress" widget="progressbar"/>
</group>
- <group col="2" colspan="1">
+ <group col="2" colspan="1" attrs="{'invisible':['|', ('state','=','draft'), ('state', '=', 'wait')]}">
<separator string="Ending Summary" colspan="2"/>
- <field name="rating" attrs="{'readonly':[('state','&lt;&gt;','progress')],'required':[('state','=','progress')]}"/>
+ <field name="rating" attrs="{'readonly':[('state','&lt;&gt;','progress')]}"/>
<field name="date_close" readonly="1"/>
</group>
<notebook colspan="4">
- <page string="Appraisal">
+ <page string="Appraisal" attrs="{'invisible':[('state','=','draft')]}">
<field name="survey_request_ids" nolabel="1" colspan="4" widget="one2many">
<form string="Interview Appraisal">
<group col="4" colspan="4">
<field name="survey_id"/>
<group col="2" colspan="2">
- <button name="%(survey.action_view_survey_question_message)d" string="Interview Question" type="action" states="waiting_answer,done,cancel" icon="gtk-execute" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0, 'active' : response,'request' : True, 'object' : 'hr.evaluation.interview', 'cur_id' : active_id}" attrs="{'readonly':[('survey_id','=',False)]}"/>
+ <button name="%(survey.action_view_survey_question_message)d" string="Answer Survey" type="action" states="waiting_answer,done,cancel" icon="gtk-execute" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0, 'active' : response,'request' : True, 'object' : 'hr.evaluation.interview', 'cur_id' : active_id}" attrs="{'readonly':[('survey_id','=',False)]}"/>
<button name="%(survey.survey_browse_response)d" string="Print Interview" type="action" states="done" icon="gtk-print" context="{'survey_id': survey_id, 'response_id' : [response], 'response_no':0,}" attrs="{'readonly':[('response','=',False)]}" />
</group>
<field name="date_deadline"/>
@@ -198,15 +197,16 @@
<separator string="Status" colspan="4"/>
<group colspan="4" col="6">
<field name="state"/>
+ <button string="Done" name="survey_req_done" states="waiting_answer" type="object" icon="gtk-jump-to" />
</group>
</form>
</field>
</page>
- <page string="Internal Notes">
+ <page string="Internal Notes" attrs="{'invisible':[('state','=','draft')]}">
<field name="note_action" colspan="4" nolabel="1"
groups="base.group_hr_manager"/>
</page>
- <page string="Public Notes">
+ <page string="Public Notes" attrs="{'invisible':[('state','=','draft')]}">
<field name="note_summary" colspan="4" nolabel="1"/>
</page>
</notebook>
@@ -258,6 +258,9 @@
<separator orientation="vertical"/>
<filter icon="terp-gnome-cpu-frequency-applet+" string="Late"
help="Appraisal that overpassed the deadline" domain="[('date','&lt;=',(datetime.date.today()).strftime('%%Y-%%m-%%d'))]" />
+ <filter icon="terp-go-month" name="next_month" string=" Month+1"
+ domain="[('date','&lt;=', (datetime.date.today() + relativedelta(day=31, months=1)).strftime('%%Y-%%m-%%d')),('date','&gt;=',(datetime.date.today() + relativedelta(day=1,months=1)).strftime('%%Y-%%m-%%d')),('state','=','draft')]"
+ help="Appraisal during next month"/>
<separator orientation="vertical"/>
<field name="employee_id" />
<field name="plan_id" widget="selection" />
@@ -281,6 +284,7 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form,graph</field>
<field name="search_view_id" ref="hr_evaluation.evaluation_search"/>
+ <field name="context">{"search_default_next_month":1}</field>
<field name="help">Each employee may be assigned an Appraisal Plan. Such a plan defines the frequency and the way you manage your periodic personnel evaluation. You will be able to define steps and attach interviews to each step. OpenERP manages all kind of evaluations: bottom-up, top-down, self-evaluation and final evaluation by the manager.</field>
</record>
@@ -294,28 +298,27 @@
<field name="arch" type="xml">
<form string="Interview Appraisal">
<group col="4" colspan="4">
- <field name="survey_id"/>
- <field name="evaluation_id"/>
- <group col="2" colspan="2">
- <button name="%(survey.action_view_survey_question_message)d" string="Interview Question" type="action" states="waiting_answer,done,cancel" icon="gtk-execute" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0, 'active' : response,'request' : True, 'object' : 'hr.evaluation.interview', 'cur_id' : active_id}" attrs="{'readonly':[('survey_id','=',False)]}"/>
- <button name="%(survey.survey_browse_response)d" string="Print Interview" type="action" states="done" icon="gtk-print" context="{'survey_id': survey_id, 'response_id' : [response], 'response_no':0,}" attrs="{'readonly':[('response','=',False)]}" />
- </group>
- <field name="date_deadline"/>
- <field name="response" readonly="1"/>
- <field name="user_to_review_id"/>
- <field name="user_id" string="Interviewer"/>
- <group col="2" colspan="2">
- <button string="Send Reminder Email"
- name="%(mail.action_email_compose_message_wizard)d"
- icon="terp-mail-message-new" type="action"
- states="waiting_answer"/>
- <button name="action_print_survey" string="Print Survey" type="object" icon="gtk-print" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0}" attrs="{'readonly':[('survey_id','=',False)]}"/>
+ <field name="user_to_review_id"/>
+ <field name="user_id" string="Interviewer"/>
+ <field name="date_deadline"/>
+ <group col="4" colspan="4">
+ <field name="survey_id"/>
+ <button name="action_print_survey" string="Print Survey" type="object" icon="gtk-print" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0}" attrs="{'readonly':[('survey_id','=',False)]}"/>
+ <newline/>
+ <field name="evaluation_id"/>
+ <button string="Send Reminder Email" name="%(mail.action_email_compose_message_wizard)d" icon="terp-mail-message-new" type="action" states="waiting_answer"/>
+ <newline/>
+ <field name="response" readonly="1"/>
+ <button name="%(survey.action_view_survey_question_message)d" string="Answer Survey" type="action" states="waiting_answer,done,cancel" icon="gtk-execute" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0, 'active' : response,'request' : True, 'object' : 'hr.evaluation.interview', 'cur_id' : active_id}" attrs="{'readonly':[('survey_id','=',False)]}"/>
</group>
</group>
<newline/>
<separator string="Status" colspan="4"/>
<group colspan="4" col="6">
- <field name="state"/>
+ <field name="state" widget="statusbar" statusbar_visible="waiting_answer,done"/>
+ <button string="Send Request" name="survey_req_waiting_answer" states="draft" type="object" icon="gtk-yes" />
+ <button string="Done" name="survey_req_done" states="waiting_answer" type="object" icon="gtk-jump-to" />
+ <button string="Cancel" name="survey_req_cancel" states="draft,waiting_answer" type="object" icon="gtk-cancel"/>
</group>
</form>
</field>
@@ -332,11 +335,12 @@
<field name="user_id" string="Interviewer"/>
<field name="user_to_review_id"/>
<field name="response" readonly="1" invisible="True"/>
- <button name="%(survey.action_view_survey_question_message)d" string="Interview Question" type="action" states="waiting_answer,done,cancel" icon="gtk-execute" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0, 'active' : response, 'request' : True, 'object' : 'hr.evaluation.interview', 'cur_id' : active_id}" attrs="{'readonly':[('survey_id','=',False)]}"/>
- <button name="%(survey.survey_browse_response)d" string="Print Interview" type="action" states="done" icon="gtk-print" context="{'survey_id': survey_id, 'response_id' : [response], 'response_no':0}" attrs="{'readonly':[('response','=',False)]}" />
+ <button name="%(survey.action_view_survey_question_message)d" string="Answer Survey" type="action" states="waiting_answer,done,cancel" icon="gtk-execute" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0, 'active' : response, 'request' : True, 'object' : 'hr.evaluation.interview', 'cur_id' : active_id}" attrs="{'readonly':[('survey_id','=',False)]}"/>
<button name="action_print_survey" string="Print Survey" type="object" icon="gtk-print" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0}" attrs="{'readonly':[('survey_id','=',False)]}"/>
<button name="%(mail.action_email_compose_message_wizard)d" string="Send Reminder Email" icon="terp-mail-message-new" type="action" colspan="2" states="waiting_answer"/>
<field name="state"/>
+ <button string="Send Request" name="survey_req_waiting_answer" states="draft" type="object" icon="gtk-yes" />
+ <button string="Done" name="survey_req_done" states="waiting_answer" type="object" icon="gtk-jump-to" />
</tree>
</field>
</record>
diff --git a/addons/hr_evaluation/report/hr_evaluation_report.py b/addons/hr_evaluation/report/hr_evaluation_report.py
index a5f4bc71e2f..ac32133186c 100644
--- a/addons/hr_evaluation/report/hr_evaluation_report.py
+++ b/addons/hr_evaluation/report/hr_evaluation_report.py
@@ -31,7 +31,6 @@ class hr_evaluation_report(osv.osv):
'create_date': fields.date('Create Date', readonly=True),
'delay_date':fields.float('Delay to Start', digits=(16,2),readonly=True),
'overpass_delay':fields.float('Overpassed Deadline', digits=(16,2), readonly=True),
- 'progress_bar' : fields.float("Progress"),
'day': fields.char('Day', size=128, readonly=True),
'deadline': fields.date("Deadline", readonly=True),
'request_id': fields.many2one('survey.request', 'Request_id', readonly=True),
@@ -77,7 +76,6 @@ class hr_evaluation_report(osv.osv):
to_char(s.create_date, 'MM') as month,
count(l.*) as nbr,
s.state,
- s.progress as progress_bar,
avg(extract('epoch' from age(s.create_date,CURRENT_DATE)))/(3600*24) as delay_date,
avg(extract('epoch' from age(s.date,CURRENT_DATE)))/(3600*24) as overpass_delay
from
@@ -96,7 +94,6 @@ class hr_evaluation_report(osv.osv):
s.date_close,
l.request_id,
s.rating,
- s.progress,
s.plan_id
)
""")
diff --git a/addons/hr_evaluation/report/hr_evaluation_report_view.xml b/addons/hr_evaluation/report/hr_evaluation_report_view.xml
index a0ef05fcf69..2cf5a930b4d 100644
--- a/addons/hr_evaluation/report/hr_evaluation_report_view.xml
+++ b/addons/hr_evaluation/report/hr_evaluation_report_view.xml
@@ -20,7 +20,6 @@
<field name="rating" invisible="1"/>
<field name="state" invisible="1"/>
<field name="nbr" sum="# of Requests"/>
- <field name="progress_bar" widget="progressbar"/>
<field name="delay_date"/>
<field name="overpass_delay"/>
</tree>
diff --git a/addons/hr_evaluation/security/ir.model.access.csv b/addons/hr_evaluation/security/ir.model.access.csv
index e3a79b55a45..f9b8897eb01 100644
--- a/addons/hr_evaluation/security/ir.model.access.csv
+++ b/addons/hr_evaluation/security/ir.model.access.csv
@@ -25,7 +25,7 @@ access_survey_page_hr_user,survey.page.hr.user,survey.model_survey_page,base.gro
access_survey_response_hr_user,survey.response.hr.user,survey.model_survey_response,base.group_hr_user,1,1,1,0
access_survey_history_hr_user,survey.history.hr.user,survey.model_survey_history,base.group_hr_user,1,1,1,0
access_survey_request_hr_user,survey.request.hr.user,survey.model_survey_request,base.group_hr_user,1,1,1,0
-access_survey_question_column_heading_hr_user,survey.question.column.heading.hr.user,survey.model_survey_question_column_heading,base.group_hr_user,1,0,0,0
+access_survey_question_column_heading_hr_user,survey.question.column.heading.hr.user,survey.model_survey_question_column_heading,base.group_hr_user,1,1,1,0
access_survey_response_line_hr_user,survey.response.line.hr.user,survey.model_survey_response_line,base.group_hr_user,1,1,1,0
access_survey_tbl_column_heading_hr_user,survey.tbl.column.heading.hr.user,survey.model_survey_tbl_column_heading,base.group_hr_user,1,1,1,0
access_base_calendar_attendee_survey_user,base.calendar.calendar.attendee.survey.user,base_calendar.model_calendar_attendee,base.group_survey_user,1,1,1,0
diff --git a/addons/hr_expense/i18n/ja.po b/addons/hr_expense/i18n/ja.po
index 0c9668d4890..ca86e455ea2 100644
--- a/addons/hr_expense/i18n/ja.po
+++ b/addons/hr_expense/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2012-05-10 18:26+0000\n"
-"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
+"PO-Revision-Date: 2012-05-29 01:29+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 05:03+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-05-30 05:21+0000\n"
+"X-Generator: Launchpad (build 15316)\n"
#. module: hr_expense
#: model:process.node,name:hr_expense.process_node_confirmedexpenses0
@@ -851,7 +851,7 @@ msgstr "経費"
#. module: hr_expense
#: constraint:product.product:0
msgid "Error: Invalid ean code"
-msgstr "エラー:無効な欧州統一商品番号です。"
+msgstr "エラー:無効な商品識別番号です。"
#. module: hr_expense
#: view:hr.expense.report:0 field:hr.expense.report,year:0
diff --git a/addons/hr_holidays/hr_holidays.py b/addons/hr_holidays/hr_holidays.py
index 4e68cdfb2f9..ce11812b479 100644
--- a/addons/hr_holidays/hr_holidays.py
+++ b/addons/hr_holidays/hr_holidays.py
@@ -112,25 +112,24 @@ class hr_holidays(osv.osv):
_columns = {
'name': fields.char('Description', required=True, size=64),
- 'state': fields.selection([('draft', 'New'), ('cancel', 'Cancelled'),('confirm', 'Waiting Approval'), ('refuse', 'Refused'),
- ('validate1', 'Waiting Second Approval'), ('validate', 'Approved')],
- 'Status', readonly=True, help='The status is set to \'Draft\', when a holiday request is created.\
- \nThe status is \'Waiting Approval\', when holiday request is confirmed by user.\
- \nThe status is \'Refused\', when holiday request is refused by manager.\
- \nThe status is \'Approved\', when holiday request is approved by manager.'),
+ 'state': fields.selection([('draft', 'To Submit'), ('cancel', 'Cancelled'),('confirm', 'To Approve'), ('refuse', 'Refused'), ('validate1', 'Second Approval'), ('validate', 'Approved')],
+ 'State', readonly=True, help='The state is set to \'To Submit\', when a holiday request is created.\
+ \nThe state is \'To Approve\', when holiday request is confirmed by user.\
+ \nThe state is \'Refused\', when holiday request is refused by manager.\
+ \nThe state is \'Approved\', when holiday request is approved by manager.'),
'user_id':fields.related('employee_id', 'user_id', type='many2one', relation='res.users', string='User', store=True),
- 'date_from': fields.datetime('Start Date', readonly=True, states={'draft':[('readonly',False)]}, select=True),
- 'date_to': fields.datetime('End Date', readonly=True, states={'draft':[('readonly',False)]}),
- 'holiday_status_id': fields.many2one("hr.holidays.status", "Leave Type", required=True,readonly=True, states={'draft':[('readonly',False)]}),
- 'employee_id': fields.many2one('hr.employee', "Employee", select=True, invisible=False, readonly=True, states={'draft':[('readonly',False)]}, help='Leave Manager can let this field empty if this leave request/allocation is for every employee'),
+ 'date_from': fields.datetime('Start Date', readonly=True, states={'draft':[('readonly',False)], 'confirm':[('readonly',False)]}, select=True),
+ 'date_to': fields.datetime('End Date', readonly=True, states={'draft':[('readonly',False)], 'confirm':[('readonly',False)]}),
+ 'holiday_status_id': fields.many2one("hr.holidays.status", "Leave Type", required=True,readonly=True, states={'draft':[('readonly',False)], 'confirm':[('readonly',False)]}),
+ 'employee_id': fields.many2one('hr.employee', "Employee", select=True, invisible=False, readonly=True, states={'draft':[('readonly',False)], 'confirm':[('readonly',False)]}, help='Leave Manager can let this field empty if this leave request/allocation is for every employee'),
#'manager_id': fields.many2one('hr.employee', 'Leave Manager', invisible=False, readonly=True, help='This area is automatically filled by the user who validate the leave'),
#'notes': fields.text('Notes',readonly=True, states={'draft':[('readonly',False)]}),
'manager_id': fields.many2one('hr.employee', 'First Approval', invisible=False, readonly=True, help='This area is automatically filled by the user who validate the leave'),
- 'notes': fields.text('Reasons',readonly=True, states={'draft':[('readonly',False)]}),
- 'number_of_days_temp': fields.float('Number of Days', readonly=True, states={'draft':[('readonly',False)]}),
+ 'notes': fields.text('Reasons',readonly=True, states={'draft':[('readonly',False)], 'confirm':[('readonly',False)]}),
+ 'number_of_days_temp': fields.float('Number of Days', readonly=True, states={'draft':[('readonly',False)], 'confirm':[('readonly',False)]}),
'number_of_days': fields.function(_compute_number_of_days, string='Number of Days', store=True),
'case_id': fields.many2one('crm.meeting', 'Meeting'),
- 'type': fields.selection([('remove','Leave Request'),('add','Allocation Request')], 'Request Type', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Choose 'Leave Request' if someone wants to take an off-day. \nChoose 'Allocation Request' if you want to increase the number of leaves available for someone", select=True),
+ 'type': fields.selection([('remove','Leave Request'),('add','Allocation Request')], 'Request Type', required=True, readonly=True, states={'draft':[('readonly',False)], 'confirm':[('readonly',False)]}, help="Choose 'Leave Request' if someone wants to take an off-day. \nChoose 'Allocation Request' if you want to increase the number of leaves available for someone", select=True),
'parent_id': fields.many2one('hr.holidays', 'Parent'),
'linked_request_ids': fields.one2many('hr.holidays', 'parent_id', 'Linked Requests',),
'department_id':fields.related('employee_id', 'department_id', string='Department', type='many2one', relation='hr.department', readonly=True, store=True),
diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml
index 190129a1bb5..618d981ad41 100644
--- a/addons/hr_holidays/hr_holidays_view.xml
+++ b/addons/hr_holidays/hr_holidays_view.xml
@@ -65,11 +65,11 @@
<field name="arch" type="xml">
<form layout="manual">
<div class="oe_form_topbar">
- <button string="Confirm" name="confirm" states="draft" type="workflow"/>
+ <button string="Submit to Manager" name="confirm" states="draft" type="workflow"/>
<button string="Approve" name="validate" states="confirm" type="workflow" groups="base.group_hr_user"/>
- <button string="Approved" name="second_validate" states="validate1" type="workflow" groups="base.group_hr_user"/>
+ <button string="Validate" name="second_validate" states="validate1" type="workflow" groups="base.group_hr_user"/>
<button string="Refuse" name="refuse" states="confirm,validate1" type="workflow" groups="base.group_hr_user,base.group_hr_manager"/>
- <button string="Set to Draft" name="set_to_draft" states="refuse,validate" type="object" groups="base.group_hr_user"/>
+ <button string="Reset to New" name="set_to_draft" states="refuse,validate" type="object" groups="base.group_hr_user"/>
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,confirm,validate" statusbar_colors='{"confirm":"blue","validate1":"blue","refuse":"red"}'/>
</div>
@@ -80,7 +80,7 @@
<field name="name" attrs="{'readonly':[('state','!=','draft'),('state','!=','confirm')]}"/>
<field name="holiday_type" on_change="onchange_type(holiday_type)" attrs="{'readonly':[('state','!=','draft')]}" width="130" string="Mode" groups="base.group_hr_user"/>
<group attrs="{'invisible':[('holiday_type','=','employee')]}">
- <field name="category_id" attrs="{'required':[('holiday_type','=','category')], 'readonly':[('state','!=','draft')]}"/>
+ <field name="category_id" attrs="{'required':[('holiday_type','=','category')], 'readonly':[('state','!=','draft'), ('state','!=','confirm')]}"/>
</group>
<group attrs="{'invisible':[('holiday_type','=','category')]}">
<field name="employee_id" attrs="{'required':[('holiday_type','=','employee')]}" groups="base.group_hr_user"/>
@@ -117,11 +117,11 @@
<field name="arch" type="xml">
<form layout="manual">
<div class="oe_form_topbar">
- <button string="Confirm" name="confirm" states="draft" type="workflow"/>
+ <button string="Submit to Manager" name="confirm" states="draft" type="workflow"/>
<button string="Approve" name="validate" states="confirm" type="workflow" groups="base.group_hr_user"/>
- <button string="Approved" name="second_validate" states="validate1" type="workflow" groups="base.group_hr_user"/>
+ <button string="Validate" name="second_validate" states="validate1" type="workflow" groups="base.group_hr_user"/>
<button string="Refuse" name="refuse" states="confirm,validate1" type="workflow" groups="base.group_hr_user"/>
- <button string="Set to Draft" name="set_to_draft" states="cancel,validate,refuse" type="object" groups="base.group_hr_user"/>
+ <button string="Reset to New" name="set_to_draft" states="cancel,validate,refuse" type="object" groups="base.group_hr_user"/>
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,confirm,validate" statusbar_colors='{"confirm":"blue","validate1":"blue","refuse":"red"}'/>
</div>
@@ -141,7 +141,7 @@
<notebook colspan="4">
<page string="General">
<field name="holiday_status_id" on_change="onchange_sec_id(holiday_status_id)" context="{'employee_id':employee_id}"/>
- <field name="department_id" attrs="{'readonly':[('holiday_type','=','category')]}"/>
+ <field name="department_id" attrs="{'readonly':['|', ('holiday_type','=','category'), ('state','not in' ,('draft', 'confirm'))]}"/>
<field name="number_of_days_temp"/>
<field name="double_validation" invisible="1"/>
<newline/>
@@ -178,7 +178,7 @@
<!--field name="type"/-->
<field name="state"/>
<button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_user,base.group_hr_manager"/>
- <button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply" groups="base.group_hr_user,base.group_hr_manager"/>
+ <button string="Validate" name="second_validate" states="validate1" type="workflow" icon="gtk-apply" groups="base.group_hr_user,base.group_hr_manager"/>
</tree>
</field>
</record>
@@ -203,10 +203,10 @@
<newline/>
<field name="state" colspan="2"/>
<group colspan="2">
- <button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes"/>
+ <button string="Submit to Manager" name="confirm" states="draft" type="workflow" icon="gtk-yes"/>
<button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply"/>
<button string="Refuse" name="refuse" states="confirm,validate,draft" type="workflow" icon="gtk-no"/>
- <button string="Set to Draft" name="set_to_draft" states="cancel" type="object" icon="gtk-convert"/>
+ <button string="Reset to New" name="set_to_draft" states="cancel" type="object" icon="gtk-convert"/>
</group>
</page>
</notebook>
@@ -234,7 +234,7 @@
<field name="manager_id" invisible="1"/>
<field name="user_id" invisible="1"/>
<field name="state"/>
- <button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes"/>
+ <button string="Submit to Manager" name="confirm" states="draft" type="workflow" icon="gtk-yes"/>
<button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_user"/>
<button string="Refuse" name="refuse" states="confirm" type="workflow" icon="gtk-no" groups="base.group_hr_user"/>
</tree>
@@ -263,7 +263,7 @@
<field name="user_id" invisible="1"/>
<!--field name="type"/-->
<button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_user"/>
- <button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply" groups="base.group_hr_user"/>
+ <button string="Validate" name="second_validate" states="validate1" type="workflow" icon="gtk-apply" groups="base.group_hr_user"/>
</tree>
</field>
</record>
diff --git a/addons/hr_holidays/i18n/gu.po b/addons/hr_holidays/i18n/gu.po
new file mode 100644
index 00000000000..bf9e1b5626f
--- /dev/null
+++ b/addons/hr_holidays/i18n/gu.po
@@ -0,0 +1,842 @@
+# Gujarati translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 01:37+0100\n"
+"PO-Revision-Date: 2012-05-25 06:46+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Gujarati <gu@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-26 05:07+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: hr_holidays
+#: selection:hr.holidays.status,color_name:0
+msgid "Blue"
+msgstr "વાદળી"
+
+#. module: hr_holidays
+#: field:hr.holidays,holiday_type:0
+msgid "Allocation Type"
+msgstr "ફાળવણી પ્રકાર"
+
+#. module: hr_holidays
+#: selection:hr.employee,current_leave_state:0 selection:hr.holidays,state:0
+msgid "Waiting Second Approval"
+msgstr ""
+
+#. module: hr_holidays
+#: help:hr.holidays.status,remaining_leaves:0
+msgid "Maximum Leaves Allowed - Leaves Already Taken"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "Leaves Management"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "Group By..."
+msgstr "ગ્રુપ દ્વારા..."
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "Allocation Mode"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0 field:hr.holidays,department_id:0
+msgid "Department"
+msgstr "વિભાગ"
+
+#. module: hr_holidays
+#: model:ir.actions.act_window,name:hr_holidays.request_approve_holidays
+msgid "Requests Approve"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.employee,current_leave_state:0 selection:hr.holidays,state:0
+msgid "Refused"
+msgstr ""
+
+#. module: hr_holidays
+#: help:hr.holidays,category_id:0
+msgid "Category of Employee"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid " Month-1"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.holidays.status,color_name:0
+msgid "Brown"
+msgstr "તપખીરિયા રંગનું"
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "Remaining Days"
+msgstr "બાકીના દિવસો"
+
+#. module: hr_holidays
+#: selection:hr.holidays,holiday_type:0
+msgid "By Employee"
+msgstr "કર્મચારી દ્વારા"
+
+#. module: hr_holidays
+#: help:hr.holidays,employee_id:0
+msgid ""
+"Leave Manager can let this field empty if this leave request/allocation is "
+"for every employee"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "Set to Draft"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.holidays.status,color_name:0
+msgid "Light Cyan"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.holidays.status,color_name:0
+msgid "Light Green"
+msgstr "આછો લીલો"
+
+#. module: hr_holidays
+#: field:hr.employee,current_leave_id:0
+msgid "Current Leave Type"
+msgstr ""
+
+#. module: hr_holidays
+#: model:ir.actions.act_window,help:hr_holidays.open_ask_holidays
+msgid ""
+"Leave requests can be recorded by employees and validated by their managers. "
+"Once a leave request is validated, it appears automatically in the agenda of "
+"the employee. You can define several allowance types (paid holidays, "
+"sickness, etc.) and manage allowances per type."
+msgstr ""
+
+#. module: hr_holidays
+#: model:ir.actions.report.xml,name:hr_holidays.report_holidays_summary
+msgid "Summary Of Leaves"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.employee,current_leave_state:0 view:hr.holidays:0
+#: selection:hr.holidays,state:0
+msgid "Approved"
+msgstr "મંજૂર થઇ ચૂકી છે"
+
+#. module: hr_holidays
+#: field:hr.employee,last_login:0
+msgid "Latest Connection"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "Refuse"
+msgstr ""
+
+#. module: hr_holidays
+#: code:addons/hr_holidays/hr_holidays.py:344
+#, python-format
+msgid ""
+"You cannot validate leaves for employee %s: too few remaining days (%s)."
+msgstr ""
+
+#. module: hr_holidays
+#: help:hr.holidays,state:0
+msgid ""
+"The state is set to 'Draft', when a holiday request is created. \n"
+"The state is 'Waiting Approval', when holiday request is confirmed by user. "
+" \n"
+"The state is 'Refused', when holiday request is refused by manager. "
+" \n"
+"The state is 'Approved', when holiday request is approved by manager."
+msgstr ""
+
+#. module: hr_holidays
+#: view:board.board:0
+#: model:ir.actions.act_window,name:hr_holidays.act_hr_employee_holiday_request
+#: model:ir.ui.menu,name:hr_holidays.menu_hr_reporting_holidays
+#: model:ir.ui.menu,name:hr_holidays.menu_open_ask_holidays
+msgid "Leaves"
+msgstr ""
+
+#. module: hr_holidays
+#: model:ir.model,name:hr_holidays.model_hr_holidays
+msgid "Leave"
+msgstr ""
+
+#. module: hr_holidays
+#: model:ir.ui.menu,name:hr_holidays.menu_request_approve_holidays
+msgid "Leave Requests to Approve"
+msgstr ""
+
+#. module: hr_holidays
+#: model:ir.ui.menu,name:hr_holidays.menu_account_central_journal
+msgid "Leaves by Department"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.employee,current_leave_state:0 selection:hr.holidays,state:0
+msgid "Cancelled"
+msgstr "રદ થયેલ"
+
+#. module: hr_holidays
+#: help:hr.holidays,type:0
+msgid ""
+"Choose 'Leave Request' if someone wants to take an off-day. \n"
+"Choose 'Allocation Request' if you want to increase the number of leaves "
+"available for someone"
+msgstr ""
+
+#. module: hr_holidays
+#: help:hr.employee,remaining_leaves:0
+msgid ""
+"Total number of legal leaves allocated to this employee, change this value "
+"to create allocation/leave requests."
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays.status:0
+msgid "Validation"
+msgstr "માન્યતા"
+
+#. module: hr_holidays
+#: code:addons/hr_holidays/hr_holidays.py:377
+#, python-format
+msgid "Warning !"
+msgstr "ચેતવણી !"
+
+#. module: hr_holidays
+#: field:hr.holidays.status,color_name:0
+msgid "Color in Report"
+msgstr ""
+
+#. module: hr_holidays
+#: model:ir.model,name:hr_holidays.model_hr_holidays_summary_employee
+msgid "HR Holidays Summary Report By Employee"
+msgstr ""
+
+#. module: hr_holidays
+#: help:hr.holidays,manager_id:0
+msgid "This area is automatically filled by the user who validate the leave"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays,holiday_status_id:0
+#: field:hr.holidays.remaining.leaves.user,leave_type:0
+#: view:hr.holidays.status:0 field:hr.holidays.status,name:0
+#: field:hr.holidays.summary.dept,holiday_type:0
+#: model:ir.actions.act_window,name:hr_holidays.open_view_holiday_status
+#: model:ir.model,name:hr_holidays.model_hr_holidays_status
+#: model:ir.ui.menu,name:hr_holidays.menu_open_view_holiday_status
+msgid "Leave Type"
+msgstr ""
+
+#. module: hr_holidays
+#: code:addons/hr_holidays/hr_holidays.py:199
+#: code:addons/hr_holidays/hr_holidays.py:344
+#, python-format
+msgid "Warning!"
+msgstr "ચેતવણી!"
+
+#. module: hr_holidays
+#: selection:hr.holidays.status,color_name:0
+msgid "Magenta"
+msgstr "જાંબલી"
+
+#. module: hr_holidays
+#: code:addons/hr_holidays/wizard/hr_holidays_summary_department.py:44
+#, python-format
+msgid "You have to select at least 1 Department. And try again"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.holidays.summary.dept,holiday_type:0
+#: selection:hr.holidays.summary.employee,holiday_type:0
+msgid "Confirmed"
+msgstr "સમર્થિત"
+
+#. module: hr_holidays
+#: field:hr.holidays.summary.dept,date_from:0
+#: field:hr.holidays.summary.employee,date_from:0
+msgid "From"
+msgstr "તરફથી"
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "Confirm"
+msgstr "ખાતરી"
+
+#. module: hr_holidays
+#: code:addons/hr_holidays/hr_holidays.py:384
+#, python-format
+msgid "Leave Request for %s"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays.status,remaining_leaves:0
+msgid "Remaining Leaves"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0 field:hr.holidays,state:0
+msgid "State"
+msgstr "સ્થિતિ"
+
+#. module: hr_holidays
+#: model:ir.model,name:hr_holidays.model_hr_holidays_remaining_leaves_user
+msgid "Total holidays by type"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.employee:0 view:hr.holidays:0 field:hr.holidays,employee_id:0
+#: field:hr.holidays.remaining.leaves.user,name:0
+#: model:ir.model,name:hr_holidays.model_hr_employee
+msgid "Employee"
+msgstr "કર્મચારી"
+
+#. module: hr_holidays
+#: selection:hr.employee,current_leave_state:0 selection:hr.holidays,state:0
+msgid "New"
+msgstr "નવું"
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "Type"
+msgstr "પ્રકાર"
+
+#. module: hr_holidays
+#: selection:hr.holidays.status,color_name:0
+msgid "Red"
+msgstr "લાલ"
+
+#. module: hr_holidays
+#: view:hr.holidays.remaining.leaves.user:0
+msgid "Leaves by Type"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.holidays.status,color_name:0
+msgid "Light Salmon"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.holidays.status,color_name:0
+msgid "Wheat"
+msgstr ""
+
+#. module: hr_holidays
+#: constraint:resource.calendar.leaves:0
+msgid "Error! leave start-date must be lower then leave end-date."
+msgstr ""
+
+#. module: hr_holidays
+#: code:addons/hr_holidays/hr_holidays.py:382
+#, python-format
+msgid "Allocation for %s"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0 field:hr.holidays,number_of_days:0
+#: field:hr.holidays,number_of_days_temp:0
+msgid "Number of Days"
+msgstr ""
+
+#. module: hr_holidays
+#: code:addons/hr_holidays/hr_holidays.py:377
+#, python-format
+msgid ""
+"The feature behind the field 'Remaining Legal Leaves' can only be used when "
+"there is only one leave type with the option 'Allow to Override Limit' "
+"unchecked. (%s Found). Otherwise, the update is ambiguous as we cannot "
+"decide on which leave type the update has to be done. \n"
+"You may prefer to use the classic menus 'Leave Requests' and 'Allocation "
+"Requests' located in 'Human Resources \\ Leaves' to manage the leave days of "
+"the employees if the configuration does not allow to use this field."
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays.status:0
+msgid "Search Leave Type"
+msgstr ""
+
+#. module: hr_holidays
+#: sql_constraint:hr.holidays:0
+msgid "You have to select an employee or a category"
+msgstr ""
+
+#. module: hr_holidays
+#: help:hr.holidays.status,double_validation:0
+msgid ""
+"If its True then its Allocation/Request have to be validated by second "
+"validator"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.employee,current_leave_state:0 selection:hr.holidays,state:0
+msgid "Waiting Approval"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays.summary.employee,emp:0
+msgid "Employee(s)"
+msgstr ""
+
+#. module: hr_holidays
+#: help:hr.holidays.status,categ_id:0
+msgid ""
+"If you set a meeting type, OpenERP will create a meeting in the calendar "
+"once a leave is validated."
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays,linked_request_ids:0
+msgid "Linked Requests"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays,parent_id:0
+msgid "Parent"
+msgstr "પિતૃ"
+
+#. module: hr_holidays
+#: selection:hr.holidays.status,color_name:0
+msgid "Lavender"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "Month"
+msgstr "મહિનો"
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+#: model:ir.actions.act_window,name:hr_holidays.open_ask_holidays
+#: model:ir.ui.menu,name:hr_holidays.menu_open_ask_holidays_new
+msgid "Leave Requests"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays.status,limit:0
+msgid "Allow to Override Limit"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays.summary.employee:0
+#: model:ir.actions.act_window,name:hr_holidays.action_hr_holidays_summary_employee
+msgid "Employee's Holidays"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0 field:hr.holidays,category_id:0
+msgid "Category"
+msgstr "શ્રેણી"
+
+#. module: hr_holidays
+#: help:hr.holidays.status,max_leaves:0
+msgid ""
+"This value is given by the sum of all holidays requests with a positive "
+"value."
+msgstr ""
+
+#. module: hr_holidays
+#: view:board.board:0
+msgid "All Employee Leaves"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.holidays.status,color_name:0
+msgid "Light Coral"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays.summary.dept:0
+#: model:ir.actions.act_window,name:hr_holidays.action_hr_holidays_summary_dept
+msgid "Holidays by Department"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.holidays.status,color_name:0
+msgid "Black"
+msgstr "કાળો"
+
+#. module: hr_holidays
+#: model:ir.actions.act_window,name:hr_holidays.hr_holidays_leaves_assign_legal
+msgid "Allocate Leaves for Employees"
+msgstr ""
+
+#. module: hr_holidays
+#: field:resource.calendar.leaves,holiday_id:0
+msgid "Holiday"
+msgstr "રજાનો દિવસ"
+
+#. module: hr_holidays
+#: field:hr.holidays,case_id:0 field:hr.holidays.status,categ_id:0
+msgid "Meeting"
+msgstr "સભા"
+
+#. module: hr_holidays
+#: selection:hr.holidays.status,color_name:0
+msgid "Ivory"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.holidays.summary.dept,holiday_type:0
+#: selection:hr.holidays.summary.employee,holiday_type:0
+msgid "Both Validated and Confirmed"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays.status,leaves_taken:0
+msgid "Leaves Already Taken"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays,user_id:0
+#: field:hr.holidays.remaining.leaves.user,user_id:0
+msgid "User"
+msgstr "વપરાશકર્તા"
+
+#. module: hr_holidays
+#: sql_constraint:hr.holidays:0
+msgid "The start date must be before the end date !"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays.status,active:0
+msgid "Active"
+msgstr "સક્રિય"
+
+#. module: hr_holidays
+#: model:ir.actions.act_window,name:hr_holidays.action_view_holiday_status_manager_board
+msgid "Leaves To Validate"
+msgstr ""
+
+#. module: hr_holidays
+#: constraint:hr.employee:0
+msgid "Error ! You cannot create recursive Hierarchy of Employees."
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.employee:0 field:hr.employee,remaining_leaves:0
+msgid "Remaining Legal Leaves"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays,manager_id:0
+msgid "First Approval"
+msgstr ""
+
+#. module: hr_holidays
+#: model:hr.holidays.status,name:hr_holidays.holiday_status_unpaid
+msgid "Unpaid"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+#: model:ir.actions.act_window,name:hr_holidays.open_company_allocation
+#: model:ir.ui.menu,name:hr_holidays.menu_open_company_allocation
+msgid "Leaves Summary"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "Holidays during last month"
+msgstr ""
+
+#. module: hr_holidays
+#: code:addons/hr_holidays/wizard/hr_holidays_summary_department.py:44
+#, python-format
+msgid "Error"
+msgstr "ભૂલ"
+
+#. module: hr_holidays
+#: view:hr.employee:0
+msgid "Assign Leaves"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.holidays.status,color_name:0
+msgid "Light Blue"
+msgstr "આછો વાદળી"
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "My Department Leaves"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.employee,current_leave_state:0
+msgid "Current Leave Status"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays,type:0
+msgid "Request Type"
+msgstr ""
+
+#. module: hr_holidays
+#: help:hr.holidays.status,active:0
+msgid ""
+"If the active field is set to false, it will allow you to hide the leave "
+"type without removing it."
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays.status:0
+msgid "Misc"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "General"
+msgstr "સામાન્ય"
+
+#. module: hr_holidays
+#: model:hr.holidays.status,name:hr_holidays.holiday_status_comp
+msgid "Compensatory Days"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0 field:hr.holidays,notes:0
+msgid "Reasons"
+msgstr ""
+
+#. module: hr_holidays
+#: model:ir.actions.act_window,name:hr_holidays.action_hr_available_holidays_report
+#: model:ir.ui.menu,name:hr_holidays.menu_hr_available_holidays_report_tree
+msgid "Leaves Analysis"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays.summary.dept:0 view:hr.holidays.summary.employee:0
+msgid "Cancel"
+msgstr "રદ કરો"
+
+#. module: hr_holidays
+#: help:hr.holidays.status,color_name:0
+msgid ""
+"This color will be used in the leaves summary located in Reporting\\Leaves "
+"by Departement"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0 selection:hr.holidays.summary.dept,holiday_type:0
+#: selection:hr.holidays.summary.employee,holiday_type:0
+msgid "Validated"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0 selection:hr.holidays,type:0
+msgid "Allocation Request"
+msgstr ""
+
+#. module: hr_holidays
+#: model:ir.model,name:hr_holidays.model_resource_calendar_leaves
+msgid "Leave Detail"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays,double_validation:0
+#: field:hr.holidays.status,double_validation:0
+msgid "Apply Double Validation"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays.summary.dept:0 view:hr.holidays.summary.employee:0
+msgid "Print"
+msgstr "છાપો"
+
+#. module: hr_holidays
+#: view:hr.holidays.status:0
+msgid "Details"
+msgstr "વિગતો"
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+#: model:ir.actions.act_window,name:hr_holidays.action_hr_holidays_leaves_by_month
+msgid "My Leaves"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.holidays,holiday_type:0
+msgid "By Employee Category"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0 selection:hr.holidays,type:0
+msgid "Leave Request"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays,name:0
+msgid "Description"
+msgstr "વર્ણન"
+
+#. module: hr_holidays
+#: model:hr.holidays.status,name:hr_holidays.holiday_status_cl
+msgid "Legal Leaves"
+msgstr ""
+
+#. module: hr_holidays
+#: sql_constraint:hr.holidays:0
+msgid "The number of days must be greater than 0 !"
+msgstr ""
+
+#. module: hr_holidays
+#: help:hr.holidays,holiday_type:0
+msgid ""
+"By Employee: Allocation/Request for individual Employee, By Employee "
+"Category: Allocation/Request for group of employees in category"
+msgstr ""
+
+#. module: hr_holidays
+#: code:addons/hr_holidays/hr_holidays.py:199
+#, python-format
+msgid "You cannot delete a leave which is not in draft state !"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "Search Leave"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays.summary.employee,holiday_type:0
+msgid "Select Holiday Type"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays.remaining.leaves.user,no_of_leaves:0
+msgid "Remaining leaves"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays.summary.dept,depts:0
+msgid "Department(s)"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays,manager_id2:0
+msgid "Second Approval"
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays,date_to:0
+msgid "End Date"
+msgstr ""
+
+#. module: hr_holidays
+#: model:hr.holidays.status,name:hr_holidays.holiday_status_sl
+msgid "Sick Leaves"
+msgstr ""
+
+#. module: hr_holidays
+#: help:hr.holidays.status,limit:0
+msgid ""
+"If you tick this checkbox, the system will allow, for this section, the "
+"employees to take more leaves than the available ones."
+msgstr ""
+
+#. module: hr_holidays
+#: help:hr.holidays.status,leaves_taken:0
+msgid ""
+"This value is given by the sum of all holidays requests with a negative "
+"value."
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.holidays.status,color_name:0
+msgid "Violet"
+msgstr ""
+
+#. module: hr_holidays
+#: model:ir.actions.act_window,help:hr_holidays.hr_holidays_leaves_assign_legal
+msgid ""
+"You can assign remaining Legal Leaves for each employee, OpenERP will "
+"automatically create and validate allocation requests."
+msgstr ""
+
+#. module: hr_holidays
+#: field:hr.holidays.status,max_leaves:0
+msgid "Maximum Allowed"
+msgstr ""
+
+#. module: hr_holidays
+#: help:hr.holidays,manager_id2:0
+msgid ""
+"This area is automaticly filled by the user who validate the leave with "
+"second level (If Leave type need second validation)"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "Mode"
+msgstr ""
+
+#. module: hr_holidays
+#: model:ir.model,name:hr_holidays.model_hr_holidays_summary_dept
+msgid "HR Holidays Summary Report By Department"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "Approve"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0 field:hr.holidays,date_from:0
+msgid "Start Date"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+#: model:ir.actions.act_window,name:hr_holidays.open_allocation_holidays
+#: model:ir.ui.menu,name:hr_holidays.menu_open_allocation_holidays
+msgid "Allocation Requests"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.holidays.status,color_name:0
+msgid "Light Yellow"
+msgstr ""
+
+#. module: hr_holidays
+#: selection:hr.holidays.status,color_name:0
+msgid "Light Pink"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "Manager"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "To Confirm"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "Year"
+msgstr ""
+
+#. module: hr_holidays
+#: view:hr.holidays:0
+msgid "To Approve"
+msgstr ""
diff --git a/addons/hr_recruitment/__openerp__.py b/addons/hr_recruitment/__openerp__.py
index 4a29befbfaf..b83a482e1c1 100644
--- a/addons/hr_recruitment/__openerp__.py
+++ b/addons/hr_recruitment/__openerp__.py
@@ -37,7 +37,14 @@ system to store and search in your CV base.
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
'images': ['images/hr_recruitment_analysis.jpeg','images/hr_recruitment_applicants.jpeg'],
- 'depends': ['decimal_precision', 'hr', 'survey', 'crm', 'fetchmail'],
+ 'depends': [
+ 'base_status',
+ 'decimal_precision',
+ 'hr',
+ 'survey',
+ 'crm',
+ 'fetchmail',
+ ],
'update_xml': [
'wizard/hr_recruitment_phonecall_view.xml',
'wizard/hr_recruitment_employee_hired.xml',
diff --git a/addons/hr_recruitment/board_hr_recruitment_statistical_view.xml b/addons/hr_recruitment/board_hr_recruitment_statistical_view.xml
index 8af4b0f8553..e9054416eea 100644
--- a/addons/hr_recruitment/board_hr_recruitment_statistical_view.xml
+++ b/addons/hr_recruitment/board_hr_recruitment_statistical_view.xml
@@ -12,7 +12,7 @@
<field name="job_id"/>
<field name="partner_name"/>
<field name="stage_id"/>
- <field name="state"/>
+ <field name="state" groups="base.group_no_one"/>
</tree>
</field>
</record>
diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py
index e56551edfd7..73cec8fccf2 100644
--- a/addons/hr_recruitment/hr_recruitment.py
+++ b/addons/hr_recruitment/hr_recruitment.py
@@ -19,6 +19,7 @@
#
##############################################################################
+from base_status.base_stage import base_stage
import time
from datetime import datetime, timedelta
@@ -57,8 +58,6 @@ class hr_recruitment_source(osv.osv):
_columns = {
'name': fields.char('Source Name', size=64, required=True, translate=True),
}
-hr_recruitment_source()
-
class hr_recruitment_stage(osv.osv):
""" Stage of HR Recruitment """
@@ -69,12 +68,15 @@ class hr_recruitment_stage(osv.osv):
'name': fields.char('Name', size=64, required=True, translate=True),
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of stages."),
'department_id':fields.many2one('hr.department', 'Specific to a Department', help="Stages of the recruitment process may be different per department. If this stage is common to all departments, keep tempy this field."),
- 'requirements': fields.text('Requirements')
+ 'state': fields.selection(AVAILABLE_STATES, 'State', required=True, help="The related state for the stage. The state of your document will automatically change regarding the selected stage. Example, a stage is related to the state 'Close', when your document reach this stage, it will be automatically closed."),
+ 'fold': fields.boolean('Hide in views if empty', help="This stage is not visible, for example in status bar or kanban view, when there are no records in that stage to display."),
+ 'requirements': fields.text('Requirements'),
}
_defaults = {
'sequence': 1,
+ 'state': 'draft',
+ 'fold': False,
}
-hr_recruitment_stage()
class hr_recruitment_degree(osv.osv):
""" Degree of HR Recruitment """
@@ -90,14 +92,60 @@ class hr_recruitment_degree(osv.osv):
_sql_constraints = [
('name_uniq', 'unique (name)', 'The name of the Degree of Recruitment must be unique!')
]
-hr_recruitment_degree()
-class hr_applicant(crm.crm_case, osv.osv):
+class hr_applicant(base_stage, osv.Model):
_name = "hr.applicant"
_description = "Applicant"
_order = "id desc"
_inherit = ['ir.needaction_mixin', 'mail.thread']
+ def _get_default_department_id(self, cr, uid, context=None):
+ """ Gives default department by checking if present in the context """
+ return (self._resolve_department_id_from_context(cr, uid, context=context) or False)
+
+ def _get_default_stage_id(self, cr, uid, context=None):
+ """ Gives default stage_id """
+ department_id = self._get_default_department_id(cr, uid, context=context)
+ return self.stage_find(cr, uid, [], department_id, [('state', '=', 'draft')], context=context)
+
+ def _resolve_department_id_from_context(self, cr, uid, context=None):
+ """ Returns ID of department based on the value of 'default_department_id'
+ context key, or None if it cannot be resolved to a single
+ department.
+ """
+ if context is None:
+ context = {}
+ if type(context.get('default_department_id')) in (int, long):
+ return context.get('default_department_id')
+ if isinstance(context.get('default_department_id'), basestring):
+ department_name = context['default_department_id']
+ department_ids = self.pool.get('hr.department').name_search(cr, uid, name=department_name, context=context)
+ if len(department_ids) == 1:
+ return int(department_ids[0][0])
+ return None
+
+ def _read_group_stage_ids(self, cr, uid, ids, domain, read_group_order=None, access_rights_uid=None, context=None):
+ access_rights_uid = access_rights_uid or uid
+ stage_obj = self.pool.get('hr.recruitment.stage')
+ order = stage_obj._order
+ # lame hack to allow reverting search, should just work in the trivial case
+ if read_group_order == 'stage_id desc':
+ order = "%s desc" % order
+ # retrieve section_id from the context and write the domain
+ # - ('id', 'in', 'ids'): add columns that should be present
+ # - OR ('department_id', '=', False), ('fold', '=', False): add default columns that are not folded
+ # - OR ('department_id', 'in', department_id), ('fold', '=', False) if department_id: add department columns that are not folded
+ department_id = self._resolve_department_id_from_context(cr, uid, context=context)
+ search_domain = []
+ if department_id:
+ search_domain += ['|', '&', ('department_id', '=', department_id), ('fold', '=', False)]
+ search_domain += ['|', ('id', 'in', ids), '&', ('department_id', '=', False), ('fold', '=', False)]
+ stage_ids = stage_obj._search(cr, uid, search_domain, order=order, access_rights_uid=access_rights_uid, context=context)
+ result = stage_obj.name_get(cr, access_rights_uid, stage_ids, context=context)
+ # restore order of the search
+ result.sort(lambda x,y: cmp(stage_ids.index(x[0]), stage_ids.index(y[0])))
+ return result
+
def _compute_day(self, cr, uid, ids, fields, args, context=None):
"""
@param cr: the current row, from the database cursor,
@@ -142,12 +190,15 @@ class hr_applicant(crm.crm_case, osv.osv):
'partner_id': fields.many2one('res.partner', 'Partner'),
'create_date': fields.datetime('Creation Date', readonly=True, select=True),
'write_date': fields.datetime('Update Date', readonly=True),
- 'stage_id': fields.many2one ('hr.recruitment.stage', 'Stage'),
- 'state': fields.selection(AVAILABLE_STATES, 'Status', size=16, readonly=True,
- help='The state is set to \'Draft\', when a case is created.\
- \nIf the case is in progress the state is set to \'Open\'.\
- \nWhen the case is over, the state is set to \'Done\'.\
- \nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
+ 'stage_id': fields.many2one ('hr.recruitment.stage', 'Stage',
+ domain="['|', ('department_id', '=', department_id), ('department_id', '=', False)]"),
+ 'state': fields.related('stage_id', 'state', type="selection", store=True,
+ selection=AVAILABLE_STATES, string="State", readonly=True,
+ help='The state is set to \'Draft\', when a case is created.\
+ If the case is in progress the state is set to \'Open\'.\
+ When the case is over, the state is set to \'Done\'.\
+ If the case needs to be reviewed then the state is \
+ set to \'Pending\'.'),
'company_id': fields.many2one('res.company', 'Company'),
'user_id': fields.many2one('res.users', 'Responsible'),
# Applicant Columns
@@ -168,7 +219,6 @@ class hr_applicant(crm.crm_case, osv.osv):
'partner_mobile': fields.char('Mobile', size=32),
'type_id': fields.many2one('hr.recruitment.degree', 'Degree'),
'department_id': fields.many2one('hr.department', 'Department'),
- 'state': fields.selection(AVAILABLE_STATES, 'Status', size=16, readonly=True),
'survey': fields.related('job_id', 'survey_id', type='many2one', relation='survey', string='Survey'),
'response': fields.integer("Response"),
'reference': fields.char('Refered By', size=128),
@@ -184,33 +234,19 @@ class hr_applicant(crm.crm_case, osv.osv):
_defaults = {
'active': lambda *a: 1,
- 'user_id': lambda self, cr, uid, context: uid,
- 'email_from': crm.crm_case. _get_default_email,
- 'state': lambda *a: 'draft',
+ 'user_id': lambda s, cr, uid, c: uid,
+ 'email_from': lambda s, cr, uid, c: s._get_default_email(cr, uid, c),
+ 'stage_id': lambda s, cr, uid, c: s._get_default_stage_id(cr, uid, c),
+ 'department_id': lambda s, cr, uid, c: s._get_default_department_id(cr, uid, c),
'priority': lambda *a: '',
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.helpdesk', context=c),
'color': 0,
}
- def _read_group_stage_ids(self, cr, uid, ids, domain, read_group_order=None, access_rights_uid=None, context=None):
- access_rights_uid = access_rights_uid or uid
- stage_obj = self.pool.get('hr.recruitment.stage')
- order = stage_obj._order
- if read_group_order == 'stage_id desc':
- # lame hack to allow reverting search, should just work in the trivial case
- order = "%s desc" % order
- stage_ids = stage_obj._search(cr, uid, ['|',('id','in',ids),('department_id','=',False)], order=order,
- access_rights_uid=access_rights_uid, context=context)
- result = stage_obj.name_get(cr, access_rights_uid, stage_ids, context=context)
- # restore order of the search
- result.sort(lambda x,y: cmp(stage_ids.index(x[0]), stage_ids.index(y[0])))
- return result
-
_group_by_full = {
'stage_id': _read_group_stage_ids
}
-
def onchange_job(self,cr, uid, ids, job, context=None):
result = {}
@@ -228,47 +264,33 @@ class hr_applicant(crm.crm_case, osv.osv):
stage_id = stage_ids and stage_ids[0] or False
return {'value': {'stage_id': stage_id}}
- def stage_previous(self, cr, uid, ids, context=None):
- """This function computes previous stage for case from its current stage
- using available stage for that case type
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of case IDs
- @param context: A standard dictionary for contextual values"""
- stage_obj = self.pool.get('hr.recruitment.stage')
- for case in self.browse(cr, uid, ids, context=context):
- department = (case.department_id.id or False)
- st = case.stage_id.id or False
- stage_ids = stage_obj.search(cr, uid, ['|',('department_id','=',department),('department_id','=',False)], context=context)
- if st and stage_ids.index(st):
- self.write(cr, uid, [case.id], {'stage_id': stage_ids[stage_ids.index(st)-1]}, context=context)
- else:
- self.write(cr, uid, [case.id], {'stage_id': False}, context=context)
- return True
-
- def stage_next(self, cr, uid, ids, context=None):
- """This function computes next stage for case from its current stage
- using available stage for that case type
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of case IDs
- @param context: A standard dictionary for contextual values"""
- stage_obj = self.pool.get('hr.recruitment.stage')
- for case in self.browse(cr, uid, ids, context=context):
- department = (case.department_id.id or False)
- st = case.stage_id.id or False
- stage_ids = stage_obj.search(cr, uid, ['|',('department_id','=',department),('department_id','=',False)], context=context)
- val = False
- if st and len(stage_ids) != stage_ids.index(st)+1:
- val = stage_ids[stage_ids.index(st)+1]
- elif (not st) and stage_ids:
- val = stage_ids[0]
- else:
- val = False
- self.write(cr, uid, [case.id], {'stage_id': val}, context=context)
- return True
+ def stage_find(self, cr, uid, cases, section_id, domain=[], order='sequence', context=None):
+ """ Override of the base.stage method
+ Parameter of the stage search taken from the lead:
+ - department_id: if set, stages must belong to this section or
+ be a default case
+ """
+ if isinstance(cases, (int, long)):
+ cases = self.browse(cr, uid, cases, context=context)
+ # collect all section_ids
+ department_ids = []
+ if section_id:
+ department_ids.append(section_id)
+ for case in cases:
+ if case.department_id:
+ department_ids.append(case.department_id.id)
+ # OR all section_ids and OR with case_default
+ search_domain = []
+ if department_ids:
+ search_domain += ['|', ('department_id', 'in', department_ids)]
+ search_domain.append(('department_id', '=', False))
+ # AND with the domain in parameter
+ search_domain += list(domain)
+ # perform search, return the first found
+ stage_ids = self.pool.get('hr.recruitment.stage').search(cr, uid, search_domain, order=order, context=context)
+ if stage_ids:
+ return stage_ids[0]
+ return False
def action_makeMeeting(self, cr, uid, ids, context=None):
"""
@@ -473,12 +495,6 @@ class hr_applicant(crm.crm_case, osv.osv):
"""
return self.set_priority(cr, uid, ids, '3')
- def write(self, cr, uid, ids, vals, context=None):
- if 'stage_id' in vals and vals['stage_id']:
- stage = self.pool.get('hr.recruitment.stage').browse(cr, uid, vals['stage_id'], context=context)
- self.message_append_note(cr, uid, ids, body=_("Stage changed to <b>%s</b>.") % stage.name, context=context)
- return super(hr_applicant,self).write(cr, uid, ids, vals, context=context)
-
# -------------------------------------------------------
# OpenChatter methods and notifications
# -------------------------------------------------------
@@ -496,7 +512,13 @@ class hr_applicant(crm.crm_case, osv.osv):
if obj.state == 'draft' and obj.user_id:
result[obj.id] = [obj.user_id.id]
return result
-
+
+ def stage_set_send_note(self, cr, uid, ids, stage_id, context=None):
+ """ Override of the (void) default notification method. """
+ if not stage_id: return True
+ stage_name = self.pool.get('hr.recruitment.stage').name_get(cr, uid, [stage_id], context=context)[0][1]
+ return self.message_append_note(cr, uid, ids, body= _("Stage changed to <b>%s</b>.") % (stage_name), context=context)
+
def case_get_note_msg_prefix(self, cr, uid, id, context=None):
return 'Applicant'
@@ -528,7 +550,6 @@ class hr_applicant(crm.crm_case, osv.osv):
message = _("Applicant has been <b>created</b>.")
return self.message_append_note(cr, uid, ids, body=message, context=context)
-hr_applicant()
class hr_job(osv.osv):
_inherit = "hr.job"
@@ -536,6 +557,6 @@ class hr_job(osv.osv):
_columns = {
'survey_id': fields.many2one('survey', 'Interview Form', help="Choose an interview form for this job position and you will be able to print/answer this interview from all applicants who apply for this job"),
}
-hr_job()
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_recruitment/hr_recruitment_data.xml b/addons/hr_recruitment/hr_recruitment_data.xml
index d6cb5952d38..8cbebda5f1f 100644
--- a/addons/hr_recruitment/hr_recruitment_data.xml
+++ b/addons/hr_recruitment/hr_recruitment_data.xml
@@ -1,7 +1,9 @@
<?xml version="1.0"?>
<openerp>
+<!--
<data noupdate="1">
-
+-->
+<data>
<!-- HR Recruitment Source -->
@@ -37,30 +39,36 @@
<field name="name">Doctoral Degree</field>
<field name="sequence">4</field>
</record>
-
<record model="hr.recruitment.stage" id="stage_job1">
<field name="name">Initial Qualification</field>
+ <field name="state">draft</field>
<field name="sequence">1</field>
</record>
<record model="hr.recruitment.stage" id="stage_job2">
<field name="name">First Interview</field>
+ <field name="state">open</field>
<field name="sequence">2</field>
</record>
<record model="hr.recruitment.stage" id="stage_job3">
<field name="name">Second Interview</field>
+ <field name="state">open</field>
<field name="sequence">3</field>
</record>
<record model="hr.recruitment.stage" id="stage_job4">
<field name="name">Contract Proposed</field>
+ <field name="state">pending</field>
<field name="sequence">4</field>
</record>
<record model="hr.recruitment.stage" id="stage_job5">
<field name="name">Contract Signed</field>
+ <field name="state">done</field>
<field name="sequence">5</field>
</record>
<record model="hr.recruitment.stage" id="stage_job6">
<field name="name">Refused</field>
+ <field name="state">cancel</field>
<field name="sequence">6</field>
+ <field name="fold" eval="True"/>
</record>
<record id="survey_job_0" model="survey">
<field name="title">Job Survey</field>
diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml
index e7382309494..916fe846501 100644
--- a/addons/hr_recruitment/hr_recruitment_view.xml
+++ b/addons/hr_recruitment/hr_recruitment_view.xml
@@ -62,9 +62,9 @@
<field name="availability" invisible="1"/>
<field name="department_id" invisible="context.get('invisible_department', True)"/>
<field name="user_id"/>
- <field name="state"/>
- <button name="case_open" string="In Progress" states="draft,pending" type="object" icon="gtk-go-forward"/>
- <button name="case_pending" string="Pending" states="open" type="object" icon="gtk-media-pause"/>
+ <field name="state" groups="base.group_no_one"/>
+ <button name="case_open" string="In Progress" states="draft,pending" type="object" icon="gtk-go-forward" groups="base.group_no_one"/>
+ <button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause" groups="base.group_no_one"/>
</tree>
</field>
</record>
@@ -76,14 +76,24 @@
<field name="arch" type="xml">
<form layout="manual">
<div class="oe_form_topbar">
- <button name="%(action_hr_recruitment_hired_employee)d" string="Hire" states="open,pending" type="action"/>
- <button name="case_open" string="In Progress" states="draft,pending" type="object"/>
- <button name="case_pending" string="Pending" states="open" type="object"/>
- <button name="case_reset" string="Reset to New" states="done,cancel" type="object"/>
- <button name="case_cancel" string="Refuse" states="draft,open,pending" type="object"/>
+ <button name="%(action_hr_recruitment_hired_employee)d" string="Hire" type="action"
+ states="open,pending"/>
+ <button name="case_open" string="Open" type="object"
+ states="draft,pending"/>
+ <button name="case_pending" string="Pending" type="object"
+ states="open"/>
+ <button name="case_reset" string="Reset to New" type="object"
+ states="done,cancel"/>
+ <button name="case_cancel" string="Refuse" type="object"
+ states="draft,open,pending"/>
+ <button name="stage_previous" string="Previous" type="object"
+ states="open" icon="gtk-go-back"/>
+ <button name="stage_next" string="Next" type="object"
+ states="open" icon="gtk-go-forward"/>
<div class="oe_right">
- <field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
+ <field name="stage_id" nolabel="1" widget="statusbar"/>
</div>
+ <div class="oe_clear"/>
</div>
<sheet string="Jobs - Recruitment Form" layout="auto">
<group colspan="4" col="4">
@@ -96,11 +106,7 @@
<field name="user_id"/>
<field name="job_id" on_change="onchange_job(job_id)"/>
<field name="department_id" widget="selection" on_change="onchange_department_id(department_id)"/>
- <group colspan="2" col="4">
- <field name="stage_id" domain="['|',('department_id','=',department_id),('department_id','=',False)]"/>
- <button name="stage_previous" string="" type="object" icon="gtk-go-back"/>
- <button icon="gtk-go-forward" string="" name="stage_next" type="object"/>
- </group>
+ <field name="state" groups="base.group_no_one"/>
<field name="date_action"/>
<group colspan="2" col="8">
<field name="title_action"/>
@@ -139,6 +145,13 @@
<field name="source_id"/>
<field name="reference"/>
</group>
+ <group col="2" colspan="2">
+ <separator colspan="2" string="Dates"/>
+ <field name="create_date"/>
+ <field name="write_date"/>
+ <field name="date_closed"/>
+ <field name="date_open"/>
+ </group>
</page>
<page string="Notes">
<field name="description" nolabel="1" colspan="4"/>
@@ -241,7 +254,7 @@
<field name="arch" type="xml">
<kanban default_group_by="stage_id">
<field name="color"/>
- <field name="state"/>
+ <field name="state" groups="base.group_no_one"/>
<field name="priority"/>
<field name="survey"/>
<field name="user_id"/>
@@ -360,6 +373,7 @@
<field name="sequence" invisible="1"/>
<field name="name"/>
<field name="department_id"/>
+ <field name="state"/>
</tree>
</field>
</record>
@@ -377,6 +391,7 @@
<field name="name" select="1"/>
<field name="department_id"/>
<field name="sequence"/>
+ <field name="state"/>
</group>
<separator string="Requirements" colspan="4"/>
<field name="requirements" nolabel="1" colspan="4"/>
diff --git a/addons/hr_recruitment/test/recruitment_process.yml b/addons/hr_recruitment/test/recruitment_process.yml
index e856747ed99..38b84fccab2 100644
--- a/addons/hr_recruitment/test/recruitment_process.yml
+++ b/addons/hr_recruitment/test/recruitment_process.yml
@@ -1,7 +1,7 @@
-
In Order to test process of Recruitment,
-
- Applicant interested in job position. so He send resume by email.
+ An applicant is interested in the job position. So he sends a resume by email.
-
!python {model: mail.thread}: |
import addons
@@ -9,28 +9,43 @@
request_message = request_file.read()
self.message_process(cr, uid, 'hr.applicant', request_message)
-
- After getting the mail, I check details of new applicant.
+ After getting the mail, I check the details of the new applicant.
-
!python {model: hr.applicant}: |
applicant_ids = self.search(cr, uid, [('email_from','=', 'Mr. Richard Anderson <Richard_Anderson@yahoo.com>')])
assert applicant_ids, "Applicant is not created after getting the mail"
applicant = self.browse(cr, uid, applicant_ids[0], context=context)
resume_ids = self.pool.get('ir.attachment').search(cr, uid, [('datas_fname','=','resume.doc'),('res_model','=',self._name),('res_id','=',applicant.id)])
- assert applicant.name == "Application for the post of Jr.application Programmer.", "Subject does not match"
- assert applicant.state == "draft"
- assert len(resume_ids), "Resume does not attached."
+ assert applicant.name == "Application for the post of Jr.application Programmer.", "Applicant name does not match."
+ assert applicant.stage_id.id == ref('hr_recruitment.stage_job1'), "Stage should be 'Initial qualification' and is '%s'." % (applicant.stage_id.name)
+ assert applicant.state == "draft", "Applicant state should be 'draft'."
+ assert len(resume_ids), "Resume is not attached."
-
- I refuse applicant for the Recruitment.
+ I refuse the applicant (hr_case_programmer)
-
!python {model: hr.applicant}: |
- self.case_close(cr, uid, [ref("hr_case_programmer")])
+ self.case_cancel(cr, uid, [ref("hr_case_programmer")])
-
- I open applicant for the Recruitment.
+ I check the details of the refused applicant.
+-
+ !python {model: hr.applicant}: |
+ applicant = self.browse(cr, uid, ref("hr_case_programmer"), context=context)
+ assert applicant.stage_id.id == ref('hr_recruitment.stage_job6'), "Stage should be 'Refused' and is %s." % (applicant.stage_id.name)
+ assert applicant.state == 'cancel', "Applicant is not in 'cancel' state."
+-
+ I reset and re-open the previously refused applicant.
-
!python {model: hr.applicant}: |
self.case_reset(cr, uid, [ref("hr_case_programmer")])
self.case_open(cr, uid, [ref("hr_case_programmer")])
-
+ I check the details of the re-opened applicant.
+-
+ !python {model: hr.applicant}: |
+ applicant = self.browse(cr, uid, ref("hr_case_programmer"), context=context)
+ assert applicant.stage_id.id == ref('hr_recruitment.stage_job2'), "Stage should be 'First interview' and is '%s'." % (applicant.stage_id.name)
+ assert applicant.state == "open", "Applicant state should be 'open'."
+-
I assign the Job position to the applicant
-
!python {model: hr.applicant}: |
@@ -91,7 +106,7 @@
-
I check that applicant is "Hired".
-
- !assert {model: hr.applicant, id: hr_case_programmer}:
+ !assert {model: hr.applicant, id: hr_case_programmer, string: Applicant state is done}:
- state == 'done'
-
I do not give employment to the hired the applicant.
diff --git a/addons/hr_timesheet_sheet/i18n/zh_CN.po b/addons/hr_timesheet_sheet/i18n/zh_CN.po
index b912c7eabcd..f49530fecb1 100644
--- a/addons/hr_timesheet_sheet/i18n/zh_CN.po
+++ b/addons/hr_timesheet_sheet/i18n/zh_CN.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2012-02-13 04:47+0000\n"
-"Last-Translator: Jeff Wang <wjfonhand@hotmail.com>\n"
+"PO-Revision-Date: 2012-05-29 05:42+0000\n"
+"Last-Translator: ccdos <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-02-14 05:44+0000\n"
-"X-Generator: Launchpad (build 14781)\n"
+"X-Launchpad-Export-Date: 2012-05-30 05:21+0000\n"
+"X-Generator: Launchpad (build 15316)\n"
#. module: hr_timesheet_sheet
#: field:hr.analytic.timesheet,sheet_id:0 field:hr.attendance,sheet_id:0
@@ -61,7 +61,7 @@ msgstr "本年的计工单"
#. module: hr_timesheet_sheet
#: model:process.transition,name:hr_timesheet_sheet.process_transition_tasktimesheet0
msgid "Task timesheet"
-msgstr "工作记工单"
+msgstr "工作计工单"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
@@ -78,7 +78,7 @@ msgstr "请核实这表的总差异少于 %.2f !"
#. module: hr_timesheet_sheet
#: selection:hr.timesheet.report,month:0 selection:timesheet.report,month:0
msgid "March"
-msgstr "3月"
+msgstr ""
#. module: hr_timesheet_sheet
#: view:timesheet.report:0 field:timesheet.report,cost:0
@@ -105,7 +105,7 @@ msgstr "公司"
#: model:process.node,name:hr_timesheet_sheet.process_node_timesheet0
#: view:timesheet.report:0
msgid "Timesheet"
-msgstr "记工单"
+msgstr "计工单"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
@@ -120,7 +120,7 @@ msgstr "日期到"
#. module: hr_timesheet_sheet
#: model:process.node,note:hr_timesheet_sheet.process_node_invoiceonwork0
msgid "Based on the timesheet"
-msgstr "根据记工单"
+msgstr "根据计工单"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0 view:timesheet.report:0
@@ -173,7 +173,7 @@ msgstr "拒绝"
#, python-format
msgid ""
"You cannot enter an attendance date outside the current timesheet dates!"
-msgstr "您不能输入一个超过当前记工单日期的考勤日期!"
+msgstr "您不能输入一个超过当前计工单日期的考勤日期!"
#. module: hr_timesheet_sheet
#: model:ir.actions.act_window,help:hr_timesheet_sheet.action_hr_timesheet_current_open
@@ -185,8 +185,8 @@ msgid ""
"the user and can be validated by his manager. If required, as defined on the "
"project, you can generate the invoices based on the timesheet."
msgstr ""
-"用\"我的记工单\"菜单开启您的记工单所以您能在系统预定你的活动。用相同方式,您能记录您的考勤(签入/签出)同时记录在不同项目的工作时间。在公司定义的期末"
-",确认用户的记工单和经由经理使其生效。如果需要,可以定义为一个项目,你能给这记工单开发票。"
+"用\"我的计工单\"菜单开启您的计工单所以您能在系统预定你的活动。用相同方式,您能记录您的考勤(签入/签出)同时记录在不同项目的工作时间。在公司定义的期末"
+",确认用户的记工单和经由经理使其生效。如果需要,可以定义为一个项目,你能给这计工单开发票。"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet.day:0
@@ -227,7 +227,7 @@ msgstr "警告!"
#. module: hr_timesheet_sheet
#: model:process.node,note:hr_timesheet_sheet.process_node_attendance0
msgid "Employee's timesheet entry"
-msgstr "员工记工单"
+msgstr "员工计工单"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0 field:hr.timesheet.report,account_id:0
@@ -259,7 +259,7 @@ msgstr " 月份 "
#: model:ir.ui.menu,name:hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form
#: view:res.company:0
msgid "Timesheets"
-msgstr "记工单"
+msgstr "计工单"
#. module: hr_timesheet_sheet
#: model:process.node,name:hr_timesheet_sheet.process_node_confirmedtimesheet0
@@ -282,7 +282,7 @@ msgstr "确认"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,timesheet_ids:0
msgid "Timesheet lines"
-msgstr "记工单明细"
+msgstr "计工单明细"
#. module: hr_timesheet_sheet
#: constraint:res.company:0
@@ -343,7 +343,7 @@ msgstr "总时间"
#: view:hr_timesheet_sheet.sheet:0
#: model:ir.actions.act_window,name:hr_timesheet_sheet.act_hr_timesheet_sheet_sheet_2_hr_analytic_timesheet
msgid "Timesheet Lines"
-msgstr "记工单明细"
+msgstr "计工单明细"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
@@ -370,7 +370,7 @@ msgstr "无效操作!"
#. module: hr_timesheet_sheet
#: model:process.transition,note:hr_timesheet_sheet.process_transition_validatetimesheet0
msgid "The project manager validates the timesheets."
-msgstr "项目经理审核记工单"
+msgstr "项目经理审核计工单"
#. module: hr_timesheet_sheet
#: selection:hr.timesheet.report,month:0 selection:timesheet.report,month:0
@@ -403,7 +403,7 @@ msgstr "# 数量"
#: view:hr_timesheet_sheet.sheet.day:0
#: field:hr_timesheet_sheet.sheet.day,total_timesheet:0
msgid "Total Timesheet"
-msgstr "总记工单"
+msgstr "总计工单"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
@@ -418,7 +418,7 @@ msgstr "签入"
#. module: hr_timesheet_sheet
#: view:timesheet.report:0 field:timesheet.report,total_timesheet:0
msgid "#Total Timesheet"
-msgstr "# 总记工单"
+msgstr "# 总计工单"
#. module: hr_timesheet_sheet
#: model:ir.model,name:hr_timesheet_sheet.model_hr_timesheet_current_open
@@ -451,7 +451,7 @@ msgstr "要为员工创建计工单,你要给该员工指定一个产品,例
#. module: hr_timesheet_sheet
#: view:hr.timesheet.current.open:0
msgid "It will open your current timesheet"
-msgstr "它将开启您当前记工单"
+msgstr "它将开启您当前计工单"
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:241
@@ -504,12 +504,12 @@ msgstr "开发票"
msgid ""
"The timesheet line represents the time spent by the employee on a specific "
"service provided."
-msgstr "记工单明细代表员工在特定服务所花费的时间。"
+msgstr "计工单明细代表员工在特定服务所花费的时间。"
#. module: hr_timesheet_sheet
#: constraint:hr_timesheet_sheet.sheet:0
msgid "You must select a Current date which is in the timesheet dates !"
-msgstr "您选择的当前日期必须要在记工单里!"
+msgstr "您选择的当前日期必须要在计工单里!"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,name:0
@@ -523,7 +523,7 @@ msgid ""
"in the system. It allows you to have a full overview of entries done by "
"your employees. You can group them by specific selection criteria thanks to "
"the search tool."
-msgstr "在系统里这报表分析创建的记工单,它可以使您一览您的员工的工作。您可以在搜索工具选择具体的标准来分组。"
+msgstr "在系统里这报表分析创建的计工单,它可以使您一览您的员工的工作。您可以在搜索工具选择具体的标准来分组。"
#. module: hr_timesheet_sheet
#: view:timesheet.report:0 selection:timesheet.report,state:0
@@ -533,17 +533,17 @@ msgstr "草稿"
#. module: hr_timesheet_sheet
#: field:res.company,timesheet_max_difference:0
msgid "Timesheet allowed difference(Hours)"
-msgstr "记工单允许的差异(小时)"
+msgstr "计工单允许的差异(小时)"
#. module: hr_timesheet_sheet
#: model:process.transition,note:hr_timesheet_sheet.process_transition_invoiceontimesheet0
msgid "The invoice is created based on the timesheet."
-msgstr "这发票创建基于这记工单"
+msgstr "这发票创建基于这计工单"
#. module: hr_timesheet_sheet
#: model:process.node,name:hr_timesheet_sheet.process_node_drafttimesheetsheet0
msgid "Draft Timesheet"
-msgstr "记工单草稿"
+msgstr "计工单草稿"
#. module: hr_timesheet_sheet
#: selection:res.company,timesheet_range:0
@@ -574,13 +574,13 @@ msgstr "当前状态"
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:646
#, python-format
msgid "You cannot modify an entry in a confirmed timesheet !"
-msgstr "您不能修改一个已确认的记工单!"
+msgstr "您不能修改一个已确认的计工单!"
#. module: hr_timesheet_sheet
#: model:ir.model,name:hr_timesheet_sheet.model_hr_timesheet_sheet_sheet_account
#: model:ir.model,name:hr_timesheet_sheet.model_hr_timesheet_sheet_sheet_day
msgid "Timesheets by Period"
-msgstr "记工单周期"
+msgstr "计工单周期"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0 field:hr.timesheet.report,user_id:0
@@ -592,7 +592,7 @@ msgstr "用户"
#. module: hr_timesheet_sheet
#: model:ir.actions.act_window,name:hr_timesheet_sheet.act_hr_timesheet_sheet_sheet_by_account
msgid "Timesheet by Account"
-msgstr "辅助核算项的记工单"
+msgstr "辅助核算项的计工单"
#. module: hr_timesheet_sheet
#: field:hr.timesheet.report,date:0 field:hr_timesheet_sheet.sheet.day,name:0
@@ -612,13 +612,13 @@ msgstr "增加筛选条件"
#. module: hr_timesheet_sheet
#: field:res.company,timesheet_range:0
msgid "Timesheet range"
-msgstr "记工单范围"
+msgstr "计工单范围"
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:548
#, python-format
msgid "You can not modify an entry in a confirmed timesheet !"
-msgstr "您不能修改一张已确认的记工单!"
+msgstr "您不能修改一张已确认的计工单!"
#. module: hr_timesheet_sheet
#: view:board.board:0
@@ -646,7 +646,7 @@ msgid ""
"Check your timesheets for a specific period. You can also encode time spent "
"on a project (i.e. an analytic account) thus generating costs in the "
"analytic account concerned."
-msgstr "在指定的周期检查您的记工单。您也可以在项目花费的时间进行编码(即辅助核算项)因此在这辅助核算项生成有关成本。"
+msgstr "在指定的周期检查您的计工单。您也可以在项目花费的时间进行编码(即辅助核算项)因此在这辅助核算项生成有关成本。"
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:237
@@ -728,7 +728,7 @@ msgstr "查找辅助核算项"
msgid ""
"Allowed difference in hours between the sign in/out and the timesheet "
"computation for one sheet. Set this to 0 if you do not want any control."
-msgstr "签入/签出和在一个记工单里的容许的差异小时。如果您不想这样控制设为0."
+msgstr "签入/签出和在一个计工单里的容许的差异小时。如果您不想这样控制设为0."
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0 field:hr_timesheet_sheet.sheet,period_ids:0
@@ -789,13 +789,13 @@ msgstr "本月的计工单"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet.account:0
msgid "Timesheet by Accounts"
-msgstr "辅助核算项记工单"
+msgstr "辅助核算项计工单"
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/wizard/hr_timesheet_current.py:51
#, python-format
msgid "Open Timesheet"
-msgstr "开始的记工单"
+msgstr "开始的计工单"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0 view:timesheet.report:0
@@ -817,21 +817,21 @@ msgid ""
"* The 'Done' state is used when users timesheet is accepted by his/her "
"senior."
msgstr ""
-" * “草稿”状态用于一个新的和未确认的记工单。\n"
-"* \"已确认\"状态用于用户确认一个记工单。\n"
-"* “完成”状态用于用户记工单已被他/她的上级审核。"
+" * “草稿”状态用于一个新的和未确认的计工单。\n"
+"* \"已确认\"状态用于用户确认一个计工单。\n"
+"* “完成”状态用于用户计工单已被他/她的上级审核。"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
#: model:ir.actions.act_window,name:hr_timesheet_sheet.action_hr_timesheet_report_stat_all
#: model:ir.ui.menu,name:hr_timesheet_sheet.menu_hr_timesheet_report_all
msgid "Timesheet Analysis"
-msgstr "记工单分析"
+msgstr "计工单分析"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
msgid "Search Timesheet"
-msgstr "查找记工单"
+msgstr "查找计工单"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
@@ -841,7 +841,7 @@ msgstr "已确认的计工单"
#. module: hr_timesheet_sheet
#: model:ir.model,name:hr_timesheet_sheet.model_hr_analytic_timesheet
msgid "Timesheet Line"
-msgstr "记工单明细"
+msgstr "计工单明细"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0 field:hr.timesheet.report,product_id:0
@@ -864,7 +864,7 @@ msgstr "说明"
#. module: hr_timesheet_sheet
#: model:process.transition,note:hr_timesheet_sheet.process_transition_confirmtimesheet0
msgid "The employee periodically confirms his own timesheets."
-msgstr "员工定期确认自己的记工单"
+msgstr "员工定期确认自己的计工单"
#. module: hr_timesheet_sheet
#: selection:hr.timesheet.report,month:0 selection:timesheet.report,month:0
@@ -884,7 +884,7 @@ msgstr "签出"
#. module: hr_timesheet_sheet
#: model:process.transition,note:hr_timesheet_sheet.process_transition_tasktimesheet0
msgid "Moves task entry into the timesheet line"
-msgstr "把工作调入记工单明细中"
+msgstr "把工作调入计工单明细中"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet.day:0
@@ -895,7 +895,7 @@ msgstr "工作时长"
#: model:ir.actions.act_window,name:hr_timesheet_sheet.action_timesheet_report_stat_all
#: model:ir.ui.menu,name:hr_timesheet_sheet.menu_timesheet_report_all
msgid "Timesheet Sheet Analysis"
-msgstr "记工单分析"
+msgstr "计工单分析"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,total_difference:0
@@ -1008,7 +1008,7 @@ msgstr "当前日期"
#. module: hr_timesheet_sheet
#: model:process.process,name:hr_timesheet_sheet.process_process_hrtimesheetprocess0
msgid "Hr Timesheet"
-msgstr "人力资源 记工单"
+msgstr "人力资源 计工单"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0 field:hr.timesheet.report,year:0
diff --git a/addons/idea/i18n/gu.po b/addons/idea/i18n/gu.po
new file mode 100644
index 00000000000..3cd7b9f5054
--- /dev/null
+++ b/addons/idea/i18n/gu.po
@@ -0,0 +1,710 @@
+# Gujarati translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-06-01 05:11+0000\n"
+"Last-Translator: Jalpesh Patel(OpenERP) <pja@tinyerp.com>\n"
+"Language-Team: Gujarati <gu@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: idea
+#: help:idea.category,visibility:0
+msgid "If True creator of the idea will be visible to others"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+msgid "By States"
+msgstr ""
+
+#. module: idea
+#: model:ir.actions.act_window,name:idea.action_idea_select
+msgid "Idea select"
+msgstr "વિચાર પસંદ કરો"
+
+#. module: idea
+#: view:idea.idea:0
+#: view:idea.vote:0
+#: model:ir.ui.menu,name:idea.menu_idea_vote
+msgid "Votes"
+msgstr "મત"
+
+#. module: idea
+#: view:idea.idea:0
+#: field:idea.idea,comment_ids:0
+msgid "Comments"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+msgid "Submit Vote"
+msgstr "મત જમા કરો"
+
+#. module: idea
+#: model:ir.actions.act_window,name:idea.action_report_vote_all
+#: model:ir.ui.menu,name:idea.menu_report_vote_all
+msgid "Ideas Analysis"
+msgstr "વિચારો નું પૃથક્કરણ"
+
+#. module: idea
+#: view:idea.category:0
+#: view:idea.idea:0
+#: view:idea.vote:0
+#: view:report.vote:0
+msgid "Group By..."
+msgstr ""
+
+#. module: idea
+#: selection:report.vote,month:0
+msgid "March"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+msgid "Accepted Ideas"
+msgstr "સ્વીકૃત વિચારો"
+
+#. module: idea
+#: code:addons/idea/wizard/idea_post_vote.py:94
+#, python-format
+msgid "Idea must be in 'Open' state before vote for that idea."
+msgstr ""
+
+#. module: idea
+#: view:report.vote:0
+msgid "Open Date"
+msgstr ""
+
+#. module: idea
+#: view:report.vote:0
+#: field:report.vote,day:0
+msgid "Day"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+msgid "Refuse"
+msgstr "નકારવા"
+
+#. module: idea
+#: field:idea.idea,count_votes:0
+msgid "Count of votes"
+msgstr "મતો ગણતરી"
+
+#. module: idea
+#: model:ir.model,name:idea.model_report_vote
+msgid "Idea Vote Statistics"
+msgstr "વિચાર મતોની આંકડાકીય માહિતી"
+
+#. module: idea
+#: selection:idea.idea,my_vote:0
+#: selection:idea.post.vote,vote:0
+#: selection:idea.vote,score:0
+#: selection:idea.vote.stat,score:0
+msgid "Bad"
+msgstr "ખરાબ"
+
+#. module: idea
+#: selection:report.vote,idea_state:0
+msgid "Cancelled"
+msgstr ""
+
+#. module: idea
+#: view:idea.category:0
+msgid "Category of ideas"
+msgstr "વિચારો ની શ્રેણી"
+
+#. module: idea
+#: code:addons/idea/idea.py:274
+#: code:addons/idea/wizard/idea_post_vote.py:91
+#: code:addons/idea/wizard/idea_post_vote.py:94
+#, python-format
+msgid "Warning !"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+msgid "Your Comment"
+msgstr ""
+
+#. module: idea
+#: model:ir.model,name:idea.model_idea_vote
+msgid "Idea Vote"
+msgstr ""
+
+#. module: idea
+#: field:idea.category,parent_id:0
+msgid "Parent Categories"
+msgstr "પિતૃ શ્રેણીઓ"
+
+#. module: idea
+#: selection:idea.idea,my_vote:0
+#: selection:idea.post.vote,vote:0
+#: selection:idea.vote,score:0
+#: selection:idea.vote.stat,score:0
+msgid "Very Bad"
+msgstr "ખૂબ ખરાબ"
+
+#. module: idea
+#: view:idea.vote:0
+msgid "Ideas vote"
+msgstr ""
+
+#. module: idea
+#: view:report.vote:0
+#: field:report.vote,nbr:0
+msgid "# of Lines"
+msgstr ""
+
+#. module: idea
+#: code:addons/idea/wizard/idea_post_vote.py:91
+#, python-format
+msgid "You can not give Vote for this idea more than %s times"
+msgstr ""
+
+#. module: idea
+#: view:idea.category:0
+msgid "Ideas Categories"
+msgstr "વિચારોની શ્રેણીઓ"
+
+#. module: idea
+#: help:idea.idea,description:0
+msgid "Content of the idea"
+msgstr "વિચાર સામગ્રી"
+
+#. module: idea
+#: model:ir.model,name:idea.model_idea_category
+msgid "Idea Category"
+msgstr "વિચાર શ્રેણીમાં"
+
+#. module: idea
+#: view:idea.idea:0
+#: field:idea.idea,stat_vote_ids:0
+msgid "Statistics"
+msgstr "આંકડાકીય માહિતી"
+
+#. module: idea
+#: selection:idea.idea,my_vote:0
+#: selection:idea.post.vote,vote:0
+#: selection:idea.vote,score:0
+#: selection:idea.vote.stat,score:0
+msgid "Not Voted"
+msgstr ""
+
+#. module: idea
+#: sql_constraint:idea.category:0
+msgid "The name of the category must be unique"
+msgstr "શ્રેણી નામ વિશિષ્ટ હોવું જ જોઈએ"
+
+#. module: idea
+#: model:ir.model,name:idea.model_idea_select
+msgid "select idea"
+msgstr "વિચાર પસંદ કરો"
+
+#. module: idea
+#: view:idea.stat:0
+msgid "stat"
+msgstr ""
+
+#. module: idea
+#: field:idea.category,child_ids:0
+msgid "Child Categories"
+msgstr ""
+
+#. module: idea
+#: view:idea.select:0
+msgid "Next"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+#: field:idea.idea,state:0
+#: view:report.vote:0
+#: field:report.vote,idea_state:0
+msgid "State"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+#: selection:idea.idea,state:0
+msgid "New"
+msgstr ""
+
+#. module: idea
+#: selection:idea.idea,my_vote:0
+#: selection:idea.post.vote,vote:0
+#: selection:idea.vote,score:0
+#: selection:idea.vote.stat,score:0
+msgid "Good"
+msgstr ""
+
+#. module: idea
+#: help:idea.idea,open_date:0
+msgid "Date when an idea opened"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+msgid "Idea Detail"
+msgstr "વિચાર વિગતો"
+
+#. module: idea
+#: help:idea.idea,state:0
+msgid ""
+"When the Idea is created the state is 'Draft'.\n"
+" It is opened by the user, the state is 'Opened'. \n"
+"If the idea is accepted, the state is 'Accepted'."
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+msgid "New Ideas"
+msgstr "નવા વિચારો"
+
+#. module: idea
+#: view:report.vote:0
+msgid "Idea Vote created last month"
+msgstr ""
+
+#. module: idea
+#: field:idea.category,visibility:0
+#: field:idea.idea,visibility:0
+msgid "Open Idea?"
+msgstr ""
+
+#. module: idea
+#: view:report.vote:0
+msgid "Idea Vote created in current month"
+msgstr ""
+
+#. module: idea
+#: selection:report.vote,month:0
+msgid "July"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+#: selection:idea.idea,state:0
+#: view:report.vote:0
+#: selection:report.vote,idea_state:0
+msgid "Accepted"
+msgstr "સ્વીકૃત"
+
+#. module: idea
+#: model:ir.actions.act_window,name:idea.action_idea_category
+#: model:ir.ui.menu,name:idea.menu_idea_category
+msgid "Categories"
+msgstr ""
+
+#. module: idea
+#: view:idea.category:0
+msgid "Parent Category"
+msgstr "પિતૃ શ્રેણીમાં"
+
+#. module: idea
+#: field:idea.idea,open_date:0
+msgid "Open date"
+msgstr ""
+
+#. module: idea
+#: field:idea.idea,vote_ids:0
+#: model:ir.actions.act_window,name:idea.action_idea_post_vote
+msgid "Vote"
+msgstr "મત"
+
+#. module: idea
+#: model:ir.actions.act_window,name:idea.action_idea_vote_stat
+#: model:ir.ui.menu,name:idea.menu_idea_vote_stat
+msgid "Vote Statistics"
+msgstr "મત ની આંકડાકીય માહિતી"
+
+#. module: idea
+#: field:idea.idea,vote_limit:0
+msgid "Maximum Vote per User"
+msgstr "મહત્તમ વપરાશકર્તા માટે મત"
+
+#. module: idea
+#: view:idea.vote.stat:0
+msgid "vote_stat of ideas"
+msgstr ""
+
+#. module: idea
+#: field:idea.comment,content:0
+#: view:idea.idea:0
+#: view:idea.post.vote:0
+#: field:idea.vote,comment:0
+#: model:ir.model,name:idea.model_idea_comment
+msgid "Comment"
+msgstr "ટીકા"
+
+#. module: idea
+#: selection:report.vote,month:0
+msgid "September"
+msgstr ""
+
+#. module: idea
+#: selection:report.vote,month:0
+msgid "December"
+msgstr ""
+
+#. module: idea
+#: view:report.vote:0
+#: field:report.vote,month:0
+msgid "Month"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+#: model:ir.actions.act_window,name:idea.action_idea_idea_categ_open
+#: model:ir.actions.act_window,name:idea.action_idea_idea_open
+msgid "Open Ideas"
+msgstr ""
+
+#. module: idea
+#: view:idea.category:0
+#: field:idea.category,name:0
+#: view:idea.idea:0
+#: field:idea.idea,category_id:0
+#: view:report.vote:0
+#: field:report.vote,category_id:0
+msgid "Category"
+msgstr ""
+
+#. module: idea
+#: selection:idea.idea,my_vote:0
+#: selection:idea.post.vote,vote:0
+#: selection:idea.vote,score:0
+#: selection:idea.vote.stat,score:0
+msgid "Very Good"
+msgstr ""
+
+#. module: idea
+#: selection:idea.idea,state:0
+#: selection:report.vote,idea_state:0
+msgid "Opened"
+msgstr ""
+
+#. module: idea
+#: model:ir.actions.act_window,name:idea.action_idea_vote
+msgid "Idea's Votes"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+msgid "By Idea Category"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+msgid "New Idea"
+msgstr "નવો વિચાર"
+
+#. module: idea
+#: model:ir.actions.act_window,name:idea.action_idea_category_tree
+#: model:ir.ui.menu,name:idea.menu_idea_category_tree
+msgid "Ideas by Categories"
+msgstr ""
+
+#. module: idea
+#: selection:report.vote,idea_state:0
+msgid "Draft"
+msgstr ""
+
+#. module: idea
+#: selection:report.vote,month:0
+msgid "August"
+msgstr ""
+
+#. module: idea
+#: selection:idea.idea,my_vote:0
+#: selection:idea.post.vote,vote:0
+#: selection:idea.vote,score:0
+#: selection:idea.vote.stat,score:0
+msgid "Normal"
+msgstr ""
+
+#. module: idea
+#: selection:report.vote,month:0
+msgid "June"
+msgstr ""
+
+#. module: idea
+#: field:report.vote,creater_id:0
+#: field:report.vote,user_id:0
+msgid "User Name"
+msgstr ""
+
+#. module: idea
+#: model:ir.model,name:idea.model_idea_vote_stat
+msgid "Idea Votes Statistics"
+msgstr ""
+
+#. module: idea
+#: field:idea.comment,user_id:0
+#: view:idea.vote:0
+#: field:idea.vote,user_id:0
+#: view:report.vote:0
+msgid "User"
+msgstr ""
+
+#. module: idea
+#: field:idea.vote,date:0
+msgid "Date"
+msgstr ""
+
+#. module: idea
+#: selection:report.vote,month:0
+msgid "November"
+msgstr ""
+
+#. module: idea
+#: field:idea.idea,my_vote:0
+msgid "My Vote"
+msgstr ""
+
+#. module: idea
+#: selection:report.vote,month:0
+msgid "October"
+msgstr ""
+
+#. module: idea
+#: field:idea.comment,create_date:0
+#: field:idea.idea,created_date:0
+msgid "Creation date"
+msgstr ""
+
+#. module: idea
+#: selection:report.vote,month:0
+msgid "January"
+msgstr ""
+
+#. module: idea
+#: model:ir.model,name:idea.model_idea_idea
+msgid "idea.idea"
+msgstr ""
+
+#. module: idea
+#: field:idea.category,summary:0
+msgid "Summary"
+msgstr ""
+
+#. module: idea
+#: field:idea.idea,name:0
+msgid "Idea Summary"
+msgstr ""
+
+#. module: idea
+#: view:idea.post.vote:0
+msgid "Post"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+msgid "History"
+msgstr ""
+
+#. module: idea
+#: field:report.vote,date:0
+msgid "Date Order"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+#: field:idea.idea,user_id:0
+#: view:report.vote:0
+msgid "Creator"
+msgstr ""
+
+#. module: idea
+#: view:idea.post.vote:0
+#: model:ir.ui.menu,name:idea.menu_give_vote
+msgid "Give Vote"
+msgstr ""
+
+#. module: idea
+#: help:idea.idea,vote_limit:0
+msgid "Set to one if you require only one Vote per user"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+msgid "By Creators"
+msgstr ""
+
+#. module: idea
+#: view:idea.post.vote:0
+msgid "Cancel"
+msgstr ""
+
+#. module: idea
+#: view:idea.select:0
+msgid "Close"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+msgid "Open"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+#: view:report.vote:0
+msgid "In Progress"
+msgstr ""
+
+#. module: idea
+#: view:report.vote:0
+msgid "Idea Vote Analysis"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+#: model:ir.actions.act_window,name:idea.action_idea_idea
+#: model:ir.ui.menu,name:idea.menu_idea_idea
+#: model:ir.ui.menu,name:idea.menu_ideas
+#: model:ir.ui.menu,name:idea.menu_ideas1
+msgid "Ideas"
+msgstr ""
+
+#. module: idea
+#: model:ir.model,name:idea.model_idea_post_vote
+msgid "Post vote"
+msgstr ""
+
+#. module: idea
+#: field:idea.vote.stat,score:0
+#: field:report.vote,score:0
+msgid "Score"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+msgid "Votes Statistics"
+msgstr ""
+
+#. module: idea
+#: view:idea.vote:0
+msgid "Comments:"
+msgstr ""
+
+#. module: idea
+#: view:idea.category:0
+#: field:idea.idea,description:0
+#: field:idea.post.vote,note:0
+msgid "Description"
+msgstr ""
+
+#. module: idea
+#: selection:report.vote,month:0
+msgid "May"
+msgstr ""
+
+#. module: idea
+#: selection:idea.idea,state:0
+#: view:report.vote:0
+msgid "Refused"
+msgstr ""
+
+#. module: idea
+#: view:idea.vote:0
+msgid "Vote Date"
+msgstr ""
+
+#. module: idea
+#: selection:report.vote,month:0
+msgid "February"
+msgstr ""
+
+#. module: idea
+#: field:idea.category,complete_name:0
+msgid "Name"
+msgstr ""
+
+#. module: idea
+#: field:idea.vote.stat,nbr:0
+msgid "Number of Votes"
+msgstr ""
+
+#. module: idea
+#: view:report.vote:0
+msgid "Month-1"
+msgstr ""
+
+#. module: idea
+#: selection:report.vote,month:0
+msgid "April"
+msgstr ""
+
+#. module: idea
+#: field:idea.idea,count_comments:0
+msgid "Count of comments"
+msgstr ""
+
+#. module: idea
+#: field:idea.vote,score:0
+msgid "Vote Status"
+msgstr ""
+
+#. module: idea
+#: view:report.vote:0
+msgid "Idea Vote created in current year"
+msgstr ""
+
+#. module: idea
+#: field:idea.idea,vote_avg:0
+msgid "Average Score"
+msgstr ""
+
+#. module: idea
+#: constraint:idea.category:0
+msgid "Error ! You cannot create recursive categories."
+msgstr ""
+
+#. module: idea
+#: field:idea.comment,idea_id:0
+#: field:idea.select,idea_id:0
+#: view:idea.vote:0
+#: field:idea.vote,idea_id:0
+#: field:idea.vote.stat,idea_id:0
+#: model:ir.ui.menu,name:idea.menu_idea_reporting
+#: view:report.vote:0
+#: field:report.vote,idea_id:0
+msgid "Idea"
+msgstr ""
+
+#. module: idea
+#: view:idea.idea:0
+msgid "Accept"
+msgstr ""
+
+#. module: idea
+#: field:idea.post.vote,vote:0
+msgid "Post Vote"
+msgstr ""
+
+#. module: idea
+#: view:report.vote:0
+#: field:report.vote,year:0
+msgid "Year"
+msgstr ""
+
+#. module: idea
+#: code:addons/idea/idea.py:274
+#, python-format
+msgid "You can not vote on a Draft/Accepted/Cancelled ideas."
+msgstr ""
+
+#. module: idea
+#: view:idea.select:0
+msgid "Select Idea for Vote"
+msgstr ""
diff --git a/addons/import_base/i18n/ja.po b/addons/import_base/i18n/ja.po
new file mode 100644
index 00000000000..373a4668d1b
--- /dev/null
+++ b/addons/import_base/i18n/ja.po
@@ -0,0 +1,104 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-24 18:29+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-25 04:40+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:434
+#, python-format
+msgid "Import failed due to an unexpected error"
+msgstr "予期しないエラーでインポートが失敗しました。"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:461
+#, python-format
+msgid "started at %s and finished at %s \n"
+msgstr "%s で起動し %s で終了 \n"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:448
+#, python-format
+msgid "Import of your data finished at %s"
+msgstr "データのインポートは %s で終了しました。"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:463
+#, python-format
+msgid ""
+"but failed, in consequence no data were imported to keep database "
+"consistency \n"
+" error : \n"
+msgstr ""
+"失敗しました。結果としてデータベースの整合性維持のためデータはインポートされませんでした。 \n"
+" エラー: \n"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:477
+#, python-format
+msgid ""
+"The import of data \n"
+" instance name : %s \n"
+msgstr ""
+"データのインポート\n"
+" インスタンス名:%s \n"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:470
+#, python-format
+msgid "%s has been successfully imported from %s %s, %s \n"
+msgstr "%s は正常にインポートされました。元:%s %s、%s \n"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:447
+#, python-format
+msgid "Data Import failed at %s due to an unexpected error"
+msgstr "データインポートは %s で予期しないエラーのため失敗しました。"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:436
+#, python-format
+msgid "Import finished, notification email sended"
+msgstr "インポートが完了しました。通知メールが送信されました。"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:190
+#, python-format
+msgid "%s is not a valid model name"
+msgstr "%s は有効なモデル名ではありません。"
+
+#. module: import_base
+#: model:ir.ui.menu,name:import_base.menu_import_crm
+msgid "Import"
+msgstr "インポート"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:467
+#, python-format
+msgid "with no warning"
+msgstr "警告なしで"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:469
+#, python-format
+msgid "with warning : %s"
+msgstr "警告付きで:%s"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:191
+#, python-format
+msgid " fields imported : "
+msgstr " 項目がインポートされました: "
diff --git a/addons/import_base/i18n/ro.po b/addons/import_base/i18n/ro.po
new file mode 100644
index 00000000000..aa7dba14d3d
--- /dev/null
+++ b/addons/import_base/i18n/ro.po
@@ -0,0 +1,104 @@
+# Romanian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-26 19:17+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Romanian <ro@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-27 04:40+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:434
+#, python-format
+msgid "Import failed due to an unexpected error"
+msgstr "Importul a esuat datorita unei greseli neasteptate"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:461
+#, python-format
+msgid "started at %s and finished at %s \n"
+msgstr "inceput la %s si finalizat la %s \n"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:448
+#, python-format
+msgid "Import of your data finished at %s"
+msgstr "Importul datelor d-voastra s-a finalizat la %s"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:463
+#, python-format
+msgid ""
+"but failed, in consequence no data were imported to keep database "
+"consistency \n"
+" error : \n"
+msgstr ""
+"dar a esuat, in consecinta nu au fost importate datele pentru a mentine "
+"consistenta bazei de date \n"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:477
+#, python-format
+msgid ""
+"The import of data \n"
+" instance name : %s \n"
+msgstr ""
+"Importul datelor \n"
+" nume instanta : %s \n"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:470
+#, python-format
+msgid "%s has been successfully imported from %s %s, %s \n"
+msgstr "%s a fost importat cu succes de la %s %s, %s \n"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:447
+#, python-format
+msgid "Data Import failed at %s due to an unexpected error"
+msgstr "Importul de date a esuat la %s datorita unei erori neasteptate"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:436
+#, python-format
+msgid "Import finished, notification email sended"
+msgstr "Importul s-a finalizat, a fost trimis e-mail-ul de instiintare"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:190
+#, python-format
+msgid "%s is not a valid model name"
+msgstr "%s nu este nu nume valid de model"
+
+#. module: import_base
+#: model:ir.ui.menu,name:import_base.menu_import_crm
+msgid "Import"
+msgstr "Importati"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:467
+#, python-format
+msgid "with no warning"
+msgstr "fara avertizare"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:469
+#, python-format
+msgid "with warning : %s"
+msgstr "cu avertizare : %s"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:191
+#, python-format
+msgid " fields imported : "
+msgstr " campuri importate : "
diff --git a/addons/import_google/i18n/ja.po b/addons/import_google/i18n/ja.po
new file mode 100644
index 00000000000..ad1ab085495
--- /dev/null
+++ b/addons/import_google/i18n/ja.po
@@ -0,0 +1,223 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-24 18:56+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-25 04:40+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: import_google
+#: help:synchronize.google.import,group_name:0
+msgid "Choose which group to import, By default it takes all."
+msgstr "インポートするグループを選択して下さい。デフォルトでは全てを取得します。"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "Import Google Calendar Events"
+msgstr "Googleカレンダーイベントのインポート"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "_Import Events"
+msgstr "イベントのインポート"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:71
+#, python-format
+msgid ""
+"No Google Username or password Defined for user.\n"
+"Please define in user view"
+msgstr ""
+"ユーザのGoogleユーザ名またはパスワードが定義されていません。\n"
+"ユーザビューで定義して下さい。"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:127
+#, python-format
+msgid ""
+"Invalid login detail !\n"
+" Specify Username/Password."
+msgstr ""
+"ログインの詳細が無効です。\n"
+" ユーザ名 / パスワードを指定して下さい。"
+
+#. module: import_google
+#: field:synchronize.google.import,supplier:0
+msgid "Supplier"
+msgstr "仕入先"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "Import Options"
+msgstr "インポートオプション"
+
+#. module: import_google
+#: field:synchronize.google.import,group_name:0
+msgid "Group Name"
+msgstr "グループ名"
+
+#. module: import_google
+#: model:ir.model,name:import_google.model_crm_case_categ
+msgid "Category of Case"
+msgstr "ケースの分類"
+
+#. module: import_google
+#: model:ir.actions.act_window,name:import_google.act_google_login_contact_form
+#: model:ir.ui.menu,name:import_google.menu_sync_contact
+msgid "Import Google Contacts"
+msgstr "Googleコンタクトのインポート"
+
+#. module: import_google
+#: view:google.import.message:0
+msgid "Import Google Data"
+msgstr "Googleデータのインポート"
+
+#. module: import_google
+#: view:crm.meeting:0
+msgid "Meeting Type"
+msgstr "ミーティングタイプ"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google.py:38
+#: code:addons/import_google/wizard/import_google_data.py:28
+#, python-format
+msgid ""
+"Please install gdata-python-client from http://code.google.com/p/gdata-"
+"python-client/downloads/list"
+msgstr ""
+"gdata-python-client をインストールして下さい。URL:http://code.google.com/p/gdata-python-"
+"client/downloads/list"
+
+#. module: import_google
+#: model:ir.model,name:import_google.model_google_login
+msgid "Google Contact"
+msgstr "Googleコンタクト"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "Import contacts from a google account"
+msgstr "Googleアカウントからコンタクトのインポート"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:133
+#, python-format
+msgid "Please specify correct user and password !"
+msgstr "正しいユーザとパスワードを指定して下さい。"
+
+#. module: import_google
+#: field:synchronize.google.import,customer:0
+msgid "Customer"
+msgstr "顧客"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "_Cancel"
+msgstr "キャンセル"
+
+#. module: import_google
+#: model:ir.model,name:import_google.model_synchronize_google_import
+msgid "synchronize.google.import"
+msgstr ""
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "_Import Contacts"
+msgstr "コンタクトのインポート"
+
+#. module: import_google
+#: model:ir.actions.act_window,name:import_google.act_google_login_form
+#: model:ir.ui.menu,name:import_google.menu_sync_calendar
+msgid "Import Google Calendar"
+msgstr "Googleカレンダーのインポート"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:50
+#, python-format
+msgid "Import google"
+msgstr "Googleのインポート"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:127
+#: code:addons/import_google/wizard/import_google_data.py:133
+#, python-format
+msgid "Error"
+msgstr "エラー"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:71
+#, python-format
+msgid "Warning !"
+msgstr "警告"
+
+#. module: import_google
+#: field:synchronize.google.import,create_partner:0
+msgid "Options"
+msgstr "オプション"
+
+#. module: import_google
+#: view:google.import.message:0
+msgid "_Ok"
+msgstr ""
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google.py:38
+#: code:addons/import_google/wizard/import_google_data.py:28
+#, python-format
+msgid "Google Contacts Import Error!"
+msgstr "Googleコンタクトのインポートエラーです。"
+
+#. module: import_google
+#: model:ir.model,name:import_google.model_google_import_message
+msgid "Import Message"
+msgstr "メッセージのインポート"
+
+#. module: import_google
+#: field:synchronize.google.import,calendar_name:0
+msgid "Calendar Name"
+msgstr "カレンダー名"
+
+#. module: import_google
+#: help:synchronize.google.import,supplier:0
+msgid "Check this box to set newly created partner as Supplier."
+msgstr "仕入先として新しく作成したパートナを設定するにはこのボックスをチェックして下さい。"
+
+#. module: import_google
+#: selection:synchronize.google.import,create_partner:0
+msgid "Import only address"
+msgstr "住所のみをインポート"
+
+#. module: import_google
+#: field:crm.case.categ,user_id:0
+msgid "User"
+msgstr "ユーザ"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "Partner Status for this Group:"
+msgstr "このグループのパートナステータス:"
+
+#. module: import_google
+#: field:google.import.message,name:0
+msgid "Message"
+msgstr "メッセージ"
+
+#. module: import_google
+#: selection:synchronize.google.import,create_partner:0
+msgid "Create partner for each contact"
+msgstr "各コンタクトのパートナの作成"
+
+#. module: import_google
+#: help:synchronize.google.import,customer:0
+msgid "Check this box to set newly created partner as Customer."
+msgstr "顧客として新しく作成したパートナを設定するにはこのボックスをチェックして下さい。"
diff --git a/addons/import_google/i18n/pt.po b/addons/import_google/i18n/pt.po
new file mode 100644
index 00000000000..a17769a57c9
--- /dev/null
+++ b/addons/import_google/i18n/pt.po
@@ -0,0 +1,227 @@
+# Portuguese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-21 12:19+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Portuguese <pt@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: import_google
+#: help:synchronize.google.import,group_name:0
+msgid "Choose which group to import, By default it takes all."
+msgstr "Escolha qual o grupo a importar, por padrão, ele leva tudo."
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "Import Google Calendar Events"
+msgstr "Importar Os Eventos do Calendário Google"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "_Import Events"
+msgstr "_Importar Eventos"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:71
+#, python-format
+msgid ""
+"No Google Username or password Defined for user.\n"
+"Please define in user view"
+msgstr ""
+"Nenhum nome de utilizador do Google ou password definida para o utilizador.\n"
+"Por favor, defina na vista do utilizador"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:127
+#, python-format
+msgid ""
+"Invalid login detail !\n"
+" Specify Username/Password."
+msgstr ""
+"Detalhe do Login Inválido !\n"
+" Especifique Nome de Utilizador / Password."
+
+#. module: import_google
+#: field:synchronize.google.import,supplier:0
+msgid "Supplier"
+msgstr "Fornecedor"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "Import Options"
+msgstr "Opções da Importação"
+
+#. module: import_google
+#: field:synchronize.google.import,group_name:0
+msgid "Group Name"
+msgstr "Nome do Grupo"
+
+#. module: import_google
+#: model:ir.model,name:import_google.model_crm_case_categ
+msgid "Category of Case"
+msgstr "Categoria do Caso"
+
+#. module: import_google
+#: model:ir.actions.act_window,name:import_google.act_google_login_contact_form
+#: model:ir.ui.menu,name:import_google.menu_sync_contact
+msgid "Import Google Contacts"
+msgstr "Importar Contatos do Google"
+
+#. module: import_google
+#: view:google.import.message:0
+msgid "Import Google Data"
+msgstr "Importar Dados do Google"
+
+#. module: import_google
+#: view:crm.meeting:0
+msgid "Meeting Type"
+msgstr "Tipo de reunião"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google.py:38
+#: code:addons/import_google/wizard/import_google_data.py:28
+#, python-format
+msgid ""
+"Please install gdata-python-client from http://code.google.com/p/gdata-"
+"python-client/downloads/list"
+msgstr ""
+"Por Favor instale gdata-python-client de http://code.google.com/p/gdata-"
+"python-client/downloads/list"
+
+#. module: import_google
+#: model:ir.model,name:import_google.model_google_login
+msgid "Google Contact"
+msgstr "Contato Google"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "Import contacts from a google account"
+msgstr "Importar Contatos de uma Conta Google"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:133
+#, python-format
+msgid "Please specify correct user and password !"
+msgstr "Por Favor Especifique um Utilizador e uma Password Correta !"
+
+#. module: import_google
+#: field:synchronize.google.import,customer:0
+msgid "Customer"
+msgstr "Cliente"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "_Cancel"
+msgstr "_Cancelar"
+
+#. module: import_google
+#: model:ir.model,name:import_google.model_synchronize_google_import
+msgid "synchronize.google.import"
+msgstr "synchronize.google.import"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "_Import Contacts"
+msgstr "_Importar Contatos"
+
+#. module: import_google
+#: model:ir.actions.act_window,name:import_google.act_google_login_form
+#: model:ir.ui.menu,name:import_google.menu_sync_calendar
+msgid "Import Google Calendar"
+msgstr "Importar Calendário Google"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:50
+#, python-format
+msgid "Import google"
+msgstr "Importar Google"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:127
+#: code:addons/import_google/wizard/import_google_data.py:133
+#, python-format
+msgid "Error"
+msgstr "Erro"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:71
+#, python-format
+msgid "Warning !"
+msgstr "Aviso !"
+
+#. module: import_google
+#: field:synchronize.google.import,create_partner:0
+msgid "Options"
+msgstr "Opções"
+
+#. module: import_google
+#: view:google.import.message:0
+msgid "_Ok"
+msgstr "_Ok"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google.py:38
+#: code:addons/import_google/wizard/import_google_data.py:28
+#, python-format
+msgid "Google Contacts Import Error!"
+msgstr "Erro na importação dos contatos Google!"
+
+#. module: import_google
+#: model:ir.model,name:import_google.model_google_import_message
+msgid "Import Message"
+msgstr "Importar mensagem"
+
+#. module: import_google
+#: field:synchronize.google.import,calendar_name:0
+msgid "Calendar Name"
+msgstr "Nome do Calendário"
+
+#. module: import_google
+#: help:synchronize.google.import,supplier:0
+msgid "Check this box to set newly created partner as Supplier."
+msgstr ""
+"Marque esta caixa para definir parceiro recém-criado como Fornecedor."
+
+#. module: import_google
+#: selection:synchronize.google.import,create_partner:0
+msgid "Import only address"
+msgstr "Importar apenas o endereço"
+
+#. module: import_google
+#: field:crm.case.categ,user_id:0
+msgid "User"
+msgstr "Utilizador"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "Partner Status for this Group:"
+msgstr ""
+
+#. module: import_google
+#: field:google.import.message,name:0
+msgid "Message"
+msgstr "Mensagem"
+
+#. module: import_google
+#: selection:synchronize.google.import,create_partner:0
+msgid "Create partner for each contact"
+msgstr "Criar parceiro para cada contato"
+
+#. module: import_google
+#: help:synchronize.google.import,customer:0
+msgid "Check this box to set newly created partner as Customer."
+msgstr "Marque esta caixa para definir parceiro recém-criado como cliente."
+
+#~ msgid "Partner status for this group:"
+#~ msgstr "Estatuto de parceiro para este grupo:"
diff --git a/addons/import_google/i18n/ro.po b/addons/import_google/i18n/ro.po
new file mode 100644
index 00000000000..c0aea581d77
--- /dev/null
+++ b/addons/import_google/i18n/ro.po
@@ -0,0 +1,229 @@
+# Romanian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-26 19:22+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Romanian <ro@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-27 04:40+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: import_google
+#: help:synchronize.google.import,group_name:0
+msgid "Choose which group to import, By default it takes all."
+msgstr "Alegeti grupul pe care sa il importati, implicit sunt alese toate."
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "Import Google Calendar Events"
+msgstr "Importati Evenimente Google Calendar"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "_Import Events"
+msgstr "_Importati Evenimente"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:71
+#, python-format
+msgid ""
+"No Google Username or password Defined for user.\n"
+"Please define in user view"
+msgstr ""
+"Nu a fost definit(a) nici un nume de utilizator sau o parola pentru "
+"utilizator.\n"
+"Va rugam sa definiti in vizualizarea utilizatorului"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:127
+#, python-format
+msgid ""
+"Invalid login detail !\n"
+" Specify Username/Password."
+msgstr ""
+"Detalii de autentificare nevalide !\n"
+" Specificati Numele de utilizator/Parola."
+
+#. module: import_google
+#: field:synchronize.google.import,supplier:0
+msgid "Supplier"
+msgstr "Furnizor"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "Import Options"
+msgstr "Importati Optiuni"
+
+#. module: import_google
+#: field:synchronize.google.import,group_name:0
+msgid "Group Name"
+msgstr "Numele grupului"
+
+#. module: import_google
+#: model:ir.model,name:import_google.model_crm_case_categ
+msgid "Category of Case"
+msgstr "Categoria Cazului"
+
+#. module: import_google
+#: model:ir.actions.act_window,name:import_google.act_google_login_contact_form
+#: model:ir.ui.menu,name:import_google.menu_sync_contact
+msgid "Import Google Contacts"
+msgstr "Importati Contacte Google"
+
+#. module: import_google
+#: view:google.import.message:0
+msgid "Import Google Data"
+msgstr "Importati Date Google"
+
+#. module: import_google
+#: view:crm.meeting:0
+msgid "Meeting Type"
+msgstr "Tipul intalnirii"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google.py:38
+#: code:addons/import_google/wizard/import_google_data.py:28
+#, python-format
+msgid ""
+"Please install gdata-python-client from http://code.google.com/p/gdata-"
+"python-client/downloads/list"
+msgstr ""
+"Va rugam sa instalati gdata-python-client de la adresa "
+"http://code.google.com/p/gdata-python-client/downloads/list"
+
+#. module: import_google
+#: model:ir.model,name:import_google.model_google_login
+msgid "Google Contact"
+msgstr "Contact Google"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "Import contacts from a google account"
+msgstr "Importati contacte dintr-un cont google"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:133
+#, python-format
+msgid "Please specify correct user and password !"
+msgstr "Va rugam sa specificati utilizatorul si parola corecte !"
+
+#. module: import_google
+#: field:synchronize.google.import,customer:0
+msgid "Customer"
+msgstr "Client"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "_Cancel"
+msgstr "_Anulati"
+
+#. module: import_google
+#: model:ir.model,name:import_google.model_synchronize_google_import
+msgid "synchronize.google.import"
+msgstr "sincronizati.import.google"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "_Import Contacts"
+msgstr "_Importati Contacte"
+
+#. module: import_google
+#: model:ir.actions.act_window,name:import_google.act_google_login_form
+#: model:ir.ui.menu,name:import_google.menu_sync_calendar
+msgid "Import Google Calendar"
+msgstr "Importati Google Calendar"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:50
+#, python-format
+msgid "Import google"
+msgstr "Import google"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:127
+#: code:addons/import_google/wizard/import_google_data.py:133
+#, python-format
+msgid "Error"
+msgstr "Eroare"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google_data.py:71
+#, python-format
+msgid "Warning !"
+msgstr "Avertizare !"
+
+#. module: import_google
+#: field:synchronize.google.import,create_partner:0
+msgid "Options"
+msgstr "Optiuni"
+
+#. module: import_google
+#: view:google.import.message:0
+msgid "_Ok"
+msgstr "_Ok"
+
+#. module: import_google
+#: code:addons/import_google/wizard/import_google.py:38
+#: code:addons/import_google/wizard/import_google_data.py:28
+#, python-format
+msgid "Google Contacts Import Error!"
+msgstr "Eroare Import Contacte Google!"
+
+#. module: import_google
+#: model:ir.model,name:import_google.model_google_import_message
+msgid "Import Message"
+msgstr "Importati Mesajul"
+
+#. module: import_google
+#: field:synchronize.google.import,calendar_name:0
+msgid "Calendar Name"
+msgstr "Nume Calendar"
+
+#. module: import_google
+#: help:synchronize.google.import,supplier:0
+msgid "Check this box to set newly created partner as Supplier."
+msgstr ""
+"Bifati aceasta casuta pentru a seta partenerul nou creat drept Furnizor."
+
+#. module: import_google
+#: selection:synchronize.google.import,create_partner:0
+msgid "Import only address"
+msgstr "Importati doar adresa"
+
+#. module: import_google
+#: field:crm.case.categ,user_id:0
+msgid "User"
+msgstr "Utilizator"
+
+#. module: import_google
+#: view:synchronize.google.import:0
+msgid "Partner Status for this Group:"
+msgstr ""
+
+#. module: import_google
+#: field:google.import.message,name:0
+msgid "Message"
+msgstr "Mesaj"
+
+#. module: import_google
+#: selection:synchronize.google.import,create_partner:0
+msgid "Create partner for each contact"
+msgstr "Creati partenerul pentru fiecare contact"
+
+#. module: import_google
+#: help:synchronize.google.import,customer:0
+msgid "Check this box to set newly created partner as Customer."
+msgstr ""
+"Bifati aceasta casuta pentru a seta partenerul nou creat drept Client."
+
+#~ msgid "Partner status for this group:"
+#~ msgstr "Statusul partenerului acestui grup:"
diff --git a/addons/import_sugarcrm/i18n/fr.po b/addons/import_sugarcrm/i18n/fr.po
index bc86547f52b..29b68b9f73a 100644
--- a/addons/import_sugarcrm/i18n/fr.po
+++ b/addons/import_sugarcrm/i18n/fr.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2012-04-17 13:55+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2012-05-24 17:37+0000\n"
+"Last-Translator: Numérigraphe <Unknown>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 05:15+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-05-25 04:40+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: import_sugarcrm
#: code:addons/import_sugarcrm/import_sugarcrm.py:1105
@@ -108,7 +108,7 @@ msgstr ""
#. module: import_sugarcrm
#: view:import.sugarcrm:0
msgid "_Schedule Recurrent Imports"
-msgstr ""
+msgstr "_Planifier les imports récurrents"
#. module: import_sugarcrm
#: view:import.sugarcrm:0
diff --git a/addons/import_sugarcrm/i18n/pt.po b/addons/import_sugarcrm/i18n/pt.po
new file mode 100644
index 00000000000..d8de70ebb3c
--- /dev/null
+++ b/addons/import_sugarcrm/i18n/pt.po
@@ -0,0 +1,404 @@
+# Portuguese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-21 12:30+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Portuguese <pt@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1105
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1131
+#, python-format
+msgid "Error !!"
+msgstr "Erro !!"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid ""
+"Use the SugarSoap API URL (read tooltip) and a full access SugarCRM login."
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "(Coming Soon)"
+msgstr "(Em breve)"
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,document:0
+msgid "Documents"
+msgstr "Documentos"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Import your data from SugarCRM :"
+msgstr "Importar os seus dados do SugarCRM:"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid ""
+"Choose data you want to import. Click 'Import' to get data manually or "
+"'Schedule Reccurent Imports' to get recurrently and automatically data."
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,contact:0
+msgid "Contacts"
+msgstr "Contatos"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "HR"
+msgstr "RH"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,bug:0
+msgid "Check this box to import sugarCRM Bugs into OpenERP project issues"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,instance_name:0
+msgid "Instance's Name"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,project_task:0
+msgid "Project Tasks"
+msgstr "Tarefas do Projeto"
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,email_from:0
+msgid "Notify End Of Import To:"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,user:0
+msgid ""
+"Check this box to import sugarCRM Users into OpenERP users, warning if a "
+"user with the same login exist in OpenERP, user information will be erase by "
+"sugarCRM user information"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/sugarsoap_services.py:23
+#, python-format
+msgid "Please install SOAP for python - ZSI-2.0-rc3.tar.gz - python-zci"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "_Schedule Recurrent Imports"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid ""
+"Do not forget the email address to be notified of the success of the import."
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,call:0
+msgid "Check this box to import sugarCRM Calls into OpenERP calls"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid ""
+"If you make recurrent or ponctual import, data already in OpenERP will be "
+"updated by SugarCRM data."
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,employee:0
+msgid "Employee"
+msgstr "Funcionário"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Document"
+msgstr "Documento"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,document:0
+msgid "Check this box to import sugarCRM Documents into OpenERP documents"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Import Data From SugarCRM"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "CRM"
+msgstr "CRM"
+
+#. module: import_sugarcrm
+#: view:import.message:0
+msgid ""
+"Data are importing, the process is running in the background, an email will "
+"be sent to the given email address if it was defined."
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,call:0
+msgid "Calls"
+msgstr "Chamadas"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Multi Instance Management"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.message:0
+msgid "_Ok"
+msgstr "_Ok"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,opportunity:0
+msgid ""
+"Check this box to import sugarCRM Leads and Opportunities into OpenERP Leads "
+"and Opportunities"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,email_history:0
+msgid "Email and Note"
+msgstr "Email e Notas"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,url:0
+msgid ""
+"Webservice's url where to get the data. example : "
+"'http://example.com/sugarcrm/soap.php', or copy the address of your sugarcrm "
+"application "
+"http://trial.sugarcrm.com/qbquyj4802/index.php?module=Home&action=index"
+msgstr ""
+
+#. module: import_sugarcrm
+#: model:ir.actions.act_window,name:import_sugarcrm.action_import_sugarcrm
+#: model:ir.ui.menu,name:import_sugarcrm.menu_sugarcrm_import
+msgid "Import SugarCRM"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "_Import"
+msgstr "_Importar"
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,user:0
+msgid "User"
+msgstr "Utilizador"
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1105
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1131
+#, python-format
+msgid "%s data required %s Module to be installed, Please install %s module"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,claim:0
+msgid "Cases"
+msgstr "Casos"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,meeting:0
+msgid ""
+"Check this box to import sugarCRM Meetings and Tasks into OpenERP meetings"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,email_history:0
+msgid ""
+"Check this box to import sugarCRM Emails, Notes and Attachments into OpenERP "
+"Messages and Attachments"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,project:0
+msgid "Projects"
+msgstr "Projetos"
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/sugarsoap_services_types.py:14
+#, python-format
+msgid ""
+"Please install SOAP for python - ZSI-2.0-rc3.tar.gz from "
+"http://pypi.python.org/pypi/ZSI/"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,project:0
+msgid "Check this box to import sugarCRM Projects into OpenERP projects"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1098
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1124
+#, python-format
+msgid "Select Module to Import."
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,meeting:0
+msgid "Meetings"
+msgstr "Reuniões"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,employee:0
+msgid "Check this box to import sugarCRM Employees into OpenERP employees"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,url:0
+msgid "SugarSoap Api url:"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Address Book"
+msgstr "Lista de Contatos"
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/sugar.py:60
+#, python-format
+msgid ""
+"Authentication error !\n"
+"Bad Username or Password bad SugarSoap Api url !"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,bug:0
+msgid "Bugs"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Project"
+msgstr "Projeto"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,project_task:0
+msgid "Check this box to import sugarCRM Project Tasks into OpenERP tasks"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,opportunity:0
+msgid "Leads & Opp"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:79
+#, python-format
+msgid ""
+"Authentication error !\n"
+"Bad Username or Password or bad SugarSoap Api url !"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:79
+#: code:addons/import_sugarcrm/sugar.py:60
+#, python-format
+msgid "Error !"
+msgstr "Erro !"
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1098
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1124
+#, python-format
+msgid "Warning !"
+msgstr "Aviso !"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,instance_name:0
+msgid ""
+"Prefix of SugarCRM id to differentiate xml_id of SugarCRM models datas come "
+"from different server."
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,contact:0
+msgid "Check this box to import sugarCRM Contacts into OpenERP addresses"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,password:0
+msgid "Password"
+msgstr "Password"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Login Information"
+msgstr "Informação de Login"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,claim:0
+msgid "Check this box to import sugarCRM Cases into OpenERP claims"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Email Notification When Import is Finished"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,username:0
+msgid "User Name"
+msgstr "Nome do Utilizador"
+
+#. module: import_sugarcrm
+#: view:import.message:0
+#: model:ir.model,name:import_sugarcrm.model_import_message
+msgid "Import Message"
+msgstr "Importar mensagem"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,account:0
+msgid "Check this box to import sugarCRM Accounts into OpenERP partners"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Online documentation:"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,account:0
+msgid "Accounts"
+msgstr "Contas"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "_Cancel"
+msgstr "_Cancelar"
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/sugarsoap_services.py:23
+#: code:addons/import_sugarcrm/sugarsoap_services_types.py:14
+#, python-format
+msgid "ZSI Import Error!"
+msgstr ""
+
+#. module: import_sugarcrm
+#: model:ir.model,name:import_sugarcrm.model_import_sugarcrm
+msgid "Import SugarCRM DATA"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Email Address to Notify"
+msgstr ""
diff --git a/addons/import_sugarcrm/i18n/ro.po b/addons/import_sugarcrm/i18n/ro.po
new file mode 100644
index 00000000000..9f956a27142
--- /dev/null
+++ b/addons/import_sugarcrm/i18n/ro.po
@@ -0,0 +1,421 @@
+# Romanian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-26 19:35+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Romanian <ro@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-27 04:40+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1105
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1131
+#, python-format
+msgid "Error !!"
+msgstr "Eroare !!"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid ""
+"Use the SugarSoap API URL (read tooltip) and a full access SugarCRM login."
+msgstr ""
+"Utilizati URL API SugarSoap (unealta de citire) si acces complet la "
+"autentificarea SugarCRM."
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "(Coming Soon)"
+msgstr "(In curand)"
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,document:0
+msgid "Documents"
+msgstr "Documente"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Import your data from SugarCRM :"
+msgstr "Importati-va datele din SugarCRM :"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid ""
+"Choose data you want to import. Click 'Import' to get data manually or "
+"'Schedule Reccurent Imports' to get recurrently and automatically data."
+msgstr ""
+"Alegeti datele pe care doriti sa le importati. Faceti click pe 'Importa' "
+"pentru a obtine datele manual sau 'Programeaza Importuri Recurente' pentru a "
+"obtine date in mod recurent si automat."
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,contact:0
+msgid "Contacts"
+msgstr "Contacte"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "HR"
+msgstr "RU"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,bug:0
+msgid "Check this box to import sugarCRM Bugs into OpenERP project issues"
+msgstr ""
+"Bifati aceasta casuta pentru a importa sugarCRM Bugs in problemele "
+"proiectului OpenERP"
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,instance_name:0
+msgid "Instance's Name"
+msgstr "Numele Instantei"
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,project_task:0
+msgid "Project Tasks"
+msgstr "Sarcini Proiect"
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,email_from:0
+msgid "Notify End Of Import To:"
+msgstr "Anuntati Finalizarea Importului la:"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,user:0
+msgid ""
+"Check this box to import sugarCRM Users into OpenERP users, warning if a "
+"user with the same login exist in OpenERP, user information will be erase by "
+"sugarCRM user information"
+msgstr ""
+"Bifati aceasta casuta pentru a importa Utilizatori sugarCRM in utilizatorii "
+"OpenERP, avertizare daca exista un utilizator cu acelasi nume de "
+"autentificare in OpenERP, informatiile despre utilizatori vor fi sterse de "
+"informatiile despre utilizatorii sugarCRM"
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/sugarsoap_services.py:23
+#, python-format
+msgid "Please install SOAP for python - ZSI-2.0-rc3.tar.gz - python-zci"
+msgstr ""
+"Va rugam sa instalati SOAP pentru pyhton - ZSI-2.0-rc3.tar.gz - python-zci"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "_Schedule Recurrent Imports"
+msgstr "_Programati Importuri Recurente"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid ""
+"Do not forget the email address to be notified of the success of the import."
+msgstr ""
+"Nu uitati adresa de e-mail la care sa fiti instiintat ca importul a avut "
+"succes."
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,call:0
+msgid "Check this box to import sugarCRM Calls into OpenERP calls"
+msgstr ""
+"Bifati aceasta casuta pentru a importa Apeluri sugarCRM in apeluri OpenERP"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid ""
+"If you make recurrent or ponctual import, data already in OpenERP will be "
+"updated by SugarCRM data."
+msgstr ""
+"Daca efectuati importuri recurente sau punctuale, datele deja existente in "
+"OpenERP vor fi actualizate cu datele SugarCRM."
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,employee:0
+msgid "Employee"
+msgstr "Angajat"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Document"
+msgstr "Document"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,document:0
+msgid "Check this box to import sugarCRM Documents into OpenERP documents"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Import Data From SugarCRM"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "CRM"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.message:0
+msgid ""
+"Data are importing, the process is running in the background, an email will "
+"be sent to the given email address if it was defined."
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,call:0
+msgid "Calls"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Multi Instance Management"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.message:0
+msgid "_Ok"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,opportunity:0
+msgid ""
+"Check this box to import sugarCRM Leads and Opportunities into OpenERP Leads "
+"and Opportunities"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,email_history:0
+msgid "Email and Note"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,url:0
+msgid ""
+"Webservice's url where to get the data. example : "
+"'http://example.com/sugarcrm/soap.php', or copy the address of your sugarcrm "
+"application "
+"http://trial.sugarcrm.com/qbquyj4802/index.php?module=Home&action=index"
+msgstr ""
+
+#. module: import_sugarcrm
+#: model:ir.actions.act_window,name:import_sugarcrm.action_import_sugarcrm
+#: model:ir.ui.menu,name:import_sugarcrm.menu_sugarcrm_import
+msgid "Import SugarCRM"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "_Import"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,user:0
+msgid "User"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1105
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1131
+#, python-format
+msgid "%s data required %s Module to be installed, Please install %s module"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,claim:0
+msgid "Cases"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,meeting:0
+msgid ""
+"Check this box to import sugarCRM Meetings and Tasks into OpenERP meetings"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,email_history:0
+msgid ""
+"Check this box to import sugarCRM Emails, Notes and Attachments into OpenERP "
+"Messages and Attachments"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,project:0
+msgid "Projects"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/sugarsoap_services_types.py:14
+#, python-format
+msgid ""
+"Please install SOAP for python - ZSI-2.0-rc3.tar.gz from "
+"http://pypi.python.org/pypi/ZSI/"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,project:0
+msgid "Check this box to import sugarCRM Projects into OpenERP projects"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1098
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1124
+#, python-format
+msgid "Select Module to Import."
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,meeting:0
+msgid "Meetings"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,employee:0
+msgid "Check this box to import sugarCRM Employees into OpenERP employees"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,url:0
+msgid "SugarSoap Api url:"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Address Book"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/sugar.py:60
+#, python-format
+msgid ""
+"Authentication error !\n"
+"Bad Username or Password bad SugarSoap Api url !"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,bug:0
+msgid "Bugs"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Project"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,project_task:0
+msgid "Check this box to import sugarCRM Project Tasks into OpenERP tasks"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,opportunity:0
+msgid "Leads & Opp"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:79
+#, python-format
+msgid ""
+"Authentication error !\n"
+"Bad Username or Password or bad SugarSoap Api url !"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:79
+#: code:addons/import_sugarcrm/sugar.py:60
+#, python-format
+msgid "Error !"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1098
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1124
+#, python-format
+msgid "Warning !"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,instance_name:0
+msgid ""
+"Prefix of SugarCRM id to differentiate xml_id of SugarCRM models datas come "
+"from different server."
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,contact:0
+msgid "Check this box to import sugarCRM Contacts into OpenERP addresses"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,password:0
+msgid "Password"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Login Information"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,claim:0
+msgid "Check this box to import sugarCRM Cases into OpenERP claims"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Email Notification When Import is Finished"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,username:0
+msgid "User Name"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.message:0
+#: model:ir.model,name:import_sugarcrm.model_import_message
+msgid "Import Message"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,account:0
+msgid "Check this box to import sugarCRM Accounts into OpenERP partners"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Online documentation:"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,account:0
+msgid "Accounts"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "_Cancel"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/sugarsoap_services.py:23
+#: code:addons/import_sugarcrm/sugarsoap_services_types.py:14
+#, python-format
+msgid "ZSI Import Error!"
+msgstr ""
+
+#. module: import_sugarcrm
+#: model:ir.model,name:import_sugarcrm.model_import_sugarcrm
+msgid "Import SugarCRM DATA"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Email Address to Notify"
+msgstr ""
diff --git a/addons/knowledge/i18n/lv.po b/addons/knowledge/i18n/lv.po
new file mode 100644
index 00000000000..4a89de943d7
--- /dev/null
+++ b/addons/knowledge/i18n/lv.po
@@ -0,0 +1,33 @@
+# Latvian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 01:37+0100\n"
+"PO-Revision-Date: 2012-05-28 12:54+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Latvian <lv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-29 04:46+0000\n"
+"X-Generator: Launchpad (build 15316)\n"
+
+#. module: knowledge
+#: model:ir.ui.menu,name:knowledge.menu_document2
+msgid "Collaborative Content"
+msgstr ""
+
+#. module: knowledge
+#: model:ir.ui.menu,name:knowledge.menu_document_configuration
+msgid "Configuration"
+msgstr ""
+
+#. module: knowledge
+#: model:ir.ui.menu,name:knowledge.menu_document
+msgid "Knowledge"
+msgstr ""
diff --git a/addons/l10n_be/i18n/ja.po b/addons/l10n_be/i18n/ja.po
new file mode 100644
index 00000000000..baac9765b1f
--- /dev/null
+++ b/addons/l10n_be/i18n/ja.po
@@ -0,0 +1,503 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-12-23 09:56+0000\n"
+"PO-Revision-Date: 2012-05-25 01:29+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-26 05:07+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: l10n_be
+#: field:partner.vat.intra,test_xml:0
+msgid "Test XML file"
+msgstr "テスト用XMLファイル"
+
+#. module: l10n_be
+#: view:partner.vat.list_13:0
+msgid "You can remove customers which you do not want in exported xml file"
+msgstr "XMLファイルにエクスポートしたくない顧客を削除できます。"
+
+#. module: l10n_be
+#: view:partner.vat_13:0
+msgid ""
+"This wizard will create an XML file for VAT details and total invoiced "
+"amounts per partner."
+msgstr "このウィザードはVATの詳細とパートナ毎の合計請求済金額のXMLファイルを作成します。"
+
+#. module: l10n_be
+#: model:account.account.type,name:l10n_be.user_type_tiers_receiv
+msgid "Tiers - Recevable"
+msgstr "層 - 受取勘定"
+
+#. module: l10n_be
+#: code:addons/l10n_be/wizard/l10n_be_vat_intra.py:102
+#, python-format
+msgid "Wrong Period Code"
+msgstr "誤った期間コード"
+
+#. module: l10n_be
+#: code:addons/l10n_be/wizard/l10n_be_partner_vat_listing.py:52
+#: code:addons/l10n_be/wizard/l10n_be_vat_intra.py:109
+#, python-format
+msgid "No partner has a VAT Number asociated with him."
+msgstr "パートナは彼に結びつけるVAT番号を持っていません。"
+
+#. module: l10n_be
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr "エラー。再帰的な関係となる会社を作ることはできません。"
+
+#. module: l10n_be
+#: model:account.account.type,name:l10n_be.user_type_tiers
+msgid "Tiers"
+msgstr "層"
+
+#. module: l10n_be
+#: field:l1on_be.vat.declaration,period_id:0
+msgid "Period"
+msgstr "期間"
+
+#. module: l10n_be
+#: field:partner.vat.intra,period_ids:0
+msgid "Period (s)"
+msgstr "期間"
+
+#. module: l10n_be
+#: view:l1on_be.vat.declaration:0
+#: view:partner.vat.intra:0
+msgid "Save the File with '.xml' extension."
+msgstr "\".xml\"拡張子のファイルを保存"
+
+#. module: l10n_be
+#: model:account.account.type,name:l10n_be.user_type_charge
+msgid "Charge"
+msgstr "料金"
+
+#. module: l10n_be
+#: code:addons/l10n_be/wizard/l10n_be_partner_vat_listing.py:47
+#: code:addons/l10n_be/wizard/l10n_be_partner_vat_listing.py:52
+#: code:addons/l10n_be/wizard/l10n_be_vat_intra.py:105
+#: code:addons/l10n_be/wizard/l10n_be_vat_intra.py:109
+#, python-format
+msgid "Data Insufficient!"
+msgstr "データ不足です。"
+
+#. module: l10n_be
+#: view:l1on_be.vat.declaration:0
+#: view:partner.vat.list_13:0
+msgid "Create XML"
+msgstr "XMLの作成"
+
+#. module: l10n_be
+#: model:account.account.type,name:l10n_be.user_type_capitaux
+msgid "Capital"
+msgstr "大文字"
+
+#. module: l10n_be
+#: view:partner.vat.list_13:0
+msgid "Print"
+msgstr "印刷"
+
+#. module: l10n_be
+#: view:partner.vat.intra:0
+msgid "Save XML"
+msgstr "XMLの保存"
+
+#. module: l10n_be
+#: code:addons/l10n_be/wizard/l10n_be_vat_intra.py:219
+#, python-format
+msgid "Save"
+msgstr "保存"
+
+#. module: l10n_be
+#: sql_constraint:res.company:0
+msgid "The company name must be unique !"
+msgstr "会社名は固有でなければいけません。"
+
+#. module: l10n_be
+#: field:l1on_be.vat.declaration,msg:0
+#: field:partner.vat.intra,msg:0
+#: field:partner.vat.list_13,msg:0
+msgid "File created"
+msgstr "ファイルを作成しました。"
+
+#. module: l10n_be
+#: view:partner.vat.intra:0
+msgid "_Close"
+msgstr "閉じる"
+
+#. module: l10n_be
+#: code:addons/l10n_be/wizard/l10n_be_account_vat_declaration.py:131
+#, python-format
+msgid "Save XML For Vat declaration"
+msgstr "VAT申告用XMLの保存"
+
+#. module: l10n_be
+#: view:partner.vat.list_13:0
+msgid "Customers"
+msgstr "顧客"
+
+#. module: l10n_be
+#: model:account.account.type,name:l10n_be.user_type_tax_in
+msgid "Taxes à l'entrée"
+msgstr "入口税"
+
+#. module: l10n_be
+#: help:l1on_be.vat.declaration,ask_restitution:0
+msgid "It indicates whether a resitution is to made or not?"
+msgstr "それは還付されたかどうかを示します。"
+
+#. module: l10n_be
+#: model:ir.actions.act_window,name:l10n_be.action_vat_declaration
+msgid "Vat Declaraion"
+msgstr "VAT申告"
+
+#. module: l10n_be
+#: view:partner.vat.intra:0
+#: field:partner.vat.intra,no_vat:0
+msgid "Partner With No VAT"
+msgstr "VAT対象外パートナ"
+
+#. module: l10n_be
+#: model:account.account.type,name:l10n_be.user_type_immo
+msgid "Immobilisation"
+msgstr "固定化"
+
+#. module: l10n_be
+#: view:l1on_be.vat.declaration:0
+#: view:partner.vat.intra:0
+msgid "Company"
+msgstr "会社"
+
+#. module: l10n_be
+#: model:ir.model,name:l10n_be.model_partner_vat_13
+msgid "partner.vat_13"
+msgstr ""
+
+#. module: l10n_be
+#: model:ir.ui.menu,name:l10n_be.partner_vat_listing
+msgid "Annual Listing Of VAT-Subjected Customers"
+msgstr "VAT対象顧客の年間リスト"
+
+#. module: l10n_be
+#: view:partner.vat.list_13:0
+msgid "XML File has been Created."
+msgstr "XMLファイルは作成されました。"
+
+#. module: l10n_be
+#: help:l1on_be.vat.declaration,client_nihil:0
+msgid ""
+"Tick this case only if it concerns only the last statement on the civil or "
+"cessation of activity"
+msgstr "これは民間の最新の取引明細書または活動の中止に関連する場合のみに、このケースをチェックして下さい。"
+
+#. module: l10n_be
+#: view:partner.vat.list_13:0
+msgid "Select Fiscal Year"
+msgstr "会計年度選択"
+
+#. module: l10n_be
+#: field:l1on_be.vat.declaration,ask_restitution:0
+msgid "Ask Restitution"
+msgstr "還付請求"
+
+#. module: l10n_be
+#: model:ir.model,name:l10n_be.model_partner_vat_intra
+#: model:ir.ui.menu,name:l10n_be.l10_be_vat_intra
+msgid "Partner VAT Intra"
+msgstr "パートナのVAT内部"
+
+#. module: l10n_be
+#: model:ir.ui.menu,name:l10n_be.l10_be_vat_declaration
+#: view:l1on_be.vat.declaration:0
+msgid "Periodical VAT Declaration"
+msgstr "周期的なVAT申請"
+
+#. module: l10n_be
+#: view:partner.vat.intra:0
+msgid "Note: "
+msgstr "注記: "
+
+#. module: l10n_be
+#: view:partner.vat.intra:0
+msgid "_Preview"
+msgstr "プレビュー"
+
+#. module: l10n_be
+#: model:account.account.type,name:l10n_be.user_type_tiers_payable
+msgid "Tiers - Payable"
+msgstr "層 - 支払債務"
+
+#. module: l10n_be
+#: field:l1on_be.vat.declaration,tax_code_id:0
+#: field:partner.vat.intra,tax_code_id:0
+msgid "Tax Code"
+msgstr "税金コード"
+
+#. module: l10n_be
+#: view:partner.vat.intra:0
+msgid "Periods"
+msgstr "期間"
+
+#. module: l10n_be
+#: model:account.account.type,name:l10n_be.user_type_produit
+msgid "Produit"
+msgstr "製品"
+
+#. module: l10n_be
+#: help:partner.vat.intra,test_xml:0
+msgid "Sets the XML output as test file"
+msgstr "テストファイルとしてXML出力を設定"
+
+#. module: l10n_be
+#: model:account.account.type,name:l10n_be.user_type_view
+msgid "Vue"
+msgstr "ビュー"
+
+#. module: l10n_be
+#: view:l1on_be.vat.declaration:0
+msgid "Ok"
+msgstr "OK"
+
+#. module: l10n_be
+#: field:l1on_be.vat.declaration,ask_payment:0
+msgid "Ask Payment"
+msgstr "支払要請"
+
+#. module: l10n_be
+#: help:partner.vat.intra,no_vat:0
+msgid ""
+"The Partner whose VAT number is not defined they doesn't include in XML File."
+msgstr "パートナのVAT番号はXMLファイルに含まれておらず、定義されていません。"
+
+#. module: l10n_be
+#: field:partner.vat_13,limit_amount:0
+msgid "Limit Amount"
+msgstr "限度額"
+
+#. module: l10n_be
+#: model:ir.model,name:l10n_be.model_res_company
+msgid "Companies"
+msgstr "会社"
+
+#. module: l10n_be
+#: view:partner.vat.intra:0
+msgid "Create _XML"
+msgstr "XMLの作成"
+
+#. module: l10n_be
+#: help:partner.vat.intra,period_ids:0
+msgid ""
+"Select here the period(s) you want to include in your intracom declaration"
+msgstr "内部定義に含めたい期間をここで定義して下さい。"
+
+#. module: l10n_be
+#: view:partner.vat_13:0
+msgid "View Customers"
+msgstr "顧客ビュー"
+
+#. module: l10n_be
+#: code:addons/l10n_be/wizard/l10n_be_vat_intra.py:102
+#, python-format
+msgid "The period code you entered is not valid."
+msgstr "入力の期間コードは有効ではありません。"
+
+#. module: l10n_be
+#: view:l1on_be.vat.declaration:0
+msgid "Is Last Declaration"
+msgstr "最終申請"
+
+#. module: l10n_be
+#: model:account.account.type,name:l10n_be.user_type_stock
+msgid "Stock et Encours"
+msgstr "株式と未払"
+
+#. module: l10n_be
+#: field:l1on_be.vat.declaration,client_nihil:0
+msgid "Last Declaration of Enterprise"
+msgstr ""
+
+#. module: l10n_be
+#: help:partner.vat.intra,mand_id:0
+msgid ""
+"This identifies the representative of the sending company. This is a string "
+"of 14 characters"
+msgstr "これは送信会社の代表者を識別します。これは14文字の文字列です。"
+
+#. module: l10n_be
+#: code:addons/l10n_be/wizard/l10n_be_account_vat_declaration.py:75
+#: code:addons/l10n_be/wizard/l10n_be_partner_vat_listing.py:150
+#: code:addons/l10n_be/wizard/l10n_be_vat_intra.py:98
+#, python-format
+msgid "Data Insufficient"
+msgstr "データ不足です。"
+
+#. module: l10n_be
+#: model:ir.ui.menu,name:l10n_be.menu_finance_belgian_statement
+msgid "Belgium Statements"
+msgstr "ベルギー取引明細書"
+
+#. module: l10n_be
+#: model:ir.actions.act_window,name:l10n_be.action_vat_intra
+msgid "Partner Vat Intra"
+msgstr "パートナのVAT内部"
+
+#. module: l10n_be
+#: view:l1on_be.vat.declaration:0
+msgid "Declare Periodical VAT"
+msgstr "定期的VATの定義"
+
+#. module: l10n_be
+#: model:ir.model,name:l10n_be.model_partner_vat_list_13
+msgid "partner.vat.list_13"
+msgstr ""
+
+#. module: l10n_be
+#: view:l1on_be.vat.declaration:0
+msgid "Save xml"
+msgstr "XMLを保存"
+
+#. module: l10n_be
+#: field:partner.vat.intra,mand_id:0
+msgid "MandataireId"
+msgstr "代理人"
+
+#. module: l10n_be
+#: field:l1on_be.vat.declaration,file_save:0
+#: field:partner.vat.intra,file_save:0
+#: field:partner.vat.list_13,file_save:0
+msgid "Save File"
+msgstr "ファイルを保存"
+
+#. module: l10n_be
+#: help:partner.vat.intra,period_code:0
+msgid ""
+"This is where you have to set the period code for the intracom declaration "
+"using the format: ppyyyy\n"
+" PP can stand for a month: from '01' to '12'.\n"
+" PP can stand for a trimester: '31','32','33','34'\n"
+" The first figure means that it is a trimester,\n"
+" The second figure identify the trimester.\n"
+" PP can stand for a complete fiscal year: '00'.\n"
+" YYYY stands for the year (4 positions).\n"
+" "
+msgstr ""
+"ここで内部定義のための期間コードを設定しなければなりません。フォーマット:ppyyyy\n"
+" PPで月を示す場合:01から12\n"
+" PPで3ヶ月間を示す場合:31、32、33、34\n"
+" 最初の数字は3ヶ月間を示します。\n"
+" 2番目の数字は3ヶ月間の識別です。\n"
+" PPで会計年度を示す場合:00\n"
+" YYYYは年(4桁)\n"
+" "
+
+#. module: l10n_be
+#: field:l1on_be.vat.declaration,name:0
+#: field:partner.vat.intra,name:0
+#: field:partner.vat.list_13,name:0
+msgid "File Name"
+msgstr "ファイル名"
+
+#. module: l10n_be
+#: model:account.account.type,name:l10n_be.user_type_tax_out
+msgid "Taxes à la sortie"
+msgstr "出口税"
+
+#. module: l10n_be
+#: model:account.account.type,name:l10n_be.user_type_tax
+msgid "Tax"
+msgstr "税金"
+
+#. module: l10n_be
+#: code:addons/l10n_be/wizard/l10n_be_account_vat_declaration.py:75
+#: code:addons/l10n_be/wizard/l10n_be_partner_vat_listing.py:150
+#: code:addons/l10n_be/wizard/l10n_be_vat_intra.py:98
+#, python-format
+msgid "No VAT Number Associated with Main Company!"
+msgstr "主会社と関係したVAT番号がありません。"
+
+#. module: l10n_be
+#: model:ir.model,name:l10n_be.model_l1on_be_vat_declaration
+msgid "Vat Declaration"
+msgstr "VAT申請"
+
+#. module: l10n_be
+#: view:partner.vat.intra:0
+#: field:partner.vat.intra,country_ids:0
+msgid "European Countries"
+msgstr "ヨーロッパ諸国"
+
+#. module: l10n_be
+#: model:ir.actions.act_window,name:l10n_be.action_partner_vat_listing_13
+#: view:partner.vat_13:0
+msgid "Partner VAT Listing"
+msgstr "パートナVATリスト"
+
+#. module: l10n_be
+#: view:partner.vat.intra:0
+msgid "General Information"
+msgstr "一般情報"
+
+#. module: l10n_be
+#: view:partner.vat.intra:0
+msgid "Create an XML file for Vat Intra"
+msgstr "VAT内部のXMLファイルの作成"
+
+#. module: l10n_be
+#: field:partner.vat.intra,period_code:0
+msgid "Period Code"
+msgstr "期間コード"
+
+#. module: l10n_be
+#: model:account.account.type,name:l10n_be.user_type_financiers
+msgid "Financier"
+msgstr "出資者"
+
+#. module: l10n_be
+#: field:partner.vat_13,year:0
+msgid "Year"
+msgstr "年"
+
+#. module: l10n_be
+#: view:partner.vat_13:0
+msgid "Cancel"
+msgstr "キャンセル"
+
+#. module: l10n_be
+#: view:l1on_be.vat.declaration:0
+#: view:partner.vat.intra:0
+#: view:partner.vat.list_13:0
+msgid "Close"
+msgstr "閉じる"
+
+#. module: l10n_be
+#: code:addons/l10n_be/wizard/l10n_be_vat_intra.py:105
+#, python-format
+msgid "Please select at least one Period."
+msgstr "少なくとも1つの期間を選択して下さい。"
+
+#. module: l10n_be
+#: help:l1on_be.vat.declaration,ask_payment:0
+msgid "It indicates whether a payment is to made or not?"
+msgstr "支払をしたかどうかを示します。"
+
+#. module: l10n_be
+#: view:partner.vat.intra:0
+msgid "Partner VAT intra"
+msgstr "パートナVAT内部"
+
+#. module: l10n_be
+#: code:addons/l10n_be/wizard/l10n_be_partner_vat_listing.py:47
+#, python-format
+msgid "No data for the selected Year."
+msgstr "選択した年にデータがありません。"
diff --git a/addons/l10n_multilang/i18n/ro.po b/addons/l10n_multilang/i18n/ro.po
new file mode 100644
index 00000000000..e820dde38de
--- /dev/null
+++ b/addons/l10n_multilang/i18n/ro.po
@@ -0,0 +1,178 @@
+# Romanian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 01:06+0000\n"
+"PO-Revision-Date: 2012-05-30 20:18+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Romanian <ro@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-31 04:54+0000\n"
+"X-Generator: Launchpad (build 15322)\n"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_fiscal_position_template
+msgid "Template for Fiscal Position"
+msgstr "Sablon pentru Pozitia Fiscala"
+
+#. module: l10n_multilang
+#: sql_constraint:account.account:0
+msgid "The code of the account must be unique per company !"
+msgstr "Codul sumei trebuie sa fie unic per companie !"
+
+#. module: l10n_multilang
+#: constraint:account.account.template:0
+msgid ""
+"Configuration Error!\n"
+"You can not define children to an account with internal type different of "
+"\"View\"! "
+msgstr ""
+"Eroare de Configurare!\n"
+"Nu puteti defini conturi secundare intr-un cont cu tipul intern diferit de "
+"\"Vizualizare\"! "
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_analytic_journal
+msgid "Analytic Journal"
+msgstr "Jurnal Analitic"
+
+#. module: l10n_multilang
+#: constraint:account.account.template:0
+msgid "Error ! You can not create recursive account templates."
+msgstr "Eroare! Nu puteti crea sabloane de cont recurente."
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_journal
+msgid "Journal"
+msgstr "Jurnal"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_chart_template
+msgid "Templates for Account Chart"
+msgstr "Sabloane pentru Planul de Conturi"
+
+#. module: l10n_multilang
+#: sql_constraint:account.tax:0
+msgid "The description must be unique per company!"
+msgstr "Descrierea trebuie sa fie unica pe companie!"
+
+#. module: l10n_multilang
+#: constraint:account.tax.code.template:0
+msgid "Error ! You can not create recursive Tax Codes."
+msgstr "Eroare ! Nu puteti crea Coduri fiscale recursive."
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_tax_template
+msgid "account.tax.template"
+msgstr "sablon.taxa.cont"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_tax
+msgid "account.tax"
+msgstr "taxa.cont"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_account
+msgid "Account"
+msgstr "Cont"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_wizard_multi_charts_accounts
+msgid "wizard.multi.charts.accounts"
+msgstr "wizard.plan.de.conturi.multi"
+
+#. module: l10n_multilang
+#: constraint:account.journal:0
+msgid ""
+"Configuration error! The currency chosen should be shared by the default "
+"accounts too."
+msgstr ""
+"Eroare de configurare! Moneda aleasa trebuie sa fie comuna si conturilor "
+"predefinite."
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_account_template
+msgid "Templates for Accounts"
+msgstr "Sabloane pentru Conturi"
+
+#. module: l10n_multilang
+#: help:account.chart.template,spoken_languages:0
+msgid ""
+"State here the languages for which the translations of templates could be "
+"loaded at the time of installation of this localization module and copied in "
+"the final object when generating them from templates. You must provide the "
+"language codes separated by ';'"
+msgstr ""
+"Aici introduceti limbile pentru care pot fi incarcate traducerile "
+"sabloanelor in momentul instalarii acestui modul de localizare si pot fi "
+"copiate in obiectul final atunci cand le generati din sabloane. Trebuie sa "
+"introduceti codurile limbilor separat cu ';'"
+
+#. module: l10n_multilang
+#: constraint:account.account:0
+msgid "Error ! You can not create recursive accounts."
+msgstr "Eroare ! Nu puteti crea conturi recursive."
+
+#. module: l10n_multilang
+#: constraint:account.account:0
+msgid ""
+"Configuration Error! \n"
+"You can not select an account type with a deferral method different of "
+"\"Unreconciled\" for accounts with internal type \"Payable/Receivable\"! "
+msgstr ""
+"Eroare de configurare! \n"
+"Nu puteti selecta un tip de cont cu o metoda de amanare diferita de "
+"\"Nereconciliat\" pentru conturile cu tipul intern \"Plati/Incasari\"! "
+
+#. module: l10n_multilang
+#: sql_constraint:account.journal:0
+msgid "The name of the journal must be unique per company !"
+msgstr "Numele jurnalului trebuie sa fie unic per companie !"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_analytic_account
+msgid "Analytic Account"
+msgstr "Cont Analitic"
+
+#. module: l10n_multilang
+#: sql_constraint:account.journal:0
+msgid "The code of the journal must be unique per company !"
+msgstr "Codul jurnalului trebuie sa fie unic per companie !"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_fiscal_position
+msgid "Fiscal Position"
+msgstr "Pozitie fiscala"
+
+#. module: l10n_multilang
+#: constraint:account.account:0
+msgid ""
+"Configuration Error! \n"
+"You can not define children to an account with internal type different of "
+"\"View\"! "
+msgstr ""
+"Eroare de configurare! \n"
+"Nu puteti defini conturi subordonate unui cont cu tipul intern diferit de "
+"\"Vizualizare\"! "
+
+#. module: l10n_multilang
+#: constraint:account.analytic.account:0
+msgid "Error! You can not create recursive analytic accounts."
+msgstr "Eroare! Nu puteti crea conturi analitice recursive."
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_tax_code_template
+msgid "Tax Code Template"
+msgstr "Sablon Cod Taxa"
+
+#. module: l10n_multilang
+#: field:account.chart.template,spoken_languages:0
+msgid "Spoken Languages"
+msgstr "Limbi Vorbite"
diff --git a/addons/l10n_syscohada/i18n/ro.po b/addons/l10n_syscohada/i18n/ro.po
new file mode 100644
index 00000000000..4bd661a2da3
--- /dev/null
+++ b/addons/l10n_syscohada/i18n/ro.po
@@ -0,0 +1,123 @@
+# Romanian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-12-23 09:56+0000\n"
+"PO-Revision-Date: 2012-05-30 20:37+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Romanian <ro@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-31 04:54+0000\n"
+"X-Generator: Launchpad (build 15322)\n"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_receivable
+msgid "Receivable"
+msgstr "Incasari"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_stocks
+msgid "Actif circulant"
+msgstr "Active"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_commitment
+msgid "Engagements"
+msgstr "Angajamente"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_expense
+msgid "Expense"
+msgstr "Cheltuiala"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_stock
+msgid "Stocks"
+msgstr "Actiuni"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_provision
+msgid "Provisions"
+msgstr "Clauze"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_income
+msgid "Income"
+msgstr "Venit"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_tax
+msgid "Tax"
+msgstr "Taxa"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_cash
+msgid "Cash"
+msgstr "Numerar"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_immobilisations
+msgid "Immobilisations"
+msgstr "Imobiliare"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_special
+msgid "Comptes spéciaux"
+msgstr "Conturi speciale"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_payable
+msgid "Payable"
+msgstr "Plati"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_asset
+msgid "Asset"
+msgstr "Active"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_view
+msgid "View"
+msgstr "Vizualizare"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_equity
+msgid "Equity"
+msgstr "Capital"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_cloture
+msgid "Cloture"
+msgstr "Inchidere"
+
+#. module: l10n_syscohada
+#: model:account.account.type,name:l10n_syscohada.account_type_dettes
+msgid "Dettes long terme"
+msgstr "Datorii pe termen lung"
+
+#. module: l10n_syscohada
+#: model:ir.actions.todo,note:l10n_syscohada.config_call_account_template_syscohada
+msgid ""
+"Generate Chart of Accounts from a SYSCOHADA Chart Template. You will be "
+"asked to pass the name of the company, the chart template to follow, the no. "
+"of digits to generate the code for your accounts and Bank account, currency "
+"to create Journals. Thus,the pure copy of chart Template is generated.\n"
+"\tThis is the same wizard that runs from Financial "
+"Management/Configuration/Financial Accounting/Financial Accounts/Generate "
+"Chart of Accounts from a Chart Template."
+msgstr ""
+"Creati Planul de Conturi dintr-un Sablon SYSCOHADA de planuri. Vi se va cere "
+"sa introduceti numele companiei, sablonul de planuri de urmat, numarul de "
+"cifre pentru crearea codului pentru conturile d-voastra si Contul Bancar, "
+"moneda pentru a crea Jurnalele. Astfel, este creata copia originala a "
+"Sablonului de planuri.\n"
+"\t Acesta este acelasi wizard care ruleaza din Managementul "
+"Financiar/Configurare/Contabilitate Financiara/Conturi Financiare/Creati "
+"Planul de Conturi dintr-un Sablon de planuri."
diff --git a/addons/lunch/i18n/ja.po b/addons/lunch/i18n/ja.po
new file mode 100644
index 00000000000..186018e7cbc
--- /dev/null
+++ b/addons/lunch/i18n/ja.po
@@ -0,0 +1,554 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 01:37+0100\n"
+"PO-Revision-Date: 2012-05-25 02:30+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-26 05:07+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: lunch
+#: view:lunch.cashbox.clean:0
+msgid "Reset cashbox"
+msgstr "金庫のリセット"
+
+#. module: lunch
+#: view:report.lunch.amount:0
+msgid "Box amount in current year"
+msgstr "現在年のボックス数"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_lunch_order_form
+#: model:ir.ui.menu,name:lunch.menu_lunch_order_form
+#: model:ir.ui.menu,name:lunch.menu_lunch_reporting_order
+msgid "Lunch Orders"
+msgstr "昼食オーダー"
+
+#. module: lunch
+#: view:lunch.order.cancel:0
+msgid "Are you sure you want to cancel this order ?"
+msgstr "本当にこのオーダーをキャンセルしますか?"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_lunch_cashmove_form
+#: model:ir.ui.menu,name:lunch.menu_lunch_cashmove_form
+msgid "Cash Moves"
+msgstr "現金移動"
+
+#. module: lunch
+#: view:lunch.cashmove:0 view:lunch.order:0 view:report.lunch.amount:0
+#: view:report.lunch.order:0
+msgid "Group By..."
+msgstr "グループ化…"
+
+#. module: lunch
+#: model:ir.model,name:lunch.model_lunch_order_confirm
+msgid "confirm Order"
+msgstr "オーダーの確認"
+
+#. module: lunch
+#: view:report.lunch.order:0
+msgid " 7 Days "
+msgstr " 7日 "
+
+#. module: lunch
+#: view:lunch.cashmove:0 view:lunch.order:0
+msgid "Today"
+msgstr "本日"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "March"
+msgstr "3月"
+
+#. module: lunch
+#: report:lunch.order:0
+msgid "Total :"
+msgstr "合計:"
+
+#. module: lunch
+#: field:report.lunch.amount,day:0 view:report.lunch.order:0
+#: field:report.lunch.order,day:0
+msgid "Day"
+msgstr "日"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_lunch_order_cancel
+#: model:ir.actions.act_window,name:lunch.action_lunch_order_cancel_values
+#: model:ir.model,name:lunch.model_lunch_order_cancel view:lunch.order:0
+#: view:lunch.order.cancel:0
+msgid "Cancel Order"
+msgstr "オーダーのキャンセル"
+
+#. module: lunch
+#: model:ir.actions.act_window,help:lunch.action_create_cashbox
+msgid ""
+"You can create on cashbox by employee if you want to keep track of the "
+"amount due by employee according to what have been ordered."
+msgstr "従業員毎に何がオーダーされたかによる金額を追跡したい場合は、従業員毎の金庫を作成することができます。"
+
+#. module: lunch
+#: field:lunch.cashmove,amount:0 field:report.lunch.amount,amount:0
+msgid "Amount"
+msgstr "量"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_lunch_product_form
+#: model:ir.ui.menu,name:lunch.menu_lunch_product_form view:lunch.product:0
+msgid "Products"
+msgstr "製品"
+
+#. module: lunch
+#: model:ir.model,name:lunch.model_report_lunch_amount
+msgid "Amount available by user and box"
+msgstr "ユーザとボックスで使用可能な量"
+
+#. module: lunch
+#: view:report.lunch.amount:0
+msgid " Month "
+msgstr " 月 "
+
+#. module: lunch
+#: model:ir.model,name:lunch.model_report_lunch_order
+msgid "Lunch Orders Statistics"
+msgstr "昼食オーダー統計"
+
+#. module: lunch
+#: view:lunch.cashmove:0 field:lunch.order,cashmove:0
+msgid "CashMove"
+msgstr "現金移動"
+
+#. module: lunch
+#: view:lunch.order:0 selection:lunch.order,state:0
+msgid "Confirmed"
+msgstr "確認済"
+
+#. module: lunch
+#: view:lunch.order.confirm:0
+msgid "Confirm"
+msgstr "確認"
+
+#. module: lunch
+#: view:lunch.order:0
+msgid "Search Lunch Order"
+msgstr "昼食オーダーの検索"
+
+#. module: lunch
+#: field:lunch.order,state:0
+msgid "State"
+msgstr "状態"
+
+#. module: lunch
+#: selection:lunch.order,state:0
+msgid "New"
+msgstr "新規"
+
+#. module: lunch
+#: field:report.lunch.order,price_total:0
+msgid "Total Price"
+msgstr "合計価格"
+
+#. module: lunch
+#: view:report.lunch.amount:0
+msgid "Box Amount by User"
+msgstr "ユーザ毎のボックス量"
+
+#. module: lunch
+#: field:lunch.cashmove,create_date:0
+msgid "Creation Date"
+msgstr "作成日"
+
+#. module: lunch
+#: report:lunch.order:0
+msgid "Name/Date"
+msgstr "名前 / 日付"
+
+#. module: lunch
+#: field:lunch.order,descript:0
+msgid "Description Order"
+msgstr "オーダーの詳細"
+
+#. module: lunch
+#: view:report.lunch.amount:0
+msgid "Box amount in last month"
+msgstr "先月のボックス量"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_lunch_order_confirm
+#: model:ir.actions.act_window,name:lunch.action_lunch_order_confirm_values
+#: view:lunch.order:0 view:lunch.order.confirm:0
+msgid "Confirm Order"
+msgstr "オーダーの確認"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "July"
+msgstr "7月"
+
+#. module: lunch
+#: view:lunch.cashmove:0 view:report.lunch.amount:0 view:report.lunch.order:0
+msgid "Box"
+msgstr "ボックス"
+
+#. module: lunch
+#: view:report.lunch.order:0
+msgid " 365 Days "
+msgstr " 365日 "
+
+#. module: lunch
+#: view:report.lunch.amount:0
+msgid " Month-1 "
+msgstr " 月-1 "
+
+#. module: lunch
+#: field:report.lunch.amount,date:0
+msgid "Created Date"
+msgstr "作成日"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_lunch_category_form
+msgid " Product Categories "
+msgstr " 製品分類 "
+
+#. module: lunch
+#: view:lunch.cashbox.clean:0
+msgid "Set to Zero"
+msgstr "0に設定"
+
+#. module: lunch
+#: model:ir.model,name:lunch.model_lunch_cashmove
+msgid "Cash Move"
+msgstr "現金移動"
+
+#. module: lunch
+#: view:report.lunch.order:0
+msgid "Tasks performed in last 365 days"
+msgstr "直近365日で実行されたタスク"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "April"
+msgstr "4月"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "September"
+msgstr "9月"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "December"
+msgstr "12月"
+
+#. module: lunch
+#: field:report.lunch.amount,month:0 view:report.lunch.order:0
+#: field:report.lunch.order,month:0
+msgid "Month"
+msgstr "月"
+
+#. module: lunch
+#: field:lunch.order.confirm,confirm_cashbox:0
+msgid "Name of box"
+msgstr "ボックスの名前"
+
+#. module: lunch
+#: view:lunch.order.cancel:0
+msgid "Yes"
+msgstr ""
+
+#. module: lunch
+#: model:ir.model,name:lunch.model_lunch_category view:lunch.category:0
+#: view:lunch.order:0 field:lunch.order,category:0
+#: field:lunch.product,category_id:0
+msgid "Category"
+msgstr "分類"
+
+#. module: lunch
+#: view:report.lunch.amount:0
+msgid " Year "
+msgstr " 年 "
+
+#. module: lunch
+#: model:ir.ui.menu,name:lunch.menu_lunch_category_form
+msgid "Product Categories"
+msgstr "製品分類"
+
+#. module: lunch
+#: view:lunch.cashbox.clean:0 view:lunch.order.cancel:0
+msgid "No"
+msgstr ""
+
+#. module: lunch
+#: view:lunch.order.confirm:0
+msgid "Orders Confirmation"
+msgstr "オーダー確認"
+
+#. module: lunch
+#: view:lunch.cashbox.clean:0
+msgid "Are you sure you want to reset this cashbox ?"
+msgstr "本当にこの金庫をリセットしますか?"
+
+#. module: lunch
+#: model:ir.actions.act_window,help:lunch.view_lunch_product_form_installer
+msgid ""
+"Define all products that the employees can order for the lunch time. If you "
+"order lunch at several places, you can use the product categories to split "
+"by supplier. It will be easier for the lunch manager to filter lunch orders "
+"by categories."
+msgstr ""
+"従業員が昼食時間にオーダーできる全ての製品を定義して下さい。複数の場所で昼食をオーダーするなら、仕入先毎に分離した製品分類を使うことができます。これは昼食"
+"マネジャにとって分類別に昼食オーダーをフィルタすることを容易にします。"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "August"
+msgstr "8月"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_report_lunch_order_all
+#: view:report.lunch.order:0
+msgid "Lunch Order Analysis"
+msgstr "昼食オーダー分析"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "June"
+msgstr "6月"
+
+#. module: lunch
+#: field:lunch.cashmove,user_cashmove:0 field:lunch.order,user_id:0
+#: field:report.lunch.amount,user_id:0 field:report.lunch.order,user_id:0
+msgid "User Name"
+msgstr "ユーザ名"
+
+#. module: lunch
+#: view:report.lunch.order:0
+msgid "Sales Analysis"
+msgstr "販売分析"
+
+#. module: lunch
+#: model:ir.ui.menu,name:lunch.menu_lunch_category_root_configuration
+msgid "Lunch"
+msgstr "昼食"
+
+#. module: lunch
+#: view:lunch.cashmove:0 view:report.lunch.order:0
+msgid "User"
+msgstr "ユーザ"
+
+#. module: lunch
+#: view:lunch.cashmove:0 field:lunch.order,date:0
+msgid "Date"
+msgstr "日付"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "November"
+msgstr "11月"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "October"
+msgstr "10月"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "January"
+msgstr "1月"
+
+#. module: lunch
+#: field:lunch.cashmove,box:0 field:report.lunch.amount,box:0
+msgid "Box Name"
+msgstr "ボックス名"
+
+#. module: lunch
+#: model:ir.model,name:lunch.model_lunch_cashbox_clean
+msgid "clean cashbox"
+msgstr "金庫のクリア"
+
+#. module: lunch
+#: field:lunch.cashmove,active:0 field:lunch.product,active:0
+msgid "Active"
+msgstr "アクティブ"
+
+#. module: lunch
+#: field:report.lunch.order,date:0
+msgid "Date Order"
+msgstr "日付順"
+
+#. module: lunch
+#: model:ir.model,name:lunch.model_lunch_cashbox
+msgid "Cashbox for Lunch "
+msgstr "昼食用金庫 "
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_lunch_cashbox_clean
+#: model:ir.actions.act_window,name:lunch.action_lunch_cashbox_clean_values
+msgid "Set CashBox to Zero"
+msgstr "金庫に0を設定"
+
+#. module: lunch
+#: view:lunch.product:0
+msgid "General Information"
+msgstr "一般情報"
+
+#. module: lunch
+#: view:lunch.order.confirm:0
+msgid "Cancel"
+msgstr "キャンセル"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_lunch_cashbox_form
+msgid " Cashboxes "
+msgstr " 金庫 "
+
+#. module: lunch
+#: report:lunch.order:0
+msgid "Unit Price"
+msgstr "単価"
+
+#. module: lunch
+#: field:lunch.order,product:0
+msgid "Product"
+msgstr "製品"
+
+#. module: lunch
+#: field:lunch.cashmove,name:0 report:lunch.order:0 view:lunch.product:0
+#: field:lunch.product,description:0
+msgid "Description"
+msgstr "詳細"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "May"
+msgstr "5月"
+
+#. module: lunch
+#: field:lunch.order,price:0 field:lunch.product,price:0
+msgid "Price"
+msgstr "価格"
+
+#. module: lunch
+#: view:lunch.cashmove:0
+msgid "Search CashMove"
+msgstr "現金移動の検索"
+
+#. module: lunch
+#: view:report.lunch.amount:0
+msgid "Total box"
+msgstr "ボックス合計"
+
+#. module: lunch
+#: model:ir.model,name:lunch.model_lunch_product
+msgid "Lunch Product"
+msgstr "昼食製品"
+
+#. module: lunch
+#: field:lunch.cashbox,sum_remain:0
+msgid "Total Remaining"
+msgstr "残り合計"
+
+#. module: lunch
+#: view:lunch.order:0
+msgid "Total price"
+msgstr "合計価格"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "February"
+msgstr "2月"
+
+#. module: lunch
+#: field:lunch.cashbox,name:0 field:lunch.category,name:0
+#: field:lunch.product,name:0 field:report.lunch.order,box_name:0
+msgid "Name"
+msgstr "名前"
+
+#. module: lunch
+#: view:lunch.cashmove:0
+msgid "Total amount"
+msgstr "合計金額"
+
+#. module: lunch
+#: view:report.lunch.order:0
+msgid "Tasks performed in last 30 days"
+msgstr "直近30日で実行したタスク"
+
+#. module: lunch
+#: view:lunch.category:0
+msgid "Category Related to Products"
+msgstr "製品に関連する分類"
+
+#. module: lunch
+#: model:ir.ui.menu,name:lunch.menu_lunch_cashbox_form view:lunch.cashbox:0
+msgid "Cashboxes"
+msgstr "金庫"
+
+#. module: lunch
+#: view:lunch.category:0 report:lunch.order:0 view:lunch.order:0
+msgid "Order"
+msgstr "オーダー"
+
+#. module: lunch
+#: model:ir.actions.report.xml,name:lunch.report_lunch_order
+#: model:ir.model,name:lunch.model_lunch_order
+#: model:ir.ui.menu,name:lunch.menu_lunch report:lunch.order:0
+msgid "Lunch Order"
+msgstr "昼食オーダー"
+
+#. module: lunch
+#: view:report.lunch.amount:0
+msgid "Box amount in current month"
+msgstr "現在月のボックス量"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.view_lunch_product_form_installer
+msgid "Define Your Lunch Products"
+msgstr "昼食製品を定義して下さい。"
+
+#. module: lunch
+#: view:report.lunch.order:0
+msgid "Tasks during last 7 days"
+msgstr "直近7日間のタスク"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_report_lunch_amount_tree
+#: model:ir.ui.menu,name:lunch.menu_lunch_report_amount_tree
+msgid "Cash Position by User"
+msgstr "ユーザ毎の現金持高"
+
+#. module: lunch
+#: field:lunch.cashbox,manager:0
+msgid "Manager"
+msgstr "マネジャ"
+
+#. module: lunch
+#: view:report.lunch.order:0
+msgid " 30 Days "
+msgstr " 30日 "
+
+#. module: lunch
+#: view:lunch.order:0
+msgid "To Confirm"
+msgstr "確認"
+
+#. module: lunch
+#: field:report.lunch.amount,year:0 view:report.lunch.order:0
+#: field:report.lunch.order,year:0
+msgid "Year"
+msgstr "年"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_create_cashbox
+msgid "Create Lunch Cash Boxes"
+msgstr "昼食用金庫の作成"
diff --git a/addons/mail/i18n/ja.po b/addons/mail/i18n/ja.po
new file mode 100644
index 00000000000..479c783ca64
--- /dev/null
+++ b/addons/mail/i18n/ja.po
@@ -0,0 +1,511 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-09 00:36+0000\n"
+"PO-Revision-Date: 2012-05-25 05:23+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-26 05:07+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: mail
+#: field:mail.compose.message,subtype:0 field:mail.message,subtype:0
+#: field:mail.message.common,subtype:0
+msgid "Message Type"
+msgstr "メッセージタイプ"
+
+#. module: mail
+#: help:mail.compose.message,auto_delete:0
+msgid "Permanently delete emails after sending"
+msgstr "送信後、Eメールを削除"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Open Related Document"
+msgstr "関連ドキュメントを開く"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Open Attachments"
+msgstr "添付ファイルを開く"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Message Details"
+msgstr "メッセージ詳細"
+
+#. module: mail
+#: view:mail.thread:0
+msgid "Communication History"
+msgstr "会話履歴"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Group By..."
+msgstr "グループ化…"
+
+#. module: mail
+#: model:ir.actions.act_window,name:mail.action_email_compose_message_wizard
+#: view:mail.compose.message:0
+msgid "Compose Email"
+msgstr "Eメール作成"
+
+#. module: mail
+#: help:mail.compose.message,body_text:0 help:mail.message,body_text:0
+#: help:mail.message.common,body_text:0
+msgid "Plain-text version of the message"
+msgstr "メッセージのテキスト版"
+
+#. module: mail
+#: view:mail.compose.message:0
+msgid "Body"
+msgstr "本文"
+
+#. module: mail
+#: help:mail.compose.message,email_to:0 help:mail.message,email_to:0
+#: help:mail.message.common,email_to:0
+msgid "Message recipients"
+msgstr "メッセージの受取人"
+
+#. module: mail
+#: field:mail.compose.message,body_text:0 field:mail.message,body_text:0
+#: field:mail.message.common,body_text:0
+msgid "Text Contents"
+msgstr "テキストの内容"
+
+#. module: mail
+#: view:mail.message:0 selection:mail.message,state:0
+msgid "Received"
+msgstr "受信済"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Thread"
+msgstr "スレッド"
+
+#. module: mail
+#: field:mail.message,mail_server_id:0
+msgid "Outgoing mail server"
+msgstr "送信メールサーバ"
+
+#. module: mail
+#: selection:mail.message,state:0
+msgid "Cancelled"
+msgstr "キャンセル済"
+
+#. module: mail
+#: field:mail.compose.message,reply_to:0 field:mail.message,reply_to:0
+#: field:mail.message.common,reply_to:0
+msgid "Reply-To"
+msgstr "返信先"
+
+#. module: mail
+#: help:mail.compose.message,body_html:0 help:mail.message,body_html:0
+#: help:mail.message.common,body_html:0
+msgid "Rich-text/HTML version of the message"
+msgstr "メッセージのリッチテキスト / HTML版"
+
+#. module: mail
+#: field:mail.compose.message,auto_delete:0 field:mail.message,auto_delete:0
+msgid "Auto Delete"
+msgstr "自動削除"
+
+#. module: mail
+#: help:mail.compose.message,email_bcc:0 help:mail.message,email_bcc:0
+#: help:mail.message.common,email_bcc:0
+msgid "Blind carbon copy message recipients"
+msgstr "BCCの受取人"
+
+#. module: mail
+#: model:ir.model,name:mail.model_res_partner view:mail.message:0
+msgid "Partner"
+msgstr "パートナ"
+
+#. module: mail
+#: field:mail.compose.message,subject:0 field:mail.message,subject:0
+#: field:mail.message.common,subject:0
+msgid "Subject"
+msgstr "件名"
+
+#. module: mail
+#: code:addons/mail/wizard/mail_compose_message.py:152
+#, python-format
+msgid "On %(date)s, "
+msgstr "%(date)s、 "
+
+#. module: mail
+#: field:mail.compose.message,email_from:0 field:mail.message,email_from:0
+#: field:mail.message.common,email_from:0
+msgid "From"
+msgstr "送信者"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Email message"
+msgstr "Eメールメッセージ"
+
+#. module: mail
+#: view:mail.compose.message:0
+msgid "Send"
+msgstr "送信"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Failed"
+msgstr "失敗"
+
+#. module: mail
+#: view:mail.message:0 field:mail.message,state:0
+msgid "State"
+msgstr "状態"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Reply"
+msgstr "返信"
+
+#. module: mail
+#: view:mail.message:0 selection:mail.message,state:0
+msgid "Sent"
+msgstr "送信済"
+
+#. module: mail
+#: help:mail.compose.message,subtype:0 help:mail.message,subtype:0
+#: help:mail.message.common,subtype:0
+msgid ""
+"Type of message, usually 'html' or 'plain', used to select plaintext or rich "
+"text contents accordingly"
+msgstr "メッセージのタイプ。通常はテキストあるいはリッチテキストを指定するための 「テキスト」あるいは「HTML」"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Recipients"
+msgstr "宛先"
+
+#. module: mail
+#: model:ir.model,name:mail.model_mail_compose_message
+msgid "E-mail composition wizard"
+msgstr "Eメール作成ウィザード"
+
+#. module: mail
+#: field:mail.compose.message,res_id:0 field:mail.message,res_id:0
+#: field:mail.message.common,res_id:0
+msgid "Related Document ID"
+msgstr "関連する文書ID"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Advanced"
+msgstr "高度"
+
+#. module: mail
+#: code:addons/mail/wizard/mail_compose_message.py:157
+#, python-format
+msgid "Re:"
+msgstr "Re:"
+
+#. module: mail
+#: field:mail.compose.message,model:0 field:mail.message,model:0
+#: field:mail.message.common,model:0
+msgid "Related Document Model"
+msgstr "関連する文書モデル"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Month"
+msgstr "月"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Email Search"
+msgstr "Eメール検索"
+
+#. module: mail
+#: help:mail.message,original:0
+msgid "Original version of the message, as it was sent on the network"
+msgstr "ネットワークで送信された場合のメッセージの原型"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Partner Name"
+msgstr "パートナ名"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Retry"
+msgstr "再試行"
+
+#. module: mail
+#: view:mail.message:0 selection:mail.message,state:0
+msgid "Outgoing"
+msgstr "送信"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Send Now"
+msgstr "今すぐ送信"
+
+#. module: mail
+#: field:mail.message,partner_id:0
+msgid "Related partner"
+msgstr "関係する取引先"
+
+#. module: mail
+#: view:mail.message:0
+msgid "User"
+msgstr "ユーザ"
+
+#. module: mail
+#: field:mail.compose.message,date:0 field:mail.message,date:0
+#: field:mail.message.common,date:0
+msgid "Date"
+msgstr "日付"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Extended Filters..."
+msgstr "拡張フィルタ…"
+
+#. module: mail
+#: code:addons/mail/wizard/mail_compose_message.py:153
+#, python-format
+msgid "%(sender_name)s wrote:"
+msgstr "%(sender_name)s さんの記述:"
+
+#. module: mail
+#: field:mail.compose.message,body_html:0 field:mail.message,body_html:0
+#: field:mail.message.common,body_html:0
+msgid "Rich-text Contents"
+msgstr "リッチテキストのコンテンツ"
+
+#. module: mail
+#: field:mail.message,original:0
+msgid "Original"
+msgstr "原文"
+
+#. module: mail
+#: code:addons/mail/mail_thread.py:247 view:res.partner:0
+#, python-format
+msgid "History"
+msgstr "履歴"
+
+#. module: mail
+#: field:mail.compose.message,message_id:0 field:mail.message,message_id:0
+#: field:mail.message.common,message_id:0
+msgid "Message-Id"
+msgstr "メッセージID"
+
+#. module: mail
+#: view:mail.compose.message:0 field:mail.compose.message,attachment_ids:0
+#: view:mail.message:0 field:mail.message,attachment_ids:0
+msgid "Attachments"
+msgstr "添付"
+
+#. module: mail
+#: field:mail.compose.message,email_cc:0 field:mail.message,email_cc:0
+#: field:mail.message.common,email_cc:0
+msgid "Cc"
+msgstr "写し(CC)"
+
+#. module: mail
+#: code:addons/mail/mail_message.py:159
+#, python-format
+msgid " on "
+msgstr ""
+
+#. module: mail
+#: help:mail.message,auto_delete:0
+msgid "Permanently delete this email after sending it, to save space"
+msgstr "送信後、このEメールを削除(スペース節約のため)"
+
+#. module: mail
+#: field:mail.compose.message,references:0 field:mail.message,references:0
+#: field:mail.message.common,references:0
+msgid "References"
+msgstr "参照"
+
+#. module: mail
+#: field:mail.message,display_text:0
+msgid "Display Text"
+msgstr "テキストの表示"
+
+#. module: mail
+#: view:mail.compose.message:0 view:mail.message:0
+msgid "Cancel"
+msgstr "キャンセル"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Open"
+msgstr "開く"
+
+#. module: mail
+#: code:addons/mail/mail_thread.py:434
+#, python-format
+msgid "[OpenERP-Forward-Failed] %s"
+msgstr ""
+
+#. module: mail
+#: field:mail.message,user_id:0
+msgid "Related User"
+msgstr "関連ユーザ"
+
+#. module: mail
+#: help:mail.compose.message,headers:0 help:mail.message,headers:0
+#: help:mail.message.common,headers:0
+msgid ""
+"Full message headers, e.g. SMTP session headers (usually available on "
+"inbound messages only)"
+msgstr "全メッセージヘッダー。例えばSMTPセッションのヘッダー(通常、受信メッセージのみ)。"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Creation Month"
+msgstr "作成月"
+
+#. module: mail
+#: field:mail.compose.message,email_to:0 field:mail.message,email_to:0
+#: field:mail.message.common,email_to:0
+msgid "To"
+msgstr "宛先"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Details"
+msgstr "詳細"
+
+#. module: mail
+#: model:ir.actions.act_window,name:mail.action_view_mailgate_thread
+#: view:mail.thread:0
+msgid "Email Threads"
+msgstr "Eメールスレッド"
+
+#. module: mail
+#: help:mail.compose.message,email_from:0 help:mail.message,email_from:0
+#: help:mail.message.common,email_from:0
+msgid ""
+"Message sender, taken from user preferences. If empty, this is not a mail "
+"but a message."
+msgstr "メッセージの差出人。ユーザの優先設定から持って来られます。空白にすると、Eメールではなく、メッセージになります。"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Body (Plain)"
+msgstr "本文(テキスト)"
+
+#. module: mail
+#: code:addons/mail/wizard/mail_compose_message.py:153
+#, python-format
+msgid "You"
+msgstr "あなた"
+
+#. module: mail
+#: help:mail.compose.message,message_id:0 help:mail.message,message_id:0
+#: help:mail.message.common,message_id:0
+msgid "Message unique identifier"
+msgstr "メッセージ識別番号"
+
+#. module: mail
+#: view:mail.message:0
+msgid "Body (Rich)"
+msgstr "本文(リッチテキスト)"
+
+#. module: mail
+#: code:addons/mail/mail_message.py:155
+#, python-format
+msgid ""
+"%s wrote on %s: \n"
+" Subject: %s \n"
+"\t"
+msgstr ""
+"%s が %s について記述:\n"
+" 件名:%s \n"
+"\t"
+
+#. module: mail
+#: model:ir.actions.act_window,name:mail.act_res_partner_emails
+#: view:mail.message:0 field:res.partner,emails:0
+msgid "Emails"
+msgstr "Eメール"
+
+#. module: mail
+#: model:ir.actions.act_window,name:mail.action_view_mail_message
+#: model:ir.ui.menu,name:mail.menu_email_message
+#: field:mail.thread,message_ids:0
+msgid "Messages"
+msgstr "メッセージ"
+
+#. module: mail
+#: field:mail.compose.message,headers:0 field:mail.message,headers:0
+#: field:mail.message.common,headers:0
+msgid "Message Headers"
+msgstr "メッセージヘッダー"
+
+#. module: mail
+#: field:mail.compose.message,email_bcc:0 field:mail.message,email_bcc:0
+#: field:mail.message.common,email_bcc:0
+msgid "Bcc"
+msgstr "BCC"
+
+#. module: mail
+#: model:ir.model,name:mail.model_mail_message_common
+msgid "mail.message.common"
+msgstr ""
+
+#. module: mail
+#: help:mail.compose.message,references:0 help:mail.message,references:0
+#: help:mail.message.common,references:0
+msgid "Message references, such as identifiers of previous messages"
+msgstr "メッセージの参照。前のメッセージの識別番号など"
+
+#. module: mail
+#: constraint:res.partner:0
+msgid "Error ! You cannot create recursive associated members."
+msgstr "エラー。再帰的な関係となる会員を作ることはできません。"
+
+#. module: mail
+#: help:mail.compose.message,email_cc:0 help:mail.message,email_cc:0
+#: help:mail.message.common,email_cc:0
+msgid "Carbon copy message recipients"
+msgstr "CCメッセージの宛先"
+
+#. module: mail
+#: selection:mail.message,state:0
+msgid "Delivery Failed"
+msgstr "配信に失敗しました。"
+
+#. module: mail
+#: model:ir.model,name:mail.model_mail_message
+msgid "Email Message"
+msgstr "Eメールメッセージ"
+
+#. module: mail
+#: model:ir.model,name:mail.model_mail_thread view:mail.thread:0
+msgid "Email Thread"
+msgstr "Eメールスレッド"
+
+#. module: mail
+#: field:mail.compose.message,filter_id:0
+msgid "Filters"
+msgstr "フィルタ"
+
+#. module: mail
+#: code:addons/mail/mail_thread.py:220
+#, python-format
+msgid "Mail attachment"
+msgstr "メール添付"
+
+#. module: mail
+#: help:mail.compose.message,reply_to:0 help:mail.message,reply_to:0
+#: help:mail.message.common,reply_to:0
+msgid "Preferred response address for the message"
+msgstr "メッセージの優先返信アドレス"
diff --git a/addons/mail/static/src/css/mail.css b/addons/mail/static/src/css/mail.css
index 895ca575f08..554f8085fb5 100644
--- a/addons/mail/static/src/css/mail.css
+++ b/addons/mail/static/src/css/mail.css
@@ -1,3 +1,4 @@
+
/* ------------------------------ */
/* Wall */
/* ------------------------------ */
diff --git a/addons/marketing_campaign/i18n/hi.po b/addons/marketing_campaign/i18n/hi.po
new file mode 100644
index 00000000000..eb5bb64f495
--- /dev/null
+++ b/addons/marketing_campaign/i18n/hi.po
@@ -0,0 +1,1073 @@
+# Hindi translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-29 12:12+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Hindi <hi@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-30 05:21+0000\n"
+"X-Generator: Launchpad (build 15316)\n"
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+msgid "Manual Mode"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.transition,activity_from_id:0
+msgid "Previous Activity"
+msgstr "पिछली गतिविधि"
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:818
+#, python-format
+msgid "The current step for this item has no email or report to preview."
+msgstr ""
+
+#. module: marketing_campaign
+#: constraint:marketing.campaign.transition:0
+msgid "The To/From Activity of transition must be of the same Campaign "
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.transition,trigger:0
+msgid "Time"
+msgstr "समय"
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.activity,type:0
+msgid "Custom Action"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: view:marketing.campaign:0
+#: view:marketing.campaign.segment:0
+#: view:marketing.campaign.workitem:0
+msgid "Group By..."
+msgstr "इस आधार पर समूहीकृत"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,revenue:0
+msgid ""
+"Set an expected revenue if you consider that every campaign item that has "
+"reached this point has generated a certain revenue. You can get revenue "
+"statistics in the Reporting section"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.transition,trigger:0
+msgid "Trigger"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:campaign.analysis,count:0
+msgid "# of Actions"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+msgid "Campaign Editor"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: view:marketing.campaign.workitem:0
+msgid "Today"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+#: selection:marketing.campaign,state:0
+#: view:marketing.campaign.segment:0
+#: selection:marketing.campaign.segment,state:0
+msgid "Running"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "March"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,object_id:0
+msgid "Object"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "Sync mode: only records created after last sync"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:email.template,body_text:marketing_campaign.email_template_2
+msgid ""
+"Hello, We are happy to announce that you now become our Silver Partner."
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+#: view:marketing.campaign.segment:0
+msgid "Set to Draft"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,to_ids:0
+msgid "Next Activities"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "Synchronization"
+msgstr ""
+
+#. module: marketing_campaign
+#: sql_constraint:marketing.campaign.transition:0
+msgid "The interval must be positive or zero"
+msgstr ""
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:818
+#, python-format
+msgid "No preview"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+#: field:marketing.campaign.segment,date_run:0
+msgid "Launch Date"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,day:0
+msgid "Day"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.activity:0
+msgid "Outgoing Transitions"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+msgid "Reset"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign,object_id:0
+msgid "Choose the resource on which you want this campaign to be run"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.segment,sync_last_date:0
+msgid "Last Synchronization"
+msgstr ""
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:214
+#, python-format
+msgid "You can not duplicate a campaign, it's not supported yet."
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.transition,interval_type:0
+msgid "Year(s)"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.segment,sync_last_date:0
+msgid ""
+"Date on which this segment was synchronized last time (automatically or "
+"manually)"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,state:0
+#: selection:marketing.campaign,state:0
+#: selection:marketing.campaign.segment,state:0
+#: selection:marketing.campaign.workitem,state:0
+msgid "Cancelled"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.transition,trigger:0
+msgid "Automatic"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign,mode:0
+msgid ""
+"Test - It creates and process all the activities directly (without waiting "
+"for the delay on transitions) but does not send emails or produce reports.\n"
+"Test in Realtime - It creates and processes all the activities directly but "
+"does not send emails or produce reports.\n"
+"With Manual Confirmation - the campaigns runs normally, but the user has to "
+"validate all workitem manually.\n"
+"Normal - the campaign runs normally and automatically sends all emails and "
+"reports (be very careful with this mode, you're live!)"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.segment,date_run:0
+msgid "Initial start date of this segment."
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,campaign_id:0
+#: view:marketing.campaign:0
+#: field:marketing.campaign.activity,campaign_id:0
+#: view:marketing.campaign.segment:0
+#: field:marketing.campaign.segment,campaign_id:0
+#: view:marketing.campaign.workitem:0
+#: field:marketing.campaign.workitem,campaign_id:0
+msgid "Campaign"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:email.template,subject:marketing_campaign.email_template_3
+msgid "Congratulation! You become our Gold Partner."
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,segment_id:0
+#: view:marketing.campaign.segment:0
+#: view:marketing.campaign.workitem:0
+#: field:marketing.campaign.workitem,segment_id:0
+msgid "Segment"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.activity:0
+msgid "Cost / Revenue"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,type:0
+msgid ""
+"The type of action to execute when an item enters this activity, such as:\n"
+" - Email: send an email using a predefined email template\n"
+" - Report: print an existing Report defined on the resource item and save "
+"it into a specific directory\n"
+" - Custom Action: execute a predefined action, e.g. to modify the fields "
+"of the resource record\n"
+" "
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.segment,date_next_sync:0
+msgid "Next time the synchronization job is scheduled to run automatically"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.transition,interval_type:0
+msgid "Month(s)"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,partner_id:0
+#: model:ir.model,name:marketing_campaign.model_res_partner
+#: field:marketing.campaign.workitem,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.activity:0
+msgid "Transitions"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.filters,name:marketing_campaign.filter0
+msgid "Partners"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,keep_if_condition_not_met:0
+msgid "Don't delete workitems"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,state:0
+#: view:marketing.campaign:0
+#: field:marketing.campaign,state:0
+#: view:marketing.campaign.segment:0
+#: field:marketing.campaign.segment,state:0
+#: view:marketing.campaign.workitem:0
+#: field:marketing.campaign.workitem,state:0
+msgid "State"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+msgid "Marketing Reports"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:marketing.campaign,state:0
+#: selection:marketing.campaign.segment,state:0
+msgid "New"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,type:0
+msgid "Type"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign,name:0
+#: field:marketing.campaign.activity,name:0
+#: field:marketing.campaign.segment,name:0
+#: field:marketing.campaign.transition,name:0
+msgid "Name"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.workitem,res_name:0
+msgid "Resource Name"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.segment,sync_mode:0
+msgid "Synchronization mode"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+#: view:marketing.campaign.segment:0
+msgid "Run"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,from_ids:0
+msgid "Previous Activities"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.segment,date_done:0
+msgid "Date this segment was last closed or cancelled."
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+msgid "Marketing Campaign Activities"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+#: field:marketing.campaign.workitem,error_msg:0
+msgid "Error Message"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.actions.act_window,name:marketing_campaign.action_marketing_campaign_form
+#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_campaign
+#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_campaign_form
+#: view:marketing.campaign:0
+msgid "Campaigns"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.transition,interval_type:0
+msgid "Interval Unit"
+msgstr ""
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:792
+#, python-format
+msgid "Email Preview"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,report_id:0
+#: selection:marketing.campaign.activity,type:0
+msgid "Report"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "July"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_configuration
+msgid "Configuration"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,variable_cost:0
+msgid ""
+"Set a variable cost if you consider that every campaign item that has "
+"reached this point has entailed a certain cost. You can get cost statistics "
+"in the Reporting section"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.transition,interval_type:0
+msgid "Hour(s)"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+msgid " Month-1 "
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.model,name:marketing_campaign.model_marketing_campaign_segment
+msgid "Campaign Segment"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+#: view:marketing.campaign.segment:0
+#: view:marketing.campaign.workitem:0
+msgid "Cancel"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,keep_if_condition_not_met:0
+msgid ""
+"By activating this option, workitems that aren't executed because the "
+"condition is not met are marked as cancelled instead of being deleted."
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+msgid "Exceptions"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:res.partner,workitem_ids:0
+msgid "Workitems"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign,fixed_cost:0
+msgid "Fixed Cost"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:email.template,subject:marketing_campaign.email_template_2
+msgid "Congratulation! You become now our Silver Partner."
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "Newly Modified"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.transition,interval_nbr:0
+msgid "Interval Value"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:campaign.analysis,revenue:0
+#: field:marketing.campaign.activity,revenue:0
+msgid "Revenue"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "September"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "December"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign,partner_field_id:0
+msgid ""
+"The generated workitems will be linked to the partner related to the record. "
+"If the record is the partner itself leave this field empty. This is useful "
+"for reporting purposes, via the Campaign Analysis or Campaign Follow-up "
+"views."
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,month:0
+msgid "Month"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.transition,activity_to_id:0
+msgid "Next Activity"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.actions.act_window,name:marketing_campaign.act_marketing_campaing_followup
+msgid "Campaign Follow-up"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,email_template_id:0
+msgid "The e-mail to send when this activity is activated"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+msgid "Test Mode"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.segment,sync_mode:0
+msgid "Only records modified after last sync (no duplicates)"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.model,name:marketing_campaign.model_ir_actions_report_xml
+msgid "ir.actions.report.xml"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.actions.act_window,name:marketing_campaign.act_marketing_campaing_stat
+msgid "Campaign Statistics"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,server_action_id:0
+msgid "The action to perform when this activity is activated"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign,partner_field_id:0
+msgid "Partner Field"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: model:ir.actions.act_window,name:marketing_campaign.action_campaign_analysis_all
+#: model:ir.model,name:marketing_campaign.model_campaign_analysis
+#: model:ir.ui.menu,name:marketing_campaign.menu_action_campaign_analysis_all
+msgid "Campaign Analysis"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.segment,sync_mode:0
+msgid ""
+"Determines an additional criterion to add to the filter when selecting new "
+"records to inject in the campaign. \"No duplicates\" prevents selecting "
+"records which have already entered the campaign previously.If the campaign "
+"has a \"unique field\" set, \"no duplicates\" will also prevent selecting "
+"records which have the same value for the unique field as other records that "
+"already entered the campaign."
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:marketing.campaign,mode:0
+msgid "Test in Realtime"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:marketing.campaign,mode:0
+msgid "Test Directly"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,report_directory_id:0
+msgid "Directory"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+#: view:marketing.campaign.segment:0
+msgid "Draft"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+msgid "Preview"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+msgid "Related Resource"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "August"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:marketing.campaign,mode:0
+msgid "Normal"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,start:0
+msgid "This activity is launched when the campaign starts."
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,signal:0
+msgid ""
+"An activity with a signal can be called programmatically. Be careful, the "
+"workitem is always created when a signal is sent"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "June"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.model,name:marketing_campaign.model_email_template
+msgid "Email Templates"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "Sync mode: all records"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.segment,sync_mode:0
+msgid "All records (no duplicates)"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "Newly Created"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:campaign.analysis,date:0
+#: view:marketing.campaign.workitem:0
+msgid "Date"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "November"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.activity:0
+#: field:marketing.campaign.activity,condition:0
+msgid "Condition"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,report_id:0
+msgid "The report to generate when this activity is activated"
+msgstr ""
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:148
+#, python-format
+msgid ""
+"The campaign cannot be started: it doesn't have any starting activity. "
+"Modify campaign's activities to mark one as the starting point."
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign,unique_field_id:0
+msgid "Unique Field"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,state:0
+#: view:marketing.campaign.workitem:0
+#: selection:marketing.campaign.workitem,state:0
+msgid "Exception"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "October"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,email_template_id:0
+msgid "Email Template"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "January"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+#: field:marketing.campaign.workitem,date:0
+msgid "Execution Date"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.model,name:marketing_campaign.model_marketing_campaign_workitem
+msgid "Campaign Workitem"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.model,name:marketing_campaign.model_marketing_campaign_activity
+msgid "Campaign Activity"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,report_directory_id:0
+msgid "This folder is used to store the generated reports"
+msgstr ""
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:136
+#: code:addons/marketing_campaign/marketing_campaign.py:148
+#: code:addons/marketing_campaign/marketing_campaign.py:158
+#, python-format
+msgid "Error"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.activity:0
+#: field:marketing.campaign.activity,server_action_id:0
+msgid "Action"
+msgstr ""
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:528
+#, python-format
+msgid "Automatic transition"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,start:0
+msgid "Start"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+#: view:res.partner:0
+msgid "History"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+msgid "Process"
+msgstr ""
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:530
+#: selection:marketing.campaign.transition,trigger:0
+#, python-format
+msgid "Cosmetic"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.transition,trigger:0
+msgid "How is the destination workitem triggered"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.actions.act_window,help:marketing_campaign.action_marketing_campaign_form
+msgid ""
+"A marketing campaign is an event or activity that will help you manage and "
+"reach your partners with specific messages. A campaign can have many "
+"activities that will be triggered from a specific situation. One action "
+"could be sending an email template that has previously been created in the "
+"system."
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: selection:campaign.analysis,state:0
+#: view:marketing.campaign:0
+#: selection:marketing.campaign,state:0
+#: selection:marketing.campaign.segment,state:0
+#: selection:marketing.campaign.workitem,state:0
+msgid "Done"
+msgstr ""
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:214
+#, python-format
+msgid "Operation not supported"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:email.template,body_text:marketing_campaign.email_template_3
+msgid "Hello, We are happy to announce that you become our Gold Partner."
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "Close"
+msgstr ""
+
+#. module: marketing_campaign
+#: constraint:marketing.campaign.segment:0
+msgid "Model of filter must be same as resource model of Campaign "
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,condition:0
+msgid ""
+"Python expression to decide whether the activity can be executed, otherwise "
+"it will be deleted or cancelled.The expression may use the following "
+"[browsable] variables:\n"
+" - activity: the campaign activity\n"
+" - workitem: the campaign workitem\n"
+" - resource: the resource object this campaign item represents\n"
+" - transitions: list of campaign transitions outgoing from this activity\n"
+"...- re: Python regular expression module"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "Synchronize Manually"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+#: field:marketing.campaign.workitem,res_id:0
+msgid "Resource ID"
+msgstr ""
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:136
+#, python-format
+msgid "The campaign cannot be started: there are no activities in it."
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.model,name:marketing_campaign.model_marketing_campaign_transition
+msgid "Campaign Transition"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: selection:campaign.analysis,state:0
+#: view:marketing.campaign.workitem:0
+#: selection:marketing.campaign.workitem,state:0
+msgid "To Do"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+msgid "Campaign Step"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.actions.act_window,name:marketing_campaign.action_marketing_campaign_segment_form
+#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_campaign_segment_form
+#: view:marketing.campaign.segment:0
+msgid "Segments"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.actions.act_window,name:marketing_campaign.act_marketing_campaing_segment_opened
+msgid "All Segments"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.activity:0
+msgid "Incoming Transitions"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.activity,type:0
+msgid "E-mail"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.transition,interval_type:0
+msgid "Day(s)"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign,activity_ids:0
+#: view:marketing.campaign.activity:0
+msgid "Activities"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "May"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign,unique_field_id:0
+msgid ""
+"If set, this field will help segments that work in \"no duplicates\" mode to "
+"avoid selecting similar records twice. Similar records are records that have "
+"the same value for this unique field. For example by choosing the "
+"\"email_from\" field for CRM Leads you would prevent sending the same "
+"campaign to the same email address again. If not set, the \"no duplicates\" "
+"segments will only avoid selecting the same record again if it entered the "
+"campaign previously. Only easily comparable fields like textfields, "
+"integers, selections or single relationships may be used."
+msgstr ""
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:529
+#, python-format
+msgid "After %(interval_nbr)d %(interval_type)s"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:email.template,subject:marketing_campaign.email_template_1
+msgid "Welcome in OpenERP Partner Channel!"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.model,name:marketing_campaign.model_marketing_campaign
+msgid "Marketing Campaign"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.segment,date_done:0
+msgid "End Date"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "February"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,res_id:0
+#: view:marketing.campaign:0
+#: field:marketing.campaign,object_id:0
+#: field:marketing.campaign.segment,object_id:0
+#: view:marketing.campaign.workitem:0
+#: field:marketing.campaign.workitem,object_id:0
+msgid "Resource"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign,fixed_cost:0
+msgid ""
+"Fixed cost for running this campaign. You may also specify variable cost and "
+"revenue on each campaign activity. Cost and Revenue statistics are included "
+"in Campaign Reporting."
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "Sync mode: only records updated after last sync"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:campaign.analysis,country_id:0
+msgid "Country"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,signal:0
+msgid "Signal"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.workitem,date:0
+msgid "If date is not set, this workitem has to be run manually"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "April"
+msgstr ""
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:158
+#, python-format
+msgid "The campaign cannot be marked as done before all segments are closed."
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+#: field:marketing.campaign,mode:0
+msgid "Mode"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,activity_id:0
+#: view:marketing.campaign.activity:0
+#: view:marketing.campaign.workitem:0
+#: field:marketing.campaign.workitem,activity_id:0
+msgid "Activity"
+msgstr ""
+
+#. module: marketing_campaign
+#: help:marketing.campaign.segment,ir_filter_id:0
+msgid ""
+"Filter to select the matching resource records that belong to this segment. "
+"New filters can be created and saved using the advanced search on the list "
+"view of the Resource. If no filter is set, all records are selected without "
+"filtering. The synchronization mode may also add a criterion to the filter."
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.actions.act_window,name:marketing_campaign.action_marketing_campaign_workitem
+#: model:ir.ui.menu,name:marketing_campaign.menu_action_marketing_campaign_workitem
+msgid "Campaign Followup"
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.segment,date_next_sync:0
+msgid "Next Synchronization"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+#: field:marketing.campaign.segment,ir_filter_id:0
+msgid "Filter"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "All"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.segment,sync_mode:0
+msgid "Only records created after last sync"
+msgstr ""
+
+#. module: marketing_campaign
+#: constraint:res.partner:0
+msgid "Error ! You cannot create recursive associated members."
+msgstr ""
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,variable_cost:0
+msgid "Variable Cost"
+msgstr ""
+
+#. module: marketing_campaign
+#: selection:marketing.campaign,mode:0
+msgid "With Manual Confirmation"
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,total_cost:0
+#: view:marketing.campaign:0
+msgid "Cost"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:email.template,body_text:marketing_campaign.email_template_1
+msgid "Hello, We are very happy to send Welcome message."
+msgstr ""
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,year:0
+msgid "Year"
+msgstr ""
diff --git a/addons/marketing_campaign/i18n/ja.po b/addons/marketing_campaign/i18n/ja.po
new file mode 100644
index 00000000000..be2f9543108
--- /dev/null
+++ b/addons/marketing_campaign/i18n/ja.po
@@ -0,0 +1,1106 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-26 21:33+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-27 04:39+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+msgid "Manual Mode"
+msgstr "手動モード"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.transition,activity_from_id:0
+msgid "Previous Activity"
+msgstr "前のアクティビティ"
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:818
+#, python-format
+msgid "The current step for this item has no email or report to preview."
+msgstr "この項目の現在の手順は、プレビューすべきEメールやレポートを持ちません。"
+
+#. module: marketing_campaign
+#: constraint:marketing.campaign.transition:0
+msgid "The To/From Activity of transition must be of the same Campaign "
+msgstr "トランザクションのTo / Fromアクティビティは同じキャンペーンである必要があります。 "
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.transition,trigger:0
+msgid "Time"
+msgstr "時刻"
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.activity,type:0
+msgid "Custom Action"
+msgstr "カスタムアクション"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: view:marketing.campaign:0
+#: view:marketing.campaign.segment:0
+#: view:marketing.campaign.workitem:0
+msgid "Group By..."
+msgstr "グループ化…"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,revenue:0
+msgid ""
+"Set an expected revenue if you consider that every campaign item that has "
+"reached this point has generated a certain revenue. You can get revenue "
+"statistics in the Reporting section"
+msgstr "全てのキャンペーン項目が生成するであろう、期待される売上を設定して下さい。売上統計はレポートセクションで取得できます。"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.transition,trigger:0
+msgid "Trigger"
+msgstr "トリガー"
+
+#. module: marketing_campaign
+#: field:campaign.analysis,count:0
+msgid "# of Actions"
+msgstr "アクションの数"
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+msgid "Campaign Editor"
+msgstr "キャンペーンエディタ"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: view:marketing.campaign.workitem:0
+msgid "Today"
+msgstr "本日"
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+#: selection:marketing.campaign,state:0
+#: view:marketing.campaign.segment:0
+#: selection:marketing.campaign.segment,state:0
+msgid "Running"
+msgstr "実行中"
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "March"
+msgstr "3月"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,object_id:0
+msgid "Object"
+msgstr "オブジェクト"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "Sync mode: only records created after last sync"
+msgstr "同期モード:最終同期後に生成されたレコードのみ"
+
+#. module: marketing_campaign
+#: model:email.template,body_text:marketing_campaign.email_template_2
+msgid ""
+"Hello, We are happy to announce that you now become our Silver Partner."
+msgstr "拝啓、このたび御社は、弊社のシルバーパートナとなられたことをご報告申し上げます。"
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+#: view:marketing.campaign.segment:0
+msgid "Set to Draft"
+msgstr "ドラフトに設定"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,to_ids:0
+msgid "Next Activities"
+msgstr "次のアクティビティ"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "Synchronization"
+msgstr "同期"
+
+#. module: marketing_campaign
+#: sql_constraint:marketing.campaign.transition:0
+msgid "The interval must be positive or zero"
+msgstr "間隔は正または0である必要があります。"
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:818
+#, python-format
+msgid "No preview"
+msgstr "プレビューなし"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+#: field:marketing.campaign.segment,date_run:0
+msgid "Launch Date"
+msgstr "起動日"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,day:0
+msgid "Day"
+msgstr "日"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.activity:0
+msgid "Outgoing Transitions"
+msgstr "外向き遷移"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+msgid "Reset"
+msgstr "リセット"
+
+#. module: marketing_campaign
+#: help:marketing.campaign,object_id:0
+msgid "Choose the resource on which you want this campaign to be run"
+msgstr "このキャンペーンを実行するリソースを選択して下さい。"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.segment,sync_last_date:0
+msgid "Last Synchronization"
+msgstr "最終同期"
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:214
+#, python-format
+msgid "You can not duplicate a campaign, it's not supported yet."
+msgstr "キャンペーンの重複はできません。これはまだサポートされていません。"
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.transition,interval_type:0
+msgid "Year(s)"
+msgstr "年"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.segment,sync_last_date:0
+msgid ""
+"Date on which this segment was synchronized last time (automatically or "
+"manually)"
+msgstr "このセグメントが最後に同期された(自動または手動)日付"
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,state:0
+#: selection:marketing.campaign,state:0
+#: selection:marketing.campaign.segment,state:0
+#: selection:marketing.campaign.workitem,state:0
+msgid "Cancelled"
+msgstr "キャンセル済"
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.transition,trigger:0
+msgid "Automatic"
+msgstr "自動"
+
+#. module: marketing_campaign
+#: help:marketing.campaign,mode:0
+msgid ""
+"Test - It creates and process all the activities directly (without waiting "
+"for the delay on transitions) but does not send emails or produce reports.\n"
+"Test in Realtime - It creates and processes all the activities directly but "
+"does not send emails or produce reports.\n"
+"With Manual Confirmation - the campaigns runs normally, but the user has to "
+"validate all workitem manually.\n"
+"Normal - the campaign runs normally and automatically sends all emails and "
+"reports (be very careful with this mode, you're live!)"
+msgstr ""
+"テスト - 全てのアクティビティを直接作成し実行します(遷移の遅延を待たずに)が、Eメール送信やレポート生成はしません。\n"
+"リアルタイムテスト - 全てのアクティビティを直接作成し実行しますが、Eメール送信やレポート生成はしません。\n"
+"手動確認 - キャンペーンは正常に実行されますが、ユーザは全ての作業項目を手動で検証する必要があります。\n"
+"通常 - キャンペーンは正常に実行され、自動的に全てのEメールが送信されレポートされます(まさに本物。このモードはとても慎重に)。"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.segment,date_run:0
+msgid "Initial start date of this segment."
+msgstr "このセグメントの最初の開始日"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,campaign_id:0
+#: view:marketing.campaign:0
+#: field:marketing.campaign.activity,campaign_id:0
+#: view:marketing.campaign.segment:0
+#: field:marketing.campaign.segment,campaign_id:0
+#: view:marketing.campaign.workitem:0
+#: field:marketing.campaign.workitem,campaign_id:0
+msgid "Campaign"
+msgstr "キャンペーン"
+
+#. module: marketing_campaign
+#: model:email.template,subject:marketing_campaign.email_template_3
+msgid "Congratulation! You become our Gold Partner."
+msgstr "おめでとうございます。あなたはゴールドパートナとなりました。"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,segment_id:0
+#: view:marketing.campaign.segment:0
+#: view:marketing.campaign.workitem:0
+#: field:marketing.campaign.workitem,segment_id:0
+msgid "Segment"
+msgstr "セグメント"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.activity:0
+msgid "Cost / Revenue"
+msgstr "経費 / 売上"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,type:0
+msgid ""
+"The type of action to execute when an item enters this activity, such as:\n"
+" - Email: send an email using a predefined email template\n"
+" - Report: print an existing Report defined on the resource item and save "
+"it into a specific directory\n"
+" - Custom Action: execute a predefined action, e.g. to modify the fields "
+"of the resource record\n"
+" "
+msgstr ""
+"項目がこのアクティブティに入った時に実行するアクションのタイプです。例:\n"
+" ・ Eメール:Eメールテンプレートで事前定義されたEメールを送信します。\n"
+" ・ レポート:リソース項目に定義された既存のレポートを印刷し、特定のディレクトリに保存します。\n"
+" ・ カスタムアクション:事前定義されたアクションを実行します。例えば、リソースレコードの項目を変更します。\n"
+" "
+
+#. module: marketing_campaign
+#: help:marketing.campaign.segment,date_next_sync:0
+msgid "Next time the synchronization job is scheduled to run automatically"
+msgstr "次回は同期ジョブが自動的に実行されるようにスケジュールされます。"
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.transition,interval_type:0
+msgid "Month(s)"
+msgstr "月"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,partner_id:0
+#: model:ir.model,name:marketing_campaign.model_res_partner
+#: field:marketing.campaign.workitem,partner_id:0
+msgid "Partner"
+msgstr "パートナ"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.activity:0
+msgid "Transitions"
+msgstr "遷移"
+
+#. module: marketing_campaign
+#: model:ir.filters,name:marketing_campaign.filter0
+msgid "Partners"
+msgstr "パートナ"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,keep_if_condition_not_met:0
+msgid "Don't delete workitems"
+msgstr "作業項目を削除しないで下さい。"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,state:0
+#: view:marketing.campaign:0
+#: field:marketing.campaign,state:0
+#: view:marketing.campaign.segment:0
+#: field:marketing.campaign.segment,state:0
+#: view:marketing.campaign.workitem:0
+#: field:marketing.campaign.workitem,state:0
+msgid "State"
+msgstr "状態"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+msgid "Marketing Reports"
+msgstr "マーケティングレポート"
+
+#. module: marketing_campaign
+#: selection:marketing.campaign,state:0
+#: selection:marketing.campaign.segment,state:0
+msgid "New"
+msgstr "新規"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,type:0
+msgid "Type"
+msgstr "タイプ"
+
+#. module: marketing_campaign
+#: field:marketing.campaign,name:0
+#: field:marketing.campaign.activity,name:0
+#: field:marketing.campaign.segment,name:0
+#: field:marketing.campaign.transition,name:0
+msgid "Name"
+msgstr "名前"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.workitem,res_name:0
+msgid "Resource Name"
+msgstr "リソース名"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.segment,sync_mode:0
+msgid "Synchronization mode"
+msgstr "同期モード"
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+#: view:marketing.campaign.segment:0
+msgid "Run"
+msgstr "実行"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,from_ids:0
+msgid "Previous Activities"
+msgstr "前のアクティビティ"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.segment,date_done:0
+msgid "Date this segment was last closed or cancelled."
+msgstr "このセグメントが最後に閉じたあるいはキャンセルされた日付"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+msgid "Marketing Campaign Activities"
+msgstr "マーケティングキャンペーンアクティビティ"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+#: field:marketing.campaign.workitem,error_msg:0
+msgid "Error Message"
+msgstr "エラーメッセージ"
+
+#. module: marketing_campaign
+#: model:ir.actions.act_window,name:marketing_campaign.action_marketing_campaign_form
+#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_campaign
+#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_campaign_form
+#: view:marketing.campaign:0
+msgid "Campaigns"
+msgstr "キャンペーン"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.transition,interval_type:0
+msgid "Interval Unit"
+msgstr "間隔の単位"
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:792
+#, python-format
+msgid "Email Preview"
+msgstr "Eメールプレビュー"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,report_id:0
+#: selection:marketing.campaign.activity,type:0
+msgid "Report"
+msgstr "レポート"
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "July"
+msgstr "7月"
+
+#. module: marketing_campaign
+#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_configuration
+msgid "Configuration"
+msgstr "設定"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,variable_cost:0
+msgid ""
+"Set a variable cost if you consider that every campaign item that has "
+"reached this point has entailed a certain cost. You can get cost statistics "
+"in the Reporting section"
+msgstr "全てのキャンペーン項目が必要とするであろう、変動経費を設定して下さい。経費統計はレポートセクションで取得できます。"
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.transition,interval_type:0
+msgid "Hour(s)"
+msgstr "時"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+msgid " Month-1 "
+msgstr " 月-1 "
+
+#. module: marketing_campaign
+#: model:ir.model,name:marketing_campaign.model_marketing_campaign_segment
+msgid "Campaign Segment"
+msgstr "キャンペーンセグメント"
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+#: view:marketing.campaign.segment:0
+#: view:marketing.campaign.workitem:0
+msgid "Cancel"
+msgstr "キャンセル"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,keep_if_condition_not_met:0
+msgid ""
+"By activating this option, workitems that aren't executed because the "
+"condition is not met are marked as cancelled instead of being deleted."
+msgstr "このオプションを有効にすることで、作業項目は実行されません。なぜなら、削除の代りにキャンセルされたとしてマークされた条件となるためです。"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+msgid "Exceptions"
+msgstr "例外"
+
+#. module: marketing_campaign
+#: field:res.partner,workitem_ids:0
+msgid "Workitems"
+msgstr "作業項目"
+
+#. module: marketing_campaign
+#: field:marketing.campaign,fixed_cost:0
+msgid "Fixed Cost"
+msgstr "固定経費"
+
+#. module: marketing_campaign
+#: model:email.template,subject:marketing_campaign.email_template_2
+msgid "Congratulation! You become now our Silver Partner."
+msgstr "おめでとうございます。あなたはシルバーパートナとなりました。"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "Newly Modified"
+msgstr "新規に修正"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.transition,interval_nbr:0
+msgid "Interval Value"
+msgstr "間隔の値"
+
+#. module: marketing_campaign
+#: field:campaign.analysis,revenue:0
+#: field:marketing.campaign.activity,revenue:0
+msgid "Revenue"
+msgstr "売上"
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "September"
+msgstr "9月"
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "December"
+msgstr "12月"
+
+#. module: marketing_campaign
+#: help:marketing.campaign,partner_field_id:0
+msgid ""
+"The generated workitems will be linked to the partner related to the record. "
+"If the record is the partner itself leave this field empty. This is useful "
+"for reporting purposes, via the Campaign Analysis or Campaign Follow-up "
+"views."
+msgstr ""
+"生成された作業項目はパートナに関連したレコードとリンクされます。レコードがパートナ自身である場合、この項目を空のままとして下さい。これは、キャンペーンの分"
+"析やキャンペーンのフォローアップビューを介して、レポート目的のために役立ちます。"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,month:0
+msgid "Month"
+msgstr "月"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.transition,activity_to_id:0
+msgid "Next Activity"
+msgstr "次のアクティビティ"
+
+#. module: marketing_campaign
+#: model:ir.actions.act_window,name:marketing_campaign.act_marketing_campaing_followup
+msgid "Campaign Follow-up"
+msgstr "キャンペーンフォローアップ"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,email_template_id:0
+msgid "The e-mail to send when this activity is activated"
+msgstr "このアクティビティが有効化されたときにEメールを送信します。"
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+msgid "Test Mode"
+msgstr "テストモード"
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.segment,sync_mode:0
+msgid "Only records modified after last sync (no duplicates)"
+msgstr "最終同期後に変更されたレコードのみ(重複なし)"
+
+#. module: marketing_campaign
+#: model:ir.model,name:marketing_campaign.model_ir_actions_report_xml
+msgid "ir.actions.report.xml"
+msgstr ""
+
+#. module: marketing_campaign
+#: model:ir.actions.act_window,name:marketing_campaign.act_marketing_campaing_stat
+msgid "Campaign Statistics"
+msgstr "キャンペーン統計値"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,server_action_id:0
+msgid "The action to perform when this activity is activated"
+msgstr "このアクティビティが有効化された時にアクションを実行します。"
+
+#. module: marketing_campaign
+#: field:marketing.campaign,partner_field_id:0
+msgid "Partner Field"
+msgstr "パートナ項目"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: model:ir.actions.act_window,name:marketing_campaign.action_campaign_analysis_all
+#: model:ir.model,name:marketing_campaign.model_campaign_analysis
+#: model:ir.ui.menu,name:marketing_campaign.menu_action_campaign_analysis_all
+msgid "Campaign Analysis"
+msgstr "キャンペーンの分析"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.segment,sync_mode:0
+msgid ""
+"Determines an additional criterion to add to the filter when selecting new "
+"records to inject in the campaign. \"No duplicates\" prevents selecting "
+"records which have already entered the campaign previously.If the campaign "
+"has a \"unique field\" set, \"no duplicates\" will also prevent selecting "
+"records which have the same value for the unique field as other records that "
+"already entered the campaign."
+msgstr ""
+"キャンペーンに入れる新しいレコードの選択時に、フィルタに追加する追加基準を決定して下さい。重複なしは既に以前のキャンペーンに入れたレコードを選択するのを避"
+"けます。キャンペーンが固有項目セットと重複なしである場合、固有項目であるために同じ値を持つれレコードや既にキャンペーンで入力されたレコードを選択するのを避"
+"けます。"
+
+#. module: marketing_campaign
+#: selection:marketing.campaign,mode:0
+msgid "Test in Realtime"
+msgstr "リアルタイムテスト"
+
+#. module: marketing_campaign
+#: selection:marketing.campaign,mode:0
+msgid "Test Directly"
+msgstr "直接テスト"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,report_directory_id:0
+msgid "Directory"
+msgstr "ディレクトリ"
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+#: view:marketing.campaign.segment:0
+msgid "Draft"
+msgstr "ドラフト"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+msgid "Preview"
+msgstr "プレビュー"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+msgid "Related Resource"
+msgstr "関連するリソース"
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "August"
+msgstr "8月"
+
+#. module: marketing_campaign
+#: selection:marketing.campaign,mode:0
+msgid "Normal"
+msgstr "通常"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,start:0
+msgid "This activity is launched when the campaign starts."
+msgstr "キャンペーンが開始された時に、このアクティビティは起動します。"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,signal:0
+msgid ""
+"An activity with a signal can be called programmatically. Be careful, the "
+"workitem is always created when a signal is sent"
+msgstr "シグナルのアクティビティはプログラム化と呼ばれます。シグナルが送信された時に、作業項目はいつも作成されることに注意して下さい。"
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "June"
+msgstr "6月"
+
+#. module: marketing_campaign
+#: model:ir.model,name:marketing_campaign.model_email_template
+msgid "Email Templates"
+msgstr "Eメールテンプレート"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "Sync mode: all records"
+msgstr "同期モード:全レコード"
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.segment,sync_mode:0
+msgid "All records (no duplicates)"
+msgstr "全レコード(重複なし)"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "Newly Created"
+msgstr "新規に作成"
+
+#. module: marketing_campaign
+#: field:campaign.analysis,date:0
+#: view:marketing.campaign.workitem:0
+msgid "Date"
+msgstr "日付"
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "November"
+msgstr "11月"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.activity:0
+#: field:marketing.campaign.activity,condition:0
+msgid "Condition"
+msgstr "条件"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,report_id:0
+msgid "The report to generate when this activity is activated"
+msgstr "このアクティビティが有効化された時に、レポートは生成されます。"
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:148
+#, python-format
+msgid ""
+"The campaign cannot be started: it doesn't have any starting activity. "
+"Modify campaign's activities to mark one as the starting point."
+msgstr ""
+"このキャンペーンは開始できません:これは開始アクティビティを何も持っていません。キャンペーンのアクティビティのひとつを開始点としてマークする修正を加えて下"
+"さい。"
+
+#. module: marketing_campaign
+#: field:marketing.campaign,unique_field_id:0
+msgid "Unique Field"
+msgstr "固有項目"
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,state:0
+#: view:marketing.campaign.workitem:0
+#: selection:marketing.campaign.workitem,state:0
+msgid "Exception"
+msgstr "例外"
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "October"
+msgstr "10月"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,email_template_id:0
+msgid "Email Template"
+msgstr "Eメールテンプレート"
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "January"
+msgstr "1月"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+#: field:marketing.campaign.workitem,date:0
+msgid "Execution Date"
+msgstr "実行日"
+
+#. module: marketing_campaign
+#: model:ir.model,name:marketing_campaign.model_marketing_campaign_workitem
+msgid "Campaign Workitem"
+msgstr "キャンペーン作業項目"
+
+#. module: marketing_campaign
+#: model:ir.model,name:marketing_campaign.model_marketing_campaign_activity
+msgid "Campaign Activity"
+msgstr "キャンペーンアクティビティ"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,report_directory_id:0
+msgid "This folder is used to store the generated reports"
+msgstr "このフォルダは生成されたレポートを保存するのに使用されます。"
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:136
+#: code:addons/marketing_campaign/marketing_campaign.py:148
+#: code:addons/marketing_campaign/marketing_campaign.py:158
+#, python-format
+msgid "Error"
+msgstr "エラー"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.activity:0
+#: field:marketing.campaign.activity,server_action_id:0
+msgid "Action"
+msgstr "アクション"
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:528
+#, python-format
+msgid "Automatic transition"
+msgstr "自動翻訳"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,start:0
+msgid "Start"
+msgstr "開始"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+#: view:res.partner:0
+msgid "History"
+msgstr "履歴"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+msgid "Process"
+msgstr "処理"
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:530
+#: selection:marketing.campaign.transition,trigger:0
+#, python-format
+msgid "Cosmetic"
+msgstr "化粧"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.transition,trigger:0
+msgid "How is the destination workitem triggered"
+msgstr "引き金となる宛先の作業項目の状態"
+
+#. module: marketing_campaign
+#: model:ir.actions.act_window,help:marketing_campaign.action_marketing_campaign_form
+msgid ""
+"A marketing campaign is an event or activity that will help you manage and "
+"reach your partners with specific messages. A campaign can have many "
+"activities that will be triggered from a specific situation. One action "
+"could be sending an email template that has previously been created in the "
+"system."
+msgstr ""
+"マーケットキャンペーンは管理を助け、特定のメッセージをパートナに届けるイベントやアクティビティです。キャンペーンは特定の事態をきっかけとする多くのアクティ"
+"ビティを持ちます。あるアクションは以前にシステムに作られたEメールテンプレートを送信できます。"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: selection:campaign.analysis,state:0
+#: view:marketing.campaign:0
+#: selection:marketing.campaign,state:0
+#: selection:marketing.campaign.segment,state:0
+#: selection:marketing.campaign.workitem,state:0
+msgid "Done"
+msgstr "完了"
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:214
+#, python-format
+msgid "Operation not supported"
+msgstr "操作はサポートされていません。"
+
+#. module: marketing_campaign
+#: model:email.template,body_text:marketing_campaign.email_template_3
+msgid "Hello, We are happy to announce that you become our Gold Partner."
+msgstr "拝啓、このたび御社は、弊社のゴールドパートナとなられたことをご報告申し上げます。"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "Close"
+msgstr "閉じる"
+
+#. module: marketing_campaign
+#: constraint:marketing.campaign.segment:0
+msgid "Model of filter must be same as resource model of Campaign "
+msgstr "フィルタのモデルはキャンペーンのリソースモデルと同じである必要があります。 "
+
+#. module: marketing_campaign
+#: help:marketing.campaign.activity,condition:0
+msgid ""
+"Python expression to decide whether the activity can be executed, otherwise "
+"it will be deleted or cancelled.The expression may use the following "
+"[browsable] variables:\n"
+" - activity: the campaign activity\n"
+" - workitem: the campaign workitem\n"
+" - resource: the resource object this campaign item represents\n"
+" - transitions: list of campaign transitions outgoing from this activity\n"
+"...- re: Python regular expression module"
+msgstr ""
+"アクティビティが実行できるかどうかを決定するPython式です。それ以外はそれは削除されるかキャンセルされます。式は次のような変数(参照可能)を許します:"
+"\n"
+" ・ activity:キャンペーンのアクティビティ\n"
+" ・ workitem:キャンペーンの作業項目\n"
+" ・ resource:このキャンペーン項目を代表するリソースオブジェクト\n"
+" ・ transitions:このアクティビティから外向きのキャンペーン遷移のリスト\n"
+" ・ re:Pythonの一般的な式のモジュール"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "Synchronize Manually"
+msgstr "手動同期"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+#: field:marketing.campaign.workitem,res_id:0
+msgid "Resource ID"
+msgstr "リソースID"
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:136
+#, python-format
+msgid "The campaign cannot be started: there are no activities in it."
+msgstr "キャンペーンは開始できません:アクティビティがありません。"
+
+#. module: marketing_campaign
+#: model:ir.model,name:marketing_campaign.model_marketing_campaign_transition
+msgid "Campaign Transition"
+msgstr "キャンペーン遷移"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: selection:campaign.analysis,state:0
+#: view:marketing.campaign.workitem:0
+#: selection:marketing.campaign.workitem,state:0
+msgid "To Do"
+msgstr "ToDo"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.workitem:0
+msgid "Campaign Step"
+msgstr "キャンペーン手順"
+
+#. module: marketing_campaign
+#: model:ir.actions.act_window,name:marketing_campaign.action_marketing_campaign_segment_form
+#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_campaign_segment_form
+#: view:marketing.campaign.segment:0
+msgid "Segments"
+msgstr "セグメント"
+
+#. module: marketing_campaign
+#: model:ir.actions.act_window,name:marketing_campaign.act_marketing_campaing_segment_opened
+msgid "All Segments"
+msgstr "全セグメント"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.activity:0
+msgid "Incoming Transitions"
+msgstr "内向き遷移"
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.activity,type:0
+msgid "E-mail"
+msgstr "Eメール"
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.transition,interval_type:0
+msgid "Day(s)"
+msgstr "日"
+
+#. module: marketing_campaign
+#: field:marketing.campaign,activity_ids:0
+#: view:marketing.campaign.activity:0
+msgid "Activities"
+msgstr "アクティビティ"
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "May"
+msgstr "5月"
+
+#. module: marketing_campaign
+#: help:marketing.campaign,unique_field_id:0
+msgid ""
+"If set, this field will help segments that work in \"no duplicates\" mode to "
+"avoid selecting similar records twice. Similar records are records that have "
+"the same value for this unique field. For example by choosing the "
+"\"email_from\" field for CRM Leads you would prevent sending the same "
+"campaign to the same email address again. If not set, the \"no duplicates\" "
+"segments will only avoid selecting the same record again if it entered the "
+"campaign previously. Only easily comparable fields like textfields, "
+"integers, selections or single relationships may be used."
+msgstr ""
+"設定した場合、この項目は類似レコードが2回選択されることを避ける重複なしモードをセグメントに適用するのに役立ちます。類似レコードはこの固有項目に同じ値を持"
+"つレコードのことです。例えば、CRMのリードのEメール送信者項目を選択すると、同じキャンペーンを同じEメールアドレスに再度送信することを防止します。設定し"
+"ない場合、重複なしセグメントは以前のキャンペーンで入れられた同じレコードが再び選択されるのを防ぐのみとなります。テキスト、整数といった項目のみと簡単に比較"
+"可能で、選択または単一の関連を持つもので使用できます。"
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:529
+#, python-format
+msgid "After %(interval_nbr)d %(interval_type)s"
+msgstr "%(interval_nbr)d %(interval_type)s 後"
+
+#. module: marketing_campaign
+#: model:email.template,subject:marketing_campaign.email_template_1
+msgid "Welcome in OpenERP Partner Channel!"
+msgstr "OpenERPパートナチャネルへ、ようこそおいで下さいました。"
+
+#. module: marketing_campaign
+#: model:ir.model,name:marketing_campaign.model_marketing_campaign
+msgid "Marketing Campaign"
+msgstr "マーケティングキャンペーン"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.segment,date_done:0
+msgid "End Date"
+msgstr "終了日"
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "February"
+msgstr "2月"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,res_id:0
+#: view:marketing.campaign:0
+#: field:marketing.campaign,object_id:0
+#: field:marketing.campaign.segment,object_id:0
+#: view:marketing.campaign.workitem:0
+#: field:marketing.campaign.workitem,object_id:0
+msgid "Resource"
+msgstr "リソース"
+
+#. module: marketing_campaign
+#: help:marketing.campaign,fixed_cost:0
+msgid ""
+"Fixed cost for running this campaign. You may also specify variable cost and "
+"revenue on each campaign activity. Cost and Revenue statistics are included "
+"in Campaign Reporting."
+msgstr ""
+"実行中のこのキャンペーンのための固定経費。各キャンペーンアクティビティに変動経費と売上を定義することができます。経費と売上統計はキャンペーンレポートに含ま"
+"れます。"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "Sync mode: only records updated after last sync"
+msgstr "同期モード:最終同期後の更新レコードのみ"
+
+#. module: marketing_campaign
+#: field:campaign.analysis,country_id:0
+msgid "Country"
+msgstr "国"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,signal:0
+msgid "Signal"
+msgstr "シグナル"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.workitem,date:0
+msgid "If date is not set, this workitem has to be run manually"
+msgstr "日付が設定されない場合、この作業項目は手動で実行する必要があります。"
+
+#. module: marketing_campaign
+#: selection:campaign.analysis,month:0
+msgid "April"
+msgstr "4月"
+
+#. module: marketing_campaign
+#: code:addons/marketing_campaign/marketing_campaign.py:158
+#, python-format
+msgid "The campaign cannot be marked as done before all segments are closed."
+msgstr "全セグメントが閉じない限り、このキャンペーンは完了とはマークされません。"
+
+#. module: marketing_campaign
+#: view:marketing.campaign:0
+#: field:marketing.campaign,mode:0
+msgid "Mode"
+msgstr "モード"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,activity_id:0
+#: view:marketing.campaign.activity:0
+#: view:marketing.campaign.workitem:0
+#: field:marketing.campaign.workitem,activity_id:0
+msgid "Activity"
+msgstr "アクティビティ"
+
+#. module: marketing_campaign
+#: help:marketing.campaign.segment,ir_filter_id:0
+msgid ""
+"Filter to select the matching resource records that belong to this segment. "
+"New filters can be created and saved using the advanced search on the list "
+"view of the Resource. If no filter is set, all records are selected without "
+"filtering. The synchronization mode may also add a criterion to the filter."
+msgstr ""
+"このセグメントに沿った一致したりソースレコードを選択するためのフィルタです。新しいフィルタを作成、保存することでリソースのリストビューで高度な検索に使うこ"
+"とができます。フィルタが設定されない場合、フィルタされることなく全レコードが選択されます。同期モードはまた、フィルタに対して基準を追加します。"
+
+#. module: marketing_campaign
+#: model:ir.actions.act_window,name:marketing_campaign.action_marketing_campaign_workitem
+#: model:ir.ui.menu,name:marketing_campaign.menu_action_marketing_campaign_workitem
+msgid "Campaign Followup"
+msgstr "キャンペーンフォローアップ"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.segment,date_next_sync:0
+msgid "Next Synchronization"
+msgstr "次の同期"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+#: field:marketing.campaign.segment,ir_filter_id:0
+msgid "Filter"
+msgstr "フィルタ"
+
+#. module: marketing_campaign
+#: view:marketing.campaign.segment:0
+msgid "All"
+msgstr "全て"
+
+#. module: marketing_campaign
+#: selection:marketing.campaign.segment,sync_mode:0
+msgid "Only records created after last sync"
+msgstr "最終同期後に作成されたレコードのみ"
+
+#. module: marketing_campaign
+#: constraint:res.partner:0
+msgid "Error ! You cannot create recursive associated members."
+msgstr "エラー。再帰的な関係となる会員を作ることはできません。"
+
+#. module: marketing_campaign
+#: field:marketing.campaign.activity,variable_cost:0
+msgid "Variable Cost"
+msgstr "変動経費"
+
+#. module: marketing_campaign
+#: selection:marketing.campaign,mode:0
+msgid "With Manual Confirmation"
+msgstr "手動確認"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,total_cost:0
+#: view:marketing.campaign:0
+msgid "Cost"
+msgstr "経費"
+
+#. module: marketing_campaign
+#: model:email.template,body_text:marketing_campaign.email_template_1
+msgid "Hello, We are very happy to send Welcome message."
+msgstr "こんにちは。これは歓迎メッセージです。"
+
+#. module: marketing_campaign
+#: view:campaign.analysis:0
+#: field:campaign.analysis,year:0
+msgid "Year"
+msgstr "年"
diff --git a/addons/marketing_campaign_crm_demo/i18n/ja.po b/addons/marketing_campaign_crm_demo/i18n/ja.po
new file mode 100644
index 00000000000..dcf5982da3b
--- /dev/null
+++ b/addons/marketing_campaign_crm_demo/i18n/ja.po
@@ -0,0 +1,187 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-25 22:02+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-26 05:07+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: marketing_campaign_crm_demo
+#: model:ir.actions.report.xml,name:marketing_campaign_crm_demo.mc_crm_lead_demo_report
+msgid "Marketing campaign demo report"
+msgstr "マーケティングキャンペーンデモレポート"
+
+#. module: marketing_campaign_crm_demo
+#: model:email.template,body_text:marketing_campaign_crm_demo.email_template_1
+msgid ""
+"Hello,Thanks for generous interest you have shown in the "
+"openERP.Regards,OpenERP Team,"
+msgstr "拝啓、OpenERPにご興味を持っていただき、ありがとうございます。OpenERPチーム一同、"
+
+#. module: marketing_campaign_crm_demo
+#: report:crm.lead.demo:0
+msgid "Company :"
+msgstr "会社:"
+
+#. module: marketing_campaign_crm_demo
+#: model:email.template,subject:marketing_campaign_crm_demo.email_template_4
+msgid "Thanks for buying the OpenERP book"
+msgstr "OpenERPブックのお買い上げのお礼"
+
+#. module: marketing_campaign_crm_demo
+#: model:email.template,body_text:marketing_campaign_crm_demo.email_template_6
+msgid ""
+"Hello, We have very good offer that might suit you.\n"
+" For our silver partners,We are paid technical training on "
+"june,2010.\n"
+" If any further information required kindly revert back.\n"
+" I really appreciate your co-operation on this.\n"
+" Regards,OpenERP Team,"
+msgstr ""
+"拝啓、私どもは御社に適合した最適な提案を各種用意いたしております。\n"
+" シルバーパートナの皆様に、2010年6月に有料の技術トレーニングを開催いたします。\n"
+" より詳しい情報につきましては、どうぞお問い合わせ下さい。\n"
+" それではよろしくお願いいたします。\n"
+" OpenERPチーム一同、"
+
+#. module: marketing_campaign_crm_demo
+#: model:email.template,subject:marketing_campaign_crm_demo.email_template_5
+msgid "Propose a free technical training to Gold partners"
+msgstr "ゴールドパートナの皆様へのに無料の技術トレーニングのご提案"
+
+#. module: marketing_campaign_crm_demo
+#: model:email.template,subject:marketing_campaign_crm_demo.email_template_3
+msgid "Thanks for subscribing to the OpenERP Discovery Day"
+msgstr "OpenERPディスカバリーディにご参加のお礼"
+
+#. module: marketing_campaign_crm_demo
+#: model:ir.actions.server,name:marketing_campaign_crm_demo.action_dummy
+msgid "Dummy Action"
+msgstr "ダミーアクション"
+
+#. module: marketing_campaign_crm_demo
+#: report:crm.lead.demo:0
+msgid "Partner :"
+msgstr "パートナ:"
+
+#. module: marketing_campaign_crm_demo
+#: model:email.template,subject:marketing_campaign_crm_demo.email_template_1
+msgid "Thanks for showing interest in OpenERP"
+msgstr "OpenERPにご興味を持っていただき、ありがとうございます。"
+
+#. module: marketing_campaign_crm_demo
+#: model:email.template,subject:marketing_campaign_crm_demo.email_template_2
+msgid "Propose to subscribe to the OpenERP Discovery Day on May 2010"
+msgstr "2010年5月開催のOpenERPディスカバリーディへの登録のご提案"
+
+#. module: marketing_campaign_crm_demo
+#: model:email.template,body_text:marketing_campaign_crm_demo.email_template_7
+msgid ""
+"Hello, We have very good offer that might suit you.\n"
+" For our silver partners,We are offering Gold partnership.\n"
+" If any further information required kindly revert back.\n"
+" I really appreciate your co-operation on this.\n"
+" Regards,OpenERP Team,"
+msgstr ""
+"拝啓、私どもは御社に適合した最適な提案を各種用意いたしております。\n"
+" シルバーパートナの皆様に、ゴールドパートナシップをご提案させていただきます。\n"
+" より詳しい情報につきましては、どうぞお問い合わせ下さい。\n"
+" それではよろしくお願いいたします。\n"
+" OpenERPチーム一同、"
+
+#. module: marketing_campaign_crm_demo
+#: model:email.template,subject:marketing_campaign_crm_demo.email_template_7
+msgid "Propose gold partnership to silver partners"
+msgstr "シルバーパートナの皆様にゴールドパートナシップのご提案"
+
+#. module: marketing_campaign_crm_demo
+#: model:email.template,body_text:marketing_campaign_crm_demo.email_template_4
+msgid ""
+"Hello,Thanks for showing intrest and buying the OpenERP book.\n"
+" If any further information required kindly revert back.\n"
+" I really appreciate your co-operation on this.\n"
+" Regards,OpenERP Team,"
+msgstr ""
+"拝啓、このたびはOpenERPブックのご購入、ありがとうございました。\n"
+" より詳しい情報につきましては、どうぞお問い合わせ下さい。\n"
+" それではよろしくお願いいたします。\n"
+" OpenERPチーム一同、"
+
+#. module: marketing_campaign_crm_demo
+#: model:email.template,body_text:marketing_campaign_crm_demo.email_template_5
+msgid ""
+"Hello, We have very good offer that might suit you.\n"
+" For our gold partners,We are arranging free technical training "
+"on june,2010.\n"
+" If any further information required kindly revert back.\n"
+" I really appreciate your co-operation on this.\n"
+" Regards,OpenERP Team,"
+msgstr ""
+"拝啓、私どもは御社に適合した最適な提案を各種用意いたしております。\n"
+" ゴールドパートナの皆様に、2010年6月に、無料の技術トレーニングを企画いたしました。\n"
+" より詳しい情報は、どうぞお問い合わせ下さい。\n"
+" それではよろしくお願いいたします。\n"
+" OpenERPチーム一同、"
+
+#. module: marketing_campaign_crm_demo
+#: model:email.template,body_text:marketing_campaign_crm_demo.email_template_3
+msgid ""
+"Hello,Thanks for showing intrest and for subscribing to the OpenERP "
+"Discovery Day.\n"
+" If any further information required kindly revert back.\n"
+" I really appreciate your co-operation on this.\n"
+" Regards,OpenERP Team,"
+msgstr ""
+"拝啓、このたびはOpenERPディスカバリーディへのご登録をいただき、ありがとうございます。\n"
+" より詳しい情報につきましては、どうぞお問い合わせ下さい。\n"
+" それではよろしくお願いいたします。\n"
+" OpenERPチーム一同、"
+
+#. module: marketing_campaign_crm_demo
+#: model:email.template,subject:marketing_campaign_crm_demo.email_template_8
+msgid "Thanks for subscribing to technical training"
+msgstr "技術トレーニング参加のお礼"
+
+#. module: marketing_campaign_crm_demo
+#: model:email.template,body_text:marketing_campaign_crm_demo.email_template_2
+msgid ""
+"Hello,We have very good offer that might suit you.\n"
+" We propose you to subscribe to the OpenERP Discovery Day on May "
+"2010.\n"
+" If any further information required kindly revert back.\n"
+" We really appreciate your co-operation on this.\n"
+" Regards,OpenERP Team,"
+msgstr ""
+"拝啓、私どもは御社に適合した最適な提案を各種用意いたしております。\n"
+" 私どもは、2010年5月に開催される、OpenERPディスカバリーディへのご参加をご案内申し上げます。\n"
+" より詳しい情報につきましては、どうぞお問い合わせ下さい。\n"
+" それではよろしくお願いいたします。\n"
+" OpenERPチーム一同、"
+
+#. module: marketing_campaign_crm_demo
+#: model:email.template,body_text:marketing_campaign_crm_demo.email_template_8
+msgid ""
+"Hello, Thanks for showing intrest and for subscribing to technical "
+"training.If any further information required kindly revert back.I really "
+"appreciate your co-operation on this.\n"
+" Regards,OpenERP Team,"
+msgstr ""
+"拝啓、このたびは技術トレーニングにご登録いただき、ありがとうございました。より詳しい情報につきましては、どうぞお問い合わせ下さい。それではよろしくお願いい"
+"たします。\n"
+" OenERPチーム一同、"
+
+#. module: marketing_campaign_crm_demo
+#: model:email.template,subject:marketing_campaign_crm_demo.email_template_6
+msgid "Propose paid training to Silver partners"
+msgstr "シルバーパートナの皆様に有料トレーニングのご提案"
diff --git a/addons/membership/i18n/ja.po b/addons/membership/i18n/ja.po
new file mode 100644
index 00000000000..82790ae2d4c
--- /dev/null
+++ b/addons/membership/i18n/ja.po
@@ -0,0 +1,888 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-29 01:29+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-30 05:21+0000\n"
+"X-Generator: Launchpad (build 15316)\n"
+
+#. module: membership
+#: model:process.transition,name:membership.process_transition_invoicetoassociate0
+msgid "invoice to associate"
+msgstr "準会員への請求書"
+
+#. module: membership
+#: model:process.process,name:membership.process_process_membershipprocess0
+msgid "Membership Process"
+msgstr "会員処理"
+
+#. module: membership
+#: selection:membership.membership_line,state:0
+#: selection:report.membership,membership_state:0
+#: selection:res.partner,membership_state:0
+msgid "Paid Member"
+msgstr "支払済会員"
+
+#. module: membership
+#: view:report.membership:0
+#: view:res.partner:0
+msgid "Group By..."
+msgstr "グループ化…"
+
+#. module: membership
+#: field:report.membership,num_paid:0
+msgid "# Paid"
+msgstr "支払済数"
+
+#. module: membership
+#: field:report.membership,tot_earned:0
+msgid "Earned Amount"
+msgstr "獲得金額"
+
+#. module: membership
+#: model:ir.model,name:membership.model_report_membership
+msgid "Membership Analysis"
+msgstr "会員分析"
+
+#. module: membership
+#: selection:report.membership,month:0
+msgid "March"
+msgstr "3月"
+
+#. module: membership
+#: model:process.node,note:membership.process_node_setassociation0
+msgid "Set an associate member of partner."
+msgstr "パートナの準会員として設定"
+
+#. module: membership
+#: model:process.transition,note:membership.process_transition_invoicetopaid0
+msgid "Invoice is be paid."
+msgstr "請求書は支払済です。"
+
+#. module: membership
+#: field:membership.membership_line,company_id:0
+#: view:report.membership:0
+#: field:report.membership,company_id:0
+msgid "Company"
+msgstr "会社"
+
+#. module: membership
+#: view:res.partner:0
+msgid "Ending Date Of Membership"
+msgstr "会員の終了日"
+
+#. module: membership
+#: field:product.product,membership_date_to:0
+msgid "Date to"
+msgstr "終了日"
+
+#. module: membership
+#: model:process.transition,name:membership.process_transition_waitingtoinvoice0
+msgid "Waiting to invoice"
+msgstr "請求書待機中"
+
+#. module: membership
+#: view:report.membership:0
+msgid "This will display paid, old and total earned columns"
+msgstr "これは支払済、古い合計収入列を表示します。"
+
+#. module: membership
+#: view:res.partner:0
+msgid "Suppliers"
+msgstr "仕入先"
+
+#. module: membership
+#: selection:membership.membership_line,state:0
+#: selection:report.membership,membership_state:0
+#: selection:res.partner,membership_state:0
+msgid "Non Member"
+msgstr "非会員"
+
+#. module: membership
+#: model:product.template,name:membership.membership_2_product_template
+msgid "Basic Membership"
+msgstr "基本会員"
+
+#. module: membership
+#: view:res.partner:0
+msgid "All Members"
+msgstr "全会員"
+
+#. module: membership
+#: field:res.partner,membership_stop:0
+msgid "Stop membership date"
+msgstr "脱退日"
+
+#. module: membership
+#: model:process.transition,name:membership.process_transition_producttomember0
+msgid "Product to member"
+msgstr "会員への製品"
+
+#. module: membership
+#: view:res.partner:0
+msgid "Join Membership"
+msgstr "会員への参加"
+
+#. module: membership
+#: field:res.partner,associate_member:0
+msgid "Associate member"
+msgstr "準会員"
+
+#. module: membership
+#: model:process.node,note:membership.process_node_associatedmember0
+msgid "Member is associated."
+msgstr "会員は関連付けられました。"
+
+#. module: membership
+#: view:report.membership:0
+msgid " Month "
+msgstr " 月 "
+
+#. module: membership
+#: field:report.membership,tot_pending:0
+msgid "Pending Amount"
+msgstr "保留中金額"
+
+#. module: membership
+#: model:process.transition,note:membership.process_transition_associationpartner0
+msgid "Associated partner."
+msgstr "関連パートナ"
+
+#. module: membership
+#: view:res.partner:0
+msgid "Supplier Partners"
+msgstr "仕入先パートナ"
+
+#. module: membership
+#: field:report.membership,num_invoiced:0
+msgid "# Invoiced"
+msgstr "請求済数"
+
+#. module: membership
+#: constraint:account.invoice:0
+msgid "Invalid BBA Structured Communication !"
+msgstr "無効なBBA(ブロードバンドアクセス)構造の通信"
+
+#. module: membership
+#: model:ir.actions.act_window,name:membership.action_report_membership_tree
+#: model:ir.ui.menu,name:membership.menu_report_membership
+msgid "Members Analysis"
+msgstr "会員分析"
+
+#. module: membership
+#: view:res.partner:0
+msgid "End Membership Date"
+msgstr "会員の終了日"
+
+#. module: membership
+#: field:product.product,membership_date_from:0
+msgid "Date from"
+msgstr "開始日"
+
+#. module: membership
+#: code:addons/membership/membership.py:414
+#, python-format
+msgid "Partner doesn't have an address to make the invoice."
+msgstr "パートナは請求書を作成するための住所を持っていません。"
+
+#. module: membership
+#: model:ir.model,name:membership.model_res_partner
+#: field:membership.membership_line,partner:0
+msgid "Partner"
+msgstr "パートナ"
+
+#. module: membership
+#: model:process.transition,name:membership.process_transition_invoicetopaid0
+msgid "Invoice to paid"
+msgstr "支払請求書"
+
+#. module: membership
+#: view:res.partner:0
+msgid "Customer Partners"
+msgstr "顧客パートナ"
+
+#. module: membership
+#: view:res.partner:0
+msgid "Partners"
+msgstr "パートナ"
+
+#. module: membership
+#: field:membership.membership_line,date_from:0
+msgid "From"
+msgstr "送信者"
+
+#. module: membership
+#: constraint:membership.membership_line:0
+msgid "Error, this membership product is out of date"
+msgstr "エラー。この会員製品は期間外です。"
+
+#. module: membership
+#: help:res.partner,membership_state:0
+msgid ""
+"It indicates the membership state.\n"
+" -Non Member: A member who has not applied for any "
+"membership.\n"
+" -Cancelled Member: A member who has cancelled his "
+"membership.\n"
+" -Old Member: A member whose membership date has "
+"expired.\n"
+" -Waiting Member: A member who has applied for the "
+"membership and whose invoice is going to be created.\n"
+" -Invoiced Member: A member whose invoice has been "
+"created.\n"
+" -Paid Member: A member who has paid the membership "
+"amount."
+msgstr ""
+"会員の状態を次のように表します。\n"
+" ・ 非会員:どの会員にも申し込んでいない\n"
+" ・ キャンセル会員:会員をキャンセルした\n"
+" ・ 旧会員:会員の有効期限切れ\n"
+" ・ 待機会員:会員に申込を行い、請求書が作成される予定\n"
+" ・ 請求済会員:請求書を作成済\n"
+" ・ 支払済会員:会員金額を支払済"
+
+#. module: membership
+#: model:process.transition.action,name:membership.process_transition_action_create0
+msgid "Create"
+msgstr "作成"
+
+#. module: membership
+#: view:product.product:0
+msgid "Membership products"
+msgstr "会員製品"
+
+#. module: membership
+#: model:ir.model,name:membership.model_membership_membership_line
+msgid "Member line"
+msgstr "会員行"
+
+#. module: membership
+#: help:report.membership,date_from:0
+#: field:res.partner,membership_start:0
+msgid "Start membership date"
+msgstr "会員開始日"
+
+#. module: membership
+#: view:report.membership:0
+msgid "Events created in current month"
+msgstr "今月、作成したイベント"
+
+#. module: membership
+#: view:report.membership:0
+msgid "This will display waiting, invoiced and total pending columns"
+msgstr "これは待機中、請求済の合計保留中列を表示します。"
+
+#. module: membership
+#: code:addons/membership/membership.py:410
+#: code:addons/membership/membership.py:413
+#, python-format
+msgid "Error !"
+msgstr "エラー"
+
+#. module: membership
+#: model:process.node,name:membership.process_node_paidmember0
+msgid "Paid member"
+msgstr "支払番号"
+
+#. module: membership
+#: view:report.membership:0
+msgid " Month-1 "
+msgstr " 月-1 "
+
+#. module: membership
+#: view:report.membership:0
+msgid "Events created in last month"
+msgstr "先月、作成したイベント"
+
+#. module: membership
+#: field:report.membership,num_waiting:0
+msgid "# Waiting"
+msgstr "待機数"
+
+#. module: membership
+#: view:report.membership:0
+msgid "Events created in current year"
+msgstr "今年度に作成したイベント"
+
+#. module: membership
+#: model:ir.actions.act_window,name:membership.action_membership_members
+#: model:ir.ui.menu,name:membership.menu_members
+#: view:res.partner:0
+msgid "Members"
+msgstr "会員"
+
+#. module: membership
+#: view:res.partner:0
+msgid "Invoiced/Paid/Free"
+msgstr "請求済 / 支払済 / 無料"
+
+#. module: membership
+#: model:process.node,note:membership.process_node_invoicedmember0
+msgid "Open invoice."
+msgstr "請求書を開く"
+
+#. module: membership
+#: selection:report.membership,month:0
+msgid "July"
+msgstr "7月"
+
+#. module: membership
+#: model:product.template,name:membership.membership_0_product_template
+msgid "Golden Membership"
+msgstr "ゴールド会員"
+
+#. module: membership
+#: help:res.partner,associate_member:0
+msgid ""
+"A member with whom you want to associate your membership.It will consider "
+"the membership state of the associated member."
+msgstr "あなたが関連付けたい会員。それは会員の関係性の会員状態を考慮します。"
+
+#. module: membership
+#: field:membership.membership_line,membership_id:0
+#: view:report.membership:0
+#: field:report.membership,membership_id:0
+msgid "Membership Product"
+msgstr "会員の製品"
+
+#. module: membership
+#: model:process.transition,note:membership.process_transition_producttomember0
+msgid "Define product for membership."
+msgstr "会員のための製品を定義して下さい。"
+
+#. module: membership
+#: model:process.transition,note:membership.process_transition_invoicetoassociate0
+msgid "Invoiced member may be Associated member."
+msgstr "請求済会員は会員と関係付けることができます。"
+
+#. module: membership
+#: view:membership.invoice:0
+msgid "Join"
+msgstr "参加"
+
+#. module: membership
+#: help:product.product,membership_date_to:0
+#: help:res.partner,membership_stop:0
+msgid "Date until which membership remains active."
+msgstr "会員の有効期限となる日付です。"
+
+#. module: membership
+#: field:res.partner,membership_cancel:0
+msgid "Cancel membership date"
+msgstr "会員キャンセル日"
+
+#. module: membership
+#: field:membership.membership_line,date:0
+msgid "Join Date"
+msgstr "参加日"
+
+#. module: membership
+#: help:res.partner,free_member:0
+msgid "Select if you want to give membership free of cost."
+msgstr "無料で与えたい会員を選択して下さい。"
+
+#. module: membership
+#: model:process.node,name:membership.process_node_setassociation0
+msgid "Set association"
+msgstr "関連を設定"
+
+#. module: membership
+#: view:res.partner:0
+msgid " Membership State"
+msgstr " 会員状態"
+
+#. module: membership
+#: view:res.partner:0
+msgid "Memberships"
+msgstr "会員"
+
+#. module: membership
+#: model:process.node,note:membership.process_node_paidmember0
+msgid "Membership invoice paid."
+msgstr "会員請求書は支払済です。"
+
+#. module: membership
+#: model:ir.model,name:membership.model_product_template
+msgid "Product Template"
+msgstr "製品テンプレート"
+
+#. module: membership
+#: selection:report.membership,month:0
+msgid "September"
+msgstr "9月"
+
+#. module: membership
+#: selection:report.membership,month:0
+msgid "December"
+msgstr "12月"
+
+#. module: membership
+#: model:ir.model,name:membership.model_account_invoice_line
+msgid "Invoice Line"
+msgstr "請求書行"
+
+#. module: membership
+#: help:membership.membership_line,state:0
+msgid ""
+"It indicates the membership state.\n"
+" -Non Member: A member who has not applied for any "
+"membership.\n"
+" -Cancelled Member: A member who has cancelled his "
+"membership.\n"
+" -Old Member: A member whose membership date has "
+"expired.\n"
+" -Waiting Member: A member who has applied for the "
+"membership and whose invoice is going to be created.\n"
+" -Invoiced Member: A member whose invoice has been "
+"created.\n"
+" -Paid Member: A member who has paid the membership "
+"amount."
+msgstr ""
+"会員の状態を次のように表します。\n"
+" ・ 非会員:どの会員にも申し込んでいない\n"
+" ・ キャンセル会員:会員をキャンセルした\n"
+" ・ 旧会員:会員の有効期限切れ\n"
+" ・ 待機会員:会員に申込を行い、請求書が作成される予定\n"
+" ・ 請求済会員:請求書を作成済\n"
+" ・ 支払済会員:会員金額を支払済"
+
+#. module: membership
+#: view:report.membership:0
+#: field:report.membership,month:0
+msgid "Month"
+msgstr "月"
+
+#. module: membership
+#: view:product.product:0
+msgid "Group by..."
+msgstr "グル―化…"
+
+#. module: membership
+#: code:addons/membership/membership.py:411
+#, python-format
+msgid "Partner is a free Member."
+msgstr "パートナは無料会員です。"
+
+#. module: membership
+#: model:product.pricelist,name:membership.list1m
+msgid "Member Sale Pricelist"
+msgstr "会員販売価格表"
+
+#. module: membership
+#: field:report.membership,associate_member_id:0
+#: view:res.partner:0
+msgid "Associate Member"
+msgstr "関連会員"
+
+#. module: membership
+#: help:product.product,membership_date_from:0
+#: help:res.partner,membership_start:0
+msgid "Date from which membership becomes active."
+msgstr "会員として有効になる日付です。"
+
+#. module: membership
+#: view:report.membership:0
+msgid "Associated Partner"
+msgstr "関連パートナ"
+
+#. module: membership
+#: model:ir.model,name:membership.model_membership_invoice
+#: view:membership.invoice:0
+msgid "Membership Invoice"
+msgstr "会員請求書"
+
+#. module: membership
+#: view:report.membership:0
+#: field:report.membership,user_id:0
+#: view:res.partner:0
+msgid "Salesman"
+msgstr "販売員"
+
+#. module: membership
+#: model:process.node,note:membership.process_node_membershipproduct0
+msgid "Define membership product."
+msgstr "会員製品を定義して下さい。"
+
+#. module: membership
+#: view:product.product:0
+msgid "Category"
+msgstr "分類"
+
+#. module: membership
+#: selection:membership.membership_line,state:0
+#: selection:report.membership,membership_state:0
+#: selection:res.partner,membership_state:0
+msgid "Free Member"
+msgstr "無料会員"
+
+#. module: membership
+#: model:product.pricelist.version,name:membership.ver1m
+msgid "Member Sale Pricelist Version"
+msgstr "会員販売価格表バージョン"
+
+#. module: membership
+#: constraint:product.template:0
+msgid ""
+"Error: The default UOM and the purchase UOM must be in the same category."
+msgstr "エラー:デフォルトの単位と仕入単位は同じ分類でなければいけません。"
+
+#. module: membership
+#: view:report.membership:0
+msgid "Forecast"
+msgstr "予測"
+
+#. module: membership
+#: field:report.membership,partner_id:0
+msgid "Member"
+msgstr "会員"
+
+#. module: membership
+#: view:product.product:0
+msgid "Date From"
+msgstr "開始日"
+
+#. module: membership
+#: model:process.node,name:membership.process_node_associatedmember0
+msgid "Associated member"
+msgstr "関連会員"
+
+#. module: membership
+#: view:product.product:0
+msgid "Accounting Info"
+msgstr "会計情報"
+
+#. module: membership
+#: help:report.membership,date_to:0
+msgid "End membership date"
+msgstr "会員終了日"
+
+#. module: membership
+#: view:res.partner:0
+msgid "Customers"
+msgstr "顧客"
+
+#. module: membership
+#: selection:report.membership,month:0
+msgid "August"
+msgstr "8月"
+
+#. module: membership
+#: model:ir.actions.act_window,name:membership.action_membership_products
+#: model:ir.ui.menu,name:membership.menu_membership_products
+#: view:product.product:0
+msgid "Membership Products"
+msgstr "会員製品"
+
+#. module: membership
+#: selection:report.membership,month:0
+msgid "June"
+msgstr "6月"
+
+#. module: membership
+#: model:ir.ui.menu,name:membership.menu_membership
+#: field:membership.invoice,product_id:0
+#: view:product.product:0
+#: field:product.product,membership:0
+#: view:report.membership:0
+#: view:res.partner:0
+#: field:res.partner,member_lines:0
+msgid "Membership"
+msgstr "会員"
+
+#. module: membership
+#: selection:membership.membership_line,state:0
+#: selection:report.membership,membership_state:0
+#: selection:res.partner,membership_state:0
+msgid "Invoiced Member"
+msgstr "請求済会員"
+
+#. module: membership
+#: help:membership.membership_line,date:0
+msgid "Date on which member has joined the membership"
+msgstr "会員となった日付"
+
+#. module: membership
+#: selection:membership.membership_line,state:0
+#: selection:report.membership,membership_state:0
+#: selection:res.partner,membership_state:0
+msgid "Waiting Member"
+msgstr "待機会員"
+
+#. module: membership
+#: model:process.transition,name:membership.process_transition_associationpartner0
+msgid "Association Partner"
+msgstr "関連パートナ"
+
+#. module: membership
+#: field:report.membership,date_from:0
+#: view:res.partner:0
+msgid "Start Date"
+msgstr "開始日"
+
+#. module: membership
+#: selection:report.membership,month:0
+msgid "November"
+msgstr "11月"
+
+#. module: membership
+#: help:product.product,membership:0
+msgid "Select if a product is a membership product."
+msgstr "製品が会員製品の時に選択して下さい。"
+
+#. module: membership
+#: field:membership.membership_line,state:0
+msgid "Membership State"
+msgstr "会員状態"
+
+#. module: membership
+#: selection:report.membership,month:0
+msgid "October"
+msgstr "10月"
+
+#. module: membership
+#: view:product.product:0
+msgid "Sale Description"
+msgstr "販売説明"
+
+#. module: membership
+#: selection:report.membership,month:0
+msgid "January"
+msgstr "1月"
+
+#. module: membership
+#: view:res.partner:0
+msgid "Membership Partners"
+msgstr "会員パートナ"
+
+#. module: membership
+#: view:product.product:0
+msgid "Membership Fee"
+msgstr "会員料金"
+
+#. module: membership
+#: field:res.partner,membership_amount:0
+msgid "Membership amount"
+msgstr "会員金額"
+
+#. module: membership
+#: help:res.partner,membership_amount:0
+msgid "The price negotiated by the partner"
+msgstr "パートナ別交渉価格"
+
+#. module: membership
+#: sql_constraint:account.invoice:0
+msgid "Invoice Number must be unique per Company!"
+msgstr "請求書番号は会社ごとに固有である必要があります。"
+
+#. module: membership
+#: view:res.partner:0
+msgid "None/Canceled/Old/Waiting"
+msgstr "非 / キャンセル / 旧 / 待機"
+
+#. module: membership
+#: selection:membership.membership_line,state:0
+#: selection:report.membership,membership_state:0
+#: selection:res.partner,membership_state:0
+msgid "Old Member"
+msgstr "旧会員"
+
+#. module: membership
+#: field:membership.membership_line,date_to:0
+msgid "To"
+msgstr "終了"
+
+#. module: membership
+#: view:report.membership:0
+#: field:report.membership,membership_state:0
+#: field:res.partner,membership_state:0
+msgid "Current Membership State"
+msgstr "現在の会員状態"
+
+#. module: membership
+#: view:product.product:0
+msgid "General"
+msgstr "一般"
+
+#. module: membership
+#: model:process.transition,note:membership.process_transition_waitingtoinvoice0
+msgid "Draft invoice is now open."
+msgstr "ドラフト請求書が今、開かれました。"
+
+#. module: membership
+#: view:product.product:0
+msgid "Inactive"
+msgstr "非アクティブ"
+
+#. module: membership
+#: model:ir.model,name:membership.model_account_invoice
+#: field:membership.membership_line,account_invoice_id:0
+msgid "Invoice"
+msgstr "請求書"
+
+#. module: membership
+#: view:membership.invoice:0
+msgid "Close"
+msgstr "閉じる"
+
+#. module: membership
+#: view:res.partner:0
+msgid "All non Members"
+msgstr "全非会員"
+
+#. module: membership
+#: view:product.product:0
+msgid "Information"
+msgstr "情報"
+
+#. module: membership
+#: field:membership.membership_line,account_invoice_line:0
+msgid "Account Invoice line"
+msgstr "アカウント請求書行"
+
+#. module: membership
+#: view:product.product:0
+msgid "Categorization"
+msgstr "分類化"
+
+#. module: membership
+#: model:process.node,note:membership.process_node_waitingmember0
+msgid "Draft invoice for membership."
+msgstr "会員のためのドラフト請求書"
+
+#. module: membership
+#: field:membership.invoice,member_price:0
+#: field:membership.membership_line,member_price:0
+#: model:product.price.type,name:membership.product_price_type_memberprice
+#: field:product.template,member_price:0
+msgid "Member Price"
+msgstr "会員価格"
+
+#. module: membership
+#: view:product.product:0
+msgid "Purchase Description"
+msgstr "仕入説明"
+
+#. module: membership
+#: model:ir.model,name:membership.model_product_product
+msgid "Product"
+msgstr "製品"
+
+#. module: membership
+#: view:product.product:0
+msgid "Description"
+msgstr "説明"
+
+#. module: membership
+#: field:res.partner,free_member:0
+msgid "Free member"
+msgstr "無料会員"
+
+#. module: membership
+#: selection:report.membership,month:0
+msgid "May"
+msgstr "5月"
+
+#. module: membership
+#: model:product.template,name:membership.membership_1_product_template
+msgid "Silver Membership"
+msgstr "シルバー会員"
+
+#. module: membership
+#: view:product.product:0
+msgid "Sale Taxes"
+msgstr "消費税"
+
+#. module: membership
+#: field:report.membership,date_to:0
+#: view:res.partner:0
+msgid "End Date"
+msgstr "終了日"
+
+#. module: membership
+#: selection:report.membership,month:0
+msgid "February"
+msgstr "2月"
+
+#. module: membership
+#: model:process.node,name:membership.process_node_invoicedmember0
+msgid "Invoiced member"
+msgstr "請求済会員"
+
+#. module: membership
+#: selection:report.membership,month:0
+msgid "April"
+msgstr "4月"
+
+#. module: membership
+#: view:res.partner:0
+msgid "Starting Date Of Membership"
+msgstr "会員の開始日"
+
+#. module: membership
+#: help:res.partner,membership_cancel:0
+msgid "Date on which membership has been cancelled"
+msgstr "会員をキャンセルした日付"
+
+#. module: membership
+#: field:membership.membership_line,date_cancel:0
+msgid "Cancel date"
+msgstr "キャンセル日"
+
+#. module: membership
+#: model:process.node,name:membership.process_node_waitingmember0
+msgid "Waiting member"
+msgstr "待機会員"
+
+#. module: membership
+#: model:ir.actions.act_window,name:membership.action_membership_invoice_view
+msgid "Invoice Membership"
+msgstr "請求会員"
+
+#. module: membership
+#: model:process.node,name:membership.process_node_membershipproduct0
+msgid "Membership product"
+msgstr "会員製粉"
+
+#. module: membership
+#: help:membership.membership_line,member_price:0
+msgid "Amount for the membership"
+msgstr "会員金額"
+
+#. module: membership
+#: constraint:res.partner:0
+msgid "Error ! You cannot create recursive associated members."
+msgstr "エラー。再帰的な関係となる会員を作ることはできません。"
+
+#. module: membership
+#: selection:membership.membership_line,state:0
+#: selection:report.membership,membership_state:0
+#: selection:res.partner,membership_state:0
+msgid "Cancelled Member"
+msgstr "キャンセル済会員"
+
+#. module: membership
+#: constraint:product.product:0
+msgid "Error: Invalid ean code"
+msgstr "エラー:無効な商品識別番号です。"
+
+#. module: membership
+#: view:report.membership:0
+#: field:report.membership,year:0
+msgid "Year"
+msgstr "年"
+
+#. module: membership
+#: view:report.membership:0
+msgid "Revenue Done"
+msgstr "売上完了"
diff --git a/addons/mrp/i18n/fr.po b/addons/mrp/i18n/fr.po
index 7b1afd163bd..7c51b038205 100644
--- a/addons/mrp/i18n/fr.po
+++ b/addons/mrp/i18n/fr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:49+0000\n"
-"PO-Revision-Date: 2012-02-16 15:09+0000\n"
-"Last-Translator: Nicolas Réau <Unknown>\n"
+"PO-Revision-Date: 2012-05-24 17:38+0000\n"
+"Last-Translator: Numérigraphe <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-02-17 04:58+0000\n"
-"X-Generator: Launchpad (build 14814)\n"
+"X-Launchpad-Export-Date: 2012-05-25 04:39+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: mrp
#: field:mrp.bom,product_uom:0
@@ -66,7 +66,7 @@ msgstr "Occupation du poste de charge"
#. module: mrp
#: model:product.template,name:mrp.product_sugar_product_template
msgid "Sugar"
-msgstr ""
+msgstr "Sucre"
#. module: mrp
#: report:mrp.production.order:0
@@ -81,7 +81,7 @@ msgstr "Nombre de cycles"
#. module: mrp
#: model:product.uom.categ,name:mrp.product_uom_categ_fluid
msgid "Fluid"
-msgstr ""
+msgstr "Fluide"
#. module: mrp
#: model:process.transition,note:mrp.process_transition_minimumstockprocure0
@@ -165,7 +165,7 @@ msgstr "Produits finis"
#. module: mrp
#: view:mrp.production:0
msgid "Manufacturing Orders which are currently in production."
-msgstr ""
+msgstr "Les ordres de fabrications actuellement en production."
#. module: mrp
#: model:process.transition,name:mrp.process_transition_servicerfq0
@@ -204,7 +204,7 @@ msgstr "Coût horaire"
#. module: mrp
#: model:product.template,name:mrp.product_orange_product_template
msgid "Orange"
-msgstr ""
+msgstr "Orange"
#. module: mrp
#: model:process.transition,note:mrp.process_transition_servicemts0
@@ -253,6 +253,8 @@ msgid ""
"Create a product form for everything you buy or sell. Specify a supplier if "
"the product can be purchased."
msgstr ""
+"Créer un formulaire de produit pour tout ce que vous achetez ou vendez. "
+"Spécifiez un fournisseur si le produit peut être acheté."
#. module: mrp
#: model:ir.ui.menu,name:mrp.next_id_77
@@ -288,7 +290,7 @@ msgstr "Information sur la Capacité"
#. module: mrp
#: field:mrp.production,move_created_ids2:0
msgid "Produced Products"
-msgstr ""
+msgstr "Produits produis"
#. module: mrp
#: report:mrp.production.order:0
@@ -344,7 +346,7 @@ msgstr "Vous essayez d'affecter un lot qui n'est pas pour ce produit."
#. module: mrp
#: model:product.template,name:mrp.product_cloth_product_template
msgid "Cloth"
-msgstr ""
+msgstr "Tissu"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_product_produce
@@ -354,7 +356,7 @@ msgstr "Production de produits"
#. module: mrp
#: constraint:mrp.bom:0
msgid "Error ! You cannot create recursive BoM."
-msgstr ""
+msgstr "Erreur ! Vous ne pouvez pas créer de nomenclature récursive."
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_routing_workcenter
@@ -375,7 +377,7 @@ msgstr "UdM par défaut"
#: sql_constraint:mrp.production:0
#: sql_constraint:stock.picking:0
msgid "Reference must be unique per Company!"
-msgstr ""
+msgstr "La référence doit être unique par société !"
#. module: mrp
#: code:addons/mrp/report/price.py:139
@@ -423,6 +425,12 @@ msgid ""
"sales person creates a sales order, he can relate it to several properties "
"and OpenERP will automatically select the BoM to use according the needs."
msgstr ""
+"Les propriétés dans OpenERP sont utilisées pour sélectionner la bonne "
+"nomenclature pour fabriquer un produit quand vous avez différentes façons de "
+"créer le même produit. Vous pouvez assigner plusieurs propriétés à chaque "
+"nomenclature. Quand un vendeur crée un bon de commande, il peut le lier à "
+"différentes propriétés qui sélectionneront la nomenclature en fonction des "
+"besoins."
#. module: mrp
#: help:mrp.production,picking_id:0
@@ -489,7 +497,7 @@ msgstr "le produit est de type Service"
#. module: mrp
#: sql_constraint:res.company:0
msgid "The company name must be unique !"
-msgstr ""
+msgstr "Le nom de la société doit être unique !"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_property_group_action
@@ -574,7 +582,7 @@ msgstr "Changer la quantité"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_configure_workcenter
msgid "Configure your work centers"
-msgstr ""
+msgstr "Configurer les centres de travails"
#. module: mrp
#: view:mrp.production:0
@@ -612,11 +620,15 @@ msgstr "Prix du fournisseur par UdM"
msgid ""
"Gives the sequence order when displaying a list of routing Work Centers."
msgstr ""
+"Donner la numéro de la séquence pour afficher la liste de routage du centre "
+"de travail."
#. module: mrp
#: constraint:stock.move:0
msgid "You can not move products from or to a location of the type view."
msgstr ""
+"Vous ne pouvez pas déplacer des produits depuis ou vers un emplacement de "
+"type \"vue\"."
#. module: mrp
#: field:mrp.bom,child_complete_ids:0
@@ -720,6 +732,8 @@ msgstr "Temps nécessaire à la réalisation d'un cycle"
#: constraint:mrp.bom:0
msgid "BoM line product should not be same as BoM product."
msgstr ""
+"la ligne de nomemclature de produit ne doit pas être la même que la "
+"nomemclature du produit."
#. module: mrp
#: view:mrp.production:0
@@ -791,7 +805,7 @@ msgstr ""
#: code:addons/mrp/mrp.py:762
#, python-format
msgid "Warning!"
-msgstr ""
+msgstr "Avertissement!"
#. module: mrp
#: report:mrp.production.order:0
@@ -938,7 +952,7 @@ msgstr "Stock minimum"
#: code:addons/mrp/mrp.py:503
#, python-format
msgid "Cannot delete a manufacturing order in state '%s'"
-msgstr ""
+msgstr "Impossible de supprimer un ordre de fabrication dans l'état \"%s\""
#. module: mrp
#: model:ir.ui.menu,name:mrp.menus_dash_mrp
@@ -1055,7 +1069,7 @@ msgstr "Tableau de bord de production"
#. module: mrp
#: model:res.groups,name:mrp.group_mrp_manager
msgid "Manager"
-msgstr ""
+msgstr "Responsable"
#. module: mrp
#: view:mrp.production:0
@@ -1116,12 +1130,12 @@ msgstr ""
#. module: mrp
#: model:ir.actions.todo.category,name:mrp.category_mrp_config
msgid "MRP Management"
-msgstr ""
+msgstr "Gestion de production"
#. module: mrp
#: help:mrp.workcenter,costs_hour:0
msgid "Specify Cost of Work Center per hour."
-msgstr ""
+msgstr "Coût spécifique pour le centre de travail par heure."
#. module: mrp
#: help:mrp.workcenter,capacity_per_cycle:0
@@ -1174,6 +1188,7 @@ msgid ""
"Time in hours for this Work Center to achieve the operation of the specified "
"routing."
msgstr ""
+"Temps en heure pour ce centre de travail pour achever l'opération de routage."
#. module: mrp
#: field:mrp.workcenter,costs_journal_id:0
@@ -1228,7 +1243,7 @@ msgstr "Notes"
#. module: mrp
#: view:mrp.production:0
msgid "Manufacturing Orders which are ready to start production."
-msgstr ""
+msgstr "Ordres de fabrication prêts à produire."
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_bom
@@ -1295,7 +1310,7 @@ msgstr "Révisions"
#. module: mrp
#: model:product.template,name:mrp.product_shirt_product_template
msgid "Shirt"
-msgstr ""
+msgstr "Chemise"
#. module: mrp
#: field:mrp.production,priority:0
@@ -1333,7 +1348,7 @@ msgstr "Produit géré en Plan Directeur"
#: code:addons/mrp/report/price.py:204
#, python-format
msgid "Work Cost of %s %s"
-msgstr ""
+msgstr "Centre de cout de %s %s"
#. module: mrp
#: help:res.company,manufacturing_lead:0
@@ -1343,7 +1358,7 @@ msgstr "Jours de sécurité pour chaque opération de production."
#. module: mrp
#: model:product.template,name:mrp.product_water_product_template
msgid "Water"
-msgstr ""
+msgstr "Eau"
#. module: mrp
#: view:mrp.bom:0
@@ -1360,7 +1375,7 @@ msgstr "Production sur stock"
#. module: mrp
#: constraint:mrp.production:0
msgid "Order quantity cannot be negative or zero!"
-msgstr ""
+msgstr "La quantité commandée ne peut pas être nulle ou négative !"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_bom_form_action
@@ -1453,7 +1468,7 @@ msgstr "En attente"
#: code:addons/mrp/mrp.py:603
#, python-format
msgid "Couldn't find a bill of material for this product."
-msgstr ""
+msgstr "Impossible de trouver une nomenclature pour ce produit."
#. module: mrp
#: field:mrp.bom,active:0
@@ -1537,7 +1552,7 @@ msgstr "Non urgent"
#. module: mrp
#: field:mrp.production,user_id:0
msgid "Responsible"
-msgstr ""
+msgstr "Responsable"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_production_action2
@@ -1892,7 +1907,7 @@ msgstr "Arrondi de produit"
#. module: mrp
#: selection:mrp.production,state:0
msgid "New"
-msgstr ""
+msgstr "Nouveau"
#. module: mrp
#: selection:mrp.product.produce,mode:0
@@ -1955,7 +1970,7 @@ msgstr "Configuration"
#. module: mrp
#: view:mrp.bom:0
msgid "Starting Date"
-msgstr ""
+msgstr "Date de début"
#. module: mrp
#: field:mrp.workcenter,time_stop:0
@@ -2011,7 +2026,7 @@ msgstr "Temps en Heures pour la mise en place"
#. module: mrp
#: model:product.template,name:mrp.product_orangejuice_product_template
msgid "Orange Juice"
-msgstr ""
+msgstr "Jus d'orange"
#. module: mrp
#: field:mrp.bom.revision,bom_id:0
@@ -2078,7 +2093,7 @@ msgstr "Structure de coût"
#. module: mrp
#: model:res.groups,name:mrp.group_mrp_user
msgid "User"
-msgstr ""
+msgstr "Utilisateur"
#. module: mrp
#: selection:mrp.product.produce,mode:0
@@ -2109,7 +2124,7 @@ msgstr ""
#. module: mrp
#: model:product.uom,name:mrp.product_uom_litre
msgid "Litre"
-msgstr ""
+msgstr "Litre"
#. module: mrp
#: code:addons/mrp/mrp.py:762
@@ -2294,7 +2309,7 @@ msgstr ""
#: code:addons/mrp/mrp.py:954
#, python-format
msgid "PROD: %s"
-msgstr ""
+msgstr "PROD: %s"
#. module: mrp
#: help:mrp.workcenter,time_stop:0
@@ -2820,9 +2835,6 @@ msgstr "Produits à consommer"
#~ msgid "An entry is being made from billing material to routing."
#~ msgstr "Une entrée sera faite depuis la liste du matériel a assembler."
-#~ msgid "Product to stock rules"
-#~ msgstr "Règles de stock produit"
-
#~ msgid "Procurement convert into the draft purchase order."
#~ msgstr "Approvisionnement converti en commande d'achat au brouillon."
@@ -2857,9 +2869,8 @@ msgstr "Produits à consommer"
#~ msgid "Stockable Product Stock"
#~ msgstr "Stock de produit stockable"
-#~ msgid "From minimum stock rules, it goes for procure product."
-#~ msgstr ""
-#~ "Des règles de stock minimal, il mène à l'approvisionnement du produit."
+#~ msgid "Product to stock rules"
+#~ msgstr "Règles de stock produit"
#~ msgid "Minimum Stock Procure"
#~ msgstr "Approvisionnement de stock minimum"
@@ -3001,6 +3012,10 @@ msgstr "Produits à consommer"
#~ "Si le produit est de type \"service\" et que la méthode d'approvisionnement "
#~ "est \"Sur stock\""
+#~ msgid "From minimum stock rules, it goes for procure product."
+#~ msgstr ""
+#~ "Des règles de stock minimal, il mène à l'approvisionnement du produit."
+
#~ msgid "Service Make to Stock"
#~ msgstr "Service sur stock"
diff --git a/addons/mrp/i18n/ja.po b/addons/mrp/i18n/ja.po
new file mode 100644
index 00000000000..2943ce294da
--- /dev/null
+++ b/addons/mrp/i18n/ja.po
@@ -0,0 +1,2272 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:49+0000\n"
+"PO-Revision-Date: 2012-05-31 06:17+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:32+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: mrp
+#: view:mrp.routing.workcenter:0
+msgid "Routing Work Centers"
+msgstr "経路作業センタ"
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.mrp_production_action
+msgid ""
+"Manufacturing Orders are usually proposed automatically by OpenERP based on "
+"the bill of materials and the procurement rules, but you can also create "
+"manufacturing orders manually. OpenERP will handle the consumption of the "
+"raw materials (stock decrease) and the production of the finished products "
+"(stock increase) when the order is processed."
+msgstr ""
+"製造オーダーは通常はOpenERPにより部品表と調達ルールに基づき自動的に提案されます 。しかし、製造オーダーを手動で作成することもできます。OpenER"
+"Pはオーダーが処理される時に、原材料の消費(在庫減少)と最終製品の製造(在庫増加)を処理します。"
+
+#. module: mrp
+#: help:mrp.production,location_src_id:0
+msgid "Location where the system will look for components."
+msgstr "システムが構成部品を探す場所"
+
+#. module: mrp
+#: field:mrp.production,workcenter_lines:0
+msgid "Work Centers Utilisation"
+msgstr "作業センタ活用"
+
+#. module: mrp
+#: model:product.template,name:mrp.product_sugar_product_template
+msgid "Sugar"
+msgstr "砂糖"
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "No. Of Cycles"
+msgstr "サイクル数"
+
+#. module: mrp
+#: field:mrp.routing.workcenter,cycle_nbr:0
+msgid "Number of Cycles"
+msgstr "サイクル数"
+
+#. module: mrp
+#: model:product.uom.categ,name:mrp.product_uom_categ_fluid
+msgid "Fluid"
+msgstr "流体"
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_minimumstockprocure0
+msgid ""
+"The 'Minimum stock rule' allows the system to create procurement orders "
+"automatically as soon as the minimum stock is reached."
+msgstr "最小在庫ルールは最小在庫に達すると、システムが直ちに自動的に調達オーダーを作成します。"
+
+#. module: mrp
+#: field:mrp.production,picking_id:0
+msgid "Picking list"
+msgstr "集荷リスト"
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:130
+#, python-format
+msgid "Hourly Cost"
+msgstr "時間コスト"
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:139
+#, python-format
+msgid "Cost Price per Uom"
+msgstr "単位当りのコスト価格"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Scrap Products"
+msgstr "スクラップ製品"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.mrp_routing_action
+#: model:ir.ui.menu,name:mrp.menu_mrp_routing_action
+msgid "Routings"
+msgstr "経路"
+
+#. module: mrp
+#: field:mrp.workcenter,product_id:0
+msgid "Work Center Product"
+msgstr "作業センタ製品"
+
+#. module: mrp
+#: view:mrp.bom:0
+msgid "Search Bill Of Material"
+msgstr "部品表の検索"
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_stockproduct1
+msgid "For stockable products and consumables"
+msgstr "在庫可能製品と消耗品"
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_stockproduction0
+msgid "To Produce"
+msgstr "生産する"
+
+#. module: mrp
+#: help:mrp.routing.workcenter,cycle_nbr:0
+msgid ""
+"Number of iterations this work center has to do in the specified operation "
+"of the routing."
+msgstr "この作業センタは経路の特定の操作の中で反復回数実行される必要があります。"
+
+#. module: mrp
+#: view:mrp.bom:0
+#: field:mrp.bom,code:0
+#: view:mrp.production:0
+#: field:mrp.production,name:0
+msgid "Reference"
+msgstr "参照"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Finished Products"
+msgstr "完成した製品"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Manufacturing Orders which are currently in production."
+msgstr "現在生産中の製造オーダー"
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_servicerfq0
+#: model:process.transition,name:mrp.process_transition_stockrfq0
+msgid "To Buy"
+msgstr "購入のため"
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_purchaseprocure0
+msgid "The system launches automatically a RFQ to the preferred supplier."
+msgstr "システムは優先仕入先にRFQ(見積依頼)を自動的に起こします。"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Products to Finish"
+msgstr "終了する製品"
+
+#. module: mrp
+#: selection:mrp.bom,method:0
+msgid "Set / Pack"
+msgstr "設定する / 包む"
+
+#. module: mrp
+#: view:mrp.production:0
+#: field:mrp.production,state:0
+msgid "State"
+msgstr "状態"
+
+#. module: mrp
+#: field:mrp.workcenter,costs_hour:0
+msgid "Cost per hour"
+msgstr "時間当りのコスト"
+
+#. module: mrp
+#: model:product.template,name:mrp.product_orange_product_template
+msgid "Orange"
+msgstr "オレンジ"
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_servicemts0
+msgid ""
+"This is used in case of a service without any impact in the system, a "
+"training session for instance."
+msgstr "これは例えばトレーニングセッションといった、システムに何の影響も与えないでサービスをする場合に使用されます。"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "UOM"
+msgstr "単位"
+
+#. module: mrp
+#: field:change.production.qty,product_qty:0
+#: field:mrp.bom,product_qty:0
+#: field:mrp.production,product_qty:0
+#: field:mrp.production.product.line,product_qty:0
+msgid "Product Qty"
+msgstr "製品数量"
+
+#. module: mrp
+#: help:mrp.workcenter,product_id:0
+msgid ""
+"Fill this product to track easily your production costs in the analytic "
+"accounting."
+msgstr "分析会計の中で生産コストを簡単に追跡するためのこの製品を満たして下さい。"
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_purchaseprocure0
+msgid "For purchased material"
+msgstr "仕入済材料"
+
+#. module: mrp
+#: field:mrp.bom.revision,indice:0
+msgid "Revision"
+msgstr "改訂"
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.product_form_config_action
+msgid ""
+"Create a product form for everything you buy or sell. Specify a supplier if "
+"the product can be purchased."
+msgstr "購入または販売した全ての製品フォームを作成して下さい。製品を購入することがでできる場合、仕入先を指定して下さい。"
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.next_id_77
+msgid "Reporting"
+msgstr "レポート"
+
+#. module: mrp
+#: field:mrp.workcenter,costs_cycle_account_id:0
+msgid "Cycle Account"
+msgstr "サイクルアカウント"
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:130
+#, python-format
+msgid "Work Cost"
+msgstr "作業コスト"
+
+#. module: mrp
+#: report:bom.structure:0
+msgid "["
+msgstr "["
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_procureserviceproduct0
+msgid "Procurement of services"
+msgstr "サービスの調達"
+
+#. module: mrp
+#: view:mrp.workcenter:0
+msgid "Capacity Information"
+msgstr "容量情報"
+
+#. module: mrp
+#: field:mrp.production,move_created_ids2:0
+msgid "Produced Products"
+msgstr "生産される製品"
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "Destination Location"
+msgstr "宛先場所"
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menu_mrp_bom
+msgid "Master Data"
+msgstr "マスターデータ"
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_stockmts0
+msgid ""
+"The system waits for the products to be available in the stock. These "
+"products are typically procured manually or through a minimum stock rule."
+msgstr "システムは在庫にするための製品を待っています。これらの製品は一般的には手動でまたは最低在庫ルールを通して調達されます。"
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "Partner Ref"
+msgstr "パートナ参照"
+
+#. module: mrp
+#: field:mrp.production,origin:0
+#: report:mrp.production.order:0
+msgid "Source Document"
+msgstr "基となるドキュメント"
+
+#. module: mrp
+#: field:mrp.production,product_lines:0
+msgid "Scheduled goods"
+msgstr "予定済製品"
+
+#. module: mrp
+#: selection:mrp.bom,type:0
+msgid "Sets / Phantom"
+msgstr "設定 / 模型"
+
+#. module: mrp
+#: help:mrp.bom,position:0
+msgid "Reference to a position in an external plan."
+msgstr "外部計画の中への参照"
+
+#. module: mrp
+#: constraint:stock.move:0
+msgid "You try to assign a lot which is not from the same product"
+msgstr "違う製品のロットを割り当てることはできません。"
+
+#. module: mrp
+#: model:product.template,name:mrp.product_cloth_product_template
+msgid "Cloth"
+msgstr "生地"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_product_produce
+msgid "Product Produce"
+msgstr "製品生産"
+
+#. module: mrp
+#: constraint:mrp.bom:0
+msgid "Error ! You cannot create recursive BoM."
+msgstr "エラー。再帰的な部品表を作ることはできません。"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_routing_workcenter
+msgid "Work Center Usage"
+msgstr "作業センタの用途"
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_procurestockableproduct0
+msgid "Procurement of stockable Product"
+msgstr "在庫可能製品の調達"
+
+#. module: mrp
+#: view:mrp.bom:0
+msgid "Default UOM"
+msgstr "デフォルト単位"
+
+#. module: mrp
+#: sql_constraint:mrp.production:0
+#: sql_constraint:stock.picking:0
+msgid "Reference must be unique per Company!"
+msgstr "参照は会社ごとに固有でなければいけません。"
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:139
+#: report:bom.structure:0
+#: field:mrp.product_price,number:0
+#: report:mrp.production.order:0
+#, python-format
+msgid "Quantity"
+msgstr "数量"
+
+#. module: mrp
+#: field:mrp.production.workcenter.line,hour:0
+msgid "Nbr of hours"
+msgstr "時間数"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Confirm Production"
+msgstr "生産確認"
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_stockproduct0
+msgid ""
+"The system creates an order (production or purchased) depending on the sold "
+"quantity and the products parameters."
+msgstr "システムは販売数量そして製品のパラメータに応じてオーダー(生産または仕入)を作成します。"
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_stockproduction0
+msgid ""
+"In case the Supply method of the product is Produce, the system creates a "
+"production order."
+msgstr "製品の供給方法が生産である場合は、システムは生産オーダーを作成します。"
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.mrp_property_action
+msgid ""
+"The Properties in OpenERP are used to select the right bill of materials for "
+"manufacturing a product when you have different ways of building the same "
+"product. You can assign several properties to each Bill of Materials. When a "
+"sales person creates a sales order, he can relate it to several properties "
+"and OpenERP will automatically select the BoM to use according the needs."
+msgstr ""
+"同じ製品で異なった構築方法を持つ場合、OpenERPのプロパティは製品製造のための正しい部品表を選択するのに使用されます。それぞれの部品表には幾つかのプロ"
+"パティを割り当てることができます。販売員が販売オーダーを作成した時、彼はそれを幾つかのプロパティに関連付けることができ、そして、OpenERPは要求によっ"
+"て使用する部品表を自動的に選択します。"
+
+#. module: mrp
+#: help:mrp.production,picking_id:0
+msgid ""
+"This is the Internal Picking List that brings the finished product to the "
+"production plan"
+msgstr "これは生産計画のために完成した製品を持ってくる内部の集荷リストです。"
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menu_view_resource_calendar_search_mrp
+msgid "Working Time"
+msgstr "作業時間"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.action_report_in_out_picking_tree
+msgid "Weekly Stock Value Variation"
+msgstr "週次在庫価値変動"
+
+#. module: mrp
+#: view:mrp.production:0
+#: field:mrp.production,date_planned_date:0
+#: report:mrp.production.order:0
+msgid "Scheduled Date"
+msgstr "予定日"
+
+#. module: mrp
+#: view:mrp.bom:0
+msgid "Component Product"
+msgstr "構成部品の製品"
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "Bill Of Material"
+msgstr "部品表"
+
+#. module: mrp
+#: help:mrp.routing,location_id:0
+msgid ""
+"Keep empty if you produce at the location where the finished products are "
+"needed.Set a location if you produce at a fixed location. This can be a "
+"partner location if you subcontract the manufacturing operations."
+msgstr ""
+"完成した製品が必要とされる場所で生産する場合は空のままとして下さい。固定の場所で生産する場合は場所を設定して下さい。製造業務を外注する場合は、パートナの場"
+"所として下さい。"
+
+#. module: mrp
+#: view:board.board:0
+msgid "Stock Value Variation"
+msgstr "在庫価値変動"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.action2
+msgid "Bill of Materials Structure"
+msgstr "構造の部品表"
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_serviceproduct0
+msgid "Product type is service"
+msgstr "製品タイプはサービスです。"
+
+#. module: mrp
+#: sql_constraint:res.company:0
+msgid "The company name must be unique !"
+msgstr "会社名は固有でなければいけません。"
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.mrp_property_group_action
+msgid ""
+"Define specific property groups that can be assigned to the properties of "
+"your bill of materials."
+msgstr "部品表のプロパティに割り当てることができる特定のプロパティグループを定義して下さい。"
+
+#. module: mrp
+#: help:mrp.workcenter,costs_cycle:0
+msgid "Specify Cost of Work Center per cycle."
+msgstr "サイクル当りの作業センタのコストを指定して下さい。"
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_bom0
+msgid "Manufacturing decomposition"
+msgstr "製造分解"
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_serviceproduct1
+msgid "For Services."
+msgstr "サービス用"
+
+#. module: mrp
+#: field:mrp.bom.revision,date:0
+msgid "Modification Date"
+msgstr "修正日"
+
+#. module: mrp
+#: help:mrp.workcenter,costs_cycle_account_id:0
+#: help:mrp.workcenter,costs_hour_account_id:0
+msgid ""
+"Complete this only if you want automatic analytic accounting entries on "
+"production orders."
+msgstr "製造オーダーの自動分析会計行を望む場合は、これのみを完了して下さい。"
+
+#. module: mrp
+#: field:mrp.production.workcenter.line,cycle:0
+msgid "Nbr of cycles"
+msgstr "サイクル数"
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_orderrfq0
+#: model:process.node,note:mrp.process_node_rfq0
+msgid "Request for Quotation."
+msgstr "見積要求"
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_billofmaterialrouting0
+msgid ""
+"The Bill of Material is linked to a routing, i.e. the succession of work "
+"centers."
+msgstr "部品表は経路、すなわち作業センタの連携とリンクしています。"
+
+#. module: mrp
+#: constraint:product.product:0
+msgid "Error: Invalid ean code"
+msgstr "エラー:無効な商品識別番号です。"
+
+#. module: mrp
+#: field:mrp.production,move_created_ids:0
+msgid "Products to Produce"
+msgstr "生産する製品"
+
+#. module: mrp
+#: view:mrp.routing:0
+#: field:mrp.routing,location_id:0
+msgid "Production Location"
+msgstr "生産場所"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Change Qty"
+msgstr "数量の変更"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.action_configure_workcenter
+msgid "Configure your work centers"
+msgstr "作業センタの設定"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Force Reservation"
+msgstr "強制予約"
+
+#. module: mrp
+#: field:mrp.bom.revision,author_id:0
+msgid "Author"
+msgstr "著者"
+
+#. module: mrp
+#: field:report.mrp.inout,value:0
+msgid "Stock value"
+msgstr "在庫価値"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.action_product_bom_structure
+msgid "Product BoM Structure"
+msgstr "製品部品表構成"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Search Production"
+msgstr "生産の検索"
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:139
+#, python-format
+msgid "Supplier Price per Uom"
+msgstr "単位当りの仕入価格"
+
+#. module: mrp
+#: help:mrp.routing.workcenter,sequence:0
+msgid ""
+"Gives the sequence order when displaying a list of routing Work Centers."
+msgstr "作業センタの経路のリストを表示する時の順序を与えて下さい。"
+
+#. module: mrp
+#: constraint:stock.move:0
+msgid "You can not move products from or to a location of the type view."
+msgstr "タイプビューの場所から、あるいは場所へは製品を動かすことはできません。"
+
+#. module: mrp
+#: field:mrp.bom,child_complete_ids:0
+msgid "BoM Hierarchy"
+msgstr "部品表の階層"
+
+#. module: mrp
+#: field:mrp.bom,product_uom:0
+#: field:mrp.production,product_uom:0
+#: field:mrp.production.product.line,product_uom:0
+msgid "Product UOM"
+msgstr "製品の単位"
+
+#. module: mrp
+#: selection:mrp.production,state:0
+msgid "Picking Exception"
+msgstr "例外の集荷"
+
+#. module: mrp
+#: field:mrp.bom,bom_lines:0
+msgid "BoM Lines"
+msgstr "部品表ライン"
+
+#. module: mrp
+#: field:mrp.workcenter,time_start:0
+msgid "Time before prod."
+msgstr "製造前の時間"
+
+#. module: mrp
+#: help:mrp.routing,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the routing "
+"without removing it."
+msgstr "このアクティブ項目をFalseに設定すると、経路は削除することなく非表示にすることができます。"
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_billofmaterialrouting0
+msgid "Material Routing"
+msgstr "材料の経路"
+
+#. module: mrp
+#: view:mrp.production:0
+#: field:mrp.production,move_lines2:0
+#: report:mrp.production.order:0
+msgid "Consumed Products"
+msgstr "消費製品"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.action_mrp_workcenter_load_wizard
+#: model:ir.model,name:mrp.model_mrp_workcenter_load
+#: model:ir.model,name:mrp.model_report_workcenter_load
+msgid "Work Center Load"
+msgstr "作業センタの負荷"
+
+#. module: mrp
+#: code:addons/mrp/procurement.py:43
+#, python-format
+msgid "No BoM defined for this product !"
+msgstr "この製品のための部品表が定義されていません。"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.mrp_bom_form_action2
+#: model:ir.ui.menu,name:mrp.menu_mrp_bom_form_action2
+msgid "Bill of Material Components"
+msgstr "構成部品の部品表"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_stock_move
+msgid "Stock Move"
+msgstr "在庫移動"
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menu_mrp_planning
+msgid "Planning"
+msgstr "計画"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Ready"
+msgstr "準備完了"
+
+#. module: mrp
+#: model:product.template,name:mrp.product_buttons_product_template
+msgid "Shirt Buttons"
+msgstr "シャツのボタン"
+
+#. module: mrp
+#: help:mrp.production,routing_id:0
+msgid ""
+"The list of operations (list of work centers) to produce the finished "
+"product. The routing is mainly used to compute work center costs during "
+"operations and to plan future loads on work centers based on production "
+"plannification."
+msgstr ""
+"完成した製品を生産するための操作のリスト(作業センタのリスト)。経路は操作の間の作業センタのコストを計算し、生産計画化を基本とする作業センタの将来の負荷を"
+"計画するために主に利用されます。"
+
+#. module: mrp
+#: help:mrp.workcenter,time_cycle:0
+msgid "Time in hours for doing one cycle."
+msgstr "1サイクルの時間(時)"
+
+#. module: mrp
+#: constraint:mrp.bom:0
+msgid "BoM line product should not be same as BoM product."
+msgstr "部品表のライン製品は部品表製品と同じではいけません。"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "In Production"
+msgstr "生産中"
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menu_mrp_property
+msgid "Master Bill of Materials"
+msgstr "マスター部品表"
+
+#. module: mrp
+#: help:mrp.bom,product_uos:0
+msgid ""
+"Product UOS (Unit of Sale) is the unit of measurement for the invoicing and "
+"promotion of stock."
+msgstr "製品の販売単位は請求、そして在庫の販売促進の単位です。"
+
+#. module: mrp
+#: view:mrp.product_price:0
+#: view:mrp.workcenter.load:0
+msgid "Print"
+msgstr "印刷"
+
+#. module: mrp
+#: view:mrp.bom:0
+#: view:mrp.workcenter:0
+msgid "Type"
+msgstr "タイプ"
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_minimumstockrule0
+msgid "Linked to the 'Minimum stock rule' supplying method."
+msgstr "供給方法の最小在庫ルールとリンクしています。"
+
+#. module: mrp
+#: selection:mrp.workcenter.load,time_unit:0
+msgid "Per month"
+msgstr "月毎"
+
+#. module: mrp
+#: code:addons/mrp/wizard/change_production_qty.py:78
+#: code:addons/mrp/wizard/change_production_qty.py:83
+#, python-format
+msgid "Couldn't find bill of material for product"
+msgstr "製品のための部品表がありません。"
+
+#. module: mrp
+#: report:bom.structure:0
+msgid "Product Name"
+msgstr "製品名"
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:503
+#, python-format
+msgid "Invalid action !"
+msgstr "無効なアクションです。"
+
+#. module: mrp
+#: help:mrp.bom,product_efficiency:0
+msgid "A factor of 0.9 means a loss of 10% within the production process."
+msgstr "0.9の数は生産過程の中での10%の損失を意味します。"
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:734
+#: code:addons/mrp/mrp.py:762
+#, python-format
+msgid "Warning!"
+msgstr "警告"
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "Printing date"
+msgstr "印刷日"
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_orderrfq0
+#: model:process.node,name:mrp.process_node_rfq0
+msgid "RFQ"
+msgstr "見積依頼"
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_producttostockrules0
+msgid "Procurement rule"
+msgstr "調達ルール"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Partial"
+msgstr "部分"
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "WorkCenter"
+msgstr "作業センタ"
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_procureserviceproduct0
+msgid ""
+"Depending on the chosen method to 'supply' the service, the procurement "
+"order creates a RFQ for a subcontracting purchase order or waits until the "
+"service is done (= the delivery of the products)."
+msgstr ""
+"サービス提供のための選択された方法に応じて、調達オーダーは下請け仕入のための見積依頼を作成するか、またはサービスが完了(製品の配達)するまで待ちます。"
+
+#. module: mrp
+#: selection:mrp.production,priority:0
+msgid "Urgent"
+msgstr "緊急"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Manufacturing Orders which are waiting for raw materials."
+msgstr "原材料を待っている製造オーダーです。"
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.mrp_workcenter_action
+msgid ""
+"Work Centers allow you to create and manage manufacturing units. They "
+"consist of workers and/or machines, which are considered as units for "
+"capacity and planning forecast. Keep in mind that the working time and "
+"resource leave are not taken into account in the time computation of the "
+"work center."
+msgstr ""
+"作業センタは製造ユニットを作成し管理します。それらは容量と計画予測のユニットとして考えられる作業員と機械により構成されます。労働時間とリソースの休暇は作業"
+"センタの時間計算で考慮されないことに留意して下さい。"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_production
+msgid "Manufacturing Order"
+msgstr "製造オーダー"
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_productionprocureproducts0
+msgid "Procurement of raw material"
+msgstr "原材料の調達"
+
+#. module: mrp
+#: view:mrp.production:0
+#: field:mrp.production,cycle_total:0
+msgid "Total Cycles"
+msgstr "合計サイクル"
+
+#. module: mrp
+#: selection:mrp.production,state:0
+msgid "Ready to Produce"
+msgstr "生産準備完了"
+
+#. module: mrp
+#: field:mrp.bom.revision,name:0
+msgid "Modification name"
+msgstr "変更の名前"
+
+#. module: mrp
+#: view:mrp.bom:0
+#: view:mrp.production:0
+msgid "Date"
+msgstr "日付"
+
+#. module: mrp
+#: field:mrp.bom,type:0
+msgid "BoM Type"
+msgstr "部品表タイプ"
+
+#. module: mrp
+#: code:addons/mrp/procurement.py:45
+#, python-format
+msgid ""
+"Procurement '%s' has an exception: 'No BoM defined for this product !'"
+msgstr "調達 %s は例外があります:この製品の部品表が定義されていません。"
+
+#. module: mrp
+#: view:mrp.property:0
+msgid "Search"
+msgstr "検索"
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:626
+#, python-format
+msgid "Could not cancel manufacturing order !"
+msgstr "製造オーダーはキャンセルできません。"
+
+#. module: mrp
+#: field:report.workcenter.load,cycle:0
+msgid "Nbr of cycle"
+msgstr "サイクル数"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_res_company
+msgid "Companies"
+msgstr "会社"
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:627
+#, python-format
+msgid ""
+"You must first cancel related internal picking attached to this "
+"manufacturing order."
+msgstr "最初に、この製造オーダーに付属している内部集荷の関連をキャンセルする必要があります。"
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_minimumstockrule0
+#: model:process.node,name:mrp.process_node_productminimumstockrule0
+msgid "Minimum Stock"
+msgstr "最小在庫"
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:503
+#, python-format
+msgid "Cannot delete a manufacturing order in state '%s'"
+msgstr "製造オーダーは %s 状態であるため削除できません。"
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menus_dash_mrp
+msgid "Dashboard"
+msgstr "ダッシュボード"
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:160
+#: code:addons/mrp/report/price.py:211
+#, python-format
+msgid "Total Cost of %s %s"
+msgstr "合計コスト %s %s"
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_stockproduct0
+#: model:process.node,name:mrp.process_node_stockproduct1
+#: model:process.process,name:mrp.process_process_stockableproductprocess0
+msgid "Stockable Product"
+msgstr "在庫可能製品"
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:130
+#, python-format
+msgid "Work Center name"
+msgstr "作業センタ名"
+
+#. module: mrp
+#: field:mrp.routing,code:0
+msgid "Code"
+msgstr "コード"
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "No. Of Hours"
+msgstr "時間数"
+
+#. module: mrp
+#: view:mrp.property:0
+#: view:mrp.property.group:0
+msgid "Property Group"
+msgstr "プロパティグループ"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Qty"
+msgstr "数量"
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_production0
+msgid "Manufacturing Plan."
+msgstr "製造計画"
+
+#. module: mrp
+#: view:mrp.routing:0
+#: view:mrp.workcenter:0
+msgid "Inactive"
+msgstr "非アクティブ"
+
+#. module: mrp
+#: view:change.production.qty:0
+#: view:mrp.product.produce:0
+#: view:mrp.product_price:0
+#: view:mrp.production:0
+#: view:mrp.workcenter.load:0
+msgid "Cancel"
+msgstr "キャンセル"
+
+#. module: mrp
+#: code:addons/mrp/wizard/change_production_qty.py:63
+#, python-format
+msgid "Active Id is not found"
+msgstr "アクティブIDが存在しません。"
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_servicerfq0
+msgid ""
+"If the service has a 'Buy' supply method, this creates a RFQ, a "
+"subcontracting demand for instance."
+msgstr "サービスが供給方法として購入の場合、これは、例えば下請けへの見積依頼を作成します。"
+
+#. module: mrp
+#: field:mrp.production,move_prod_id:0
+msgid "Move product"
+msgstr "移動製品"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Late"
+msgstr "遅延"
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_servicemts0
+msgid "Make to stock"
+msgstr "在庫作成"
+
+#. module: mrp
+#: report:bom.structure:0
+msgid "BOM Name"
+msgstr "部品表名"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Start Production"
+msgstr "生産の開始"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.open_board_manufacturing
+#: model:ir.ui.menu,name:mrp.menu_board_manufacturing
+msgid "Production Dashboard"
+msgstr "生産のダッシュボード"
+
+#. module: mrp
+#: model:res.groups,name:mrp.group_mrp_manager
+msgid "Manager"
+msgstr "マネジャ"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Source Loc."
+msgstr "元の場所"
+
+#. module: mrp
+#: field:mrp.bom,position:0
+msgid "Internal Reference"
+msgstr "内部参照"
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_billofmaterial0
+msgid "Product's structure"
+msgstr "製品の構成"
+
+#. module: mrp
+#: field:mrp.bom,name:0
+#: report:mrp.production.order:0
+#: field:mrp.production.product.line,name:0
+#: field:mrp.routing,name:0
+#: field:mrp.routing.workcenter,name:0
+msgid "Name"
+msgstr "名前"
+
+#. module: mrp
+#: field:mrp.product.produce,mode:0
+msgid "Mode"
+msgstr "モード"
+
+#. module: mrp
+#: report:bom.structure:0
+msgid "]"
+msgstr "]"
+
+#. module: mrp
+#: field:mrp.workcenter.load,measure_unit:0
+msgid "Amount measuring unit"
+msgstr "単位量"
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.mrp_production_action_planning
+msgid ""
+"Manufacturing Orders describe the operations that need to be carried out and "
+"the raw materials usage for each production stage. You use specifications "
+"(bills of materials or BoM) to work out the raw material requirements and "
+"the manufacturing orders needed for the finished products. Once the bills of "
+"materials have been defined, OpenERP is capable of automatically deciding on "
+"the manufacturing route depending on the needs of the company."
+msgstr ""
+"製造オーダーは実行される必要がある操作と各生産段階で原材料の用途について説明しています。仕様(部品表)は原材料の要求と完成製品のための製造オーダーの必要と"
+"される処理のために使われます。部品表が定義されると、OpenERPは会社のニーズに依存した製造経路を自動的に決める能力を持っています。"
+
+#. module: mrp
+#: model:ir.actions.todo.category,name:mrp.category_mrp_config
+msgid "MRP Management"
+msgstr "MRP管理"
+
+#. module: mrp
+#: help:mrp.workcenter,costs_hour:0
+msgid "Specify Cost of Work Center per hour."
+msgstr "時間当りの作業センタコストを指定して下さい。"
+
+#. module: mrp
+#: help:mrp.workcenter,capacity_per_cycle:0
+msgid ""
+"Number of operations this Work Center can do in parallel. If this Work "
+"Center represents a team of 5 workers, the capacity per cycle is 5."
+msgstr "この作業センタが並列に処理できる操作の数。この作業センタが5人の作業員のチームを表すなら、サイクル当りの容量は5となります。"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.mrp_production_action3
+msgid "Manufacturing Orders in Progress"
+msgstr "製造オーダーは進行中です。"
+
+#. module: mrp
+#: view:mrp.bom:0
+#: view:mrp.production:0
+#: view:mrp.property:0
+#: view:mrp.routing:0
+#: view:mrp.workcenter:0
+msgid "Group By..."
+msgstr "グループ化…"
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:130
+#, python-format
+msgid "Cycles Cost"
+msgstr "サイクルコスト"
+
+#. module: mrp
+#: selection:mrp.workcenter.load,measure_unit:0
+msgid "Amount in cycles"
+msgstr "サイクルの量"
+
+#. module: mrp
+#: field:mrp.production,location_dest_id:0
+msgid "Finished Products Location"
+msgstr "完成した製品の場所"
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menu_pm_resources_config
+msgid "Resources"
+msgstr "リソース"
+
+#. module: mrp
+#: help:mrp.routing.workcenter,hour_nbr:0
+msgid ""
+"Time in hours for this Work Center to achieve the operation of the specified "
+"routing."
+msgstr "特定経路の操作を達成するためのこの作業センタの時間(時)"
+
+#. module: mrp
+#: field:mrp.workcenter,costs_journal_id:0
+msgid "Analytic Journal"
+msgstr "分析仕訳帳"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.mrp_workcenter_action
+#: model:ir.ui.menu,name:mrp.menu_view_resource_search_mrp
+#: field:mrp.routing,workcenter_lines:0
+msgid "Work Centers"
+msgstr "作業センタ"
+
+#. module: mrp
+#: selection:mrp.workcenter.load,time_unit:0
+msgid "Per week"
+msgstr "週毎"
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.mrp_routing_action
+msgid ""
+"Routings allow you to create and manage the manufacturing operations that "
+"should be followed within your work centers in order to produce a product. "
+"They are attached to bills of materials that will define the required raw "
+"materials."
+msgstr ""
+"経路は製品の生産のための作業センタの中で行わなければならない製造操作の作成と管理を行います。それには要求された原材料を定義した部品表が添付されます。"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.product_form_config_action
+msgid "Create or Import Products"
+msgstr "製品を作成またはインポート"
+
+#. module: mrp
+#: field:report.workcenter.load,hour:0
+msgid "Nbr of hour"
+msgstr "時間数"
+
+#. module: mrp
+#: view:mrp.routing:0
+msgid "Work Center Operations"
+msgstr "作業センタ操作"
+
+#. module: mrp
+#: view:mrp.routing:0
+msgid "Notes"
+msgstr "注記"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Manufacturing Orders which are ready to start production."
+msgstr "生産開始準備ができた製造オーダーです。"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_bom
+#: view:mrp.bom:0
+#: field:mrp.production,bom_id:0
+#: model:process.node,name:mrp.process_node_billofmaterial0
+msgid "Bill of Material"
+msgstr "部品表"
+
+#. module: mrp
+#: view:mrp.workcenter.load:0
+msgid "Select time unit"
+msgstr "時間の単位の選択"
+
+#. module: mrp
+#: view:report.workcenter.load:0
+msgid "Work Center load"
+msgstr "作業センタの負荷"
+
+#. module: mrp
+#: help:mrp.production,location_dest_id:0
+msgid "Location where the system will stock the finished products."
+msgstr "システムが完成した製品を在庫する場所です。"
+
+#. module: mrp
+#: help:mrp.routing.workcenter,routing_id:0
+msgid ""
+"Routing indicates all the Work Centers used, for how long and/or cycles.If "
+"Routing is indicated then,the third tab of a production order (Work Centers) "
+"will be automatically pre-completed."
+msgstr ""
+"経路は全ての作業センタが長さとサイクルがどのくらい使われるかを示します。経路が示される場合、生産オーダー(作業センタ)の第3のタブは自動的に事前完了します"
+"。"
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_producttostockrules0
+msgid ""
+"The Minimum Stock Rule is an automatic procurement rule based on a mini and "
+"maxi quantity. It's available in the Inventory management menu and "
+"configured by product."
+msgstr "最小在庫ルールは最小と最大の量に基づき自動調達するルールです。これは在庫管理メニューで利用可能で製品ごとに設定できます。"
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:187
+#, python-format
+msgid "Components Cost of %s %s"
+msgstr "%s %s の構成部品コスト"
+
+#. module: mrp
+#: selection:mrp.workcenter.load,time_unit:0
+msgid "Day by day"
+msgstr "日々"
+
+#. module: mrp
+#: view:mrp.bom:0
+msgid "Revisions"
+msgstr "改訂"
+
+#. module: mrp
+#: model:product.template,name:mrp.product_shirt_product_template
+msgid "Shirt"
+msgstr "シャツ"
+
+#. module: mrp
+#: field:mrp.production,priority:0
+msgid "Priority"
+msgstr "優先度"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_stock_picking
+msgid "Picking List"
+msgstr "集荷リスト"
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:1000
+#, python-format
+msgid "Manufacturing order '%s' is scheduled for the %s."
+msgstr "製造オーダー %s は %s に予定されています。"
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "Production Order N° :"
+msgstr "s生産オーダー番号:"
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:647
+#, python-format
+msgid "Manufacturing order '%s' is ready to produce."
+msgstr "製造オーダー %s は生産する準備ができています。"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_production_product_line
+msgid "Production Scheduled Product"
+msgstr "生産予定済製品"
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:204
+#, python-format
+msgid "Work Cost of %s %s"
+msgstr "作業コスト %s %s"
+
+#. module: mrp
+#: help:res.company,manufacturing_lead:0
+msgid "Security days for each manufacturing operation."
+msgstr "各製造操作の安全保障の日"
+
+#. module: mrp
+#: model:product.template,name:mrp.product_water_product_template
+msgid "Water"
+msgstr "水"
+
+#. module: mrp
+#: view:mrp.bom:0
+msgid "Component Name"
+msgstr "構成部品名"
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_mts0
+#: model:process.transition,name:mrp.process_transition_servicemts0
+#: model:process.transition,name:mrp.process_transition_stockmts0
+msgid "Make to Stock"
+msgstr "在庫の作成"
+
+#. module: mrp
+#: constraint:mrp.production:0
+msgid "Order quantity cannot be negative or zero!"
+msgstr "オーダー数量は負または0にはできません。"
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.mrp_bom_form_action
+msgid ""
+"Master Bills of Materials allow you to create and manage the list of "
+"necessary raw materials used to make a finished product. OpenERP will use "
+"these BoMs to automatically propose manufacturing orders according to "
+"product needs. You can either create a bill of materials to define specific "
+"production steps or define a single multi-level bill of materials."
+msgstr ""
+"マスター部品表は完成品を作るために使用される必要な原材料のリストを作成し管理します。OpenERPは製品のニーズに応じて製造オーダーを自動的に提案するため"
+"にそれらの部品表を使用します。特定の生産手順の定義や、単一の多層部品表の定義のために部品表を作成できます。"
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_stockrfq0
+msgid ""
+"In case the Supply method of the product is Buy, the system creates a "
+"purchase order."
+msgstr "製品の供給方法が購入の場合、システムは仕入オーダーを作成します。"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_procurement_order
+msgid "Procurement"
+msgstr "調達"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.action_view_mrp_product_price_wizard
+#: view:mrp.product_price:0
+msgid "Product Cost Structure"
+msgstr "製品のコスト構造"
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:139
+#, python-format
+msgid "Components suppliers"
+msgstr "構成部品仕入先"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Production Work Centers"
+msgstr "生産作業センタ"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Split in production lots"
+msgstr "生産ロットに分割"
+
+#. module: mrp
+#: view:mrp.workcenter:0
+msgid "Search for mrp workcenter"
+msgstr "MRP作業センタの検索"
+
+#. module: mrp
+#: view:mrp.bom:0
+msgid "BoM Structure"
+msgstr "部品表の構造"
+
+#. module: mrp
+#: field:mrp.production,date_start:0
+msgid "Start Date"
+msgstr "開始日"
+
+#. module: mrp
+#: field:mrp.workcenter,costs_hour_account_id:0
+msgid "Hour Account"
+msgstr "時間アカウント"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Destination Loc."
+msgstr "目的地"
+
+#. module: mrp
+#: field:mrp.bom,method:0
+msgid "Method"
+msgstr "方法"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Pending"
+msgstr "保留中"
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:603
+#, python-format
+msgid "Couldn't find a bill of material for this product."
+msgstr "この製品のための部品表がありません。"
+
+#. module: mrp
+#: field:mrp.bom,active:0
+#: field:mrp.routing,active:0
+msgid "Active"
+msgstr "アクティブ"
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_procureproducts0
+msgid "Procure Products"
+msgstr "調達製品"
+
+#. module: mrp
+#: view:report.workcenter.load:0
+msgid "Work Center Loads"
+msgstr "作業センタの負荷"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_bom_revision
+msgid "Bill of Material Revision"
+msgstr "部品表の改訂"
+
+#. module: mrp
+#: help:mrp.production,origin:0
+msgid ""
+"Reference of the document that generated this production order request."
+msgstr "この生産オーダー要求を生成したドキュメントへの参照"
+
+#. module: mrp
+#: sql_constraint:mrp.bom:0
+msgid ""
+"All product quantities must be greater than 0.\n"
+"You should install the mrp_subproduct module if you want to manage extra "
+"products on BoMs !"
+msgstr ""
+"全製品の数量は0より大きい必要があります。\n"
+"部品表上で追加の製品を管理したい場合は、mrp_subproductモジュールをインストールする必要があります。"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Extra Information"
+msgstr "追加情報"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_change_production_qty
+msgid "Change Quantity of Products"
+msgstr "製品の数量変更"
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_productionorder0
+msgid "Drives the procurement orders for raw material."
+msgstr "原材料の調達オーダーを起こす"
+
+#. module: mrp
+#: field:mrp.workcenter,costs_general_account_id:0
+msgid "General Account"
+msgstr "一般アカウント"
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "SO Number"
+msgstr "受注番号"
+
+#. module: mrp
+#: selection:mrp.production,state:0
+msgid "Done"
+msgstr "完了"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.mrp_production_action4
+msgid "Manufacturing Orders Waiting Products"
+msgstr "製造オーダー待ち製品"
+
+#. module: mrp
+#: selection:mrp.production,priority:0
+msgid "Not urgent"
+msgstr "緊急外"
+
+#. module: mrp
+#: field:mrp.production,user_id:0
+msgid "Responsible"
+msgstr "担当"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.mrp_production_action2
+msgid "Manufacturing Orders To Start"
+msgstr "製造オーダー開始"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_workcenter
+#: field:mrp.production.workcenter.line,workcenter_id:0
+#: field:mrp.routing.workcenter,workcenter_id:0
+#: view:mrp.workcenter:0
+#: field:report.workcenter.load,workcenter_id:0
+msgid "Work Center"
+msgstr "作業センタ"
+
+#. module: mrp
+#: field:mrp.workcenter,capacity_per_cycle:0
+msgid "Capacity per Cycle"
+msgstr "サイクル当りの容量"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_product_product
+#: view:mrp.bom:0
+#: field:mrp.bom,product_id:0
+#: view:mrp.production:0
+#: field:mrp.production,product_id:0
+#: report:mrp.production.order:0
+#: field:mrp.production.product.line,product_id:0
+msgid "Product"
+msgstr "製品"
+
+#. module: mrp
+#: view:mrp.production:0
+#: field:mrp.production,hour_total:0
+msgid "Total Hours"
+msgstr "合計時間"
+
+#. module: mrp
+#: field:mrp.production,location_src_id:0
+msgid "Raw Materials Location"
+msgstr "原材料の場所"
+
+#. module: mrp
+#: view:mrp.product_price:0
+msgid "Print Cost Structure of Product."
+msgstr "製品のコスト構造の印刷"
+
+#. module: mrp
+#: field:mrp.bom,product_uos:0
+#: field:mrp.production.product.line,product_uos:0
+msgid "Product UOS"
+msgstr "製品販売単位"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Consume Products"
+msgstr "消費製品"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.act_mrp_product_produce
+#: view:mrp.product.produce:0
+#: view:mrp.production:0
+msgid "Produce"
+msgstr "生産"
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_stock0
+#: model:process.transition,name:mrp.process_transition_servicemto0
+#: model:process.transition,name:mrp.process_transition_stockproduct0
+msgid "Make to Order"
+msgstr "オーダーの作成"
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:358
+#, python-format
+msgid "Copy"
+msgstr "コピー"
+
+#. module: mrp
+#: help:mrp.workcenter,note:0
+msgid ""
+"Description of the Work Center. Explain here what's a cycle according to "
+"this Work Center."
+msgstr "作業センタの説明。この作業センタは何がサイクルであるかをここで説明して下さい。"
+
+#. module: mrp
+#: view:mrp.production.lot.line:0
+msgid "Production Products"
+msgstr "生産製品"
+
+#. module: mrp
+#: field:mrp.production,date_finished:0
+msgid "End Date"
+msgstr "終了日"
+
+#. module: mrp
+#: field:mrp.workcenter,resource_id:0
+msgid "Resource"
+msgstr "リソース"
+
+#. module: mrp
+#: help:mrp.bom,date_start:0
+#: help:mrp.bom,date_stop:0
+msgid "Validity of this BoM or component. Keep empty if it's always valid."
+msgstr "部品表や構成部品の妥当性。常に有効な場合は空のままとして下さい。"
+
+#. module: mrp
+#: field:mrp.production,product_uos:0
+msgid "Product UoS"
+msgstr "製品販売単位"
+
+#. module: mrp
+#: selection:mrp.production,priority:0
+msgid "Very Urgent"
+msgstr "非常に緊急"
+
+#. module: mrp
+#: help:mrp.bom,routing_id:0
+msgid ""
+"The list of operations (list of work centers) to produce the finished "
+"product. The routing is mainly used to compute work center costs during "
+"operations and to plan future loads on work centers based on production "
+"planning."
+msgstr ""
+"完成した製品を生産するための操作のリスト(作業センタのリスト)。経路は操作の間の作業センタのコストを計算し、生産計画化を基本とする作業センタの将来の負荷を"
+"計画するために主に利用されます。"
+
+#. module: mrp
+#: view:change.production.qty:0
+msgid "Approve"
+msgstr "承認"
+
+#. module: mrp
+#: view:mrp.property.group:0
+msgid "Properties categories"
+msgstr "プロパティの分類"
+
+#. module: mrp
+#: help:mrp.production.workcenter.line,sequence:0
+msgid "Gives the sequence order when displaying a list of work orders."
+msgstr "作業オーダーリストの表示の際には並びの順序を与えて下さい。"
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "Source Location"
+msgstr "元の場所"
+
+#. module: mrp
+#: view:mrp.production:0
+#: view:mrp.production.product.line:0
+msgid "Scheduled Products"
+msgstr "予定済製品"
+
+#. module: mrp
+#: view:mrp.production.lot.line:0
+msgid "Production Products Consommation"
+msgstr "生産製品の消費"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.act_product_manufacturing_open
+#: model:ir.actions.act_window,name:mrp.mrp_production_action
+#: model:ir.actions.act_window,name:mrp.mrp_production_action_planning
+#: model:ir.ui.menu,name:mrp.menu_mrp_production_action
+#: model:ir.ui.menu,name:mrp.menu_mrp_production_order_action
+#: view:mrp.production:0
+msgid "Manufacturing Orders"
+msgstr "製造オーダー"
+
+#. module: mrp
+#: help:mrp.product.produce,mode:0
+msgid ""
+"'Consume only' mode will only consume the products with the quantity "
+"selected.\n"
+"'Consume & Produce' mode will consume as well as produce the products with "
+"the quantity selected and it will finish the production order when total "
+"ordered quantities are produced."
+msgstr ""
+"消費のみモードでは、製品は選択した量だけを消費します。\n"
+"消費と生産モードでは、製品を選択した数量生産すると同様に消費もされます。そして合計注文量が生産された時に生産オーダーが終わります。"
+
+#. module: mrp
+#: view:mrp.production:0
+#: report:mrp.production.order:0
+msgid "Work Orders"
+msgstr "作業オーダー"
+
+#. module: mrp
+#: field:mrp.workcenter,costs_cycle:0
+msgid "Cost per cycle"
+msgstr "サイクル当りのコスト"
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_serviceproduct0
+#: model:process.node,name:mrp.process_node_serviceproduct1
+msgid "Service"
+msgstr "サービス"
+
+#. module: mrp
+#: selection:mrp.production,state:0
+msgid "Cancelled"
+msgstr "キャンセル済"
+
+#. module: mrp
+#: help:mrp.bom,product_uom:0
+msgid ""
+"UoM (Unit of Measure) is the unit of measurement for the inventory control"
+msgstr "UOMは在庫管理のための単位です。"
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:734
+#, python-format
+msgid ""
+"You are going to consume total %s quantities of \"%s\".\n"
+"But you can only consume up to total %s quantities."
+msgstr ""
+"合計 %s のうち %s を消費しようとしています。\n"
+"しかし、あなたは合計 %s の量までのみ使用することができます。"
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_bom0
+msgid ""
+"The Bill of Material is the product's decomposition. The components (that "
+"are products themselves) can also have their own Bill of Material (multi-"
+"level)."
+msgstr "部品表は製品を分解したものである。構成部品(それ自身が製品)は自分自身の部品表(多層)を持ちます。"
+
+#. module: mrp
+#: field:mrp.bom,company_id:0
+#: field:mrp.production,company_id:0
+#: field:mrp.routing,company_id:0
+#: field:mrp.routing.workcenter,company_id:0
+#: view:mrp.workcenter:0
+msgid "Company"
+msgstr "会社"
+
+#. module: mrp
+#: selection:mrp.workcenter.load,measure_unit:0
+msgid "Amount in hours"
+msgstr "時間の量"
+
+#. module: mrp
+#: field:mrp.workcenter,time_cycle:0
+msgid "Time for 1 cycle (hour)"
+msgstr "サイクル当りの時間(時)"
+
+#. module: mrp
+#: model:ir.actions.report.xml,name:mrp.report_mrp_production_report
+#: field:mrp.production.product.line,production_id:0
+#: field:mrp.production.workcenter.line,production_id:0
+#: model:process.node,name:mrp.process_node_production0
+#: model:process.node,name:mrp.process_node_productionorder0
+msgid "Production Order"
+msgstr "生産オーダー"
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_productminimumstockrule0
+msgid "Automatic procurement rule"
+msgstr "自動調達ルール"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Compute Data"
+msgstr "データ計算"
+
+#. module: mrp
+#: field:mrp.production,product_uos_qty:0
+msgid "Product UoS Qty"
+msgstr "製品販売単位数量"
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:139
+#: view:mrp.bom:0
+#, python-format
+msgid "Components"
+msgstr "構成部品"
+
+#. module: mrp
+#: report:bom.structure:0
+#: model:ir.actions.report.xml,name:mrp.report_bom_structure
+msgid "BOM Structure"
+msgstr "部品表構造"
+
+#. module: mrp
+#: field:mrp.bom,date_stop:0
+msgid "Valid Until"
+msgstr "失効日"
+
+#. module: mrp
+#: field:mrp.bom,date_start:0
+msgid "Valid From"
+msgstr "発効日"
+
+#. module: mrp
+#: selection:mrp.bom,type:0
+msgid "Normal BoM"
+msgstr "通常部品表"
+
+#. module: mrp
+#: field:res.company,manufacturing_lead:0
+msgid "Manufacturing Lead Time"
+msgstr "製造リードタイム"
+
+#. module: mrp
+#: field:mrp.bom,product_uos_qty:0
+#: field:mrp.production.product.line,product_uos_qty:0
+msgid "Product UOS Qty"
+msgstr "製品販売単位数量"
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.action_report_in_out_picking_tree
+msgid ""
+"Weekly Stock Value Variation enables you to track the stock value evolution "
+"linked to manufacturing activities, receptions of products and delivery "
+"orders."
+msgstr "週次在庫価値変動は生産活動、製品の受付と配達オーダーと関連付けられている在庫価値の変化を追跡できます。"
+
+#. module: mrp
+#: view:mrp.product.produce:0
+msgid "Confirm"
+msgstr "確認"
+
+#. module: mrp
+#: field:mrp.bom,product_efficiency:0
+msgid "Manufacturing Efficiency"
+msgstr "製造の効率化"
+
+#. module: mrp
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr "エラー。再帰的な関係となる会社を作ることはできません。"
+
+#. module: mrp
+#: help:mrp.bom,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the bills of "
+"material without removing it."
+msgstr "アクティブな項目をFalseに設定すると、部品表は削除することなく非表示にできます。"
+
+#. module: mrp
+#: field:mrp.bom,product_rounding:0
+msgid "Product Rounding"
+msgstr "製品の丸め"
+
+#. module: mrp
+#: selection:mrp.production,state:0
+msgid "New"
+msgstr "新規"
+
+#. module: mrp
+#: selection:mrp.product.produce,mode:0
+msgid "Consume Only"
+msgstr "消費のみ"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Recreate Picking"
+msgstr "集荷の再作成"
+
+#. module: mrp
+#: help:mrp.bom,type:0
+msgid ""
+"If a sub-product is used in several products, it can be useful to create its "
+"own BoM. Though if you don't want separated production orders for this sub-"
+"product, select Set/Phantom as BoM type. If a Phantom BoM is used for a root "
+"product, it will be sold and shipped as a set of components, instead of "
+"being produced."
+msgstr ""
+"サブ製品が複数の製品の中で使われている場合、それ自身の部品表を作成すると便利です。このサブ製品のために分離された生産オーダーを望まない場合、部品表タイプに"
+"設定 / 模型を選択して下さい。模型部品表が根幹の製品に使われる場合、生産される代わりに構成部品のセットとして販売され、出荷されます。"
+
+#. module: mrp
+#: help:mrp.production,state:0
+msgid ""
+"When the production order is created the state is set to 'Draft'.\n"
+" If the order is confirmed the state is set to 'Waiting Goods'.\n"
+" If any exceptions are there, the state is set to 'Picking Exception'. "
+" \n"
+"If the stock is available then the state is set to 'Ready to Produce'.\n"
+" When the production gets started then the state is set to 'In Production'.\n"
+" When the production is over, the state is set to 'Done'."
+msgstr ""
+"生産オーダーが作成された時、状態はドラフトに設定されます。\n"
+" オーダーが確認されると、状態は商品待ちに設定されます。\n"
+" 何か例外がある場合は、状態は集荷例外に設定されます。\n"
+"在庫が使用可能になった時に、状態は生産準備完了に設定されます。\n"
+" 生産が開始されると、状態は生産中に設定されます。\n"
+" 生産が終了すると、状態は完了に設定されます。"
+
+#. module: mrp
+#: selection:mrp.bom,method:0
+msgid "On Order"
+msgstr "注文中"
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menu_mrp_configuration
+#: view:res.company:0
+msgid "Configuration"
+msgstr "設定"
+
+#. module: mrp
+#: view:mrp.bom:0
+msgid "Starting Date"
+msgstr "開始日"
+
+#. module: mrp
+#: field:mrp.workcenter,time_stop:0
+msgid "Time after prod."
+msgstr "生産後の時間"
+
+#. module: mrp
+#: field:mrp.workcenter.load,time_unit:0
+msgid "Type of period"
+msgstr "期間のタイプ"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Total Qty"
+msgstr "合計数量"
+
+#. module: mrp
+#: field:mrp.routing.workcenter,hour_nbr:0
+msgid "Number of Hours"
+msgstr "時間数"
+
+#. module: mrp
+#: view:mrp.workcenter:0
+msgid "Costing Information"
+msgstr "コスト情報"
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_purchaseprocure0
+msgid "Procurement Orders"
+msgstr "調達オーダー"
+
+#. module: mrp
+#: help:mrp.bom,product_rounding:0
+msgid "Rounding applied on the product quantity."
+msgstr "丸めは製品数量に適用されます。"
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_stock0
+msgid "Assignment from Production or Purchase Order."
+msgstr "生産または仕入オーダーから割り当てて下さい。"
+
+#. module: mrp
+#: field:mrp.routing.workcenter,routing_id:0
+msgid "Parent Routing"
+msgstr "親経路"
+
+#. module: mrp
+#: help:mrp.workcenter,time_start:0
+msgid "Time in hours for the setup."
+msgstr "設定のための時間(時)"
+
+#. module: mrp
+#: model:product.template,name:mrp.product_orangejuice_product_template
+msgid "Orange Juice"
+msgstr "オレンジジュース"
+
+#. module: mrp
+#: field:mrp.bom.revision,bom_id:0
+#: field:procurement.order,bom_id:0
+msgid "BoM"
+msgstr "部品表"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_report_mrp_inout
+#: view:report.mrp.inout:0
+msgid "Stock value variation"
+msgstr "在庫価値変動"
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_mts0
+#: model:process.node,note:mrp.process_node_servicemts0
+msgid "Assignment from stock."
+msgstr "在庫から割り当てて下さい。"
+
+#. module: mrp
+#: selection:mrp.production,state:0
+msgid "Waiting Goods"
+msgstr "待機商品"
+
+#. module: mrp
+#: field:mrp.bom.revision,last_indice:0
+msgid "last indice"
+msgstr "最終インデックス"
+
+#. module: mrp
+#: field:mrp.bom,revision_ids:0
+#: view:mrp.bom.revision:0
+msgid "BoM Revisions"
+msgstr "部品表改訂"
+
+#. module: mrp
+#: field:report.mrp.inout,date:0
+#: field:report.workcenter.load,name:0
+msgid "Week"
+msgstr "週"
+
+#. module: mrp
+#: selection:mrp.production,priority:0
+msgid "Normal"
+msgstr "通常"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Production started late"
+msgstr "生産が遅れて開始"
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_routing0
+msgid "Manufacturing Steps."
+msgstr "製造工程"
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:146
+#: model:ir.actions.report.xml,name:mrp.report_cost_structure
+#, python-format
+msgid "Cost Structure"
+msgstr "コスト構造"
+
+#. module: mrp
+#: model:res.groups,name:mrp.group_mrp_user
+msgid "User"
+msgstr "ユーザ"
+
+#. module: mrp
+#: selection:mrp.product.produce,mode:0
+msgid "Consume & Produce"
+msgstr "消費と生産"
+
+#. module: mrp
+#: field:mrp.bom,bom_id:0
+msgid "Parent BoM"
+msgstr "親部品表"
+
+#. module: mrp
+#: report:bom.structure:0
+msgid "BOM Ref"
+msgstr "部品表参照"
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.mrp_bom_form_action2
+msgid ""
+"Bills of materials components are components and sub-products used to create "
+"master bills of materials. Use this menu to search in which BoM a specific "
+"component is used."
+msgstr ""
+"構成部品の部品表はマスター部品表を作成するために使われる構成部品とサブ製品です。特定の構成部品が使われている部品表を検索するにはこのメニューを使って下さい"
+"。"
+
+#. module: mrp
+#: model:product.uom,name:mrp.product_uom_litre
+msgid "Litre"
+msgstr "リットル"
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:762
+#, python-format
+msgid ""
+"You are going to produce total %s quantities of \"%s\".\n"
+"But you can only produce up to total %s quantities."
+msgstr ""
+"合計 %s の %s を生産しようとしています。\n"
+"しかし、あなたは合計 %s の量までのみ生産することができます。"
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_stockproduct0
+msgid "Product type is Stockable or Consumable."
+msgstr "製品タイプは在庫可能または消費可能です。"
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:603
+#: code:addons/mrp/wizard/change_production_qty.py:78
+#: code:addons/mrp/wizard/change_production_qty.py:83
+#, python-format
+msgid "Error"
+msgstr "エラー"
+
+#. module: mrp
+#: selection:mrp.production,state:0
+msgid "Production Started"
+msgstr "生産開始済"
+
+#. module: mrp
+#: field:mrp.product.produce,product_qty:0
+msgid "Select Quantity"
+msgstr "数量選択"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.act_product_product_2_mrp_bom
+#: model:ir.actions.act_window,name:mrp.mrp_bom_form_action
+#: model:ir.ui.menu,name:mrp.menu_mrp_bom_form_action
+#: field:product.product,bom_ids:0
+msgid "Bill of Materials"
+msgstr "部品表"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.mrp_property_action
+#: model:ir.ui.menu,name:mrp.menu_mrp_property_action
+#: view:mrp.bom:0
+#: field:mrp.bom,property_ids:0
+#: view:mrp.property:0
+#: view:procurement.order:0
+#: field:procurement.order,property_ids:0
+msgid "Properties"
+msgstr "プロパティ"
+
+#. module: mrp
+#: view:mrp.routing.workcenter:0
+#: view:mrp.workcenter:0
+msgid "General Information"
+msgstr "一般情報"
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Productions"
+msgstr "生産"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_routing
+#: view:mrp.bom:0
+#: field:mrp.bom,routing_id:0
+#: view:mrp.production:0
+#: field:mrp.production,routing_id:0
+#: view:mrp.routing:0
+#: model:process.node,name:mrp.process_node_routing0
+msgid "Routing"
+msgstr "経路"
+
+#. module: mrp
+#: field:mrp.production,date_planned:0
+msgid "Scheduled date"
+msgstr "予定日"
+
+#. module: mrp
+#: constraint:stock.move:0
+msgid "You must assign a production lot for this product"
+msgstr "この製品に生産ロットを割り当てて下さい。"
+
+#. module: mrp
+#: field:stock.move,production_id:0
+msgid "Production"
+msgstr "生産"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_production_workcenter_line
+#: field:mrp.production.workcenter.line,name:0
+msgid "Work Order"
+msgstr "作業オーダー"
+
+#. module: mrp
+#: view:board.board:0
+msgid "Procurements in Exception"
+msgstr "例外の調達"
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_minimumstockprocure0
+msgid "'Minimum stock rule' material"
+msgstr "材料の最上在庫ルール"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_product_price
+msgid "Product Price"
+msgstr "製品価格"
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_stock_move_split
+msgid "Split in Production lots"
+msgstr "生産ロットに分割"
+
+#. module: mrp
+#: view:change.production.qty:0
+msgid "Change Quantity"
+msgstr "数量変更"
+
+#. module: mrp
+#: view:change.production.qty:0
+#: model:ir.actions.act_window,name:mrp.action_change_production_qty
+msgid "Change Product Qty"
+msgstr "製品数量変更"
+
+#. module: mrp
+#: view:mrp.bom.revision:0
+#: field:mrp.bom.revision,description:0
+#: view:mrp.property:0
+#: view:mrp.property.group:0
+#: field:mrp.routing,note:0
+#: view:mrp.routing.workcenter:0
+#: field:mrp.routing.workcenter,note:0
+#: view:mrp.workcenter:0
+#: field:mrp.workcenter,note:0
+msgid "Description"
+msgstr "説明"
+
+#. module: mrp
+#: view:board.board:0
+msgid "Manufacturing board"
+msgstr "製造ボード"
+
+#. module: mrp
+#: field:mrp.production,date_planned_end:0
+msgid "Scheduled End Date"
+msgstr "終了予定日"
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_procureproducts0
+msgid "The way to procurement depends on the product type."
+msgstr "調達方法は製品タイプに依存します。"
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menu_mrp_manufacturing
+msgid "Manufacturing"
+msgstr "製造"
+
+#. module: mrp
+#: view:board.board:0
+msgid "Next Production Orders"
+msgstr "次の生産オーダー"
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.mrp_property_group_action
+#: model:ir.ui.menu,name:mrp.menu_mrp_property_group_action
+msgid "Property Groups"
+msgstr "プロパティグループ"
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_procurestockableproduct0
+msgid ""
+"Depending on the chosen method to supply the stockable products, the "
+"procurement order creates a RFQ, a production order, ... "
+msgstr "在庫可能製品の供給をするために選択された方法にしたがって、調達オーダーは見積依頼や生産オーダーなどを作成します。 "
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:874
+#: code:addons/mrp/mrp.py:929
+#: code:addons/mrp/mrp.py:954
+#, python-format
+msgid "PROD: %s"
+msgstr "生産:%s"
+
+#. module: mrp
+#: help:mrp.workcenter,time_stop:0
+msgid "Time in hours for the cleaning."
+msgstr "清掃のための時間(時)"
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_purchaseprocure0
+msgid "Automatic RFQ"
+msgstr "自動見積依頼"
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_servicemto0
+msgid ""
+"If the service has a 'Produce' supply method, this creates a task in the "
+"project management module of OpenERP."
+msgstr "サービスが提供方法として生産であるなら、これはOpenERPのプロジェクト管理モジュールの中にタスクを生成します。"
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_productionprocureproducts0
+msgid ""
+"In order to supply raw material (to be purchased or produced), the "
+"production order creates as much procurement orders as components listed in "
+"the BOM, through a run of the schedulers (MRP)."
+msgstr ""
+"原料を供給するために(仕入または生産される)、生産オーダーはMRPスケジューラを実行することを通して、部品表にリストされている構成部品と同様の調達オーダー"
+"を作成します。"
+
+#. module: mrp
+#: help:mrp.product_price,number:0
+msgid ""
+"Specify quantity of products to produce or buy. Report of Cost structure "
+"will be displayed base on this quantity."
+msgstr "生産あるいは購入する製品の数量を指定して下さい。コスト構造のレポートはこの数量を元にして表示されます。"
+
+#. module: mrp
+#: selection:mrp.bom,method:0
+msgid "On Stock"
+msgstr "在庫"
+
+#. module: mrp
+#: field:mrp.bom,sequence:0
+#: report:mrp.production.order:0
+#: field:mrp.production.workcenter.line,sequence:0
+#: field:mrp.routing.workcenter,sequence:0
+msgid "Sequence"
+msgstr "順序"
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menu_view_resource_calendar_leaves_search_mrp
+msgid "Resource Leaves"
+msgstr "リソースの休暇"
+
+#. module: mrp
+#: help:mrp.bom,sequence:0
+msgid "Gives the sequence order when displaying a list of bills of material."
+msgstr "部品表のリストを表示する際には並び順を与えて下さい。"
+
+#. module: mrp
+#: view:mrp.production:0
+#: field:mrp.production,move_lines:0
+#: report:mrp.production.order:0
+msgid "Products to Consume"
+msgstr "消費製品"
diff --git a/addons/mrp/i18n/lv.po b/addons/mrp/i18n/lv.po
new file mode 100644
index 00000000000..a259910f655
--- /dev/null
+++ b/addons/mrp/i18n/lv.po
@@ -0,0 +1,2231 @@
+# Latvian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:49+0000\n"
+"PO-Revision-Date: 2012-05-28 13:58+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Latvian <lv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-29 04:45+0000\n"
+"X-Generator: Launchpad (build 15316)\n"
+
+#. module: mrp
+#: view:mrp.routing.workcenter:0
+msgid "Routing Work Centers"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.mrp_production_action
+msgid ""
+"Manufacturing Orders are usually proposed automatically by OpenERP based on "
+"the bill of materials and the procurement rules, but you can also create "
+"manufacturing orders manually. OpenERP will handle the consumption of the "
+"raw materials (stock decrease) and the production of the finished products "
+"(stock increase) when the order is processed."
+msgstr ""
+
+#. module: mrp
+#: help:mrp.production,location_src_id:0
+msgid "Location where the system will look for components."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,workcenter_lines:0
+msgid "Work Centers Utilisation"
+msgstr ""
+
+#. module: mrp
+#: model:product.template,name:mrp.product_sugar_product_template
+msgid "Sugar"
+msgstr ""
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "No. Of Cycles"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.routing.workcenter,cycle_nbr:0
+msgid "Number of Cycles"
+msgstr ""
+
+#. module: mrp
+#: model:product.uom.categ,name:mrp.product_uom_categ_fluid
+msgid "Fluid"
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_minimumstockprocure0
+msgid ""
+"The 'Minimum stock rule' allows the system to create procurement orders "
+"automatically as soon as the minimum stock is reached."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,picking_id:0
+msgid "Picking list"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:130
+#, python-format
+msgid "Hourly Cost"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:139
+#, python-format
+msgid "Cost Price per Uom"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Scrap Products"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.mrp_routing_action
+#: model:ir.ui.menu,name:mrp.menu_mrp_routing_action
+msgid "Routings"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.workcenter,product_id:0
+msgid "Work Center Product"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.bom:0
+msgid "Search Bill Of Material"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_stockproduct1
+msgid "For stockable products and consumables"
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_stockproduction0
+msgid "To Produce"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.routing.workcenter,cycle_nbr:0
+msgid ""
+"Number of iterations this work center has to do in the specified operation "
+"of the routing."
+msgstr ""
+
+#. module: mrp
+#: view:mrp.bom:0
+#: field:mrp.bom,code:0
+#: view:mrp.production:0
+#: field:mrp.production,name:0
+msgid "Reference"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Finished Products"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Manufacturing Orders which are currently in production."
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_servicerfq0
+#: model:process.transition,name:mrp.process_transition_stockrfq0
+msgid "To Buy"
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_purchaseprocure0
+msgid "The system launches automatically a RFQ to the preferred supplier."
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Products to Finish"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.bom,method:0
+msgid "Set / Pack"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+#: field:mrp.production,state:0
+msgid "State"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.workcenter,costs_hour:0
+msgid "Cost per hour"
+msgstr ""
+
+#. module: mrp
+#: model:product.template,name:mrp.product_orange_product_template
+msgid "Orange"
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_servicemts0
+msgid ""
+"This is used in case of a service without any impact in the system, a "
+"training session for instance."
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "UOM"
+msgstr ""
+
+#. module: mrp
+#: field:change.production.qty,product_qty:0
+#: field:mrp.bom,product_qty:0
+#: field:mrp.production,product_qty:0
+#: field:mrp.production.product.line,product_qty:0
+msgid "Product Qty"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.workcenter,product_id:0
+msgid ""
+"Fill this product to track easily your production costs in the analytic "
+"accounting."
+msgstr ""
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_purchaseprocure0
+msgid "For purchased material"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom.revision,indice:0
+msgid "Revision"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.product_form_config_action
+msgid ""
+"Create a product form for everything you buy or sell. Specify a supplier if "
+"the product can be purchased."
+msgstr ""
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.next_id_77
+msgid "Reporting"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.workcenter,costs_cycle_account_id:0
+msgid "Cycle Account"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:130
+#, python-format
+msgid "Work Cost"
+msgstr ""
+
+#. module: mrp
+#: report:bom.structure:0
+msgid "["
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_procureserviceproduct0
+msgid "Procurement of services"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.workcenter:0
+msgid "Capacity Information"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,move_created_ids2:0
+msgid "Produced Products"
+msgstr ""
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "Destination Location"
+msgstr ""
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menu_mrp_bom
+msgid "Master Data"
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_stockmts0
+msgid ""
+"The system waits for the products to be available in the stock. These "
+"products are typically procured manually or through a minimum stock rule."
+msgstr ""
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "Partner Ref"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,origin:0
+#: report:mrp.production.order:0
+msgid "Source Document"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,product_lines:0
+msgid "Scheduled goods"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.bom,type:0
+msgid "Sets / Phantom"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.bom,position:0
+msgid "Reference to a position in an external plan."
+msgstr ""
+
+#. module: mrp
+#: constraint:stock.move:0
+msgid "You try to assign a lot which is not from the same product"
+msgstr ""
+
+#. module: mrp
+#: model:product.template,name:mrp.product_cloth_product_template
+msgid "Cloth"
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_product_produce
+msgid "Product Produce"
+msgstr ""
+
+#. module: mrp
+#: constraint:mrp.bom:0
+msgid "Error ! You cannot create recursive BoM."
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_routing_workcenter
+msgid "Work Center Usage"
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_procurestockableproduct0
+msgid "Procurement of stockable Product"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.bom:0
+msgid "Default UOM"
+msgstr ""
+
+#. module: mrp
+#: sql_constraint:mrp.production:0
+#: sql_constraint:stock.picking:0
+msgid "Reference must be unique per Company!"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:139
+#: report:bom.structure:0
+#: field:mrp.product_price,number:0
+#: report:mrp.production.order:0
+#, python-format
+msgid "Quantity"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production.workcenter.line,hour:0
+msgid "Nbr of hours"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Confirm Production"
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_stockproduct0
+msgid ""
+"The system creates an order (production or purchased) depending on the sold "
+"quantity and the products parameters."
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_stockproduction0
+msgid ""
+"In case the Supply method of the product is Produce, the system creates a "
+"production order."
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.mrp_property_action
+msgid ""
+"The Properties in OpenERP are used to select the right bill of materials for "
+"manufacturing a product when you have different ways of building the same "
+"product. You can assign several properties to each Bill of Materials. When a "
+"sales person creates a sales order, he can relate it to several properties "
+"and OpenERP will automatically select the BoM to use according the needs."
+msgstr ""
+
+#. module: mrp
+#: help:mrp.production,picking_id:0
+msgid ""
+"This is the Internal Picking List that brings the finished product to the "
+"production plan"
+msgstr ""
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menu_view_resource_calendar_search_mrp
+msgid "Working Time"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.action_report_in_out_picking_tree
+msgid "Weekly Stock Value Variation"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+#: field:mrp.production,date_planned_date:0
+#: report:mrp.production.order:0
+msgid "Scheduled Date"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.bom:0
+msgid "Component Product"
+msgstr ""
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "Bill Of Material"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.routing,location_id:0
+msgid ""
+"Keep empty if you produce at the location where the finished products are "
+"needed.Set a location if you produce at a fixed location. This can be a "
+"partner location if you subcontract the manufacturing operations."
+msgstr ""
+
+#. module: mrp
+#: view:board.board:0
+msgid "Stock Value Variation"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.action2
+msgid "Bill of Materials Structure"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_serviceproduct0
+msgid "Product type is service"
+msgstr ""
+
+#. module: mrp
+#: sql_constraint:res.company:0
+msgid "The company name must be unique !"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.mrp_property_group_action
+msgid ""
+"Define specific property groups that can be assigned to the properties of "
+"your bill of materials."
+msgstr ""
+
+#. module: mrp
+#: help:mrp.workcenter,costs_cycle:0
+msgid "Specify Cost of Work Center per cycle."
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_bom0
+msgid "Manufacturing decomposition"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_serviceproduct1
+msgid "For Services."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom.revision,date:0
+msgid "Modification Date"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.workcenter,costs_cycle_account_id:0
+#: help:mrp.workcenter,costs_hour_account_id:0
+msgid ""
+"Complete this only if you want automatic analytic accounting entries on "
+"production orders."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production.workcenter.line,cycle:0
+msgid "Nbr of cycles"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_orderrfq0
+#: model:process.node,note:mrp.process_node_rfq0
+msgid "Request for Quotation."
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_billofmaterialrouting0
+msgid ""
+"The Bill of Material is linked to a routing, i.e. the succession of work "
+"centers."
+msgstr ""
+
+#. module: mrp
+#: constraint:product.product:0
+msgid "Error: Invalid ean code"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,move_created_ids:0
+msgid "Products to Produce"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.routing:0
+#: field:mrp.routing,location_id:0
+msgid "Production Location"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Change Qty"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.action_configure_workcenter
+msgid "Configure your work centers"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Force Reservation"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom.revision,author_id:0
+msgid "Author"
+msgstr ""
+
+#. module: mrp
+#: field:report.mrp.inout,value:0
+msgid "Stock value"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.action_product_bom_structure
+msgid "Product BoM Structure"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Search Production"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:139
+#, python-format
+msgid "Supplier Price per Uom"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.routing.workcenter,sequence:0
+msgid ""
+"Gives the sequence order when displaying a list of routing Work Centers."
+msgstr ""
+
+#. module: mrp
+#: constraint:stock.move:0
+msgid "You can not move products from or to a location of the type view."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,child_complete_ids:0
+msgid "BoM Hierarchy"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,product_uom:0
+#: field:mrp.production,product_uom:0
+#: field:mrp.production.product.line,product_uom:0
+msgid "Product UOM"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.production,state:0
+msgid "Picking Exception"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,bom_lines:0
+msgid "BoM Lines"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.workcenter,time_start:0
+msgid "Time before prod."
+msgstr ""
+
+#. module: mrp
+#: help:mrp.routing,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the routing "
+"without removing it."
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_billofmaterialrouting0
+msgid "Material Routing"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+#: field:mrp.production,move_lines2:0
+#: report:mrp.production.order:0
+msgid "Consumed Products"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.action_mrp_workcenter_load_wizard
+#: model:ir.model,name:mrp.model_mrp_workcenter_load
+#: model:ir.model,name:mrp.model_report_workcenter_load
+msgid "Work Center Load"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/procurement.py:43
+#, python-format
+msgid "No BoM defined for this product !"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.mrp_bom_form_action2
+#: model:ir.ui.menu,name:mrp.menu_mrp_bom_form_action2
+msgid "Bill of Material Components"
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_stock_move
+msgid "Stock Move"
+msgstr ""
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menu_mrp_planning
+msgid "Planning"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Ready"
+msgstr ""
+
+#. module: mrp
+#: model:product.template,name:mrp.product_buttons_product_template
+msgid "Shirt Buttons"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.production,routing_id:0
+msgid ""
+"The list of operations (list of work centers) to produce the finished "
+"product. The routing is mainly used to compute work center costs during "
+"operations and to plan future loads on work centers based on production "
+"plannification."
+msgstr ""
+
+#. module: mrp
+#: help:mrp.workcenter,time_cycle:0
+msgid "Time in hours for doing one cycle."
+msgstr ""
+
+#. module: mrp
+#: constraint:mrp.bom:0
+msgid "BoM line product should not be same as BoM product."
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "In Production"
+msgstr ""
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menu_mrp_property
+msgid "Master Bill of Materials"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.bom,product_uos:0
+msgid ""
+"Product UOS (Unit of Sale) is the unit of measurement for the invoicing and "
+"promotion of stock."
+msgstr ""
+
+#. module: mrp
+#: view:mrp.product_price:0
+#: view:mrp.workcenter.load:0
+msgid "Print"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.bom:0
+#: view:mrp.workcenter:0
+msgid "Type"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_minimumstockrule0
+msgid "Linked to the 'Minimum stock rule' supplying method."
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.workcenter.load,time_unit:0
+msgid "Per month"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/wizard/change_production_qty.py:78
+#: code:addons/mrp/wizard/change_production_qty.py:83
+#, python-format
+msgid "Couldn't find bill of material for product"
+msgstr ""
+
+#. module: mrp
+#: report:bom.structure:0
+msgid "Product Name"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:503
+#, python-format
+msgid "Invalid action !"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.bom,product_efficiency:0
+msgid "A factor of 0.9 means a loss of 10% within the production process."
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:734
+#: code:addons/mrp/mrp.py:762
+#, python-format
+msgid "Warning!"
+msgstr ""
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "Printing date"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_orderrfq0
+#: model:process.node,name:mrp.process_node_rfq0
+msgid "RFQ"
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_producttostockrules0
+msgid "Procurement rule"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Partial"
+msgstr ""
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "WorkCenter"
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_procureserviceproduct0
+msgid ""
+"Depending on the chosen method to 'supply' the service, the procurement "
+"order creates a RFQ for a subcontracting purchase order or waits until the "
+"service is done (= the delivery of the products)."
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.production,priority:0
+msgid "Urgent"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Manufacturing Orders which are waiting for raw materials."
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.mrp_workcenter_action
+msgid ""
+"Work Centers allow you to create and manage manufacturing units. They "
+"consist of workers and/or machines, which are considered as units for "
+"capacity and planning forecast. Keep in mind that the working time and "
+"resource leave are not taken into account in the time computation of the "
+"work center."
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_production
+msgid "Manufacturing Order"
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_productionprocureproducts0
+msgid "Procurement of raw material"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+#: field:mrp.production,cycle_total:0
+msgid "Total Cycles"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.production,state:0
+msgid "Ready to Produce"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom.revision,name:0
+msgid "Modification name"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.bom:0
+#: view:mrp.production:0
+msgid "Date"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,type:0
+msgid "BoM Type"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/procurement.py:45
+#, python-format
+msgid ""
+"Procurement '%s' has an exception: 'No BoM defined for this product !'"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.property:0
+msgid "Search"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:626
+#, python-format
+msgid "Could not cancel manufacturing order !"
+msgstr ""
+
+#. module: mrp
+#: field:report.workcenter.load,cycle:0
+msgid "Nbr of cycle"
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_res_company
+msgid "Companies"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:627
+#, python-format
+msgid ""
+"You must first cancel related internal picking attached to this "
+"manufacturing order."
+msgstr ""
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_minimumstockrule0
+#: model:process.node,name:mrp.process_node_productminimumstockrule0
+msgid "Minimum Stock"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:503
+#, python-format
+msgid "Cannot delete a manufacturing order in state '%s'"
+msgstr ""
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menus_dash_mrp
+msgid "Dashboard"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:160
+#: code:addons/mrp/report/price.py:211
+#, python-format
+msgid "Total Cost of %s %s"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_stockproduct0
+#: model:process.node,name:mrp.process_node_stockproduct1
+#: model:process.process,name:mrp.process_process_stockableproductprocess0
+msgid "Stockable Product"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:130
+#, python-format
+msgid "Work Center name"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.routing,code:0
+msgid "Code"
+msgstr ""
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "No. Of Hours"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.property:0
+#: view:mrp.property.group:0
+msgid "Property Group"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Qty"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_production0
+msgid "Manufacturing Plan."
+msgstr ""
+
+#. module: mrp
+#: view:mrp.routing:0
+#: view:mrp.workcenter:0
+msgid "Inactive"
+msgstr ""
+
+#. module: mrp
+#: view:change.production.qty:0
+#: view:mrp.product.produce:0
+#: view:mrp.product_price:0
+#: view:mrp.production:0
+#: view:mrp.workcenter.load:0
+msgid "Cancel"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/wizard/change_production_qty.py:63
+#, python-format
+msgid "Active Id is not found"
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_servicerfq0
+msgid ""
+"If the service has a 'Buy' supply method, this creates a RFQ, a "
+"subcontracting demand for instance."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,move_prod_id:0
+msgid "Move product"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Late"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_servicemts0
+msgid "Make to stock"
+msgstr ""
+
+#. module: mrp
+#: report:bom.structure:0
+msgid "BOM Name"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Start Production"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.open_board_manufacturing
+#: model:ir.ui.menu,name:mrp.menu_board_manufacturing
+msgid "Production Dashboard"
+msgstr ""
+
+#. module: mrp
+#: model:res.groups,name:mrp.group_mrp_manager
+msgid "Manager"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Source Loc."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,position:0
+msgid "Internal Reference"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_billofmaterial0
+msgid "Product's structure"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,name:0
+#: report:mrp.production.order:0
+#: field:mrp.production.product.line,name:0
+#: field:mrp.routing,name:0
+#: field:mrp.routing.workcenter,name:0
+msgid "Name"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.product.produce,mode:0
+msgid "Mode"
+msgstr ""
+
+#. module: mrp
+#: report:bom.structure:0
+msgid "]"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.workcenter.load,measure_unit:0
+msgid "Amount measuring unit"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.mrp_production_action_planning
+msgid ""
+"Manufacturing Orders describe the operations that need to be carried out and "
+"the raw materials usage for each production stage. You use specifications "
+"(bills of materials or BoM) to work out the raw material requirements and "
+"the manufacturing orders needed for the finished products. Once the bills of "
+"materials have been defined, OpenERP is capable of automatically deciding on "
+"the manufacturing route depending on the needs of the company."
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.todo.category,name:mrp.category_mrp_config
+msgid "MRP Management"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.workcenter,costs_hour:0
+msgid "Specify Cost of Work Center per hour."
+msgstr ""
+
+#. module: mrp
+#: help:mrp.workcenter,capacity_per_cycle:0
+msgid ""
+"Number of operations this Work Center can do in parallel. If this Work "
+"Center represents a team of 5 workers, the capacity per cycle is 5."
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.mrp_production_action3
+msgid "Manufacturing Orders in Progress"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.bom:0
+#: view:mrp.production:0
+#: view:mrp.property:0
+#: view:mrp.routing:0
+#: view:mrp.workcenter:0
+msgid "Group By..."
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:130
+#, python-format
+msgid "Cycles Cost"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.workcenter.load,measure_unit:0
+msgid "Amount in cycles"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,location_dest_id:0
+msgid "Finished Products Location"
+msgstr ""
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menu_pm_resources_config
+msgid "Resources"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.routing.workcenter,hour_nbr:0
+msgid ""
+"Time in hours for this Work Center to achieve the operation of the specified "
+"routing."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.workcenter,costs_journal_id:0
+msgid "Analytic Journal"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.mrp_workcenter_action
+#: model:ir.ui.menu,name:mrp.menu_view_resource_search_mrp
+#: field:mrp.routing,workcenter_lines:0
+msgid "Work Centers"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.workcenter.load,time_unit:0
+msgid "Per week"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.mrp_routing_action
+msgid ""
+"Routings allow you to create and manage the manufacturing operations that "
+"should be followed within your work centers in order to produce a product. "
+"They are attached to bills of materials that will define the required raw "
+"materials."
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.product_form_config_action
+msgid "Create or Import Products"
+msgstr ""
+
+#. module: mrp
+#: field:report.workcenter.load,hour:0
+msgid "Nbr of hour"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.routing:0
+msgid "Work Center Operations"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.routing:0
+msgid "Notes"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Manufacturing Orders which are ready to start production."
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_bom
+#: view:mrp.bom:0
+#: field:mrp.production,bom_id:0
+#: model:process.node,name:mrp.process_node_billofmaterial0
+msgid "Bill of Material"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.workcenter.load:0
+msgid "Select time unit"
+msgstr ""
+
+#. module: mrp
+#: view:report.workcenter.load:0
+msgid "Work Center load"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.production,location_dest_id:0
+msgid "Location where the system will stock the finished products."
+msgstr ""
+
+#. module: mrp
+#: help:mrp.routing.workcenter,routing_id:0
+msgid ""
+"Routing indicates all the Work Centers used, for how long and/or cycles.If "
+"Routing is indicated then,the third tab of a production order (Work Centers) "
+"will be automatically pre-completed."
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_producttostockrules0
+msgid ""
+"The Minimum Stock Rule is an automatic procurement rule based on a mini and "
+"maxi quantity. It's available in the Inventory management menu and "
+"configured by product."
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:187
+#, python-format
+msgid "Components Cost of %s %s"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.workcenter.load,time_unit:0
+msgid "Day by day"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.bom:0
+msgid "Revisions"
+msgstr ""
+
+#. module: mrp
+#: model:product.template,name:mrp.product_shirt_product_template
+msgid "Shirt"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,priority:0
+msgid "Priority"
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_stock_picking
+msgid "Picking List"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:1000
+#, python-format
+msgid "Manufacturing order '%s' is scheduled for the %s."
+msgstr ""
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "Production Order N° :"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:647
+#, python-format
+msgid "Manufacturing order '%s' is ready to produce."
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_production_product_line
+msgid "Production Scheduled Product"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:204
+#, python-format
+msgid "Work Cost of %s %s"
+msgstr ""
+
+#. module: mrp
+#: help:res.company,manufacturing_lead:0
+msgid "Security days for each manufacturing operation."
+msgstr ""
+
+#. module: mrp
+#: model:product.template,name:mrp.product_water_product_template
+msgid "Water"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.bom:0
+msgid "Component Name"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_mts0
+#: model:process.transition,name:mrp.process_transition_servicemts0
+#: model:process.transition,name:mrp.process_transition_stockmts0
+msgid "Make to Stock"
+msgstr ""
+
+#. module: mrp
+#: constraint:mrp.production:0
+msgid "Order quantity cannot be negative or zero!"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.mrp_bom_form_action
+msgid ""
+"Master Bills of Materials allow you to create and manage the list of "
+"necessary raw materials used to make a finished product. OpenERP will use "
+"these BoMs to automatically propose manufacturing orders according to "
+"product needs. You can either create a bill of materials to define specific "
+"production steps or define a single multi-level bill of materials."
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_stockrfq0
+msgid ""
+"In case the Supply method of the product is Buy, the system creates a "
+"purchase order."
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_procurement_order
+msgid "Procurement"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.action_view_mrp_product_price_wizard
+#: view:mrp.product_price:0
+msgid "Product Cost Structure"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:139
+#, python-format
+msgid "Components suppliers"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Production Work Centers"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Split in production lots"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.workcenter:0
+msgid "Search for mrp workcenter"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.bom:0
+msgid "BoM Structure"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,date_start:0
+msgid "Start Date"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.workcenter,costs_hour_account_id:0
+msgid "Hour Account"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Destination Loc."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,method:0
+msgid "Method"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Pending"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:603
+#, python-format
+msgid "Couldn't find a bill of material for this product."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,active:0
+#: field:mrp.routing,active:0
+msgid "Active"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_procureproducts0
+msgid "Procure Products"
+msgstr ""
+
+#. module: mrp
+#: view:report.workcenter.load:0
+msgid "Work Center Loads"
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_bom_revision
+msgid "Bill of Material Revision"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.production,origin:0
+msgid ""
+"Reference of the document that generated this production order request."
+msgstr ""
+
+#. module: mrp
+#: sql_constraint:mrp.bom:0
+msgid ""
+"All product quantities must be greater than 0.\n"
+"You should install the mrp_subproduct module if you want to manage extra "
+"products on BoMs !"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Extra Information"
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_change_production_qty
+msgid "Change Quantity of Products"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_productionorder0
+msgid "Drives the procurement orders for raw material."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.workcenter,costs_general_account_id:0
+msgid "General Account"
+msgstr ""
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "SO Number"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.production,state:0
+msgid "Done"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.mrp_production_action4
+msgid "Manufacturing Orders Waiting Products"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.production,priority:0
+msgid "Not urgent"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,user_id:0
+msgid "Responsible"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.mrp_production_action2
+msgid "Manufacturing Orders To Start"
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_workcenter
+#: field:mrp.production.workcenter.line,workcenter_id:0
+#: field:mrp.routing.workcenter,workcenter_id:0
+#: view:mrp.workcenter:0
+#: field:report.workcenter.load,workcenter_id:0
+msgid "Work Center"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.workcenter,capacity_per_cycle:0
+msgid "Capacity per Cycle"
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_product_product
+#: view:mrp.bom:0
+#: field:mrp.bom,product_id:0
+#: view:mrp.production:0
+#: field:mrp.production,product_id:0
+#: report:mrp.production.order:0
+#: field:mrp.production.product.line,product_id:0
+msgid "Product"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+#: field:mrp.production,hour_total:0
+msgid "Total Hours"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,location_src_id:0
+msgid "Raw Materials Location"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.product_price:0
+msgid "Print Cost Structure of Product."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,product_uos:0
+#: field:mrp.production.product.line,product_uos:0
+msgid "Product UOS"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Consume Products"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.act_mrp_product_produce
+#: view:mrp.product.produce:0
+#: view:mrp.production:0
+msgid "Produce"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_stock0
+#: model:process.transition,name:mrp.process_transition_servicemto0
+#: model:process.transition,name:mrp.process_transition_stockproduct0
+msgid "Make to Order"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:358
+#, python-format
+msgid "Copy"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.workcenter,note:0
+msgid ""
+"Description of the Work Center. Explain here what's a cycle according to "
+"this Work Center."
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production.lot.line:0
+msgid "Production Products"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,date_finished:0
+msgid "End Date"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.workcenter,resource_id:0
+msgid "Resource"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.bom,date_start:0
+#: help:mrp.bom,date_stop:0
+msgid "Validity of this BoM or component. Keep empty if it's always valid."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,product_uos:0
+msgid "Product UoS"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.production,priority:0
+msgid "Very Urgent"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.bom,routing_id:0
+msgid ""
+"The list of operations (list of work centers) to produce the finished "
+"product. The routing is mainly used to compute work center costs during "
+"operations and to plan future loads on work centers based on production "
+"planning."
+msgstr ""
+
+#. module: mrp
+#: view:change.production.qty:0
+msgid "Approve"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.property.group:0
+msgid "Properties categories"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.production.workcenter.line,sequence:0
+msgid "Gives the sequence order when displaying a list of work orders."
+msgstr ""
+
+#. module: mrp
+#: report:mrp.production.order:0
+msgid "Source Location"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+#: view:mrp.production.product.line:0
+msgid "Scheduled Products"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production.lot.line:0
+msgid "Production Products Consommation"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.act_product_manufacturing_open
+#: model:ir.actions.act_window,name:mrp.mrp_production_action
+#: model:ir.actions.act_window,name:mrp.mrp_production_action_planning
+#: model:ir.ui.menu,name:mrp.menu_mrp_production_action
+#: model:ir.ui.menu,name:mrp.menu_mrp_production_order_action
+#: view:mrp.production:0
+msgid "Manufacturing Orders"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.product.produce,mode:0
+msgid ""
+"'Consume only' mode will only consume the products with the quantity "
+"selected.\n"
+"'Consume & Produce' mode will consume as well as produce the products with "
+"the quantity selected and it will finish the production order when total "
+"ordered quantities are produced."
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+#: report:mrp.production.order:0
+msgid "Work Orders"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.workcenter,costs_cycle:0
+msgid "Cost per cycle"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_serviceproduct0
+#: model:process.node,name:mrp.process_node_serviceproduct1
+msgid "Service"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.production,state:0
+msgid "Cancelled"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.bom,product_uom:0
+msgid ""
+"UoM (Unit of Measure) is the unit of measurement for the inventory control"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:734
+#, python-format
+msgid ""
+"You are going to consume total %s quantities of \"%s\".\n"
+"But you can only consume up to total %s quantities."
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_bom0
+msgid ""
+"The Bill of Material is the product's decomposition. The components (that "
+"are products themselves) can also have their own Bill of Material (multi-"
+"level)."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,company_id:0
+#: field:mrp.production,company_id:0
+#: field:mrp.routing,company_id:0
+#: field:mrp.routing.workcenter,company_id:0
+#: view:mrp.workcenter:0
+msgid "Company"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.workcenter.load,measure_unit:0
+msgid "Amount in hours"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.workcenter,time_cycle:0
+msgid "Time for 1 cycle (hour)"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.report.xml,name:mrp.report_mrp_production_report
+#: field:mrp.production.product.line,production_id:0
+#: field:mrp.production.workcenter.line,production_id:0
+#: model:process.node,name:mrp.process_node_production0
+#: model:process.node,name:mrp.process_node_productionorder0
+msgid "Production Order"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_productminimumstockrule0
+msgid "Automatic procurement rule"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Compute Data"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,product_uos_qty:0
+msgid "Product UoS Qty"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:139
+#: view:mrp.bom:0
+#, python-format
+msgid "Components"
+msgstr ""
+
+#. module: mrp
+#: report:bom.structure:0
+#: model:ir.actions.report.xml,name:mrp.report_bom_structure
+msgid "BOM Structure"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,date_stop:0
+msgid "Valid Until"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,date_start:0
+msgid "Valid From"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.bom,type:0
+msgid "Normal BoM"
+msgstr ""
+
+#. module: mrp
+#: field:res.company,manufacturing_lead:0
+msgid "Manufacturing Lead Time"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,product_uos_qty:0
+#: field:mrp.production.product.line,product_uos_qty:0
+msgid "Product UOS Qty"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.action_report_in_out_picking_tree
+msgid ""
+"Weekly Stock Value Variation enables you to track the stock value evolution "
+"linked to manufacturing activities, receptions of products and delivery "
+"orders."
+msgstr ""
+
+#. module: mrp
+#: view:mrp.product.produce:0
+msgid "Confirm"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,product_efficiency:0
+msgid "Manufacturing Efficiency"
+msgstr ""
+
+#. module: mrp
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr ""
+
+#. module: mrp
+#: help:mrp.bom,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the bills of "
+"material without removing it."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,product_rounding:0
+msgid "Product Rounding"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.production,state:0
+msgid "New"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.product.produce,mode:0
+msgid "Consume Only"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Recreate Picking"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.bom,type:0
+msgid ""
+"If a sub-product is used in several products, it can be useful to create its "
+"own BoM. Though if you don't want separated production orders for this sub-"
+"product, select Set/Phantom as BoM type. If a Phantom BoM is used for a root "
+"product, it will be sold and shipped as a set of components, instead of "
+"being produced."
+msgstr ""
+
+#. module: mrp
+#: help:mrp.production,state:0
+msgid ""
+"When the production order is created the state is set to 'Draft'.\n"
+" If the order is confirmed the state is set to 'Waiting Goods'.\n"
+" If any exceptions are there, the state is set to 'Picking Exception'. "
+" \n"
+"If the stock is available then the state is set to 'Ready to Produce'.\n"
+" When the production gets started then the state is set to 'In Production'.\n"
+" When the production is over, the state is set to 'Done'."
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.bom,method:0
+msgid "On Order"
+msgstr ""
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menu_mrp_configuration
+#: view:res.company:0
+msgid "Configuration"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.bom:0
+msgid "Starting Date"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.workcenter,time_stop:0
+msgid "Time after prod."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.workcenter.load,time_unit:0
+msgid "Type of period"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Total Qty"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.routing.workcenter,hour_nbr:0
+msgid "Number of Hours"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.workcenter:0
+msgid "Costing Information"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,name:mrp.process_node_purchaseprocure0
+msgid "Procurement Orders"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.bom,product_rounding:0
+msgid "Rounding applied on the product quantity."
+msgstr ""
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_stock0
+msgid "Assignment from Production or Purchase Order."
+msgstr ""
+
+#. module: mrp
+#: field:mrp.routing.workcenter,routing_id:0
+msgid "Parent Routing"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.workcenter,time_start:0
+msgid "Time in hours for the setup."
+msgstr ""
+
+#. module: mrp
+#: model:product.template,name:mrp.product_orangejuice_product_template
+msgid "Orange Juice"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom.revision,bom_id:0
+#: field:procurement.order,bom_id:0
+msgid "BoM"
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_report_mrp_inout
+#: view:report.mrp.inout:0
+msgid "Stock value variation"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_mts0
+#: model:process.node,note:mrp.process_node_servicemts0
+msgid "Assignment from stock."
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.production,state:0
+msgid "Waiting Goods"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom.revision,last_indice:0
+msgid "last indice"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,revision_ids:0
+#: view:mrp.bom.revision:0
+msgid "BoM Revisions"
+msgstr ""
+
+#. module: mrp
+#: field:report.mrp.inout,date:0
+#: field:report.workcenter.load,name:0
+msgid "Week"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.production,priority:0
+msgid "Normal"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Production started late"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_routing0
+msgid "Manufacturing Steps."
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/report/price.py:146
+#: model:ir.actions.report.xml,name:mrp.report_cost_structure
+#, python-format
+msgid "Cost Structure"
+msgstr ""
+
+#. module: mrp
+#: model:res.groups,name:mrp.group_mrp_user
+msgid "User"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.product.produce,mode:0
+msgid "Consume & Produce"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,bom_id:0
+msgid "Parent BoM"
+msgstr ""
+
+#. module: mrp
+#: report:bom.structure:0
+msgid "BOM Ref"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,help:mrp.mrp_bom_form_action2
+msgid ""
+"Bills of materials components are components and sub-products used to create "
+"master bills of materials. Use this menu to search in which BoM a specific "
+"component is used."
+msgstr ""
+
+#. module: mrp
+#: model:product.uom,name:mrp.product_uom_litre
+msgid "Litre"
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:762
+#, python-format
+msgid ""
+"You are going to produce total %s quantities of \"%s\".\n"
+"But you can only produce up to total %s quantities."
+msgstr ""
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_stockproduct0
+msgid "Product type is Stockable or Consumable."
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:603
+#: code:addons/mrp/wizard/change_production_qty.py:78
+#: code:addons/mrp/wizard/change_production_qty.py:83
+#, python-format
+msgid "Error"
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.production,state:0
+msgid "Production Started"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.product.produce,product_qty:0
+msgid "Select Quantity"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.act_product_product_2_mrp_bom
+#: model:ir.actions.act_window,name:mrp.mrp_bom_form_action
+#: model:ir.ui.menu,name:mrp.menu_mrp_bom_form_action
+#: field:product.product,bom_ids:0
+msgid "Bill of Materials"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.mrp_property_action
+#: model:ir.ui.menu,name:mrp.menu_mrp_property_action
+#: view:mrp.bom:0
+#: field:mrp.bom,property_ids:0
+#: view:mrp.property:0
+#: view:procurement.order:0
+#: field:procurement.order,property_ids:0
+msgid "Properties"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.routing.workcenter:0
+#: view:mrp.workcenter:0
+msgid "General Information"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+msgid "Productions"
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_routing
+#: view:mrp.bom:0
+#: field:mrp.bom,routing_id:0
+#: view:mrp.production:0
+#: field:mrp.production,routing_id:0
+#: view:mrp.routing:0
+#: model:process.node,name:mrp.process_node_routing0
+msgid "Routing"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,date_planned:0
+msgid "Scheduled date"
+msgstr ""
+
+#. module: mrp
+#: constraint:stock.move:0
+msgid "You must assign a production lot for this product"
+msgstr ""
+
+#. module: mrp
+#: field:stock.move,production_id:0
+msgid "Production"
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_production_workcenter_line
+#: field:mrp.production.workcenter.line,name:0
+msgid "Work Order"
+msgstr ""
+
+#. module: mrp
+#: view:board.board:0
+msgid "Procurements in Exception"
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_minimumstockprocure0
+msgid "'Minimum stock rule' material"
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_mrp_product_price
+msgid "Product Price"
+msgstr ""
+
+#. module: mrp
+#: model:ir.model,name:mrp.model_stock_move_split
+msgid "Split in Production lots"
+msgstr ""
+
+#. module: mrp
+#: view:change.production.qty:0
+msgid "Change Quantity"
+msgstr ""
+
+#. module: mrp
+#: view:change.production.qty:0
+#: model:ir.actions.act_window,name:mrp.action_change_production_qty
+msgid "Change Product Qty"
+msgstr ""
+
+#. module: mrp
+#: view:mrp.bom.revision:0
+#: field:mrp.bom.revision,description:0
+#: view:mrp.property:0
+#: view:mrp.property.group:0
+#: field:mrp.routing,note:0
+#: view:mrp.routing.workcenter:0
+#: field:mrp.routing.workcenter,note:0
+#: view:mrp.workcenter:0
+#: field:mrp.workcenter,note:0
+msgid "Description"
+msgstr ""
+
+#. module: mrp
+#: view:board.board:0
+msgid "Manufacturing board"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.production,date_planned_end:0
+msgid "Scheduled End Date"
+msgstr ""
+
+#. module: mrp
+#: model:process.node,note:mrp.process_node_procureproducts0
+msgid "The way to procurement depends on the product type."
+msgstr ""
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menu_mrp_manufacturing
+msgid "Manufacturing"
+msgstr ""
+
+#. module: mrp
+#: view:board.board:0
+msgid "Next Production Orders"
+msgstr ""
+
+#. module: mrp
+#: model:ir.actions.act_window,name:mrp.mrp_property_group_action
+#: model:ir.ui.menu,name:mrp.menu_mrp_property_group_action
+msgid "Property Groups"
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_procurestockableproduct0
+msgid ""
+"Depending on the chosen method to supply the stockable products, the "
+"procurement order creates a RFQ, a production order, ... "
+msgstr ""
+
+#. module: mrp
+#: code:addons/mrp/mrp.py:874
+#: code:addons/mrp/mrp.py:929
+#: code:addons/mrp/mrp.py:954
+#, python-format
+msgid "PROD: %s"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.workcenter,time_stop:0
+msgid "Time in hours for the cleaning."
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,name:mrp.process_transition_purchaseprocure0
+msgid "Automatic RFQ"
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_servicemto0
+msgid ""
+"If the service has a 'Produce' supply method, this creates a task in the "
+"project management module of OpenERP."
+msgstr ""
+
+#. module: mrp
+#: model:process.transition,note:mrp.process_transition_productionprocureproducts0
+msgid ""
+"In order to supply raw material (to be purchased or produced), the "
+"production order creates as much procurement orders as components listed in "
+"the BOM, through a run of the schedulers (MRP)."
+msgstr ""
+
+#. module: mrp
+#: help:mrp.product_price,number:0
+msgid ""
+"Specify quantity of products to produce or buy. Report of Cost structure "
+"will be displayed base on this quantity."
+msgstr ""
+
+#. module: mrp
+#: selection:mrp.bom,method:0
+msgid "On Stock"
+msgstr ""
+
+#. module: mrp
+#: field:mrp.bom,sequence:0
+#: report:mrp.production.order:0
+#: field:mrp.production.workcenter.line,sequence:0
+#: field:mrp.routing.workcenter,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: mrp
+#: model:ir.ui.menu,name:mrp.menu_view_resource_calendar_leaves_search_mrp
+msgid "Resource Leaves"
+msgstr ""
+
+#. module: mrp
+#: help:mrp.bom,sequence:0
+msgid "Gives the sequence order when displaying a list of bills of material."
+msgstr ""
+
+#. module: mrp
+#: view:mrp.production:0
+#: field:mrp.production,move_lines:0
+#: report:mrp.production.order:0
+msgid "Products to Consume"
+msgstr ""
diff --git a/addons/mrp_jit/i18n/ja.po b/addons/mrp_jit/i18n/ja.po
new file mode 100644
index 00000000000..3958d6d94ce
--- /dev/null
+++ b/addons/mrp_jit/i18n/ja.po
@@ -0,0 +1,64 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+"PO-Revision-Date: 2012-05-30 23:20+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: mrp_jit
+#: model:ir.module.module,shortdesc:mrp_jit.module_meta_information
+msgid "MRP JIT"
+msgstr "MRPジャストインタイム"
+
+#. module: mrp_jit
+#: model:ir.module.module,description:mrp_jit.module_meta_information
+msgid ""
+"\n"
+" This module allows Just In Time computation of procurement orders.\n"
+"\n"
+" If you install this module, you will not have to run the regular "
+"procurement \n"
+" scheduler anymore (but you still need to run the minimum order point "
+"rule \n"
+" scheduler, or for example let it run daily.)\n"
+" All procurement orders will be processed immediately, which could in "
+"some\n"
+" cases entail a small performance impact.\n"
+"\n"
+" It may also increase your stock size because products are reserved as "
+"soon\n"
+" as possible and the scheduler time range is not taken into account "
+"anymore. \n"
+" In that case, you can not use priorities any more on the different "
+"picking.\n"
+" \n"
+" \n"
+" "
+msgstr ""
+"\n"
+" このモジュールは調達オーダーのジャストインタイム計算を行います。\n"
+"\n"
+" このモジュールをインストールしたなら、もう定期的な調達スケジューラを実行させる必要は \n"
+" ありません(しかし、まだ最小発注点ルールスケジューラを実行するか、または、例えば、\n"
+" それを毎日実行させる必要があります)。\n"
+" 全ての調達オーダーは即座に実行されますが、幾つかのケースにおいてはパフォーマンス\n"
+" に多少影響するかもしれません。\n"
+"\n"
+" 製品は可能な限り早く予約され、もはやスケジュールI時間の範囲は考慮されないので、\n"
+" 在庫サイズは増えることになるかも知れません。\n"
+" そのケースには異なる集荷による優先度をもはや使うことはできません。\n"
+" \n"
+" \n"
+" "
diff --git a/addons/mrp_operations/i18n/ja.po b/addons/mrp_operations/i18n/ja.po
new file mode 100644
index 00000000000..02be80e9da7
--- /dev/null
+++ b/addons/mrp_operations/i18n/ja.po
@@ -0,0 +1,836 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-06-01 04:26+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: mrp_operations
+#: model:ir.actions.act_window,name:mrp_operations.mrp_production_wc_action_form
+#: model:ir.ui.menu,name:mrp_operations.menu_mrp_production_wc_action_planning
+#: model:ir.ui.menu,name:mrp_operations.menu_mrp_production_wc_order
+#: view:mrp.production.workcenter.line:0
+#: view:mrp.workorder:0
+msgid "Work Orders"
+msgstr "作業オーダー"
+
+#. module: mrp_operations
+#: code:addons/mrp_operations/mrp_operations.py:489
+#, python-format
+msgid "Operation is already finished!"
+msgstr "操作は既に終了しています。"
+
+#. module: mrp_operations
+#: model:process.node,note:mrp_operations.process_node_canceloperation0
+msgid "Cancel the operation."
+msgstr "操作のキャンセル"
+
+#. module: mrp_operations
+#: model:ir.model,name:mrp_operations.model_mrp_operations_operation_code
+msgid "mrp_operations.operation.code"
+msgstr ""
+
+#. module: mrp_operations
+#: view:mrp.production.workcenter.line:0
+#: view:mrp.workorder:0
+msgid "Group By..."
+msgstr "グループ化…"
+
+#. module: mrp_operations
+#: model:process.node,note:mrp_operations.process_node_workorder0
+msgid "Information from the routing definition."
+msgstr "経路定義からの情報"
+
+#. module: mrp_operations
+#: selection:mrp.workorder,month:0
+msgid "March"
+msgstr "3月"
+
+#. module: mrp_operations
+#: model:ir.actions.act_window,name:mrp_operations.mrp_production_wc_resource_planning
+#: model:ir.ui.menu,name:mrp_operations.menu_mrp_production_wc_resource_planning
+msgid "Work Centers"
+msgstr "作業センタ"
+
+#. module: mrp_operations
+#: view:mrp.production:0
+#: view:mrp.production.workcenter.line:0
+#: selection:mrp_operations.operation.code,start_stop:0
+msgid "Resume"
+msgstr "再開"
+
+#. module: mrp_operations
+#: report:mrp.code.barcode:0
+msgid "("
+msgstr "("
+
+#. module: mrp_operations
+#: view:mrp.production.workcenter.line:0
+msgid "Product to Produce"
+msgstr "生産製品"
+
+#. module: mrp_operations
+#: view:mrp_operations.operation:0
+msgid "Production Operation"
+msgstr "製造操作"
+
+#. module: mrp_operations
+#: view:mrp.production:0
+msgid "Set to Draft"
+msgstr "ドラフトに設定"
+
+#. module: mrp_operations
+#: field:mrp.production,allow_reorder:0
+msgid "Free Serialisation"
+msgstr "自由な直列化"
+
+#. module: mrp_operations
+#: model:ir.model,name:mrp_operations.model_mrp_production
+msgid "Manufacturing Order"
+msgstr "製造オーダー"
+
+#. module: mrp_operations
+#: model:process.process,name:mrp_operations.process_process_mrpoperationprocess0
+msgid "Mrp Operations"
+msgstr "MRP操作"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+#: field:mrp.workorder,day:0
+msgid "Day"
+msgstr "日"
+
+#. module: mrp_operations
+#: view:mrp.production:0
+msgid "Cancel Order"
+msgstr "オーダーのキャンセル"
+
+#. module: mrp_operations
+#: model:process.node,name:mrp_operations.process_node_productionorder0
+msgid "Production Order"
+msgstr "生産オーダー"
+
+#. module: mrp_operations
+#: selection:mrp.production.workcenter.line,production_state:0
+msgid "Picking Exception"
+msgstr "例外の集荷"
+
+#. module: mrp_operations
+#: model:process.transition,name:mrp_operations.process_transition_productionstart0
+msgid "Creation of the work order"
+msgstr "作業オーダーの作成"
+
+#. module: mrp_operations
+#: help:mrp.production.workcenter.line,state:0
+msgid ""
+"* When a work order is created it is set in 'Draft' state.\n"
+"* When user sets work order in start mode that time it will be set in 'In "
+"Progress' state.\n"
+"* When work order is in running mode, during that time if user wants to stop "
+"or to make changes in order then can set in 'Pending' state.\n"
+"* When the user cancels the work order it will be set in 'Canceled' state.\n"
+"* When order is completely processed that time it is set in 'Finished' state."
+msgstr ""
+"・ 作業オーダーが作成されると、それはドラフト状態に設定されます。\n"
+"・ ユーザが作業オーダーに開始モードを設定すると、それは進行中に設定されます。\n"
+"・ 作業オーダーが実行中モードになった時にユーザが停止やオーダーを変更した場合、保留中状態に設定されます。\n"
+"・ ユーザが作業オーダーをキャンセルすると、キャンセル済状態に設定されます。\n"
+"・ オーダーが完全に処理されると、完了状態に設定されます。"
+
+#. module: mrp_operations
+#: model:process.transition,note:mrp_operations.process_transition_productionstart0
+msgid "The work orders are created on the basis of the production order."
+msgstr "作業オーダーは生産オーダーを元にして作成されます。"
+
+#. module: mrp_operations
+#: code:addons/mrp_operations/mrp_operations.py:134
+#: code:addons/mrp_operations/mrp_operations.py:470
+#: code:addons/mrp_operations/mrp_operations.py:474
+#: code:addons/mrp_operations/mrp_operations.py:486
+#: code:addons/mrp_operations/mrp_operations.py:489
+#, python-format
+msgid "Error!"
+msgstr "エラー"
+
+#. module: mrp_operations
+#: selection:mrp.production.workcenter.line,state:0
+#: selection:mrp.workorder,state:0
+#: selection:mrp_operations.operation.code,start_stop:0
+msgid "Cancelled"
+msgstr "キャンセル済"
+
+#. module: mrp_operations
+#: code:addons/mrp_operations/mrp_operations.py:486
+#, python-format
+msgid "There is no Operation to be cancelled!"
+msgstr "キャンセルされる操作がありません。"
+
+#. module: mrp_operations
+#: code:addons/mrp_operations/mrp_operations.py:482
+#, python-format
+msgid "Operation is Already Cancelled!"
+msgstr "操作は既にキャンセル済です。"
+
+#. module: mrp_operations
+#: model:ir.actions.act_window,name:mrp_operations.mrp_production_operation_action
+#: view:mrp.production.workcenter.line:0
+msgid "Operations"
+msgstr "操作"
+
+#. module: mrp_operations
+#: model:ir.model,name:mrp_operations.model_stock_move
+msgid "Stock Move"
+msgstr "在庫移動"
+
+#. module: mrp_operations
+#: code:addons/mrp_operations/mrp_operations.py:479
+#, python-format
+msgid ""
+"In order to Finish the operation, it must be in the Start or Resume state!"
+msgstr "操作を完了するには、開始か再開状態でなければなりません。"
+
+#. module: mrp_operations
+#: field:mrp.workorder,nbr:0
+msgid "# of Lines"
+msgstr "行数"
+
+#. module: mrp_operations
+#: view:mrp.production:0
+#: view:mrp.production.workcenter.line:0
+msgid "Finish Order"
+msgstr "オーダーの完了"
+
+#. module: mrp_operations
+#: field:mrp.production.workcenter.line,date_finished:0
+#: field:mrp.production.workcenter.line,date_planned_end:0
+#: field:mrp_operations.operation,date_finished:0
+msgid "End Date"
+msgstr "終了日"
+
+#. module: mrp_operations
+#: selection:mrp.production.workcenter.line,production_state:0
+msgid "In Production"
+msgstr "生産中"
+
+#. module: mrp_operations
+#: view:mrp.production.workcenter.line:0
+#: field:mrp.production.workcenter.line,state:0
+#: view:mrp.workorder:0
+#: field:mrp.workorder,state:0
+msgid "State"
+msgstr "状態"
+
+#. module: mrp_operations
+#: view:mrp.production.workcenter.line:0
+#: selection:mrp.production.workcenter.line,production_state:0
+#: selection:mrp.production.workcenter.line,state:0
+#: selection:mrp.workorder,state:0
+msgid "Draft"
+msgstr "ドラフト"
+
+#. module: mrp_operations
+#: model:ir.actions.act_window,name:mrp_operations.action_report_mrp_workorder
+#: model:ir.model,name:mrp_operations.model_mrp_production_workcenter_line
+msgid "Work Order"
+msgstr "作業オーダー"
+
+#. module: mrp_operations
+#: model:process.transition,note:mrp_operations.process_transition_workstartoperation0
+msgid ""
+"There is 1 work order per work center. The information about the number of "
+"cycles or the cycle time."
+msgstr "作業センタごとに1つの作業オーダーがあります。サイクルの数あるいはサイクル時間についての情報です。"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+msgid "Month -1"
+msgstr "月 -1"
+
+#. module: mrp_operations
+#: field:mrp.production.workcenter.line,uom:0
+msgid "UOM"
+msgstr "単位"
+
+#. module: mrp_operations
+#: constraint:stock.move:0
+msgid "You can not move products from or to a location of the type view."
+msgstr "タイプビューの場所から、あるいは場所へは製品を動かすことはできません。"
+
+#. module: mrp_operations
+#: view:mrp.production.workcenter.line:0
+msgid "Planned Date"
+msgstr "予定日"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+#: field:mrp.workorder,product_qty:0
+msgid "Product Qty"
+msgstr "製品数量"
+
+#. module: mrp_operations
+#: code:addons/mrp_operations/mrp_operations.py:134
+#, python-format
+msgid "Manufacturing order cannot start in state \"%s\"!"
+msgstr "製造オーダーは %s 状態であるため開始できません。"
+
+#. module: mrp_operations
+#: selection:mrp.workorder,month:0
+msgid "July"
+msgstr "7月"
+
+#. module: mrp_operations
+#: field:mrp_operations.operation.code,name:0
+msgid "Operation Name"
+msgstr "操作名"
+
+#. module: mrp_operations
+#: field:mrp_operations.operation.code,start_stop:0
+msgid "Status"
+msgstr "状態"
+
+#. module: mrp_operations
+#: model:ir.actions.act_window,help:mrp_operations.mrp_production_wc_action_planning
+msgid ""
+"To manufacture or assemble products, and use raw materials and finished "
+"products you must also handle manufacturing operations. Manufacturing "
+"operations are often called Work Orders. The various operations will have "
+"different impacts on the costs of manufacturing and planning depending on "
+"the available workload."
+msgstr ""
+"製品を製造または組み立て、原材料を使って製品を完成させるために、製造操作を処理しなくてはなりません。製造操作はよく、作業オーダーと呼ばれます。多種な操作は"
+"製造と使用可能な作業負荷に応じた計画のコストに異なる影響を持ちます。"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+msgid "Planned Year"
+msgstr "計画年"
+
+#. module: mrp_operations
+#: field:mrp_operations.operation,order_date:0
+msgid "Order Date"
+msgstr "オーダー日"
+
+#. module: mrp_operations
+#: model:ir.actions.act_window,name:mrp_operations.mrp_production_wc_draft_action
+msgid "Future Work Orders"
+msgstr "将来の作業オーダー"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+msgid "Work orders during last month"
+msgstr "先月の作業オーダー"
+
+#. module: mrp_operations
+#: help:mrp.production.workcenter.line,delay:0
+msgid "The elapsed time between operation start and stop in this Work Center"
+msgstr "この作業センタでの操作の開始と終了の間の経過時間"
+
+#. module: mrp_operations
+#: model:process.node,name:mrp_operations.process_node_canceloperation0
+msgid "Operation Cancelled"
+msgstr "操作はキャンセルされました。"
+
+#. module: mrp_operations
+#: view:mrp.production:0
+#: view:mrp.production.workcenter.line:0
+msgid "Pause Work Order"
+msgstr "作業オーダーの中断"
+
+#. module: mrp_operations
+#: selection:mrp.workorder,month:0
+msgid "September"
+msgstr "9月"
+
+#. module: mrp_operations
+#: selection:mrp.workorder,month:0
+msgid "December"
+msgstr "12月"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+#: field:mrp.workorder,month:0
+msgid "Month"
+msgstr "月"
+
+#. module: mrp_operations
+#: selection:mrp.production.workcenter.line,production_state:0
+msgid "Canceled"
+msgstr "キャンセル済"
+
+#. module: mrp_operations
+#: model:ir.model,name:mrp_operations.model_mrp_operations_operation
+msgid "mrp_operations.operation"
+msgstr ""
+
+#. module: mrp_operations
+#: model:ir.model,name:mrp_operations.model_mrp_workorder
+msgid "Work Order Report"
+msgstr "作業オーダーレポート"
+
+#. module: mrp_operations
+#: constraint:mrp.production:0
+msgid "Order quantity cannot be negative or zero!"
+msgstr "オーダー数量は負または0にはできません。"
+
+#. module: mrp_operations
+#: field:mrp.production.workcenter.line,date_start:0
+#: field:mrp.production.workcenter.line,date_start_date:0
+#: field:mrp_operations.operation,date_start:0
+msgid "Start Date"
+msgstr "開始日"
+
+#. module: mrp_operations
+#: selection:mrp.production.workcenter.line,production_state:0
+msgid "Waiting Goods"
+msgstr "待機商品"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+msgid "Work orders made during current year"
+msgstr "現在年中になされた作業オーダー"
+
+#. module: mrp_operations
+#: selection:mrp.workorder,state:0
+#: selection:mrp_operations.operation.code,start_stop:0
+msgid "Pause"
+msgstr "一時停止"
+
+#. module: mrp_operations
+#: view:mrp.production.workcenter.line:0
+#: selection:mrp.production.workcenter.line,state:0
+#: selection:mrp.workorder,state:0
+msgid "In Progress"
+msgstr "進行中"
+
+#. module: mrp_operations
+#: code:addons/mrp_operations/mrp_operations.py:470
+#, python-format
+msgid ""
+"In order to Pause the operation, it must be in the Start or Resume state!"
+msgstr "操作を一時停止するには、開始または再開状態でなければなりません。"
+
+#. module: mrp_operations
+#: code:addons/mrp_operations/mrp_operations.py:474
+#, python-format
+msgid "In order to Resume the operation, it must be in the Pause state!"
+msgstr "操作を再開するには、一時停止状態でなければなりません。"
+
+#. module: mrp_operations
+#: view:mrp.production:0
+#: view:mrp.production.workcenter.line:0
+#: selection:mrp_operations.operation.code,start_stop:0
+msgid "Start"
+msgstr "開始"
+
+#. module: mrp_operations
+#: view:mrp_operations.operation:0
+msgid "Calendar View"
+msgstr "カレンダービュー"
+
+#. module: mrp_operations
+#: model:process.transition,note:mrp_operations.process_transition_startcanceloperation0
+msgid ""
+"When the operation needs to be cancelled, you can do it in the work order "
+"form."
+msgstr "操作をキャンセルする必要がある時、作業オーダーフォームの中で行うことができます。"
+
+#. module: mrp_operations
+#: view:mrp.production:0
+#: view:mrp.production.workcenter.line:0
+msgid "Set Draft"
+msgstr "ドラフトにセット"
+
+#. module: mrp_operations
+#: view:mrp.production:0
+#: view:mrp.production.workcenter.line:0
+#: selection:mrp.production.workcenter.line,state:0
+msgid "Pending"
+msgstr "保留中"
+
+#. module: mrp_operations
+#: view:mrp_operations.operation.code:0
+msgid "Production Operation Code"
+msgstr "生産操作コード"
+
+#. module: mrp_operations
+#: code:addons/mrp_operations/mrp_operations.py:466
+#, python-format
+msgid ""
+"Operation has already started !Youcan either Pause/Finish/Cancel the "
+"operation"
+msgstr "操作は既に開始されました。一時停止 / 完了 / キャンセル操作ができます。"
+
+#. module: mrp_operations
+#: selection:mrp.workorder,month:0
+msgid "August"
+msgstr "8月"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+msgid "Started"
+msgstr "開始済"
+
+#. module: mrp_operations
+#: view:mrp.production.workcenter.line:0
+msgid "Production started late"
+msgstr "生産が遅れて開始"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+msgid "Planned Day"
+msgstr "計画日"
+
+#. module: mrp_operations
+#: selection:mrp.workorder,month:0
+msgid "June"
+msgstr "6月"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+#: field:mrp.workorder,total_cycles:0
+msgid "Total Cycles"
+msgstr "合計サイクル"
+
+#. module: mrp_operations
+#: selection:mrp.production.workcenter.line,production_state:0
+msgid "Ready to Produce"
+msgstr "生産準備完了"
+
+#. module: mrp_operations
+#: field:stock.move,move_dest_id_lines:0
+msgid "Children Moves"
+msgstr "子の移動"
+
+#. module: mrp_operations
+#: model:ir.actions.act_window,name:mrp_operations.mrp_production_wc_action_planning
+msgid "Work Orders Planning"
+msgstr "作業オーダー計画"
+
+#. module: mrp_operations
+#: view:mrp.production.workcenter.line:0
+#: field:mrp.workorder,date:0
+msgid "Date"
+msgstr "日付"
+
+#. module: mrp_operations
+#: selection:mrp.workorder,month:0
+msgid "November"
+msgstr "11月"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+msgid "Search"
+msgstr "検索"
+
+#. module: mrp_operations
+#: selection:mrp.workorder,month:0
+msgid "October"
+msgstr "10月"
+
+#. module: mrp_operations
+#: selection:mrp.workorder,month:0
+msgid "January"
+msgstr "1月"
+
+#. module: mrp_operations
+#: view:mrp.production:0
+#: view:mrp.production.workcenter.line:0
+msgid "Resume Work Order"
+msgstr "作業オーダーの再開"
+
+#. module: mrp_operations
+#: model:process.node,note:mrp_operations.process_node_doneoperation0
+msgid "Finish the operation."
+msgstr "操作の終了"
+
+#. module: mrp_operations
+#: code:addons/mrp_operations/mrp_operations.py:459
+#, python-format
+msgid "Operation is not started yet !"
+msgstr "操作はまだ開始されていません。"
+
+#. module: mrp_operations
+#: model:process.node,note:mrp_operations.process_node_productionorder0
+msgid "Information from the production order."
+msgstr "生産オーダーからの情報"
+
+#. module: mrp_operations
+#: sql_constraint:mrp.production:0
+msgid "Reference must be unique per Company!"
+msgstr "参照は会社ごとに固有でなければいけません。"
+
+#. module: mrp_operations
+#: code:addons/mrp_operations/mrp_operations.py:459
+#: code:addons/mrp_operations/mrp_operations.py:466
+#: code:addons/mrp_operations/mrp_operations.py:479
+#: code:addons/mrp_operations/mrp_operations.py:482
+#, python-format
+msgid "Sorry!"
+msgstr "残念です。"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+msgid "Current"
+msgstr "現在"
+
+#. module: mrp_operations
+#: field:mrp_operations.operation,code_id:0
+#: field:mrp_operations.operation.code,code:0
+msgid "Code"
+msgstr "コード"
+
+#. module: mrp_operations
+#: model:ir.actions.act_window,name:mrp_operations.mrp_production_wc_confirm_action
+msgid "Confirmed Work Orders"
+msgstr "確認済作業オーダー"
+
+#. module: mrp_operations
+#: model:ir.actions.act_window,name:mrp_operations.mrp_production_code_action
+msgid "Operation Codes"
+msgstr "操作コード"
+
+#. module: mrp_operations
+#: field:mrp.production.workcenter.line,qty:0
+msgid "Qty"
+msgstr "数量"
+
+#. module: mrp_operations
+#: model:process.node,name:mrp_operations.process_node_doneoperation0
+msgid "Operation Done"
+msgstr "操作完了"
+
+#. module: mrp_operations
+#: selection:mrp.production.workcenter.line,production_state:0
+#: view:mrp.workorder:0
+#: selection:mrp_operations.operation.code,start_stop:0
+msgid "Done"
+msgstr "完了"
+
+#. module: mrp_operations
+#: model:ir.actions.report.xml,name:mrp_operations.report_code_barcode
+msgid "Start/Stop Barcode"
+msgstr "開始 / 停止バーコード"
+
+#. module: mrp_operations
+#: view:mrp.production:0
+#: view:mrp.production.workcenter.line:0
+msgid "Cancel"
+msgstr "キャンセル"
+
+#. module: mrp_operations
+#: model:ir.actions.act_window,help:mrp_operations.mrp_production_wc_action_form
+msgid ""
+"Work Orders is the list of operations to be performed for each manufacturing "
+"order. Once you start the first work order of a manufacturing order, the "
+"manufacturing order is automatically marked as started. Once you finish the "
+"latest operation of a manufacturing order, the MO is automatically done and "
+"the related products are produced."
+msgstr ""
+"作業オーダーは各製造オーダーを実行するための操作のリストです。製造オーダーの最初の作業オーダーを開始すると、製造オーダーは自動的に開始したとマークされます"
+"。製造オーダーの最後の操作が終わると、製造オーダーは自動的に完了となり関連製品は生産されます。"
+
+#. module: mrp_operations
+#: model:process.node,name:mrp_operations.process_node_startoperation0
+msgid "Start Operation"
+msgstr "操作を開始"
+
+#. module: mrp_operations
+#: view:mrp.production.workcenter.line:0
+msgid "Information"
+msgstr "情報"
+
+#. module: mrp_operations
+#: model:ir.actions.report.xml,name:mrp_operations.report_wc_barcode
+msgid "Work Centers Barcode"
+msgstr "作業センターバーコード"
+
+#. module: mrp_operations
+#: constraint:stock.move:0
+msgid "You must assign a production lot for this product"
+msgstr "この製品に生産ロットを割り当てて下さい。"
+
+#. module: mrp_operations
+#: view:mrp.production.workcenter.line:0
+msgid "Late"
+msgstr "遅延"
+
+#. module: mrp_operations
+#: field:mrp.workorder,delay:0
+msgid "Delay"
+msgstr "遅延"
+
+#. module: mrp_operations
+#: view:mrp.production.workcenter.line:0
+#: view:mrp.workorder:0
+#: field:mrp.workorder,production_id:0
+#: field:mrp_operations.operation,production_id:0
+msgid "Production"
+msgstr "生産"
+
+#. module: mrp_operations
+#: view:mrp.production.workcenter.line:0
+msgid "Search Work Orders"
+msgstr "作業オーダーの検索"
+
+#. module: mrp_operations
+#: view:mrp.production.workcenter.line:0
+#: view:mrp.workorder:0
+#: field:mrp.workorder,workcenter_id:0
+#: field:mrp_operations.operation,workcenter_id:0
+#: model:process.node,name:mrp_operations.process_node_workorder0
+msgid "Work Center"
+msgstr "作業センタ"
+
+#. module: mrp_operations
+#: view:mrp.production.workcenter.line:0
+msgid "Real"
+msgstr "実物"
+
+#. module: mrp_operations
+#: field:mrp.production.workcenter.line,date_planned:0
+msgid "Scheduled Date"
+msgstr "予定日"
+
+#. module: mrp_operations
+#: field:mrp.production.workcenter.line,product:0
+#: view:mrp.workorder:0
+#: field:mrp.workorder,product_id:0
+msgid "Product"
+msgstr "製品"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+#: field:mrp.workorder,total_hours:0
+msgid "Total Hours"
+msgstr "合計時間"
+
+#. module: mrp_operations
+#: help:mrp.production,allow_reorder:0
+msgid ""
+"Check this to be able to move independently all production orders, without "
+"moving dependent ones."
+msgstr "依存する物を動かすことなく、全ての製造オーダー独立して移動させるためにはこれをチェックして下さい。"
+
+#. module: mrp_operations
+#: report:mrp.code.barcode:0
+msgid ")"
+msgstr ")"
+
+#. module: mrp_operations
+#: model:ir.ui.menu,name:mrp_operations.menu_report_mrp_workorders_tree
+msgid "Work Order Analysis"
+msgstr "作業オーダー分析"
+
+#. module: mrp_operations
+#: view:mrp.production:0
+#: view:mrp.production.workcenter.line:0
+#: selection:mrp.production.workcenter.line,state:0
+#: selection:mrp.workorder,state:0
+msgid "Finished"
+msgstr "完了"
+
+#. module: mrp_operations
+#: view:mrp.production.workcenter.line:0
+msgid "Hours by Work Center"
+msgstr "作業センター毎の時間"
+
+#. module: mrp_operations
+#: field:mrp.production.workcenter.line,delay:0
+msgid "Working Hours"
+msgstr "労働時間"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+msgid "Planned Month"
+msgstr "計画月"
+
+#. module: mrp_operations
+#: selection:mrp.workorder,month:0
+msgid "February"
+msgstr "2月"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+msgid "Work orders made during current month"
+msgstr "現在月中になされた作業オーダー"
+
+#. module: mrp_operations
+#: model:process.transition,name:mrp_operations.process_transition_startcanceloperation0
+msgid "Operation cancelled"
+msgstr "操作はキャンセルされました。"
+
+#. module: mrp_operations
+#: model:process.node,note:mrp_operations.process_node_startoperation0
+msgid "Start the operation."
+msgstr "操作を開始します。"
+
+#. module: mrp_operations
+#: selection:mrp.workorder,month:0
+msgid "April"
+msgstr "4月"
+
+#. module: mrp_operations
+#: model:process.transition,name:mrp_operations.process_transition_startdoneoperation0
+msgid "Operation done"
+msgstr "操作完了"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+msgid "#Line Orders"
+msgstr "オーダー行数"
+
+#. module: mrp_operations
+#: view:mrp.production:0
+#: view:mrp.production.workcenter.line:0
+msgid "Start Working"
+msgstr "作業開始"
+
+#. module: mrp_operations
+#: model:process.transition,note:mrp_operations.process_transition_startdoneoperation0
+msgid ""
+"When the operation is finished, the operator updates the system by finishing "
+"the work order."
+msgstr "操作が完了した時、操作者は作業オーダーを終えるとシステムを更新します。"
+
+#. module: mrp_operations
+#: selection:mrp.workorder,month:0
+msgid "May"
+msgstr "5月"
+
+#. module: mrp_operations
+#: model:process.transition,name:mrp_operations.process_transition_workstartoperation0
+msgid "Details of the work order"
+msgstr "作業オーダーの詳細"
+
+#. module: mrp_operations
+#: field:mrp.production.workcenter.line,production_state:0
+msgid "Production State"
+msgstr "生産状態"
+
+#. module: mrp_operations
+#: view:mrp.workorder:0
+#: field:mrp.workorder,year:0
+msgid "Year"
+msgstr "年"
+
+#. module: mrp_operations
+#: view:mrp.production.workcenter.line:0
+msgid "Duration"
+msgstr "期間"
+
+#. module: mrp_operations
+#: constraint:stock.move:0
+msgid "You try to assign a lot which is not from the same product"
+msgstr "違う製品のロットを割り当てることはできません。"
diff --git a/addons/mrp_repair/i18n/ja.po b/addons/mrp_repair/i18n/ja.po
new file mode 100644
index 00000000000..2b3d8b6b3d0
--- /dev/null
+++ b/addons/mrp_repair/i18n/ja.po
@@ -0,0 +1,795 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-06-01 04:27+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Fees Line"
+msgstr "料金行"
+
+#. module: mrp_repair
+#: help:mrp.repair,state:0
+msgid ""
+" * The 'Draft' state is used when a user is encoding a new and unconfirmed "
+"repair order. \n"
+"* The 'Confirmed' state is used when a user confirms the repair order. "
+" \n"
+"* The 'Ready to Repair' state is used to start to repairing, user can start "
+"repairing only after repair order is confirmed. \n"
+"* The 'To be Invoiced' state is used to generate the invoice before or after "
+"repairing done. \n"
+"* The 'Done' state is set when repairing is completed. \n"
+"* The 'Cancelled' state is used when user cancel repair order."
+msgstr ""
+" ・ ドラフト状態は、ユーザが未確認の修理オーダーを新たにエンコードした時に使われます。\n"
+"・ 確認済状態は、ユーザが修理オーダーを確認した時に使われます。\n"
+"・ 修理準備完了状態は、修理を開始するために、修理オーダー確認後、修理を開始できる時に使われます。\n"
+"・ 請求状態は、修理の完了前または完了後で請求書を生成した時に使われます。\n"
+"・ 完了状態は、修理が終了した時に設定されます。\n"
+"・ キャンセル済状態は、ユーザが修理オーダーをキャンセルした時に使われます。"
+
+#. module: mrp_repair
+#: field:mrp.repair.line,move_id:0
+msgid "Inventory Move"
+msgstr "在庫移動"
+
+#. module: mrp_repair
+#: model:ir.actions.act_window,help:mrp_repair.action_repair_order_tree
+msgid ""
+"Repair orders allow you to organize your product repairs. In a repair order, "
+"you can detail the components you remove, add or replace and record the time "
+"you spent on the different operations. The repair order uses the warranty "
+"date on the production lot in order to know if whether the repair should be "
+"invoiced to the customer or not."
+msgstr ""
+"修理オーダーは製品の修理を手配します。修理オーダーでは、取除いた、追加した、交換した部品を詳述でき、異なる操作で費やした時間を記録できます。修理オーダーは"
+"、その修理を顧客に請求すべきであるかどうかを知るために生産ロットの保証日付を使用します。"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Group By..."
+msgstr "グループ化…"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Recreate Invoice"
+msgstr "請求書再作成"
+
+#. module: mrp_repair
+#: help:mrp.repair,deliver_bool:0
+msgid ""
+"Check this box if you want to manage the delivery once the product is "
+"repaired. If cheked, it will create a picking with selected product. Note "
+"that you can select the locations in the Info tab, if you have the extended "
+"view."
+msgstr ""
+"製品が修理された後の配送を管理したい場合、このボックスをチェックして下さい。チェックすると、製品の選択とともに集荷を作成します。拡張ビューをしている場合は"
+"、情報タブで場所を指定することができます。"
+
+#. module: mrp_repair
+#: model:ir.actions.act_window,name:mrp_repair.action_cancel_repair
+#: view:mrp.repair.cancel:0
+msgid "Cancel Repair Order"
+msgstr "修理オーダーのキャンセル"
+
+#. module: mrp_repair
+#: field:mrp.repair.fee,to_invoice:0
+#: field:mrp.repair.line,to_invoice:0
+msgid "To Invoice"
+msgstr "請求対象"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Printing Date"
+msgstr "印刷日"
+
+#. module: mrp_repair
+#: field:mrp.repair.make_invoice,group:0
+msgid "Group by partner invoice address"
+msgstr "パートナの請求書住所によるグループ"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:435
+#, python-format
+msgid "No product defined on Fees!"
+msgstr "料金が定義されていない製品です。"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: field:mrp.repair,company_id:0
+msgid "Company"
+msgstr "会社"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Set to Draft"
+msgstr "ドラフトに設定"
+
+#. module: mrp_repair
+#: selection:mrp.repair,state:0
+msgid "Invoice Exception"
+msgstr "請求書の例外"
+
+#. module: mrp_repair
+#: field:mrp.repair,address_id:0
+msgid "Delivery Address"
+msgstr "配達住所"
+
+#. module: mrp_repair
+#: model:ir.actions.act_window,name:mrp_repair.act_mrp_repair_invoice
+#: model:ir.model,name:mrp_repair.model_mrp_repair_make_invoice
+#: view:mrp.repair:0
+msgid "Make Invoice"
+msgstr "請求書作成"
+
+#. module: mrp_repair
+#: field:mrp.repair.fee,price_subtotal:0
+#: field:mrp.repair.line,price_subtotal:0
+msgid "Subtotal"
+msgstr "小計"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Invoice address :"
+msgstr "請求書住所:"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: field:mrp.repair,guarantee_limit:0
+msgid "Guarantee limit"
+msgstr "保証制限"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Notes"
+msgstr "注記"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: field:mrp.repair,amount_tax:0
+#: field:mrp.repair.fee,tax_id:0
+#: field:mrp.repair.line,tax_id:0
+msgid "Taxes"
+msgstr "税金"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Net Total :"
+msgstr "合計:"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:435
+#, python-format
+msgid "Warning !"
+msgstr "警告"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "VAT"
+msgstr "消費税"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Operations"
+msgstr "操作"
+
+#. module: mrp_repair
+#: field:mrp.repair,move_id:0
+msgid "Move"
+msgstr "移動"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:370
+#, python-format
+msgid "You have to select a Partner Invoice Address in the repair form !"
+msgstr "修理フォームではパートなの請求書住所を選択する必要があります。"
+
+#. module: mrp_repair
+#: model:ir.actions.act_window,name:mrp_repair.action_repair_order_tree
+#: model:ir.ui.menu,name:mrp_repair.menu_repair_order
+msgid "Repair Orders"
+msgstr "修理オーダー"
+
+#. module: mrp_repair
+#: model:ir.actions.report.xml,name:mrp_repair.report_mrp_repair
+msgid "Quotation / Order"
+msgstr "見積 / オーダー"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:337
+#, python-format
+msgid "Warning"
+msgstr "警告"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Extra Info"
+msgstr "追加情報"
+
+#. module: mrp_repair
+#: field:mrp.repair.fee,repair_id:0
+#: field:mrp.repair.line,repair_id:0
+msgid "Repair Order Reference"
+msgstr "修理オーダー参照"
+
+#. module: mrp_repair
+#: selection:mrp.repair.line,state:0
+msgid "Draft"
+msgstr "ドラフト"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:384
+#, python-format
+msgid "No account defined for partner \"%s\"."
+msgstr "パートナ %s にアカウントが定義されていません。"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: selection:mrp.repair,state:0
+#: selection:mrp.repair.line,state:0
+msgid "Confirmed"
+msgstr "確認済"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Repairs order"
+msgstr "修理オーダー"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Repair Order N° :"
+msgstr "修理オーダー番号:"
+
+#. module: mrp_repair
+#: field:mrp.repair,prodlot_id:0
+#: field:mrp.repair.line,prodlot_id:0
+#: report:repair.order:0
+msgid "Lot Number"
+msgstr "ロット番号"
+
+#. module: mrp_repair
+#: field:mrp.repair,fees_lines:0
+msgid "Fees Lines"
+msgstr "料金行"
+
+#. module: mrp_repair
+#: field:mrp.repair.line,type:0
+msgid "Type"
+msgstr "タイプ"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Fees Line(s)"
+msgstr "料金行"
+
+#. module: mrp_repair
+#: selection:mrp.repair,state:0
+msgid "To be Invoiced"
+msgstr "請求"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Shipping address :"
+msgstr "送付先:"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:334
+#: code:addons/mrp_repair/mrp_repair.py:384
+#: code:addons/mrp_repair/mrp_repair.py:413
+#: code:addons/mrp_repair/mrp_repair.py:442
+#, python-format
+msgid "Error !"
+msgstr "エラー"
+
+#. module: mrp_repair
+#: field:mrp.repair.line,product_uom_qty:0
+msgid "Quantity (UoM)"
+msgstr "数量"
+
+#. module: mrp_repair
+#: help:mrp.repair.line,state:0
+msgid ""
+" * The 'Draft' state is set automatically as draft when repair order in "
+"draft state. \n"
+"* The 'Confirmed' state is set automatically as confirm when repair order in "
+"confirm state. \n"
+"* The 'Done' state is set automatically when repair order is completed. "
+" \n"
+"* The 'Cancelled' state is set automatically when user cancel repair order."
+msgstr ""
+" ・ ドラフト状態は、修理オーダーがドラフト状態の時に自動的に設定されます。\n"
+"・ 確認済状態は、修理オーダーが確認状態の時に自動的に設定されます。\n"
+"・ 完了状態は、修理オーダーが完了した時に自動的に設定されます。\n"
+"・ キャンセル済状態は、ユーザが修理オーダーをキャンセルした時に設定されます。"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Total :"
+msgstr "合計:"
+
+#. module: mrp_repair
+#: view:mrp.repair.cancel:0
+msgid ""
+"This operation will cancel the Repair process, but will not cancel it's "
+"Invoice. Do you want to continue?"
+msgstr "この操作は修理処理でキャンセルされます。しかし、その請求書はキャンセルできません。続行しますか?"
+
+#. module: mrp_repair
+#: field:mrp.repair,pricelist_id:0
+msgid "Pricelist"
+msgstr "価格リスト"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: field:mrp.repair,quotation_notes:0
+msgid "Quotation Notes"
+msgstr "見積注記"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/wizard/cancel_repair.py:49
+#, python-format
+msgid "Warning!"
+msgstr "警告"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Search Reair Orders"
+msgstr "修理オーダー検索"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "(Add)"
+msgstr "(追加)"
+
+#. module: mrp_repair
+#: model:ir.model,name:mrp_repair.model_mrp_repair_line
+#: view:mrp.repair:0
+msgid "Repair Line"
+msgstr "修理行"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: field:mrp.repair,partner_id:0
+msgid "Partner"
+msgstr "パートナ"
+
+#. module: mrp_repair
+#: field:mrp.repair,invoice_method:0
+msgid "Invoice Method"
+msgstr "請求の方法"
+
+#. module: mrp_repair
+#: field:mrp.repair,repaired:0
+msgid "Repaired"
+msgstr "修理済"
+
+#. module: mrp_repair
+#: field:mrp.repair.fee,invoice_line_id:0
+#: field:mrp.repair.line,invoice_line_id:0
+msgid "Invoice Line"
+msgstr "請求書行"
+
+#. module: mrp_repair
+#: selection:mrp.repair.line,state:0
+msgid "Canceled"
+msgstr "キャンセル済"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:337
+#, python-format
+msgid "Production lot is required for opration line with product '%s'"
+msgstr "生産ロットは製品 %s が操作ラインのために必要です。"
+
+#. module: mrp_repair
+#: selection:mrp.repair,invoice_method:0
+msgid "Before Repair"
+msgstr "修理前"
+
+#. module: mrp_repair
+#: field:mrp.repair,location_id:0
+msgid "Current Location"
+msgstr "現在の場所"
+
+#. module: mrp_repair
+#: view:mrp.repair.cancel:0
+msgid "Yes"
+msgstr ""
+
+#. module: mrp_repair
+#: field:mrp.repair,invoiced:0
+#: field:mrp.repair.fee,invoiced:0
+#: field:mrp.repair.line,invoiced:0
+msgid "Invoiced"
+msgstr "請求済"
+
+#. module: mrp_repair
+#: view:mrp.repair.cancel:0
+msgid "No"
+msgstr ""
+
+#. module: mrp_repair
+#: view:mrp.repair.make_invoice:0
+msgid "Create invoices"
+msgstr "請求書作成"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "(Remove)"
+msgstr "(取除く)"
+
+#. module: mrp_repair
+#: selection:mrp.repair.line,type:0
+msgid "Add"
+msgstr "追加"
+
+#. module: mrp_repair
+#: view:mrp.repair.make_invoice:0
+msgid "Do you really want to create the invoice(s)?"
+msgstr "本当に請求書を作成しますか?"
+
+#. module: mrp_repair
+#: field:mrp.repair,name:0
+msgid "Repair Reference"
+msgstr "修理参照"
+
+#. module: mrp_repair
+#: model:ir.model,name:mrp_repair.model_mrp_repair
+msgid "Repair Order"
+msgstr "修理オーダー"
+
+#. module: mrp_repair
+#: selection:mrp.repair,state:0
+msgid "Under Repair"
+msgstr "修理中"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Ready To Repair"
+msgstr "修理準備完了"
+
+#. module: mrp_repair
+#: field:mrp.repair,amount_untaxed:0
+msgid "Untaxed Amount"
+msgstr "非課税金額"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Guarantee Limit"
+msgstr "保証制限"
+
+#. module: mrp_repair
+#: field:mrp.repair,default_address_id:0
+msgid "unknown"
+msgstr "不明"
+
+#. module: mrp_repair
+#: field:mrp.repair,product_id:0
+#: report:repair.order:0
+msgid "Product to Repair"
+msgstr "修理製品"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "N° :"
+msgstr "番号:"
+
+#. module: mrp_repair
+#: help:mrp.repair,pricelist_id:0
+msgid "The pricelist comes from the selected partner, by default."
+msgstr "価格リストはデフォルトで選択したパートナから来ます。"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Date"
+msgstr "日付"
+
+#. module: mrp_repair
+#: model:ir.model,name:mrp_repair.model_mrp_repair_fee
+msgid "Repair Fees Line"
+msgstr "修理費行"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:334
+#, python-format
+msgid "You cannot confirm a repair order which has no line."
+msgstr "修理行には明細行がないため確認できません。"
+
+#. module: mrp_repair
+#: selection:mrp.repair,state:0
+msgid "Quotation"
+msgstr "見積"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Compute"
+msgstr "計算"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Confirm Repair"
+msgstr "修理の確認"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Repair Quotation"
+msgstr "修理見積"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "End Repair"
+msgstr "修理終了"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:413
+#: code:addons/mrp_repair/mrp_repair.py:442
+#, python-format
+msgid "No account defined for product \"%s\"."
+msgstr "製品 %s のアカウントが定義されていません。"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Quotations"
+msgstr "見積"
+
+#. module: mrp_repair
+#: field:mrp.repair.fee,product_uom_qty:0
+#: report:repair.order:0
+msgid "Quantity"
+msgstr "数量"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Start Repair"
+msgstr "修理開始"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: field:mrp.repair,state:0
+#: field:mrp.repair.line,state:0
+msgid "State"
+msgstr "状態"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Qty"
+msgstr "数量"
+
+#. module: mrp_repair
+#: field:mrp.repair.fee,price_unit:0
+#: field:mrp.repair.line,price_unit:0
+#: report:repair.order:0
+msgid "Unit Price"
+msgstr "単価"
+
+#. module: mrp_repair
+#: selection:mrp.repair,state:0
+#: selection:mrp.repair.line,state:0
+msgid "Done"
+msgstr "完了"
+
+#. module: mrp_repair
+#: help:mrp.repair,guarantee_limit:0
+msgid ""
+"The guarantee limit is computed as: last move date + warranty defined on "
+"selected product. If the current date is below the guarantee limit, each "
+"operation and fee you will add will be set as 'not to invoiced' by default. "
+"Note that you can change manually afterwards."
+msgstr ""
+"保証制限は次のように計算されます:最終移動日+選択製品で定義された保証期間。現在日付が保証期限内であれば、各操作と料金にはデフォルトで請求外としてセットさ"
+"れます。その後、手作業で変更ができます。"
+
+#. module: mrp_repair
+#: field:mrp.repair,invoice_id:0
+msgid "Invoice"
+msgstr "請求書"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Fees"
+msgstr "費用"
+
+#. module: mrp_repair
+#: selection:mrp.repair,state:0
+#: view:mrp.repair.make_invoice:0
+msgid "Cancel"
+msgstr "キャンセル"
+
+#. module: mrp_repair
+#: field:mrp.repair.line,location_dest_id:0
+msgid "Dest. Location"
+msgstr "宛先場所"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Operation Line(s)"
+msgstr "操作行"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "History"
+msgstr "履歴"
+
+#. module: mrp_repair
+#: field:mrp.repair,location_dest_id:0
+msgid "Delivery Location"
+msgstr "配達場所"
+
+#. module: mrp_repair
+#: help:mrp.repair,invoice_method:0
+msgid ""
+"This field allow you to change the workflow of the repair order. If value "
+"selected is different from 'No Invoice', it also allow you to select the "
+"pricelist and invoicing address."
+msgstr ""
+"この項目は修理オーダーのワークフローを変更することを許します。請求書なしと異なる値が選択された場合、価格リストと請求書住所の選択ができます。"
+
+#. module: mrp_repair
+#: view:mrp.repair.make_invoice:0
+msgid "Create Invoice"
+msgstr "請求書作成"
+
+#. module: mrp_repair
+#: field:mrp.repair.fee,name:0
+#: field:mrp.repair.line,name:0
+#: report:repair.order:0
+msgid "Description"
+msgstr "説明"
+
+#. module: mrp_repair
+#: field:mrp.repair,operations:0
+msgid "Operation Lines"
+msgstr "操作行"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "invoiced"
+msgstr "請求済"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: field:mrp.repair.fee,product_id:0
+#: field:mrp.repair.line,product_id:0
+msgid "Product"
+msgstr "製品"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Invoice Corrected"
+msgstr "修正された請求書"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Price"
+msgstr "価格"
+
+#. module: mrp_repair
+#: field:mrp.repair,deliver_bool:0
+msgid "Deliver"
+msgstr "配達"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: field:mrp.repair,internal_notes:0
+msgid "Internal Notes"
+msgstr "内部注記"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Taxes:"
+msgstr "税金:"
+
+#. module: mrp_repair
+#: field:mrp.repair,picking_id:0
+msgid "Picking"
+msgstr "集荷"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Untaxed amount"
+msgstr "税抜金額"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/wizard/cancel_repair.py:41
+#, python-format
+msgid "Active ID is not Found"
+msgstr "アクティブIDが見つかりません。"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/wizard/cancel_repair.py:49
+#, python-format
+msgid "Repair order is not invoiced."
+msgstr "修理オーダーは請求されていません。"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Total amount"
+msgstr "合計金額"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "UoM"
+msgstr "単位"
+
+#. module: mrp_repair
+#: selection:mrp.repair.line,type:0
+msgid "Remove"
+msgstr "取除く"
+
+#. module: mrp_repair
+#: field:mrp.repair.fee,product_uom:0
+#: field:mrp.repair.line,product_uom:0
+msgid "Product UoM"
+msgstr "製品単位"
+
+#. module: mrp_repair
+#: field:mrp.repair,partner_invoice_id:0
+msgid "Invoicing Address"
+msgstr "請求住所"
+
+#. module: mrp_repair
+#: selection:mrp.repair,invoice_method:0
+msgid "After Repair"
+msgstr "修理後"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Invoicing"
+msgstr "請求中"
+
+#. module: mrp_repair
+#: field:mrp.repair.line,location_id:0
+msgid "Source Location"
+msgstr "元の場所"
+
+#. module: mrp_repair
+#: model:ir.model,name:mrp_repair.model_mrp_repair_cancel
+#: view:mrp.repair:0
+msgid "Cancel Repair"
+msgstr "修理のキャンセル"
+
+#. module: mrp_repair
+#: selection:mrp.repair,invoice_method:0
+msgid "No Invoice"
+msgstr "請求外"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "States"
+msgstr "状態"
+
+#. module: mrp_repair
+#: help:mrp.repair,partner_id:0
+msgid ""
+"This field allow you to choose the parner that will be invoiced and delivered"
+msgstr "この項目は請求して配信されるパートナを選択することを許します。"
+
+#. module: mrp_repair
+#: field:mrp.repair,amount_total:0
+msgid "Total"
+msgstr "合計"
+
+#. module: mrp_repair
+#: selection:mrp.repair,state:0
+msgid "Ready to Repair"
+msgstr "修理準備完了"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:370
+#, python-format
+msgid "No partner !"
+msgstr "パートナがありません。"
diff --git a/addons/mrp_subproduct/i18n/ja.po b/addons/mrp_subproduct/i18n/ja.po
new file mode 100644
index 00000000000..369cb9ec43d
--- /dev/null
+++ b/addons/mrp_subproduct/i18n/ja.po
@@ -0,0 +1,128 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-31 06:38+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: mrp_subproduct
+#: field:mrp.subproduct,product_id:0
+msgid "Product"
+msgstr "製品"
+
+#. module: mrp_subproduct
+#: selection:mrp.subproduct,subproduct_type:0
+msgid "Fixed"
+msgstr "固定"
+
+#. module: mrp_subproduct
+#: sql_constraint:mrp.bom:0
+msgid ""
+"All product quantities must be greater than 0.\n"
+"You should install the mrp_subproduct module if you want to manage extra "
+"products on BoMs !"
+msgstr ""
+"全製品の数量は0より大きい必要があります。\n"
+"部品表上で追加の製品を管理したい場合は、mrp_subproductモジュールをインストールする必要があります。"
+
+#. module: mrp_subproduct
+#: view:mrp.bom:0
+msgid "sub products"
+msgstr "サブ製品"
+
+#. module: mrp_subproduct
+#: model:ir.model,name:mrp_subproduct.model_mrp_production
+msgid "Manufacturing Order"
+msgstr "製造オーダー"
+
+#. module: mrp_subproduct
+#: constraint:mrp.bom:0
+msgid "BoM line product should not be same as BoM product."
+msgstr "部品表のライン製品は部品表製品と同じではいけません。"
+
+#. module: mrp_subproduct
+#: view:mrp.bom:0
+msgid "Sub Products"
+msgstr "サブ製品"
+
+#. module: mrp_subproduct
+#: field:mrp.subproduct,subproduct_type:0
+msgid "Quantity Type"
+msgstr "数量タイプ"
+
+#. module: mrp_subproduct
+#: model:ir.model,name:mrp_subproduct.model_mrp_bom
+msgid "Bill of Material"
+msgstr "部品表"
+
+#. module: mrp_subproduct
+#: field:mrp.subproduct,product_qty:0
+msgid "Product Qty"
+msgstr "製品数量"
+
+#. module: mrp_subproduct
+#: field:mrp.subproduct,product_uom:0
+msgid "Product UOM"
+msgstr "製品単位"
+
+#. module: mrp_subproduct
+#: field:mrp.subproduct,bom_id:0
+msgid "BoM"
+msgstr "部品表"
+
+#. module: mrp_subproduct
+#: sql_constraint:mrp.production:0
+msgid "Reference must be unique per Company!"
+msgstr "参照は会社ごとに固有でなければいけません。"
+
+#. module: mrp_subproduct
+#: field:mrp.bom,sub_products:0
+msgid "sub_products"
+msgstr "サブ製品"
+
+#. module: mrp_subproduct
+#: selection:mrp.subproduct,subproduct_type:0
+msgid "Variable"
+msgstr "変数"
+
+#. module: mrp_subproduct
+#: model:ir.model,name:mrp_subproduct.model_mrp_subproduct
+msgid "Sub Product"
+msgstr "サブ製品"
+
+#. module: mrp_subproduct
+#: constraint:mrp.production:0
+msgid "Order quantity cannot be negative or zero!"
+msgstr "オーダー数量は負または0にはできません。"
+
+#. module: mrp_subproduct
+#: help:mrp.subproduct,subproduct_type:0
+msgid ""
+"Define how the quantity of subproducts will be set on the production orders "
+"using this BoM. 'Fixed' depicts a situation where the quantity of created "
+"subproduct is always equal to the quantity set on the BoM, regardless of how "
+"many are created in the production order. By opposition, 'Variable' means "
+"that the quantity will be computed as '(quantity of subproduct set on the "
+"BoM / quantity of manufactured product set on the BoM * quantity of "
+"manufactured product in the production order.)'"
+msgstr ""
+"この部品表を使った生産オーダー上にセットされるサブ製品の数量をどのくらいにするかを定義して下さい。固定は、生産オーダーによってどのくらい作成されるのかに関"
+"係なく、作成されるサブ製品の数量は部品表上にセットする数量といつも一致します。反対に可変は、その数量は(部品表上のサブ製品設定の数量 / "
+"部品表情の製造製品設定の数量 * 生産オーダーの製造製品の数量)として計算されます。"
+
+#. module: mrp_subproduct
+#: constraint:mrp.bom:0
+msgid "Error ! You cannot create recursive BoM."
+msgstr "エラー。再帰的な部品表を作ることはできません。"
diff --git a/addons/multi_company/i18n/ja.po b/addons/multi_company/i18n/ja.po
new file mode 100644
index 00000000000..9c792f95913
--- /dev/null
+++ b/addons/multi_company/i18n/ja.po
@@ -0,0 +1,97 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-31 06:13+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: multi_company
+#: model:res.company,overdue_msg:multi_company.res_company_odoo
+#: model:res.company,overdue_msg:multi_company.res_company_oerp_be
+#: model:res.company,overdue_msg:multi_company.res_company_oerp_editor
+#: model:res.company,overdue_msg:multi_company.res_company_oerp_in
+#: model:res.company,overdue_msg:multi_company.res_company_oerp_us
+msgid ""
+"\n"
+"Date: %(date)s\n"
+"\n"
+"Dear %(partner_name)s,\n"
+"\n"
+"Please find in attachment a reminder of all your unpaid invoices, for a "
+"total amount due of:\n"
+"\n"
+"%(followup_amount).2f %(company_currency)s\n"
+"\n"
+"Thanks,\n"
+"--\n"
+"%(user_signature)s\n"
+"%(company_name)s\n"
+" "
+msgstr ""
+"\n"
+"日付:%(date)s\n"
+"\n"
+"%(partner_name)s 様、\n"
+"\n"
+"どうぞ、添付いたしました御社のお支払をいただいていない請求書をご確認下さい。合計金額は次のとおりです:\n"
+"\n"
+"%(followup_amount).2f %(company_currency)s\n"
+"\n"
+"それではよろしくお願いいたします。\n"
+"--\n"
+"%(user_signature)s\n"
+"%(company_name)s\n"
+" "
+
+#. module: multi_company
+#: model:product.category,name:multi_company.Odoo1
+msgid "Odoo Offers"
+msgstr "Odoo提案"
+
+#. module: multi_company
+#: view:multi_company.default:0
+msgid "Returning"
+msgstr "返品"
+
+#. module: multi_company
+#: model:ir.ui.menu,name:multi_company.menu_custom_multicompany
+msgid "Multi-Companies"
+msgstr "多角化会社"
+
+#. module: multi_company
+#: view:multi_company.default:0
+msgid "Multi Company"
+msgstr "多角化会社"
+
+#. module: multi_company
+#: model:ir.actions.act_window,name:multi_company.action_inventory_form
+#: model:ir.ui.menu,name:multi_company.menu_action_inventory_form
+msgid "Default Company per Object"
+msgstr "オブジェクト毎のデフォルト会社"
+
+#. module: multi_company
+#: view:multi_company.default:0
+msgid "Matching"
+msgstr "マッチング"
+
+#. module: multi_company
+#: view:multi_company.default:0
+msgid "Condition"
+msgstr "条件"
+
+#. module: multi_company
+#: model:product.template,name:multi_company.product_product_odoo1_product_template
+msgid "Odoo Offer"
+msgstr "Odoo提案"
diff --git a/addons/pad_project/i18n/pt.po b/addons/pad_project/i18n/pt.po
new file mode 100644
index 00000000000..a86cca3d2e6
--- /dev/null
+++ b/addons/pad_project/i18n/pt.po
@@ -0,0 +1,38 @@
+# Portuguese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-22 09:45+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Portuguese <pt@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: pad_project
+#: constraint:project.task:0
+msgid "Error ! Task end-date must be greater then task start-date"
+msgstr "Erro ! Data final da tarefa tem que ser posterior a data inicial"
+
+#. module: pad_project
+#: model:ir.model,name:pad_project.model_project_task
+msgid "Task"
+msgstr "Tarefa"
+
+#. module: pad_project
+#: view:project.task:0
+msgid "Pad"
+msgstr ""
+
+#. module: pad_project
+#: constraint:project.task:0
+msgid "Error ! You cannot create recursive tasks."
+msgstr "Erro ! Não se pode criar tarefas recursivas"
diff --git a/addons/plugin/i18n/fr.po b/addons/plugin/i18n/fr.po
index f7ce62549d4..10c5f30904f 100644
--- a/addons/plugin/i18n/fr.po
+++ b/addons/plugin/i18n/fr.po
@@ -8,16 +8,17 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2012-02-15 19:26+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2012-05-24 17:39+0000\n"
+"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) "
+"<maxime.chambreuil@savoirfairelinux.com>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-02-16 05:07+0000\n"
-"X-Generator: Launchpad (build 14781)\n"
+"X-Launchpad-Export-Date: 2012-05-25 04:40+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: plugin
#: model:ir.model,name:plugin.model_plugin_handler
msgid "plugin.handler"
-msgstr ""
+msgstr "Gestionnaire d'extensions"
diff --git a/addons/plugin/i18n/pt.po b/addons/plugin/i18n/pt.po
new file mode 100644
index 00000000000..efc1467c3b2
--- /dev/null
+++ b/addons/plugin/i18n/pt.po
@@ -0,0 +1,23 @@
+# Portuguese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-05-22 09:45+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Portuguese <pt@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. module: plugin
+#: model:ir.model,name:plugin.model_plugin_handler
+msgid "plugin.handler"
+msgstr "plugin.handler"
diff --git a/addons/plugin_thunderbird/i18n/fr.po b/addons/plugin_thunderbird/i18n/fr.po
index 74bef6f2bdf..d79a72481f0 100644
--- a/addons/plugin_thunderbird/i18n/fr.po
+++ b/addons/plugin_thunderbird/i18n/fr.po
@@ -8,14 +8,15 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-09 00:36+0000\n"
-"PO-Revision-Date: 2011-12-26 19:12+0000\n"
-"Last-Translator: tfr (Openerp) <Unknown>\n"
+"PO-Revision-Date: 2012-05-24 17:39+0000\n"
+"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) "
+"<maxime.chambreuil@savoirfairelinux.com>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-02-10 04:49+0000\n"
-"X-Generator: Launchpad (build 14771)\n"
+"X-Launchpad-Export-Date: 2012-05-25 04:39+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: plugin_thunderbird
#: field:plugin_thunderbird.installer,pdf_file:0
@@ -103,4 +104,4 @@ msgstr ""
#: model:ir.ui.menu,name:plugin_thunderbird.menu_base_config_plugins_thunderbird
#: view:plugin_thunderbird.installer:0
msgid "Install Thunderbird Plug-In"
-msgstr ""
+msgstr "Installer l'extension Thunderbird"
diff --git a/addons/plugin_thunderbird/i18n/ja.po b/addons/plugin_thunderbird/i18n/ja.po
new file mode 100644
index 00000000000..b929d9c05e4
--- /dev/null
+++ b/addons/plugin_thunderbird/i18n/ja.po
@@ -0,0 +1,100 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-09 00:36+0000\n"
+"PO-Revision-Date: 2012-05-31 22:07+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:33+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: plugin_thunderbird
+#: field:plugin_thunderbird.installer,pdf_file:0
+msgid "Installation Manual"
+msgstr "インストールマニュアル"
+
+#. module: plugin_thunderbird
+#: field:plugin_thunderbird.installer,description:0
+msgid "Description"
+msgstr "説明"
+
+#. module: plugin_thunderbird
+#: view:plugin_thunderbird.installer:0
+msgid "title"
+msgstr "タイトル"
+
+#. module: plugin_thunderbird
+#: model:ir.model,name:plugin_thunderbird.model_plugin_thunderbird_installer
+msgid "plugin_thunderbird.installer"
+msgstr ""
+
+#. module: plugin_thunderbird
+#: field:plugin_thunderbird.installer,config_logo:0
+msgid "Image"
+msgstr "画像"
+
+#. module: plugin_thunderbird
+#: field:plugin_thunderbird.installer,plugin_file:0
+#: field:plugin_thunderbird.installer,thunderbird:0
+msgid "Thunderbird Plug-in"
+msgstr "Thunderbirdプラグイン"
+
+#. module: plugin_thunderbird
+#: view:plugin_thunderbird.installer:0
+msgid ""
+"This plug-in allows you to link your e-mail to OpenERP's documents. You can "
+"attach it to any existing one in OpenERP or create a new one."
+msgstr ""
+"このプラグインはあなたのEメールをOpenERPのドキュメントにリンクさせることができます。OpenERPの既存あるいは新しく作成したドキュメントを添付で"
+"きます。"
+
+#. module: plugin_thunderbird
+#: help:plugin_thunderbird.installer,thunderbird:0
+msgid ""
+"Allows you to select an object that you would like to add to your email and "
+"its attachments."
+msgstr "あなたがEメールに追加したい、添付したいオブジェクトを選択するのが許されます。"
+
+#. module: plugin_thunderbird
+#: help:plugin_thunderbird.installer,pdf_file:0
+msgid "The documentation file :- how to install Thunderbird Plug-in."
+msgstr "ドキュメントファイル:Thunderbirdプラグインのインストール方法"
+
+#. module: plugin_thunderbird
+#: view:plugin_thunderbird.installer:0
+msgid "_Close"
+msgstr "閉じる"
+
+#. module: plugin_thunderbird
+#: view:plugin_thunderbird.installer:0
+msgid "Installation and Configuration Steps"
+msgstr "インストールと設定の手順"
+
+#. module: plugin_thunderbird
+#: field:plugin_thunderbird.installer,name:0
+#: field:plugin_thunderbird.installer,pdf_name:0
+msgid "File name"
+msgstr "ファイル名"
+
+#. module: plugin_thunderbird
+#: help:plugin_thunderbird.installer,plugin_file:0
+msgid ""
+"Thunderbird plug-in file. Save as this file and install this plug-in in "
+"thunderbird."
+msgstr "Thunderbirdプラグインファイル。このファイルを保存し、Thunderbirdの中にこのプラグインをインストールして下さい。"
+
+#. module: plugin_thunderbird
+#: model:ir.actions.act_window,name:plugin_thunderbird.action_thunderbird_installer
+#: model:ir.ui.menu,name:plugin_thunderbird.menu_base_config_plugins_thunderbird
+#: view:plugin_thunderbird.installer:0
+msgid "Install Thunderbird Plug-In"
+msgstr "Thunderbirdプラグインのインストール"
diff --git a/addons/point_of_sale/i18n/ja.po b/addons/point_of_sale/i18n/ja.po
new file mode 100644
index 00000000000..98a5e9cb828
--- /dev/null
+++ b/addons/point_of_sale/i18n/ja.po
@@ -0,0 +1,2725 @@
+# Japanese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 01:37+0100\n"
+"PO-Revision-Date: 2012-06-01 05:21+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-06-01 05:32+0000\n"
+"X-Generator: Launchpad (build 15342)\n"
+
+#. module: point_of_sale
+#: field:report.transaction.pos,product_nb:0
+msgid "Product Nb."
+msgstr "製品番号"
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_trans_pos_tree_today
+msgid "Sales by day"
+msgstr "日毎の販売"
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/wizard/pos_open_statement.py:49
+#, python-format
+msgid ""
+"You must define which payment method must be available through the point of "
+"sale by reusing existing bank and cash through \"Accounting > Configuration "
+"> Financial Accounting > Journals\". Select a journal and check the field "
+"\"PoS Payment Method\" from the \"Point of Sale\" tab. You can also create "
+"new payment methods directly from menu \"PoS Backend > Configuration > "
+"Payment Methods\"."
+msgstr ""
+"会計 > 設定 > 財務会計 > 仕訳帳 "
+"から既存の銀行と現金を再利用することによって、POSを通して利用可能にしなければならない支払方法を定義する必要があります。仕訳帳を選択し、POSタブからP"
+"OS支払方法項目をチェックして下さい。POS後方事務 > 設定 > 支払方法メニューから直接新しい支払方法を作成することもできます。"
+
+#. module: point_of_sale
+#: view:pos.order:0 view:report.pos.order:0
+msgid "Today"
+msgstr "本日"
+
+#. module: point_of_sale
+#: model:pos.category,name:point_of_sale.plain_water
+msgid "Plain Water"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.cash.register:0
+msgid "Year from Creation date of cash register"
+msgstr "キャッシュレジスタの作成日の年"
+
+#. module: point_of_sale
+#: view:pos.confirm:0
+msgid "Post All Orders"
+msgstr "全ての注文を記帳"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.spa_2l_product_template
+msgid "Spa Reine 2L"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_pos_box_out
+msgid "Pos Box Out"
+msgstr "POSボックスアウト"
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_report_cash_register_all
+#: model:ir.ui.menu,name:point_of_sale.menu_report_cash_register_all
+msgid "Register Analysis"
+msgstr "レジスター分析"
+
+#. module: point_of_sale
+#: model:ir.actions.report.xml,name:point_of_sale.pos_lines_detail
+#: report:pos.details:0 report:pos.details_summary:0
+msgid "Details of Sales"
+msgstr "販売の詳細"
+
+#. module: point_of_sale
+#: view:report.cash.register:0 field:report.cash.register,day:0
+#: view:report.pos.order:0 field:report.pos.order,day:0
+msgid "Day"
+msgstr "日"
+
+#. module: point_of_sale
+#: view:pos.make.payment:0
+msgid "Add payment :"
+msgstr "支払の追加:"
+
+#. module: point_of_sale
+#: field:pos.box.out,name:0
+msgid "Description / Reason"
+msgstr "説明 / 理由"
+
+#. module: point_of_sale
+#: field:report.sales.by.margin.pos,product_name:0
+#: field:report.sales.by.margin.pos.month,product_name:0
+msgid "Product Name"
+msgstr "製品名"
+
+#. module: point_of_sale
+#: view:report.cash.register:0
+msgid "Month from Creation date of cash register"
+msgstr "キャッシュレジスタの作成日の月"
+
+#. module: point_of_sale
+#: report:account.statement:0 field:pos.box.entries,amount:0
+#: field:pos.box.out,amount:0 report:pos.invoice:0
+#: field:pos.make.payment,amount:0 report:pos.user.product:0
+#: field:report.transaction.pos,amount:0
+msgid "Amount"
+msgstr "金額"
+
+#. module: point_of_sale
+#: constraint:account.journal:0
+msgid ""
+"Configuration error! The currency chosen should be shared by the default "
+"accounts too."
+msgstr "設定エラー。選択された通貨はデフォルトアカウントによっても共有されなければなりません。"
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.pos_category_action
+#: model:ir.ui.menu,name:point_of_sale.menu_pos_category view:pos.category:0
+msgid "PoS Categories"
+msgstr "POS分類"
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_box_out
+#: model:ir.ui.menu,name:point_of_sale.menu_wizard_enter_jrnl2
+msgid "Take Money Out"
+msgstr "お金の取り出し"
+
+#. module: point_of_sale
+#: report:pos.lines:0
+msgid "VAT"
+msgstr "消費税"
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "Origin"
+msgstr "起点"
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "Tax"
+msgstr "税金"
+
+#. module: point_of_sale
+#: report:pos.user.product:0
+msgid "Starting Date"
+msgstr "開始日"
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/wizard/pos_box_entries.py:46
+#, python-format
+msgid ""
+"You do not have any open cash register. You must create a payment method or "
+"open a cash register."
+msgstr "開いているキャッシュレジスタを持っていません。支払方法を作成するか、キャッシュレジスタを開く必要があります。"
+
+#. module: point_of_sale
+#: report:account.statement:0 field:report.pos.order,partner_id:0
+msgid "Partner"
+msgstr "パートナ"
+
+#. module: point_of_sale
+#: report:pos.details:0 report:pos.details_summary:0
+msgid "Total of the day"
+msgstr "1日の合計"
+
+#. module: point_of_sale
+#: view:report.pos.order:0 field:report.pos.order,average_price:0
+msgid "Average Price"
+msgstr "平均価格"
+
+#. module: point_of_sale
+#: report:pos.lines:0
+msgid "Disc. (%)"
+msgstr "割引(%)"
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_point_open_config
+msgid "Cash Register Management"
+msgstr "キャッシュレジスタ管理"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.lays_naturel_45g_product_template
+msgid "Lays Naturel 45g"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Accounting Information"
+msgstr "会計情報"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_regular_2l_product_template
+msgid "Coca-Cola Regular 2L"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_trans_pos_tree_month
+msgid "Sales by month"
+msgstr "月毎の売上"
+
+#. module: point_of_sale
+#: model:pos.category,name:point_of_sale.soda_orange
+msgid "Orange"
+msgstr "オレンジ"
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_report_sales_by_user_pos_today
+#: view:report.sales.by.user.pos:0 view:report.sales.by.user.pos.month:0
+msgid "Sales by User"
+msgstr "ユーザ毎の売上"
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "Disc.(%)"
+msgstr "割引(%)"
+
+#. module: point_of_sale
+#: field:pos.box.entries,ref:0
+msgid "Ref"
+msgstr "参照"
+
+#. module: point_of_sale
+#: view:report.pos.order:0 field:report.pos.order,price_total:0
+msgid "Total Price"
+msgstr "合計価格"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.leffe_brune_33cl_product_template
+msgid "Leffe Brune 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.report.xml,name:point_of_sale.pos_sales_user
+#: report:pos.sales.user:0
+msgid "Sales Report"
+msgstr "販売レポート"
+
+#. module: point_of_sale
+#: model:pos.category,name:point_of_sale.beverage
+msgid "Beverages"
+msgstr "飲物"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.stella_50cl_product_template
+msgid "Stella Artois 50cl"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.details:0
+msgid "Dates"
+msgstr "日付"
+
+#. module: point_of_sale
+#: field:pos.category,parent_id:0
+msgid "Parent Category"
+msgstr "親分類"
+
+#. module: point_of_sale
+#: report:pos.details:0 report:pos.lines:0 report:pos.payment.report.user:0
+#: report:pos.user.product:0
+msgid "["
+msgstr "["
+
+#. module: point_of_sale
+#: field:report.sales.by.margin.pos,total:0
+#: field:report.sales.by.margin.pos.month,total:0
+msgid "Margin"
+msgstr "粗利益"
+
+#. module: point_of_sale
+#: field:pos.discount,discount:0 field:pos.order.line,discount:0
+msgid "Discount (%)"
+msgstr "割引(%)"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.oetker_speciale_product_template
+msgid "Dr. Oetker Ristorante Speciale"
+msgstr "ピザレストランスペシャル"
+
+#. module: point_of_sale
+#: view:pos.order.line:0
+msgid "Total qty"
+msgstr "合計数量"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.fanta_orange_33cl_product_template
+msgid "Fanta Orange 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_report_sales_by_user_pos_month
+msgid "Sales by User Monthly"
+msgstr "月間ユーザ別販売"
+
+#. module: point_of_sale
+#: report:all.closed.cashbox.of.the.day:0
+msgid "Today's Closed Cashbox"
+msgstr "本日の閉じられた金庫"
+
+#. module: point_of_sale
+#: view:report.cash.register:0
+msgid "Day from Creation date of cash register"
+msgstr "キャッシュレジスタの作成日の日"
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_point_of_sale
+msgid "Daily Operations"
+msgstr "日常業務"
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:285
+#, python-format
+msgid "Configuration Error !"
+msgstr "設定エラーです。"
+
+#. module: point_of_sale
+#: model:pos.category,name:point_of_sale.sparkling_water
+msgid "Sparkling Water"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.box.entries:0
+msgid "Fill in this form if you put money in the cash register:"
+msgstr "キャッシュレジスタ内にお金を入れる場合はこのフォームに記入して下さい。"
+
+#. module: point_of_sale
+#: view:account.bank.statement:0
+msgid "Search Cash Statements"
+msgstr "現金取引明細書の検索"
+
+#. module: point_of_sale
+#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
+msgid "August"
+msgstr "8月"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.pepsi_max_lemon_33cl_product_template
+msgid "Pepsi Max Cool Lemon 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
+msgid "June"
+msgstr "6月"
+
+#. module: point_of_sale
+#: view:pos.order.line:0
+msgid "POS Order line"
+msgstr "POSオーダー行"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.fanta_orange_50cl_product_template
+msgid "Fanta Orange 50cl"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.category,child_id:0
+msgid "Children Categories"
+msgstr "子分類"
+
+#. module: point_of_sale
+#: field:pos.make.payment,payment_date:0
+msgid "Payment Date"
+msgstr "支払日"
+
+#. module: point_of_sale
+#: help:product.product,pos_categ_id:0
+msgid ""
+"If you want to sell this product through the point of sale, select the "
+"category it belongs to."
+msgstr "POSを通してこの製品を販売したい場合は、それが属する分類を選択して下さい。"
+
+#. module: point_of_sale
+#: report:account.statement:0 report:all.closed.cashbox.of.the.day:0
+msgid "Closing Date"
+msgstr "締切日"
+
+#. module: point_of_sale
+#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
+msgid "October"
+msgstr "10月"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_light_1l_product_template
+msgid "Coca-Cola Light 1L"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.details:0 report:pos.details_summary:0
+msgid "Summary"
+msgstr "要約"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.chaudfontaine_50cl_product_template
+msgid "Chaudfontaine 50cl"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.invoice:0 report:pos.lines:0 field:pos.order.line,qty:0
+#: field:report.sales.by.user.pos,qty:0
+#: field:report.sales.by.user.pos.month,qty:0
+msgid "Quantity"
+msgstr "数量"
+
+#. module: point_of_sale
+#: field:pos.order.line,name:0
+msgid "Line No"
+msgstr "行番号"
+
+#. module: point_of_sale
+#: view:account.bank.statement:0
+msgid "Period"
+msgstr "期間"
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/wizard/pos_open_statement.py:49
+#, python-format
+msgid "No Cash Register Defined !"
+msgstr "キャッシュレジスタが定義されていません。"
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "Net Total:"
+msgstr "合計:"
+
+#. module: point_of_sale
+#: field:pos.make.payment,payment_name:0
+msgid "Payment Reference"
+msgstr "支払参照"
+
+#. module: point_of_sale
+#: report:pos.details_summary:0
+msgid "Mode of Payment"
+msgstr "支払モード"
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_pos_confirm
+msgid "Post POS Journal Entries"
+msgstr "POS仕訳帳エントリーの記帳"
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:408
+#, python-format
+msgid "Customer Invoice"
+msgstr "顧客請求書"
+
+#. module: point_of_sale
+#: view:pos.box.out:0
+msgid "Output Operation"
+msgstr "出力操作"
+
+#. module: point_of_sale
+#: view:report.pos.order:0 field:report.pos.order,total_discount:0
+msgid "Total Discount"
+msgstr "合計割引"
+
+#. module: point_of_sale
+#: view:pos.details:0 view:pos.payment.report:0 view:pos.payment.report.user:0
+#: view:pos.sale.user:0
+msgid "Print Report"
+msgstr "レポートの印刷"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.oetker_bolognese_product_template
+msgid "Dr. Oetker Ristorante Bolognese"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/wizard/pos_box_entries.py:105
+#, python-format
+msgid "Please check that income account is set to %s"
+msgstr "その損益勘定が %s にセットされていることをチェックして下さい。"
+
+#. module: point_of_sale
+#: model:pos.category,name:point_of_sale.pizza
+msgid "Pizza"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/wizard/pos_return.py:85
+#: code:addons/point_of_sale/wizard/pos_return.py:240
+#, python-format
+msgid "Add Product"
+msgstr "製品追加"
+
+#. module: point_of_sale
+#: field:report.transaction.pos,invoice_am:0
+msgid "Invoice Amount"
+msgstr "請求書金額"
+
+#. module: point_of_sale
+#: model:pos.category,name:point_of_sale.coke
+msgid "Coke"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "Tel. :"
+msgstr "TEL:"
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_confirm
+#: model:ir.ui.menu,name:point_of_sale.menu_wizard_pos_confirm
+msgid "Create Sale Entries"
+msgstr "販売エントリーの作成"
+
+#. #-#-#-#-# point_of_sale.pot (OpenERP Server 6.1rc1) #-#-#-#-#
+#. module: point_of_sale
+#. #-#-#-#-# point_of_sale.pot.web (PROJECT VERSION) #-#-#-#-#
+#. openerp-web
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_payment
+#: report:pos.details:0 view:pos.order:0
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:87
+msgid "Payment"
+msgstr "支払"
+
+#. module: point_of_sale
+#: view:report.cash.register:0
+msgid "Cash Analysis created in current month"
+msgstr "現在月中に作成された現金分析"
+
+#. module: point_of_sale
+#: report:account.statement:0 report:all.closed.cashbox.of.the.day:0
+msgid "Ending Balance"
+msgstr "期末残高"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.pepsi_max_50cl_product_template
+msgid "Pepsi Max 50cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.san_pellegrino_1l_product_template
+msgid "San Pellegrino 1L"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Post Entries"
+msgstr "エントリーの記帳"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.spa_1l_product_template
+msgid "Spa Reine 1L"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.details_summary:0
+msgid "Mode of Taxes"
+msgstr "税金のモード"
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/wizard/pos_close_statement.py:50
+#, python-format
+msgid "Cash registers are already closed."
+msgstr "キャッシュレジスタは既に閉じられました。"
+
+#. module: point_of_sale
+#: constraint:product.product:0
+msgid "Error: Invalid ean code"
+msgstr "エラー:無効な商品識別番号です。"
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_pos_open_statement
+#: view:pos.open.statement:0
+msgid "Open Statements"
+msgstr "取引明細書を開く"
+
+#. module: point_of_sale
+#: field:pos.details,date_end:0 field:pos.sale.user,date_end:0
+msgid "Date End"
+msgstr "終了日"
+
+#. module: point_of_sale
+#: view:report.pos.order:0
+msgid "POS ordered created during current year"
+msgstr "現在年中に作成されたPOSオーダー"
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_pos_form
+#: model:ir.ui.menu,name:point_of_sale.menu_point_ofsale view:pos.order:0
+msgid "PoS Orders"
+msgstr "POSオーダー"
+
+#. module: point_of_sale
+#: report:pos.details:0
+msgid "Sales total(Revenue)"
+msgstr "販売合計(売上)"
+
+#. module: point_of_sale
+#: report:pos.details:0 report:pos.details_summary:0
+msgid "Total paid"
+msgstr "合計支払"
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_all_menu_all_register
+msgid "List of Cash Registers"
+msgstr "キャッシュレジスタのリスト"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.maes_50cl_product_template
+msgid "Maes 50cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_report_transaction_pos
+msgid "transaction for the pos"
+msgstr "POS取引"
+
+#. module: point_of_sale
+#: view:report.pos.order:0
+msgid "Not Invoiced"
+msgstr "請求外"
+
+#. module: point_of_sale
+#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
+msgid "March"
+msgstr "3月"
+
+#. module: point_of_sale
+#: model:ir.actions.report.xml,name:point_of_sale.pos_users_product_re
+#: report:pos.user.product:0
+msgid "User's Product"
+msgstr "ユーザ製品"
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:641
+#, python-format
+msgid ""
+"You have to select a pricelist in the sale form !\n"
+"Please set one before choosing a product."
+msgstr ""
+"販売フォームの中の価格リストを選択する必要があります。\n"
+"製品を選択する前にそれをセットして下さい。"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.fanta_orange_2l_product_template
+msgid "Fanta Orange 2L"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.spa_33cl_product_template
+msgid "Spa Reine 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_pos_discount
+msgid "Add a Global Discount"
+msgstr "全体割引を追加"
+
+#. module: point_of_sale
+#: field:pos.order.line,price_subtotal_incl:0
+msgid "Subtotal"
+msgstr "小計"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.oetker_prosciutto_product_template
+msgid "Dr. Oetker Ristorante Prosciutto"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.lays_light_paprika_170g_product_template
+#: model:product.template,name:point_of_sale.lays_paprika_170g_product_template
+msgid "Lays Light Paprika 170g"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_light_lemon_50cl_product_template
+msgid "Coca-Cola Light Lemon 50cl"
+msgstr ""
+
+#. module: point_of_sale
+#: field:report.cash.register,balance_end_real:0
+msgid "Closing Balance"
+msgstr "期末残高"
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.act_pos_open_statement
+#: model:ir.model,name:point_of_sale.model_pos_close_statement
+msgid "Close Statements"
+msgstr "取引明細書を閉じる"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.croky_naturel_45g_product_template
+msgid "Croky Naturel 45g"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.product_product_putmoneyforchange1_product_template
+msgid "Cash Out"
+msgstr "現金引出"
+
+#. module: point_of_sale
+#: report:account.statement:0 report:all.closed.cashbox.of.the.day:0
+msgid "Starting Balance"
+msgstr "期首残高"
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_pos_category
+#: field:product.product,pos_categ_id:0
+msgid "PoS Category"
+msgstr "POS分類"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.chimay_bleu_75cl_product_template
+msgid "Chimay Bleu 75cl"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.payment.report.user:0
+msgid "Payment By User"
+msgstr "ユーザによる支払"
+
+#. module: point_of_sale
+#: view:report.pos.order:0 field:report.pos.order,nbr:0
+msgid "# of Lines"
+msgstr "行数"
+
+#. module: point_of_sale
+#: help:account.journal,check_dtls:0
+msgid ""
+"This field authorize Validation of Cashbox without controlling the closing "
+"balance."
+msgstr "この項目は期末残高を制御することなく金庫の検証を許可します。"
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_report_pos_details
+#: model:ir.ui.menu,name:point_of_sale.menu_pos_details
+msgid "Sale Details"
+msgstr "販売詳細"
+
+#. module: point_of_sale
+#: model:pos.category,name:point_of_sale.pils
+msgid "Pils"
+msgstr "ピルスナー"
+
+#. module: point_of_sale
+#: report:all.closed.cashbox.of.the.day:0
+msgid "St.Name"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.details_summary:0
+msgid "Sales total"
+msgstr "販売合計"
+
+#. module: point_of_sale
+#: view:pos.order.line:0
+msgid "Sum of subtotals"
+msgstr "小計の合計"
+
+#. module: point_of_sale
+#: field:pos.order,lines:0
+msgid "Order Lines"
+msgstr "受注行"
+
+#. module: point_of_sale
+#: view:report.transaction.pos:0
+msgid "Total Transaction"
+msgstr "合計取引"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.chaudfontaine_petillante_50cl_product_template
+msgid "Chaudfontaine Petillante 50cl"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order.line,create_date:0
+msgid "Creation Date"
+msgstr "作成日"
+
+#. module: point_of_sale
+#: model:ir.actions.report.xml,name:point_of_sale.pos_sales_user_today
+msgid "Today's Sales"
+msgstr "本日の販売"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.lays_naturel_300g_product_template
+msgid "Lays Naturel XXL 300g"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.sales.by.margin.pos:0 view:report.sales.by.margin.pos.month:0
+#: view:report.sales.by.user.pos:0 view:report.sales.by.user.pos.month:0
+#: view:report.transaction.pos:0
+msgid "POS "
+msgstr ""
+
+#. module: point_of_sale
+#: report:account.statement:0 report:pos.user.product:0
+msgid "Total :"
+msgstr "合計:"
+
+#. module: point_of_sale
+#: view:report.cash.register:0 view:report.pos.order:0
+msgid "My Sales"
+msgstr "私の販売"
+
+#. module: point_of_sale
+#: field:pos.order,pricelist_id:0
+msgid "Pricelist"
+msgstr "価格リスト"
+
+#. module: point_of_sale
+#: report:pos.details:0 report:pos.details_summary:0
+msgid "Total invoiced"
+msgstr "請求合計"
+
+#. module: point_of_sale
+#: view:report.pos.order:0 field:report.pos.order,product_qty:0
+msgid "# of Qty"
+msgstr "数量の数"
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_report_sales_by_margin_pos_month
+msgid "Sales by margin monthly"
+msgstr "月間利鞘別売上"
+
+#. module: point_of_sale
+#: view:pos.order:0 field:report.sales.by.margin.pos,date_order:0
+#: field:report.sales.by.margin.pos.month,date_order:0
+#: field:report.sales.by.user.pos,date_order:0
+#: field:report.sales.by.user.pos.month,date_order:0
+msgid "Order Date"
+msgstr "オーダー日"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.stella_33cl_product_template
+msgid "Stella Artois 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.cash.register:0
+msgid "Cash Analysis created during this year"
+msgstr "今年中に作成された現金分析"
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "Draft Invoice"
+msgstr "ドラフト請求書"
+
+#. module: point_of_sale
+#: constraint:account.bank.statement.line:0
+msgid ""
+"The amount of the voucher must be the same amount as the one on the "
+"statement line"
+msgstr "バウチャーの金額は明細行のひとつの金額と同じでなければなりません。"
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "Fiscal Position Remark :"
+msgstr "会計ポジションの注釈:"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.evian_2l_product_template
+msgid "Evian 2L"
+msgstr ""
+
+#. module: point_of_sale
+#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
+msgid "September"
+msgstr ""
+
+#. module: point_of_sale
+#: report:account.statement:0 report:all.closed.cashbox.of.the.day:0
+msgid "Opening Date"
+msgstr "開始日"
+
+#. module: point_of_sale
+#: report:pos.lines:0
+msgid "Taxes :"
+msgstr "税金:"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_light_2l_product_template
+msgid "Coca-Cola Light 2L"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.oetker_funghi_product_template
+msgid "Dr. Oetker Ristorante Funghi"
+msgstr ""
+
+#. module: point_of_sale
+#: field:report.transaction.pos,disc:0
+msgid "Disc."
+msgstr "割引"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.lindemans_kriek_37,5cl_product_template
+msgid "Lindemans Kriek 37.5cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_zero_33cl_product_template
+msgid "Coca-Cola Zero 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "VAT :"
+msgstr "消費税:"
+
+#. module: point_of_sale
+#: view:pos.order.line:0
+msgid "POS Order lines"
+msgstr "POSオーダー行"
+
+#. module: point_of_sale
+#: view:pos.receipt:0
+msgid "Receipt :"
+msgstr "レシート:"
+
+#. module: point_of_sale
+#: field:account.bank.statement.line,pos_statement_id:0
+#: field:pos.order,amount_return:0
+msgid "unknown"
+msgstr "不明"
+
+#. module: point_of_sale
+#: report:pos.details:0 field:report.transaction.pos,date_create:0
+msgid "Date"
+msgstr "日付"
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_discount
+#: view:pos.discount:0
+msgid "Apply Discount"
+msgstr "割引適用"
+
+#. module: point_of_sale
+#: report:account.statement:0 report:all.closed.cashbox.of.the.day:0
+#: view:pos.details:0 report:pos.sales.user:0 report:pos.sales.user.today:0
+#: report:pos.user.product:0 view:report.cash.register:0
+#: field:report.cash.register,user_id:0
+#: field:report.sales.by.margin.pos,user_id:0
+#: field:report.sales.by.margin.pos.month,user_id:0
+#: field:report.sales.by.user.pos,user_id:0
+#: field:report.sales.by.user.pos.month,user_id:0
+#: field:report.transaction.pos,user_id:0
+#: model:res.groups,name:point_of_sale.group_pos_user
+msgid "User"
+msgstr "ユーザ"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_light_33cl_product_template
+msgid "Coca-Cola Light 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.perrier_1l_product_template
+msgid "Perrier 1L"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.details:0 report:pos.details_summary:0
+msgid "Total discount"
+msgstr "合計割引"
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_pos_box_entries
+msgid "Pos Box Entries"
+msgstr "POSボックスエントリー"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.boon_framboise_37,5cl_product_template
+msgid "Boon Framboise 37.5cl"
+msgstr ""
+
+#. module: point_of_sale
+#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
+msgid "November"
+msgstr "11月"
+
+#. module: point_of_sale
+#: field:pos.config.journal,code:0
+msgid "Code"
+msgstr "コード"
+
+#. module: point_of_sale
+#: view:account.bank.statement:0 report:account.statement:0
+#: report:all.closed.cashbox.of.the.day:0
+#: model:ir.model,name:point_of_sale.model_account_journal
+#: field:pos.config.journal,journal_id:0 field:pos.order,sale_journal:0
+#: view:report.cash.register:0 field:report.cash.register,journal_id:0
+#: field:report.pos.order,journal_id:0
+msgid "Journal"
+msgstr "仕訳帳"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.timmermans_faro_37,5cl_product_template
+msgid "Timmermans Faro 37.5cl"
+msgstr ""
+
+#. module: point_of_sale
+#: view:account.bank.statement:0 view:pos.order:0 field:pos.order,state:0
+#: report:pos.sales.user:0 report:pos.sales.user.today:0
+#: field:report.cash.register,state:0 field:report.pos.order,state:0
+msgid "State"
+msgstr "状態"
+
+#. module: point_of_sale
+#: field:report.transaction.pos,no_trans:0
+msgid "Number of Transaction"
+msgstr "取引数"
+
+#. module: point_of_sale
+#: view:pos.box.entries:0 view:pos.box.out:0 view:pos.confirm:0
+#: view:pos.make.payment:0 view:pos.open.statement:0 view:pos.receipt:0
+msgid "Cancel"
+msgstr "キャンセル"
+
+#. module: point_of_sale
+#: model:ir.actions.report.xml,name:point_of_sale.pos_details_summary
+msgid "Sales (summary)"
+msgstr "販売(合計)"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.timmermans_kriek_37,5cl_product_template
+msgid "Timmermans Kriek 37.5cl"
+msgstr ""
+
+#. module: point_of_sale
+#: field:account.journal,check_dtls:0
+msgid "Control Balance Before Closing"
+msgstr "閉じる前のコントロール残高"
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_pos_order_line
+msgid "Lines of Point of Sale"
+msgstr "POSの行"
+
+#. module: point_of_sale
+#: view:pos.order:0 view:report.transaction.pos:0
+msgid "Amount total"
+msgstr "金額合計"
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_new_bank_statement_all_tree
+msgid "Cash Registers"
+msgstr "キャッシュレジスタ"
+
+#. module: point_of_sale
+#: report:pos.details:0
+msgid "Users"
+msgstr "ユーザ"
+
+#. module: point_of_sale
+#: model:pos.category,name:point_of_sale.food
+msgid "Food"
+msgstr "食品"
+
+#. #-#-#-#-# point_of_sale.pot (OpenERP Server 6.1rc1) #-#-#-#-#
+#. module: point_of_sale
+#. #-#-#-#-# point_of_sale.pot.web (PROJECT VERSION) #-#-#-#-#
+#. openerp-web
+#: report:pos.details:0 report:pos.invoice:0 report:pos.lines:0
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:30
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:69
+msgid "Price"
+msgstr "価格"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.ijsboerke_stracciatella_2,5l_product_template
+msgid "ijsboerke Stracciatella 2.5L"
+msgstr ""
+
+#. module: point_of_sale
+#: field:account.journal,journal_user:0
+msgid "PoS Payment Method"
+msgstr "POS支払方法"
+
+#. module: point_of_sale
+#: help:product.product,expense_pdt:0
+msgid ""
+"This is a product you can use to take cash from a statement for the point of "
+"sale backend, exemple: money lost, transfer to bank, etc."
+msgstr "これはPOS後方事務のための取引明細書から現金を出すために使用できる製品です。例えば、現金の紛失、銀行への転送など。"
+
+#. module: point_of_sale
+#: field:report.cash.register,date:0
+msgid "Create Date"
+msgstr "作成日"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_regular_33cl_product_template
+msgid "Coca-Cola Regular 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:65
+#, python-format
+msgid "Unable to Delete !"
+msgstr "削除できません。"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.lays_paprika_oven_150g_product_template
+msgid "Lays Paprika Oven Baked 150g"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.details:0 report:pos.details_summary:0
+msgid "Start Period"
+msgstr "期首日"
+
+#. module: point_of_sale
+#: report:account.statement:0 field:pos.category,complete_name:0
+#: field:pos.category,name:0 report:pos.sales.user:0
+#: report:pos.sales.user.today:0
+msgid "Name"
+msgstr "名前"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.spa_gazeuse_33cl_product_template
+msgid "Spa Barisart 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:284
+#, python-format
+msgid ""
+"There is no receivable account defined to make payment for the partner: "
+"\"%s\" (id:%d)"
+msgstr "パートナに支払をするための売掛金勘定がありません:%s (id:%d)"
+
+#. module: point_of_sale
+#: view:pos.confirm:0
+msgid ""
+"Generate all sale journal entries for non invoiced orders linked to a closed "
+"cash register or statement."
+msgstr "閉じたキャッシュレジスタや取引明細書に関連する請求書なしのオーダーのための全ての仕訳帳エントリーを生成します。"
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:293
+#: code:addons/point_of_sale/point_of_sale.py:472
+#: code:addons/point_of_sale/report/pos_invoice.py:46
+#: code:addons/point_of_sale/wizard/pos_box_entries.py:46
+#: code:addons/point_of_sale/wizard/pos_box_entries.py:100
+#: code:addons/point_of_sale/wizard/pos_box_entries.py:105
+#: code:addons/point_of_sale/wizard/pos_box_out.py:86
+#: code:addons/point_of_sale/wizard/pos_box_out.py:88
+#, python-format
+msgid "Error !"
+msgstr "エラー"
+
+#. module: point_of_sale
+#: report:pos.details:0 report:pos.lines:0 report:pos.payment.report.user:0
+#: report:pos.user.product:0
+msgid "]"
+msgstr "]"
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_account_bank_statement
+msgid "Bank Statement"
+msgstr "銀行取引明細書"
+
+#. module: point_of_sale
+#: sql_constraint:account.journal:0
+msgid "The name of the journal must be unique per company !"
+msgstr "仕訳帳の名前は会社ごとに固有でなければなりません、"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.lays_light_naturel_170g_product_template
+#: model:product.template,name:point_of_sale.lays_naturel_170g_product_template
+msgid "Lays Light Naturel 170g"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.details:0 report:pos.details_summary:0 report:pos.lines:0
+#: report:pos.payment.report.user:0 report:pos.sales.user:0
+#: report:pos.sales.user.today:0 report:pos.user.product:0
+msgid "Print Date"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:282
+#, python-format
+msgid "There is no receivable account defined to make payment"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.open.statement:0
+msgid "Do you want to open cash registers?"
+msgstr ""
+
+#. module: point_of_sale
+#: help:pos.category,sequence:0
+msgid ""
+"Gives the sequence order when displaying a list of product categories."
+msgstr ""
+
+#. module: point_of_sale
+#: field:product.product,expense_pdt:0
+msgid "PoS Cash Output"
+msgstr ""
+
+#. module: point_of_sale
+#: model:pos.category,name:point_of_sale.soda
+msgid "Soda"
+msgstr ""
+
+#. module: point_of_sale
+#: view:account.bank.statement:0 view:pos.order:0 view:report.cash.register:0
+#: view:report.pos.order:0
+msgid "Group By..."
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "POS Orders"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.report.xml,name:point_of_sale.all_closed_cashbox_of_the_day
+msgid "All Closed CashBox"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:640
+#, python-format
+msgid "No Pricelist !"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Update"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "Base"
+msgstr ""
+
+#. module: point_of_sale
+#: model:pos.category,name:point_of_sale.categ_others
+msgid "Others"
+msgstr ""
+
+#. module: point_of_sale
+#: view:product.product:0
+msgid "Point-of-Sale"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.evian_50cl_product_template
+msgid "Evian 50cl"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Notes"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Sale Order"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_light_lemon_2l_product_template
+msgid "Coca-Cola Light Lemon 2L"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.details:0 report:pos.invoice:0 field:pos.order,amount_tax:0
+msgid "Taxes"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_order_line
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_order_line_day
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_order_line_form
+msgid "Sale line"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.lays_naturel_oven_150g_product_template
+msgid "Lays Naturel Oven Baked 150g"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_light_decaf_33cl_product_template
+msgid "Coca-Cola Light Decaf 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.product_normal_action
+#: model:ir.ui.menu,name:point_of_sale.menu_point_of_sale_product
+#: model:ir.ui.menu,name:point_of_sale.menu_pos_products
+msgid "Products"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.oetker_4formaggi_product_template
+msgid "Dr. Oetker Ristorante Quattro Formaggi"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_zero_1l_product_template
+msgid "Coca-Cola Zero 1L"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.sales.user:0 report:pos.sales.user.today:0
+#: field:report.pos.order,date:0
+msgid "Date Order"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.sales.by.margin.pos:0 view:report.sales.by.margin.pos.month:0
+#: view:report.sales.by.user.pos:0 view:report.sales.by.user.pos.month:0
+#: view:report.transaction.pos:0
+msgid "POS"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_product_output
+#: model:ir.ui.menu,name:point_of_sale.products_for_output_operations
+msgid "Products 'Put Money In'"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.croky_bolognaise_250g_product_template
+msgid "Croky Bolognaise 250g"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Extra Info"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "Fax :"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,user_id:0
+msgid "Connected Salesman"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_sale_all
+#: model:ir.ui.menu,name:point_of_sale.menu_point_ofsale_all
+msgid "All Sales Orders"
+msgstr ""
+
+#. module: point_of_sale
+#: help:product.product,income_pdt:0
+msgid ""
+"This is a product you can use to put cash into a statement for the point of "
+"sale backend."
+msgstr "これはPOS後方事務のために取引明細書の中に現金を入れるために使用できる製品です。"
+
+#. module: point_of_sale
+#: view:pos.receipt:0
+msgid "Print the Receipt of the Sale"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.make.payment,journal:0
+msgid "Payment Mode"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.lays_paprika_45g_product_template
+msgid "Lays Paprika 45g"
+msgstr ""
+
+#. #-#-#-#-# point_of_sale.pot (OpenERP Server 6.1rc1) #-#-#-#-#
+#. module: point_of_sale
+#. #-#-#-#-# point_of_sale.pot.web (PROJECT VERSION) #-#-#-#-#
+#. openerp-web
+#: report:pos.details:0 report:pos.payment.report.user:0
+#: report:pos.user.product:0 field:report.sales.by.margin.pos,qty:0
+#: field:report.sales.by.margin.pos.month,qty:0
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:32
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:59
+msgid "Qty"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.cash.register:0 view:report.pos.order:0
+msgid "Month -1"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_report_pos_sale_user
+#: model:ir.model,name:point_of_sale.model_pos_sale_user
+#: view:pos.payment.report.user:0
+msgid "Sale by User"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.evian_1l_product_template
+msgid "Evian 1L"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_open_statement
+msgid "Open Cash Registers"
+msgstr ""
+
+#. module: point_of_sale
+#: model:pos.category,name:point_of_sale.water
+msgid "Water"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.cash.register:0
+msgid "state"
+msgstr ""
+
+#. module: point_of_sale
+#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
+msgid "July"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.lays_poivre_sel_oven_150g_product_template
+msgid "Lays Sel et Poivre Oven Baked 150g"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.details:0 report:pos.details_summary:0
+msgid "Qty of product"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.chimay_rouge_33cl_product_template
+msgid "Chimay Rouge 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: field:report.pos.order,delay_validation:0
+msgid "Delay Validation"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,nb_print:0
+msgid "Number of Print"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_pos_make_payment
+msgid "Point of Sale Payment"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_light_50cl_product_template
+msgid "Coca-Cola Light 50cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.jupiler_50cl_product_template
+msgid "Jupiler 50cl"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.details:0 report:pos.details_summary:0
+msgid "End Period"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_light_lemon_33cl_product_template
+msgid "Coca-Cola Light Lemon 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: field:account.journal,auto_cash:0
+msgid "Automatic Opening"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.lays_ketchup_250g_product_template
+msgid "Lays Ketchup 250g"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.perrier_50cl_product_template
+msgid "Perrier 50cl"
+msgstr ""
+
+#. module: point_of_sale
+#: selection:report.pos.order,state:0
+msgid "Synchronized"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.cash.register:0 field:report.cash.register,month:0
+#: view:report.pos.order:0 field:report.pos.order,month:0
+msgid "Month"
+msgstr ""
+
+#. module: point_of_sale
+#: report:account.statement:0
+msgid "Statement Name"
+msgstr "取引明細書名"
+
+#. module: point_of_sale
+#: view:report.pos.order:0
+msgid "Year of order date"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_new_bank_statement_tree
+#: field:pos.box.entries,journal_id:0 field:pos.box.out,journal_id:0
+msgid "Cash Register"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.close.statement:0
+msgid "Yes"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_pos_receipt
+msgid "Point of sale receipt"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_report_sales_by_margin_pos_today
+msgid "Sales by User Daily margin"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.open.statement:0
+msgid "Open Registers"
+msgstr ""
+
+#. module: point_of_sale
+#: field:report.transaction.pos,journal_id:0
+msgid "Sales Journal"
+msgstr ""
+
+#. module: point_of_sale
+#: field:report.cash.register,balance_start:0
+msgid "Opening Balance"
+msgstr ""
+
+#. module: point_of_sale
+#: view:account.bank.statement:0 selection:report.pos.order,state:0
+msgid "Closed"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.oetker_vegetale_product_template
+msgid "Dr. Oetker Ristorante Vegetale"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.pos.order:0
+msgid "POS ordered created by today"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_zero_2l_product_template
+msgid "Coca-Cola Zero 2L"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,amount_paid:0 selection:pos.order,state:0
+msgid "Paid"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_all_sales_lines
+msgid "All sales lines"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Discount"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.cash.register:0
+msgid "Cash Analysis created in last month"
+msgstr ""
+
+#. module: point_of_sale
+#: model:pos.category,name:point_of_sale.beers
+msgid "Beers"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.close.statement:0
+msgid ""
+"OpenERP will close all cash registers he can close automatically without "
+"validation. He will also open all cash registers for which you have to "
+"control the ending belance before closing manually."
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.cash.register:0
+msgid "Cash Analysis created by today"
+msgstr ""
+
+#. module: point_of_sale
+#: selection:report.cash.register,state:0
+msgid "Quotation"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.product_product_putmoneyforchange0_product_template
+msgid "Cash In"
+msgstr ""
+
+#. #-#-#-#-# point_of_sale.pot (OpenERP Server 6.1rc1) #-#-#-#-#
+#. module: point_of_sale
+#. #-#-#-#-# point_of_sale.pot.web (PROJECT VERSION) #-#-#-#-#
+#. openerp-web
+#: report:all.closed.cashbox.of.the.day:0 report:pos.invoice:0
+#: report:pos.lines:0 report:pos.payment.report.user:0
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:49
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:93
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:271
+msgid "Total:"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_report_sales_by_margin_pos
+msgid "Sales by margin"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_pos_config_journal
+msgid "Journal Configuration"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Statement lines"
+msgstr "取引明細書行"
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.croky_paprika_45g_product_template
+msgid "Croky Paprika 45g"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Reprint"
+msgstr ""
+
+#. module: point_of_sale
+#: help:pos.order,user_id:0
+msgid ""
+"Person who uses the the cash register. It could be a reliever, a student or "
+"an interim employee."
+msgstr ""
+
+#. module: point_of_sale
+#: field:report.transaction.pos,invoice_id:0
+msgid "Nbr Invoice"
+msgstr ""
+
+#. #-#-#-#-# point_of_sale.pot (OpenERP Server 6.1rc1) #-#-#-#-#
+#. module: point_of_sale
+#. #-#-#-#-# point_of_sale.pot.web (PROJECT VERSION) #-#-#-#-#
+#. openerp-web
+#: model:ir.actions.act_window,name:point_of_sale.action_report_pos_receipt
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:231
+msgid "Receipt"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.open.statement:0
+msgid ""
+"The system will open all cash registers, so that you can start recording "
+"payments. We suggest you to control the opening balance of each register, "
+"using their CashBox tab."
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.invoice:0 report:pos.lines:0 field:pos.order.line,price_unit:0
+#: report:pos.payment.report.user:0
+msgid "Unit Price"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Done"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.report.xml,name:point_of_sale.pos_invoice_report
+#: report:pos.invoice:0 view:pos.order:0 field:pos.order,invoice_id:0
+msgid "Invoice"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.rochefort_8_33cl_product_template
+msgid "Rochefort \"8\" 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: view:account.bank.statement:0 selection:report.cash.register,state:0
+msgid "Open"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,name:0 field:pos.order.line,order_id:0
+msgid "Order Ref"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.timmermans_geuze_37,5cl_product_template
+msgid "Timmermans Geuze 37.5cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.lays_pickles_250g_product_template
+msgid "Lays Pickels 250g"
+msgstr ""
+
+#. module: point_of_sale
+#: field:report.sales.by.margin.pos,net_margin_per_qty:0
+#: field:report.sales.by.margin.pos.month,net_margin_per_qty:0
+msgid "Net margin per Qty"
+msgstr "1個当り正味利鞘"
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_report_sales_by_user_pos_month
+msgid "Sales by user monthly"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.spa_et_fruit_50cl_product_template
+msgid "Spa et Fruit Orange 50cl"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.sales.by.margin.pos:0 view:report.sales.by.margin.pos.month:0
+msgid "Sales by User Margin"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/wizard/pos_payment.py:59
+#, python-format
+msgid "Paiement"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "Taxes:"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.pepsi_max_33cl_product_template
+msgid "Pepsi Max 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_report_pos_order
+msgid "Point of Sale Orders Statistics"
+msgstr ""
+
+#. #-#-#-#-# point_of_sale.pot (OpenERP Server 6.1rc1) #-#-#-#-#
+#. module: point_of_sale
+#. #-#-#-#-# point_of_sale.pot.web (PROJECT VERSION) #-#-#-#-#
+#. openerp-web
+#: model:ir.model,name:point_of_sale.model_product_product
+#: report:pos.details:0 field:pos.order.line,product_id:0
+#: report:pos.payment.report.user:0 report:pos.user.product:0
+#: view:report.pos.order:0 field:report.pos.order,product_id:0
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:29
+msgid "Product"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.oetker_pollo_product_template
+msgid "Dr. Oetker Ristorante Pollo"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.report.xml,name:point_of_sale.pos_lines_report
+msgid "Pos Lines"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.grisette_cerise_25cl_product_template
+msgid "Grisette Cerise 25cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.chaudfontaine_33cl_product_template
+msgid "Chaudfontaine 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.oetker_margherita_product_template
+msgid "Dr. Oetker La Margherita"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_point_root
+msgid "PoS Backend"
+msgstr "POS後方事務"
+
+#. module: point_of_sale
+#: view:pos.order:0 selection:pos.order,state:0
+msgid "Posted"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,date_order:0
+msgid "Date Ordered"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_report_pos_payment_report_user
+#: model:ir.model,name:point_of_sale.model_pos_payment_report_user
+msgid "Sales lines by Users"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.pepsi_2l_product_template
+msgid "Pepsi 2L"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.details:0
+msgid "Order"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:472
+#, python-format
+msgid "There is no income account defined for this product: \"%s\" (id:%d)"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.details:0
+msgid "POS Details"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.details,user_ids:0
+msgid "Salesmen"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_report_cash_register
+#: view:report.cash.register:0
+msgid "Point of Sale Cash Register Analysis"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.lines:0
+msgid "Net Total :"
+msgstr ""
+
+#. module: point_of_sale
+#: model:res.groups,name:point_of_sale.group_pos_manager
+msgid "Manager"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.details,date_start:0 field:pos.sale.user,date_start:0
+msgid "Date Start"
+msgstr ""
+
+#. #-#-#-#-# point_of_sale.pot (OpenERP Server 6.1rc1) #-#-#-#-#
+#. module: point_of_sale
+#. #-#-#-#-# point_of_sale.pot.web (PROJECT VERSION) #-#-#-#-#
+#. openerp-web
+#: field:pos.order,amount_total:0 report:pos.payment.report.user:0
+#: field:report.sales.by.user.pos,amount:0
+#: field:report.sales.by.user.pos.month,amount:0
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:33
+msgid "Total"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.sale.user:0
+msgid "Sale By User"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_open_statement
+msgid "Open Cash Register"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.lindemans_pecheresse_37,5cl_product_template
+msgid "Lindemans Pecheresse 37.5cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.pepsi_33cl_product_template
+msgid "Pepsi 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: report:account.statement:0
+#: model:ir.actions.report.xml,name:point_of_sale.account_statement
+msgid "Statement"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_payment_report
+#: model:ir.model,name:point_of_sale.model_pos_payment_report
+#: view:pos.payment.report:0
+msgid "Payment Report"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.fanta_orange_25cl_product_template
+msgid "Fanta Orange 25cl"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.confirm:0
+msgid "Generate Journal Entries"
+msgstr ""
+
+#. module: point_of_sale
+#: report:account.statement:0 report:all.closed.cashbox.of.the.day:0
+#: report:pos.details:0 report:pos.details_summary:0 report:pos.lines:0
+#: field:pos.order,company_id:0 field:pos.order.line,company_id:0
+#: report:pos.payment.report.user:0 report:pos.sales.user:0
+#: report:pos.sales.user.today:0 report:pos.user.product:0
+#: field:report.pos.order,company_id:0
+msgid "Company"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "Invoice Date"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.box.entries,name:0
+msgid "Reason"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.orangina_33cl_product_template
+msgid "Orangina 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_product_input
+#: model:ir.ui.menu,name:point_of_sale.products_for_input_operations
+msgid "Products 'Take Money Out'"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.chimay_bleu_33cl_product_template
+msgid "Chimay Bleu 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_account_journal_form
+#: model:ir.ui.menu,name:point_of_sale.menu_action_account_journal_form_open
+msgid "Payment Methods"
+msgstr ""
+
+#. module: point_of_sale
+#: model:pos.category,name:point_of_sale.chips
+msgid "Chips"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.oetker_spinaci_product_template
+msgid "Dr. Oetker Ristorante Spinaci"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:293
+#: code:addons/point_of_sale/wizard/pos_box_entries.py:100
+#: code:addons/point_of_sale/wizard/pos_box_out.py:88
+#, python-format
+msgid "You have to open at least one cashbox"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.report.xml,name:point_of_sale.pos_payment_report_user
+msgid "Today's Payment By User"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_box_entries
+#: model:ir.ui.menu,name:point_of_sale.menu_wizard_enter_jrnl
+msgid "Put Money In"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:238
+#: code:addons/point_of_sale/point_of_sale.py:253
+#, python-format
+msgid "Error!"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.lines:0
+msgid "No. Of Articles"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.ijsboerke_vanille_2,5l_product_template
+msgid "ijsboerke Vanille 2.5L"
+msgstr ""
+
+#. module: point_of_sale
+#: selection:pos.order,state:0 selection:report.pos.order,state:0
+msgid "Cancelled"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.user.product:0
+msgid "Ending Date"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.orangina_1,5l_product_template
+msgid "Orangina 1.5L"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,picking_id:0
+msgid "Picking"
+msgstr ""
+
+#. module: point_of_sale
+#: model:pos.category,name:point_of_sale.ice_cream
+msgid "Ice Cream"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,shop_id:0 field:report.pos.order,shop_id:0
+msgid "Shop"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_account_bank_statement_line
+msgid "Bank Statement Line"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.belle_vue_kriek_25cl_product_template
+msgid "Belle-Vue Kriek 25cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.chaudfontaine_petillante_1,5l_product_template
+msgid "Chaudfontaine Petillante 1.5l"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.sales.by.user.pos:0 view:report.sales.by.user.pos.month:0
+#: view:report.transaction.pos:0
+msgid "POS Report"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.chaudfontaine_1,5l_product_template
+msgid "Chaudfontaine 1.5l"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_close_statement
+msgid "Close Cash Register"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:65
+#, python-format
+msgid "In order to delete a sale, it must be new or cancelled."
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_regular_50cl_product_template
+msgid "Coca-Cola Regular 50cl"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.confirm:0
+msgid "Generate Entries"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.box.entries,product_id:0 field:pos.box.out,product_id:0
+msgid "Operation"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,account_move:0
+msgid "Journal Entry"
+msgstr ""
+
+#. module: point_of_sale
+#: selection:report.cash.register,state:0
+msgid "Confirmed"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "Cancelled Invoice"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.cash.register:0
+msgid "Confirm"
+msgstr ""
+
+#. module: point_of_sale
+#: help:account.journal,auto_cash:0
+msgid ""
+"This field authorize the automatic creation of the cashbox, without control "
+"of the initial balance."
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_zero_50cl_product_template
+msgid "Coca-Cola Zero 50cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.oetker_tonno_product_template
+msgid "Dr. Oetker Ristorante Tonno"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "Supplier Invoice"
+msgstr ""
+
+#. module: point_of_sale
+#: constraint:account.bank.statement:0
+msgid "The journal and period chosen have to belong to the same company."
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0 selection:pos.order,state:0
+#: selection:report.pos.order,state:0
+msgid "New"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:238
+#, python-format
+msgid "In order to set to draft a sale, it must be cancelled."
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.fanta_zero_orange_33cl_product_template
+msgid "Fanta Zero Orange 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.pos.order:0
+msgid "Day of order date"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_point_rep
+msgid "Reporting"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.maes_33cl_product_template
+msgid "Maes 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.box.entries:0
+msgid "Put Money"
+msgstr ""
+
+#. module: point_of_sale
+#: sql_constraint:account.journal:0
+msgid "The code of the journal must be unique per company !"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_point_config_product
+msgid "Configuration"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.orval_33cl_product_template
+msgid "Orval 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_regular_1l_product_template
+msgid "Coca-Cola Regular 1L"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:253
+#, python-format
+msgid "Unable to cancel the picking."
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.pos.order:0
+msgid "POS ordered created during current month"
+msgstr "現在月中に作成されたPOSオーダー"
+
+#. module: point_of_sale
+#: view:report.pos.order:0
+msgid "POS ordered created last month"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_invoice
+msgid "Invoices"
+msgstr ""
+
+#. module: point_of_sale
+#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
+msgid "December"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.spa_gazeuse_1,5l_product_template
+msgid "Spa Barisart 1.5l"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:329 view:pos.order:0
+#, python-format
+msgid "Return Products"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.jupiler_33cl_product_template
+msgid "Jupiler 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.ijsboerke_chocolat_2,5l_product_template
+msgid "ijsboerke Chocolat 2.5L"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.box.out:0
+msgid "Take Money"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_pos_details
+msgid "Sales Details"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/wizard/pos_close_statement.py:50
+#, python-format
+msgid "Message"
+msgstr ""
+
+#. module: point_of_sale
+#: view:account.journal:0 model:ir.model,name:point_of_sale.model_pos_order
+#: model:ir.ui.menu,name:point_of_sale.menu_point_root_touchscreen
+#: view:product.product:0
+msgid "Point of Sale"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0 field:pos.payment.report.user,user_id:0
+#: field:pos.sale.user,user_id:0 field:pos.sales.user.today,user_id:0
+#: view:report.pos.order:0 field:report.pos.order,user_id:0
+msgid "Salesman"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.details:0 view:pos.order:0 selection:pos.order,state:0
+#: view:report.pos.order:0 selection:report.pos.order,state:0
+msgid "Invoiced"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.close.statement:0
+msgid "No"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.spa_gazeuse_50cl_product_template
+msgid "Spa Barisart 50cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:pos.category,name:point_of_sale.special_beers
+msgid "Special Beers"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order.line,notice:0
+msgid "Discount Notice"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Re-Print"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.cash.register:0
+msgid "Draft"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.fanta_zero_orange_1,5l_product_template
+msgid "Fanta Zero Orange 1.5L"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "PRO-FORMA"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:358
+#, python-format
+msgid "Please provide a partner for the sale."
+msgstr ""
+
+#. module: point_of_sale
+#: model:pos.category,name:point_of_sale.fruity_beers
+msgid "Fruity Beers"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.ijsboerke_dame_blanche_2,5l_product_template
+msgid "ijsboerke Dame Blanche 2.5L"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.ijsboerke_moka_2,5l_product_template
+msgid "ijsboerke Moka 2.5L"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Search Sales Order"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,help:point_of_sale.action_account_journal_form
+msgid ""
+"Payment methods are defined by accounting journals having the field Payment "
+"Method checked."
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_trans_pos_tree
+#: model:ir.model,name:point_of_sale.model_report_sales_by_user_pos
+msgid "Sales by user"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.oetker_hawaii_product_template
+msgid "Dr. Oetker Ristorante Hawaii"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.receipt:0
+msgid "Print Receipt"
+msgstr ""
+
+#. module: point_of_sale
+#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
+msgid "January"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order.line:0
+msgid "POS Orders lines"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.chaudfontaine_petillante_33cl_product_template
+msgid "Chaudfontaine Petillante 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,help:point_of_sale.product_normal_action
+msgid ""
+"You must define a Product for everything you buy or sell. Products can be "
+"raw materials, stockable products, consumables or services. The Product form "
+"contains detailed information about your products related to procurement "
+"logistics, sales price, product category, suppliers and so on."
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.pepsi_max_2l_product_template
+msgid "Pepsi Max 2L"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/point_of_sale.py:358
+#, python-format
+msgid "Error"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.lays_paprika_300g_product_template
+msgid "Lays Paprika XXL 300g"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.close.statement:0
+msgid "Do you want to close your cash registers?"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "Refund"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/report/pos_invoice.py:46
+#, python-format
+msgid "Please create an invoice for this sale."
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.oetker_mozzarella_product_template
+msgid "Dr. Oetker Ristorante Mozzarella"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/wizard/pos_close_statement.py:66
+#: model:ir.ui.menu,name:point_of_sale.menu_close_statement
+#: view:pos.close.statement:0
+#, python-format
+msgid "Close Cash Registers"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.details:0 report:pos.payment.report.user:0
+msgid "Disc(%)"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "General Information"
+msgstr ""
+
+#. #-#-#-#-# point_of_sale.pot (OpenERP Server 6.1rc1) #-#-#-#-#
+#. module: point_of_sale
+#. #-#-#-#-# point_of_sale.pot.web (PROJECT VERSION) #-#-#-#-#
+#. openerp-web
+#: view:pos.details:0 view:pos.discount:0 view:pos.payment.report:0
+#: view:pos.payment.report.user:0 view:pos.sale.user:0
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:13
+msgid "Close"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Order lines"
+msgstr ""
+
+#. module: point_of_sale
+#: view:account.journal:0
+msgid "Extended Configuration"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order.line,price_subtotal:0
+msgid "Subtotal w/o Tax"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.spa_50cl_product_template
+msgid "Spa Reine 50cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.leffe_blonde_33cl_product_template
+msgid "Leffe Blonde 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_report_pos_payment
+msgid "Pyament Report"
+msgstr ""
+
+#. module: point_of_sale
+#: field:report.transaction.pos,jl_id:0
+msgid "Cash Journals"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.sales.user.today:0
+msgid "Today's Sales By User"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "Customer Code"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/wizard/pos_box_out.py:86
+#, python-format
+msgid "please check that account is set to %s"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.config.journal,name:0 report:pos.invoice:0 report:pos.lines:0
+msgid "Description"
+msgstr ""
+
+#. module: point_of_sale
+#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
+msgid "May"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.lines:0
+msgid "Sales lines"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Yesterday"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,note:0
+msgid "Internal Notes"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.coca_zero_decaf_33cl_product_template
+msgid "Coca-Cola Zero Decaf 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.box.out:0
+msgid "Describe why you take money from the cash register:"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_report_pos_order_all
+#: model:ir.ui.menu,name:point_of_sale.menu_report_pos_order_all
+#: view:report.pos.order:0
+msgid "Point of Sale Analysis"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0 field:pos.order,partner_id:0 view:report.pos.order:0
+msgid "Customer"
+msgstr ""
+
+#. module: point_of_sale
+#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
+msgid "February"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.cash.register:0
+msgid " Today "
+msgstr ""
+
+#. module: point_of_sale
+#: selection:report.cash.register,month:0 selection:report.pos.order,month:0
+msgid "April"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,statement_ids:0
+msgid "Payments"
+msgstr ""
+
+#. module: point_of_sale
+#: report:pos.invoice:0
+msgid "Supplier Refund"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_report_sales_by_margin_pos_month
+msgid "Sales by User Monthly margin"
+msgstr ""
+
+#. module: point_of_sale
+#: model:product.template,name:point_of_sale.leffe_9_33cl_product_template
+msgid "Leffe Brune \"9\" 33cl"
+msgstr ""
+
+#. module: point_of_sale
+#: help:account.journal,journal_user:0
+msgid ""
+"Check this box if this journal define a payment method that can be used in "
+"point of sales."
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.category,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: point_of_sale
+#: code:addons/point_of_sale/wizard/pos_return.py:316 view:pos.make.payment:0
+#, python-format
+msgid "Make Payment"
+msgstr ""
+
+#. module: point_of_sale
+#: constraint:pos.category:0
+msgid "Error ! You cannot create recursive categories."
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_pos_sales_user_today
+msgid "Sales User Today"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.pos.order:0
+msgid "Month of order date"
+msgstr ""
+
+#. module: point_of_sale
+#: field:product.product,income_pdt:0
+msgid "PoS Cash Input"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.cash.register:0 field:report.cash.register,year:0
+#: view:report.pos.order:0 field:report.pos.order,year:0
+msgid "Year"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:31
+msgid "Disc (%)"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:41
+msgid "Subtotal:"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:45
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:268
+msgid "Tax:"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:64
+msgid "Disc"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:71
+msgid "+/-"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:105
+msgid "Paid:"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:113
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:288
+msgid "Change:"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:124
+msgid "Back to Products"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:127
+msgid "Validate"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:140
+msgid "pending orders"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:145
+msgid ""
+"There are pending operations that could not be saved into the database, are "
+"you sure you want to exit?"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:236
+msgid "Print"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:238
+msgid "Next Order"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:248
+msgid "Phone:"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:249
+msgid "User:"
+msgstr ""
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/point_of_sale/static/src/xml/pos.xml:250
+msgid "Shop:"
+msgstr ""
diff --git a/addons/project/__openerp__.py b/addons/project/__openerp__.py
index ef26425d3c9..2c53fc2a28a 100644
--- a/addons/project/__openerp__.py
+++ b/addons/project/__openerp__.py
@@ -28,7 +28,7 @@
"category": "Project Management",
"sequence": 8,
"images": ["images/gantt.png", "images/project_dashboard.jpeg","images/project_task_tree.jpeg","images/project_task.jpeg","images/project.jpeg","images/task_analysis.jpeg"],
- "depends": ["base_setup", "product", "analytic", "board", "mail", "resource","web_kanban"],
+ "depends": ["base_setup", "base_status", "product", "analytic", "board", "mail", "resource","web_kanban"],
"description": """
Project management module tracks multi-level projects, tasks, work done on tasks, eso.
======================================================================================
diff --git a/addons/project/board_project_view.xml b/addons/project/board_project_view.xml
index fa6816ebbf7..1f06ea6938c 100644
--- a/addons/project/board_project_view.xml
+++ b/addons/project/board_project_view.xml
@@ -17,11 +17,16 @@
<field name="planned_hours" widget="float_time"/>
<field name="effective_hours" widget="float_time"/>
<field name="progress" widget="progressbar"/>
- <field name="state" invisible="context.get('set_visible',False)"/>
- <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel" help="For cancelling the task"/>
- <button name="do_open" states="pending,draft,done,cancel" string="Start Task" type="object" icon="gtk-execute" help="For changing to open state" invisible="context.get('set_visible',False)"/>
- <button name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="gtk-sort-descending" help="For changing to delegate state"/>
- <button name="action_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close" help="For changing to done state"/>
+ <field name="stage_id" invisible="context.get('set_visible',False)"/>
+ <field name="state" invisible="context.get('set_visible',False)" groups="base.group_no_one"/>
+ <button name="do_open" string="Start Task" type="object"
+ states="draft,pending" icon="gtk-go-forward" invisible="context.get('set_visible',False)"/>
+ <button name="action_close" string="Done" type="object"
+ states="draft,open,pending" icon="gtk-apply" invisible="context.get('set_visible',False)"/>
+ <button name="do_cancel" string="Cancel" type="object"
+ states="open,draft,pending" icon="gtk-cancel" invisible="context.get('set_visible',False)"/>
+ <button name="%(action_project_task_delegate)d" string="Delegate" type="action"
+ states="pending,open,draft" icon="gtk-sort-descending"/>
</tree>
</field>
</record>
@@ -39,10 +44,14 @@
<field name="date_deadline"/>
<field name="total_hours" widget="float_time"/>
<field name="progress" widget="progressbar"/>
- <field name="state" invisible="context.get('set_visible',False)"/>
- <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel" help="For cancelling the task"/>
- <button name="do_open" states="pending,draft,done,cancel" string="Start Task" type="object" icon="gtk-execute" help="For changing to open state" invisible="context.get('set_visible',False)"/>
- <button name="action_close" states="draft,pending,open" string="Done" type="object" icon="gtk-apply" help="For changing to done state"/>
+ <field name="stage_id" invisible="context.get('set_visible',False)"/>
+ <field name="state" invisible="context.get('set_visible',False)" groups="base.group_no_one"/>
+ <button name="do_open" string="Start Task" type="object"
+ states="draft,pending" icon="gtk-go-forward" invisible="context.get('set_visible',False)"/>
+ <button name="action_close" string="Done" type="object"
+ states="draft,open,pending" icon="gtk-apply" invisible="context.get('set_visible',False)"/>
+ <button name="do_cancel" string="Cancel" type="object"
+ states="open,draft,pending" icon="gtk-cancel" invisible="context.get('set_visible',False)"/>
</tree>
</field>
</record>
diff --git a/addons/project/project.py b/addons/project/project.py
index 804e14a15fe..e7af9f49b7d 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -2,7 +2,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+# Copyright (C) 2004-today OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -19,18 +19,15 @@
#
##############################################################################
-from lxml import etree
-import time
+from base_status.base_stage import base_stage
from datetime import datetime, date
-
-from tools.translate import _
+from lxml import etree
from osv import fields, osv
from openerp.addons.resource.faces import task as Task
+import time
+from tools.translate import _
-# I think we can remove this in v6.1 since VMT's improvements in the framework ?
-#class project_project(osv.osv):
-# _name = 'project.project'
-#project_project()
+_TASK_STATE = [('draft', 'New'),('open', 'In Progress'),('pending', 'Pending'), ('done', 'Done'), ('cancelled', 'Cancelled')]
class project_task_type(osv.osv):
_name = 'project.task.type'
@@ -40,14 +37,20 @@ class project_task_type(osv.osv):
'name': fields.char('Stage Name', required=True, size=64, translate=True),
'description': fields.text('Description'),
'sequence': fields.integer('Sequence'),
- 'project_default': fields.boolean('Common to All Projects', help="If you check this field, this stage will be proposed by default on each new project. It will not assign this stage to existing projects."),
+ 'case_default': fields.boolean('Common to All Projects',
+ help="If you check this field, this stage will be proposed by default on each new project. It will not assign this stage to existing projects."),
'project_ids': fields.many2many('project.project', 'project_task_type_rel', 'type_id', 'project_id', 'Projects'),
+ 'state': fields.selection(_TASK_STATE, 'State', required=True,
+ help="The related state for the stage. The state of your document will automatically change regarding the selected stage. Example, a stage is related to the state 'Close', when your document reach this stage, it will be automatically closed."),
+ 'fold': fields.boolean('Hide in views if empty',
+ help="This stage is not visible, for example in status bar or kanban view, when there are no records in that stage to display."),
}
_defaults = {
- 'sequence': 1
+ 'sequence': 1,
+ 'state': 'draft',
+ 'fold': False,
}
_order = 'sequence'
-project_task_type()
class project(osv.osv):
_name = "project.project"
@@ -208,7 +211,7 @@ class project(osv.osv):
return True
def _get_type_common(self, cr, uid, context):
- ids = self.pool.get('project.task.type').search(cr, uid, [('project_default','=',1)], context=context)
+ ids = self.pool.get('project.task.type').search(cr, uid, [('case_default','=',1)], context=context)
return ids
_order = "sequence"
@@ -239,7 +242,7 @@ class project(osv.osv):
def set_done(self, cr, uid, ids, context=None):
task_obj = self.pool.get('project.task')
task_ids = task_obj.search(cr, uid, [('project_id', 'in', ids), ('state', 'not in', ('cancelled', 'done'))])
- task_obj.write(cr, uid, task_ids, {'state': 'done', 'date_end':time.strftime('%Y-%m-%d %H:%M:%S'), 'remaining_hours': 0.0})
+ task_obj.case_close(cr, uid, task_ids, context=context)
self.write(cr, uid, ids, {'state':'close'}, context=context)
self.set_close_send_note(cr, uid, ids, context=context)
return True
@@ -247,7 +250,7 @@ class project(osv.osv):
def set_cancel(self, cr, uid, ids, context=None):
task_obj = self.pool.get('project.task')
task_ids = task_obj.search(cr, uid, [('project_id', 'in', ids), ('state', '!=', 'done')])
- task_obj.write(cr, uid, task_ids, {'state': 'cancelled', 'date_end':time.strftime('%Y-%m-%d %H:%M:%S'), 'remaining_hours': 0.0})
+ task_obj.case_cancel(cr, uid, task_ids, context=context)
self.write(cr, uid, ids, {'state':'cancelled'}, context=context)
self.set_cancel_send_note(cr, uid, ids, context=context)
return True
@@ -501,48 +504,60 @@ def Project():
def set_close_send_note(self, cr, uid, ids, context=None):
message = _("Project has been <b>closed</b>.")
return self.message_append_note(cr, uid, ids, body=message, context=context)
-
-project()
-class task(osv.osv):
+
+class task(base_stage, osv.osv):
_name = "project.task"
_description = "Task"
_date_name = "date_start"
_inherit = ['ir.needaction_mixin', 'mail.thread']
+ def _get_default_project_id(self, cr, uid, context=None):
+ """ Gives default section by checking if present in the context """
+ return (self._resolve_project_id_from_context(cr, uid, context=context) or False)
+
+ def _get_default_stage_id(self, cr, uid, context=None):
+ """ Gives default stage_id """
+ project_id = self._get_default_project_id(cr, uid, context=context)
+ return self.stage_find(cr, uid, [], project_id, [('state', '=', 'draft')], context=context)
def _resolve_project_id_from_context(self, cr, uid, context=None):
- """Return ID of project based on the value of 'project_id'
- context key, or None if it cannot be resolved to a single project.
+ """ Returns ID of project based on the value of 'default_project_id'
+ context key, or None if it cannot be resolved to a single
+ project.
"""
if context is None: context = {}
if type(context.get('default_project_id')) in (int, long):
- project_id = context['default_project_id']
- return project_id
+ return context['default_project_id']
if isinstance(context.get('default_project_id'), basestring):
project_name = context['default_project_id']
- project_ids = self.pool.get('project.project').name_search(cr, uid, name=project_name)
+ project_ids = self.pool.get('project.project').name_search(cr, uid, name=project_name, context=context)
if len(project_ids) == 1:
return project_ids[0][0]
+ return None
- def _read_group_type_id(self, cr, uid, ids, domain, read_group_order=None, access_rights_uid=None, context=None):
+ def _read_group_stage_ids(self, cr, uid, ids, domain, read_group_order=None, access_rights_uid=None, context=None):
stage_obj = self.pool.get('project.task.type')
- project_id = self._resolve_project_id_from_context(cr, uid, context=context)
order = stage_obj._order
access_rights_uid = access_rights_uid or uid
- if read_group_order == 'type_id desc':
- # lame way to allow reverting search, should just work in the trivial case
+ # lame way to allow reverting search, should just work in the trivial case
+ if read_group_order == 'stage_id desc':
order = '%s desc' % order
+ # retrieve section_id from the context and write the domain
+ # - ('id', 'in', 'ids'): add columns that should be present
+ # - OR ('case_default', '=', True), ('fold', '=', False): add default columns that are not folded
+ # - OR ('project_ids', 'in', project_id), ('fold', '=', False) if project_id: add project columns that are not folded
+ search_domain = []
+ project_id = self._resolve_project_id_from_context(cr, uid, context=context)
if project_id:
- domain = ['|', ('id','in',ids), ('project_ids','in',project_id)]
- else:
- domain = ['|', ('id','in',ids), ('project_default','=',1)]
- stage_ids = stage_obj._search(cr, uid, domain, order=order, access_rights_uid=access_rights_uid, context=context)
+ search_domain += ['|', '&', ('project_ids', '=', project_id), ('fold', '=', False)]
+ search_domain += ['|', ('id', 'in', ids), '&', ('case_default', '=', True), ('fold', '=', False)]
+ stage_ids = stage_obj._search(cr, uid, search_domain, order=order, access_rights_uid=access_rights_uid, context=context)
result = stage_obj.name_get(cr, access_rights_uid, stage_ids, context=context)
# restore order of the search
result.sort(lambda x,y: cmp(stage_ids.index(x[0]), stage_ids.index(y[0])))
return result
-
+
def _read_group_user_id(self, cr, uid, ids, domain, read_group_order=None, access_rights_uid=None, context=None):
res_users = self.pool.get('res.users')
project_id = self._resolve_project_id_from_context(cr, uid, context=context)
@@ -561,11 +576,10 @@ class task(osv.osv):
return result
_group_by_full = {
- 'type_id': _read_group_type_id,
- 'user_id': _read_group_user_id
+ 'stage_id': _read_group_stage_ids,
+ 'user_id': _read_group_user_id,
}
-
def search(self, cr, user, args, offset=0, limit=None, order=None, context=None, count=False):
obj_project = self.pool.get('project.project')
for domain in args:
@@ -596,7 +610,6 @@ class task(osv.osv):
res[task.id]['progress'] = 100.0
return res
-
def onchange_remaining(self, cr, uid, ids, remaining=0.0, planned = 0.0):
if remaining and not planned:
return {'value':{'planned_hours': remaining}}
@@ -639,7 +652,7 @@ class task(osv.osv):
if not default.get('remaining_hours', False):
default['remaining_hours'] = float(self.read(cr, uid, id, ['planned_hours'])['planned_hours'])
default['active'] = True
- default['type_id'] = False
+ default['stage_id'] = False
if not default.get('name', False):
default['name'] = self.browse(cr, uid, id, context=context).name or ''
if not context.get('copy',False):
@@ -669,10 +682,15 @@ class task(osv.osv):
'description': fields.text('Description'),
'priority': fields.selection([('4','Very Low'), ('3','Low'), ('2','Medium'), ('1','Important'), ('0','Very important')], 'Priority', select=True),
'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of tasks."),
- 'type_id': fields.many2one('project.task.type', 'Stage'),
- 'state': fields.selection([('draft', 'New'),('cancelled', 'Cancelled'),('open', 'In Progress'),('pending', 'Pending'), ('done', 'Done')], 'Status', readonly=True, required=True,
- help='If the task is created the state is \'Draft\'.\n If the task is started, the state becomes \'In Progress\'.\n If review is needed the task is in \'Pending\' state.\
- \n If the task is over, the states is set to \'Done\'.'),
+ 'stage_id': fields.many2one('project.task.type', 'Stage',
+ domain="['|', ('project_ids', '=', project_id), ('case_default', '=', True)]"),
+ 'state': fields.related('stage_id', 'state', type="selection", store=True,
+ selection=_TASK_STATE, string="State", readonly=True,
+ help='The state is set to \'Draft\', when a case is created.\
+ If the case is in progress the state is set to \'Open\'.\
+ When the case is over, the state is set to \'Done\'.\
+ If the case needs to be reviewed then the state is \
+ set to \'Pending\'.'),
'kanban_state': fields.selection([('normal', 'Normal'),('blocked', 'Blocked'),('done', 'Ready To Pull')], 'Kanban State',
help="A task's kanban state indicates special situations affecting it:\n"
" * Normal is the default situation\n"
@@ -721,6 +739,8 @@ class task(osv.osv):
}
_defaults = {
+ 'stage_id': _get_default_stage_id,
+ 'project_id': _get_default_project_id,
'state': 'draft',
'kanban_state': 'normal',
'priority': '2',
@@ -728,7 +748,7 @@ class task(osv.osv):
'sequence': 10,
'active': True,
'user_id': lambda obj, cr, uid, context: uid,
- 'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'project.task', context=c)
+ 'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'project.task', context=c),
}
_order = "priority, sequence, date_start, name, id"
@@ -827,6 +847,41 @@ class task(osv.osv):
res['fields'][f]['string'] = res['fields'][f]['string'].replace('Hours',tm)
return res
+ # ****************************************
+ # Case management
+ # ****************************************
+
+ def stage_find(self, cr, uid, cases, section_id, domain=[], order='sequence', context=None):
+ """ Override of the base.stage method
+ Parameter of the stage search taken from the lead:
+ - section_id: if set, stages must belong to this section or
+ be a default stage; if not set, stages must be default
+ stages
+ """
+ if isinstance(cases, (int, long)):
+ cases = self.browse(cr, uid, cases, context=context)
+ # collect all section_ids
+ section_ids = []
+ if section_id:
+ section_ids.append(section_id)
+ for task in cases:
+ if task.project_id:
+ section_ids.append(task.project_id.id)
+ # OR all section_ids and OR with case_default
+ search_domain = []
+ if section_ids:
+ search_domain += [('|')] * len(section_ids)
+ for section_id in section_ids:
+ search_domain.append(('project_ids', '=', section_id))
+ search_domain.append(('case_default', '=', True))
+ # AND with the domain in parameter
+ search_domain += list(domain)
+ # perform search, return the first found
+ stage_ids = self.pool.get('project.task.type').search(cr, uid, search_domain, order=order, context=context)
+ if stage_ids:
+ return stage_ids[0]
+ return False
+
def _check_child_task(self, cr, uid, ids, context=None):
if context == None:
context = {}
@@ -839,9 +894,9 @@ class task(osv.osv):
return True
def action_close(self, cr, uid, ids, context=None):
- # This action open wizard to send email to partner or project manager after close task.
- if context == None:
- context = {}
+ """ This action closes the task, then opens the wizard to send an
+ email to the partner or the project manager.
+ """
task_id = len(ids) and ids[0] or False
self._check_child_task(cr, uid, ids, context=context)
if not task_id: return False
@@ -862,12 +917,14 @@ class task(osv.osv):
}
return res
- def do_close(self, cr, uid, ids, context={}):
- """
- Close Task
- """
-
- if not isinstance(ids,list): ids = [ids]
+ def do_close(self, cr, uid, ids, context=None):
+ """ Compatibility when changing to case_close. """
+ return self.case_close(cr, uid, ids, context=context)
+
+ def case_close(self, cr, uid, ids, context=None):
+ """ Closes Task """
+ request = self.pool.get('res.request')
+ if not isinstance(ids, list): ids = [ids]
for task in self.browse(cr, uid, ids, context=context):
vals = {}
project = task.project_id
@@ -879,47 +936,61 @@ class task(osv.osv):
reopen = False
if reopen:
self.do_reopen(cr, uid, [parent_id.id], context=context)
- vals.update({'state': 'done'})
- vals.update({'remaining_hours': 0.0})
+ # close task
+ vals['remaining_hours'] = 0.0
if not task.date_end:
- vals.update({ 'date_end':time.strftime('%Y-%m-%d %H:%M:%S')})
- self.write(cr, uid, [task.id],vals, context=context)
- self.do_close_send_note(cr, uid, [task.id], context)
+ vals['date_end'] = fields.datetime.now()
+ self.case_set(cr, uid, [task.id], 'done', vals, context=context)
+ self.case_close_send_note(cr, uid, [task.id], context=context)
return True
def do_reopen(self, cr, uid, ids, context=None):
-
for task in self.browse(cr, uid, ids, context=context):
project = task.project_id
- self.write(cr, uid, [task.id], {'state': 'open'}, context=context)
- self.do_open_send_note(cr, uid, [task.id], context)
+ self.case_set(cr, uid, [task.id], 'open', {}, context=context)
+ self.case_open_send_note(cr, uid, [task.id], context)
return True
- def do_cancel(self, cr, uid, ids, context={}):
+ def do_cancel(self, cr, uid, ids, context=None):
+ """ Compatibility when changing to case_cancel. """
+ return self.case_cancel(cr, uid, ids, context=context)
+
+ def case_cancel(self, cr, uid, ids, context=None):
+ request = self.pool.get('res.request')
tasks = self.browse(cr, uid, ids, context=context)
self._check_child_task(cr, uid, ids, context=context)
for task in tasks:
- self.write(cr, uid, [task.id], {'state': 'cancelled', 'remaining_hours':0.0}, context=context)
- self.do_cancel_send_note(cr, uid, [task.id], context)
+ self.case_set(cr, uid, [task.id], 'cancelled', {'remaining_hours': 0.0}, context=context)
+ self.case_cancel_send_note(cr, uid, [task.id], context=context)
return True
- def do_open(self, cr, uid, ids, context={}):
+ def do_open(self, cr, uid, ids, context=None):
+ """ Compatibility when changing to case_open. """
+ return self.case_open(cr, uid, ids, context=context)
+
+ def case_open(self, cr, uid, ids, context=None):
if not isinstance(ids,list): ids = [ids]
- tasks= self.browse(cr, uid, ids, context=context)
- for t in tasks:
- data = {'state': 'open'}
- if not t.date_start:
- data['date_start'] = time.strftime('%Y-%m-%d %H:%M:%S')
- self.write(cr, uid, [t.id], data, context=context)
- self.do_open_send_note(cr, uid, [t.id], context)
+ self.case_set(cr, uid, ids, 'open', {'date_start': fields.datetime.now()}, context=context)
+ self.case_open_send_note(cr, uid, ids, context)
return True
- def do_draft(self, cr, uid, ids, context={}):
- self.write(cr, uid, ids, {'state': 'draft'}, context=context)
- self.do_draft_send_note(cr, uid, ids, context)
+ def do_draft(self, cr, uid, ids, context=None):
+ """ Compatibility when changing to case_draft. """
+ return self.case_draft(cr, uid, ids, context=context)
+
+ def case_draft(self, cr, uid, ids, context=None):
+ self.case_set(cr, uid, ids, 'draft', {}, context=context)
+ self.case_draft_send_note(cr, uid, ids, context=context)
return True
-
+ def do_pending(self, cr, uid, ids, context=None):
+ """ Compatibility when changing to case_pending. """
+ return self.case_pending(cr, uid, ids, context=context)
+
+ def case_pending(self, cr, uid, ids, context=None):
+ self.case_set(cr, uid, ids, 'pending', {}, context=context)
+ return self.case_pending_send_note(cr, uid, ids, context=context)
+
def _delegate_task_attachments(self, cr, uid, task_id, delegated_task_id, context=None):
attachment = self.pool.get('ir.attachment')
attachment_ids = attachment.search(cr, uid, [('res_model', '=', self._name), ('res_id', '=', task_id)], context=context)
@@ -928,7 +999,6 @@ class task(osv.osv):
new_attachment_ids.append(attachment.copy(cr, uid, attachment_id, default={'res_id': delegated_task_id}, context=context))
return new_attachment_ids
-
def do_delegate(self, cr, uid, ids, delegate_data={}, context=None):
"""
Delegate Task to another users.
@@ -962,11 +1032,6 @@ class task(osv.osv):
delegated_tasks[task.id] = delegated_task_id
return delegated_tasks
- def do_pending(self, cr, uid, ids, context={}):
- self.write(cr, uid, ids, {'state': 'pending'}, context=context)
- self.do_pending_send_note(cr, uid, ids, context)
- return True
-
def set_remaining_time(self, cr, uid, ids, remaining_time=1.0, context=None):
for task in self.browse(cr, uid, ids, context=context):
if (task.state=='draft') or (task.planned_hours==0.0):
@@ -995,35 +1060,6 @@ class task(osv.osv):
def set_kanban_state_done(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'kanban_state': 'done'}, context=context)
- def _change_type(self, cr, uid, ids, next, context=None):
- """
- go to the next stage
- if next is False, go to previous stage
- """
- for task in self.browse(cr, uid, ids):
- if task.project_id.type_ids:
- typeid = task.type_id.id
- types_seq={}
- for type in task.project_id.type_ids :
- types_seq[type.id] = type.sequence
- if next:
- types = sorted(types_seq.items(), lambda x, y: cmp(x[1], y[1]))
- else:
- types = sorted(types_seq.items(), lambda x, y: cmp(y[1], x[1]))
- sorted_types = [x[0] for x in types]
- if not typeid:
- self.write(cr, uid, task.id, {'type_id': sorted_types[0]})
- elif typeid and typeid in sorted_types and sorted_types.index(typeid) != len(sorted_types)-1:
- index = sorted_types.index(typeid)
- self.write(cr, uid, task.id, {'type_id': sorted_types[index+1]})
- return True
-
- def next_type(self, cr, uid, ids, context=None):
- return self._change_type(cr, uid, ids, True, context=context)
-
- def prev_type(self, cr, uid, ids, context=None):
- return self._change_type(cr, uid, ids, False, context=context)
-
def _store_history(self, cr, uid, ids, context=None):
for task in self.browse(cr, uid, ids, context=context):
self.pool.get('project.task.history').create(cr, uid, {
@@ -1031,7 +1067,7 @@ class task(osv.osv):
'remaining_hours': task.remaining_hours,
'planned_hours': task.planned_hours,
'kanban_state': task.kanban_state,
- 'type_id': task.type_id.id,
+ 'type_id': task.stage_id.id,
'state': task.state,
'user_id': task.user_id.id
@@ -1045,22 +1081,25 @@ class task(osv.osv):
return task_id
# Overridden to reset the kanban_state to normal whenever
- # the stage (type_id) of the task changes.
+ # the stage (stage_id) of the task changes.
def write(self, cr, uid, ids, vals, context=None):
if isinstance(ids, (int, long)):
ids = [ids]
- if vals and not 'kanban_state' in vals and 'type_id' in vals:
- new_stage = vals.get('type_id')
+ if vals and not 'kanban_state' in vals and 'stage_id' in vals:
+ new_stage = vals.get('stage_id')
vals_reset_kstate = dict(vals, kanban_state='normal')
for t in self.browse(cr, uid, ids, context=context):
- write_vals = vals_reset_kstate if t.type_id != new_stage else vals
+ #TO FIX:Kanban view doesn't raise warning
+ #stages = [stage.id for stage in t.project_id.type_ids]
+ #if new_stage not in stages:
+ #raise osv.except_osv(_('Warning !'), _('Stage is not defined in the project.'))
+ write_vals = vals_reset_kstate if t.stage_id != new_stage else vals
super(task,self).write(cr, uid, [t.id], write_vals, context=context)
result = True
else:
result = super(task,self).write(cr, uid, ids, vals, context=context)
- if ('type_id' in vals) or ('remaining_hours' in vals) or ('user_id' in vals) or ('state' in vals) or ('kanban_state' in vals):
+ if ('stage_id' in vals) or ('remaining_hours' in vals) or ('user_id' in vals) or ('state' in vals) or ('kanban_state' in vals):
self._store_history(cr, uid, ids, context=context)
- self.stage_change_send_note(cr, uid, ids, context)
return result
def unlink(self, cr, uid, ids, context=None):
@@ -1100,7 +1139,11 @@ class task(osv.osv):
# ---------------------------------------------------
# OpenChatter methods and notifications
# ---------------------------------------------------
-
+
+ def case_get_note_msg_prefix(self, cr, uid, id, context=None):
+ """ Override of default prefix for notifications. """
+ return 'Task'
+
def get_needaction_user_ids(self, cr, uid, ids, context=None):
result = dict.fromkeys(ids, [])
for obj in self.browse(cr, uid, ids, context=context):
@@ -1117,28 +1160,16 @@ class task(osv.osv):
sub_ids.append(obj.manager_id.id)
return self.pool.get('res.users').read(cr, uid, sub_ids, context=context)
+ def stage_set_send_note(self, cr, uid, ids, stage_id, context=None):
+ """ Override of the (void) default notification method. """
+ stage_name = self.pool.get('project.task.type').name_get(cr, uid, [stage_id], context=context)[0][1]
+ return self.message_append_note(cr, uid, ids, body= _("Stage changed to <b>%s</b>.") % (stage_name), context=context)
+
def create_send_note(self, cr, uid, ids, context=None):
return self.message_append_note(cr, uid, ids, body=_("Task has been <b>created</b>."), context=context)
- def do_pending_send_note(self, cr, uid, ids, context=None):
- if not isinstance(ids,list): ids = [ids]
- msg = _('Task is now <b>pending</b>.')
- return self.message_append_note(cr, uid, ids, body=msg, context=context)
-
- def do_open_send_note(self, cr, uid, ids, context=None):
- msg = _('Task has been <b>opened</b>.')
- return self.message_append_note(cr, uid, ids, body=msg, context=context)
-
- def do_cancel_send_note(self, cr, uid, ids, context=None):
- msg = _('Task has been <b>canceled</b>.')
- return self.message_append_note(cr, uid, ids, body=msg, context=context)
-
- def do_close_send_note(self, cr, uid, ids, context=None):
- msg = _('Task has been <b>closed</b>.')
- return self.message_append_note(cr, uid, ids, body=msg, context=context)
-
- def do_draft_send_note(self, cr, uid, ids, context=None):
- msg = _('Task has been <b>renewed</b>.')
+ def case_draft_send_note(self, cr, uid, ids, context=None):
+ msg = _('Task has been set as <b>draft</b>.')
return self.message_append_note(cr, uid, ids, body=msg, context=context)
def do_delegation_send_note(self, cr, uid, ids, context=None):
@@ -1147,13 +1178,6 @@ class task(osv.osv):
self.message_append_note(cr, uid, [task.id], body=msg, context=context)
return True
- def stage_change_send_note(self, cr, uid, ids, context=None):
- for task in self.browse(cr, uid, ids, context=context):
- msg = _('Stage changed to <b>%s</b>') % (task.type_id.name)
- self.message_append_note(cr, uid, [task.id], body=msg, context=context)
- return True
-
-task()
class project_work(osv.osv):
_name = "project.task.work"
@@ -1192,7 +1216,7 @@ class project_work(osv.osv):
for work in self.browse(cr, uid, ids):
cr.execute('update project_task set remaining_hours=remaining_hours + %s where id=%s', (work.hours, work.task_id.id))
return super(project_work,self).unlink(cr, uid, ids,*args, **kwargs)
-project_work()
+
class account_analytic_account(osv.osv):
@@ -1213,7 +1237,6 @@ class account_analytic_account(osv.osv):
raise osv.except_osv(_('Warning !'), _('Please delete the project linked with this account first.'))
return super(account_analytic_account, self).unlink(cr, uid, ids, *args, **kwargs)
-account_analytic_account()
#
# Tasks History, used for cumulative flow charts (Lean/Agile)
@@ -1274,7 +1297,7 @@ class project_task_history(osv.osv):
_defaults = {
'date': fields.date.context_today,
}
-project_task_history()
+
class project_task_history_cumulative(osv.osv):
_name = 'project.task.history.cumulative'
@@ -1302,4 +1325,4 @@ class project_task_history_cumulative(osv.osv):
) as history
)
""")
-project_task_history_cumulative()
+
diff --git a/addons/project/project_data.xml b/addons/project/project_data.xml
index b7b59911fa4..4c95373d91f 100644
--- a/addons/project/project_data.xml
+++ b/addons/project/project_data.xml
@@ -24,22 +24,40 @@
<record id="project_tt_specification" model="project.task.type">
<field name="sequence">1</field>
<field name="name">Design</field>
- <field name="project_default" eval="1"/>
+ <field name="state">draft</field>
+ <field name="case_default" eval="True"/>
</record>
<record id="project_tt_development" model="project.task.type">
<field name="sequence">2</field>
<field name="name">Development</field>
- <field name="project_default" eval="1"/>
+ <field name="state">open</field>
+ <field name="case_default" eval="True"/>
</record>
<record id="project_tt_testing" model="project.task.type">
<field name="sequence">3</field>
<field name="name">Testing</field>
- <field name="project_default" eval="1"/>
+ <field name="state">open</field>
+ <field name="case_default" eval="True"/>
</record>
- <record id="project_tt_merge" model="project.task.type">
+ <record id="project_tt_pending" model="project.task.type">
<field name="sequence">4</field>
+ <field name="name">Pending</field>
+ <field name="state">pending</field>
+ <field name="case_default" eval="True"/>
+ <field name="fold" eval="True"/>
+ </record>
+ <record id="project_tt_merge" model="project.task.type">
+ <field name="sequence">5</field>
<field name="name">Deployment</field>
- <field name="project_default" eval="1"/>
+ <field name="state">done</field>
+ <field name="case_default" eval="True"/>
+ </record>
+ <record id="project_tt_cancel" model="project.task.type">
+ <field name="sequence">6</field>
+ <field name="name">Cancelled</field>
+ <field name="state">cancelled</field>
+ <field name="case_default" eval="True"/>
+ <field name="fold" eval="True"/>
</record>
</data>
</openerp>
diff --git a/addons/project/project_demo.xml b/addons/project/project_demo.xml
index 2f8c9e9638a..f685f14c85b 100644
--- a/addons/project/project_demo.xml
+++ b/addons/project/project_demo.xml
@@ -77,7 +77,7 @@
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Prepare Requirements Document</field>
- <field name="type_id" ref="project_tt_specification"/>
+ <field name="stage_id" ref="project_tt_specification"/>
<field name="color">3</field>
</record>
@@ -88,7 +88,7 @@
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Make SRS</field>
- <field name="type_id" ref="project_tt_specification"/>
+ <field name="stage_id" ref="project_tt_specification"/>
</record>
<record id="project_task_3" model="project.task">
@@ -99,7 +99,7 @@
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Design Use Cases</field>
<field name="date_deadline" eval="time.strftime('%Y-%m-24')"/>
- <field name="type_id" ref="project_tt_specification"/>
+ <field name="stage_id" ref="project_tt_specification"/>
</record>
<record id="project_task_4" model="project.task">
@@ -112,7 +112,7 @@
<field name="description">Use the account_budget module</field>
<field name="date_deadline" eval="time.strftime('%Y-%m-19')"/>
<field name="color">3</field>
- <field name="type_id" ref="project_tt_specification"/>
+ <field name="stage_id" ref="project_tt_specification"/>
</record>
<record id="project_task_5" model="project.task">
@@ -125,7 +125,7 @@
<field name="kanban_state">done</field>
<field name="priority">0</field>
<field name="date_deadline" eval="time.strftime('%Y-%m-%d')"/>
- <field name="type_id" ref="project_tt_specification"/>
+ <field name="stage_id" ref="project_tt_specification"/>
</record>
<record id="project_task_6" model="project.task">
@@ -135,7 +135,7 @@
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Risk Management Planning</field>
- <field name="type_id" ref="project_tt_specification"/>
+ <field name="stage_id" ref="project_tt_specification"/>
</record>
<record id="project_task_7" model="project.task">
@@ -145,7 +145,7 @@
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Create Project Schedules</field>
- <field name="type_id" ref="project_tt_specification"/>
+ <field name="stage_id" ref="project_tt_specification"/>
</record>
<record id="project_task_8" model="project.task">
@@ -156,7 +156,7 @@
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Dataflow Design</field>
<field name="priority">0</field>
- <field name="type_id" ref="project_tt_specification"/>
+ <field name="stage_id" ref="project_tt_specification"/>
</record>
<record id="project_task_9" model="project.task">
@@ -166,7 +166,7 @@
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">User Interface Design</field>
- <field name="type_id" ref="project_tt_specification"/>
+ <field name="stage_id" ref="project_tt_specification"/>
</record>
<record id="project_task_10" model="project.task">
@@ -177,7 +177,7 @@
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Develop Module in Sale Management</field>
<field name="kanban_state">blocked</field>
- <field name="type_id" ref="project_tt_development"/>
+ <field name="stage_id" ref="project_tt_development"/>
</record>
<record id="project_task_11" model="project.task">
@@ -187,7 +187,7 @@
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Develop module in Warehouse</field>
- <field name="type_id" ref="project_tt_merge"/>
+ <field name="stage_id" ref="project_tt_merge"/>
</record>
<function model="project.task" name="do_close" eval="[ref('project_task_11')], {'install_mode': True}"/>
@@ -199,7 +199,7 @@
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Integrate Modules</field>
- <field name="type_id" ref="project_tt_development"/>
+ <field name="stage_id" ref="project_tt_development"/>
</record>
<function model="project.task" name="do_close" eval="[ref('project_task_12')], {'install_mode': True}"/>
@@ -211,7 +211,7 @@
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Unit Testing</field>
- <field name="type_id" ref="project_tt_development"/>
+ <field name="stage_id" ref="project_tt_development"/>
</record>
<function model="project.task" name="do_pending" eval="[ref('project_task_13')], {'install_mode': True}"/>
@@ -223,8 +223,7 @@
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Regression Test</field>
- <field name="type_id" ref="project_tt_development"/>
- <field name="state">pending</field>
+ <field name="stage_id" ref="project_tt_development"/>
</record>
<record id="project_task_15" model="project.task">
@@ -234,7 +233,7 @@
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Documentation</field>
- <field name="type_id" ref="project_tt_specification"/>
+ <field name="stage_id" ref="project_tt_specification"/>
<field name="date_start">2011-02-06</field>
</record>
@@ -247,7 +246,7 @@
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Performance Tuning</field>
<field name="description">Test on Runbot</field>
- <field name="type_id" ref="project_tt_specification"/>
+ <field name="stage_id" ref="project_tt_specification"/>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_16')], {'install_mode': True}"/>
@@ -258,7 +257,7 @@
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Deploy and Review on Customer System</field>
- <field name="type_id" ref="project_tt_specification"/>
+ <field name="stage_id" ref="project_tt_specification"/>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_17')], {'install_mode': True}"/>
@@ -269,7 +268,7 @@
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Training and Presentation</field>
- <field name="type_id" ref="project_tt_specification"/>
+ <field name="stage_id" ref="project_tt_specification"/>
</record>
<!--
@@ -322,7 +321,7 @@
<record id="project_task_116" model="project.task">
<field name="planned_hours">38.0</field>
<field name="remaining_hours">38.0</field>
- <field name="type_id" ref="project_tt_development"/>
+ <field name="stage_id" ref="project_tt_development"/>
<field name="user_id" eval="False"/>
<field name="project_id" ref="project_project_22"/>
<field name="description">BoM, After sales returns, interventions. Traceability.</field>
@@ -334,7 +333,7 @@
<field name="planned_hours">16.0</field>
<field name="remaining_hours">16.0</field>
<field name="user_id" eval="False"/>
- <field name="type_id" ref="project_tt_development"/>
+ <field name="stage_id" ref="project_tt_development"/>
<field name="project_id" ref="project_project_23"/>
<field name="name">Data importation + Doc</field>
</record>
@@ -344,7 +343,7 @@
<field name="planned_hours">16.0</field>
<field name="remaining_hours">16.0</field>
<field name="user_id" eval="False"/>
- <field name="type_id" ref="project_tt_development"/>
+ <field name="stage_id" ref="project_tt_development"/>
<field name="project_id" ref="project_project_23"/>
<field name="name">Modifications asked by the customer.</field>
</record>
@@ -353,7 +352,7 @@
<record id="project_task_184" model="project.task">
<field name="planned_hours">16.0</field>
<field name="remaining_hours">16.0</field>
- <field name="type_id" ref="project_tt_testing"/>
+ <field name="stage_id" ref="project_tt_testing"/>
<field name="user_id" eval="False"/>
<field name="priority">0</field>
<field name="project_id" ref="project_project_21"/>
@@ -364,7 +363,7 @@
<field name="sequence">15</field>
<field name="planned_hours">8.0</field>
<field name="remaining_hours">8.0</field>
- <field name="type_id" ref="project_tt_testing"/>
+ <field name="stage_id" ref="project_tt_testing"/>
<field name="user_id" eval="False"/>
<field name="project_id" ref="project_project_21"/>
<field name="name">Internal testing + Software Install</field>
@@ -374,7 +373,7 @@
<field name="sequence">17</field>
<field name="planned_hours">16.0</field>
<field name="remaining_hours">16.0</field>
- <field name="type_id" ref="project_tt_development"/>
+ <field name="stage_id" ref="project_tt_development"/>
<field name="user_id" eval="False"/>
<field name="priority">2</field>
<field name="project_id" ref="project_project_21"/>
@@ -389,7 +388,7 @@
<field name="user_id" eval="False"/>
<field name="project_id" ref="project_project_23"/>
<field name="name">Parameters</field>
- <field name="type_id" ref="project_tt_specification"/>
+ <field name="stage_id" ref="project_tt_specification"/>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_189')], {'install_mode': True}"/>
@@ -398,10 +397,9 @@
<field name="planned_hours">32.0</field>
<field name="remaining_hours">32.0</field>
<field name="user_id" eval="False"/>
- <field name="state">open</field>
<field name="project_id" ref="project_project_21"/>
<field name="name">Start of the doc redaction + MRP</field>
- <field name="type_id" ref="project_tt_testing"/>
+ <field name="stage_id" ref="project_tt_testing"/>
</record>
<!-- Schedule tasks to assign users and dates -->
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml
index e84bb8dcd25..17e1445f141 100644
--- a/addons/project/project_view.xml
+++ b/addons/project/project_view.xml
@@ -161,7 +161,7 @@
</tree>
</field>
</record>
-
+
<act_window
context="{'search_default_project_id': [active_id], 'default_project_id': active_id}"
id="act_project_project_2_project_task_all"
@@ -196,7 +196,7 @@
<li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
</ul>
<div class="oe_kanban_content">
- <a type="edit"><h3 class="oe_kanban_ellipsis"><field name="name"/></h3></a>
+ <h3 class="oe_kanban_ellipsis"><field name="name"/></h3>
<div class="oe_kanban_project_list">
<a t-if="record.use_tasks.raw_value"
@@ -305,15 +305,26 @@
<field name="arch" type="xml">
<form string="Project" layout="manual">
<div class="oe_form_topbar">
- <button name="action_close" states="pending,open" string="Done" type="object"/>
- <button name="do_open" states="pending,draft" string="Start Task" type="object"/>
- <button name="%(action_project_task_reevaluate)d" states="done,cancelled" string="Reactivate" type="action" context="{'button_reactivate':True}" />
- <button name="do_pending" states="open" string="Pending" type="object"/>
- <button name="do_draft" states="open" string="Draft" type="object"/>
- <button name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action"/>
- <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object"/>
+ <button name="do_open" string="Start Task" type="object"
+ states="draft,pending"/>
+ <button name="%(action_project_task_reevaluate)d" string="Reactivate" type="action"
+ states="done,cancelled" context="{'button_reactivate':True}"/>
+ <button name="do_pending" string="Pending" type="object"
+ states="open"/>
+ <button name="action_close" string="Done" type="object"
+ states="draft,open,pending"/>
+ <button name="do_draft" string="Draft" type="object"
+ states="cancel,done"/>
+ <button name="%(action_project_task_delegate)d" string="Delegate" type="action"
+ states="pending,open,draft"/>
+ <button name="do_cancel" string="Cancel" type="object"
+ states="draft,open,pending" />
+ <button name="stage_previous" string="Previous Stage" type="object"
+ states="open,pending" icon="gtk-go-back" attrs="{'invisible': [('stage_id','=', False)]}"/>
+ <button name="stage_next" string="Next Stage" type="object"
+ states="open,pending" icon="gtk-go-forward" attrs="{'invisible': [('stage_id','=', False)]}"/>
<div class="oe_right">
- <field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}' select="1"/>
+ <field name="stage_id" nolabel="1" widget="statusbar"/>
</div>
<div class="oe_clear"/>
</div>
@@ -362,7 +373,8 @@
<tree string="Delegated tasks">
<field name="name"/>
<field name="user_id"/>
- <field name="state"/>
+ <field name="stage_id"/>
+ <field name="state" groups="base.group_no_one"/>
<field name="effective_hours" widget="float_time"/>
<field name="progress" widget="progressbar"/>
<field name="remaining_hours" widget="float_time"/>
@@ -376,16 +388,13 @@
<separator string="Planning" colspan="2"/>
<field name="priority"/>
<field name="sequence"/>
+ <field name="state" groups="base.group_no_one"/>
</group>
<separator string="Miscellaneous" colspan="4"/>
<field name="partner_id" />
<field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
- <group col="4" colspan="2">
- <field name="type_id" widget="selection" readonly="1"/>
- <button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/>
- <button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/>
- </group>
+ <field name="state" groups="base.group_no_one"/>
<separator colspan="4" string="Notes"/>
<field colspan="4" name="notes" nolabel="1"/>
</page>
@@ -397,22 +406,22 @@
</form>
</field>
</record>
-
+
<!-- Project Task Kanban View -->
<record model="ir.ui.view" id="view_task_kanban">
<field name="name">project.task.kanban</field>
<field name="model">project.task</field>
<field name="type">kanban</field>
<field name="arch" type="xml">
- <kanban default_group_by="type_id" >
+ <kanban default_group_by="stage_id" >
<field name="color"/>
<field name="priority"/>
- <field name="type_id"/>
+ <field name="stage_id"/>
<field name="user_id"/>
<field name="user_email"/>
<field name="description"/>
<field name="sequence"/>
- <field name="state"/>
+ <field name="state" groups="base.group_no_one"/>
<field name="kanban_state"/>
<field name="remaining_hours" sum="Remaining Time" groups="project.group_time_work_estimation_tasks"/>
<field name="date_deadline"/>
@@ -508,20 +517,21 @@
<field name="effective_hours" widget="float_time" sum="Spent Hours" invisible="1"/>
<field name="remaining_hours" widget="float_time" sum="Remaining Hours" on_change="onchange_remaining(remaining_hours,planned_hours)" invisible="context.get('set_visible',False)" groups="project.group_time_work_estimation_tasks"/>
<field name="date_deadline" invisible="context.get('deadline_visible',True)"/>
- <field name="type_id" invisible="context.get('set_visible',False)"/>
- <button name="next_type" invisible="context.get('set_visible',False)"
- states="draft,open,pending"
- string="Change Stage"
- type="object"
- icon="gtk-go-forward"
- help="Change Type"/>
+ <button name="do_open" string="Start Task" type="object"
+ states="draft,pending" icon="gtk-go-forward"/>
+ <button name="action_close" string="Done" type="object"
+ states="draft,open,pending" icon="gtk-apply"/>
+ <button name="%(action_project_task_delegate)d" string="Delegate" type="action"
+ states="pending,open,draft" icon="terp-personal"/>
+ <field name="stage_id" invisible="context.get('set_visible',False)"/>
+ <button name="stage_previous" string="Previous Stage" type="object"
+ states="open,pending" icon="gtk-go-back" attrs="{'invisible': [('stage_id','=', False)]}"/>
+ <button name="stage_next" string="Next Stage" type="object"
+ states="open,pending" icon="gtk-go-forward" attrs="{'invisible': [('stage_id','=', False)]}"/>
+ <field name="state" invisible="context.get('set_visible',False)" groups="base.group_no_one"/>
<field name="date_start" invisible="1" groups="base.group_no_one"/>
<field name="date_end" invisible="1" groups="base.group_no_one"/>
<field name="progress" widget="progressbar" invisible="context.get('set_visible',False)"/>
- <field name="state" invisible="context.get('set_visible',False)"/>
- <button name="do_open" states="pending,draft,done,cancelled" string="Start Task" type="object" icon="gtk-media-play" help="For changing to open state" invisible="context.get('set_visible',False)"/>
- <button name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="terp-personal" help="For changing to delegate state"/>
- <button name="action_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close" help="For changing to done state"/>
</tree>
</field>
</record>
@@ -589,7 +599,7 @@
<separator orientation="vertical"/>
<filter string="Project" name="group_project_id" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}"/>
<separator orientation="vertical"/>
- <filter string="Stage" name="group_stage_id" icon="terp-stage" domain="[]" context="{'group_by':'type_id'}"/>
+ <filter string="Stage" name="group_stage_id" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
<filter string="Status" name="group_state" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<separator orientation="vertical"/>
<filter string="Deadline" icon="terp-gnome-cpu-frequency-applet+" domain="[]" context="{'group_by':'date_deadline'}"/>
@@ -660,7 +670,7 @@
<field name="arch" type="xml">
<search string="Tasks Stages">
<group>
- <filter icon="terp-check" string="Common" name="common" domain="[('project_default', '=', 1)]" help="Stages common to all projects"/>
+ <filter icon="terp-check" string="Common" name="common" domain="[('case_default', '=', 1)]" help="Stages common to all projects"/>
<separator orientation="vertical"/>
<field name="name"/>
</group>
@@ -674,10 +684,14 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Task Stage">
- <group colspan="4" col="6">
- <field name="name"/>
- <field name="project_default"/>
- <field name="sequence"/>
+ <group colspan="2" col="2">
+ <field name="name"/>
+ <field name="state"/>
+ </group>
+ <group colspan="2" col="4">
+ <field name="case_default"/>
+ <field name="sequence"/>
+ <field name="fold"/>
</group>
<separator string="Description" colspan="4"/>
<field colspan="4" name="description" nolabel="1"/>
@@ -693,6 +707,7 @@
<tree string="Task Stage">
<field name="sequence"/>
<field name="name"/>
+ <field name="state"/>
</tree>
</field>
</record>
@@ -707,10 +722,10 @@
<menuitem id="menu_tasks_config" name="GTD" parent="project.menu_definitions" sequence="1"/>
- <menuitem id="menu_project_config_project" name="Stages" parent="menu_definitions" sequence="1"/>
+ <menuitem id="menu_project_config_project" name="Stages" parent="project.menu_definitions" sequence="1"/>
- <menuitem action="open_task_type_form" id="menu_task_types_view" parent="menu_project_config_project" sequence="2" groups="base.group_no_one"/>
- <menuitem action="open_view_project_all" id="menu_projects" name="Projects" parent="menu_project_management" sequence="1"/>
+ <menuitem action="open_task_type_form" name="Task Stages" id="menu_task_types_view" parent="menu_project_config_project" sequence="2"/>
+ <menuitem action="open_view_project_all" id="menu_projects" name="Projects" parent="menu_project_management" sequence="1" groups="base.group_no_one"/>
<act_window context="{'search_default_user_id': [active_id], 'default_user_id': active_id}" id="act_res_users_2_project_project" name="User's projects" res_model="project.project" src_model="res.users" view_mode="tree,form" view_type="form"/>
diff --git a/addons/project/report/project_cumulative.xml b/addons/project/report/project_cumulative.xml
index 89667992f0a..3c04d36feb6 100644
--- a/addons/project/report/project_cumulative.xml
+++ b/addons/project/report/project_cumulative.xml
@@ -15,7 +15,8 @@
<field name="user_id"/>
<field name="remaining_hours"/>
<field name="kanban_state"/>
- <field name="state"/>
+ <field name="stage_id"/>
+ <field name="state" groups="base.group_no_one"/>
</tree>
</field>
</record>
diff --git a/addons/project/report/project_report.py b/addons/project/report/project_report.py
index 1012ca9d518..58f7739e96d 100644
--- a/addons/project/report/project_report.py
+++ b/addons/project/report/project_report.py
@@ -82,7 +82,7 @@ class report_project_task_user(osv.osv):
t.name as name,
t.company_id,
t.partner_id,
- t.type_id,
+ t.stage_id,
remaining_hours as remaining_hours,
total_hours as total_hours,
t.delay_hours as hours_delay,
@@ -114,7 +114,7 @@ class report_project_task_user(osv.osv):
name,
t.company_id,
t.partner_id,
- t.type_id
+ t.stage_id
""")
diff --git a/addons/project/report/project_report_view.xml b/addons/project/report/project_report_view.xml
index 3bdec47fcb9..240176f7941 100644
--- a/addons/project/report/project_report_view.xml
+++ b/addons/project/report/project_report_view.xml
@@ -214,7 +214,7 @@
<tree string="Task By Days" >
<field name="day"/>
<field name="total_task"/>
- <field name="state"/>
+ <field name="state" groups="base.group_no_one"/>
</tree>
</field>
</record>
diff --git a/addons/project/static/src/js/project.js b/addons/project/static/src/js/project.js
index 297aa7184b9..510fcbb99e7 100644
--- a/addons/project/static/src/js/project.js
+++ b/addons/project/static/src/js/project.js
@@ -23,4 +23,14 @@ openerp.project = function(openerp) {
}
}
});
+
+ openerp.web_kanban.KanbanRecord.include({
+ on_card_clicked: function() {
+ if (this.view.dataset.model === 'project.project') {
+ this.$('.oe_kanban_project_list a').first().click();
+ } else {
+ this._super.apply(this, arguments);
+ }
+ }
+ });
};
diff --git a/addons/project/test/task_process.yml b/addons/project/test/task_process.yml
index c4d17f783f6..ad4bbe53bb3 100644
--- a/addons/project/test/task_process.yml
+++ b/addons/project/test/task_process.yml
@@ -40,7 +40,7 @@
I change the stage of task to next stage.
-
!python {model: project.task}: |
- self.next_type(cr, uid, [ref("project_task_1")])
+ self.stage_next(cr, uid, [ref("project_task_1")])
-
!record {model: project.task.reevaluate, id: reevaluate_id}:
remaining_hours : 120
@@ -68,9 +68,9 @@
I change the stage of task to previous stage.
-
!python {model: project.task}: |
- self.prev_type(cr, uid, [ref("project_task_1")])
+ self.stage_previous(cr, uid, [ref("project_task_1")])
-
I cancel Task.
-
!python {model: project.task}: |
- self.do_cancel(cr, uid, [ref("project_task_2")]) \ No newline at end of file
+ self.do_cancel(cr, uid, [ref("project_task_2")])
diff --git a/addons/project_issue/__openerp__.py b/addons/project_issue/__openerp__.py
index fc88372fe90..9037523d41e 100644
--- a/addons/project_issue/__openerp__.py
+++ b/addons/project_issue/__openerp__.py
@@ -38,6 +38,7 @@ and decide on their status as they evolve.
'website': 'http://www.openerp.com',
'images': ['images/issue_analysis.jpeg','images/project_issue.jpeg'],
'depends': [
+ 'base_status',
'crm',
'project',
],
diff --git a/addons/project_issue/board_project_issue_view.xml b/addons/project_issue/board_project_issue_view.xml
index a070bdbe521..9945f006e43 100644
--- a/addons/project_issue/board_project_issue_view.xml
+++ b/addons/project_issue/board_project_issue_view.xml
@@ -35,7 +35,7 @@
<field name="type">graph</field>
<field name="arch" type="xml">
<graph orientation="vertical" string="Project Issue" type="bar">
- <field name="type_id"/>
+ <field name="stage_id"/>
<field name="nbr" operator="+"/>
<field group="True" name="user_id"/>
</graph>
@@ -96,18 +96,22 @@
<field name="partner_id"/>
<field name="project_id" />
<field name="priority" string="Priority"/>
- <field name="type_id" widget="selection" readonly="1"/>
- <button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/>
- <button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/>
<field name="version_id" widget="selection"/>
<field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}"/>
- <field name="state"/>
- <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
- <button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
- <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" help="To Do"/>
- <button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
- <button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
- <button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert"/>
+ <field name="stage_id" widget="selection" readonly="1"/>
+ <button name="stage_previous" string="Previous" type="object"
+ icon="gtk-go-back" help="Change to Previous Stage"
+ attrs="{'invisible': [('stage_id','=', False)]}"/>
+ <button name="stage_next" string="Next" type="object"
+ icon="gtk-go-forward" help="Change to Next Stage"
+ attrs="{'invisible': [('stage_id','=', False)]}"/>
+ <field name="state" groups="base.group_no_one"/>
+ <button name="case_open" string="Open" type="object"
+ states="draft,pending" icon="gtk-go-forward"/>
+ <button name="case_close" string="Done" type="object"
+ states="draft,open,pending" icon="gtk-close"/>
+ <button name="case_cancel" string="Cancel" type="object"
+ states="draft,open,pending" icon="gtk-cancel"/>
<field name="categ_id" invisible="1"/>
<field name="task_id" invisible="1"/>
</tree>
diff --git a/addons/project_issue/i18n/sv.po b/addons/project_issue/i18n/sv.po
new file mode 100644
index 00000000000..134b7a9477b
--- /dev/null
+++ b/addons/project_issue/i18n/sv.po
@@ -0,0 +1,952 @@
+# Swedish translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 01:37+0100\n"
+"PO-Revision-Date: 2012-05-30 19:13+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Swedish <sv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-31 04:54+0000\n"
+"X-Generator: Launchpad (build 15322)\n"
+
+#. module: project_issue
+#: view:project.issue.report:0
+msgid "Previous Month"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue.report,delay_open:0
+msgid "Avg. Delay to Open"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0 view:project.issue.report:0
+msgid "Group By..."
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,working_hours_open:0
+msgid "Working Hours to Open the Issue"
+msgstr ""
+
+#. module: project_issue
+#: constraint:project.project:0
+msgid "Error! project start-date must be lower then project end-date."
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,date_open:0
+msgid "Opened"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue.report,opening_date:0
+msgid "Date of Opening"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue.report,month:0
+msgid "March"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,progress:0
+msgid "Progress (%)"
+msgstr ""
+
+#. module: project_issue
+#: code:addons/project_issue/project_issue.py:406
+#, python-format
+msgid "Warning !"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,company_id:0 view:project.issue.report:0
+#: field:project.issue.report,company_id:0
+msgid "Company"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,email_cc:0
+msgid "Watchers Emails"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Today's features"
+msgstr ""
+
+#. module: project_issue
+#: model:ir.model,name:project_issue.model_project_issue_version
+msgid "project.issue.version"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,day_open:0
+msgid "Days to Open"
+msgstr ""
+
+#. module: project_issue
+#: code:addons/project_issue/project_issue.py:406
+#, python-format
+msgid ""
+"You cannot escalate this issue.\n"
+"The relevant Project has not configured the Escalation Project!"
+msgstr ""
+
+#. module: project_issue
+#: constraint:project.project:0
+msgid "Error! You cannot assign escalation to the same project!"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue,priority:0
+#: selection:project.issue.report,priority:0
+msgid "Highest"
+msgstr ""
+
+#. module: project_issue
+#: help:project.issue,inactivity_days:0
+msgid "Difference in days between last action and current date"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue.report:0 field:project.issue.report,day:0
+msgid "Day"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,days_since_creation:0
+msgid "Days since creation date"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Add Internal Note"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,task_id:0 view:project.issue.report:0
+#: field:project.issue.report,task_id:0
+msgid "Task"
+msgstr ""
+
+#. module: project_issue
+#: view:board.board:0
+msgid "Issues By Stage"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,message_ids:0
+msgid "Messages"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,inactivity_days:0
+msgid "Days since last action"
+msgstr ""
+
+#. module: project_issue
+#: model:ir.model,name:project_issue.model_project_project
+#: view:project.issue:0 field:project.issue,project_id:0
+#: view:project.issue.report:0 field:project.issue.report,project_id:0
+msgid "Project"
+msgstr ""
+
+#. module: project_issue
+#: model:ir.actions.act_window,name:project_issue.action_view_my_open_project_issue_tree
+msgid "My Open Project issues"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue,state:0 selection:project.issue.report,state:0
+msgid "Cancelled"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Change to Next Stage"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue.report,date_closed:0
+msgid "Date of Closing"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Issue Tracker Search"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,color:0
+msgid "Color Index"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Issue / Partner"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue.report,working_hours_open:0
+msgid "Avg. Working Hours to Open"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,date_action_next:0
+msgid "Next Action"
+msgstr ""
+
+#. module: project_issue
+#: help:project.project,project_escalation_id:0
+msgid ""
+"If any issue is escalated from the current Project, it will be listed under "
+"the project selected here."
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Extra Info"
+msgstr ""
+
+#. module: project_issue
+#: model:ir.actions.act_window,help:project_issue.action_project_issue_report
+msgid ""
+"This report on the project issues allows you to analyse the quality of your "
+"support or after-sales services. You can track the issues per age. You can "
+"analyse the time required to open or close an issue, the number of email to "
+"exchange and the time spent on average by issues."
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Change Color"
+msgstr ""
+
+#. module: project_issue
+#: code:addons/project_issue/project_issue.py:482
+#, python-format
+msgid " (copy)"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Responsible"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue,priority:0
+#: selection:project.issue.report,priority:0
+msgid "Low"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Statistics"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Convert To Task"
+msgstr ""
+
+#. module: project_issue
+#: model:crm.case.categ,name:project_issue.bug_categ
+msgid "Maintenance"
+msgstr ""
+
+#. module: project_issue
+#: model:ir.actions.act_window,name:project_issue.action_project_issue_report
+#: model:ir.ui.menu,name:project_issue.menu_project_issue_report_tree
+#: view:project.issue.report:0
+msgid "Issues Analysis"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Next"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0 field:project.issue,priority:0
+#: view:project.issue.report:0 field:project.issue.report,priority:0
+msgid "Priority"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Send New Email"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0 field:project.issue,version_id:0
+#: view:project.issue.report:0 field:project.issue.report,version_id:0
+msgid "Version"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0 selection:project.issue,state:0
+#: view:project.issue.report:0
+msgid "New"
+msgstr ""
+
+#. module: project_issue
+#: model:ir.actions.act_window,name:project_issue.project_issue_categ_action
+msgid "Issue Categories"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,email_from:0
+msgid "Email"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,channel_id:0 field:project.issue.report,channel_id:0
+msgid "Channel"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue,priority:0
+#: selection:project.issue.report,priority:0
+msgid "Lowest"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Unassigned Issues"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,create_date:0 view:project.issue.report:0
+#: field:project.issue.report,creation_date:0
+msgid "Creation Date"
+msgstr ""
+
+#. module: project_issue
+#: model:ir.actions.act_window,name:project_issue.project_issue_version_action
+#: model:ir.ui.menu,name:project_issue.menu_project_issue_version_act
+msgid "Versions"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "To Do Issues"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Reset to Draft"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Today"
+msgstr ""
+
+#. module: project_issue
+#: model:ir.actions.act_window,name:project_issue.open_board_project_issue
+#: model:ir.ui.menu,name:project_issue.menu_deshboard_project_issue
+msgid "Project Issue Dashboard"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0 selection:project.issue,state:0
+#: view:project.issue.report:0
+msgid "Done"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue.report,month:0
+msgid "July"
+msgstr ""
+
+#. module: project_issue
+#: model:ir.ui.menu,name:project_issue.menu_project_issue_category_act
+msgid "Categories"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0 view:project.issue.report:0
+#: field:project.issue.report,type_id:0
+msgid "Stage"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "History Information"
+msgstr ""
+
+#. module: project_issue
+#: model:ir.actions.act_window,name:project_issue.action_view_current_project_issue_tree
+#: model:ir.actions.act_window,name:project_issue.action_view_pending_project_issue_tree
+msgid "Project issues"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Communication & History"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue.report:0
+msgid "My Open Project Issue"
+msgstr ""
+
+#. module: project_issue
+#: model:ir.actions.act_window,name:project_issue.action_view_my_project_issue_tree
+msgid "My Project Issues"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Contact"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0 field:project.issue,partner_id:0
+#: view:project.issue.report:0 field:project.issue.report,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: project_issue
+#: view:board.board:0
+msgid "My Issues"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Change to Previous Stage"
+msgstr ""
+
+#. module: project_issue
+#: model:ir.actions.act_window,help:project_issue.project_issue_version_action
+msgid ""
+"You can use the issues tracker in OpenERP to handle bugs in the software "
+"development project, to handle claims in after-sales services, etc. Define "
+"here the different versions of your products on which you can work on issues."
+msgstr ""
+
+#. module: project_issue
+#: code:addons/project_issue/project_issue.py:330
+#, python-format
+msgid "Tasks"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue.report,nbr:0
+msgid "# of Issues"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue.report,month:0
+msgid "September"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue.report,month:0
+msgid "December"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Issue Tracker Tree"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0 view:project.issue.report:0
+#: field:project.issue.report,month:0
+msgid "Month"
+msgstr ""
+
+#. module: project_issue
+#: model:ir.model,name:project_issue.model_project_issue_report
+msgid "project.issue.report"
+msgstr ""
+
+#. module: project_issue
+#: code:addons/project_issue/project_issue.py:408 view:project.issue:0
+#, python-format
+msgid "Escalate"
+msgstr ""
+
+#. module: project_issue
+#: model:crm.case.categ,name:project_issue.feature_request_categ
+msgid "Feature Requests"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,write_date:0
+msgid "Update Date"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Open Features"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Previous"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0 field:project.issue,categ_id:0
+#: view:project.issue.report:0 field:project.issue.report,categ_id:0
+msgid "Category"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,user_email:0
+msgid "User Email"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue.report:0
+msgid "#Number of Project Issues"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Reset to New"
+msgstr ""
+
+#. module: project_issue
+#: help:project.issue,channel_id:0
+msgid "Communication channel."
+msgstr ""
+
+#. module: project_issue
+#: help:project.issue,email_cc:0
+msgid ""
+"These email addresses will be added to the CC field of all inbound and "
+"outbound emails for this record before being sent. Separate multiple email "
+"addresses with a comma"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue.report,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Contact Information"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,date_closed:0 selection:project.issue.report,state:0
+msgid "Closed"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Reply"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue.report,delay_close:0
+msgid "Avg. Delay to Close"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0 selection:project.issue,state:0
+#: view:project.issue.report:0 selection:project.issue.report,state:0
+msgid "Pending"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Status"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue.report:0
+msgid "#Project Issues"
+msgstr ""
+
+#. module: project_issue
+#: view:board.board:0
+msgid "Current Issues"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue.report,month:0
+msgid "August"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue,priority:0
+#: selection:project.issue.report,priority:0
+msgid "Normal"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Global CC"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0 view:project.issue.report:0
+msgid "To Do"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue.report,month:0
+msgid "June"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "New Issues"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,day_close:0
+msgid "Days to Close"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,active:0 field:project.issue.version,active:0
+msgid "Active"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue.report,month:0
+msgid "November"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue.report:0
+msgid "Search"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue.report,month:0
+msgid "October"
+msgstr ""
+
+#. module: project_issue
+#: view:board.board:0
+msgid "Issues Dashboard"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0 field:project.issue,type_id:0
+msgid "Stages"
+msgstr ""
+
+#. module: project_issue
+#: help:project.issue,days_since_creation:0
+msgid "Difference in days between creation date and current date"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue.report,month:0
+msgid "January"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Feature Tracker Tree"
+msgstr ""
+
+#. module: project_issue
+#: help:project.issue,email_from:0
+msgid "These people will receive email."
+msgstr ""
+
+#. module: project_issue
+#: view:board.board:0
+msgid "Issues By State"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0 field:project.issue,date:0
+msgid "Date"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "History"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,user_id:0 view:project.issue.report:0
+#: field:project.issue.report,user_id:0
+msgid "Assigned to"
+msgstr ""
+
+#. module: project_issue
+#: field:project.project,reply_to:0
+msgid "Reply-To Email Address"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,partner_address_id:0
+msgid "Partner Contact"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Issue Tracker Form"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0 field:project.issue,state:0
+#: view:project.issue.report:0 field:project.issue.report,state:0
+msgid "State"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "General"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Current Features"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue.version:0
+msgid "Issue Version"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue.version,name:0
+msgid "Version Number"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Cancel"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Close"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0 selection:project.issue.report,state:0
+msgid "Open"
+msgstr ""
+
+#. module: project_issue
+#: model:ir.actions.act_window,name:project_issue.act_project_project_2_project_issue_all
+#: model:ir.actions.act_window,name:project_issue.project_issue_categ_act0
+#: model:ir.ui.menu,name:project_issue.menu_project_confi
+#: model:ir.ui.menu,name:project_issue.menu_project_issue_track
+#: view:project.issue:0
+msgid "Issues"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue,state:0
+msgid "In Progress"
+msgstr ""
+
+#. module: project_issue
+#: model:ir.actions.act_window,name:project_issue.action_project_issue_graph_stage
+#: model:ir.actions.act_window,name:project_issue.action_project_issue_graph_state
+#: model:ir.model,name:project_issue.model_project_issue
+#: view:project.issue.report:0
+msgid "Project Issue"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Creation Month"
+msgstr ""
+
+#. module: project_issue
+#: help:project.issue,progress:0
+msgid "Computed as: Time Spent / Total Time."
+msgstr ""
+
+#. module: project_issue
+#: model:ir.actions.act_window,help:project_issue.project_issue_categ_act0
+msgid ""
+"Issues such as system bugs, customer complaints, and material breakdowns are "
+"collected here. You can define the stages assigned when solving the project "
+"issue (analysis, development, done). With the mailgateway module, issues can "
+"be integrated through an email address (example: support@mycompany.com)"
+msgstr ""
+
+#. module: project_issue
+#: view:board.board:0 view:project.issue:0
+msgid "Pending Issues"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,name:0
+msgid "Issue"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Feature Tracker Search"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0 field:project.issue,description:0
+msgid "Description"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,section_id:0
+msgid "Sales Team"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue.report,month:0
+msgid "May"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue.report:0 field:project.issue.report,email:0
+msgid "# Emails"
+msgstr ""
+
+#. module: project_issue
+#: help:project.issue,state:0
+msgid ""
+"The state is set to 'Draft', when a case is created. "
+" \n"
+"If the case is in progress the state is set to 'Open'. "
+" \n"
+"When the case is over, the state is set to 'Done'. "
+" \n"
+"If the case needs to be reviewed then the state is set to 'Pending'."
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue.report,month:0
+msgid "February"
+msgstr ""
+
+#. module: project_issue
+#: code:addons/project_issue/project_issue.py:70
+#, python-format
+msgid "Issue '%s' has been opened."
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Feature description"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "Edit"
+msgstr ""
+
+#. module: project_issue
+#: field:project.project,project_escalation_id:0
+msgid "Project Escalation"
+msgstr ""
+
+#. module: project_issue
+#: help:project.issue,section_id:0
+msgid ""
+"Sales team to which Case belongs to. Define "
+"Responsible user and Email account for mail gateway."
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue.report:0
+msgid "Month-1"
+msgstr ""
+
+#. module: project_issue
+#: code:addons/project_issue/project_issue.py:85
+#, python-format
+msgid "Issue '%s' has been closed."
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue.report,month:0
+msgid "April"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue:0
+msgid "References"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,working_hours_close:0
+msgid "Working Hours to Close the Issue"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,id:0
+msgid "ID"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue.report:0
+msgid "Current Year"
+msgstr ""
+
+#. module: project_issue
+#: code:addons/project_issue/project_issue.py:415
+#, python-format
+msgid "No Title"
+msgstr ""
+
+#. module: project_issue
+#: help:project.issue.report,delay_close:0
+#: help:project.issue.report,delay_open:0
+msgid "Number of Days to close the project issue"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue.report:0 field:project.issue.report,section_id:0
+msgid "Sale Team"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue.report,working_hours_close:0
+msgid "Avg. Working Hours to Close"
+msgstr ""
+
+#. module: project_issue
+#: selection:project.issue,priority:0
+#: selection:project.issue.report,priority:0
+msgid "High"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,date_deadline:0
+msgid "Deadline"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,date_action_last:0
+msgid "Last Action"
+msgstr ""
+
+#. module: project_issue
+#: view:project.issue.report:0 field:project.issue.report,name:0
+msgid "Year"
+msgstr ""
+
+#. module: project_issue
+#: field:project.issue,duration:0
+msgid "Duration"
+msgstr ""
+
+#. module: project_issue
+#: view:board.board:0
+msgid "My Open Issues by Creation Date"
+msgstr ""
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index a460114dd41..ad6e7afdbcc 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -19,6 +19,7 @@
#
##############################################################################
+from base_status.base_stage import base_stage
from crm import crm
from datetime import datetime
from osv import fields,osv
@@ -42,12 +43,62 @@ class project_issue_version(osv.osv):
}
project_issue_version()
-class project_issue(crm.crm_case, osv.osv):
+_ISSUE_STATE= [('draft', 'New'), ('open', 'In Progress'), ('cancel', 'Cancelled'), ('done', 'Done'),('pending', 'Pending')]
+
+class project_issue(base_stage, osv.osv):
_name = "project.issue"
_description = "Project Issue"
_order = "priority, create_date desc"
_inherit = ['ir.needaction_mixin', 'mail.thread']
+ def _get_default_project_id(self, cr, uid, context=None):
+ """ Gives default project by checking if present in the context """
+ return self._resolve_project_id_from_context(cr, uid, context=context)
+
+ def _get_default_stage_id(self, cr, uid, context=None):
+ """ Gives default stage_id """
+ project_id = self._get_default_project_id(cr, uid, context=context)
+ return self.stage_find(cr, uid, [], project_id, [('state', '=', 'draft')], context=context)
+
+ def _resolve_project_id_from_context(self, cr, uid, context=None):
+ """ Returns ID of project based on the value of 'default_project_id'
+ context key, or None if it cannot be resolved to a single
+ project.
+ """
+ if context is None:
+ context = {}
+ if type(context.get('default_project_id')) in (int, long):
+ return context.get('default_project_id')
+ if isinstance(context.get('default_project_id'), basestring):
+ project_name = context['default_project_id']
+ project_ids = self.pool.get('project.project').name_search(cr, uid, name=project_name, context=context)
+ if len(project_ids) == 1:
+ return int(project_ids[0][0])
+ return None
+
+ def _read_group_stage_ids(self, cr, uid, ids, domain, read_group_order=None, access_rights_uid=None, context=None):
+ access_rights_uid = access_rights_uid or uid
+ stage_obj = self.pool.get('project.task.type')
+ order = stage_obj._order
+ # lame hack to allow reverting search, should just work in the trivial case
+ if read_group_order == 'stage_id desc':
+ order = "%s desc" % order
+ # retrieve section_id from the context and write the domain
+ # - ('id', 'in', 'ids'): add columns that should be present
+ # - OR ('case_default', '=', True), ('fold', '=', False): add default columns that are not folded
+ # - OR ('project_ids', 'in', project_id), ('fold', '=', False) if project_id: add project columns that are not folded
+ search_domain = []
+ project_id = self._resolve_project_id_from_context(cr, uid, context=context)
+ if project_id:
+ search_domain += ['|', '&', ('project_ids', '=', project_id), ('fold', '=', False)]
+ search_domain += ['|', ('id', 'in', ids), '&', ('case_default', '=', True), ('fold', '=', False)]
+ # perform search
+ stage_ids = stage_obj._search(cr, uid, search_domain, order=order, access_rights_uid=access_rights_uid, context=context)
+ result = stage_obj.name_get(cr, access_rights_uid, stage_ids, context=context)
+ # restore order of the search
+ result.sort(lambda x,y: cmp(stage_ids.index(x[0]), stage_ids.index(y[0])))
+ return result
+
def _compute_day(self, cr, uid, ids, fields, args, context=None):
"""
@param cr: the current row, from the database cursor,
@@ -173,11 +224,13 @@ class project_issue(crm.crm_case, osv.osv):
'partner_id': fields.many2one('res.partner', 'Partner', select=1),
'company_id': fields.many2one('res.company', 'Company'),
'description': fields.text('Description'),
- 'state': fields.selection([('draft', 'New'), ('cancel', 'Cancelled'), ('open', 'In Progress'),('pending', 'Pending'),('done', 'Done') ], 'Status', size=16, readonly=True,
- help='The state is set to \'Draft\', when a case is created.\
- \nIf the case is in progress the state is set to \'Open\'.\
- \nWhen the case is over, the state is set to \'Done\'.\
- \nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
+ 'state': fields.related('stage_id', 'state', type="selection", store=True,
+ selection=_ISSUE_STATE, string="State", readonly=True,
+ help='The state is set to \'Draft\', when a case is created.\
+ If the case is in progress the state is set to \'Open\'.\
+ When the case is over, the state is set to \'Done\'.\
+ If the case needs to be reviewed then the state is \
+ set to \'Pending\'.'),
'email_from': fields.char('Email', size=128, help="These people will receive email.", select=1),
'email_cc': fields.char('Watchers Emails', size=256, help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"),
'date_open': fields.datetime('Opened', readonly=True,select=True),
@@ -188,7 +241,8 @@ class project_issue(crm.crm_case, osv.osv):
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('object_id.model', '=', 'crm.project.bug')]"),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True),
'version_id': fields.many2one('project.issue.version', 'Version'),
- 'type_id': fields.many2one ('project.task.type', 'Stages', domain="[('project_ids', '=', project_id)]"),
+ 'stage_id': fields.many2one ('project.task.type', 'Stages',
+ domain="['|', ('project_ids', '=', project_id), ('case_default', '=', True)]"),
'project_id':fields.many2one('project.project', 'Project'),
'duration': fields.float('Duration'),
'task_id': fields.many2one('project.task', 'Task', domain="[('project_id','=',project_id)]"),
@@ -220,15 +274,20 @@ class project_issue(crm.crm_case, osv.osv):
_defaults = {
'active': 1,
- 'partner_id': crm.crm_case._get_default_partner,
- 'email_from': crm.crm_case._get_default_email,
+ 'partner_id': lambda s, cr, uid, c: s._get_default_partner(cr, uid, c),
+ 'email_from': lambda s, cr, uid, c: s._get_default_email(cr, uid, c),
'state': 'draft',
- 'section_id': crm.crm_case._get_section,
+ 'stage_id': lambda s, cr, uid, c: s._get_default_stage_id(cr, uid, c),
+ 'section_id': lambda s, cr, uid, c: s._get_default_section_id(cr, uid, c),
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.helpdesk', context=c),
'priority': crm.AVAILABLE_PRIORITIES[2][0],
'categ_id' : lambda *a: False,
}
+ _group_by_full = {
+ 'stage_id': _read_group_stage_ids
+ }
+
def set_priority(self, cr, uid, ids, priority):
"""Set lead priority
"""
@@ -311,36 +370,20 @@ class project_issue(crm.crm_case, osv.osv):
def convert_to_bug(self, cr, uid, ids, context=None):
return self._convert(cr, uid, ids, 'bug_categ', context=context)
- def next_type(self, cr, uid, ids, context=None):
- for task in self.browse(cr, uid, ids):
- typeid = task.type_id.id
- types = map(lambda x:x.id, task.project_id.type_ids or [])
- if types:
- if not typeid:
- self.write(cr, uid, [task.id], {'type_id': types[0]})
- elif typeid and typeid in types and types.index(typeid) != len(types)-1 :
- index = types.index(typeid)
- self.write(cr, uid, [task.id], {'type_id': types[index+1]})
- return True
-
- def prev_type(self, cr, uid, ids, context=None):
- for task in self.browse(cr, uid, ids):
- typeid = task.type_id.id
- types = map(lambda x:x.id, task.project_id and task.project_id.type_ids or [])
- if types:
- if typeid and typeid in types:
- index = types.index(typeid)
- self.write(cr, uid, [task.id], {'type_id': index and types[index-1] or False})
- return True
-
+ def copy(self, cr, uid, id, default=None, context=None):
+ issue = self.read(cr, uid, id, ['name'], context=context)
+ if not default:
+ default = {}
+ default = default.copy()
+ default['name'] = issue['name'] + _(' (copy)')
+ return super(project_issue, self).copy(cr, uid, id, default=default,
+ context=context)
+
def write(self, cr, uid, ids, vals, context=None):
#Update last action date every time the user change the stage, the state or send a new email
- logged_fields = ['type_id', 'state', 'message_ids']
+ logged_fields = ['stage_id', 'state', 'message_ids']
if any([field in vals for field in logged_fields]):
vals['date_action_last'] = time.strftime('%Y-%m-%d %H:%M:%S')
- if vals.get('type_id', False):
- stage = self.pool.get('project.task.type').browse(cr, uid, vals['type_id'], context=context)
- self.message_append_note(cr, uid, ids, body=_("Stage changed to <b>%s</b>.") % stage.name, context=context)
return super(project_issue, self).write(cr, uid, ids, vals, context)
def onchange_task_id(self, cr, uid, ids, task_id, context=None):
@@ -362,15 +405,51 @@ class project_issue(crm.crm_case, osv.osv):
self.create_send_note(cr, uid, [obj_id], context=context)
return obj_id
- def case_open(self, cr, uid, ids, context=None):
- res = super(project_issue, self).case_open(cr, uid, ids, context)
- self.write(cr, uid, ids, {'date_open': time.strftime('%Y-%m-%d %H:%M:%S'), 'user_id' : uid})
- return res
+ # -------------------------------------------------------
+ # Stage management
+ # -------------------------------------------------------
+
+ def stage_find(self, cr, uid, cases, section_id, domain=[], order='sequence', context=None):
+ """ Override of the base.stage method
+ Parameter of the stage search taken from the issue:
+ - type: stage type must be the same or 'both'
+ - section_id: if set, stages must belong to this section or
+ be a default case
+ """
+ if isinstance(cases, (int, long)):
+ cases = self.browse(cr, uid, cases, context=context)
+ # collect all section_ids
+ section_ids = []
+ if section_id:
+ section_ids.append(section_id)
+ for task in cases:
+ if task.project_id:
+ section_ids.append(task.project_id.id)
+ # OR all section_ids and OR with case_default
+ search_domain = []
+ if section_ids:
+ search_domain += [('|')] * len(section_ids)
+ for section_id in section_ids:
+ search_domain.append(('project_ids', '=', section_id))
+ search_domain.append(('case_default', '=', True))
+ # AND with the domain in parameter
+ search_domain += list(domain)
+ # perform search, return the first found
+ stage_ids = self.pool.get('project.task.type').search(cr, uid, search_domain, order=order, context=context)
+ if stage_ids:
+ return stage_ids[0]
+ return False
+
+ def case_cancel(self, cr, uid, ids, context=None):
+ """ Cancels case """
+ self.case_set(cr, uid, ids, 'cancelled', {'active': True}, context=context)
+ self.case_cancel_send_note(cr, uid, ids, context=context)
+ return True
def case_escalate(self, cr, uid, ids, context=None):
cases = self.browse(cr, uid, ids)
for case in cases:
- data = {'state' : 'draft'}
+ data = {}
if case.project_id.project_escalation_id:
data['project_id'] = case.project_id.project_escalation_id.id
if case.project_id.project_escalation_id.user_id:
@@ -379,10 +458,14 @@ class project_issue(crm.crm_case, osv.osv):
self.pool.get('project.task').write(cr, uid, [case.task_id.id], {'project_id': data['project_id'], 'user_id': False})
else:
raise osv.except_osv(_('Warning !'), _('You cannot escalate this issue.\nThe relevant Project has not configured the Escalation Project!'))
- self.write(cr, uid, [case.id], data)
- self.case_escalate_send_note(cr, uid, [case.id], context)
+ self.case_set(cr, uid, ids, 'draft', data, context=context)
+ self.case_escalate_send_note(cr, uid, [case.id], context=context)
return True
+ # -------------------------------------------------------
+ # Mail gateway
+ # -------------------------------------------------------
+
def message_new(self, cr, uid, msg, custom_values=None, context=None):
"""Automatically called when new email message arrives"""
if context is None:
@@ -433,7 +516,7 @@ class project_issue(crm.crm_case, osv.osv):
# Reassign the 'open' state to the case if this one is in pending or done
for record in self.browse(cr, uid, ids, context=context):
if record.state in ('pending', 'done'):
- record.write({'state' : 'open'})
+ self.case_set(cr, uid, ids, 'open', {}, context=context)
vls = { }
for line in msg['body_text'].split('\n'):
@@ -447,15 +530,6 @@ class project_issue(crm.crm_case, osv.osv):
res = self.write(cr, uid, ids, vals)
self.message_append_dict(cr, uid, ids, msg, context=context)
return res
-
- def copy(self, cr, uid, id, default=None, context=None):
- issue = self.read(cr, uid, id, ['name'], context=context)
- if not default:
- default = {}
- default = default.copy()
- default['name'] = issue['name'] + _(' (copy)')
- return super(project_issue, self).copy(cr, uid, id, default=default,
- context=context)
# -------------------------------------------------------
# OpenChatter methods and notifications
@@ -474,9 +548,15 @@ class project_issue(crm.crm_case, osv.osv):
if obj.user_id:
sub_ids.append(obj.user_id.id)
return self.pool.get('res.users').read(cr, uid, sub_ids, context=context)
-
+
+ def stage_set_send_note(self, cr, uid, ids, stage_id, context=None):
+ """ Override of the (void) default notification method. """
+ stage_name = self.pool.get('project.task.type').name_get(cr, uid, [stage_id], context=context)[0][1]
+ return self.message_append_note(cr, uid, ids, body= _("Stage changed to <b>%s</b>.") % (stage_name), context=context)
+
def case_get_note_msg_prefix(self, cr, uid, id, context=None):
- return 'Project issue '
+ """ Override of default prefix for notifications. """
+ return 'Project issue'
def convert_to_task_send_note(self, cr, uid, ids, context=None):
message = _("Project issue has been <b>converted</b> in to task.")
diff --git a/addons/project_issue/project_issue_demo.xml b/addons/project_issue/project_issue_demo.xml
index 358e9e55aa5..a213cb02c2e 100644
--- a/addons/project_issue/project_issue_demo.xml
+++ b/addons/project_issue/project_issue_demo.xml
@@ -7,7 +7,6 @@
<field eval="&quot;5&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field name="partner_id" ref="base.res_partner_agrolait"/>
- <field eval="&quot;open&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="1" name="active"/>
<field name="categ_id" ref="bug_categ"/>
@@ -15,7 +14,7 @@
<field eval="15.0" name="duration"/>
<field eval="&quot;Bug in Accounts module&quot;" name="name"/>
<field eval="&quot;agr@agrolait.com&quot;" name="email_from"/>
- <field name="type_id" ref="project.project_tt_specification"/>
+ <field name="stage_id" ref="project.project_tt_specification"/>
</record>
<record id="crm_case_programnotgivingproperoutput0" model="project.issue">
@@ -23,28 +22,26 @@
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field name="partner_id" ref="base.res_partner_asus"/>
- <field eval="&quot;done&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="1" name="active"/>
<field eval="3.5" name="duration"/>
<field name="categ_id" ref="bug_categ"/>
<field eval="&quot;Program not giving proper output&quot;" name="name"/>
<field name="project_id" ref="project.project_project_22"/>
- <field name="type_id" ref="project.project_tt_specification"/>
+ <field name="stage_id" ref="project.project_tt_specification"/>
</record>
<record id="crm_case_outputincorrect0" model="project.issue">
<field eval="time.strftime('%Y-%m-18 14:30:00')" name="date"/>
<field eval="&quot;4&quot;" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
- <field eval="&quot;cancel&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="1" name="active"/>
<field eval="2.3" name="duration"/>
<field name="categ_id" ref="bug_categ"/>
<field name="project_id" ref="project.project_project_23"/>
<field eval="&quot;Output incorrect&quot;" name="name"/>
- <field name="type_id" ref="project.project_tt_development"/>
+ <field name="stage_id" ref="project.project_tt_development"/>
</record>
<record id="crm_case_problemloadingpage0" model="project.issue">
@@ -52,14 +49,13 @@
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field name="partner_id" ref="base.res_partner_14"/>
- <field eval="&quot;cancel&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="1" name="active"/>
<field eval="4.0" name="duration"/>
<field name="categ_id" ref="bug_categ"/>
<field name="project_id" ref="project.project_project_22"/>
<field eval="&quot;Problem loading page&quot;" name="name"/>
- <field name="type_id" ref="project.project_tt_testing"/>
+ <field name="stage_id" ref="project.project_tt_testing"/>
</record>
<record id="crm_case_pagenotfound0" model="project.issue">
@@ -67,14 +63,13 @@
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/>
- <field eval="&quot;draft&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="1" name="active"/>
<field eval="1.0" name="duration"/>
<field name="categ_id" ref="bug_categ"/>
<field name="project_id" ref="project.project_project_22"/>
<field eval="&quot;Page not Found&quot;" name="name"/>
- <field name="type_id" ref="project.project_tt_development"/>
+ <field name="stage_id" ref="project.project_tt_development"/>
</record>
<record id="crm_case_programmingerror0" model="project.issue">
@@ -82,14 +77,13 @@
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field name="partner_id" ref="base.res_partner_5"/>
- <field eval="&quot;pending&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="1" name="active"/>
<field eval="4.0" name="duration"/>
<field name="categ_id" ref="bug_categ"/>
<field name="project_id" ref="project.project_project_22"/>
<field eval="&quot;Programming Error&quot;" name="name"/>
- <field name="type_id" ref="project.project_tt_testing"/>
+ <field name="stage_id" ref="project.project_tt_testing"/>
</record>
<record id="crm_case_logicalerrorinprogram0" model="project.issue">
@@ -97,14 +91,13 @@
<field eval="&quot;2&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field name="partner_id" ref="base.res_partner_6"/>
- <field eval="&quot;pending&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="1" name="active"/>
<field eval="2.0" name="duration"/>
<field name="categ_id" ref="bug_categ"/>
<field name="project_id" ref="project.project_project_9"/>
<field eval="&quot;Logical Error in Program&quot;" name="name"/>
- <field name="type_id" ref="project.project_tt_testing"/>
+ <field name="stage_id" ref="project.project_tt_testing"/>
</record>
<record id="crm_case_constrainterror0" model="project.issue">
@@ -112,14 +105,13 @@
<field eval="&quot;2&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field name="partner_id" ref="base.res_partner_6"/>
- <field eval="&quot;pending&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="1" name="active"/>
<field eval="7.3" name="duration"/>
<field name="categ_id" ref="bug_categ"/>
<field name="project_id" ref="project.project_project_9"/>
<field eval="&quot;Constraint Error&quot;" name="name"/>
- <field name="type_id" ref="project.project_tt_testing"/>
+ <field name="stage_id" ref="project.project_tt_testing"/>
</record>
<record id="crm_case_errorinprogram0" model="project.issue">
@@ -127,13 +119,12 @@
<field eval="&quot;2&quot;" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
<field name="partner_id" ref="base.res_partner_5"/>
- <field eval="&quot;open&quot;" name="state"/>
<field eval="1" name="active"/>
<field eval="1.3" name="duration"/>
<field name="categ_id" ref="feature_request_categ"/>
<field name="project_id" ref="project.project_project_22"/>
<field eval="&quot;Error in Program&quot;" name="name"/>
- <field name="type_id" ref="project.project_tt_testing"/>
+ <field name="stage_id" ref="project.project_tt_testing"/>
</record>
<record id="crm_case_patcheserrorinprogram0" model="project.issue">
@@ -141,14 +132,13 @@
<field eval="&quot;2&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field name="partner_id" ref="base.res_partner_2"/>
- <field eval="&quot;open&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="1" name="active"/>
<field eval="13.0" name="duration"/>
<field name="categ_id" ref="feature_request_categ"/>
<field name="project_id" ref="project.project_project_9"/>
<field eval="&quot;Patches Error in Program&quot;" name="name"/>
- <field name="type_id" ref="project.project_tt_testing"/>
+ <field name="stage_id" ref="project.project_tt_testing"/>
</record>
<record id="crm_case_newfeaturestobeadded0" model="project.issue">
@@ -156,14 +146,13 @@
<field eval="&quot;4&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field name="partner_id" ref="base.res_partner_maxtor"/>
- <field eval="&quot;open&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="1" name="active"/>
<field eval="3.2" name="duration"/>
<field name="categ_id" ref="feature_request_categ"/>
<field name="project_id" ref="project.project_project_21"/>
<field eval="&quot;New Features To Be Added&quot;" name="name"/>
- <field name="type_id" ref="project.project_tt_merge"/>
+ <field name="stage_id" ref="project.project_tt_merge"/>
</record>
<record id="crm_case_addmenustothemodule0" model="project.issue">
@@ -171,7 +160,6 @@
<field eval="&quot;1&quot;" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
<field name="partner_id" ref="base.res_partner_9"/>
- <field eval="&quot;done&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="1" name="active"/>
<field eval="3.0" name="duration"/>
@@ -179,7 +167,7 @@
<field name="project_id" ref="project.project_project_21"/>
<field eval="&quot;Add menus to the module&quot;" name="name"/>
<field eval="&quot;info@opensides.be&quot;" name="email_from"/>
- <field name="type_id" ref="project.project_tt_development"/>
+ <field name="stage_id" ref="project.project_tt_development"/>
</record>
<record id="crm_case_includeattendancesheetinproject0" model="project.issue">
@@ -187,7 +175,6 @@
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field name="partner_id" ref="base.res_partner_10"/>
- <field eval="&quot;cancel&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="1" name="active"/>
<field eval="2.0" name="duration"/>
@@ -195,7 +182,7 @@
<field name="project_id" ref="project.project_project_9"/>
<field eval="&quot;Include Attendance sheet in Project&quot;" name="name"/>
<field eval="&quot;contact@tecsas.fr&quot;" name="email_from"/>
- <field name="type_id" ref="project.project_tt_development"/>
+ <field name="stage_id" ref="project.project_tt_development"/>
</record>
<record id="crm_case_createnewobject0" model="project.issue">
@@ -203,14 +190,13 @@
<field eval="&quot;3&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field name="partner_id" ref="base.res_partner_6"/>
- <field eval="&quot;draft&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="1" name="active"/>
<field eval="2.45" name="duration"/>
<field name="categ_id" ref="feature_request_categ"/>
<field name="project_id" ref="project.project_project_22"/>
<field eval="&quot;Create new object&quot;" name="name"/>
- <field name="type_id" ref="project.project_tt_specification"/>
+ <field name="stage_id" ref="project.project_tt_specification"/>
</record>
<record id="crm_case_improvereportsinhrms0" model="project.issue">
@@ -218,14 +204,13 @@
<field eval="&quot;4&quot;" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field name="partner_id" ref="base.res_partner_11"/>
- <field eval="&quot;pending&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="1" name="active"/>
<field eval="15.0" name="duration"/>
<field name="categ_id" ref="feature_request_categ"/>
<field name="project_id" ref="project.project_project_22"/>
<field eval="&quot;Improve Reports in HRMS&quot;" name="name"/>
- <field name="type_id" ref="project.project_tt_development"/>
+ <field name="stage_id" ref="project.project_tt_development"/>
</record>
<record id="crm_case_improvereportsinpms0" model="project.issue">
@@ -233,14 +218,13 @@
<field eval="&quot;2&quot;" name="priority"/>
<field name="user_id" ref="base.user_demo"/>
<field name="partner_id" ref="base.res_partner_11"/>
- <field eval="&quot;pending&quot;" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="1" name="active"/>
<field eval="06.15" name="duration"/>
<field name="categ_id" ref="feature_request_categ"/>
<field name="project_id" ref="project.project_project_22"/>
<field eval="&quot;Improve Reports in PMS&quot;" name="name"/>
- <field name="type_id" ref="project.project_tt_specification"/>
+ <field name="stage_id" ref="project.project_tt_specification"/>
</record>
</data>
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index 3a4d0ef91d1..6bafd3112ff 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -52,14 +52,26 @@
<field name="arch" type="xml">
<form layout="manual">
<div class="oe_form_topbar">
- <button name="case_open" string="Open" states="draft,pending" type="object"/>
- <button name="case_close" string="Done" states="open,draft,pending" type="object"/>
- <button name="case_pending" string="Pending" states="draft,open" type="object"/>
- <button name="case_reset" string="Reset to New" states="done,cancel" type="object"/>
- <button name="case_escalate" string="Escalate" states="open,draft,pending" type="object"/>
- <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object"/>
+ <button name="case_open" string="Open" type="object"
+ states="draft,pending"/>
+ <button name="case_close" string="Done" type="object"
+ states="draft,open,pending"/>
+ <button name="case_pending" string="Pending" type="object"
+ states="draft,open"/>
+ <button name="case_escalate" string="Escalate" type="object"
+ states="draft,open,pending"/>
+ <button name="case_reset" string="Reset to New" type="object"
+ states="cancelled,done"/>
+ <button name="stage_previous" string="Previous Stage" type="object"
+ states="open,pending" icon="gtk-go-back"
+ attrs="{'invisible': [('stage_id','=', False)]}"/>
+ <button name="stage_next" string="Next Stage" type="object"
+ states="open,pending" icon="gtk-go-forward"
+ attrs="{'invisible': [('stage_id','=', False)]}"/>
+ <button name="case_cancel" string="Cancel" type="object"
+ states="draft,open,pending"/>
<div class="oe_right">
- <field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
+ <field name="stage_id" nolabel="1" widget="statusbar"/>
</div>
<div class="oe_clear"/>
</div>
@@ -75,11 +87,7 @@
</group>
<field name="user_id"/>
<field name="version_id" colspan="2" widget="selection"/>
- <group colspan="2" col="4">
- <field name="type_id" string="Stages" />
- <button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/>
- <button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/>
- </group>
+ <field name="state" groups="base.group_no_one"/>
</group>
<notebook colspan="4">
<page string="General">
@@ -138,19 +146,23 @@
<field name="partner_id"/>
<field name="project_id" />
<field name="priority" string="Priority"/>
- <field name="type_id" widget="selection" readonly="1" string="Stages" />
- <button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/>
- <button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/>
<field name="version_id" widget="selection"/>
<field name="user_id"/>
<field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}"/>
- <field name="state"/>
- <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
- <button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
- <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" help="To Do"/>
- <button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
- <button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
- <button name="case_reset" string="Reset to New" states="done,cancel" type="object" icon="gtk-convert"/>
+ <field name="stage_id" widget="selection" readonly="1"/>
+ <button name="stage_previous" string="Previous" type="object"
+ icon="gtk-go-back" help="Change to Previous Stage"
+ attrs="{'invisible': [('stage_id','=', False)]}"/>
+ <button name="stage_next" string="Next" type="object"
+ icon="gtk-go-forward" help="Change to Next Stage"
+ attrs="{'invisible': [('stage_id','=', False)]}"/>
+ <field name="state" groups="base.group_no_one"/>
+ <button name="case_open" string="Open" type="object"
+ icon="gtk-go-forward" states="draft,pending"/>
+ <button name="case_close" string="Done" type="object"
+ icon="gtk-close" states="draft,open,pending"/>
+ <button name="case_cancel" string="Cancel" type="object"
+ icon="gtk-cancel" states="draft,open,pending"/>
<field name="categ_id" invisible="1"/>
<field name="task_id" invisible="1"/>
</tree>
@@ -192,7 +204,7 @@
<filter string="Priority" icon="terp-rating-rated" domain="[]"
context="{'group_by':'priority'}" />
<filter string="Stage" icon="terp-stage" domain="[]"
- context="{'group_by':'type_id'}" />
+ context="{'group_by':'stage_id'}" />
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]"
context="{'group_by':'state'}" />
<separator orientation="vertical" />
@@ -224,9 +236,9 @@
<field name="model">project.issue</field>
<field name="type">kanban</field>
<field name="arch" type="xml">
- <kanban default_group_by="type_id">
+ <kanban default_group_by="stage_id">
<field name="color"/>
- <field name="state"/>
+ <field name="state" groups="base.group_no_one"/>
<field name="priority"/>
<field name="user_email"/>
<field name="user_id"/>
@@ -270,8 +282,7 @@
<a string="Convert To Task" name="convert_issue_task" icon="gtk-index" type="object"/>
</div>
<div class="oe_kanban_right">
- <a name="case_open" string="Open" states="draft,pending" type="object" icon="kanban-apply" />
- <a name="case_pending" string="Pending" states="draft,open" type="object" icon="kanban-pause"/>
+ <a name="case_open" string="Open" states="draft,pending" type="object" icon="kanban-apply"/>
<a name="case_close" string="Close" states="open,draft,pending" type="object" icon="kanban-stop"/>
</div>
<div class="oe_kanban_clear"/>
@@ -304,18 +315,22 @@
<field name="name" string="Feature description"/>
<field name="partner_id"/>
<field name="priority" string="Priority"/>
- <field name="type_id" widget="selection" readonly="1"/>
- <button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/>
- <button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/>
<field name="version_id"/>
<field name="user_id"/>
- <field name="state"/>
- <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
- <button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
- <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/>
- <button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
- <button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
- <button name="case_reset" string="Reset to New" states="done,cancel" type="object" icon="gtk-convert"/>
+ <field name="stage_id" widget="selection" readonly="1"/>
+ <button name="stage_previous" string="Previous" type="object"
+ icon="gtk-go-back" help="Change to Previous Stage"
+ attrs="{'invisible': [('stage_id','=', False)]}"/>
+ <button name="stage_next" string="Next" type="object"
+ icon="gtk-go-forward" help="Change to Next Stage"
+ attrs="{'invisible': [('stage_id','=', False)]}"/>
+ <field name="state" groups="base.group_no_one"/>
+ <button name="case_open" string="Open" type="object"
+ states="draft,pending" icon="gtk-go-forward"/>
+ <button name="case_close" string="Done" type="object"
+ states="draft,open,pending" icon="gtk-close"/>
+ <button name="case_cancel" string="Cancel" type="object"
+ states="draft,open,pending" icon="gtk-cancel"/>
</tree>
</field>
</record>
@@ -326,13 +341,13 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Feature Tracker Search">
- <filter icon="terp-go-today" string="Today"
+ <filter icon="terp-go-today" string="Today"
domain="[('date','=',time.strftime('%%Y-%%m-%%d'))]" help="Today's features"/>
<separator orientation="vertical"/>
<group>
<field name="name" string="Feature description"/>
<field name="user_id"/>
- <field name="state">
+ <field name="state" groups="base.group_no_one">
<filter icon="terp-check" domain="[('state','in',('open','draft'))]" help="Current Features" name="current_feature"/>
<filter icon="terp-camera_test" domain="[('state','=','open')]" help="Open Features"/>
</field>
diff --git a/addons/project_issue/report/project_issue_report.py b/addons/project_issue/report/project_issue_report.py
index 7cc520308e8..be3309d7175 100644
--- a/addons/project_issue/report/project_issue_report.py
+++ b/addons/project_issue/report/project_issue_report.py
@@ -51,7 +51,7 @@ class project_issue_report(osv.osv):
'creation_date': fields.date('Creation Date', readonly=True),
'date_closed': fields.date('Date of Closing', readonly=True),
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'project.issue')]"),
- 'type_id': fields.many2one('project.task.type', 'Stage'),
+ 'stage_id': fields.many2one('project.task.type', 'Stage'),
'nbr': fields.integer('# of Issues', readonly=True),
'working_hours_open': fields.float('Avg. Working Hours to Open', readonly=True),
'working_hours_close': fields.float('Avg. Working Hours to Close', readonly=True),
@@ -87,7 +87,7 @@ class project_issue_report(osv.osv):
c.working_hours_close,
c.section_id,
c.categ_id,
- c.type_id,
+ c.stage_id,
to_char(c.date_closed, 'YYYY-mm-dd') as date_closed,
c.company_id as company_id,
c.priority as priority,
diff --git a/addons/project_issue/report/project_issue_report_view.xml b/addons/project_issue/report/project_issue_report_view.xml
index ee0a4fbd1ed..43a49abf2b8 100644
--- a/addons/project_issue/report/project_issue_report_view.xml
+++ b/addons/project_issue/report/project_issue_report_view.xml
@@ -11,7 +11,7 @@
<field name="name" invisible="1"/>
<field name="month" invisible="1"/>
<field name="project_id" invisible="1"/>
- <field name="type_id" invisible="1"/>
+ <field name="stage_id" invisible="1"/>
<field name="version_id" string="Version" invisible="1"/>
<field name="priority" invisible="1"/>
<field name="company_id" invisible="1" groups="base.group_multi_company"/>
@@ -103,7 +103,7 @@
<filter string="Version" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'version_id'}"/>
<separator orientation="vertical" />
<filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
- <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'type_id'}"/>
+ <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize"
domain="[]" context="{'group_by':'state'}" />
<separator orientation="vertical"/>
diff --git a/addons/project_issue/test/cancel_issue.yml b/addons/project_issue/test/cancel_issue.yml
index ff05d923ed0..76ffa212638 100644
--- a/addons/project_issue/test/cancel_issue.yml
+++ b/addons/project_issue/test/cancel_issue.yml
@@ -7,7 +7,7 @@
I check the issue is in cancel state.
-
!assert {model: project.issue, id: crm_case_buginaccountsmodule0, severity: error, string: Issue is in cancel state}:
- - state == 'cancel'
+ - state == 'cancelled'
-
I re-open the Issue.
-
@@ -37,7 +37,7 @@
I check the issue is in cancel state.
-
!assert {model: project.issue, id: crm_case_buginaccountsmodule0, severity: error, string: Issue is in cancel state}:
- - state == 'cancel'
+ - state == 'cancelled'
-
I close Issue.
-
@@ -57,4 +57,4 @@
I check the issue is in cancel state.
-
!assert {model: project.issue, id: crm_case_buginaccountsmodule0, severity: error, string: Issue is in cancel state}:
- - state == 'cancel' \ No newline at end of file
+ - state == 'cancelled'
diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml
index 1e9f50cdd87..eb2c86a0f1b 100644
--- a/addons/project_long_term/project_long_term_view.xml
+++ b/addons/project_long_term/project_long_term_view.xml
@@ -330,7 +330,7 @@
<field name="type">search</field>
<field name="inherit_id" ref="project.view_task_search_form"/>
<field name="arch" type="xml">
- <field name="project_id" position="after">
+ <field name="user_id" position="before">
<field name="phase_id" select="1"/>
</field>
</field>
diff --git a/addons/project_planning/project_planning_view.xml b/addons/project_planning/project_planning_view.xml
index 11e9b057c06..ef230543e9c 100644
--- a/addons/project_planning/project_planning_view.xml
+++ b/addons/project_planning/project_planning_view.xml
@@ -129,7 +129,7 @@
<field name="sequence"/>
</group>
<separator string="Miscellaneous" colspan="4"/>
- <field name="type_id"/>
+ <field name="stage_id"/>
<field name="active"/>
<field name="partner_id"/>
<separator colspan="4" string="Notes"/>
diff --git a/addons/project_scrum/project_scrum_demo.xml b/addons/project_scrum/project_scrum_demo.xml
index 50c67146716..6e3de7665bd 100644
--- a/addons/project_scrum/project_scrum_demo.xml
+++ b/addons/project_scrum/project_scrum_demo.xml
@@ -265,7 +265,6 @@
<field model="res.users" name="user_id" search="[('login','=','demo')]"/>
<field name="project_id" ref="project.project_project_9"/>
<field name="name">Review all English Terms</field>
- <field name="state">done</field>
<field eval="time.strftime('%Y-%m-%d')" name="date_end"/>
<field name="product_backlog_id" ref="scrum_product_backlog_3"/>
</record>
@@ -274,7 +273,6 @@
<field model="res.users" name="user_id" search="[('login','=','demo')]"/>
<field name="project_id" ref="project.project_project_9"/>
<field name="name">Review all french terms</field>
- <field name="state">done</field>
<field eval="time.strftime('%Y-%m-%d')" name="date_end"/>
<field name="product_backlog_id" ref="scrum_product_backlog_3"/>
</record>
@@ -283,7 +281,6 @@
<field model="res.users" name="user_id" search="[('login','=','demo')]"/>
<field name="project_id" ref="project.project_project_9"/>
<field name="name">Analytic Accounting features</field>
- <field name="state">done</field>
<field eval="time.strftime('%Y-%m-%d')" name="date_end"/>
<field name="product_backlog_id" ref="scrum_product_backlog_1"/>
</record>
@@ -292,7 +289,6 @@
<field model="res.users" name="user_id" search="[('login','=','demo')]"/>
<field name="project_id" ref="project.project_project_9"/>
<field name="name">Test and improve automatic migration system</field>
- <field name="state">open</field>
<field name="product_backlog_id" ref="scrum_product_backlog_0"/>
</record>
<record id="scrum_task_7" model="project.task">
@@ -300,7 +296,6 @@
<field model="res.users" name="user_id" search="[('login','=','demo')]"/>
<field name="project_id" ref="project.project_project_9"/>
<field name="name">General accounting features</field>
- <field name="state">open</field>
<field name="product_backlog_id" ref="scrum_product_backlog_1"/>
</record>
<record id="scrum_task_8" model="project.task">
@@ -316,7 +311,6 @@
<field name="project_id" ref="project.project_project_9"/>
<field name="description">Cash book, general ledger, accounts list, aged trial balance</field>
<field name="name">Accounting Report General</field>
- <field name="state">open</field>
<field eval="[(6,0,[ref('scrum_task_8')])]" name="child_ids"/>
<field name="product_backlog_id" ref="scrum_product_backlog_1"/>
</record>
@@ -332,7 +326,6 @@
<field model="res.users" name="user_id" search="[('login','=','demo')]"/>
<field name="project_id" ref="project.project_project_9"/>
<field name="name">Accounting Report Analytic</field>
- <field name="state">open</field>
<field name="product_backlog_id" ref="scrum_product_backlog_1"/>
</record>
<record id="scrum_task_12" model="project.task">
@@ -340,7 +333,6 @@
<field model="res.users" name="user_id" search="[('login','=','demo')]"/>
<field name="project_id" ref="project.project_project_9"/>
<field name="name">Bugfix - memory leak</field>
- <field name="state">done</field>
<field eval="time.strftime('%Y-%m-%d')" name="date_end"/>
<field name="product_backlog_id" ref="scrum_product_backlog_4"/>
</record>
@@ -349,7 +341,6 @@
<field model="res.users" name="user_id" search="[('login','=','demo')]"/>
<field name="project_id" ref="project.project_project_9"/>
<field name="name">Bugfix - Translations</field>
- <field name="state">open</field>
<field eval="[(6,0,[ref('scrum_task_12')])]" name="child_ids"/>
<field name="product_backlog_id" ref="scrum_product_backlog_4"/>
</record>
@@ -358,7 +349,6 @@
<field model="res.users" name="user_id" search="[('login','=','demo')]"/>
<field name="project_id" ref="project.project_project_9"/>
<field name="name">Finish the automated plugin system</field>
- <field name="state">pending</field>
<field name="product_backlog_id" ref="scrum_product_backlog_2"/>
</record>
<record id="scrum_task_15" model="project.task">
@@ -373,7 +363,6 @@
<field model="res.users" name="user_id" search="[('login','=','demo')]"/>
<field name="project_id" ref="project.project_project_9"/>
<field name="name">Test 3.2.0 before releasing</field>
- <field name="state">open</field>
<field name="product_backlog_id" ref="scrum_product_backlog_5"/>
</record>
<record id="scrum_task_17" model="project.task">
@@ -382,7 +371,6 @@
<field name="project_id" ref="project.project_project_9"/>
<field name="description">default values, onchange, required, add on top or bottom and shortcuts (Ctrl S, Ctrl X, ...)</field>
<field name="name">Editable trees</field>
- <field name="state">open</field>
<field name="product_backlog_id" ref="scrum_product_backlog_7"/>
</record>
diff --git a/addons/project_scrum/project_scrum_view.xml b/addons/project_scrum/project_scrum_view.xml
index b0145d09eea..e596c3fc2e6 100644
--- a/addons/project_scrum/project_scrum_view.xml
+++ b/addons/project_scrum/project_scrum_view.xml
@@ -106,7 +106,7 @@
<field name="type_id" invisible="context.get('set_visible',False)"/>
<field name="date_start" invisible="1"/>
<field name="date_end" invisible="1"/>
- <button name="next_type" invisible="context.get('set_visible',False)"
+ <button name="stage_next" invisible="context.get('set_visible',False)"
states="draft,open,pending"
string="Change Stage"
type="object"
@@ -581,7 +581,7 @@
<field name="type">search</field>
<field name="inherit_id" ref="project.view_task_search_form"/>
<field name="arch" type="xml">
- <field name="project_id" position="after">
+ <field name="user_id" position="before">
<field name="sprint_id" context="{'sprint_invisible':False}">
<filter icon="terp-check" context="{'sprint_invisible':False}" domain="[('sprint_id.state','in',('draft','open'))]" help="Current Sprints"/>
<filter icon="gtk-find" context="{'sprint_invisible':False}" domain="[]" help="View Sprints"/>
diff --git a/addons/purchase/edi/purchase_order.py b/addons/purchase/edi/purchase_order.py
index 787974646ff..42cbb04842c 100644
--- a/addons/purchase/edi/purchase_order.py
+++ b/addons/purchase/edi/purchase_order.py
@@ -24,6 +24,7 @@ from dateutil.relativedelta import relativedelta
from osv import fields, osv, orm
from edi import EDIMixin
+from edi.models import edi
from tools import DEFAULT_SERVER_DATE_FORMAT
from tools.translate import _
@@ -56,11 +57,22 @@ PURCHASE_ORDER_EDI_STRUCT = {
'amount_total': True,
'amount_untaxed': True,
'amount_tax': True,
+ 'state':True,
}
class purchase_order(osv.osv, EDIMixin):
_inherit = 'purchase.order'
+ def wkf_send_rfq(self, cr, uid, ids, context=None):
+ """"Override this method to add a link to mail"""
+ if context is None:
+ context = {}
+ purchase_objs = self.browse(cr, uid, ids, context=context)
+ edi_token = self.pool.get('edi.document').export_edi(cr, uid, purchase_objs, context = context)[0]
+ web_root_url = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url')
+ ctx = dict(context, edi_web_url_view=edi.EDI_VIEW_WEB_URL % (web_root_url, cr.dbname, edi_token))
+ return super(purchase_order, self).wkf_send_rfq(cr, uid, ids, context=ctx)
+
def edi_export(self, cr, uid, records, edi_struct=None, context=None):
"""Exports a purchase order"""
edi_struct = dict(edi_struct or PURCHASE_ORDER_EDI_STRUCT)
diff --git a/addons/purchase/edi/purchase_order_action_data.xml b/addons/purchase/edi/purchase_order_action_data.xml
index c4a7f75819a..70d402de598 100644
--- a/addons/purchase/edi/purchase_order_action_data.xml
+++ b/addons/purchase/edi/purchase_order_action_data.xml
@@ -2,6 +2,7 @@
<openerp>
<data>
<!--Export edi document -->
+ <!--
<record id="ir_actions_server_edi_purchase" model="ir.actions.server">
<field name="code">if not object.partner_id.opt_out: object.edi_export_and_email(template_ext_id='purchase.email_template_edi_purchase', context=context)</field>
<field name="state">code</field>
@@ -10,6 +11,7 @@
<field name="condition">True</field>
<field name="name">Auto-email confirmed purchase orders</field>
</record>
+ -->
<!-- EDI related Email Templates menu -->
<record model="ir.actions.act_window" id="action_email_templates">
@@ -27,9 +29,11 @@
so users can freely customize/delete them -->
<data noupdate="1">
<!-- bind the mailing server action to purchase.order confirmed activity -->
+ <!--
<record id="purchase.act_confirmed" model="workflow.activity">
<field name="action_id" ref="ir_actions_server_edi_purchase"/>
</record>
+ -->
<!--Email template -->
<record id="email_template_edi_purchase" model="email.template">
@@ -44,7 +48,7 @@
<p>Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''},</p>
- <p>Here is a purchase order confirmation from ${object.company_id.name}: </p>
+ <p>Here is a ${object.state in ('draft', 'sent') and 'request for quotation' or 'purchase order confirmation'} from ${object.company_id.name}: </p>
<p style="border-left: 1px solid #8e0000; margin-left: 30px;">
&nbsp;&nbsp;<strong>REFERENCES</strong><br />
@@ -61,7 +65,7 @@
</p>
<p>
- You can view the order confirmation document and download it using the following link:
+ You can view the ${object.state in ('draft', 'sent') and 'request for quotation' or 'order confirmation'} document and download it using the following link:
</p>
<a style="display:block; width: 150px; height:20px; margin-left: 120px; color: #FFF; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; font-size: 13px; font-weight: bold; text-align: center; text-decoration: none !important; line-height: 1; padding: 5px 0px 0px 0px; background-color: #8E0000; border-radius: 5px 5px; background-repeat: repeat no-repeat;"
href="${ctx.get('edi_web_url_view') or ''}">View Order</a>
@@ -107,7 +111,7 @@
<field name="body_text"><![CDATA[
Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''},
-Here is a purchase order confirmation from ${object.company_id.name}:
+Here is a ${object.state in ('draft', 'sent') and 'request for quotation' or 'purchase order confirmation'} from ${object.company_id.name}:
| Order number: *${object.name}*
| Order total: *${object.amount_total} ${object.pricelist_id.currency_id.name}*
| Order date: ${object.date_order}
@@ -119,7 +123,7 @@ Here is a purchase order confirmation from ${object.company_id.name}:
% endif
| Your contact: ${object.validator.name} ${object.validator.user_email and '<%s>'%(object.validator.user_email) or ''}
-You can view the order confirmation and download it using the following link:
+You can view the ${object.state in ('draft', 'sent') and 'request for quotation' or 'order confirmation'} and download it using the following link:
${ctx.get('edi_web_url_view') or 'n/a'}
If you have any question, do not hesitate to contact us.
@@ -151,4 +155,4 @@ ${object.company_id.website or ''}
]]></field>
</record>
</data>
-</openerp> \ No newline at end of file
+</openerp>
diff --git a/addons/purchase/i18n/fr.po b/addons/purchase/i18n/fr.po
index 2566fb68726..32eff6448a6 100644
--- a/addons/purchase/i18n/fr.po
+++ b/addons/purchase/i18n/fr.po
@@ -7,14 +7,15 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2012-02-16 15:11+0000\n"
-"Last-Translator: Numérigraphe <Unknown>\n"
+"PO-Revision-Date: 2012-05-24 17:54+0000\n"
+"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) "
+"<maxime.chambreuil@savoirfairelinux.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 04:40+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-05-25 04:39+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: purchase
#: model:process.transition,note:purchase.process_transition_confirmingpurchaseorder0
@@ -47,6 +48,7 @@ msgstr "Destination"
#, python-format
msgid "In order to delete a purchase order, it must be cancelled first!"
msgstr ""
+"Afin de supprimer un bon de commande, celui-ci doit d'abord être annulé!"
#. module: purchase
#: help:purchase.report,date:0
@@ -90,7 +92,7 @@ msgstr ""
#. module: purchase
#: view:purchase.order:0
msgid "Approved purchase order"
-msgstr ""
+msgstr "Bon de commande approuvé"
#. module: purchase
#: view:purchase.order:0 field:purchase.order,partner_id:0
@@ -162,7 +164,7 @@ msgstr "Demandes de prix"
#. module: purchase
#: selection:purchase.config.wizard,default_method:0
msgid "Based on Receptions"
-msgstr ""
+msgstr "Basé sur les réceptions"
#. module: purchase
#: field:purchase.order,company_id:0 field:purchase.order.line,company_id:0
@@ -254,7 +256,7 @@ msgstr "Jour"
#. module: purchase
#: selection:purchase.order,invoice_method:0
msgid "Based on generated draft invoice"
-msgstr ""
+msgstr "Basé sur une facture brouillon générée"
#. module: purchase
#: view:purchase.report:0
@@ -264,7 +266,7 @@ msgstr ""
#. module: purchase
#: view:board.board:0
msgid "Monthly Purchases by Category"
-msgstr ""
+msgstr "Achats mensuels par catégorie"
#. module: purchase
#: model:ir.actions.act_window,name:purchase.action_purchase_line_product_tree
@@ -274,7 +276,7 @@ msgstr "Achats"
#. module: purchase
#: view:purchase.order:0
msgid "Purchase order which are in draft state"
-msgstr ""
+msgstr "Bon de commande qui sont en état ​​de brouillon"
#. module: purchase
#: view:purchase.order:0
@@ -399,6 +401,7 @@ msgstr "Mouvement de stock"
#, python-format
msgid "You must first cancel all invoices related to this purchase order."
msgstr ""
+"Vous devez d'abord annuler toutes les factures liées à ce bon de commande."
#. module: purchase
#: field:purchase.report,dest_address_id:0
@@ -442,13 +445,14 @@ msgstr "Validé par"
#. module: purchase
#: view:purchase.report:0
msgid "Order in last month"
-msgstr ""
+msgstr "Commandes du mois dernier"
#. module: purchase
#: code:addons/purchase/purchase.py:412
#, python-format
msgid "You must first cancel all receptions related to this purchase order."
msgstr ""
+"Vous devez d'abord annuler toutes les réceptions liées à ce bon de commande."
#. module: purchase
#: selection:purchase.order.line,state:0
@@ -473,7 +477,7 @@ msgstr "Indique qu'une réception de marchandise a été effectuée."
#. module: purchase
#: view:purchase.order:0
msgid "Purchase orders which are in exception state"
-msgstr ""
+msgstr "Les bons de commande qui sont en état ​​d'exception"
#. module: purchase
#: report:purchase.order:0 field:purchase.report,validator:0
@@ -494,7 +498,7 @@ msgstr "Prix moyen"
#. module: purchase
#: view:stock.picking:0
msgid "Incoming Shipments already processed"
-msgstr ""
+msgstr "Réceptions déjà traitées"
#. module: purchase
#: report:purchase.order:0
@@ -512,7 +516,7 @@ msgstr "Confirmer"
#: model:ir.ui.menu,name:purchase.menu_action_picking_tree4_picking_to_invoice
#: selection:purchase.order,invoice_method:0
msgid "Based on receptions"
-msgstr ""
+msgstr "Basé sur les réceptions"
#. module: purchase
#: constraint:res.company:0
@@ -548,7 +552,7 @@ msgstr ""
#. module: purchase
#: view:purchase.order:0
msgid "Purchase order which are in the exception state"
-msgstr ""
+msgstr "Les bons de commande qui sont en état ​​d'exception"
#. module: purchase
#: model:ir.actions.act_window,help:purchase.action_stock_move_report_po
@@ -605,7 +609,7 @@ msgstr "Prix total"
#. module: purchase
#: model:ir.actions.act_window,name:purchase.action_import_create_supplier_installer
msgid "Create or Import Suppliers"
-msgstr ""
+msgstr "Créer ou importer des fournisseurs"
#. module: purchase
#: view:stock.picking:0
@@ -689,7 +693,7 @@ msgstr ""
#. module: purchase
#: model:ir.ui.menu,name:purchase.menu_configuration_misc
msgid "Miscellaneous"
-msgstr ""
+msgstr "Divers"
#. module: purchase
#: code:addons/purchase/purchase.py:769
@@ -760,7 +764,7 @@ msgstr "Réceptions"
#: code:addons/purchase/purchase.py:285
#, python-format
msgid "You cannot confirm a purchase order without any lines."
-msgstr ""
+msgstr "Vous ne pouvez pas confirmer un bon de commande sans ligne."
#. module: purchase
#: model:ir.actions.act_window,help:purchase.action_invoice_pending
@@ -786,7 +790,7 @@ msgstr "Demande de prix"
#: code:addons/purchase/edi/purchase_order.py:139
#, python-format
msgid "EDI Pricelist (%s)"
-msgstr ""
+msgstr "Liste de prix EDI (%s)"
#. module: purchase
#: selection:purchase.order,state:0
@@ -859,7 +863,7 @@ msgstr "Fusion de bons de commandes"
#. module: purchase
#: view:purchase.report:0
msgid "Order in current month"
-msgstr ""
+msgstr "Commande du mois en cours"
#. module: purchase
#: view:purchase.report:0 field:purchase.report,delay_pass:0
@@ -900,7 +904,7 @@ msgstr "Total des lignes de commandes par utilisateur par mois"
#. module: purchase
#: view:purchase.order:0
msgid "Approved purchase orders"
-msgstr ""
+msgstr "Bons de commande approuvés"
#. module: purchase
#: view:purchase.report:0 field:purchase.report,month:0
@@ -1031,7 +1035,7 @@ msgstr "Vue calendrier"
#. module: purchase
#: selection:purchase.config.wizard,default_method:0
msgid "Based on Purchase Order Lines"
-msgstr ""
+msgstr "Basé sur les lignes du bon de commande"
#. module: purchase
#: help:purchase.order,amount_untaxed:0
@@ -1043,6 +1047,7 @@ msgstr "Montant hors-taxe"
#, python-format
msgid "Selected UOM does not belong to the same category as the product UOM"
msgstr ""
+"UdM sélectionnée n'appartient pas à la même catégorie que l'UdM du produit."
#. module: purchase
#: code:addons/purchase/purchase.py:907
@@ -1154,7 +1159,7 @@ msgstr "Filtres étendus..."
#. module: purchase
#: view:purchase.config.wizard:0
msgid "Invoicing Control on Purchases"
-msgstr ""
+msgstr "Contrôle de factures sur les achats"
#. module: purchase
#: code:addons/purchase/wizard/purchase_order_group.py:48
@@ -1171,6 +1176,9 @@ msgid ""
"can import your existing partners by CSV spreadsheet from \"Import Data\" "
"wizard"
msgstr ""
+"Créer ou importer des fournisseurs et leurs contacts à partir de ce "
+"formulaire ou vous pouvez importer vos partenaires existants grâce à un "
+"fichier CSV à partir de l'assistant \"Importer\""
#. module: purchase
#: model:process.transition,name:purchase.process_transition_createpackinglist0
@@ -1200,7 +1208,7 @@ msgstr ""
#. module: purchase
#: model:ir.ui.menu,name:purchase.menu_purchase_partner_cat
msgid "Address Book"
-msgstr ""
+msgstr "Carnet d'adresses"
#. module: purchase
#: model:ir.model,name:purchase.model_res_company
@@ -1216,7 +1224,7 @@ msgstr "Annuler cde fourn."
#: code:addons/purchase/purchase.py:411 code:addons/purchase/purchase.py:418
#, python-format
msgid "Unable to cancel this purchase order!"
-msgstr ""
+msgstr "Impossible d'annuler ce bon de commande!"
#. module: purchase
#: model:process.transition,note:purchase.process_transition_createpackinglist0
@@ -1301,7 +1309,7 @@ msgstr "Référence du document qui a généré cette demande d'achat"
#. module: purchase
#: view:purchase.order:0
msgid "Purchase orders which are not approved yet."
-msgstr ""
+msgstr "Bons de commande qui ne sont pas encore approuvés."
#. module: purchase
#: help:purchase.order,state:0
@@ -1468,7 +1476,7 @@ msgstr "Tél. :"
#. module: purchase
#: view:purchase.report:0
msgid "Order of Month"
-msgstr ""
+msgstr "Commande du mois"
#. module: purchase
#: report:purchase.order:0
@@ -1483,7 +1491,7 @@ msgstr "Chercher un bon de commande"
#. module: purchase
#: model:ir.actions.act_window,name:purchase.action_purchase_config
msgid "Set the Default Invoicing Control Method"
-msgstr ""
+msgstr "Sélectionner la méthode de contrôle de facturation par défaut"
#. module: purchase
#: model:process.node,note:purchase.process_node_draftpurchaseorder0
@@ -1509,7 +1517,7 @@ msgstr "En attente de confirmation du fournisseur"
#. module: purchase
#: model:ir.ui.menu,name:purchase.menu_procurement_management_pending_invoice
msgid "Based on draft invoices"
-msgstr ""
+msgstr "Basé sur des factures brouillon"
#. module: purchase
#: view:purchase.order:0
@@ -1551,7 +1559,7 @@ msgstr "Description"
#. module: purchase
#: view:purchase.report:0
msgid "Order of Year"
-msgstr ""
+msgstr "Commande de l'année"
#. module: purchase
#: report:purchase.quotation:0
@@ -1638,7 +1646,7 @@ msgstr "Montant hors-taxe"
#. module: purchase
#: view:stock.picking:0
msgid "Picking to Invoice"
-msgstr ""
+msgstr "Livraisons à facturer"
#. module: purchase
#: view:purchase.config.wizard:0
@@ -1692,6 +1700,9 @@ msgid ""
"receptions\", you can track here all the product receptions and create "
"invoices for those receptions."
msgstr ""
+"Si vous définissez le contrôle de facturation sur une commande d'achat comme "
+"«Basé sur les réceptions\", vous pouvez suivre ici toutes les réceptions de "
+"produits et créer des factures pour les réceptions."
#. module: purchase
#: view:purchase.order:0
@@ -1907,7 +1918,7 @@ msgstr ""
#. module: purchase
#: view:purchase.order:0
msgid "Purchase orders which are in draft state"
-msgstr ""
+msgstr "Bons de commande en état brouillon"
#. module: purchase
#: selection:purchase.report,month:0
@@ -1927,7 +1938,7 @@ msgstr ""
#. module: purchase
#: view:purchase.report:0
msgid "Order in current year"
-msgstr ""
+msgstr "Commande de l'année en cours"
#. module: purchase
#: model:process.process,name:purchase.process_process_purchaseprocess0
diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py
index f8660261d72..f32116d90cd 100644
--- a/addons/purchase/purchase.py
+++ b/addons/purchase/purchase.py
@@ -142,14 +142,15 @@ class purchase_order(osv.osv):
return res
STATE_SELECTION = [
- ('draft', 'Request for Quotation'),
- ('cancel', 'Cancelled'),
+ ('draft', 'Draft PO'),
('wait', 'Waiting'),
+ ('sent', 'RFQ Sent'),
('confirmed', 'Waiting Approval'),
- ('approved', 'Approved'),
+ ('approved', 'Purchase Order'),
('except_picking', 'Shipping Exception'),
('except_invoice', 'Invoice Exception'),
('done', 'Done'),
+ ('cancel', 'Cancelled')
]
_columns = {
@@ -177,7 +178,7 @@ class purchase_order(osv.osv):
'picking_ids': fields.one2many('stock.picking.in', 'purchase_id', 'Picking List', readonly=True, help="This is the list of incomming shipments that have been generated for this purchase order."),
'shipped':fields.boolean('Received', readonly=True, select=True, help="It indicates that a picking has been done"),
'shipped_rate': fields.function(_shipped_rate, string='Received', type='float'),
- 'invoiced': fields.function(_invoiced, string='Invoiced & Paid', type='boolean', help="It indicates that an invoice has been paid"),
+ 'invoiced': fields.function(_invoiced, string='Invoice Received', type='boolean', help="It indicates that an invoice has been paid"),
'invoiced_rate': fields.function(_invoiced_rate, string='Invoiced', type='float'),
'invoice_method': fields.selection([('manual','Based on Purchase Order lines'),('order','Based on generated draft invoice'),('picking','Bases on incoming shipments')], 'Invoicing Control', required=True,
help="Based on Purchase Order lines: place individual lines in 'Invoice Control > Based on P.O. lines' from where you can selectively create an invoice.\n" \
@@ -277,10 +278,90 @@ class purchase_order(osv.osv):
fiscal_position = supplier.property_account_position and supplier.property_account_position.id or False
return {'value':{'pricelist_id': pricelist, 'fiscal_position': fiscal_position}}
+ def view_invoice(self, cr, uid, ids, context=None):
+ '''
+ This function returns an action that display existing invoices of given sale order ids. It can either be a in a list or in a form view, if there is only one invoice to show.
+ '''
+ mod_obj = self.pool.get('ir.model.data')
+ wizard_obj = self.pool.get('purchase.order.line_invoice')
+ #compute the number of invoices to display
+ inv_ids = []
+ for po in self.browse(cr, uid, ids, context=context):
+ if po.invoice_method == 'manual':
+ if not po.invoice_ids:
+ context.update({'active_ids' : [line.id for line in po.order_line]})
+ wizard_obj.makeInvoices(cr, uid, [], context=context)
+
+ for po in self.browse(cr, uid, ids, context=context):
+ inv_ids+= [invoice.id for invoice in po.invoice_ids]
+ res = mod_obj.get_object_reference(cr, uid, 'account', 'invoice_supplier_form')
+ res_id = res and res[1] or False
+
+ return {
+ 'name': _('Supplier Invoices'),
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'view_id': [res_id],
+ 'res_model': 'account.invoice',
+ 'context': "{'type':'in_invoice', 'journal_type': 'purchase'}",
+ 'type': 'ir.actions.act_window',
+ 'nodestroy': True,
+ 'target': 'current',
+ 'res_id': inv_ids and inv_ids[0] or False,
+ }
+
+ def view_picking(self, cr, uid, ids, context=None):
+ '''
+ This function returns an action that display existing pîcking orders of given purchase order ids.
+ '''
+ mod_obj = self.pool.get('ir.model.data')
+ pick_ids = []
+ for po in self.browse(cr, uid, ids, context=context):
+ pick_ids += [picking.id for picking in po.picking_ids]
+
+ res = mod_obj.get_object_reference(cr, uid, 'stock', 'view_picking_in_form')
+ res_id = res and res[1] or False
+
+ return {
+ 'name': _('Receptions'),
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'view_id': [res_id],
+ 'res_model': 'stock.picking',
+ 'context': "{'contact_display': 'partner'}",
+ 'type': 'ir.actions.act_window',
+ 'nodestroy': True,
+ 'target': 'current',
+ 'res_id': pick_ids and pick_ids[0] or False,
+ }
+
def wkf_approve_order(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state': 'approved', 'date_approve': fields.date.context_today(self,cr,uid,context=context)})
return True
+ def wkf_send_rfq(self, cr, uid, ids, context=None):
+ '''
+ This function opens a window to compose an email, with the edi purchase template message loaded by default
+ '''
+ mod_obj = self.pool.get('ir.model.data')
+ template = mod_obj.get_object_reference(cr, uid, 'purchase', 'email_template_edi_purchase')
+ template_id = template and template[1] or False
+ res = mod_obj.get_object_reference(cr, uid, 'mail', 'email_compose_message_wizard_form')
+ res_id = res and res[1] or False
+ ctx = dict(context, active_model='purchase.order', active_id=ids[0])
+ ctx.update({'mail.compose.template_id': template_id})
+ return {
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'res_model': 'mail.compose.message',
+ 'views': [(res_id,'form')],
+ 'view_id': res_id,
+ 'type': 'ir.actions.act_window',
+ 'target': 'new',
+ 'context': ctx,
+ 'nodestroy': True,
+ }
+
#TODO: implement messages system
def wkf_confirm_order(self, cr, uid, ids, context=None):
todo = []
@@ -440,6 +521,8 @@ class purchase_order(osv.osv):
'partner_id': order.dest_address_id.id or order.partner_id.id,
'invoice_state': '2binvoiced' if order.invoice_method == 'picking' else 'none',
'type': 'in',
+ 'partner_id': order.dest_address_id.id or order.partner_id.id,
+ 'invoice_state': '2binvoiced' if order.invoice_method == 'picking' else 'none',
'purchase_id': order.id,
'company_id': order.company_id.id,
'move_lines' : [],
@@ -995,4 +1078,16 @@ class procurement_order(osv.osv):
return res
procurement_order()
+
+class mail_message(osv.osv):
+ _name = 'mail.message'
+ _inherit = 'mail.message'
+
+ def _postprocess_sent_message(self, cr, uid, message, context=None):
+ if message.model == 'purchase.order':
+ wf_service = netsvc.LocalService("workflow")
+ wf_service.trg_validate(uid, 'purchase.order', message.res_id, 'send_rfq', cr)
+ return super(mail_message, self)._postprocess_sent_message(cr, uid, message=message, context=context)
+
+mail_message()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml
index 5373d81ee10..ce2a9d85b5e 100644
--- a/addons/purchase/purchase_view.xml
+++ b/addons/purchase/purchase_view.xml
@@ -132,15 +132,18 @@
<field name="arch" type="xml">
<form layout="manual">
<div class="oe_form_topbar">
- <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object"/>
+ <button name="purchase_confirm" states="draft,sent" string="Confirm Order" class="oe_form_button_hi"/>
+ <button name="wkf_send_rfq" states="draft" string="Send RFQ" type="object" context="{'send_rfq':True}"/>
+ <button name="wkf_send_rfq" states="confirmed" string="Resend Purchase Order" type="object"/>
+ <button name="action_cancel" states="except_picking,except_invoice,wait" string="Cancel" type="object" />
<button name="picking_ok" states="except_picking" string="Manually Corrected"/>
<button name="invoice_ok" states="except_invoice" string="Manually Corrected"/>
- <button name="purchase_confirm" states="draft" string="Confirm Purchase"/>
- <button name="purchase_appbuyer" states="wait_auth" string="Approve Purchase"/>
- <button name="purchase_approve" states="confirmed" string="Approved"/>
- <button name="%(report_purchase_order)d" string="Print" states="approved" type="action"/>
- <button name="action_cancel" states="approved,except_picking,except_invoice,wait" string="Cancel" type="object"/>
- <button name="purchase_cancel" states="draft,confirmed,wait_auth" string="Cancel"/>
+ <button name="purchase_appbuyer" states="wait_auth" string="Approve Purchase" class="oe_form_button_hi"/>
+ <button name="purchase_approve" states="confirmed" string="Approve Order" class="oe_form_button_hi"/>
+ <button name="view_invoice" string="Receive Invoice" type="object" attrs="{'invisible': ['|', ('invoice_method','=','picking'), '|', ('state','!=', 'approved'), ('invoiced','=',True) ]}"/>
+ <button name="view_picking" string="Receive Products" type="object" attrs="{'invisible': ['|', ('shipped','=',True), ('state','!=', 'approved')]}"/>
+ <button name="action_cancel_draft" states="cancel,sent,confirmed" string="Set to Draft" type="object"/>
+ <button name="purchase_cancel" states="draft,confirmed,wait_auth,sent" string="Cancel"/>
<div class="oe_right">
<field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,approved,done" statusbar_colors='{"except_picking":"red","except_invoice":"red","confirmed":"blue","wait":"blue"}' readonly="1"/>
</div>
@@ -225,9 +228,8 @@
<filter icon="terp-document-new" name="draft" string="Quotations" domain="[('state','=','draft')]" help="Purchase order which are in draft state"/>
<filter icon="terp-check" name="approved" string="Approved" domain="[('state','in',('approved','done'))]" help="Approved purchase order"/>
<separator orientation="vertical"/>
- <filter icon="terp-emblem-important" name="exception" string="Exception" domain="[('state','in',('except_invoice','except_picking'))]" help="Purchase order which are in the exception state"/>
- <separator orientation="vertical"/>
<filter icon="terp-gtk-go-back-rtl" name="not_invoiced" string="Not Invoiced" domain="[('invoice_ids','=', False)]" help="Purchase orders that include lines not invoiced."/>
+ <filter icon="terp-emblem-important" name="exception" string="Exception" domain="[('state','in',('except_invoice','except_picking'))]" help="Purchase order which are in the exception state"/>
<separator orientation="vertical"/>
<field name="name" string="Reference"/>
<field name="partner_id"/>
@@ -257,13 +259,10 @@
<search string="Search Purchase Order">
<group>
<filter icon="terp-document-new" name="draft" string="Quotations" domain="[('state','=','draft')]" help="Purchase orders which are in draft state"/>
- <filter icon="terp-gtk-jump-to-ltr" name="to_approve" string="To Approve" domain="[('state','in',('draft','wait','confirmed'))]" help="Purchase orders which are not approved yet."/>
- <filter icon="terp-check" name="approved" string="Approved" domain="[('state','=','approved')]" help="Approved purchase orders"/>
- <filter icon="terp-accessories-archiver+" string="Done" domain="[('state','=','done')]" help="Purchase orders which are in done state."/>
- <separator orientation="vertical"/>
- <filter icon="terp-emblem-important" name="exception" string="Exception" domain="[('state','in',('except_invoice','except_picking'))]" help="Purchase orders which are in exception state"/>
+ <filter icon="terp-check" name="approved" string="Purchase Orders" domain="[('state','not in',('draft','cancel'))]" help="Approved purchase orders"/>
<separator orientation="vertical"/>
<filter icon="terp-gtk-go-back-rtl" name="not_invoiced" string="Not Invoiced" domain="[('invoice_ids','=', False)]" help="Purchase orders that include lines not invoiced."/>
+ <filter icon="terp-emblem-important" name="exception" string="Exception" domain="[('state','in',('except_invoice','except_picking'))]" help="Purchase orders which are in exception state"/>
<separator orientation="vertical"/>
<field name="name" string="Reference"/>
<field name="partner_id"/>
@@ -308,12 +307,12 @@
</record>
<record id="purchase_rfq" model="ir.actions.act_window">
- <field name="name">Requests for Quotation</field>
+ <field name="name">Quotations</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">purchase.order</field>
<field name="context">{'search_default_draft': 1}</field>
<field name="view_mode">tree,form,graph,calendar</field>
- <field name="search_view_id" ref="view_request_for_quotation_filter"/>
+ <field name="search_view_id" ref="view_purchase_order_filter"/>
<field name="help">You can create a request for quotation when you want to buy products to a supplier but the purchase is not confirmed yet. Use also this menu to review requests for quotation created automatically based on your logistic rules (minimum stock, MTO, etc). You can convert the request for quotation into a purchase order once the order is confirmed. If you use the extended interface (from user's preferences), you can select the way to control your supplier invoices: based on the order, based on the receptions or manual encoding.</field>
</record>
<menuitem action="purchase_rfq" id="menu_purchase_rfq"
diff --git a/addons/purchase/purchase_workflow.xml b/addons/purchase/purchase_workflow.xml
index b26363a02f2..0342afec893 100644
--- a/addons/purchase/purchase_workflow.xml
+++ b/addons/purchase/purchase_workflow.xml
@@ -13,6 +13,12 @@
<field name="flow_start">True</field>
<field name="name">draft</field>
</record>
+ <record id="act_sent" model="workflow.activity">
+ <field name="wkf_id" ref="purchase_order"/>
+ <field name="name">sent</field>
+ <field name="kind">function</field>
+ <field name="action">write({'state':'sent'})</field>
+ </record>
<record id="act_confirmed" model="workflow.activity">
<field name="wkf_id" ref="purchase_order"/>
<field name="name">confirmed</field>
@@ -90,6 +96,22 @@
<field name="act_to" ref="act_confirmed"/>
<field name="signal">purchase_confirm</field>
</record>
+ <record id="trans_draft_sent" model="workflow.transition">
+ <field name="act_from" ref="act_draft"/>
+ <field name="act_to" ref="act_sent"/>
+ <field name="signal">send_rfq</field>
+ </record>
+ <record id="trans_sent_confirmed" model="workflow.transition">
+ <field name="act_from" ref="act_sent"/>
+ <field name="act_to" ref="act_confirmed"/>
+ <field name="signal">purchase_confirm</field>
+ </record>
+ <record id="trans_sent_cancel" model="workflow.transition">
+ <field name="act_from" ref="act_sent"/>
+ <field name="act_to" ref="act_cancel"/>
+ <field name="signal">purchase_cancel</field>
+ </record>
+
<record id="trans_confirmed_cancel" model="workflow.transition">
<field name="act_from" ref="act_confirmed"/>
<field name="act_to" ref="act_cancel"/>
diff --git a/addons/purchase_double_validation/__openerp__.py b/addons/purchase_double_validation/__openerp__.py
index fe05cbd412f..47124e689ef 100644
--- a/addons/purchase_double_validation/__openerp__.py
+++ b/addons/purchase_double_validation/__openerp__.py
@@ -38,6 +38,7 @@ that exceeds minimum amount set by configuration wizard.
'update_xml': [
'purchase_double_validation_workflow.xml',
'purchase_double_validation_installer.xml',
+ 'purchase_double_validation_view.xml',
'board_purchase_view.xml'
],
'test': [
diff --git a/addons/purchase_double_validation/purchase_double_validation_view.xml b/addons/purchase_double_validation/purchase_double_validation_view.xml
new file mode 100644
index 00000000000..e6b255e3245
--- /dev/null
+++ b/addons/purchase_double_validation/purchase_double_validation_view.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<openerp>
+ <data>
+ <record model="ir.ui.view" id="purchase_order_search_inherit">
+ <field name="name">purchase.order.list.select.inherit</field>
+ <field name="type">form</field>
+ <field name="model">purchase.order</field>
+ <field name="inherit_id" ref="purchase.view_purchase_order_filter"/>
+ <field name="arch" type="xml">
+ <xpath expr="//filter[@name='draft']" position="after">
+ <filter icon="terp-gtk-jump-to-ltr" name="to_approve" string="To Approve" domain="[('state','in',('wait','confirmed'))]" help="Purchase orders which are not approved yet."/>
+ </xpath>
+ </field>
+ </record>
+ </data>
+</openerp>
diff --git a/addons/purchase_requisition/purchase_requisition_view.xml b/addons/purchase_requisition/purchase_requisition_view.xml
index a9faaf43c5a..9a9d2bfa105 100644
--- a/addons/purchase_requisition/purchase_requisition_view.xml
+++ b/addons/purchase_requisition/purchase_requisition_view.xml
@@ -21,22 +21,8 @@
<field name="model">purchase.order</field>
<field name="inherit_id" ref="purchase.view_purchase_order_filter"/>
<field name="arch" type="xml">
- <xpath expr="/search/group/filter[@name='not_invoiced']" position="after">
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-jump-to-rtl" string="Requisition" domain="[('requisition_id','!=',False)]" help="Purchase Orders with requisition"/>
- </xpath>
- </field>
- </record>
-
- <record model="ir.ui.view" id="request_for_quotation_inherit">
- <field name="name">request.for.quotation.select.inherit</field>
- <field name="type">form</field>
- <field name="model">purchase.order</field>
- <field name="inherit_id" ref="purchase.view_request_for_quotation_filter"/>
- <field name="arch" type="xml">
- <xpath expr="/search/group/filter[@name='not_invoiced']" position="after">
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-jump-to-rtl" string="Requisition" domain="[('requisition_id','!=',False)]" help="Purchase Orders with requisition"/>
+ <xpath expr="//filter[@name='approved']" position="after">
+ <filter icon="terp-gtk-jump-to-rtl" string="Requisition" domain="[('requisition_id','!=',False)]" help="Purchase Orders with requisition"/>
</xpath>
</field>
</record>
diff --git a/addons/report_webkit/header_view.xml b/addons/report_webkit/header_view.xml
index 267bc7cb0a4..c66afd4f66c 100644
--- a/addons/report_webkit/header_view.xml
+++ b/addons/report_webkit/header_view.xml
@@ -53,7 +53,7 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
- <menuitem action="action_header_img" id="menu_header_img" parent="base.menu_res_company_global" sequence="14"/>
+ <menuitem action="action_header_img" id="menu_header_img" parent="base.menu_custom" sequence="14"/>
<record id="action_header_webkit" model="ir.actions.act_window">
<field name="name">Webkit Headers/Footers</field>
@@ -61,7 +61,7 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
- <menuitem action="action_header_webkit" id="menu_header_webkit" parent="base.menu_res_company_global" sequence="14"/>
+ <menuitem action="action_header_webkit" id="menu_header_webkit" parent="base.menu_custom" sequence="14"/>
</data>
</openerp>
diff --git a/addons/sale/edi/sale_order.py b/addons/sale/edi/sale_order.py
index 180b0e6f9a6..d1cbe3a98fa 100644
--- a/addons/sale/edi/sale_order.py
+++ b/addons/sale/edi/sale_order.py
@@ -24,6 +24,7 @@ from dateutil.relativedelta import relativedelta
from osv import fields, osv, orm
from edi import EDIMixin
+from edi.models import edi
from tools import DEFAULT_SERVER_DATE_FORMAT
SALE_ORDER_LINE_EDI_STRUCT = {
@@ -59,11 +60,21 @@ SALE_ORDER_EDI_STRUCT = {
'payment_term': True,
'order_policy': True,
'user_id': True,
+ 'state': True,
}
class sale_order(osv.osv, EDIMixin):
_inherit = 'sale.order'
+ def action_quotation_send(self, cr, uid, ids, context=None):
+ if context is None:
+ context = {}
+ sale_objs = self.browse(cr, uid, ids, context=context)
+ edi_token = self.pool.get('edi.document').export_edi(cr, uid, sale_objs, context = context)[0]
+ web_root_url = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url')
+ ctx = dict(context, edi_web_url_view=edi.EDI_VIEW_WEB_URL % (web_root_url, cr.dbname, edi_token))
+ return super(sale_order, self).action_quotation_send(cr, uid, ids, context=ctx)
+
def edi_export(self, cr, uid, records, edi_struct=None, context=None):
"""Exports a Sale order"""
edi_struct = dict(edi_struct or SALE_ORDER_EDI_STRUCT)
diff --git a/addons/sale/edi/sale_order_action_data.xml b/addons/sale/edi/sale_order_action_data.xml
index 9fcee173014..2fe0a8cbfd3 100644
--- a/addons/sale/edi/sale_order_action_data.xml
+++ b/addons/sale/edi/sale_order_action_data.xml
@@ -47,7 +47,7 @@
<p>Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''},</p>
- <p>Here is your order confirmation for ${object.partner_id.name}: </p>
+ <p>Here is your ${object.state in ('draft', 'sent') and 'quotation' or 'order confirmation'} from {$object.company_id.name}: </p>
<p style="border-left: 1px solid #8e0000; margin-left: 30px;">
&nbsp;&nbsp;<strong>REFERENCES</strong><br />
@@ -64,12 +64,12 @@
</p>
<p>
- You can view the order confirmation document, download it and pay online using the following link:
+ You can view the ${object.state in ('draft', 'sent') and 'quotation' or 'order confirmation'} document, download it and pay online using the following link:
</p>
<a style="display:block; width: 150px; height:20px; margin-left: 120px; color: #FFF; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; font-size: 13px; font-weight: bold; text-align: center; text-decoration: none !important; line-height: 1; padding: 5px 0px 0px 0px; background-color: #8E0000; border-radius: 5px 5px; background-repeat: repeat no-repeat;"
href="${ctx.get('edi_web_url_view') or ''}">View Order</a>
- % if object.order_policy in ('prepaid','manual') and object.company_id.paypal_account:
+ % if object.order_policy in ('prepaid','manual') and object.company_id.paypal_account and object.state not in ('draft', 'sent'):
<%
comp_name = quote(object.company_id.name)
order_name = quote(object.name)
@@ -129,7 +129,7 @@
<field name="body_text"><![CDATA[
Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''},
-Here is your order confirmation for ${object.partner_id.name}:
+Here is your ${object.state in ('draft', 'sent') and 'quotation' or 'order confirmation'} from ${object.company_id.name}:
| Order number: *${object.name}*
| Order total: *${object.amount_total} ${object.pricelist_id.currency_id.name}*
| Order date: ${object.date_order}
@@ -141,10 +141,10 @@ Here is your order confirmation for ${object.partner_id.name}:
% endif
| Your contact: ${object.user_id.name} ${object.user_id.user_email and '<%s>'%(object.user_id.user_email) or ''}
-You can view the order confirmation, download it and even pay online using the following link:
+You can view the ${object.state in ('draft', 'sent') and 'quotation' or 'order confirmation'}, download it and even pay online using the following link:
${ctx.get('edi_web_url_view') or 'n/a'}
-% if object.order_policy in ('prepaid','manual') and object.company_id.paypal_account:
+% if object.order_policy in ('prepaid','manual') and object.company_id.paypal_account and object.state not in ('draft', 'sent'):
<%
comp_name = quote(object.company_id.name)
order_name = quote(object.name)
diff --git a/addons/sale/i18n/is.po b/addons/sale/i18n/is.po
new file mode 100644
index 00000000000..d69da3752bc
--- /dev/null
+++ b/addons/sale/i18n/is.po
@@ -0,0 +1,2173 @@
+# Icelandic translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 01:37+0100\n"
+"PO-Revision-Date: 2012-05-29 17:26+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Icelandic <is@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-30 05:21+0000\n"
+"X-Generator: Launchpad (build 15316)\n"
+
+#. module: sale
+#: field:sale.config.picking_policy,timesheet:0
+msgid "Based on Timesheet"
+msgstr "Samkvæmt Tímaskjali"
+
+#. module: sale
+#: view:sale.order.line:0
+msgid ""
+"Sale Order Lines that are confirmed, done or in exception state and haven't "
+"yet been invoiced"
+msgstr ""
+
+#. module: sale
+#: view:board.board:0
+#: model:ir.actions.act_window,name:sale.action_sales_by_salesman
+msgid "Sales by Salesman in last 90 days"
+msgstr "Sala eftir sölumanni síðustu 90 daga"
+
+#. module: sale
+#: help:sale.order,picking_policy:0
+msgid ""
+"If you don't have enough stock available to deliver all at once, do you "
+"accept partial shipments or not?"
+msgstr ""
+"Ef þú hefur ekki nægan lager til að afhenta allt í einu, villtu þá leyfa að "
+"senda hluta sendingar eða ekki?"
+
+#. module: sale
+#: view:sale.order:0
+msgid "UoS"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,partner_shipping_id:0
+msgid "Shipping address for current sales order."
+msgstr "Sendingar heimilisfang fyrir þessa sölupöntun."
+
+#. module: sale
+#: field:sale.advance.payment.inv,qtty:0 report:sale.order:0
+msgid "Quantity"
+msgstr "Magn"
+
+#. module: sale
+#: view:sale.report:0 field:sale.report,day:0
+msgid "Day"
+msgstr "Dagur"
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_cancelorder0
+#: view:sale.order:0
+msgid "Cancel Order"
+msgstr "Afpanta sölupöntun"
+
+#. module: sale
+#: code:addons/sale/sale.py:638
+#, python-format
+msgid "The quotation '%s' has been converted to a sales order."
+msgstr "Tilboðið '%s' hefur verið breitt í sölupöntun"
+
+#. module: sale
+#: view:sale.order:0
+msgid "Print Quotation"
+msgstr "Prenta Tilboð"
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice.py:42
+#, python-format
+msgid "Warning !"
+msgstr "Aðvörun !"
+
+#. module: sale
+#: report:sale.order:0
+msgid "VAT"
+msgstr "VSK"
+
+#. module: sale
+#: model:process.node,note:sale.process_node_saleorderprocurement0
+msgid "Drives procurement orders for every sales order line."
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0 field:sale.report,analytic_account_id:0
+#: field:sale.shop,project_id:0
+msgid "Analytic Account"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,help:sale.action_order_line_tree2
+msgid ""
+"Here is a list of each sales order line to be invoiced. You can invoice "
+"sales orders partially, by lines of sales order. You do not need this list "
+"if you invoice from the delivery orders or if you invoice sales totally."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:295
+#, python-format
+msgid ""
+"In order to delete a confirmed sale order, you must cancel it before ! To "
+"cancel a sale order, you must first cancel related picking or delivery "
+"orders."
+msgstr ""
+"Til að eyða staðfestri sölupöntun, verður þú að af-panta hana fyrst ! Til að "
+"af-panta sölupöntun, verður þú fyrst að af-panta tengdar færslur einnig."
+
+#. module: sale
+#: model:process.node,name:sale.process_node_saleprocurement0
+msgid "Procurement Order"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0 field:sale.report,partner_id:0
+msgid "Partner"
+msgstr "Viðskipta aðili"
+
+#. module: sale
+#: selection:sale.order,order_policy:0
+msgid "Invoice based on deliveries"
+msgstr "Gera reikn út frá sendingum"
+
+#. module: sale
+#: view:sale.order:0
+msgid "Order Line"
+msgstr "Sölu lína"
+
+#. module: sale
+#: model:ir.actions.act_window,help:sale.action_order_form
+msgid ""
+"Sales Orders help you manage quotations and orders from your customers. "
+"OpenERP suggests that you start by creating a quotation. Once it is "
+"confirmed, the quotation will be converted into a Sales Order. OpenERP can "
+"handle several types of products so that a sales order may trigger tasks, "
+"delivery orders, manufacturing orders, purchases and so on. Based on the "
+"configuration of the sales order, a draft invoice will be generated so that "
+"you just have to confirm it when you want to bill your customer."
+msgstr ""
+"Sölu pantanir hjálpa við að halda utan um tilboð og pantanir frá "
+"viðskiptavinum. OpenERP mælir með því að þú byrjir á því að gera tilboð. "
+"Þegar það er staðfest, verður tilboðið að sölupöntun. OpenERP getur ráðið "
+"við nokkrar gerðir af vörum svo sölu pöntunin setur af stað verk, "
+"vörusendingu, framleiðslu pöntun, innkaup o.s.fr. \r\n"
+"Byggt á hvernig sölupöntunin er gerð, verður til uppkast af reikning sem "
+"þarf að staðfesta þegar senda á reikning á viðskiptavininn."
+
+#. module: sale
+#: help:sale.order,invoice_quantity:0
+msgid ""
+"The sale order will automatically create the invoice proposition (draft "
+"invoice). Ordered and delivered quantities may not be the same. You have to "
+"choose if you want your invoice based on ordered or shipped quantities. If "
+"the product is a service, shipped quantities means hours spent on the "
+"associated tasks."
+msgstr ""
+"Sölu pöntunin mun sjálfkrafa gera uppkast að reikning. Pantað og afhent magn "
+"gæti verið mismunandi. Velja verður hvort gera á reikning eftir pöntuðu eða "
+"afhentu magni. Ef varan er þjónusta, þá gæti afhent magn þítt tímar sem eitt "
+"var í verk."
+
+#. module: sale
+#: field:sale.shop,payment_default_id:0
+msgid "Default Payment Term"
+msgstr "Sjálfgefnir greiðslu skilmálar"
+
+#. module: sale
+#: field:sale.config.picking_policy,deli_orders:0
+msgid "Based on Delivery Orders"
+msgstr "Byggt á afhentu magni"
+
+#. module: sale
+#: field:sale.config.picking_policy,time_unit:0
+msgid "Main Working Time Unit"
+msgstr "Aðal einingar formið"
+
+#. module: sale
+#: view:sale.order:0 view:sale.order.line:0 field:sale.order.line,state:0
+#: view:sale.report:0
+msgid "State"
+msgstr "Staða"
+
+#. module: sale
+#: report:sale.order:0
+msgid "Disc.(%)"
+msgstr "Afsl.(%)"
+
+#. module: sale
+#: view:sale.report:0 field:sale.report,price_total:0
+msgid "Total Price"
+msgstr "Samtals Verð"
+
+#. module: sale
+#: help:sale.make.invoice,grouped:0
+msgid "Check the box to group the invoices for the same customers"
+msgstr "Hakið í boxið til að taka saman reikninga fyrir hvern viðskiptavin"
+
+#. module: sale
+#: view:sale.order:0
+msgid "My Sale Orders"
+msgstr "Mínar sölupantanir"
+
+#. module: sale
+#: selection:sale.order,invoice_quantity:0
+msgid "Ordered Quantities"
+msgstr "Pantað Magn"
+
+#. module: sale
+#: view:sale.report:0
+msgid "Sales by Salesman"
+msgstr "Sala eftir Sölumanni"
+
+#. module: sale
+#: field:sale.order.line,move_ids:0
+msgid "Inventory Moves"
+msgstr "Lager færslur"
+
+#. module: sale
+#: field:sale.order,name:0 field:sale.order.line,order_id:0
+msgid "Order Reference"
+msgstr "Tilvísun í Pöntun"
+
+#. module: sale
+#: view:sale.order:0
+msgid "Other Information"
+msgstr "Aðrar upplýsingar"
+
+#. module: sale
+#: view:sale.order:0
+msgid "Dates"
+msgstr "Dagsetningar"
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_invoiceafterdelivery0
+msgid ""
+"The invoice is created automatically if the shipping policy is 'Invoice from "
+"pick' or 'Invoice on order after delivery'."
+msgstr ""
+
+#. module: sale
+#: field:sale.config.picking_policy,task_work:0
+msgid "Based on Tasks' Work"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.act_res_partner_2_sale_order
+msgid "Quotations and Sales"
+msgstr "Tilboð og Sölur"
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_make_invoice
+msgid "Sales Make Invoice"
+msgstr "Sölur gera reikninga"
+
+#. module: sale
+#: code:addons/sale/sale.py:330
+#, python-format
+msgid "Pricelist Warning!"
+msgstr "Viðvörun út frá verðlista!"
+
+#. module: sale
+#: field:sale.order.line,discount:0
+msgid "Discount (%)"
+msgstr "Afsláttur (%)"
+
+#. module: sale
+#: view:board.board:0
+#: model:ir.actions.act_window,name:sale.action_quotation_for_sale
+msgid "My Quotations"
+msgstr "Mín Tilboð"
+
+#. module: sale
+#: view:board.board:0
+#: model:ir.actions.act_window,name:sale.open_board_sales_manager
+#: model:ir.ui.menu,name:sale.menu_board_sales_manager
+msgid "Sales Manager Dashboard"
+msgstr "Mælaborð Sölustjóra"
+
+#. module: sale
+#: field:sale.order.line,product_packaging:0
+msgid "Packaging"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_saleinvoice0
+msgid "From a sales order"
+msgstr "Frá sölu pöntun"
+
+#. module: sale
+#: field:sale.shop,name:0
+msgid "Shop Name"
+msgstr "Nafn Verslunar"
+
+#. module: sale
+#: help:sale.order,order_policy:0
+msgid ""
+"The Invoice Policy is used to synchronise invoice and delivery operations.\n"
+" - The 'Pay before delivery' choice will first generate the invoice and "
+"then generate the picking order after the payment of this invoice.\n"
+" - The 'Deliver & Invoice on demand' will create the picking order directly "
+"and wait for the user to manually click on the 'Invoice' button to generate "
+"the draft invoice based on the sale order or the sale order lines.\n"
+" - The 'Invoice on order after delivery' choice will generate the draft "
+"invoice based on sales order after all picking lists have been finished.\n"
+" - The 'Invoice based on deliveries' choice is used to create an invoice "
+"during the picking process."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1171
+#, python-format
+msgid "No Customer Defined !"
+msgstr "Enginn viðskiptavinur skilgreindur !"
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_tree2
+msgid "Sales in Exception"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1158 code:addons/sale/sale.py:1277
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:70
+#, python-format
+msgid "Configuration Error !"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Conditions"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1034
+#, python-format
+msgid ""
+"There is no income category account defined in default Properties for "
+"Product Category or Fiscal Position is not defined !"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "August"
+msgstr ""
+
+#. module: sale
+#: constraint:stock.move:0
+msgid "You try to assign a lot which is not from the same product"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:655
+#, python-format
+msgid "invalid mode for test_state"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "June"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:617
+#, python-format
+msgid "Could not cancel this sales order !"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_report
+msgid "Sales Orders Statistics"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,project_id:0
+msgid "The analytic account related to a sales order."
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "October"
+msgstr ""
+
+#. module: sale
+#: sql_constraint:stock.picking:0
+msgid "Reference must be unique per Company!"
+msgstr ""
+
+#. module: sale
+#: view:board.board:0 view:sale.order:0 view:sale.report:0
+msgid "Quotations"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,pricelist_id:0
+msgid "Pricelist for current sales order."
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "TVA :"
+msgstr ""
+
+#. module: sale
+#: help:sale.order.line,delay:0
+msgid ""
+"Number of days between the order confirmation the shipping of the products "
+"to the customer"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Quotation Date"
+msgstr "Dags Tilboðs"
+
+#. module: sale
+#: field:sale.order,fiscal_position:0
+msgid "Fiscal Position"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0 view:sale.order.line:0 field:sale.report,product_uom:0
+msgid "UoM"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,number_packages:0
+msgid "Number Packages"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0 selection:sale.report,state:0
+msgid "In Progress"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_confirmquotation0
+msgid ""
+"The salesman confirms the quotation. The state of the sales order becomes "
+"'In progress' or 'Manual in progress'."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1074
+#, python-format
+msgid "You cannot cancel a sale order line that has already been invoiced!"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1079
+#, python-format
+msgid "You must first cancel stock moves attached to this sales order line."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1147
+#, python-format
+msgid "(n/a)"
+msgstr ""
+
+#. module: sale
+#: help:sale.advance.payment.inv,product_id:0
+msgid ""
+"Select a product of type service which is called 'Advance Product'. You may "
+"have to create it and set it as a default value on this field."
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Tel. :"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:64
+#, python-format
+msgid ""
+"You cannot make an advance on a sales order "
+"that is defined as 'Automatic Invoice after delivery'."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0 field:sale.order,note:0 view:sale.order.line:0
+#: field:sale.order.line,notes:0
+msgid "Notes"
+msgstr ""
+
+#. module: sale
+#: sql_constraint:res.company:0
+msgid "The company name must be unique !"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,partner_invoice_id:0
+msgid "Invoice address for current sales order."
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Month-1"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Ordered month of the sales order"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:504
+#, python-format
+msgid ""
+"You cannot group sales having different currencies for the same partner."
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,picking_policy:0
+msgid "Deliver each product when available"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,invoiced_rate:0 field:sale.order.line,invoiced:0
+msgid "Invoiced"
+msgstr ""
+
+#. module: sale
+#: model:process.node,name:sale.process_node_deliveryorder0
+msgid "Delivery Order"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,date_confirm:0
+msgid "Confirmation Date"
+msgstr "Dags Staðfestingar"
+
+#. module: sale
+#: field:sale.order,incoterm:0
+msgid "Incoterm"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,address_allotment_id:0
+msgid "Allotment Partner"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "March"
+msgstr ""
+
+#. module: sale
+#: constraint:stock.move:0
+msgid "You can not move products from or to a location of the type view."
+msgstr ""
+
+#. module: sale
+#: field:sale.config.picking_policy,sale_orders:0
+msgid "Based on Sales Orders"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,amount_total:0
+msgid "The total amount."
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,price_subtotal:0
+msgid "Subtotal"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Invoice address :"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,sequence:0
+msgid "Line Sequence"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_saleorderprocurement0
+msgid ""
+"For every sales order line, a procurement order is created to supply the "
+"sold product."
+msgstr ""
+
+#. module: sale
+#: help:sale.order,incoterm:0
+msgid ""
+"Incoterm which stands for 'International Commercial terms' implies its a "
+"series of sales terms which are used in the commercial transaction."
+msgstr ""
+
+#. module: sale
+#: field:sale.order,partner_invoice_id:0
+msgid "Invoice Address"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Search Uninvoiced Lines"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.report.xml,name:sale.report_sale_order
+msgid "Quotation / Order"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0 field:sale.report,nbr:0
+msgid "# of Lines"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_open_invoice
+msgid "Sales Open Invoice"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_order_line
+#: field:stock.move,sale_line_id:0
+msgid "Sales Order Line"
+msgstr ""
+
+#. module: sale
+#: field:sale.shop,warehouse_id:0
+msgid "Warehouse"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Order N°"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,order_line:0
+msgid "Order Lines"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Untaxed amount"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_line_tree2
+#: model:ir.ui.menu,name:sale.menu_invoicing_sales_order_lines
+msgid "Lines to Invoice"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,product_uom_qty:0
+msgid "Quantity (UoM)"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,create_date:0
+msgid "Creation Date"
+msgstr "Búið til þann"
+
+#. module: sale
+#: model:ir.ui.menu,name:sale.menu_sales_configuration_misc
+msgid "Miscellaneous"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_line_tree3
+msgid "Uninvoiced and Delivered Lines"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Total :"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "My Sales"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:295 code:addons/sale/sale.py:1074
+#: code:addons/sale/sale.py:1303
+#, python-format
+msgid "Invalid action !"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Extra Info"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,pricelist_id:0 field:sale.report,pricelist_id:0
+#: field:sale.shop,pricelist_id:0
+msgid "Pricelist"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0 field:sale.report,product_uom_qty:0
+msgid "# of Qty"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1327
+#, python-format
+msgid "Hour"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Order Date"
+msgstr "Dags. Pöntunar"
+
+#. module: sale
+#: view:sale.order.line:0 view:sale.report:0 field:sale.report,shipped:0
+#: field:sale.report,shipped_qty_1:0
+msgid "Shipped"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_tree5
+msgid "All Quotations"
+msgstr ""
+
+#. module: sale
+#: view:sale.config.picking_policy:0
+msgid "Options"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "September"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:632
+#, python-format
+msgid "You cannot confirm a sale order which has no line."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1259
+#, python-format
+msgid ""
+"You have to select a pricelist or a customer in the sales form !\n"
+"Please set one before choosing a product."
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0 field:sale.report,categ_id:0
+msgid "Category of Product"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Taxes :"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Stock Moves"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,state:0 field:sale.report,state:0
+msgid "Order State"
+msgstr ""
+
+#. module: sale
+#: view:sale.make.invoice:0 view:sale.order.line.make.invoice:0
+msgid "Do you really want to create the invoice(s)?"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Sales By Month"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1078
+#, python-format
+msgid "Could not cancel sales order line!"
+msgstr ""
+
+#. module: sale
+#: field:res.company,security_lead:0
+msgid "Security Days"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_saleorderprocurement0
+msgid "Procurement of sold material"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Create Final Invoice"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,partner_shipping_id:0
+msgid "Shipping Address"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,shipped:0
+msgid ""
+"It indicates that the sales order has been delivered. This field is updated "
+"only after the scheduler(s) have been launched."
+msgstr ""
+
+#. module: sale
+#: field:sale.order,date_order:0
+msgid "Date"
+msgstr "Dags."
+
+#. module: sale
+#: view:sale.report:0
+msgid "Extended Filters..."
+msgstr ""
+
+#. module: sale
+#: selection:sale.order.line,state:0
+msgid "Exception"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_res_company
+msgid "Companies"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,state:0
+msgid ""
+"Gives the state of the quotation or sales order. \n"
+"The exception state is automatically set when a cancel operation occurs in "
+"the invoice validation (Invoice Exception) or in the picking list process "
+"(Shipping Exception). \n"
+"The 'Waiting Schedule' state is set when the invoice is confirmed but "
+"waiting for the scheduler to run on the order date."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1272
+#, python-format
+msgid "No valid pricelist line found ! :"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "History"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,order_policy:0
+msgid "Invoice on order after delivery"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,invoice_ids:0
+msgid ""
+"This is the list of invoices that have been generated for this sales order. "
+"The same sales order may have been invoiced in several times (by line for "
+"example)."
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Your Reference"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,partner_order_id:0
+msgid ""
+"The name and address of the contact who requested the order or quotation."
+msgstr ""
+
+#. module: sale
+#: help:res.company,security_lead:0
+msgid ""
+"This is the days added to what you promise to customers for security purpose"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Qty"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "References"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "My Sales Order Lines"
+msgstr ""
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_cancel0
+#: model:process.transition.action,name:sale.process_transition_action_cancel1
+#: model:process.transition.action,name:sale.process_transition_action_cancel2
+#: view:sale.advance.payment.inv:0 view:sale.make.invoice:0
+#: view:sale.order.line:0 view:sale.order.line.make.invoice:0
+msgid "Cancel"
+msgstr ""
+
+#. module: sale
+#: sql_constraint:sale.order:0
+msgid "Order Reference must be unique per Company!"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_invoice0
+#: model:process.transition,name:sale.process_transition_invoiceafterdelivery0
+#: model:process.transition.action,name:sale.process_transition_action_createinvoice0
+#: view:sale.advance.payment.inv:0 view:sale.order.line:0
+msgid "Create Invoice"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Total Tax Excluded"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Order reference"
+msgstr ""
+
+#. module: sale
+#: view:sale.open.invoice:0
+msgid "You invoice has been successfully created!"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Sales by Partner"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,partner_order_id:0
+msgid "Ordering Contact"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_view_sale_open_invoice
+#: view:sale.open.invoice:0
+msgid "Open Invoice"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.server,name:sale.ir_actions_server_edi_sale
+msgid "Auto-email confirmed sale orders"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:413
+#, python-format
+msgid "There is no sales journal defined for this company: \"%s\" (id:%d)"
+msgstr ""
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_forceassignation0
+msgid "Force Assignation"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order.line,type:0
+msgid "on order"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_invoiceafterdelivery0
+msgid "Based on the shipped or on the ordered quantities."
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,picking_policy:0
+msgid "Deliver all products at once"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,picking_ids:0
+msgid "Related Picking"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.picking_policy,name:0
+msgid "Name"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Shipping address :"
+msgstr ""
+
+#. module: sale
+#: view:board.board:0
+#: model:ir.actions.act_window,name:sale.action_sales_by_partner
+msgid "Sales per Customer in last 90 days"
+msgstr "Sala á hvern Viðskiptavin síðustu 90 daga"
+
+#. module: sale
+#: model:process.node,note:sale.process_node_quotation0
+msgid "Draft state of sales order"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_deliver0
+msgid "Create Delivery Order"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1303
+#, python-format
+msgid "Cannot delete a sales order line which is in state '%s'!"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Qty(UoS)"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Total Tax Included"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_packing0
+msgid "Create Pick List"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Ordered date of the sales order"
+msgstr "Pöntunar dags. sölupöntunar"
+
+#. module: sale
+#: view:sale.report:0
+msgid "Sales by Product Category"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_confirmquotation0
+msgid "Confirm Quotation"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:63
+#, python-format
+msgid "Error"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0 view:sale.order.line:0 view:sale.report:0
+msgid "Group By..."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Recreate Invoice"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.outgoing_picking_list_to_invoice
+#: model:ir.ui.menu,name:sale.menu_action_picking_list_to_invoice
+msgid "Deliveries to Invoice"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0 selection:sale.report,state:0
+msgid "Waiting Schedule"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,type:0
+msgid "Procurement Method"
+msgstr ""
+
+#. module: sale
+#: model:process.node,name:sale.process_node_packinglist0
+msgid "Pick List"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Set to Draft"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_packinglist0
+msgid "Document of the move to the output or to the customer."
+msgstr ""
+
+#. module: sale
+#: model:email.template,body_text:sale.email_template_edi_sale
+msgid ""
+"\n"
+"Hello${object.partner_order_id.name and ' ' or "
+"''}${object.partner_order_id.name or ''},\n"
+"\n"
+"Here is your order confirmation for ${object.partner_id.name}:\n"
+" | Order number: *${object.name}*\n"
+" | Order total: *${object.amount_total} "
+"${object.pricelist_id.currency_id.name}*\n"
+" | Order date: ${object.date_order}\n"
+" % if object.origin:\n"
+" | Order reference: ${object.origin}\n"
+" % endif\n"
+" % if object.client_order_ref:\n"
+" | Your reference: ${object.client_order_ref}<br />\n"
+" % endif\n"
+" | Your contact: ${object.user_id.name} ${object.user_id.user_email "
+"and '<%s>'%(object.user_id.user_email) or ''}\n"
+"\n"
+"You can view the order confirmation, download it and even pay online using "
+"the following link:\n"
+" ${ctx.get('edi_web_url_view') or 'n/a'}\n"
+"\n"
+"% if object.order_policy in ('prepaid','manual') and "
+"object.company_id.paypal_account:\n"
+"<% \n"
+"comp_name = quote(object.company_id.name)\n"
+"order_name = quote(object.name)\n"
+"paypal_account = quote(object.company_id.paypal_account)\n"
+"order_amount = quote(str(object.amount_total))\n"
+"cur_name = quote(object.pricelist_id.currency_id.name)\n"
+"paypal_url = \"https://www.paypal.com/cgi-"
+"bin/webscr?cmd=_xclick&business=%s&item_name=%s%%20Order%%20%s&invoice=%s&amo"
+"unt=%s\" \\\n"
+" "
+"\"&currency_code=%s&button_subtype=services&no_note=1&bn=OpenERP_Order_PayNow"
+"_%s\" % \\\n"
+" "
+"(paypal_account,comp_name,order_name,order_name,order_amount,cur_name,cur_nam"
+"e)\n"
+"%>\n"
+"It is also possible to directly pay with Paypal:\n"
+" ${paypal_url}\n"
+"% endif\n"
+"\n"
+"If you have any question, do not hesitate to contact us.\n"
+"\n"
+"\n"
+"Thank you for choosing ${object.company_id.name}!\n"
+"\n"
+"\n"
+"--\n"
+"${object.user_id.name} ${object.user_id.user_email and "
+"'<%s>'%(object.user_id.user_email) or ''}\n"
+"${object.company_id.name}\n"
+"% if object.company_id.street:\n"
+"${object.company_id.street or ''}\n"
+"% endif\n"
+"% if object.company_id.street2:\n"
+"${object.company_id.street2}\n"
+"% endif\n"
+"% if object.company_id.city or object.company_id.zip:\n"
+"${object.company_id.zip or ''} ${object.company_id.city or ''}\n"
+"% endif\n"
+"% if object.company_id.country_id:\n"
+"${object.company_id.state_id and ('%s, ' % object.company_id.state_id.name) "
+"or ''} ${object.company_id.country_id.name or ''}\n"
+"% endif\n"
+"% if object.company_id.phone:\n"
+"Phone: ${object.company_id.phone}\n"
+"% endif\n"
+"% if object.company_id.website:\n"
+"${object.company_id.website or ''}\n"
+"% endif\n"
+" "
+msgstr ""
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_validate0
+msgid "Validate"
+msgstr "Staðfesta"
+
+#. module: sale
+#: view:sale.order:0
+msgid "Confirm Order"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_saleprocurement0
+msgid "Create Procurement Order"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0 field:sale.order,amount_tax:0
+#: field:sale.order.line,tax_id:0
+msgid "Taxes"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Sales Order ready to be invoiced"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,create_date:0
+msgid "Date on which sales order is created."
+msgstr "Dags. hvenær sölu pöntun er gerð."
+
+#. module: sale
+#: model:ir.model,name:sale.model_stock_move
+msgid "Stock Move"
+msgstr ""
+
+#. module: sale
+#: view:sale.make.invoice:0 view:sale.order.line.make.invoice:0
+msgid "Create Invoices"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Sales order created in current month"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Fax :"
+msgstr ""
+
+#. module: sale
+#: help:sale.order.line,type:0
+msgid ""
+"If 'on order', it triggers a procurement when the sale order is confirmed to "
+"create a task, purchase order or manufacturing order linked to this sale "
+"order line."
+msgstr ""
+
+#. module: sale
+#: field:sale.advance.payment.inv,amount:0
+msgid "Advance Amount"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.picking_policy,charge_delivery:0
+msgid "Do you charge the delivery?"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,invoice_quantity:0
+msgid "Shipped Quantities"
+msgstr ""
+
+#. module: sale
+#: selection:sale.config.picking_policy,order_policy:0
+msgid "Invoice Based on Sales Orders"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:331
+#, python-format
+msgid ""
+"If you change the pricelist of this order (and eventually the currency), "
+"prices of existing order lines will not be updated."
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_stock_picking
+msgid "Picking List"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:412 code:addons/sale/sale.py:503
+#: code:addons/sale/sale.py:632 code:addons/sale/sale.py:1016
+#: code:addons/sale/sale.py:1033
+#, python-format
+msgid "Error !"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:603
+#, python-format
+msgid "Could not cancel sales order !"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Qty(UoM)"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Ordered Year of the sales order"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "July"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,procurement_id:0
+msgid "Procurement"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0 selection:sale.report,state:0
+msgid "Shipping Exception"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1156
+#, python-format
+msgid "Picking Information ! : "
+msgstr ""
+
+#. module: sale
+#: field:sale.make.invoice,grouped:0
+msgid "Group the invoices"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,order_policy:0
+msgid "Invoice Policy"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_config_picking_policy
+#: view:sale.config.picking_policy:0
+msgid "Setup your Invoicing Method"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_invoice0
+msgid "To be reviewed by the accountant."
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Reference UoM"
+msgstr ""
+
+#. module: sale
+#: view:sale.config.picking_policy:0
+msgid ""
+"This tool will help you to install the right module and configure the system "
+"according to the method you use to invoice your customers."
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_order_line_make_invoice
+msgid "Sale OrderLine Make_invoice"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0 selection:sale.report,state:0
+msgid "Invoice Exception"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_saleorder0
+msgid "Drives procurement and invoicing"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,invoiced:0
+msgid "Paid"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_report_all
+#: model:ir.ui.menu,name:sale.menu_report_product_all view:sale.report:0
+msgid "Sales Analysis"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1151
+#, python-format
+msgid ""
+"You selected a quantity of %d Units.\n"
+"But it's not compatible with the selected packaging.\n"
+"Here is a proposition of quantities according to the packaging:\n"
+"EAN: %s Quantity: %s Type of ul: %s"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Recreate Packing"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0 field:sale.order.line,property_ids:0
+msgid "Properties"
+msgstr ""
+
+#. module: sale
+#: model:process.node,name:sale.process_node_quotation0
+#: selection:sale.order,state:0 selection:sale.report,state:0
+msgid "Quotation"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_invoice0
+msgid ""
+"The Salesman creates an invoice manually, if the sales order shipping policy "
+"is 'Shipping and Manual in Progress'. The invoice is created automatically "
+"if the shipping policy is 'Payment before Delivery'."
+msgstr ""
+
+#. module: sale
+#: help:sale.config.picking_policy,order_policy:0
+msgid ""
+"You can generate invoices based on sales orders or based on shippings."
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Confirmed sale order lines, not yet delivered"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:473
+#, python-format
+msgid "Customer Invoices"
+msgstr "Reikningar Viðskiptavinar"
+
+#. module: sale
+#: model:process.process,name:sale.process_process_salesprocess0
+#: view:sale.order:0 view:sale.report:0
+msgid "Sales"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0 field:sale.order.line,price_unit:0
+msgid "Unit Price"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0 view:sale.order.line:0
+#: selection:sale.order.line,state:0 selection:sale.report,state:0
+msgid "Done"
+msgstr ""
+
+#. module: sale
+#: model:process.node,name:sale.process_node_invoice0
+#: model:process.node,name:sale.process_node_invoiceafterdelivery0
+msgid "Invoice"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1171
+#, python-format
+msgid ""
+"You have to select a customer in the sales form !\n"
+"Please set one customer before choosing a product."
+msgstr ""
+
+#. module: sale
+#: field:sale.order,origin:0
+msgid "Source Document"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "To Do"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,picking_policy:0
+msgid "Picking Policy"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_deliveryorder0
+msgid "Document of the move to the customer."
+msgstr ""
+
+#. module: sale
+#: help:sale.order,amount_untaxed:0
+msgid "The amount without tax."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:604
+#, python-format
+msgid "You must first cancel all picking attached to this sales order."
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_advance_payment_inv
+msgid "Sales Advance Payment Invoice"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0 field:sale.report,month:0
+msgid "Month"
+msgstr ""
+
+#. module: sale
+#: model:email.template,subject:sale.email_template_edi_sale
+msgid "${object.company_id.name} Order (Ref ${object.name or 'n/a' })"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0 field:sale.order.line,product_id:0
+#: view:sale.report:0 field:sale.report,product_id:0
+msgid "Product"
+msgstr ""
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_cancelassignation0
+msgid "Cancel Assignation"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_config_picking_policy
+msgid "sale.config.picking_policy"
+msgstr ""
+
+#. module: sale
+#: view:account.invoice.report:0 view:board.board:0
+#: model:ir.actions.act_window,name:sale.action_turnover_by_month
+msgid "Monthly Turnover"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,invoice_quantity:0
+msgid "Invoice on"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Date Ordered"
+msgstr "Dags Pantað"
+
+#. module: sale
+#: field:sale.order.line,product_uos:0
+msgid "Product UoS"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,state:0
+msgid "Manual In Progress"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,product_uom:0
+msgid "Product UoM"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Logistic"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Order"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1017
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:71
+#, python-format
+msgid "There is no income account defined for this product: \"%s\" (id:%d)"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Ignore Exception"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_saleinvoice0
+msgid ""
+"Depending on the Invoicing control of the sales order, the invoice can be "
+"based on delivered or on ordered quantities. Thus, a sales order can "
+"generates an invoice or a delivery order as soon as it is confirmed by the "
+"salesman."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1251
+#, python-format
+msgid ""
+"You plan to sell %.2f %s but you only have %.2f %s available !\n"
+"The real stock is %.2f %s. (without reservations)"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "States"
+msgstr ""
+
+#. module: sale
+#: view:sale.config.picking_policy:0
+msgid "res_config_contents"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,client_order_ref:0
+msgid "Customer Reference"
+msgstr "Tilvísun viðskiptavinar"
+
+#. module: sale
+#: field:sale.order,amount_total:0 view:sale.order.line:0
+msgid "Total"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0 view:sale.order.line:0
+msgid "Price"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_deliver0
+msgid ""
+"Depending on the configuration of the location Output, the move between the "
+"output area and the customer is done through the Delivery Order manually or "
+"automatically."
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,order_policy:0
+msgid "Pay before delivery"
+msgstr ""
+
+#. module: sale
+#: view:board.board:0 model:ir.actions.act_window,name:sale.open_board_sales
+msgid "Sales Dashboard"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_sale_order_make_invoice
+#: model:ir.actions.act_window,name:sale.action_view_sale_order_line_make_invoice
+#: view:sale.order:0
+msgid "Make Invoices"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0 selection:sale.order,state:0 view:sale.order.line:0
+msgid "To Invoice"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,date_confirm:0
+msgid "Date on which sales order is confirmed."
+msgstr "Dags. hvenær sölu pöntun er staðfest."
+
+#. module: sale
+#: field:sale.order,project_id:0
+msgid "Contract/Analytic Account"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,company_id:0 field:sale.order.line,company_id:0
+#: view:sale.report:0 field:sale.report,company_id:0
+#: field:sale.shop,company_id:0
+msgid "Company"
+msgstr ""
+
+#. module: sale
+#: field:sale.make.invoice,invoice_date:0
+msgid "Invoice Date"
+msgstr "Dags. Reiknings"
+
+#. module: sale
+#: help:sale.advance.payment.inv,amount:0
+msgid "The amount to be invoiced in advance."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1269
+#, python-format
+msgid ""
+"Couldn't find a pricelist line matching this product and quantity.\n"
+"You have to change either the product, the quantity or the pricelist."
+msgstr ""
+
+#. module: sale
+#: help:sale.order,picking_ids:0
+msgid ""
+"This is a list of picking that has been generated for this sales order."
+msgstr ""
+
+#. module: sale
+#: view:sale.make.invoice:0 view:sale.order.line.make.invoice:0
+msgid "Create invoices"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Net Total :"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0 selection:sale.order.line,state:0
+#: selection:sale.report,state:0
+msgid "Cancelled"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Sales Order Lines related to a Sales Order of mine"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_shop_form
+#: model:ir.ui.menu,name:sale.menu_action_shop_form field:sale.order,shop_id:0
+#: view:sale.report:0 field:sale.report,shop_id:0
+msgid "Shop"
+msgstr ""
+
+#. module: sale
+#: field:sale.report,date_confirm:0
+msgid "Date Confirm"
+msgstr "Dags. Staðfest"
+
+#. module: sale
+#: code:addons/sale/wizard/sale_line_invoice.py:113
+#, python-format
+msgid "Warning"
+msgstr ""
+
+#. module: sale
+#: view:board.board:0
+#: model:ir.actions.act_window,name:sale.action_view_sales_by_month
+msgid "Sales by Month"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_order
+#: model:process.node,name:sale.process_node_order0
+#: model:process.node,name:sale.process_node_saleorder0
+#: model:res.request.link,name:sale.req_link_sale_order view:sale.order:0
+#: field:stock.picking,sale_id:0
+msgid "Sales Order"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,product_uos_qty:0
+msgid "Quantity (UoS)"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Sale Order Lines that are in 'done' state"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_packing0
+msgid ""
+"The Pick List form is created as soon as the sales order is confirmed, in "
+"the same time as the procurement order. It represents the assignment of "
+"parts to the sales order. There is 1 pick list by sales order line which "
+"evolves with the availability of parts."
+msgstr ""
+
+#. module: sale
+#: selection:sale.order.line,state:0
+msgid "Confirmed"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.picking_policy,order_policy:0
+msgid "Main Method Based On"
+msgstr ""
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_confirm0
+msgid "Confirm"
+msgstr ""
+
+#. module: sale
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr ""
+
+#. module: sale
+#: view:board.board:0
+#: model:ir.actions.act_window,name:sale.action_sales_product_total_price
+msgid "Sales by Product's Category in last 90 days"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0 field:sale.order.line,invoice_lines:0
+msgid "Invoice Lines"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_line_product_tree
+#: view:sale.order:0 view:sale.order.line:0
+msgid "Sales Order Lines"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,delay:0
+msgid "Delivery Lead Time"
+msgstr ""
+
+#. module: sale
+#: view:res.company:0
+msgid "Configuration"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/edi/sale_order.py:146
+#, python-format
+msgid "EDI Pricelist (%s)"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Print Order"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Sales order created in current year"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_line_invoice.py:113
+#, python-format
+msgid ""
+"Invoice cannot be created for this Sales Order Line due to one of the "
+"following reasons:\n"
+"1.The state of this sales order line is either \"draft\" or \"cancel\"!\n"
+"2.The Sales Order Line is Invoiced!"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Sale order lines done"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,th_weight:0
+msgid "Weight"
+msgstr ""
+
+#. module: sale
+#: view:sale.open.invoice:0 view:sale.order:0 field:sale.order,invoice_ids:0
+msgid "Invoices"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "December"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.picking_policy,config_logo:0
+msgid "Image"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_saleprocurement0
+msgid ""
+"A procurement order is automatically created as soon as a sales order is "
+"confirmed or as the invoice is paid. It drives the purchasing and the "
+"production of products regarding to the rules and to the sales order's "
+"parameters. "
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Uninvoiced"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0 view:sale.order:0 field:sale.order,user_id:0
+#: view:sale.order.line:0 field:sale.order.line,salesman_id:0
+#: view:sale.report:0 field:sale.report,user_id:0
+msgid "Salesman"
+msgstr "Sölumaður"
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_tree
+msgid "Old Quotations"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,amount_untaxed:0
+msgid "Untaxed Amount"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:170
+#: model:ir.actions.act_window,name:sale.action_view_sale_advance_payment_inv
+#: view:sale.advance.payment.inv:0 view:sale.order:0
+#, python-format
+msgid "Advance Invoice"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:624
+#, python-format
+msgid "The sales order '%s' has been cancelled."
+msgstr ""
+
+#. module: sale
+#: selection:sale.order.line,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: sale
+#: help:sale.order.line,state:0
+msgid ""
+"* The 'Draft' state is set when the related sales order in draft state. "
+" \n"
+"* The 'Confirmed' state is set when the related sales order is confirmed. "
+" \n"
+"* The 'Exception' state is set when the related sales order is set as "
+"exception. \n"
+"* The 'Done' state is set when the sales order line has been picked. "
+" \n"
+"* The 'Cancelled' state is set when a user cancel the sales order related."
+msgstr ""
+
+#. module: sale
+#: help:sale.order,amount_tax:0
+msgid "The tax amount."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Packings"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Sale Order Lines ready to be invoiced"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Sales order created in last month"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_email_templates
+#: model:ir.ui.menu,name:sale.menu_email_templates
+msgid "Email Templates"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_form
+#: model:ir.ui.menu,name:sale.menu_sale_order view:sale.order:0
+msgid "Sales Orders"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_shop view:sale.shop:0
+msgid "Sales Shop"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "November"
+msgstr ""
+
+#. module: sale
+#: field:sale.advance.payment.inv,product_id:0
+msgid "Advance Product"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Compute"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:618
+#, python-format
+msgid "You must first cancel all invoices attached to this sales order."
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "January"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_tree4
+msgid "Sales Order in Progress"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,origin:0
+msgid "Reference of the document that generated this sales order request."
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0 field:sale.report,delay:0
+msgid "Commitment Delay"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,order_policy:0
+msgid "Deliver & invoice on demand"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_saleprocurement0
+msgid ""
+"One Procurement order for each sales order line and for each of the "
+"components."
+msgstr ""
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_assign0
+msgid "Assign"
+msgstr ""
+
+#. module: sale
+#: field:sale.report,date:0
+msgid "Date Order"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_order0
+msgid "Confirmed sales order to invoice."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Sales Order that haven't yet been confirmed"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:322
+#, python-format
+msgid "The sales order '%s' has been set in draft state."
+msgstr ""
+
+#. module: sale
+#: selection:sale.order.line,type:0
+msgid "from stock"
+msgstr ""
+
+#. module: sale
+#: view:sale.open.invoice:0
+msgid "Close"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1261
+#, python-format
+msgid "No Pricelist ! : "
+msgstr ""
+
+#. module: sale
+#: field:sale.order,shipped:0
+msgid "Delivered"
+msgstr ""
+
+#. module: sale
+#: constraint:stock.move:0
+msgid "You must assign a production lot for this product"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,help:sale.action_shop_form
+msgid ""
+"If you have more than one shop reselling your company products, you can "
+"create and manage that from here. Whenever you will record a new quotation "
+"or sales order, it has to be linked to a shop. The shop also defines the "
+"warehouse from which the products will be delivered for each particular "
+"sales."
+msgstr ""
+
+#. module: sale
+#: help:sale.order,invoiced:0
+msgid "It indicates that an invoice has been paid."
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0 field:sale.order.line,name:0
+msgid "Description"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "May"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0 field:sale.order,partner_id:0
+#: field:sale.order.line,order_partner_id:0
+msgid "Customer"
+msgstr "Viðskiptavinur"
+
+#. module: sale
+#: model:product.template,name:sale.advance_product_0_product_template
+msgid "Advance"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "February"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "April"
+msgstr ""
+
+#. module: sale
+#: view:sale.shop:0
+msgid "Accounting"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0 view:sale.order.line:0
+msgid "Search Sales Order"
+msgstr ""
+
+#. module: sale
+#: model:process.node,name:sale.process_node_saleorderprocurement0
+msgid "Sales Order Requisition"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1255
+#, python-format
+msgid "Not enough stock ! : "
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0 field:sale.order,payment_term:0
+msgid "Payment Term"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,help:sale.action_order_report_all
+msgid ""
+"This report performs analysis on your quotations and sales orders. Analysis "
+"check your sales revenues and sort it by different group criteria (salesman, "
+"partner, product, etc.) Use this report to perform analysis on sales not "
+"having invoiced yet. If you want to analyse your turnover, you should use "
+"the Invoice Analysis report in the Accounting application."
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Quotation N°"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,picked_rate:0 view:sale.report:0
+msgid "Picked"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0 field:sale.report,year:0
+msgid "Year"
+msgstr ""
+
+#. module: sale
+#: selection:sale.config.picking_policy,order_policy:0
+msgid "Invoice Based on Deliveries"
+msgstr ""
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index 1af91989499..2432e6ee580 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -198,45 +198,46 @@ class sale_order(osv.osv):
_columns = {
'name': fields.char('Order Reference', size=64, required=True,
- readonly=True, states={'draft': [('readonly', False)]}, select=True),
- 'shop_id': fields.many2one('sale.shop', 'Shop', required=True, readonly=True, states={'draft': [('readonly', False)]}),
+ readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, select=True),
+ 'shop_id': fields.many2one('sale.shop', 'Shop', required=True, readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}),
'origin': fields.char('Source Document', size=64, help="Reference of the document that generated this sales order request."),
'client_order_ref': fields.char('Customer Reference', size=64),
'state': fields.selection([
- ('draft', 'Quotation'),
+ ('draft', 'Draft Quotation'),
+ ('sent', 'Quotation Sent'),
('cancel', 'Cancelled'),
('waiting_date', 'Waiting Schedule'),
- ('manual', 'To Invoice'),
- ('progress', 'In Progress'),
+ ('progress', 'Sale Order'),
+ ('manual', 'Sale to Invoice'),
('shipping_except', 'Shipping Exception'),
('invoice_except', 'Invoice Exception'),
('done', 'Done'),
], 'Order State', readonly=True, help="Gives the state of the quotation or sales order. \nThe exception state is automatically set when a cancel operation occurs in the invoice validation (Invoice Exception) or in the picking list process (Shipping Exception). \nThe 'Waiting Schedule' state is set when the invoice is confirmed but waiting for the scheduler to run on the order date.", select=True),
- 'date_order': fields.date('Date', required=True, readonly=True, select=True, states={'draft': [('readonly', False)]}),
+ 'date_order': fields.date('Date', required=True, readonly=True, select=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}),
'create_date': fields.datetime('Creation Date', readonly=True, select=True, help="Date on which sales order is created."),
'date_confirm': fields.date('Confirmation Date', readonly=True, select=True, help="Date on which sales order is confirmed."),
- 'user_id': fields.many2one('res.users', 'Salesperson', states={'draft': [('readonly', False)]}, select=True),
- 'partner_id': fields.many2one('res.partner', 'Customer', readonly=True, states={'draft': [('readonly', False)]}, required=True, change_default=True, select=True),
- 'partner_invoice_id': fields.many2one('res.partner', 'Invoice Address', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="Invoice address for current sales order."),
- 'partner_shipping_id': fields.many2one('res.partner', 'Shipping Address', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="Shipping address for current sales order."),
+ 'user_id': fields.many2one('res.users', 'Salesperson', states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, select=True),
+ 'partner_id': fields.many2one('res.partner', 'Customer', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, required=True, change_default=True, select=True),
+ 'partner_invoice_id': fields.many2one('res.partner', 'Invoice Address', readonly=True, required=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, help="Invoice address for current sales order."),
+ 'partner_shipping_id': fields.many2one('res.partner', 'Shipping Address', readonly=True, required=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, help="Shipping address for current sales order."),
'incoterm': fields.many2one('stock.incoterms', 'Incoterm', help="Incoterm which stands for 'International Commercial terms' implies its a series of sales terms which are used in the commercial transaction."),
'picking_policy': fields.selection([('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')],
- 'Shipping Policy', required=True, readonly=True, states={'draft': [('readonly', False)]},
+ 'Shipping Policy', required=True, readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]},
help="""If you don't have enough stock available to deliver all at once, do you accept partial shipments or not?"""),
'order_policy': fields.selection([
('manual', 'On Demand'),
('picking', 'On Delivery Order'),
('prepaid', 'Before Delivery'),
- ], 'Create Invoice', required=True, readonly=True, states={'draft': [('readonly', False)]},
+ ], 'Create Invoice', required=True, readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]},
help="""This field controls how invoice and delivery operations are synchronized.
- With 'On Demand', the invoice is created manually when needed.
- With 'On Delivery Order', a draft invoice is generated after all pickings have been processed.
- With 'Before Delivery', a draft invoice is created, and it must be paid before delivery."""),
- 'pricelist_id': fields.many2one('product.pricelist', 'Pricelist', required=True, readonly=True, states={'draft': [('readonly', False)]}, help="Pricelist for current sales order."),
- 'project_id': fields.many2one('account.analytic.account', 'Contract/Analytic Account', readonly=True, states={'draft': [('readonly', False)]}, help="The analytic account related to a sales order."),
+ 'pricelist_id': fields.many2one('product.pricelist', 'Pricelist', required=True, readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, help="Pricelist for current sales order."),
+ 'project_id': fields.many2one('account.analytic.account', 'Contract/Analytic Account', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, help="The analytic account related to a sales order."),
- 'order_line': fields.one2many('sale.order.line', 'order_id', 'Order Lines', readonly=True, states={'draft': [('readonly', False)]}),
+ 'order_line': fields.one2many('sale.order.line', 'order_id', 'Order Lines', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}),
'invoice_ids': fields.many2many('account.invoice', 'sale_order_invoice_rel', 'order_id', 'invoice_id', 'Invoices', readonly=True, help="This is the list of invoices that have been generated for this sales order. The same sales order may have been invoiced in several times (by line for example)."),
'picking_ids': fields.one2many('stock.picking.out', 'sale_id', 'Related Picking', readonly=True, help="This is a list of delivery orders that has been generated for this sales order."),
'shipped': fields.boolean('Delivered', readonly=True, help="It indicates that the sales order has been delivered. This field is updated only after the scheduler(s) have been launched."),
@@ -467,6 +468,20 @@ class sale_order(osv.osv):
inv_obj.button_compute(cr, uid, [inv_id])
return inv_id
+ def print_quotation(self, cr, uid, ids, context=None):
+ '''
+ This function prints the sale order and mark it as sent, so that we can see more easily the next step of the workflow
+ '''
+ assert len(ids) == 1, 'This option should only be used for a single id at a time'
+ wf_service = netsvc.LocalService("workflow")
+ wf_service.trg_validate(uid, 'sale.order', ids[0], 'quotation_sent', cr)
+ datas = {
+ 'model': 'sale.order',
+ 'ids': ids,
+ 'form': self.read(cr, uid, ids[0], context=context),
+ }
+ return {'type': 'ir.actions.report.xml', 'report_name': 'sale.order', 'datas': datas, 'nodestroy': True}
+
def manual_invoice(self, cr, uid, ids, context=None):
mod_obj = self.pool.get('ir.model.data')
wf_service = netsvc.LocalService("workflow")
@@ -498,6 +513,75 @@ class sale_order(osv.osv):
'res_id': inv_ids and inv_ids[0] or False,
}
+ def action_view_invoice(self, cr, uid, ids, context=None):
+ '''
+ This function returns an action that display existing invoices of given sale order ids. It can either be a in a list or in a form view, if there is only one invoice to show.
+ '''
+ mod_obj = self.pool.get('ir.model.data')
+ result = {
+ 'name': _('Cutomer Invoice'),
+ 'view_type': 'form',
+ 'res_model': 'account.invoice',
+ 'context': "{'type':'out_invoice', 'journal_type': 'sale'}",
+ 'type': 'ir.actions.act_window',
+ 'nodestroy': True,
+ 'target': 'current',
+ }
+ #compute the number of invoices to display
+ inv_ids = []
+ for so in self.browse(cr, uid, ids, context=context):
+ inv_ids += [invoice.id for invoice in so.invoice_ids]
+ #choose the view_mode accordingly
+ if len(inv_ids)>1:
+ res = mod_obj.get_object_reference(cr, uid, 'account', 'invoice_tree')
+ result.update({
+ 'view_mode': 'tree,form',
+ 'res_id': inv_ids or False
+ })
+ else:
+ res = mod_obj.get_object_reference(cr, uid, 'account', 'invoice_form')
+ result.update({
+ 'view_mode': 'form',
+ 'res_id': inv_ids and inv_ids[0] or False,
+ })
+ result.update(view_id = res and res[1] or False)
+ return result
+
+
+ def action_view_delivery(self, cr, uid, ids, context=None):
+ '''
+ This function returns an action that display existing delivery orders of given sale order ids. It can either be a in a list or in a form view, if there is only one delivery order to show.
+ '''
+ mod_obj = self.pool.get('ir.model.data')
+ result = {
+ 'name': _('Delivery Order'),
+ 'view_type': 'form',
+ 'res_model': 'stock.picking',
+ 'context': "{'type':'out'}",
+ 'type': 'ir.actions.act_window',
+ 'nodestroy': True,
+ 'target': 'current',
+ }
+ #compute the number of delivery orders to display
+ pick_ids = []
+ for so in self.browse(cr, uid, ids, context=context):
+ pick_ids += [picking.id for picking in so.picking_ids]
+ #choose the view_mode accordingly
+ if len(pick_ids) > 1:
+ res = mod_obj.get_object_reference(cr, uid, 'stock', 'view_picking_out_tree')
+ result.update({
+ 'view_mode': 'tree,form',
+ 'res_id': pick_ids or False
+ })
+ else:
+ res = mod_obj.get_object_reference(cr, uid, 'stock', 'view_picking_out_form')
+ result.update({
+ 'view_mode': 'form',
+ 'res_id': pick_ids and pick_ids[0] or False,
+ })
+ result.update(view_id = res and res[1] or False)
+ return result
+
def action_invoice_create(self, cr, uid, ids, grouped=False, states=['confirmed', 'done', 'exception'], date_inv = False, context=None):
res = False
invoices = {}
@@ -655,6 +739,30 @@ class sale_order(osv.osv):
self.confirm_send_note(cr, uid, ids, context)
return True
+ def action_quotation_send(self, cr, uid, ids, context=None):
+ '''
+ This function opens a window to compose an email, with the edi sale template message loaded by default
+ '''
+ assert len(ids) == 1, 'This option should only be used for a single id at a time'
+ mod_obj = self.pool.get('ir.model.data')
+ template = mod_obj.get_object_reference(cr, uid, 'sale', 'email_template_edi_sale')
+ template_id = template and template[1] or False
+ res = mod_obj.get_object_reference(cr, uid, 'mail', 'email_compose_message_wizard_form')
+ res_id = res and res[1] or False
+ ctx = dict(context, active_model='sale.order', active_id=ids[0])
+ ctx.update({'mail.compose.template_id': template_id})
+ return {
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'res_model': 'mail.compose.message',
+ 'views': [(res_id,'form')],
+ 'view_id': res_id,
+ 'type': 'ir.actions.act_window',
+ 'target': 'new',
+ 'context': ctx,
+ 'nodestroy': True,
+ }
+
def procurement_lines_get(self, cr, uid, ids, *args):
res = []
for order in self.browse(cr, uid, ids, context={}):
@@ -1380,4 +1488,15 @@ class sale_order_line(osv.osv):
sale_order_line()
+class mail_message(osv.osv):
+ _inherit = 'mail.message'
+
+ def _postprocess_sent_message(self, cr, uid, message, context=None):
+ if message.model == 'sale.order':
+ wf_service = netsvc.LocalService("workflow")
+ wf_service.trg_validate(uid, 'sale.order', message.res_id, 'quotation_sent', cr)
+ return super(mail_message, self)._postprocess_sent_message(cr, uid, message=message, context=context)
+
+mail_message()
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index bd4ea183d72..abc13dc2c38 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -97,23 +97,29 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form layout="manual">
- <div class="oe_form_topbar">
- <button name="order_confirm" states="draft" string="Confirm Order"/>
- <button name="manual_invoice" states="manual" string="Create Final Invoice" type="object"/>
- <button name="invoice_recreate" states="invoice_except" string="Recreate Invoice"/>
- <button name="invoice_corrected" states="invoice_except" string="Ignore Exception"/>
- <button name="ship_recreate" states="shipping_except" string="Recreate Packing"/>
- <button name="ship_corrected" states="shipping_except" string="Ignore Exception"/>
- <button name="%(report_sale_order)d" string="Print Order" type="action" states="waiting_date,manual,progress,done,shipping_except,invoice_except"/>
- <button name="ship_cancel" states="shipping_except" string="Cancel Order"/>
- <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object"/>
- <button name="invoice_cancel" states="invoice_except" string="Cancel Order"/>
- <button name="%(report_sale_order)d" string="Print Quotation" type="action" states="draft"/>
- <button name="%(action_view_sale_advance_payment_inv)d" string="Advance Invoice" type="action" states="draft,manual"/>
- <button name="action_cancel" states="manual,progress" string="Cancel Order" type="object"/>
- <button name="cancel" states="draft" string="Cancel Order"/>
+ <div class="oe_form_topbar">
+ <button name="invoice_recreate" states="invoice_except" string="Recreate Invoice"/>
+ <button name="invoice_corrected" states="invoice_except" string="Ignore Exception"/>
+ <button name="ship_recreate" states="shipping_except" string="Recreate Delivery Order"/>
+ <button name="ship_corrected" states="shipping_except" string="Ignore Exception"/>
+ <button name="action_quotation_send" string="Send by Mail" type="object" states="draft" class="oe_form_button_hi"/>
+ <button name="action_quotation_send" string="Send by Mail" type="object" states="sent"/>
+ <button name="manual_invoice" states="manual" string="Create Final Invoice" type="object"/>
+ <button name="print_quotation" string="Send by Post" type="object" states="draft" class="oe_form_button_hi"/>
+ <button name="print_quotation" string="Send by Post" type="object" states="sent"/>
+ <button name="order_confirm" states="draft" string="Confirm"/>
+ <button name="order_confirm" states="sent" string="Confirm" class="oe_form_button_hi"/>
+ <button name="action_view_invoice" string="Open Invoice" type="object"
+ attrs="{'invisible': ['|','|',('state', '!=','progress'), ('invoiced', '=', True),('order_policy','=','picking')]}"/>
+ <button name="action_view_delivery" string="Open Delivery Order" type="object"
+ attrs="{'invisible': ['|','|','|',('picking_ids','=',False),('picking_ids','=',[]), ('state', 'not in', ('progress','manual')),('shipped','=',True)]}"/>
+ <button name="%(action_view_sale_advance_payment_inv)d" string="Advance Invoice" type="action" states="manual"/>
+ <button name="cancel" states="draft,sent" string="Cancel"/>
+ <button name="action_cancel" states="manual,progress" string="Cancel" type="object"/>
+ <button name="ship_cancel" states="shipping_except" string="Cancel"/>
+ <button name="invoice_cancel" states="invoice_except" string="Cancel"/>
<div class="oe_right">
- <field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,progress,done" statusbar_colors='{"shipping_except":"red","invoice_except":"red","waiting_date":"blue"}'/>
+ <field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,sent,progress,invoiced,done" statusbar_colors='{"shipping_except":"red","invoice_except":"red","waiting_date":"blue"}'/>
</div>
<div class="oe_clear"/>
</div>
@@ -132,7 +138,7 @@
</group>
<notebook colspan="5">
<page string="Sales Order">
- <field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1}" required="1"/>
+ <field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1}" />
<field domain="[('parent_id','=',partner_id)]" name="partner_invoice_id" groups="sale.group_delivery_invoice_address" options='{"quick_create": false}'/>
<field domain="[('parent_id','=',partner_id)]" name="partner_shipping_id" groups="sale.group_delivery_invoice_address" options='{"quick_create": false}'/>
<field domain="[('type','=','sale')]" name="pricelist_id" groups="product.group_sale_pricelist" on_change="onchange_pricelist_id(pricelist_id,order_line)"/>
@@ -208,8 +214,9 @@
<field name="price_subtotal" groups="base.group_sale_notes_subtotal"/>
</tree>
</field>
-
- <div class="oe_form_subtotal_footer" colspan="4">
+ <group colspan="2" col="4" name="bellow_the_lines_hook">
+ </group>
+ <div class="oe_form_subtotal_footer" colspan="2">
<div>
<field name="amount_untaxed" sum="Untaxed amount"/>
</div>
@@ -281,7 +288,7 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Sales Order">
- <filter icon="terp-document-new" string="Quotations" name="draft" domain="[('state','=','draft')]" help="Sales Order that haven't yet been confirmed"/>
+ <filter icon="terp-document-new" string="Quotations" name="draft" domain="[('state','in',('draft','sent'))]" help="Sales Order that haven't yet been confirmed"/>
<filter icon="terp-check" string="Sales" name="sales" domain="[('state','in',('manual','progress'))]"/>
<separator orientation="vertical"/>
<filter icon="terp-dolar_ok!" string="To Invoice" domain="[('state','=','manual')]" help="Sales Order ready to be invoiced"/>
diff --git a/addons/sale/sale_workflow.xml b/addons/sale/sale_workflow.xml
index 78284ee1eb1..c18e271d480 100644
--- a/addons/sale/sale_workflow.xml
+++ b/addons/sale/sale_workflow.xml
@@ -13,6 +13,12 @@
<field name="flow_start">True</field>
<field name="name">draft</field>
</record>
+ <record id="act_sent" model="workflow.activity">
+ <field name="wkf_id" ref="wkf_sale"/>
+ <field name="name">sent</field>
+ <field name="kind">function</field>
+ <field name="action">write({'state':'sent'})</field>
+ </record>
<record id="act_router" model="workflow.activity">
<field name="wkf_id" ref="wkf_sale"/>
<field name="name">router</field>
@@ -123,6 +129,24 @@
<field name="signal">order_confirm</field>
</record>
+ <record id="trans_draft_sent" model="workflow.transition">
+ <field name="act_from" ref="act_draft"/>
+ <field name="act_to" ref="act_sent"/>
+ <field name="signal">quotation_sent</field>
+ </record>
+
+ <record id="trans_sent_cancel" model="workflow.transition">
+ <field name="act_from" ref="act_sent"/>
+ <field name="act_to" ref="act_cancel"/>
+ <field name="signal">cancel</field>
+ </record>
+
+ <record id="trans_sent_router" model="workflow.transition">
+ <field name="act_from" ref="act_sent"/>
+ <field name="act_to" ref="act_router"/>
+ <field name="signal">order_confirm</field>
+ </record>
+
<record id="trans_draft_cancel" model="workflow.transition">
<field name="act_from" ref="act_draft"/>
<field name="act_to" ref="act_cancel"/>
diff --git a/addons/sale_journal/i18n/lv.po b/addons/sale_journal/i18n/lv.po
new file mode 100644
index 00000000000..b7e28dd62c7
--- /dev/null
+++ b/addons/sale_journal/i18n/lv.po
@@ -0,0 +1,130 @@
+# Latvian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:37+0000\n"
+"PO-Revision-Date: 2012-05-28 08:08+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Latvian <lv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-29 04:46+0000\n"
+"X-Generator: Launchpad (build 15316)\n"
+
+#. module: sale_journal
+#: sql_constraint:sale.order:0
+msgid "Order Reference must be unique per Company!"
+msgstr ""
+
+#. module: sale_journal
+#: field:sale_journal.invoice.type,note:0
+msgid "Note"
+msgstr ""
+
+#. module: sale_journal
+#: field:res.partner,property_invoice_type:0
+msgid "Invoicing Type"
+msgstr ""
+
+#. module: sale_journal
+#: help:res.partner,property_invoice_type:0
+msgid ""
+"This invoicing type will be used, by default, for invoicing the current "
+"partner."
+msgstr ""
+
+#. module: sale_journal
+#: constraint:res.partner:0
+msgid "Error ! You cannot create recursive associated members."
+msgstr ""
+
+#. module: sale_journal
+#: view:res.partner:0
+msgid "Sales & Purchases"
+msgstr ""
+
+#. module: sale_journal
+#: help:sale_journal.invoice.type,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the invoice "
+"type without removing it."
+msgstr ""
+
+#. module: sale_journal
+#: view:sale_journal.invoice.type:0
+msgid "Notes"
+msgstr ""
+
+#. module: sale_journal
+#: field:sale_journal.invoice.type,invoicing_method:0
+msgid "Invoicing method"
+msgstr ""
+
+#. module: sale_journal
+#: model:ir.actions.act_window,name:sale_journal.action_definition_journal_invoice_type
+#: model:ir.model,name:sale_journal.model_sale_journal_invoice_type
+#: model:ir.ui.menu,name:sale_journal.menu_definition_journal_invoice_type
+msgid "Invoice Types"
+msgstr ""
+
+#. module: sale_journal
+#: selection:sale_journal.invoice.type,invoicing_method:0
+msgid "Non grouped"
+msgstr ""
+
+#. module: sale_journal
+#: selection:sale_journal.invoice.type,invoicing_method:0
+msgid "Grouped"
+msgstr ""
+
+#. module: sale_journal
+#: model:ir.actions.act_window,help:sale_journal.action_definition_journal_invoice_type
+msgid ""
+"Invoice types are used for partners, sales orders and delivery orders. You "
+"can create a specific invoicing journal to group your invoicing according to "
+"your customer's needs: daily, each Wednesday, monthly, etc."
+msgstr ""
+
+#. module: sale_journal
+#: sql_constraint:stock.picking:0
+msgid "Reference must be unique per Company!"
+msgstr ""
+
+#. module: sale_journal
+#: field:sale.order,invoice_type_id:0
+#: view:sale_journal.invoice.type:0
+#: field:sale_journal.invoice.type,name:0
+#: field:stock.picking,invoice_type_id:0
+msgid "Invoice Type"
+msgstr ""
+
+#. module: sale_journal
+#: field:sale_journal.invoice.type,active:0
+msgid "Active"
+msgstr ""
+
+#. module: sale_journal
+#: model:ir.model,name:sale_journal.model_res_partner
+msgid "Partner"
+msgstr ""
+
+#. module: sale_journal
+#: model:ir.model,name:sale_journal.model_sale_order
+msgid "Sales Order"
+msgstr ""
+
+#. module: sale_journal
+#: model:ir.model,name:sale_journal.model_stock_picking
+msgid "Picking List"
+msgstr ""
+
+#. module: sale_journal
+#: view:res.partner:0
+msgid "Invoicing"
+msgstr ""
diff --git a/addons/sale_layout/i18n/lv.po b/addons/sale_layout/i18n/lv.po
new file mode 100644
index 00000000000..a6c201c8f7c
--- /dev/null
+++ b/addons/sale_layout/i18n/lv.po
@@ -0,0 +1,254 @@
+# Latvian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:37+0000\n"
+"PO-Revision-Date: 2012-05-28 08:16+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Latvian <lv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-29 04:46+0000\n"
+"X-Generator: Launchpad (build 15316)\n"
+
+#. module: sale_layout
+#: sql_constraint:sale.order:0
+msgid "Order Reference must be unique per Company!"
+msgstr ""
+
+#. module: sale_layout
+#: selection:sale.order.line,layout_type:0
+msgid "Sub Total"
+msgstr ""
+
+#. module: sale_layout
+#: selection:sale.order.line,layout_type:0
+msgid "Title"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Disc. (%)"
+msgstr ""
+
+#. module: sale_layout
+#: selection:sale.order.line,layout_type:0
+msgid "Note"
+msgstr ""
+
+#. module: sale_layout
+#: field:sale.order.line,layout_type:0
+msgid "Line Type"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Order N°"
+msgstr ""
+
+#. module: sale_layout
+#: field:sale.order,abstract_line_ids:0
+msgid "Order Lines"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Disc.(%)"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Unit Price"
+msgstr ""
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Invoice Lines"
+msgstr ""
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "UoM"
+msgstr ""
+
+#. module: sale_layout
+#: selection:sale.order.line,layout_type:0
+msgid "Product"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Description"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Our Salesman"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Tel. :"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Quantity"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Quotation N°"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "VAT"
+msgstr ""
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Make Invoice"
+msgstr ""
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Properties"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Invoice address :"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Fax :"
+msgstr ""
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Notes"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Date Ordered"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Shipping address :"
+msgstr ""
+
+#. module: sale_layout
+#: view:sale.order:0
+#: report:sale.order.layout:0
+msgid "Taxes"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Net Total :"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Total :"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Payment Terms"
+msgstr ""
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "History"
+msgstr ""
+
+#. module: sale_layout
+#: selection:sale.order.line,layout_type:0
+msgid "Separator Line"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Your Reference"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Quotation Date"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "TVA :"
+msgstr ""
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Qty"
+msgstr ""
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "States"
+msgstr ""
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Sales order lines"
+msgstr ""
+
+#. module: sale_layout
+#: model:ir.actions.report.xml,name:sale_layout.sale_order_1
+msgid "Order with Layout"
+msgstr ""
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Extra Info"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Taxes :"
+msgstr ""
+
+#. module: sale_layout
+#: selection:sale.order.line,layout_type:0
+msgid "Page Break"
+msgstr ""
+
+#. module: sale_layout
+#: model:ir.model,name:sale_layout.model_sale_order
+msgid "Sales Order"
+msgstr ""
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Order Line"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Price"
+msgstr ""
+
+#. module: sale_layout
+#: model:ir.model,name:sale_layout.model_sale_order_line
+msgid "Sales Order Line"
+msgstr ""
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Stock Moves"
+msgstr ""
diff --git a/addons/stock/i18n/de.po b/addons/stock/i18n/de.po
index 6badf447865..b483c6df987 100644
--- a/addons/stock/i18n/de.po
+++ b/addons/stock/i18n/de.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2012-05-10 17:56+0000\n"
-"Last-Translator: Ferdinand-camptocamp <Unknown>\n"
+"PO-Revision-Date: 2012-05-24 22:20+0000\n"
+"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
"Language-Team: German <kde-i18n-doc@kde.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 04:37+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-05-25 04:39+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: stock
#: field:product.product,track_outgoing:0
@@ -3011,7 +3011,7 @@ msgstr "Produkt"
#. module: stock
#: view:stock.return.picking:0
msgid "Return"
-msgstr "Rendite"
+msgstr "Retoure Ausführen"
#. module: stock
#: field:stock.return.picking,invoice_state:0
diff --git a/addons/stock/i18n/zh_TW.po b/addons/stock/i18n/zh_TW.po
index 7e6da0e0eed..e734c2fbdaa 100644
--- a/addons/stock/i18n/zh_TW.po
+++ b/addons/stock/i18n/zh_TW.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2011-11-07 13:04+0000\n"
-"Last-Translator: Walter Cheuk <wwycheuk@gmail.com>\n"
+"PO-Revision-Date: 2012-05-23 08:16+0000\n"
+"Last-Translator: Eric Huang <eh@cenoq.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-05-11 04:39+0000\n"
-"X-Generator: Launchpad (build 15225)\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:08+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
#. module: stock
#: field:product.product,track_outgoing:0
@@ -56,7 +56,7 @@ msgstr ""
#. module: stock
#: model:ir.actions.todo.category,name:stock.category_stock_management_config
msgid "Stock Management"
-msgstr ""
+msgstr "倉儲管理"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_stock_line_date
@@ -72,7 +72,7 @@ msgstr "今日"
#. module: stock
#: field:stock.production.lot.revision,indice:0
msgid "Revision Number"
-msgstr ""
+msgstr "修定版次"
#. module: stock
#: view:stock.move:0
@@ -172,7 +172,7 @@ msgstr "量度單位"
#: model:ir.actions.act_window,name:stock.action_inventory_form
#: model:ir.ui.menu,name:stock.menu_action_inventory_form
msgid "Physical Inventories"
-msgstr ""
+msgstr "實地盤存"
#. module: stock
#: field:product.category,property_stock_journal:0 view:report.stock.move:0
@@ -183,7 +183,7 @@ msgstr "庫存日誌"
#. module: stock
#: view:report.stock.inventory:0 view:report.stock.move:0
msgid "Current month"
-msgstr ""
+msgstr "本月"
#. module: stock
#: code:addons/stock/wizard/stock_move.py:222
@@ -349,7 +349,7 @@ msgstr "生產批次"
#. module: stock
#: help:stock.incoterms,code:0
msgid "Code for Incoterms"
-msgstr ""
+msgstr "貿易條件"
#. module: stock
#: field:stock.tracking,move_ids:0
@@ -3711,7 +3711,7 @@ msgstr "生產批次"
#: model:ir.ui.menu,name:stock.menu_traceability view:stock.move:0
#: view:stock.picking:0 view:stock.production.lot:0 view:stock.tracking:0
msgid "Traceability"
-msgstr ""
+msgstr "異動記錄"
#. module: stock
#: view:stock.picking:0
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index 8a70fce81a4..87cf9ade130 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -735,9 +735,9 @@ class stock_picking(osv.osv):
""" Changes state of picking to available if all moves are confirmed.
@return: True
"""
+ wf_service = netsvc.LocalService("workflow")
for pick in self.browse(cr, uid, ids):
if pick.state == 'draft':
- wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'stock.picking', pick.id, 'button_confirm', cr)
move_ids = [x.id for x in pick.move_lines if x.state == 'confirmed']
if not move_ids:
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index e117d9fee0d..0def4c5e41d 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -912,14 +912,13 @@
<field name="arch" type="xml">
<tree colors="blue:state == 'draft';grey:state == 'cancel';red:state not in ('cancel', 'done') and min_date &lt; current_date" string="Delivery Orders">
<field name="name"/>
+ <field name="partner_id"/>
<field name="origin"/>
- <field name="date"/>
<field name="min_date"/>
<field name="backorder_id"/>
+ <field name="stock_journal_id"/>
<field name="invoice_state"/>
- <field name="stock_journal_id" widget="selection"/>
<field name="state"/>
- <button name="action_process" states="assigned" string="Process" type="object" icon="gtk-go-forward"/>
</tree>
</field>
</record>
@@ -1032,6 +1031,7 @@
<field name="arch" type="xml">
<tree colors="blue:state == 'draft';grey:state == 'done';red:state not in ('cancel', 'done') and date &lt; current_date" string="Picking list">
<field name="name"/>
+ <field name="partner_id"/>
<field name="backorder_id"/>
<field name="origin"/>
<field name="date"/>
diff --git a/addons/web_uservoice/i18n/pt.po b/addons/web_uservoice/i18n/pt.po
new file mode 100644
index 00000000000..e7f2dc362a0
--- /dev/null
+++ b/addons/web_uservoice/i18n/pt.po
@@ -0,0 +1,23 @@
+# Portuguese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 01:37+0100\n"
+"PO-Revision-Date: 2012-05-22 11:11+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Portuguese <pt@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-05-24 11:09+0000\n"
+"X-Generator: Launchpad (build 15288)\n"
+
+#. openerp-web
+#: /home/odo/repositories/addons/trunk/web_uservoice/static/src/xml/web_uservoice.xml:6
+msgid "feedback"
+msgstr "Feedback"