diff --git a/addons/account/account.py b/addons/account/account.py index 8c7f058acc6..bb24aec1748 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -25,8 +25,9 @@ from dateutil.relativedelta import relativedelta from operator import itemgetter import time +import openerp from openerp import SUPERUSER_ID -from openerp import pooler, tools +from openerp import tools from openerp.osv import fields, osv from openerp.tools.translate import _ from openerp.tools.float_utils import float_round @@ -1883,7 +1884,7 @@ class account_tax(osv.osv): def get_precision_tax(): def change_digit_tax(cr): - res = pooler.get_pool(cr.dbname).get('decimal.precision').precision_get(cr, SUPERUSER_ID, 'Account') + res = openerp.registry(cr.dbname)['decimal.precision'].precision_get(cr, SUPERUSER_ID, 'Account') return (16, res+2) return change_digit_tax diff --git a/addons/account/account_financial_report.py b/addons/account/account_financial_report.py index 1d9a4a794eb..6a2b1bd5e8f 100644 --- a/addons/account/account_financial_report.py +++ b/addons/account/account_financial_report.py @@ -25,7 +25,6 @@ from dateutil.relativedelta import relativedelta from operator import itemgetter from openerp import netsvc -from openerp import pooler from openerp.osv import fields, osv import openerp.addons.decimal_precision as dp from openerp.tools.translate import _ diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index d771bc59506..30bdc2eedac 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -24,7 +24,6 @@ from lxml import etree import openerp.addons.decimal_precision as dp import openerp.exceptions -from openerp import pooler from openerp.osv import fields, osv, orm from openerp.tools.translate import _ @@ -97,6 +96,8 @@ class account_invoice(osv.osv): for m in invoice.move_id.line_id: if m.account_id.type in ('receivable','payable'): result[invoice.id] += m.amount_residual_currency + #prevent the residual amount on the invoice to be less than 0 + result[invoice.id] = max(result[invoice.id], 0.0) return result # Give Journal Items related to the payment reconciled to this invoice diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index a96ed889aae..36d211c11d2 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -741,20 +741,17 @@ class account_move_line(osv.osv): def list_partners_to_reconcile(self, cr, uid, context=None): cr.execute( - """ - SELECT partner_id - FROM ( - SELECT l.partner_id, p.last_reconciliation_date, SUM(l.debit) AS debit, SUM(l.credit) AS credit + """SELECT partner_id FROM ( + SELECT l.partner_id, p.last_reconciliation_date, SUM(l.debit) AS debit, SUM(l.credit) AS credit, MAX(l.date) AS max_date FROM account_move_line l RIGHT JOIN account_account a ON (a.id = l.account_id) RIGHT JOIN res_partner p ON (l.partner_id = p.id) WHERE a.reconcile IS TRUE AND l.reconcile_id IS NULL - AND (p.last_reconciliation_date IS NULL OR l.date > p.last_reconciliation_date) AND l.state <> 'draft' GROUP BY l.partner_id, p.last_reconciliation_date ) AS s - WHERE debit > 0 AND credit > 0 + WHERE debit > 0 AND credit > 0 AND (last_reconciliation_date IS NULL OR max_date > last_reconciliation_date) ORDER BY last_reconciliation_date""") ids = cr.fetchall() ids = len(ids) and [x[0] for x in ids] or [] diff --git a/addons/account/partner.py b/addons/account/partner.py index 346cc38f5df..ae8d2fc1871 100644 --- a/addons/account/partner.py +++ b/addons/account/partner.py @@ -233,7 +233,7 @@ class res_partner(osv.osv): help="This payment term will be used instead of the default one for purchase orders and supplier invoices"), 'ref_companies': fields.one2many('res.company', 'partner_id', 'Companies that refers to partner'), - 'last_reconciliation_date': fields.datetime('Latest Reconciliation Date', help='Date on which the partner accounting entries were fully reconciled last time. It differs from the date of the last reconciliation made for this partner, as here we depict the fact that nothing more was to be reconciled at this date. This can be achieved in 2 ways: either the last debit/credit entry was reconciled, either the user pressed the button "Fully Reconciled" in the manual reconciliation process') + 'last_reconciliation_date': fields.datetime('Latest Full Reconciliation Date', help='Date on which the partner accounting entries were fully reconciled last time. It differs from the last date where a reconciliation has been made for this partner, as here we depict the fact that nothing more was to be reconciled at this date. This can be achieved in 2 different ways: either the last unreconciled debit/credit entry of this partner was reconciled, either the user pressed the button "Nothing more to reconcile" during the manual reconciliation process.') } res_partner() diff --git a/addons/account/project/report/analytic_journal.py b/addons/account/project/report/analytic_journal.py index e91de96940e..1ca1ffb3ca4 100644 --- a/addons/account/project/report/analytic_journal.py +++ b/addons/account/project/report/analytic_journal.py @@ -21,7 +21,6 @@ import time -from openerp import pooler from openerp.report import report_sxw # diff --git a/addons/account/project/report/cost_ledger.py b/addons/account/project/report/cost_ledger.py index 04b8edeb166..e594ab92a63 100644 --- a/addons/account/project/report/cost_ledger.py +++ b/addons/account/project/report/cost_ledger.py @@ -21,7 +21,6 @@ import time -from openerp import pooler from openerp.report import report_sxw class account_analytic_cost_ledger(report_sxw.rml_parse): diff --git a/addons/account/project/report/inverted_analytic_balance.py b/addons/account/project/report/inverted_analytic_balance.py index 829dd03df02..bd86bcfe257 100644 --- a/addons/account/project/report/inverted_analytic_balance.py +++ b/addons/account/project/report/inverted_analytic_balance.py @@ -21,7 +21,6 @@ import time -from openerp import pooler from openerp.report import report_sxw class account_inverted_analytic_balance(report_sxw.rml_parse): diff --git a/addons/account/project/report/quantity_cost_ledger.py b/addons/account/project/report/quantity_cost_ledger.py index 1fe77f6e878..b22558b900f 100644 --- a/addons/account/project/report/quantity_cost_ledger.py +++ b/addons/account/project/report/quantity_cost_ledger.py @@ -20,7 +20,6 @@ ############################################################################## import time -from openerp import pooler from openerp.report import report_sxw class account_analytic_quantity_cost_ledger(report_sxw.rml_parse): diff --git a/addons/account/report/account_print_overdue.py b/addons/account/report/account_print_overdue.py index 68c1c35ef53..d030c136964 100644 --- a/addons/account/report/account_print_overdue.py +++ b/addons/account/report/account_print_overdue.py @@ -22,7 +22,6 @@ import time from openerp.report import report_sxw -from openerp import pooler class Overdue(report_sxw.rml_parse): def __init__(self, cr, uid, name, context): @@ -38,7 +37,7 @@ class Overdue(report_sxw.rml_parse): def _tel_get(self,partner): if not partner: return False - res_partner = pooler.get_pool(self.cr.dbname).get('res.partner') + res_partner = self.pool['res.partner'] addresses = res_partner.address_get(self.cr, self.uid, [partner.id], ['invoice']) adr_id = addresses and addresses['invoice'] or False if adr_id: @@ -49,7 +48,7 @@ class Overdue(report_sxw.rml_parse): return False def _lines_get(self, partner): - moveline_obj = pooler.get_pool(self.cr.dbname).get('account.move.line') + moveline_obj = self.pool['account.move.line'] movelines = moveline_obj.search(self.cr, self.uid, [('partner_id', '=', partner.id), ('account_id.type', 'in', ['receivable', 'payable']), @@ -58,7 +57,7 @@ class Overdue(report_sxw.rml_parse): return movelines def _message(self, obj, company): - company_pool = pooler.get_pool(self.cr.dbname).get('res.company') + company_pool = self.pool['res.company'] message = company_pool.browse(self.cr, self.uid, company.id, {'lang':obj.lang}).overdue_msg return message.split('\n') diff --git a/addons/account/report/account_report.py b/addons/account/report/account_report.py index d6cc784c767..11a6374b24e 100644 --- a/addons/account/report/account_report.py +++ b/addons/account/report/account_report.py @@ -23,7 +23,6 @@ import time from datetime import datetime from dateutil.relativedelta import relativedelta -from openerp import pooler from openerp import tools from openerp.osv import fields,osv @@ -123,7 +122,7 @@ class report_aged_receivable(osv.osv): """ This view will be used in dashboard The reason writing this code here is, we need to check date range from today to first date of fiscal year. """ - pool_obj_fy = pooler.get_pool(cr.dbname).get('account.fiscalyear') + pool_obj_fy = self.pool['account.fiscalyear'] today = time.strftime('%Y-%m-%d') fy_id = pool_obj_fy.find(cr, uid, exception=False) LIST_RANGES = [] @@ -141,7 +140,7 @@ class report_aged_receivable(osv.osv): cr.execute('delete from temp_range') for range in LIST_RANGES: - pooler.get_pool(cr.dbname).get('temp.range').create(cr, uid, {'name':range}) + self.pool['temp.range'].create(cr, uid, {'name':range}) cr.execute(""" create or replace view report_aged_receivable as ( diff --git a/addons/account/report/common_report_header.py b/addons/account/report/common_report_header.py index cedc4ccf5c4..cf3c3a71ff1 100644 --- a/addons/account/report/common_report_header.py +++ b/addons/account/report/common_report_header.py @@ -19,9 +19,9 @@ # ############################################################################## -from openerp import pooler from openerp.tools.translate import _ +# Mixin to use with rml_parse, so self.pool will be defined. class common_report_header(object): def _sum_debit(self, period_id=False, journal_id=False): @@ -75,17 +75,17 @@ class common_report_header(object): def get_start_period(self, data): if data.get('form', False) and data['form'].get('period_from', False): - return pooler.get_pool(self.cr.dbname).get('account.period').browse(self.cr,self.uid,data['form']['period_from']).name + return self.pool.get('account.period').browse(self.cr,self.uid,data['form']['period_from']).name return '' def get_end_period(self, data): if data.get('form', False) and data['form'].get('period_to', False): - return pooler.get_pool(self.cr.dbname).get('account.period').browse(self.cr, self.uid, data['form']['period_to']).name + return self.pool.get('account.period').browse(self.cr, self.uid, data['form']['period_to']).name return '' def _get_account(self, data): if data.get('form', False) and data['form'].get('chart_account_id', False): - return pooler.get_pool(self.cr.dbname).get('account.account').browse(self.cr, self.uid, data['form']['chart_account_id']).name + return self.pool.get('account.account').browse(self.cr, self.uid, data['form']['chart_account_id']).name return '' def _get_sortby(self, data): @@ -120,12 +120,12 @@ class common_report_header(object): def _get_fiscalyear(self, data): if data.get('form', False) and data['form'].get('fiscalyear_id', False): - return pooler.get_pool(self.cr.dbname).get('account.fiscalyear').browse(self.cr, self.uid, data['form']['fiscalyear_id']).name + return self.pool.get('account.fiscalyear').browse(self.cr, self.uid, data['form']['fiscalyear_id']).name return '' def _get_company(self, data): if data.get('form', False) and data['form'].get('chart_account_id', False): - return pooler.get_pool(self.cr.dbname).get('account.account').browse(self.cr, self.uid, data['form']['chart_account_id']).company_id.name + return self.pool.get('account.account').browse(self.cr, self.uid, data['form']['chart_account_id']).company_id.name return '' def _get_journal(self, data): @@ -137,7 +137,7 @@ class common_report_header(object): def _get_currency(self, data): if data.get('form', False) and data['form'].get('chart_account_id', False): - return pooler.get_pool(self.cr.dbname).get('account.account').browse(self.cr, self.uid, data['form']['chart_account_id']).company_id.currency_id.symbol + return self.pool.get('account.account').browse(self.cr, self.uid, data['form']['chart_account_id']).company_id.currency_id.symbol return '' #vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account/static/src/xml/account_move_reconciliation.xml b/addons/account/static/src/xml/account_move_reconciliation.xml index d7b5301238d..3074fdb49b1 100644 --- a/addons/account/static/src/xml/account_move_reconciliation.xml +++ b/addons/account/static/src/xml/account_move_reconciliation.xml @@ -22,13 +22,13 @@
- Last Reconciliation: + Latest Manual Reconciliation Processed:
- +
diff --git a/addons/account/test/account_bank_statement.yml b/addons/account/test/account_bank_statement.yml index cbd35be438a..3711cff4d56 100644 --- a/addons/account/test/account_bank_statement.yml +++ b/addons/account/test/account_bank_statement.yml @@ -7,7 +7,7 @@ import time journal = self._default_journal_id(cr, uid, {'lang': u'en_US', 'tz': False, 'active_model': 'ir.ui.menu', 'journal_type': 'bank', 'period_id': time.strftime('%m'), 'active_ids': [ref('menu_bank_statement_tree')], 'active_id': ref('menu_bank_statement_tree')}) - assert journal, _('Journal has not been selected') + assert journal, 'Journal has not been selected' - I create a bank statement with Opening and Closing balance 0. - diff --git a/addons/account/test/account_use_model.yml b/addons/account/test/account_use_model.yml index ab69b251919..16153cd6f8c 100644 --- a/addons/account/test/account_use_model.yml +++ b/addons/account/test/account_use_model.yml @@ -41,7 +41,7 @@ ids = self.search(cr, uid, [('ref', '=', 'My Test Model')]) self.button_validate(cr, uid, ids, {}) moves = self.browse(cr, uid, ids)[0] - assert(moves.state == 'posted'), _('Journal Entries are not in posted state') + assert(moves.state == 'posted'), 'Journal Entries are not in posted state' - Then I create Recurring Lines - @@ -57,7 +57,7 @@ self.compute(cr, uid, [ref('test_recurring_lines')], {'lang': u'en_US', 'active_model': 'ir.ui.menu', 'active_ids': [ref('menu_action_subscription_form')], 'tz': False, 'active_id': ref('menu_action_subscription_form')}) subscription_lines = subscription_line_obj.search(cr, uid, [('subscription_id', '=', ref('test_recurring_lines'))]) - assert subscription_lines, _('Subscription lines has not been created') + assert subscription_lines, 'Subscription lines has not been created' - I provide date in 'Generate Entries' wizard - @@ -69,5 +69,5 @@ !python {model: account.subscription.generate}: | res = self.action_generate(cr, uid, [ref('account_subscription_generate')], {'lang': u'en_US', 'active_model': 'ir.ui.menu', 'active_ids': [ref('menu_generate_subscription')], 'tz': False, 'active_id': ref('menu_generate_subscription')}) - assert res, _('Move for subscription lines has not been created') + assert res, 'Move for subscription lines has not been created' diff --git a/addons/account/wizard/account_invoice_state.py b/addons/account/wizard/account_invoice_state.py index 9fab19ff42c..70d2984cef0 100644 --- a/addons/account/wizard/account_invoice_state.py +++ b/addons/account/wizard/account_invoice_state.py @@ -21,7 +21,6 @@ from openerp.osv import osv from openerp.tools.translate import _ -from openerp import pooler class account_invoice_confirm(osv.osv_memory): """ @@ -34,8 +33,7 @@ class account_invoice_confirm(osv.osv_memory): def invoice_confirm(self, cr, uid, ids, context=None): if context is None: context = {} - pool_obj = pooler.get_pool(cr.dbname) - account_invoice_obj = pool_obj.get('account.invoice') + account_invoice_obj = self.pool['account.invoice'] data_inv = account_invoice_obj.read(cr, uid, context['active_ids'], ['state'], context=context) for record in data_inv: if record['state'] not in ('draft','proforma','proforma2'): @@ -58,8 +56,7 @@ class account_invoice_cancel(osv.osv_memory): def invoice_cancel(self, cr, uid, ids, context=None): if context is None: context = {} - pool_obj = pooler.get_pool(cr.dbname) - account_invoice_obj = pool_obj.get('account.invoice') + account_invoice_obj = self.pool['account.invoice'] data_inv = account_invoice_obj.read(cr, uid, context['active_ids'], ['state'], context=context) for record in data_inv: if record['state'] in ('cancel','paid'): diff --git a/addons/account_bank_statement_extensions/report/bank_statement_balance_report.py b/addons/account_bank_statement_extensions/report/bank_statement_balance_report.py index 9f28b083603..59b8efb23e1 100644 --- a/addons/account_bank_statement_extensions/report/bank_statement_balance_report.py +++ b/addons/account_bank_statement_extensions/report/bank_statement_balance_report.py @@ -21,15 +21,12 @@ ############################################################################## import time + from openerp.report import report_sxw -from openerp import pooler -import logging -_logger = logging.getLogger(__name__) class bank_statement_balance_report(report_sxw.rml_parse): def set_context(self, objects, data, ids, report_type=None): - #_logger.warning('addons.'+__name__, 'set_context, objects = %s, data = %s, ids = %s' % (objects, data, ids)) cr = self.cr uid = self.uid context = self.context diff --git a/addons/account_budget/report/analytic_account_budget_report.py b/addons/account_budget/report/analytic_account_budget_report.py index eed8ded213f..6701fc06a2b 100644 --- a/addons/account_budget/report/analytic_account_budget_report.py +++ b/addons/account_budget/report/analytic_account_budget_report.py @@ -22,7 +22,6 @@ import time import datetime -from openerp import pooler from openerp.report import report_sxw class analytic_account_budget_report(report_sxw.rml_parse): diff --git a/addons/account_budget/report/crossovered_budget_report.py b/addons/account_budget/report/crossovered_budget_report.py index 4a3b632a8de..70cbdecb713 100644 --- a/addons/account_budget/report/crossovered_budget_report.py +++ b/addons/account_budget/report/crossovered_budget_report.py @@ -22,7 +22,6 @@ import time import datetime -from openerp import pooler from openerp.report import report_sxw import operator from openerp import osv diff --git a/addons/account_followup/report/account_followup_print.py b/addons/account_followup/report/account_followup_print.py index 16d88d69572..eecba81acb9 100644 --- a/addons/account_followup/report/account_followup_print.py +++ b/addons/account_followup/report/account_followup_print.py @@ -22,7 +22,6 @@ import time from collections import defaultdict -from openerp import pooler from openerp.report import report_sxw class report_rappel(report_sxw.rml_parse): @@ -38,9 +37,8 @@ class report_rappel(report_sxw.rml_parse): }) def _ids_to_objects(self, ids): - pool = pooler.get_pool(self.cr.dbname) all_lines = [] - for line in pool.get('account_followup.stat.by.partner').browse(self.cr, self.uid, ids): + for line in self.pool['account_followup.stat.by.partner'].browse(self.cr, self.uid, ids): if line not in all_lines: all_lines.append(line) return all_lines @@ -49,8 +47,7 @@ class report_rappel(report_sxw.rml_parse): return self._lines_get_with_partner(stat_by_partner_line.partner_id, stat_by_partner_line.company_id.id) def _lines_get_with_partner(self, partner, company_id): - pool = pooler.get_pool(self.cr.dbname) - moveline_obj = pool.get('account.move.line') + moveline_obj = self.pool['account.move.line'] moveline_ids = moveline_obj.search(self.cr, self.uid, [ ('partner_id', '=', partner.id), ('account_id.type', '=', 'receivable'), @@ -80,7 +77,7 @@ class report_rappel(report_sxw.rml_parse): if context is None: context = {} context.update({'lang': stat_line.partner_id.lang}) - fp_obj = pooler.get_pool(self.cr.dbname).get('account_followup.followup') + fp_obj = self.pool['account_followup.followup'] fp_line = fp_obj.browse(self.cr, self.uid, followup_id, context=context).followup_line if not fp_line: raise osv.except_osv(_('Error!'),_("The followup plan defined for the current company does not have any followup action.")) @@ -94,10 +91,10 @@ class report_rappel(report_sxw.rml_parse): li_delay.sort(reverse=True) a = {} #look into the lines of the partner that already have a followup level, and take the description of the higher level for which it is available - partner_line_ids = pooler.get_pool(self.cr.dbname).get('account.move.line').search(self.cr, self.uid, [('partner_id','=',stat_line.partner_id.id),('reconcile_id','=',False),('company_id','=',stat_line.company_id.id),('blocked','=',False),('state','!=','draft'),('debit','!=',False),('account_id.type','=','receivable'),('followup_line_id','!=',False)]) + partner_line_ids = self.pool['account.move.line'].search(self.cr, self.uid, [('partner_id','=',stat_line.partner_id.id),('reconcile_id','=',False),('company_id','=',stat_line.company_id.id),('blocked','=',False),('state','!=','draft'),('debit','!=',False),('account_id.type','=','receivable'),('followup_line_id','!=',False)]) partner_max_delay = 0 partner_max_text = '' - for i in pooler.get_pool(self.cr.dbname).get('account.move.line').browse(self.cr, self.uid, partner_line_ids, context=context): + for i in self.pool['account.move.line'].browse(self.cr, self.uid, partner_line_ids, context=context): if i.followup_line_id.delay > partner_max_delay and i.followup_line_id.description: partner_max_delay = i.followup_line_id.delay partner_max_text = i.followup_line_id.description @@ -107,7 +104,7 @@ class report_rappel(report_sxw.rml_parse): 'partner_name': stat_line.partner_id.name, 'date': time.strftime('%Y-%m-%d'), 'company_name': stat_line.company_id.name, - 'user_signature': pooler.get_pool(self.cr.dbname).get('res.users').browse(self.cr, self.uid, self.uid, context).signature or '', + 'user_signature': self.pool['res.users'].browse(self.cr, self.uid, self.uid, context).signature or '', } return text diff --git a/addons/account_payment/i18n/hu.po b/addons/account_payment/i18n/hu.po index d45c8e42485..9bfe4215880 100644 --- a/addons/account_payment/i18n/hu.po +++ b/addons/account_payment/i18n/hu.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-12-21 17:05+0000\n" -"PO-Revision-Date: 2011-01-30 18:36+0000\n" -"Last-Translator: Krisztian Eyssen \n" +"PO-Revision-Date: 2013-03-26 14:28+0000\n" +"Last-Translator: krnkris \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: 2013-03-16 05:26+0000\n" -"X-Generator: Launchpad (build 16532)\n" +"X-Launchpad-Export-Date: 2013-03-27 04:36+0000\n" +"X-Generator: Launchpad (build 16540)\n" #. module: account_payment #: model:ir.actions.act_window,help:account_payment.action_payment_order_tree @@ -28,6 +28,14 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Kattintson átutalási megbízás létrehozásához.\n" +"

\n" +" Az átutalási, fizetési megbízás egy fizetési igény " +"kiegyenlítése a beszállító felé vagy \n" +" egy vevő jóváíró számlájához a vállalkozásánál.\n" +"

\n" +" " #. module: account_payment #: field:payment.line,currency:0 @@ -81,7 +89,7 @@ msgstr "Vállalat" #. module: account_payment #: model:res.groups,name:account_payment.group_account_payment msgid "Accounting / Payments" -msgstr "" +msgstr "Könyvelés / Átutalások, fizetések" #. module: account_payment #: selection:payment.line,state:0 @@ -123,13 +131,15 @@ msgid "" "You cannot cancel an invoice which has already been imported in a payment " "order. Remove it from the following payment order : %s." msgstr "" +"Nem tud visszavonni olyan számlát ami már be lett töltve, importálva az " +"utalásba. Vegye le a következő utalási megbízásból : %s." #. module: account_payment #: code:addons/account_payment/account_invoice.py:43 #: code:addons/account_payment/account_move_line.py:110 #, python-format msgid "Error!" -msgstr "" +msgstr "Hiba!" #. module: account_payment #: report:payment.order:0 @@ -194,6 +204,10 @@ msgid "" " Once the bank is confirmed the status is set to 'Confirmed'.\n" " Then the order is paid the status is 'Done'." msgstr "" +"Ha az utalás, megbízás be lett rögzítve akkor annak állapota 'Tervezet'.\n" +" Ha a bank jóváhagyta annak rögzítési állapotát akkor az állapota " +"'Jóváhagyott'.\n" +" Ha az utalás, fizetés végrehajtva akkor annak az állapota 'Elvégezve'." #. module: account_payment #: view:payment.order:0 @@ -219,7 +233,7 @@ msgstr "Struktúrált" #. module: account_payment #: view:account.bank.statement:0 msgid "Import Payment Lines" -msgstr "" +msgstr "Utalási sorok betöltése, importálása" #. module: account_payment #: view:payment.line:0 @@ -261,7 +275,7 @@ msgstr "" #. module: account_payment #: field:payment.order,date_created:0 msgid "Creation Date" -msgstr "" +msgstr "Létrehozás dátuma" #. module: account_payment #: help:payment.mode,journal:0 @@ -271,7 +285,7 @@ msgstr "A fizetési mód bank- vagy pénztárnaplója" #. module: account_payment #: selection:payment.order,date_prefered:0 msgid "Fixed date" -msgstr "Rögzített" +msgstr "Rögzített dátum" #. module: account_payment #: field:payment.line,info_partner:0 @@ -369,7 +383,7 @@ msgstr "Átutalás hozzáadása a kivonathoz" #: code:addons/account_payment/account_move_line.py:110 #, python-format msgid "There is no partner defined on the entry line." -msgstr "" +msgstr "A beviteli soron nem lett partner meghatározva" #. module: account_payment #: help:payment.mode,name:0 @@ -401,7 +415,7 @@ msgstr "Tervezet" #: view:payment.order:0 #: field:payment.order,state:0 msgid "Status" -msgstr "" +msgstr "Állapot" #. module: account_payment #: help:payment.line,communication2:0 @@ -432,7 +446,7 @@ msgstr "Átutalás sorok" #. module: account_payment #: model:ir.model,name:account_payment.model_account_move_line msgid "Journal Items" -msgstr "Könyvelési tételsorok" +msgstr "Könyvelési napló tételsorok" #. module: account_payment #: help:payment.line,move_line_id:0 @@ -449,7 +463,7 @@ msgstr "Keresés" #. module: account_payment #: field:payment.order,user_id:0 msgid "Responsible" -msgstr "" +msgstr "Felelős" #. module: account_payment #: field:payment.line,date:0 @@ -464,7 +478,7 @@ msgstr "Összesen:" #. module: account_payment #: field:payment.order,date_done:0 msgid "Execution Date" -msgstr "" +msgstr "Kivitelezés dátuma" #. module: account_payment #: view:account.payment.populate.statement:0 @@ -538,12 +552,12 @@ msgstr "Közlemény" #: view:account.payment.populate.statement:0 #: view:payment.order.create:0 msgid "Cancel" -msgstr "Mégse" +msgstr "Visszavonás" #. module: account_payment #: field:payment.line,bank_id:0 msgid "Destination Bank Account" -msgstr "" +msgstr "Jogosult bankszámla száma" #. module: account_payment #: view:payment.line:0 @@ -581,7 +595,7 @@ msgstr "Közlemény folytatása" #. module: account_payment #: field:payment.order,date_scheduled:0 msgid "Scheduled Date" -msgstr "" +msgstr "Tervezett dátum" #. module: account_payment #: view:account.payment.make.payment:0 @@ -676,14 +690,14 @@ msgstr "Átutalás végrehajtása" #. module: account_payment #: field:payment.order,date_prefered:0 msgid "Preferred Date" -msgstr "" +msgstr "Előnyben részesített dátum" #. module: account_payment #: view:account.payment.make.payment:0 #: view:account.payment.populate.statement:0 #: view:payment.order.create:0 msgid "or" -msgstr "" +msgstr "vagy" #. module: account_payment #: help:payment.mode,bank_id:0 diff --git a/addons/account_payment/report/payment_order.py b/addons/account_payment/report/payment_order.py index 112476dd080..a851a54ecbb 100644 --- a/addons/account_payment/report/payment_order.py +++ b/addons/account_payment/report/payment_order.py @@ -21,7 +21,6 @@ import time -from openerp import pooler from openerp.report import report_sxw class payment_order(report_sxw.rml_parse): @@ -38,8 +37,7 @@ class payment_order(report_sxw.rml_parse): def _get_invoice_name(self, invoice_id): if invoice_id: - pool = pooler.get_pool(self.cr.dbname) - value_name = pool.get('account.invoice').name_get(self.cr, self.uid, [invoice_id]) + value_name = self.pool['account.invoice'].name_get(self.cr, self.uid, [invoice_id]) if value_name: return value_name[0][1] return False @@ -67,8 +65,7 @@ class payment_order(report_sxw.rml_parse): def _get_account_name(self,bank_id): if bank_id: - pool = pooler.get_pool(self.cr.dbname) - value_name = pool.get('res.partner.bank').name_get(self.cr, self.uid, [bank_id]) + value_name = self.pool['res.partner.bank'].name_get(self.cr, self.uid, [bank_id]) if value_name: return value_name[0][1] return False diff --git a/addons/account_test/i18n/zh_CN.po b/addons/account_test/i18n/zh_CN.po new file mode 100644 index 00000000000..081320aa24a --- /dev/null +++ b/addons/account_test/i18n/zh_CN.po @@ -0,0 +1,241 @@ +# Chinese (Simplified) translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-03-21 19:22+0000\n" +"Last-Translator: Liuming \n" +"Language-Team: Chinese (Simplified) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-03-22 04:57+0000\n" +"X-Generator: Launchpad (build 16532)\n" + +#. module: account_test +#: view:accounting.assert.test:0 +msgid "" +"Code should always set a variable named `result` with the result of your " +"test, that can be a list or\n" +"a dictionary. If `result` is an empty list, it means that the test was " +"succesful. Otherwise it will\n" +"try to translate and print what is inside `result`.\n" +"\n" +"If the result of your test is a dictionary, you can set a variable named " +"`column_order` to choose in\n" +"what order you want to print `result`'s content.\n" +"\n" +"Should you need them, you can also use the following variables into your " +"code:\n" +" * cr: cursor to the database\n" +" * uid: ID of the current user\n" +"\n" +"In any ways, the code must be legal python statements with correct " +"indentation (if needed).\n" +"\n" +"Example: \n" +" sql = '''SELECT id, name, ref, date\n" +" FROM account_move_line \n" +" WHERE account_id IN (SELECT id FROM account_account WHERE type " +"= 'view')\n" +" '''\n" +" cr.execute(sql)\n" +" result = cr.dictfetchall()" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_02 +msgid "Test 2: Opening a fiscal year" +msgstr "测试2: 打开一个会计年度" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_05 +msgid "" +"Check that reconciled invoice for Sales/Purchases has reconciled entries for " +"Payable and Receivable Accounts" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_03 +msgid "" +"Check if movement lines are balanced and have the same date and period" +msgstr "" + +#. module: account_test +#: field:accounting.assert.test,name:0 +msgid "Test Name" +msgstr "" + +#. module: account_test +#: report:account.test.assert.print:0 +msgid "Accouting tests on" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_01 +msgid "Test 1: General balance" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_06 +msgid "Check that paid/reconciled invoices are not in 'Open' state" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_05_2 +msgid "" +"Check that reconciled account moves, that define Payable and Receivable " +"accounts, are belonging to reconciled invoices" +msgstr "" + +#. module: account_test +#: view:accounting.assert.test:0 +msgid "Tests" +msgstr "" + +#. module: account_test +#: field:accounting.assert.test,desc:0 +msgid "Test Description" +msgstr "" + +#. module: account_test +#: view:accounting.assert.test:0 +msgid "Description" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_06_1 +msgid "Check that there's no move for any account with « View » account type" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_08 +msgid "Test 9 : Accounts and partners on account moves" +msgstr "" + +#. module: account_test +#: model:ir.actions.act_window,name:account_test.action_accounting_assert +#: model:ir.actions.report.xml,name:account_test.account_assert_test_report +#: model:ir.ui.menu,name:account_test.menu_action_license +msgid "Accounting Tests" +msgstr "" + +#. module: account_test +#: code:addons/account_test/report/account_test_report.py:74 +#, python-format +msgid "The test was passed successfully" +msgstr "" + +#. module: account_test +#: field:accounting.assert.test,active:0 +msgid "Active" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_06 +msgid "Test 6 : Invoices status" +msgstr "" + +#. module: account_test +#: model:ir.model,name:account_test.model_accounting_assert_test +msgid "accounting.assert.test" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_05 +msgid "" +"Test 5.1 : Payable and Receivable accountant lines of reconciled invoices" +msgstr "" + +#. module: account_test +#: field:accounting.assert.test,code_exec:0 +msgid "Python code" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_07 +msgid "" +"Check on bank statement that the Closing Balance = Starting Balance + sum of " +"statement lines" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_07 +msgid "Test 8 : Closing balance on bank statements" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_03 +msgid "Test 3: Movement lines" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_05_2 +msgid "Test 5.2 : Reconcilied invoices and Payable/Receivable accounts" +msgstr "" + +#. module: account_test +#: view:accounting.assert.test:0 +msgid "Expression" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_04 +msgid "Test 4: Totally reconciled mouvements" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_04 +msgid "Check if the totally reconciled movements are balanced" +msgstr "" + +#. module: account_test +#: field:accounting.assert.test,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_02 +msgid "" +"Check if the balance of the new opened fiscal year matches with last year's " +"balance" +msgstr "" + +#. module: account_test +#: view:accounting.assert.test:0 +msgid "Python Code" +msgstr "" + +#. module: account_test +#: model:ir.actions.act_window,help:account_test.action_accounting_assert +msgid "" +"

\n" +" Click to create Accounting Test.\n" +"

\n" +" " +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_01 +msgid "Check the balance: Debit sum = Credit sum" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_08 +msgid "Check that general accounts and partners on account moves are active" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_06_1 +msgid "Test 7: « View  » account type" +msgstr "" + +#. module: account_test +#: view:accounting.assert.test:0 +msgid "Code Help" +msgstr "" diff --git a/addons/account_voucher/i18n/hu.po b/addons/account_voucher/i18n/hu.po index 12f12ce6eb9..746ffe5b247 100644 --- a/addons/account_voucher/i18n/hu.po +++ b/addons/account_voucher/i18n/hu.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-12-21 17:04+0000\n" -"PO-Revision-Date: 2012-12-27 22:53+0000\n" -"Last-Translator: Balint (eSolve) \n" +"PO-Revision-Date: 2013-03-26 15:03+0000\n" +"Last-Translator: krnkris \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: 2013-03-16 05:33+0000\n" -"X-Generator: Launchpad (build 16532)\n" +"X-Launchpad-Export-Date: 2013-03-27 04:36+0000\n" +"X-Generator: Launchpad (build 16540)\n" #. module: account_voucher #: field:account.bank.statement.line,voucher_id:0 @@ -24,7 +24,7 @@ msgstr "" #. module: account_voucher #: model:ir.model,name:account_voucher.model_account_config_settings msgid "account.config.settings" -msgstr "" +msgstr "account.config.settings" #. module: account_voucher #: code:addons/account_voucher/account_voucher.py:369 @@ -59,11 +59,13 @@ msgid "" "Computed as the difference between the amount stated in the voucher and the " "sum of allocation on the voucher lines." msgstr "" +"Különbség ami a nyugtán lévő végösszeg és a nyugta soraiban lévő rész " +"összegek különbsége." #. module: account_voucher #: view:account.voucher:0 msgid "(Update)" -msgstr "" +msgstr "(Frissítés)" #. module: account_voucher #: view:account.voucher:0 @@ -90,7 +92,7 @@ msgstr "Március" #. module: account_voucher #: field:account.voucher,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "Olvasatlan üzenetek" #. module: account_voucher #: view:account.voucher:0 @@ -115,13 +117,13 @@ msgstr "Tranzakció hivatkozási száma" #. module: account_voucher #: view:sale.receipt.report:0 msgid "Group by year of Invoice Date" -msgstr "" +msgstr "Számla kibocsátási éve szerinti csoportosítás" #. module: account_voucher #: view:sale.receipt.report:0 #: field:sale.receipt.report,user_id:0 msgid "Salesperson" -msgstr "" +msgstr "Értékesítő" #. module: account_voucher #: view:account.voucher:0 @@ -145,7 +147,7 @@ msgstr "Jóváhagyás" #: model:ir.actions.act_window,name:account_voucher.action_vendor_payment #: model:ir.ui.menu,name:account_voucher.menu_action_vendor_payment msgid "Supplier Payments" -msgstr "" +msgstr "Beszállítói átutalások, fizetések" #. module: account_voucher #: model:ir.actions.act_window,help:account_voucher.action_purchase_receipt @@ -179,7 +181,7 @@ msgstr "Főkönyvi számla" #. module: account_voucher #: field:account.voucher,line_dr_ids:0 msgid "Debits" -msgstr "Tartozik" +msgstr "Tartozások" #. module: account_voucher #: view:account.statement.from.invoice.lines:0 @@ -207,7 +209,7 @@ msgstr "Megjegyzések" #. module: account_voucher #: field:account.voucher,message_ids:0 msgid "Messages" -msgstr "" +msgstr "Üzenetek" #. module: account_voucher #: model:ir.actions.act_window,name:account_voucher.action_purchase_receipt @@ -225,7 +227,7 @@ msgstr "Könyvelési tételsor" #: code:addons/account_voucher/account_voucher.py:981 #, python-format msgid "Error!" -msgstr "" +msgstr "Hiba!" #. module: account_voucher #: field:account.voucher.line,amount:0 @@ -347,7 +349,7 @@ msgstr "Számlák importálása" #: code:addons/account_voucher/account_voucher.py:1112 #, python-format msgid "Wrong voucher line" -msgstr "" +msgstr "Nem megfelelő nyugta sorok" #. module: account_voucher #: selection:account.voucher,pay_now:0 @@ -425,7 +427,7 @@ msgstr "Típus" #. module: account_voucher #: view:sale.receipt.report:0 msgid "Pro-forma Vouchers" -msgstr "" +msgstr "Pro-forma nyugták" #. module: account_voucher #: view:account.voucher:0 @@ -468,7 +470,7 @@ msgstr "" #. module: account_voucher #: field:account.voucher,is_multi_currency:0 msgid "Multi Currency Voucher" -msgstr "" +msgstr "Több pénznemű nyugták" #. module: account_voucher #: view:account.voucher:0 @@ -524,7 +526,7 @@ msgstr "ÁFA összege" #. module: account_voucher #: view:sale.receipt.report:0 msgid "Validated Vouchers" -msgstr "" +msgstr "Jóváhagyott nyugták" #. module: account_voucher #: model:ir.actions.act_window,help:account_voucher.action_vendor_receipt @@ -589,7 +591,7 @@ msgstr "Költség sorok" #. module: account_voucher #: view:account.voucher:0 msgid "Sale voucher" -msgstr "" +msgstr "Értékesítési nyugta" #. module: account_voucher #: help:account.voucher,is_multi_currency:0 @@ -639,12 +641,12 @@ msgstr "Vevők és szállítók" #. module: account_voucher #: view:account.voucher:0 msgid "Voucher Payment" -msgstr "" +msgstr "Nyugta kiegyenlítés" #. module: account_voucher #: field:sale.receipt.report,state:0 msgid "Voucher Status" -msgstr "" +msgstr "Nyugta állapota" #. module: account_voucher #: view:account.voucher:0 @@ -662,7 +664,7 @@ msgstr "Vállalat" #. module: account_voucher #: help:account.voucher,paid:0 msgid "The Voucher has been totally paid." -msgstr "" +msgstr "A nyugta ki lett egyenlítve" #. module: account_voucher #: selection:account.voucher,payment_option:0 @@ -679,7 +681,7 @@ msgstr "" #: view:account.voucher:0 #: view:sale.receipt.report:0 msgid "Draft Vouchers" -msgstr "" +msgstr "Nyugta tervezetek" #. module: account_voucher #: view:sale.receipt.report:0 @@ -690,7 +692,7 @@ msgstr "Bruttó érték" #. module: account_voucher #: view:account.voucher:0 msgid "Purchase Voucher" -msgstr "" +msgstr "Beszerzési nyugta" #. module: account_voucher #: view:account.voucher:0 diff --git a/addons/analytic/i18n/hu.po b/addons/analytic/i18n/hu.po index bf379e9f17c..4c6b076773d 100644 --- a/addons/analytic/i18n/hu.po +++ b/addons/analytic/i18n/hu.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-12-21 17:05+0000\n" -"PO-Revision-Date: 2011-01-30 18:54+0000\n" -"Last-Translator: Krisztian Eyssen \n" +"PO-Revision-Date: 2013-03-25 13:25+0000\n" +"Last-Translator: krnkris \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: 2013-03-16 05:41+0000\n" -"X-Generator: Launchpad (build 16532)\n" +"X-Launchpad-Export-Date: 2013-03-26 04:44+0000\n" +"X-Generator: Launchpad (build 16540)\n" #. module: analytic #: field:account.analytic.account,child_ids:0 @@ -24,13 +24,13 @@ msgstr "Alárendelt gyűjtőkódok" #. module: analytic #: selection:account.analytic.account,state:0 msgid "In Progress" -msgstr "" +msgstr "Folyamatban" #. module: analytic #: code:addons/analytic/analytic.py:229 #, python-format msgid "Contract: " -msgstr "" +msgstr "Szerződés: " #. module: analytic #: selection:account.analytic.account,state:0 @@ -40,7 +40,7 @@ msgstr "Sablon" #. module: analytic #: view:account.analytic.account:0 msgid "End Date" -msgstr "" +msgstr "Befejezés dátuma" #. module: analytic #: help:account.analytic.line,unit_amount:0 @@ -64,6 +64,14 @@ msgid "" "The special type 'Template of Contract' allows you to define a template with " "default data that you can reuse easily." msgstr "" +"A nézet típus kiválasztásával, megtiltja ezzel a fiókkal a napló bejegyzés " +"készítését.\n" +"Az 'Elemző/gyüjtő számla' típust olyan fiókokhoz használja, melyeket csak " +"könyveléshez használ.\n" +"Ha Szerződést vagy Projektet választ, lehetősége lesz kezelni a fiók " +"érvényesítés és számlázási lehetőségeit.\n" +"A speciális 'Szerződési sablon' típus lehetővé teszi alapértékekkel " +"kitöltött sablon létrehozását, melyet könnyen ismét felhasználhat." #. module: analytic #: view:account.analytic.account:0 @@ -82,12 +90,12 @@ msgstr "" #. module: analytic #: selection:account.analytic.account,type:0 msgid "Contract or Project" -msgstr "" +msgstr "Projekt szerződése" #. module: analytic #: field:account.analytic.account,name:0 msgid "Account/Contract Name" -msgstr "" +msgstr "Fiók/Szerződés neve" #. module: analytic #: field:account.analytic.account,manager_id:0 @@ -97,7 +105,7 @@ msgstr "Felelős" #. module: analytic #: field:account.analytic.account,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "Követők" #. module: analytic #: selection:account.analytic.account,state:0 @@ -107,28 +115,28 @@ msgstr "Lezárt" #. module: analytic #: model:mail.message.subtype,name:analytic.mt_account_pending msgid "Contract to Renew" -msgstr "" +msgstr "Megújítandó szerződés" #. module: analytic #: selection:account.analytic.account,state:0 msgid "New" -msgstr "" +msgstr "Új" #. module: analytic #: field:account.analytic.account,user_id:0 msgid "Project Manager" -msgstr "" +msgstr "Projektmenedzser" #. module: analytic #: field:account.analytic.account,state:0 msgid "Status" -msgstr "" +msgstr "Állapot" #. module: analytic #: code:addons/analytic/analytic.py:271 #, python-format msgid "%s (copy)" -msgstr "" +msgstr "%s (másolat)" #. module: analytic #: model:ir.model,name:analytic.model_account_analytic_line @@ -144,12 +152,12 @@ msgstr "Leírás" #. module: analytic #: field:account.analytic.account,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "Olvasatlan üzenetek" #. module: analytic #: constraint:account.analytic.account:0 msgid "Error! You cannot create recursive analytic accounts." -msgstr "" +msgstr "Hiba! Nem tud visszatérő Elemző/Gyűjtő számlákat létrehozni." #. module: analytic #: field:account.analytic.account,company_id:0 @@ -160,12 +168,12 @@ msgstr "Vállalat" #. module: analytic #: view:account.analytic.account:0 msgid "Renewal" -msgstr "" +msgstr "Megújítás" #. module: analytic #: help:account.analytic.account,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "Üzenetek és kommunikációs történet" #. module: analytic #: model:mail.message.subtype,description:analytic.mt_account_opened @@ -194,7 +202,7 @@ msgstr "" #. module: analytic #: field:account.analytic.account,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "Ez egy követő" #. module: analytic #: field:account.analytic.line,user_id:0 @@ -204,7 +212,7 @@ msgstr "Felhasználó" #. module: analytic #: model:mail.message.subtype,description:analytic.mt_account_pending msgid "Contract pending" -msgstr "" +msgstr "Szerződés függőben" #. module: analytic #: field:account.analytic.line,date:0 @@ -214,12 +222,12 @@ msgstr "Dátum" #. module: analytic #: model:mail.message.subtype,name:analytic.mt_account_closed msgid "Contract Finished" -msgstr "" +msgstr "Szerződés végrehejtva" #. module: analytic #: view:account.analytic.account:0 msgid "Terms and Conditions" -msgstr "" +msgstr "Kikötések és feltételek" #. module: analytic #: help:account.analytic.line,amount:0 @@ -233,17 +241,17 @@ msgstr "" #. module: analytic #: field:account.analytic.account,partner_id:0 msgid "Customer" -msgstr "" +msgstr "Vevő" #. module: analytic #: field:account.analytic.account,child_complete_ids:0 msgid "Account Hierarchy" -msgstr "" +msgstr "Számla fiók hierarchia, rangsor" #. module: analytic #: field:account.analytic.account,message_ids:0 msgid "Messages" -msgstr "" +msgstr "Üzenetek" #. module: analytic #: field:account.analytic.account,parent_id:0 @@ -253,23 +261,23 @@ msgstr "Fölérendelt gyűjtőkód" #. module: analytic #: view:account.analytic.account:0 msgid "Contract Information" -msgstr "" +msgstr "Szerződé információja" #. module: analytic #: field:account.analytic.account,template_id:0 #: selection:account.analytic.account,type:0 msgid "Template of Contract" -msgstr "" +msgstr "Szerződés sablonja" #. module: analytic #: field:account.analytic.account,message_summary:0 msgid "Summary" -msgstr "" +msgstr "Összegzés" #. module: analytic #: field:account.analytic.account,quantity_max:0 msgid "Prepaid Service Units" -msgstr "" +msgstr "Előre fizetett szolgáltatási egység" #. module: analytic #: field:account.analytic.account,credit:0 @@ -279,12 +287,12 @@ msgstr "Követel" #. module: analytic #: model:mail.message.subtype,name:analytic.mt_account_opened msgid "Contract Opened" -msgstr "" +msgstr "Szerződés megnyitva, elindítva" #. module: analytic #: model:mail.message.subtype,description:analytic.mt_account_closed msgid "Contract closed" -msgstr "" +msgstr "Szerződés lezárva" #. module: analytic #: selection:account.analytic.account,state:0 @@ -294,7 +302,7 @@ msgstr "Érvénytelenített" #. module: analytic #: selection:account.analytic.account,type:0 msgid "Analytic View" -msgstr "" +msgstr "Elemző nézet" #. module: analytic #: field:account.analytic.account,balance:0 diff --git a/addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py b/addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py index 254dad95c7d..8b10381434d 100644 --- a/addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py +++ b/addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py @@ -76,11 +76,11 @@ class account_analytic_account(osv.osv): GROUP BY product_id, user_id, to_invoice, product_uom_id, line.name""", (account.id,)) res[account.id] = 0.0 - for product_id, price, user_id, factor_id, qty, uom, line_name in cr.fetchall(): + for product_id, total_amount, user_id, factor_id, qty, uom, line_name in cr.fetchall(): #the amount to reinvoice is the real cost. We don't use the pricelist - price = -price + total_amount = -total_amount factor = self.pool.get('hr_timesheet_invoice.factor').browse(cr, uid, factor_id, context=context) - res[account.id] += price * qty * (100 - factor.factor or 0.0) / 100.0 + res[account.id] += total_amount * (100 - factor.factor or 0.0) / 100.0 return res def _expense_invoiced_calc(self, cr, uid, ids, name, arg, context=None): @@ -89,8 +89,13 @@ class account_analytic_account(osv.osv): for account in self.browse(cr, uid, ids, context=context): res[account.id] = 0.0 line_ids = lines_obj.search(cr, uid, [('account_id','=', account.id), ('invoice_id','!=',False), ('to_invoice','!=', False), ('journal_id.type', '=', 'purchase')], context=context) + #Put invoices in separate array in order not to calculate them double + invoices = [] for line in lines_obj.browse(cr, uid, line_ids, context=context): - res[account.id] += line.invoice_id.amount_untaxed + if line.invoice_id not in invoices: + invoices.append(line.invoice_id) + for invoice in invoices: + res[account.id] += invoice.amount_untaxed return res def _ca_invoiced_calc(self, cr, uid, ids, name, arg, context=None): diff --git a/addons/analytic_contract_hr_expense/i18n/hu.po b/addons/analytic_contract_hr_expense/i18n/hu.po new file mode 100644 index 00000000000..f89f0239698 --- /dev/null +++ b/addons/analytic_contract_hr_expense/i18n/hu.po @@ -0,0 +1,72 @@ +# Hungarian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-03-20 14:54+0000\n" +"Last-Translator: krnkris \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-03-21 04:38+0000\n" +"X-Generator: Launchpad (build 16532)\n" + +#. module: analytic_contract_hr_expense +#: view:account.analytic.account:0 +msgid "or view" +msgstr "vagy nézet" + +#. module: analytic_contract_hr_expense +#: view:account.analytic.account:0 +msgid "Nothing to invoice, create" +msgstr "Nincs mit számlázni, hozzon létre" + +#. module: analytic_contract_hr_expense +#: view:account.analytic.account:0 +msgid "expenses" +msgstr "költségek" + +#. module: analytic_contract_hr_expense +#: model:ir.model,name:analytic_contract_hr_expense.model_account_analytic_account +msgid "Analytic Account" +msgstr "Gyűjtő/elemző könyvelés" + +#. module: analytic_contract_hr_expense +#: code:addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py:129 +#, python-format +msgid "Expenses to Invoice of %s" +msgstr "Ennek számlázandó költségei %s" + +#. module: analytic_contract_hr_expense +#: code:addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py:121 +#, python-format +msgid "Expenses of %s" +msgstr "Ennek költségei %s" + +#. module: analytic_contract_hr_expense +#: field:account.analytic.account,expense_invoiced:0 +#: field:account.analytic.account,expense_to_invoice:0 +#: field:account.analytic.account,remaining_expense:0 +msgid "unknown" +msgstr "ismeretlen" + +#. module: analytic_contract_hr_expense +#: field:account.analytic.account,est_expenses:0 +msgid "Estimation of Expenses to Invoice" +msgstr "Költségek költségek számlázára" + +#. module: analytic_contract_hr_expense +#: field:account.analytic.account,charge_expenses:0 +msgid "Charge Expenses" +msgstr "Költségek felszámolása" + +#. module: analytic_contract_hr_expense +#: view:account.analytic.account:0 +msgid "⇒ Invoice" +msgstr "⇒ Számla" diff --git a/addons/analytic_user_function/i18n/hu.po b/addons/analytic_user_function/i18n/hu.po index 1fd3d635c10..64b7d6b3367 100644 --- a/addons/analytic_user_function/i18n/hu.po +++ b/addons/analytic_user_function/i18n/hu.po @@ -7,44 +7,44 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2011-02-09 13:28+0000\n" -"Last-Translator: Krisztian Eyssen \n" +"PO-Revision-Date: 2013-03-20 14:30+0000\n" +"Last-Translator: krnkris \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: 2013-03-16 05:34+0000\n" +"X-Launchpad-Export-Date: 2013-03-21 04:38+0000\n" "X-Generator: Launchpad (build 16532)\n" #. module: analytic_user_function #: model:ir.model,name:analytic_user_function.model_account_analytic_line msgid "Analytic Line" -msgstr "" +msgstr "Gyűjtőkód tételsor" #. module: analytic_user_function #: view:account.analytic.account:0 msgid "Invoice Price Rate per User" -msgstr "" +msgstr "Számlázási ár mértéke felhasználónként" #. module: analytic_user_function #: field:analytic.user.funct.grid,product_id:0 msgid "Service" -msgstr "" +msgstr "Szolgáltatás" #. module: analytic_user_function #: model:ir.model,name:analytic_user_function.model_analytic_user_funct_grid msgid "Price per User" -msgstr "" +msgstr "Felhasználónkénti ár" #. module: analytic_user_function #: field:analytic.user.funct.grid,price:0 msgid "Price" -msgstr "" +msgstr "Ár" #. module: analytic_user_function #: help:analytic.user.funct.grid,price:0 msgid "Price per hour for this user." -msgstr "" +msgstr "Ennek a felhasználónak a óránkénti ára." #. module: analytic_user_function #: field:analytic.user.funct.grid,account_id:0 @@ -57,12 +57,12 @@ msgstr "Gyűjtőkód" #: code:addons/analytic_user_function/analytic_user_function.py:135 #, python-format msgid "Error!" -msgstr "" +msgstr "Hiba!" #. module: analytic_user_function #: view:analytic.user.funct.grid:0 msgid "Invoicing Data" -msgstr "" +msgstr "Számlázási adatok" #. module: analytic_user_function #: field:account.analytic.account,user_product_ids:0 @@ -78,11 +78,16 @@ msgid "" " of the default values when invoicing the " "customer." msgstr "" +"Határozzon meg egy sajátos szolgáltatást (pl. Rangelső tanácsadó)\n" +" és árat egy pár felhasználóhoz ezeknek az " +"adatoknak az alap\n" +" adatok helyetti használatához a vevő " +"számlázására." #. module: analytic_user_function #: field:analytic.user.funct.grid,uom_id:0 msgid "Unit of Measure" -msgstr "" +msgstr "Mértékegység" #. module: analytic_user_function #: code:addons/analytic_user_function/analytic_user_function.py:107 @@ -105,6 +110,13 @@ msgid "" " specific user. This allows to set invoicing\n" " conditions for a group of contracts." msgstr "" +"OpenERP visszamenőlegesen keresi a szülő fiókokban annak\n" +" ellenőrzésére, hogy sajátos körülmények vannak-" +"e\n" +" meghatározva a felhasználóhoz. Ez lehetővé " +"teszi\n" +" sajátos számlázási körülmény beállítását egy " +"vevő csoporthoz." #. module: analytic_user_function #: field:analytic.user.funct.grid,user_id:0 diff --git a/addons/anonymization/i18n/hu.po b/addons/anonymization/i18n/hu.po new file mode 100644 index 00000000000..bcaca33f351 --- /dev/null +++ b/addons/anonymization/i18n/hu.po @@ -0,0 +1,350 @@ +# Hungarian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-03-20 14:51+0000\n" +"Last-Translator: krnkris \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-03-21 04:38+0000\n" +"X-Generator: Launchpad (build 16532)\n" + +#. module: anonymization +#: model:ir.model,name:anonymization.model_ir_model_fields_anonymize_wizard +msgid "ir.model.fields.anonymize.wizard" +msgstr "ir.model.fields.anonymize.wizard" + +#. module: anonymization +#: field:ir.model.fields.anonymization,model_id:0 +msgid "Object" +msgstr "Objektum" + +#. module: anonymization +#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization_migration_fix +msgid "ir.model.fields.anonymization.migration.fix" +msgstr "ir.model.fields.anonymization.migration.fix" + +#. module: anonymization +#: field:ir.model.fields.anonymization.migration.fix,target_version:0 +msgid "Target Version" +msgstr "Cél verziója" + +#. module: anonymization +#: selection:ir.model.fields.anonymization.migration.fix,query_type:0 +msgid "sql" +msgstr "sql" + +#. module: anonymization +#: code:addons/anonymization/anonymization.py:91 +#, python-format +msgid "" +"The database anonymization is currently in an unstable state. Some fields " +"are anonymized, while some fields are not anonymized. You should try to " +"solve this problem before trying to create, write or delete fields." +msgstr "" +"Az adatbázis névtelenítő/titkosító bizonytalan állapotban van. Egyes mezők " +"névtelenítettek/titkosítottak lesznek, de egyesek nem. Ezt a problémát meg " +"kell oldania, mielőtt mezőket hozna létre, írna vagy törölne." + +#. module: anonymization +#: field:ir.model.fields.anonymization,field_name:0 +msgid "Field Name" +msgstr "Mezőnév" + +#. module: anonymization +#: field:ir.model.fields.anonymization,field_id:0 +#: field:ir.model.fields.anonymization.migration.fix,field_name:0 +msgid "Field" +msgstr "Mező" + +#. module: anonymization +#: selection:ir.model.fields.anonymization,state:0 +msgid "New" +msgstr "Új" + +#. module: anonymization +#: field:ir.model.fields.anonymize.wizard,file_import:0 +msgid "Import" +msgstr "Importálás" + +#. module: anonymization +#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization +msgid "ir.model.fields.anonymization" +msgstr "ir.model.fields.anonymization" + +#. module: anonymization +#: code:addons/anonymization/anonymization.py:300 +#, python-format +msgid "" +"Before executing the anonymization process, you should make a backup of your " +"database." +msgstr "" +"Mielőtt kiadna egy névtelenítő/titkosító folyamatot, készítsen mentést az " +"adatbázisról." + +#. module: anonymization +#: field:ir.model.fields.anonymization.history,state:0 +#: field:ir.model.fields.anonymize.wizard,state:0 +msgid "Status" +msgstr "Állapot" + +#. module: anonymization +#: field:ir.model.fields.anonymization.history,direction:0 +msgid "Direction" +msgstr "Irány" + +#. module: anonymization +#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymization_tree +#: view:ir.model.fields.anonymization:0 +#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_fields +msgid "Anonymized Fields" +msgstr "névtelenített/titkosított mezők" + +#. module: anonymization +#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization +msgid "Database anonymization" +msgstr "Adatbázis névtelenítés/titkosítás" + +#. module: anonymization +#: selection:ir.model.fields.anonymization.history,direction:0 +msgid "clear -> anonymized" +msgstr "törlés -> titkosított" + +#. module: anonymization +#: selection:ir.model.fields.anonymization,state:0 +#: selection:ir.model.fields.anonymize.wizard,state:0 +msgid "Anonymized" +msgstr "Névtelenített/titkosított" + +#. module: anonymization +#: field:ir.model.fields.anonymization,state:0 +msgid "unknown" +msgstr "ismeretlen" + +#. module: anonymization +#: code:addons/anonymization/anonymization.py:448 +#, python-format +msgid "Anonymized value is None. This cannot happens." +msgstr "Nincs névtelenítés/titkosítás. Ilyen nincs." + +#. module: anonymization +#: field:ir.model.fields.anonymization.history,filepath:0 +msgid "File path" +msgstr "Fájl elérési útvonal" + +#. module: anonymization +#: help:ir.model.fields.anonymize.wizard,file_import:0 +msgid "" +"This is the file created by the anonymization process. It should have the " +"'.pickle' extention." +msgstr "" +"Ez a névtelenítési/titkosítási folyamat által létrehozott fájl. Ennek " +"'.pickle' kiterjesztésűnek kell lennie." + +#. module: anonymization +#: field:ir.model.fields.anonymization.history,date:0 +msgid "Date" +msgstr "Dátum" + +#. module: anonymization +#: field:ir.model.fields.anonymize.wizard,file_export:0 +msgid "Export" +msgstr "Exportálás" + +#. module: anonymization +#: view:ir.model.fields.anonymize.wizard:0 +msgid "Reverse the Database Anonymization" +msgstr "Állítsa vissza az adatbázis névtelenítését/titkosítását" + +#. module: anonymization +#: code:addons/anonymization/anonymization.py:444 +#, python-format +msgid "" +"Cannot anonymize fields of these types: binary, many2many, many2one, " +"one2many, reference." +msgstr "" +"ilyen típusú mezőket nem tud névteleníteni/titkosítani: bináris, many2many, " +"many2one, one2many, referencia, hivatkozás." + +#. module: anonymization +#: view:ir.model.fields.anonymize.wizard:0 +msgid "Database Anonymization" +msgstr "Adatbázis névtelenítése/titkosítása" + +#. module: anonymization +#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_wizard +msgid "Anonymize database" +msgstr "Adatbázis névtelenítés/titkosítás" + +#. module: anonymization +#: selection:ir.model.fields.anonymization.migration.fix,query_type:0 +msgid "python" +msgstr "python" + +#. module: anonymization +#: view:ir.model.fields.anonymization.history:0 +#: field:ir.model.fields.anonymization.history,field_ids:0 +msgid "Fields" +msgstr "Mezők" + +#. module: anonymization +#: selection:ir.model.fields.anonymization,state:0 +#: selection:ir.model.fields.anonymize.wizard,state:0 +msgid "Clear" +msgstr "Tiszta" + +#. module: anonymization +#: code:addons/anonymization/anonymization.py:533 +#, python-format +msgid "" +"It is not possible to reverse the anonymization process without supplying " +"the anonymization export file." +msgstr "" +"Nem lehetséges a névtelenítés/titkosítás visszaállítási folyamat az " +"névtelenítési/titkosítási export fájl megléte nélkül." + +#. module: anonymization +#: field:ir.model.fields.anonymize.wizard,summary:0 +msgid "Summary" +msgstr "Összegzés" + +#. module: anonymization +#: view:ir.model.fields.anonymization:0 +msgid "Anonymized Field" +msgstr "Névtelenített/titkosított mező" + +#. module: anonymization +#: code:addons/anonymization/anonymization.py:391 +#: code:addons/anonymization/anonymization.py:526 +#, python-format +msgid "" +"The database anonymization is currently in an unstable state. Some fields " +"are anonymized, while some fields are not anonymized. You should try to " +"solve this problem before trying to do anything." +msgstr "" +"Az adatbázis névtelenítő/titkosító bizonytalan állapotban van. Egyes mezők " +"névtelenítettek/titkosítottak lesznek, de egyesek nem. Ezt a problémát meg " +"kell oldania, mielőtt tenne valamit." + +#. module: anonymization +#: selection:ir.model.fields.anonymize.wizard,state:0 +msgid "Unstable" +msgstr "Bizonytalan" + +#. module: anonymization +#: selection:ir.model.fields.anonymization.history,state:0 +msgid "Exception occured" +msgstr "Kivétel keletkezett" + +#. module: anonymization +#: selection:ir.model.fields.anonymization,state:0 +msgid "Not Existing" +msgstr "Nem létező" + +#. module: anonymization +#: field:ir.model.fields.anonymization,model_name:0 +msgid "Object Name" +msgstr "Tárgy neve" + +#. module: anonymization +#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymization_history_tree +#: view:ir.model.fields.anonymization.history:0 +#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_history +msgid "Anonymization History" +msgstr "Névtelenítési/titkosítási történet" + +#. module: anonymization +#: field:ir.model.fields.anonymization.migration.fix,model_name:0 +msgid "Model" +msgstr "Modell" + +#. module: anonymization +#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization_history +msgid "ir.model.fields.anonymization.history" +msgstr "ir.model.fields.anonymization.history" + +#. module: anonymization +#: code:addons/anonymization/anonymization.py:358 +#, python-format +msgid "" +"The database anonymization is currently in an unstable state. Some fields " +"are anonymized, while some fields are not anonymized. You should try to " +"solve this problem before trying to do anything else." +msgstr "" +"Az adatbázis névtelenítő/titkosító bizonytalan állapotban van. Egyes mezők " +"névtelenítettek/titkosítottak lesznek, de egyesek nem. Ezt a problémát meg " +"kell oldania, mielőtt tenne valami mást." + +#. module: anonymization +#: code:addons/anonymization/anonymization.py:389 +#: code:addons/anonymization/anonymization.py:448 +#, python-format +msgid "Error !" +msgstr "Hiba!" + +#. module: anonymization +#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymize_wizard +#: view:ir.model.fields.anonymize.wizard:0 +msgid "Anonymize Database" +msgstr "Adatbázis névtelenítés/titkosítás" + +#. module: anonymization +#: field:ir.model.fields.anonymize.wizard,name:0 +msgid "File Name" +msgstr "Fájl neve" + +#. module: anonymization +#: field:ir.model.fields.anonymization.migration.fix,sequence:0 +msgid "Sequence" +msgstr "Sorrend/szekvencia" + +#. module: anonymization +#: selection:ir.model.fields.anonymization.history,direction:0 +msgid "anonymized -> clear" +msgstr "névtelenített/titkosított -> üres" + +#. module: anonymization +#: selection:ir.model.fields.anonymization.history,state:0 +msgid "Started" +msgstr "Elkezdve" + +#. module: anonymization +#: code:addons/anonymization/anonymization.py:389 +#, python-format +msgid "The database is currently anonymized, you cannot anonymize it again." +msgstr "" +"Az adatbázis jelenleg névtelenítettek/titkosítot, nem tudja még egyszer " +"névteleníteteni/titkosítani." + +#. module: anonymization +#: selection:ir.model.fields.anonymization.history,state:0 +msgid "Done" +msgstr "Elvégezve" + +#. module: anonymization +#: field:ir.model.fields.anonymization.migration.fix,query:0 +#: field:ir.model.fields.anonymization.migration.fix,query_type:0 +msgid "Query" +msgstr "Kérdés" + +#. module: anonymization +#: view:ir.model.fields.anonymization.history:0 +#: field:ir.model.fields.anonymization.history,msg:0 +#: field:ir.model.fields.anonymize.wizard,msg:0 +msgid "Message" +msgstr "Üzenet" + +#. module: anonymization +#: code:addons/anonymization/anonymization.py:65 +#: sql_constraint:ir.model.fields.anonymization:0 +#, python-format +msgid "You cannot have two fields with the same name on the same object!" +msgstr "Nem lehet ugyanazon a tárgyon lévő két mezőnek ugyanaz a neve!" diff --git a/addons/association/i18n/hu.po b/addons/association/i18n/hu.po index ee3d0d9963b..e35eb0d4f7b 100644 --- a/addons/association/i18n/hu.po +++ b/addons/association/i18n/hu.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2011-01-11 11:14+0000\n" -"PO-Revision-Date: 2011-02-02 16:47+0000\n" -"Last-Translator: Krisztian Eyssen \n" +"PO-Revision-Date: 2013-03-20 13:52+0000\n" +"Last-Translator: krnkris \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: 2013-03-16 05:47+0000\n" +"X-Launchpad-Export-Date: 2013-03-21 04:38+0000\n" "X-Generator: Launchpad (build 16532)\n" #. module: association @@ -29,7 +29,7 @@ msgstr "Események kezelése" #. module: association #: field:profile.association.config.install_modules_wizard,project_gtd:0 msgid "Getting Things Done" -msgstr "" +msgstr "Getting Things Done - GTD módszer, végezzük el a feladatokat" #. module: association #: model:ir.module.module,description:association.module_meta_information @@ -81,6 +81,8 @@ msgid "" "GTD is a methodology to efficiently organise yourself and your tasks. This " "module fully integrates GTD principle with OpenERP's project management." msgstr "" +"A GTD a feladatok hatékony rendszerezésére szolgáló módszertan. Ez a modul " +"teljesen integrálja a GTD alapelvet az OpenERP projektmenedzsmentjébe." #. module: association #: view:profile.association.config.install_modules_wizard:0 diff --git a/addons/audittrail/audittrail.py b/addons/audittrail/audittrail.py index 0debdf11492..811c5387697 100644 --- a/addons/audittrail/audittrail.py +++ b/addons/audittrail/audittrail.py @@ -19,10 +19,10 @@ # ############################################################################## +import openerp from openerp.osv import fields, osv import openerp.service.model from openerp.tools.translate import _ -from openerp import pooler import time from openerp import tools from openerp import SUPERUSER_ID @@ -113,7 +113,6 @@ class audittrail_rule(osv.osv): value = "ir.actions.act_window" + ',' + str(w_id[0]) val_id = ir_values_obj.search(cr, uid, [('model', '=', thisrule.object_id.model), ('value', '=', value)]) if val_id: - ir_values_obj = pooler.get_pool(cr.dbname).get('ir.values') res = ir_values_obj.unlink(cr, uid, [val_id[0]]) self.write(cr, uid, [thisrule.id], {"state": "draft"}) #End Loop @@ -212,7 +211,7 @@ def create_log_line(cr, uid, log_id, model, lines=None): """ if lines is None: lines = [] - pool = pooler.get_pool(cr.dbname) + pool = openerp.registry(cr.dbname) obj_pool = pool.get(model.model) model_pool = pool.get('ir.model') field_pool = pool.get('ir.model.fields') @@ -251,7 +250,7 @@ def log_fct(cr, uid_orig, model, method, fct_src, *args, **kw): @return: Returns result as per method of Object proxy """ - pool = pooler.get_pool(cr.dbname) + pool = openerp.registry(cr.dbname) resource_pool = pool.get(model) model_pool = pool.get('ir.model') model_ids = model_pool.search(cr, SUPERUSER_ID, [('model', '=', model)]) @@ -492,7 +491,7 @@ def check_rules(cr, uid, model, method): @param method: method to log: create, read, unlink,write,actions,workflow actions @return: True or False """ - pool = pooler.get_pool(cr.dbname) + pool = openerp.registry(cr.dbname) if 'audittrail.rule' in pool.models: model_ids = pool.get('ir.model').search(cr, SUPERUSER_ID, [('model', '=', model)]) model_id = model_ids and model_ids[0] or False diff --git a/addons/audittrail/i18n/hu.po b/addons/audittrail/i18n/hu.po index 4fb375181cd..e5bee742c5c 100644 --- a/addons/audittrail/i18n/hu.po +++ b/addons/audittrail/i18n/hu.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-12-21 17:05+0000\n" -"PO-Revision-Date: 2011-01-31 12:50+0000\n" -"Last-Translator: Krisztian Eyssen \n" +"PO-Revision-Date: 2013-03-20 14:23+0000\n" +"Last-Translator: krnkris \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: 2013-03-16 05:32+0000\n" +"X-Launchpad-Export-Date: 2013-03-21 04:38+0000\n" "X-Generator: Launchpad (build 16532)\n" #. module: audittrail #: view:audittrail.log:0 msgid "Old Value Text : " -msgstr "" +msgstr "Szöveg régi értéke: " #. module: audittrail #: code:addons/audittrail/audittrail.py:76 #, python-format msgid "WARNING: audittrail is not part of the pool" -msgstr "" +msgstr "VIGYÁZAT: sávvizsgálat nem képezi részét az összegyűjtött edatnak" #. module: audittrail #: field:audittrail.log.line,log_id:0 @@ -36,7 +36,7 @@ msgstr "Napló" #: view:audittrail.rule:0 #: selection:audittrail.rule,state:0 msgid "Subscribed" -msgstr "" +msgstr "Feliratkozva" #. module: audittrail #: code:addons/audittrail/audittrail.py:260 @@ -44,31 +44,31 @@ msgstr "" #: code:addons/audittrail/audittrail.py:408 #, python-format msgid "'%s' Model does not exist..." -msgstr "" +msgstr "'%s' Modell nem létezik..." #. module: audittrail #: view:audittrail.rule:0 msgid "Subscribed Rule" -msgstr "" +msgstr "Szabály a feliratkozáshoz" #. module: audittrail #: view:audittrail.rule:0 #: model:ir.model,name:audittrail.model_audittrail_rule msgid "Audittrail Rule" -msgstr "" +msgstr "Szabály a sávvizsgálatra" #. module: audittrail #: view:audittrail.rule:0 #: field:audittrail.rule,state:0 msgid "Status" -msgstr "" +msgstr "Állapot" #. module: audittrail #: view:audittrail.view.log:0 #: model:ir.actions.act_window,name:audittrail.action_audittrail_log_tree #: model:ir.ui.menu,name:audittrail.menu_audit_logs msgid "Audit Logs" -msgstr "" +msgstr "Vizsgálati naplózások" #. module: audittrail #: view:audittrail.log:0 @@ -79,7 +79,7 @@ msgstr "Csoportosítás..." #. module: audittrail #: view:audittrail.rule:0 msgid "_Subscribe" -msgstr "" +msgstr "_Feliratkozás" #. module: audittrail #: view:audittrail.rule:0 @@ -103,6 +103,8 @@ msgid "" "Select this if you want to keep track of read/open on any record of the " "object of this rule" msgstr "" +"Válassza ezt, ha nyomon akarja követni ehhez a szabályhoz tartozó bármely " +"objektum rekord írását/olvasását" #. module: audittrail #: field:audittrail.log,method:0 @@ -112,7 +114,7 @@ msgstr "Módszer" #. module: audittrail #: field:audittrail.view.log,from:0 msgid "Log From" -msgstr "" +msgstr "Naplózási forma" #. module: audittrail #: field:audittrail.log.line,log:0 @@ -127,7 +129,7 @@ msgstr "Forrás ID" #. module: audittrail #: help:audittrail.rule,user_id:0 msgid "if User is not added then it will applicable for all users" -msgstr "" +msgstr "Ha nincs felhasználó hozzáadva akkor minden felhasználó hozzáférhet" #. module: audittrail #: help:audittrail.rule,log_workflow:0 @@ -135,6 +137,8 @@ msgid "" "Select this if you want to keep track of workflow on any record of the " "object of this rule" msgstr "" +"Válassza ezt, ha nyomon akarja követni ehhez a szabályhoz tartozó bármely " +"objektum rekord munkafolyamatát" #. module: audittrail #: field:audittrail.rule,user_id:0 @@ -144,7 +148,7 @@ msgstr "Felhasználók" #. module: audittrail #: view:audittrail.log:0 msgid "Log Lines" -msgstr "" +msgstr "Naplózási sorok" #. module: audittrail #: view:audittrail.log:0 @@ -156,28 +160,28 @@ msgstr "Tárgy" #. module: audittrail #: view:audittrail.rule:0 msgid "AuditTrail Rule" -msgstr "" +msgstr "Sávvizsgálati szabály" #. module: audittrail #: field:audittrail.view.log,to:0 msgid "Log To" -msgstr "" +msgstr "Napló erre" #. module: audittrail #: view:audittrail.log:0 msgid "New Value Text: " -msgstr "" +msgstr "Új érték a szövegre: " #. module: audittrail #: view:audittrail.rule:0 msgid "Search Audittrail Rule" -msgstr "" +msgstr "Sávvizsgálati szabály keresése" #. module: audittrail #: model:ir.actions.act_window,name:audittrail.action_audittrail_rule_tree #: model:ir.ui.menu,name:audittrail.menu_action_audittrail_rule_tree msgid "Audit Rules" -msgstr "" +msgstr "Vizsgálati szabályok" #. module: audittrail #: view:audittrail.log:0 @@ -201,42 +205,45 @@ msgid "" "Select this if you want to keep track of modification on any record of the " "object of this rule" msgstr "" +"Válassza ezt, ha nyomon akarja követni ehhez a szabályhoz tartozó bármely " +"objektum rekord módosítását" #. module: audittrail #: view:audittrail.rule:0 msgid "AuditTrail Rules" -msgstr "" +msgstr "Sávvizsgálati szabályok" #. module: audittrail #: help:audittrail.rule,object_id:0 msgid "Select object for which you want to generate log." -msgstr "" +msgstr "Válassza ki az objektumot amire a naplózást szeretné végezni." #. module: audittrail #: model:ir.ui.menu,name:audittrail.menu_audit msgid "Audit" -msgstr "" +msgstr "Vizsgálat" #. module: audittrail #: field:audittrail.rule,log_workflow:0 msgid "Log Workflow" -msgstr "" +msgstr "Naplózza a munkafolyamatot" #. module: audittrail #: field:audittrail.rule,log_read:0 msgid "Log Reads" -msgstr "" +msgstr "Naplózza az olvasásokat" #. module: audittrail #: code:addons/audittrail/audittrail.py:77 #, python-format msgid "Change audittrail depends -- Setting rule as DRAFT" msgstr "" +"Sávvizsgálat függőség megváltoztatása -- A szabály TERVEZET -re állítja" #. module: audittrail #: field:audittrail.log,line_ids:0 msgid "Log lines" -msgstr "" +msgstr "Naplózza a sorokat" #. module: audittrail #: field:audittrail.log.line,field_id:0 @@ -246,7 +253,7 @@ msgstr "Mezők" #. module: audittrail #: field:audittrail.rule,log_create:0 msgid "Log Creates" -msgstr "" +msgstr "Naplózza a létrehozásokat" #. module: audittrail #: help:audittrail.rule,log_unlink:0 @@ -254,6 +261,8 @@ msgid "" "Select this if you want to keep track of deletion on any record of the " "object of this rule" msgstr "" +"Válassza ezt, ha nyomon akarja követni ehhez a szabályhoz tartozó bármely " +"objektum rekord törlését" #. module: audittrail #: view:audittrail.log:0 @@ -270,6 +279,8 @@ msgstr "Művelet ID" #: view:audittrail.rule:0 msgid "Users (if User is not added then it will applicable for all users)" msgstr "" +"Felhasználók (ha nincs felhasználó hozzáadva akkor az összes felhasználóra " +"érvényes)" #. module: audittrail #: view:audittrail.rule:0 @@ -282,17 +293,19 @@ msgid "" "There is already a rule defined on this object\n" " You cannot define another: please edit the existing one." msgstr "" +"Erre az objektumra már van szabály\n" +" Nem tud másikat meghatározni: kérem szerkessze a meglévőt." #. module: audittrail #: field:audittrail.rule,log_unlink:0 msgid "Log Deletes" -msgstr "" +msgstr "Naplók a törlésre" #. module: audittrail #: view:audittrail.log:0 #: view:audittrail.rule:0 msgid "Model" -msgstr "" +msgstr "Modell" #. module: audittrail #: field:audittrail.log.line,field_description:0 @@ -302,22 +315,22 @@ msgstr "Mező leírása" #. module: audittrail #: view:audittrail.log:0 msgid "Search Audittrail Log" -msgstr "" +msgstr "Sávvizsgálat napló keresése" #. module: audittrail #: field:audittrail.rule,log_write:0 msgid "Log Writes" -msgstr "" +msgstr "Napló az írásra" #. module: audittrail #: view:audittrail.view.log:0 msgid "Open Logs" -msgstr "" +msgstr "Naplók megnyitása" #. module: audittrail #: field:audittrail.log.line,new_value_text:0 msgid "New value Text" -msgstr "" +msgstr "Szöveh új értéke" #. module: audittrail #: field:audittrail.rule,name:0 @@ -333,29 +346,31 @@ msgstr "Új érték" #: code:addons/audittrail/audittrail.py:223 #, python-format msgid "'%s' field does not exist in '%s' model" -msgstr "" +msgstr "'%s' mező nem létezik a '%s' modellben" #. module: audittrail #: view:audittrail.log:0 msgid "AuditTrail Logs" -msgstr "" +msgstr "Sávvizsgálati naplók" #. module: audittrail #: view:audittrail.rule:0 msgid "Draft Rule" -msgstr "" +msgstr "Szabály tervezet" #. module: audittrail #: view:audittrail.log:0 #: model:ir.model,name:audittrail.model_audittrail_log msgid "Audittrail Log" -msgstr "" +msgstr "Sávvizsgálati napló" #. module: audittrail #: help:audittrail.rule,log_action:0 msgid "" "Select this if you want to keep track of actions on the object of this rule" msgstr "" +"VVálassza ezt, ha nyomon akarja követni ehhez a szabályhoz tartozó bármely " +"objektum rekord műveleteit" #. module: audittrail #: view:audittrail.log:0 @@ -365,32 +380,32 @@ msgstr "Új érték : " #. module: audittrail #: field:audittrail.log.line,old_value_text:0 msgid "Old value Text" -msgstr "" +msgstr "Szöveg régi értéke" #. module: audittrail #: view:audittrail.view.log:0 msgid "Cancel" -msgstr "" +msgstr "Megszakítás" #. module: audittrail #: model:ir.model,name:audittrail.model_audittrail_view_log msgid "View Log" -msgstr "" +msgstr "Napló megtekintése" #. module: audittrail #: model:ir.model,name:audittrail.model_audittrail_log_line msgid "Log Line" -msgstr "" +msgstr "Napló a sorokra" #. module: audittrail #: view:audittrail.view.log:0 msgid "or" -msgstr "" +msgstr "vagy" #. module: audittrail #: field:audittrail.rule,log_action:0 msgid "Log Action" -msgstr "" +msgstr "napló a műveletekre" #. module: audittrail #: help:audittrail.rule,log_create:0 @@ -398,6 +413,8 @@ msgid "" "Select this if you want to keep track of creation on any record of the " "object of this rule" msgstr "" +"Válassza ezt, ha nyomon akarja követni ehhez a szabályhoz tartozó bármely " +"objektum rekord létrehozását" #~ msgid "State" #~ msgstr "Állapot" diff --git a/addons/auth_crypt/i18n/hu.po b/addons/auth_crypt/i18n/hu.po new file mode 100644 index 00000000000..03b51f265ac --- /dev/null +++ b/addons/auth_crypt/i18n/hu.po @@ -0,0 +1,28 @@ +# Hungarian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-03-19 18:28+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-03-20 04:42+0000\n" +"X-Generator: Launchpad (build 16532)\n" + +#. module: auth_crypt +#: field:res.users,password_crypt:0 +msgid "Encrypted Password" +msgstr "Kódolt jalszó" + +#. module: auth_crypt +#: model:ir.model,name:auth_crypt.model_res_users +msgid "Users" +msgstr "Felhasználók" diff --git a/addons/auth_ldap/users_ldap.py b/addons/auth_ldap/users_ldap.py index a63d52209ba..e8778449da5 100644 --- a/addons/auth_ldap/users_ldap.py +++ b/addons/auth_ldap/users_ldap.py @@ -23,7 +23,6 @@ import logging from ldap.filter import filter_format import openerp.exceptions -from openerp import pooler from openerp import tools from openerp.osv import fields, osv from openerp import SUPERUSER_ID @@ -188,7 +187,7 @@ class CompanyLDAP(osv.osv): user_id = res[0] elif conf['create_user']: _logger.debug("Creating new OpenERP user \"%s\" from LDAP" % login) - user_obj = self.pool.get('res.users') + user_obj = self.pool['res.users'] values = self.map_ldap_attributes(cr, uid, conf, login, ldap_entry) if conf['user']: user_id = user_obj.copy(cr, SUPERUSER_ID, conf['user'], @@ -246,8 +245,8 @@ class users(osv.osv): user_id = super(users, self).login(db, login, password) if user_id: return user_id - cr = pooler.get_db(db).cursor() - ldap_obj = pooler.get_pool(db).get('res.company.ldap') + cr = self.pool.db.cursor() + ldap_obj = self.pool['res.company.ldap'] for conf in ldap_obj.get_ldap_dicts(cr): entry = ldap_obj.authenticate(conf, login, password) if entry: @@ -269,12 +268,12 @@ class users(osv.osv): except openerp.exceptions.AccessDenied: pass - cr = pooler.get_db(db).cursor() + cr = self.pool.db.cursor() cr.execute('SELECT login FROM res_users WHERE id=%s AND active=TRUE', (int(uid),)) res = cr.fetchone() if res: - ldap_obj = pooler.get_pool(db).get('res.company.ldap') + ldap_obj = self.pool['res.company.ldap'] for conf in ldap_obj.get_ldap_dicts(cr): if ldap_obj.authenticate(conf, res[0], passwd): self._uid_cache.setdefault(db, {})[uid] = passwd diff --git a/addons/auth_oauth/controllers/main.py b/addons/auth_oauth/controllers/main.py index 1c38f7f4eae..3f7ef2f3f0c 100644 --- a/addons/auth_oauth/controllers/main.py +++ b/addons/auth_oauth/controllers/main.py @@ -64,8 +64,13 @@ class OAuthController(oeweb.Controller): u = registry.get('res.users') credentials = u.auth_oauth(cr, SUPERUSER_ID, provider, kw, context=context) cr.commit() - action = state.get('a', None) - url = '/#action=' + action if action else '/' + action = state.get('a') + menu = state.get('m') + url = '/' + if action: + url = '/#action=%s' % action + elif menu: + url = '/#menu_id=%s' % menu return login_and_redirect(req, *credentials, redirect_url=url) except AttributeError: # auth_signup is not installed diff --git a/addons/auth_oauth/i18n/hu.po b/addons/auth_oauth/i18n/hu.po new file mode 100644 index 00000000000..5a5c102afaf --- /dev/null +++ b/addons/auth_oauth/i18n/hu.po @@ -0,0 +1,135 @@ +# Hungarian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-03-19 18:17+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-03-20 04:42+0000\n" +"X-Generator: Launchpad (build 16532)\n" + +#. module: auth_oauth +#: field:auth.oauth.provider,validation_endpoint:0 +msgid "Validation URL" +msgstr "URL elérési út érvényesítés" + +#. module: auth_oauth +#: field:auth.oauth.provider,auth_endpoint:0 +msgid "Authentication URL" +msgstr "URL elérési út hitelesítés" + +#. module: auth_oauth +#: model:ir.model,name:auth_oauth.model_base_config_settings +msgid "base.config.settings" +msgstr "base.config.settings" + +#. module: auth_oauth +#: field:auth.oauth.provider,name:0 +msgid "Provider name" +msgstr "Szolgáltató neve" + +#. module: auth_oauth +#: field:auth.oauth.provider,scope:0 +msgid "Scope" +msgstr "Hatáskör" + +#. module: auth_oauth +#: field:res.users,oauth_provider_id:0 +msgid "OAuth Provider" +msgstr "OAuth szolgáltató" + +#. module: auth_oauth +#: field:auth.oauth.provider,css_class:0 +msgid "CSS class" +msgstr "CSS osztály" + +#. module: auth_oauth +#: field:auth.oauth.provider,body:0 +msgid "Body" +msgstr "Törzs" + +#. module: auth_oauth +#: model:ir.model,name:auth_oauth.model_res_users +msgid "Users" +msgstr "Felhasználók" + +#. module: auth_oauth +#: field:auth.oauth.provider,sequence:0 +msgid "unknown" +msgstr "ismeretlen" + +#. module: auth_oauth +#: field:res.users,oauth_access_token:0 +msgid "OAuth Access Token" +msgstr "OAuth hozzáférési Token" + +#. module: auth_oauth +#: field:auth.oauth.provider,client_id:0 +#: field:base.config.settings,auth_oauth_facebook_client_id:0 +#: field:base.config.settings,auth_oauth_google_client_id:0 +msgid "Client ID" +msgstr "Ügyfál ID azonosító" + +#. module: auth_oauth +#: model:ir.ui.menu,name:auth_oauth.menu_oauth_providers +msgid "OAuth Providers" +msgstr "OAuth szolgáltatók" + +#. module: auth_oauth +#: model:ir.model,name:auth_oauth.model_auth_oauth_provider +msgid "OAuth2 provider" +msgstr "OAuth2 szolgáltató" + +#. module: auth_oauth +#: field:res.users,oauth_uid:0 +msgid "OAuth User ID" +msgstr "OAuth felhasználó ID azonosító" + +#. module: auth_oauth +#: field:base.config.settings,auth_oauth_facebook_enabled:0 +msgid "Allow users to sign in with Facebook" +msgstr "Felhasználók Facebook keresztüli bejelentkezés engedélyezése" + +#. module: auth_oauth +#: sql_constraint:res.users:0 +msgid "OAuth UID must be unique per provider" +msgstr "OAuth UID egyedinek kell lennie mindegyik szolgáltatóhoz" + +#. module: auth_oauth +#: help:res.users,oauth_uid:0 +msgid "Oauth Provider user_id" +msgstr "Oauth szolgáltatói felhasználó_id" + +#. module: auth_oauth +#: field:auth.oauth.provider,data_endpoint:0 +msgid "Data URL" +msgstr "Adat URL elérési út" + +#. module: auth_oauth +#: view:auth.oauth.provider:0 +msgid "arch" +msgstr "" + +#. module: auth_oauth +#: model:ir.actions.act_window,name:auth_oauth.action_oauth_provider +msgid "Providers" +msgstr "" + +#. module: auth_oauth +#: field:base.config.settings,auth_oauth_google_enabled:0 +msgid "Allow users to sign in with Google" +msgstr "" + +#. module: auth_oauth +#: field:auth.oauth.provider,enabled:0 +msgid "Allowed" +msgstr "" diff --git a/addons/auth_oauth/i18n/tr.po b/addons/auth_oauth/i18n/tr.po new file mode 100644 index 00000000000..7faa18ccebf --- /dev/null +++ b/addons/auth_oauth/i18n/tr.po @@ -0,0 +1,135 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-03-21 19:39+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-03-22 04:57+0000\n" +"X-Generator: Launchpad (build 16532)\n" + +#. module: auth_oauth +#: field:auth.oauth.provider,validation_endpoint:0 +msgid "Validation URL" +msgstr "Onaylama URL" + +#. module: auth_oauth +#: field:auth.oauth.provider,auth_endpoint:0 +msgid "Authentication URL" +msgstr "Kimlik Doğrulama URL" + +#. module: auth_oauth +#: model:ir.model,name:auth_oauth.model_base_config_settings +msgid "base.config.settings" +msgstr "base.config.settings" + +#. module: auth_oauth +#: field:auth.oauth.provider,name:0 +msgid "Provider name" +msgstr "Sağlayıcı adı" + +#. module: auth_oauth +#: field:auth.oauth.provider,scope:0 +msgid "Scope" +msgstr "Kapsam" + +#. module: auth_oauth +#: field:res.users,oauth_provider_id:0 +msgid "OAuth Provider" +msgstr "" + +#. module: auth_oauth +#: field:auth.oauth.provider,css_class:0 +msgid "CSS class" +msgstr "CSS class" + +#. module: auth_oauth +#: field:auth.oauth.provider,body:0 +msgid "Body" +msgstr "" + +#. module: auth_oauth +#: model:ir.model,name:auth_oauth.model_res_users +msgid "Users" +msgstr "Kullanıcılar" + +#. module: auth_oauth +#: field:auth.oauth.provider,sequence:0 +msgid "unknown" +msgstr "bilinmeyen" + +#. module: auth_oauth +#: field:res.users,oauth_access_token:0 +msgid "OAuth Access Token" +msgstr "" + +#. module: auth_oauth +#: field:auth.oauth.provider,client_id:0 +#: field:base.config.settings,auth_oauth_facebook_client_id:0 +#: field:base.config.settings,auth_oauth_google_client_id:0 +msgid "Client ID" +msgstr "" + +#. module: auth_oauth +#: model:ir.ui.menu,name:auth_oauth.menu_oauth_providers +msgid "OAuth Providers" +msgstr "" + +#. module: auth_oauth +#: model:ir.model,name:auth_oauth.model_auth_oauth_provider +msgid "OAuth2 provider" +msgstr "" + +#. module: auth_oauth +#: field:res.users,oauth_uid:0 +msgid "OAuth User ID" +msgstr "" + +#. module: auth_oauth +#: field:base.config.settings,auth_oauth_facebook_enabled:0 +msgid "Allow users to sign in with Facebook" +msgstr "Kullanıcılara Facebook ile oturum için izin ver" + +#. module: auth_oauth +#: sql_constraint:res.users:0 +msgid "OAuth UID must be unique per provider" +msgstr "" + +#. module: auth_oauth +#: help:res.users,oauth_uid:0 +msgid "Oauth Provider user_id" +msgstr "" + +#. module: auth_oauth +#: field:auth.oauth.provider,data_endpoint:0 +msgid "Data URL" +msgstr "Data URL" + +#. module: auth_oauth +#: view:auth.oauth.provider:0 +msgid "arch" +msgstr "" + +#. module: auth_oauth +#: model:ir.actions.act_window,name:auth_oauth.action_oauth_provider +msgid "Providers" +msgstr "Sağlayıcılar" + +#. module: auth_oauth +#: field:base.config.settings,auth_oauth_google_enabled:0 +msgid "Allow users to sign in with Google" +msgstr "" + +#. module: auth_oauth +#: field:auth.oauth.provider,enabled:0 +msgid "Allowed" +msgstr "İzinVerildi" diff --git a/addons/auth_oauth_signup/i18n/hu.po b/addons/auth_oauth_signup/i18n/hu.po new file mode 100644 index 00000000000..c0f8c00557a --- /dev/null +++ b/addons/auth_oauth_signup/i18n/hu.po @@ -0,0 +1,23 @@ +# Hungarian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-03-19 18:13+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-03-20 04:42+0000\n" +"X-Generator: Launchpad (build 16532)\n" + +#. module: auth_oauth_signup +#: model:ir.model,name:auth_oauth_signup.model_res_users +msgid "Users" +msgstr "Felhasználók" diff --git a/addons/auth_openid/i18n/hu.po b/addons/auth_openid/i18n/hu.po new file mode 100644 index 00000000000..356f7180f8c --- /dev/null +++ b/addons/auth_openid/i18n/hu.po @@ -0,0 +1,97 @@ +# Hungarian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-03-19 18:15+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-03-20 04:42+0000\n" +"X-Generator: Launchpad (build 16532)\n" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:24 +#, python-format +msgid "Username" +msgstr "Felhasználónév" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:12 +#: view:res.users:0 +#, python-format +msgid "OpenID" +msgstr "OpenID" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:30 +#: field:res.users,openid_url:0 +#, python-format +msgid "OpenID URL" +msgstr "OpenID URL elérési út" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:9 +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:10 +#, python-format +msgid "Google" +msgstr "Google" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:11 +#, python-format +msgid "Launchpad" +msgstr "Launchpad/Kiadásiszerk" + +#. module: auth_openid +#: help:res.users,openid_email:0 +msgid "Used for disambiguation in case of a shared OpenID URL" +msgstr "" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:18 +#, python-format +msgid "Google Apps Domain" +msgstr "Google Alk Domain" + +#. module: auth_openid +#: field:res.users,openid_email:0 +msgid "OpenID Email" +msgstr "OpenID Email" + +#. module: auth_openid +#: field:res.users,openid_key:0 +msgid "OpenID Key" +msgstr "OpenID Kulcs" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:8 +#, python-format +msgid "Password" +msgstr "Jelszó" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:10 +#, python-format +msgid "Google Apps" +msgstr "Google Alk" + +#. module: auth_openid +#: model:ir.model,name:auth_openid.model_res_users +msgid "Users" +msgstr "Felhasználók" diff --git a/addons/auth_openid/i18n/ru.po b/addons/auth_openid/i18n/ru.po new file mode 100644 index 00000000000..6041300fe60 --- /dev/null +++ b/addons/auth_openid/i18n/ru.po @@ -0,0 +1,97 @@ +# Russian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-03-23 11:37+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Russian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-03-24 04:45+0000\n" +"X-Generator: Launchpad (build 16540)\n" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:24 +#, python-format +msgid "Username" +msgstr "" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:12 +#: view:res.users:0 +#, python-format +msgid "OpenID" +msgstr "" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:30 +#: field:res.users,openid_url:0 +#, python-format +msgid "OpenID URL" +msgstr "" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:9 +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:10 +#, python-format +msgid "Google" +msgstr "" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:11 +#, python-format +msgid "Launchpad" +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 +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:18 +#, python-format +msgid "Google Apps Domain" +msgstr "" + +#. module: auth_openid +#: field:res.users,openid_email:0 +msgid "OpenID Email" +msgstr "" + +#. module: auth_openid +#: field:res.users,openid_key:0 +msgid "OpenID Key" +msgstr "" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:8 +#, python-format +msgid "Password" +msgstr "" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:10 +#, python-format +msgid "Google Apps" +msgstr "" + +#. module: auth_openid +#: model:ir.model,name:auth_openid.model_res_users +msgid "Users" +msgstr "" diff --git a/addons/auth_signup/i18n/es_CO.po b/addons/auth_signup/i18n/es_CO.po new file mode 100644 index 00000000000..eb590e320ac --- /dev/null +++ b/addons/auth_signup/i18n/es_CO.po @@ -0,0 +1,298 @@ +# Spanish (Colombia) translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-03-21 21:49+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Spanish (Colombia) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-03-22 04:57+0000\n" +"X-Generator: Launchpad (build 16532)\n" + +#. module: auth_signup +#: field:res.partner,signup_type:0 +msgid "Signup Token Type" +msgstr "Tipo de palabra de ingreso" + +#. module: auth_signup +#: field:base.config.settings,auth_signup_uninvited:0 +msgid "Allow external users to sign up" +msgstr "Permitir ingreso a usuarios externos" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:16 +#, python-format +msgid "Confirm Password" +msgstr "Confirmar Contraseña" + +#. module: auth_signup +#: help:base.config.settings,auth_signup_uninvited:0 +msgid "If unchecked, only invited users may sign up." +msgstr "Si no está marcado, sólo los usuarios invitados pueden ingresar." + +#. module: auth_signup +#: model:ir.model,name:auth_signup.model_base_config_settings +msgid "base.config.settings" +msgstr "base.config.settings" + +#. module: auth_signup +#: code:addons/auth_signup/res_users.py:265 +#, python-format +msgid "Cannot send email: user has no email address." +msgstr "" +"No se pudo enviar el correo eléctronico: el usuario no tiene dirección de " +"correo." + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:24 +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:28 +#, python-format +msgid "Reset password" +msgstr "Restablecer contraseña" + +#. module: auth_signup +#: field:base.config.settings,auth_signup_template_user_id:0 +msgid "Template user for new users created through signup" +msgstr "" +"Plantilla de usuario para los nuevos usuarios creados a través del ingreso" + +#. module: auth_signup +#: model:email.template,subject:auth_signup.reset_password_email +msgid "Password reset" +msgstr "Restablecer contraseña" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/js/auth_signup.js:117 +#, python-format +msgid "Please enter a password and confirm it." +msgstr "Por favor introduzca una contraseña y confírmela." + +#. module: auth_signup +#: view:res.users:0 +msgid "Send an email to the user to (re)set their password." +msgstr "" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:23 +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:26 +#, python-format +msgid "Sign Up" +msgstr "Registro" + +#. module: auth_signup +#: selection:res.users,state:0 +msgid "New" +msgstr "Nuevo(a)" + +#. module: auth_signup +#: code:addons/auth_signup/res_users.py:258 +#, python-format +msgid "Mail sent to:" +msgstr "" + +#. module: auth_signup +#: field:res.users,state:0 +msgid "Status" +msgstr "Estado" + +#. module: auth_signup +#: model:email.template,body_html:auth_signup.reset_password_email +msgid "" +"\n" +"

A password reset was requested for the OpenERP account linked to this " +"email.

\n" +"\n" +"

You may change your password by following this link.

\n" +"\n" +"

Note: If you do not expect this, you can safely ignore this email.

" +msgstr "" +"\n" +"

Se ha solicitado un cambio de contraseña dedse la cuenta de OpenERP " +"asociada con este correo eléctronico.

\n" +"\n" +"

Debería cambiar su contraseña siguiendo este enlace.

\n" +"\n" +"

Nota: Si no espera estanotificación, puede ignorarla de forma segura.

" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/js/auth_signup.js:111 +#, python-format +msgid "Please enter a name." +msgstr "Por favor, introduzca un nombre." + +#. module: auth_signup +#: model:ir.model,name:auth_signup.model_res_users +msgid "Users" +msgstr "Usuarios" + +#. module: auth_signup +#: field:res.partner,signup_url:0 +msgid "Signup URL" +msgstr "URL de Ingreso" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/js/auth_signup.js:114 +#, python-format +msgid "Please enter a username." +msgstr "Por favor, introduzca un nombre de usuario." + +#. module: auth_signup +#: selection:res.users,state:0 +msgid "Active" +msgstr "Activo(a)" + +#. module: auth_signup +#: code:addons/auth_signup/res_users.py:269 +#, python-format +msgid "" +"Cannot send email: no outgoing email server configured.\n" +"You can configure it under Settings/General Settings." +msgstr "" +"No se puede enviar el correo electrónico: no se ha configurado un servidor " +"de correo saliente.\n" +"Puede configurarlo en Configuración / Configuraciones Generales." + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:12 +#, python-format +msgid "Username" +msgstr "Nombre de Usuario" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:8 +#, python-format +msgid "Name" +msgstr "Nombre" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/js/auth_signup.js:170 +#, python-format +msgid "Please enter a username or email address." +msgstr "" +"Por favor ingresea un Nombre de Usuario o dirección de correo electrónico." + +#. module: auth_signup +#: selection:res.users,state:0 +msgid "Resetting Password" +msgstr "Restableciendo la Contraseña" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:13 +#, python-format +msgid "Username (Email)" +msgstr "Nombre de Usuario (Dirección de correo electrónico)" + +#. module: auth_signup +#: field:res.partner,signup_expiration:0 +msgid "Signup Expiration" +msgstr "Vencimiento del Ingreso" + +#. module: auth_signup +#: help:base.config.settings,auth_signup_reset_password:0 +msgid "This allows users to trigger a password reset from the Login page." +msgstr "" +"Esto permite a los usuarios lanzar un restablecimiento de la contraseña " +"desde la página de Inicio de Sesión." + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:22 +#, python-format +msgid "Log in" +msgstr "Iniciar Sesión" + +#. module: auth_signup +#: field:res.partner,signup_valid:0 +msgid "Signup Token is Valid" +msgstr "La Palabra de Ingreso es Válida" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/js/auth_signup.js:108 +#: code:addons/auth_signup/static/src/js/auth_signup.js:111 +#: code:addons/auth_signup/static/src/js/auth_signup.js:114 +#: code:addons/auth_signup/static/src/js/auth_signup.js:117 +#: code:addons/auth_signup/static/src/js/auth_signup.js:120 +#: code:addons/auth_signup/static/src/js/auth_signup.js:167 +#: code:addons/auth_signup/static/src/js/auth_signup.js:170 +#, python-format +msgid "Login" +msgstr "Inicio de Sesión" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/js/auth_signup.js:94 +#, python-format +msgid "Invalid signup token" +msgstr "Palabra de ingreso no válida" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/js/auth_signup.js:120 +#, python-format +msgid "Passwords do not match; please retype them." +msgstr "Las contraseñas no coinciden. Por favor vuelva a escribirlas." + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/js/auth_signup.js:108 +#: code:addons/auth_signup/static/src/js/auth_signup.js:167 +#, python-format +msgid "No database selected !" +msgstr "No se ha seleccionado ninguna base de datos!" + +#. module: auth_signup +#: view:res.users:0 +msgid "Reset Password" +msgstr "" + +#. module: auth_signup +#: field:base.config.settings,auth_signup_reset_password:0 +msgid "Enable password reset from Login page" +msgstr "" +"Habilitar restablecimiento de la contraseña desde la página de Inicio de " +"Sesión" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:27 +#, python-format +msgid "Back to Login" +msgstr "Volver al Inicio de Sesión" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:22 +#, python-format +msgid "Sign up" +msgstr "" + +#. module: auth_signup +#: model:ir.model,name:auth_signup.model_res_partner +msgid "Partner" +msgstr "Empresa/Cliente" + +#. module: auth_signup +#: field:res.partner,signup_token:0 +msgid "Signup Token" +msgstr "Palabra de Ingreso" diff --git a/addons/auth_signup/i18n/hu.po b/addons/auth_signup/i18n/hu.po index ead6979d91c..91f76b57206 100644 --- a/addons/auth_signup/i18n/hu.po +++ b/addons/auth_signup/i18n/hu.po @@ -8,24 +8,24 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-01-11 17:36+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-03-20 13:50+0000\n" +"Last-Translator: krnkris \n" "Language-Team: Hungarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-16 05:52+0000\n" +"X-Launchpad-Export-Date: 2013-03-21 04:38+0000\n" "X-Generator: Launchpad (build 16532)\n" #. module: auth_signup #: field:res.partner,signup_type:0 msgid "Signup Token Type" -msgstr "" +msgstr "Feliratkozó Token típus" #. module: auth_signup #: field:base.config.settings,auth_signup_uninvited:0 msgid "Allow external users to sign up" -msgstr "" +msgstr "Külső felhasználók bejelentkezésének engedéjezése" #. module: auth_signup #. openerp-web @@ -37,18 +37,18 @@ msgstr "Jelszó megerõsítése" #. module: auth_signup #: help:base.config.settings,auth_signup_uninvited:0 msgid "If unchecked, only invited users may sign up." -msgstr "" +msgstr "He nincs bejelölve, vsak maghívott felhasználók jelentkezhetnek be." #. module: auth_signup #: model:ir.model,name:auth_signup.model_base_config_settings msgid "base.config.settings" -msgstr "" +msgstr "base.config.settings" #. module: auth_signup #: code:addons/auth_signup/res_users.py:265 #, python-format msgid "Cannot send email: user has no email address." -msgstr "" +msgstr "Nem küldhető e-mail: a felhasználónak nincs e-mail címe." #. module: auth_signup #. openerp-web @@ -61,7 +61,7 @@ msgstr "Jelszó visszaállítása" #. module: auth_signup #: field:base.config.settings,auth_signup_template_user_id:0 msgid "Template user for new users created through signup" -msgstr "" +msgstr "Sablon felhasználó amit a új felhasznlók létrehozásához használ" #. module: auth_signup #: model:email.template,subject:auth_signup.reset_password_email @@ -78,7 +78,7 @@ msgstr "Kérem adjon meg egy jelszót és erősítse meg." #. module: auth_signup #: view:res.users:0 msgid "Send an email to the user to (re)set their password." -msgstr "" +msgstr "Küldjön egy e-mailt a felhasználónak a jelszava visszaállításához." #. module: auth_signup #. openerp-web @@ -97,12 +97,12 @@ msgstr "Új" #: code:addons/auth_signup/res_users.py:258 #, python-format msgid "Mail sent to:" -msgstr "" +msgstr "Címzett:" #. module: auth_signup #: field:res.users,state:0 msgid "Status" -msgstr "" +msgstr "Állapot" #. module: auth_signup #: model:email.template,body_html:auth_signup.reset_password_email @@ -116,6 +116,15 @@ msgid "" "\n" "

Note: If you do not expect this, you can safely ignore this email.

" msgstr "" +"\n" +"

Egy jelszó visszaállítást indított el az e-mailhez tartozó OpenERP " +"fiókhoz.

\n" +"\n" +"

Meg kell változtatnia a jelszavát a következő linken.

\n" +"\n" +"

Megjegyzés: Ha nem várta ezt az e-mail-t, akkor biztonságosan törölje " +"azt.

" #. module: auth_signup #. openerp-web @@ -132,14 +141,14 @@ msgstr "Felhasználók" #. module: auth_signup #: field:res.partner,signup_url:0 msgid "Signup URL" -msgstr "" +msgstr "Bejelentkezési URL elérési útvonal" #. module: auth_signup #. openerp-web #: code:addons/auth_signup/static/src/js/auth_signup.js:114 #, python-format msgid "Please enter a username." -msgstr "" +msgstr "Kérjük, adja meg a felhasználónevet." #. module: auth_signup #: selection:res.users,state:0 @@ -153,6 +162,8 @@ msgid "" "Cannot send email: no outgoing email server configured.\n" "You can configure it under Settings/General Settings." msgstr "" +"Nem küldhető e-mail: nincs kimenő e-mail szerver beállítva.\n" +"Beállíthatja a Beállítások/Általános beállítások alatt." #. module: auth_signup #. openerp-web @@ -173,7 +184,7 @@ msgstr "Név" #: code:addons/auth_signup/static/src/js/auth_signup.js:170 #, python-format msgid "Please enter a username or email address." -msgstr "" +msgstr "Kérem adjon meg egy felhasználónevet vagy e-mail címet." #. module: auth_signup #: selection:res.users,state:0 @@ -190,12 +201,14 @@ msgstr "Felhasználónév (Email)" #. module: auth_signup #: field:res.partner,signup_expiration:0 msgid "Signup Expiration" -msgstr "" +msgstr "Bejelentkezési határidő" #. module: auth_signup #: help:base.config.settings,auth_signup_reset_password:0 msgid "This allows users to trigger a password reset from the Login page." msgstr "" +"Ez lehetővé teszi a felhasználó részére a jelszó megváltoztatásának " +"elindítását a bejelentkezési oldalról." #. module: auth_signup #. openerp-web @@ -247,12 +260,12 @@ msgstr "Nincs kiválasztott adatbázis!" #. module: auth_signup #: view:res.users:0 msgid "Reset Password" -msgstr "" +msgstr "Jelszó visszaállítása" #. module: auth_signup #: field:base.config.settings,auth_signup_reset_password:0 msgid "Enable password reset from Login page" -msgstr "" +msgstr "Jelszóváltoztató engedélyezése a belépési oldalról" #. module: auth_signup #. openerp-web diff --git a/addons/base_action_rule/base_action_rule_view.xml b/addons/base_action_rule/base_action_rule_view.xml index 4e551fa21c5..5eaaf08dad4 100644 --- a/addons/base_action_rule/base_action_rule_view.xml +++ b/addons/base_action_rule/base_action_rule_view.xml @@ -27,8 +27,8 @@ - - + + diff --git a/addons/base_calendar/i18n/hu.po b/addons/base_calendar/i18n/hu.po index 0cf98289d91..b54cfc10e89 100644 --- a/addons/base_calendar/i18n/hu.po +++ b/addons/base_calendar/i18n/hu.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-03-18 00:17+0000\n" +"PO-Revision-Date: 2013-03-19 17:29+0000\n" "Last-Translator: krnkris \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: 2013-03-19 05:33+0000\n" +"X-Launchpad-Export-Date: 2013-03-20 04:42+0000\n" "X-Generator: Launchpad (build 16532)\n" #. module: base_calendar @@ -257,7 +257,7 @@ msgstr "Hiba!" #. module: base_calendar #: selection:calendar.attendee,role:0 msgid "Chair Person" -msgstr "" +msgstr "Elnök személye" #. module: base_calendar #: view:crm.meeting:0 @@ -886,7 +886,7 @@ msgstr "Ügyféltalálkozó" msgid "" "Reference to the URIthat points to the directory information corresponding " "to the attendee." -msgstr "" +msgstr "URI hivatkozás mely a felszólaló információs könyvtárára mutat" #. module: base_calendar #: selection:calendar.event,month_list:0 @@ -1099,6 +1099,7 @@ msgstr "Feladattal megbízva" #: help:calendar.alarm,action:0 msgid "Defines the action to be invoked when an alarm is triggered" msgstr "" +"Meghatározza a segítségül hivható műveletet egy vészjelzés beindítása esetén" #. module: base_calendar #: view:crm.meeting:0 @@ -1124,18 +1125,20 @@ msgid "" "If the active field is set to true, it will allow you to hide the event " "alarm information without removing it." msgstr "" +"Ha egy aktív mező igazra állított, akkor lehetővé teszi az esemény riasztás " +"információ eltüntetését annak törlése nélkül." #. module: base_calendar #: field:calendar.event,end_type:0 #: field:calendar.todo,end_type:0 #: field:crm.meeting,end_type:0 msgid "Recurrence Termination" -msgstr "" +msgstr "Ismétlés megállítása" #. module: base_calendar #: view:crm.meeting:0 msgid "Until" -msgstr "" +msgstr "Eddig" #. module: base_calendar #: view:res.alarm:0 @@ -1145,12 +1148,12 @@ msgstr "Emlékeztető részletei" #. module: base_calendar #: model:crm.meeting.type,name:base_calendar.categ_meet3 msgid "Off-site Meeting" -msgstr "" +msgstr "Külső találkozó" #. module: base_calendar #: view:crm.meeting:0 msgid "Day of Month" -msgstr "" +msgstr "A hónap napja" #. module: base_calendar #: selection:calendar.alarm,state:0 @@ -1167,7 +1170,7 @@ msgstr "Ismétlés (nap/hét/hó/év)" #. module: base_calendar #: view:crm.meeting:0 msgid "All Day?" -msgstr "" +msgstr "Minden nap?" #. module: base_calendar #: view:calendar.event:0 @@ -1188,6 +1191,16 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Kattintson új találkozó ütemezéséhez.\n" +"

\n" +" A naptár az alkalmazottak között megosztott és teljesen " +"integrált az\n" +" egyéb alkalmazásokkal mint az alkalmazotti szabadságok vagy az " +"üzleti\n" +" lehetőségek.\n" +"

\n" +" " #. module: base_calendar #: help:calendar.alarm,description:0 @@ -1196,6 +1209,8 @@ msgid "" "calendar component, than that provided by the " "\"SUMMARY\" property" msgstr "" +"Egy jóval összetettebb leírást biztosít a naptári bejegyzéshez, mint amit az " +"\"ÖSSZEGZÉS\" tulajdonságoknál létre lett hozva" #. module: base_calendar #: view:calendar.event:0 @@ -1205,7 +1220,7 @@ msgstr "Felelős felhasználó" #. module: base_calendar #: view:crm.meeting:0 msgid "Select Weekdays" -msgstr "" +msgstr "Munkanapokat válasszon" #. module: base_calendar #: code:addons/base_calendar/base_calendar.py:1519 @@ -1220,7 +1235,7 @@ msgstr "Foglalt" #. module: base_calendar #: model:ir.model,name:base_calendar.model_calendar_event msgid "Calendar Event" -msgstr "" +msgstr "Naptári esemény" #. module: base_calendar #: field:calendar.event,recurrency:0 @@ -1255,6 +1270,8 @@ msgstr "Kivétel szabály" msgid "" "To specify the language for text values in aproperty or property parameter." msgstr "" +"Nyelv meghatározása a tulajdonság vagy a tulajdonság paraméter szöveg " +"értékekhez." #. module: base_calendar #: view:calendar.event:0 @@ -1269,6 +1286,8 @@ msgid "" "Defines a rule or repeating pattern of time to exclude from the recurring " "rule." msgstr "" +"Meghatároz egy idő szabályt vagy ismétlődési mintát az ismétlődési " +"szabályból való kizáráshoz." #. module: base_calendar #: field:calendar.event,month_list:0 @@ -1282,17 +1301,17 @@ msgstr "Hónap" #: selection:calendar.todo,rrule_type:0 #: selection:crm.meeting,rrule_type:0 msgid "Day(s)" -msgstr "" +msgstr "Nap(ok)" #. module: base_calendar #: view:calendar.event:0 msgid "Confirmed Events" -msgstr "" +msgstr "Nyugtázozz események" #. module: base_calendar #: field:calendar.attendee,dir:0 msgid "URI Reference" -msgstr "" +msgstr "URI Referencia" #. module: base_calendar #: field:calendar.alarm,description:0 @@ -1331,7 +1350,7 @@ msgstr "ir.values" #. module: base_calendar #: view:crm.meeting:0 msgid "Search Meetings" -msgstr "" +msgstr "Találkozó keresés" #. module: base_calendar #: model:ir.model,name:base_calendar.model_ir_attachment @@ -1341,7 +1360,7 @@ msgstr "ir.attachment" #. module: base_calendar #: model:ir.model,name:base_calendar.model_crm_meeting_type msgid "Meeting Type" -msgstr "" +msgstr "Találkozó típusa" #. module: base_calendar #: selection:calendar.attendee,state:0 @@ -1367,16 +1386,24 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Kattintson új riasztás típus beállításához.\n" +"

\n" +" Meg tud határozni egy személyre szabott naptári riasztás " +"típust melyet\n" +" hozzá lehet rendelni naptári eseményhez vagy találkozókhoz.\n" +"

\n" +" " #. module: base_calendar #: selection:crm.meeting,state:0 msgid "Unconfirmed" -msgstr "" +msgstr "Nincs megerősítve" #. module: base_calendar #: help:calendar.attendee,sent_by:0 msgid "Specify the user that is acting on behalf of the calendar user" -msgstr "" +msgstr "Határozza meg a falhasználót aki a naptár felhasználója lesz" #. module: base_calendar #: view:calendar.event:0 @@ -1409,7 +1436,7 @@ msgstr "Név" #: field:calendar.todo,exdate:0 #: field:crm.meeting,exdate:0 msgid "Exception Date/Times" -msgstr "" +msgstr "Dátum/idő kivételek" #. module: base_calendar #: help:calendar.alarm,name:0 @@ -1417,11 +1444,13 @@ msgid "" "Contains the text to be used as the message subject for " "email or contains the text to be used for display" msgstr "" +"Tartalmazza az e-mail tárgyaként felhasznált szöveget vagy a megjeleníteni " +"kívánt üzenetet" #. module: base_calendar #: model:ir.model,name:base_calendar.model_mail_message msgid "Message" -msgstr "" +msgstr "Üzenet" #. module: base_calendar #: field:calendar.event,base_calendar_alarm_id:0 @@ -1446,7 +1475,7 @@ msgstr "Április" #: code:addons/base_calendar/crm_meeting.py:106 #, python-format msgid "Email addresses not found" -msgstr "" +msgstr "E-mail cím nem található" #. module: base_calendar #: view:calendar.event:0 @@ -1464,7 +1493,7 @@ msgstr "Hétköznap" #: code:addons/base_calendar/base_calendar.py:1013 #, python-format msgid "Interval cannot be negative." -msgstr "" +msgstr "Intervallum nem lehet negatív." #. module: base_calendar #: field:calendar.event,byday:0 @@ -1477,7 +1506,7 @@ msgstr "Nappal" #: code:addons/base_calendar/base_calendar.py:441 #, python-format msgid "First you have to specify the date of the invitation." -msgstr "" +msgstr "Elöször meg kell határoznia a meghívó dátumát." #. module: base_calendar #: field:calendar.alarm,model_id:0 @@ -1499,7 +1528,7 @@ msgstr "ID" #. module: base_calendar #: selection:calendar.attendee,role:0 msgid "For information Purpose" -msgstr "" +msgstr "Információs célokra" #. module: base_calendar #: field:calendar.event,select1:0 @@ -1511,7 +1540,7 @@ msgstr "Opció" #. module: base_calendar #: model:ir.model,name:base_calendar.model_calendar_attendee msgid "Attendee information" -msgstr "" +msgstr "Résztvevők információi" #. module: base_calendar #: field:calendar.alarm,res_id:0 @@ -1521,12 +1550,12 @@ msgstr "Erőforrás ID" #. module: base_calendar #: selection:calendar.attendee,state:0 msgid "Needs Action" -msgstr "" +msgstr "Beavatkozás szükséges" #. module: base_calendar #: field:calendar.attendee,sent_by:0 msgid "Sent By" -msgstr "" +msgstr "Küldte" #. module: base_calendar #: field:calendar.event,sequence:0 @@ -1540,7 +1569,7 @@ msgstr "Sorszám" #: help:calendar.todo,alarm_id:0 #: help:crm.meeting,alarm_id:0 msgid "Set an alarm at this time, before the event occurs" -msgstr "" +msgstr "Most beállított riasztás, mielőtt az esemény elkezdődne" #. module: base_calendar #: view:calendar.event:0 @@ -1560,7 +1589,7 @@ msgstr "Szombat" #: field:calendar.todo,interval:0 #: field:crm.meeting,interval:0 msgid "Repeat Every" -msgstr "" +msgstr "Ismétlés minden" #. module: base_calendar #: selection:calendar.event,byday:0 @@ -1601,6 +1630,11 @@ msgid "" " * Points to a procedure resource, which is invoked when " " the alarm is triggered for procedure." msgstr "" +"* Hangforrásra mutat, mely beindul, ha a hangra " +"riasztást ad,\n" +" * Fájl mely elküldésre szánt mint e-mail melléklet,\n" +" * Művelet forrásra mutat, melyet segítségül hív ha " +" a riasztás a művelet miatt lett kapcsolva." #. module: base_calendar #: selection:calendar.event,byday:0 diff --git a/addons/base_import/i18n/hu.po b/addons/base_import/i18n/hu.po index 2c3c4e60ab2..71b229fb49e 100644 --- a/addons/base_import/i18n/hu.po +++ b/addons/base_import/i18n/hu.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-03-17 23:49+0000\n" +"PO-Revision-Date: 2013-03-27 22:52+0000\n" "Last-Translator: krnkris \n" "Language-Team: Hungarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-03-19 05:33+0000\n" -"X-Generator: Launchpad (build 16532)\n" +"X-Launchpad-Export-Date: 2013-03-28 04:41+0000\n" +"X-Generator: Launchpad (build 16546)\n" #. module: base_import #. openerp-web @@ -441,6 +441,20 @@ msgid "" "category \n" " hierarchy." msgstr "" +"Például, ha két termék kategóriával rendelkezik \n" +" ezzel az al-névvel \"Értékesíthető\" (pl. \"Egyéb \n" +" Termékek/Értékesíthetők\" & \"Más " +"Termékek/Értékesíthetők\"),\n" +" akkor a jóváhagyás meg lesz állítva, de az adatait " +"még tudja \n" +" importálni. Azonban, nem ajánlott az adat betöltése " +"\n" +" mivel az összes adat az első találhat " +"'Értékesíthető' kategóriához \n" +" lesz hozzárendelve a Termék kategória listában \n" +" (\"Egyéb Termékeke/Értékesíthető\"). Ajánljuk, hogy " +"módosítsa \n" +" a termék kategória rangsor egyik ismétlődő értékét ." #. module: base_import #. openerp-web @@ -452,6 +466,9 @@ msgid "" "\n" " PSQL:" msgstr "" +"Személyekhez CVS fájl létrehozása, vállalatokhoz\n" +" kapcsolva, a következő SQL parancsot használva a \n" +" PSQL-ben:" #. module: base_import #. openerp-web @@ -463,11 +480,16 @@ msgid "" " (in 'Save As' dialog box > click 'Tools' dropdown \n" " list > Encoding tab)." msgstr "" +"Microsoft Excel lehetővé teszi\n" +" csak a kódolás módosítását az elmentés alatt \n" +" (a 'Mentés másként' párbeszéd ablakban > kattints a " +"'Kellékek' legördülő \n" +" listán > a Kódolás fülre)." #. module: base_import #: field:base_import.tests.models.preview,othervalue:0 msgid "Other Variable" -msgstr "" +msgstr "Másik változó" #. module: base_import #. openerp-web @@ -479,6 +501,11 @@ msgid "" " later, it's thus good practice to specify it\n" " whenever possible" msgstr "" +"az eredeti importálás frissítéséhez is \n" +" használja, ha később is fel akarja használni az újra-" +"importált módosított\n" +" adatot, amikor csak lehet ez egy jó gyakorlás a \n" +" meghatározáshoz" #. module: base_import #. openerp-web @@ -488,6 +515,9 @@ msgid "" "file to import. If you need a sample importable file, you\n" " can use the export tool to generate one." msgstr "" +"fájl importáláshoz, betöltéshez. Ha szüksége van egy importálható példa " +"fájlra, akkor\n" +" használhatja az export eszközt egy új generálásához." #. module: base_import #. openerp-web @@ -497,16 +527,19 @@ msgid "" "Country/Database \n" " ID: 21" msgstr "" +"Ország/Adatbázis \n" +" ID: 21" #. module: base_import #: model:ir.model,name:base_import.model_base_import_tests_models_char msgid "base_import.tests.models.char" -msgstr "" +msgstr "base_import.tests.models.char" #. module: base_import #: help:base_import.import,file:0 msgid "File to check and/or import, raw binary (not base64)" msgstr "" +"Az importálandó és/vagy ellenőrizni kívánt fájl, nyers bináris (nem base64)" #. module: base_import #. openerp-web @@ -514,6 +547,7 @@ msgstr "" #, python-format msgid "Purchase orders with their respective purchase order lines" msgstr "" +"Beszerzési megrendelések a hozzájuk tartozó beszerzési megrendelés sorokkal" #. module: base_import #. openerp-web @@ -525,13 +559,18 @@ msgid "" " field corresponding to the column. This makes imports\n" " simpler especially when the file has many columns." msgstr "" +"Ha a fájl tartalmazza\n" +" az oszlop neveket, OpenERP megpróbálhatja automatikusan " +"észlelni\n" +" oszlophoz tartozó mezőt. Ez az importálásokat egyszerűbbé\n" +" teszi, főként, ha a fájl tele van oszlopokkal." #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:26 #, python-format msgid ".CSV" -msgstr "" +msgstr ".CSV" #. module: base_import #. openerp-web @@ -541,16 +580,18 @@ msgid "" ". The issue is\n" " usually an incorrect file encoding." msgstr "" +". A probléma\n" +" általában a téves fájl kódolás." #. module: base_import #: model:ir.model,name:base_import.model_base_import_tests_models_m2o_required msgid "base_import.tests.models.m2o.required" -msgstr "" +msgstr "base_import.tests.models.m2o.required" #. module: base_import #: model:ir.model,name:base_import.model_base_import_tests_models_char_noreadonly msgid "base_import.tests.models.char.noreadonly" -msgstr "" +msgstr "base_import.tests.models.char.noreadonly" #. module: base_import #. openerp-web @@ -567,65 +608,75 @@ msgid "" "filter \n" " settings' > Save)." msgstr "" +"Ha szerkeszti és menti a CSV fájlt a táblázat kezelő \n" +" alkalmazásokban, a számítógépének területi " +"beállítása lesz \n" +" az elválasztáshoz és a határolójelekhez használva. \n" +" Ajánljuk az OpenOffice vagy LibreOffice Calc \n" +" használatát, mivel ezek lehetővé teszik mindhárom " +"lehetőség\n" +" módosítását (a 'Mentés másként' beszédpanelen > a\n" +" 'Szerkesztési szűrő beállítás' négyzetnek\n" +" a bejelölésével > Mentés)." #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:30 #, python-format msgid "CSV File:" -msgstr "" +msgstr "CSV Fájl:" #. module: base_import #: model:ir.model,name:base_import.model_base_import_tests_models_preview msgid "base_import.tests.models.preview" -msgstr "" +msgstr "base_import.tests.models.preview" #. module: base_import #: model:ir.model,name:base_import.model_base_import_tests_models_char_required msgid "base_import.tests.models.char.required" -msgstr "" +msgstr "base_import.tests.models.char.required" #. module: base_import #: code:addons/base_import/models.py:112 #, python-format msgid "Database ID" -msgstr "" +msgstr "Adatbázis ID azonosító" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:313 #, python-format msgid "It will produce the following CSV file:" -msgstr "" +msgstr "Ez a következő CSV fájlt fogja létrehozni:" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:362 #, python-format msgid "Here is the start of the file we could not import:" -msgstr "" +msgstr "Itt van a fájlnak az eleje, melyiket nem tudtuk importálni:" #. module: base_import #: field:base_import.import,file_type:0 msgid "File Type" -msgstr "" +msgstr "Fájl típus" #. module: base_import #: model:ir.model,name:base_import.model_base_import_import msgid "base_import.import" -msgstr "" +msgstr "base_import.import" #. module: base_import #: model:ir.model,name:base_import.model_base_import_tests_models_o2m msgid "base_import.tests.models.o2m" -msgstr "" +msgstr "base_import.tests.models.o2m" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:360 #, python-format msgid "Import preview failed due to:" -msgstr "" +msgstr "Import előnézet ezért nem sikerült:" #. module: base_import #. openerp-web @@ -637,18 +688,22 @@ msgid "" "\n" " that imported it)" msgstr "" +"Ország/Külső ID azonosító: ennek a rekordnak az ID azonosítója\n" +" másik alkalmazásban egy hivatkozás (vagy az .XML " +"fájl \n" +" ami importálta azt)" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:35 #, python-format msgid "Reload data to check changes." -msgstr "" +msgstr "Adatok újratöltése a változások ellenőrzéséhez." #. module: base_import #: model:ir.model,name:base_import.model_base_import_tests_models_char_readonly msgid "base_import.tests.models.char.readonly" -msgstr "" +msgstr "base_import.tests.models.char.readonly" #. module: base_import #. openerp-web @@ -665,6 +720,18 @@ msgid "" "\n" " per field you want to import." msgstr "" +"Egyes mezők hivatkozásokat határoznak meg más \n" +" objektummal. Például, egy kapcsolat országa \n" +" csatolva van egy 'Ország' tárgyú rekorddal. Ha ilyen " +"\n" +" mezőket szeretne importálni, OpenERP újra létre " +"kell\n" +" hozza a kapcsolatokat a különböző rekordokhoz. \n" +" Ilyen mezők importálásának segítésére, OpenERP három " +"\n" +" módot biztosít. Kizárólag egy módszert használhat az " +"\n" +" importálni kívánt mezőnként." #. module: base_import #. openerp-web @@ -678,19 +745,26 @@ msgid "" " then you will encode it as follow \"Manufacturer,\n" " Retailer\" in the same column of your CSV file." msgstr "" +"A címkéket vesszővel kell elválasztani egyéb szóköz használata \n" +" nélkül. Például, ha a vevőjét két címkéhez szeretné " +"\n" +" társítani, mint 'Gyártó' és 'Kiskereskedő' \n" +" akkor azt a következő képpen kell bevinnie " +"\"Gyártó,\n" +" Kiskereskedő\" a CVS fájl ugyanazon oszlopába." #. module: base_import #: code:addons/base_import/models.py:264 #, python-format msgid "You must configure at least one field to import" -msgstr "" +msgstr "Legalább egy mezőt be kell állítania az importáláshoz" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:304 #, python-format msgid "company_2,Organi,True" -msgstr "" +msgstr "vállalat_2,Organi,Igaz" #. module: base_import #. openerp-web @@ -700,37 +774,39 @@ msgid "" "The first row of the\n" " file contains the label of the column" msgstr "" +"A fájl első oszlopa\n" +" tartalmazza az oszlop elnevezését" #. module: base_import #: model:ir.model,name:base_import.model_base_import_tests_models_char_states msgid "base_import.tests.models.char.states" -msgstr "" +msgstr "base_import.tests.models.char.states" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:7 #, python-format msgid "Import a CSV File" -msgstr "" +msgstr "Egy CVS fájl importálása" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/js/import.js:74 #, python-format msgid "Quoting:" -msgstr "" +msgstr "Hivatkozni:" #. module: base_import #: model:ir.model,name:base_import.model_base_import_tests_models_m2o_required_related msgid "base_import.tests.models.m2o.required.related" -msgstr "" +msgstr "base_import.tests.models.m2o.required.related" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:293 #, python-format msgid ")." -msgstr "" +msgstr "nkat)." #. module: base_import #. openerp-web @@ -738,21 +814,21 @@ msgstr "" #: code:addons/base_import/static/src/xml/import.xml:396 #, python-format msgid "Import" -msgstr "" +msgstr "Importálás" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/js/import.js:438 #, python-format msgid "Here are the possible values:" -msgstr "" +msgstr "Ezek a lehetséges értékek:" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:82 #, python-format msgid "The" -msgstr "" +msgstr "A" #. module: base_import #. openerp-web @@ -762,20 +838,22 @@ msgid "" "A single column was found in the file, this often means the file separator " "is incorrect" msgstr "" +"Egy oszlop található a fájlban, Ez sokszor azt jelenti, hogy a fájl " +"elválasztó hibás" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:293 #, python-format msgid "dump of such a PostgreSQL database" -msgstr "" +msgstr "ilyen jellegű PostgreSQL adatbázis eldobása" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:301 #, python-format msgid "This SQL command will create the following CSV file:" -msgstr "" +msgstr "Ez az SQL parancs ezt a CSV fájlt fogja létre hozni:" #. module: base_import #. openerp-web @@ -785,6 +863,9 @@ msgid "" "The following CSV file shows how to import purchase \n" " orders with their respective purchase order lines:" msgstr "" +"A következő CSV fájl megmutatja hogyan importálja a beszerzési \n" +" megrendeléseket a hozzá tartozó beszerzési " +"megrendelés sorokkal:" #. module: base_import #. openerp-web @@ -794,6 +875,8 @@ msgid "" "What can I do when the Import preview table isn't \n" " displayed correctly?" msgstr "" +"Mit tehetek, ha a kijelzőn lévő import tábla\n" +" előnézete hibás?" #. module: base_import #: field:base_import.tests.models.char,value:0 @@ -810,21 +893,21 @@ msgstr "" #: field:base_import.tests.models.o2m.child,parent_id:0 #: field:base_import.tests.models.o2m.child,value:0 msgid "unknown" -msgstr "" +msgstr "ismeretlen" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:317 #, python-format msgid "person_2,Laurence,False,company_1" -msgstr "" +msgstr "személy_2,Laurence,Hamis,vállalat_1" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:149 #, python-format msgid "Country/External ID: base.be" -msgstr "" +msgstr "Ország/Külső ID azonosító: base.be" #. module: base_import #. openerp-web @@ -839,27 +922,35 @@ msgid "" " the company he work for. (If you want to test this \n" " example, here is a" msgstr "" +"Példának, feltételezzük, hogy van egy SQL adatbázis \n" +" két importálandó táblázattal: vállalatok és \n" +" személyek. Mindegyik személy egy vállalathoz " +"tartozik, így \n" +" létre kell hozni a kapcsolatot a személyek és a " +"munkahelyi \n" +" vállalatuk közt. (Ha tesztelni szeretné \n" +" ezt a példát, itt van a" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/js/import.js:427 #, python-format msgid "(%d more)" -msgstr "" +msgstr "(%d több)" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:227 #, python-format msgid "File for some Quotations" -msgstr "" +msgstr "Fájl egy pár kérdésnek" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/js/import.js:72 #, python-format msgid "Encoding:" -msgstr "" +msgstr "Kódolás:" #. module: base_import #. openerp-web @@ -879,6 +970,20 @@ msgid "" "\n" " table. (like 'company_1', 'person_1' instead of '1')" msgstr "" +"Táblák közti relációk összefésülésének kezelése, \n" +" használhatja a \"Külső ID azonosító\" OpenERP " +"lehetőséget. \n" +" A rekordhoz tartozó \"Külső ID azonosító\" a rekord " +"egy másik \n" +" alkalmazáson belüli egyedi azonosítója. Ez a \"Külső " +"ID\n" +" azonosító\" egyedi kell legyen minden rekordban és " +"az összes \n" +" objektumon, ezért jó gyakorlat ennek a \"Külső ID " +"azonosítónak\"\n" +" az alkalmazás vagy tábla előtaggal való " +"kiegészítése. \n" +" (mint 'vállalat_1', 'személy_1' az '1' helyett)" #. module: base_import #. openerp-web @@ -889,6 +994,9 @@ msgid "" " \"External ID\". In PSQL, write the following " "command:" msgstr "" +"Először az összes vállalatot és a hozzá tartozó \"Külső ID azonosító\" lesz " +"\n" +" exportálva. A PSQL-ben, írja a következő parancsot:" #. module: base_import #. openerp-web @@ -898,13 +1006,15 @@ msgid "" "How can I import a one2many relationship (e.g. several \n" " Order Lines of a Sales Order)?" msgstr "" +"Hogyan tudom importálni a one2many kapcsolatot (pl. egyes \n" +" megrendelés sorokat egy megrendelésből)?" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/js/import.js:404 #, python-format msgid "Everything seems valid." -msgstr "" +msgstr "Úgy néz ki mindegyik érvényes." #. module: base_import #. openerp-web @@ -917,13 +1027,18 @@ msgid "" " use make use of the external ID for this field \n" " 'Category'." msgstr "" +"Azonban, ha nem szeretné a termék kategóriákat\n" +" beállításait megváltoztatni, azt ajánljuk, hogy " +"használja \n" +" a külső ID azonosító használatát erre a 'Kategória'\n" +" mezőre." #. module: base_import #. openerp-web #: code:addons/base_import/static/src/js/import.js:421 #, python-format msgid "at row %d" -msgstr "" +msgstr "Ebben a sorban %d" #. module: base_import #. openerp-web @@ -933,13 +1048,15 @@ msgid "" "How can I import a many2many relationship field \n" " (e.g. a customer that has multiple tags)?" msgstr "" +"Hogyan tudom importálni egy many2many kapcsolati mezőt \n" +" (pl. egy vevő akinek több címkéje van)?" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:80 #, python-format msgid "XXX/ID" -msgstr "" +msgstr "XXX/ID" #. module: base_import #. openerp-web @@ -955,6 +1072,14 @@ msgid "" " link between each person and the company they work \n" " for)." msgstr "" +"Ha különböző táblázatokból kell adatot importálni, \n" +" akkor a különböző táblázatok közötti rekordok " +"kapcsolatait\n" +" újra létre kell hozni. (pl. ha vállalatokat és " +"személyeket \n" +" importál, akkor létre kell hoznia a kapcsolatot \n" +" minden személy és a vállalata közt, ahol " +"alakalmazott)." #. module: base_import #. openerp-web @@ -967,13 +1092,19 @@ msgid "" " Here is when you should use one or the other, \n" " according to your need:" msgstr "" +"Az igénye szerint, használni kell \n" +" egyet a lehetésges 3 közül a a rekordokra " +"hivatkozáshoz a kapcsolatokban. \n" +" It van, ha egyiket a másik helyett kelle használni, " +"\n" +" az igénye szerint:" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:319 #, python-format msgid "person_4,Ramsy,False,company_3" -msgstr "" +msgstr "személy_4,Ramsy,Hamis,vállalat_3" #. module: base_import #. openerp-web @@ -989,13 +1120,20 @@ msgid "" " will set the EMPTY value in the field, instead of \n" " assigning the default value." msgstr "" +"Ha nem állítja be az összes mezőt a CSV fájlban, \n" +" OpenERP az alapértelmezett értéket fogja adni minden " +"olyan mezőnak ami \n" +" nincs meghatározva. Ha a mezőnek\n" +" üres értéket ad a CSV fájlban, OpenERP \n" +" az ÜRES értéket fogja beállítani a mezőre, az \n" +" alapértelmezett érték hozzáadása helyett." #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:20 #, python-format msgid "Cancel" -msgstr "" +msgstr "Megszakítás" #. module: base_import #. openerp-web @@ -1005,20 +1143,22 @@ msgid "" "What happens if I do not provide a value for a \n" " specific field?" msgstr "" +"Mi történik, ha nem adok meg értéket egy \n" +" bizonyos mezőhöz?" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:68 #, python-format msgid "Frequently Asked Questions" -msgstr "" +msgstr "Leggyakoribb kérdések" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:305 #, python-format msgid "company_3,Boum,True" -msgstr "" +msgstr "vállalat_3,Boum,Igaz" #. module: base_import #. openerp-web @@ -1032,6 +1172,12 @@ msgid "" "spreadsheet \n" " application." msgstr "" +"Ez a tulajdonság \n" +" lehetővé teszi az OpenERP Import/Export eszköz " +"használatát \n" +" a rekord kötegek módosítására a kedvenc táblázat " +"kezelőjénak \n" +" alkalmazásával." #. module: base_import #. openerp-web @@ -1042,6 +1188,9 @@ msgid "" " import an other record that links to the first\n" " one, use" msgstr "" +"oszlop az OpenERP-ben. Ha\n" +" másik rekordot importál amelyik az elsőre\n" +" hivatkozik, hasznája" #. module: base_import #. openerp-web @@ -1068,14 +1217,14 @@ msgstr "" #: code:addons/base_import/static/src/xml/import.xml:169 #, python-format msgid "CSV file for categories" -msgstr "" +msgstr "CSV fájl kategóriákhoz" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/js/import.js:330 #, python-format msgid "Normal Fields" -msgstr "" +msgstr "Normál mezők" #. module: base_import #. openerp-web @@ -1087,13 +1236,18 @@ msgid "" " identifier from the original application and\n" " map it to the" msgstr "" +"A különböző rekordok közötti kapcsolat újboli\n" +" létrehozásához, az eredeti alkalmazás \n" +" egyedi azonosítójának használata\n" +" szükséges amit\n" +" irányítson ehhez" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:170 #, python-format msgid "CSV file for Products" -msgstr "" +msgstr "CSV fájl a termékekhez" #. module: base_import #. openerp-web @@ -1117,31 +1271,31 @@ msgstr "" #. module: base_import #: model:ir.model,name:base_import.model_base_import_tests_models_m2o_related msgid "base_import.tests.models.m2o.related" -msgstr "" +msgstr "base_import.tests.models.m2o.related" #. module: base_import #: field:base_import.tests.models.preview,name:0 msgid "Name" -msgstr "" +msgstr "Név" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:80 #, python-format msgid "to the original unique identifier." -msgstr "" +msgstr "az eredeti egyedi ID azonosítóhoz." #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:318 #, python-format msgid "person_3,Eric,False,company_2" -msgstr "" +msgstr "személy_3,Eric,Hamis,vállalt_2" #. module: base_import #: field:base_import.import,res_model:0 msgid "Model" -msgstr "" +msgstr "Modell" #. module: base_import #. openerp-web @@ -1149,7 +1303,7 @@ msgstr "" #: code:addons/base_import/static/src/xml/import.xml:82 #, python-format msgid "ID" -msgstr "" +msgstr "Azonosító ID" #. module: base_import #. openerp-web @@ -1184,12 +1338,12 @@ msgstr "" #: code:addons/base_import/static/src/js/import.js:73 #, python-format msgid "Separator:" -msgstr "" +msgstr "Elválasztó:" #. module: base_import #: field:base_import.import,file_name:0 msgid "File Name" -msgstr "" +msgstr "Fájl neve" #. module: base_import #. openerp-web @@ -1199,28 +1353,28 @@ msgstr "" #: code:addons/base_import/static/src/xml/import.xml:82 #, python-format msgid "External ID" -msgstr "" +msgstr "Külső ID azonosító" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:39 #, python-format msgid "File Format Options…" -msgstr "" +msgstr "Fájl formátum lehetőségek…" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/js/import.js:423 #, python-format msgid "between rows %d and %d" -msgstr "" +msgstr "oszlopok közt %d és %d" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:19 #, python-format msgid "or" -msgstr "" +msgstr "vagy" #. module: base_import #. openerp-web diff --git a/addons/base_report_designer/base_report_designer.py b/addons/base_report_designer/base_report_designer.py index 180a534b07f..359f41c4aa2 100644 --- a/addons/base_report_designer/base_report_designer.py +++ b/addons/base_report_designer/base_report_designer.py @@ -24,7 +24,6 @@ import openerp.modules.registry from openerp.osv import osv from openerp_sxw2rml import sxw2rml from StringIO import StringIO -from openerp import pooler from openerp import addons @@ -46,20 +45,19 @@ class report_xml(osv.osv): ''' Untested function ''' - pool = pooler.get_pool(cr.dbname) sxwval = StringIO(base64.decodestring(file_sxw)) if file_type=='sxw': fp = open(addons.get_module_resource('base_report_designer','openerp_sxw2rml', 'normalized_oo2rml.xsl'),'rb') if file_type=='odt': fp = open(addons.get_module_resource('base_report_designer','openerp_sxw2rml', 'normalized_odt2rml.xsl'),'rb') - report = pool.get('ir.actions.report.xml').write(cr, uid, [report_id], { + report = self.pool['ir.actions.report.xml'].write(cr, uid, [report_id], { 'report_sxw_content': base64.decodestring(file_sxw), 'report_rml_content': str(sxw2rml(sxwval, xsl=fp.read())), }) # FIXME: this should be moved to an override of the ir.actions.report_xml.create() method cr.commit() - pool.get('ir.actions.report.xml').register_all(cr) + self.pool['ir.actions.report.xml'].register_all(cr) openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname) return True diff --git a/addons/base_report_designer/wizard/base_report_designer_modify.py b/addons/base_report_designer/wizard/base_report_designer_modify.py index abef384cd91..838f591a2f4 100644 --- a/addons/base_report_designer/wizard/base_report_designer_modify.py +++ b/addons/base_report_designer/wizard/base_report_designer_modify.py @@ -24,7 +24,7 @@ import base64 import time import urllib -from openerp import osv, pooler, tools +from openerp import osv, tools from openerp.osv import fields, osv from openerp.tools.translate import _ @@ -39,9 +39,9 @@ class base_report_sxw(osv.osv_memory): def get_report(self, cr, uid, ids, context=None): data = self.read(cr, uid, ids, context=context)[0] - data_obj = self.pool.get('ir.model.data') + data_obj = self.pool['ir.model.data'] id2 = data_obj._get_id(cr, uid, 'base_report_designer', 'view_base_report_file_sxw') - report = self.pool.get('ir.actions.report.xml').browse(cr, uid, data['report_id'], context=context) + report = self.pool['ir.actions.report.xml'].browse(cr, uid, data['report_id'], context=context) if id2: id2 = data_obj.browse(cr, uid, id2, context=context).res_id return { @@ -74,9 +74,9 @@ class base_report_file_sxw(osv.osv_memory): """ res = super(base_report_file_sxw, self).default_get(cr, uid, fields, context=context) - report_id1 = self.pool.get('base.report.sxw').search(cr,uid,[]) - data = self.pool.get('base.report.sxw').read(cr, uid, report_id1, context=context)[0] - report = self.pool.get('ir.actions.report.xml').browse(cr, uid, data['report_id'], context=context) + report_id1 = self.pool['base.report.sxw'].search(cr,uid,[]) + data = self.pool['base.report.sxw'].read(cr, uid, report_id1, context=context)[0] + report = self.pool['ir.actions.report.xml'].browse(cr, uid, data['report_id'], context=context) if context is None: context={} if 'report_id' in fields: @@ -97,14 +97,14 @@ class base_report_file_sxw(osv.osv_memory): sxwval = StringIO.StringIO(base64.decodestring(data['file_sxw_upload'])) fp = tools.file_open('normalized_oo2rml.xsl',subdir='addons/base_report_designer/openerp_sxw2rml') newrmlcontent = str(openerp_sxw2rml.sxw2rml(sxwval, xsl=fp.read())) - report = self.pool.get('ir.actions.report.xml').write(cr, uid, [data['report_id']], { + report = self.pool['ir.actions.report.xml'].write(cr, uid, [data['report_id']], { 'report_sxw_content': base64.decodestring(data['file_sxw_upload']), 'report_rml_content': newrmlcontent }) cr.commit() - data_obj = self.pool.get('ir.model.data') + data_obj = self.pool['ir.model.data'] id2 = data_obj._get_id(cr, uid, 'base_report_designer', 'view_base_report_file_rml') - report = self.pool.get('ir.actions.report.xml').browse(cr, uid, data['report_id'], context=context) + report = self.pool['ir.actions.report.xml'].browse(cr, uid, data['report_id'], context=context) if id2: id2 = data_obj.browse(cr, uid, id2, context=context).res_id return { @@ -135,9 +135,9 @@ class base_report_rml_save(osv.osv_memory): """ res = super(base_report_rml_save, self).default_get(cr, uid, fields, context=context) - report_id = self.pool.get('base.report.sxw').search(cr,uid,[]) - data = self.pool.get('base.report.file.sxw').read(cr, uid, report_id, context=context)[0] - report = self.pool.get('ir.actions.report.xml').browse(cr, uid, data['report_id'], context=context) + report_id = self.pool['base.report.sxw'].search(cr,uid,[]) + data = self.pool['base.report.file.sxw'].read(cr, uid, report_id, context=context)[0] + report = self.pool['ir.actions.report.xml'].browse(cr, uid, data['report_id'], context=context) if 'file_rml' in fields: res['file_rml'] = base64.encodestring(report.report_rml_content) diff --git a/addons/base_setup/base_setup.py b/addons/base_setup/base_setup.py index 3e7c1d1f846..ac4ce5b55b6 100644 --- a/addons/base_setup/base_setup.py +++ b/addons/base_setup/base_setup.py @@ -21,7 +21,6 @@ import simplejson import cgi -from openerp import pooler from openerp import tools from openerp.osv import fields, osv from openerp.tools.translate import _ diff --git a/addons/contacts/i18n/es_CO.po b/addons/contacts/i18n/es_CO.po new file mode 100644 index 00000000000..d4b8e87b899 --- /dev/null +++ b/addons/contacts/i18n/es_CO.po @@ -0,0 +1,46 @@ +# Spanish (Colombia) translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-03-21 21:43+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Spanish (Colombia) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-03-22 04:57+0000\n" +"X-Generator: Launchpad (build 16532)\n" + +#. module: contacts +#: model:ir.actions.act_window,help:contacts.action_contacts +msgid "" +"

\n" +" Click to add a contact in your address book.\n" +"

\n" +" OpenERP helps you easily track all activities related to\n" +" a customer; discussions, history of business opportunities,\n" +" documents, etc.\n" +"

\n" +" " +msgstr "" +"

\n" +" Pulse para añadir un contacto a su libreta de direcciones.\n" +"

\n" +" OpenERP le ayuda a seguir el rastro a todas las actividades " +"relativas a\n" +" un cliente: discusiones, histórico de oportunidades de negocio,\n" +" documentos, etc.\n" +"

\n" +" " + +#. module: contacts +#: model:ir.actions.act_window,name:contacts.action_contacts +#: model:ir.ui.menu,name:contacts.menu_contacts +msgid "Contacts" +msgstr "Contactos" diff --git a/addons/crm/i18n/es_MX.po b/addons/crm/i18n/es_MX.po index 24271346a0b..798924be3df 100644 --- a/addons/crm/i18n/es_MX.po +++ b/addons/crm/i18n/es_MX.po @@ -1,163 +1,158 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * crm +# Spanish (Mexico) translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. # msgid "" msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2011-01-11 11:15+0000\n" -"PO-Revision-Date: 2011-01-18 07:46+0000\n" -"Last-Translator: Jorge L Tupac-Yupanqui \n" -"Language-Team: \n" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:04+0000\n" +"PO-Revision-Date: 2013-03-28 01:06+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Spanish (Mexico) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-09-05 05:08+0000\n" -"X-Generator: Launchpad (build 13830)\n" +"X-Launchpad-Export-Date: 2013-03-28 04:41+0000\n" +"X-Generator: Launchpad (build 16546)\n" #. module: crm #: view:crm.lead.report:0 msgid "# Leads" -msgstr "# Iniciativas" +msgstr "" #. module: crm +#: help:sale.config.settings,fetchmail_lead:0 +msgid "" +"Allows you to configure your incoming mail server, and create leads from " +"incoming emails." +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:881 +#: selection:crm.case.stage,type:0 #: view:crm.lead:0 #: selection:crm.lead,type:0 +#: view:crm.lead.report:0 #: selection:crm.lead.report,type:0 +#, python-format msgid "Lead" -msgstr "Iniciativa" - -#. module: crm -#: model:crm.case.categ,name:crm.categ_oppor3 -msgid "Need Services" -msgstr "Necesita servicios" - -#. module: crm -#: selection:crm.meeting,rrule_type:0 -msgid "Monthly" -msgstr "Mensual" - -#. module: crm -#: view:crm.opportunity2phonecall:0 -msgid "Schedule a PhoneCall" -msgstr "Planificar llamada telefónica" - -#. module: crm -#: model:ir.model,name:crm.model_crm_case_stage -msgid "Stage of case" -msgstr "Etapa del caso" - -#. module: crm -#: view:crm.meeting:0 -msgid "Visibility" -msgstr "Visibilidad" - -#. module: crm -#: field:crm.lead,title:0 -msgid "Title" -msgstr "Título" - -#. module: crm -#: field:crm.meeting,show_as:0 -msgid "Show as" -msgstr "Mostrar como" - -#. module: crm -#: field:crm.meeting,day:0 -#: selection:crm.meeting,select1:0 -msgid "Date of month" -msgstr "Día del mes" +msgstr "" #. module: crm #: view:crm.lead:0 -#: view:crm.phonecall:0 -msgid "Today" -msgstr "Hoy" +#: field:crm.lead,title:0 +msgid "Title" +msgstr "" #. module: crm -#: view:crm.merge.opportunity:0 +#: model:ir.actions.server,message:crm.action_email_reminder_lead +msgid "" +"Warning unprocessed incoming lead is more than 5 day old.\n" +"Name: [[object.name ]]\n" +"ID: [[object.id ]]\n" +"Description: [[object.description]]\n" +" " +msgstr "" + +#. module: crm +#: field:crm.opportunity2phonecall,action:0 +#: field:crm.phonecall2phonecall,action:0 +msgid "Action" +msgstr "" + +#. module: crm +#: model:ir.actions.server,name:crm.action_set_team_sales_department +msgid "Set team to Sales Department" +msgstr "" + +#. module: crm +#: view:crm.lead2opportunity.partner.mass:0 msgid "Select Opportunities" -msgstr "Seleccionar oportunidades" +msgstr "" #. module: crm -#: view:crm.meeting:0 -#: view:crm.phonecall2opportunity:0 -#: view:crm.phonecall2phonecall:0 -#: view:crm.send.mail:0 -msgid " " -msgstr " " +#: model:res.groups,name:crm.group_fund_raising +#: field:sale.config.settings,group_fund_raising:0 +msgid "Manage Fund Raising" +msgstr "" #. module: crm #: view:crm.lead.report:0 #: field:crm.phonecall.report,delay_close:0 msgid "Delay to close" -msgstr "Demora cierre" +msgstr "" + +#. module: crm +#: view:crm.case.stage:0 +#: field:crm.case.stage,name:0 +msgid "Stage Name" +msgstr "" #. module: crm #: view:crm.lead:0 -msgid "Previous Stage" -msgstr "Etapa anterior" +#: field:crm.lead,user_id:0 +#: view:crm.lead.report:0 +#: view:crm.phonecall.report:0 +msgid "Salesperson" +msgstr "" #. module: crm -#: code:addons/crm/wizard/crm_add_note.py:26 -#, python-format -msgid "Can not add note!" -msgstr "¡No se puede añadir una nota!" - -#. module: crm -#: field:crm.case.stage,name:0 -msgid "Stage Name" -msgstr "Nombre de etapa" +#: model:ir.model,name:crm.model_crm_lead_report +msgid "CRM Lead Analysis" +msgstr "" #. module: crm #: view:crm.lead.report:0 -#: field:crm.lead.report,day:0 #: view:crm.phonecall.report:0 #: field:crm.phonecall.report,day:0 msgid "Day" -msgstr "Día" +msgstr "" #. module: crm -#: sql_constraint:crm.case.section:0 -msgid "The code of the sales team must be unique !" -msgstr "¡El código del equipo de ventas debe ser único!" +#: view:crm.lead:0 +msgid "Company Name" +msgstr "" #. module: crm -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:95 -#, python-format -msgid "Lead '%s' has been converted to an opportunity." -msgstr "La inicaitiva '%s' ha sido convertida en oportunidad" +#: model:crm.case.categ,name:crm.categ_oppor6 +msgid "Training" +msgstr "" #. module: crm -#: code:addons/crm/crm_lead.py:228 -#, python-format -msgid "The lead '%s' has been closed." -msgstr "La iniciativa '%s' ha sido cerrada" +#: model:ir.actions.act_window,name:crm.crm_lead_categ_action +#: model:ir.ui.menu,name:crm.menu_crm_lead_categ +msgid "Sales Tags" +msgstr "" #. module: crm -#: selection:crm.meeting,freq:0 -msgid "No Repeat" -msgstr "No repetir" +#: view:crm.lead.report:0 +msgid "Exp. Closing" +msgstr "" #. module: crm -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:135 -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:260 -#: code:addons/crm/wizard/crm_lead_to_partner.py:55 -#: code:addons/crm/wizard/crm_phonecall_to_partner.py:52 -#, python-format -msgid "Warning !" -msgstr "Advertencia !" +#: help:crm.case.section,message_unread:0 +#: help:crm.lead,message_unread:0 +#: help:crm.phonecall,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" #. module: crm -#: selection:crm.meeting,rrule_type:0 -msgid "Yearly" -msgstr "Anual" +#: help:crm.lead.report,creation_day:0 +msgid "Creation day" +msgstr "" #. module: crm #: field:crm.segmentation.line,name:0 msgid "Rule Name" -msgstr "Nombre de regla" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_phonecall.py:280 +#, python-format +msgid "It's only possible to convert one phonecall at a time." +msgstr "" #. module: crm #: view:crm.case.resource.type:0 @@ -167,536 +162,147 @@ msgstr "Nombre de regla" #: field:crm.lead.report,type_id:0 #: model:ir.model,name:crm.model_crm_case_resource_type msgid "Campaign" -msgstr "Campaña" - -#. module: crm -#: selection:crm.lead2opportunity.partner,action:0 -msgid "Do not create a partner" -msgstr "No crear una empresa" +msgstr "" #. module: crm #: view:crm.lead:0 msgid "Search Opportunities" -msgstr "Busqueda de oportunidades" - -#. module: crm -#: code:addons/crm/wizard/crm_merge_opportunities.py:46 -#, python-format -msgid "" -"Opportunity must have Partner assigned before merging with other Opportunity." msgstr "" -"La oportunidad debe de tener una empresa asignada antes de fusionarla con " -"otra oportunidad." #. module: crm -#: code:addons/crm/wizard/crm_merge_opportunities.py:46 -#: code:addons/crm/wizard/crm_merge_opportunities.py:53 +#: help:crm.lead.report,deadline_month:0 +msgid "Expected closing month" +msgstr "" + +#. module: crm +#: help:crm.case.section,message_summary:0 +#: help:crm.lead,message_summary:0 +#: help:crm.phonecall,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:624 +#: code:addons/crm/crm_lead.py:744 +#: code:addons/crm/crm_phonecall.py:280 #, python-format msgid "Warning!" -msgstr "¡Aviso!" - -#. module: crm -#: view:crm.lead.report:0 -#: model:ir.actions.act_window,name:crm.action_report_crm_opportunity -#: model:ir.ui.menu,name:crm.menu_report_crm_opportunities_tree -msgid "Opportunities Analysis" -msgstr "Análisis de oportunidades" - -#. module: crm -#: field:crm.lead,partner_id:0 -#: view:crm.lead.report:0 -#: field:crm.lead.report,partner_id:0 -#: field:crm.lead2opportunity,partner_id:0 -#: field:crm.lead2opportunity.partner,partner_id:0 -#: field:crm.lead2partner,partner_id:0 -#: view:crm.meeting:0 -#: field:crm.meeting,partner_id:0 -#: field:crm.partner2opportunity,partner_id:0 -#: view:crm.phonecall:0 -#: field:crm.phonecall,partner_id:0 -#: view:crm.phonecall.report:0 -#: field:crm.phonecall.report,partner_id:0 -#: field:crm.phonecall2opportunity,partner_id:0 -#: field:crm.phonecall2partner,partner_id:0 -#: model:ir.model,name:crm.model_res_partner -#: model:process.node,name:crm.process_node_partner0 -msgid "Partner" -msgstr "Empresa" - -#. module: crm -#: field:crm.meeting,organizer:0 -#: field:crm.meeting,organizer_id:0 -msgid "Organizer" -msgstr "Organizador" - -#. module: crm -#: view:crm.phonecall:0 -#: view:crm.phonecall2phonecall:0 -#: model:ir.actions.act_window,name:crm.phonecall_to_phonecall_act -#: view:res.partner:0 -msgid "Schedule Other Call" -msgstr "Planificar otra llamada" - -#. module: crm -#: help:crm.meeting,edit_all:0 -msgid "Edit all Occurrences of recurrent Meeting." -msgstr "Editar todas las ocurrencias de la reunión recurrente." - -#. module: crm -#: code:addons/crm/wizard/crm_opportunity_to_phonecall.py:134 -#: code:addons/crm/wizard/crm_phonecall_to_phonecall.py:89 -#: model:crm.case.categ,name:crm.categ_meet3 -#: view:crm.phonecall:0 -#: model:ir.ui.menu,name:crm.menu_crm_config_phonecall -#: view:res.partner:0 -#, python-format -msgid "Phone Call" -msgstr "Llamada de telefono" - -#. module: crm -#: field:crm.lead,optout:0 -msgid "Opt-Out" -msgstr "No acepta recibir emails" - -#. module: crm -#: code:addons/crm/crm_opportunity.py:108 -#, python-format -msgid "The opportunity '%s' has been marked as lost." -msgstr "La oportunidad '%s' ha sido marcada como perdida." - -#. module: crm -#: model:ir.actions.act_window,help:crm.action_report_crm_lead -msgid "" -"Leads Analysis allows you to check different CRM related information. Check " -"for treatment delays, number of responses given and emails sent. You can " -"sort out your leads analysis by different groups to get accurate grained " -"analysis." msgstr "" -"El análisis de iniciativas le permite verificar información relacionada con " -"el CRM. Puede verificar los retrasos, el número de respuestas realizadas y " -"el número de emails enviados. Puede ordenar el análisis de sus iniciativas " -"según diferentes grupos para obtener un análisis reagrupado preciso." #. module: crm #: view:crm.lead:0 -msgid "Send New Email" -msgstr "Enviar nuevo email" +#: field:crm.lead,partner_id:0 +#: view:crm.lead.report:0 +#: field:crm.lead.report,partner_id:0 +#: field:crm.opportunity2phonecall,partner_id:0 +#: view:crm.phonecall:0 +#: view:crm.phonecall.report:0 +#: field:crm.phonecall.report,partner_id:0 +#: field:crm.phonecall2phonecall,partner_id:0 +#: model:ir.model,name:crm.model_res_partner +#: model:process.node,name:crm.process_node_partner0 +msgid "Partner" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +#: model:ir.actions.act_window,name:crm.phonecall_to_phonecall_act +msgid "Schedule Other Call" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_phonecall.py:209 +#: view:crm.phonecall:0 +#, python-format +msgid "Phone Call" +msgstr "" + +#. module: crm +#: field:crm.lead,opt_out:0 +msgid "Opt-Out" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: field:crm.lead,state_id:0 +msgid "State" +msgstr "" + +#. module: crm +#: field:res.partner,meeting_count:0 +msgid "# Meetings" +msgstr "" + +#. module: crm +#: model:ir.actions.server,name:crm.action_email_reminder_lead +msgid "Reminder to User" +msgstr "" #. module: crm #: field:crm.segmentation,segmentation_line:0 msgid "Criteria" -msgstr "Criterios" +msgstr "" #. module: crm #: view:crm.segmentation:0 msgid "Excluded Answers :" -msgstr "Respuestas excluidas:" +msgstr "" #. module: crm -#: field:crm.case.stage,section_ids:0 -msgid "Sections" -msgstr "Secciones" - -#. module: crm -#: view:crm.merge.opportunity:0 -msgid "_Merge" -msgstr "_Fusionar" +#: model:ir.model,name:crm.model_crm_merge_opportunity +msgid "Merge opportunities" +msgstr "" #. module: crm #: view:crm.lead.report:0 #: model:ir.actions.act_window,name:crm.action_report_crm_lead #: model:ir.ui.menu,name:crm.menu_report_crm_leads_tree msgid "Leads Analysis" -msgstr "Análisis de iniciativas" - -#. module: crm -#: view:crm.lead2opportunity.action:0 -msgid "" -"If you select Merge with existing Opportunity, the lead details(with the " -"communication history) will be merged with existing Opportunity of Selected " -"partner." msgstr "" -"Si selecciona fusionar con oportunidad existente, los detalles de la " -"iniciativa (con el histórico de la comunicación) serán fusionados con la " -"oportunidad existente de la empresa seleccionada" #. module: crm -#: selection:crm.meeting,class:0 -msgid "Public" -msgstr "Público" +#: code:addons/crm/crm_lead.py:1010 +#, python-format +msgid "%s a call for the %s." +msgstr "" #. module: crm #: model:ir.actions.act_window,name:crm.crm_case_resource_type_act #: model:ir.ui.menu,name:crm.menu_crm_case_resource_type_act msgid "Campaigns" -msgstr "Campañas" +msgstr "" #. module: crm -#: model:ir.actions.act_window,name:crm.crm_lead_categ_action +#: view:crm.lead:0 +#: field:crm.lead,categ_ids:0 #: model:ir.ui.menu,name:crm.menu_crm_case_phonecall-act -#: model:ir.ui.menu,name:crm.menu_crm_lead_categ msgid "Categories" -msgstr "Categorías" +msgstr "" #. module: crm -#: selection:crm.meeting,end_type:0 -msgid "Forever" -msgstr "Siempre" - -#. module: crm -#: help:crm.lead,optout:0 +#: help:crm.lead,opt_out:0 msgid "" "If opt-out is checked, this contact has refused to receive emails or " "unsubscribed to a campaign." msgstr "" -"Si opt-out está marcado, este contacto ha rehusado recibir correos " -"electrónicos o ha eliminado su suscripción a una campaña." #. module: crm #: model:process.transition,name:crm.process_transition_leadpartner0 msgid "Prospect Partner" -msgstr "Socio prospecto" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:982 +#, python-format +msgid "No Subject" +msgstr "" #. module: crm #: field:crm.lead,contact_name:0 msgid "Contact Name" -msgstr "Nombre de contacto" - -#. module: crm -#: selection:crm.lead2opportunity.partner,action:0 -#: selection:crm.lead2partner,action:0 -#: selection:crm.phonecall2partner,action:0 -msgid "Link to an existing partner" -msgstr "Enlace al socio existente" - -#. module: crm -#: view:crm.lead:0 -#: view:crm.meeting:0 -#: field:crm.phonecall,partner_contact:0 -msgid "Contact" -msgstr "Contacto" - -#. module: crm -#: view:crm.installer:0 -msgid "Enhance your core CRM Application with additional functionalities." -msgstr "Mejore su aplicación CRM básica con funcionalidades adicionales." - -#. module: crm -#: field:crm.case.stage,on_change:0 -msgid "Change Probability Automatically" -msgstr "Cambiar la probabilidad automáticamente" - -#. module: crm -#: field:base.action.rule,regex_history:0 -msgid "Regular Expression on Case History" -msgstr "Expresiones Regulares en el Historial del Caso" - -#. module: crm -#: code:addons/crm/crm_lead.py:209 -#, python-format -msgid "The lead '%s' has been opened." -msgstr "La iniciativa '%s' ha sido abierta." - -#. module: crm -#: model:process.transition,name:crm.process_transition_opportunitymeeting0 -msgid "Opportunity Meeting" -msgstr "Oportunidad de Reunión" - -#. module: crm -#: help:crm.lead.report,delay_close:0 -#: help:crm.phonecall.report,delay_close:0 -msgid "Number of Days to close the case" -msgstr "Número de días para cerrar el caso" - -#. module: crm -#: model:process.node,note:crm.process_node_opportunities0 -msgid "When a real project/opportunity is detected" -msgstr "Cuando un proyecto/oportunidad real es detectado" - -#. module: crm -#: field:crm.installer,crm_fundraising:0 -msgid "Fundraising" -msgstr "Recaudación de fondos" - -#. module: crm -#: view:res.partner:0 -#: field:res.partner,opportunity_ids:0 -msgid "Leads and Opportunities" -msgstr "Iniciativas y oportunidades" - -#. module: crm -#: view:crm.send.mail:0 -msgid "_Send" -msgstr "_Enviar" - -#. module: crm -#: view:crm.lead:0 -msgid "Communication" -msgstr "Comunicación" - -#. module: crm -#: field:crm.case.section,change_responsible:0 -msgid "Change Responsible" -msgstr "Cambiar responsable" - -#. module: crm -#: field:crm.merge.opportunity,state:0 -msgid "Set State To" -msgstr "Cmabiar estado a" - -#. module: crm -#: model:ir.actions.act_window,help:crm.crm_case_categ_phone_outgoing0 -msgid "" -"Outbound Calls list all the calls to be done by your sales team. A salesman " -"can record the information about the call in the form view. This information " -"will be stored in the partner form to trace every contact you have with a " -"customer. You can also import a .CSV file with a list of calls to be done by " -"your sales team." msgstr "" -"Llamadas salientes muestra todas las llamadas realizadas por su equipo de " -"ventas. Un vendedor puede grabar la información sobre la llamada en la vista " -"de formulario. Esta información se almacenará en el formulario de empresa " -"para rastrear cada contacto que tenga con un cliente. También puede importar " -"un archivo .CSV con una lista de llamadas a realizar por su equipo de ventas." - -#. module: crm -#: model:ir.model,name:crm.model_crm_lead2opportunity_action -msgid "Convert/Merge Opportunity" -msgstr "Convertir/Fusionar oportunidad" - -#. module: crm -#: field:crm.lead,write_date:0 -msgid "Update Date" -msgstr "Actualizar fecha" - -#. module: crm -#: view:crm.lead2opportunity.action:0 -#: field:crm.lead2opportunity.action,name:0 -msgid "Select Action" -msgstr "Seleccionar acción" - -#. module: crm -#: field:base.action.rule,trg_categ_id:0 -#: view:crm.lead:0 -#: field:crm.lead,categ_id:0 -#: view:crm.lead.report:0 -#: field:crm.lead.report,categ_id:0 -#: field:crm.opportunity2phonecall,categ_id:0 -#: field:crm.phonecall,categ_id:0 -#: field:crm.phonecall.report,categ_id:0 -#: field:crm.phonecall2phonecall,categ_id:0 -msgid "Category" -msgstr "Categoría" - -#. module: crm -#: view:crm.lead.report:0 -msgid "#Opportunities" -msgstr "# Oportunidades" - -#. module: crm -#: model:crm.case.resource.type,name:crm.type_oppor2 -msgid "Campaign 1" -msgstr "Campaña 1" - -#. module: crm -#: model:crm.case.resource.type,name:crm.type_oppor1 -msgid "Campaign 2" -msgstr "Campaña 2" - -#. module: crm -#: view:crm.meeting:0 -msgid "Privacy" -msgstr "Privada" - -#. module: crm -#: view:crm.lead.report:0 -msgid "Opportunity Analysis" -msgstr "Análisis de oportunidades" - -#. module: crm -#: help:crm.meeting,location:0 -msgid "Location of Event" -msgstr "Lacalización del evento" - -#. module: crm -#: field:crm.meeting,rrule:0 -msgid "Recurrent Rule" -msgstr "Regla recurrente" - -#. module: crm -#: model:crm.case.resource.type,name:crm.type_lead1 -msgid "Version 4.2" -msgstr "Versión 4.2" - -#. module: crm -#: model:crm.case.resource.type,name:crm.type_lead2 -msgid "Version 4.4" -msgstr "Versión 4.4" - -#. module: crm -#: help:crm.installer,fetchmail:0 -msgid "Allows you to receive E-Mails from POP/IMAP server." -msgstr "Le permite recibir e-mails desde un servidor POP/IMAP" - -#. module: crm -#: model:process.transition,note:crm.process_transition_opportunitymeeting0 -msgid "Normal or phone meeting for opportunity" -msgstr "Oportunidad de reunion normal ó telefonico." - -#. module: crm -#: model:process.node,note:crm.process_node_leads0 -msgid "Very first contact with new prospect" -msgstr "Primer contacto con nueva prospección" - -#. module: crm -#: code:addons/crm/crm_lead.py:278 -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:197 -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:231 -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:299 -#: view:crm.lead2opportunity:0 -#: view:crm.partner2opportunity:0 -#: model:ir.actions.act_window,name:crm.action_crm_lead2opportunity -#: model:ir.actions.act_window,name:crm.action_view_crm_partner2opportunity -#: model:ir.actions.act_window,name:crm.crm_partner2opportunity -#, python-format -msgid "Create Opportunity" -msgstr "Crear oportunidad" - -#. module: crm -#: view:crm.installer:0 -msgid "Configure" -msgstr "Configurar" - -#. module: crm -#: code:addons/crm/crm.py:378 -#: view:crm.lead:0 -#: view:res.partner:0 -#, python-format -msgid "Escalate" -msgstr "Escalado" - -#. module: crm -#: model:ir.module.module,shortdesc:crm.module_meta_information -msgid "Customer & Supplier Relationship Management" -msgstr "Gestión de relaciones con clientes & proveedores" - -#. module: crm -#: selection:crm.lead.report,month:0 -#: selection:crm.meeting,month_list:0 -#: selection:crm.phonecall.report,month:0 -msgid "June" -msgstr "Junio" - -#. module: crm -#: selection:crm.segmentation,state:0 -msgid "Not Running" -msgstr "No ejecutado" - -#. module: crm -#: view:crm.send.mail:0 -#: model:ir.actions.act_window,name:crm.action_crm_reply_mail -msgid "Reply to last Mail" -msgstr "Responder al último e-mail" - -#. module: crm -#: field:crm.lead,email:0 -msgid "E-Mail" -msgstr "E-mail" - -#. module: crm -#: field:crm.installer,wiki_sale_faq:0 -msgid "Sale FAQ" -msgstr "FAQ de ventas" - -#. module: crm -#: model:ir.model,name:crm.model_crm_send_mail_attachment -msgid "crm.send.mail.attachment" -msgstr "crm.enviar.mail.adjunto" - -#. module: crm -#: selection:crm.lead.report,month:0 -#: selection:crm.meeting,month_list:0 -#: selection:crm.phonecall.report,month:0 -msgid "October" -msgstr "Octubre" - -#. module: crm -#: view:crm.segmentation:0 -msgid "Included Answers :" -msgstr "Respuestas incluidas:" - -#. module: crm -#: help:crm.meeting,email_from:0 -#: help:crm.phonecall,email_from:0 -msgid "These people will receive email." -msgstr "Estas personas recibirán un email." - -#. module: crm -#: view:crm.meeting:0 -#: field:crm.meeting,name:0 -msgid "Summary" -msgstr "Resumen" - -#. module: crm -#: view:crm.segmentation:0 -msgid "State of Mind Computation" -msgstr "Cálculo grado de satisfacción" - -#. module: crm -#: help:crm.case.section,change_responsible:0 -msgid "" -"Thick this box if you want that on escalation, the responsible of this sale " -"team automatically becomes responsible of the lead/opportunity escaladed" -msgstr "" -"Marque esta opción si quiere que el responsable del equipo de ventas sea " -"automáticamente responsable de la iniciativa/oportunidad, en caso de ser " -"escalada." - -#. module: crm -#: help:crm.installer,outlook:0 -#: help:crm.installer,thunderbird:0 -msgid "" -"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 "" -"Permite enlazar su e-mail a la gestión documental de OpenERP. Puede " -"adjuntarlo a cualquier documento ya existente en OpenERP o crear uno de " -"nuevo." - -#. module: crm -#: view:crm.case.categ:0 -msgid "Case Category" -msgstr "Categoría del caso" - -#. module: crm -#: help:crm.segmentation,som_interval_default:0 -msgid "" -"Default state of mind for period preceeding the 'Max Interval' computation. " -"This is the starting state of mind by default if the partner has no event." -msgstr "" -"Grado de satisfacción por defecto para el período que precede el cálculo de " -"'Intervalo máx.'. Este es el grado de satisfacción inicial por defecto si la " -"empresa no tiene ningún evento." - -#. module: crm -#: selection:crm.meeting,end_type:0 -msgid "End date" -msgstr "Fecha de fin" - -#. module: crm -#: constraint:base.action.rule:0 -msgid "Error: The mail is not well formated" -msgstr "Error: El email no está bien formateado" - -#. module: crm -#: view:crm.segmentation:0 -msgid "Profiling Options" -msgstr "Opciones de perfiles" - -#. module: crm -#: view:crm.phonecall.report:0 -msgid "#Phone calls" -msgstr "#Llamadas telefónicas" #. module: crm #: help:crm.segmentation,categ_id:0 @@ -704,41 +310,319 @@ msgid "" "The partner category that will be added to partners that match the " "segmentation criterions after computation." msgstr "" -"La categoría de empresas que será añadida a las empresas que cumplan los " -"criterios de segmentación después del cálculo." #. module: crm -#: view:crm.lead:0 -msgid "Communication history" -msgstr "Historial de comunicación" - -#. module: crm -#: help:crm.phonecall,canal_id:0 +#: model:ir.actions.act_window,help:crm.crm_segmentation_tree-act msgid "" -"The channels represent the different communication " -"modes available with the customer. With each commercial opportunity, you can " -"indicate the canall which is this opportunity source." +"

\n" +" Click to define a new customer segmentation.\n" +"

\n" +" Create specific categories which you can assign to your\n" +" contacts to better manage your interactions with them. The\n" +" segmentation tool is able to assign categories to contacts\n" +" according to criteria you set.\n" +"

\n" +" " msgstr "" -"Los canales representan los diferentes modos de comunicación posibles con el " -"cliente. En cada oportunidad comercial, puede indicar el canal que ha sido " -"el origen de esta oportunidad." #. module: crm -#: code:addons/crm/crm_meeting.py:93 -#, python-format -msgid "The meeting '%s' has been confirmed." -msgstr "La reunión '%s' ha sido confirmada" +#: field:crm.opportunity2phonecall,contact_name:0 +#: field:crm.phonecall,partner_id:0 +#: field:crm.phonecall2phonecall,contact_name:0 +msgid "Contact" +msgstr "" + +#. module: crm +#: help:crm.case.section,change_responsible:0 +msgid "" +"When escalating to this team override the salesman with the team leader." +msgstr "" + +#. module: crm +#: model:process.transition,name:crm.process_transition_opportunitymeeting0 +msgid "Opportunity Meeting" +msgstr "" + +#. module: crm +#: help:crm.lead.report,delay_close:0 +#: help:crm.phonecall.report,delay_close:0 +msgid "Number of Days to close the case" +msgstr "" + +#. module: crm +#: model:process.node,note:crm.process_node_opportunities0 +msgid "When a real project/opportunity is detected" +msgstr "" + +#. module: crm +#: field:res.partner,opportunity_ids:0 +msgid "Leads and Opportunities" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.relate_partner_opportunities +msgid "" +"

\n" +" Click to create an opportunity related to this customer.\n" +"

\n" +" Use opportunities to keep track of your sales pipeline, " +"follow\n" +" up potential sales and better forecast your future " +"revenues.\n" +"

\n" +" You will be able to plan meetings and phone calls from\n" +" opportunities, convert them into quotations, attach related\n" +" documents, track all discussions, and much more.\n" +"

\n" +" " +msgstr "" + +#. module: crm +#: model:crm.case.stage,name:crm.stage_lead7 +#: view:crm.lead:0 +msgid "Dead" +msgstr "" + +#. module: crm +#: field:crm.case.section,message_unread:0 +#: view:crm.lead:0 +#: field:crm.lead,message_unread:0 +#: field:crm.phonecall,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +#: field:crm.segmentation.line,segmentation_id:0 +#: model:ir.actions.act_window,name:crm.crm_segmentation-act +msgid "Segmentation" +msgstr "" + +#. module: crm +#: selection:crm.lead2opportunity.partner,action:0 +#: selection:crm.lead2opportunity.partner.mass,action:0 +#: selection:crm.partner.binding,action:0 +msgid "Link to an existing customer" +msgstr "" + +#. module: crm +#: field:crm.lead,write_date:0 +msgid "Update Date" +msgstr "" #. module: crm #: field:crm.case.section,user_id:0 -msgid "Responsible User" -msgstr "Usuario responsable" +msgid "Team Leader" +msgstr "" #. module: crm -#: code:addons/crm/wizard/crm_phonecall_to_partner.py:53 +#: help:crm.case.stage,probability:0 +msgid "" +"This percentage depicts the default/average probability of the Case for this " +"stage to be a success" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: field:crm.opportunity2phonecall,categ_id:0 +#: field:crm.phonecall,categ_id:0 +#: view:crm.phonecall.report:0 +#: field:crm.phonecall.report,categ_id:0 +#: field:crm.phonecall2phonecall,categ_id:0 +msgid "Category" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +msgid "#Opportunities" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:624 #, python-format -msgid "A partner is already defined on this phonecall." -msgstr "Una empresa ya esta definida para esta llamada." +msgid "" +"Please select more than one element (lead or opportunity) from the list view." +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Leads that are assigned to one of the sale teams I manage, or to me" +msgstr "" + +#. module: crm +#: field:crm.lead,partner_address_email:0 +msgid "Partner Contact Email" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.crm_case_section_act +msgid "" +"

\n" +" Click to define a new sales team.\n" +"

\n" +" Use sales team to organize your different salespersons or\n" +" departments into separate teams. Each team will work in\n" +" its own list of opportunities.\n" +"

\n" +" " +msgstr "" + +#. module: crm +#: model:process.transition,note:crm.process_transition_opportunitymeeting0 +msgid "Normal or phone meeting for opportunity" +msgstr "" + +#. module: crm +#: field:crm.lead,state:0 +#: field:crm.lead.report,state:0 +#: field:crm.phonecall,state:0 +#: view:crm.phonecall.report:0 +#: field:crm.phonecall.report,state:0 +msgid "Status" +msgstr "" + +#. module: crm +#: view:crm.lead2opportunity.partner:0 +msgid "Create Opportunity" +msgstr "" + +#. module: crm +#: view:sale.config.settings:0 +msgid "Configure" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Escalate" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Mailings" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,description:crm.mt_lead_stage +msgid "Stage changed" +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 +#: selection:crm.phonecall.report,month:0 +msgid "June" +msgstr "" + +#. module: crm +#: selection:crm.segmentation,state:0 +msgid "Not Running" +msgstr "" + +#. module: crm +#: field:crm.lead.report,planned_revenue:0 +msgid "Planned Revenue" +msgstr "" + +#. module: crm +#: field:crm.lead,planned_revenue:0 +msgid "Expected Revenue" +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 +#: selection:crm.phonecall.report,month:0 +msgid "October" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +msgid "Included Answers :" +msgstr "" + +#. module: crm +#: help:crm.phonecall,state:0 +msgid "" +"The status is set to 'Todo', when a case is created. " +" If the case is in progress the status is set to 'Open'. " +" When the call is over, the status is set to 'Held'. " +" If the call needs to be done then the status is set " +"to 'Not Held'." +msgstr "" + +#. module: crm +#: field:crm.case.section,message_summary:0 +#: field:crm.lead,message_summary:0 +#: field:crm.phonecall,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: crm +#: view:crm.merge.opportunity:0 +msgid "Merge" +msgstr "" + +#. module: crm +#: model:email.template,subject:crm.email_template_opportunity_mail +msgid "Opportunity ${object.name | h})" +msgstr "" + +#. module: crm +#: view:crm.case.categ:0 +msgid "Case Category" +msgstr "" + +#. module: crm +#: field:crm.lead,partner_address_name:0 +msgid "Partner Contact Name" +msgstr "" + +#. module: crm +#: model:ir.actions.server,subject:crm.action_email_reminder_lead +msgid "" +"Reminder on Lead: [[object.id ]] [[object.partner_id and 'of ' " +"+object.partner_id.name or '']]" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +msgid "Profiling Options" +msgstr "" + +#. module: crm +#: view:crm.phonecall.report:0 +msgid "#Phone calls" +msgstr "" + +#. module: crm +#: sql_constraint:crm.case.section:0 +msgid "The code of the sales team must be unique !" +msgstr "" + +#. module: crm +#: help:crm.lead,email_from:0 +msgid "Email address of the contact" +msgstr "" + +#. module: crm +#: selection:crm.case.stage,state:0 +#: view:crm.lead:0 +#: selection:crm.lead,state:0 +msgid "In Progress" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.crm_phonecall_categ_action +msgid "" +"

\n" +" Click to add a new category.\n" +"

\n" +" Create specific phone call categories to better define the type " +"of\n" +" calls tracked in the system.\n" +"

\n" +" " +msgstr "" #. module: crm #: help:crm.case.section,reply_to:0 @@ -746,546 +630,381 @@ msgid "" "The email address put in the 'Reply-To' of all emails sent by OpenERP about " "cases in this sales team" msgstr "" -"La dirección de correo electrónico usada como \"Responder a\" de todos los " -"correos electrónicos enviados por OpenERP para los casos de este equipo de " -"ventas." #. module: crm -#: view:res.users:0 -msgid "Current Activity" -msgstr "Actividad actual" - -#. module: crm -#: help:crm.meeting,exrule:0 -msgid "" -"Defines a rule or repeating pattern of time to exclude from the recurring " -"rule." +#: field:crm.lead.report,creation_month:0 +msgid "Creation Month" msgstr "" -"Define una regla o patrón de repetición de tiempo a excluir de la regla " -"recurrente." #. module: crm #: field:crm.case.section,resource_calendar_id:0 +#: model:ir.ui.menu,name:crm.menu_action_resource_calendar_form msgid "Working Time" -msgstr "Horario de trabajo" +msgstr "" #. module: crm #: view:crm.segmentation.line:0 msgid "Partner Segmentation Lines" -msgstr "Líneas de segmentación de empresa" - -#. module: crm -#: view:crm.lead:0 -#: view:crm.meeting:0 -msgid "Details" -msgstr "Detalles" - -#. module: crm -#: help:crm.installer,crm_caldav:0 -msgid "" -"Helps you to synchronize the meetings with other calendar clients and " -"mobiles." msgstr "" -"Le permite sincronizar las reuniones con otros clientes de calendario y " -"móviles." #. module: crm -#: selection:crm.meeting,freq:0 -msgid "Years" -msgstr "Años" - -#. module: crm -#: help:crm.installer,crm_claim:0 -msgid "" -"Manages the suppliers and customers claims, including your corrective or " -"preventive actions." +#: model:ir.actions.act_window,name:crm.action_report_crm_phonecall +#: model:ir.ui.menu,name:crm.menu_report_crm_phonecalls_tree +msgid "Phone Calls Analysis" msgstr "" -"Gestiona las reclamaciones de clientes y proveedores, incluyendo acciones " -"correctivas o preventivas" #. module: crm #: view:crm.lead:0 msgid "Leads Form" -msgstr "Formulario de iniciativas" +msgstr "" #. module: crm #: view:crm.segmentation:0 #: model:ir.model,name:crm.model_crm_segmentation msgid "Partner Segmentation" -msgstr "Segmentación de empresa" +msgstr "" + +#. module: crm +#: field:crm.lead,company_currency:0 +msgid "Currency" +msgstr "" #. module: crm #: field:crm.lead.report,probable_revenue:0 msgid "Probable Revenue" -msgstr "Ingreso estimado" +msgstr "" + +#. module: crm +#: help:crm.lead.report,creation_month:0 +msgid "Creation month" +msgstr "" #. module: crm #: help:crm.segmentation,name:0 msgid "The name of the segmentation." -msgstr "El nombre de la segmentación." +msgstr "" #. module: crm #: field:crm.case.stage,probability:0 -#: field:crm.lead,probability:0 msgid "Probability (%)" -msgstr "Probabilidad (%)" +msgstr "" + +#. module: crm +#: sql_constraint:crm.lead:0 +msgid "The probability of closing the deal should be between 0% and 100%!" +msgstr "" #. module: crm #: view:crm.lead:0 msgid "Leads Generation" -msgstr "Generación de iniciativas" +msgstr "" #. module: crm #: view:board.board:0 -#: model:ir.ui.menu,name:crm.menu_board_statistics_dash msgid "Statistics Dashboard" -msgstr "Tablero de estadísticas" +msgstr "" #. module: crm -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:88 -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:98 -#: code:addons/crm/wizard/crm_partner_to_opportunity.py:101 -#: code:addons/crm/wizard/crm_phonecall_to_opportunity.py:117 +#: code:addons/crm/crm_lead.py:861 +#: model:crm.case.stage,name:crm.stage_lead2 +#: selection:crm.case.stage,type:0 #: view:crm.lead:0 #: selection:crm.lead,type:0 +#: view:crm.lead.report:0 #: selection:crm.lead.report,type:0 -#: field:crm.lead2opportunity,name:0 #: field:crm.meeting,opportunity_id:0 -#: field:crm.phonecall,opportunity_id:0 +#: field:res.partner,opportunity_count:0 #, python-format msgid "Opportunity" -msgstr "Oportunidad" +msgstr "" #. module: crm #: model:crm.case.resource.type,name:crm.type_lead7 msgid "Television" -msgstr "Televisión" +msgstr "" #. module: crm -#: field:crm.installer,crm_caldav:0 -msgid "Calendar Synchronizing" -msgstr "Sincronización del calendario" +#: model:ir.actions.act_window,name:crm.action_crm_send_mass_convert +msgid "Convert to opportunities" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_sale_config_settings +msgid "sale.config.settings" +msgstr "" #. module: crm #: view:crm.segmentation:0 msgid "Stop Process" -msgstr "Parar el proceso" +msgstr "" + +#. module: crm +#: field:crm.case.section,alias_id:0 +msgid "Alias" +msgstr "" #. module: crm #: view:crm.phonecall:0 msgid "Search Phonecalls" -msgstr "Buscar llamadas" +msgstr "" #. module: crm -#: view:crm.lead2opportunity.partner:0 -#: view:crm.lead2partner:0 -#: view:crm.phonecall2partner:0 -msgid "Continue" -msgstr "Siguiente" +#: view:crm.lead.report:0 +msgid "" +"Leads/Opportunities that are assigned to one of the sale teams I manage" +msgstr "" #. module: crm -#: field:crm.segmentation,som_interval:0 -msgid "Days per Period" -msgstr "Días por período" - -#. module: crm -#: field:crm.meeting,byday:0 -msgid "By day" -msgstr "Por día" - -#. module: crm -#: field:base.action.rule,act_section_id:0 -msgid "Set Team to" -msgstr "Establecer equipo a" - -#. module: crm -#: view:calendar.attendee:0 #: field:calendar.attendee,categ_id:0 msgid "Event Type" -msgstr "Tipo de evento" - -#. module: crm -#: model:ir.model,name:crm.model_crm_installer -msgid "crm.installer" -msgstr "crm.instalador" +msgstr "" #. module: crm #: field:crm.segmentation,exclusif:0 msgid "Exclusive" -msgstr "Exclusivo" - -#. module: crm -#: code:addons/crm/crm_opportunity.py:91 -#, python-format -msgid "The opportunity '%s' has been won." -msgstr "La oportunidad '%s' ha sido ganada" - -#. module: crm -#: help:crm.meeting,alarm_id:0 -msgid "Set an alarm at this time, before the event occurs" -msgstr "Configure una alarma en este momento, antes de que ocurra el evento" - -#. module: crm -#: model:ir.module.module,description:crm.module_meta_information -msgid "" -"The generic OpenERP Customer Relationship Management\n" -"system enables a group of people to intelligently and efficiently manage\n" -"leads, opportunities, meeting, phonecall etc.\n" -"It manages key tasks such as communication, identification, prioritization,\n" -"assignment, resolution and notification.\n" -"\n" -"OpenERP ensures that all cases are successfully tracked by users, customers " -"and\n" -"suppliers. It can automatically send reminders, escalate the request, " -"trigger\n" -"specific methods and lots of other actions based on your own enterprise " -"rules.\n" -"\n" -"The greatest thing about this system is that users don't need to do " -"anything\n" -"special. They can just send email to the request tracker. OpenERP will take\n" -"care of thanking them for their message, automatically routing it to the\n" -"appropriate staff, and make sure all future correspondence gets to the " -"right\n" -"place.\n" -"\n" -"The CRM module has a email gateway for the synchronisation interface\n" -"between mails and OpenERP. \n" -"Create dashboard for CRM that includes:\n" -" * My Leads (list)\n" -" * Leads by Stage (graph)\n" -" * My Meetings (list)\n" -" * Sales Pipeline by Stage (graph)\n" -" * My Cases (list)\n" -" * Jobs Tracking (graph)\n" msgstr "" -"El sistema genérico de gestión de relaciones con el cliente de OpenERP\n" -"permite a un grupo de gente manejar de forma inteligente y eficiente\n" -"iniciativas, oportunidades, reuniones, llamadas, etc.\n" -"Maneja tareas clave como la comunicación, identificación, priorización,\n" -"asignación, resolución y notificación.\n" -"\n" -"OpenERP se asegura de que todos los casos son seguidos por los usuarios, " -"clientes y\n" -"proveedores. Puede enviar automáticamente recordatorios, escalar la " -"petición, disparar\n" -"métodos específicos y muchas otras acciones basadas en las reglas de su " -"empresa.\n" -"\n" -"Lo mejor de este sistema es que los usuarios no necesitan hacer nada \n" -"especial. Tan sólo tienen que enviar un correo electrónico al gestor de " -"seguimientos. \n" -"OpenERP le agradecerá su mensaje, enrutándolo automáticamente a la \n" -"persona adecuada, asegurándose de que toda la correspondencia futura llegue " -"al\n" -"lugar correcto.\n" -"\n" -"El módulo CRM tiene una pasarela de correo para el interfaz de " -"sincronización\n" -"entre correos electrónicos y OpenERP. \n" -"Cree tableros para el CRM que incluyan:\n" -" *Mis iniciativas(lista)\n" -" *Iniciativas por etapa (gráfico)\n" -" *Mis reuniones (lista)\n" -" *Proceso de ventas por etapa (gráfico)\n" -" *Mis casos (lista)\n" -" *Seguimiento de trabajos (gráfico)\n" + +#. module: crm +#: code:addons/crm/crm_lead.py:584 +#, python-format +msgid "From %s : %s" +msgstr "" + +#. module: crm +#: view:crm.lead2opportunity.partner.mass:0 +msgid "Convert to Opportunities" +msgstr "" + +#. module: crm +#: view:crm.lead2opportunity.partner:0 +#: view:crm.lead2opportunity.partner.mass:0 +#: view:crm.merge.opportunity:0 +#: view:crm.opportunity2phonecall:0 +#: view:crm.phonecall2phonecall:0 +msgid "or" +msgstr "" #. module: crm #: field:crm.lead.report,create_date:0 #: field:crm.phonecall.report,create_date:0 msgid "Create Date" -msgstr "Fecha creación" +msgstr "" #. module: crm #: field:crm.lead,ref2:0 msgid "Reference 2" -msgstr "Referencia 2" +msgstr "" #. module: crm -#: view:crm.segmentation:0 -msgid "Sales Purchase" -msgstr "Compra Ventas" +#: help:crm.case.stage,section_ids:0 +msgid "" +"Link between stages and sales teams. When set, this limitate the current " +"stage to the selected sales teams." +msgstr "" #. module: crm #: view:crm.case.stage:0 #: field:crm.case.stage,requirements:0 msgid "Requirements" -msgstr "Requerimientos" - -#. module: crm -#: help:crm.meeting,exdate:0 -msgid "" -"This property defines the list of date/time exceptions for a recurring " -"calendar component." msgstr "" -"Esta propiedad define la lista de excepciones de fecha/hora para un evento " -"de calendario recurrente." #. module: crm -#: view:crm.phonecall2opportunity:0 -msgid "Convert To Opportunity " -msgstr "Convertir a oportunidad " - -#. module: crm -#: help:crm.case.stage,sequence:0 -msgid "Gives the sequence order when displaying a list of case stages." +#: field:crm.lead,zip:0 +msgid "Zip" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +msgid "Unassigned Phonecalls" msgstr "" -"Indica el orden de secuencia cuando se muestra un lista de etapas de casos." #. module: crm #: view:crm.lead:0 -#: field:crm.merge.opportunity,opportunity_ids:0 +#: view:crm.lead2opportunity.partner:0 +#: field:crm.lead2opportunity.partner,opportunity_ids:0 +#: field:crm.lead2opportunity.partner.mass,opportunity_ids:0 #: model:ir.actions.act_window,name:crm.crm_case_category_act_oppor11 -#: model:ir.ui.menu,name:crm.menu_crm_case_opp +#: model:ir.actions.act_window,name:crm.relate_partner_opportunities +#: model:ir.ui.menu,name:crm.menu_crm_opportunities #: model:process.node,name:crm.process_node_opportunities0 +#: view:res.partner:0 msgid "Opportunities" -msgstr "Oportunidades" +msgstr "" #. module: crm #: field:crm.segmentation,categ_id:0 msgid "Partner Category" -msgstr "Categoría de empresa" +msgstr "" #. module: crm -#: view:crm.add.note:0 -#: model:ir.actions.act_window,name:crm.action_crm_add_note -msgid "Add Note" -msgstr "Añadir nota" +#: field:crm.lead,probability:0 +msgid "Success Rate (%)" +msgstr "" #. module: crm -#: field:crm.lead,is_supplier_add:0 -msgid "Supplier" -msgstr "Proveedor" +#: field:crm.segmentation,sales_purchase_active:0 +msgid "Use The Sales Purchase Rules" +msgstr "" #. module: crm -#: help:crm.send.mail,reply_to:0 -msgid "Reply-to of the Sales team defined on this case" -msgstr "\"Responder a\" del equipo de ventas definido en este caso" +#: model:crm.case.categ,name:crm.categ_phone2 +msgid "Outbound" +msgstr "" #. module: crm #: view:crm.lead:0 msgid "Mark Won" -msgstr "Marcar ganado" +msgstr "" #. module: crm -#: selection:crm.segmentation.line,expr_name:0 -msgid "Purchase Amount" -msgstr "Importe de compra" +#: model:ir.filters,name:crm.filter_usa_lead +msgid "Leads from USA" +msgstr "" #. module: crm #: view:crm.lead:0 msgid "Mark Lost" -msgstr "Marcar perdido" +msgstr "" #. module: crm -#: selection:crm.lead.report,month:0 -#: selection:crm.meeting,month_list:0 +#: model:ir.filters,name:crm.filter_draft_lead +msgid "Draft Leads" +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "March" -msgstr "Marzo" +msgstr "" #. module: crm -#: code:addons/crm/crm_lead.py:230 +#: view:crm.lead:0 +msgid "Send Email" +msgstr "" + +#. module: crm +#: code:addons/crm/wizard/crm_lead_to_opportunity.py:89 #, python-format -msgid "The opportunity '%s' has been closed." -msgstr "La oportunidad '%s' ha sido cerrada" +msgid "Warning !" +msgstr "" #. module: crm #: field:crm.lead,day_open:0 msgid "Days to Open" -msgstr "Días para abrir" - -#. module: crm -#: view:crm.meeting:0 -msgid "Show Time as" -msgstr "Mostrar hora como" - -#. module: crm -#: code:addons/crm/crm_lead.py:264 -#: view:crm.phonecall2partner:0 -#, python-format -msgid "Create Partner" -msgstr "Crear empresa" - -#. module: crm -#: selection:crm.segmentation.line,expr_operator:0 -msgid "<" -msgstr "<" +msgstr "" #. module: crm #: field:crm.lead,mobile:0 #: field:crm.phonecall,partner_mobile:0 msgid "Mobile" -msgstr "Móvil" - -#. module: crm -#: field:crm.meeting,end_type:0 -msgid "Way to end reccurency" -msgstr "Forma de terminar recurrencia" - -#. module: crm -#: code:addons/crm/wizard/crm_merge_opportunities.py:53 -#, python-format -msgid "" -"There are no other 'Open' or 'Pending' Opportunities for the partner '%s'." msgstr "" -"No existen más oportunidades 'Abiertas' o 'Pendientes' para la empresa '%s'." - -#. module: crm -#: view:crm.lead:0 -msgid "Next Stage" -msgstr "Siguiente etapa" - -#. module: crm -#: view:board.board:0 -msgid "My Meetings" -msgstr "Mis reuniones" #. module: crm #: field:crm.lead,ref:0 msgid "Reference" -msgstr "Referencia" +msgstr "" #. module: crm -#: field:crm.lead,optin:0 -msgid "Opt-In" -msgstr "Acepta recibir emails" +#: view:crm.lead:0 +msgid "" +"Opportunities that are assigned to either me or one of the sale teams I " +"manage" +msgstr "" + +#. module: crm +#: help:crm.case.section,resource_calendar_id:0 +msgid "Used to compute open days" +msgstr "" #. module: crm -#: code:addons/crm/crm_opportunity.py:208 -#: code:addons/crm/crm_phonecall.py:185 -#: code:addons/crm/wizard/crm_phonecall_to_meeting.py:55 -#: code:addons/crm/wizard/crm_phonecall_to_meeting.py:137 -#: view:crm.meeting:0 #: model:ir.actions.act_window,name:crm.act_crm_opportunity_crm_meeting_new -#: model:ir.actions.act_window,name:crm.crm_case_categ_meet -#: model:ir.ui.menu,name:crm.menu_crm_case_categ_meet -#: model:ir.ui.menu,name:crm.menu_meeting_sale +#: model:ir.actions.act_window,name:crm.crm_meeting_partner #: view:res.partner:0 #: field:res.partner,meeting_ids:0 -#, python-format msgid "Meetings" -msgstr "Reuniones" - -#. module: crm -#: view:crm.meeting:0 -msgid "Choose day where repeat the meeting" -msgstr "Eligir día en el que repetir la cita" +msgstr "" #. module: crm #: field:crm.lead,date_action_next:0 #: field:crm.lead,title_action:0 -#: field:crm.meeting,date_action_next:0 #: field:crm.phonecall,date_action_next:0 msgid "Next Action" -msgstr "Acción siguiente" - -#. module: crm -#: field:crm.meeting,end_date:0 -msgid "Repeat Until" -msgstr "Repetir hasta" - -#. module: crm -#: field:crm.meeting,date_deadline:0 -msgid "Deadline" -msgstr "Fecha límite" - -#. module: crm -#: help:crm.meeting,active:0 -msgid "" -"If the active field is set to true, it will allow you to hide the " -"event alarm information without removing it." msgstr "" -"Si el campo activo se establece en verdadero, se omitirá la alarma del " -"evento, sin embargo no se eliminará." #. module: crm -#: code:addons/crm/wizard/crm_phonecall_to_opportunity.py:57 +#: code:addons/crm/crm_lead.py:763 #, python-format -msgid "Closed/Cancelled Phone Call Could not convert into Opportunity" +msgid "Partner set to %s." +msgstr "" + +#. module: crm +#: selection:crm.lead.report,state:0 +#: selection:crm.phonecall,state:0 +#: selection:crm.phonecall.report,state:0 +msgid "Draft" msgstr "" -"Las llamadas telefónicas cerradas/canceladas no podrían ser convertidas en " -"oportunidades" #. module: crm #: view:crm.segmentation:0 msgid "Partner Segmentations" -msgstr "Segmentaciones de empresa" +msgstr "" #. module: crm -#: view:crm.meeting:0 -#: field:crm.meeting,user_id:0 -#: view:crm.phonecall:0 -#: field:crm.phonecall,user_id:0 -#: view:res.partner:0 -msgid "Responsible" -msgstr "Responsable" +#: view:crm.lead.report:0 +msgid "Show only opportunity" +msgstr "" #. module: crm -#: view:res.partner:0 -msgid "Previous" -msgstr "Anterior" +#: field:crm.lead,name:0 +msgid "Subject" +msgstr "" #. module: crm #: view:crm.lead:0 -msgid "Statistics" -msgstr "Estadísticas" - -#. module: crm -#: view:crm.meeting:0 -#: field:crm.send.mail,email_from:0 -msgid "From" -msgstr "De" - -#. module: crm -#: view:crm.lead2opportunity.action:0 -#: view:res.partner:0 -msgid "Next" -msgstr "Siguiente" +msgid "New Leads" +msgstr "" #. module: crm #: view:crm.lead:0 -msgid "Stage:" -msgstr "Etapa:" +msgid "Show Sales Team" +msgstr "" #. module: crm -#: model:crm.case.stage,name:crm.stage_lead5 -#: model:crm.case.stage,name:crm.stage_opportunity5 +#: help:sale.config.settings,module_crm_claim:0 +msgid "" +"Allows you to track your customers/suppliers claims and grievances.\n" +" This installs the module crm_claim." +msgstr "" + +#. module: crm +#: model:crm.case.stage,name:crm.stage_lead6 #: view:crm.lead:0 msgid "Won" -msgstr "Ganado" +msgstr "" #. module: crm #: field:crm.lead.report,delay_expected:0 msgid "Overpassed Deadline" -msgstr "Fecha límite sobrepasada" +msgstr "" #. module: crm #: model:crm.case.section,name:crm.section_sales_department msgid "Sales Department" -msgstr "Departamento de ventas" - -#. module: crm -#: field:crm.send.mail,html:0 -msgid "HTML formatting?" -msgstr "Formato HTML?" +msgstr "" #. module: crm #: field:crm.case.stage,type:0 #: field:crm.lead,type:0 #: field:crm.lead.report,type:0 -#: view:crm.meeting:0 -#: view:crm.phonecall:0 -#: view:crm.phonecall.report:0 -#: view:res.partner:0 +#: view:crm.opportunity2phonecall:0 msgid "Type" -msgstr "Tipo" +msgstr "" #. module: crm #: view:crm.segmentation:0 msgid "Compute Segmentation" -msgstr "Calcular la segmentación" +msgstr "" #. module: crm #: selection:crm.lead,priority:0 @@ -1293,100 +1012,55 @@ msgstr "Calcular la segmentación" #: selection:crm.phonecall,priority:0 #: selection:crm.phonecall.report,priority:0 msgid "Lowest" -msgstr "Muy bajo" +msgstr "" #. module: crm -#: view:crm.add.note:0 -#: view:crm.send.mail:0 -#: field:crm.send.mail.attachment,binary:0 -msgid "Attachment" -msgstr "Adjunto" - -#. module: crm -#: selection:crm.lead.report,month:0 -#: selection:crm.meeting,month_list:0 -#: selection:crm.phonecall.report,month:0 -msgid "August" -msgstr "Agosto" - -#. module: crm -#: view:crm.lead:0 #: field:crm.lead,create_date:0 -#: field:crm.lead.report,creation_date:0 -#: field:crm.meeting,create_date:0 +#: view:crm.phonecall:0 #: field:crm.phonecall,create_date:0 #: field:crm.phonecall.report,creation_date:0 msgid "Creation Date" -msgstr "Fecha creación" +msgstr "" #. module: crm -#: model:crm.case.categ,name:crm.categ_oppor5 -msgid "Need a Website Design" -msgstr "Necesita un diseño de sitio web" +#: code:addons/crm/crm_lead.py:698 +#, python-format +msgid "Lead converted into an Opportunity" +msgstr "" #. module: crm -#: field:crm.meeting,recurrent_uid:0 -msgid "Recurrent ID" -msgstr "ID recurrente" +#: selection:crm.segmentation.line,expr_name:0 +msgid "Purchase Amount" +msgstr "" #. module: crm -#: view:crm.lead:0 -#: view:crm.meeting:0 -#: field:crm.send.mail,subject:0 -#: view:res.partner:0 -msgid "Subject" -msgstr "Asunto" +#: view:crm.phonecall.report:0 +msgid "Year of call" +msgstr "" #. module: crm -#: field:crm.meeting,tu:0 -msgid "Tue" -msgstr "Mar" - -#. module: crm -#: code:addons/crm/crm_lead.py:300 #: view:crm.case.stage:0 #: view:crm.lead:0 #: field:crm.lead,stage_id:0 #: view:crm.lead.report:0 #: field:crm.lead.report,stage_id:0 -#, python-format msgid "Stage" -msgstr "Etapa" +msgstr "" #. module: crm -#: view:crm.lead:0 -msgid "History Information" -msgstr "Histórico información" +#: view:crm.phonecall.report:0 +msgid "Phone Calls that are assigned to me" +msgstr "" #. module: crm -#: field:base.action.rule,act_mail_to_partner:0 -msgid "Mail to Partner" -msgstr "Mail a la empresa" +#: field:crm.lead,user_login:0 +msgid "User Login" +msgstr "" #. module: crm -#: view:crm.lead:0 -msgid "Mailings" -msgstr "Mailings" - -#. module: crm -#: field:crm.meeting,class:0 -msgid "Mark as" -msgstr "Marcar como" - -#. module: crm -#: field:crm.meeting,count:0 -msgid "Repeat" -msgstr "Repetir" - -#. module: crm -#: help:crm.meeting,rrule_type:0 -msgid "Let the event automatically repeat at that interval" -msgstr "Permite que el evento se repita en ese intervalo" - -#. module: crm -#: view:base.action.rule:0 -msgid "Condition Case Fields" -msgstr "Campos de condiciones de casos" +#: view:crm.phonecall.report:0 +msgid "Phone calls which are in pending state" +msgstr "" #. module: crm #: view:crm.case.section:0 @@ -1394,67 +1068,97 @@ msgstr "Campos de condiciones de casos" #: view:crm.case.stage:0 #: model:ir.actions.act_window,name:crm.crm_case_stage_act #: model:ir.actions.act_window,name:crm.crm_lead_stage_act -#: model:ir.actions.act_window,name:crm.crm_opportunity_stage_act #: model:ir.ui.menu,name:crm.menu_crm_lead_stage_act -#: model:ir.ui.menu,name:crm.menu_crm_opportunity_stage_act msgid "Stages" -msgstr "Etapas" - -#. module: crm -#: field:crm.lead,planned_revenue:0 -#: field:crm.lead2opportunity,planned_revenue:0 -#: field:crm.partner2opportunity,planned_revenue:0 -#: field:crm.phonecall2opportunity,planned_revenue:0 -msgid "Expected Revenue" -msgstr "Ingreso estimado" - -#. module: crm -#: model:ir.actions.act_window,help:crm.crm_phonecall_categ_action -msgid "" -"Create specific phone call categories to better define the type of calls " -"tracked in the system." msgstr "" -"Crear categorías específicas de llamada telefónica para definir mejor el " -"tipo de llamadas en el sistema de seguimiento." #. module: crm -#: selection:crm.lead.report,month:0 -#: selection:crm.meeting,month_list:0 +#: help:sale.config.settings,module_crm_helpdesk:0 +msgid "" +"Allows you to communicate with Customer, process Customer query, and " +"provide better help and support. This installs the module crm_helpdesk." +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Delete" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,description:crm.mt_lead_create +msgid "Opportunity created" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "í" +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "September" -msgstr "Setiembre" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.crm_case_category_act_oppor11 +msgid "" +"

\n" +" Click to create a new opportunity.\n" +"

\n" +" OpenERP helps you keep track of your sales pipeline to follow\n" +" up potential sales and better forecast your future revenues.\n" +"

\n" +" You will be able to plan meetings and phone calls from\n" +" opportunities, convert them into quotations, attach related\n" +" documents, track all discussions, and much more.\n" +"

\n" +" " +msgstr "" #. module: crm #: field:crm.segmentation,partner_id:0 msgid "Max Partner ID processed" -msgstr "Máx ID de empresa procesado" +msgstr "" #. module: crm -#: model:ir.actions.act_window,name:crm.action_report_crm_phonecall -#: model:ir.ui.menu,name:crm.menu_report_crm_phonecalls_tree -msgid "Phone Calls Analysis" -msgstr "Análisis de llamadas" +#: help:crm.case.stage,on_change:0 +msgid "" +"Setting this stage will change the probability automatically on the " +"opportunity." +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "oe_kanban_text_red" +msgstr "" + +#. module: crm +#: model:ir.ui.menu,name:crm.menu_crm_payment_mode_act +msgid "Payment Modes" +msgstr "" #. module: crm #: field:crm.lead.report,opening_date:0 #: field:crm.phonecall.report,opening_date:0 msgid "Opening Date" -msgstr "Fecha de apertura" +msgstr "" #. module: crm #: help:crm.phonecall,duration:0 msgid "Duration in Minutes" -msgstr "Duración en minutos" +msgstr "" #. module: crm -#: help:crm.installer,crm_helpdesk:0 -msgid "Manages a Helpdesk service." -msgstr "Gestiona un servicio de soporte." +#: field:crm.case.channel,name:0 +msgid "Channel Name" +msgstr "" #. module: crm -#: field:crm.partner2opportunity,name:0 -msgid "Opportunity Name" -msgstr "Nombre oportunidad" +#: help:crm.lead.report,deadline_day:0 +msgid "Expected closing day" +msgstr "" #. module: crm #: help:crm.case.section,active:0 @@ -1462,44 +1166,26 @@ msgid "" "If the active field is set to true, it will allow you to hide the sales team " "without removing it." msgstr "" -"Si el campo activo se marca, permite ocultar el equipo de ventas sin " -"eliminarlo." #. module: crm -#: view:crm.lead.report:0 -#: view:crm.phonecall.report:0 -msgid " Year " -msgstr " Año " +#: help:crm.case.stage,case_default:0 +msgid "" +"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." +msgstr "" #. module: crm -#: field:crm.meeting,edit_all:0 -msgid "Edit All" -msgstr "Editar todo" +#: help:crm.case.stage,type:0 +msgid "" +"This field is used to distinguish stages related to Leads from stages " +"related to Opportunities, or to specify stages available for both types." +msgstr "" #. module: crm -#: field:crm.meeting,fr:0 -msgid "Fri" -msgstr "Vie" - -#. module: crm -#: model:ir.model,name:crm.model_crm_lead -msgid "crm.lead" -msgstr "crm.iniciativa" - -#. module: crm -#: field:crm.meeting,write_date:0 -msgid "Write Date" -msgstr "Fecha escritura" - -#. module: crm -#: view:crm.meeting:0 -msgid "End of Recurrency" -msgstr "Fin de recurrencia" - -#. module: crm -#: view:crm.meeting:0 -msgid "Reminder" -msgstr "Recordatorio" +#: model:mail.message.subtype,name:crm.mt_lead_create +#: model:mail.message.subtype,name:crm.mt_salesteam_lead +msgid "Lead Created" +msgstr "" #. module: crm #: help:crm.segmentation,sales_purchase_active:0 @@ -1507,238 +1193,256 @@ msgid "" "Check if you want to use this tab as part of the segmentation rule. If not " "checked, the criteria beneath will be ignored" msgstr "" -"Márquela si quiere utilizar esta pestaña como parte de la regla de " -"segmentación. Si no se marca, los criterios que contenga serán ignorados" - -#. module: crm -#: view:crm.lead2opportunity.partner:0 -#: view:crm.lead2partner:0 -#: view:crm.phonecall:0 -#: view:crm.phonecall2partner:0 -#: model:ir.actions.act_window,name:crm.action_crm_lead2partner -#: model:ir.actions.act_window,name:crm.action_crm_phonecall2partner -#: view:res.partner:0 -msgid "Create a Partner" -msgstr "Crear una empresa" #. module: crm #: field:crm.segmentation,state:0 msgid "Execution Status" -msgstr "Estado ejecución" +msgstr "" #. module: crm -#: selection:crm.meeting,week_list:0 -msgid "Monday" -msgstr "Lunes" +#: view:crm.opportunity2phonecall:0 +msgid "Log call" +msgstr "" #. module: crm #: field:crm.lead,day_close:0 msgid "Days to Close" -msgstr "Días para el cierre" +msgstr "" #. module: crm -#: field:crm.add.note,attachment_ids:0 #: field:crm.case.section,complete_name:0 -#: field:crm.send.mail,attachment_ids:0 msgid "unknown" -msgstr "desconocido" +msgstr "" #. module: crm -#: field:crm.lead,id:0 -#: field:crm.meeting,id:0 -#: field:crm.phonecall,id:0 -msgid "ID" -msgstr "ID" +#: field:crm.case.section,message_is_follower:0 +#: field:crm.lead,message_is_follower:0 +#: field:crm.phonecall,message_is_follower:0 +msgid "Is a Follower" +msgstr "" #. module: crm -#: model:ir.model,name:crm.model_crm_partner2opportunity -msgid "Partner To Opportunity" -msgstr "Empresa a oportunidad" - -#. module: crm -#: view:crm.meeting:0 -#: field:crm.meeting,date:0 #: field:crm.opportunity2phonecall,date:0 #: view:crm.phonecall:0 #: field:crm.phonecall,date:0 #: field:crm.phonecall2phonecall,date:0 -#: view:res.partner:0 msgid "Date" -msgstr "Fecha" +msgstr "" + +#. module: crm +#: model:crm.case.section,name:crm.crm_case_section_4 +msgid "Online Support" +msgstr "" #. module: crm -#: view:crm.lead:0 #: view:crm.lead.report:0 -#: view:crm.meeting:0 #: view:crm.phonecall.report:0 msgid "Extended Filters..." -msgstr "Filtros extendidos..." +msgstr "" #. module: crm -#: field:crm.phonecall2opportunity,name:0 -msgid "Opportunity Summary" -msgstr "Resumen oportunidad" +#: view:crm.phonecall.report:0 +msgid "Phone calls which are in closed state" +msgstr "" #. module: crm #: view:crm.phonecall.report:0 msgid "Search" -msgstr "Buscar" +msgstr "" #. module: crm -#: view:board.board:0 -msgid "Opportunities by Categories" -msgstr "Oportunidades por categorías" +#: help:crm.lead,state:0 +msgid "" +"The Status is set to 'Draft', when a case is created. If the case is in " +"progress the Status is set to 'Open'. When the case is over, the Status is " +"set to 'Done'. If the case needs to be reviewed then the Status is set to " +"'Pending'." +msgstr "" #. module: crm -#: view:crm.meeting:0 -msgid "Choose day in the month where repeat the meeting" -msgstr "Elija el día del mes en que se repetirá la cita." +#: model:crm.case.section,name:crm.crm_case_section_1 +msgid "Sales Marketing Department" +msgstr "" + +#. module: crm +#: view:crm.phonecall.report:0 +msgid "Date of call" +msgstr "" + +#. module: crm +#: help:crm.lead,section_id:0 +msgid "" +"When sending mails, the default email address is taken from the sales team." +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +msgid "" +"Phone Calls Assigned to the current user or with a team having the current " +"user as team leader" +msgstr "" #. module: crm #: view:crm.segmentation:0 msgid "Segmentation Description" -msgstr "Descripción de segmentación" +msgstr "" #. module: crm #: view:crm.lead:0 -#: view:res.partner:0 -msgid "History" -msgstr "Historial" +msgid "Lead Description" +msgstr "" #. module: crm -#: model:ir.actions.act_window,help:crm.crm_segmentation_tree-act -msgid "" -"Create specific partner categories which you can assign to your partners to " -"better manage your interactions with them. The segmentation tool is able to " -"assign categories to partners according to criteria you set." +#: code:addons/crm/crm_lead.py:565 +#, python-format +msgid "Merged opportunities" +msgstr "" + +#. module: crm +#: model:crm.case.categ,name:crm.categ_oppor7 +msgid "Consulting" msgstr "" -"Cree categorías de empresa específicas para gestionar mejor sus " -"interacciones con ellas. La herramienta de segmentación es capaz de asignar " -"categorías a empresas de acuerdo a los criterios que establezca." #. module: crm #: field:crm.case.section,code:0 msgid "Code" -msgstr "Código" +msgstr "" + +#. module: crm +#: view:sale.config.settings:0 +msgid "Features" +msgstr "" #. module: crm #: field:crm.case.section,child_ids:0 msgid "Child Teams" -msgstr "Equipos hijos" +msgstr "" #. module: crm -#: view:crm.lead:0 -#: field:crm.lead,state:0 -#: view:crm.lead.report:0 -#: field:crm.lead.report,state:0 -#: view:crm.meeting:0 -#: field:crm.meeting,state:0 -#: field:crm.phonecall,state:0 #: view:crm.phonecall.report:0 -#: field:crm.phonecall.report,state:0 -msgid "State" -msgstr "Estado" +msgid "Phone calls which are in draft and open state" +msgstr "" #. module: crm -#: field:crm.meeting,freq:0 -msgid "Frequency" -msgstr "Frecuencia" +#: field:crm.lead2opportunity.partner.mass,user_ids:0 +msgid "Salesmen" +msgstr "" #. module: crm #: view:crm.lead:0 msgid "References" -msgstr "Referencias" - -#. module: crm -#: code:addons/crm/crm.py:392 -#: view:crm.lead:0 -#: view:crm.lead2opportunity:0 -#: view:crm.lead2opportunity.action:0 -#: view:crm.lead2opportunity.partner:0 -#: view:crm.lead2partner:0 -#: view:crm.phonecall:0 -#: view:crm.phonecall2partner:0 -#: view:res.partner:0 -#, python-format -msgid "Cancel" -msgstr "Cancelar" - -#. module: crm -#: model:ir.model,name:crm.model_res_users -msgid "res.users" -msgstr "res.usuarios" - -#. module: crm -#: model:ir.model,name:crm.model_crm_merge_opportunity -msgid "Merge two Opportunities" -msgstr "Fusionar dos oportunidades" - -#. module: crm -#: selection:crm.meeting,end_type:0 -msgid "Fix amout of times" -msgstr "Cantidad fija de veces" - -#. module: crm -#: view:crm.lead:0 -#: view:crm.meeting:0 -#: view:crm.phonecall:0 -msgid "Current" -msgstr "Actual" - -#. module: crm -#: field:crm.meeting,exrule:0 -msgid "Exception Rule" -msgstr "Exception de regla" - -#. module: crm -#: help:base.action.rule,act_mail_to_partner:0 -msgid "Check this if you want the rule to send an email to the partner." msgstr "" -"Verifica esto si tu quieres enviar la norma en un correo electronico a el " -"socio" + +#. module: crm +#: view:crm.lead2opportunity.partner:0 +#: view:crm.lead2opportunity.partner.mass:0 +#: view:crm.merge.opportunity:0 +#: view:crm.opportunity2phonecall:0 +#: view:crm.phonecall:0 +#: view:crm.phonecall2phonecall:0 +msgid "Cancel" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Opportunities Assigned to Me or My Team(s)" +msgstr "" + +#. module: crm +#: model:crm.case.categ,name:crm.categ_oppor4 +msgid "Information" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +msgid "Leads/Opportunities which are in pending state" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +msgid "To Do" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,description:crm.mt_lead_lost +msgid "Opportunity lost" +msgstr "" + +#. module: crm +#: field:crm.lead2opportunity.partner,action:0 +#: field:crm.lead2opportunity.partner.mass,action:0 +#: field:crm.partner.binding,action:0 +msgid "Related Customer" +msgstr "" + +#. module: crm +#: model:crm.case.categ,name:crm.categ_oppor8 +msgid "Other" +msgstr "" + +#. module: crm +#: field:crm.phonecall,opportunity_id:0 +#: model:ir.model,name:crm.model_crm_lead +msgid "Lead/Opportunity" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.action_merge_opportunities +#: model:ir.actions.act_window,name:crm.merge_opportunity_act +msgid "Merge leads/opportunities" +msgstr "" + +#. module: crm +#: help:crm.case.stage,sequence:0 +msgid "Used to order stages. Lower is better." +msgstr "" #. module: crm #: model:ir.actions.act_window,name:crm.crm_phonecall_categ_action msgid "Phonecall Categories" -msgstr "Categorías de llamadas" +msgstr "" #. module: crm -#: view:crm.meeting:0 -msgid "Invite People" -msgstr "Invitar personas" +#: view:crm.lead.report:0 +msgid "Leads/Opportunities which are in open state" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_res_users +msgid "Users" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,name:crm.mt_lead_stage +msgid "Stage Changed" +msgstr "" + +#. module: crm +#: field:crm.case.stage,section_ids:0 +msgid "Sections" +msgstr "" #. module: crm #: constraint:crm.case.section:0 msgid "Error ! You cannot create recursive Sales team." -msgstr "¡Error! No puede crear equipos de ventas recursivos." +msgstr "" #. module: crm -#: view:crm.meeting:0 -msgid "Search Meetings" -msgstr "Buscar reuniones" +#: selection:crm.opportunity2phonecall,action:0 +#: selection:crm.phonecall2phonecall,action:0 +msgid "Log a call" +msgstr "" #. module: crm #: selection:crm.segmentation.line,expr_name:0 msgid "Sale Amount" -msgstr "Importe de venta" - -#. module: crm -#: code:addons/crm/wizard/crm_send_email.py:141 -#, python-format -msgid "Unable to send mail. Please check SMTP is configured properly." msgstr "" -"Imposible enviar el correo electrónico. Verifique que la configuración SMTP " -"sea correcta." #. module: crm -#: selection:crm.segmentation.line,expr_operator:0 -msgid "=" -msgstr "=" - -#. module: crm -#: selection:crm.meeting,state:0 -msgid "Unconfirmed" -msgstr "No confirmado" +#: view:crm.phonecall.report:0 +#: model:ir.actions.act_window,name:crm.act_crm_opportunity_crm_phonecall_new +msgid "Phone calls" +msgstr "" #. module: crm #: model:ir.actions.act_window,help:crm.action_report_crm_opportunity @@ -1749,73 +1453,47 @@ msgid "" "mainly used by the sales manager in order to do the periodic review with the " "teams of the sales pipeline." msgstr "" -"El análisis de oportunidades le da acceso instantáneo a sus oportunidades " -"con información como el ingreso previsto, coste planeado, fechas límite " -"incumplidas o el número de interacciones por oportunidad. Este informe lo " -"utiliza principalmente el responsable de ventas para hacer una revisión " -"periódica del proceso de ventas con los equipos." #. module: crm #: field:crm.case.categ,name:0 -#: field:crm.installer,name:0 -#: field:crm.lead,name:0 +#: field:crm.payment.mode,name:0 #: field:crm.segmentation,name:0 -#: field:crm.send.mail.attachment,name:0 msgid "Name" -msgstr "Nombre" - -#. module: crm -#: field:crm.meeting,alarm_id:0 -#: field:crm.meeting,base_calendar_alarm_id:0 -msgid "Alarm" -msgstr "Alarma" - -#. module: crm -#: model:ir.actions.act_window,help:crm.crm_lead_stage_act -msgid "" -"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." msgstr "" -"Agregar etapas específicas de iniciativas y oportunidades para organizar " -"mejor su flujo de ventas. Estas etapas permitirán un fácil seguimiento de " -"iniciativas u oportunidades en relación al ciclo de ventas." #. module: crm #: view:crm.lead.report:0 -#: view:crm.phonecall.report:0 -msgid "My Case(s)" -msgstr "Mi(s) caso(s)" - -#. module: crm -#: field:crm.lead,birthdate:0 -msgid "Birthdate" -msgstr "Fecha de nacimiento" - -#. module: crm -#: view:crm.meeting:0 -msgid "The" -msgstr "El" - -#. module: crm -#: field:crm.send.mail.attachment,wizard_id:0 -msgid "Wizard" -msgstr "Asistente" - -#. module: crm -#: help:crm.lead,section_id:0 -msgid "" -"Sales team to which this case belongs to. Defines responsible user and e-" -"mail address for the mail gateway." +msgid "Leads/Opportunities that are assigned to me" +msgstr "" + +#. module: crm +#: field:crm.lead.report,date_closed:0 +#: field:crm.phonecall.report,date_closed:0 +msgid "Close Date" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +msgid "My Case(s)" +msgstr "" + +#. module: crm +#: help:crm.case.section,message_ids:0 +#: help:crm.lead,message_ids:0 +#: help:crm.phonecall,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Show Countries" msgstr "" -"El equipo de ventas al que pertenece este caso. Define el usuario " -"responsable y la dirección de correo electrónico para la pasarela de correo." #. module: crm #: view:crm.lead:0 #: view:crm.phonecall:0 msgid "Creation" -msgstr "Creación" +msgstr "" #. module: crm #: selection:crm.lead,priority:0 @@ -1823,168 +1501,104 @@ msgstr "Creación" #: selection:crm.phonecall,priority:0 #: selection:crm.phonecall.report,priority:0 msgid "High" -msgstr "Alto" +msgstr "" #. module: crm #: model:process.node,note:crm.process_node_partner0 msgid "Convert to prospect to business partner" -msgstr "Convertir prospección a empresa" - -#. module: crm -#: view:crm.phonecall2opportunity:0 -msgid "_Convert" -msgstr "_Convertir" - -#. module: crm -#: model:ir.actions.act_window,help:crm.action_view_attendee_form -msgid "" -"With Meeting Invitations you can create and manage the meeting invitations " -"sent/to be sent to your colleagues/partners. You can not only invite OpenERP " -"users, but also external parties, such as a customer." msgstr "" -"Con invitaciones a reuniones puede crear y gesionar las invitaciones de " -"reuniones enviadas / por enviar a sus compañeros de trabajo / empresas. La " -"invitación no debe ser únicamente para usuarios de OpenERP, puede ser " -"igualmente para terceros externos, como un cliente." #. module: crm -#: selection:crm.meeting,week_list:0 -msgid "Saturday" -msgstr "Sábado" +#: model:ir.model,name:crm.model_crm_payment_mode +msgid "CRM Payment Mode" +msgstr "" #. module: crm -#: selection:crm.meeting,byday:0 -msgid "Fifth" -msgstr "Quinto" - -#. module: crm -#: view:crm.phonecall2phonecall:0 -msgid "_Schedule" -msgstr "_Calendario" +#: view:crm.lead.report:0 +msgid "Leads/Opportunities which are in done state" +msgstr "" #. module: crm #: field:crm.lead.report,delay_close:0 msgid "Delay to Close" -msgstr "Tiempo restante para el cierre" - -#. module: crm -#: field:crm.meeting,we:0 -msgid "Wed" -msgstr "Mier" - -#. module: crm -#: model:crm.case.categ,name:crm.categ_oppor6 -msgid "Potential Reseller" -msgstr "Distribuidor potencial" - -#. module: crm -#: field:crm.lead.report,planned_revenue:0 -msgid "Planned Revenue" -msgstr "Ingresos previstos" +msgstr "" #. module: crm #: view:crm.lead:0 #: view:crm.lead.report:0 -#: view:crm.meeting:0 #: view:crm.phonecall:0 #: view:crm.phonecall.report:0 msgid "Group By..." -msgstr "Agrupar por..." - -#. module: crm -#: help:crm.lead,partner_id:0 -msgid "Optional linked partner, usually after conversion of the lead" msgstr "" -"Empresa relacionada opcional, normalmente después de la conversión de la " -"iniciativa" #. module: crm -#: view:crm.meeting:0 -msgid "Invitation details" -msgstr "Detalles de la invitación" +#: view:crm.merge.opportunity:0 +msgid "Merge Leads/Opportunities" +msgstr "" #. module: crm #: field:crm.case.section,parent_id:0 msgid "Parent Team" -msgstr "Equipo padre" +msgstr "" + +#. module: crm +#: selection:crm.lead2opportunity.partner,action:0 +#: selection:crm.lead2opportunity.partner.mass,action:0 +#: selection:crm.partner.binding,action:0 +msgid "Do not link to a customer" +msgstr "" #. module: crm #: field:crm.lead,date_action:0 msgid "Next Action Date" -msgstr "Fecha de la próxima acción" +msgstr "" #. module: crm -#: selection:crm.segmentation,state:0 -msgid "Running" -msgstr "En proceso" +#: help:crm.case.stage,state:0 +msgid "" +"The status of your document will automatically change regarding the selected " +"stage. For example, if a stage is related to the status 'Close', when your " +"document reaches this stage, it is automatically closed." +msgstr "" #. module: crm -#: selection:crm.meeting,freq:0 -msgid "Hours" -msgstr "Horas" - -#. module: crm -#: field:crm.lead,zip:0 -msgid "Zip" -msgstr "Código postal" - -#. module: crm -#: code:addons/crm/crm_lead.py:213 -#, python-format -msgid "The case '%s' has been opened." -msgstr "El caso '%s' ha sido abierto" - -#. module: crm -#: view:crm.installer:0 -msgid "title" -msgstr "título" +#: view:crm.lead2opportunity.partner.mass:0 +msgid "Assign opportunities to" +msgstr "" #. module: crm #: model:crm.case.categ,name:crm.categ_phone1 -#: model:ir.actions.act_window,name:crm.crm_case_categ_phone_incoming0 -#: model:ir.ui.menu,name:crm.menu_crm_case_phone_inbound msgid "Inbound" -msgstr "Entrante" - -#. module: crm -#: help:crm.case.stage,probability:0 -msgid "" -"This percentage depicts the default/average probability of the Case for this " -"stage to be a success" msgstr "" -"Este porcentaje representa la probabilidad por defecto / media para que los " -"casos de esta etapa sean un éxito." #. module: crm #: view:crm.phonecall.report:0 -#: model:ir.actions.act_window,name:crm.act_crm_opportunity_crm_phonecall_new -msgid "Phone calls" -msgstr "Llamadas telefónicas" +msgid "Month of call" +msgstr "" #. module: crm -#: view:crm.lead:0 -msgid "Communication History" -msgstr "Historial de comunicaciones" +#: code:addons/crm/crm_phonecall.py:290 +#, python-format +msgid "Partner has been created." +msgstr "" #. module: crm -#: selection:crm.meeting,show_as:0 -msgid "Free" -msgstr "Libre" +#: field:sale.config.settings,module_crm_claim:0 +msgid "Manage Customer Claims" +msgstr "" #. module: crm -#: view:crm.installer:0 -msgid "Synchronization" -msgstr "Sincronización" +#: model:ir.actions.act_window,help:crm.action_report_crm_lead +msgid "" +"Leads Analysis allows you to check different CRM related information like " +"the treatment delays or number of leads per state. You can sort out your " +"leads analysis by different groups to get accurate grained analysis." +msgstr "" #. module: crm -#: field:crm.case.section,allow_unlink:0 -msgid "Allow Delete" -msgstr "Permitir eliminar" - -#. module: crm -#: field:crm.meeting,mo:0 -msgid "Mon" -msgstr "Lun" +#: model:crm.case.categ,name:crm.categ_oppor3 +msgid "Services" +msgstr "" #. module: crm #: selection:crm.lead,priority:0 @@ -1992,162 +1606,89 @@ msgstr "Lun" #: selection:crm.phonecall,priority:0 #: selection:crm.phonecall.report,priority:0 msgid "Highest" -msgstr "Muy alto" - -#. module: crm -#: model:ir.actions.act_window,help:crm.crm_case_categ_phone_incoming0 -msgid "" -"The Inbound Calls tool allows you to log your inbound calls on the fly. Each " -"call you get will appear on the partner form to trace every contact you have " -"with a partner. From the phone call form, you can trigger a request for " -"another call, a meeting or an opportunity." msgstr "" -"La herramienta de llamadas entrantes le permite seguir el rastro de sus " -"llamadas entrantes en tiempo real. Cada llamada que reciba, aparecerá en el " -"formulario de la empresa para dejar el rastro de cada contacto que tiene en " -"una empresa. Desde el formulario de llamada telefónica, puede lanzar una " -"solicitud para otra llamada, una reunión o una oportunidad" #. module: crm -#: help:crm.meeting,recurrency:0 -msgid "Recurrent Meeting" -msgstr "Reunión periódica" +#: help:crm.lead.report,creation_year:0 +msgid "Creation year" +msgstr "" #. module: crm #: view:crm.case.section:0 -#: view:crm.lead:0 #: field:crm.lead,description:0 msgid "Notes" -msgstr "Notas" - -#. module: crm -#: selection:crm.meeting,freq:0 -msgid "Days" -msgstr "Días" +msgstr "" #. module: crm #: field:crm.segmentation.line,expr_value:0 msgid "Value" -msgstr "Valor" +msgstr "" #. module: crm -#: view:crm.lead:0 -#: view:crm.lead.report:0 -msgid "Opportunity by Categories" -msgstr "Oportunidades por categorías" - -#. module: crm -#: view:crm.lead:0 #: field:crm.lead,partner_name:0 msgid "Customer Name" -msgstr "Nombre del cliente" - -#. module: crm -#: model:ir.actions.act_window,help:crm.crm_case_categ_meet -msgid "" -"The meeting calendar is shared between the sales teams and fully integrated " -"with other applications such as the employee holidays or the business " -"opportunities. You can also synchronize meetings with your mobile phone " -"using the caldav interface." msgstr "" -"El calendario de reuniones es compartido entre los equipos de ventas e " -"integrado por completo con otras aplicaciones como las vacaciones de " -"empleados o las oportunidades de negocio. Puede sincronizar reuniones con su " -"teléfono móvil utilizando el interfaz caldav." - -#. module: crm -#: model:ir.model,name:crm.model_crm_phonecall2opportunity -msgid "Phonecall To Opportunity" -msgstr "Llamada telefónica a oportunidad" #. module: crm #: field:crm.case.section,reply_to:0 msgid "Reply-To" -msgstr "Responder a" +msgstr "" #. module: crm -#: view:crm.case.section:0 -msgid "Select Stages for this Sales Team" -msgstr "Seleccionar etapas para este equipo de ventas" +#: view:crm.lead:0 +msgid "Display" +msgstr "" #. module: crm #: view:board.board:0 msgid "Opportunities by Stage" -msgstr "Oportunidades por etapa" - -#. module: crm -#: view:crm.meeting:0 -msgid "Recurrency Option" -msgstr "Opción de recurrencia" +msgstr "" #. module: crm #: model:process.transition,note:crm.process_transition_leadpartner0 msgid "Prospect is converting to business partner" -msgstr "El prospecto se convierte a partner" +msgstr "" #. module: crm -#: view:crm.lead2opportunity:0 -#: view:crm.partner2opportunity:0 -#: model:ir.actions.act_window,name:crm.phonecall2opportunity_act -msgid "Convert To Opportunity" -msgstr "Convertir en oportunidad" +#: view:crm.case.channel:0 +#: model:ir.actions.act_window,name:crm.crm_case_channel_action +#: model:ir.model,name:crm.model_crm_case_channel +#: model:ir.ui.menu,name:crm.menu_crm_case_channel +msgid "Channels" +msgstr "" #. module: crm #: view:crm.phonecall:0 +#: selection:crm.phonecall,state:0 #: view:crm.phonecall.report:0 -#: view:res.partner:0 +#: selection:crm.phonecall.report,state:0 msgid "Held" -msgstr "Realizada" - -#. module: crm -#: view:crm.lead:0 -#: view:crm.phonecall:0 -#: view:res.partner:0 -msgid "Reset to Draft" -msgstr "Cambiar a borrador" +msgstr "" #. module: crm #: view:crm.lead:0 msgid "Extra Info" -msgstr "Información extra" +msgstr "" #. module: crm -#: view:crm.merge.opportunity:0 -#: model:ir.actions.act_window,name:crm.action_merge_opportunities -#: model:ir.actions.act_window,name:crm.merge_opportunity_act -msgid "Merge Opportunities" -msgstr "Fusionar oportunidades" +#: view:crm.lead:0 +msgid "Fund Raising" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Edit..." +msgstr "" #. module: crm #: model:crm.case.resource.type,name:crm.type_lead5 msgid "Google Adwords" -msgstr "Google Adwords" +msgstr "" #. module: crm -#: model:ir.model,name:crm.model_crm_phonecall -msgid "crm.phonecall" -msgstr "crm.llamadateléfono" - -#. module: crm -#: model:crm.case.resource.type,name:crm.type_lead3 -msgid "Mail Campaign 2" -msgstr "Campaña mail 2" - -#. module: crm -#: view:crm.lead:0 -msgid "Create" -msgstr "Crear" - -#. module: crm -#: view:crm.lead:0 -msgid "Dates" -msgstr "Fechas" - -#. module: crm -#: code:addons/crm/crm.py:492 -#, python-format -msgid "Send" -msgstr "Enviar" +#: view:crm.case.section:0 +msgid "Select Stages for this Sales Team" +msgstr "" #. module: crm #: view:crm.lead:0 @@ -2158,257 +1699,205 @@ msgstr "Enviar" #: view:crm.phonecall.report:0 #: field:crm.phonecall.report,priority:0 msgid "Priority" -msgstr "Prioridad" - -#. module: crm -#: field:crm.segmentation,sales_purchase_active:0 -msgid "Use The Sales Purchase Rules" -msgstr "Utiliza las reglas de compra ventas" +msgstr "" #. module: crm #: model:ir.model,name:crm.model_crm_lead2opportunity_partner msgid "Lead To Opportunity Partner" -msgstr "Iniciativa a Oportunidad" +msgstr "" #. module: crm -#: field:crm.meeting,location:0 -msgid "Location" -msgstr "Ubicación" +#: help:crm.lead,partner_id:0 +msgid "Linked partner (optional). Usually created when converting the lead." +msgstr "" #. module: crm -#: view:crm.lead:0 -msgid "Reply" -msgstr "Responder" +#: field:crm.lead,payment_mode:0 +#: view:crm.payment.mode:0 +#: model:ir.actions.act_window,name:crm.action_crm_payment_mode +msgid "Payment Mode" +msgstr "" #. module: crm -#: selection:crm.meeting,freq:0 -msgid "Weeks" -msgstr "Semanas" +#: model:ir.model,name:crm.model_crm_lead2opportunity_partner_mass +msgid "Mass Lead To Opportunity Partner" +msgstr "" + +#. module: crm +#: view:sale.config.settings:0 +msgid "On Mail Server" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.open_board_statistical_dash +#: model:ir.ui.menu,name:crm.menu_board_statistics_dash +msgid "CRM" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.crm_segmentation_tree-act +#: model:ir.ui.menu,name:crm.menu_crm_segmentation-act +msgid "Contacts Segmentation" +msgstr "" #. module: crm #: model:process.node,note:crm.process_node_meeting0 msgid "Schedule a normal or phone meeting" -msgstr "Programar una reunión normal o telefónica" - -#. module: crm -#: code:addons/crm/crm.py:375 -#, python-format -msgid "Error !" -msgstr "¡Error!" - -#. module: crm -#: model:ir.actions.act_window,help:crm.crm_meeting_categ_action -msgid "" -"Create different meeting categories to better organize and classify your " -"meetings." msgstr "" -"Cree diferentes categorías de reuniones para organizarlas y clasificarlas " -"mejor." + +#. module: crm +#: model:crm.case.resource.type,name:crm.type_lead1 +msgid "Telesales" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Leads Assigned to Me or My Team(s)" +msgstr "" #. module: crm #: model:ir.model,name:crm.model_crm_segmentation_line msgid "Segmentation line" -msgstr "Línea de segmentación" +msgstr "" #. module: crm #: view:crm.opportunity2phonecall:0 #: view:crm.phonecall2phonecall:0 msgid "Planned Date" -msgstr "Fecha prevista" - -#. module: crm -#: field:crm.meeting,base_calendar_url:0 -msgid "Caldav URL" -msgstr "URL de caldav" +msgstr "" #. module: crm #: view:crm.lead:0 msgid "Expected Revenues" -msgstr "Ingresos esperados" +msgstr "" #. module: crm -#: model:crm.case.resource.type,name:crm.type_lead6 -msgid "Google Adwords 2" -msgstr "Google Adwords 2" +#: view:crm.lead:0 +msgid "Referrer" +msgstr "" #. module: crm #: help:crm.lead,type:0 #: help:crm.lead.report,type:0 msgid "Type is used to separate Leads and Opportunities" -msgstr "El tipo es utilizado para separar iniciativas y oportunidades" - -#. module: crm -#: view:crm.phonecall2partner:0 -msgid "Are you sure you want to create a partner based on this Phonecall ?" msgstr "" -"¿Está seguro que quiere crear una empresa basada en esta llamada telefónica?" #. module: crm -#: selection:crm.lead.report,month:0 -#: selection:crm.meeting,month_list:0 +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "July" -msgstr "Julio" - -#. module: crm -#: model:ir.actions.act_window,help:crm.crm_case_section_act -msgid "" -"Define a Sales Team to organize your different salesmen or sales departments " -"into separate teams. Each team will work in its own list of opportunities, " -"sales orders, etc. Each user can set a default team in his user preferences. " -"The opportunities and sales order displayed, will automatically be filtered " -"according to his team." msgstr "" -"Defina un equipo de ventas para organizar a sus diferentes vendedores o " -"departamentos de ventas en equipos separados. Cada equipo trabajará en su " -"propia lista de oportunidades, pedidos de venta, etc. Cada usuario puede " -"configurar un equipo predeterminado en sus preferencias de usuario. Las " -"oportunidades y pedidos de venta mostrados se filtrarán automáticamente de " -"acuerdo a su equipo." #. module: crm -#: help:crm.meeting,count:0 -msgid "Repeat x times" -msgstr "Repetir x veces" +#: view:crm.lead:0 +msgid "Lead / Customer" +msgstr "" + +#. module: crm +#: model:crm.case.section,name:crm.crm_case_section_2 +msgid "Support Department" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +msgid "Show only lead" +msgstr "" #. module: crm #: model:ir.actions.act_window,name:crm.crm_case_section_act #: model:ir.model,name:crm.model_crm_case_section #: model:ir.ui.menu,name:crm.menu_crm_case_section_act msgid "Sales Teams" -msgstr "Equipos de ventas" +msgstr "" #. module: crm -#: model:ir.model,name:crm.model_crm_lead2partner -msgid "Lead to Partner" -msgstr "Inicaitiva a cliente" - -#. module: crm -#: view:crm.segmentation:0 -#: field:crm.segmentation.line,segmentation_id:0 -#: model:ir.actions.act_window,name:crm.crm_segmentation-act -msgid "Segmentation" -msgstr "Segmentación" +#: field:crm.case.stage,case_default:0 +msgid "Default to New Sales Team" +msgstr "" #. module: crm #: view:crm.lead:0 msgid "Team" -msgstr "Equipo" - -#. module: crm -#: field:crm.installer,outlook:0 -msgid "MS-Outlook" -msgstr "MS-Outlook" - -#. module: crm -#: view:crm.phonecall:0 -#: view:crm.phonecall.report:0 -#: view:res.partner:0 -msgid "Not Held" -msgstr "Pendiente" - -#. module: crm -#: field:crm.lead.report,probability:0 -msgid "Probability" -msgstr "Probabilidad" +msgstr "" #. module: crm #: view:crm.lead.report:0 -#: field:crm.lead.report,month:0 -#: field:crm.meeting,month_list:0 -#: view:crm.phonecall.report:0 -#: field:crm.phonecall.report,month:0 -msgid "Month" -msgstr "Mes" - -#. module: crm -#: view:crm.lead:0 -#: model:ir.actions.act_window,name:crm.crm_case_category_act_leads_all -#: model:ir.ui.menu,name:crm.menu_crm_case_categ0_act_leads -#: model:process.node,name:crm.process_node_leads0 -msgid "Leads" -msgstr "Iniciativas" - -#. module: crm -#: model:ir.actions.act_window,help:crm.crm_case_category_act_leads_all -msgid "" -"Leads allow you to manage and keep track of all initial contacts with a " -"prospect or partner showing interest in your products or services. A lead is " -"usually the first step in your sales cycle. Once qualified, a lead may be " -"converted into a business opportunity, while creating the related partner " -"for further detailed tracking of any linked activities. You can import a " -"database of prospects, keep track of your business cards or integrate your " -"website's contact form with the OpenERP Leads. Leads can be connected to the " -"email gateway: new emails may create leads, each of them automatically gets " -"the history of the conversation with the prospect." +msgid "Leads/Opportunities which are in New state" msgstr "" -"Las iniciativas le permiten gestionar y realizar un seguimiento de todos los " -"contactos iniciales con un cliente potencial o socio que muestre interés en " -"sus productos o servicios. Una iniciativa es generalmente el primer paso en " -"su ciclo de ventas. Una vez identificada, una iniciativa se puede convertir " -"en una oportunidad de negocio, creándose el socio correspondiente para el " -"seguimiento detallado de cualquier actividad relacionada. Usted puede " -"importar una base de datos de posibles clientes, realizar el seguimiento de " -"sus tarjetas de visita o integrar el formulario de contacto de su sitio web " -"con las iniciativas de OpenERP. Las iniciativas pueden ser conectadas a una " -"pasarela de correo electrónico: los nuevos correos crearán nuevas " -"iniciativas y cada una de ellas obtendrá automáticamente el historial de la " -"conversación con el cliente potencial." - -#. module: crm -#: selection:crm.lead2opportunity.partner,action:0 -#: selection:crm.lead2partner,action:0 -#: selection:crm.phonecall2partner,action:0 -msgid "Create a new partner" -msgstr "Crear una nueva empresa" - -#. module: crm -#: view:crm.meeting:0 -#: view:res.partner:0 -msgid "Start Date" -msgstr "Fecha inicio" #. module: crm #: selection:crm.phonecall,state:0 #: view:crm.phonecall.report:0 -msgid "Todo" -msgstr "Por hacer" - -#. module: crm -#: view:crm.meeting:0 -msgid "Delegate" -msgstr "Delegar" - -#. module: crm -#: view:crm.meeting:0 -msgid "Decline" -msgstr "Rechazar" - -#. module: crm -#: help:crm.lead,optin:0 -msgid "If opt-in is checked, this contact has accepted to receive emails." +msgid "Not Held" msgstr "" -"Si opt-in está marcado, este contacto ha aceptado recibir correos " -"electrónicos." #. module: crm -#: view:crm.meeting:0 -msgid "Reset to Unconfirmed" -msgstr "Restablecer a no confirmado" +#: field:crm.lead.report,probability:0 +msgid "Probability" +msgstr "" #. module: crm -#: code:addons/crm/wizard/crm_add_note.py:40 -#: view:crm.add.note:0 +#: view:crm.lead.report:0 +#: view:crm.phonecall.report:0 +#: field:crm.phonecall.report,month:0 +msgid "Month" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: model:ir.actions.act_window,name:crm.crm_case_category_act_leads_all +#: model:ir.ui.menu,name:crm.menu_crm_leads +#: model:process.node,name:crm.process_node_leads0 +msgid "Leads" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:563 #, python-format -msgid "Note" -msgstr "Nota" +msgid "Merged leads" +msgstr "" #. module: crm -#: constraint:res.users:0 -msgid "The chosen company is not in the allowed companies for this user" +#: model:crm.case.categ,name:crm.categ_oppor5 +msgid "Design" +msgstr "" + +#. module: crm +#: selection:crm.lead2opportunity.partner,name:0 +#: selection:crm.lead2opportunity.partner.mass,name:0 +msgid "Merge with existing opportunities" +msgstr "" + +#. module: crm +#: view:crm.phonecall.report:0 +#: selection:crm.phonecall.report,state:0 +msgid "Todo" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,name:crm.mt_lead_convert_to_opportunity +#: model:mail.message.subtype,name:crm.mt_salesteam_lead_opportunity +msgid "Lead to Opportunity" +msgstr "" + +#. module: crm +#: field:crm.lead,user_email:0 +msgid "User Email" +msgstr "" + +#. module: crm +#: help:crm.lead,partner_name:0 +msgid "" +"The name of the future partner company that will be created while converting " +"the lead into opportunity" +msgstr "" + +#. module: crm +#: field:crm.opportunity2phonecall,note:0 +#: field:crm.phonecall2phonecall,note:0 +msgid "Note" msgstr "" -"La compañía seleccionada no está en las compañías permitidas para este " -"usuario" #. module: crm #: selection:crm.lead,priority:0 @@ -2416,561 +1905,319 @@ msgstr "" #: selection:crm.phonecall,priority:0 #: selection:crm.phonecall.report,priority:0 msgid "Low" -msgstr "Bajo" +msgstr "" #. module: crm -#: selection:crm.add.note,state:0 +#: selection:crm.case.stage,state:0 #: field:crm.lead,date_closed:0 #: selection:crm.lead,state:0 #: view:crm.lead.report:0 #: selection:crm.lead.report,state:0 -#: field:crm.meeting,date_closed:0 -#: selection:crm.merge.opportunity,state:0 #: field:crm.phonecall,date_closed:0 -#: selection:crm.phonecall.report,state:0 -#: selection:crm.send.mail,state:0 msgid "Closed" -msgstr "Cerrado" +msgstr "" #. module: crm -#: view:crm.installer:0 -msgid "Plug-In" -msgstr "Conector" - -#. module: crm -#: model:crm.case.categ,name:crm.categ_meet2 -msgid "Internal Meeting" -msgstr "Reunión interna" - -#. module: crm -#: code:addons/crm/crm.py:411 -#: selection:crm.add.note,state:0 #: view:crm.lead:0 +msgid "Open Opportunities" +msgstr "" + +#. module: crm +#: model:crm.case.resource.type,name:crm.type_lead2 +msgid "Email Campaign - Services" +msgstr "" + +#. module: crm +#: selection:crm.case.stage,state:0 #: selection:crm.lead,state:0 #: view:crm.lead.report:0 #: selection:crm.lead.report,state:0 -#: selection:crm.merge.opportunity,state:0 -#: selection:crm.phonecall,state:0 #: selection:crm.phonecall.report,state:0 -#: selection:crm.send.mail,state:0 -#, python-format msgid "Pending" -msgstr "Pendiente" +msgstr "" #. module: crm -#: model:crm.case.categ,name:crm.categ_meet1 -msgid "Customer Meeting" -msgstr "Reunión de cliente" +#: model:process.transition,name:crm.process_transition_leadopportunity0 +msgid "Prospect Opportunity" +msgstr "" + +#. module: crm +#: field:crm.lead,email_cc:0 +msgid "Global CC" +msgstr "" #. module: crm #: view:crm.lead:0 -#: field:crm.lead,email_cc:0 -msgid "Global CC" -msgstr "CC Global" - -#. module: crm #: view:crm.phonecall:0 #: model:ir.actions.act_window,name:crm.crm_case_categ_phone0 #: model:ir.ui.menu,name:crm.menu_crm_case_phone -#: view:res.partner:0 +#: model:ir.ui.menu,name:crm.menu_crm_config_phonecall msgid "Phone Calls" -msgstr "Llamadas telefónicas" +msgstr "" + +#. module: crm +#: view:crm.case.stage:0 +msgid "Stage Search" +msgstr "" #. module: crm #: help:crm.lead.report,delay_open:0 #: help:crm.phonecall.report,delay_open:0 msgid "Number of Days to open the case" -msgstr "Número de días para abrir el caso" +msgstr "" #. module: crm #: field:crm.lead,phone:0 +#: field:crm.opportunity2phonecall,phone:0 +#: view:crm.phonecall:0 #: field:crm.phonecall,partner_phone:0 +#: field:crm.phonecall2phonecall,phone:0 msgid "Phone" -msgstr "Teléfono" +msgstr "" #. module: crm +#: field:crm.case.channel,active:0 #: field:crm.case.section,active:0 #: field:crm.lead,active:0 -#: view:crm.lead.report:0 -#: field:crm.meeting,active:0 #: field:crm.phonecall,active:0 msgid "Active" -msgstr "Activo" - -#. module: crm -#: code:addons/crm/crm_lead.py:306 -#, python-format -msgid "The stage of opportunity '%s' has been changed to '%s'." -msgstr "La fase de la oportunidad '%s' ha cambiado a '%s'." - -#. module: crm -#: code:addons/crm/crm_lead.py:282 -#, python-format -msgid "Changed Stage to: %s" msgstr "" #. module: crm #: selection:crm.segmentation.line,operator:0 msgid "Mandatory Expression" -msgstr "Expresión obligatoria" - -#. module: crm -#: selection:crm.segmentation.line,expr_operator:0 -msgid ">" -msgstr ">" - -#. module: crm -#: view:crm.meeting:0 -msgid "Uncertain" -msgstr "Incierto" - -#. module: crm -#: field:crm.send.mail,email_cc:0 -msgid "CC" -msgstr "CC" - -#. module: crm -#: view:crm.send.mail:0 -#: model:ir.actions.act_window,name:crm.action_crm_send_mail -msgid "Send Mail" -msgstr "Enviar correo" - -#. module: crm -#: selection:crm.meeting,freq:0 -msgid "Months" -msgstr "Meses" - -#. module: crm -#: help:crm.installer,wiki_sale_faq:0 -msgid "" -"Helps you manage wiki pages for Frequently Asked Questions on Sales " -"Application." msgstr "" -"Le ayuda a organizar páginas wiki para preguntas frecuentes sobre la " -"aplicación de ventas" #. module: crm -#: help:crm.installer,crm_fundraising:0 -msgid "This may help associations in their fundraising process and tracking." -msgstr "" -"Puede ayudar a las asociaciones en su proceso de obtención de fondos y " -"seguimiento." - -#. module: crm -#: field:crm.lead2opportunity.partner,action:0 -#: field:crm.lead2partner,action:0 -#: field:crm.phonecall2partner,action:0 -msgid "Action" -msgstr "Acción" - -#. module: crm -#: field:crm.installer,crm_claim:0 -msgid "Claims" -msgstr "Reclamaciones" - -#. module: crm -#: field:crm.segmentation,som_interval_decrease:0 -msgid "Decrease (0>1)" -msgstr "Disminuir (0>1)" - -#. module: crm -#: view:crm.add.note:0 #: view:crm.lead:0 -#: view:crm.send.mail:0 -msgid "Attachments" -msgstr "Datos adjuntos" +msgid "Send Mail" +msgstr "" #. module: crm -#: selection:crm.meeting,rrule_type:0 -msgid "Weekly" -msgstr "Semanal" +#: selection:crm.lead2opportunity.partner,action:0 +#: selection:crm.lead2opportunity.partner.mass,action:0 +#: selection:crm.partner.binding,action:0 +msgid "Create a new customer" +msgstr "" #. module: crm -#: code:addons/crm/wizard/crm_send_email.py:72 -#: code:addons/crm/wizard/crm_send_email.py:169 -#: code:addons/crm/wizard/crm_send_email.py:270 -#, python-format -msgid "Can not send mail!" -msgstr "¡No se pudo enviar el correo!" +#: field:crm.lead.report,deadline_day:0 +msgid "Exp. Closing Day" +msgstr "" + +#. module: crm +#: model:crm.case.categ,name:crm.categ_oppor2 +msgid "Software" +msgstr "" + +#. module: crm +#: field:crm.case.section,change_responsible:0 +msgid "Reassign Escalated" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +#: model:ir.actions.act_window,name:crm.action_report_crm_opportunity +#: model:ir.ui.menu,name:crm.menu_report_crm_opportunities_tree +msgid "Opportunities Analysis" +msgstr "" #. module: crm #: view:crm.lead:0 msgid "Misc" -msgstr "Varios" +msgstr "" #. module: crm -#: model:crm.case.categ,name:crm.categ_oppor8 -#: view:crm.meeting:0 -msgid "Other" -msgstr "Otro" - -#. module: crm -#: view:crm.meeting:0 -#: selection:crm.meeting,state:0 -#: selection:crm.phonecall,state:0 -msgid "Done" -msgstr "Hecho" - -#. module: crm -#: help:crm.meeting,interval:0 -msgid "Repeat every (Days/Week/Month/Year)" -msgstr "Repetir cada (días/semana/mes/año)" - -#. module: crm -#: field:crm.segmentation,som_interval_max:0 -msgid "Max Interval" -msgstr "Intervalo máx" - -#. module: crm -#: view:crm.opportunity2phonecall:0 -msgid "_Schedule Call" -msgstr "_Programar llamada" - -#. module: crm -#: code:addons/crm/crm.py:326 -#: selection:crm.add.note,state:0 #: view:crm.lead:0 -#: selection:crm.lead,state:0 +#: view:crm.lead.report:0 #: selection:crm.lead.report,state:0 -#: selection:crm.merge.opportunity,state:0 -#: view:crm.phonecall:0 -#: selection:crm.phonecall.report,state:0 -#: selection:crm.send.mail,state:0 -#: view:res.partner:0 -#, python-format msgid "Open" -msgstr "Abierto" - -#. module: crm -#: selection:crm.meeting,week_list:0 -msgid "Tuesday" -msgstr "Martes" +msgstr "" #. module: crm +#: view:crm.lead:0 #: field:crm.lead,city:0 msgid "City" -msgstr "Ciudad" - -#. module: crm -#: selection:crm.meeting,show_as:0 -msgid "Busy" -msgstr "Ocupado" - -#. module: crm -#: field:crm.meeting,interval:0 -msgid "Repeat every" -msgstr "Repetir cada" - -#. module: crm -#: field:crm.installer,crm_helpdesk:0 -msgid "Helpdesk" -msgstr "Asistencia/Ayuda" - -#. module: crm -#: field:crm.meeting,recurrency:0 -msgid "Recurrent" -msgstr "Recurrente" - -#. module: crm -#: code:addons/crm/crm.py:397 -#, python-format -msgid "The case '%s' has been cancelled." -msgstr "El caso '%s' ha sido cancelado" - -#. module: crm -#: field:crm.installer,sale_crm:0 -msgid "Opportunity to Quotation" -msgstr "Oportunidad a presupuesto" - -#. module: crm -#: model:ir.model,name:crm.model_crm_send_mail -msgid "Send new email" -msgstr "Enviar nuevo email" - -#. module: crm -#: view:board.board:0 -#: model:ir.actions.act_window,name:crm.act_my_oppor -msgid "My Open Opportunities" -msgstr "Mis oportunidades abiertas" - -#. module: crm -#: model:ir.actions.act_window,name:crm.open_board_statistical_dash -msgid "CRM - Statistics Dashboard" -msgstr "CRM - Tablero de estadísticas" - -#. module: crm -#: help:crm.meeting,rrule:0 -msgid "" -"Defines a rule or repeating pattern for recurring events\n" -"e.g.: Every other month on the last Sunday of the month for 10 occurrences: " -" FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=-1SU" msgstr "" -"Define una regla o patrón repetitivo para eventos recurrentes.\n" -"Por ejemplo: Para 10 ocurrencias cada último domingo de cada dos meses : " -"FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=-1SU" #. module: crm -#: field:crm.lead,job_id:0 -msgid "Main Job" -msgstr "Trabajo principal" - -#. module: crm -#: field:base.action.rule,trg_max_history:0 -msgid "Maximum Communication History" -msgstr "Máximo historial de comunicaciones" - -#. module: crm -#: view:crm.lead2opportunity.partner:0 -#: view:crm.lead2partner:0 -msgid "Are you sure you want to create a partner based on this lead ?" -msgstr "¿Está seguro que quiere crear una empresa basada en esta iniciativa?" - -#. module: crm -#: view:crm.meeting:0 -#: field:crm.meeting,categ_id:0 -msgid "Meeting Type" -msgstr "Tipo de reunión" - -#. module: crm -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:314 -#, python-format -msgid "Merge with Existing Opportunity" -msgstr "Fusinar con oportunidad existente" - -#. module: crm -#: help:crm.lead,state:0 -#: help:crm.phonecall,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'." +#: selection:crm.case.stage,type:0 +msgid "Both" msgstr "" -"El estado se establece a 'Borrador', cuando se crea un caso. " -" \n" -"Si el caso está en progreso el estado se establece a 'Abierto'. " -" \n" -"Cuando el caso se cierra, el estado se establece a 'Realizado'. " -" \n" -"Si el caso necesita ser revisado entonces en estado se establece a " -"'Pendiente'." #. module: crm -#: view:crm.meeting:0 -#: view:res.partner:0 -msgid "End Date" -msgstr "Fecha final" - -#. module: crm -#: selection:crm.meeting,byday:0 -msgid "Third" -msgstr "Tercero" - -#. module: crm -#: help:crm.segmentation,som_interval_max:0 -msgid "" -"The computation is made on all events that occured during this interval, the " -"past X periods." +#: view:crm.phonecall:0 +msgid "Call Done" msgstr "" -"El cálculo se realiza en todos los eventos que ocurran durante este " -"intervalo, los X períodos anteriores." #. module: crm -#: view:board.board:0 -msgid "My Win/Lost Ratio for the Last Year" -msgstr "Mi coeficiente ganado/perdido del año anterior" +#: view:crm.phonecall:0 +#: field:crm.phonecall,user_id:0 +msgid "Responsible" +msgstr "" #. module: crm -#: field:crm.installer,thunderbird:0 -msgid "Thunderbird" -msgstr "Thunderbird" +#: model:crm.case.section,name:crm.crm_case_section_3 +msgid "Direct Marketing" +msgstr "" #. module: crm -#: view:crm.lead.report:0 -msgid "# of Emails" -msgstr "Nº de e-mails" +#: model:crm.case.categ,name:crm.categ_oppor1 +msgid "Product" +msgstr "" + +#. module: crm +#: field:crm.lead.report,creation_year:0 +msgid "Creation Year" +msgstr "" + +#. module: crm +#: view:crm.lead2opportunity.partner.mass:0 +msgid "Conversion Options" +msgstr "" + +#. module: crm +#: view:crm.case.section:0 +msgid "" +"Follow this salesteam to automatically track the events associated to users " +"of this team." +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Address" +msgstr "" + +#. module: crm +#: help:crm.case.section,alias_id:0 +msgid "" +"The email address associated with this team. New emails received will " +"automatically create new leads assigned to the team." +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Unassigned Opportunities" +msgstr "" #. module: crm #: view:crm.lead:0 msgid "Search Leads" -msgstr "Buscar iniciativas" +msgstr "" #. module: crm #: view:crm.lead.report:0 #: view:crm.phonecall.report:0 #: field:crm.phonecall.report,delay_open:0 msgid "Delay to open" -msgstr "Retraso de apertura" +msgstr "" #. module: crm -#: view:crm.meeting:0 -msgid "Recurrency period" -msgstr "Periodo de recurrencia" +#: model:ir.actions.act_window,name:crm.crm_case_categ_phone_outgoing0 +#: model:ir.ui.menu,name:crm.menu_crm_case_phone_outbound +msgid "Scheduled Calls" +msgstr "" #. module: crm -#: field:crm.meeting,week_list:0 -msgid "Weekday" -msgstr "Día de la semana" +#: field:crm.lead,id:0 +msgid "ID" +msgstr "" #. module: crm -#: view:crm.lead:0 -msgid "Referrer" -msgstr "Referenciado por" - -#. module: crm -#: model:ir.model,name:crm.model_crm_lead2opportunity -msgid "Lead To Opportunity" -msgstr "Iniciativa a opportunidad" +#: help:crm.lead,type_id:0 +msgid "" +"From which campaign (seminar, marketing campaign, mass mailing, ...) did " +"this contact come from?" +msgstr "" #. module: crm #: model:ir.model,name:crm.model_calendar_attendee msgid "Attendee information" -msgstr "Información asistencia" +msgstr "" #. module: crm #: view:crm.segmentation:0 msgid "Segmentation Test" -msgstr "Prueba de segmentación" +msgstr "" #. module: crm #: view:crm.segmentation:0 msgid "Continue Process" -msgstr "Continuar el proceso" - -#. module: crm -#: view:crm.installer:0 -msgid "Configure Your CRM Application" -msgstr "Configure su aplicación CRM" - -#. module: crm -#: model:ir.model,name:crm.model_crm_phonecall2partner -msgid "Phonecall to Partner" -msgstr "Llamada telefónica a empresa" - -#. module: crm -#: help:crm.lead,partner_name:0 -msgid "" -"The name of the future partner that will be created while converting the " -"into opportunity" msgstr "" -"El nombre del futuro cliente que se creará cuando se convierta en " -"oportunidad." + +#. module: crm +#: selection:crm.lead2opportunity.partner,name:0 +#: selection:crm.lead2opportunity.partner.mass,name:0 +#: model:ir.actions.act_window,name:crm.action_crm_lead2opportunity_partner +msgid "Convert to opportunity" +msgstr "" #. module: crm #: field:crm.opportunity2phonecall,user_id:0 #: field:crm.phonecall2phonecall,user_id:0 msgid "Assign To" -msgstr "Asignar a" - -#. module: crm -#: field:crm.add.note,state:0 -#: field:crm.send.mail,state:0 -msgid "Set New State To" -msgstr "Establecer nuevo estado a" +msgstr "" #. module: crm #: field:crm.lead,date_action_last:0 -#: field:crm.meeting,date_action_last:0 #: field:crm.phonecall,date_action_last:0 msgid "Last Action" -msgstr "Última acción" +msgstr "" #. module: crm -#: field:crm.meeting,duration:0 #: field:crm.phonecall,duration:0 #: field:crm.phonecall.report,duration:0 msgid "Duration" -msgstr "Duración" +msgstr "" #. module: crm -#: field:crm.send.mail,reply_to:0 -msgid "Reply To" -msgstr "Responder a" +#: model:ir.actions.act_window,help:crm.crm_case_categ_phone_outgoing0 +msgid "" +"

\n" +" Click to schedule a call \n" +"

\n" +" OpenERP allows you to easily define all the calls to be done\n" +" by your sales team and follow up based on their summary.\n" +"

\n" +" You can use the import feature to massively import a new list " +"of\n" +" prospects to qualify.\n" +"

\n" +" " +msgstr "" #. module: crm -#: view:board.board:0 -#: model:ir.actions.act_window,name:crm.open_board_crm -#: model:ir.ui.menu,name:crm.menu_board_crm -msgid "Sales Dashboard" -msgstr "Tablero de ventas" - -#. module: crm -#: code:addons/crm/wizard/crm_lead_to_partner.py:56 -#, python-format -msgid "A partner is already defined on this lead." -msgstr "Una empresa ya ha sido definida en esta iniciativa." +#: help:crm.case.stage,fold:0 +msgid "" +"This stage is not visible, for example in status bar or kanban view, when " +"there are no records in that stage to display." +msgstr "" #. module: crm #: field:crm.lead.report,nbr:0 #: field:crm.phonecall.report,nbr:0 msgid "# of Cases" -msgstr "# de casos" +msgstr "" #. module: crm -#: help:crm.meeting,section_id:0 #: help:crm.phonecall,section_id:0 msgid "Sales team to which Case belongs to." -msgstr "Equipo de ventas al cual pertence el caso" +msgstr "" #. module: crm -#: selection:crm.meeting,week_list:0 -msgid "Sunday" -msgstr "Domingo" +#: model:crm.case.resource.type,name:crm.type_lead6 +msgid "Banner Ads" +msgstr "" #. module: crm -#: selection:crm.meeting,byday:0 -msgid "Fourth" -msgstr "Cuarto" - -#. module: crm -#: selection:crm.add.note,state:0 -#: selection:crm.merge.opportunity,state:0 -#: selection:crm.send.mail,state:0 -msgid "Unchanged" -msgstr "Sin cambios" - -#. module: crm -#: model:ir.actions.act_window,name:crm.crm_segmentation_tree-act -#: model:ir.ui.menu,name:crm.menu_crm_segmentation-act -msgid "Partners Segmentation" -msgstr "Segmentación de empresas" +#: field:crm.merge.opportunity,opportunity_ids:0 +msgid "Leads/Opportunities" +msgstr "" #. module: crm #: field:crm.lead,fax:0 msgid "Fax" -msgstr "Fax" - -#. module: crm -#: model:ir.actions.act_window,help:crm.crm_case_category_act_oppor11 -msgid "" -"With opportunities you can manage and keep track of your sales pipeline by " -"creating specific customer- or prospect-related sales documents to follow up " -"potential sales. Information such as expected revenue, opportunity stage, " -"expected closing date, communication history and much more can be stored. " -"Opportunities can be connected to the email gateway: new emails may create " -"opportunities, each of them automatically gets the history of the " -"conversation with the customer.\n" -"\n" -"You and your team(s) will be able to plan meetings and phone calls from " -"opportunities, convert them into quotations, manage related documents, track " -"all customer related activities, and much more." msgstr "" -"Con las oportunidades puede gestionar y guardar el registro de su canal de " -"ventas creando documentos específicos de venta por cliente - o potencial " -"cliente - para el seguimiento de sus ventas potenciales. La información " -"sobre ingresos esperados, etapa de la oportunidad, fecha estimada de cierre, " -"histórico de las comunicaciones y muchos otros datos puede ser registrada. " -"Las oportunidades pueden ser conectadas a la pasarela de correo electrónico: " -"nuevos emails pueden crear oportunidades, y cada uno de ellos obtiene " -"automáticamente el historial de la conversación con el cliente." - -#. module: crm -#: view:crm.meeting:0 -msgid "Assignment" -msgstr "Asignación" #. module: crm #: field:crm.lead,company_id:0 @@ -2980,148 +2227,79 @@ msgstr "Asignación" #: view:crm.phonecall.report:0 #: field:crm.phonecall.report,company_id:0 msgid "Company" -msgstr "Compañía" +msgstr "" #. module: crm -#: selection:crm.meeting,week_list:0 -msgid "Friday" -msgstr "Viernes" +#: selection:crm.segmentation,state:0 +msgid "Running" +msgstr "" #. module: crm -#: field:crm.meeting,allday:0 -msgid "All Day" -msgstr "Todo el día" +#: model:mail.message.subtype,description:crm.mt_lead_convert_to_opportunity +msgid "Lead converted into an opportunity" +msgstr "" #. module: crm -#: field:crm.segmentation.line,operator:0 -msgid "Mandatory / Optional" -msgstr "Obligatorio / Opcional" +#: view:crm.lead:0 +msgid "Unassigned Leads" +msgstr "" #. module: crm -#: model:ir.actions.act_window,name:crm.action_view_attendee_form -#: model:ir.ui.menu,name:crm.menu_attendee_invitations -msgid "Meeting Invitations" -msgstr "Invitaciones a reunión" +#: model:mail.message.subtype,description:crm.mt_lead_won +msgid "Opportunity won" +msgstr "" #. module: crm #: field:crm.case.categ,object_id:0 msgid "Object Name" -msgstr "Nombre del objeto" +msgstr "" #. module: crm -#: help:crm.lead,email_from:0 -msgid "E-mail address of the contact" -msgstr "e-mail del contacto" - -#. module: crm -#: field:crm.lead,referred:0 -msgid "Referred by" -msgstr "Referenciado por" +#: view:crm.phonecall:0 +msgid "Phone Calls Assigned to Me or My Team(s)" +msgstr "" #. module: crm #: view:crm.lead:0 -#: model:ir.model,name:crm.model_crm_add_note -msgid "Add Internal Note" -msgstr "Añadir nota interna" +msgid "Reset" +msgstr "" #. module: crm -#: code:addons/crm/crm_lead.py:304 -#, python-format -msgid "The stage of lead '%s' has been changed to '%s'." -msgstr "La etapa de la iniciativa '%s' ha sido cambiada por '%s'" - -#. module: crm -#: selection:crm.meeting,byday:0 -msgid "Last" -msgstr "Último" +#: view:sale.config.settings:0 +msgid "After-Sale Services" +msgstr "" #. module: crm +#: field:crm.case.section,message_ids:0 #: field:crm.lead,message_ids:0 -#: field:crm.meeting,message_ids:0 #: field:crm.phonecall,message_ids:0 msgid "Messages" -msgstr "Mensajes" +msgstr "" #. module: crm -#: help:crm.case.stage,on_change:0 -msgid "Change Probability on next and previous stages." -msgstr "Cambiar probabilidad para las etapas siguientes y anteriores." - -#. module: crm -#: code:addons/crm/crm.py:455 -#: code:addons/crm/crm.py:457 -#: code:addons/crm/crm_action_rule.py:66 -#: code:addons/crm/wizard/crm_send_email.py:141 -#, python-format -msgid "Error!" -msgstr "¡Error!" +#: help:crm.lead,channel_id:0 +msgid "Communication channel (mail, direct, phone, ...)" +msgstr "" #. module: crm #: field:crm.opportunity2phonecall,name:0 #: field:crm.phonecall2phonecall,name:0 msgid "Call summary" -msgstr "Resumen de la llamada" +msgstr "" #. module: crm -#: selection:crm.add.note,state:0 +#: selection:crm.case.stage,state:0 #: selection:crm.lead,state:0 #: selection:crm.lead.report,state:0 -#: selection:crm.meeting,state:0 -#: selection:crm.merge.opportunity,state:0 #: selection:crm.phonecall,state:0 #: selection:crm.phonecall.report,state:0 -#: selection:crm.send.mail,state:0 msgid "Cancelled" -msgstr "Cancelado" - -#. module: crm -#: field:crm.add.note,body:0 -msgid "Note Body" -msgstr "Contenido de la nota" - -#. module: crm -#: view:board.board:0 -msgid "My Planned Revenues by Stage" -msgstr "Mis ingresos previstos por etapa" - -#. module: crm -#: field:crm.lead.report,date_closed:0 -#: field:crm.phonecall.report,date_closed:0 -msgid "Close Date" -msgstr "Fecha cierre" - -#. module: crm -#: view:crm.lead.report:0 -#: view:crm.phonecall.report:0 -msgid " Month " -msgstr " Mes " - -#. module: crm -#: view:crm.lead:0 -msgid "Links" -msgstr "Enlaces" - -#. module: crm -#: model:ir.actions.act_window,help:crm.crm_lead_categ_action -msgid "" -"Create specific categories that fit your company's activities to better " -"classify and analyse your leads and opportunities. Such categories could for " -"instance reflect your product structure or the different types of sales you " -"do." msgstr "" -"Crear categorías específicas que se adapten a las actividades de su compañía " -"para clasificar y analizar mejor sus iniciativas y oportunidades. Estas " -"categorías podrían, por ejemplo, reflejar la estructura de sus productos o " -"de los distintos tipos de ventas que realice." #. module: crm -#: help:crm.segmentation,som_interval_decrease:0 -msgid "" -"If the partner has not purchased (or bought) during a period, decrease the " -"state of mind by this factor. It's a multiplication" +#: field:crm.lead,color:0 +msgid "Color Index" msgstr "" -"Si la empresa no ha comprado durante un período, disminuir el grado de " -"satisfacción por este factor. Es una multiplicación." #. module: crm #: model:ir.actions.act_window,help:crm.action_report_crm_phonecall @@ -3131,164 +2309,130 @@ msgid "" "several criteria and drill down the information, by adding more groups in " "the report." msgstr "" -"Desde este informe, puede analizar el rendimiento de su equipo de ventas " -"basándose en sus llamadas telefónicas. Puede agrupar o filtrar la " -"información de acuerdo a varios criterios y profundizar en la información " -"añadiendo más grupos al informe." #. module: crm -#: view:crm.case.section:0 -msgid "Mailgateway" -msgstr "Pasarela de correo" - -#. module: crm -#: help:crm.lead,user_id:0 -msgid "By Default Salesman is Administrator when create New User" +#: field:crm.case.stage,fold:0 +msgid "Fold by Default" msgstr "" -"Por defecto el vendedor es administrador cuando se crea un nuevo usuario" #. module: crm -#: view:crm.lead.report:0 -msgid "# Mails" -msgstr "Nº de correos" - -#. module: crm -#: code:addons/crm/wizard/crm_phonecall_to_opportunity.py:57 -#, python-format -msgid "Warning" -msgstr "Aviso" +#: field:crm.case.stage,state:0 +msgid "Related Status" +msgstr "" #. module: crm #: field:crm.phonecall,name:0 -#: view:res.partner:0 msgid "Call Summary" -msgstr "Resumen de llamadas" +msgstr "" #. module: crm #: field:crm.segmentation.line,expr_operator:0 msgid "Operator" -msgstr "Operador" - -#. module: crm -#: model:ir.model,name:crm.model_crm_phonecall2phonecall -msgid "Phonecall To Phonecall" -msgstr "Llamada telefónica a llamada telefónica" +msgstr "" #. module: crm #: view:crm.lead:0 +#: model:ir.actions.act_window,name:crm.opportunity2phonecall_act msgid "Schedule/Log Call" -msgstr "Planificar/Registrar llamada" - -#. module: crm -#: field:crm.installer,fetchmail:0 -msgid "Fetch Emails" -msgstr "Buscar emails" - -#. module: crm -#: selection:crm.meeting,state:0 -msgid "Confirmed" -msgstr "Confirmado" - -#. module: crm -#: help:crm.send.mail,email_cc:0 -msgid "" -"These addresses will receive a copy of this email. To modify the permanent " -"CC list, edit the global CC field of this case" msgstr "" -"Estas direcciones recibirán una copia de este correo electrónico. Para " -"modificar la lista CC permanente, edite el campo CC global de este caso." #. module: crm -#: view:crm.meeting:0 +#: view:crm.merge.opportunity:0 +msgid "Select Leads/Opportunities" +msgstr "" + +#. module: crm +#: selection:crm.phonecall,state:0 +msgid "Confirmed" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_crm_partner_binding +msgid "Handle partner binding or generation in CRM wizards." +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.act_oppor_stage_user +msgid "Planned Revenue By User and Stage" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 msgid "Confirm" -msgstr "Confirmar" +msgstr "" #. module: crm -#: field:crm.meeting,su:0 -msgid "Sun" -msgstr "Dom" +#: view:crm.lead:0 +msgid "Unread messages" +msgstr "" #. module: crm #: field:crm.phonecall.report,section_id:0 msgid "Section" -msgstr "Sección" - -#. module: crm -#: view:crm.lead:0 -msgid "Total of Planned Revenue" -msgstr "Total ingresos previstos" - -#. module: crm -#: code:addons/crm/crm.py:375 -#, python-format -msgid "" -"You can not escalate, You are already at the top level regarding your sales-" -"team category." msgstr "" -"No puede escalar, ya está en el nivel más alto en su categoría de equipo de " -"ventas." #. module: crm #: selection:crm.segmentation.line,operator:0 msgid "Optional Expression" -msgstr "Expresión opcional" +msgstr "" #. module: crm -#: selection:crm.meeting,select1:0 -msgid "Day of month" -msgstr "Día del mes" +#: field:crm.case.section,message_follower_ids:0 +#: field:crm.lead,message_follower_ids:0 +#: field:crm.phonecall,message_follower_ids:0 +msgid "Followers" +msgstr "" #. module: crm -#: field:crm.lead2opportunity,probability:0 -msgid "Success Rate (%)" -msgstr "Tasa de éxito (%)" +#: model:ir.actions.act_window,help:crm.crm_case_category_act_leads_all +msgid "" +"

\n" +" Click to create an unqualified lead.\n" +"

\n" +" Use leads if you need a qualification step before creating an\n" +" opportunity or a customer. It can be a business card you " +"received,\n" +" a contact form filled in your website, or a file of unqualified\n" +" prospects you import, etc.\n" +"

\n" +" Once qualified, the lead can be converted into a business\n" +" opportunity and/or a new customer in your address book.\n" +"

\n" +" " +msgstr "" #. module: crm -#: model:crm.case.stage,name:crm.stage_lead1 -#: model:crm.case.stage,name:crm.stage_opportunity1 -msgid "New" -msgstr "Nuevo" - -#. module: crm -#: view:crm.meeting:0 -msgid "Mail TO" -msgstr "Enviar correo a" +#: field:sale.config.settings,fetchmail_lead:0 +msgid "Create leads from incoming mails" +msgstr "" #. module: crm #: view:crm.lead:0 #: field:crm.lead,email_from:0 -#: field:crm.meeting,email_from:0 #: field:crm.phonecall,email_from:0 msgid "Email" -msgstr "Email" +msgstr "" #. module: crm +#: view:crm.case.channel:0 #: view:crm.lead:0 #: field:crm.lead,channel_id:0 #: view:crm.lead.report:0 #: field:crm.lead.report,channel_id:0 -#: field:crm.phonecall,canal_id:0 msgid "Channel" -msgstr "Canal" - -#. module: crm -#: model:ir.actions.act_window,name:crm.opportunity2phonecall_act -msgid "Schedule Call" -msgstr "Planificar llamada" - -#. module: crm -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:135 -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:260 -#, python-format -msgid "Closed/Cancelled Leads Could not convert into Opportunity" msgstr "" -"Las iniciativas cerradas/canceladas no podrían ser convertidas en " -"oportunidades" #. module: crm -#: view:crm.segmentation:0 -msgid "Profiling" -msgstr "Perfiles" +#: view:crm.opportunity2phonecall:0 +#: view:crm.phonecall2phonecall:0 +msgid "Schedule Call" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +#: view:crm.phonecall.report:0 +msgid "My Sales Team(s)" +msgstr "" #. module: crm #: help:crm.segmentation,exclusif:0 @@ -3298,252 +2442,169 @@ msgid "" "If checked, remove the category from partners that doesn't match " "segmentation criterions" msgstr "" -"Marque esta opción si la categoría está limitada a empresas que coincidan " -"con los criterios de segmentación. \n" -"Si está marcada, elimina la categoría de aquellas empresas que no coincidan " -"con los criterios de segmentación." - -#. module: crm -#: field:crm.meeting,exdate:0 -msgid "Exception Date/Times" -msgstr "Fecha/horas excepción" - -#. module: crm -#: selection:crm.meeting,class:0 -msgid "Confidential" -msgstr "Confidencial" - -#. module: crm -#: help:crm.meeting,date_deadline:0 -msgid "" -"Deadline Date is automatically computed from Start " -"Date + Duration" -msgstr "" -"La fecha límite se calcula automáticamente a partir de la fecha inicial + " -"duración." - -#. module: crm -#: field:crm.lead,state_id:0 -msgid "Fed. State" -msgstr "Provincia" #. module: crm #: model:process.transition,note:crm.process_transition_leadopportunity0 msgid "Creating business opportunities from Leads" -msgstr "Creando oportunidades de negocio desde iniciativas" +msgstr "" #. module: crm -#: help:crm.send.mail,html:0 -msgid "Select this if you want to send email with HTML formatting." -msgstr "Seleccione esta opción si desea enviar emails con formato HTML" +#: model:crm.case.resource.type,name:crm.type_lead3 +msgid "Email Campaign - Products" +msgstr "" #. module: crm -#: model:crm.case.categ,name:crm.categ_oppor4 -msgid "Need Information" -msgstr "Necesita información" +#: model:ir.actions.act_window,help:crm.crm_case_categ_phone_incoming0 +msgid "" +"

\n" +" Click to log the summary of a phone call. \n" +"

\n" +" OpenERP allows you to log inbound calls on the fly to track the\n" +" history of the communication with a customer or to inform " +"another\n" +" team member.\n" +"

\n" +" In order to follow up on the call, you can trigger a request " +"for\n" +" another call, a meeting or an opportunity.\n" +"

\n" +" " +msgstr "" #. module: crm -#: model:process.transition,name:crm.process_transition_leadopportunity0 -msgid "Prospect Opportunity" -msgstr "Oportunidad de prospección" +#: model:process.node,note:crm.process_node_leads0 +msgid "Very first contact with new prospect" +msgstr "" #. module: crm -#: view:crm.installer:0 -#: model:ir.actions.act_window,name:crm.action_crm_installer -msgid "CRM Application Configuration" -msgstr "Configuración de la aplicación CRM" +#: view:res.partner:0 +msgid "Calls" +msgstr "" #. module: crm -#: field:base.action.rule,act_categ_id:0 -msgid "Set Category to" -msgstr "Establecer categoría" +#: field:crm.case.stage,on_change:0 +msgid "Change Probability Automatically" +msgstr "" #. module: crm -#: view:crm.case.section:0 -msgid "Configuration" -msgstr "Configuración" - -#. module: crm -#: field:crm.meeting,th:0 -msgid "Thu" -msgstr "Jue" - -#. module: crm -#: view:crm.add.note:0 -#: view:crm.merge.opportunity:0 -#: view:crm.opportunity2phonecall:0 -#: view:crm.partner2opportunity:0 -#: view:crm.phonecall2opportunity:0 -#: view:crm.phonecall2phonecall:0 -#: view:crm.send.mail:0 -msgid "_Cancel" -msgstr "_Cancelar" - -#. module: crm -#: view:crm.lead.report:0 #: view:crm.phonecall.report:0 -msgid " Month-1 " -msgstr " Mes-1 " +msgid "My Phone Calls" +msgstr "" #. module: crm -#: help:crm.installer,sale_crm:0 -msgid "This module relates sale from opportunity cases in the CRM." -msgstr "Este módulo relaciona ventas con oportunidades en el CRM." - -#. module: crm -#: selection:crm.meeting,rrule_type:0 -msgid "Daily" -msgstr "Diario" - -#. module: crm -#: model:crm.case.stage,name:crm.stage_lead2 -#: model:crm.case.stage,name:crm.stage_opportunity2 +#: model:crm.case.stage,name:crm.stage_lead3 msgid "Qualification" -msgstr "Calificación" +msgstr "" #. module: crm -#: view:crm.case.stage:0 -msgid "Stage Definition" -msgstr "Definición de etapa" +#: field:crm.lead2opportunity.partner,name:0 +#: field:crm.lead2opportunity.partner.mass,name:0 +msgid "Conversion Action" +msgstr "" #. module: crm -#: selection:crm.meeting,byday:0 -msgid "First" -msgstr "Primero" +#: model:ir.actions.act_window,help:crm.crm_lead_categ_action +msgid "" +"

\n" +" Click to define a new sales tag.\n" +"

\n" +" Create specific tags that fit your company's activities\n" +" to better classify and analyse your leads and " +"opportunities.\n" +" Such categories could for instance reflect your product\n" +" structure or the different types of sales you do.\n" +"

\n" +" " +msgstr "" #. module: crm -#: selection:crm.lead.report,month:0 -#: selection:crm.meeting,month_list:0 +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 +#: selection:crm.phonecall.report,month:0 +msgid "August" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,name:crm.mt_lead_lost +#: model:mail.message.subtype,name:crm.mt_salesteam_lead_lost +msgid "Opportunity Lost" +msgstr "" + +#. module: crm +#: field:crm.lead.report,deadline_month:0 +msgid "Exp. Closing Month" +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "December" -msgstr "Diciembre" - -#. module: crm -#: field:crm.installer,config_logo:0 -msgid "Image" -msgstr "Imagen" - -#. module: crm -#: view:base.action.rule:0 -msgid "Condition on Communication History" -msgstr "Condición en el historial de comunicaciones" - -#. module: crm -#: help:crm.segmentation,som_interval:0 -msgid "" -"A period is the average number of days between two cycle of sale or purchase " -"for this segmentation. \n" -"It's mainly used to detect if a partner has not purchased or buy for a too " -"long time, \n" -"so we suppose that his state of mind has decreased because he probably " -"bought goods to another supplier. \n" -"Use this functionality for recurring businesses." msgstr "" -"Un periodo es el número medio de días entre dos ciclos de ventas o compras " -"para esta segmentación. \n" -"Se utiliza principalmente para detectar si una empresa no ha comprado por un " -"largo periodo de tiempo, \n" -"por lo que suponemos que su grado de satisfacción ha disminuido porqué " -"seguramente compró bienes a otro proveedor. \n" -"Utilice esta funcionalidad para negocios recurrentes." #. module: crm -#: view:crm.send.mail:0 -msgid "_Send Reply" -msgstr "_Enviar respuesta" - -#. module: crm -#: field:crm.meeting,vtimezone:0 -msgid "Timezone" -msgstr "Zona horaria" - -#. module: crm -#: field:crm.lead2opportunity.partner,msg:0 -#: field:crm.lead2partner,msg:0 -#: view:crm.send.mail:0 -msgid "Message" -msgstr "Mensaje" - -#. module: crm -#: field:crm.meeting,sa:0 -msgid "Sat" -msgstr "Sáb" +#: view:crm.phonecall:0 +msgid "Date of Call" +msgstr "" #. module: crm #: view:crm.lead:0 -#: field:crm.lead,user_id:0 -#: view:crm.lead.report:0 -#: view:crm.phonecall.report:0 -msgid "Salesman" -msgstr "Comercial" - -#. module: crm #: field:crm.lead,date_deadline:0 msgid "Expected Closing" -msgstr "Cierre previsto" +msgstr "" #. module: crm #: model:ir.model,name:crm.model_crm_opportunity2phonecall msgid "Opportunity to Phonecall" -msgstr "Oportunidad a llamada telefónica" +msgstr "" #. module: crm -#: help:crm.case.section,allow_unlink:0 -msgid "Allows to delete non draft cases" -msgstr "Permite eliminar los casos en estado no borrador." +#: view:crm.segmentation:0 +msgid "Sales Purchase" +msgstr "" #. module: crm #: view:crm.lead:0 msgid "Schedule Meeting" -msgstr "Programar reunión" +msgstr "" #. module: crm -#: view:crm.lead:0 -msgid "Partner Name" -msgstr "Nombre empresa" +#: field:crm.lead.report,deadline_year:0 +msgid "Ex. Closing Year" +msgstr "" #. module: crm -#: model:crm.case.categ,name:crm.categ_phone2 -#: model:ir.actions.act_window,name:crm.crm_case_categ_phone_outgoing0 -#: model:ir.ui.menu,name:crm.menu_crm_case_phone_outbound -msgid "Outbound" -msgstr "Saliente" +#: model:ir.actions.client,name:crm.action_client_crm_menu +msgid "Open Sale Menu" +msgstr "" #. module: crm #: field:crm.lead,date_open:0 #: field:crm.phonecall,date_open:0 msgid "Opened" -msgstr "Abierto" +msgstr "" #. module: crm #: view:crm.case.section:0 #: field:crm.case.section,member_ids:0 msgid "Team Members" -msgstr "Miembros del equipo" +msgstr "" #. module: crm -#: view:crm.lead:0 -#: field:crm.lead,job_ids:0 -#: view:crm.meeting:0 -#: view:crm.phonecall:0 -#: view:res.partner:0 -msgid "Contacts" -msgstr "Contactos" +#: view:crm.opportunity2phonecall:0 +#: view:crm.phonecall2phonecall:0 +msgid "Schedule/Log a Call" +msgstr "" #. module: crm -#: model:crm.case.categ,name:crm.categ_oppor1 -msgid "Interest in Computer" -msgstr "Interesado en ordenadores" +#: field:crm.lead,planned_cost:0 +msgid "Planned Costs" +msgstr "" #. module: crm -#: view:crm.meeting:0 -msgid "Invitation Detail" -msgstr "Detalle de la invitación" - -#. module: crm -#: field:crm.segmentation,som_interval_default:0 -msgid "Default (0=None)" -msgstr "Por defecto (0=Ninguno)" +#: help:crm.lead,date_deadline:0 +msgid "Estimate of the date on which the opportunity will be won." +msgstr "" #. module: crm #: help:crm.lead,email_cc:0 @@ -3552,83 +2613,41 @@ msgid "" "outbound emails for this record before being sent. Separate multiple email " "addresses with a comma" msgstr "" -"Estas direcciones de correo serán añadidas al campo CC para todos los " -"correos entrantes y salientes de este registro antes de ser enviados. Separe " -"las diferentes direcciones de correo con una coma." #. module: crm -#: constraint:res.partner:0 -msgid "Error ! You can not create recursive associated members." -msgstr "¡Error! No puede crear miembros asociados recursivos." +#: model:ir.actions.act_window,name:crm.crm_case_categ_phone_incoming0 +#: model:ir.ui.menu,name:crm.menu_crm_case_phone_inbound +msgid "Logged Calls" +msgstr "" #. module: crm -#: field:crm.partner2opportunity,probability:0 -#: field:crm.phonecall2opportunity,probability:0 -msgid "Success Probability" -msgstr "Probabilidad de éxito" - -#. module: crm -#: code:addons/crm/crm.py:426 -#: selection:crm.add.note,state:0 -#: selection:crm.lead,state:0 -#: selection:crm.lead.report,state:0 -#: selection:crm.merge.opportunity,state:0 -#: selection:crm.phonecall,state:0 -#: selection:crm.phonecall.report,state:0 -#: selection:crm.send.mail,state:0 -#, python-format -msgid "Draft" -msgstr "Borrador" +#: model:mail.message.subtype,name:crm.mt_lead_won +#: model:mail.message.subtype,name:crm.mt_salesteam_lead_won +msgid "Opportunity Won" +msgstr "" #. module: crm #: model:ir.actions.act_window,name:crm.crm_case_section_act_tree msgid "Cases by Sales Team" -msgstr "Casos por equipo de ventas" +msgstr "" #. module: crm -#: field:crm.meeting,attendee_ids:0 -msgid "Attendees" -msgstr "Asistentes" - -#. module: crm -#: view:crm.meeting:0 +#: view:crm.lead:0 #: view:crm.phonecall:0 #: model:ir.model,name:crm.model_crm_meeting #: model:process.node,name:crm.process_node_meeting0 -#: model:res.request.link,name:crm.request_link_meeting msgid "Meeting" -msgstr "Reunión" +msgstr "" #. module: crm #: model:ir.model,name:crm.model_crm_case_categ msgid "Category of Case" -msgstr "Categoría de caso" - -#. module: crm -#: view:crm.lead:0 -#: view:crm.phonecall:0 -msgid "7 Days" -msgstr "7 días" +msgstr "" #. module: crm #: view:board.board:0 msgid "Planned Revenue by Stage and User" -msgstr "Ingresos previsto por etapa y usuario" - -#. module: crm -#: view:crm.lead:0 -msgid "Communication & History" -msgstr "Comunicación e Historial" - -#. module: crm -#: model:ir.model,name:crm.model_crm_lead_report -msgid "CRM Lead Report" -msgstr "Informe de iniciativas CRM" - -#. module: crm -#: field:crm.installer,progress:0 -msgid "Configuration Progress" -msgstr "Progreso de la configuración" +msgstr "" #. module: crm #: selection:crm.lead,priority:0 @@ -3636,217 +2655,148 @@ msgstr "Progreso de la configuración" #: selection:crm.phonecall,priority:0 #: selection:crm.phonecall.report,priority:0 msgid "Normal" -msgstr "Normal" +msgstr "" #. module: crm #: field:crm.lead,street2:0 msgid "Street2" -msgstr "Calle2" +msgstr "" #. module: crm -#: model:ir.actions.act_window,name:crm.crm_meeting_categ_action -#: model:ir.ui.menu,name:crm.menu_crm_case_meeting-act -msgid "Meeting Categories" -msgstr "Categorías de reuniones" - -#. module: crm -#: view:crm.lead2opportunity.partner:0 -#: view:crm.lead2partner:0 -#: view:crm.phonecall2partner:0 -msgid "You may have to verify that this partner does not exist already." -msgstr "Debería verificar que esta empresa no exista ya." +#: field:sale.config.settings,module_crm_helpdesk:0 +msgid "Manage Helpdesk and Support" +msgstr "" #. module: crm #: field:crm.lead.report,delay_open:0 msgid "Delay to Open" -msgstr "Retraso de apertura" +msgstr "" #. module: crm #: field:crm.lead.report,user_id:0 #: field:crm.phonecall.report,user_id:0 msgid "User" -msgstr "Usuario" +msgstr "" #. module: crm -#: selection:crm.lead.report,month:0 -#: selection:crm.meeting,month_list:0 +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "November" -msgstr "Noviembre" - -#. module: crm -#: code:addons/crm/crm_action_rule.py:67 -#, python-format -msgid "No E-Mail ID Found for your Company address!" -msgstr "¡No se ha encontrado Email en la dirección de su compañía!" +msgstr "" #. module: crm #: view:crm.lead.report:0 +#: model:ir.actions.act_window,name:crm.act_opportunity_stage msgid "Opportunities By Stage" -msgstr "Oportunidades por etapa" +msgstr "" #. module: crm -#: model:ir.actions.act_window,name:crm.crm_case_categ_phone_create_partner -msgid "Schedule Phone Call" -msgstr "Planificar llamada telefónica" - -#. module: crm -#: selection:crm.lead.report,month:0 -#: selection:crm.meeting,month_list:0 +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "January" -msgstr "Enero" - -#. module: crm -#: model:ir.actions.act_window,help:crm.crm_opportunity_stage_act -msgid "" -"Create specific stages that will help your sales better organise their sales " -"pipeline by maintaining them to their sales opportunities. It will allow " -"them to easily track how is positioned a specific opportunity in the sales " -"cycle." msgstr "" -"Crear pasos específicos que ayudarán a su departamento de ventas a organizar " -"mejor el flujo de venta gestionando sus oportunidades de venta. Esto les " -"permitirá seguir fácilmente como está posicionada una oportunidad en el " -"ciclo de ventas." #. module: crm #: model:process.process,name:crm.process_process_contractprocess0 msgid "Contract" -msgstr "Contrato" +msgstr "" #. module: crm #: model:crm.case.resource.type,name:crm.type_lead4 msgid "Twitter Ads" -msgstr "Anuncios Twiter" +msgstr "" #. module: crm -#: code:addons/crm/wizard/crm_add_note.py:26 -#: code:addons/crm/wizard/crm_send_email.py:72 -#: code:addons/crm/wizard/crm_send_email.py:169 -#: code:addons/crm/wizard/crm_send_email.py:270 -#, python-format -msgid "Error" -msgstr "Error" +#: field:crm.lead.report,creation_day:0 +msgid "Creation Day" +msgstr "" #. module: crm #: view:crm.lead.report:0 msgid "Planned Revenues" -msgstr "Ingresos esperados" - -#. module: crm -#: model:crm.case.categ,name:crm.categ_oppor7 -msgid "Need Consulting" -msgstr "Necesita consultoría" - -#. module: crm -#: constraint:crm.segmentation:0 -msgid "Error ! You can not create recursive profiles." -msgstr "¡Error! No se puede crear perfiles recursivos." - -#. module: crm -#: code:addons/crm/crm_lead.py:232 -#, python-format -msgid "The case '%s' has been closed." -msgstr "El caso '%s' ha sido cerrado" - -#. module: crm -#: field:crm.lead,partner_address_id:0 -#: field:crm.meeting,partner_address_id:0 -#: field:crm.phonecall,partner_address_id:0 -msgid "Partner Contact" -msgstr "Contacto empresa" - -#. module: crm -#: field:crm.meeting,recurrent_id:0 -msgid "Recurrent ID date" -msgstr "ID fecha recurrente" - -#. module: crm -#: sql_constraint:res.users:0 -msgid "You can not have two users with the same login !" -msgstr "¡No puede tener dos usuarios con el mismo identificador de usuario!" - -#. module: crm -#: code:addons/crm/wizard/crm_merge_opportunities.py:100 -#, python-format -msgid "Merged into Opportunity: %s" -msgstr "Fusionado con la oportunidad '%s'" - -#. module: crm -#: code:addons/crm/crm.py:347 -#: view:crm.lead:0 -#: view:res.partner:0 -#, python-format -msgid "Close" -msgstr "Cerrado" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Exp.Closing" +msgstr "" + +#. module: crm +#: help:crm.lead.report,deadline_year:0 +msgid "Expected closing year" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_crm_case_stage +msgid "Stage of case" +msgstr "" + +#. module: crm +#: selection:crm.opportunity2phonecall,action:0 +#: selection:crm.phonecall2phonecall,action:0 +msgid "Schedule a call" +msgstr "" #. module: crm #: view:crm.lead:0 -#: view:crm.phonecall:0 -#: view:res.partner:0 msgid "Categorization" -msgstr "Categorización" +msgstr "" #. module: crm -#: model:ir.model,name:crm.model_base_action_rule -msgid "Action Rules" -msgstr "Reglas de acciones" +#: view:crm.phonecall2phonecall:0 +msgid "Log Call" +msgstr "" #. module: crm -#: field:crm.meeting,rrule_type:0 -msgid "Recurrency" -msgstr "Recurrencia" +#: help:sale.config.settings,group_fund_raising:0 +msgid "Allows you to trace and manage your activities for fund raising." +msgstr "" #. module: crm #: field:crm.meeting,phonecall_id:0 +#: model:ir.model,name:crm.model_crm_phonecall msgid "Phonecall" -msgstr "Llamada telefónica" +msgstr "" #. module: crm -#: selection:crm.meeting,week_list:0 -msgid "Thursday" -msgstr "Jueves" +#: view:crm.phonecall.report:0 +msgid "Phone calls that are assigned to one of the sale teams I manage" +msgstr "" #. module: crm -#: view:crm.meeting:0 -#: field:crm.send.mail,email_to:0 -msgid "To" -msgstr "Para" +#: view:crm.lead:0 +msgid "Create date" +msgstr "" #. module: crm -#: selection:crm.meeting,class:0 -msgid "Private" -msgstr "Privado" +#: view:crm.lead:0 +msgid "at" +msgstr "" + +#. module: crm +#: model:crm.case.stage,name:crm.stage_lead1 +#: selection:crm.case.stage,state:0 +#: view:crm.lead:0 +#: selection:crm.lead,state:0 +#: view:crm.lead.report:0 +msgid "New" +msgstr "" #. module: crm #: field:crm.lead,function:0 msgid "Function" -msgstr "Función" - -#. module: crm -#: view:crm.add.note:0 -msgid "_Add" -msgstr "_Añadir" - -#. module: crm -#: selection:crm.segmentation.line,expr_name:0 -msgid "State of Mind" -msgstr "Grado de satisfacción" +msgstr "" #. module: crm #: field:crm.case.section,note:0 -#: view:crm.meeting:0 -#: field:crm.meeting,description:0 -#: view:crm.phonecall:0 #: field:crm.phonecall,description:0 #: field:crm.segmentation,description:0 -#: view:res.partner:0 msgid "Description" -msgstr "Descripción" +msgstr "" #. module: crm -#: field:base.action.rule,trg_section_id:0 #: field:crm.case.categ,section_id:0 #: field:crm.case.resource.type,section_id:0 #: view:crm.case.section:0 @@ -3854,790 +2804,210 @@ msgstr "Descripción" #: field:crm.lead,section_id:0 #: view:crm.lead.report:0 #: field:crm.lead.report,section_id:0 -#: field:crm.meeting,section_id:0 +#: field:crm.lead2opportunity.partner.mass,section_id:0 #: field:crm.opportunity2phonecall,section_id:0 +#: field:crm.payment.mode,section_id:0 #: view:crm.phonecall:0 #: field:crm.phonecall,section_id:0 #: view:crm.phonecall.report:0 #: field:crm.phonecall2phonecall,section_id:0 #: field:res.partner,section_id:0 -#: field:res.users,context_section_id:0 msgid "Sales Team" -msgstr "Equipo de ventas" +msgstr "" #. module: crm -#: selection:crm.lead.report,month:0 -#: selection:crm.meeting,month_list:0 +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "May" -msgstr "Mayo" +msgstr "" #. module: crm -#: model:crm.case.categ,name:crm.categ_oppor2 -msgid "Interest in Accessories" -msgstr "Interesado en accesorios" +#: model:ir.actions.act_window,help:crm.crm_case_channel_action +msgid "" +"

\n" +" Click to define a new channel.\n" +"

\n" +" Use channels to track the soure of your leads and " +"opportunities. Channels\n" +" are mostly used in reporting to analyse sales performance\n" +" related to marketing efforts.\n" +"

\n" +" Some examples of channels: company website, phone call\n" +" campaign, reseller, etc.\n" +"

\n" +" " +msgstr "" #. module: crm -#: code:addons/crm/crm_lead.py:211 -#, python-format -msgid "The opportunity '%s' has been opened." -msgstr "La oportunidad '%s' ha sido abierta" +#: view:crm.lead:0 +msgid "Internal Notes" +msgstr "" #. module: crm -#: field:crm.lead.report,email:0 -msgid "# Emails" -msgstr "Nº de emails" +#: view:crm.lead:0 +msgid "New Opportunities" +msgstr "" + +#. module: crm +#: field:crm.segmentation.line,operator:0 +msgid "Mandatory / Optional" +msgstr "" #. module: crm #: field:crm.lead,street:0 msgid "Street" -msgstr "Calle" +msgstr "" #. module: crm -#: view:crm.lead.report:0 -msgid "Opportunities by User and Team" -msgstr "Oportunidades por usuario y equipo" +#: field:crm.lead,referred:0 +msgid "Referred By" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +msgid "Reset to Todo" +msgstr "" #. module: crm #: field:crm.case.section,working_hours:0 msgid "Working Hours" -msgstr "Horario de trabajo" +msgstr "" #. module: crm +#: code:addons/crm/crm_lead.py:968 #: view:crm.lead:0 -#: field:crm.lead,is_customer_add:0 +#: field:crm.lead2opportunity.partner,partner_id:0 +#: field:crm.lead2opportunity.partner.mass,partner_id:0 +#: field:crm.partner.binding,partner_id:0 +#, python-format msgid "Customer" -msgstr "Cliente" +msgstr "" #. module: crm -#: selection:crm.lead.report,month:0 -#: selection:crm.meeting,month_list:0 +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "February" -msgstr "Febrero" +msgstr "" #. module: crm #: view:crm.phonecall:0 -#: model:ir.actions.act_window,name:crm.crm_case_categ_meet_create_partner -#: view:res.partner:0 msgid "Schedule a Meeting" -msgstr "Planificar una reunión" +msgstr "" #. module: crm -#: model:crm.case.stage,name:crm.stage_lead6 -#: model:crm.case.stage,name:crm.stage_opportunity6 +#: model:crm.case.stage,name:crm.stage_lead8 #: view:crm.lead:0 msgid "Lost" -msgstr "Perdido" +msgstr "" #. module: crm +#: code:addons/crm/wizard/crm_lead_to_opportunity.py:89 +#, python-format +msgid "Closed/Cancelled leads cannot be converted into opportunities." +msgstr "" + +#. module: crm +#: view:crm.lead:0 #: field:crm.lead,country_id:0 #: view:crm.lead.report:0 #: field:crm.lead.report,country_id:0 msgid "Country" -msgstr "País" +msgstr "" #. module: crm #: view:crm.lead:0 -#: selection:crm.lead2opportunity.action,name:0 +#: view:crm.lead2opportunity.partner:0 +#: view:crm.lead2opportunity.partner.mass:0 #: view:crm.phonecall:0 -#: view:res.partner:0 msgid "Convert to Opportunity" -msgstr "Convertir a oportunidad" +msgstr "" #. module: crm -#: selection:crm.meeting,week_list:0 -msgid "Wednesday" -msgstr "Miércoles" +#: help:crm.phonecall,email_from:0 +msgid "These people will receive email." +msgstr "" #. module: crm -#: selection:crm.lead.report,month:0 -#: selection:crm.meeting,month_list:0 +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 #: selection:crm.phonecall.report,month:0 msgid "April" -msgstr "Abril" +msgstr "" #. module: crm #: field:crm.case.resource.type,name:0 msgid "Campaign Name" -msgstr "Nombre de la campaña" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +msgid "Profiling" +msgstr "" #. module: crm #: model:ir.model,name:crm.model_crm_phonecall_report msgid "Phone calls by user and section" -msgstr "Llamadas telefónicas por usuario y sección" +msgstr "" #. module: crm -#: selection:crm.lead2opportunity.action,name:0 -msgid "Merge with existing Opportunity" -msgstr "Fusionado con oportunidad existente" - -#. module: crm -#: field:crm.meeting,select1:0 -msgid "Option" -msgstr "Opción" - -#. module: crm -#: model:crm.case.stage,name:crm.stage_lead4 -#: model:crm.case.stage,name:crm.stage_opportunity4 +#: model:crm.case.stage,name:crm.stage_lead5 msgid "Negotiation" -msgstr "Negociación" +msgstr "" #. module: crm -#: view:crm.lead:0 -msgid "Exp.Closing" -msgstr "Cierre previsto" +#: model:ir.model,name:crm.model_crm_phonecall2phonecall +msgid "Phonecall To Phonecall" +msgstr "" #. module: crm #: field:crm.case.stage,sequence:0 -#: field:crm.meeting,sequence:0 msgid "Sequence" -msgstr "Secuencia" - -#. module: crm -#: field:crm.send.mail,body:0 -msgid "Message Body" -msgstr "Cuerpo del mensaje" - -#. module: crm -#: view:crm.meeting:0 -msgid "Accept" -msgstr "Aceptar" +msgstr "" #. module: crm #: field:crm.segmentation.line,expr_name:0 msgid "Control Variable" -msgstr "Variable de control" +msgstr "" #. module: crm -#: selection:crm.meeting,byday:0 -msgid "Second" -msgstr "Segundo" - -#. module: crm -#: model:crm.case.stage,name:crm.stage_lead3 -#: model:crm.case.stage,name:crm.stage_opportunity3 +#: model:crm.case.stage,name:crm.stage_lead4 msgid "Proposition" -msgstr "Propuesta" +msgstr "" #. module: crm +#: view:crm.phonecall:0 #: field:res.partner,phonecall_ids:0 msgid "Phonecalls" -msgstr "Llamadas telefónicas" +msgstr "" #. module: crm #: view:crm.lead.report:0 -#: field:crm.lead.report,name:0 #: view:crm.phonecall.report:0 #: field:crm.phonecall.report,name:0 msgid "Year" -msgstr "Año" +msgstr "" #. module: crm #: model:crm.case.resource.type,name:crm.type_lead8 msgid "Newsletter" -msgstr "Boletín de noticias" - -#~ msgid "Status" -#~ msgstr "Estado" - -#, python-format -#~ msgid "" -#~ "You can not escalate this case.\n" -#~ "You are already at the top level." -#~ msgstr "" -#~ "No puede intensificar este caso.\n" -#~ "Ya se encuentra en el nivel superior." - -#~ msgid "Delay After Trigger Date:" -#~ msgstr "Demora después fecha del disparo:" - -#~ msgid "My Draft " -#~ msgstr "Mis borradores " - -#~ msgid "Add Last Mail for Replying" -#~ msgstr "Añadir último mail para responder" - -#~ msgid "All Cases" -#~ msgstr "Todos los casos" - -#~ msgid "Remind Partner" -#~ msgstr "Recordar empresa" - -#~ msgid "Update The Proposed Menus To Be Created" -#~ msgstr "Actualizar los menús propuestos a crear" - -#~ msgid "Base Information" -#~ msgstr "Información base" - -#~ msgid "All Open " -#~ msgstr "Todos los abiertos " - -#~ msgid "Create menus for a case section" -#~ msgstr "Crear menús para una sección de casos" - -#~ msgid "Template of Email to Send" -#~ msgstr "Plantilla de Email a enviar" - -#~ msgid "CRM & SRM" -#~ msgstr "CRM & SRM" - -#~ msgid "%(case_user)s = Responsible name" -#~ msgstr "%(case_user)s = Nombre del responsable" - -#~ msgid "Add watchers (Cc)" -#~ msgstr "Añadir observadores (CC)" - -#~ msgid "My " -#~ msgstr "Mis " - -#~ msgid "Cases" -#~ msgstr "Casos" - -#~ msgid "Watchers Emails" -#~ msgstr "Observadores emails (CC)" - -#~ msgid "Create menu Entries" -#~ msgstr "Crear entradas de menús" - -#~ msgid "Case history" -#~ msgstr "Historial del caso" - -#~ msgid "Set state to" -#~ msgstr "Establecer grado a" - -#~ msgid "Case Category Name" -#~ msgstr "Nombre de la categoría de casos" - -#~ msgid "None" -#~ msgstr "Ninguno" - -#~ msgid "Minutes" -#~ msgstr "Minutos" - -#~ msgid "All Unclosed and Unassigned " -#~ msgstr "Mis no cerrados o no asignados " - -#~ msgid "" -#~ "Check this if you want the rule to send a reminder by email to the partner." -#~ msgstr "" -#~ "Marque esta opción si desea que la regla envíe un recordatorio por correo " -#~ "electrónico a la empresa." - -#~ msgid "Maximim Priority" -#~ msgstr "Prioridad máxima" - -#~ msgid "New " -#~ msgstr "Nuevo " - -#~ msgid "Partner Events" -#~ msgstr "Eventos empresa" - -#~ msgid "Conditions on Case Fields" -#~ msgstr "Condiciones sobre campos del caso" - -#~ msgid "Case Communication History" -#~ msgstr "Historial de comunicación del caso" - -#~ msgid "Category of case" -#~ msgstr "Categoría del caso" - -#~ msgid "Estimates" -#~ msgstr "Estimaciones" - -#~ msgid "%(case_subject)s = Case subject" -#~ msgstr "%(case_subject)s = Asunto del caso" - -#~ msgid "" -#~ "The generic Open ERP Customer Relationship Management\n" -#~ "system enables a group of people to intelligently and efficiently manage\n" -#~ "leads, opportunities, tasks, issues, requests, bugs, campaign, claims, etc.\n" -#~ "It manages key tasks such as communication, identification, prioritization,\n" -#~ "assignment, resolution and notification.\n" -#~ "\n" -#~ "Open ERP ensures that all cases are successfully tracked by users, customers " -#~ "and\n" -#~ "suppliers. It can automatically send reminders, escalate the request, " -#~ "trigger\n" -#~ "specific methods and lots of others actions based on your enterprise own " -#~ "rules.\n" -#~ "\n" -#~ "The greatest thing about this system is that users don't need to do " -#~ "anything\n" -#~ "special. They can just send email to the request tracker. Open ERP will " -#~ "take\n" -#~ "care of thanking them for their message, automatically routing it to the\n" -#~ "appropriate staff, and making sure all future correspondence gets to the " -#~ "right\n" -#~ "place.\n" -#~ "\n" -#~ "The CRM module has a email gateway for the synchronisation interface\n" -#~ "between mails and Open ERP." -#~ msgstr "" -#~ "El sistema genérico de Gestión de las Relaciones con el Cliente (CRM) de\n" -#~ "OpenERP permite a un grupo de gente gestionar de forma inteligente\n" -#~ "y eficaz iniciativas, oportunidades, tareas, cuestiones,\n" -#~ "peticiones, errores, campañas comerciales, reclamaciones, etc.\n" -#~ "Gestiona tareas clave como comunicación, identificación,\n" -#~ "priorización, asignación, resolución y notificación.\n" -#~ "\n" -#~ "OpenERP asegura que todos los casos son seguidos con éxito\n" -#~ "por usuarios, clientes y proveedores. Puede enviar automáticamente\n" -#~ "recordatorios y notificaciones, intensificar la petición, disparar\n" -#~ "métodos específicos y muchas otras acciones basadas en sus\n" -#~ "reglas propias de empresa.\n" -#~ "\n" -#~ "La cosa más importante sobre este sistema es que los usuarios no\n" -#~ "necesitan hacer nada especial. Pueden enviar sólo un correo electrónico\n" -#~ "al registro de peticiones. OpenERP se encargará de agradecerle su\n" -#~ "mensaje, dirigirlo automáticamente a las personas apropiadas, y asegurarse\n" -#~ "de que toda la futura correspondencia llega al lugar apropiado.\n" -#~ "\n" -#~ "El módulo de CRM dispone de una puerta de enlace con el correo electrónico\n" -#~ "para la sincronización entre correos electrónicos y OpenERP." - -#~ msgid "My Open " -#~ msgstr "Mis abiertos " - -#~ msgid "Select Views (empty for default)" -#~ msgstr "Seleccionar vistas (vacía por defecto)" - -#~ msgid "Case State" -#~ msgstr "Estado del caso" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "¡XML inválido para la definición de la vista!" - -#~ msgid "Your action" -#~ msgstr "Su acción" - -#~ msgid "Case section" -#~ msgstr "Sección del caso" - -#~ msgid "E-Mail Reminders (includes the content of the case)" -#~ msgstr "Recordatorios por Email (incluye el contenido del caso)" - -#~ msgid "Fields to Change" -#~ msgstr "Campos a cambiar" - -#~ msgid "Cases Histories" -#~ msgstr "Historiales de casos" - -#~ msgid "My cases" -#~ msgstr "Mis casos" - -#~ msgid "All Draft " -#~ msgstr "Todos los borradores " - -#~ msgid "%(partner_email)s = Partner email" -#~ msgstr "%(partner_email)s = Email empresa" - -#~ msgid "My Open Cases" -#~ msgstr "Mis casos abiertos" - -#~ msgid "Remind with attachment" -#~ msgstr "Recordar con adjunto" - -#~ msgid "All Late " -#~ msgstr "Todos los retrasados " - -#~ msgid "My Late " -#~ msgstr "Mis retrasados " - -#~ msgid "Open cases" -#~ msgstr "Casos abiertos" - -#~ msgid "My Unclosed " -#~ msgstr "Mis no cerrados " - -#~ msgid "Created" -#~ msgstr "Creado" - -#~ msgid "Mail to responsible" -#~ msgstr "Enviar correo a responsable" - -#~ msgid "My Pending " -#~ msgstr "Mis pendientes " - -#~ msgid "New Form" -#~ msgstr "Nuevo formulario" - -#~ msgid "Set responsible to" -#~ msgstr "Establecer responsable a" - -#~ msgid "" -#~ "The rule use a AND operator. The case must match all non empty fields so " -#~ "that the rule execute the action described in the 'Actions' tab." -#~ msgstr "" -#~ "La regla utiliza un operador AND. El caso debe concordar con todos los " -#~ "campos no vacíos para que la regla ejecute la acción descrita en la pestaña " -#~ "'Acciones'." - -#~ msgid "%(email_from)s = Partner email" -#~ msgstr "%(email_from)s = Email empresa" - -#~ msgid "Case Section" -#~ msgstr "Sección del caso" - -#~ msgid "Rules" -#~ msgstr "Reglas" - -#~ msgid "Call Object Method" -#~ msgstr "Método llamada al objeto" - -#, python-format -#~ msgid "You can not delete this case. You should better cancel it." -#~ msgstr "No puede eliminar este caso. Sería mejor que lo cancelara." - -#, python-format -#~ msgid "done" -#~ msgstr "realizado" - -#~ msgid "Calendar" -#~ msgstr "Calendario" - -#~ msgid "Log" -#~ msgstr "Registro" - -#~ msgid "" -#~ "These people will receive a copy of the futur communication between partner " -#~ "and users by email" -#~ msgstr "" -#~ "Estas personas recibirán una copia de la futura comunicación entre empresa y " -#~ "usuarios por correo electrónico" - -#, python-format -#~ msgid "Historize" -#~ msgstr "Añadir al historial" - -#~ msgid "%(partner)s = Partner name" -#~ msgstr "%(partner)s = Nombre empresa" - -#~ msgid "New With Calendar" -#~ msgstr "Nuevo con calendario" - -#~ msgid "List With Calendar" -#~ msgstr "Lista con calendario" - -#~ msgid "Action Information" -#~ msgstr "Información de la acción" - -#~ msgid "Calendar View" -#~ msgstr "Vista calendario" - -#~ msgid "%(case_user_phone)s = Responsible phone" -#~ msgstr "%(case_user_phone)s = Teléfono del responsable" - -#~ msgid "Delay after trigger date" -#~ msgstr "Demora después fecha del disparo" - -#~ msgid "Conditions" -#~ msgstr "Condiciones" - -#~ msgid "Open Cases" -#~ msgstr "Casos abiertos" - -#~ msgid "Remind responsible" -#~ msgstr "Recordar responsable" - -#~ msgid "Set section to" -#~ msgstr "Establecer sección a" - -#, python-format -#~ msgid "You must put a Partner eMail to use this action!" -#~ msgstr "¡Debe indicar un Email de empresa para usar esta acción!" - -#~ msgid "Minimum Priority" -#~ msgstr "Prioridad mínima" - -#~ msgid "Case History" -#~ msgstr "Historial del caso" - -#, python-format -#~ msgid "draft" -#~ msgstr "borrador" - -#~ msgid "Created Menus" -#~ msgstr "Menús creados" - -#~ msgid "" -#~ "Check this if you want that all documents attached to the case be attached " -#~ "to the reminder email sent." -#~ msgstr "" -#~ "Marque esta opción si desea que todos los documentos adjuntados a este caso " -#~ "sean adjuntados en el correo electrónico enviado como recordatorio." - -#, python-format -#~ msgid "cancel" -#~ msgstr "cancelado" - -#~ msgid "Parent Section" -#~ msgstr "Sección padre" - -#~ msgid "Parent Menu" -#~ msgstr "Menú padre" - -#~ msgid "%(case_id)s = Case ID" -#~ msgstr "%(case_id)s = ID del caso" - -#~ msgid "Don't Create" -#~ msgstr "No crear" - -#~ msgid "Base Menu Name" -#~ msgstr "Nombre menú base" - -#~ msgid "Child Sections" -#~ msgstr "Secciones hijas" - -#~ msgid "All Unassigned " -#~ msgstr "Todos los no asignados " - -#~ msgid "All Unclosed " -#~ msgstr "Todos los no cerrados " - -#~ msgid "%(case_user_email)s = Responsible email" -#~ msgstr "%(case_user_email)s = Email del responsable" - -#~ msgid "General" -#~ msgstr "General" - -#~ msgid "Send Reminder" -#~ msgstr "Enviar recordatorio" - -#~ msgid "Complete this if you use the mail gateway." -#~ msgstr "Complete esto si utiliza una pasarela de correo." - -#~ msgid "Business Opportunities" -#~ msgstr "Oportunidades de negocio" - -#~ msgid "Tree View" -#~ msgstr "Vista de árbol" - -#~ msgid "Conditions on Case Partner" -#~ msgstr "Condiciones sobre caso empresa" - -#~ msgid "Section Code" -#~ msgstr "Código de sección" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter " -#~ "especial!" - -#~ msgid "General Description" -#~ msgstr "Descripción general" - -#~ msgid "Create Menus For Cases" -#~ msgstr "Crear menús para una sección de casos" - -#~ msgid "Mail to partner" -#~ msgstr "Enviar correo a empresa" - -#~ msgid "Partner Email" -#~ msgstr "Email empresa" - -#~ msgid "All Pending " -#~ msgstr "Todos los pendientes " - -#~ msgid "Set priority to" -#~ msgstr "Establecer prioridad a" - -#, python-format -#~ msgid "open" -#~ msgstr "abierto" - -#~ msgid "All Canceled " -#~ msgstr "Todos los cancelados " - -#~ msgid "Mail body" -#~ msgstr "Texto correo" - -#~ msgid "" -#~ "Check this if you want the rule to send a reminder by email to the user." -#~ msgstr "" -#~ "Marque esta opción si desea que la regla envíe un recordatorio por correo " -#~ "electrónico al usuario." - -#~ msgid "Segmentations" -#~ msgstr "Segmentaciones" - -#~ msgid "" -#~ "The email address put in the 'Reply-To' of all emails sent by Open ERP about " -#~ "cases in this section" -#~ msgstr "" -#~ "La dirección de correo electrónico que se pondrá en 'Responder A' en todos " -#~ "los correos electrónicos enviados por OpenERP para los casos de esta sección." - -#~ msgid "Case Rule" -#~ msgstr "Regla del caso" - -#, python-format -#~ msgid "Case" -#~ msgstr "Caso" - -#~ msgid "Conditions on Priority Range" -#~ msgstr "Condiciones sobre intervalo de prioridades" - -#~ msgid "All " -#~ msgstr "Todos " - -#~ msgid "E-Mail Actions" -#~ msgstr "Acciones de Email" - -#~ msgid "List" -#~ msgstr "Lista" - -#~ msgid "User Responsible" -#~ msgstr "Usuario responsable" - -#~ msgid "All Histories" -#~ msgstr "Todos los historiales" - -#~ msgid "My Canceled " -#~ msgstr "Mis cancelados " - -#~ msgid "Latest E-Mail" -#~ msgstr "Último email" - -#~ msgid "Case logs" -#~ msgstr "Registros del caso" - -#~ msgid "" -#~ "Check if the category is limited to partners that match the segmentation " -#~ "criterions. If checked, remove the category from partners that doesn't match " -#~ "segmentation criterions" -#~ msgstr "" -#~ "Indica si esta categoría está limitada a empresas que cumplan los criterios " -#~ "de segmentación. Si está marcada, se eliminan de la categoría las empresas " -#~ "que no cumplan los criterios de segmentación." - -#~ msgid "Logs History" -#~ msgstr "Historial del registro" - -#~ msgid "Form View" -#~ msgstr "Vista formulario" - -#~ msgid "Conditions on Timing" -#~ msgstr "Condiciones sobre temporización" - -#~ msgid "Case Description" -#~ msgstr "Descripción del caso" - -#~ msgid "Mail to watchers (Cc)" -#~ msgstr "Enviar correo a observadores (CC)" - -#~ msgid "Actions" -#~ msgstr "Acciones" - -#~ msgid "Cases by section" -#~ msgstr "Casos por sección" - -#~ msgid "Conditions on States" -#~ msgstr "Condiciones sobre los estados" - -#~ msgid "Trigger Date" -#~ msgstr "Fecha del disparo" - -#~ msgid "" -#~ "A period is the average number of days between two cycle of sale or purchase " -#~ "for this segmentation. It's mainly used to detect if a partner has not " -#~ "purchased or buy for a too long time, so we suppose that his state of mind " -#~ "has decreased because he probably bought goods to another supplier. Use this " -#~ "functionality for recurring businesses." -#~ msgstr "" -#~ "Un período es el número promedio de días entre dos ciclos de venta o compra " -#~ "para esta segmentación. Se utiliza principalmente para detectar si una " -#~ "empresa no ha comprado o compra durante un tiempo demasiado largo, así que " -#~ "suponemos que su grado de satisfacción se ha reducido porque probablemente " -#~ "ha comprado productos a otro proveedor. Utilice esta funcionalidad para los " -#~ "negocios recurrentes." - -#, python-format -#~ msgid "" -#~ "You must define a responsible user for this case in order to use this action!" -#~ msgstr "" -#~ "¡Debe definir un usuario responsable para este caso para poder utilizar esta " -#~ "acción!" - -#, python-format -#~ msgid "" -#~ "Can not send mail with empty body,you should have description in the body" -#~ msgstr "" -#~ "No puede enviar mensajes con un texto vacío, debería incluir una descripción " -#~ "en el mensaje" - -#, python-format -#~ msgid "" -#~ "No E-Mail ID Found for the Responsible Partner or missing reply address in " -#~ "section!" -#~ msgstr "" -#~ "¡No se ha encontrado Email en la empresa responsable o falta dirección de " -#~ "respuesta en la sección!" - -#~ msgid "Deadline Date is automatically computed from Start Date + Duration" -#~ msgstr "" -#~ "La fecha límite se calcula automáticamente a partir de Fecha de inicio + " -#~ "Duración" - -#, python-format -#~ msgid "" -#~ "No E-Mail ID Found for your Company address or missing reply address in " -#~ "section!" -#~ msgstr "" -#~ "¡No se ha encontrado Email en la dirección de su compañía o falta dirección " -#~ "de respuesta en la sección!" - -#~ msgid "this wizard will create all sub-menus, within the selected menu." -#~ msgstr "este asistente creará todos los sub-menús, en el menú seleccionado." - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nombre de modelo no válido en la definición de acción." - -#~ msgid "" -#~ "You may want to create a new parent menu to put all the created menus in." -#~ msgstr "" -#~ "Es posible que desee crear un nuevo menú padre para poner todos los menús " -#~ "creados en él." - -#~ msgid "Button Pressed" -#~ msgstr "Botón oprimido" - -#~ msgid "Mail to these emails" -#~ msgstr "Correo a estos correos electronicos" - -#~ msgid "Special Keywords to Be Used in The Body" -#~ msgstr "Palabras claves especiales para ser usadas en el cuerpo del mensaje." - -#~ msgid "My Histories" -#~ msgstr "Mis historias" - -#~ msgid "Last Action Date" -#~ msgstr "Fechas de ultima acción" - -#~ msgid "Delay type" -#~ msgstr "Tipo de retraso" - -#~ msgid "%(case_description)s = Case description" -#~ msgstr "%(case_description)s = Descripción del caso" - -#~ msgid "Planned revenue" -#~ msgstr "Ingresos previstos" - -#~ msgid "Planned Costs" -#~ msgstr "Costos previstos" - -#~ msgid "Planned costs" -#~ msgstr "Costos previstos" - -#~ msgid "Telesales" -#~ msgstr "Ventas a distancia" - -#~ msgid "Invalid arguments" -#~ msgstr "Argumentos inválidos" - -#~ msgid "Send Partner & Historize" -#~ msgstr "Enviar a empresa y añadir al historial" - -#~ msgid "Mail Campaign 1" -#~ msgstr "Campaña mail 1" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,name:crm.mt_salesteam_lead_stage +msgid "Opportunity Stage Changed" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.crm_lead_stage_act +msgid "" +"

\n" +" Click to set a new stage in your lead/opportunity pipeline.\n" +"

\n" +" Stages will allow salespersons to easily track how a " +"specific\n" +" lead or opportunity is positioned in the sales cycle.\n" +"

\n" +" " +msgstr "" diff --git a/addons/decimal_precision/decimal_precision.py b/addons/decimal_precision/decimal_precision.py index d4d3d29dce0..ab0979291bd 100644 --- a/addons/decimal_precision/decimal_precision.py +++ b/addons/decimal_precision/decimal_precision.py @@ -19,8 +19,9 @@ # ############################################################################## +import openerp from openerp import SUPERUSER_ID -from openerp import pooler, tools +from openerp import tools from openerp.osv import osv, fields class decimal_precision(osv.osv): @@ -57,7 +58,7 @@ class decimal_precision(osv.osv): res = super(decimal_precision, self).write(cr, uid, ids, data, *args, **argv) self.precision_get.clear_cache(self) for obj in self.pool.obj_list(): - for colname, col in self.pool.get(obj)._columns.items(): + for colname, col in self.pool[obj]._columns.items(): if isinstance(col, (fields.float, fields.function)): col.digits_change(cr) return res @@ -66,7 +67,8 @@ decimal_precision() def get_precision(application): def change_digit(cr): - res = pooler.get_pool(cr.dbname).get('decimal.precision').precision_get(cr, SUPERUSER_ID, application) + decimal_precision = openerp.registry(cr.dbname)['decimal.precision'] + res = decimal_precision.precision_get(cr, SUPERUSER_ID, application) return (16, res) return change_digit diff --git a/addons/document/document.py b/addons/document/document.py index 85468e00509..9b1fdc1d66b 100644 --- a/addons/document/document.py +++ b/addons/document/document.py @@ -31,7 +31,6 @@ from StringIO import StringIO import psycopg2 import openerp -from openerp import pooler from openerp import tools from openerp.osv import fields, osv from openerp.osv.orm import except_orm @@ -620,7 +619,7 @@ class node_context(object): if context is None: context = {} context['uid'] = uid - self._dirobj = pooler.get_pool(cr.dbname).get('document.directory') + self._dirobj = openerp.registry(cr.dbname).get('document.directory') self.node_file_class = node_file self.extra_ctx = {} # Extra keys for context, that do _not_ trigger inequality assert self._dirobj @@ -1999,7 +1998,7 @@ class nodefd_content(StringIO, node_descriptor): par = self._get_parent() uid = par.context.uid - cr = pooler.get_db(par.context.dbname).cursor() + cr = openerp.registry(par.context.dbname).db.cursor() try: if self.mode in ('w', 'w+', 'r+'): data = self.getvalue() @@ -2052,7 +2051,7 @@ class nodefd_static(StringIO, node_descriptor): par = self._get_parent() # uid = par.context.uid - cr = pooler.get_db(par.context.dbname).cursor() + cr = openerp.registry(par.context.dbname).db.cursor() try: if self.mode in ('w', 'w+', 'r+'): data = self.getvalue() diff --git a/addons/document_ftp/ftpserver/abstracted_fs.py b/addons/document_ftp/ftpserver/abstracted_fs.py index 7f88c81b2c3..a83843eb1a5 100644 --- a/addons/document_ftp/ftpserver/abstracted_fs.py +++ b/addons/document_ftp/ftpserver/abstracted_fs.py @@ -9,7 +9,8 @@ import errno import glob import fnmatch -from openerp import pooler, netsvc, sql_db +import openerp +from openerp import sql_db import openerp.service from openerp.service import security from openerp.osv import osv @@ -192,7 +193,7 @@ class abstracted_fs(object): if dir: cr = dir.cr uid = dir.uid - pool = pooler.get_pool(node.context.dbname) + pool = openerp.registry(node.context.dbname) object=dir and dir.object or False object2=dir and dir.object2 or False res=pool.get('ir.attachment').search(cr,uid,[('name','like',prefix),('parent_id','=',object and object.type in ('directory','ressource') and object.id or False),('res_id','=',object2 and object2.id or False),('res_model','=',object2 and object2._name or False)]) @@ -291,7 +292,7 @@ class abstracted_fs(object): if dbname not in self.db_list(): raise IOError(errno.ENOENT,'Invalid database path: %s.' % dbname) try: - db = pooler.get_db(dbname) + db = openerp.registry(dbname).db except Exception: raise OSError(1, 'Database cannot be used.') cr = db.cursor() @@ -324,7 +325,7 @@ class abstracted_fs(object): """ Get cr, uid, pool from a node """ assert node - db = pooler.get_db(node.context.dbname) + db = openerp.registry.(node.context.dbname).db return db.cursor(), node.context.uid def get_node_cr(self, node): diff --git a/addons/document_ftp/ftpserver/authorizer.py b/addons/document_ftp/ftpserver/authorizer.py index 5a64ca8f7a0..e863eeb39ec 100644 --- a/addons/document_ftp/ftpserver/authorizer.py +++ b/addons/document_ftp/ftpserver/authorizer.py @@ -48,7 +48,6 @@ class authorizer: if not len(paths)>2: return True db_name = paths[1] - db,pool = pooler.get_db_and_pool(db_name) res = security.login(db_name, username, self.password) return bool(res) diff --git a/addons/document_webdav/dav_fs.py b/addons/document_webdav/dav_fs.py index 1781a02d76e..a8ef9082b2c 100644 --- a/addons/document_webdav/dav_fs.py +++ b/addons/document_webdav/dav_fs.py @@ -37,7 +37,7 @@ except ImportError: from DAV.davcmd import copyone, copytree, moveone, movetree, delone, deltree import openerp -from openerp import pooler, sql_db, netsvc +from openerp import sql_db, netsvc import openerp.service from openerp.tools import misc @@ -494,9 +494,9 @@ class openerp_dav_handler(dav_interface): self.parent.auth_provider.checkRequest(self.parent, uri, dbname) res = self.parent.auth_provider.auth_creds[dbname] user, passwd, dbn2, uid = res - db,pool = pooler.get_db_and_pool(dbname) - cr = db.cursor() - return cr, uid, pool, dbname, uri2 + registry = openerp.registry(dbname) + cr = registery.db.cursor() + return cr, uid, registry, dbname, uri2 def uri2object(self, cr, uid, pool, uri): if not uid: diff --git a/addons/fetchmail/i18n/cs.po b/addons/fetchmail/i18n/cs.po new file mode 100644 index 00000000000..78e00a1f982 --- /dev/null +++ b/addons/fetchmail/i18n/cs.po @@ -0,0 +1,335 @@ +# Czech translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-03-27 09:03+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Czech \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-03-28 04:41+0000\n" +"X-Generator: Launchpad (build 16546)\n" + +#. module: fetchmail +#: selection:fetchmail.server,state:0 +msgid "Confirmed" +msgstr "Potvrzeno" + +#. module: fetchmail +#: field:fetchmail.server,server:0 +msgid "Server Name" +msgstr "Název serveru" + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "POP" +msgstr "POP" + +#. module: fetchmail +#: help:fetchmail.server,priority:0 +msgid "Defines the order of processing, lower values mean higher priority" +msgstr "Určuje pořadí provádění, nižší hodnota znamená vyšší prioritu" + +#. module: fetchmail +#: help:fetchmail.server,is_ssl:0 +msgid "" +"Connections are encrypted with SSL/TLS through a dedicated port (default: " +"IMAPS=993, POP3S=995)" +msgstr "" +"Přenos je zabezpečen certifikáty SSL/TSL a probíhá přes vyhrazené porty " +"(standardně: IMAPS=993, POP3S=995)" + +#. module: fetchmail +#: field:fetchmail.server,attach:0 +msgid "Keep Attachments" +msgstr "Ponechat přílohy" + +#. module: fetchmail +#: field:fetchmail.server,is_ssl:0 +msgid "SSL/TLS" +msgstr "SSL/TLS" + +#. module: fetchmail +#: help:fetchmail.server,original:0 +msgid "" +"Whether a full original copy of each email should be kept for referenceand " +"attached to each processed message. This will usually double the size of " +"your message database." +msgstr "" +"Mají-li být zahrnuty také originály každého e-mailu u zpracovávaných zpráv. " +"To obvykle zdvojnásí velikost databáze zpráv." + +#. module: fetchmail +#: view:base.config.settings:0 +msgid "Configure the incoming email gateway" +msgstr "Nastavení příchozí poštovní brány" + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "Fetch Now" +msgstr "Zkontrolovat" + +#. module: fetchmail +#: model:ir.actions.act_window,name:fetchmail.action_email_server_tree +#: model:ir.ui.menu,name:fetchmail.menu_action_fetchmail_server_tree +msgid "Incoming Mail Servers" +msgstr "Servery příchozí pošty" + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "Server type IMAP." +msgstr "IMAP server." + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "POP/IMAP Servers" +msgstr "POP/IMAP servery" + +#. module: fetchmail +#: selection:fetchmail.server,type:0 +msgid "Local Server" +msgstr "Místní server" + +#. module: fetchmail +#: field:fetchmail.server,state:0 +msgid "Status" +msgstr "Stav" + +#. module: fetchmail +#: model:ir.model,name:fetchmail.model_fetchmail_server +msgid "POP/IMAP Server" +msgstr "POP/IMAP server" + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "Reset Confirmation" +msgstr "Obnovit potvrzení" + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "SSL" +msgstr "SSL" + +#. module: fetchmail +#: model:ir.model,name:fetchmail.model_fetchmail_config_settings +msgid "fetchmail.config.settings" +msgstr "fetchmail.config.settings" + +#. module: fetchmail +#: field:fetchmail.server,date:0 +msgid "Last Fetch Date" +msgstr "Poslední kontrola pošty" + +#. module: fetchmail +#: help:fetchmail.server,action_id:0 +msgid "" +"Optional custom server action to trigger for each incoming mail, on the " +"record that was created or updated by this mail" +msgstr "" +"Volitelné vlastní akce serveru pro příchozí e-mail – na záznamu, který byl " +"vytvořen nebo aktualizován tímto e-mailem." + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "# of emails" +msgstr "# e-mailů" + +#. module: fetchmail +#: field:fetchmail.server,original:0 +msgid "Keep Original" +msgstr "Ponechat originál" + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "Advanced Options" +msgstr "Rozšířené volby" + +#. module: fetchmail +#: view:fetchmail.server:0 +#: field:fetchmail.server,configuration:0 +msgid "Configuration" +msgstr "Nastavení" + +#. module: fetchmail +#: field:fetchmail.server,script:0 +msgid "Script" +msgstr "Skript" + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "Incoming Mail Server" +msgstr "Server příchozí pošty" + +#. module: fetchmail +#: code:addons/fetchmail/fetchmail.py:164 +#, python-format +msgid "Connection test failed!" +msgstr "Tes připojení byl neúspěšný!" + +#. module: fetchmail +#: field:fetchmail.server,user:0 +msgid "Username" +msgstr "Uživatelské jméno" + +#. module: fetchmail +#: help:fetchmail.server,server:0 +msgid "Hostname or IP of the mail server" +msgstr "Název nebo IP adresa e-mail serveru" + +#. module: fetchmail +#: field:fetchmail.server,name:0 +msgid "Name" +msgstr "Název" + +#. module: fetchmail +#: code:addons/fetchmail/fetchmail.py:164 +#, python-format +msgid "" +"Here is what we got instead:\n" +" %s." +msgstr "" +"Bylo obdrženo namísto:\n" +" %s." + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "Test & Confirm" +msgstr "Test & Potvrzení" + +#. module: fetchmail +#: field:fetchmail.server,action_id:0 +msgid "Server Action" +msgstr "Akce serveru" + +#. module: fetchmail +#: field:mail.mail,fetchmail_server_id:0 +msgid "Inbound Mail Server" +msgstr "Server příchozí pošty" + +#. module: fetchmail +#: field:fetchmail.server,message_ids:0 +#: model:ir.actions.act_window,name:fetchmail.act_server_history +msgid "Messages" +msgstr "Zprávy" + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "Search Incoming Mail Servers" +msgstr "Hledat servery příchozí pošty" + +#. module: fetchmail +#: field:fetchmail.server,active:0 +msgid "Active" +msgstr "Aktivní" + +#. module: fetchmail +#: help:fetchmail.server,attach:0 +msgid "" +"Whether attachments should be downloaded. If not enabled, incoming emails " +"will be stripped of any attachments before being processed" +msgstr "" +"Mají-li být za zahrnuty také přílohy. Pokud nebude povoleno, budou příchozí " +"e-maily zbaveny všech příloh před dalším zpracováním." + +#. module: fetchmail +#: model:ir.model,name:fetchmail.model_mail_mail +msgid "Outgoing Mails" +msgstr "Odchozí e-maily" + +#. module: fetchmail +#: field:fetchmail.server,priority:0 +msgid "Server Priority" +msgstr "Priorita serveru" + +#. module: fetchmail +#: selection:fetchmail.server,type:0 +msgid "IMAP Server" +msgstr "IMAP server" + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "IMAP" +msgstr "IMAP" + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "Server type POP." +msgstr "POP server." + +#. module: fetchmail +#: field:fetchmail.server,password:0 +msgid "Password" +msgstr "Heslo" + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "Actions to Perform on Incoming Mails" +msgstr "Akce prováděné s příchozími e-maily" + +#. module: fetchmail +#: field:fetchmail.server,type:0 +msgid "Server Type" +msgstr "Druh serveru" + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "Login Information" +msgstr "Přihlašovací údaje" + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "Server Information" +msgstr "Údaje o serveru" + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "If SSL required." +msgstr "Je-li požádován SSL." + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "Advanced" +msgstr "Rozšířené" + +#. module: fetchmail +#: view:fetchmail.server:0 +msgid "Server & Login" +msgstr "Server & Přihlášení" + +#. module: fetchmail +#: help:fetchmail.server,object_id:0 +msgid "" +"Process each incoming mail as part of a conversation corresponding to this " +"document type. This will create new documents for new conversations, or " +"attach follow-up emails to the existing conversations (documents)." +msgstr "" +"Zpracuje každý příchozí e-mail jako součást konverzace podle druhu " +"dokumentu. Buď se nové konverzaci se vytvoří nové dokumenty, nebo se ke " +"stávající konverzaci připojí navazující e-maily (dokumenty)." + +#. module: fetchmail +#: field:fetchmail.server,object_id:0 +msgid "Create a New Record" +msgstr "Vytvořit nový záznam" + +#. module: fetchmail +#: selection:fetchmail.server,state:0 +msgid "Not Confirmed" +msgstr "Nepotvrzeno" + +#. module: fetchmail +#: selection:fetchmail.server,type:0 +msgid "POP Server" +msgstr "POP server" + +#. module: fetchmail +#: field:fetchmail.server,port:0 +msgid "Port" +msgstr "Port" diff --git a/addons/hr_attendance/report/attendance_by_month.py b/addons/hr_attendance/report/attendance_by_month.py index 69ce9511ac2..8e8f95c81e1 100644 --- a/addons/hr_attendance/report/attendance_by_month.py +++ b/addons/hr_attendance/report/attendance_by_month.py @@ -23,7 +23,7 @@ from datetime import datetime, timedelta from dateutil.relativedelta import relativedelta import time -from openerp import netsvc, pooler +import openerp from openerp.report import report_sxw from openerp.report.interface import report_rml from openerp.report.interface import toxml @@ -46,7 +46,8 @@ def lengthmonth(year, month): class report_custom(report_rml): def create_xml(self, cr, uid, ids, datas, context=None): - obj_emp = pooler.get_pool(cr.dbname).get('hr.employee') + registry = openerp.registry(cr.dbname) + obj_emp = registry['hr.employee'] if context is None: context = {} month = datetime(datas['form']['year'], datas['form']['month'], 1) @@ -102,14 +103,14 @@ class report_custom(report_rml): days_xml.append(today_xml) user_xml.append(user_repr % '\n'.join(days_xml)) - rpt_obj = pooler.get_pool(cr.dbname).get('hr.employee') + rpt_obj = obj_emp rml_obj=report_sxw.rml_parse(cr, uid, rpt_obj._name,context) header_xml = '''
%s %s
- ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),to_xml(pooler.get_pool(cr.dbname).get('res.users').browse(cr,uid,uid).company_id.name)) + ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),to_xml(registry['res.users'].browse(cr,uid,uid).company_id.name)) first_date = str(month) som = datetime.strptime(first_date, '%Y-%m-%d %H:%M:%S') diff --git a/addons/hr_attendance/report/attendance_errors.py b/addons/hr_attendance/report/attendance_errors.py index 411a1139def..811f4d8d906 100644 --- a/addons/hr_attendance/report/attendance_errors.py +++ b/addons/hr_attendance/report/attendance_errors.py @@ -22,7 +22,6 @@ import datetime import time -from openerp import pooler from openerp.report import report_sxw class attendance_print(report_sxw.rml_parse): diff --git a/addons/hr_attendance/report/timesheet.py b/addons/hr_attendance/report/timesheet.py index 321bb6bacc9..42dd686eba3 100644 --- a/addons/hr_attendance/report/timesheet.py +++ b/addons/hr_attendance/report/timesheet.py @@ -24,7 +24,8 @@ from datetime import datetime from dateutil.relativedelta import relativedelta import time -from openerp import pooler, tools +import openerp +from openerp import tools from openerp.report import report_sxw from openerp.report.interface import report_rml, toxml from openerp.tools.translate import _ @@ -38,7 +39,8 @@ def to_hour(h): class report_custom(report_rml): def create_xml(self, cr, uid, ids, datas, context=None): - obj_emp = pooler.get_pool(cr.dbname).get('hr.employee') + registry = openerp.registry(cr.dbname) + obj_emp = registry['hr.employee'] emp_ids = datas['active_ids'] start_date = datetime.strptime(datas['form']['init_date'], '%Y-%m-%d') @@ -49,14 +51,14 @@ class report_custom(report_rml): if last_monday < first_monday: first_monday, last_monday = last_monday, first_monday - rpt_obj = pooler.get_pool(cr.dbname).get('hr.employee') + rpt_obj = obj_emp rml_obj=report_sxw.rml_parse(cr, uid, rpt_obj._name,context) header_xml = '''
%s %s
- ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),pooler.get_pool(cr.dbname).get('res.users').browse(cr,uid,uid).company_id.name) + ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),registry['res.users'].browse(cr,uid,uid).company_id.name) user_xml = [] for employee_id in emp_ids: emp = obj_emp.read(cr, uid, [employee_id], ['id', 'name'])[0] diff --git a/addons/hr_holidays/report/holidays_summary_report.py b/addons/hr_holidays/report/holidays_summary_report.py index f60d7a3ee1c..d39ae53d5b6 100644 --- a/addons/hr_holidays/report/holidays_summary_report.py +++ b/addons/hr_holidays/report/holidays_summary_report.py @@ -22,12 +22,11 @@ import datetime import time +import openerp from openerp.osv import fields, osv from openerp.report.interface import report_rml from openerp.report.interface import toxml -from openerp import pooler -import time from openerp.report import report_sxw from openerp.tools import ustr from openerp.tools.translate import _ @@ -50,8 +49,9 @@ def emp_create_xml(self, cr, uid, dept, holiday_type, row_id, empid, name, som, display={} if dept==0: count=0 - p_id=pooler.get_pool(cr.dbname).get('hr.holidays').search(cr, uid, [('employee_id','in',[empid,False]), ('type', '=', 'remove')]) - ids_date = pooler.get_pool(cr.dbname).get('hr.holidays').read(cr, uid, p_id, ['date_from','date_to','holiday_status_id','state']) + registry = openerp.registry(cr.dbname) + p_id = registry['hr.holidays'].search(cr, uid, [('employee_id','in',[empid,False]), ('type', '=', 'remove')]) + ids_date = registry['hr.holidays'].read(cr, uid, p_id, ['date_from','date_to','holiday_status_id','state']) for index in range(1,61): diff=index-1 @@ -85,12 +85,12 @@ def emp_create_xml(self, cr, uid, dept, holiday_type, row_id, empid, name, som, class report_custom(report_rml): def create_xml(self, cr, uid, ids, data, context): - obj_dept = pooler.get_pool(cr.dbname).get('hr.department') - obj_emp = pooler.get_pool(cr.dbname).get('hr.employee') + registry = openerp.registry(cr.dbname) + obj_dept = registry['hr.department'] + obj_emp = registry['hr.employee'] depts=[] emp_id={} -# done={} - rpt_obj = pooler.get_pool(cr.dbname).get('hr.holidays') + rpt_obj = registry['hr.holidays'] rml_obj=report_sxw.rml_parse(cr, uid, rpt_obj._name,context) cr.execute("SELECT name FROM res_company") res=cr.fetchone()[0] @@ -242,7 +242,7 @@ class report_custom(report_rml): %s %s - ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),to_xml(pooler.get_pool(cr.dbname).get('res.users').browse(cr,uid,uid).company_id.name)) + ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),to_xml(registry['res.users'].browse(cr,uid,uid).company_id.name)) # Computing the xml xml=''' diff --git a/addons/hr_payroll/test/payslip.yml b/addons/hr_payroll/test/payslip.yml index 0e60a5b6af4..f78ad4a374d 100644 --- a/addons/hr_payroll/test/payslip.yml +++ b/addons/hr_payroll/test/payslip.yml @@ -68,9 +68,8 @@ I verify that the payslip is in done state - !python {model: hr.payslip}: | - from openerp.tools.translate import _ payslip_brw=self.browse(cr, uid, ref("hr_payslip_0")) - assert(payslip_brw.state == 'done'), _('State not changed!') + assert(payslip_brw.state == 'done'), 'State not changed!' - I want to check refund payslip so I click on refund button. - diff --git a/addons/hr_payroll_account/test/hr_payroll_account.yml b/addons/hr_payroll_account/test/hr_payroll_account.yml index c8b6bf42fdd..c637b5f319a 100644 --- a/addons/hr_payroll_account/test/hr_payroll_account.yml +++ b/addons/hr_payroll_account/test/hr_payroll_account.yml @@ -89,9 +89,8 @@ I verify the payslip is in draft state. - !python {model: hr.payslip}: | - from openerp.tools.translate import _ payslip_brw=self.browse(cr, uid, ref("hr_payslip_0")) - assert(payslip_brw.state == 'draft'), _('State not changed!') + assert(payslip_brw.state == 'draft'), 'State not changed!' - I click on "Compute Sheet" button. - @@ -120,7 +119,6 @@ I verify that the payslip is in done state. - !python {model: hr.payslip}: | - from openerp.tools.translate import _ payslip_brw=self.browse(cr, uid, ref("hr_payslip_0")) - assert(payslip_brw.state == 'done'), _('State not changed!') + assert(payslip_brw.state == 'done'), 'State not changed!' diff --git a/addons/hr_timesheet/hr_timesheet.py b/addons/hr_timesheet/hr_timesheet.py index 6a538e5d09c..cc9c0653a85 100644 --- a/addons/hr_timesheet/hr_timesheet.py +++ b/addons/hr_timesheet/hr_timesheet.py @@ -74,8 +74,9 @@ class hr_analytic_timesheet(osv.osv): toremove = {} for obj in self.browse(cr, uid, ids, context=context): toremove[obj.line_id.id] = True + super(hr_analytic_timesheet, self).unlink(cr, uid, ids, context=context) self.pool.get('account.analytic.line').unlink(cr, uid, toremove.keys(), context=context) - return super(hr_analytic_timesheet, self).unlink(cr, uid, ids, context=context) + return True def on_change_unit_amount(self, cr, uid, id, prod_id, unit_amount, company_id, unit=False, journal_id=False, context=None): diff --git a/addons/hr_timesheet/report/user_timesheet.py b/addons/hr_timesheet/report/user_timesheet.py index b86a6e8e89d..63edf3cc398 100644 --- a/addons/hr_timesheet/report/user_timesheet.py +++ b/addons/hr_timesheet/report/user_timesheet.py @@ -20,12 +20,12 @@ ############################################################################## import datetime +import time +import openerp from openerp.report.interface import report_rml from openerp.report.interface import toxml from openerp.tools.translate import _ -import time -from openerp import pooler from openerp.report import report_sxw from openerp.tools import ustr from openerp.tools import to_xml @@ -45,10 +45,11 @@ class report_custom(report_rml): return _weekdays[weekday] def create_xml(self, cr, uid, ids, data, context): + registry = openerp.registry(cr.dbname) # Get the user id from the selected employee record emp_id = data['form']['employee_id'] - emp_obj = pooler.get_pool(cr.dbname).get('hr.employee') + emp_obj = registry['hr.employee'] user_id = emp_obj.browse(cr, uid, emp_id).user_id.id empl_name = emp_obj.browse(cr, uid, emp_id).name @@ -87,7 +88,7 @@ class report_custom(report_rml): %.2f ''' - rpt_obj = pooler.get_pool(cr.dbname).get('hr.employee') + rpt_obj = registry['hr.employee'] rml_obj = report_sxw.rml_parse(cr, uid, rpt_obj._name,context) if user_id: header_xml = ''' @@ -95,12 +96,12 @@ class report_custom(report_rml): %s %s - ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),to_xml(pooler.get_pool(cr.dbname).get('res.users').browse(cr,uid,user_id).company_id.name)) + ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),to_xml(registry['res.users'].browse(cr,uid,user_id).company_id.name)) account_xml = [] for account, telems in accounts.iteritems(): aid, aname = account - aname = pooler.get_pool(cr.dbname).get('account.analytic.account').name_get(cr, uid, [aid], context) + aname = registry['account.analytic.account'].name_get(cr, uid, [aid], context) aname = aname[0][1] account_xml.append('' % (aid, toxml(aname))) diff --git a/addons/hr_timesheet/report/users_timesheet.py b/addons/hr_timesheet/report/users_timesheet.py index 4827994f2cd..d8c4927947d 100644 --- a/addons/hr_timesheet/report/users_timesheet.py +++ b/addons/hr_timesheet/report/users_timesheet.py @@ -20,10 +20,11 @@ ############################################################################## import datetime +import time + +import openerp from openerp.report.interface import report_rml from openerp.report.interface import toxml -import time -from openerp import pooler from openerp.tools.translate import _ from openerp.report import report_sxw from openerp.tools import ustr @@ -78,6 +79,7 @@ class report_custom(report_rml): return _weekdays[weekday] def create_xml(self, cr, uid, ids, data, context): + registry = openerp.registry(cr.dbname) # Computing the dates (start of month: som, and end of month: eom) som = datetime.date(data['form']['year'], data['form']['month'], 1) @@ -88,7 +90,7 @@ class report_custom(report_rml): date_xml.append('2.5cm%s,2cm\n' % (',0.7cm' * lengthmonth(som.year, som.month))) emp_xml='' - emp_obj = pooler.get_pool(cr.dbname).get('hr.employee') + emp_obj = registry['hr.employee'] for id in data['form']['employee_ids']: user = emp_obj.browse(cr, uid, id).user_id.id empl_name = emp_obj.browse(cr, uid, id).name @@ -97,14 +99,14 @@ class report_custom(report_rml): # Computing the xml #Without this, report don't show non-ascii characters (TO CHECK) date_xml = '\n'.join(date_xml) - rpt_obj = pooler.get_pool(cr.dbname).get('hr.employee') + rpt_obj = emp_obj rml_obj=report_sxw.rml_parse(cr, uid, rpt_obj._name,context) header_xml = '''
%s %s
- ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),pooler.get_pool(cr.dbname).get('res.users').browse(cr,uid,uid).company_id.name) + ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),registry['res.users'].browse(cr,uid,uid).company_id.name) xml=''' diff --git a/addons/hr_timesheet_invoice/report/account_analytic_profit.py b/addons/hr_timesheet_invoice/report/account_analytic_profit.py index 57fd06b0c34..bfaf585aff5 100644 --- a/addons/hr_timesheet_invoice/report/account_analytic_profit.py +++ b/addons/hr_timesheet_invoice/report/account_analytic_profit.py @@ -20,7 +20,6 @@ ############################################################################## from openerp.report import report_sxw -from openerp import pooler class account_analytic_profit(report_sxw.rml_parse): def __init__(self, cr, uid, name, context): @@ -32,13 +31,13 @@ class account_analytic_profit(report_sxw.rml_parse): 'line': self._line, }) def _user_ids(self, lines): - user_obj=pooler.get_pool(self.cr.dbname).get('res.users') + user_obj = self.pool['res.users'] ids=list(set([b.user_id.id for b in lines])) return user_obj.browse(self.cr, self.uid, ids) def _journal_ids(self, form, user_id): - line_obj=pooler.get_pool(self.cr.dbname).get('account.analytic.line') - journal_obj=pooler.get_pool(self.cr.dbname).get('account.analytic.journal') + line_obj = self.pool['account.analytic.line'] + journal_obj = self.pool['account.analytic.journal'] line_ids=line_obj.search(self.cr, self.uid, [ ('date', '>=', form['date_from']), ('date', '<=', form['date_to']), @@ -49,10 +48,9 @@ class account_analytic_profit(report_sxw.rml_parse): return journal_obj.browse(self.cr, self.uid, ids) def _line(self, form, journal_ids, user_ids): - pool=pooler.get_pool(self.cr.dbname) - line_obj=pool.get('account.analytic.line') - product_obj=pool.get('product.product') - price_obj=pool.get('product.pricelist') + line_obj = self.pool['account.analytic.line'] + product_obj = self.pool['product.product'] + price_obj = self.pool['product.pricelist'] ids=line_obj.search(self.cr, self.uid, [ ('date', '>=', form['date_from']), ('date', '<=', form['date_to']), @@ -109,7 +107,7 @@ class account_analytic_profit(report_sxw.rml_parse): return res.values() def _lines(self, form): - line_obj=pooler.get_pool(self.cr.dbname).get('account.analytic.line') + line_obj = self.pool['account.analytic.line'] ids=line_obj.search(self.cr, self.uid, [ ('date', '>=', form['date_from']), ('date', '<=', form['date_to']), diff --git a/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create_view.xml b/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create_view.xml index 74d0fa1daf6..17ac669d26d 100644 --- a/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create_view.xml +++ b/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create_view.xml @@ -9,16 +9,17 @@
- - - - - - - - - - + + + + + + + + +

When reinvoicing costs, the amount on the invoice lines is given by the sale price of the corresponding product (if any, and if its sale price is not 0). You can use the following field to enforce the use of a single product for all the chosen lines in the future invoices.

+ +
diff --git a/addons/l10n_be_coda/l10n_be_coda_view.xml b/addons/l10n_be_coda/l10n_be_coda_view.xml index 2464e5e9082..8c11913b14d 100644 --- a/addons/l10n_be_coda/l10n_be_coda_view.xml +++ b/addons/l10n_be_coda/l10n_be_coda_view.xml @@ -41,6 +41,7 @@ 10 + diff --git a/addons/l10n_br/account.py b/addons/l10n_br/account.py index 05ad589ab82..1adb6d92baa 100644 --- a/addons/l10n_br/account.py +++ b/addons/l10n_br/account.py @@ -17,7 +17,7 @@ #along with this program. If not, see . # ################################################################################# -from openerp import pooler +import openerp from openerp.osv import fields, osv TAX_CODE_COLUMNS = { @@ -92,7 +92,8 @@ class account_tax_code(osv.osv): def get_precision_tax(): def change_digit_tax(cr): - res = pooler.get_pool(cr.dbname).get('decimal.precision').precision_get(cr, 1, 'Account') + decimal_precision = openerp.registry(cr.dbname)['decimal.precision'] + res = decimal_precision.precision_get(cr, 1, 'Account') return (16, res+2) return change_digit_tax diff --git a/addons/l10n_lu/wizard/print_vat.py b/addons/l10n_lu/wizard/print_vat.py index 9e1190cfae5..abd5c7ce298 100644 --- a/addons/l10n_lu/wizard/print_vat.py +++ b/addons/l10n_lu/wizard/print_vat.py @@ -5,8 +5,9 @@ #Tranquil IT Systems from __future__ import with_statement + +import openerp from openerp.osv import fields, osv -from openerp import pooler from openerp import tools from openerp.tools.translate import _ from openerp.report.render import render @@ -30,8 +31,8 @@ class report_custom(report_int): def create(self, cr, uid, ids, datas, context=None): - pool = pooler.get_pool(cr.dbname) - taxobj = pool.get('account.tax.code') + registry = openerp.registry(cr.dbname) + taxobj = registry['account.tax.code'] if context is None: context = {} @@ -40,7 +41,7 @@ class report_custom(report_int): for t in taxobj.browse(cr, uid, code_ids, {'period_id': datas['form']['period_id']}): if str(t.code): result['case_'+str(t.code)] = '%.2f' % (t.sum_period or 0.0, ) - user = pool.get('res.users').browse(cr, uid, uid, context) + user = registry['res.users'].browse(cr, uid, uid, context) # Not Clean, to be changed partner = user.company_id.partner_id diff --git a/addons/mail/i18n/cs.po b/addons/mail/i18n/cs.po new file mode 100644 index 00000000000..e12668ab3ee --- /dev/null +++ b/addons/mail/i18n/cs.po @@ -0,0 +1,1687 @@ +# Czech translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:04+0000\n" +"PO-Revision-Date: 2013-03-25 07:50+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Czech \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-03-26 04:44+0000\n" +"X-Generator: Launchpad (build 16540)\n" + +#. module: mail +#: view:mail.followers:0 +msgid "Followers Form" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_publisher_warranty_contract +msgid "publisher_warranty.contract" +msgstr "" + +#. module: mail +#: field:mail.compose.message,author_id:0 +#: field:mail.message,author_id:0 +msgid "Author" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Message Details" +msgstr "" + +#. module: mail +#: help:mail.mail,email_to:0 +msgid "Message recipients" +msgstr "" + +#. module: mail +#: help:mail.message.subtype,default:0 +msgid "Activated by default when subscribing." +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Comments" +msgstr "" + +#. module: mail +#: view:mail.alias:0 +#: view:mail.mail:0 +msgid "Group By..." +msgstr "" + +#. module: mail +#: help:mail.compose.message,body:0 +#: help:mail.message,body:0 +msgid "Automatically sanitized HTML contents" +msgstr "" + +#. module: mail +#: help:mail.alias,alias_name:0 +msgid "" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"" +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_email_compose_message_wizard +#: view:mail.compose.message:0 +msgid "Compose Email" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:132 +#, python-format +msgid "Add them into recipients and followers" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Group Name" +msgstr "" + +#. module: mail +#: selection:mail.group,public:0 +msgid "Public" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Body" +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Show messages to read" +msgstr "" + +#. module: mail +#: help:mail.compose.message,email_from:0 +#: help:mail.message,email_from:0 +msgid "" +"Email address of the sender. This field is set when no matching partner is " +"found for incoming emails." +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_compose_message +msgid "Email composition wizard" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:23 +#, python-format +msgid "Add others" +msgstr "" + +#. module: mail +#: field:mail.message.subtype,parent_id:0 +msgid "Parent" +msgstr "" + +#. module: mail +#: field:mail.group,message_unread:0 +#: field:mail.thread,message_unread:0 +#: field:res.partner,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:296 +#, python-format +msgid "show" +msgstr "" + +#. module: mail +#: help:mail.group,group_ids:0 +msgid "" +"Members of those groups will automatically added as followers. Note that " +"they will be able to manage their subscription manually if necessary." +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/mail.js:1019 +#, python-format +msgid "Do you really want to delete this message?" +msgstr "" + +#. module: mail +#: view:mail.message:0 +#: field:mail.notification,read:0 +msgid "Read" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Search Groups" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/mail_followers.js:159 +#, python-format +msgid "followers" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_message.py:726 +#, python-format +msgid "Access Denied" +msgstr "" + +#. module: mail +#: help:mail.group,image_medium:0 +msgid "" +"Medium-sized photo of the group. It is automatically resized as a 128x128px " +"image, with aspect ratio preserved. Use this field in form views or some " +"kanban views." +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:212 +#, python-format +msgid "Uploading error" +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_support +msgid "Support" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_message.py:727 +#, python-format +msgid "" +"The requested operation cannot be completed due to security restrictions. " +"Please contact your system administrator.\n" +"\n" +"(Document type: %s, Operation: %s)" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +#: selection:mail.mail,state:0 +msgid "Received" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Thread" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:29 +#, python-format +msgid "Open the full mail composer" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:29 +#, python-format +msgid "ò" +msgstr "" + +#. module: mail +#: field:base.config.settings,alias_domain:0 +msgid "Alias Domain" +msgstr "" + +#. module: mail +#: field:mail.group,group_ids:0 +msgid "Auto Subscription" +msgstr "" + +#. module: mail +#: field:mail.mail,references:0 +msgid "References" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:206 +#, python-format +msgid "No messages." +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_group +msgid "Discussion group" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:98 +#: code:addons/mail/static/src/xml/mail.xml:110 +#, python-format +msgid "uploading" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:52 +#, python-format +msgid "more." +msgstr "" + +#. module: mail +#: help:mail.compose.message,type:0 +#: help:mail.message,type:0 +msgid "" +"Message type: email for email message, notification for system message, " +"comment for other messages such as user replies" +msgstr "" + +#. module: mail +#: help:mail.message.subtype,relation_field:0 +msgid "" +"Field used to link the related model to the subtype model when using " +"automatic subscription on a related document. The field is used to compute " +"getattr(related_document.relation_field)." +msgstr "" + +#. module: mail +#: selection:mail.mail,state:0 +msgid "Cancelled" +msgstr "" + +#. module: mail +#: field:mail.mail,reply_to:0 +msgid "Reply-To" +msgstr "" + +#. module: mail +#: code:addons/mail/wizard/invite.py:37 +#, python-format +msgid "
You have been invited to follow %s.
" +msgstr "" + +#. module: mail +#: help:mail.group,message_unread:0 +#: help:mail.thread,message_unread:0 +#: help:res.partner,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: mail +#: field:mail.group,image_medium:0 +msgid "Medium-sized photo" +msgstr "" + +#. module: mail +#: model:ir.actions.client,name:mail.action_mail_to_me_feeds +#: model:ir.ui.menu,name:mail.mail_tomefeeds +msgid "To: me" +msgstr "" + +#. module: mail +#: field:mail.message.subtype,name:0 +msgid "Message Type" +msgstr "" + +#. module: mail +#: field:mail.mail,auto_delete:0 +msgid "Auto Delete" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:12 +#: view:mail.group:0 +#, python-format +msgid "Unfollow" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:295 +#, python-format +msgid "show one more message" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_mail.py:74 +#: code:addons/mail/res_users.py:69 +#, python-format +msgid "Invalid Action!" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:25 +#, python-format +msgid "User img" +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_mail_mail +#: model:ir.ui.menu,name:mail.menu_mail_mail +#: view:mail.mail:0 +#: view:mail.message:0 +msgid "Emails" +msgstr "" + +#. module: mail +#: field:mail.followers,partner_id:0 +msgid "Related Partner" +msgstr "" + +#. module: mail +#: help:mail.group,message_summary:0 +#: help:mail.thread,message_summary:0 +#: help:res.partner,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: mail +#: help:mail.alias,alias_model_id:0 +msgid "" +"The model (OpenERP Document Kind) to which this alias corresponds. Any " +"incoming email that does not reply to an existing record will cause the " +"creation of a new record of this model (e.g. a Project Task)" +msgstr "" + +#. module: mail +#: field:mail.message.subtype,relation_field:0 +msgid "Relation field" +msgstr "" + +#. module: mail +#: selection:mail.compose.message,type:0 +#: selection:mail.message,type:0 +msgid "System notification" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_res_partner +#: view:mail.mail:0 +msgid "Partner" +msgstr "" + +#. module: mail +#: model:ir.ui.menu,name:mail.mail_my_stuff +msgid "Organizer" +msgstr "" + +#. module: mail +#: field:mail.compose.message,subject:0 +#: field:mail.message,subject:0 +msgid "Subject" +msgstr "" + +#. module: mail +#: field:mail.wizard.invite,partner_ids:0 +msgid "Partners" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Retry" +msgstr "" + +#. module: mail +#: field:mail.compose.message,email_from:0 +#: field:mail.mail,email_from:0 +#: field:mail.message,email_from:0 +msgid "From" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +#: view:mail.message.subtype:0 +msgid "Email message" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_base_config_settings +msgid "base.config.settings" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:36 +#: view:mail.compose.message:0 +#, python-format +msgid "Send" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/mail_followers.js:155 +#, python-format +msgid "No followers" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Failed" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:22 +#: model:ir.actions.act_window,name:mail.action_view_followers +#: model:ir.ui.menu,name:mail.menu_email_followers +#: view:mail.followers:0 +#: field:mail.group,message_follower_ids:0 +#: field:mail.thread,message_follower_ids:0 +#: field:res.partner,message_follower_ids:0 +#, python-format +msgid "Followers" +msgstr "" + +#. module: mail +#: model:ir.actions.client,name:mail.action_mail_archives_feeds +#: model:ir.ui.menu,name:mail.mail_archivesfeeds +msgid "Archives" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:97 +#: code:addons/mail/static/src/xml/mail.xml:109 +#, python-format +msgid "Delete this attachment" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:245 +#: view:mail.mail:0 +#, python-format +msgid "Reply" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/mail_followers.js:157 +#, python-format +msgid "One follower" +msgstr "" + +#. module: mail +#: field:mail.compose.message,type:0 +#: field:mail.message,type:0 +msgid "Type" +msgstr "" + +#. module: mail +#: selection:mail.compose.message,type:0 +#: view:mail.mail:0 +#: selection:mail.message,type:0 +msgid "Email" +msgstr "" + +#. module: mail +#: field:ir.ui.menu,mail_group_id:0 +msgid "Mail Group" +msgstr "" + +#. module: mail +#: selection:res.partner,notification_email_send:0 +msgid "Comments and Emails" +msgstr "" + +#. module: mail +#: field:mail.alias,alias_defaults:0 +msgid "Default Values" +msgstr "" + +#. module: mail +#: code:addons/mail/res_users.py:89 +#, python-format +msgid "%s has joined the %s network." +msgstr "" + +#. module: mail +#: help:mail.group,image_small:0 +msgid "" +"Small-sized photo of the group. It is automatically resized as a 64x64px " +"image, with aspect ratio preserved. Use this field anywhere a small image is " +"required." +msgstr "" + +#. module: mail +#: view:mail.compose.message:0 +#: field:mail.message,partner_ids:0 +msgid "Recipients" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:142 +#, python-format +msgid "<<<" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:43 +#, python-format +msgid "Write to the followers of this document..." +msgstr "" + +#. module: mail +#: field:mail.group,group_public_id:0 +msgid "Authorized Group" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Join Group" +msgstr "" + +#. module: mail +#: help:mail.mail,email_from:0 +msgid "Message sender, taken from user preferences." +msgstr "" + +#. module: mail +#: code:addons/mail/wizard/invite.py:40 +#, python-format +msgid "
You have been invited to follow a new document.
" +msgstr "" + +#. module: mail +#: field:mail.compose.message,parent_id:0 +#: field:mail.message,parent_id:0 +msgid "Parent Message" +msgstr "" + +#. module: mail +#: field:mail.compose.message,res_id:0 +#: field:mail.followers,res_id:0 +#: field:mail.message,res_id:0 +#: field:mail.wizard.invite,res_id:0 +msgid "Related Document ID" +msgstr "" + +#. module: mail +#: model:ir.actions.client,help:mail.action_mail_to_me_feeds +msgid "" +"

\n" +" No private message.\n" +"

\n" +" This list contains messages sent to you.\n" +"

\n" +" " +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_rd +msgid "R&D" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:61 +#, python-format +msgid "/web/binary/upload_attachment" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_thread +msgid "Email Thread" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Advanced" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:244 +#, python-format +msgid "Move to Inbox" +msgstr "" + +#. module: mail +#: code:addons/mail/wizard/mail_compose_message.py:165 +#, python-format +msgid "Re:" +msgstr "" + +#. module: mail +#: field:mail.compose.message,to_read:0 +#: field:mail.message,to_read:0 +msgid "To read" +msgstr "" + +#. module: mail +#: code:addons/mail/res_users.py:69 +#, python-format +msgid "" +"You may not create a user. To create new users, you should use the " +"\"Settings > Users\" menu." +msgstr "" + +#. module: mail +#: help:mail.followers,res_model:0 +#: help:mail.wizard.invite,res_model:0 +msgid "Model of the followed resource" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:320 +#, python-format +msgid "like" +msgstr "" + +#. module: mail +#: view:mail.compose.message:0 +#: view:mail.wizard.invite:0 +msgid "Cancel" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:47 +#, python-format +msgid "Share with my followers..." +msgstr "" + +#. module: mail +#: field:mail.notification,partner_id:0 +msgid "Contact" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "" +"Only the invited followers can read the\n" +" discussions on this group." +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_ir_ui_menu +msgid "ir.ui.menu" +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Has attachments" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "on" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_message.py:915 +#, python-format +msgid "" +"The following partners chosen as recipients for the email have no email " +"address linked :" +msgstr "" + +#. module: mail +#: help:mail.alias,alias_defaults:0 +msgid "" +"A Python dictionary that will be evaluated to provide default values when " +"creating new records for this alias." +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_message_subtype +msgid "Message subtypes" +msgstr "" + +#. module: mail +#: help:mail.compose.message,notified_partner_ids:0 +#: help:mail.message,notified_partner_ids:0 +msgid "" +"Partners that have a notification pushing this message in their mailboxes" +msgstr "" + +#. module: mail +#: selection:mail.compose.message,type:0 +#: view:mail.mail:0 +#: selection:mail.message,type:0 +msgid "Comment" +msgstr "" + +#. module: mail +#: model:ir.actions.client,help:mail.action_mail_inbox_feeds +msgid "" +"

\n" +" Good Job! Your inbox is empty.\n" +"

\n" +" Your inbox contains private messages or emails sent to " +"you\n" +" as well as information related to documents or people " +"you\n" +" follow.\n" +"

\n" +" " +msgstr "" + +#. module: mail +#: field:mail.mail,notification:0 +msgid "Is Notification" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:188 +#, python-format +msgid "Compose a new message" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Send Now" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_mail.py:74 +#, python-format +msgid "" +"Unable to send email, please configure the sender's email address or alias." +msgstr "" + +#. module: mail +#: help:res.users,alias_id:0 +msgid "" +"Email address internally associated with this user. Incoming emails will " +"appear in the user's notifications." +msgstr "" + +#. module: mail +#: field:mail.group,image:0 +msgid "Photo" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:56 +#: code:addons/mail/static/src/xml/mail.xml:191 +#: view:mail.compose.message:0 +#: view:mail.wizard.invite:0 +#, python-format +msgid "or" +msgstr "" + +#. module: mail +#: help:mail.compose.message,vote_user_ids:0 +#: help:mail.message,vote_user_ids:0 +msgid "Users that voted for this message" +msgstr "" + +#. module: mail +#: help:mail.group,alias_id:0 +msgid "" +"The email address associated with this group. New emails received will " +"automatically create new topics." +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Month" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Email Search" +msgstr "" + +#. module: mail +#: field:mail.compose.message,child_ids:0 +#: field:mail.message,child_ids:0 +msgid "Child Messages" +msgstr "" + +#. module: mail +#: field:mail.alias,alias_user_id:0 +msgid "Owner" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_res_users +msgid "Users" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_message +#: field:mail.mail,mail_message_id:0 +#: view:mail.message:0 +#: field:mail.notification,message_id:0 +#: field:mail.wizard.invite,message:0 +msgid "Message" +msgstr "" + +#. module: mail +#: help:mail.followers,res_id:0 +#: help:mail.wizard.invite,res_id:0 +msgid "Id of the followed resource" +msgstr "" + +#. module: mail +#: field:mail.compose.message,body:0 +#: field:mail.message,body:0 +msgid "Contents" +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_mail_alias +#: model:ir.ui.menu,name:mail.mail_alias_menu +msgid "Aliases" +msgstr "" + +#. module: mail +#: help:mail.message.subtype,description:0 +msgid "" +"Description that will be added in the message posted for this subtype. If " +"void, the name will be added instead." +msgstr "" + +#. module: mail +#: field:mail.compose.message,vote_user_ids:0 +#: field:mail.message,vote_user_ids:0 +msgid "Votes" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Group" +msgstr "" + +#. module: mail +#: help:mail.compose.message,starred:0 +#: help:mail.message,starred:0 +msgid "Current user has a starred notification linked to this message" +msgstr "" + +#. module: mail +#: field:mail.group,public:0 +msgid "Privacy" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Notification" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/mail.js:650 +#, python-format +msgid "Please complete partner's informations" +msgstr "" + +#. module: mail +#: view:mail.wizard.invite:0 +msgid "Add Followers" +msgstr "" + +#. module: mail +#: view:mail.compose.message:0 +msgid "Followers of selected items and" +msgstr "" + +#. module: mail +#: field:mail.alias,alias_force_thread_id:0 +msgid "Record Thread ID" +msgstr "" + +#. module: mail +#: model:ir.ui.menu,name:mail.mail_group_root +msgid "My Groups" +msgstr "" + +#. module: mail +#: model:ir.actions.client,help:mail.action_mail_archives_feeds +msgid "" +"

\n" +" No message found and no message sent yet.\n" +"

\n" +" Click on the top-right icon to compose a message. This\n" +" message will be sent by email if it's an internal " +"contact.\n" +"

\n" +" " +msgstr "" + +#. module: mail +#: view:mail.mail:0 +#: field:mail.mail,state:0 +msgid "Status" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +#: selection:mail.mail,state:0 +msgid "Outgoing" +msgstr "" + +#. module: mail +#: selection:res.partner,notification_email_send:0 +msgid "All feeds" +msgstr "" + +#. module: mail +#: help:mail.compose.message,record_name:0 +#: help:mail.message,record_name:0 +msgid "Name get of the related document." +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_notifications +#: model:ir.model,name:mail.model_mail_notification +#: model:ir.ui.menu,name:mail.menu_email_notifications +#: field:mail.compose.message,notification_ids:0 +#: view:mail.message:0 +#: field:mail.message,notification_ids:0 +#: view:mail.notification:0 +msgid "Notifications" +msgstr "" + +#. module: mail +#: view:mail.alias:0 +msgid "Search Alias" +msgstr "" + +#. module: mail +#: help:mail.alias,alias_force_thread_id:0 +msgid "" +"Optional ID of a thread (record) to which all incoming messages will be " +"attached, even if they did not reply to it. If set, this will disable the " +"creation of new records completely." +msgstr "" + +#. module: mail +#: help:mail.message.subtype,name:0 +msgid "" +"Message subtype gives a more precise type on the message, especially for " +"system notifications. For example, it can be a notification related to a new " +"record (New), or to a stage change in a process (Stage change). Message " +"subtypes allow to precisely tune the notifications the user want to receive " +"on its wall." +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "by" +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_best_sales_practices +msgid "Best Sales Practices" +msgstr "" + +#. module: mail +#: selection:mail.group,public:0 +msgid "Selected Group Only" +msgstr "" + +#. module: mail +#: field:mail.group,message_is_follower:0 +#: field:mail.thread,message_is_follower:0 +#: field:res.partner,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: mail +#: view:mail.alias:0 +#: view:mail.mail:0 +msgid "User" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Groups" +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Messages Search" +msgstr "" + +#. module: mail +#: field:mail.compose.message,date:0 +#: field:mail.message,date:0 +msgid "Date" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:34 +#, python-format +msgid "Post" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Extended Filters..." +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:122 +#, python-format +msgid "To:" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:193 +#, python-format +msgid "Write to my followers" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_res_groups +msgid "Access Groups" +msgstr "" + +#. module: mail +#: field:mail.message.subtype,default:0 +msgid "Default" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:294 +#, python-format +msgid "show more message" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:246 +#, python-format +msgid "Mark as Todo" +msgstr "" + +#. module: mail +#: help:mail.message.subtype,parent_id:0 +msgid "Parent subtype, used for automatic subscription." +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_wizard_invite +msgid "Invite wizard" +msgstr "" + +#. module: mail +#: field:mail.group,message_summary:0 +#: field:mail.thread,message_summary:0 +#: field:res.partner,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: mail +#: help:mail.message.subtype,res_model:0 +msgid "" +"Model the subtype applies to. If False, this subtype applies to all models." +msgstr "" + +#. module: mail +#: field:mail.compose.message,subtype_id:0 +#: field:mail.followers,subtype_ids:0 +#: field:mail.message,subtype_id:0 +#: view:mail.message.subtype:0 +msgid "Subtype" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Group Form" +msgstr "" + +#. module: mail +#: field:mail.compose.message,starred:0 +#: field:mail.message,starred:0 +#: field:mail.notification,starred:0 +msgid "Starred" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:296 +#, python-format +msgid "more messages" +msgstr "" + +#. module: mail +#: code:addons/mail/update.py:93 +#, python-format +msgid "Error" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:13 +#, python-format +msgid "Following" +msgstr "" + +#. module: mail +#: sql_constraint:mail.alias:0 +msgid "" +"Unfortunately this email alias is already used, please choose a unique one" +msgstr "" + +#. module: mail +#: help:mail.alias,alias_user_id:0 +msgid "" +"The owner of records created upon receiving emails on this alias. If this " +"field is not set the system will attempt to find the right owner based on " +"the sender (From) address, or will use the Administrator account if no " +"system user is found for that address." +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:52 +#, python-format +msgid "And" +msgstr "" + +#. module: mail +#: field:mail.compose.message,message_id:0 +#: field:mail.message,message_id:0 +msgid "Message-Id" +msgstr "" + +#. module: mail +#: help:mail.group,image:0 +msgid "" +"This field holds the image used as photo for the group, limited to " +"1024x1024px." +msgstr "" + +#. module: mail +#: field:mail.compose.message,attachment_ids:0 +#: view:mail.mail:0 +#: field:mail.message,attachment_ids:0 +msgid "Attachments" +msgstr "" + +#. module: mail +#: field:mail.compose.message,record_name:0 +#: field:mail.message,record_name:0 +msgid "Message Record Name" +msgstr "" + +#. module: mail +#: field:mail.mail,email_cc:0 +msgid "Cc" +msgstr "" + +#. module: mail +#: help:mail.notification,starred:0 +msgid "Starred message that goes into the todo mailbox" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:125 +#: view:mail.compose.message:0 +#, python-format +msgid "Followers of" +msgstr "" + +#. module: mail +#: help:mail.mail,auto_delete:0 +msgid "Permanently delete this email after sending it, to save space" +msgstr "" + +#. module: mail +#: model:ir.actions.client,name:mail.action_mail_group_feeds +msgid "Discussion Group" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:242 +#, python-format +msgid "Done" +msgstr "" + +#. module: mail +#: model:mail.message.subtype,name:mail.mt_comment +msgid "Discussions" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:11 +#, python-format +msgid "Follow" +msgstr "" + +#. module: mail +#: field:mail.group,name:0 +msgid "Name" +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_all_employees +msgid "Whole Company" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:131 +#: code:addons/mail/static/src/xml/mail.xml:278 +#: view:mail.compose.message:0 +#, python-format +msgid "and" +msgstr "" + +#. module: mail +#: help:mail.mail,body_html:0 +msgid "Rich-text/HTML message" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Creation Month" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:306 +#, python-format +msgid "Compose new Message" +msgstr "" + +#. module: mail +#: field:mail.group,menu_id:0 +msgid "Related Menu" +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Content" +msgstr "" + +#. module: mail +#: field:mail.mail,email_to:0 +msgid "To" +msgstr "" + +#. module: mail +#: field:mail.compose.message,notified_partner_ids:0 +#: field:mail.message,notified_partner_ids:0 +msgid "Notified partners" +msgstr "" + +#. module: mail +#: help:mail.group,public:0 +msgid "" +"This group is visible by non members. Invisible groups can add " +"members through the invite button." +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_board +msgid "Board meetings" +msgstr "" + +#. module: mail +#: constraint:mail.alias:0 +msgid "" +"Invalid expression, it must be a literal python dictionary definition e.g. " +"\"{'field': 'value'}\"" +msgstr "" + +#. module: mail +#: field:mail.alias,alias_model_id:0 +msgid "Aliased Model" +msgstr "" + +#. module: mail +#: help:mail.compose.message,message_id:0 +#: help:mail.message,message_id:0 +msgid "Message unique identifier" +msgstr "" + +#. module: mail +#: field:mail.group,description:0 +#: field:mail.message.subtype,description:0 +msgid "Description" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_followers +msgid "Document Followers" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:35 +#, python-format +msgid "Remove this follower" +msgstr "" + +#. module: mail +#: selection:res.partner,notification_email_send:0 +msgid "Never" +msgstr "" + +#. module: mail +#: field:mail.mail,mail_server_id:0 +msgid "Outgoing mail server" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_message.py:919 +#, python-format +msgid "Partners email addresses not found" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +#: selection:mail.mail,state:0 +msgid "Sent" +msgstr "" + +#. module: mail +#: field:mail.mail,body_html:0 +msgid "Rich-text Contents" +msgstr "" + +#. module: mail +#: help:mail.compose.message,to_read:0 +#: help:mail.message,to_read:0 +msgid "Current user has an unread notification linked to this message" +msgstr "" + +#. module: mail +#: help:res.partner,notification_email_send:0 +msgid "" +"Choose in which case you want to receive an email when you receive new feeds." +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_groups +#: model:ir.ui.menu,name:mail.mail_allgroups +msgid "Join a group" +msgstr "" + +#. module: mail +#: model:ir.actions.client,help:mail.action_mail_group_feeds +msgid "" +"

\n" +" No message in this group.\n" +"

\n" +" " +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:213 +#, python-format +msgid "Please, wait while the file is uploading." +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "" +"This group is visible by everyone,\n" +" including your customers if you " +"installed\n" +" the portal module." +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:243 +#, python-format +msgid "Set back to Todo" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:128 +#, python-format +msgid "this document" +msgstr "" + +#. module: mail +#: field:mail.compose.message,filter_id:0 +msgid "Filters" +msgstr "" + +#. module: mail +#: field:res.partner,notification_email_send:0 +msgid "Receive Feeds by Email" +msgstr "" + +#. module: mail +#: help:base.config.settings,alias_domain:0 +msgid "" +"If you have setup a catch-all email domain redirected to the OpenERP server, " +"enter the domain name here." +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_mail_message +#: model:ir.ui.menu,name:mail.menu_mail_message +#: field:mail.group,message_ids:0 +#: view:mail.message:0 +#: field:mail.thread,message_ids:0 +#: field:res.partner,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:141 +#, python-format +msgid "others..." +msgstr "" + +#. module: mail +#: model:ir.actions.client,name:mail.action_mail_star_feeds +#: model:ir.ui.menu,name:mail.mail_starfeeds +msgid "To-do" +msgstr "" + +#. module: mail +#: view:mail.alias:0 +#: field:mail.alias,alias_name:0 +#: field:mail.group,alias_id:0 +#: field:res.users,alias_id:0 +msgid "Alias" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_mail +msgid "Outgoing Mails" +msgstr "" + +#. module: mail +#: help:mail.compose.message,notification_ids:0 +#: help:mail.message,notification_ids:0 +msgid "" +"Technical field holding the message notifications. Use notified_partner_ids " +"to access notified partners." +msgstr "" + +#. module: mail +#: model:ir.ui.menu,name:mail.mail_feeds +#: model:ir.ui.menu,name:mail.mail_feeds_main +msgid "Messaging" +msgstr "" + +#. module: mail +#: view:mail.alias:0 +#: field:mail.message.subtype,res_model:0 +msgid "Model" +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Unread" +msgstr "" + +#. module: mail +#: help:mail.followers,subtype_ids:0 +msgid "" +"Message subtypes followed, meaning subtypes that will be pushed onto the " +"user's Wall." +msgstr "" + +#. module: mail +#: help:mail.group,message_ids:0 +#: help:mail.thread,message_ids:0 +#: help:res.partner,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: mail +#: help:mail.mail,references:0 +msgid "Message references, such as identifiers of previous messages" +msgstr "" + +#. module: mail +#: field:mail.compose.message,composition_mode:0 +msgid "Composition mode" +msgstr "" + +#. module: mail +#: field:mail.compose.message,model:0 +#: field:mail.followers,res_model:0 +#: field:mail.message,model:0 +#: field:mail.wizard.invite,res_model:0 +msgid "Related Document Model" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:321 +#, python-format +msgid "unlike" +msgstr "" + +#. module: mail +#: help:mail.compose.message,author_id:0 +#: help:mail.message,author_id:0 +msgid "" +"Author of the message. If not set, email_from may hold an email address that " +"did not match any partner." +msgstr "" + +#. module: mail +#: help:mail.mail,email_cc:0 +msgid "Carbon copy message recipients" +msgstr "" + +#. module: mail +#: field:mail.alias,alias_domain:0 +msgid "Alias domain" +msgstr "" + +#. module: mail +#: code:addons/mail/update.py:93 +#, python-format +msgid "Error during communication with the publisher warranty server." +msgstr "" + +#. module: mail +#: selection:mail.group,public:0 +msgid "Private" +msgstr "" + +#. module: mail +#: model:ir.actions.client,help:mail.action_mail_star_feeds +msgid "" +"

\n" +" No todo.\n" +"

\n" +" When you process messages in your inbox, you can mark " +"some\n" +" as todo. From this menu, you can process all your " +"todo.\n" +"

\n" +" " +msgstr "" + +#. module: mail +#: selection:mail.mail,state:0 +msgid "Delivery Failed" +msgstr "" + +#. module: mail +#: field:mail.compose.message,partner_ids:0 +msgid "Additional contacts" +msgstr "" + +#. module: mail +#: help:mail.compose.message,parent_id:0 +#: help:mail.message,parent_id:0 +msgid "Initial thread message." +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_hr_policies +msgid "HR Policies" +msgstr "" + +#. module: mail +#: selection:res.partner,notification_email_send:0 +msgid "Emails only" +msgstr "" + +#. module: mail +#: model:ir.actions.client,name:mail.action_mail_inbox_feeds +#: model:ir.ui.menu,name:mail.mail_inboxfeeds +msgid "Inbox" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:58 +#, python-format +msgid "File" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/many2many_tags_email.js:63 +#, python-format +msgid "Please complete partner's informations and Email" +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_message_subtype +#: model:ir.ui.menu,name:mail.menu_message_subtype +msgid "Subtypes" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_alias +msgid "Email Aliases" +msgstr "" + +#. module: mail +#: field:mail.group,image_small:0 +msgid "Small-sized photo" +msgstr "" + +#. module: mail +#: help:mail.mail,reply_to:0 +msgid "Preferred response address for the message" +msgstr "" diff --git a/addons/mail/mail_alias.py b/addons/mail/mail_alias.py index d9c49d833ab..d5e3b675b56 100644 --- a/addons/mail/mail_alias.py +++ b/addons/mail/mail_alias.py @@ -186,10 +186,13 @@ class mail_alias(osv.Model): def create_unique_alias(self, cr, uid, vals, model_name=None, context=None): """Creates an email.alias record according to the values provided in ``vals``, with 2 alterations: the ``alias_name`` value may be suffixed in order to - make it unique, and the ``alias_model_id`` value will set to the - model ID of the ``model_name`` value, if provided, + make it unique (and certain unsafe characters replaced), and + he ``alias_model_id`` value will set to the model ID of the ``model_name`` + value, if provided, """ - alias_name = re.sub(r'[^\w+]', '-', remove_accents(vals['alias_name'])).lower() + # when an alias name appears to already be an email, we keep the local part only + alias_name = remove_accents(vals['alias_name']).lower().split('@')[0] + alias_name = re.sub(r'[^\w+.]+', '-', alias_name) alias_name = self._find_unique(cr, uid, alias_name, context=context) vals['alias_name'] = alias_name if model_name: diff --git a/addons/mail/mail_followers.py b/addons/mail/mail_followers.py index aa23e418d35..450b81dabbf 100644 --- a/addons/mail/mail_followers.py +++ b/addons/mail/mail_followers.py @@ -95,6 +95,9 @@ class mail_notification(osv.Model): # Do not send to partners without email address defined if not partner.email: continue + # Do not send to partners having same email address than the author (can cause loops or bounce effect due to messy database) + if message.author_id and message.author_id.email == partner.email: + continue # Partner does not want to receive any emails or is opt-out if partner.notification_email_send == 'none': continue @@ -136,10 +139,10 @@ class mail_notification(osv.Model): company = user.company_id.website and "%s" % (user.company_id.website, user.company_id.name) or user.company_id.name else: company = user.name - signature_company = _('Send by %(company)s using %(openerp)s.' % { + signature_company = _('Send by %(company)s using %(openerp)s.') % { 'company': company, 'openerp': "OpenERP" - }) + } footer = tools.append_content_to_html(footer, signature_company, plaintext=False, container_tag='div') return footer @@ -186,11 +189,16 @@ class mail_notification(osv.Model): signature_company = self.get_signature_footer(cr, uid, user_id, res_model=msg.model, res_id=msg.res_id, context=context) body_html = tools.append_content_to_html(body_html, signature_company, plaintext=False, container_tag='div') + references = False + if msg.parent_id: + references = msg.parent_id.message_id + mail_values = { 'mail_message_id': msg.id, 'auto_delete': True, 'body_html': body_html, - 'recipient_ids': [(4, id) for id in notify_partner_ids] + 'recipient_ids': [(4, id) for id in notify_partner_ids], + 'references': references, } if msg.email_from: mail_values['email_from'] = msg.email_from diff --git a/addons/mail/mail_mail.py b/addons/mail/mail_mail.py index 43d0d707699..c5a7e227465 100644 --- a/addons/mail/mail_mail.py +++ b/addons/mail/mail_mail.py @@ -21,6 +21,7 @@ import base64 import logging +import re from urllib import urlencode from urlparse import urljoin @@ -96,9 +97,19 @@ class mail_mail(osv.Model): return values.get('reply_to') email_reply_to = False + # model, res_id: comes from values OR related message + model = values.get('model') + res_id = values.get('res_id') + if values.get('mail_message_id') and (not model or not res_id): + message = self.pool.get('mail.message').browse(cr, uid, values.get('mail_message_id'), context=context) + if not model: + model = message.model + if not res_id: + res_id = message.res_id + # if model and res_id: try to use ``message_get_reply_to`` that returns the document alias - if values.get('model') and values.get('res_id') and hasattr(self.pool.get(values.get('model')), 'message_get_reply_to'): - email_reply_to = self.pool.get(values.get('model')).message_get_reply_to(cr, uid, [values.get('res_id')], context=context)[0] + if model and res_id and hasattr(self.pool.get(model), 'message_get_reply_to'): + email_reply_to = self.pool.get(model).message_get_reply_to(cr, uid, [res_id], context=context)[0] # no alias reply_to -> reply_to will be the email_from, only the email part if not email_reply_to and values.get('email_from'): emails = tools.email_split(values.get('email_from')) @@ -106,10 +117,13 @@ class mail_mail(osv.Model): email_reply_to = emails[0] # format 'Document name ' - if email_reply_to and values.get('model') and values.get('res_id'): - document_name = self.pool.get(values.get('model')).name_get(cr, SUPERUSER_ID, [values.get('res_id')], context=context)[0] + if email_reply_to and model and res_id: + document_name = self.pool.get(model).name_get(cr, SUPERUSER_ID, [res_id], context=context)[0] if document_name: - email_reply_to = _('Followers of %s <%s>') % (document_name[1], email_reply_to) + # sanitize document name + sanitized_doc_name = re.sub(r'[^\w+.]+', '-', document_name[1]) + # generate reply to + email_reply_to = _('"Followers of %s" <%s>') % (sanitized_doc_name, email_reply_to) return email_reply_to @@ -242,7 +256,7 @@ class mail_mail(osv.Model): body = self.send_get_mail_body(cr, uid, mail, partner=partner, context=context) subject = self.send_get_mail_subject(cr, uid, mail, partner=partner, context=context) body_alternative = tools.html2plaintext(body) - email_to = [partner.email] if partner else tools.email_split(mail.email_to) + email_to = ['%s <%s>' % (partner.name, partner.email)] if partner else tools.email_split(mail.email_to) return { 'body': body, 'body_alternative': body_alternative, diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py index b8bd028289f..778d7d53bd1 100644 --- a/addons/mail/mail_thread.py +++ b/addons/mail/mail_thread.py @@ -416,9 +416,15 @@ class mail_thread(osv.AbstractModel): def _message_find_partners(self, cr, uid, message, header_fields=['From'], context=None): """ Find partners related to some header fields of the message. """ + partner_obj = self.pool.get('res.partner') + partner_ids = [] s = ', '.join([decode(message.get(h)) for h in header_fields if message.get(h)]) - return [partner_id for email in tools.email_split(s) - for partner_id in self.pool.get('res.partner').search(cr, uid, [('email', 'ilike', email)], limit=1, context=context)] + for email_address in tools.email_split(s): + related_partners = partner_obj.search(cr, uid, [('email', 'ilike', email_address), ('user_ids', '!=', False)], limit=1, context=context) + if not related_partners: + related_partners = partner_obj.search(cr, uid, [('email', 'ilike', email_address)], limit=1, context=context) + partner_ids += related_partners + return partner_ids def _message_find_user_id(self, cr, uid, message, context=None): from_local_part = tools.email_split(decode(message.get('From')))[0] @@ -527,6 +533,11 @@ class mail_thread(osv.AbstractModel): # Legacy: fallback to matching [ID] in the Subject match = tools.res_re.search(decode_header(message, 'Subject')) thread_id = match and match.group(1) + # Convert into int (bug spotted in 7.0 because of str) + try: + thread_id = int(thread_id) + except: + thread_id = False assert thread_id and hasattr(model_pool, 'message_update') or hasattr(model_pool, 'message_new'), \ "No possible route found for incoming message with Message-Id %s. " \ "Create an appropriate mail.alias or force the destination model." % message_id @@ -929,6 +940,22 @@ class mail_thread(osv.AbstractModel): model = False if thread_id: model = context.get('thread_model', self._name) if self._name == 'mail.thread' else self._name + if model != self._name: + del context['thread_model'] + return self.pool.get(model).message_post(cr, uid, thread_id, body=body, subject=subject, type=type, subtype=subtype, parent_id=parent_id, attachments=attachments, context=context, content_subtype=content_subtype, **kwargs) + + # 0: Parse email-from, try to find a better author_id based on document's followers for incoming emails + email_from = kwargs.get('email_from') + if email_from and thread_id and type == 'email' and kwargs.get('author_id'): + email_list = tools.email_split(email_from) + doc = self.browse(cr, uid, thread_id, context=context) + if email_list and doc: + author_ids = self.pool.get('res.partner').search(cr, uid, [ + ('email', 'ilike', email_list[0]), + ('id', 'in', [f.id for f in doc.message_follower_ids]) + ], limit=1, context=context) + if author_ids: + kwargs['author_id'] = author_ids[0] # 1: Handle content subtype: if plaintext, converto into HTML if content_subtype == 'plaintext': diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js index f6e098b466d..ad69f7e41c3 100644 --- a/addons/mail/static/src/js/mail.js +++ b/addons/mail/static/src/js/mail.js @@ -688,6 +688,10 @@ openerp.mail = function (session) { on_message_post: function (event) { var self = this; + if (self.flag_post) { + return; + } + self.flag_post = true; if (this.do_check_attachment_upload() && (this.attachment_ids.length || this.$('textarea').val().match(/\S+/))) { if (this.is_log) { this.do_send_message_post([], this.is_log); @@ -735,6 +739,7 @@ openerp.mail = function (session) { thread.insert_message( message, root ? undefined : self.$el, root ); }); self.on_cancel(); + self.flag_post = false; }); }, @@ -910,9 +915,6 @@ openerp.mail = function (session) { // read messages self.parent_thread.message_fetch(this.domain, this.context, false, function (arg, data) { - if (self.options.root_thread == self.parent_thread) { - data.reverse(); - } self.id = false; // insert the message on dom after this message self.parent_thread.switch_new_message( data, self.$el ); @@ -1212,7 +1214,7 @@ openerp.mail = function (session) { this.partner_ids = datasets.partner_ids; this.messages = []; - this.options.flat_mode = !!(this.options.display_indented_thread > this.thread_level ? this.options.display_indented_thread - this.thread_level : 0); + this.options.flat_mode = (this.options.display_indented_thread - this.thread_level > 0); // object compose message this.compose_message = false; @@ -1434,8 +1436,8 @@ openerp.mail = function (session) { create_message_object: function (data) { var self = this; - var data = _.extend(data, {'thread_level': data.thread_level ? data.thread_level : self.thread_level}); - data.options = _.extend(self.options, data.options); + data.thread_level = self.thread_level || 0; + data.options = _.extend(data.options || {}, self.options); if (data.type=='expandable') { var message = new mail.ThreadExpandable(self, data, {'context':{ @@ -1480,8 +1482,7 @@ openerp.mail = function (session) { } this.$('.oe_view_nocontent').remove(); - - if (dom_insert_after) { + if (dom_insert_after && dom_insert_after.parent()[0] == self.$el[0]) { message.insertAfter(dom_insert_after); } else if (prepend) { message.prependTo(self.$el); @@ -1500,6 +1501,7 @@ openerp.mail = function (session) { */ switch_new_message: function (records, dom_insert_after) { var self=this; + var dom_insert_after = typeof dom_insert_after == 'object' ? dom_insert_after : false; _(records).each(function (record) { var thread = self.browse_thread({ 'id': record.parent_id, @@ -1508,7 +1510,7 @@ openerp.mail = function (session) { // create object and attach to the thread object var message = thread.create_message_object( record ); // insert the message on dom - thread.insert_message( message, typeof dom_insert_after == 'object' ? dom_insert_after : false); + thread.insert_message( message, dom_insert_after); }); if (!records.length && this.options.root_thread == this) { this.no_message(); diff --git a/addons/mail/tests/__init__.py b/addons/mail/tests/__init__.py index b945da54655..ff1080b0580 100644 --- a/addons/mail/tests/__init__.py +++ b/addons/mail/tests/__init__.py @@ -19,11 +19,12 @@ # ############################################################################## -from . import test_mail_message, test_mail_features, test_message_read, test_invite +from . import test_mail_message, test_mail_features, test_mail_gateway, test_message_read, test_invite checks = [ test_mail_message, test_mail_features, + test_mail_gateway, test_message_read, test_invite, ] diff --git a/addons/mail/tests/test_mail_base.py b/addons/mail/tests/test_mail_base.py index fb53220ef1f..a3b90288f0b 100644 --- a/addons/mail/tests/test_mail_base.py +++ b/addons/mail/tests/test_mail_base.py @@ -70,9 +70,9 @@ class TestMailBase(common.TransactionCase): # Test users to use through the various tests self.user_raoul_id = self.res_users.create(cr, uid, - {'name': 'Raoul Grosbedon', 'signature': 'Raoul', 'email': 'raoul@raoul.fr', 'login': 'raoul', 'groups_id': [(6, 0, [self.group_employee_id])]}) + {'name': 'Raoul Grosbedon', 'signature': 'SignRaoul', 'email': 'raoul@raoul.fr', 'login': 'raoul', 'groups_id': [(6, 0, [self.group_employee_id])]}) self.user_bert_id = self.res_users.create(cr, uid, - {'name': 'Bert Tartignole', 'signature': 'Bert', 'email': 'bert@bert.fr', 'login': 'bert', 'groups_id': [(6, 0, [])]}) + {'name': 'Bert Tartignole', 'signature': 'SignBert', 'email': 'bert@bert.fr', 'login': 'bert', 'groups_id': [(6, 0, [])]}) self.user_raoul = self.res_users.browse(cr, uid, self.user_raoul_id) self.user_bert = self.res_users.browse(cr, uid, self.user_bert_id) self.user_admin = self.res_users.browse(cr, uid, uid) diff --git a/addons/mail/tests/test_mail_features.py b/addons/mail/tests/test_mail_features.py index da7f2ae351c..2d0019c0b8a 100644 --- a/addons/mail/tests/test_mail_features.py +++ b/addons/mail/tests/test_mail_features.py @@ -22,164 +22,29 @@ from openerp.addons.mail.tests.test_mail_base import TestMailBase from openerp.tools.mail import html_sanitize -MAIL_TEMPLATE = """Return-Path: -To: {to} -Received: by mail1.openerp.com (Postfix, from userid 10002) - id 5DF9ABFB2A; Fri, 10 Aug 2012 16:16:39 +0200 (CEST) -From: Sylvie Lelitre -Subject: {subject} -MIME-Version: 1.0 -Content-Type: multipart/alternative; - boundary="----=_Part_4200734_24778174.1344608186754" -Date: Fri, 10 Aug 2012 14:16:26 +0000 -Message-ID: <1198923581.41972151344608186760.JavaMail@agrolait.com> -{extra} -------=_Part_4200734_24778174.1344608186754 -Content-Type: text/plain; charset=utf-8 -Content-Transfer-Encoding: quoted-printable - -Please call me as soon as possible this afternoon! - --- -Sylvie -------=_Part_4200734_24778174.1344608186754 -Content-Type: text/html; charset=utf-8 -Content-Transfer-Encoding: quoted-printable - - - - =20 - - =20 - =20 - -

Please call me as soon as possible this afternoon!

- -

--
- Sylvie -

- - -------=_Part_4200734_24778174.1344608186754-- -""" - -MAIL_TEMPLATE_PLAINTEXT = """Return-Path: -To: {to} -Received: by mail1.openerp.com (Postfix, from userid 10002) - id 5DF9ABFB2A; Fri, 10 Aug 2012 16:16:39 +0200 (CEST) -From: Sylvie Lelitre -Subject: {subject} -MIME-Version: 1.0 -Content-Type: text/plain -Date: Fri, 10 Aug 2012 14:16:26 +0000 -Message-ID: {msg_id} -{extra} - -Please call me as soon as possible this afternoon! - --- -Sylvie -""" - class test_mail(TestMailBase): - - def test_00_message_process(self): - """ Testing incoming emails processing. """ - cr, uid, user_raoul = self.cr, self.uid, self.user_raoul - - # groups@.. will cause the creation of new mail groups - self.mail_group_model_id = self.ir_model.search(cr, uid, [('model', '=', 'mail.group')])[0] - self.mail_alias.create(cr, uid, {'alias_name': 'groups', 'alias_model_id': self.mail_group_model_id}) - - # Incoming mail creates a new mail_group "frogs" - self.assertEqual(self.mail_group.search(cr, uid, [('name', '=', 'frogs')]), []) - mail_frogs = MAIL_TEMPLATE.format(to='groups@example.com, other@gmail.com', subject='frogs', extra='') - self.mail_thread.message_process(cr, uid, None, mail_frogs) - frog_groups = self.mail_group.search(cr, uid, [('name', '=', 'frogs')]) - self.assertTrue(len(frog_groups) == 1) - - # Previously-created group can be emailed now - it should have an implicit alias group+frogs@... - frog_group = self.mail_group.browse(cr, uid, frog_groups[0]) - group_messages = frog_group.message_ids - self.assertTrue(len(group_messages) == 1, 'New group should only have the original message') - mail_frog_news = MAIL_TEMPLATE.format(to='Friendly Frogs ', subject='news', extra='') - self.mail_thread.message_process(cr, uid, None, mail_frog_news) - frog_group.refresh() - self.assertTrue(len(frog_group.message_ids) == 2, 'Group should contain 2 messages now') - - # Even with a wrong destination, a reply should end up in the correct thread - mail_reply = MAIL_TEMPLATE.format(to='erroneous@example.com>', subject='Re: news', - extra='In-Reply-To: <12321321-openerp-%d-mail.group@example.com>\n' % frog_group.id) - self.mail_thread.message_process(cr, uid, None, mail_reply) - frog_group.refresh() - self.assertTrue(len(frog_group.message_ids) == 3, 'Group should contain 3 messages now') - - # No model passed and no matching alias must raise - mail_spam = MAIL_TEMPLATE.format(to='noone@example.com', subject='spam', extra='') - self.assertRaises(Exception, - self.mail_thread.message_process, - cr, uid, None, mail_spam) - - # plain text content should be wrapped and stored as html - test_msg_id = '' - mail_text = MAIL_TEMPLATE_PLAINTEXT.format(to='groups@example.com', subject='frogs', extra='', msg_id=test_msg_id) - self.mail_thread.message_process(cr, uid, None, mail_text) - new_mail = self.mail_message.browse(cr, uid, self.mail_message.search(cr, uid, [('message_id', '=', test_msg_id)])[0]) - self.assertEqual(new_mail.body, '

\nPlease call me as soon as possible this afternoon!\n\n--\nSylvie\n
', - 'plaintext mail incorrectly parsed') - - # Do: post a new message, with a known partner - test_msg_id = '' - TEMPLATE_MOD = MAIL_TEMPLATE_PLAINTEXT.replace('Sylvie Lelitre ', user_raoul.email) - mail_new = TEMPLATE_MOD.format(to='Friendly Frogs ', subject='extra news', extra='', msg_id=test_msg_id) - self.mail_thread.message_process(cr, uid, None, mail_new) - new_mail = self.mail_message.browse(cr, uid, self.mail_message.search(cr, uid, [('message_id', '=', test_msg_id)])[0]) - # Test: author_id set, not email_from - self.assertEqual(new_mail.author_id, user_raoul.partner_id, 'message process wrong author found') - self.assertEqual(new_mail.email_from, user_raoul.email, 'message process wrong email_from') - - # Do: post a new message, with a unknown partner - test_msg_id = '' - TEMPLATE_MOD = MAIL_TEMPLATE_PLAINTEXT.replace('Sylvie Lelitre ', '_abcd_') - mail_new = TEMPLATE_MOD.format(to='Friendly Frogs ', subject='super news', extra='', msg_id=test_msg_id) - self.mail_thread.message_process(cr, uid, None, mail_new) - new_mail = self.mail_message.browse(cr, uid, self.mail_message.search(cr, uid, [('message_id', '=', test_msg_id)])[0]) - # Test: author_id set, not email_from - self.assertFalse(new_mail.author_id, 'message process shnould not have found a partner for _abcd_ email address') - self.assertIn('_abcd_', new_mail.email_from, 'message process should set en email_from when not finding a partner_id') - - def test_05_thread_parent_resolution(self): - """Verify parent/child relationships are correctly established when processing incoming mails""" + + def test_000_alias_setup(self): + """ Test basic mail.alias setup works, before trying to use them for routing """ cr, uid = self.cr, self.uid - group_pigs = self.mail_group.browse(cr, uid, self.group_pigs_id) - msg1 = group_pigs.message_post(body='My Body', subject='1') - msg2 = group_pigs.message_post(body='My Body', subject='2') - msg1, msg2 = self.mail_message.browse(cr, uid, [msg1, msg2]) - self.assertTrue(msg1.message_id, "New message should have a proper message_id") + self.user_valentin_id = self.res_users.create(cr, uid, + {'name': 'Valentin Cognito', 'email': 'valentin.cognito@gmail.com', 'login': 'valentin.cognito'}) + self.user_valentin = self.res_users.browse(cr, uid, self.user_valentin_id) + self.assertEquals(self.user_valentin.alias_name, self.user_valentin.login, "Login should be used as alias") - # Reply to msg1, make sure the reply is properly attached using the various reply identification mechanisms - # 1. In-Reply-To header - reply_msg = MAIL_TEMPLATE.format(to='Pretty Pigs , other@gmail.com', subject='Re: 1', - extra='In-Reply-To: %s' % msg1.message_id) - self.mail_group.message_process(cr, uid, None, reply_msg) + self.user_pagan_id = self.res_users.create(cr, uid, + {'name': 'Pagan Le Marchant', 'email': 'plmarchant@gmail.com', 'login': 'plmarchant@gmail.com'}) + self.user_pagan = self.res_users.browse(cr, uid, self.user_pagan_id) + self.assertEquals(self.user_pagan.alias_name, 'plmarchant', "If login is an email, the alias should keep only the local part") - # 2. References header - reply_msg2 = MAIL_TEMPLATE.format(to='Pretty Pigs , other@gmail.com', subject='Re: Re: 1', - extra='References: <2233@a.com>\r\n\t<3edss_dsa@b.com> %s' % msg1.message_id) - self.mail_group.message_process(cr, uid, None, reply_msg2) + self.user_barty_id = self.res_users.create(cr, uid, + {'name': 'Bartholomew Ironside', 'email': 'barty@gmail.com', 'login': 'b4r+_#_R3wl$$'}) + self.user_barty = self.res_users.browse(cr, uid, self.user_barty_id) + self.assertEquals(self.user_barty.alias_name, 'b4r+_-_r3wl-', 'Disallowed chars should be replaced by hyphens') - # 3. Subject contains [] + model passed to message+process -> only attached to group, not to mail - reply_msg3 = MAIL_TEMPLATE.format(to='Pretty Pigs , other@gmail.com', - extra='', subject='Re: [%s] 1' % self.group_pigs_id) - self.mail_group.message_process(cr, uid, 'mail.group', reply_msg3) - group_pigs.refresh() - msg1.refresh() - self.assertEqual(5, len(group_pigs.message_ids), 'group should contain 5 messages') - self.assertEqual(2, len(msg1.child_ids), 'msg1 should have 2 children now') - - def test_10_followers_function_field(self): + def test_00_followers_function_field(self): """ Tests designed for the many2many function field 'follower_ids'. We will test to perform writes using the many2many commands 0, 3, 4, 5 and 6. """ @@ -236,7 +101,7 @@ class test_mail(TestMailBase): follower_ids = set([follower.partner_id.id for follower in self.mail_followers.browse(cr, uid, fol_obj_ids)]) self.assertEqual(follower_ids, set([partner_bert_id, user_admin.partner_id.id]), 'Bert and Admin should be the followers of dummy mail.group data') - def test_11_message_followers_and_subtypes(self): + def test_05_message_followers_and_subtypes(self): """ Tests designed for the subscriber API as well as message subtypes """ cr, uid, user_admin, user_raoul, group_pigs = self.cr, self.uid, self.user_admin, self.user_raoul, self.group_pigs # Data: message subtypes @@ -288,7 +153,7 @@ class test_mail(TestMailBase): self.assertTrue(subtype_data['mt_mg_nodef']['followed'], 'Admin should follow mt_mg_nodef in pigs') self.assertTrue(subtype_data['mt_all_nodef']['followed'], 'Admin should follow mt_all_nodef in pigs') - def test_20_message_quote_context(self): + def test_10_message_quote_context(self): """ Tests designed for message_post. """ cr, uid, user_admin, group_pigs = self.cr, self.uid, self.user_admin, self.group_pigs @@ -306,239 +171,396 @@ class test_mail(TestMailBase): self.assertNotIn('First answer, should not be displayed', result, 'Old answer should not be in quote.') self.assertNotIn('My answer I am propagating', result, 'Thread header content should be in quote.') - def test_21_message_post(self): + def test_20_message_post(self): """ Tests designed for message_post. """ cr, uid, user_raoul, group_pigs = self.cr, self.uid, self.user_raoul, self.group_pigs - self.res_users.write(cr, uid, [uid], {'signature': 'Admin', 'email': 'a@a'}) + + # -------------------------------------------------- + # Data creation + # -------------------------------------------------- + # 0 - Update existing users-partners + self.res_users.write(cr, uid, [uid], {'email': 'a@a'}) + self.res_users.write(cr, uid, [self.user_raoul_id], {'email': 'r@r'}) # 1 - Bert Tartopoils, with email, should receive emails for comments and emails p_b_id = self.res_partner.create(cr, uid, {'name': 'Bert Tartopoils', 'email': 'b@b'}) # 2 - Carine Poilvache, with email, should receive emails for emails p_c_id = self.res_partner.create(cr, uid, {'name': 'Carine Poilvache', 'email': 'c@c', 'notification_email_send': 'email'}) # 3 - Dédé Grosbedon, without email, to test email verification; should receive emails for every message - p_d_id = self.res_partner.create(cr, uid, {'name': 'Dédé Grosbedon', 'notification_email_send': 'all'}) - - # Subscribe Raoul, #1, #2 - group_pigs.message_subscribe([self.partner_raoul_id, p_b_id, p_c_id]) - - # Mail data + p_d_id = self.res_partner.create(cr, uid, {'name': 'Dédé Grosbedon', 'email': 'd@d', 'notification_email_send': 'all'}) + # 4 - Attachments + attach1_id = self.ir_attachment.create(cr, user_raoul.id, { + 'name': 'Attach1', 'datas_fname': 'Attach1', + 'datas': 'bWlncmF0aW9uIHRlc3Q=', + 'res_model': 'mail.compose.message', 'res_id': 0}) + attach2_id = self.ir_attachment.create(cr, user_raoul.id, { + 'name': 'Attach2', 'datas_fname': 'Attach2', + 'datas': 'bWlncmF0aW9uIHRlc3Q=', + 'res_model': 'mail.compose.message', 'res_id': 0}) + attach3_id = self.ir_attachment.create(cr, user_raoul.id, { + 'name': 'Attach3', 'datas_fname': 'Attach3', + 'datas': 'bWlncmF0aW9uIHRlc3Q=', + 'res_model': 'mail.compose.message', 'res_id': 0}) + # 5 - Mail data _subject = 'Pigs' _mail_subject = 'Re: %s' % (group_pigs.name) _body1 = '

Pigs rules

' - _mail_body1 = '

Pigs rules

' - _mail_signature1 = '

Raoul

' - _mail_bodyalt1 = 'Pigs rules\n' - _mail_signaturealt1 = '\nRaoul\n' - _body2 = 'Pigs rules' - _mail_body2 = '

Pigs rules

' - _mail_signature2 = '

Raoul

' - _mail_bodyalt2 = 'Pigs rules\n' - _mail_signaturealt2 = '\nRaoul\n' - _attachments = [('First', 'My first attachment'), ('Second', 'My second attachment')] + _body2 = 'Pigs rocks' + _attachments = [ + ('List1', 'My first attachment'), + ('List2', 'My second attachment') + ] - # ---------------------------------------- - # CASE1: post comment, body and subject specified - # ---------------------------------------- + # -------------------------------------------------- + # CASE1: post comment + partners + attachments + # -------------------------------------------------- - # 1. Post a new comment on Pigs + # Data: set alias_domain to see emails with alias + self.registry('ir.config_parameter').set_param(self.cr, self.uid, 'mail.catchall.domain', 'schlouby.fr') + # Data: change Pigs name to test reply_to + self.mail_group.write(cr, uid, [self.group_pigs_id], {'name': '"Pigs" !ù $%-'}) + + # Do: subscribe Raoul + new_follower_ids = [self.partner_raoul_id] + group_pigs.message_subscribe(new_follower_ids) + # Test: group followers = Raoul + uid + group_fids = [follower.id for follower in group_pigs.message_follower_ids] + test_fids = new_follower_ids + [self.partner_admin_id] + self.assertEqual(set(test_fids), set(group_fids), + 'message_subscribe: incorrect followers after subscribe') + + # Do: Raoul message_post on Pigs self._init_mock_build_email() - msg1_id = self.mail_group.message_post(cr, user_raoul.id, self.group_pigs_id, body=_body1, subject=_subject, type='comment', subtype='mt_comment') - message1 = self.mail_message.browse(cr, uid, msg1_id) + msg1_id = self.mail_group.message_post(cr, user_raoul.id, self.group_pigs_id, + body=_body1, subject=_subject, partner_ids=[p_b_id, p_c_id], + attachment_ids=[attach1_id, attach2_id], attachments=_attachments, + type='comment', subtype='mt_comment') + msg = self.mail_message.browse(cr, uid, msg1_id) + msg_message_id = msg.message_id + msg_pids = [partner.id for partner in msg.notified_partner_ids] + msg_aids = [attach.id for attach in msg.attachment_ids] sent_emails = self._build_email_kwargs_list - # Test: mail.mail notifications have been deleted - self.assertFalse(self.mail_mail.search(cr, uid, [('mail_message_id', '=', msg1_id)]), 'mail.mail notifications should have been auto-deleted!') - # Test: mail_message: subject is _subject, body is _body1 (no formatting done) - self.assertEqual(message1.subject, _subject, 'mail.message subject incorrect') - self.assertEqual(message1.body, _body1, 'mail.message body incorrect') - # Test: sent_email: email send by server: correct subject, body, body_alternative - self.assertEqual(len(sent_emails), 2, 'sent_email number of sent emails incorrect') - for sent_email in sent_emails: - self.assertEqual(sent_email['subject'], _subject, 'sent_email subject incorrect') - self.assertIn(_mail_body1, sent_email['body'], 'sent_email body incorrect') - self.assertIn(_mail_signature1, sent_email['body'], 'sent_email body incorrect (no signature)') - self.assertIn("OpenERP", sent_email['body'], 'sent_email body incorrect (no OpenERP company)') - # the html2plaintext uses etree or beautiful soup, so the result may be slighly different - # depending if you have installed beautiful soup. - self.assertIn(_mail_bodyalt1, sent_email['body_alternative'], 'sent_email body_alternative is incorrect') - self.assertIn(_mail_signaturealt1, sent_email['body_alternative'], 'sent_email body_alternative is incorrect (no signature)') - self.assertIn("OpenERP", sent_email['body_alternative'], 'sent_email body incorrect (no OpenERP company)') - # Test: mail_message: notified_partner_ids = group followers - message_pids = set([partner.id for partner in message1.notified_partner_ids]) + + # Test: mail_message: subject and body not modified + self.assertEqual(_subject, msg.subject, 'message_post: mail.message subject incorrect') + self.assertEqual(_body1, msg.body, 'message_post: mail.message body incorrect') + # Test: mail_message: notified_partner_ids = group followers + partner_ids - author test_pids = set([self.partner_admin_id, p_b_id, p_c_id]) - self.assertEqual(test_pids, message_pids, 'mail.message notified partners incorrect') + self.assertEqual(test_pids, set(msg_pids), 'message_post: mail.message notified partners incorrect') + # Test: mail_message: attachments (4, attachment_ids + attachments) + test_aids = set([attach1_id, attach2_id]) + msg_attach_names = set([attach.name for attach in msg.attachment_ids]) + test_attach_names = set(['Attach1', 'Attach2', 'List1', 'List2']) + self.assertEqual(len(msg_aids), 4, + 'message_post: mail.message wrong number of attachments') + self.assertEqual(msg_attach_names, test_attach_names, + 'message_post: mail.message attachments incorrectly added') + self.assertTrue(test_aids.issubset(set(msg_aids)), + 'message_post: mail.message attachments duplicated') + for attach in msg.attachment_ids: + self.assertEqual(attach.res_model, 'mail.group', + 'message_post: mail.message attachments were not linked to the document') + self.assertEqual(attach.res_id, group_pigs.id, + 'message_post: mail.message attachments were not linked to the document') + if 'List' in attach.name: + self.assertIn((attach.name, attach.datas.decode('base64')), _attachments, + 'message_post: mail.message attachment name / data incorrect') + dl_attach = self.mail_message.download_attachment(cr, user_raoul.id, id_message=msg.id, attachment_id=attach.id) + self.assertIn((dl_attach['filename'], dl_attach['base64'].decode('base64')), _attachments, + 'message_post: mail.message download_attachment is incorrect') + + # Test: followers: same as before (author was already subscribed) + group_pigs.refresh() + group_fids = [follower.id for follower in group_pigs.message_follower_ids] + test_fids = new_follower_ids + [self.partner_admin_id] + self.assertEqual(set(test_fids), set(group_fids), + 'message_post: wrong followers after posting') + + # Test: mail_mail: notifications have been deleted + self.assertFalse(self.mail_mail.search(cr, uid, [('mail_message_id', '=', msg1_id)]), + 'message_post: mail.mail notifications should have been auto-deleted!') + + # Test: notifications emails: to a and b, c is email only, r is author + test_emailto = ['Administrator ', 'Bert Tartopoils '] + self.assertEqual(len(sent_emails), 2, + 'message_post: notification emails wrong number of send emails') + self.assertEqual(set([m['email_to'][0] for m in sent_emails]), set(test_emailto), + 'message_post: notification emails wrong recipients (email_to)') + for sent_email in sent_emails: + self.assertEqual(sent_email['email_from'], 'Raoul Grosbedon ', + 'message_post: notification email wrong email_from: should use alias of sender') + self.assertEqual(len(sent_email['email_to']), 1, + 'message_post: notification email sent to more than one email address instead of a precise partner') + self.assertIn(sent_email['email_to'][0], test_emailto, + 'message_post: notification email email_to incorrect') + self.assertEqual(sent_email['reply_to'], '"Followers of -Pigs-" ', + 'message_post: notification email reply_to incorrect') + self.assertEqual(_subject, sent_email['subject'], + 'message_post: notification email subject incorrect') + self.assertIn(_body1, sent_email['body'], + 'message_post: notification email body incorrect') + self.assertIn(user_raoul.signature, sent_email['body'], + 'message_post: notification email body should contain the sender signature') + self.assertIn('Pigs rules', sent_email['body_alternative'], + 'message_post: notification email body alternative should contain the body') + self.assertNotIn('

', sent_email['body_alternative'], + 'message_post: notification email body alternative still contains html') + self.assertIn(user_raoul.signature, sent_email['body_alternative'], + 'message_post: notification email body alternative should contain the sender signature') + self.assertFalse(sent_email['references'], + 'message_post: references should be False when sending a message that is not a reply') + # Test: notification linked to this message = group followers = notified_partner_ids notif_ids = self.mail_notification.search(cr, uid, [('message_id', '=', msg1_id)]) notif_pids = set([notif.partner_id.id for notif in self.mail_notification.browse(cr, uid, notif_ids)]) - self.assertEqual(notif_pids, test_pids, 'mail.message notification partners incorrect') - # Test: sent_email: email_to should contain b@b, not c@c (pref email), not a@a (writer) - for sent_email in sent_emails: - self.assertTrue(set(sent_email['email_to']).issubset(set(['a@a', 'b@b'])), 'sent_email email_to is incorrect') + self.assertEqual(notif_pids, test_pids, + 'message_post: mail.message created mail.notification incorrect') - # ---------------------------------------- - # CASE2: post an email with attachments, parent_id, partner_ids, parent notification - # ---------------------------------------- + # Data: Pigs name back to normal + self.mail_group.write(cr, uid, [self.group_pigs_id], {'name': 'Pigs'}) - # 1. Post a new email comment on Pigs + # -------------------------------------------------- + # CASE2: reply + parent_id + parent notification + # -------------------------------------------------- + + # Data: remove alias_domain to see emails with alias + param_ids = self.registry('ir.config_parameter').search(cr, uid, [('key', '=', 'mail.catchall.domain')]) + self.registry('ir.config_parameter').unlink(cr, uid, param_ids) + + # Do: Raoul message_post on Pigs self._init_mock_build_email() - msg2_id = self.mail_group.message_post(cr, user_raoul.id, self.group_pigs_id, body=_body2, type='email', subtype='mt_comment', - partner_ids=[p_d_id], parent_id=msg1_id, attachments=_attachments, - context={'mail_post_autofollow': True}) - message2 = self.mail_message.browse(cr, uid, msg2_id) + msg2_id = self.mail_group.message_post(cr, user_raoul.id, self.group_pigs_id, + body=_body2, type='email', subtype='mt_comment', + partner_ids=[p_d_id], parent_id=msg1_id, attachment_ids=[attach3_id], + context={'mail_post_autofollow': True}) + msg = self.mail_message.browse(cr, uid, msg2_id) + msg_pids = [partner.id for partner in msg.notified_partner_ids] + msg_aids = [attach.id for attach in msg.attachment_ids] sent_emails = self._build_email_kwargs_list - self.assertFalse(self.mail_mail.search(cr, uid, [('mail_message_id', '=', msg2_id)]), 'mail.mail notifications should have been auto-deleted!') - # Test: mail_message: subject is False, body is _body2 (no formatting done), parent_id is msg_id - self.assertEqual(message2.subject, False, 'mail.message subject incorrect') - self.assertEqual(message2.body, html_sanitize(_body2), 'mail.message body incorrect') - self.assertEqual(message2.parent_id.id, msg1_id, 'mail.message parent_id incorrect') - # Test: sent_email: email send by server: correct automatic subject, body, body_alternative - self.assertEqual(len(sent_emails), 3, 'sent_email number of sent emails incorrect') - for sent_email in sent_emails: - self.assertEqual(sent_email['subject'], _mail_subject, 'sent_email subject incorrect') - self.assertIn(_mail_body2, sent_email['body'], 'sent_email body incorrect') - self.assertIn(_mail_signature2, sent_email['body'], 'sent_email body incorrect (no signature)') - self.assertIn("OpenERP", sent_email['body'], 'sent_email body incorrect (no OpenERP company)') - # body_alternative - self.assertIn(_mail_bodyalt2, sent_email['body_alternative'], 'sent_email body_alternative is incorrect') - self.assertIn(_mail_signaturealt2, sent_email['body_alternative'], 'sent_email body_alternative is incorrect (no signature)') - self.assertIn("OpenERP", sent_email['body'], 'sent_email body incorrect (no OpenERP company)') + + # Test: mail_message: subject is False, body, parent_id is msg_id + self.assertEqual(msg.subject, False, 'message_post: mail.message subject incorrect') + self.assertEqual(msg.body, html_sanitize(_body2), 'message_post: mail.message body incorrect') + self.assertEqual(msg.parent_id.id, msg1_id, 'message_post: mail.message parent_id incorrect') # Test: mail_message: notified_partner_ids = group followers - message_pids = set([partner.id for partner in message2.notified_partner_ids]) - test_pids = set([self.partner_admin_id, p_b_id, p_c_id, p_d_id]) - self.assertEqual(message_pids, test_pids, 'mail.message partners incorrect') - # Test: notifications linked to this message = group followers = notified_partner_ids + test_pids = [self.partner_admin_id, p_d_id] + self.assertEqual(set(test_pids), set(msg_pids), 'message_post: mail.message partners incorrect') + # Test: mail_message: notifications linked to this message = group followers = notified_partner_ids notif_ids = self.mail_notification.search(cr, uid, [('message_id', '=', msg2_id)]) - notif_pids = set([notif.partner_id.id for notif in self.mail_notification.browse(cr, uid, notif_ids)]) - self.assertEqual(notif_pids, test_pids, 'mail.message notification partners incorrect') - # Test: sent_email: email_to should contain b@b, c@c, not a@a (writer) + notif_pids = [notif.partner_id.id for notif in self.mail_notification.browse(cr, uid, notif_ids)] + self.assertEqual(set(test_pids), set(notif_pids), 'message_post: mail.message notification partners incorrect') + + # Test: mail_mail: notifications deleted + self.assertFalse(self.mail_mail.search(cr, uid, [('mail_message_id', '=', msg2_id)]), 'mail.mail notifications should have been auto-deleted!') + + # Test: emails send by server (to a, b, c, d) + test_emailto = [u'Administrator ', u'Bert Tartopoils ', u'Carine Poilvache ', u'D\xe9d\xe9 Grosbedon '] + # self.assertEqual(len(sent_emails), 3, 'sent_email number of sent emails incorrect') for sent_email in sent_emails: - self.assertTrue(set(sent_email['email_to']).issubset(set(['a@a', 'b@b', 'c@c'])), 'sent_email email_to incorrect') - # Test: attachments - for attach in message2.attachment_ids: - self.assertEqual(attach.res_model, 'mail.group', 'mail.message attachment res_model incorrect') - self.assertEqual(attach.res_id, self.group_pigs_id, 'mail.message attachment res_id incorrect') - self.assertIn((attach.name, attach.datas.decode('base64')), _attachments, - 'mail.message attachment name / data incorrect') - # Test: download attachments - for attach in message2.attachment_ids: - dl_attach = self.mail_message.download_attachment(cr, user_raoul.id, id_message=message2.id, attachment_id=attach.id) - self.assertIn((dl_attach['filename'], dl_attach['base64'].decode('base64')), _attachments, 'mail.message download_attachment is incorrect') + self.assertEqual(sent_email['email_from'], 'Raoul Grosbedon ', + 'message_post: notification email wrong email_from: should use email of sender when no alias domain set') + self.assertEqual(len(sent_email['email_to']), 1, + 'message_post: notification email sent to more than one email address instead of a precise partner') + self.assertIn(sent_email['email_to'][0], test_emailto, + 'message_post: notification email email_to incorrect') + self.assertEqual(sent_email['reply_to'], '"Followers of Pigs" ', + 'message_post: notification email reply_to incorrect: should name Followers of Pigs, and have raoul email') + self.assertEqual(_mail_subject, sent_email['subject'], + 'message_post: notification email subject incorrect') + self.assertIn(html_sanitize(_body2), sent_email['body'], + 'message_post: notification email does not contain the body') + self.assertIn(user_raoul.signature, sent_email['body'], + 'message_post: notification email body should contain the sender signature') + self.assertIn('Pigs rocks', sent_email['body_alternative'], + 'message_post: notification email body alternative should contain the body') + self.assertNotIn('

', sent_email['body_alternative'], + 'message_post: notification email body alternative still contains html') + self.assertIn(user_raoul.signature, sent_email['body_alternative'], + 'message_post: notification email body alternative should contain the sender signature') + self.assertIn(msg_message_id, sent_email['references'], + 'message_post: notification email references lacks parent message message_id') + # Test: attachments + download + for attach in msg.attachment_ids: + self.assertEqual(attach.res_model, 'mail.group', + 'message_post: mail.message attachment res_model incorrect') + self.assertEqual(attach.res_id, self.group_pigs_id, + 'message_post: mail.message attachment res_id incorrect') - # 2. Dédé has been notified -> should also have been notified of the parent message - message1.refresh() - message_pids = set([partner.id for partner in message1.notified_partner_ids]) + # Test: Dédé has been notified -> should also have been notified of the parent message + msg = self.mail_message.browse(cr, uid, msg1_id) + msg_pids = set([partner.id for partner in msg.notified_partner_ids]) test_pids = set([self.partner_admin_id, p_b_id, p_c_id, p_d_id]) - self.assertEqual(test_pids, message_pids, 'mail.message parent notification not created') + self.assertEqual(test_pids, msg_pids, 'message_post: mail.message parent notification not created') - # 3. Reply to the last message, check that its parent will be the first message + # Do: reply to last message msg3_id = self.mail_group.message_post(cr, user_raoul.id, self.group_pigs_id, body='Test', parent_id=msg2_id) - message = self.mail_message.browse(cr, uid, msg3_id) - self.assertEqual(message.parent_id.id, msg1_id, 'message_post did not flatten the thread structure') + msg = self.mail_message.browse(cr, uid, msg3_id) + # Test: check that its parent will be the first message + self.assertEqual(msg.parent_id.id, msg1_id, 'message_post did not flatten the thread structure') def test_25_message_compose_wizard(self): """ Tests designed for the mail.compose.message wizard. """ - cr, uid, user_admin, group_pigs = self.cr, self.uid, self.user_admin, self.group_pigs + cr, uid, user_raoul, group_pigs = self.cr, self.uid, self.user_raoul, self.group_pigs mail_compose = self.registry('mail.compose.message') - self.res_users.write(cr, uid, [uid], {'signature': 'Admin', 'email': 'a@a'}) - group_bird_id = self.mail_group.create(cr, uid, {'name': 'Bird', 'description': 'Bird resistance'}, {'mail_create_nolog': True}) - group_bird = self.mail_group.browse(cr, uid, group_bird_id) - # Mail data + # -------------------------------------------------- + # Data creation + # -------------------------------------------------- + # 0 - Update existing users-partners + self.res_users.write(cr, uid, [uid], {'email': 'a@a'}) + self.res_users.write(cr, uid, [self.user_raoul_id], {'email': 'r@r'}) + # 1 - Bert Tartopoils, with email, should receive emails for comments and emails + p_b_id = self.res_partner.create(cr, uid, {'name': 'Bert Tartopoils', 'email': 'b@b'}) + # 2 - Carine Poilvache, with email, should receive emails for emails + p_c_id = self.res_partner.create(cr, uid, {'name': 'Carine Poilvache', 'email': 'c@c', 'notification_email_send': 'email'}) + # 3 - Dédé Grosbedon, without email, to test email verification; should receive emails for every message + p_d_id = self.res_partner.create(cr, uid, {'name': 'Dédé Grosbedon', 'email': 'd@d', 'notification_email_send': 'all'}) + # 4 - Create a Bird mail.group, that will be used to test mass mailing + group_bird_id = self.mail_group.create(cr, uid, + { + 'name': 'Bird', + 'description': 'Bird resistance', + }, context={'mail_create_nolog': True}) + group_bird = self.mail_group.browse(cr, uid, group_bird_id) + # 5 - Mail data _subject = 'Pigs' _body = 'Pigs rule' - _reply_subject = 'Re: Pigs' + _reply_subject = 'Re: %s' % _subject _attachments = [ {'name': 'First', 'datas_fname': 'first.txt', 'datas': 'My first attachment'.encode('base64')}, {'name': 'Second', 'datas_fname': 'second.txt', 'datas': 'My second attachment'.encode('base64')} ] _attachments_test = [('first.txt', 'My first attachment'), ('second.txt', 'My second attachment')] - - # 1 - Bert Tartopoils, with email, should receive emails for comments and emails - p_b_id = self.res_partner.create(cr, uid, {'name': 'Bert Tartopoils', 'email': 'b@b'}) - # 2 - Carine Poilvache, with email, should never receive emails - p_c_id = self.res_partner.create(cr, uid, {'name': 'Carine Poilvache', 'email': 'c@c', 'notification_email_send': 'email'}) - # 3 - Dédé Grosbedon, without email, to test email verification; should receive emails for every message - p_d_id = self.res_partner.create(cr, uid, {'name': 'Dédé Grosbedon', 'email': 'd@d', 'notification_email_send': 'all'}) - - # Subscribe #1 + # 6 - Subscribe Bert to Pigs group_pigs.message_subscribe([p_b_id]) - # ---------------------------------------- - # CASE1: comment on group_pigs - # ---------------------------------------- + # -------------------------------------------------- + # CASE1: wizard + partners + context keys + # -------------------------------------------------- - # 1. Comment group_pigs with body_text and subject - compose_id = mail_compose.create(cr, uid, - {'subject': _subject, 'body': _body, 'partner_ids': [(4, p_c_id), (4, p_d_id)]}, - {'default_composition_mode': 'comment', 'default_model': 'mail.group', 'default_res_id': self.group_pigs_id, - 'default_content_subtype': 'plaintext'}) + # Do: Raoul wizard-composes on Pigs with auto-follow for partners, not for author + compose_id = mail_compose.create(cr, user_raoul.id, + { + 'subject': _subject, + 'body': _body, + 'partner_ids': [(4, p_c_id), (4, p_d_id)], + }, context={ + 'default_composition_mode': 'comment', + 'default_model': 'mail.group', + 'default_res_id': self.group_pigs_id, + }) compose = mail_compose.browse(cr, uid, compose_id) - # Test: mail.compose.message: composition_mode, model, res_id - self.assertEqual(compose.composition_mode, 'comment', 'mail.compose.message incorrect composition_mode') - self.assertEqual(compose.model, 'mail.group', 'mail.compose.message incorrect model') - self.assertEqual(compose.res_id, self.group_pigs_id, 'mail.compose.message incorrect res_id') - # 2. Post the comment, get created message - mail_compose.send_mail(cr, uid, [compose_id], {'mail_post_autofollow': True}) + # Test: mail.compose.message: composition_mode, model, res_id + self.assertEqual(compose.composition_mode, 'comment', 'compose wizard: mail.compose.message incorrect composition_mode') + self.assertEqual(compose.model, 'mail.group', 'compose wizard: mail.compose.message incorrect model') + self.assertEqual(compose.res_id, self.group_pigs_id, 'compose wizard: mail.compose.message incorrect res_id') + + # Do: Post the comment + mail_compose.send_mail(cr, user_raoul.id, [compose_id], {'mail_post_autofollow': True, 'mail_create_nosubscribe': True}) group_pigs.refresh() message = group_pigs.message_ids[0] - # Test: mail.message: subject, body inside pre - self.assertEqual(message.subject, _subject, 'mail.message incorrect subject') - self.assertEqual(message.body, '

%s

' % _body, 'mail.message incorrect body') - # Test: mail.message: notified_partner_ids = entries in mail.notification: group_pigs fans (a, b) + mail.compose.message partner_ids (c, d) + + # Test: mail.group: followers (c and d added by auto follow key; raoul not added by nosubscribe key) + pigs_pids = [p.id for p in group_pigs.message_follower_ids] + test_pids = [self.partner_admin_id, p_b_id, p_c_id, p_d_id] + self.assertEqual(set(pigs_pids), set(test_pids), + 'compose wizard: mail_post_autofollow and mail_create_nosubscribe context keys not correctly taken into account') + + # Test: mail.message: subject, body inside p + self.assertEqual(message.subject, _subject, 'compose wizard: mail.message incorrect subject') + self.assertEqual(message.body, '

%s

' % _body, 'compose wizard: mail.message incorrect body') + # Test: mail.message: notified_partner_ids = admin + bert (followers) + c + d (recipients) msg_pids = [partner.id for partner in message.notified_partner_ids] - test_pids = [p_b_id, p_c_id, p_d_id] - notif_ids = self.mail_notification.search(cr, uid, [('message_id', '=', message.id)]) - self.assertEqual(len(notif_ids), 3, 'mail.message: too much notifications created') - self.assertEqual(set(msg_pids), set(test_pids), 'mail.message notified_partner_ids incorrect') + test_pids = [self.partner_admin_id, p_b_id, p_c_id, p_d_id] + self.assertEqual(set(msg_pids), set(test_pids), + 'compose wizard: mail.message notified_partner_ids incorrect') - # ---------------------------------------- - # CASE2: reply to last comment with attachments - # ---------------------------------------- + # -------------------------------------------------- + # CASE2: reply + attachments + # -------------------------------------------------- - # 1. Update last comment subject, reply with attachments - message.write({'subject': _subject}) - compose_id = mail_compose.create(cr, uid, - {'attachment_ids': [(0, 0, _attachments[0]), (0, 0, _attachments[1])]}, - {'default_composition_mode': 'reply', 'default_model': 'mail.thread', 'default_res_id': self.group_pigs_id, 'default_parent_id': message.id}) + # Do: Reply with attachments + compose_id = mail_compose.create(cr, user_raoul.id, + { + 'attachment_ids': [(0, 0, _attachments[0]), (0, 0, _attachments[1])] + }, context={ + 'default_composition_mode': 'reply', + 'default_model': 'mail.thread', + 'default_res_id': self.group_pigs_id, + 'default_parent_id': message.id + }) compose = mail_compose.browse(cr, uid, compose_id) - # Test: model, res_id, parent_id - self.assertEqual(compose.model, 'mail.group', 'mail.compose.message incorrect model') - self.assertEqual(compose.res_id, self.group_pigs_id, 'mail.compose.message incorrect res_id') - self.assertEqual(compose.parent_id.id, message.id, 'mail.compose.message incorrect parent_id') - # Test: mail.message: subject as Re:.., body in html, parent_id - self.assertEqual(compose.subject, _reply_subject, 'mail.message incorrect subject') - # self.assertIn('Administrator wrote:
Pigs rules
', compose.body, 'mail.message body is incorrect') - self.assertEqual(compose.parent_id and compose.parent_id.id, message.id, 'mail.message parent_id incorrect') - # Test: mail.message: attachments + + # Test: mail.compose.message: model, res_id, parent_id + self.assertEqual(compose.model, 'mail.group', 'compose wizard: mail.compose.message incorrect model') + self.assertEqual(compose.res_id, self.group_pigs_id, 'compose wizard: mail.compose.message incorrect res_id') + self.assertEqual(compose.parent_id.id, message.id, 'compose wizard: mail.compose.message incorrect parent_id') + + # Test: mail.compose.message: subject as Re:.., body, parent_id + self.assertEqual(compose.subject, _reply_subject, 'compose wizard: mail.compose.message incorrect subject') + self.assertFalse(compose.body, 'compose wizard: mail.compose.message body should not contain parent message body') + self.assertEqual(compose.parent_id and compose.parent_id.id, message.id, 'compose wizard: mail.compose.message parent_id incorrect') + # Test: mail.compose.message: attachments for attach in compose.attachment_ids: - self.assertIn((attach.datas_fname, attach.datas.decode('base64')), _attachments_test, 'mail.message attachment name / data incorrect') + self.assertIn((attach.datas_fname, attach.datas.decode('base64')), _attachments_test, + 'compose wizard: mail.message attachment name / data incorrect') - # ---------------------------------------- + # -------------------------------------------------- # CASE3: mass_mail on Pigs and Bird - # ---------------------------------------- + # -------------------------------------------------- - # 1. mass_mail on pigs and bird - compose_id = mail_compose.create(cr, uid, - {'subject': _subject, 'body': '${object.description}'}, - {'default_composition_mode': 'mass_mail', 'default_model': 'mail.group', 'default_res_id': False, 'default_notify': True, - 'active_ids': [self.group_pigs_id, group_bird_id]}) + # Do: Compose in mass_mail_mode on pigs and bird + compose_id = mail_compose.create(cr, user_raoul.id, + { + 'subject': _subject, + 'body': '${object.description}', + 'partner_ids': [(4, p_c_id), (4, p_d_id)], + }, context={ + 'default_composition_mode': 'mass_mail', + 'default_model': 'mail.group', + 'default_res_id': False, + 'active_ids': [self.group_pigs_id, group_bird_id], + }) compose = mail_compose.browse(cr, uid, compose_id) - # 2. Post the comment, get created message for each group - mail_compose.send_mail(cr, uid, [compose_id], - context={'default_res_id': -1, 'active_ids': [self.group_pigs_id, group_bird_id]}) + # D: Post the comment, get created message for each group + mail_compose.send_mail(cr, user_raoul.id, [compose_id], context={ + 'default_res_id': -1, + 'active_ids': [self.group_pigs_id, group_bird_id] + }) group_pigs.refresh() group_bird.refresh() message1 = group_pigs.message_ids[0] message2 = group_bird.message_ids[0] + # Test: Pigs and Bird did receive their message test_msg_ids = self.mail_message.search(cr, uid, [], limit=2) - self.assertIn(message1.id, test_msg_ids, 'Pigs did not receive its mass mailing message') - self.assertIn(message2.id, test_msg_ids, 'Bird did not receive its mass mailing message') - # Test: mail.message: subject, body - self.assertEqual(message1.subject, _subject, 'mail.message subject incorrect') - self.assertEqual(message1.body, '

%s

' % group_pigs.description, 'mail.message body incorrect') - self.assertEqual(message2.subject, _subject, 'mail.message subject incorrect') - self.assertEqual(message2.body, '

%s

' % group_bird.description, 'mail.message body incorrect') + self.assertIn(message1.id, test_msg_ids, 'compose wizard: Pigs did not receive its mass mailing message') + self.assertIn(message2.id, test_msg_ids, 'compose wizard: Bird did not receive its mass mailing message') + + # Test: mail.message: subject, body, subtype, notified partners (nobody + specific recipients) + self.assertEqual(message1.subject, _subject, + 'compose wizard: message_post: mail.message in mass mail subject incorrect') + self.assertEqual(message1.body, '

%s

' % group_pigs.description, + 'compose wizard: message_post: mail.message in mass mail body incorrect') + self.assertEqual(set([p.id for p in message1.notified_partner_ids]), set([p_c_id, p_d_id]), + 'compose wizard: message_post: mail.message in mass mail incorrect notified partners') + self.assertEqual(message2.subject, _subject, + 'compose wizard: message_post: mail.message in mass mail subject incorrect') + self.assertEqual(message2.body, '

%s

' % group_bird.description, + 'compose wizard: message_post: mail.message in mass mail body incorrect') + self.assertEqual(set([p.id for p in message2.notified_partner_ids]), set([p_c_id, p_d_id]), + 'compose wizard: message_post: mail.message in mass mail incorrect notified partners') + + # Test: mail.group followers: author not added as follower in mass mail mode + pigs_pids = [p.id for p in group_pigs.message_follower_ids] + test_pids = [self.partner_admin_id, p_b_id, p_c_id, p_d_id] + self.assertEqual(set(pigs_pids), set(test_pids), + 'compose wizard: mail_post_autofollow and mail_create_nosubscribe context keys not correctly taken into account') + bird_pids = [p.id for p in group_bird.message_follower_ids] + test_pids = [self.partner_admin_id] + self.assertEqual(set(bird_pids), set(test_pids), + 'compose wizard: mail_post_autofollow and mail_create_nosubscribe context keys not correctly taken into account') def test_30_needaction(self): """ Tests for mail.message needaction. """ diff --git a/addons/mail/tests/test_mail_gateway.py b/addons/mail/tests/test_mail_gateway.py new file mode 100644 index 00000000000..eb6ba22067b --- /dev/null +++ b/addons/mail/tests/test_mail_gateway.py @@ -0,0 +1,330 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Business Applications +# Copyright (c) 2012-TODAY OpenERP S.A. +# +# 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 . +# +############################################################################## + +from openerp.addons.mail.tests.test_mail_base import TestMailBase + +MAIL_TEMPLATE = """Return-Path: +To: {to} +Received: by mail1.openerp.com (Postfix, from userid 10002) + id 5DF9ABFB2A; Fri, 10 Aug 2012 16:16:39 +0200 (CEST) +From: {email_from} +Subject: {subject} +MIME-Version: 1.0 +Content-Type: multipart/alternative; + boundary="----=_Part_4200734_24778174.1344608186754" +Date: Fri, 10 Aug 2012 14:16:26 +0000 +Message-ID: {msg_id} +{extra} +------=_Part_4200734_24778174.1344608186754 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: quoted-printable + +Please call me as soon as possible this afternoon! + +-- +Sylvie +------=_Part_4200734_24778174.1344608186754 +Content-Type: text/html; charset=utf-8 +Content-Transfer-Encoding: quoted-printable + + + + =20 + + =20 + =20 + +

Please call me as soon as possible this afternoon!

+ +

--
+ Sylvie +

+ + +------=_Part_4200734_24778174.1344608186754-- +""" + +MAIL_TEMPLATE_PLAINTEXT = """Return-Path: +To: {to} +Received: by mail1.openerp.com (Postfix, from userid 10002) + id 5DF9ABFB2A; Fri, 10 Aug 2012 16:16:39 +0200 (CEST) +From: Sylvie Lelitre +Subject: {subject} +MIME-Version: 1.0 +Content-Type: text/plain +Date: Fri, 10 Aug 2012 14:16:26 +0000 +Message-ID: {msg_id} +{extra} + +Please call me as soon as possible this afternoon! + +-- +Sylvie +""" + + +class TestMailgateway(TestMailBase): + + def test_00_message_process(self): + """ Testing incoming emails processing. """ + cr, uid, user_raoul = self.cr, self.uid, self.user_raoul + + def format_and_process(template, to='groups@example.com, other@gmail.com', subject='Frogs', + extra='', email_from='Sylvie Lelitre ', + msg_id='<1198923581.41972151344608186760.JavaMail@agrolait.com>', + model=None): + self.assertEqual(self.mail_group.search(cr, uid, [('name', '=', subject)]), []) + mail = template.format(to=to, subject=subject, extra=extra, email_from=email_from, msg_id=msg_id) + self.mail_thread.message_process(cr, uid, model, mail) + return self.mail_group.search(cr, uid, [('name', '=', subject)]) + + # -------------------------------------------------- + # Data creation + # -------------------------------------------------- + + # groups@.. will cause the creation of new mail groups + self.mail_group_model_id = self.ir_model.search(cr, uid, [('model', '=', 'mail.group')])[0] + alias_id = self.mail_alias.create(cr, uid, { + 'alias_name': 'groups', + 'alias_user_id': False, + 'alias_model_id': self.mail_group_model_id}) + + # -------------------------------------------------- + # Test1: new record creation + # -------------------------------------------------- + + # Do: incoming mail from an unknown partner on an alias creates a new mail_group "frogs" + self._init_mock_build_email() + frog_groups = format_and_process(MAIL_TEMPLATE, to='groups@example.com, other@gmail.com') + sent_emails = self._build_email_kwargs_list + # Test: one group created by mailgateway administrator + self.assertTrue(len(frog_groups) == 1) + frog_group = self.mail_group.browse(cr, uid, frog_groups[0]) + # Test: one message that is the incoming email + self.assertEqual(len(frog_group.message_ids), 1, + 'message_process: newly created group should have the incoming email in message_ids') + msg = frog_group.message_ids[0] + self.assertEqual('Frogs', msg.subject, + 'message_process: newly created group should have the incoming email as first message') + self.assertIn('Please call me as soon as possible this afternoon!', msg.body, + 'message_process: newly created group should have the incoming email as first message') + self.assertEqual('email', msg.type, + 'message_process: newly created group should have an email as first message') + self.assertEqual('Discussions', msg.subtype_id.name, + 'message_process: newly created group should not have a log first message but an email') + # Test: message: unknown email address -> message has email_from, not author_id + self.assertFalse(msg.author_id, + 'message_process: message on created group should not have an author_id') + self.assertIn('test.sylvie.lelitre@agrolait.com', msg.email_from, + 'message_process: message on created group should have an email_from') + # Test: followers: nobody + self.assertEqual(len(frog_group.message_follower_ids), 0, 'message_process: newly create group should not have any follower') + # Test: sent emails: no-one + self.assertEqual(len(sent_emails), 0, + 'message_process: should create emails without any follower added') + # Data: unlink group + frog_group.unlink() + + # Do: incoming email from a known partner on an alias with known recipients, alias is owned by user that can create a group + self.mail_alias.write(cr, uid, [alias_id], {'alias_user_id': self.user_raoul_id}) + p1id = self.res_partner.create(cr, uid, {'name': 'Sylvie Lelitre', 'email': 'test.sylvie.lelitre@agrolait.com'}) + p2id = self.res_partner.create(cr, uid, {'name': 'Other Poilvache', 'email': 'other@gmail.com'}) + self._init_mock_build_email() + frog_groups = format_and_process(MAIL_TEMPLATE, to='groups@example.com, other@gmail.com') + sent_emails = self._build_email_kwargs_list + # Test: one group created by raoul + self.assertTrue(len(frog_groups) == 1) + frog_group = self.mail_group.browse(cr, uid, frog_groups[0]) + # Test: one message that is the incoming email + self.assertEqual(len(frog_group.message_ids), 1, + 'message_process: newly created group should have the incoming email in message_ids') + msg = frog_group.message_ids[0] + # Test: message: unknown email address -> message has email_from, not author_id + self.assertEqual(p1id, msg.author_id.id, + 'message_process: message on created group should have Sylvie as author_id') + self.assertIn('Sylvie Lelitre ', msg.email_from, + 'message_process: message on created group should have have an email_from') + # Test: author (not recipient and not raoul (as alias owner)) added as follower + frog_follower_ids = set([p.id for p in frog_group.message_follower_ids]) + self.assertEqual(frog_follower_ids, set([p1id]), + 'message_process: newly created group should have 1 follower (author, not creator, not recipients)') + # Test: sent emails: no-one, no bounce effet + self.assertEqual(len(sent_emails), 0, + 'message_process: should not bounce incoming emails') + # Data: unlink group + frog_group.unlink() + + # Do: incoming email from a known partner that is also an user that can create a mail.group + self.res_users.create(cr, uid, {'partner_id': p1id, 'login': 'sylvie', 'groups_id': [(6, 0, [self.group_employee_id])]}) + frog_groups = format_and_process(MAIL_TEMPLATE, to='groups@example.com, other@gmail.com') + # Test: one group created by Sylvie + self.assertTrue(len(frog_groups) == 1) + frog_group = self.mail_group.browse(cr, uid, frog_groups[0]) + # Test: one message that is the incoming email + self.assertEqual(len(frog_group.message_ids), 1, + 'message_process: newly created group should have the incoming email in message_ids') + # Test: author (and not recipient) added as follower + frog_follower_ids = set([p.id for p in frog_group.message_follower_ids]) + self.assertEqual(frog_follower_ids, set([p1id]), + 'message_process: newly created group should have 1 follower (author, not creator, not recipients)') + # Test: sent emails: no-one, no bounce effet + self.assertEqual(len(sent_emails), 0, + 'message_process: should not bounce incoming emails') + + # -------------------------------------------------- + # Test2: discussion update + # -------------------------------------------------- + + # Do: even with a wrong destination, a reply should end up in the correct thread + frog_groups = format_and_process(MAIL_TEMPLATE, email_from='other@gmail.com', + to='erroneous@example.com>', subject='Re: news', + extra='In-Reply-To: <12321321-openerp-%d-mail.group@example.com>\n' % frog_group.id) + # Test: no group 'Re: news' created, still only 1 Frogs group + self.assertEqual(len(frog_groups), 0, + 'message_process: reply on Frogs should not have created a new group with new subject') + frog_groups = self.mail_group.search(cr, uid, [('name', '=', 'Frogs')]) + self.assertEqual(len(frog_groups), 1, + 'message_process: reply on Frogs should not have created a duplicate group with old subject') + frog_group = self.mail_group.browse(cr, uid, frog_groups[0]) + # Test: one new message + self.assertTrue(len(frog_group.message_ids) == 2, 'message_process: group should contain 2 messages after reply') + # Test: author (and not recipient) added as follower + frog_follower_ids = set([p.id for p in frog_group.message_follower_ids]) + self.assertEqual(frog_follower_ids, set([p1id, p2id]), + 'message_process: after reply, group should have 2 followers') + + # -------------------------------------------------- + # Test3: email_from and partner finding + # -------------------------------------------------- + + # Data: extra partner with Raoul's email -> test the 'better author finding' + extra_partner_id = self.res_partner.create(cr, uid, {'name': 'A-Raoul', 'email': 'test_raoul@email.com'}) + # extra_user_id = self.res_users.create(cr, uid, {'name': 'B-Raoul', 'email': self.user_raoul.email}) + # extra_user_pid = self.res_users.browse(cr, uid, extra_user_id).partner_id.id + + # Do: post a new message, with a known partner -> duplicate emails -> partner + format_and_process(MAIL_TEMPLATE, email_from='Lombrik Lubrik ', + to='erroneous@example.com>', subject='Re: news (2)', + extra='In-Reply-To: <12321321-openerp-%d-mail.group@example.com>\n' % frog_group.id) + frog_groups = self.mail_group.search(cr, uid, [('name', '=', 'Frogs')]) + frog_group = self.mail_group.browse(cr, uid, frog_groups[0]) + # Test: author is A-Raoul (only existing) + self.assertEqual(frog_group.message_ids[0].author_id.id, extra_partner_id, + 'message_process: email_from -> author_id wrong') + + # Do: post a new message, with a known partner -> duplicate emails -> user + frog_group.message_unsubscribe([extra_partner_id]) + raoul_email = self.user_raoul.email + self.res_users.write(cr, uid, self.user_raoul_id, {'email': 'test_raoul@email.com'}) + format_and_process(MAIL_TEMPLATE, email_from='Lombrik Lubrik ', + to='erroneous@example.com>', subject='Re: news (3)', + extra='In-Reply-To: <12321321-openerp-%d-mail.group@example.com>\n' % frog_group.id) + frog_groups = self.mail_group.search(cr, uid, [('name', '=', 'Frogs')]) + frog_group = self.mail_group.browse(cr, uid, frog_groups[0]) + # Test: author is Raoul (user), not A-Raoul + self.assertEqual(frog_group.message_ids[0].author_id.id, self.partner_raoul_id, + 'message_process: email_from -> author_id wrong') + + # Do: post a new message, with a known partner -> duplicate emails -> partner because is follower + frog_group.message_unsubscribe([self.partner_raoul_id]) + frog_group.message_subscribe([extra_partner_id]) + raoul_email = self.user_raoul.email + self.res_users.write(cr, uid, self.user_raoul_id, {'email': 'test_raoul@email.com'}) + format_and_process(MAIL_TEMPLATE, email_from='Lombrik Lubrik ', + to='erroneous@example.com>', subject='Re: news (3)', + extra='In-Reply-To: <12321321-openerp-%d-mail.group@example.com>\n' % frog_group.id) + frog_groups = self.mail_group.search(cr, uid, [('name', '=', 'Frogs')]) + frog_group = self.mail_group.browse(cr, uid, frog_groups[0]) + # Test: author is Raoul (user), not A-Raoul + self.assertEqual(frog_group.message_ids[0].author_id.id, extra_partner_id, + 'message_process: email_from -> author_id wrong') + + self.res_users.write(cr, uid, self.user_raoul_id, {'email': raoul_email}) + + # -------------------------------------------------- + # Test4: misc gateway features + # -------------------------------------------------- + + # Do: incoming email with model that does not accepts incoming emails must raise + self.assertRaises(AssertionError, + format_and_process, + MAIL_TEMPLATE, to='noone@example.com', subject='spam', extra='', model='res.country') + + # Do: incoming email without model and without alias must raise + self.assertRaises(AssertionError, + format_and_process, + MAIL_TEMPLATE, to='noone@example.com', subject='spam', extra='') + + # Do: incoming email with model that accepting incoming emails as fallback + frog_groups = format_and_process(MAIL_TEMPLATE, to='noone@example.com', subject='Spammy', extra='', model='mail.group') + self.assertEqual(len(frog_groups), 1, + 'message_process: erroneous email but with a fallback model should have created a new mail.group') + + # Do: incoming email in plaintext should be stored as html + frog_groups = format_and_process(MAIL_TEMPLATE_PLAINTEXT, to='groups@example.com', subject='Frogs Return', extra='', msg_id='') + # Test: one group created with one message + self.assertTrue(len(frog_groups) == 1) + frog_group = self.mail_group.browse(cr, uid, frog_groups[0]) + msg = frog_group.message_ids[0] + # Test: plain text content should be wrapped and stored as html + self.assertEqual(msg.body, '

\nPlease call me as soon as possible this afternoon!\n\n--\nSylvie\n
', + 'message_process: plaintext incoming email incorrectly parsed') + + def test_10_thread_parent_resolution(self): + """ Testing parent/child relationships are correctly established when processing incoming mails """ + cr, uid = self.cr, self.uid + + def format(template, to='Pretty Pigs , other@gmail.com', subject='Re: 1', + extra='', email_from='Sylvie Lelitre ', + msg_id='<1198923581.41972151344608186760.JavaMail@agrolait.com>'): + return template.format(to=to, subject=subject, extra=extra, email_from=email_from, msg_id=msg_id) + + group_pigs = self.mail_group.browse(cr, uid, self.group_pigs_id) + msg1 = group_pigs.message_post(body='My Body', subject='1') + msg2 = group_pigs.message_post(body='My Body', subject='2') + msg1, msg2 = self.mail_message.browse(cr, uid, [msg1, msg2]) + self.assertTrue(msg1.message_id, "message_process: new message should have a proper message_id") + + # Reply to msg1, make sure the reply is properly attached using the various reply identification mechanisms + # 0. Direct alias match + reply_msg1 = format(MAIL_TEMPLATE, to='Pretty Pigs ', extra='In-Reply-To: %s' % msg1.message_id) + self.mail_group.message_process(cr, uid, None, reply_msg1) + + # 1. In-Reply-To header + reply_msg2 = format(MAIL_TEMPLATE, to='erroneous@example.com', extra='In-Reply-To: %s' % msg1.message_id) + self.mail_group.message_process(cr, uid, None, reply_msg2) + + # 2. References header + reply_msg3 = format(MAIL_TEMPLATE, to='erroneous@example.com', extra='References: <2233@a.com>\r\n\t<3edss_dsa@b.com> %s' % msg1.message_id) + self.mail_group.message_process(cr, uid, None, reply_msg3) + + # 3. Subject contains [] + model passed to message+process -> only attached to group, but not to mail (not in msg1.child_ids) + reply_msg4 = format(MAIL_TEMPLATE, to='erroneous@example.com', extra='', subject='Re: [%s] 1' % self.group_pigs_id) + self.mail_group.message_process(cr, uid, 'mail.group', reply_msg4) + + group_pigs.refresh() + msg1.refresh() + self.assertEqual(6, len(group_pigs.message_ids), 'message_process: group should contain 6 messages') + self.assertEqual(3, len(msg1.child_ids), 'message_process: msg1 should have 3 children now') + + def test_20_private_discussion(self): + """ Testing private discussion between partners. """ + pass diff --git a/addons/mail/update.py b/addons/mail/update.py index bcec6f5f8b6..94416aeb356 100644 --- a/addons/mail/update.py +++ b/addons/mail/update.py @@ -5,7 +5,7 @@ import sys import urllib import urllib2 -from openerp import pooler +import openerp from openerp import release from openerp.osv import fields, osv from openerp.tools.translate import _ @@ -26,7 +26,7 @@ def get_sys_logs(self, cr, uid): """ Utility method to send a publisher warranty get logs messages. """ - pool = pooler.get_pool(cr.dbname) + pool = openerp.registry(cr.dbname) dbuuid = pool.get('ir.config_parameter').get_param(cr, uid, 'database.uuid') db_create_date = pool.get('ir.config_parameter').get_param(cr, uid, 'database.create_date') diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py index 5622d723eb9..66e7149ac6d 100644 --- a/addons/mail/wizard/mail_compose_message.py +++ b/addons/mail/wizard/mail_compose_message.py @@ -23,6 +23,7 @@ import base64 import re from openerp import tools +from openerp import SUPERUSER_ID from openerp.osv import osv from openerp.osv import fields from openerp.tools.safe_eval import safe_eval as eval @@ -136,6 +137,29 @@ class mail_compose_message(osv.TransientModel): 'same_thread': lambda self, cr, uid, ctx={}: True, } + def check_access_rule(self, cr, uid, ids, operation, context=None): + """ Access rules of mail.compose.message: + - create: if + - model, no res_id, I create a message in mass mail mode + - then: fall back on mail.message acces rules + """ + if isinstance(ids, (int, long)): + ids = [ids] + + # Author condition (CREATE (mass_mail)) + if operation == 'create' and uid != SUPERUSER_ID: + # read mail_compose_message.ids to have their values + message_values = {} + cr.execute('SELECT DISTINCT id, model, res_id FROM "%s" WHERE id = ANY (%%s) AND res_id = 0' % self._table, (ids,)) + for id, rmod, rid in cr.fetchall(): + message_values[id] = {'model': rmod, 'res_id': rid} + # remove from the set to check the ids that mail_compose_message accepts + author_ids = [mid for mid, message in message_values.iteritems() + if message.get('model') and not message.get('res_id')] + ids = list(set(ids) - set(author_ids)) + + return super(mail_compose_message, self).check_access_rule(cr, uid, ids, operation, context=context) + def _notify(self, cr, uid, newid, context=None): """ Override specific notify method of mail.message, because we do not want that feature in the wizard. """ @@ -244,8 +268,12 @@ class mail_compose_message(osv.TransientModel): self.pool.get('mail.mail').create(cr, uid, post_values, context=context) else: subtype = 'mail.mt_comment' - if is_log or (mass_mail_mode and not wizard.notify): + if is_log: # log a note: subtype is False subtype = False + elif mass_mail_mode: # mass mail: is a log pushed to recipients unless specified, author not added + if not wizard.notify: + subtype = False + context = dict(context, mail_create_nosubscribe=True) # add context key to avoid subscribing the author msg_id = active_model_pool.message_post(cr, uid, [res_id], type='comment', subtype=subtype, context=context, **post_values) # mass_mailing, post without notify: notify specific partners if mass_mail_mode and not wizard.notify and post_values['partner_ids']: diff --git a/addons/membership/test/test_membership.yml b/addons/membership/test/test_membership.yml index 40d1785c29a..489b8b06afb 100644 --- a/addons/membership/test/test_membership.yml +++ b/addons/membership/test/test_membership.yml @@ -31,7 +31,6 @@ I'm Opening that Invoice which is created for "Seagate". - !python {model: res.partner}: | - from openerp.tools.translate import _ invoice_pool = self.pool.get('account.invoice') partner_pool = self.pool.get('res.partner') membership_line_pool = self.pool.get('membership.membership_line') @@ -39,7 +38,7 @@ membership_line_ids = membership_line_pool.search(cr, uid, [('membership_id','=',ref('product_product_membershipproduct0')),('partner','=',ref('base.res_partner_19'))]) membership_lines = membership_line_pool.browse(cr, uid, membership_line_ids) - assert membership_lines, _('Membership is not registrated.') + assert membership_lines, 'Membership is not registrated.' membership_line = membership_lines[0] invoice_pool.signal_invoice_open(cr, uid, [membership_line.account_invoice_id.id]) @@ -105,7 +104,6 @@ I'm doing to make credit note of invoice which is paid by "Seagate" to cancel membership. - !python {model: account.invoice}: | - from openerp.tools.translate import _ invoice_pool = self.pool.get('account.invoice') partner_pool = self.pool.get('res.partner') membership_line_pool = self.pool.get('membership.membership_line') @@ -114,7 +112,7 @@ membership_line_ids = membership_line_pool.search(cr, uid, [('membership_id','=',ref('product_product_membershipproduct0')),('partner','=',ref('base.res_partner_19'))]) membership_lines = membership_line_pool.browse(cr, uid, membership_line_ids) - assert membership_lines, _('Membership is not registrated.') + assert membership_lines, 'Membership is not registrated.' membership_line = membership_lines[0] refund_id = invoice_refund_pool.create(cr, uid, {'description': 'Refund of Membership', 'filter_refund': 'refund'}, {'active_id': membership_line.account_invoice_id.id}) invoice_refund_pool.invoice_refund(cr, uid, [refund_id], {'active_id': membership_line.account_invoice_id.id, 'active_ids': [membership_line.account_invoice_id.id]}) diff --git a/addons/mrp/i18n/es_MX.po b/addons/mrp/i18n/es_MX.po index 82d584be219..f9fb2d53cb7 100644 --- a/addons/mrp/i18n/es_MX.po +++ b/addons/mrp/i18n/es_MX.po @@ -1,72 +1,61 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * mrp +# Spanish (Mexico) translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. # msgid "" msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2011-01-11 11:15+0000\n" -"PO-Revision-Date: 2011-03-12 16:35+0000\n" -"Last-Translator: Jordi Esteve (www.zikzakmedia.com) " -"\n" -"Language-Team: \n" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:04+0000\n" +"PO-Revision-Date: 2013-03-23 21:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Spanish (Mexico) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-09-05 04:59+0000\n" -"X-Generator: Launchpad (build 13830)\n" +"X-Launchpad-Export-Date: 2013-03-24 04:45+0000\n" +"X-Generator: Launchpad (build 16540)\n" #. module: mrp -#: field:mrp.production,move_created_ids:0 -#: field:mrp.production,move_created_ids2:0 -msgid "Moves Created" -msgstr "Movimientos creados" - -#. module: mrp -#: model:ir.actions.act_window,help:mrp.mrp_production_action +#: help:mrp.config.settings,module_mrp_repair:0 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." +"Allows to manage all product repairs.\n" +" * Add/remove products in the reparation\n" +" * Impact for stocks\n" +" * Invoicing (products and/or services)\n" +" * Warranty concept\n" +" * Repair quotation report\n" +" * Notes for the technician and for the final customer.\n" +" This installs the module mrp_repair." msgstr "" -"Las órdenes de fabricación suelen ser propuestas automáticamente por OpenERP " -"en base a la lista de materiales y las reglas de abastecimiento, pero " -"también puede crear órdenes de fabricación manualmente. OpenERP controlará " -"el consumo de las materias primas (disminución de stock) y la producción de " -"los productos terminados (aumento de stock) cuando se procese la orden." - -#. module: mrp -#: help:mrp.production,location_src_id:0 -msgid "Location where the system will look for components." -msgstr "Ubicación donde el sistema buscará los componentes." - -#. module: mrp -#: field:mrp.production,workcenter_lines:0 -msgid "Work Centers Utilisation" -msgstr "Utilización del centro de producción" - -#. module: mrp -#: view:mrp.routing.workcenter:0 -msgid "Routing Work Centers" -msgstr "Ruta de centros de producción" - -#. module: mrp -#: model:ir.module.module,shortdesc:mrp.module_meta_information -msgid "Manufacturing Resource Planning" -msgstr "Planificación de recursos de fabricación (MRP)" #. module: mrp #: report:mrp.production.order:0 msgid "No. Of Cycles" -msgstr "Núm. de ciclos" +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 +#: view:mrp.routing.workcenter:0 +msgid "Routing Work Centers" +msgstr "" + +#. module: mrp +#: field:mrp.production.workcenter.line,cycle:0 #: field:mrp.routing.workcenter,cycle_nbr:0 +#: field:report.workcenter.load,cycle:0 msgid "Number of Cycles" -msgstr "Número de ciclos" +msgstr "" #. module: mrp #: model:process.transition,note:mrp.process_transition_minimumstockprocure0 @@ -74,26 +63,12 @@ msgid "" "The 'Minimum stock rule' allows the system to create procurement orders " "automatically as soon as the minimum stock is reached." msgstr "" -"La 'regla de stock mínimo' permite al sistema de crear órdenes de " -"abasteciemiento automáticamente cuando el stock mínimo es alcanzado" - -#. module: mrp -#: field:mrp.production,picking_id:0 -#: field:mrp.production.order,picking_id:0 -msgid "Picking list" -msgstr "Albarán" - -#. module: mrp -#: code:addons/mrp/report/price.py:121 -#, python-format -msgid "Hourly Cost" -msgstr "Coste horario" #. module: mrp #: code:addons/mrp/report/price.py:130 #, python-format -msgid "Cost Price per Uom" -msgstr "Precio de coste pour Udm" +msgid "Hourly Cost" +msgstr "" #. module: mrp #: view:mrp.production:0 @@ -101,36 +76,32 @@ msgid "Scrap Products" msgstr "Productos de desecho" #. module: mrp -#: view:mrp.production.order:0 -#: field:mrp.production.order,day:0 -msgid "Day" -msgstr "Día" +#: view:mrp.workcenter:0 +msgid "Mrp Workcenter" +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 "Procesos productivos" - -#. module: mrp -#: field:mrp.workcenter,product_id:0 -msgid "Work Center Product" -msgstr "Producto centro de producción" +msgstr "" #. module: mrp #: view:mrp.bom:0 msgid "Search Bill Of Material" -msgstr "Buscar lista de materiales" +msgstr "" #. module: mrp #: model:process.node,note:mrp.process_node_stockproduct1 msgid "For stockable products and consumables" -msgstr "Para productos almacenables y consumibles" +msgstr "" #. module: mrp -#: model:process.transition,name:mrp.process_transition_stockproduction0 -msgid "To Produce" -msgstr "A producir" +#: help:mrp.bom,message_unread:0 +#: help:mrp.production,message_unread:0 +#: help:mrp.production.workcenter.line,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" #. module: mrp #: help:mrp.routing.workcenter,cycle_nbr:0 @@ -138,76 +109,63 @@ msgid "" "Number of iterations this work center has to do in the specified operation " "of the routing." msgstr "" -"Número de iteraciones que debe realizar este centro de producción en la " -"operación indicada de la ruta." + +#. module: mrp +#: view:product.product:0 +msgid "False" +msgstr "" #. module: mrp #: view:mrp.bom:0 #: field:mrp.bom,code:0 -#: view:mrp.production:0 #: field:mrp.production,name:0 msgid "Reference" -msgstr "Referencia" +msgstr "" #. module: mrp #: view:mrp.production:0 msgid "Finished Products" -msgstr "Productos finalizados" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Manufacturing Orders which are currently in production." +msgstr "" + +#. module: mrp +#: help:mrp.bom,message_summary:0 +#: help:mrp.production,message_summary:0 +#: help:mrp.production.workcenter.line,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" #. module: mrp #: model:process.transition,name:mrp.process_transition_servicerfq0 #: model:process.transition,name:mrp.process_transition_stockrfq0 msgid "To Buy" -msgstr "A comprar" - -#. module: mrp -#: view:mrp.production.order:0 -msgid "Raw Material Location" -msgstr "Ubicación de materias primas" - -#. module: mrp -#: help:mrp.installer,mrp_operations:0 -msgid "" -"Enhances production orders with readiness states as well as the start date " -"and end date of execution of the order." msgstr "" -"Mejora las órdenes de producción con los estados de preparación, así como la " -"fecha de inicio y final de la ejecución de la orden." #. module: mrp #: model:process.transition,note:mrp.process_transition_purchaseprocure0 msgid "The system launches automatically a RFQ to the preferred supplier." msgstr "" -"El sistema crea automáticamente una petición de presupuesto al proveedor " -"preferido." #. module: mrp #: view:mrp.production:0 msgid "Products to Finish" -msgstr "Productos a terminar" +msgstr "" #. module: mrp #: selection:mrp.bom,method:0 msgid "Set / Pack" -msgstr "Conjunto / Paquete" - -#. module: mrp -#: field:mrp.installer,mrp_subproduct:0 -msgid "MRP Subproducts" -msgstr "Subproductos MRP" - -#. module: mrp -#: view:mrp.production:0 -#: field:mrp.production,state:0 -#: view:mrp.production.order:0 -#: field:mrp.production.order,state:0 -msgid "State" -msgstr "Estado" +msgstr "" #. module: mrp #: field:mrp.workcenter,costs_hour:0 msgid "Cost per hour" -msgstr "Coste por hora" +msgstr "" #. module: mrp #: model:process.transition,note:mrp.process_transition_stockproduction0 @@ -215,188 +173,221 @@ msgid "" "In case the Supply method of the product is Produce, the system creates a " "production order." msgstr "" -"En caso de que el método de suministro del producto es Producir, el sistema " -"crea una orden de producción." - -#. module: mrp -#: view:mrp.production:0 -msgid "UOM" -msgstr "UdM" #. module: mrp #: field:change.production.qty,product_qty:0 -#: field:mrp.bom,product_qty:0 -#: field:mrp.production,product_qty:0 -#: view:mrp.production.order:0 -#: field:mrp.production.order,product_qty:0 -#: field:mrp.production.product.line,product_qty:0 msgid "Product Qty" -msgstr "Ctdad producto" +msgstr "" #. module: mrp -#: help:mrp.workcenter,product_id:0 -msgid "" -"Fill this product to track easily your production costs in the analytic " -"accounting." +#: view:mrp.production:0 +msgid "Unit of Measure" msgstr "" -"Introduzca este producto para realizar fácilmente un seguimiento de sus " -"costes de producción en la contabilidad analítica." #. module: mrp #: model:process.node,note:mrp.process_node_purchaseprocure0 msgid "For purchased material" -msgstr "Para material comprado" +msgstr "" #. module: mrp -#: field:mrp.bom.revision,indice:0 -msgid "Revision" -msgstr "Revisión" +#: model:ir.ui.menu,name:mrp.menu_mrp_production_order_action +msgid "Order Planning" +msgstr "" #. module: mrp -#: model:ir.ui.menu,name:mrp.next_id_77 -msgid "Reporting" -msgstr "Informe" +#: field:mrp.config.settings,module_mrp_operations:0 +msgid "Allow detailed planning of work order" +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:633 +#, python-format +msgid "Cannot cancel manufacturing order!" +msgstr "" #. module: mrp #: field:mrp.workcenter,costs_cycle_account_id:0 msgid "Cycle Account" -msgstr "Cuenta ciclo" +msgstr "" #. module: mrp -#: code:addons/mrp/report/price.py:121 +#: code:addons/mrp/report/price.py:130 #, python-format msgid "Work Cost" -msgstr "Coste del trabajo" - -#. module: mrp -#: report:bom.structure:0 -msgid "[" -msgstr "[" +msgstr "" #. module: mrp #: model:process.transition,name:mrp.process_transition_procureserviceproduct0 msgid "Procurement of services" -msgstr "Abastecimiento de servicios" +msgstr "" #. module: mrp #: view:mrp.workcenter:0 msgid "Capacity Information" -msgstr "Información de capacidad" +msgstr "" + +#. module: mrp +#: field:mrp.routing,workcenter_lines:0 +msgid "Work Centers" +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,help:mrp.mrp_routing_action +msgid "" +"

\n" +" Click to create a routing.\n" +"

\n" +" Routings allow you to create and manage the manufacturing\n" +" operations that should be followed within your work centers " +"in\n" +" order to produce a product. They are attached to bills of\n" +" materials that will define the required raw materials.\n" +"

\n" +" " +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +#: field:mrp.production,move_created_ids2:0 +msgid "Produced Products" +msgstr "" #. module: mrp #: report:mrp.production.order:0 msgid "Destination Location" -msgstr "Ubicación destino" - -#. module: mrp -#: view:mrp.installer:0 -msgid "title" -msgstr "título" - -#. module: mrp -#: model:ir.ui.menu,name:mrp.menu_mrp_bom -msgid "Master Data" -msgstr "Datos principales" - -#. 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 "" -"El sistema espera a que los productos estén disponibles en el stock. Estos " -"productos suelen ser adquiridos de forma manual o a través de una regla de " -"stock mínimo." + +#. module: mrp +#: view:mrp.config.settings:0 +msgid "Master Data" +msgstr "" + +#. module: mrp +#: field:mrp.config.settings,module_mrp_byproduct:0 +msgid "Produce several products from one manufacturing order" +msgstr "" + +#. module: mrp +#: help:mrp.config.settings,group_mrp_properties:0 +msgid "" +"The selection of the right Bill of Material to use will depend on the " +"properties specified on the sales order and the Bill of Material." +msgstr "" + +#. module: mrp +#: view:mrp.bom:0 +msgid "" +"When processing a sales order for this product, the delivery order\n" +" will contain the raw materials, instead of " +"the finished product." +msgstr "" #. module: mrp #: report:mrp.production.order:0 msgid "Partner Ref" -msgstr "Ref. empresa" +msgstr "" #. module: mrp #: selection:mrp.workcenter.load,measure_unit:0 msgid "Amount in hours" -msgstr "Cantidad en horas" +msgstr "" #. module: mrp #: field:mrp.production,product_lines:0 msgid "Scheduled goods" -msgstr "Bienes planificados" +msgstr "" #. module: mrp #: selection:mrp.bom,type:0 msgid "Sets / Phantom" -msgstr "Conjuntos / Fantasma" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +#: field:mrp.production,state:0 +msgid "Status" +msgstr "" #. module: mrp #: help:mrp.bom,position:0 msgid "Reference to a position in an external plan." -msgstr "Referencia a una ubicación en una plan. externa" +msgstr "" #. module: mrp -#: selection:mrp.production.order,month:0 -msgid "August" -msgstr "Agosto" - -#. module: mrp -#: constraint:stock.move:0 -msgid "You try to assign a lot which is not from the same product" -msgstr "Está intentando asignar un lote que no es del mismo producto" - -#. module: mrp -#: model:ir.model,name:mrp.model_mrp_production_order -msgid "Production Order Report" -msgstr "Informe de órden de producción" - -#. module: mrp -#: selection:mrp.production.order,month:0 -msgid "June" -msgstr "Junio" +#: model:res.groups,name:mrp.group_mrp_routings +msgid "Manage Routings" +msgstr "" #. module: mrp #: model:ir.model,name:mrp.model_mrp_product_produce msgid "Product Produce" -msgstr "Producir producto" +msgstr "" #. module: mrp -#: selection:mrp.production.order,month:0 -msgid "October" -msgstr "Octubre" +#: constraint:mrp.bom:0 +msgid "Error ! You cannot create recursive BoM." +msgstr "" #. module: mrp -#: code:addons/mrp/report/price.py:177 -#, python-format -msgid "Components Cost of " -msgstr "Coste de los componentes de " +#: 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 "Abastecimiento de producto almacenable" +msgstr "" #. module: mrp -#: view:mrp.bom:0 -msgid "Default UOM" -msgstr "UdM por defecto" +#: model:ir.actions.act_window,help:mrp.mrp_production_action +msgid "" +"

\n" +" Click to create a manufacturing order. \n" +"

\n" +" A manufacuring order, based on a bill of materials, will\n" +" consume raw materials and produce finished products.\n" +"

\n" +" Manufacturing orders are usually proposed automatically " +"based\n" +" on customer requirements or automated rules like the " +"minimum\n" +" stock rule.\n" +"

\n" +" " +msgstr "" #. module: mrp -#: code:addons/mrp/report/price.py:130 +#: sql_constraint:mrp.production:0 +msgid "Reference must be unique per Company!" +msgstr "" + +#. module: mrp +#: code:addons/mrp/report/price.py:139 #: report:bom.structure:0 +#: view:mrp.bom:0 #: field:mrp.product_price,number:0 +#: view:mrp.production:0 #: report:mrp.production.order:0 #, python-format msgid "Quantity" -msgstr "Cantidad" +msgstr "" #. module: mrp -#: field:mrp.production.workcenter.line,hour:0 -msgid "Nbr of hours" -msgstr "Nº de horas" +#: help:mrp.workcenter,product_id:0 +msgid "" +"Fill this product to easily track your production costs in the analytic " +"accounting." +msgstr "" + +#. module: mrp +#: field:mrp.workcenter,product_id:0 +msgid "Work Center Product" +msgstr "" #. module: mrp #: view:mrp.production:0 msgid "Confirm Production" -msgstr "Confirmar producción" +msgstr "" #. module: mrp #: model:process.transition,note:mrp.process_transition_stockproduct0 @@ -404,8 +395,6 @@ msgid "" "The system creates an order (production or purchased) depending on the sold " "quantity and the products parameters." msgstr "" -"El sistema crea una orden (de producción o de compra) en función de la " -"cantidad vendida y los parámetros de los productos." #. module: mrp #: model:process.transition,note:mrp.process_transition_servicemts0 @@ -413,49 +402,85 @@ msgid "" "This is used in case of a service without any impact in the system, a " "training session for instance." msgstr "" -"Esto se utiliza en caso de un servicio sin ningún tipo de impacto en el " -"sistema, una sesión de formación, por ejemplo." #. module: mrp -#: field:mrp.installer,mrp_repair:0 -msgid "Repairs" -msgstr "Reparaciones" +#: field:mrp.bom,product_qty:0 +#: field:mrp.production,product_qty:0 +#: field:mrp.production.product.line,product_qty:0 +msgid "Product Quantity" +msgstr "" #. module: mrp -#: field:mrp.installer,stock_location:0 -msgid "Advanced Routes" -msgstr "Rutas avanzadas" +#: 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 "Horario trabajo" +msgstr "" + +#. module: mrp +#: help:mrp.production,state:0 +msgid "" +"When the production order is created the status is set to 'Draft'.\n" +" If the order is confirmed the status is set to 'Waiting " +"Goods'.\n" +" If any exceptions are there, the status is set to 'Picking " +"Exception'.\n" +" If the stock is available then the status is set to 'Ready " +"to Produce'.\n" +" When the production gets started then the status is set to " +"'In Production'.\n" +" When the production is over, the status is set to 'Done'." +msgstr "" #. module: mrp #: model:ir.actions.act_window,name:mrp.action_report_in_out_picking_tree msgid "Weekly Stock Value Variation" -msgstr "Variación del valor del stock semanal" - -#. module: mrp -#: help:mrp.installer,mrp_repair:0 -msgid "" -"Enables warranty and repair management (and their impact on stocks and " -"invoicing)." msgstr "" -"Activa la garantía y la gestión de reparaciones (y su impacto sobre stocks y " -"facturación)" #. module: mrp -#: field:mrp.production,date_planned_date:0 +#: model:ir.actions.act_window,help:mrp.mrp_property_action +msgid "" +"

\n" +" Click to create a new property.\n" +"

\n" +" The Properties in OpenERP are used to select the right bill " +"of\n" +" materials for manufacturing a product when you have " +"different\n" +" ways of building the same product. You can assign several\n" +" properties to each bill of materials. When a salesperson\n" +" creates a sales order, they can relate it to several " +"properties\n" +" and OpenERP will automatically select the BoM to use " +"according\n" +" the needs.\n" +"

\n" +" " +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +#: field:mrp.production,date_planned:0 #: report:mrp.production.order:0 -#: field:mrp.production.order,date_planned:0 msgid "Scheduled Date" -msgstr "Fecha programada" +msgstr "" #. module: mrp +#: code:addons/mrp/procurement.py:124 +#, python-format +msgid "Manufacturing Order %s created." +msgstr "" + +#. module: mrp +#: view:mrp.bom:0 #: report:mrp.production.order:0 msgid "Bill Of Material" -msgstr "Lista de Material" +msgstr "" #. module: mrp #: help:mrp.routing,location_id:0 @@ -464,165 +489,140 @@ msgid "" "needed.Set a location if you produce at a fixed location. This can be a " "partner location if you subcontract the manufacturing operations." msgstr "" -"Dejarlo vacío si se produce en el mismo lugar en que los productos acabados " -"son necesarios. Indique una ubicación si se produce en una ubicación fija. " -"Puede ser una ubicación de otra empresa si subcontrata las operaciones de " -"fabricación." #. module: mrp #: view:board.board:0 msgid "Stock Value Variation" -msgstr "Variación del valor de stock" +msgstr "" #. module: mrp #: model:ir.actions.act_window,name:mrp.action2 msgid "Bill of Materials Structure" -msgstr "Estructura lista de materiales" +msgstr "" #. module: mrp #: model:process.node,note:mrp.process_node_serviceproduct0 msgid "Product type is service" -msgstr "Producto de tipo servicio" - -#. 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 "" -"Definir grupos específicos de propiedad que se pueden asignar a las " -"propiedades de su lista de materiales." - -#. module: mrp -#: model:process.transition,name:mrp.process_transition_bom0 -msgid "Manufacturing decomposition" -msgstr "Descomposición fabricación" - -#. module: mrp -#: model:process.node,note:mrp.process_node_serviceproduct1 -msgid "For Services." -msgstr "Para servicios" - -#. module: mrp -#: field:mrp.bom.revision,date:0 -msgid "Modification Date" -msgstr "Fecha de modificación" - -#. 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 "" -"Rellenarlo sólo si desea crear entradas automáticas de contabilidad " -"analítica según órdenes de producción." - -#. module: mrp -#: field:mrp.production.workcenter.line,cycle:0 -msgid "Nbr of cycles" -msgstr "Nº de ciclos" - -#. module: mrp -#: model:process.node,note:mrp.process_node_orderrfq0 -#: model:process.node,note:mrp.process_node_rfq0 -msgid "Request for Quotation." -msgstr "Solicitud de presupuesto." - -#. 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 "" -"La lista de materiales está vinculada a una ruta, es decir, la sucesión de " -"centros de producción." - -#. module: mrp -#: constraint:product.product:0 -msgid "Error: Invalid ean code" -msgstr "Error: Código EAN no válido" - -#. module: mrp -#: view:mrp.routing:0 -#: field:mrp.routing,location_id:0 -msgid "Production Location" -msgstr "Ubicación de producción" - -#. module: mrp -#: view:mrp.production:0 -msgid "Change Qty" -msgstr "Cambiar Ctd." - -#. module: mrp -#: view:mrp.production:0 -msgid "Force Reservation" -msgstr "Forzar reservas" - -#. module: mrp -#: field:mrp.bom.revision,author_id:0 -msgid "Author" -msgstr "Autor" - -#. module: mrp -#: field:report.mrp.inout,value:0 -msgid "Stock value" -msgstr "Valor del stock" - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.action_product_bom_structure -msgid "Product BoM Structure" -msgstr "Estructura LdM del producto" - -#. module: mrp -#: view:mrp.production:0 -msgid "Search Production" -msgstr "Buscar producción" - -#. module: mrp -#: code:addons/mrp/report/price.py:130 -#, python-format -msgid "Supplier Price per Uom" -msgstr "Precio proveedor por UdM" - -#. module: mrp -#: selection:mrp.production.order,month:0 -msgid "March" -msgstr "Marzo" - -#. module: mrp -#: field:mrp.bom,child_complete_ids:0 -msgid "BoM Hierarchy" -msgstr "Estructura LdM" - -#. 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 "Producir" #. 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 +#: model:process.node,note:mrp.process_node_orderrfq0 +#: model:process.node,note:mrp.process_node_rfq0 +msgid "Request for Quotation." +msgstr "" + +#. module: mrp +#: view:change.production.qty:0 +#: view:mrp.config.settings:0 +#: view:mrp.product.produce:0 +#: view:mrp.product_price:0 +#: view:mrp.workcenter.load:0 +msgid "or" +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 +#: view:mrp.production:0 +#: field:mrp.production,move_created_ids:0 +msgid "Products to Produce" +msgstr "" + +#. module: mrp +#: view:mrp.config.settings:0 +msgid "Apply" +msgstr "" + +#. module: mrp +#: view:mrp.routing:0 +#: field:mrp.routing,location_id:0 +msgid "Production Location" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Force Reservation" +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 +#: help:mrp.routing.workcenter,sequence:0 +msgid "" +"Gives the sequence order when displaying a list of routing Work Centers." +msgstr "" + +#. module: mrp +#: field:mrp.bom,child_complete_ids:0 +msgid "BoM Hierarchy" +msgstr "" + +#. module: mrp +#: model:process.transition,name:mrp.process_transition_stockproduction0 +msgid "To Produce" +msgstr "" + +#. module: mrp +#: help:mrp.config.settings,module_stock_no_autopicking:0 +msgid "" +"This module allows an intermediate picking process to provide raw materials " +"to production orders.\n" +" For example to manage production made by your suppliers (sub-" +"contracting).\n" +" To achieve this, set the assembled product which is sub-" +"contracted to \"No Auto-Picking\"\n" +" and put the location of the supplier in the routing of the " +"assembly operation.\n" +" This installs the module stock_no_autopicking." +msgstr "" + #. module: mrp #: selection:mrp.production,state:0 -#: view:mrp.production.order:0 -#: selection:mrp.production.order,state:0 msgid "Picking Exception" -msgstr "Excepción albarán" +msgstr "" #. module: mrp #: field:mrp.bom,bom_lines:0 msgid "BoM Lines" -msgstr "Líneas de las listas de materiales" +msgstr "" #. module: mrp #: field:mrp.workcenter,time_start:0 msgid "Time before prod." -msgstr "Tiempo antes producción" +msgstr "" #. module: mrp #: help:mrp.routing,active:0 @@ -630,59 +630,53 @@ msgid "" "If the active field is set to False, it will allow you to hide the routing " "without removing it." msgstr "" -"Si el campo activo se desmarca, permite ocultar la ruta sin eliminarla." #. module: mrp #: model:process.transition,name:mrp.process_transition_billofmaterialrouting0 msgid "Material Routing" -msgstr "Ruta del material" +msgstr "" #. module: mrp #: view:mrp.production:0 #: field:mrp.production,move_lines2:0 #: report:mrp.production.order:0 -#: field:mrp.production.order,consumed_products:0 msgid "Consumed Products" -msgstr "Productos consumidos" - -#. module: mrp -#: constraint:mrp.bom:0 -msgid "Error ! You can not create recursive BoM." -msgstr "¡Error! No puede crear Listas de Material recursivas." +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 "Carga centro de producción" +msgstr "" #. module: mrp -#: code:addons/mrp/procurement.py:45 +#: code:addons/mrp/procurement.py:50 #, python-format msgid "No BoM defined for this product !" -msgstr "¡No se ha definido LdM para este producto!" +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 "Componentes de lista de materiales" +msgstr "" #. module: mrp -#: field:mrp.production.order,nbr:0 -msgid "# of Lines" -msgstr "Nº de líneas" +#: model:ir.model,name:mrp.model_stock_move +msgid "Stock Move" +msgstr "" #. module: mrp #: model:ir.ui.menu,name:mrp.menu_mrp_planning +#: view:mrp.config.settings:0 msgid "Planning" -msgstr "Planificación" +msgstr "" #. module: mrp #: view:mrp.production:0 msgid "Ready" -msgstr "Preparado" +msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 @@ -692,142 +686,151 @@ msgid "" "operations and to plan future loads on work centers based on production " "plannification." msgstr "" -"Lista de las operaciones (lista de los centros de trabajo) para producir los " -"productos acabados. La ruta se utiliza principalmente para calcular los " -"costes del centro de trabajo durante las operaciones y planificar la carga " -"en el futuro en los centros de trabajo basada en la planificación de " -"producción." #. module: mrp #: help:mrp.workcenter,time_cycle:0 msgid "Time in hours for doing one cycle." -msgstr "Tiempo en horas para realizar un ciclo." +msgstr "" #. module: mrp -#: report:bom.structure:0 -msgid "BOM Ref" -msgstr "Ref LdM" +#: model:ir.actions.act_window,help:mrp.mrp_bom_form_action2 +msgid "" +"

\n" +" Click to add a component to a bill of material.\n" +"

\n" +" Bills of materials components are components and by-" +"products\n" +" used to create master bills of materials. Use this menu to\n" +" search in which BoM a specific component is used.\n" +"

\n" +" " +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 -#: selection:mrp.production,state:0 -#: view:mrp.production.order:0 -#: selection:mrp.production.order,state:0 msgid "In Production" -msgstr "En producción" +msgstr "" #. module: mrp #: model:ir.ui.menu,name:mrp.menu_mrp_property msgid "Master Bill of Materials" -msgstr "Lista de materiales maestra" +msgstr "" #. module: mrp -#: help:mrp.bom,product_uos:0 +#: help:mrp.config.settings,module_product_manufacturer:0 msgid "" -"Product UOS (Unit of Sale) is the unit of measurement for the invoicing and " -"promotion of stock." +"This allows you to define the following for a product:\n" +" * Manufacturer\n" +" * Manufacturer Product Name\n" +" * Manufacturer Product Code\n" +" * Product Attributes.\n" +" This installs the module product_manufacturer." msgstr "" -"UdV del producto (Unidad de Venta) es la unidad de medida para la " -"facturación y la promoción de existencias." #. module: mrp #: view:mrp.product_price:0 #: view:mrp.workcenter.load:0 msgid "Print" -msgstr "Imprimir" +msgstr "" #. module: mrp #: view:mrp.bom:0 #: view:mrp.workcenter:0 msgid "Type" -msgstr "Tipo" +msgstr "" #. module: mrp -#: code:addons/mrp/report/price.py:150 -#: code:addons/mrp/report/price.py:201 -#, python-format -msgid "Total Cost of " -msgstr "Coste total de " +#: model:ir.actions.act_window,help:mrp.mrp_workcenter_action +msgid "" +"

\n" +" Click to add a work center.\n" +"

\n" +" Work Centers allow you to create and manage manufacturing\n" +" units. They consist of workers and/or machines, which are\n" +" considered as units for task assignation as well as " +"capacity\n" +" and planning forecast.\n" +"

\n" +" " +msgstr "" #. module: mrp #: model:process.node,note:mrp.process_node_minimumstockrule0 msgid "Linked to the 'Minimum stock rule' supplying method." -msgstr "Vinculado al método de abastecimiento 'Regla de stock mínimo'." +msgstr "" #. module: mrp #: selection:mrp.workcenter.load,time_unit:0 msgid "Per month" -msgstr "Por mes" +msgstr "" #. module: mrp -#: code:addons/mrp/mrp.py:595 -#: code:addons/mrp/wizard/change_production_qty.py:77 -#: code:addons/mrp/wizard/change_production_qty.py:82 -#, python-format -msgid "Couldn't find bill of material for product" -msgstr "No se puede encontrar la lista de material para el producto" +#: help:mrp.bom,product_uom:0 +msgid "" +"Unit of Measure (Unit of Measure) is the unit of measurement for the " +"inventory control" +msgstr "" #. module: mrp #: report:bom.structure:0 msgid "Product Name" -msgstr "Nombre producto" - -#. module: mrp -#: code:addons/mrp/mrp.py:495 -#, python-format -msgid "Invalid action !" -msgstr "¡Acción no válida!" +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 "" -"Un factor de 0.9 indica una pérdida del 10% en el proceso de producción." #. module: mrp -#: view:mrp.installer:0 -msgid "" -"Add more functionalities to the core Manufacturing Application with the " -"following addons." +#: code:addons/mrp/mrp.py:737 +#: code:addons/mrp/mrp.py:765 +#, python-format +msgid "Warning!" msgstr "" -"Añada más funcionalidades en el núcleo de la aplicación de fabricación con " -"los siguientes módulos." #. module: mrp #: report:mrp.production.order:0 msgid "Printing date" -msgstr "Fecha impresión" +msgstr "" #. module: mrp #: model:process.node,name:mrp.process_node_orderrfq0 #: model:process.node,name:mrp.process_node_rfq0 msgid "RFQ" -msgstr "Petición presupuesto" +msgstr "" #. module: mrp #: model:process.transition,name:mrp.process_transition_producttostockrules0 msgid "Procurement rule" -msgstr "Regla de abastecimiento" +msgstr "" #. module: mrp -#: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Work center per hour." -msgstr "Especificar costes del centro de trabajo por hora." +#: help:mrp.workcenter,costs_cycle_account_id:0 +#: help:mrp.workcenter,costs_hour_account_id:0 +msgid "" +"Fill this only if you want automatic analytic accounting entries on " +"production orders." +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Mark as Started" +msgstr "" #. module: mrp #: view:mrp.production:0 msgid "Partial" -msgstr "Parcial" - -#. module: mrp -#: selection:mrp.production.order,month:0 -msgid "September" -msgstr "Septiembre" +msgstr "" #. module: mrp #: report:mrp.production.order:0 msgid "WorkCenter" -msgstr "Centro de producción" +msgstr "" #. module: mrp #: model:process.transition,note:mrp.process_transition_procureserviceproduct0 @@ -836,188 +839,282 @@ msgid "" "order creates a RFQ for a subcontracting purchase order or waits until the " "service is done (= the delivery of the products)." msgstr "" -"Dependiendo del método elegido para \"suministrar\" del servicio, la orden " -"de abastecimiento crea una solicitud de presupuesto para un pedido de compra " -"(subcontratación) o espera hasta que el servicio se realice (= la entrega de " -"los productos)." #. module: mrp #: selection:mrp.production,priority:0 -#: selection:mrp.production.order,priority:0 msgid "Urgent" -msgstr "Urgente" +msgstr "" #. module: mrp -#: model:ir.model,name:mrp.model_mrp_routing_workcenter -msgid "Work Center Usage" +#: view:mrp.production:0 +msgid "Manufacturing Orders which are waiting for raw materials." +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:285 +#, python-format +msgid "" +"The Product Unit of Measure you chose has a different category than in the " +"product form." msgstr "" #. module: mrp #: model:ir.model,name:mrp.model_mrp_production +#: view:mrp.config.settings:0 +#: view:mrp.production:0 +#: field:mrp.production.workcenter.line,production_id:0 +#: field:procurement.order,production_id:0 msgid "Manufacturing Order" -msgstr "Órden de producción" +msgstr "" #. module: mrp #: model:process.transition,name:mrp.process_transition_productionprocureproducts0 msgid "Procurement of raw material" -msgstr "Abastecimiento de materias primas" +msgstr "" #. module: mrp -#: help:mrp.routing.workcenter,hour_nbr:0 +#: sql_constraint:mrp.bom:0 msgid "" -"Time in hours for this work center to achieve the operation of the specified " -"routing." +"All product quantities must be greater than 0.\n" +"You should install the mrp_byproduct module if you want to manage extra " +"products on BoMs !" msgstr "" -"Tiempo en horas para este centro de producción para realizar la operación de " -"la ruta indicada." #. module: mrp #: view:mrp.production:0 #: field:mrp.production,cycle_total:0 msgid "Total Cycles" -msgstr "Total ciclos" +msgstr "" #. module: mrp #: selection:mrp.production,state:0 -#: view:mrp.production.order:0 -#: selection:mrp.production.order,state:0 msgid "Ready to Produce" -msgstr "Listo para producir" +msgstr "" #. module: mrp -#: field:mrp.bom.revision,name:0 -msgid "Modification name" -msgstr "Nombre de modificación" +#: field:mrp.bom,message_is_follower:0 +#: field:mrp.production,message_is_follower:0 +#: field:mrp.production.workcenter.line,message_is_follower:0 +msgid "Is a Follower" +msgstr "" #. module: mrp #: view:mrp.bom:0 #: view:mrp.production:0 -#: field:mrp.production.order,date:0 msgid "Date" -msgstr "Fecha" +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,help:mrp.mrp_production_action_planning +msgid "" +"

\n" +" Click to start a new manufacturing order. \n" +"

\n" +" A manufacuring order, based on a bill of materials, will\n" +" consume raw materials and produce finished products.\n" +"

\n" +" Manufacturing orders are usually proposed automatically " +"based\n" +" on customer requirements or automated rules like the " +"minimum\n" +" stock rule.\n" +"

\n" +" " +msgstr "" #. module: mrp #: field:mrp.bom,type:0 msgid "BoM Type" -msgstr "Tipo de lista de materiales" +msgstr "" #. module: mrp -#: view:mrp.production.order:0 -msgid "Extended Filters..." -msgstr "Filtros extendidos..." - -#. module: mrp -#: code:addons/mrp/procurement.py:47 +#: code:addons/mrp/procurement.py:52 #, python-format msgid "" "Procurement '%s' has an exception: 'No BoM defined for this product !'" msgstr "" -"Abastecimiento '%s' tiene una excepción: 'El producto no tiene LdM definida!'" #. module: mrp -#: view:mrp.production.order:0 #: view:mrp.property:0 msgid "Search" -msgstr "Buscar" +msgstr "" #. module: mrp -#: field:report.workcenter.load,cycle:0 -msgid "Nbr of cycle" -msgstr "Núm. de ciclo" +#: model:process.node,note:mrp.process_node_billofmaterial0 +msgid "Product's structure" +msgstr "" #. module: mrp #: model:ir.model,name:mrp.model_res_company msgid "Companies" -msgstr "Compañías" +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:634 +#, 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 "Stock mínimo" +msgstr "" #. module: mrp -#: model:ir.ui.menu,name:mrp.menus_dash_mrp -msgid "Dashboard" -msgstr "Tablero" - -#. module: mrp -#: view:board.board:0 -msgid "Work Center Future Load" -msgstr "Carga futura del centro de producción" +#: 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 "Producto almacenable" +msgstr "" #. module: mrp -#: code:addons/mrp/report/price.py:121 +#: code:addons/mrp/report/price.py:130 #, python-format msgid "Work Center name" -msgstr "Nombre del centro de producción" +msgstr "" #. module: mrp #: field:mrp.routing,code:0 msgid "Code" -msgstr "Código" +msgstr "" #. module: mrp #: report:mrp.production.order:0 msgid "No. Of Hours" -msgstr "Núm. de horas" - -#. module: mrp -#: field:mrp.installer,mrp_jit:0 -msgid "Just In Time Scheduling" -msgstr "Planificación 'Just in Time'" +msgstr "" #. module: mrp #: view:mrp.property:0 -#: view:mrp.property.group:0 msgid "Property Group" -msgstr "Grupo de propiedad" +msgstr "" #. module: mrp -#: view:mrp.production:0 -msgid "Qty" -msgstr "Ctd." +#: field:mrp.config.settings,group_mrp_routings:0 +msgid "Manage routings and work orders " +msgstr "" #. module: mrp #: model:process.node,note:mrp.process_node_production0 msgid "Manufacturing Plan." -msgstr "Plan de producción" +msgstr "" #. module: mrp #: view:mrp.routing:0 #: view:mrp.workcenter:0 msgid "Inactive" -msgstr "Inactivo" - -#. module: mrp -#: help:mrp.installer,mrp_subproduct:0 -msgid "" -"Enables multiple product output from a single production order: without " -"this, a production order can have only one output product." msgstr "" -"Habilita la salida de múltiples productos de una sola orden de producción: " -"sin ello, una orden de producción sólo puede tener un producto de salida." #. module: mrp #: view:change.production.qty:0 +#: view:mrp.config.settings:0 #: view:mrp.product.produce:0 #: view:mrp.product_price:0 -#: view:mrp.production:0 #: view:mrp.workcenter.load:0 msgid "Cancel" -msgstr "Cancelar" +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 #: view:mrp.production:0 -msgid "Split in production lots" -msgstr "Dividir en lotes de producción" +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 +#: 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 +#: view:mrp.production:0 +msgid "Manufacturing Orders" +msgstr "" + +#. module: mrp +#: selection:mrp.production,state:0 +msgid "Awaiting Raw Materials" +msgstr "" + +#. module: mrp +#: field:mrp.bom,position:0 +msgid "Internal Reference" +msgstr "" + +#. module: mrp +#: field:mrp.production,product_uos_qty:0 +msgid "Product UoS Quantity" +msgstr "" + +#. module: mrp +#: field:mrp.bom,name:0 +#: report:mrp.production.order:0 +#: field:mrp.production.product.line,name:0 +#: view:mrp.property:0 +#: field:mrp.routing,name:0 +#: field:mrp.routing.workcenter,name:0 +msgid "Name" +msgstr "" + +#. module: mrp +#: report:mrp.production.order:0 +msgid "Production Order N° :" +msgstr "" + +#. module: mrp +#: field:mrp.product.produce,mode:0 +msgid "Mode" +msgstr "" + +#. module: mrp +#: help:mrp.bom,message_ids:0 +#: help:mrp.production,message_ids:0 +#: help:mrp.production.workcenter.line,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: mrp +#: field:mrp.workcenter.load,measure_unit:0 +msgid "Amount measuring unit" +msgstr "" + +#. module: mrp +#: help:mrp.config.settings,module_mrp_jit:0 +msgid "" +"This allows Just In Time computation of procurement orders.\n" +" All procurement orders will be processed immediately, which " +"could in some\n" +" cases entail a small performance impact.\n" +" This installs the module mrp_jit." +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 @@ -1026,1257 +1123,140 @@ msgid "" "Center represents a team of 5 workers, the capacity per cycle is 5." 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 "" -"Si el servicio tiene un método de suministro 'Comprar', se crea una " -"solicitud de presupuesto, por ejemplo, una petición de subcontratación." - -#. module: mrp -#: field:mrp.production,move_prod_id:0 -msgid "Move product" -msgstr "Movimiento producto" - -#. module: mrp -#: view:mrp.production:0 -msgid "Late" -msgstr "Retrasado" - -#. module: mrp -#: model:process.node,name:mrp.process_node_servicemts0 -msgid "Make to stock" -msgstr "Obtener para stock" - -#. module: mrp -#: help:mrp.routing.workcenter,sequence:0 -msgid "" -"Gives the sequence order when displaying a list of routing work centers." -msgstr "" -"Proporciona el orden de secuencias cuando se muestra una lista de " -"enrutamiento de los centros de trabajo." - -#. module: mrp -#: report:bom.structure:0 -msgid "BOM Name" -msgstr "Nombre LdM" - -#. module: mrp -#: view:mrp.production:0 -msgid "Start Production" -msgstr "Empezar producción" - -#. 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 "Tablero de producción" - -#. module: mrp -#: view:mrp.production:0 -msgid "Source Loc." -msgstr "Ubic. orígen" - -#. module: mrp -#: field:mrp.bom,position:0 -msgid "Internal Reference" -msgstr "Referencia interna" - -#. module: mrp -#: help:mrp.installer,stock_location:0 -msgid "" -"Manages product routes and paths within and between locations (e.g. " -"warehouses)." -msgstr "" -"Gestiona las rutas y caminos de los productos dentro y entre las ubicaciones " -"(por ejemplo, almacenes)." - -#. module: mrp -#: model:process.node,note:mrp.process_node_billofmaterial0 -msgid "Product's structure" -msgstr "Estructura de producto" - -#. 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 "Nombre" - -#. module: mrp -#: view:mrp.installer:0 -msgid "MRP Application Configuration" -msgstr "Configuración aplicación MRP" - -#. module: mrp -#: help:mrp.installer,mrp_jit:0 -msgid "" -"Enables Just In Time computation of procurement orders.\n" -"\n" -"While it's more resource intensive than the default setup, the JIT computer " -"avoids having to wait for the procurement scheduler to run or having to run " -"the procurement scheduler manually." -msgstr "" -"Permite el cálculo de las órdenes de abastecimiento justo a tiempo (Just In " -"Time).\n" -"\n" -"Si bien consume más recursos que la configuración predeterminada, el cálculo " -"JIT evita tener que esperar a que se ejecute el planificador de " -"abastecimientos o tener que ejecutar el planificador de abastecimientos de " -"forma manual." - -#. module: mrp -#: field:mrp.product.produce,mode:0 -msgid "Mode" -msgstr "Modo" - -#. module: mrp -#: report:bom.structure:0 -msgid "]" -msgstr "]" - -#. module: mrp -#: field:mrp.workcenter.load,measure_unit:0 -msgid "Amount measuring unit" -msgstr "Importe unidad de medida" - -#. 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 "" -"Las órdenes de fabricación describen las operaciones que deben ser " -"realizadas y las materias primas necesarias para cada etapa de fabricación. " -"Utilice las especificaciones (listas de materiales o LdM) para obtener las " -"necesidades de materias primas y las órdenes de fabricación necesarias para " -"los productos finales. Una vez las listas de materiales hayan sido " -"definidas, OpenERP es capz de decidir automáticamente al ruta de fabricación " -"en función de las necesidades de la compañía." - -#. module: mrp -#: constraint:mrp.production:0 -msgid "Order quantity cannot be negative or zero !" -msgstr "¡Cantidad ordenada no puede ser negativa o cero!" - #. module: mrp #: model:ir.actions.act_window,name:mrp.mrp_production_action3 msgid "Manufacturing Orders in Progress" -msgstr "Órdenes de producción en progreso" +msgstr "" #. module: mrp -#: model:ir.module.module,description:mrp.module_meta_information -msgid "" -"\n" -" This is the base module to manage the manufacturing process in OpenERP.\n" -"\n" -" Features:\n" -" * Make to Stock / Make to Order (by line)\n" -" * Multi-level BoMs, no limit\n" -" * Multi-level routing, no limit\n" -" * Routing and work center integrated with analytic accounting\n" -" * Scheduler computation periodically / Just In Time module\n" -" * Multi-pos, multi-warehouse\n" -" * Different reordering policies\n" -" * Cost method by product: standard price, average price\n" -" * Easy analysis of troubles or needs\n" -" * Very flexible\n" -" * Allows to browse Bill of Materials in complete structure\n" -" that include child and phantom BoMs\n" -" It supports complete integration and planification of stockable goods,\n" -" consumable of services. Services are completely integrated with the " -"rest\n" -" of the software. For instance, you can set up a sub-contracting service\n" -" in a BoM to automatically purchase on order the assembly of your " -"production.\n" -"\n" -" Reports provided by this module:\n" -" * Bill of Material structure and components\n" -" * Load forecast on Work Centers\n" -" * Print a production order\n" -" * Stock forecasts\n" -" Dashboard provided by this module::\n" -" * List of next production orders\n" -" * List of deliveries (out picking)\n" -" * Graph of work center load\n" -" * List of procurement in exception\n" -" " +#: model:ir.actions.client,name:mrp.action_client_mrp_menu +msgid "Open MRP Menu" msgstr "" #. module: mrp #: model:ir.actions.act_window,name:mrp.mrp_production_action4 msgid "Manufacturing Orders Waiting Products" -msgstr "Órdenes de producción en espera de productos" +msgstr "" #. module: mrp #: view:mrp.bom:0 #: view:mrp.production:0 -#: view:mrp.production.order:0 #: view:mrp.property:0 #: view:mrp.routing:0 #: view:mrp.workcenter:0 msgid "Group By..." -msgstr "Agrupar por..." +msgstr "" #. module: mrp -#: code:addons/mrp/report/price.py:121 +#: code:addons/mrp/report/price.py:130 #, python-format msgid "Cycles Cost" -msgstr "Coste ciclos" +msgstr "" + +#. module: mrp +#: code:addons/mrp/wizard/change_production_qty.py:83 +#: code:addons/mrp/wizard/change_production_qty.py:88 +#, python-format +msgid "Cannot find bill of material for this product." +msgstr "" #. module: mrp #: selection:mrp.workcenter.load,measure_unit:0 msgid "Amount in cycles" -msgstr "Valor en ciclos" +msgstr "" #. module: mrp #: field:mrp.production,location_dest_id:0 -#: view:mrp.production.order:0 -#: field:mrp.production.order,location_dest_id:0 msgid "Finished Products Location" -msgstr "Ubicación productos finalizados" +msgstr "" #. module: mrp #: model:ir.ui.menu,name:mrp.menu_pm_resources_config msgid "Resources" -msgstr "Recursos" +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 "Diario analítico" +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 "Centros de producción" +#: code:addons/mrp/report/price.py:139 +#, python-format +msgid "Supplier Price per Unit of Measure" +msgstr "" #. module: mrp #: selection:mrp.workcenter.load,time_unit:0 msgid "Per week" -msgstr "Por semana" - -#. 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 "" -"Las rutas le permiten crear y gestionar las operaciones de fabricación a " -"realizar en sus centros de producción para fabricar un producto. Están " -"relacionadas con las listas de materiales que definirán las materias primas " -"necesarias." #. module: mrp -#: field:report.workcenter.load,hour:0 -msgid "Nbr of hour" -msgstr "Núm. de hora" +#: field:mrp.bom,message_unread:0 +#: field:mrp.production,message_unread:0 +#: field:mrp.production.workcenter.line,message_unread:0 +msgid "Unread Messages" +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 #: view:mrp.routing:0 msgid "Work Center Operations" -msgstr "Operaciones del centro de producción" +msgstr "" #. module: mrp #: view:mrp.routing:0 msgid "Notes" -msgstr "Notas" +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 -#: field:mrp.production.order,bom_id:0 #: model:process.node,name:mrp.process_node_billofmaterial0 msgid "Bill of Material" -msgstr "Lista de material" +msgstr "" #. module: mrp #: view:mrp.workcenter.load:0 msgid "Select time unit" -msgstr "Seleccionar unidad de tiempo" +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,name:mrp.product_supply_method_produce +#: model:ir.ui.menu,name:mrp.menu_mrp_bom +#: model:ir.ui.menu,name:mrp.menu_mrp_product_form +#: view:mrp.config.settings:0 +msgid "Products" +msgstr "" #. module: mrp #: view:report.workcenter.load:0 msgid "Work Center load" -msgstr "Carga centro de producción" +msgstr "" #. module: mrp #: help:mrp.production,location_dest_id:0 msgid "Location where the system will stock the finished products." -msgstr "Ubicación donde el sistema almacenará los productos finalizados." - -#. 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 "" -"Este es el albarán interno que trae el producto terminado hacia el plan de " -"producción." - -#. module: mrp -#: field:stock.change.standard.price,change_parent_price:0 -msgid "Change Parent Price" -msgstr "Cambiar precio padre" - -#. module: mrp -#: model:ir.model,name:mrp.model_stock_move -msgid "Stock Move" -msgstr "Moviemiento de stock" - -#. 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 "" -"La regla de stock mínimo es una regla de abastecimiento automático basado en " -"una cantidad mínima y máxima. Está disponible en el menú de gestión de " -"inventario y configurable por producto." - -#. module: mrp -#: selection:mrp.workcenter.load,time_unit:0 -msgid "Day by day" -msgstr "Día por día" - -#. module: mrp -#: view:mrp.bom:0 -msgid "Revisions" -msgstr "Revisiones" - -#. module: mrp -#: view:mrp.installer:0 -msgid "Configure Your Manufacturing Resource Planning Application" -msgstr "" -"Configure su aplicación de planificación de recursos de fabricación (MRP)" - -#. module: mrp -#: field:mrp.production,priority:0 -#: field:mrp.production.order,priority:0 -msgid "Priority" -msgstr "Prioridad" - -#. module: mrp -#: model:ir.model,name:mrp.model_stock_picking -msgid "Picking List" -msgstr "Albarán" - -#. module: mrp -#: view:mrp.production.order:0 -msgid "Month -1" -msgstr "Mes -1" - -#. module: mrp -#: code:addons/mrp/mrp.py:924 -#, python-format -msgid "Manufacturing order '%s' is scheduled for the %s." -msgstr "Órden de producción '%s' planificada para el '%s'" - -#. module: mrp -#: report:mrp.production.order:0 -msgid "Production Order N° :" -msgstr "Núm. orden producción :" - -#. module: mrp -#: code:addons/mrp/mrp.py:640 -#, python-format -msgid "Manufacturing order '%s' is ready to produce." -msgstr "Orden fabricación '%s' está preparada para producir." - -#. module: mrp -#: model:ir.model,name:mrp.model_mrp_production_product_line -msgid "Production Scheduled Product" -msgstr "Fabricación planificada producto" - -#. module: mrp -#: help:res.company,manufacturing_lead:0 -msgid "Security days for each manufacturing operation." -msgstr "Días de seguridad para cada operación de fabricación." - -#. 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 "Obtener para stock" - -#. module: mrp -#: selection:mrp.production.order,month:0 -msgid "July" -msgstr "Julio" - -#. 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 "" -"Las listas de materiales maestras le permiten crear y gestionar la lista de " -"las materias primas necesarias utilizadas para fabricar un producto acabado. " -"OpenERP utilizará estas LdMs para proponer automáticamente órdenes de " -"fabricación en función de las necesidades de producto. Puede crear una lista " -"de materiales para definir los pasos de producción o definir una única lista " -"de materiales multi-nivel." - -#. 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 "" -"En caso de que el método de suministro del producto se Compra, el sistema " -"crea un pedido de compra." - -#. module: mrp -#: model:ir.model,name:mrp.model_procurement_order -msgid "Procurement" -msgstr "Abastecimiento" - -#. 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 "Estructura de los costes del producto" - -#. module: mrp -#: code:addons/mrp/report/price.py:130 -#, python-format -msgid "Components suppliers" -msgstr "Proveedores de componentes" - -#. module: mrp -#: model:ir.model,name:mrp.model_mrp_installer -msgid "mrp.installer" -msgstr "mrp.instalador" - -#. module: mrp -#: view:mrp.production:0 -msgid "Production Work Centers" -msgstr "Centros de trabajo de producción" - -#. module: mrp -#: view:mrp.production.order:0 -#: field:mrp.production.order,month:0 -msgid "Month" -msgstr "Mes" - -#. module: mrp -#: code:addons/mrp/wizard/change_production_qty.py:62 -#, python-format -msgid "Active Id is not found" -msgstr "ID activo no se encuentra" - -#. module: mrp -#: view:mrp.workcenter:0 -msgid "Search for mrp workcenter" -msgstr "Buscar por centro de producción mrp" - -#. module: mrp -#: view:mrp.bom:0 -msgid "BoM Structure" -msgstr "Despiece de la LdM" - -#. module: mrp -#: field:mrp.production,date_start:0 -#: field:mrp.production.order,date_start:0 -msgid "Start Date" -msgstr "Fecha inicial" - -#. module: mrp -#: field:mrp.workcenter,costs_hour_account_id:0 -msgid "Hour Account" -msgstr "Cuenta horas" - -#. module: mrp -#: view:mrp.production:0 -msgid "Destination Loc." -msgstr "Ubic. destino" - -#. module: mrp -#: field:mrp.production.order,product_id2:0 -msgid "Product Consumed" -msgstr "Producto consumido" - -#. module: mrp -#: view:mrp.production:0 -msgid "Pending" -msgstr "Pendiente" - -#. module: mrp -#: field:mrp.bom,active:0 -#: field:mrp.routing,active:0 -msgid "Active" -msgstr "Activo" - -#. module: mrp -#: model:process.node,name:mrp.process_node_procureproducts0 -msgid "Procure Products" -msgstr "Abastecer productos" - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.action_report_workcenter_load_tree -#: view:report.workcenter.load:0 -msgid "Work Center Loads" -msgstr "Cargas centro de producción" - -#. 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 "Propiedades" - -#. module: mrp -#: help:mrp.production,origin:0 -msgid "" -"Reference of the document that generated this production order request." -msgstr "" -"Referencia al documento que generó esta solicitud de orden de producción." - -#. 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 "" -"Todas las cantidades de producto deben de ser superiores a cero.\n" -"¡Debe instalar el módulo mrp_subproduct si quiere gestionar productos extra " -"en las LdM!" - -#. module: mrp -#: view:mrp.production:0 -msgid "Extra Information" -msgstr "Información extra" - -#. module: mrp -#: model:ir.model,name:mrp.model_change_production_qty -msgid "Change Quantity of Products" -msgstr "Cambiar cantidad de productos" - -#. module: mrp -#: model:process.node,note:mrp.process_node_productionorder0 -msgid "Drives the procurement orders for raw material." -msgstr "Guía las órdenes de abastecimiento para materias primas." - -#. module: mrp -#: view:mrp.production.order:0 -msgid "Current" -msgstr "Actual" - -#. module: mrp -#: field:mrp.workcenter,costs_general_account_id:0 -msgid "General Account" -msgstr "Cuenta general" - -#. module: mrp -#: report:mrp.production.order:0 -msgid "SO Number" -msgstr "Número venta" - -#. module: mrp -#: selection:mrp.production,state:0 -#: view:mrp.production.order:0 -#: selection:mrp.production.order,state:0 -msgid "Done" -msgstr "Realizado" - -#. module: mrp -#: model:ir.model,name:mrp.model_stock_change_standard_price -msgid "Change Standard Price" -msgstr "Cambio de precio estándar" - -#. module: mrp -#: field:mrp.production,origin:0 -#: report:mrp.production.order:0 -#: field:mrp.production.order,origin:0 -msgid "Source Document" -msgstr "Documento origen" - -#. module: mrp -#: selection:mrp.production,priority:0 -#: selection:mrp.production.order,priority:0 -msgid "Not urgent" -msgstr "No urgente" - -#. module: mrp -#: help:stock.change.standard.price,change_parent_price:0 -msgid "" -"This will change the price of parent products also according to the BoM " -"structure specified for the product." -msgstr "" -"Esto cambiará el precio de los productos padre de acuerdo a la estructura de " -"la lista de materiales del producto." - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.mrp_production_action2 -msgid "Manufacturing Orders To Start" -msgstr "Órdenes de producción a iniciar" - -#. module: mrp -#: code:addons/mrp/mrp.py:495 -#, python-format -msgid "Cannot delete Production Order(s) which are in %s State!" -msgstr "" -"¡No se puede eliminar orden(es) de producción que están en estado %s!" - -#. 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 "Centro de producción" - -#. module: mrp -#: field:mrp.workcenter,capacity_per_cycle:0 -msgid "Capacity per Cycle" -msgstr "Capacidad por ciclo" - -#. 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 -#: view:mrp.production.order:0 -#: field:mrp.production.order,product_id:0 -#: field:mrp.production.product.line,product_id:0 -msgid "Product" -msgstr "Producto" - -#. module: mrp -#: view:mrp.production:0 -#: field:mrp.production,hour_total:0 -msgid "Total Hours" -msgstr "Total horas" - -#. module: mrp -#: field:mrp.production,location_src_id:0 -#: field:mrp.production.order,location_src_id:0 -msgid "Raw Materials Location" -msgstr "Ubicación materias primas" - -#. module: mrp -#: view:mrp.product_price:0 -msgid "Print Cost Structure of Product." -msgstr "Imprimir la estructura de costes del producto" - -#. module: mrp -#: field:mrp.bom,product_uos:0 -#: field:mrp.production.product.line,product_uos:0 -msgid "Product UOS" -msgstr "UdV del producto" - -#. module: mrp -#: model:ir.actions.act_window,help:mrp.mrp_workcenter_action -msgid "" -"Work Centers allow you to create and manage manufacturing units consisting " -"of one or more persons and/or machines that can be considered as a unit for " -"capacity and planning forecasting." -msgstr "" -"Los centros de trabajo le permiten crear y administrar unidades de " -"producción que consisten en una o más personas y / o máquinas que se pueden " -"considerar como una unidad para la capacidad de planificación y previsión." - -#. module: mrp -#: view:mrp.production:0 -msgid "Consume Products" -msgstr "Consumir productos" - -#. module: mrp -#: field:mrp.bom,product_uom:0 -#: field:mrp.production,product_uom:0 -#: field:mrp.production.order,product_uom:0 -#: field:mrp.production.product.line,product_uom:0 -msgid "Product UOM" -msgstr "UdM del producto" - -#. 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 "Obtener bajo pedido" - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.action_report_mrp_production_order -#: model:ir.ui.menu,name:mrp.menu_report_mrp_production_orders_tree -msgid "Production Analysis" -msgstr "Análisis de producción" - -#. module: mrp -#: code:addons/mrp/mrp.py:349 -#, python-format -msgid "Copy" -msgstr "Copiar" - -#. module: mrp -#: view:mrp.production.lot.line:0 -msgid "Production Products" -msgstr "Productos producidos" - -#. module: mrp -#: field:mrp.production,date_finished:0 -#: field:mrp.production.order,date_finished:0 -msgid "End Date" -msgstr "Fecha final" - -#. module: mrp -#: field:mrp.workcenter,resource_id:0 -msgid "Resource" -msgstr "Recurso" - -#. 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 "" -"Validez de esta LdM o componente. Dejarlo vacío si siempre es válido." - -#. module: mrp -#: field:mrp.production,product_uos:0 -msgid "Product UoS" -msgstr "UdV del producto" - -#. module: mrp -#: view:mrp.production.order:0 -msgid "#Line Orders" -msgstr "Nº línea órdenes" - -#. module: mrp -#: selection:mrp.production,priority:0 -#: selection:mrp.production.order,priority:0 -msgid "Very Urgent" -msgstr "Muy urgente" - -#. 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 "" -"La lista de operaciones (lista de los centros de trabajo) para producir los " -"productos terminados. La ruta se utiliza principalmente para calcular los " -"costes del centro de trabajo durante las operaciones de carga y planificar " -"el futuro en los centros de trabajo basado en la planificación de la " -"producción." - -#. module: mrp -#: view:change.production.qty:0 -msgid "Approve" -msgstr "Aprobar" - -#. module: mrp -#: view:mrp.property.group:0 -msgid "Properties categories" -msgstr "Categorías de propiedades" - -#. module: mrp -#: help:mrp.production.workcenter.line,sequence:0 -msgid "Gives the sequence order when displaying a list of work orders." -msgstr "" -"Indica el orden de secuencia cuando se muestra una lista de órdenes de " -"trabajo." - -#. module: mrp -#: report:mrp.production.order:0 -msgid "Source Location" -msgstr "Ubicación origen" - -#. module: mrp -#: view:mrp.production:0 -#: view:mrp.production.product.line:0 -msgid "Scheduled Products" -msgstr "Productos planificados" - -#. module: mrp -#: view:mrp.production.lot.line:0 -msgid "Production Products Consommation" -msgstr "Consumición de productos producidos" - -#. module: mrp -#: 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 "Órdenes de producción" - -#. 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 "" -"El modo 'Sólo consumir' sólo se consumen los productos con la cantidad " -"seleccionada.\n" -"El modo 'Consumo y Producción' se consumen y también se producen los " -"productos con la cantidad seleccionada y finalizará la orden de producción " -"cuando el total de las cantidades solicitadas se han producido." - -#. module: mrp -#: view:mrp.production:0 -#: report:mrp.production.order:0 -msgid "Work Orders" -msgstr "Órdenes de trabajo" - -#. module: mrp -#: field:mrp.workcenter,costs_cycle:0 -msgid "Cost per cycle" -msgstr "Coste por ciclo" - -#. module: mrp -#: model:process.node,name:mrp.process_node_serviceproduct0 -#: model:process.node,name:mrp.process_node_serviceproduct1 -msgid "Service" -msgstr "Servicio" - -#. module: mrp -#: selection:mrp.production,state:0 -#: selection:mrp.production.order,state:0 -msgid "Cancelled" -msgstr "Cancelado" - -#. module: mrp -#: view:mrp.production.order:0 -msgid "BOM" -msgstr "LdM" - -#. module: mrp -#: help:mrp.bom,product_uom:0 -msgid "" -"UoM (Unit of Measure) is the unit of measurement for the inventory control" -msgstr "" -"UdM(Unidad de medida) es la unidad de medida para el control de inventario" - -#. 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 "" -"La lista de materiales es la composición del producto. Los componentes (que " -"son también productos) pueden tener sus propias listas de materiales (multi-" -"nivel)." - -#. module: mrp -#: field:mrp.bom,company_id:0 -#: field:mrp.production,company_id:0 -#: view:mrp.production.order:0 -#: field:mrp.production.order,company_id:0 -#: field:mrp.routing,company_id:0 -#: field:mrp.routing.workcenter,company_id:0 -#: view:mrp.workcenter:0 -msgid "Company" -msgstr "Compañía" - -#. module: mrp -#: field:mrp.workcenter,time_cycle:0 -msgid "Time for 1 cycle (hour)" -msgstr "Tiempo para 1 ciclo (horas)" - -#. 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 "Orden de producción" - -#. module: mrp -#: model:process.node,note:mrp.process_node_productminimumstockrule0 -msgid "Automatic procurement rule" -msgstr "Regla de abastecimiento automática" - -#. module: mrp -#: view:mrp.production:0 -msgid "Compute Data" -msgstr "Calcular datos" - -#. module: mrp -#: field:mrp.production,product_uos_qty:0 -msgid "Product UoS Qty" -msgstr "Cant. UdV del producto" - -#. module: mrp -#: code:addons/mrp/report/price.py:130 -#: view:mrp.bom:0 -#, python-format -msgid "Components" -msgstr "Componentes" - -#. module: mrp -#: report:bom.structure:0 -#: model:ir.actions.report.xml,name:mrp.report_bom_structure -msgid "BOM Structure" -msgstr "Despiece de la LdM" - -#. module: mrp -#: field:mrp.bom,date_stop:0 -msgid "Valid Until" -msgstr "Válido hasta" - -#. module: mrp -#: field:mrp.bom,date_start:0 -msgid "Valid From" -msgstr "Válido desde" - -#. module: mrp -#: selection:mrp.bom,type:0 -msgid "Normal BoM" -msgstr "LdM normal" - -#. module: mrp -#: field:res.company,manufacturing_lead:0 -msgid "Manufacturing Lead Time" -msgstr "Tiempo entrega de fabricación" - -#. module: mrp -#: field:mrp.bom,product_uos_qty:0 -#: field:mrp.production.product.line,product_uos_qty:0 -msgid "Product UOS Qty" -msgstr "Ctdad UdV producto" - -#. 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 "" -"La variación semanal del valor del stock permite realizar un seguimiento de " -"la evolución del valor del stock relativo a las actividades de fabricacion, " -"recepciónd de productos y ordenes de entrega." - -#. module: mrp -#: view:mrp.product.produce:0 -msgid "Confirm" -msgstr "Confirmar" - -#. module: mrp -#: field:mrp.bom,product_efficiency:0 -msgid "Manufacturing Efficiency" -msgstr "Eficiencia de la producción" - -#. module: mrp -#: constraint:res.company:0 -msgid "Error! You can not create recursive companies." -msgstr "¡Error! No puede crear compañías recursivas." - -#. 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 "" -"Si el campo activo se desmarca, permite ocultar las listas de material sin " -"eliminarlas." - -#. module: mrp -#: field:mrp.bom,product_rounding:0 -msgid "Product Rounding" -msgstr "Redondeo del producto" - -#. module: mrp -#: model:ir.model,name:mrp.model_mrp_production_workcenter_line -#: field:mrp.production.workcenter.line,name:0 -msgid "Work Order" -msgstr "Orden de trabajo" - -#. module: mrp -#: model:ir.actions.act_window,help:mrp.action_report_mrp_production_order -msgid "" -"This reporting allows you to analyse your manufacturing activities and " -"performance." -msgstr "" -"Estos informes le permiten analizar sus actividad productiva y su " -"rendimiento." - -#. module: mrp -#: selection:mrp.product.produce,mode:0 -msgid "Consume Only" -msgstr "Consumir únicamente" - -#. module: mrp -#: view:mrp.production:0 -msgid "Recreate Picking" -msgstr "Volver a crear albarán" - -#. 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 "" -"Si un sub-producto se utiliza en varios productos, puede ser útil crear su " -"propia lista de materiales. Aunque si no quiere órdenes de producción " -"separadas para este sub-producto, seleccione Conjunto/Fantasma como tipo de " -"LdM. Si una LdM fantasma se utiliza para un producto raíz, será vendida y " -"enviada como un conjunto de componentes, en vez de ser producida." - -#. module: mrp -#: field:mrp.bom,method:0 -msgid "Method" -msgstr "Método" - -#. 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 "" -"Cuando se crea la orden de fabricación su estado es fijado a \"Borrador\"\n" -" Si la orden está confirmdada, el estado es fijado a \"Esperando " -"mercancía\"\n" -" Si existe alguna excepción, el estado es fijado a \"Excepcion de " -"abastecimiento\"\n" -"Si el stock está disponible, el estado es fijado a \"Listo para producir\"\n" -" Cuando la fabricación comienza, el estado es fijado a \"En producción\"\n" -" Cuando la fabricación finaliza, el estado es fijado a \"Realizado\"" - -#. module: mrp -#: selection:mrp.bom,method:0 -msgid "On Order" -msgstr "En orden" - -#. module: mrp -#: model:ir.ui.menu,name:mrp.menu_mrp_configuration -#: view:res.company:0 -msgid "Configuration" -msgstr "Configuración" - -#. module: mrp -#: field:mrp.workcenter,time_stop:0 -msgid "Time after prod." -msgstr "Tiempo después producción" - -#. module: mrp -#: field:mrp.workcenter.load,time_unit:0 -msgid "Type of period" -msgstr "Tipo de período" - -#. module: mrp -#: view:mrp.production:0 -msgid "Total Qty" -msgstr "Ctdad total" - -#. module: mrp -#: field:mrp.routing.workcenter,hour_nbr:0 -msgid "Number of Hours" -msgstr "Número de horas" - -#. module: mrp -#: view:mrp.workcenter:0 -msgid "Costing Information" -msgstr "Información de costes" - -#. module: mrp -#: model:process.node,name:mrp.process_node_purchaseprocure0 -msgid "Procurement Orders" -msgstr "Órdenes de abastecimiento" - -#. module: mrp -#: help:mrp.bom,product_rounding:0 -msgid "Rounding applied on the product quantity." -msgstr "Redondeo aplicado sobre la cantidad de producto" - -#. module: mrp -#: model:process.node,note:mrp.process_node_stock0 -msgid "Assignment from Production or Purchase Order." -msgstr "Asignación desde producción o pedido de compra." - -#. module: mrp -#: field:mrp.routing.workcenter,routing_id:0 -msgid "Parent Routing" -msgstr "Proceso productivo padre" - -#. module: mrp -#: view:mrp.installer:0 -msgid "Configure" -msgstr "Configurar" - -#. module: mrp -#: help:mrp.workcenter,time_start:0 -msgid "Time in hours for the setup." -msgstr "Tiempo en horas para la configuración." - -#. module: mrp -#: selection:mrp.production.order,month:0 -msgid "December" -msgstr "Diciembre" - -#. module: mrp -#: field:mrp.installer,config_logo:0 -msgid "Image" -msgstr "Imagen" - -#. module: mrp -#: field:mrp.bom.revision,bom_id:0 -#: field:procurement.order,bom_id:0 -msgid "BoM" -msgstr "Lista de materiales (LdM)" - -#. module: mrp -#: model:ir.model,name:mrp.model_report_mrp_inout -#: view:report.mrp.inout:0 -msgid "Stock value variation" -msgstr "Variación del valor del stock" - -#. module: mrp -#: model:process.node,note:mrp.process_node_mts0 -#: model:process.node,note:mrp.process_node_servicemts0 -msgid "Assignment from stock." -msgstr "Asignación desde stock." - -#. module: mrp -#: selection:mrp.production,state:0 -#: view:mrp.production.order:0 -#: selection:mrp.production.order,state:0 -msgid "Waiting Goods" -msgstr "Esperando mercancía" - -#. module: mrp -#: field:mrp.bom.revision,last_indice:0 -msgid "last indice" -msgstr "Último índice" - -#. module: mrp -#: field:mrp.bom,revision_ids:0 -#: view:mrp.bom.revision:0 -msgid "BoM Revisions" -msgstr "Revisiones lista de materiales" - -#. module: mrp -#: selection:mrp.production,state:0 -#: selection:mrp.production.order,state:0 -msgid "Draft" -msgstr "Borrador" - -#. module: mrp -#: field:report.mrp.inout,date:0 -#: field:report.workcenter.load,name:0 -msgid "Week" -msgstr "Semana" - -#. module: mrp -#: field:mrp.installer,progress:0 -msgid "Configuration Progress" -msgstr "Progreso de la configuración" - -#. module: mrp -#: selection:mrp.production,priority:0 -#: selection:mrp.production.order,priority:0 -msgid "Normal" -msgstr "Normal" - -#. module: mrp -#: model:process.node,note:mrp.process_node_routing0 -msgid "Manufacturing Steps." -msgstr "Etapas de producción." - -#. module: mrp -#: code:addons/mrp/report/price.py:136 -#: model:ir.actions.report.xml,name:mrp.report_cost_structure -#, python-format -msgid "Cost Structure" -msgstr "Estructura de costes" - -#. module: mrp -#: selection:mrp.product.produce,mode:0 -msgid "Consume & Produce" -msgstr "Consumir y Producir" - -#. module: mrp -#: selection:mrp.production.order,month:0 -msgid "November" -msgstr "Noviembre" - -#. module: mrp -#: field:mrp.bom,bom_id:0 -msgid "Parent BoM" -msgstr "Lista de materiales (LdM) padre" - -#. 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 "" -"Los componente de listas de materiales son componentes y sub-productos " -"utilizados para crear listas de materiales maestras. Utilice este menú para " -"buscar en qué LdM es utilizado un componente específico." - -#. module: mrp -#: selection:mrp.production.order,month:0 -msgid "January" -msgstr "Enero" - -#. module: mrp -#: model:process.node,note:mrp.process_node_stockproduct0 -msgid "Product type is Stockable or Consumable." -msgstr "Tipo de producto es almacenable o consumible." - -#. module: mrp -#: code:addons/mrp/mrp.py:595 -#: code:addons/mrp/wizard/change_production_qty.py:77 -#: code:addons/mrp/wizard/change_production_qty.py:82 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: mrp -#: field:mrp.product.produce,product_qty:0 -msgid "Select Quantity" -msgstr "Seleccionar cantidad" - -#. 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 "Lista de materiales (LdM)" #. module: mrp #: help:mrp.routing.workcenter,routing_id:0 @@ -2287,26 +1267,359 @@ msgid "" msgstr "" #. module: mrp -#: model:ir.model,name:mrp.model_mrp_bom_revision -msgid "Bill of Material Revision" -msgstr "Revisión de lista de materiales" +#: code:addons/mrp/mrp.py:505 +#, python-format +msgid "Invalid Action!" +msgstr "" #. module: mrp -#: view:mrp.routing.workcenter:0 -#: view:mrp.workcenter:0 -msgid "General Information" -msgstr "Información general" +#: 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 +#: field:mrp.production,priority:0 +msgid "Priority" +msgstr "" + +#. module: mrp +#: model:ir.model,name:mrp.model_stock_picking +#: field:mrp.production,picking_id:0 +msgid "Picking List" +msgstr "" + +#. module: mrp +#: help:mrp.production,bom_id:0 +msgid "" +"Bill of Materials allow you to define the list of required raw materials to " +"make a finished product." +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:375 +#, python-format +msgid "%s (copy)" +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: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: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 +#: field:mrp.config.settings,module_product_manufacturer:0 +msgid "Define manufacturers on products " +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 "Productions" -msgstr "Producciones" +msgid "Production Work Centers" +msgstr "" #. module: mrp -#: code:addons/mrp/report/price.py:194 +#: 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 +#: field:mrp.bom,product_uom:0 +#: field:mrp.production,product_uom:0 +#: field:mrp.production.product.line,product_uom:0 +msgid "Product Unit of Measure" +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 +#: field:mrp.bom,active:0 +#: field:mrp.routing,active:0 +msgid "Active" +msgstr "" + +#. module: mrp +#: help:mrp.config.settings,group_mrp_routings:0 +msgid "" +"Routings allow you to create and manage the manufacturing operations that " +"should be followed\n" +" within your work centers in order to produce a product. They " +"are attached to bills of materials\n" +" that will define the required raw materials." +msgstr "" + +#. module: mrp +#: view:report.workcenter.load:0 +msgid "Work Center Loads" +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 +#: field:procurement.order,property_ids:0 +msgid "Properties" +msgstr "" + +#. module: mrp +#: help:mrp.production,origin:0 +msgid "" +"Reference of the document that generated this production order request." +msgstr "" + +#. module: mrp +#: model:process.transition,name:mrp.process_transition_minimumstockprocure0 +msgid "'Minimum stock rule' material" +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.production.product.line,product_uos_qty:0 +msgid "Product UOS Quantity" +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 +#: code:addons/mrp/mrp.py:505 #, python-format -msgid "Work Cost of " -msgstr "Coste trabajo de " +msgid "Cannot delete a manufacturing order in state '%s'." +msgstr "" + +#. module: mrp +#: selection:mrp.production,state:0 +msgid "Done" +msgstr "" + +#. module: mrp +#: view:product.product:0 +msgid "When you sell this product, OpenERP will trigger" +msgstr "" + +#. module: mrp +#: field:mrp.production,origin:0 +#: report:mrp.production.order:0 +msgid "Source Document" +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.actions.act_window,name:mrp.mrp_workcenter_action +#: model:ir.model,name:mrp.model_mrp_workcenter +#: model:ir.ui.menu,name:mrp.menu_view_resource_search_mrp +#: 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 +#: model:ir.actions.act_window,help:mrp.mrp_property_group_action +msgid "" +"

\n" +" Click to create a group of properties.\n" +"

\n" +" Define specific property groups that can be assigned to " +"your\n" +" bill of materials and sales orders. Properties allows " +"OpenERP\n" +" to automatically select the right bill of materials " +"according\n" +" to properties selected in the sales order by salesperson.\n" +"

\n" +" For instance, in the property group \"Warranty\", you an " +"have\n" +" two properties: 1 year warranty, 3 years warranty. " +"Depending\n" +" on the propoerties selected in the sales order, OpenERP " +"will\n" +" schedule a production using the matching bill of materials.\n" +"

\n" +" " +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 #: help:mrp.workcenter,note:0 @@ -2316,160 +1629,656 @@ msgid "" 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 -#: field:mrp.production.order,routing_id:0 -#: view:mrp.routing:0 -#: model:process.node,name:mrp.process_node_routing0 -msgid "Routing" -msgstr "Proceso productivo" - -#. module: mrp -#: field:mrp.installer,mrp_operations:0 -msgid "Manufacturing Operations" -msgstr "Operaciones de producción" - -#. module: mrp -#: field:mrp.production,date_planned:0 -msgid "Scheduled date" -msgstr "Fecha planificada" - -#. module: mrp -#: constraint:stock.move:0 -msgid "You must assign a production lot for this product" -msgstr "Debe asignar un lote de producción para este producto" - -#. 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 the needs." +#: field:mrp.production,date_finished:0 +msgid "End Date" msgstr "" -"Las propiedades en OpenERP se utilizan para seleccionar la correcta lista de " -"materiales para la fabricación de uno de los productos cuando se tienen " -"diferentes formas de fabricar el mismo producto. Puede asignar varias " -"propiedades para cada lista de materiales. Cuando un vendedor crea un pedido " -"de cliente, él puede relacionarlo con varias propiedades y OpenERP " -"seleccionará automáticamente la lista de materiales para utilizar según las " -"necesidades." #. module: mrp -#: view:mrp.production.order:0 +#: 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.config.settings:0 +msgid "Order" +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 +#: model:res.groups,name:mrp.group_mrp_manager +msgid "Manager" +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 +#: view:mrp.production:0 +msgid "(Update)" +msgstr "" + +#. module: mrp +#: help:mrp.config.settings,module_mrp_operations:0 +msgid "" +"This allows to add state, date_start,date_stop in production order operation " +"lines (in the \"Work Centers\" tab).\n" +" This installs the module mrp_operations." +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:737 +#, 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 +#: view:mrp.bom:0 +msgid "Default Unit of Measure" +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 +#: 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 +#: field:mrp.bom,message_ids:0 +#: field:mrp.production,message_ids:0 +#: field:mrp.production.workcenter.line,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Compute Data" +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:610 +#: code:addons/mrp/wizard/change_production_qty.py:83 +#: code:addons/mrp/wizard/change_production_qty.py:88 +#, python-format +msgid "Error!" +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.config.settings,module_mrp_jit:0 +msgid "Generate procurement in real time" +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 +#: code:addons/mrp/mrp.py:285 +#, python-format +msgid "Warning" +msgstr "" + +#. module: mrp +#: field:mrp.bom,product_uos_qty:0 +msgid "Product UOS Qty" +msgstr "" + +#. module: mrp +#: field:mrp.production,move_prod_id:0 +msgid "Product Move" +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 +#: field:mrp.bom,message_follower_ids:0 +#: field:mrp.production,message_follower_ids:0 +#: field:mrp.production.workcenter.line,message_follower_ids:0 +msgid "Followers" +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 +#: selection:mrp.bom,method:0 +msgid "On Order" +msgstr "" + +#. module: mrp +#: model:ir.ui.menu,name:mrp.menu_mrp_configuration +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.production.workcenter.line,hour:0 +#: field:mrp.routing.workcenter,hour_nbr:0 +#: field:report.workcenter.load,hour: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 +#: model:ir.actions.act_window,help:mrp.mrp_bom_form_action +msgid "" +"

\n" +" Click to create a bill of material. \n" +"

\n" +" Bills of Materials allow you to define the list of required " +"raw\n" +" materials used to make a finished product; through a " +"manufacturing\n" +" order or a pack of products.\n" +"

\n" +" OpenERP uses these BoMs to automatically propose " +"manufacturing\n" +" orders according to procurement needs.\n" +"

\n" +" " +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 +#: field:mrp.config.settings,module_mrp_repair:0 +msgid "Manage repairs of products " +msgstr "" + +#. module: mrp +#: help:mrp.config.settings,module_mrp_byproduct:0 +msgid "" +"You can configure by-products in the bill of material.\n" +" Without this module: A + B + C -> D.\n" +" With this module: A + B + C -> D + E.\n" +" This installs the module mrp_byproduct." +msgstr "" + +#. module: mrp +#: 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 +#: code:addons/mrp/report/price.py:139 +#, python-format +msgid "Cost Price per Unit of Measure" +msgstr "" + +#. module: mrp +#: field:report.mrp.inout,date:0 +#: view:report.workcenter.load: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 +#: code:addons/mrp/mrp.py:765 +#, 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 +#: selection:mrp.production,state:0 +msgid "Production Started" +msgstr "" + +#. module: mrp +#: model:process.node,name:mrp.process_node_procureproducts0 +msgid "Procure Products" +msgstr "" + +#. module: mrp +#: field:mrp.product.produce,product_qty:0 +msgid "Select Quantity" +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,name:mrp.mrp_bom_form_action +#: model:ir.actions.act_window,name:mrp.product_open_bom +#: model:ir.ui.menu,name:mrp.menu_mrp_bom_form_action +#: view:mrp.bom:0 +#: view:product.product:0 +#: field:product.product,bom_ids:0 +msgid "Bill of Materials" +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:610 +#, python-format +msgid "Cannot find a bill of material for this product." +msgstr "" + +#. module: mrp +#: view:product.product:0 +msgid "" +"using the bill of materials assigned to this product.\n" +" The delivery order will be ready once the production " +"is done." +msgstr "" + +#. module: mrp +#: field:mrp.config.settings,module_stock_no_autopicking:0 +msgid "Manage manual picking to fulfill manufacturing orders " +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_stock_move_split +#: view:mrp.production:0 +msgid "Split in Serial Numbers" +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.production:0 #: field:stock.move,production_id:0 msgid "Production" -msgstr "Producción" +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 "Abastecimientos en excepción" - -#. module: mrp -#: model:process.transition,name:mrp.process_transition_minimumstockprocure0 -msgid "'Minimum stock rule' material" -msgstr "material 'regla stock mínimo'" +msgstr "" #. module: mrp #: model:ir.model,name:mrp.model_mrp_product_price msgid "Product Price" -msgstr "Precio del producto" - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.action_mrp_installer -msgid "MRP Applications Configuration" -msgstr "Configuración de las aplicaciónes MRP" - -#. module: mrp -#: model:ir.model,name:mrp.model_stock_move_split -msgid "Split in Production lots" -msgstr "Dividir en lotes de producción" +msgstr "" #. module: mrp #: view:change.production.qty:0 msgid "Change Quantity" -msgstr "Cambiar cantidad" +msgstr "" #. module: mrp #: view:change.production.qty:0 #: model:ir.actions.act_window,name:mrp.action_change_production_qty msgid "Change Product Qty" -msgstr "Cambiar Ctd. producto" +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 "Descripción" - -#. module: mrp -#: selection:mrp.production.order,month:0 -msgid "May" -msgstr "Mayo" +msgstr "" #. module: mrp #: view:board.board:0 msgid "Manufacturing board" -msgstr "Tablero fabricación" - -#. module: mrp -#: field:mrp.production,date_planned_end:0 -msgid "Scheduled End Date" -msgstr "Fecha de fin planificada" - -#. module: mrp -#: model:ir.actions.act_window,help:mrp.action_report_workcenter_load_tree -msgid "" -"Work Center Loads gives you a projection of work center loads over a " -"specified period. It is expressed in number of hours and machine related " -"cycles." msgstr "" -"Las cargas de los centros de producción muestran un pronóstico de la carga " -"de los centros de producción respecto a un periodo determinado. Está " -"expresado en número de horas y ciclos de máquina relacionados." + +#. module: mrp +#: code:addons/mrp/wizard/change_production_qty.py:68 +#, python-format +msgid "Active Id not found" +msgstr "" #. module: mrp #: model:process.node,note:mrp.process_node_procureproducts0 msgid "The way to procurement depends on the product type." -msgstr "La forma de abastecer depende del tipo de producto." +msgstr "" #. module: mrp +#: model:ir.actions.act_window,name:mrp.open_board_manufacturing +#: model:ir.ui.menu,name:mrp.menu_board_manufacturing #: model:ir.ui.menu,name:mrp.menu_mrp_manufacturing +#: model:ir.ui.menu,name:mrp.next_id_77 msgid "Manufacturing" -msgstr "Fabricación" +msgstr "" #. module: mrp -#: view:board.board:0 -msgid "Next Production Orders" -msgstr "Próximas órdenes de producción" +#: help:mrp.bom,type:0 +msgid "" +"If a by-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 by-" +"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 -#: selection:mrp.production.order,month:0 -msgid "February" -msgstr "Febrero" +#: model:ir.actions.act_window,name:mrp.action_mrp_configuration +#: view:mrp.config.settings:0 +msgid "Configure Manufacturing" +msgstr "" + +#. module: mrp +#: view:product.product:0 +msgid "" +"a manufacturing\n" +" order" +msgstr "" + +#. module: mrp +#: field:mrp.config.settings,group_mrp_properties:0 +msgid "Allow several bill of materials per products using properties" +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 "Grupos de propiedades" +msgstr "" #. module: mrp -#: selection:mrp.production.order,month:0 -msgid "April" -msgstr "Abril" +#: 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 #: model:process.transition,note:mrp.process_transition_procurestockableproduct0 @@ -2477,19 +2286,23 @@ msgid "" "Depending on the chosen method to supply the stockable products, the " "procurement order creates a RFQ, a production order, ... " msgstr "" -"Dependiendo del método elegido para suministrar los productos almacenables, " -"la orden de abastecimiento crea una petición de presupuesto, una orden de " -"producción, ... " #. module: mrp #: help:mrp.workcenter,time_stop:0 msgid "Time in hours for the cleaning." -msgstr "Tiempo en horas para la limpieza." +msgstr "" + +#. module: mrp +#: field:mrp.bom,message_summary:0 +#: field:mrp.production,message_summary:0 +#: field:mrp.production.workcenter.line,message_summary:0 +msgid "Summary" +msgstr "" #. module: mrp #: model:process.transition,name:mrp.process_transition_purchaseprocure0 msgid "Automatic RFQ" -msgstr "Petición de presupuesto automática" +msgstr "" #. module: mrp #: model:process.transition,note:mrp.process_transition_servicemto0 @@ -2497,8 +2310,6 @@ msgid "" "If the service has a 'Produce' supply method, this creates a task in the " "project management module of OpenERP." msgstr "" -"Si el servicio tiene un método de suministro 'Producir', se crea una tarea " -"en el módulo de gestión de proyectos de OpenERP." #. module: mrp #: model:process.transition,note:mrp.process_transition_productionprocureproducts0 @@ -2507,10 +2318,6 @@ msgid "" "production order creates as much procurement orders as components listed in " "the BOM, through a run of the schedulers (MRP)." msgstr "" -"Para poder suministrar materias primas (que deben ser compradas o " -"producidas), la orden de producción genera tantas órdenes de abastecimiento " -"como componentes figuren en la lista de materiales, a través de una " -"ejecución de las planificaciones (MRP)." #. module: mrp #: help:mrp.product_price,number:0 @@ -2518,13 +2325,11 @@ msgid "" "Specify quantity of products to produce or buy. Report of Cost structure " "will be displayed base on this quantity." msgstr "" -"Indique la cantidad de productos a producir o comprar. El informe de la " -"estructura de costes se muestra basándose en esta cantidad." #. module: mrp #: selection:mrp.bom,method:0 msgid "On Stock" -msgstr "En stock" +msgstr "" #. module: mrp #: field:mrp.bom,sequence:0 @@ -2532,897 +2337,26 @@ msgstr "En stock" #: field:mrp.production.workcenter.line,sequence:0 #: field:mrp.routing.workcenter,sequence:0 msgid "Sequence" -msgstr "Secuencia" +msgstr "" #. module: mrp #: model:ir.ui.menu,name:mrp.menu_view_resource_calendar_leaves_search_mrp msgid "Resource Leaves" -msgstr "Ausencias recursos" +msgstr "" #. module: mrp #: help:mrp.bom,sequence:0 msgid "Gives the sequence order when displaying a list of bills of material." msgstr "" -"Indica el orden de secuencia cuando se muestra una lista de listas de " -"materiales." + +#. module: mrp +#: model:ir.model,name:mrp.model_mrp_config_settings +msgid "mrp.config.settings" +msgstr "" #. module: mrp #: view:mrp.production:0 #: field:mrp.production,move_lines:0 #: report:mrp.production.order:0 -#: field:mrp.production.order,products_to_consume:0 msgid "Products to Consume" -msgstr "Productos a consumir" - -#. module: mrp -#: view:mrp.production.order:0 -#: field:mrp.production.order,year:0 -msgid "Year" -msgstr "Año" - -#~ msgid "-" -#~ msgstr "-" - -#~ msgid "" -#~ "Triggers an automatic procurement for all products that have a virtual stock " -#~ "under 0. You should probably not use this option, we suggest using a MTO " -#~ "configuration on products." -#~ msgstr "" -#~ "Dispara un abastecimiento automático para todos los productos que tienen un " -#~ "stock virtual menor que 0. Probablemente no debería utilizar esta opción, " -#~ "sugerimos utilizar una configuración de MTO en productos." - -#~ msgid "Compute Stock Minimum Rules Only" -#~ msgstr "Calcular sólo reglas de stock mínimo" - -#~ msgid "Exceptions Procurements" -#~ msgstr "Excepciones de abastecimientos" - -#~ msgid "UoS Quantity" -#~ msgstr "Cantidad UdV" - -#~ msgid "Routing Workcenters" -#~ msgstr "Procesos productivos de los centros de producción" - -#~ msgid "Not used in computations, for information purpose only." -#~ msgstr "No utilizado en cálculos, sólo con la finalidad de informar." - -#~ msgid "Packing list" -#~ msgstr "Albarán" - -#~ msgid "Stockable Stock" -#~ msgstr "Stock productos almacenables" - -#~ msgid "Origin" -#~ msgstr "Origen" - -#~ msgid "Automatic orderpoint" -#~ msgstr "Generación de orden automática" - -#, python-format -#~ msgid "No supplier defined for this product !" -#~ msgstr "¡No se ha definido un proveedor para este producto!" - -#, python-format -#~ msgid "Product name" -#~ msgstr "Nombre producto" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "¡XML inválido para la definición de la vista!" - -#~ msgid "" -#~ "This is the days added to what you promise to customers for security purpose" -#~ msgstr "" -#~ "Éstos son los días añadidos a los que promete a los clientes por razones de " -#~ "seguridad" - -#~ msgid "Best price (not yet active!)" -#~ msgstr "Mejor precio (aún no activo!)" - -#~ msgid "Product & Location" -#~ msgstr "Producto & Ubicación" - -#~ msgid "MRP & Logistic Scheduler" -#~ msgstr "Planificador MRP & Logística" - -#~ msgid "" -#~ "Number of operation this workcenter can do in parallel. If this workcenter " -#~ "represent a team of 5 workers, the capacity per cycle is 5." -#~ msgstr "" -#~ "Número de operaciones que este centro de producción puede realizar en " -#~ "paralelo. Si este centro de producción tuviera un equipo de 5 trabajadores, " -#~ "la capacidad por ciclo sería de 5." - -#~ msgid "Ask New Products" -#~ msgstr "Solicitar nuevos productos" - -#~ msgid "Automatic Procurements" -#~ msgstr "Abastecimientos automáticos" - -#~ msgid "Products Consummed" -#~ msgstr "Productos consumidos" - -#~ msgid "Packing Exception" -#~ msgstr "Excepción de empaquetado" - -#~ msgid "A purchase order is created for a sub-contracting demand." -#~ msgstr "Una orden de compra es creada para sub-contratar la demanda." - -#~ msgid "Analytic Accounting" -#~ msgstr "Contabilidad analítica" - -#~ msgid "Do nothing" -#~ msgstr "No hacer nada" - -#, python-format -#~ msgid "products" -#~ msgstr "productos" - -#~ msgid "If the stock of a product is under 0, it will act like an orderpoint" -#~ msgstr "Si el stock de un producto es menor que 0, actuará como una orden" - -#~ msgid "you can see the minimum stock rules from product" -#~ msgstr "puede ver las reglas de stock mínimo desde producto" - -#~ msgid "This wizard will schedule procurements." -#~ msgstr "Este asistente planificará abastecimientos." - -#~ msgid "Internal Ref." -#~ msgstr "Ref. interna" - -#~ msgid "Status" -#~ msgstr "Estado" - -#~ msgid "Stockable Production Order" -#~ msgstr "Orden producción almacenable" - -#~ msgid "Stockable Request" -#~ msgstr "Solicitud almacenable" - -#, python-format -#~ msgid "Workcenter name" -#~ msgstr "Nombre centro de producción" - -#~ msgid "Service on Order" -#~ msgstr "Servicio sobre orden" - -#~ msgid "" -#~ "When the virtual stock goes belong the Min Quantity, Open ERP generates a " -#~ "procurement to bring the virtual stock to the Max Quantity." -#~ msgstr "" -#~ "Cuando el stock virtual disminuye por debajo de la cantidad mínima, OpenERP " -#~ "genera un abastecimiento para que el stock virtual sea la cantidad máxima." - -#~ msgid "Stockable Make to Stock" -#~ msgstr "Almacenable obtenido para stock" - -#~ msgid "Production Orders" -#~ msgstr "Órdenes de producción" - -#~ msgid "Procure Service Product" -#~ msgstr "Abastecer producto servicio" - -#, python-format -#~ msgid "Product Quantity" -#~ msgstr "Cantidad producto" - -#~ msgid "Procurements" -#~ msgstr "Abastecimientos" - -#~ msgid "Production scheduled products" -#~ msgstr "Producción planificada de productos" - -#~ msgid "Details" -#~ msgstr "Detalles" - -#~ msgid "Procurement Process" -#~ msgstr "Proceso de abastecimiento" - -#, python-format -#~ msgid "Product Standard Price" -#~ msgstr "Precio estándar producto" - -#~ msgid "" -#~ "Rounding applied on the product quantity. For integer only values, put 1.0" -#~ msgstr "" -#~ "Redondeo aplicado a la cantidad de producto. Para valores siempre enteros " -#~ "introduzca 1.0" - -#~ msgid "Reservation" -#~ msgstr "Reserva" - -#~ msgid "product" -#~ msgstr "producto" - -#~ msgid "max" -#~ msgstr "máx" - -#~ msgid "Product to stock rules" -#~ msgstr "Producto a reglas de stock" - -#, python-format -#~ msgid "from stock: products assigned." -#~ msgstr "desde stock: productos asignados." - -#~ msgid "Print product price" -#~ msgstr "Imprimir coste del producto" - -#~ msgid "Make Procurement" -#~ msgstr "Realizar abastecimiento" - -#~ msgid "If Procure method is Make to order and supply method is produce" -#~ msgstr "" -#~ "si método de abastecimiento es obtener bajo pedido y método de suministro es " -#~ "producir" - -#~ msgid "Purchase Lead Time" -#~ msgstr "Plazo de tiempo de compra" - -#~ msgid "Stockable Product Stock" -#~ msgstr "Stock de producto almacenable" - -#~ msgid "Production Procure Products" -#~ msgstr "Productos para abastecer la producción" - -#~ msgid "Service Product Process" -#~ msgstr "Proceso producto de servicios" - -#~ msgid "Procurement convert into the draft purchase order." -#~ msgstr "Abastecimiento se convierte en la orden de compra borrador." - -#~ msgid "Latest error" -#~ msgstr "Último error" - -#, python-format -#~ msgid "from stock and no minimum orderpoint rule defined" -#~ msgstr "desde stock y no se ha definido regla mínima generación orden" - -#~ msgid "Routing workcenter usage" -#~ msgstr "Procesos productivos del centro de producción" - -#~ msgid "If Product type is Stockable and procure method is make to stock" -#~ msgstr "" -#~ "Si el tipo de producto es almacenable y el método de abastecimiento es " -#~ "obtener para stock" - -#~ msgid "Manufacturity Lead Time" -#~ msgstr "Plazo de entrega de fabricación" - -#~ msgid "Exceptions Procurements to Fix" -#~ msgstr "Excepciones de abastecimientos a corregir" - -#~ msgid "Workcenter Operations" -#~ msgstr "Operaciones del centro de producción" - -#~ msgid "Production Orders Planning" -#~ msgstr "Planificación órdenes de producción" - -#~ msgid "Factor that multiplies all times expressed in the workcenter." -#~ msgstr "" -#~ "Factor que multiplica todos los tiempos expresados en el centro de " -#~ "producción." - -#~ msgid "" -#~ "This is the Internal Picking List take bring the raw materials to the " -#~ "production plan." -#~ msgstr "" -#~ "Ésta es la lista de empaquetado interna que lleva las materias primas a la " -#~ "producción planificada." - -#~ msgid "Qty Multiple" -#~ msgstr "Ctdad múltiple" - -#~ msgid "Waiting" -#~ msgstr "En espera" - -#~ msgid "For stockable and consumable" -#~ msgstr "Para almacenables y consumibles" - -#~ msgid "indice type" -#~ msgstr "Tipo de índice" - -#, python-format -#~ msgid "Hours Cost" -#~ msgstr "Coste horas" - -#~ msgid "Production orders are created for the product manufacturing." -#~ msgstr "Se crean órdenes de producción para la fabricación del producto." - -#~ msgid "Min Quantity" -#~ msgstr "Cantidad mín" - -#~ msgid "Production orders" -#~ msgstr "Órdenes de producción" - -#~ msgid "BoM Hyerarchy" -#~ msgstr "Jerarquía LdM" - -#~ msgid "Procurement Lines" -#~ msgstr "Líneas de abastecimiento" - -#~ msgid "If Product type is service and procure method is Make to stock" -#~ msgstr "" -#~ "si el tipo de producto es servicio y el método de abastecimiento es obtener " -#~ "para stock" - -#~ msgid "If Product type is service" -#~ msgstr "Si el tipo de producto es servicio" - -#, python-format -#~ msgid "SUBTOTAL" -#~ msgstr "SUBTOTAL" - -#~ msgid "Security Days" -#~ msgstr "Días de seguridad" - -#~ msgid "Exception" -#~ msgstr "Excepción" - -#~ msgid "" -#~ "This wizard will planify the procurement for this product. This procurement " -#~ "may generate task, production orders or purchase orders." -#~ msgstr "" -#~ "Este asistente planificará el abastecimiento para este producto. El " -#~ "abastecimiento puede generar tareas, órdenes de producción o órdenes de " -#~ "compra." - -#~ msgid "The system waits for requested products in stock." -#~ msgstr "El sistema espera los productos solicitados en stock." - -#~ msgid "Serivce Stockable Order" -#~ msgstr "Orden servicio almacenable" - -#~ msgid "From minimum stock rules, it goes for procure product." -#~ msgstr "Desde reglas de stock mínimo, va a abastecer el producto." - -#~ msgid "Production done" -#~ msgstr "Producción realizada" - -#, python-format -#~ msgid "Unit Product Price" -#~ msgstr "Precio producto unidad" - -#~ msgid "References" -#~ msgstr "Referencias" - -#~ msgid "Machine" -#~ msgstr "Fabricación" - -#~ msgid "Workcenter Name" -#~ msgstr "Nombre centro de producción" - -#~ msgid "min" -#~ msgstr "mín" - -#~ msgid "" -#~ "Description of the workcenter. Explain here what's a cycle according to this " -#~ "workcenter." -#~ msgstr "" -#~ "Descripción del centro de producción. Describa aquí que es un ciclo según " -#~ "este centro de producción." - -#~ msgid "Human Resource" -#~ msgstr "Recurso humano" - -#~ msgid "Workcenters" -#~ msgstr "Centros de producción" - -#~ msgid "on order" -#~ msgstr "bajo pedido" - -#~ msgid "Compute All Schedulers" -#~ msgstr "Calcular todas las planificaciones" - -#~ msgid "Create Procurement" -#~ msgstr "Crear abastecimiento" - -#, python-format -#~ msgid "Product uom" -#~ msgstr "UdM producto" - -#~ msgid "Number of Cycle" -#~ msgstr "Número de ciclos" - -#~ msgid "Run procurement" -#~ msgstr "Ejecutar abastecimiento" - -#~ msgid "" -#~ "This is the time frame analysed by the scheduler when computing " -#~ "procurements. All procurement that are not between today and today+range are " -#~ "skipped for futur computation." -#~ msgstr "" -#~ "Éste es el intervalo temporal analizado por el planificador al calcular " -#~ "abastecimientos. Todos los abastecimientos que no estén entre hoy y " -#~ "hoy+intervalo son omitidos para el cálculos futuros." - -#~ msgid "Time Efficiency" -#~ msgstr "Eficiencia temporal" - -#~ msgid "Scheduler Parameters" -#~ msgstr "Parámetros del planificador" - -#~ msgid "A cycle is defined in the workcenter definition." -#~ msgstr "En la definición de un centro de producción se define un ciclo." - -#~ msgid "Unit of Measure" -#~ msgstr "Unidad de medida" - -#~ msgid "Procurement Method" -#~ msgstr "Método abastecimiento" - -#~ msgid "Compute Procurements" -#~ msgstr "Calcular abastecimientos" - -#~ msgid "Wait for available products for reservation" -#~ msgstr "Esperar productos disponibles para reservarlos" - -#~ msgid "Validate" -#~ msgstr "Validar" - -#~ msgid "Procurement Purchase" -#~ msgstr "Compra de abastecimiento" - -#~ msgid "Number of products to produce" -#~ msgstr "Número de productos a producir" - -#~ msgid "Material routing" -#~ msgstr "Procesos productivos del material" - -#~ msgid "Minimum stock rule" -#~ msgstr "Regla de stock mínimo" - -#~ msgid "Product Efficiency" -#~ msgstr "Eficiencia del producto" - -#~ msgid "Orderpoint minimum rule" -#~ msgstr "Regla mínima generación orden" - -#~ msgid "Service Make to Stock" -#~ msgstr "Servicio obtener para stock" - -#~ msgid "Sale Ref" -#~ msgstr "Ref. venta" - -#~ msgid "Location" -#~ msgstr "Ubicación" - -#~ msgid "New Procurement" -#~ msgstr "Nuevo abastecimiento" - -#~ msgid "Tool" -#~ msgstr "Maquinaria" - -#~ msgid "" -#~ "Location where the system will look for products used in raw materials." -#~ msgstr "" -#~ "Ubicación donde el sistema buscará productos utilizados en las materias " -#~ "primas." - -#~ msgid "Planned Date" -#~ msgstr "Fecha prevista" - -#~ msgid "Procurement orders" -#~ msgstr "Órdenes de abastecimiento" - -#~ msgid "If product type is service and procure method is Make to order" -#~ msgstr "" -#~ "si el tipo de producto es servicio y el método de abastecimiento es obtener " -#~ "bajo pedido" - -#~ msgid "Scheduler Range" -#~ msgstr "Margen planificador" - -#~ msgid "Max Quantity" -#~ msgstr "Cantidad máx" - -#~ msgid "Minimum Stock Procure" -#~ msgstr "Abastecer stock mínimo" - -#~ msgid "This is the leads/security time for each purchase order." -#~ msgstr "Éste es el plazo/seguridad de tiempo para cada orden de compra." - -#~ msgid "alphabetical indices" -#~ msgstr "índices alfabéticos" - -#~ msgid "Procurement for raw materials." -#~ msgstr "Abastecimiento para materia primas." - -#~ msgid "Note" -#~ msgstr "Nota" - -#~ msgid "Procure Stockable Product" -#~ msgstr "Abastecimiento producto almacenable" - -#~ msgid "Paid ?" -#~ msgstr "¿Pagado?" - -#~ msgid "Define a routing to describe the manufacturing steps." -#~ msgstr "" -#~ "Definir un proceso productivo para describir los pasos de fabricación" - -#~ msgid "Define the product structure, with sub-products and/or components." -#~ msgstr "" -#~ "Definir la estructura del producto, con subproductos y/o componentes." - -#~ msgid "" -#~ "Procurement is created if the product quantity is lower than the minimum " -#~ "limit." -#~ msgstr "" -#~ "Se crea el abastecimiento si la cantidad de producto es menor que el límite " -#~ "mínimo." - -#~ msgid "Date Closed" -#~ msgstr "Fecha de cierre" - -#~ msgid "Properties composition" -#~ msgstr "Composición de propiedades" - -#~ msgid "Production Orders Waiting Products" -#~ msgstr "Órdenes de producción esperando productos" - -#~ msgid "Change Product Qty." -#~ msgstr "Cambiar Ctd. producto" - -#~ msgid "The procurement quantity will by rounded up to this multiple." -#~ msgstr "La cantidad abastecida será redondeada hacia arriba a este múltiplo." - -#~ msgid "Reordering Mode" -#~ msgstr "Modo de pedir de nuevo" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter " -#~ "especial!" - -#~ msgid "Central document to procure products" -#~ msgstr "Documento central para abastecer productos" - -#~ msgid "Production Orders in Progress" -#~ msgstr "Órdenes de producción en proceso" - -#~ msgid "Minimum Stock Rules" -#~ msgstr "Reglas de stock mínimo" - -#~ msgid "" -#~ "Reference of the document that created this procurement.\n" -#~ "This is automatically completed by Open ERP." -#~ msgstr "" -#~ "Referencia del documento que ha creado este abastecimiento.\n" -#~ "Éste es completado automáticamente por OpenERP." - -#~ msgid "Product type is Stockable and procure method is make to stock" -#~ msgstr "" -#~ "Tipo de producto es almacenable y método de abastecimiento es obtener para " -#~ "stock" - -#~ msgid "Product UoM" -#~ msgstr "UdM del producto" - -#~ msgid "Workcenter" -#~ msgstr "Centro de producción" - -#~ msgid "Purchase Order" -#~ msgstr "Orden de compra" - -#~ msgid "" -#~ "If you encode manually a procurement, you probably want to use a make to " -#~ "order method." -#~ msgstr "" -#~ "Si codifica manualmente un abastecimiento, probablemente desea usar un " -#~ "método obtener bajo pedido." - -#~ msgid "Stockable Order Request" -#~ msgstr "Solicitud orden almacenable" - -#~ msgid "numeric indices" -#~ msgstr "índices numéricos" - -#~ msgid "If Procure method is Make to order and supply method is buy" -#~ msgstr "" -#~ "si método de abastecimiento es obtener bajo pedido y método de suministro es " -#~ "comprar" - -#~ msgid "if Product type is Stockable in procurement order" -#~ msgstr "si el tipo de producto es almacenable en orden de abastecimiento" - -#~ msgid "Bill of material revisions" -#~ msgstr "Revisiones lista de material" - -#~ msgid "Planification" -#~ msgstr "Planificación" - -#~ msgid "" -#~ "Use a phantom bill of material in raw materials lines that have to be " -#~ "automatically computed in on eproduction order and not one per level.If you " -#~ "put \"Phantom/Set\" at the root level of a bill of material it is considered " -#~ "as a set or pack: the products are replaced by the components between the " -#~ "sale order to the picking without going through the production order.The " -#~ "normal BoM will generate one production order per BoM level." -#~ msgstr "" -#~ "Utilice una lista de materiales fantasma en líneas de materias primas que se " -#~ "deban calcular automáticamente en una orden de producción y no una por " -#~ "nivel. Si indica \"Fantasma/Conjunto\" en el nivel raíz de una lista de " -#~ "materiales es considerada como un conjunto o paquete: Los productos se " -#~ "reemplazan por los componentes entre el pedido de venta y el empaquetado sin " -#~ "generar la orden de producción. La LdM normal generará una orden de " -#~ "producción por nivel de LdM." - -#, python-format -#~ msgid "No address defined for the supplier" -#~ msgstr "No se ha definido dirección para el proveedor" - -#~ msgid "Your procurement request has been sent !" -#~ msgstr "¡Su petición de abastecimiento ha sido enviada!" - -#~ msgid "Internal Procurement Request" -#~ msgstr "Solicitud de abastecimiento interna" - -#~ msgid "Property Categories" -#~ msgstr "Categorías de propiedades" - -#~ msgid "Compute Procurements Only" -#~ msgstr "Calcular sólo abastecimientos" - -#~ msgid "Temporary Procurement Exceptions" -#~ msgstr "Excepciones de abastecimiento temporales" - -#~ msgid "Confirmed" -#~ msgstr "Confirmada" - -#~ msgid "Parameters" -#~ msgstr "Parámetros" - -#~ msgid "Production workcenters used" -#~ msgstr "Centros de producción utilizados" - -#~ msgid "Workcenters Utilisation" -#~ msgstr "Utilización del centro de producción" - -#~ msgid "" -#~ "Efficiency on the production. A factor of 0.9 means a loss of 10% in the " -#~ "production." -#~ msgstr "" -#~ "Eficiencia en la producción. Un factor de 0.9 significa una pérdida del 10% " -#~ "en la producción." - -#~ msgid "If procurement is make to order" -#~ msgstr "si abastecimiento es obtener bajo pedido" - -#~ msgid "Minimum Stock Rule" -#~ msgstr "Regla de stock mínimo" - -#~ msgid "New Bill of Materials" -#~ msgstr "Nueva lista de materiales" - -#, python-format -#~ msgid "Product quantity" -#~ msgstr "Cantidad producto" - -#~ msgid "Property" -#~ msgstr "Propiedad" - -#~ msgid "Canceled" -#~ msgstr "Cancelado" - -#~ msgid "plus" -#~ msgstr "más" - -#~ msgid "Stockable Product Process" -#~ msgstr "Proceso producto almacenable" - -#~ msgid "New Production Order" -#~ msgstr "Nueva orden de producción" - -#~ msgid "A Request for Quotation is created and sent to the supplier." -#~ msgstr "Una solicitud de presupuesto es creada y enviada al proveedor." - -#~ msgid "Retry" -#~ msgstr "Volver a intentar" - -#~ msgid "When any procuere products, it comes into the prpcurement orders" -#~ msgstr "" -#~ "Cuando alguien abastece productos, se convierte en las órdenes de " -#~ "abastecimiento" - -#~ msgid "Production Orders To Start" -#~ msgstr "Órdenes de producción a iniciar" - -#~ msgid "Procurement Reason" -#~ msgstr "Motivo del abastecimiento" - -#~ msgid "An entry is being made from billing material to routing." -#~ msgstr "Se crea una entrada desde material facturable a proceso productivo." - -#~ msgid "The normal working time of the workcenter." -#~ msgstr "El horario de trabajo normal del centro de producción." - -#~ msgid "Order to Max" -#~ msgstr "Ordenar el máximo" - -#~ msgid "In procurement order, if product type is service" -#~ msgstr "En orden de abastecimiento, si tipo de producto es servicio" - -#~ msgid "from stock" -#~ msgstr "desde stock" - -#~ msgid "Close" -#~ msgstr "Cerrar" - -#, python-format -#~ msgid "TOTAL" -#~ msgstr "TOTAL" - -#~ msgid "Sale Name" -#~ msgstr "Nombre venta" - -#, python-format -#~ msgid "Product supplier" -#~ msgstr "Proveedor producto" - -#~ msgid "Create minimum stock rules" -#~ msgstr "Crear reglas de stock mínimo" - -#~ msgid "Warehouse" -#~ msgstr "Almacén" - -#~ msgid "Service Product" -#~ msgstr "Producto servicio" - -#~ msgid "Close Move at end" -#~ msgstr "Movimiento de cierre al final" - -#~ msgid "Running" -#~ msgstr "En proceso" - -#~ msgid "Unscheduled procurements" -#~ msgstr "Abastecimientos no planificados" - -#~ msgid "Bill of Material Structure" -#~ msgstr "Despiece de la lista de materiales" - -#~ msgid "Workcenter load" -#~ msgstr "Carga del centro de producción" - -#~ msgid "Procurement Details" -#~ msgstr "Detalles de abastecimiento" - -#~ msgid "You can see its bill of material which are used to make product" -#~ msgstr "" -#~ "Puede ver su lista de material que se utiliza para fabricar el producto" - -#~ msgid "Bill of Materials Components" -#~ msgstr "Componentes de la lista de materiales" - -#, python-format -#~ msgid "Warning !" -#~ msgstr "¡Aviso!" - -#, python-format -#~ msgid "" -#~ "The production is in \"%s\" state. You can not change the production " -#~ "quantity anymore" -#~ msgstr "" -#~ "La producción está en estado \"%s\". Ya no puede cambiar la cantidad a " -#~ "producir." - -#~ msgid "Production Workcenters" -#~ msgstr "Centros de producción" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nombre de modelo no válido en la definición de acción." - -#~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " -#~ "plannification." -#~ msgstr "" -#~ "La lista de operaciones (lista de centros de producción) para producir el " -#~ "producto terminado. La ruta se utiliza principalmente para calcular los " -#~ "costes de los centros de producción durante la fabricación y para prever " -#~ "futuras cargas de los centros de producción a partir de la planificación de " -#~ "la producción." - -#~ msgid "Workcenter Usage" -#~ msgstr "Uso centro de producción" - -#~ msgid "" -#~ "Routing indicates all the workcenters used, for how long and/or cycles.If " -#~ "Routing is indicated then,the third tab of a production order (workcenters) " -#~ "will be automatically pre-completed." -#~ msgstr "" -#~ "La ruta indica todos los centros de producción utilizados, por cuánto tiempo " -#~ "y/o ciclos. Si se indica la ruta, entonces la tercera pestaña de una orden " -#~ "de producción (centros de producción) será automáticamente pre-completada." - -#~ 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 "" -#~ "El número de operaciones de este centro de trabajo se puede hacer en " -#~ "paralelo. Si este centro de trabajo representa un equipo del 5 trabajadores, " -#~ "la capacidad por ciclo es de 5." - -#~ msgid "" -#~ "Description of the work center. Explain here what's a cycle according to " -#~ "this work center." -#~ msgstr "" -#~ "Descripción del centro de trabajo. Explique aquí lo que es un ciclo de " -#~ "acuerdo con este centro de trabajo." - -#~ msgid "Specify Cost of Work center per cycle." -#~ msgstr "Especificar costes del centro de trabajo por ciclo." - -#~ msgid "" -#~ "\n" -#~ " This is the base module to manage the manufacturing process in OpenERP.\n" -#~ "\n" -#~ " Features:\n" -#~ " * Make to Stock / Make to Order (by line)\n" -#~ " * Multi-level BoMs, no limit\n" -#~ " * Multi-level routing, no limit\n" -#~ " * Routing and work center integrated with analytic accounting\n" -#~ " * Scheduler computation periodically / Just In Time module\n" -#~ " * Multi-pos, multi-warehouse\n" -#~ " * Different reordering policies\n" -#~ " * Cost method by product: standard price, average price\n" -#~ " * Easy analysis of troubles or needs\n" -#~ " * Very flexible\n" -#~ " * Allows to browse Bill of Materials in complete structure\n" -#~ " that include child and phantom BoMs\n" -#~ " It supports complete integration and planification of stockable goods,\n" -#~ " consumable of services. Services are completely integrated with the " -#~ "rest\n" -#~ " of the software. For instance, you can set up a sub-contracting service\n" -#~ " in a BoM to automatically purchase on order the assembly of your " -#~ "production.\n" -#~ "\n" -#~ " Reports provided by this module:\n" -#~ " * Bill of Material structure and components\n" -#~ " * Load forecast on workcenters\n" -#~ " * Print a production order\n" -#~ " * Stock forecasts\n" -#~ " Dashboard provided by this module::\n" -#~ " * List of next production orders\n" -#~ " * List of deliveries (out picking)\n" -#~ " * Graph of work center load\n" -#~ " * List of procurement in exception\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Este es el módulo base para gestionar los procesos de fabricación en " -#~ "OpenERP.\n" -#~ "\n" -#~ " Características:\n" -#~ " *Obtener para stock / Obtener bajo pedido (por línea)\n" -#~ " *BoMs multi-niveles, sin límite\n" -#~ " *Ubicaciones multi-nivel, sin límite\n" -#~ " *Ubicaciones y centros de trabajo integrados con la contabilidad " -#~ "analítica\n" -#~ " *Ejecución periódica del cálculo de la planificación / Módulo 'Just In " -#~ "Time'\n" -#~ " *Multi-pv, multi-almacén\n" -#~ " *Diferentes políticas de pedido\n" -#~ " *Método de coste por producto: precio estándar, precio medio\n" -#~ " *Fácil análisis de problemas o necesidades\n" -#~ " *Muy flexible\n" -#~ " *Permite inspeccionar la estructura completa de Facturas de Materiales\n" -#~ " que incluyen BoMs hijas y fantasmas\n" -#~ " Soporta integración y planificación de mercancías almacenables,\n" -#~ " y consumo de servicios. Los servicios se integran completamente con el " -#~ "resto\n" -#~ " de la aplicación. Por ejemplo, se puede establecer una servicio de " -#~ "subcontratación\n" -#~ " en una BoM para encargar automáticamente el montaje de su producción.\n" -#~ "\n" -#~ " Los informes que facilita este módulo:\n" -#~ " *Componentes y estructura de la BoMs\n" -#~ " *Previsión de carga de los centros de trabajo\n" -#~ " *Previsión de almacén\n" -#~ " Tableros proporcionados en este módulo:\n" -#~ " *Lista de órdenes de producción próximas\n" -#~ " *Lista de entregas\n" -#~ " *Gráfico de carga del centro de trabajo\n" -#~ " *Lista de órdenes de fabricación con excepciones\n" -#~ " " +msgstr "" diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml index f3da234463c..2af1e876c70 100644 --- a/addons/mrp/mrp_view.xml +++ b/addons/mrp/mrp_view.xml @@ -701,11 +701,6 @@ -