From 5420c142e2bc2b13337f31f0e69a2735ce9f5598 Mon Sep 17 00:00:00 2001
From: "RVO(OpenERP)" <>
Date: Fri, 19 Mar 2010 16:28:38 +0530
Subject: [PATCH 01/14] [IMP] security-rule-improvement
bzr revid: hda@tinyerp.com-20100319105838-m3gy80pai28t0mcc
---
bin/addons/base/ir/ir.xml | 15 +++++--
bin/addons/base/ir/ir_rule.py | 30 +++++++++----
bin/osv/orm.py | 84 +++++++++++++++++------------------
3 files changed, 75 insertions(+), 54 deletions(-)
diff --git a/bin/addons/base/ir/ir.xml b/bin/addons/base/ir/ir.xml
index 0c280d2c0b3..2e589ef361e 100644
--- a/bin/addons/base/ir/ir.xml
+++ b/bin/addons/base/ir/ir.xml
@@ -369,7 +369,7 @@
-
+
@@ -431,7 +431,7 @@
-
@@ -570,7 +570,7 @@
-
+
@@ -1176,6 +1176,11 @@
+
+
+
+
+
@@ -1187,6 +1192,10 @@
+
+
+
+
diff --git a/bin/addons/base/ir/ir_rule.py b/bin/addons/base/ir/ir_rule.py
index c14fb5b0759..c4165d1bc93 100644
--- a/bin/addons/base/ir/ir_rule.py
+++ b/bin/addons/base/ir/ir_rule.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL ().
#
@@ -15,7 +15,7 @@
# 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 .
+# along with this program. If not, see .
#
##############################################################################
@@ -88,7 +88,7 @@ class ir_rule(osv.osv):
for rule in self.browse(cr, uid, ids, context):
eval_user_data = {'user': self.pool.get('res.users').browse(cr, 1, uid),
'time':time}
-
+
if rule.domain_force:
res[rule.id] = eval(rule.domain_force, eval_user_data)
else:
@@ -111,27 +111,41 @@ class ir_rule(osv.osv):
'operand':fields.selection(_operand,'Operand', size=64),
'rule_group': fields.many2one('ir.rule.group', 'Group', select=2, required=True, ondelete="cascade"),
'domain_force': fields.char('Force Domain', size=250),
- 'domain': fields.function(_domain_force_get, method=True, string='Domain', type='char', size=250)
+ 'domain': fields.function(_domain_force_get, method=True, string='Domain', type='char', size=250),
+ 'perm_read': fields.boolean('Read Access'),
+ 'perm_write': fields.boolean('Write Access'),
+ 'perm_create': fields.boolean('Create Access'),
+ 'perm_unlink': fields.boolean('Delete Access')
}
+ _defaults = {
+ 'perm_read': lambda *a: True,
+ 'perm_write': lambda *a: True,
+ 'perm_create': lambda *a: True,
+ 'perm_unlink': lambda *a: True,
+ }
+ _sql_constraints = [
+ ('no_access_rights', 'CHECK (perm_read!=False or perm_write!=False or perm_create!=False or perm_unlink!=False)', 'Rule must have atleast one checked access right'),
+ ]
def onchange_all(self, cr, uid, ids, field_id, operator, operand):
if not (field_id or operator or operand):
return {}
- def domain_get(self, cr, uid, model_name, context={}):
+ def domain_get(self, cr, uid, model_name, mode='read', context={}):
if uid == 1:
return [], [], ['"'+self.pool.get(model_name)._table+'"']
- cr.execute("""SELECT r.id FROM
- ir_rule r
+ cr.execute("""SELECT r.id
+ FROM ir_rule r
JOIN (ir_rule_group g
JOIN ir_model m ON (g.model_id = m.id))
ON (g.id = r.rule_group)
WHERE m.model = %s
+ AND r.perm_""" + mode + """
AND (g.id IN (SELECT rule_group_id FROM group_rule_group_rel g_rel
JOIN res_groups_users_rel u_rel ON (g_rel.group_id = u_rel.gid)
WHERE u_rel.uid = %s) OR g.global)""", (model_name, uid))
- ids = map(lambda x:x[0], cr.fetchall())
+ ids = map(lambda x: x[0], cr.fetchall())
dom = []
for rule in self.browse(cr, uid, ids):
dom += rule.domain
diff --git a/bin/osv/orm.py b/bin/osv/orm.py
index c580474b8b9..eb86e5ea4a3 100644
--- a/bin/osv/orm.py
+++ b/bin/osv/orm.py
@@ -1872,7 +1872,7 @@ class orm(orm_template):
fields = self._columns.keys()
(where_clause, where_params, tables) = self._where_calc(cr, uid, domain, context=context)
- dom = self.pool.get('ir.rule').domain_get(cr, uid, self._name, context=context)
+ dom = self.pool.get('ir.rule').domain_get(cr, uid, self._name, 'read', context=context)
where_clause = where_clause + dom[0]
where_params = where_params + dom[1]
for t in dom[2]:
@@ -2474,6 +2474,7 @@ class orm(orm_template):
#
# Update objects that uses this one to update their _inherits fields
#
+
def _inherits_reload_src(self):
for obj in self.pool.obj_pool.values():
if self._name in obj._inherits:
@@ -2540,8 +2541,7 @@ class orm(orm_template):
fields_to_read = self._columns.keys()
# construct a clause for the rules :
- d1, d2, tables = self.pool.get('ir.rule').domain_get(cr, user, self._name, context=context)
-
+ d1, d2, tables = self.pool.get('ir.rule').domain_get(cr, user, self._name, 'read', context=context)
# all inherited fields + all non inherited fields for which the attribute whose name is in load is True
fields_pre = [f for f in fields_to_read if
f == self.CONCURRENCY_CHECK_FIELD
@@ -2724,6 +2724,29 @@ class orm(orm_template):
if res and res[0]:
raise except_orm('ConcurrencyException', _('Records were modified in the meanwhile'))
+ def check_access_rule(self, cr, uid, ids, mode, context={}):
+ d1, d2, tables = self.pool.get('ir.rule').domain_get(cr, uid, self._name, mode, context=context)
+ if d1:
+ d1 = ' and '+' and '.join(d1)
+
+ for i in range(0, len(ids), cr.IN_MAX):
+ sub_ids = ids[i:i+cr.IN_MAX]
+ ids_str = string.join(map(str, sub_ids), ',')
+ if d1:
+ cr.execute('SELECT '+self._table+'.id FROM '+','.join(tables)+' ' \
+ 'WHERE '+self._table+'.id IN ('+ids_str+')'+d1, d2)
+ if not cr.rowcount == len(sub_ids):
+ raise except_orm(_('AccessError'),
+ _('You try to bypass an access rule to '+mode+
+ ' (Document type: %s).') % self._name)
+ else:
+ cr.execute('SELECT id FROM "'+self._table+'" WHERE id IN ('+ids_str+')')
+ if not cr.rowcount == len(sub_ids):
+ raise except_orm(_('AccessError'),
+ _('You try to ' +mode+ ' a record that doesn\'t exist (Document type: %s).')
+ % self._name)
+ return ids_str
+
def unlink(self, cr, uid, ids, context=None):
if not ids:
return True
@@ -2753,23 +2776,9 @@ class orm(orm_template):
# ids2 = [x[self._inherits[key]] for x in res]
# self.pool.get(key).unlink(cr, uid, ids2)
- d1, d2,tables = self.pool.get('ir.rule').domain_get(cr, uid, self._name, context=context)
- if d1:
- d1 = ' AND '+' and '.join(d1)
-
- for i in range(0, len(ids), cr.IN_MAX):
- sub_ids = ids[i:i+cr.IN_MAX]
- str_d = string.join(('%s',)*len(sub_ids), ',')
- if d1:
- cr.execute('SELECT '+self._table+'.id FROM '+','.join(tables)+' ' \
- 'WHERE '+self._table+'.id IN ('+str_d+')'+d1, sub_ids+d2)
- if not cr.rowcount == len(sub_ids):
- raise except_orm(_('AccessError'),
- _('You try to bypass an access rule (Document type: %s).') % \
- self._description)
-
- cr.execute('delete from '+self._table+' ' \
- 'where id in ('+str_d+')', sub_ids)
+ ids_str = self.check_access_rule(cr, uid, ids, 'unlink', context=context)
+ cr.execute('delete from '+self._table+' ' \
+ 'where id in ('+ids_str+')', ids)
for order, object, store_ids, fields in result_store:
if object<>self._name:
@@ -2868,28 +2877,8 @@ class orm(orm_template):
upd1.append(user)
if len(upd0):
-
- d1, d2,tables = self.pool.get('ir.rule').domain_get(cr, user, self._name, context=context)
- if d1:
- d1 = ' and '+' and '.join(d1)
-
- for i in range(0, len(ids), cr.IN_MAX):
- sub_ids = ids[i:i+cr.IN_MAX]
- ids_str = string.join(map(str, sub_ids), ',')
- if d1:
- cr.execute('SELECT '+self._table+'.id FROM '+','.join(tables)+' ' \
- 'WHERE '+self._table+'.id IN ('+ids_str+')'+d1, d2)
- if not cr.rowcount == len({}.fromkeys(sub_ids)):
- raise except_orm(_('AccessError'),
- _('You try to bypass an access rule while writing (Document type: %s).') % \
- self._description)
- else:
- cr.execute('SELECT id FROM "'+self._table+'" WHERE id IN ('+ids_str+')')
- if not cr.rowcount == len({}.fromkeys(sub_ids)):
- raise except_orm(_('AccessError'),
- _('You try to write on an record that doesn\'t exist ' \
- '(Document type: %s).') % self._description)
- cr.execute('update '+self._table+' set '+string.join(upd0, ',')+' ' \
+ ids_str = self.check_access_rule(cr, user, ids, 'write', context=context)
+ cr.execute('update '+self._table+' set '+string.join(upd0, ',')+' ' \
'where id in ('+ids_str+')', upd1)
if totranslate:
@@ -3128,6 +3117,15 @@ class orm(orm_template):
upd1 += ',%s,now()'
upd2.append(user)
cr.execute('insert into "'+self._table+'" (id'+upd0+") values ("+str(id_new)+upd1+')', tuple(upd2))
+ d1, d2, tables = self.pool.get('ir.rule').domain_get(cr, user, self._name, 'create', context=context)
+ if d1:
+ d1 = ' AND '+' AND '.join(d1)
+ cr.execute('SELECT '+self._table+'.id FROM '+','.join(tables)+' ' \
+ 'WHERE '+self._table+'.id = ' +str(id_new)+d1,d2)
+ if not cr.rowcount:
+ raise except_orm(_('AccessError'),
+ _('You try to bypass an access rule to create (Document type: %s).') \
+ % self._name)
upd_todo.sort(lambda x, y: self._columns[x].priority-self._columns[y].priority)
if self._parent_store:
@@ -3334,7 +3332,7 @@ class orm(orm_template):
context = {}
# compute the where, order by, limit and offset clauses
(qu1, qu2, tables) = self._where_calc(cr, user, args, context=context)
- dom = self.pool.get('ir.rule').domain_get(cr, user, self._name, context=context)
+ dom = self.pool.get('ir.rule').domain_get(cr, user, self._name, 'read', context=context)
qu1 = qu1 + dom[0]
qu2 = qu2 + dom[1]
for t in dom[2]:
From 63151cd5c81a1d41ace396bc4c936d0aab4af6f0 Mon Sep 17 00:00:00 2001
From: "nch@tinyerp.com" <>
Date: Thu, 25 Mar 2010 10:38:29 +0530
Subject: [PATCH 02/14] [IMP]:GroupBY:Added Multilevel Groupby
bzr revid: nch@tinyerp.com-20100325050829-gwimhmlym2wf8mpu
---
bin/osv/orm.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/bin/osv/orm.py b/bin/osv/orm.py
index dd4267e5237..b74c2432d7f 100644
--- a/bin/osv/orm.py
+++ b/bin/osv/orm.py
@@ -1869,6 +1869,8 @@ class orm(orm_template):
_protected = ['read','write','create','default_get','perm_read','unlink','fields_get','fields_view_get','search','name_get','distinct_field_get','name_search','copy','import_data','search_count', 'exists']
def read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None):
+ groupby_list = groupby
+ groupby = groupby[0]
context = context or {}
self.pool.get('ir.model.access').check(cr, uid, self._name, 'read', context=context)
if not fields:
@@ -1922,6 +1924,7 @@ class orm(orm_template):
for d in data:
d['__domain'] = [(groupby,'=',alldata[d['id']][groupby] or False)] + domain
+ d['__context'] = {'group_by':groupby_list[1:]}
if fget.has_key(groupby):
if d[groupby] and fget[groupby]['type'] in ('date','datetime'):
dt = datetime.datetime.strptime(alldata[d['id']][groupby][:7],'%Y-%m')
From 69912380fb2b59460c20c93979c213b238adb5af Mon Sep 17 00:00:00 2001
From: "nch@tinyerp.com" <>
Date: Fri, 26 Mar 2010 18:18:22 +0530
Subject: [PATCH 03/14] [FIX]:read_group for None Values
bzr revid: nch@tinyerp.com-20100326124822-zomzhapc96v4v6gy
---
bin/osv/orm.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/bin/osv/orm.py b/bin/osv/orm.py
index b74c2432d7f..0ef134a0a7a 100644
--- a/bin/osv/orm.py
+++ b/bin/osv/orm.py
@@ -250,7 +250,7 @@ class browse_record(object):
elif f._type in ('reference'):
if data[n]:
if isinstance(data[n], browse_record):
- new_data[n] = data[n]
+ new_data[n] = data[n]
else:
ref_obj, ref_id = data[n].split(',')
ref_id = long(ref_id)
@@ -1917,6 +1917,8 @@ class orm(orm_template):
alldata = {}
groupby = group_by
for r in cr.dictfetchall():
+ for fld,val in r.items():
+ if val == None:r[fld] = False
alldata[r['id']] = r
del r['id']
data = self.read(cr, uid, alldata.keys(), [groupby], context=context)
@@ -3131,7 +3133,7 @@ class orm(orm_template):
if not cr.rowcount:
raise except_orm(_('AccessError'),
_('You try to bypass an access rule to create (Document type: %s).') \
- % self._name)
+ % self._name)
upd_todo.sort(lambda x, y: self._columns[x].priority-self._columns[y].priority)
if self._parent_store:
From 65730d7060b143b313f2ba3eb660ea1ca4ceb4e8 Mon Sep 17 00:00:00 2001
From: "JMA(OpenERP)" <>
Date: Tue, 30 Mar 2010 12:19:35 +0530
Subject: [PATCH 04/14] [REF] Stock : Removed unused method button_confirm
lp bug: https://launchpad.net/bugs/541785 fixed
bzr revid: jvo@tinyerp.com-20100330064935-6080i3a66jawkwzt
---
addons/stock/stock.py | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index 5c02ccae976..7012e23dbe7 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -543,12 +543,12 @@ class stock_picking(osv.osv):
# TODO: Check locations to see if in the same location ?
return True
- def button_confirm(self, cr, uid, ids, *args):
- for id in ids:
- wf_service = netsvc.LocalService("workflow")
- wf_service.trg_validate(uid, 'stock.picking', id, 'button_confirm', cr)
- self.force_assign(cr, uid, ids, *args)
- return True
+# def button_confirm(self, cr, uid, ids, *args):
+# for id in ids:
+# wf_service = netsvc.LocalService("workflow")
+# wf_service.trg_validate(uid, 'stock.picking', id, 'button_confirm', cr)
+# self.force_assign(cr, uid, ids, *args)
+# return True
def action_assign(self, cr, uid, ids, *args):
for pick in self.browse(cr, uid, ids):
From 728caca672b1ac6b004210555c2524c861d2f910 Mon Sep 17 00:00:00 2001
From: "nel@tinyerp.com" <>
Date: Tue, 30 Mar 2010 10:42:33 +0200
Subject: [PATCH 05/14] [IMP] Set icons to state of wizards
bzr revid: nel@tinyerp.com-20100330084233-y8isdsecqmth9j7d
---
.../project/wizard/wizard_analytic_account_chart.py | 2 +-
addons/account/wizard/wizard_account_chart.py | 4 ++--
addons/account/wizard/wizard_account_duplicate.py | 2 +-
addons/account/wizard/wizard_aged_trial_balance.py | 4 ++--
addons/account/wizard/wizard_automatic_reconcile.py | 2 +-
addons/account/wizard/wizard_central_journal.py | 2 +-
addons/account/wizard/wizard_change_currency.py | 4 ++--
.../wizard/wizard_compare_account_balance_report.py | 2 +-
addons/account/wizard/wizard_fiscalyear_close.py | 2 +-
addons/account/wizard/wizard_fiscalyear_close_state.py | 2 +-
addons/account/wizard/wizard_general_journal.py | 2 +-
addons/account/wizard/wizard_open_closed_fiscalyear.py | 2 +-
addons/account/wizard/wizard_period_close.py | 2 +-
addons/account/wizard/wizard_print_journal.py | 2 +-
addons/account/wizard/wizard_statement_from_invoice.py | 4 ++--
addons/account/wizard/wizard_subscription_generate.py | 2 +-
addons/account/wizard/wizard_vat.py | 4 ++--
addons/l10n_be/wizard/partner_vat_listing.py | 8 ++++----
addons/l10n_be/wizard/wizard_vat_intra.py | 6 +++---
19 files changed, 29 insertions(+), 29 deletions(-)
diff --git a/addons/account/project/wizard/wizard_analytic_account_chart.py b/addons/account/project/wizard/wizard_analytic_account_chart.py
index 354fe6e6046..e011fad15bb 100644
--- a/addons/account/project/wizard/wizard_analytic_account_chart.py
+++ b/addons/account/project/wizard/wizard_analytic_account_chart.py
@@ -65,7 +65,7 @@ class wizard_analytic_account_chart(wizard.interface):
states = {
'init': {
'actions': [],
- 'result': {'type': 'form', 'arch':_account_chart_arch, 'fields':_account_chart_fields, 'state': [('end', 'Cancel'), ('open', 'Open Charts')]}
+ 'result': {'type': 'form', 'arch':_account_chart_arch, 'fields':_account_chart_fields, 'state': [('end', 'Cancel', 'gtk-cancel'), ('open', 'Open Charts', 'gtk-ok')]}
},
'open': {
'actions': [],
diff --git a/addons/account/wizard/wizard_account_chart.py b/addons/account/wizard/wizard_account_chart.py
index ca8153f3ce7..ae6b29b0f43 100644
--- a/addons/account/wizard/wizard_account_chart.py
+++ b/addons/account/wizard/wizard_account_chart.py
@@ -24,7 +24,7 @@ import pooler
class wizard_account_chart(wizard.interface):
_account_chart_arch = '''
-
@@ -148,8 +146,8 @@
@@ -146,8 +144,8 @@
@@ -94,8 +92,8 @@
diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml
index 222bc1890cb..f660d265111 100644
--- a/addons/crm/crm_lead_view.xml
+++ b/addons/crm/crm_lead_view.xml
@@ -127,7 +127,7 @@
diff --git a/addons/crm/crm_opportunity_view.xml b/addons/crm/crm_opportunity_view.xml
index bd1b61c648a..02ffc47e374 100644
--- a/addons/crm/crm_opportunity_view.xml
+++ b/addons/crm/crm_opportunity_view.xml
@@ -145,7 +145,7 @@
diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml
index 6594c2a213d..a7feed54d3c 100644
--- a/addons/crm/crm_view.xml
+++ b/addons/crm/crm_view.xml
@@ -347,7 +347,7 @@
diff --git a/addons/crm/scripts/openerp_mailgate/openerp_mailgate.py b/addons/crm/scripts/openerp_mailgate/openerp_mailgate.py
index 5a7b888f52c..a5cfa7c58f1 100755
--- a/addons/crm/scripts/openerp_mailgate/openerp_mailgate.py
+++ b/addons/crm/scripts/openerp_mailgate/openerp_mailgate.py
@@ -328,6 +328,10 @@ class email_parser(object):
def msg_test(self, msg, case_str):
if not case_str:
return (False, False)
+ res = self.rpc(self.model, 'search', [('id', '=', int(case_str))])
+ if not res:
+ return (False, False)
+
emails = self.rpc(self.model, 'emails_get', int(case_str))
return (int(case_str), emails)
@@ -336,9 +340,9 @@ class email_parser(object):
if case_str:
case_str = case_str.group(1)
else:
- case_str = case_re.search(msg.get('Subject', ''))
+ case_str = case_re.search(msg.get('Subject', ''))
if case_str:
- case_str = case_str.group(1)
+ case_str = case_str.group(1)
(case_id, emails) = self.msg_test(msg, case_str)
if case_id:
if emails[0] and self.email_get(emails[0])==self.email_get(self._decode_header(msg['From'])):
diff --git a/addons/crm/wizard/crm_send_email.py b/addons/crm/wizard/crm_send_email.py
index f76e212eaa1..da141186240 100644
--- a/addons/crm/wizard/crm_send_email.py
+++ b/addons/crm/wizard/crm_send_email.py
@@ -185,7 +185,7 @@ class crm_send_new_email(osv.osv_memory):
res.update({'email_to': hist.email_from or (case.user_id and case.user_id.address_id and \
case.user_id.address_id.email) or tools.config.get('email_from',False)})
if 'email_from' in fields:
- res.update({'email_from': hist.email_to or (case.user_id and case.user_id.address_id and \
+ res.update({'email_from': (case.user_id and case.user_id.address_id and \
case.user_id.address_id.email) or tools.config.get('email_from',False)})
if 'text' in fields:
header = '-------- Original Message --------'
@@ -198,8 +198,8 @@ class crm_send_new_email(osv.osv_memory):
res.update({'text': '\n\n%s'%(original)})
if 'subject' in fields:
res.update({'subject': '[%s] %s' %(str(case.id), case.name or '')})
- #if 'state' in fields:
- # res.update({'state': 'pending'})
+ if 'state' in fields:
+ res.update({'state': 'pending'})
return res
def view_init(self, cr, uid, fields_list, context=None):
diff --git a/addons/crm/wizard/crm_send_email_view.xml b/addons/crm/wizard/crm_send_email_view.xml
index 61c770289ab..55769455a2a 100644
--- a/addons/crm/wizard/crm_send_email_view.xml
+++ b/addons/crm/wizard/crm_send_email_view.xml
@@ -4,12 +4,12 @@
-
- crm.new.send.mail.form
+
+ crm.send.mail.form
crm.send.mail
form
-
diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml
index 9cde61fb1fa..46400fa3da0 100644
--- a/addons/hr_recruitment/hr_recruitment_view.xml
+++ b/addons/hr_recruitment/hr_recruitment_view.xml
@@ -159,7 +159,7 @@
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index 203f83912db..f09643c2590 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -111,7 +111,7 @@
From dbcbd1185b94cb9fbb5486772abbb6bac7070915 Mon Sep 17 00:00:00 2001
From: Launchpad Code Hosting
Date: Wed, 31 Mar 2010 04:55:12 +0100
Subject: [PATCH 14/14] Launchpad automatic translations update.
bzr revid: codehost@crowberry-20100331035512-r137e2c28btemwtg
---
addons/account_chart/i18n/ru.po | 8 +-
addons/base_contact/i18n/bg.po | 16 +--
addons/board_account/i18n/ru.po | 16 +--
addons/board_project/i18n/ru.po | 14 +--
addons/crm/i18n/es.po | 183 +++++++++++++++++---------------
addons/crm/i18n/fi.po | 156 ++++++++++++++-------------
addons/idea/i18n/ru.po | 21 ++--
addons/mrp/i18n/fr.po | 8 +-
addons/mrp/i18n/ru.po | 32 +++---
9 files changed, 238 insertions(+), 216 deletions(-)
diff --git a/addons/account_chart/i18n/ru.po b/addons/account_chart/i18n/ru.po
index eaa300a9762..a7f14094a82 100644
--- a/addons/account_chart/i18n/ru.po
+++ b/addons/account_chart/i18n/ru.po
@@ -7,16 +7,16 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-04-10 14:08+0000\n"
-"Last-Translator: <>\n"
+"PO-Revision-Date: 2010-03-30 10:18+0000\n"
+"Last-Translator: Nikolay Chesnokov \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: 2010-03-30 04:16+0000\n"
+"X-Launchpad-Export-Date: 2010-03-31 03:55+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_chart
#: model:ir.module.module,description:account_chart.module_meta_information
msgid "Remove minimal account chart"
-msgstr ""
+msgstr "Удалите минимальный план счетов"
diff --git a/addons/base_contact/i18n/bg.po b/addons/base_contact/i18n/bg.po
index 80c573d1141..dfdcd14a63b 100644
--- a/addons/base_contact/i18n/bg.po
+++ b/addons/base_contact/i18n/bg.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-08 13:01+0000\n"
-"Last-Translator: Fabien (Open ERP) \n"
+"PO-Revision-Date: 2010-03-30 19:31+0000\n"
+"Last-Translator: Boris \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: 2010-03-30 03:59+0000\n"
+"X-Launchpad-Export-Date: 2010-03-31 03:55+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base_contact
@@ -37,7 +37,7 @@ msgstr ""
#. module: base_contact
#: field:res.partner.job,function_id:0
msgid "Partner Function"
-msgstr ""
+msgstr "Функция ня партньора"
#. module: base_contact
#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form
@@ -57,12 +57,12 @@ msgstr ""
#. module: base_contact
#: selection:res.partner.job,state:0
msgid "Current"
-msgstr ""
+msgstr "Текущ"
#. module: base_contact
#: field:res.partner.contact,first_name:0
msgid "First Name"
-msgstr "Собствено име"
+msgstr "Собствено Име"
#. module: base_contact
#: model:ir.model,name:base_contact.model_res_partner_job
@@ -72,7 +72,7 @@ msgstr ""
#. module: base_contact
#: field:res.partner.job,other:0
msgid "Other"
-msgstr ""
+msgstr "Друго"
#. module: base_contact
#: model:process.transition,name:base_contact.process_transition_contacttofunction0
@@ -286,7 +286,7 @@ msgstr ""
#. module: base_contact
#: model:process.node,name:base_contact.process_node_partners0
msgid "Partners"
-msgstr ""
+msgstr "Партньори"
#. module: base_contact
#: model:process.node,name:base_contact.process_node_addresses0
diff --git a/addons/board_account/i18n/ru.po b/addons/board_account/i18n/ru.po
index 51214d18902..fd7e9d8b9fe 100644
--- a/addons/board_account/i18n/ru.po
+++ b/addons/board_account/i18n/ru.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-08 12:16+0000\n"
-"Last-Translator: Sergei Kostigoff \n"
+"PO-Revision-Date: 2010-03-30 10:23+0000\n"
+"Last-Translator: Nikolay Chesnokov \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: 2010-03-30 04:12+0000\n"
+"X-Launchpad-Export-Date: 2010-03-31 03:55+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: board_account
@@ -57,12 +57,12 @@ msgstr "Расходы для выставления счетов"
#. module: board_account
#: view:board.board:0
msgid "Aged receivables"
-msgstr ""
+msgstr "Повременный расход"
#. module: board_account
#: model:ir.module.module,shortdesc:board_account.module_meta_information
msgid "Board for accountant"
-msgstr ""
+msgstr "Панель контролёра счетов"
#. module: board_account
#: model:ir.actions.act_window,name:board_account.action_aged_income
@@ -77,7 +77,7 @@ msgstr "Мои индикаторы"
#. module: board_account
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
-msgstr ""
+msgstr "Недопустимое имя модели в определении действия"
#. module: board_account
#: model:ir.ui.menu,name:board_account.next_id_68
@@ -87,9 +87,9 @@ msgstr "Бухгалтерский"
#. module: board_account
#: view:board.board:0
msgid "Account Board"
-msgstr ""
+msgstr "Панель счетов"
#. module: board_account
#: view:board.board:0
msgid "Aged income"
-msgstr ""
+msgstr "Повременный доход"
diff --git a/addons/board_project/i18n/ru.po b/addons/board_project/i18n/ru.po
index 074cd66183f..60115d0e65b 100644
--- a/addons/board_project/i18n/ru.po
+++ b/addons/board_project/i18n/ru.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-08 12:27+0000\n"
-"Last-Translator: Fabien (Open ERP) \n"
+"PO-Revision-Date: 2010-03-30 10:26+0000\n"
+"Last-Translator: Nikolay Chesnokov \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: 2010-03-30 04:00+0000\n"
+"X-Launchpad-Export-Date: 2010-03-31 03:55+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: board_project
@@ -30,7 +30,7 @@ msgstr "Табели"
#. module: board_project
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
-msgstr ""
+msgstr "Недопустимое имя модели в определении действия"
#. module: board_project
#: view:board.board:0
@@ -63,7 +63,7 @@ msgstr "Панель аналитики проекта"
#. module: board_project
#: model:ir.module.module,shortdesc:board_project.module_meta_information
msgid "Board for project users"
-msgstr ""
+msgstr "Панель для пользователей проекта"
#. module: board_project
#: model:ir.actions.act_window,name:board_project.action_project_pipeline_user
@@ -73,7 +73,7 @@ msgstr "Конвейер заданий"
#. module: board_project
#: view:board.board:0
msgid "My Planning"
-msgstr ""
+msgstr "Мой план"
#. module: board_project
#: view:board.board:0
@@ -136,4 +136,4 @@ msgstr "Мои конвейеры пользователей"
#. module: board_project
#: view:board.board:0
msgid "My Timesheet"
-msgstr ""
+msgstr "Мой табель"
diff --git a/addons/crm/i18n/es.po b/addons/crm/i18n/es.po
index 7bd5f418db9..e1fbc85e8c0 100644
--- a/addons/crm/i18n/es.po
+++ b/addons/crm/i18n/es.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-01-05 05:59+0000\n"
-"PO-Revision-Date: 2010-03-04 10:04+0000\n"
-"Last-Translator: xavi \n"
+"PO-Revision-Date: 2010-03-30 21:03+0000\n"
+"Last-Translator: Luis Gerardo Cruz Garcia \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: 2010-03-30 03:59+0000\n"
+"X-Launchpad-Export-Date: 2010-03-31 03:55+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: crm
@@ -27,6 +27,8 @@ msgid ""
"This property defines the list of date/time exceptions for "
"arecurring calendar component."
msgstr ""
+"Esta propiedad define la lista de excepciones (días/horas) para un evento de "
+"calendario recurrente"
#. module: crm
#: help:crm.case.rule,act_mail_to_user:0
@@ -306,7 +308,7 @@ msgstr ""
#. module: crm
#: view:crm.meeting:0
msgid "Exception Dates"
-msgstr ""
+msgstr "Fechas de excepción"
#. module: crm
#: selection:crm.case.rule,trg_date_type:0
@@ -400,17 +402,17 @@ msgstr "Próxima entrevista"
#. module: crm
#: field:crm.case.rule,regex_history:0
msgid "Regular Expression on Case History"
-msgstr ""
+msgstr "Expresiones Regulares en el Historial del Caso"
#. module: crm
#: model:ir.model,name:crm.model_crm_email_add_cc
msgid "Email Add CC"
-msgstr ""
+msgstr "Email añadir CC"
#. module: crm
#: model:process.transition,name:crm.process_transition_opportunitymeeting0
msgid "Opportunity Meeting"
-msgstr ""
+msgstr "Oportunidad de Reunión"
#. module: crm
#: help:crm.case,canal_id:0
@@ -423,7 +425,7 @@ msgstr ""
#. module: crm
#: view:crm.meeting:0
msgid "Exception Rules"
-msgstr ""
+msgstr "Reglas de Excepción"
#. module: crm
#: field:crm.menu.config_wizard,opportunity:0
@@ -434,7 +436,7 @@ msgstr "Oportunidades de negocio"
#. module: crm
#: model:crm.case.stage,name:crm.stage_claim1
msgid "Accepted as Claim"
-msgstr ""
+msgstr "Aceptado como reclamación"
#. module: crm
#: view:crm.case.rule:0
@@ -459,18 +461,18 @@ msgstr "%(email_from)s = Email empresa"
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead6
msgid "Dead"
-msgstr ""
+msgstr "Muerto"
#. module: crm
#: view:crm.meeting:0
msgid "Confirm Meeting"
-msgstr ""
+msgstr "Confirmar reunión"
#. module: crm
#: model:crm.case.categ,name:crm.categ_lead1
#: model:crm.case.categ,name:crm.categ_oppor1
msgid "Existing Customer"
-msgstr ""
+msgstr "Cliente existente"
#. module: crm
#: model:crm.case.category2,name:crm.category_meet2
@@ -494,7 +496,7 @@ msgstr "Categoría"
#: model:ir.ui.menu,name:crm.menu_crm_case_section_categ_stage_tree
#: view:report.crm.case.section.categ.stage:0
msgid "Cases by Section, Category and Stage"
-msgstr ""
+msgstr "Casos por sección, categoría y fase"
#. module: crm
#: help:crm.case.rule,act_mail_to_watchers:0
@@ -502,11 +504,13 @@ msgid ""
"Check this if you want the rule to mark CC(mail to any other person defined "
"in actions)."
msgstr ""
+"Active esta casilla en caso que quiera que la regla sea marcada CC ( copia "
+"de email para cualquier otra persona definida en las acciones)"
#. module: crm
#: field:crm.meeting,class:0
msgid "Privacy"
-msgstr ""
+msgstr "Privada"
#. module: crm
#: view:crm.case.rule:0
@@ -566,7 +570,7 @@ msgstr "Posición"
#: model:ir.actions.wizard,name:crm.wizard_partner_create_opportunity
#: model:ir.actions.wizard,name:crm.wizard_partner_create_opportunity1
msgid "Create Opportunity"
-msgstr ""
+msgstr "Crear oportunidad"
#. module: crm
#: selection:report.crm.case.section.categ.categ2,month:0
@@ -579,7 +583,7 @@ msgstr ""
#. module: crm
#: view:crm.meeting:0
msgid "Meetings Tree"
-msgstr ""
+msgstr "Árbol de reuniones"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -596,7 +600,7 @@ msgstr "Escalado"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm_case_categ_meet
msgid "All Meetings"
-msgstr ""
+msgstr "Todas las reuniones"
#. module: crm
#: model:ir.module.module,shortdesc:crm.module_meta_information
@@ -607,7 +611,7 @@ msgstr "Gestión de relaciones con clientes & proveedores"
#: view:crm.email.add.cc:0
#: model:ir.actions.act_window,name:crm.action_view_crm_email_add_cc_wizard
msgid "Add CC"
-msgstr ""
+msgstr "Agregar CC"
#. module: crm
#: selection:report.crm.case.section.categ.categ2,month:0
@@ -615,7 +619,7 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "June"
-msgstr ""
+msgstr "Junio"
#. module: crm
#: field:crm.segmentation,som_interval_default:0
@@ -625,7 +629,7 @@ msgstr "Por defecto (0=Ninguno)"
#. module: crm
#: model:crm.case.stage,name:crm.stage_job7
msgid "Refused by Company"
-msgstr ""
+msgstr "Rechazado por la compañía"
#. module: crm
#: field:crm.case,planned_revenue:0
@@ -643,12 +647,12 @@ msgstr "Permitir eliminar"
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "October"
-msgstr ""
+msgstr "Octubre"
#. module: crm
#: model:crm.case.stage,name:crm.stage_oppor3
msgid "Value Proposition"
-msgstr ""
+msgstr "Propuesta de valor"
#. module: crm
#: view:crm.case.rule:0
@@ -658,17 +662,17 @@ msgstr "%(case_id)s = ID del caso"
#. module: crm
#: model:crm.case.category2,name:crm.category_oppor2
msgid "New Business"
-msgstr ""
+msgstr "Nuevo negocio"
#. module: crm
#: help:crm.case,email_from:0
msgid "These people will receive email."
-msgstr ""
+msgstr "Estas personas recibirán un email."
#. module: crm
#: help:crm.case.section,calendar:0
msgid "Allows to show calendar"
-msgstr ""
+msgstr "Permite mostrar el calendario"
#. module: crm
#: view:crm.job:0
@@ -676,13 +680,13 @@ msgstr ""
#: view:crm.opportunity:0
#: view:crm.phonecall:0
msgid " Today "
-msgstr ""
+msgstr " Hoy "
#. module: crm
#: wizard_view:crm.job.reschedule_phone_call,init:0
#: wizard_view:crm.opportunity.reschedule_phone_call,init:0
msgid "Phone Call Description"
-msgstr ""
+msgstr "Descripción de la llamada"
#. module: crm
#: view:crm.case.categ:0
@@ -702,7 +706,7 @@ msgstr ""
#. module: crm
#: model:crm.case.categ,name:crm.categ_claim3
msgid "Policy Claims"
-msgstr ""
+msgstr "Política de reclamaciones"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -718,7 +722,7 @@ msgstr ""
#. module: crm
#: view:crm.phonecall:0
msgid "Assigned to"
-msgstr ""
+msgstr "Asignada a"
#. module: crm
#: view:res.partner.events:0
@@ -728,12 +732,12 @@ msgstr "Eventos empresa"
#. module: crm
#: model:crm.case.stage,name:crm.stage_job4
msgid "Contract Proposed"
-msgstr ""
+msgstr "Contrato propuesto"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm_case_job_req_main
msgid "Jobs - Hiring Process"
-msgstr ""
+msgstr "Trabajos - Proceso de selección de personal"
#. module: crm
#: view:crm.case:0
@@ -741,7 +745,7 @@ msgstr ""
#: view:crm.lead:0
#: view:crm.opportunity:0
msgid "Related Cases"
-msgstr ""
+msgstr "Casos Relacionados"
#. module: crm
#: selection:report.crm.case.section.categ.categ2,month:0
@@ -749,7 +753,7 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "September"
-msgstr ""
+msgstr "Setiembre"
#. module: crm
#: view:crm.case:0
@@ -764,33 +768,33 @@ msgstr "Historial de comunicación"
#. module: crm
#: view:crm.claim:0
msgid "New Claims"
-msgstr ""
+msgstr "Nuevas Reclamaciones"
#. module: crm
#: view:crm.meeting:0
msgid "Meetings Form"
-msgstr ""
+msgstr "Formulario de reuniones"
#. module: crm
#: model:crm.case.stage,name:crm.stage_oppor5
msgid "Negotiation/Review"
-msgstr ""
+msgstr "Negociación/Revisión"
#. module: crm
#: code:addons/crm/wizard/crm_phonecall_wizard.py:0
#, python-format
msgid "A partner is already defined on this phonecall."
-msgstr ""
+msgstr "Una empresa ya esta definida para esta llamada."
#. module: crm
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_oppor_stage
msgid "Cases by Opportunities and Stage"
-msgstr ""
+msgstr "Casos por oportunidades y fase"
#. module: crm
#: view:crm.claim:0
msgid "Date of Claim"
-msgstr ""
+msgstr "Fecha de reclamación"
#. module: crm
#: view:crm.segmentation.line:0
@@ -800,12 +804,12 @@ msgstr "Líneas de segmentación de empresa"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_category_act_leads_all
msgid "All Leads"
-msgstr ""
+msgstr "Todas las iniciativas"
#. module: crm
#: view:crm.lead:0
msgid "Leads Form"
-msgstr ""
+msgstr "Formulario de iniciativas"
#. module: crm
#: view:crm.segmentation:0
@@ -816,17 +820,17 @@ msgstr "Segmentación de empresa"
#. module: crm
#: model:crm.case.stage,name:crm.stage_job5
msgid "Contract Signed"
-msgstr ""
+msgstr "Contrato firmado"
#. module: crm
#: wizard_view:caldav.crm.subscribe,init:0
msgid "Subscribe to Remote ICS"
-msgstr ""
+msgstr "Subcribirse a ICS remotos"
#. module: crm
#: model:crm.case.category2,name:crm.category_oppor1
msgid "Existing Business"
-msgstr ""
+msgstr "Negocio existente"
#. module: crm
#: field:crm.case,probability:0
@@ -837,7 +841,7 @@ msgstr "Probabilidad (%)"
#. module: crm
#: model:ir.model,name:crm.model_crm_lead
msgid "Leads Cases"
-msgstr ""
+msgstr "Casos Oportunidades"
#. module: crm
#: help:crm.case.section,reply_to:0
@@ -864,7 +868,7 @@ msgstr "Regla del caso"
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_oppor
#, python-format
msgid "Opportunity"
-msgstr ""
+msgstr "Oportunidad"
#. module: crm
#: view:crm.case:0
@@ -874,12 +878,12 @@ msgstr ""
#: view:crm.lead:0
#: view:crm.opportunity:0
msgid "Emails"
-msgstr ""
+msgstr "Emails"
#. module: crm
#: model:crm.case.category2,name:crm.category_lead7
msgid "Television"
-msgstr ""
+msgstr "Televisión"
#. module: crm
#: view:crm.segmentation:0
@@ -889,18 +893,18 @@ msgstr "Parar el proceso"
#. module: crm
#: model:crm.case.categ,name:crm.categ_claim1
msgid "Factual Claims"
-msgstr ""
+msgstr "Reclamaciones objetivas"
#. module: crm
#: view:crm.phonecall:0
msgid "Search Phonecalls"
-msgstr ""
+msgstr "Buscar llamadas"
#. module: crm
#: wizard_button:crm.lead.opportunity_set,create_partner,create:0
#: wizard_button:crm.phonecall.opportunity_set,create_partner,create:0
msgid "Continue"
-msgstr ""
+msgstr "Continue"
#. module: crm
#: field:crm.segmentation,som_interval:0
@@ -915,13 +919,13 @@ msgstr "Valor"
#. module: crm
#: help:caldav.crm.export,init,name:0
msgid "Save in .ics format"
-msgstr ""
+msgstr "Salvar en formato .ics"
#. module: crm
#: wizard_field:crm.new.send.mail,init,text:0
#: wizard_field:crm.send.mail,init,text:0
msgid "Message"
-msgstr ""
+msgstr "Mensaje"
#. module: crm
#: help:crm.segmentation,exclusif:0
@@ -960,7 +964,7 @@ msgstr ""
#. module: crm
#: model:crm.case.category2,name:crm.category_lead6
msgid "Radio"
-msgstr ""
+msgstr "Radio"
#. module: crm
#: model:ir.model,name:crm.model_crm_opportunity_assign_wizard
@@ -980,12 +984,13 @@ msgstr "Fecha del disparo"
#. module: crm
#: view:crm.case.history:0
msgid "Search Histories"
-msgstr ""
+msgstr "Buscar en Historial"
#. module: crm
#: help:crm.case.stage,sequence:0
msgid "Gives the sequence order when displaying a list of case stages."
msgstr ""
+"Da el orden de secuencia cuando se muestra un lista de etápas de caso."
#. module: crm
#: model:crm.case.section,name:crm.section_support3
@@ -993,7 +998,7 @@ msgstr ""
#: model:ir.ui.menu,name:crm.menu_crm_case_opp
#: model:process.node,name:crm.process_node_opportunities0
msgid "Opportunities"
-msgstr ""
+msgstr "Oportunidades"
#. module: crm
#: help:crm.segmentation,name:0
@@ -1028,6 +1033,8 @@ msgid ""
"These people will receive a copy of the future communication between partner "
"and users by email"
msgstr ""
+"Estas personas recibirán una copia de toda comunicación entre el partner y "
+"los usuarios."
#. module: crm
#: selection:report.crm.case.section.categ.categ2,month:0
@@ -1035,12 +1042,12 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "March"
-msgstr ""
+msgstr "Marzo"
#. module: crm
#: view:crm.case.rule:0
msgid "Server Action to be Triggered"
-msgstr ""
+msgstr "Acción del servidor a ser ejecutada"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_rule-act
@@ -1057,13 +1064,13 @@ msgstr ""
#. module: crm
#: wizard_field:crm.new.send.mail,init,state:0
msgid "Set State to"
-msgstr ""
+msgstr "Establecer estado a"
#. module: crm
#: code:addons/crm/wizard/wizard_crm_send_email.py:0
#, python-format
msgid "There is no mail to reply!"
-msgstr ""
+msgstr "Este correo no puede ser contestado"
#. module: crm
#: wizard_button:crm.job.partner_create,init,confirm:0
@@ -1073,7 +1080,7 @@ msgstr ""
#: model:ir.actions.wizard,name:crm.wizard_crm_lead_partner_create
#: model:ir.actions.wizard,name:crm.wizard_crm_phonecall_partner_create
msgid "Create Partner"
-msgstr ""
+msgstr "Crear empresa"
#. module: crm
#: selection:crm.segmentation.line,expr_operator:0
@@ -1088,12 +1095,12 @@ msgstr ""
#. module: crm
#: view:crm.fundraising:0
msgid "My Funds"
-msgstr ""
+msgstr "Mis donaciones"
#. module: crm
#: field:crm.case,partner_mobile:0
msgid "Mobile"
-msgstr ""
+msgstr "Móvil"
#. module: crm
#: field:crm.case.rule,name:0
@@ -1114,12 +1121,12 @@ msgstr "Historial del caso"
#. module: crm
#: model:crm.case.categ,name:crm.categ_job2
msgid "Junior Developer"
-msgstr ""
+msgstr "Desarrollador junior"
#. module: crm
#: view:crm.meeting:0
msgid "My Meetings"
-msgstr ""
+msgstr "Mis reuniones"
#. module: crm
#: field:crm.case.categ,name:0
@@ -1129,7 +1136,7 @@ msgstr "Nombre de la categoría de casos"
#. module: crm
#: model:crm.case.category2,name:crm.category_claim2
msgid "Preventive"
-msgstr ""
+msgstr "Preventivo"
#. module: crm
#: field:crm.case.rule,act_email_cc:0
@@ -1139,7 +1146,7 @@ msgstr "Añadir observadores (CC)"
#. module: crm
#: wizard_view:caldav.crm.export,init:0
msgid "Export ICS"
-msgstr ""
+msgstr "Exportar ICS"
#. module: crm
#: code:addons/crm/crm_claim.py:0
@@ -1149,7 +1156,7 @@ msgstr ""
#: code:addons/crm/crm_phonecall.py:0
#, python-format
msgid "You can not assign Closed Case."
-msgstr ""
+msgstr "No se puede asignar un caso cerrado."
#. module: crm
#: help:crm.case.rule,act_remind_partner:0
@@ -1167,7 +1174,7 @@ msgstr ""
#: view:crm.meeting:0
#, python-format
msgid "Meetings"
-msgstr ""
+msgstr "Reuniones"
#. module: crm
#: view:crm.case.rule:0
@@ -1192,12 +1199,12 @@ msgstr "Fecha límite"
#: wizard_button:caldav.crm.import,init,end:0
#: wizard_button:caldav.crm.subscribe,init,end:0
msgid "_Cancel"
-msgstr ""
+msgstr "Cancelar"
#. module: crm
#: field:crm.case,category2_id:0
msgid "Category Name"
-msgstr ""
+msgstr "Nombre de Categoría"
#. module: crm
#: view:crm.segmentation:0
@@ -1207,7 +1214,7 @@ msgstr "Segmentaciones de empresa"
#. module: crm
#: view:crm.meeting:0
msgid "Recurrency Rule"
-msgstr ""
+msgstr "Regla concurrente"
#. module: crm
#: model:ir.model,name:crm.model_crm_case_categ
@@ -1221,12 +1228,12 @@ msgstr "Categoría del caso"
#: view:crm.phonecall:0
#: wizard_field:crm.send.mail,init,subject:0
msgid "Subject"
-msgstr ""
+msgstr "Asunto"
#. module: crm
#: field:crm.meeting,attendees:0
msgid "Attendees"
-msgstr ""
+msgstr "Asistentes"
#. module: crm
#: model:ir.module.module,description:crm.module_meta_information
@@ -1281,7 +1288,7 @@ msgstr ""
#. module: crm
#: model:process.transition,note:crm.process_transition_leadpartner0
msgid "Prospect is converting to business partner"
-msgstr ""
+msgstr "El prospecto se convierte a partner"
#. module: crm
#: view:crm.case.rule:0
@@ -1291,17 +1298,17 @@ msgstr ""
#. module: crm
#: view:crm.claim:0
msgid "Pending Claims"
-msgstr ""
+msgstr "Reclamaciones Pendientes"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_oppor_categ_stage
msgid "Cases by Opportunities, Category and Stage"
-msgstr ""
+msgstr "Casos por oportunidades, categoría y etapa"
#. module: crm
#: model:crm.case.category2,name:crm.category_lead4
msgid "Print"
-msgstr ""
+msgstr "Imprimir"
#. module: crm
#: field:crm.case,som:0
@@ -1316,12 +1323,12 @@ msgstr "Grado de satisfacción"
#: field:report.crm.case.section.categ.categ2,category2_id:0
#: field:report.crm.case.section.categ2,category2_id:0
msgid "Type"
-msgstr ""
+msgstr "Tipo"
#. module: crm
#: view:crm.job:0
msgid "Candidate Refused"
-msgstr ""
+msgstr "Candidato rechazado"
#. module: crm
#: view:crm.segmentation:0
@@ -1351,7 +1358,7 @@ msgstr "Fecha creación"
#: view:crm.phonecall:0
#: model:process.node,name:crm.process_node_meeting0
msgid "Meeting"
-msgstr ""
+msgstr "Reunión"
#. module: crm
#: view:crm.case.rule:0
@@ -1372,12 +1379,12 @@ msgstr "Cambiar a borrador"
#. module: crm
#: model:ir.model,name:crm.model_report_crm_case_section_categ_categ2
msgid "Cases by section, Category and Category2"
-msgstr ""
+msgstr "Casos por sección, categoría y categoría2"
#. module: crm
#: model:crm.case.stage,name:crm.stage_oppor6
msgid "Closed Won"
-msgstr ""
+msgstr "Cerrado-Ganado"
#. module: crm
#: model:ir.actions.act_window,name:crm.act_crm_case_categ_crm_case_opened
@@ -1396,7 +1403,7 @@ msgstr "Casos abiertos"
#: field:report.crm.case.section.categ2,stage_id:0
#: field:report.crm.case.section.stage,stage_id:0
msgid "Stage"
-msgstr ""
+msgstr "Fase"
#. module: crm
#: constraint:ir.ui.view:0
@@ -1409,24 +1416,26 @@ msgid ""
"If the active field is set to true, it will allow you to hide the case "
"section without removing it."
msgstr ""
+"Si el campo activo esta en verdadero, te permitira esconder la sección del "
+"caso sin removerla"
#. module: crm
#: model:crm.case.categ,name:crm.categ_fund2
msgid "Learning And Education"
-msgstr ""
+msgstr "Aprendizaje y educación"
#. module: crm
#: wizard_view:crm.phonecall.opportunity_set,create_partner:0
#: wizard_view:crm.phonecall.partner_create,init:0
msgid "Are you sure you want to create a partner based on this phonecall ?"
-msgstr ""
+msgstr "Estas seguro que deseas crear una empresa basado en esta llamada?"
#. module: crm
#: view:crm.case.stage:0
#: model:ir.actions.act_window,name:crm.crm_case_stage_act
#: model:ir.ui.menu,name:crm.menu_crm_case_stage_act
msgid "Stages"
-msgstr ""
+msgstr "Etapas"
#. module: crm
#: wizard_field:crm.case.opportunity.partner_opportunity,init,planned_revenue:0
diff --git a/addons/crm/i18n/fi.po b/addons/crm/i18n/fi.po
index 7f798630a67..5a16207d10c 100644
--- a/addons/crm/i18n/fi.po
+++ b/addons/crm/i18n/fi.po
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2010-01-05 05:59+0000\n"
-"PO-Revision-Date: 2010-03-22 18:16+0000\n"
+"PO-Revision-Date: 2010-03-30 20:39+0000\n"
"Last-Translator: smii \n"
"Language-Team: Finnish \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-03-30 03:58+0000\n"
+"X-Launchpad-Export-Date: 2010-03-31 03:55+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: crm
@@ -1942,7 +1942,7 @@ msgstr ""
#. module: crm
#: model:crm.case.category2,name:crm.category_job1
msgid "Graduate"
-msgstr ""
+msgstr "Valmistua"
#. module: crm
#: wizard_view:crm.job.meeting_set,init:0
@@ -1951,11 +1951,13 @@ msgid ""
"Note that you can also use the calendar view to graphically schedule your "
"next meeting."
msgstr ""
+"Huomaa, että voit käyttää kalenterinäkymää myös suunnitellaksesi graafisesti "
+"seuraavan kokouksesi."
#. module: crm
#: view:crm.lead:0
msgid "Leads Tree"
-msgstr ""
+msgstr "Opaspuu"
#. module: crm
#: field:crm.meeting,caldav_url:0
@@ -1965,7 +1967,7 @@ msgstr ""
#. module: crm
#: view:crm.meeting:0
msgid "Attendee"
-msgstr ""
+msgstr "Osanottaja"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -1979,12 +1981,12 @@ msgstr ""
#: 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 ""
+msgstr "Saapuva"
#. module: crm
#: constraint:crm.case.section:0
msgid "Error ! You cannot create recursive sections."
-msgstr ""
+msgstr "Virhe! Et voi luoda rekursiivisia osioita."
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm
@@ -2004,7 +2006,7 @@ msgstr ""
#: view:report.crm.case.section.categ2:0
#: view:report.crm.case.section.stage:0
msgid "This Year"
-msgstr ""
+msgstr "Tänä vuonna"
#. module: crm
#: field:crm.case.rule,act_remind_partner:0
@@ -2022,7 +2024,7 @@ msgstr "Korkein"
#. module: crm
#: view:crm.job:0
msgid "Contract Data"
-msgstr ""
+msgstr "Sopimuksen tiedot (data)"
#. module: crm
#: selection:crm.case.rule,trg_date_range_type:0
@@ -2037,17 +2039,17 @@ msgstr ""
#. module: crm
#: field:crm.menu.config_wizard,document_ics:0
msgid "Shared Calendar"
-msgstr ""
+msgstr "Jaettu kalenteri"
#. module: crm
#: field:crm.case.section,reply_to:0
msgid "Reply-To"
-msgstr ""
+msgstr "Vastaus osoitteeseen"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_action_report_crm_case_lead_categ
msgid "Cases by Leads and Type"
-msgstr ""
+msgstr "Tapahtumat johdon ja tyypin mukaan"
#. module: crm
#: selection:crm.case.rule,trg_date_range_type:0
@@ -2058,12 +2060,12 @@ msgstr "Minuuttia"
#: field:report.crm.case.section.categ2,amount_revenue:0
#: field:report.crm.case.section.stage,amount_revenue:0
msgid "Est.Revenue"
-msgstr ""
+msgstr "Arvioitu tuotto"
#. module: crm
#: model:crm.case.stage,name:crm.stage_job1
msgid "Initial Jobs Demand"
-msgstr ""
+msgstr "Alkutöiden tarve"
#. module: crm
#: field:crm.case.rule,trg_priority_to:0
@@ -2078,12 +2080,12 @@ msgstr ""
#. module: crm
#: view:crm.claim:0
msgid "Claims Info"
-msgstr ""
+msgstr "Vaade tiedot"
#. module: crm
#: field:crm.case.category2,name:0
msgid "Case Category2 Name"
-msgstr ""
+msgstr "Tapahtuma kategoria2 nimi"
#. module: crm
#: wizard_view:crm.lead.opportunity_set,opportunity:0
@@ -2091,13 +2093,13 @@ msgstr ""
#: model:ir.actions.wizard,name:crm.wizard_crm_lead_opportunity_set
#: model:ir.actions.wizard,name:crm.wizard_crm_phonecall_opportunity_set
msgid "Convert To Opportunity"
-msgstr ""
+msgstr "Muunna mahdollisuudeksi"
#. module: crm
#: model:crm.case.stage,name:crm.stage_phone2
#: view:crm.phonecall:0
msgid "Held"
-msgstr ""
+msgstr "Pysäytetty"
#. module: crm
#: view:crm.case:0
@@ -2113,7 +2115,7 @@ msgstr ""
#. module: crm
#: selection:crm.new.send.mail,init,state:0
msgid "Unchanged"
-msgstr ""
+msgstr "Muuttamaton"
#. module: crm
#: wizard_view:crm.job.partner_create,init:0
@@ -2122,7 +2124,7 @@ msgstr ""
#: wizard_view:crm.phonecall.opportunity_set,create_partner:0
#: wizard_view:crm.phonecall.partner_create,init:0
msgid "Convert To Partner"
-msgstr ""
+msgstr "Muunna kumppaniksi"
#. module: crm
#: field:crm.case.rule,trg_state_from:0
@@ -2148,17 +2150,17 @@ msgstr "Prioriteetti"
#. module: crm
#: view:crm.opportunity:0
msgid "Source"
-msgstr ""
+msgstr "Lähde"
#. module: crm
#: field:crm.meeting,location:0
msgid "Location"
-msgstr ""
+msgstr "Sijainti"
#. module: crm
#: view:crm.fundraising:0
msgid "Payment Mode"
-msgstr ""
+msgstr "Maksutapa"
#. module: crm
#: help:crm.case.rule,trg_date_range:0
@@ -2173,7 +2175,7 @@ msgstr ""
#: view:crm.job:0
#: view:crm.lead:0
msgid "Stage: "
-msgstr ""
+msgstr "Vaihe: "
#. module: crm
#: view:crm.case.section:0
@@ -2183,7 +2185,7 @@ msgstr "Tapahtumaosio"
#. module: crm
#: model:process.node,note:crm.process_node_meeting0
msgid "Schedule a normal or phone meeting"
-msgstr ""
+msgstr "Ajoita normaali puhelinkokous"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -2194,7 +2196,7 @@ msgstr ""
#: code:addons/crm/crm_phonecall.py:0
#, python-format
msgid "Error !"
-msgstr ""
+msgstr "Virhe!"
#. module: crm
#: view:crm.case.rule:0
@@ -2204,7 +2206,7 @@ msgstr "Muutettavat kentät"
#. module: crm
#: model:crm.case.category2,name:crm.category_lead1
msgid "Telesales"
-msgstr ""
+msgstr "Puhelinmyynnit"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm_case_history-act_main
@@ -2214,7 +2216,7 @@ msgstr "Tapahtumahistoriat"
#. module: crm
#: field:crm.case,create_date:0
msgid "Created"
-msgstr ""
+msgstr "Luotu"
#. module: crm
#: view:crm.lead:0
@@ -2231,12 +2233,12 @@ msgstr "Segmentointirivi"
#: wizard_field:crm.opportunity.reschedule_phone_call,init,deadline:0
#: view:crm.phonecall:0
msgid "Planned Date"
-msgstr ""
+msgstr "Suunniteltu päivämäärä"
#. module: crm
#: selection:crm.case.rule,trg_date_range_type:0
msgid "Hours"
-msgstr ""
+msgstr "Tunnit"
#. module: crm
#: help:crm.menu.config_wizard,phonecall:0
@@ -2266,7 +2268,7 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "July"
-msgstr ""
+msgstr "heinäkuu"
#. module: crm
#: model:crm.case.stage,name:crm.stage_oppor1
@@ -2276,7 +2278,7 @@ msgstr ""
#. module: crm
#: field:crm.case,partner_name2:0
msgid "Employee Email"
-msgstr ""
+msgstr "Työntekijän sähköposti"
#. module: crm
#: model:ir.model,name:crm.model_crm_meeting
@@ -2286,17 +2288,17 @@ msgstr ""
#. module: crm
#: view:crm.job:0
msgid "Job Info"
-msgstr ""
+msgstr "Työtehtävän tiedot"
#. module: crm
#: view:crm.meeting:0
msgid "Cancel Meeting"
-msgstr ""
+msgstr "Peruuta kokous/tapaaminen"
#. module: crm
#: model:crm.case.section,name:crm.section_support0
msgid "Jobs"
-msgstr ""
+msgstr "Työpaikat"
#. module: crm
#: view:crm.case.rule:0
@@ -2307,7 +2309,7 @@ msgstr ""
#: model:crm.case.stage,name:crm.stage_phone3
#: view:crm.phonecall:0
msgid "Not Held"
-msgstr ""
+msgstr "Ei pidätetty"
#. module: crm
#: field:crm.case.rule,act_mail_to_user:0
@@ -2317,12 +2319,12 @@ msgstr "Sähköposti vastaavalle"
#. module: crm
#: view:crm.job:0
msgid "Jobs - Recruitment Form"
-msgstr ""
+msgstr "Työpaikat - Rekrytointilomake"
#. module: crm
#: model:crm.case.category2,name:crm.category_claim1
msgid "Corrective"
-msgstr ""
+msgstr "Tarkennus"
#. module: crm
#: model:ir.model,name:crm.model_crm_opportunity
@@ -2345,7 +2347,7 @@ msgstr "Lähetettävän sähköpostin malli"
#: field:report.crm.case.section.categ2,month:0
#: field:report.crm.case.section.stage,month:0
msgid "Month"
-msgstr ""
+msgstr "Kuukausi"
#. module: crm
#: model:crm.case.section,name:crm.section_support2
@@ -2361,7 +2363,7 @@ msgstr ""
#: wizard_button:crm.new.send.mail,init,send:0
#: wizard_button:crm.send.mail,init,send:0
msgid "Send Email"
-msgstr ""
+msgstr "Lähetä sähköpostia"
#. module: crm
#: wizard_view:crm.new.send.mail,init:0
@@ -2371,7 +2373,7 @@ msgstr ""
#. module: crm
#: model:crm.case.category2,name:crm.categ2_fund3
msgid "Credit Card"
-msgstr ""
+msgstr "Luottokortti"
#. module: crm
#: code:addons/crm/crm.py:0
@@ -2380,6 +2382,8 @@ msgid ""
"No E-Mail ID Found for the Responsible Partner or missing reply address in "
"section!"
msgstr ""
+"Ei löydettyä sähköposti ID:tä vastaavalle kumppanille tai puuttuva "
+"vastausosoite tässä osiossa!"
#. module: crm
#: view:crm.job:0
@@ -2389,18 +2393,18 @@ msgstr ""
#. module: crm
#: field:crm.case.history,log_id:0
msgid "Log"
-msgstr ""
+msgstr "Loki"
#. module: crm
#: help:crm.menu.config_wizard,fund:0
msgid ""
"This may help associations in their fund raising process and tracking."
-msgstr ""
+msgstr "Tämä saattaa auttaa yhteisöjä varainhankinnassa ja sen seurannassa."
#. module: crm
#: view:crm.meeting:0
msgid "Reset to Unconfirmed"
-msgstr ""
+msgstr "Palauta vahvistamattomaksi"
#. module: crm
#: view:crm.case:0
@@ -2415,7 +2419,7 @@ msgstr "Seuraajien Sähköpostit"
#. module: crm
#: view:crm.case.rule:0
msgid "Note"
-msgstr ""
+msgstr "Huomautus"
#. module: crm
#: field:report.crm.case.section.categ.categ2,delay_close:0
@@ -2423,7 +2427,7 @@ msgstr ""
#: field:report.crm.case.section.categ2,delay_close:0
#: field:report.crm.case.section.stage,delay_close:0
msgid "Delay Close"
-msgstr ""
+msgstr "Viivytä sulkemista"
#. module: crm
#: selection:crm.case,priority:0
@@ -2431,7 +2435,7 @@ msgstr ""
#: selection:crm.case.rule,trg_priority_from:0
#: selection:crm.case.rule,trg_priority_to:0
msgid "Low"
-msgstr ""
+msgstr "Matala"
#. module: crm
#: field:crm.case,date_closed:0
@@ -2444,23 +2448,23 @@ msgstr ""
#: selection:report.crm.case.section.categ2,state:0
#: selection:report.crm.case.section.stage,state:0
msgid "Closed"
-msgstr ""
+msgstr "Suljettu"
#. module: crm
#: view:crm.job:0
msgid "Candidate Name2"
-msgstr ""
+msgstr "Ehdokasnimi 2"
#. module: crm
#: code:addons/crm/crm.py:0
#, python-format
msgid "cancel"
-msgstr ""
+msgstr "Peruuta"
#. module: crm
#: model:crm.case.categ,name:crm.categ_meet2
msgid "Internal Meeting"
-msgstr ""
+msgstr "Sisäinen kokous"
#. module: crm
#: view:crm.case:0
@@ -2469,7 +2473,7 @@ msgstr ""
#: view:crm.lead:0
#: view:crm.opportunity:0
msgid "Events"
-msgstr ""
+msgstr "Tapahtumat"
#. module: crm
#: help:crm.menu.config_wizard,lead:0
@@ -2477,6 +2481,8 @@ msgid ""
"Allows you to track and manage leads which are pre-sales requests or "
"contacts, the very first contact with a customer request."
msgstr ""
+"Sallii sinun seuraavan ja hallinoimaan oppaita jotka ovat esi-myynti "
+"pyyntöjä tai yhteystietoja. Ensimmäinen yhteydenotto asiakkaan pyyntöön."
#. module: crm
#: help:crm.case,som:0
@@ -2494,7 +2500,7 @@ msgstr ""
#. module: crm
#: model:crm.case.categ,name:crm.categ_meet1
msgid "Customer Meeting"
-msgstr ""
+msgstr "Asiakastapaaminen"
#. module: crm
#: wizard_field:crm.new.send.mail,init,doc2:0
@@ -2509,7 +2515,7 @@ msgstr ""
#. module: crm
#: view:crm.job:0
msgid "Degree"
-msgstr ""
+msgstr "Tutkinto"
#. module: crm
#: wizard_field:crm.new.send.mail,init,doc1:0
@@ -2525,7 +2531,7 @@ msgstr ""
#: model:ir.ui.menu,name:crm.menu_crm_case_phone
#, python-format
msgid "Phone Calls"
-msgstr ""
+msgstr "Puhelinsoitot"
#. module: crm
#: help:crm.case,active:0
@@ -2547,19 +2553,19 @@ msgstr "Asiahistoria"
#. module: crm
#: field:crm.case,partner_phone:0
msgid "Phone"
-msgstr ""
+msgstr "Puhelin"
#. module: crm
#: model:crm.case.category2,name:crm.categ2_fund2
msgid "Cheque"
-msgstr ""
+msgstr "Šekki"
#. module: crm
#: field:crm.case,active:0
#: field:crm.case.rule,active:0
#: field:crm.case.section,active:0
msgid "Active"
-msgstr ""
+msgstr "Aktiivinen"
#. module: crm
#: help:crm.case.rule,act_remind_attach:0
@@ -2578,7 +2584,7 @@ msgstr "Pakollinen Määritelmä"
#. module: crm
#: selection:crm.segmentation.line,expr_operator:0
msgid ">"
-msgstr ""
+msgstr ">"
#. module: crm
#: view:crm.job:0
@@ -2588,12 +2594,12 @@ msgstr ""
#. module: crm
#: model:ir.actions.wizard,name:crm.wizard_crm_send_mail
msgid "Send Mail"
-msgstr ""
+msgstr "Lähetä sähköpostia"
#. module: crm
#: selection:crm.case.rule,trg_date_range_type:0
msgid "Months"
-msgstr ""
+msgstr "Kuukautta"
#. module: crm
#: view:crm.claim.assign_wizard:0
@@ -2616,7 +2622,7 @@ msgstr ""
#. module: crm
#: model:process.node,note:crm.process_node_opportunities0
msgid "When a real project/opportunity is detected"
-msgstr ""
+msgstr "Kun todellinen projekti/mahdollisuus on löydetty"
#. module: crm
#: wizard_view:crm.job.partner_create,init:0
@@ -2627,7 +2633,7 @@ msgstr ""
#: wizard_field:crm.lead.opportunity_set,create_partner,action:0
#: wizard_field:crm.phonecall.opportunity_set,create_partner,action:0
msgid "Action"
-msgstr ""
+msgstr "Toiminto"
#. module: crm
#: code:addons/crm/crm_claim.py:0
@@ -2638,7 +2644,7 @@ msgstr ""
#: model:ir.ui.menu,name:crm.menu_crm_case_claims
#, python-format
msgid "Claims"
-msgstr ""
+msgstr "Vaateet"
#. module: crm
#: field:crm.segmentation,som_interval_decrease:0
@@ -2653,7 +2659,7 @@ msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_case_category2
msgid "Category2 of case"
-msgstr ""
+msgstr "tapahtuman kategoria2"
#. module: crm
#: wizard_field:crm.new.send.mail,init,to:0
@@ -2669,29 +2675,29 @@ msgstr ""
#. module: crm
#: model:ir.ui.menu,name:crm.menu_presale
msgid "Sales"
-msgstr ""
+msgstr "Myynnit"
#. module: crm
#: view:crm.case:0
#: view:crm.phonecall:0
msgid "General"
-msgstr ""
+msgstr "Yleiset"
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead2
msgid "Assigned"
-msgstr ""
+msgstr "Määrätty"
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead5
msgid "Recycled"
-msgstr ""
+msgstr "Kierrätetty"
#. module: crm
#: model:crm.case.categ,name:crm.categ_lead8
#: model:crm.case.categ,name:crm.categ_oppor8
msgid "Other"
-msgstr ""
+msgstr "Muu"
#. module: crm
#: view:crm.case:0
@@ -2701,7 +2707,7 @@ msgstr ""
#: selection:crm.new.send.mail,init,state:0
#: view:crm.opportunity:0
msgid "Done"
-msgstr ""
+msgstr "Valmis"
#. module: crm
#: field:crm.segmentation,som_interval_max:0
@@ -2732,7 +2738,7 @@ msgstr ""
#: selection:report.crm.case.section.stage,state:0
#, python-format
msgid "Open"
-msgstr ""
+msgstr "Avoin"
#. module: crm
#: selection:crm.meeting,class:0
@@ -2776,19 +2782,19 @@ msgstr ""
#: field:crm.opportunity.assign_wizard,user_id:0
#: field:crm.phonecall.assign_wizard,user_id:0
msgid "Responsible"
-msgstr ""
+msgstr "Vastuullinen"
#. module: crm
#: model:crm.case.stage,name:crm.stage_claim4
#: model:crm.case.stage,name:crm.stage_meet3
msgid "Invalid"
-msgstr ""
+msgstr "Virheellinen"
#. module: crm
#: wizard_button:crm.job.meeting_set,init,order:0
#: wizard_button:crm.phonecall.meeting_set,init,order:0
msgid "Set Meeting"
-msgstr ""
+msgstr "Aseta kokous"
#. module: crm
#: field:crm.menu.config_wizard,meeting:0
diff --git a/addons/idea/i18n/ru.po b/addons/idea/i18n/ru.po
index e17c673dceb..052052be880 100644
--- a/addons/idea/i18n/ru.po
+++ b/addons/idea/i18n/ru.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2008-11-01 16:03+0000\n"
-"Last-Translator: Sergei Kostigoff \n"
+"PO-Revision-Date: 2010-03-30 10:33+0000\n"
+"Last-Translator: Nikolay Chesnokov \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: 2010-03-30 04:05+0000\n"
+"X-Launchpad-Export-Date: 2010-03-31 03:55+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: idea
@@ -44,7 +44,7 @@ msgstr "Мои идеи"
#. module: idea
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
-msgstr ""
+msgstr "Недопустимое имя модели в определении действия"
#. module: idea
#: selection:idea.idea,my_vote:0
@@ -119,7 +119,7 @@ msgstr "Категория идеи"
#. module: idea
#: model:ir.module.module,shortdesc:idea.module_meta_information
msgid "Idea Manager"
-msgstr ""
+msgstr "Менеджер идеи"
#. module: idea
#: model:ir.ui.menu,name:idea.menu_idea_vote_stat
@@ -222,6 +222,13 @@ msgid ""
"managers can obtain an easy view on best ideas from all the users. Once "
"installed, check the menu 'Ideas' in the 'Tools' main menu."
msgstr ""
+"Этот модуль позволяет вашему пользователю легко и эффективно участвовать в "
+"инновациях бизнеса. Он позволяет каждому выразить идеи о различных вопросах. "
+"После этого, другие пользователи могут прокомментировать эти идеи и провести "
+"голосование за идеи. Каждая идея как счет основанный на различных "
+"голосованиях. Менеджеры могут получить легкий взгляд на самые лучшие идеии "
+"от всех пользователей. Как только установлено, проверите меню «идеи» в "
+"главном меню «Инструменты»."
#. module: idea
#: field:idea.comment,create_date:0
@@ -242,7 +249,7 @@ msgstr "Кол-во голосов"
#. module: idea
#: model:ir.model,name:idea.model_idea_idea
msgid "idea.idea"
-msgstr ""
+msgstr "идеи.идеи"
#. module: idea
#: model:ir.actions.act_window,name:idea.action_idea_idea_draft_my
@@ -307,7 +314,7 @@ msgstr "Открытые идеи"
#: view:idea.idea:0
#: view:idea.vote.stat:0
msgid "vote_stat of ideas"
-msgstr ""
+msgstr "Статистика голосования"
#. module: idea
#: view:idea.comment:0
diff --git a/addons/mrp/i18n/fr.po b/addons/mrp/i18n/fr.po
index 587b88abfa7..34f1b5c332f 100644
--- a/addons/mrp/i18n/fr.po
+++ b/addons/mrp/i18n/fr.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.1\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-01-11 20:49+0000\n"
+"PO-Revision-Date: 2010-03-30 14:06+0000\n"
"Last-Translator: TeMPO \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: 2010-03-30 03:54+0000\n"
+"X-Launchpad-Export-Date: 2010-03-31 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: mrp
@@ -853,7 +853,7 @@ msgstr "Machine"
#. module: mrp
#: model:process.node,name:mrp.process_node_servicemts0
msgid "Make to stock"
-msgstr "Production sur stock"
+msgstr "Sur stock"
#. module: mrp
#: field:mrp.workcenter,name:0
@@ -1088,7 +1088,7 @@ msgstr "Rendement produit"
#. module: mrp
#: model:ir.model,name:mrp.model_stock_warehouse_orderpoint
msgid "Orderpoint minimum rule"
-msgstr "Règle de point de commande minimum"
+msgstr "Règle de stock minimum"
#. module: mrp
#: model:process.transition,name:mrp.process_transition_servicemts0
diff --git a/addons/mrp/i18n/ru.po b/addons/mrp/i18n/ru.po
index b4238ea1fc2..dad225a5f3c 100644
--- a/addons/mrp/i18n/ru.po
+++ b/addons/mrp/i18n/ru.po
@@ -7,24 +7,24 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-08 15:56+0000\n"
-"Last-Translator: Sergei Kostigoff \n"
+"PO-Revision-Date: 2010-03-30 10:42+0000\n"
+"Last-Translator: Nikolay Chesnokov \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: 2010-03-30 03:55+0000\n"
+"X-Launchpad-Export-Date: 2010-03-31 03:54+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
msgid "Moves Created"
-msgstr ""
+msgstr "Перемещение создано"
#. module: mrp
#: rml:mrp.production.order:0
msgid "No. Of Cycles"
-msgstr ""
+msgstr "№ цикла"
#. module: mrp
#: help:mrp.procurement.compute.all,init,automatic:0
@@ -37,34 +37,34 @@ msgstr ""
#. module: mrp
#: model:ir.module.module,shortdesc:mrp.module_meta_information
msgid "Manufacturing Resource Planning"
-msgstr ""
+msgstr "Планирование материальных ресурсов"
#. module: mrp
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
-msgstr ""
+msgstr "Недопустимое имя модели в определении действия"
#. module: mrp
#: field:mrp.bom.revision,indice:0
msgid "Revision"
-msgstr ""
+msgstr "Ревизия"
#. module: mrp
#: model:ir.actions.wizard,name:mrp.wiz_mrp_proc2
#: model:ir.ui.menu,name:mrp.menu_wiz_mrp_proc2
msgid "Compute Stock Minimum Rules Only"
-msgstr ""
+msgstr "Правила вычисления минимального запаса"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_procurement_action5
#: model:ir.ui.menu,name:mrp.menu_mrp_procurement_action5
msgid "Exceptions Procurements"
-msgstr ""
+msgstr "Исключения поставок"
#. module: mrp
#: view:mrp.routing.workcenter:0
msgid "Routing Workcenters"
-msgstr ""
+msgstr "Используемые мощности маршрута"
#. module: mrp
#: help:mrp.property,composition:0
@@ -75,7 +75,7 @@ msgstr ""
#: model:ir.actions.act_window,name:mrp.mrp_routing_action
#: model:ir.ui.menu,name:mrp.menu_mrp_routing_action
msgid "Routings"
-msgstr ""
+msgstr "Маршруты"
#. module: mrp
#: field:mrp.production,picking_id:0
@@ -85,7 +85,7 @@ msgstr "Упаковочный лист"
#. module: mrp
#: model:process.node,name:mrp.process_node_stock0
msgid "Stockable Stock"
-msgstr ""
+msgstr "Склад для складирования"
#. module: mrp
#: field:mrp.procurement,origin:0
@@ -107,7 +107,7 @@ msgstr "Ссылка"
#. module: mrp
#: view:mrp.production:0
msgid "Finished Products"
-msgstr ""
+msgstr "Конечный продукт"
#. module: mrp
#: wizard_field:mrp.procurement.compute.all,init,automatic:0
@@ -118,7 +118,7 @@ msgstr ""
#. module: mrp
#: selection:mrp.bom,method:0
msgid "Set / Pack"
-msgstr ""
+msgstr "Установить / Упаковать"
#. module: mrp
#: constraint:ir.ui.view:0
@@ -149,7 +149,7 @@ msgstr "Продукция и местоположения"
#. module: mrp
#: view:res.company:0
msgid "MRP & Logistic Scheduler"
-msgstr ""
+msgstr "ПМР и Логистическое планирование"
#. module: mrp
#: help:mrp.workcenter,capacity_per_cycle:0