From 1e1b85e95b307f6eb61c46ae9149bf96a46f9145 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Sat, 22 Sep 2012 14:43:54 +0200 Subject: [PATCH 001/222] gevent first try bzr revid: al@openerp.com-20120922124354-unk1u8a9anst5hwo --- openerp-server | 6 ++++++ openerp/service/__init__.py | 3 ++- openerp/service/wsgi_server.py | 5 ++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/openerp-server b/openerp-server index 9025e2d50c2..4d28a4cb759 100755 --- a/openerp-server +++ b/openerp-server @@ -223,6 +223,12 @@ def main(): check_root_user() openerp.tools.config.parse_config(sys.argv[1:]) + # TODO GEVENT if event + import gevent.monkey + gevent.monkey.patch_all() + import gevent_psycopg2 + gevent_psycopg2.monkey_patch() + check_postgres_user() openerp.netsvc.init_logger() report_configuration() diff --git a/openerp/service/__init__.py b/openerp/service/__init__.py index 30a765b1f60..d3a57135284 100644 --- a/openerp/service/__init__.py +++ b/openerp/service/__init__.py @@ -86,7 +86,8 @@ def start_services(): netrpc_server.init_servers() # Start the main cron thread. - openerp.cron.start_master_thread() + # TODO GEVENT if event use greenlet in cron + # openerp.cron.start_master_thread() # Start the top-level servers threads (normally HTTP, HTTPS, and NETRPC). openerp.netsvc.Server.startAll() diff --git a/openerp/service/wsgi_server.py b/openerp/service/wsgi_server.py index 61556974a00..d15d423818b 100644 --- a/openerp/service/wsgi_server.py +++ b/openerp/service/wsgi_server.py @@ -424,7 +424,10 @@ def serve(): # TODO Change the xmlrpc_* options to http_* interface = config['xmlrpc_interface'] or '0.0.0.0' port = config['xmlrpc_port'] - httpd = werkzeug.serving.make_server(interface, port, application, threaded=True) + #httpd = werkzeug.serving.make_server(interface, port, application, threaded=True) + # TODO GEVENT if event + from gevent.wsgi import WSGIServer + httpd = WSGIServer((interface, port), application) _logger.info('HTTP service (werkzeug) running on %s:%s', interface, port) httpd.serve_forever() From 966cadcdd66dc9518a389d54eece1cc49a9ee247 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 15 Nov 2012 15:47:28 +0100 Subject: [PATCH 002/222] Put back cron thread bzr revid: nicolas.vanhoren@openerp.com-20121115144728-0ts5h9m7873892fd --- openerp/service/__init__.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/openerp/service/__init__.py b/openerp/service/__init__.py index 6e3de89ddff..11fe45aaf31 100644 --- a/openerp/service/__init__.py +++ b/openerp/service/__init__.py @@ -82,10 +82,8 @@ def start_services(): # Initialize the HTTP stack. netrpc_server.init_servers() - # Start the main cron thread. - # TODO GEVENT if event use greenlet in cron - #if openerp.conf.max_cron_threads: - # openerp.cron.start_master_thread() + if openerp.conf.max_cron_threads: + openerp.cron.start_master_thread() # Start the top-level servers threads (normally HTTP, HTTPS, and NETRPC). openerp.netsvc.Server.startAll() From 468652ccf7802f2b39a95144aca9e7eeb51dbca5 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 16 Nov 2012 10:41:18 +0100 Subject: [PATCH 003/222] Had to remove the cron again bzr revid: nicolas.vanhoren@openerp.com-20121116094118-ph3oxmwr5qhcp3c7 --- openerp/service/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openerp/service/__init__.py b/openerp/service/__init__.py index 11fe45aaf31..9f5a7a03009 100644 --- a/openerp/service/__init__.py +++ b/openerp/service/__init__.py @@ -83,7 +83,8 @@ def start_services(): netrpc_server.init_servers() if openerp.conf.max_cron_threads: - openerp.cron.start_master_thread() + #openerp.cron.start_master_thread() + pass # Start the top-level servers threads (normally HTTP, HTTPS, and NETRPC). openerp.netsvc.Server.startAll() From 7137bb0b53f38d1a600d47d0b7b9ec83a824337f Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 22 Nov 2012 15:53:09 +0100 Subject: [PATCH 004/222] [IMP] Added configuration option for gevent bzr revid: nicolas.vanhoren@openerp.com-20121122145309-bim6m10p0q7rf6wj --- openerp-server | 14 +++++++++----- openerp/service/__init__.py | 6 +++--- openerp/service/wsgi_server.py | 9 +++++---- openerp/tools/config.py | 3 ++- 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/openerp-server b/openerp-server index f0a858bbe2c..73586e58890 100755 --- a/openerp-server +++ b/openerp-server @@ -224,15 +224,19 @@ def main(): check_root_user() openerp.tools.config.parse_config(sys.argv[1:]) - # TODO GEVENT if event - import gevent.monkey - gevent.monkey.patch_all() - import gevent_psycopg2 - gevent_psycopg2.monkey_patch() + if openerp.tools.config.options["gevent"]: + _logger.info('Using gevent mode') + import gevent.monkey + gevent.monkey.patch_all() + import gevent_psycopg2 + gevent_psycopg2.monkey_patch() check_postgres_user() openerp.netsvc.init_logger() report_configuration() + + if openerp.tools.config.options["gevent"]: + _logger.info('Using gevent mode') config = openerp.tools.config diff --git a/openerp/service/__init__.py b/openerp/service/__init__.py index 9f5a7a03009..154a93df001 100644 --- a/openerp/service/__init__.py +++ b/openerp/service/__init__.py @@ -82,9 +82,9 @@ def start_services(): # Initialize the HTTP stack. netrpc_server.init_servers() - if openerp.conf.max_cron_threads: - #openerp.cron.start_master_thread() - pass + if not openerp.tools.config.options["gevent"]: + if openerp.conf.max_cron_threads: + openerp.cron.start_master_thread() # Start the top-level servers threads (normally HTTP, HTTPS, and NETRPC). openerp.netsvc.Server.startAll() diff --git a/openerp/service/wsgi_server.py b/openerp/service/wsgi_server.py index 8018657fd28..00ad54575b1 100644 --- a/openerp/service/wsgi_server.py +++ b/openerp/service/wsgi_server.py @@ -424,10 +424,11 @@ def serve(): # TODO Change the xmlrpc_* options to http_* interface = config['xmlrpc_interface'] or '0.0.0.0' port = config['xmlrpc_port'] - #httpd = werkzeug.serving.make_server(interface, port, application, threaded=True) - # TODO GEVENT if event - from gevent.wsgi import WSGIServer - httpd = WSGIServer((interface, port), application) + if not openerp.tools.config.options["gevent"]: + httpd = werkzeug.serving.make_server(interface, port, application, threaded=True) + else: + from gevent.wsgi import WSGIServer + httpd = WSGIServer((interface, port), application) _logger.info('HTTP service (werkzeug) running on %s:%s', interface, port) httpd.serve_forever() diff --git a/openerp/tools/config.py b/openerp/tools/config.py index 56f1e5c7b83..e037bf7a6ac 100644 --- a/openerp/tools/config.py +++ b/openerp/tools/config.py @@ -106,6 +106,7 @@ class configmanager(object): help="specify additional addons paths (separated by commas).", action="callback", callback=self._check_addons_path, nargs=1, type="string") group.add_option("--load", dest="server_wide_modules", help="Comma-separated list of server-wide modules default=web") + group.add_option("--gevent", dest="gevent", action="store_true", my_default=False, help="Activate the GEvent mode, this also desactivate the cron.") parser.add_option_group(group) # XML-RPC / HTTP @@ -380,7 +381,7 @@ class configmanager(object): 'netrpc', 'xmlrpc', 'syslog', 'without_demo', 'timezone', 'xmlrpcs_interface', 'xmlrpcs_port', 'xmlrpcs', 'static_http_enable', 'static_http_document_root', 'static_http_url_prefix', - 'secure_cert_file', 'secure_pkey_file', 'dbfilter', 'log_handler', 'log_level' + 'secure_cert_file', 'secure_pkey_file', 'dbfilter', 'log_handler', 'log_level', 'gevent' ] for arg in keys: From c3cb554ab06df9bee9242dbf30bb0117d7751f03 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 22 Nov 2012 16:06:01 +0100 Subject: [PATCH 005/222] Improved config bzr revid: nicolas.vanhoren@openerp.com-20121122150601-7wha9rao9ix2myvv --- openerp/tools/config.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/tools/config.py b/openerp/tools/config.py index e037bf7a6ac..7e5b3e0f334 100644 --- a/openerp/tools/config.py +++ b/openerp/tools/config.py @@ -381,7 +381,7 @@ class configmanager(object): 'netrpc', 'xmlrpc', 'syslog', 'without_demo', 'timezone', 'xmlrpcs_interface', 'xmlrpcs_port', 'xmlrpcs', 'static_http_enable', 'static_http_document_root', 'static_http_url_prefix', - 'secure_cert_file', 'secure_pkey_file', 'dbfilter', 'log_handler', 'log_level', 'gevent' + 'secure_cert_file', 'secure_pkey_file', 'dbfilter', 'log_handler', 'log_level' ] for arg in keys: @@ -400,7 +400,7 @@ class configmanager(object): 'list_db', 'xmlrpcs', 'proxy_mode', 'test_file', 'test_enable', 'test_commit', 'test_report_directory', 'osv_memory_count_limit', 'osv_memory_age_limit', 'max_cron_threads', 'unaccent', - 'workers', 'limit_memory_hard', 'limit_memory_soft', 'limit_time_cpu', 'limit_time_real', 'limit_request' + 'workers', 'limit_memory_hard', 'limit_memory_soft', 'limit_time_cpu', 'limit_time_real', 'limit_request', 'gevent' ] for arg in keys: From 0555a1f10c87e2f0d71b3d3c4a2e574a8f57eada Mon Sep 17 00:00:00 2001 From: "Hiral Patel (OpenERP)" Date: Wed, 5 Dec 2012 17:38:50 +0530 Subject: [PATCH 006/222] [FIX][trunk] stock - Error in new company bzr revid: hip@tinyerp.com-20121205120850-y2ob7y6a2bk3956f --- addons/stock/security/ir.model.access.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/stock/security/ir.model.access.csv b/addons/stock/security/ir.model.access.csv index 84b475adf1d..2f93bfee3c6 100644 --- a/addons/stock/security/ir.model.access.csv +++ b/addons/stock/security/ir.model.access.csv @@ -62,3 +62,4 @@ access_product_pricelist_version_stock_manager,product.pricelist.version stock_m access_product_pricelist_item_stock_manager,product.pricelist.item stock_manager,product.model_product_pricelist_item,stock.group_stock_manager,1,1,1,1 access_account_account_stock_manager,account.account stock manager,account.model_account_account,stock.group_stock_manager,1,0,0,0 access_board_stock_user,board.board user,board.model_board_board,stock.group_stock_user,1,1,0,0 +access_stock_warehouse_salesman,stock.warehouse,stock.model_stock_warehouse,base.group_sale_salesman,1,0,0,0 \ No newline at end of file From 3bab853d8e5cef32b1ddca94e18ac4799b724993 Mon Sep 17 00:00:00 2001 From: "Hiral Patel (OpenERP)" Date: Wed, 12 Dec 2012 11:52:33 +0530 Subject: [PATCH 007/222] [Rev] Revert the unwanted commit bzr revid: hip@tinyerp.com-20121212062233-ajnbznvn0bhxsrsn --- addons/stock/security/ir.model.access.csv | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/stock/security/ir.model.access.csv b/addons/stock/security/ir.model.access.csv index 2f93bfee3c6..84b475adf1d 100644 --- a/addons/stock/security/ir.model.access.csv +++ b/addons/stock/security/ir.model.access.csv @@ -62,4 +62,3 @@ access_product_pricelist_version_stock_manager,product.pricelist.version stock_m access_product_pricelist_item_stock_manager,product.pricelist.item stock_manager,product.model_product_pricelist_item,stock.group_stock_manager,1,1,1,1 access_account_account_stock_manager,account.account stock manager,account.model_account_account,stock.group_stock_manager,1,0,0,0 access_board_stock_user,board.board user,board.model_board_board,stock.group_stock_user,1,1,0,0 -access_stock_warehouse_salesman,stock.warehouse,stock.model_stock_warehouse,base.group_sale_salesman,1,0,0,0 \ No newline at end of file From 72024d0fe51f5150ff5890047ad8387cff9288b8 Mon Sep 17 00:00:00 2001 From: "Hiral Patel (OpenERP)" Date: Wed, 12 Dec 2012 11:59:32 +0530 Subject: [PATCH 008/222] [FIX][trunk] stock - Error in new company bzr revid: hip@tinyerp.com-20121212062932-aijgsk27m0sl1qv5 --- addons/stock/product.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/stock/product.py b/addons/stock/product.py index 4d955495c28..abd74fb3a97 100644 --- a/addons/stock/product.py +++ b/addons/stock/product.py @@ -235,6 +235,8 @@ class product_product(osv.osv): else: location_ids = [] wids = warehouse_obj.search(cr, uid, [], context=context) + if not wids: + return res for w in warehouse_obj.browse(cr, uid, wids, context=context): location_ids.append(w.lot_stock_id.id) From 9fc52399a869fcbc4b3b0cb9ed747bf0e7d70cd0 Mon Sep 17 00:00:00 2001 From: Paramjit Singh Sahota Date: Thu, 13 Dec 2012 13:02:37 +0530 Subject: [PATCH 009/222] [IMP] uom_id was passed instead of uom. bzr revid: psa@tinyerp.com-20121213073237-2fm642lm2n6md4hg --- addons/sale/wizard/sale_make_invoice_advance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/sale/wizard/sale_make_invoice_advance.py b/addons/sale/wizard/sale_make_invoice_advance.py index 0fa4cd52cf2..338118679de 100644 --- a/addons/sale/wizard/sale_make_invoice_advance.py +++ b/addons/sale/wizard/sale_make_invoice_advance.py @@ -78,7 +78,7 @@ class sale_advance_payment_inv(osv.osv_memory): result = [] for sale in sale_obj.browse(cr, uid, sale_ids, context=context): val = inv_line_obj.product_id_change(cr, uid, [], wizard.product_id.id, - uom_id=False, partner_id=sale.partner_id.id, fposition_id=sale.fiscal_position.id) + uom=False, partner_id=sale.partner_id.id, fposition_id=sale.fiscal_position.id) res = val['value'] # determine and check income account From e9a355f840462b003402538b58e0ee0989eade4d Mon Sep 17 00:00:00 2001 From: Paramjit Singh Sahota Date: Thu, 13 Dec 2012 16:23:31 +0530 Subject: [PATCH 010/222] [IMP] sale.fiscal_position.id was passed instead of sale.fiscal_position. bzr revid: psa@tinyerp.com-20121213105331-77v6x57l3vzb7114 --- addons/sale/wizard/sale_make_invoice_advance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/sale/wizard/sale_make_invoice_advance.py b/addons/sale/wizard/sale_make_invoice_advance.py index 338118679de..c9eff5e9c6a 100644 --- a/addons/sale/wizard/sale_make_invoice_advance.py +++ b/addons/sale/wizard/sale_make_invoice_advance.py @@ -86,7 +86,7 @@ class sale_advance_payment_inv(osv.osv_memory): prop = ir_property_obj.get(cr, uid, 'property_account_income_categ', 'product.category', context=context) prop_id = prop and prop.id or False - account_id = fiscal_obj.map_account(cr, uid, sale.fiscal_position.id or False, prop_id) + account_id = fiscal_obj.map_account(cr, uid, sale.fiscal_position or False, prop_id) if not account_id: raise osv.except_osv(_('Configuration Error!'), _('There is no income account defined as global property.')) From 04de836f078a6168732e59165c0bf7ed75a0f2fc Mon Sep 17 00:00:00 2001 From: Paramjit Singh Sahota Date: Thu, 13 Dec 2012 17:06:49 +0530 Subject: [PATCH 011/222] [IMP] Improved code. bzr revid: psa@tinyerp.com-20121213113649-04rhxk61gmcys4o3 --- addons/sale/wizard/sale_make_invoice_advance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/sale/wizard/sale_make_invoice_advance.py b/addons/sale/wizard/sale_make_invoice_advance.py index c9eff5e9c6a..006f27eb168 100644 --- a/addons/sale/wizard/sale_make_invoice_advance.py +++ b/addons/sale/wizard/sale_make_invoice_advance.py @@ -78,7 +78,7 @@ class sale_advance_payment_inv(osv.osv_memory): result = [] for sale in sale_obj.browse(cr, uid, sale_ids, context=context): val = inv_line_obj.product_id_change(cr, uid, [], wizard.product_id.id, - uom=False, partner_id=sale.partner_id.id, fposition_id=sale.fiscal_position.id) + uom_id=False, partner_id=sale.partner_id.id, fposition_id=sale.fiscal_position.id) res = val['value'] # determine and check income account From 3cdad18c64be6081c03dbee76b1452dfb543a140 Mon Sep 17 00:00:00 2001 From: "Vidhin Mehta (OpenERP)" Date: Fri, 14 Dec 2012 12:48:23 +0530 Subject: [PATCH 012/222] [FIX]not check value in dict. bzr revid: vme@tinyerp.com-20121214071823-1ddtkev3jj2l3cq3 --- openerp/addons/base/res/res_country.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_country.py b/openerp/addons/base/res/res_country.py index 98a3b769a11..4bbfcccb191 100644 --- a/openerp/addons/base/res/res_country.py +++ b/openerp/addons/base/res/res_country.py @@ -71,13 +71,13 @@ addresses belonging to this country.\n\nYou can use the python-style string pate name_search = location_name_search def create(self, cursor, user, vals, context=None): - if 'code' in vals: + if vals.get('code'): vals['code'] = vals['code'].upper() return super(Country, self).create(cursor, user, vals, context=context) def write(self, cursor, user, ids, vals, context=None): - if 'code' in vals: + if vals.get('code'): vals['code'] = vals['code'].upper() return super(Country, self).write(cursor, user, ids, vals, context=context) From 45f013603ffe691524aaf497e20e0af45f1b876b Mon Sep 17 00:00:00 2001 From: "Bhumi Thakkar (Open ERP)" Date: Tue, 18 Dec 2012 17:09:44 +0530 Subject: [PATCH 013/222] [IMP] Remove wrong argument. bzr revid: bth@tinyerp.com-20121218113944-38ul57xiyzuqxzjh --- addons/sale/wizard/sale_make_invoice_advance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/sale/wizard/sale_make_invoice_advance.py b/addons/sale/wizard/sale_make_invoice_advance.py index 9d481296ed0..0d5a8e4eb18 100644 --- a/addons/sale/wizard/sale_make_invoice_advance.py +++ b/addons/sale/wizard/sale_make_invoice_advance.py @@ -78,7 +78,7 @@ class sale_advance_payment_inv(osv.osv_memory): result = [] for sale in sale_obj.browse(cr, uid, sale_ids, context=context): val = inv_line_obj.product_id_change(cr, uid, [], wizard.product_id.id, - uom_id=False, partner_id=sale.partner_id.id, fposition_id=sale.fiscal_position.id) + False, partner_id=sale.partner_id.id, fposition_id=sale.fiscal_position.id) res = val['value'] # determine and check income account From 6d69fe663960991fc86faa7dc0bf31005733b6a1 Mon Sep 17 00:00:00 2001 From: "Ravi Gohil (OpenERP)" Date: Tue, 1 Jan 2013 15:28:10 +0530 Subject: [PATCH 014/222] [FIX] report_webkit: Wrong Report template file path throws 'Coercing to Unicode' error : (Maintenance Case : 583490) bzr revid: rgo@tinyerp.com-20130101095810-7cbw337ul443q66g --- addons/report_webkit/webkit_report.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/report_webkit/webkit_report.py b/addons/report_webkit/webkit_report.py index b6c273f8852..99e1aa31058 100644 --- a/addons/report_webkit/webkit_report.py +++ b/addons/report_webkit/webkit_report.py @@ -220,7 +220,7 @@ class WebKitParser(report_sxw): if report_xml.report_file : path = addons.get_module_resource(*report_xml.report_file.split(os.path.sep)) - if os.path.exists(path) : + if path and os.path.exists(path) : template = file(path).read() if not template and report_xml.report_webkit_data : template = report_xml.report_webkit_data From a475013fd83d8319d7b292a5412d943e9b22dac3 Mon Sep 17 00:00:00 2001 From: "Ravi Gohil (OpenERP)" Date: Mon, 7 Jan 2013 15:58:57 +0530 Subject: [PATCH 015/222] [FIX] account: force account.financial.report balance of *zero* to be displayed positively: (Maintenance Case: 583915) bzr revid: rgo@tinyerp.com-20130107102857-hor2hzsmimjttcus --- addons/account/report/account_financial_report.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account/report/account_financial_report.py b/addons/account/report/account_financial_report.py index 3898158c457..d94955a764a 100644 --- a/addons/account/report/account_financial_report.py +++ b/addons/account/report/account_financial_report.py @@ -56,7 +56,7 @@ class report_account_common(report_sxw.rml_parse, common_report_header): for report in self.pool.get('account.financial.report').browse(self.cr, self.uid, ids2, context=data['form']['used_context']): vals = { 'name': report.name, - 'balance': report.balance * report.sign, + 'balance': report.balance * report.sign or 0.0, 'type': 'report', 'level': bool(report.style_overwrite) and report.style_overwrite or report.level, 'account_type': report.type =='sum' and 'view' or False, #used to underline the financial report balances From a724a10691cfe37bde5809145fcd32b78fbd59d2 Mon Sep 17 00:00:00 2001 From: "Nimesh Contractor (OpenERP)" Date: Tue, 8 Jan 2013 14:50:28 +0530 Subject: [PATCH 016/222] [FIX] traceback of Refund customer invoice having type = modify bzr revid: nco@tinyerp.com-20130108092028-k9vh7600hpfmdqbk --- addons/account/wizard/account_invoice_refund.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/account/wizard/account_invoice_refund.py b/addons/account/wizard/account_invoice_refund.py index 54d6c38a353..2d95687ff2d 100644 --- a/addons/account/wizard/account_invoice_refund.py +++ b/addons/account/wizard/account_invoice_refund.py @@ -183,9 +183,9 @@ class account_invoice_refund(osv.osv_memory): 'journal_id', 'period_id'], context=context) invoice = invoice[0] del invoice['id'] - invoice_lines = inv_line_obj.read(cr, uid, invoice['invoice_line'], context=context) + invoice_lines = inv_line_obj.browse(cr, uid, invoice['invoice_line'], context=context) invoice_lines = inv_obj._refund_cleanup_lines(cr, uid, invoice_lines) - tax_lines = inv_tax_obj.read(cr, uid, invoice['tax_line'], context=context) + tax_lines = inv_tax_obj.browse(cr, uid, invoice['tax_line'], context=context) tax_lines = inv_obj._refund_cleanup_lines(cr, uid, tax_lines) invoice.update({ 'type': inv.type, From 383314f27381573294351060c7b6a7e01ec075a5 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 10 Jan 2013 17:19:36 +0100 Subject: [PATCH 017/222] First version working with multicorn bzr revid: nicolas.vanhoren@openerp.com-20130110161936-4515hhdlamd3d25r --- openerp/service/workers.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/openerp/service/workers.py b/openerp/service/workers.py index 0a54a80b963..9043eac1bcd 100644 --- a/openerp/service/workers.py +++ b/openerp/service/workers.py @@ -45,6 +45,7 @@ class Multicorn(object): self.socket = None self.workers_http = {} self.workers_cron = {} + self.workers_longpolling = {} self.workers = {} self.generation = 0 self.queue = [] @@ -140,6 +141,8 @@ class Multicorn(object): self.worker_spawn(WorkerHTTP, self.workers_http) while len(self.workers_cron) < config['max_cron_threads']: self.worker_spawn(WorkerCron, self.workers_cron) + while len(self.workers_longpolling) < 1: + self.worker_spawn(WorkerLongPolling, self.workers_longpolling) def sleep(self): try: @@ -334,6 +337,21 @@ class WorkerHTTP(Worker): Worker.start(self) self.server = WorkerBaseWSGIServer(self.multi.app) +class WorkerLongPolling(Worker): + """ Long polling workers """ + def start(self): + config.options["gevent"] = True + _logger.info('Using gevent mode') + import gevent.monkey + gevent.monkey.patch_all() + import gevent_psycopg2 + gevent_psycopg2.monkey_patch() + + Worker.start(self) + from gevent.wsgi import WSGIServer + httpd = WSGIServer(('0.0.0.0', 8072), self.multi.app) + httpd.serve_forever() + class WorkerBaseWSGIServer(werkzeug.serving.BaseWSGIServer): """ werkzeug WSGI Server patched to allow using an external listen socket """ From cb33e09d1bedce2aa17d02fc7c8047b4a2753f40 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 10 Jan 2013 17:33:14 +0100 Subject: [PATCH 018/222] Socket is inited by master process bzr revid: nicolas.vanhoren@openerp.com-20130110163314-449euw1z69eebtpz --- openerp/service/workers.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/openerp/service/workers.py b/openerp/service/workers.py index 9043eac1bcd..aee639035a6 100644 --- a/openerp/service/workers.py +++ b/openerp/service/workers.py @@ -181,6 +181,12 @@ class Multicorn(object): self.socket.setblocking(0) self.socket.bind(self.address) self.socket.listen(8) + # long polling socket + self.long_polling_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.long_polling_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + self.long_polling_socket.setblocking(0) + self.long_polling_socket.bind(('0.0.0.0', 8072)) + self.long_polling_socket.listen(8) def stop(self, graceful=True): if graceful: @@ -349,8 +355,8 @@ class WorkerLongPolling(Worker): Worker.start(self) from gevent.wsgi import WSGIServer - httpd = WSGIServer(('0.0.0.0', 8072), self.multi.app) - httpd.serve_forever() + self.server = WSGIServer(self.multi.long_polling_socket, self.multi.app) + self.server.serve_forever() class WorkerBaseWSGIServer(werkzeug.serving.BaseWSGIServer): """ werkzeug WSGI Server patched to allow using an external listen socket From fc58729b2f2a6a2baa79d474cfc2eb15234f22a1 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Tue, 15 Jan 2013 18:47:05 +0100 Subject: [PATCH 019/222] [WIP] introduce a way to reference specific config options bzr revid: abo@openerp.com-20130115174705-qldpq3le1ul4nh0j --- openerp/addons/base/res/res_config.py | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index ff0c3bfe6ad..a3b168a8d82 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -570,17 +570,17 @@ class res_config_settings(osv.osv_memory): if action_ids: return act_window.read(cr, uid, action_ids[0], [], context=context) return {} - + def name_get(self, cr, uid, ids, context=None): """ Override name_get method to return an appropriate configuration wizard name, and not the generated name.""" - + if not ids: return [] # name_get may receive int id instead of an id list if isinstance(ids, (int, long)): ids = [ids] - + act_window = self.pool.get('ir.actions.act_window') action_ids = act_window.search(cr, uid, [('res_model', '=', self._name)], context=context) name = self._name @@ -588,4 +588,23 @@ class res_config_settings(osv.osv_memory): name = act_window.read(cr, uid, action_ids[0], ['name'], context=context)['name'] return [(record.id, name) for record in self.browse(cr, uid , ids, context=context)] + def get_path(self, cr, uid, module_name, menu_xml_id=None, field_name=None, context=None): + """ + Return a string representing the path to access a specific + configuration option through the interface. + """ + + config_path = '' + + # Fetch the path + if (menu_xml_id): + dummy, menu_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, module_name, menu_xml_id) + config_path += self.pool.get('ir.ui.menu').browse(cr, uid, menu_id, context=context).name + + # Fetch the exact config option name + #if (field_name): + # self.pool.get('mycfgobj')._get_all_columns().strings[field_name] + + return config_path + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From ff25f7a3d4d6dd15170692487de304a804060b0d Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Wed, 16 Jan 2013 18:14:11 +0100 Subject: [PATCH 020/222] [IMP] use a var to store the menuitem separator makes it easier to modify makes it possible to import anywhere bzr revid: abo@openerp.com-20130116171411-iugmyk4vqjewko2z --- openerp/addons/base/ir/ir_ui_menu.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openerp/addons/base/ir/ir_ui_menu.py b/openerp/addons/base/ir/ir_ui_menu.py index 5da85c43577..95379098cf4 100644 --- a/openerp/addons/base/ir/ir_ui_menu.py +++ b/openerp/addons/base/ir/ir_ui_menu.py @@ -30,6 +30,8 @@ from openerp.osv import fields, osv from openerp.tools.translate import _ from openerp import SUPERUSER_ID +MENU_ITEM_SEPARATOR = "/" + def one_in(setA, setB): """Check the presence of an element of setA in setB """ @@ -154,7 +156,7 @@ class ir_ui_menu(osv.osv): if level<=0: return '...' if elmt.parent_id: - parent_path = self._get_one_full_name(elmt.parent_id, level-1) + "/" + parent_path = self._get_one_full_name(elmt.parent_id, level-1) + MENU_ITEM_SEPARATOR else: parent_path = '' return parent_path + elmt.name From 70890bfa3250e33769e12a818780f90b3889be63 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Wed, 16 Jan 2013 18:14:54 +0100 Subject: [PATCH 021/222] [WIP] introduce a way to reference specific config options bzr revid: abo@openerp.com-20130116171454-s4tt2f6le80oruc0 --- openerp/addons/base/res/res_config.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index a3b168a8d82..f7085f44000 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -25,6 +25,7 @@ from openerp import pooler from openerp.osv import osv, fields from openerp.tools import ustr from openerp.tools.translate import _ +from openerp.addons.base.ir.ir_ui_menu import MENU_ITEM_SEPARATOR _logger = logging.getLogger(__name__) @@ -588,22 +589,24 @@ class res_config_settings(osv.osv_memory): name = act_window.read(cr, uid, action_ids[0], ['name'], context=context)['name'] return [(record.id, name) for record in self.browse(cr, uid , ids, context=context)] - def get_path(self, cr, uid, module_name, menu_xml_id=None, field_name=None, context=None): + def get_config_path(self, cr, uid, module_name, menu_xml_id=None, model_name=None, field_name=None, context=None): """ Return a string representing the path to access a specific configuration option through the interface. + + :return string """ config_path = '' # Fetch the path - if (menu_xml_id): + if (module_name and menu_xml_id): dummy, menu_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, module_name, menu_xml_id) - config_path += self.pool.get('ir.ui.menu').browse(cr, uid, menu_id, context=context).name + config_path += self.pool.get('ir.ui.menu').browse(cr, uid, menu_id, context=context).complete_name # Fetch the exact config option name - #if (field_name): - # self.pool.get('mycfgobj')._get_all_columns().strings[field_name] + if (model_name and field_name): + config_path += MENU_ITEM_SEPARATOR + self.pool.get(model_name)._all_columns.get(field_name).column.string return config_path From a4120a879adf2b50dd18ed8a6310b9bae65f0209 Mon Sep 17 00:00:00 2001 From: Vo Minh Thu Date: Thu, 17 Jan 2013 11:30:57 +0100 Subject: [PATCH 022/222] [IMP] long polling: disable the watchdog for the WorkerLongPolling, added command-line option for its port. bzr revid: vmt@openerp.com-20130117103057-12ez48kj48pntb1g --- openerp/service/workers.py | 12 ++++++++++-- openerp/tools/config.py | 5 ++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/openerp/service/workers.py b/openerp/service/workers.py index 29ae9de10c0..7321978e859 100644 --- a/openerp/service/workers.py +++ b/openerp/service/workers.py @@ -35,6 +35,7 @@ class Multicorn(object): def __init__(self, app): # config self.address = (config['xmlrpc_interface'] or '0.0.0.0', config['xmlrpc_port']) + self.long_polling_address = (config['xmlrpc_interface'] or '0.0.0.0', config['longpolling_port']) self.population = config['workers'] self.timeout = config['limit_time_real'] self.limit_request = config['limit_request'] @@ -132,7 +133,8 @@ class Multicorn(object): def process_timeout(self): now = time.time() for (pid, worker) in self.workers.items(): - if now - worker.watchdog_time >= worker.watchdog_timeout: + if (worker.watchdog_timeout is not None) and \ + (now - worker.watchdog_time >= worker.watchdog_timeout): _logger.error("Worker (%s) timeout", pid) self.worker_kill(pid, signal.SIGKILL) @@ -185,7 +187,7 @@ class Multicorn(object): self.long_polling_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.long_polling_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self.long_polling_socket.setblocking(0) - self.long_polling_socket.bind(('0.0.0.0', 8072)) + self.long_polling_socket.bind(self.long_polling_address) self.long_polling_socket.listen(8) def stop(self, graceful=True): @@ -230,6 +232,7 @@ class Worker(object): self.multi = multi self.watchdog_time = time.time() self.watchdog_pipe = multi.pipe_new() + # Can be set to None if no watchdog is desired. self.watchdog_timeout = multi.timeout self.ppid = os.getpid() self.pid = None @@ -345,6 +348,11 @@ class WorkerHTTP(Worker): class WorkerLongPolling(Worker): """ Long polling workers """ + def __init__(self, multi): + super(WorkerLongPolling, self).__init__(multi) + # Disable the watchdog feature for this kind of worker. + self.watchdog_timeout = None + def start(self): config.options["gevent"] = True _logger.info('Using gevent mode') diff --git a/openerp/tools/config.py b/openerp/tools/config.py index 83a347f0864..dcbf26783e3 100644 --- a/openerp/tools/config.py +++ b/openerp/tools/config.py @@ -121,6 +121,8 @@ class configmanager(object): help="disable the XML-RPC protocol") group.add_option("--proxy-mode", dest="proxy_mode", action="store_true", my_default=False, help="Enable correct behavior when behind a reverse proxy") + group.add_option("--longpolling-port", dest="longpolling_port", my_default=8072, + help="specify the TCP port for longpolling requests", type="int") parser.add_option_group(group) # XML-RPC / HTTPS @@ -378,7 +380,8 @@ class configmanager(object): self.options['pidfile'] = False # if defined dont take the configfile value even if the defined value is None - keys = ['xmlrpc_interface', 'xmlrpc_port', 'db_name', 'db_user', 'db_password', 'db_host', + keys = ['xmlrpc_interface', 'xmlrpc_port', 'longpolling_port', + 'db_name', 'db_user', 'db_password', 'db_host', 'db_port', 'db_template', 'logfile', 'pidfile', 'smtp_port', 'email_from', 'smtp_server', 'smtp_user', 'smtp_password', 'netrpc_interface', 'netrpc_port', 'db_maxconn', 'import_partial', 'addons_path', From 8214854b7996804bdfc8ec3d4ea2398f03d50370 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Thu, 17 Jan 2013 15:47:55 +0100 Subject: [PATCH 023/222] [IMP] doc bzr revid: abo@openerp.com-20130117144755-r9oboeaw8rr1seqa --- openerp/osv/osv.py | 1 + 1 file changed, 1 insertion(+) diff --git a/openerp/osv/osv.py b/openerp/osv/osv.py index 018976ac663..20dfe74b7ff 100644 --- a/openerp/osv/osv.py +++ b/openerp/osv/osv.py @@ -39,6 +39,7 @@ import openerp.exceptions _logger = logging.getLogger(__name__) # Deprecated. +# Have a look at exceptions.py instead. class except_osv(Exception): def __init__(self, name, value): self.name = name From 6b926883ccdb362b85be7b8e878f21775ad0375e Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Thu, 17 Jan 2013 16:50:03 +0100 Subject: [PATCH 024/222] [IMP] add a missing import (exceptions) bzr revid: abo@openerp.com-20130117155003-5akv67tylaz59s7l --- openerp/__init__.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/openerp/__init__.py b/openerp/__init__.py index c9db7076e71..0afcaf0bfc0 100644 --- a/openerp/__init__.py +++ b/openerp/__init__.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 . # ############################################################################## @@ -28,6 +28,7 @@ SUPERUSER_ID = 1 import addons import cli import conf +import exceptions import loglevels import modules import netsvc From c588e762d4dde0680e9609202065e5bf739edcec Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Thu, 17 Jan 2013 17:05:46 +0100 Subject: [PATCH 025/222] [IMP] simplify the new config reference mechanism code bzr revid: abo@openerp.com-20130117160546-mg9g9zrbvp4poly6 --- openerp/addons/base/res/res_config.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index f7085f44000..cec30a6d303 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -589,24 +589,34 @@ class res_config_settings(osv.osv_memory): name = act_window.read(cr, uid, action_ids[0], ['name'], context=context)['name'] return [(record.id, name) for record in self.browse(cr, uid , ids, context=context)] - def get_config_path(self, cr, uid, module_name, menu_xml_id=None, model_name=None, field_name=None, context=None): + def get_path(self, cr, uid, menu_xml_id=None, field_name=None, context=None): """ Return a string representing the path to access a specific configuration option through the interface. - :return string + :return string: may vary depending of the given params + - if menu_xml_id and not field_name: the string will contain the + path to the config option. + e.g.: "Settings/Configuration/Sales" + - if not menu_xml_id and field_name: the string will contain the + config option's human readable name + e.g.: "Create leads from incoming mails" + - if menu_xml_id and field_name: the string will contain the path + and the config option's human readable name + e.g.: "Settings/Configuration/Sales/Create leads from incoming mails" """ config_path = '' - # Fetch the path - if (module_name and menu_xml_id): + # Fetch the path to the config option + if (menu_xml_id): + module_name, menu_xml_id = menu_xml_id.split('.') dummy, menu_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, module_name, menu_xml_id) config_path += self.pool.get('ir.ui.menu').browse(cr, uid, menu_id, context=context).complete_name # Fetch the exact config option name - if (model_name and field_name): - config_path += MENU_ITEM_SEPARATOR + self.pool.get(model_name)._all_columns.get(field_name).column.string + if (field_name): + config_path += MENU_ITEM_SEPARATOR + self._all_columns.get(field_name).column.string return config_path From fb5288e93cc68197400d2deaf7fa522273d73a5a Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Thu, 17 Jan 2013 19:33:42 +0100 Subject: [PATCH 026/222] [IMP] get_path code; return a tuple instead of a string also add a helper bzr revid: abo@openerp.com-20130117183342-rhfnxh4y777rruqt --- openerp/addons/base/res/res_config.py | 39 +++++++++++++-------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index cec30a6d303..910c473a4be 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -589,35 +589,34 @@ class res_config_settings(osv.osv_memory): name = act_window.read(cr, uid, action_ids[0], ['name'], context=context)['name'] return [(record.id, name) for record in self.browse(cr, uid , ids, context=context)] - def get_path(self, cr, uid, menu_xml_id=None, field_name=None, context=None): + def get_path(self, cr, uid, menu_xml_id, field_name, context=None): """ Return a string representing the path to access a specific configuration option through the interface. - :return string: may vary depending of the given params - - if menu_xml_id and not field_name: the string will contain the - path to the config option. - e.g.: "Settings/Configuration/Sales" - - if not menu_xml_id and field_name: the string will contain the - config option's human readable name - e.g.: "Create leads from incoming mails" - - if menu_xml_id and field_name: the string will contain the path - and the config option's human readable name - e.g.: "Settings/Configuration/Sales/Create leads from incoming mails" + Note that we'll prefer to find back the model's name through the + ui_menu and then its action than directly using self. It will + make the call to this method from a helper function possible. + + :return tuple t: t[0] contains the full path, t[1] contains + the "human readable" configuration option name """ - config_path = '' - # Fetch the path to the config option - if (menu_xml_id): - module_name, menu_xml_id = menu_xml_id.split('.') - dummy, menu_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, module_name, menu_xml_id) - config_path += self.pool.get('ir.ui.menu').browse(cr, uid, menu_id, context=context).complete_name + module_name, menu_xml_id = menu_xml_id.split('.') + dummy, menu_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, module_name, menu_xml_id) + ir_ui_menu = self.pool.get('ir.ui.menu').browse(cr, uid, menu_id, context=context) + res_name = ir_ui_menu.complete_name # Fetch the exact config option name - if (field_name): - config_path += MENU_ITEM_SEPARATOR + self._all_columns.get(field_name).column.string + res_path = self.pool.get(ir_ui_menu.action.res_model)._all_columns.get(field_name).column.string - return config_path + return (res_name, res_path) + +def get_config_path(cr, uid, menu_xml_id=None, field_name=None, context=None): + """ + Simple helper for res_config_settings.get_path(). + """ + return pooler.get_pool(cr.dbname).get('res.config.settings').get_path(cr, uid, menu_xml_id, field_name, context) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 5a025f16a76580cdc6017808aef13c588318bb79 Mon Sep 17 00:00:00 2001 From: Tejas Tank Date: Fri, 18 Jan 2013 13:14:54 +0530 Subject: [PATCH 027/222] [IMP] Added User field in Lunch Order List. bzr revid: tta@openerp.com-20130118074454-k2nq4xkq36se21bb --- addons/lunch/lunch_view.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/lunch/lunch_view.xml b/addons/lunch/lunch_view.xml index 8974099a294..f38a8701f02 100644 --- a/addons/lunch/lunch_view.xml +++ b/addons/lunch/lunch_view.xml @@ -303,6 +303,7 @@ + From 4d328d0d9529a8ef189046764ce5339c41c8e92b Mon Sep 17 00:00:00 2001 From: Tejas Tank Date: Fri, 18 Jan 2013 14:54:43 +0530 Subject: [PATCH 028/222] [IMP] Search enhanced by adding group by users. bzr revid: tta@openerp.com-20130118092443-eglo7fyjs3qj37ls --- addons/lunch/lunch_view.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/lunch/lunch_view.xml b/addons/lunch/lunch_view.xml index f38a8701f02..99a6eb140e5 100644 --- a/addons/lunch/lunch_view.xml +++ b/addons/lunch/lunch_view.xml @@ -68,6 +68,7 @@ + From a075983249df68cc9797b2c92f32f0039a4e68b9 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Fri, 18 Jan 2013 12:03:00 +0100 Subject: [PATCH 029/222] [IMP] simplify the helper by using SUPERUSER_ID bzr revid: abo@openerp.com-20130118110300-d0z0xr8df0zygiv5 --- openerp/addons/base/res/res_config.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index 910c473a4be..81e01e46f2f 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -21,7 +21,7 @@ import logging from operator import attrgetter -from openerp import pooler +from openerp import pooler, SUPERUSER_ID from openerp.osv import osv, fields from openerp.tools import ustr from openerp.tools.translate import _ @@ -613,10 +613,10 @@ class res_config_settings(osv.osv_memory): return (res_name, res_path) -def get_config_path(cr, uid, menu_xml_id=None, field_name=None, context=None): +def get_config_path(cr, menu_xml_id=None, field_name=None, context=None): """ Simple helper for res_config_settings.get_path(). """ - return pooler.get_pool(cr.dbname).get('res.config.settings').get_path(cr, uid, menu_xml_id, field_name, context) + return pooler.get_pool(cr.dbname).get('res.config.settings').get_path(cr, SUPERUSER_ID, menu_xml_id, field_name, context) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 34531d70b399c477cefb2c1056d37e08f204b9ff Mon Sep 17 00:00:00 2001 From: Vishmita Date: Fri, 18 Jan 2013 18:18:32 +0530 Subject: [PATCH 030/222] [Fix]replace Mode column by Leave Type column in Human Resources => Leaves => Leave Requests and Leave Requests to Approve bzr revid: vja@tinyerp.com-20130118124832-wvsz09lpy76z704o --- addons/hr_holidays/hr_holidays_view.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml index f8b4ad07b77..d8ff3e23239 100644 --- a/addons/hr_holidays/hr_holidays_view.xml +++ b/addons/hr_holidays/hr_holidays_view.xml @@ -206,7 +206,7 @@ - + @@ -214,7 +214,6 @@ - From 8bd622202b123b4919ca7862b92d4fe19d5f464b Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Fri, 18 Jan 2013 16:23:46 +0100 Subject: [PATCH 031/222] [IMP] introduce a new type of exception: WarningConfig. Note that no corresponding RPC_FAULT_CODE has been added; WarningConfig will share the same RPC_FAULT_CODE than Warning (RPC_FAULT_CODE_WARNING = 2) Also remove a few whitespaces bzr revid: abo@openerp.com-20130118152346-5v4j94wjrq34hq4m --- openerp/exceptions.py | 8 ++++++++ openerp/netsvc.py | 4 +++- openerp/service/netrpc_server.py | 8 +++++--- openerp/service/wsgi_server.py | 4 +++- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/openerp/exceptions.py b/openerp/exceptions.py index fbf52c7f3a9..387e126b8c4 100644 --- a/openerp/exceptions.py +++ b/openerp/exceptions.py @@ -27,9 +27,17 @@ treated as a 'Server error'. """ +import re + class Warning(Exception): pass +class WarningConfig(Exception): + """ Warning bound to a misconfiguration. """ + def __init__(self, msg): + # todo: treat the msg (regex) + super(WarningConfig, self).__init__(msg) + class AccessDenied(Exception): """ Login/password error. No message, no traceback. """ def __init__(self): diff --git a/openerp/netsvc.py b/openerp/netsvc.py index 533b1659191..3362b86fac7 100644 --- a/openerp/netsvc.py +++ b/openerp/netsvc.py @@ -107,7 +107,7 @@ class ExportService(object): """ _services = {} - + def __init__(self, name): ExportService._services[name] = self self.__name = name @@ -306,6 +306,8 @@ def dispatch_rpc(service_name, method, params): raise except openerp.exceptions.Warning: raise + except openerp.exceptions.WarningConfig: + raise except openerp.exceptions.DeferredException, e: _logger.exception(tools.exception_to_unicode(e)) post_mortem(e.traceback) diff --git a/openerp/service/netrpc_server.py b/openerp/service/netrpc_server.py index af89a734f28..f87274ef6e6 100644 --- a/openerp/service/netrpc_server.py +++ b/openerp/service/netrpc_server.py @@ -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 . # ############################################################################## @@ -145,7 +145,7 @@ class TinySocketClientThread(threading.Thread): break except Exception, e: try: - valid_exception = Exception(netrpc_handle_exception_legacy(e)) + valid_exception = Exception(netrpc_handle_exception_legacy(e)) valid_traceback = getattr(e, 'traceback', sys.exc_info()) formatted_traceback = "".join(traceback.format_exception(*valid_traceback)) _logger.debug("netrpc: communication-level exception", exc_info=True) @@ -164,12 +164,14 @@ class TinySocketClientThread(threading.Thread): def stop(self): self.running = False - + def netrpc_handle_exception_legacy(e): if isinstance(e, openerp.osv.osv.except_osv): return 'warning -- ' + e.name + '\n\n' + e.value if isinstance(e, openerp.exceptions.Warning): return 'warning -- Warning\n\n' + str(e) + if isinstance(e, openerp.exceptions.WarningConfig): + return 'warning -- Warning\n\n' + str(e) if isinstance(e, openerp.exceptions.AccessError): return 'warning -- AccessError\n\n' + str(e) if isinstance(e, openerp.exceptions.AccessDenied): diff --git a/openerp/service/wsgi_server.py b/openerp/service/wsgi_server.py index 67436a1c0bf..e83f06cc264 100644 --- a/openerp/service/wsgi_server.py +++ b/openerp/service/wsgi_server.py @@ -95,6 +95,8 @@ def xmlrpc_handle_exception(e): response = xmlrpclib.dumps(fault, allow_none=False, encoding=None) elif isinstance(e, openerp.exceptions.Warning): fault = xmlrpclib.Fault(RPC_FAULT_CODE_WARNING, str(e)) + elif isinstance(e, openerp.exceptions.WarningConfig): + fault = xmlrpclib.Fault(RPC_FAULT_CODE_WARNING, str(e)) response = xmlrpclib.dumps(fault, allow_none=False, encoding=None) elif isinstance (e, openerp.exceptions.AccessError): fault = xmlrpclib.Fault(RPC_FAULT_CODE_ACCESS_ERROR, str(e)) @@ -311,7 +313,7 @@ def http_to_wsgi(http_dir): handler.auth_provider.checkRequest(handler, path) except websrv_lib.AuthRequiredExc, ae: # Darwin 9.x.x webdav clients will report "HTTP/1.0" to us, while they support (and need) the - # authorisation features of HTTP/1.1 + # authorisation features of HTTP/1.1 if request_version != 'HTTP/1.1' and ('Darwin/9.' not in handler.headers.get('User-Agent', '')): start_response("403 Forbidden", []) return [] From 571276eb660b58a56f4680f2ba933aa28f521d11 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Fri, 18 Jan 2013 16:24:20 +0100 Subject: [PATCH 032/222] [IMP] introduce a new type of exception: WarningConfig. Note that no corresponding RPC_FAULT_CODE has been added; WarningConfig will share the same RPC_FAULT_CODE than Warning (RPC_FAULT_CODE_WARNING = 2) bzr revid: abo@openerp.com-20130118152420-9wk5nwuydwdwzoge --- addons/web/session.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/web/session.py b/addons/web/session.py index 30e9308d4e1..a2719482a2c 100644 --- a/addons/web/session.py +++ b/addons/web/session.py @@ -92,6 +92,8 @@ class OpenERPSession(object): raise xmlrpclib.Fault(code_string % (e.name, e.value), '') except openerp.exceptions.Warning, e: raise xmlrpclib.Fault(code_string % ("Warning", e), '') + except openerp.exceptions.WarningConfig, e: + raise xmlrpclib.Fault(code_string % ("Warning", e), '') except openerp.exceptions.AccessError, e: raise xmlrpclib.Fault(code_string % ("AccessError", e), '') except openerp.exceptions.AccessDenied, e: From ed0a292f5d2f766dd0be3cbf258d1f05a13fbbbf Mon Sep 17 00:00:00 2001 From: Vo Minh Thu Date: Fri, 18 Jan 2013 16:25:11 +0100 Subject: [PATCH 033/222] [IMP] gevent: no longer a command-line flag (always used in multi-process, never otherwise) The internal flag is in openerp.__init__ (as the multi_process flag). bzr revid: vmt@openerp.com-20130118152511-57u4gxyolz0hd4y8 --- openerp/__init__.py | 2 ++ openerp/cli/server.py | 10 ---------- openerp/service/__init__.py | 5 +++-- openerp/service/workers.py | 2 +- openerp/service/wsgi_server.py | 2 +- openerp/tools/config.py | 3 +-- 6 files changed, 8 insertions(+), 16 deletions(-) diff --git a/openerp/__init__.py b/openerp/__init__.py index c9db7076e71..307170b9033 100644 --- a/openerp/__init__.py +++ b/openerp/__init__.py @@ -51,6 +51,8 @@ wsgi.register_wsgi_handler = wsgi.wsgi_server.register_wsgi_handler # its own copy of the data structure and we don't need to care about # locks between threads. multi_process = False +# Is the server running with gevent. +evented = False # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/cli/server.py b/openerp/cli/server.py index 0df13ffb3a7..84a818c0c5d 100644 --- a/openerp/cli/server.py +++ b/openerp/cli/server.py @@ -230,20 +230,10 @@ def main(args): check_root_user() openerp.tools.config.parse_config(args) - if openerp.tools.config.options["gevent"]: - _logger.info('Using gevent mode') - import gevent.monkey - gevent.monkey.patch_all() - import gevent_psycopg2 - gevent_psycopg2.monkey_patch() - check_postgres_user() openerp.netsvc.init_logger() report_configuration() - if openerp.tools.config.options["gevent"]: - _logger.info('Using gevent mode') - config = openerp.tools.config configure_babel_localedata_path() diff --git a/openerp/service/__init__.py b/openerp/service/__init__.py index dd8d4fe9152..dd654b4c8a2 100644 --- a/openerp/service/__init__.py +++ b/openerp/service/__init__.py @@ -34,6 +34,7 @@ import web_services import web_services import wsgi_server +import openerp import openerp.modules import openerp.netsvc import openerp.osv @@ -91,13 +92,13 @@ def start_services(): # Start the WSGI server. wsgi_server.start_service() # Start the main cron thread. - if not openerp.tools.config.options["gevent"]: + if not openerp.evented: cron.start_service() def stop_services(): """ Stop all services. """ # stop services - if not openerp.tools.config.options["gevent"]: + if not openerp.evented: cron.stop_service() netrpc_server.stop_service() wsgi_server.stop_service() diff --git a/openerp/service/workers.py b/openerp/service/workers.py index 7321978e859..3e8df86fede 100644 --- a/openerp/service/workers.py +++ b/openerp/service/workers.py @@ -354,7 +354,7 @@ class WorkerLongPolling(Worker): self.watchdog_timeout = None def start(self): - config.options["gevent"] = True + openerp.evented = True _logger.info('Using gevent mode') import gevent.monkey gevent.monkey.patch_all() diff --git a/openerp/service/wsgi_server.py b/openerp/service/wsgi_server.py index 010a8cde957..196b3f5db7d 100644 --- a/openerp/service/wsgi_server.py +++ b/openerp/service/wsgi_server.py @@ -424,7 +424,7 @@ def serve(): # TODO Change the xmlrpc_* options to http_* interface = config['xmlrpc_interface'] or '0.0.0.0' port = config['xmlrpc_port'] - if not openerp.tools.config.options["gevent"]: + if not openerp.evented: httpd = werkzeug.serving.make_server(interface, port, application, threaded=True) else: from gevent.wsgi import WSGIServer diff --git a/openerp/tools/config.py b/openerp/tools/config.py index dcbf26783e3..c4b52c10b31 100644 --- a/openerp/tools/config.py +++ b/openerp/tools/config.py @@ -108,7 +108,6 @@ class configmanager(object): help="specify additional addons paths (separated by commas).", action="callback", callback=self._check_addons_path, nargs=1, type="string") group.add_option("--load", dest="server_wide_modules", help="Comma-separated list of server-wide modules default=web") - group.add_option("--gevent", dest="gevent", action="store_true", my_default=False, help="Activate the GEvent mode, this also desactivate the cron.") parser.add_option_group(group) # XML-RPC / HTTP @@ -412,7 +411,7 @@ class configmanager(object): 'list_db', 'xmlrpcs', 'proxy_mode', 'test_file', 'test_enable', 'test_commit', 'test_report_directory', 'osv_memory_count_limit', 'osv_memory_age_limit', 'max_cron_threads', 'unaccent', - 'workers', 'limit_memory_hard', 'limit_memory_soft', 'limit_time_cpu', 'limit_time_real', 'limit_request', 'gevent' + 'workers', 'limit_memory_hard', 'limit_memory_soft', 'limit_time_cpu', 'limit_time_real', 'limit_request', ] for arg in keys: From 6f5c0e1a08a003087b3d61e8602d1c7ab02dd688 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Fri, 18 Jan 2013 18:15:41 +0100 Subject: [PATCH 034/222] [REV] reintroduce the model's name in the get_path()'s signature, but in a different way bzr revid: abo@openerp.com-20130118171541-tyxl4k6w1wwa3kyl --- openerp/addons/base/res/res_config.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index 81e01e46f2f..197b60ebab0 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -589,15 +589,11 @@ class res_config_settings(osv.osv_memory): name = act_window.read(cr, uid, action_ids[0], ['name'], context=context)['name'] return [(record.id, name) for record in self.browse(cr, uid , ids, context=context)] - def get_path(self, cr, uid, menu_xml_id, field_name, context=None): + def get_path(self, cr, uid, menu_xml_id=None, full_field_name=None, context=None): """ Return a string representing the path to access a specific configuration option through the interface. - Note that we'll prefer to find back the model's name through the - ui_menu and then its action than directly using self. It will - make the call to this method from a helper function possible. - :return tuple t: t[0] contains the full path, t[1] contains the "human readable" configuration option name """ @@ -606,12 +602,13 @@ class res_config_settings(osv.osv_memory): module_name, menu_xml_id = menu_xml_id.split('.') dummy, menu_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, module_name, menu_xml_id) ir_ui_menu = self.pool.get('ir.ui.menu').browse(cr, uid, menu_id, context=context) - res_name = ir_ui_menu.complete_name + res_path = ir_ui_menu.complete_name # Fetch the exact config option name - res_path = self.pool.get(ir_ui_menu.action.res_model)._all_columns.get(field_name).column.string + model_name, field_name = full_field_name.rsplit('.', 1) + res_name = self.pool.get(model_name)._all_columns.get(field_name).column.string - return (res_name, res_path) + return (res_path, res_name) def get_config_path(cr, menu_xml_id=None, field_name=None, context=None): """ From 64eedb68166a418ce355e3aa01c4d0bcba6cd39a Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Fri, 18 Jan 2013 18:16:19 +0100 Subject: [PATCH 035/222] [WIP] start the implementation of WarningConfig bzr revid: abo@openerp.com-20130118171619-dx0yjwuun0j7m43p --- openerp/exceptions.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/openerp/exceptions.py b/openerp/exceptions.py index 387e126b8c4..f99ed433049 100644 --- a/openerp/exceptions.py +++ b/openerp/exceptions.py @@ -35,7 +35,20 @@ class Warning(Exception): class WarningConfig(Exception): """ Warning bound to a misconfiguration. """ def __init__(self, msg): - # todo: treat the msg (regex) + # WIP WIP WIP WIP WIP WIP WIP + def sub_path(g): + menu_xml_id = g.group(1) + + return '(group to convert: '+menu_xml_id+')' + + def sub_path(g): + menu_xml_id = g.group(1) + + return '(group to convert: '+menu_xml_id+')' + + # Treat the msg: find the menu_xml_id and the field_name + teststr = 'coucou [path:blabla_bla_bla]' + print ">>>>> sub: ", re.sub(r'\[path:([a-z_]*)\]', sub_path, teststr) super(WarningConfig, self).__init__(msg) class AccessDenied(Exception): From 9d8a2b9eb523d2676dd6ed06d550b96094086ffd Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Mon, 21 Jan 2013 16:07:48 +0100 Subject: [PATCH 036/222] [WIP] move the code to another place bzr revid: abo@openerp.com-20130121150748-3bw28jhvsj23s1zo --- openerp/addons/base/res/res_config.py | 44 ++++++++++++++++++--------- openerp/exceptions.py | 16 ---------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index 197b60ebab0..d96b2b5175c 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -20,12 +20,13 @@ ############################################################################## import logging from operator import attrgetter +import re from openerp import pooler, SUPERUSER_ID from openerp.osv import osv, fields from openerp.tools import ustr from openerp.tools.translate import _ -from openerp.addons.base.ir.ir_ui_menu import MENU_ITEM_SEPARATOR +from openerp import exceptions _logger = logging.getLogger(__name__) @@ -594,26 +595,41 @@ class res_config_settings(osv.osv_memory): Return a string representing the path to access a specific configuration option through the interface. - :return tuple t: t[0] contains the full path, t[1] contains + :return dict d: d['path'] contains the full path, d['name'] contains the "human readable" configuration option name """ + res = {'path': None, 'name': None} + # Fetch the path to the config option - module_name, menu_xml_id = menu_xml_id.split('.') - dummy, menu_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, module_name, menu_xml_id) - ir_ui_menu = self.pool.get('ir.ui.menu').browse(cr, uid, menu_id, context=context) - res_path = ir_ui_menu.complete_name + if (menu_xml_id): + module_name, menu_xml_id = menu_xml_id.split('.') + dummy, menu_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, module_name, menu_xml_id) + ir_ui_menu = self.pool.get('ir.ui.menu').browse(cr, uid, menu_id, context=context) + res['path'] = ir_ui_menu.complete_name # Fetch the exact config option name - model_name, field_name = full_field_name.rsplit('.', 1) - res_name = self.pool.get(model_name)._all_columns.get(field_name).column.string + if (full_field_name): + model_name, field_name = full_field_name.rsplit('.', 1) + res['name'] = self.pool.get(model_name)._all_columns.get(field_name).column.string - return (res_path, res_name) + return res -def get_config_path(cr, menu_xml_id=None, field_name=None, context=None): - """ - Simple helper for res_config_settings.get_path(). - """ - return pooler.get_pool(cr.dbname).get('res.config.settings').get_path(cr, SUPERUSER_ID, menu_xml_id, field_name, context) +def get_warning_config(cr, msg, context=None): + res_config_obj = pooler.get_pool(cr.dbname).get('res.config.settings') + + def sub_path(g): + s = g.group(1) + return res_config_obj.get_path(cr, SUPERUSER_ID, menu_xml_id=s, full_field_name=None, context=context)['path'] + + def sub_field(g): + s = g.group(1) + return res_config_obj.get_path(cr, SUPERUSER_ID, menu_xml_id=None, full_field_name=s, context=context)['name'] + + # Treat the msg: find the menu_xml_id and the field_name + msg = re.sub(r'\[path:([a-z_\.]*)\]', sub_path, msg) + msg = re.sub(r'\[field:([a-z_\.]*)\]', sub_field, msg) + + return exceptions.WarningConfig(msg) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/exceptions.py b/openerp/exceptions.py index f99ed433049..c43f706fa61 100644 --- a/openerp/exceptions.py +++ b/openerp/exceptions.py @@ -27,28 +27,12 @@ treated as a 'Server error'. """ -import re - class Warning(Exception): pass class WarningConfig(Exception): """ Warning bound to a misconfiguration. """ def __init__(self, msg): - # WIP WIP WIP WIP WIP WIP WIP - def sub_path(g): - menu_xml_id = g.group(1) - - return '(group to convert: '+menu_xml_id+')' - - def sub_path(g): - menu_xml_id = g.group(1) - - return '(group to convert: '+menu_xml_id+')' - - # Treat the msg: find the menu_xml_id and the field_name - teststr = 'coucou [path:blabla_bla_bla]' - print ">>>>> sub: ", re.sub(r'\[path:([a-z_]*)\]', sub_path, teststr) super(WarningConfig, self).__init__(msg) class AccessDenied(Exception): From 0a0e5e9fb02817a0a12c1019590e540ab4f9eb05 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Mon, 21 Jan 2013 17:59:16 +0100 Subject: [PATCH 037/222] [WIP] heavy refactoring of the get option path feature bzr revid: abo@openerp.com-20130121165916-9oc7ox7ygmpb6lhm --- openerp/addons/base/res/res_config.py | 55 ++++++++++++--------------- 1 file changed, 24 insertions(+), 31 deletions(-) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index d96b2b5175c..68f11d989c6 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -590,46 +590,39 @@ class res_config_settings(osv.osv_memory): name = act_window.read(cr, uid, action_ids[0], ['name'], context=context)['name'] return [(record.id, name) for record in self.browse(cr, uid , ids, context=context)] - def get_path(self, cr, uid, menu_xml_id=None, full_field_name=None, context=None): - """ - Return a string representing the path to access a specific - configuration option through the interface. + def get_option_path(self, cr, uid, menu_xml_id=None, context=None): + module_name, menu_xml_id = menu_xml_id.split('.') + dummy, menu_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, module_name, menu_xml_id) + ir_ui_menu = self.pool.get('ir.ui.menu').browse(cr, uid, menu_id, context=context) - :return dict d: d['path'] contains the full path, d['name'] contains - the "human readable" configuration option name - """ + return ir_ui_menu.complete_name - res = {'path': None, 'name': None} + def get_option_name(self, cr, uid, full_field_name=None, context=None): + model_name, field_name = full_field_name.rsplit('.', 1) - # Fetch the path to the config option - if (menu_xml_id): - module_name, menu_xml_id = menu_xml_id.split('.') - dummy, menu_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, module_name, menu_xml_id) - ir_ui_menu = self.pool.get('ir.ui.menu').browse(cr, uid, menu_id, context=context) - res['path'] = ir_ui_menu.complete_name - - # Fetch the exact config option name - if (full_field_name): - model_name, field_name = full_field_name.rsplit('.', 1) - res['name'] = self.pool.get(model_name)._all_columns.get(field_name).column.string - - return res + return self.pool.get(model_name)._all_columns.get(field_name).column.string def get_warning_config(cr, msg, context=None): res_config_obj = pooler.get_pool(cr.dbname).get('res.config.settings') - def sub_path(g): - s = g.group(1) - return res_config_obj.get_path(cr, SUPERUSER_ID, menu_xml_id=s, full_field_name=None, context=context)['path'] + # Treat the msg + # 1/ find the path and field references, put them in a list + references = re.findall(r'\[((?:path|field):[a-z_\.]*)\]', msg, flags=re.I) - def sub_field(g): - s = g.group(1) - return res_config_obj.get_path(cr, SUPERUSER_ID, menu_xml_id=None, full_field_name=s, context=context)['name'] + # 2/ fetch the path and field replacement values + # (full path and human readable field's name) + values = [] + for item in references: + ref_type, ref = item.split(':') + if ref_type == 'path': + values.append(res_config_obj.get_option_path(cr, SUPERUSER_ID, ref, context)) + elif ref_type == 'field': + values.append(res_config_obj.get_option_name(cr, SUPERUSER_ID, ref, context)) - # Treat the msg: find the menu_xml_id and the field_name - msg = re.sub(r'\[path:([a-z_\.]*)\]', sub_path, msg) - msg = re.sub(r'\[field:([a-z_\.]*)\]', sub_field, msg) + # 3/ replace the text references by the %s conversion symbol + msg = re.sub(r'\[((?:path|field):[a-z_\.]*)\]', '%s', msg, flags=re.I) - return exceptions.WarningConfig(msg) + # 4/ translate all the strings, substitute and return the result + return exceptions.WarningConfig(_(msg) % tuple(map(_, values))) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 8ab50cc0efbc52fd043e4252d32e845abfad00a7 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Mon, 21 Jan 2013 19:16:50 +0100 Subject: [PATCH 038/222] [WIP] remove a useless translation phase bzr revid: abo@openerp.com-20130121181650-md0t80lokegr5kx1 --- openerp/addons/base/res/res_config.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index 68f11d989c6..7f5dd7779e5 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -605,7 +605,7 @@ class res_config_settings(osv.osv_memory): def get_warning_config(cr, msg, context=None): res_config_obj = pooler.get_pool(cr.dbname).get('res.config.settings') - # Treat the msg + # Process the msg # 1/ find the path and field references, put them in a list references = re.findall(r'\[((?:path|field):[a-z_\.]*)\]', msg, flags=re.I) @@ -622,7 +622,7 @@ def get_warning_config(cr, msg, context=None): # 3/ replace the text references by the %s conversion symbol msg = re.sub(r'\[((?:path|field):[a-z_\.]*)\]', '%s', msg, flags=re.I) - # 4/ translate all the strings, substitute and return the result - return exceptions.WarningConfig(_(msg) % tuple(map(_, values))) + # 4/ substitute and return the result + return exceptions.WarningConfig(msg % tuple(values)) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 0709ca97e86a5b4895dd065f15d54410d48ba5c0 Mon Sep 17 00:00:00 2001 From: Vidhin Mehta Date: Tue, 22 Jan 2013 11:28:56 +0530 Subject: [PATCH 039/222] [FIX]View not redering @ proper position. bzr revid: vme@tinyerp.com-20130122055856-iby255hebyxb72rs --- addons/web/static/src/js/views.js | 5 +++-- addons/web/static/src/xml/base.xml | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 9fd49367171..10d4104921b 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -472,6 +472,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ this.registry = instance.web.views; this.views_history = []; this.view_completely_inited = $.Deferred(); + this.uniqueid_dom = _.uniqueId('view_manager'); }, /** * @returns {jQuery.Deferred} initial view loading promise @@ -539,7 +540,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ _.each(_.keys(self.views), function(view_name) { var controller = self.views[view_name].controller; if (controller) { - var container = self.$el.find(".oe_view_manager_view_" + view_name + ":first"); + var container = self.$el.find("#" + self.uniqueid_dom + ".oe_view_manager_view_" + view_name); if (view_name === view_type) { container.show(); controller.do_show(view_options || {}); @@ -582,7 +583,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ controller.on('switch_mode', self, this.switch_mode); controller.on('previous_view', self, this.prev_view); - var container = this.$el.find(".oe_view_manager_view_" + view_type); + var container = this.$el.find("#" + this.uniqueid_dom + ".oe_view_manager_view_" + view_type); var view_promise = controller.appendTo(container); this.views[view_type].controller = controller; this.views[view_type].deferred.resolve(view_type); diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 6d707bb4627..3e510329683 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -520,7 +520,7 @@
-
+
From bf07b11a06c00e87aeee09e4584f947d94484bd9 Mon Sep 17 00:00:00 2001 From: "Bhumi Thakkar (Open ERP)" Date: Tue, 22 Jan 2013 16:56:16 +0530 Subject: [PATCH 040/222] [FIX] Calendar days bar visible under the search menu.--fixes:lp1095246 bzr revid: bth@tinyerp.com-20130122112616-xw4fxakjn0c7debf --- addons/web/static/src/js/search.js | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index a0208cc6d7a..1d732292671 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -445,6 +445,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea ? $('').html(item.label) : $('').text(item.value)); } + $(ul[0]).css({'z-index': 2}); return $item.text(item.label) .css({ borderTop: '1px solid #cccccc', From 9419e59fefb9fce7450b95cb405623e8710a1d95 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Tue, 22 Jan 2013 15:31:56 +0100 Subject: [PATCH 041/222] [IMP] change the warning string's pattern to something more familiar to translators bzr revid: abo@openerp.com-20130122143156-ffp79tdg1ryvr5y2 --- openerp/addons/base/res/res_config.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index 7f5dd7779e5..9580121e98f 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -604,25 +604,23 @@ class res_config_settings(osv.osv_memory): def get_warning_config(cr, msg, context=None): res_config_obj = pooler.get_pool(cr.dbname).get('res.config.settings') + regex_path = r'%\(((?:path|field):[a-z_\.]*)\)s' - # Process the msg - # 1/ find the path and field references, put them in a list - references = re.findall(r'\[((?:path|field):[a-z_\.]*)\]', msg, flags=re.I) + # Process the message + # 1/ find the path and/or field references, put them in a list + references = re.findall(regex_path, msg, flags=re.I) - # 2/ fetch the path and field replacement values + # 2/ fetch the path and/or field replacement values # (full path and human readable field's name) - values = [] + values = {} for item in references: ref_type, ref = item.split(':') if ref_type == 'path': - values.append(res_config_obj.get_option_path(cr, SUPERUSER_ID, ref, context)) + values[item] = res_config_obj.get_option_path(cr, SUPERUSER_ID, ref, context) elif ref_type == 'field': - values.append(res_config_obj.get_option_name(cr, SUPERUSER_ID, ref, context)) - - # 3/ replace the text references by the %s conversion symbol - msg = re.sub(r'\[((?:path|field):[a-z_\.]*)\]', '%s', msg, flags=re.I) + values[item] = res_config_obj.get_option_name(cr, SUPERUSER_ID, ref, context) # 4/ substitute and return the result - return exceptions.WarningConfig(msg % tuple(values)) + return exceptions.WarningConfig(msg % values) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 5cb047aa75922c2560f18fdf0f973e63a5f6c731 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Tue, 22 Jan 2013 17:22:23 +0100 Subject: [PATCH 042/222] [IMP] add documentation also replace the %(path:)s by %(menu:)s (more cohesive) bzr revid: abo@openerp.com-20130122162223-no1wzf1gyxpdvzqk --- openerp/addons/base/res/res_config.py | 41 +++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index 9580121e98f..6ed28f88927 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -591,6 +591,15 @@ class res_config_settings(osv.osv_memory): return [(record.id, name) for record in self.browse(cr, uid , ids, context=context)] def get_option_path(self, cr, uid, menu_xml_id=None, context=None): + """ + Fetch the path to a specified configuration view. + + :param string menu_xml_id: the xml id of the menuitem where the view + is located, structured as follows: module_name.menuitem_xml_id + (e.g.: "base.menu_sale_config") + :return string: full path to the menuitem + (e.g.: "Settings/Configuration/Sales") + """ module_name, menu_xml_id = menu_xml_id.split('.') dummy, menu_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, module_name, menu_xml_id) ir_ui_menu = self.pool.get('ir.ui.menu').browse(cr, uid, menu_id, context=context) @@ -598,13 +607,41 @@ class res_config_settings(osv.osv_memory): return ir_ui_menu.complete_name def get_option_name(self, cr, uid, full_field_name=None, context=None): + """ + Fetch the human readable name of a specified configuration option. + + :param string full_field_name: the full name of the field, structured + as follows: model_name.field_name + (e.g.: "sale.config.settings.fetchmail_lead") + :return string: human readable name of the field + (e.g.: "Create leads from incoming mails") + """ model_name, field_name = full_field_name.rsplit('.', 1) return self.pool.get(model_name)._all_columns.get(field_name).column.string def get_warning_config(cr, msg, context=None): + """ + Helper: return a WarningConfig exception with the given message where the + %(field:)s and/or %(menu:)s are replaced by the human readable field's name + and/or menuitem's full path. + + Usage: + ------ + Just include in your error message %(field:model_name.field_name)s to + obtain the human readable field's name, and/or + %(menu:module_name.menuitem_xml_id)s to obtain the menuitem's full path. + + Example of use: + --------------- + from openerp.addons.base.res.res_config import get_warning_config + raise get_warning_config(cr, _("Error: this action is prohibited. You should check the field %(field:sale.config.settings.fetchmail_lead)s in %(menu:base.menu_sale_config)s."), context=context) + will return an exception containing the following message: + Error: this action is prohibited. You should check the field Create leads from incoming mails in Settings/Configuration/Sales. + """ + res_config_obj = pooler.get_pool(cr.dbname).get('res.config.settings') - regex_path = r'%\(((?:path|field):[a-z_\.]*)\)s' + regex_path = r'%\(((?:menu|field):[a-z_\.]*)\)s' # Process the message # 1/ find the path and/or field references, put them in a list @@ -615,7 +652,7 @@ def get_warning_config(cr, msg, context=None): values = {} for item in references: ref_type, ref = item.split(':') - if ref_type == 'path': + if ref_type == 'menu': values[item] = res_config_obj.get_option_path(cr, SUPERUSER_ID, ref, context) elif ref_type == 'field': values[item] = res_config_obj.get_option_name(cr, SUPERUSER_ID, ref, context) From ffc09a7251fca17e207c6c4f6de01e17da29f4af Mon Sep 17 00:00:00 2001 From: "Bhumi Thakkar (Open ERP)" Date: Wed, 23 Jan 2013 15:33:22 +0530 Subject: [PATCH 043/222] [FIX] Fixed calendar instead of ul of searchvox. bzr revid: bth@tinyerp.com-20130123100322-zw0e40btcex2wfjc --- addons/web/static/src/js/search.js | 1 - addons/web_calendar/static/src/css/web_calendar.css | 2 +- addons/web_calendar/static/src/css/web_calendar.sass | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index 1d732292671..a0208cc6d7a 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -445,7 +445,6 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea ? $('').html(item.label) : $('').text(item.value)); } - $(ul[0]).css({'z-index': 2}); return $item.text(item.label) .css({ borderTop: '1px solid #cccccc', diff --git a/addons/web_calendar/static/src/css/web_calendar.css b/addons/web_calendar/static/src/css/web_calendar.css index d40a7a2940a..214c777dbdc 100644 --- a/addons/web_calendar/static/src/css/web_calendar.css +++ b/addons/web_calendar/static/src/css/web_calendar.css @@ -18,7 +18,7 @@ .openerp .oe_calendar .dhx_cal_select_menu .dhx_menu_icon.icon_edit { display: none; } -.openerp .oe_calendar .dhx_cal_navline { +.openerp .oe_calendar .dhx_cal_navline, .openerp .oe_calendar .dhx_cal_header { z-index: auto; } .openerp .oe_calendar.oe_cal_month .dhx_cal_data table tr td:last-child div.dhx_month_body { diff --git a/addons/web_calendar/static/src/css/web_calendar.sass b/addons/web_calendar/static/src/css/web_calendar.sass index f6b6a1a5eeb..e4986981609 100644 --- a/addons/web_calendar/static/src/css/web_calendar.sass +++ b/addons/web_calendar/static/src/css/web_calendar.sass @@ -20,7 +20,7 @@ // Dhtmlx Scheduler css overrides .dhx_cal_select_menu .dhx_menu_icon.icon_edit display: none - .dhx_cal_navline + .dhx_cal_navline, .dhx_cal_header // dhtmlx sets the index to 3 (in glossy theme) // I didn't found the reason yet but it overlaps the // dropdown menus and I want to avoid a z-index war. From 0b65aa2231e6aac97b3aae844bddfacf9a338c8c Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Wed, 23 Jan 2013 16:22:34 +0100 Subject: [PATCH 044/222] [IMP] fix a comment's indentation, remove a few whitespaces bzr revid: abo@openerp.com-20130123152234-g2ou48xajxsq8sqj --- openerp/osv/orm.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 6056e405b78..8b10d7da168 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -2287,7 +2287,7 @@ class BaseModel(object): if view_type == 'tree' or not action[2].get('multi')] resprint = [clean(print_) for print_ in resprint if view_type == 'tree' or not print_[2].get('multi')] - #When multi="True" set it will display only in More of the list view + #When multi="True" set it will display only in More of the list view resrelate = [clean(action) for action in resrelate if (action[2].get('multi') and view_type == 'tree') or (not action[2].get('multi') and view_type == 'form')] @@ -2682,17 +2682,17 @@ class BaseModel(object): order = orderby or groupby data_ids = self.search(cr, uid, [('id', 'in', alldata.keys())], order=order, context=context) - + # the IDs of records that have groupby field value = False or '' should be included too data_ids += set(alldata.keys()).difference(data_ids) - - if groupby: + + if groupby: data = self.read(cr, uid, data_ids, [groupby], context=context) # restore order of the search as read() uses the default _order (this is only for groups, so the footprint of data should be small): data_dict = dict((d['id'], d[groupby] ) for d in data) result = [{'id': i, groupby: data_dict[i]} for i in data_ids] else: - result = [{'id': i} for i in data_ids] + result = [{'id': i} for i in data_ids] for d in result: if groupby: @@ -2756,7 +2756,7 @@ class BaseModel(object): return _logger.info('Computing parent left and right for table %s...', self._table) def browse_rec(root, pos=0): -# TODO: set order + # TODO: set order where = self._parent_name+'='+str(root) if not root: where = self._parent_name+' IS NULL' @@ -3867,7 +3867,7 @@ class BaseModel(object): if operation in ('read','unlink'): # No need to warn about deleting an already deleted record. # And no error when reading a record that was deleted, to prevent spurious - # errors for non-transactional search/read sequences coming from clients + # errors for non-transactional search/read sequences coming from clients return _logger.warning('Failed operation on deleted record(s): %s, uid: %s, model: %s', operation, uid, self._name) raise except_orm(_('Missing document(s)'), @@ -4355,12 +4355,12 @@ class BaseModel(object): del vals[self._inherits[table]] record_id = tocreate[table].pop('id', None) - + # When linking/creating parent records, force context without 'no_store_function' key that - # defers stored functions computing, as these won't be computed in batch at the end of create(). + # defers stored functions computing, as these won't be computed in batch at the end of create(). parent_context = dict(context) parent_context.pop('no_store_function', None) - + if record_id is None or not record_id: record_id = self.pool.get(table).create(cr, user, tocreate[table], context=parent_context) else: @@ -4409,7 +4409,7 @@ class BaseModel(object): upd0 = upd0 + ',"' + field + '"' upd1 = upd1 + ',' + self._columns[field]._symbol_set[0] upd2.append(self._columns[field]._symbol_set[1](vals[field])) - #for the function fields that receive a value, we set them directly in the database + #for the function fields that receive a value, we set them directly in the database #(they may be required), but we also need to trigger the _fct_inv() if (hasattr(self._columns[field], '_fnct_inv')) and not isinstance(self._columns[field], fields.related): #TODO: this way to special case the related fields is really creepy but it shouldn't be changed at From 11dbed0fb7f9d5720c7e9b49c0df0d3f2a19c339 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Wed, 23 Jan 2013 16:37:22 +0100 Subject: [PATCH 045/222] [IMP] only call ir.translation when necessary bzr revid: abo@openerp.com-20130123153722-iijbl8hvesstneq3 --- openerp/osv/orm.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 8b10d7da168..471f72a82ac 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -3504,7 +3504,6 @@ class BaseModel(object): res = {} - translation_obj = self.pool.get('ir.translation') for parent in self._inherits: res.update(self.pool.get(parent).fields_get(cr, user, allfields, context)) @@ -3520,6 +3519,8 @@ class BaseModel(object): res[f]['states'] = {} if 'lang' in context: + translation_obj = self.pool.get('ir.translation') + if 'string' in res[f]: res_trans = translation_obj._get_source(cr, user, self._name + ',' + f, 'field', context['lang']) if res_trans: From 28960472df20d10024f2c45596a116dd87d81643 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Wed, 23 Jan 2013 16:49:43 +0100 Subject: [PATCH 046/222] [IMP] use fields_get() instead of _all_columns.get(): this method has the advantage to provide translation support bzr revid: abo@openerp.com-20130123154943-2ux9vpts4pmvr7nq --- openerp/addons/base/res/res_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index 6ed28f88927..d2f2e8a265f 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -618,7 +618,7 @@ class res_config_settings(osv.osv_memory): """ model_name, field_name = full_field_name.rsplit('.', 1) - return self.pool.get(model_name)._all_columns.get(field_name).column.string + return self.pool.get(model_name).fields_get(cr, uid, allfields=[field_name], context=context)[field_name]['string'] def get_warning_config(cr, msg, context=None): """ From 59dc49061cf5e1520ef02df969e7c5bdf79a470b Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Thu, 24 Jan 2013 16:41:19 +0100 Subject: [PATCH 047/222] [IMP] we don't need a special type of exception anymore bzr revid: abo@openerp.com-20130124154119-5283u6x1it5xvt0r --- openerp/addons/base/res/res_config.py | 4 ++-- openerp/exceptions.py | 5 ----- openerp/netsvc.py | 2 -- openerp/service/netrpc_server.py | 2 -- openerp/service/wsgi_server.py | 3 --- 5 files changed, 2 insertions(+), 14 deletions(-) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index d2f2e8a265f..33615333447 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -622,7 +622,7 @@ class res_config_settings(osv.osv_memory): def get_warning_config(cr, msg, context=None): """ - Helper: return a WarningConfig exception with the given message where the + Helper: return a Warning exception with the given message where the %(field:)s and/or %(menu:)s are replaced by the human readable field's name and/or menuitem's full path. @@ -658,6 +658,6 @@ def get_warning_config(cr, msg, context=None): values[item] = res_config_obj.get_option_name(cr, SUPERUSER_ID, ref, context) # 4/ substitute and return the result - return exceptions.WarningConfig(msg % values) + return exceptions.Warning(msg % values) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/exceptions.py b/openerp/exceptions.py index c43f706fa61..fbf52c7f3a9 100644 --- a/openerp/exceptions.py +++ b/openerp/exceptions.py @@ -30,11 +30,6 @@ treated as a 'Server error'. class Warning(Exception): pass -class WarningConfig(Exception): - """ Warning bound to a misconfiguration. """ - def __init__(self, msg): - super(WarningConfig, self).__init__(msg) - class AccessDenied(Exception): """ Login/password error. No message, no traceback. """ def __init__(self): diff --git a/openerp/netsvc.py b/openerp/netsvc.py index 3362b86fac7..47ee4d81e20 100644 --- a/openerp/netsvc.py +++ b/openerp/netsvc.py @@ -306,8 +306,6 @@ def dispatch_rpc(service_name, method, params): raise except openerp.exceptions.Warning: raise - except openerp.exceptions.WarningConfig: - raise except openerp.exceptions.DeferredException, e: _logger.exception(tools.exception_to_unicode(e)) post_mortem(e.traceback) diff --git a/openerp/service/netrpc_server.py b/openerp/service/netrpc_server.py index f87274ef6e6..34bb30d8f75 100644 --- a/openerp/service/netrpc_server.py +++ b/openerp/service/netrpc_server.py @@ -170,8 +170,6 @@ def netrpc_handle_exception_legacy(e): return 'warning -- ' + e.name + '\n\n' + e.value if isinstance(e, openerp.exceptions.Warning): return 'warning -- Warning\n\n' + str(e) - if isinstance(e, openerp.exceptions.WarningConfig): - return 'warning -- Warning\n\n' + str(e) if isinstance(e, openerp.exceptions.AccessError): return 'warning -- AccessError\n\n' + str(e) if isinstance(e, openerp.exceptions.AccessDenied): diff --git a/openerp/service/wsgi_server.py b/openerp/service/wsgi_server.py index 0b1cff68114..5da34e2e48a 100644 --- a/openerp/service/wsgi_server.py +++ b/openerp/service/wsgi_server.py @@ -95,9 +95,6 @@ def xmlrpc_handle_exception(e): response = xmlrpclib.dumps(fault, allow_none=False, encoding=None) elif isinstance(e, openerp.exceptions.Warning): fault = xmlrpclib.Fault(RPC_FAULT_CODE_WARNING, str(e)) - elif isinstance(e, openerp.exceptions.WarningConfig): - fault = xmlrpclib.Fault(RPC_FAULT_CODE_WARNING, str(e)) - response = xmlrpclib.dumps(fault, allow_none=False, encoding=None) elif isinstance (e, openerp.exceptions.AccessError): fault = xmlrpclib.Fault(RPC_FAULT_CODE_ACCESS_ERROR, str(e)) response = xmlrpclib.dumps(fault, allow_none=False, encoding=None) From 75ce079a814f8795d43171965a842aa19a51b2f3 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Thu, 24 Jan 2013 16:41:19 +0100 Subject: [PATCH 048/222] [IMP] we don't need a special type of exception anymore bzr revid: abo@openerp.com-20130124154119-flmuzwunpi72c02i --- addons/web/session.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/addons/web/session.py b/addons/web/session.py index a2719482a2c..30e9308d4e1 100644 --- a/addons/web/session.py +++ b/addons/web/session.py @@ -92,8 +92,6 @@ class OpenERPSession(object): raise xmlrpclib.Fault(code_string % (e.name, e.value), '') except openerp.exceptions.Warning, e: raise xmlrpclib.Fault(code_string % ("Warning", e), '') - except openerp.exceptions.WarningConfig, e: - raise xmlrpclib.Fault(code_string % ("Warning", e), '') except openerp.exceptions.AccessError, e: raise xmlrpclib.Fault(code_string % ("AccessError", e), '') except openerp.exceptions.AccessDenied, e: From da9033dcb5a0ffaf1a9a8916fce55215231b6ccb Mon Sep 17 00:00:00 2001 From: Vishmita Date: Mon, 28 Jan 2013 10:52:23 +0530 Subject: [PATCH 049/222] [Fix]in the employee form put a chatter,to say that the document is created bzr revid: vja@tinyerp.com-20130128052223-3j6gnpe5o0hu573s --- addons/hr/hr.py | 1 + addons/hr/hr_view.xml | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/addons/hr/hr.py b/addons/hr/hr.py index 92bde22086e..4ec04b6ce6a 100644 --- a/addons/hr/hr.py +++ b/addons/hr/hr.py @@ -146,6 +146,7 @@ class hr_employee(osv.osv): _name = "hr.employee" _description = "Employee" _inherits = {'resource.resource': "resource_id"} + _inherit = ['mail.thread'] def _get_image(self, cr, uid, ids, name, args, context=None): result = dict.fromkeys(ids, False) diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index dc65fa80e8b..8767da6bd63 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -84,6 +84,10 @@ +
+ + +
From 3c1fdb38db0df3b5d110232d815640de893438c3 Mon Sep 17 00:00:00 2001 From: "Dharti Ratani (Open ERP)" Date: Wed, 30 Jan 2013 15:58:47 +0530 Subject: [PATCH 050/222] [IMP]Improving Outlook plugin installation instructions bzr revid: dhr@tinyerp.com-20130130102847-mlgmns6e1q5yelpc --- addons/plugin_outlook/plugin_outlook.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/addons/plugin_outlook/plugin_outlook.xml b/addons/plugin_outlook/plugin_outlook.xml index 8623765199b..9c0117e1e07 100644 --- a/addons/plugin_outlook/plugin_outlook.xml +++ b/addons/plugin_outlook/plugin_outlook.xml @@ -27,6 +27,14 @@
  • MS Outlook 2005 or above.
  • MS .Net Framework 3.5 or above.
  • +

    Outlook plug-in installation:

    +
      +
    • Save the outlook plugin corresponding to your Office version (Office x86 or Office x64)
    • +
    • Double-click on the executable file and install the plugin.
    • +
    • Open Outlook (close it and open it again if it is already closed).
    • +
    • From the Outlook menubar: OpenERP -> Configuration.
    • +
    • Configure your openerp server.
    • +
    From 3d0b141406b397fa989c56af0946f11595951ff5 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Wed, 30 Jan 2013 17:30:32 +0100 Subject: [PATCH 051/222] [IMP] remove default 'None' value (doesn't make sense anymore) bzr revid: abo@openerp.com-20130130163032-jsfm0fa5r54wmvpv --- openerp/addons/base/res/res_config.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index 33615333447..0bbdf5b5e84 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -590,7 +590,7 @@ class res_config_settings(osv.osv_memory): name = act_window.read(cr, uid, action_ids[0], ['name'], context=context)['name'] return [(record.id, name) for record in self.browse(cr, uid , ids, context=context)] - def get_option_path(self, cr, uid, menu_xml_id=None, context=None): + def get_option_path(self, cr, uid, menu_xml_id, context=None): """ Fetch the path to a specified configuration view. @@ -606,7 +606,7 @@ class res_config_settings(osv.osv_memory): return ir_ui_menu.complete_name - def get_option_name(self, cr, uid, full_field_name=None, context=None): + def get_option_name(self, cr, uid, full_field_name, context=None): """ Fetch the human readable name of a specified configuration option. @@ -657,7 +657,7 @@ def get_warning_config(cr, msg, context=None): elif ref_type == 'field': values[item] = res_config_obj.get_option_name(cr, SUPERUSER_ID, ref, context) - # 4/ substitute and return the result + # 3/ substitute and return the result return exceptions.Warning(msg % values) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 2459399cac7426cf57fe9c31fbae43f3636bb221 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Wed, 30 Jan 2013 17:56:42 +0100 Subject: [PATCH 052/222] [IMP] make get_config_warning() a method of res.config.settings, avoiding heavy import of res_config or long path calls like 'openerp.addons.base.res.res_config.get_config_warning()' just use self.pool.get('res.config.settings').get_config_warning() instead bzr revid: abo@openerp.com-20130130165642-pq5sbdluesxu7p6d --- openerp/addons/base/res/res_config.py | 66 +++++++++++++-------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index 0bbdf5b5e84..32e24238d52 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -620,44 +620,44 @@ class res_config_settings(osv.osv_memory): return self.pool.get(model_name).fields_get(cr, uid, allfields=[field_name], context=context)[field_name]['string'] -def get_warning_config(cr, msg, context=None): - """ - Helper: return a Warning exception with the given message where the - %(field:)s and/or %(menu:)s are replaced by the human readable field's name - and/or menuitem's full path. + def get_config_warning(self, cr, msg, context=None): + """ + Helper: return a Warning exception with the given message where the + %(field:)s and/or %(menu:)s are replaced by the human readable field's name + and/or menuitem's full path. - Usage: - ------ - Just include in your error message %(field:model_name.field_name)s to - obtain the human readable field's name, and/or - %(menu:module_name.menuitem_xml_id)s to obtain the menuitem's full path. + Usage: + ------ + Just include in your error message %(field:model_name.field_name)s to + obtain the human readable field's name, and/or + %(menu:module_name.menuitem_xml_id)s to obtain the menuitem's full path. - Example of use: - --------------- - from openerp.addons.base.res.res_config import get_warning_config - raise get_warning_config(cr, _("Error: this action is prohibited. You should check the field %(field:sale.config.settings.fetchmail_lead)s in %(menu:base.menu_sale_config)s."), context=context) - will return an exception containing the following message: - Error: this action is prohibited. You should check the field Create leads from incoming mails in Settings/Configuration/Sales. - """ + Example of use: + --------------- + from openerp.addons.base.res.res_config import get_warning_config + raise get_warning_config(cr, _("Error: this action is prohibited. You should check the field %(field:sale.config.settings.fetchmail_lead)s in %(menu:base.menu_sale_config)s."), context=context) + will return an exception containing the following message: + Error: this action is prohibited. You should check the field Create leads from incoming mails in Settings/Configuration/Sales. + """ - res_config_obj = pooler.get_pool(cr.dbname).get('res.config.settings') - regex_path = r'%\(((?:menu|field):[a-z_\.]*)\)s' + res_config_obj = pooler.get_pool(cr.dbname).get('res.config.settings') + regex_path = r'%\(((?:menu|field):[a-z_\.]*)\)s' - # Process the message - # 1/ find the path and/or field references, put them in a list - references = re.findall(regex_path, msg, flags=re.I) + # Process the message + # 1/ find the path and/or field references, put them in a list + references = re.findall(regex_path, msg, flags=re.I) - # 2/ fetch the path and/or field replacement values - # (full path and human readable field's name) - values = {} - for item in references: - ref_type, ref = item.split(':') - if ref_type == 'menu': - values[item] = res_config_obj.get_option_path(cr, SUPERUSER_ID, ref, context) - elif ref_type == 'field': - values[item] = res_config_obj.get_option_name(cr, SUPERUSER_ID, ref, context) + # 2/ fetch the path and/or field replacement values + # (full path and human readable field's name) + values = {} + for item in references: + ref_type, ref = item.split(':') + if ref_type == 'menu': + values[item] = res_config_obj.get_option_path(cr, SUPERUSER_ID, ref, context) + elif ref_type == 'field': + values[item] = res_config_obj.get_option_name(cr, SUPERUSER_ID, ref, context) - # 3/ substitute and return the result - return exceptions.Warning(msg % values) + # 3/ substitute and return the result + return exceptions.Warning(msg % values) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From f580ceb94acf367563811b7c3904584fccbe54c3 Mon Sep 17 00:00:00 2001 From: ggh-openerp Date: Thu, 31 Jan 2013 12:18:48 +0530 Subject: [PATCH 053/222] [IMP] Fixed the issue in phonecalls not work phonecalls2opportunity bzr revid: ggh@tinyerp.com-20130131064848-qd4icm33n58u1wnv --- addons/crm/crm_phonecall_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml index 74b2ecd5069..ccee49ba17b 100644 --- a/addons/crm/crm_phonecall_view.xml +++ b/addons/crm/crm_phonecall_view.xml @@ -152,7 +152,7 @@ name="action_button_convert2opportunity" states="open,pending" icon="gtk-index" - type="action" attrs="{'invisible':[('opportunity_id','!=',False)]}"/> + type="object" attrs="{'invisible':[('opportunity_id','!=',False)]}"/> From 6d9b41b3bf0a99e699f7fc0670129120c5c6e1d4 Mon Sep 17 00:00:00 2001 From: "Hiral Patel (OpenERP)" Date: Thu, 31 Jan 2013 15:23:36 +0530 Subject: [PATCH 054/222] [IMP] Improve the code bzr revid: hip@tinyerp.com-20130131095336-317ww7oe391tg2wk --- addons/stock/product.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/stock/product.py b/addons/stock/product.py index 1d56ce64988..ba855e0409b 100644 --- a/addons/stock/product.py +++ b/addons/stock/product.py @@ -235,10 +235,10 @@ class product_product(osv.osv): else: location_ids = [] wids = warehouse_obj.search(cr, uid, [], context=context) - if not wids: - return res for w in warehouse_obj.browse(cr, uid, wids, context=context): location_ids.append(w.lot_stock_id.id) + else: + return res # build the list of ids of children of the location given by id if context.get('compute_child',True): From 3a614884ccfef322a022543ac0c55db71cd98880 Mon Sep 17 00:00:00 2001 From: "Hiral Patel (OpenERP)" Date: Thu, 31 Jan 2013 16:40:36 +0530 Subject: [PATCH 055/222] [REV] Revert the changes bzr revid: hip@tinyerp.com-20130131111036-picfcuvfq4zhjk0m --- addons/stock/product.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/stock/product.py b/addons/stock/product.py index ba855e0409b..1d56ce64988 100644 --- a/addons/stock/product.py +++ b/addons/stock/product.py @@ -235,10 +235,10 @@ class product_product(osv.osv): else: location_ids = [] wids = warehouse_obj.search(cr, uid, [], context=context) + if not wids: + return res for w in warehouse_obj.browse(cr, uid, wids, context=context): location_ids.append(w.lot_stock_id.id) - else: - return res # build the list of ids of children of the location given by id if context.get('compute_child',True): From a4af8609686386d3371289ea24e019a897ca13bd Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Thu, 31 Jan 2013 19:15:20 +0100 Subject: [PATCH 056/222] [IMP] introduce a new kind of exception: RedirectWarning (warning with an additional redirection button) bzr revid: abo@openerp.com-20130131181520-q5ol3ngsn93u7hg5 --- openerp/exceptions.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/openerp/exceptions.py b/openerp/exceptions.py index fbf52c7f3a9..46f0a29b1e0 100644 --- a/openerp/exceptions.py +++ b/openerp/exceptions.py @@ -30,6 +30,19 @@ treated as a 'Server error'. class Warning(Exception): pass +class RedirectWarning(Exception): + """ Warning with a possibility to redirect the user instead of simply + discarding the warning message. + """ + def __init__(self, msg, action_id, button_text): + """ + :param int action_id: id of the action required to perform the + redirection + :param string button_text: text to put on the button which will trigger + the redirection + """ + super(RedirectWarning, self).__init__(msg, action_id, button_text) + class AccessDenied(Exception): """ Login/password error. No message, no traceback. """ def __init__(self): From a2d53ee33b23269a3c311daf696d3c919953e4e8 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Thu, 31 Jan 2013 19:18:53 +0100 Subject: [PATCH 057/222] [IMP] the implementation of get_option_path(): return a tuple with the full path and the id of the action linked to the given menu xml id bzr revid: abo@openerp.com-20130131181853-mp7r238q0zf5go4l --- openerp/addons/base/res/res_config.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index 32e24238d52..35afafe1ad7 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -597,14 +597,16 @@ class res_config_settings(osv.osv_memory): :param string menu_xml_id: the xml id of the menuitem where the view is located, structured as follows: module_name.menuitem_xml_id (e.g.: "base.menu_sale_config") - :return string: full path to the menuitem - (e.g.: "Settings/Configuration/Sales") + :return tuple: + - t[0]: string: full path to the menuitem + (e.g.: "Settings/Configuration/Sales") + - t[1]: int: id of the menuitem's action """ module_name, menu_xml_id = menu_xml_id.split('.') dummy, menu_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, module_name, menu_xml_id) ir_ui_menu = self.pool.get('ir.ui.menu').browse(cr, uid, menu_id, context=context) - return ir_ui_menu.complete_name + return (ir_ui_menu.complete_name, ir_ui_menu.action.id) def get_option_name(self, cr, uid, full_field_name, context=None): """ @@ -644,20 +646,25 @@ class res_config_settings(osv.osv_memory): regex_path = r'%\(((?:menu|field):[a-z_\.]*)\)s' # Process the message - # 1/ find the path and/or field references, put them in a list + # 1/ find the menu and/or field references, put them in a list references = re.findall(regex_path, msg, flags=re.I) - # 2/ fetch the path and/or field replacement values - # (full path and human readable field's name) + # 2/ fetch the menu and/or field replacement values (full path and + # human readable field's name) and the action_id if any values = {} + action_id = None + buttontext = None for item in references: ref_type, ref = item.split(':') if ref_type == 'menu': - values[item] = res_config_obj.get_option_path(cr, SUPERUSER_ID, ref, context) + values[item], action_id = res_config_obj.get_option_path(cr, SUPERUSER_ID, ref, context) + buttontext = _('Go to the configuration panel') elif ref_type == 'field': values[item] = res_config_obj.get_option_name(cr, SUPERUSER_ID, ref, context) # 3/ substitute and return the result - return exceptions.Warning(msg % values) - + if (action_id): + return exceptions.RedirectWarning(msg % values, action_id, _('Go to the configuration panel')) + else: + return exceptions.Warning(msg % values) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 62285a48ed6d6ecba3776b994a10ad217d527f31 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Thu, 31 Jan 2013 19:29:21 +0100 Subject: [PATCH 058/222] [IMP] add a handler for the new exception RedirectWarning bzr revid: abo@openerp.com-20130131182921-9tv71vzjr2agdusc --- addons/web/static/src/js/chrome.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 1407df4d33f..86d0a20ed20 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -327,6 +327,34 @@ instance.web.ExceptionHandler = { */ instance.web.crash_manager_registry = new instance.web.Registry(); +/** + * Handle redirection warnings, which behave more or less like a regular + * warning, with an additional redirection button. + */ +instance.web.RedirectWarningHandler = instance.web.Dialog.extend(instance.web.ExceptionHandler, { + init: function(parent, error) { + this._super(parent); + this.error = error; + }, + display: function() { + error = this.error; + error.data.message = error.data.arguments[0]; + + instance.web.dialog($('
    ' + QWeb.render('CrashManager.warning', {error: error}) + '
    '), { + title: "OpenERP " + (_.str.capitalize(error.type) || "Warning"), + buttons: [ + {text: _t("Ok"), click: function() { $(this).dialog("close"); }}, + {text: error.data.arguments[2], click: function() { + window.location.href='#action='+error.data.arguments[1]; + $(this).dialog("close"); + }} + ] + }); + this.destroy(); + } +}); +instance.web.crash_manager_registry.add('openerp.exceptions.RedirectWarning', 'instance.web.RedirectWarningHandler'); + instance.web.Loading = instance.web.Widget.extend({ template: _t("Loading"), init: function(parent) { From a52d21e1cb081cd0e99607b2486261b6d882faf2 Mon Sep 17 00:00:00 2001 From: "Anand Patel (OpenERP)" Date: Fri, 1 Feb 2013 15:57:50 +0530 Subject: [PATCH 059/222] [IMP]Improved code for the base_import requirde field bzr revid: pan@tinyerp.com-20130201102750-ozxa3xwqa4rsnt60 --- openerp/osv/orm.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 6056e405b78..16f0257fa9c 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -5318,11 +5318,9 @@ def convert_pgerror_23502(model, fields, info, e): field_name = m.group('field') if not m or field_name not in fields: return {'message': unicode(e)} - message = _(u"Missing required value for the field '%s'.") % field_name field = fields.get(field_name) if field: - message = _(u"%s This might be '%s' in the current model, or a field " - u"of the same name in an o2m.") % (message, field['string']) + message = _(u"Missing required value for the field '%s'") % (field['string']) return { 'message': message, 'field': field_name, From 8d5340a27d818929a7ce3e008cff7328ac0d260d Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Fri, 1 Feb 2013 17:50:15 +0100 Subject: [PATCH 060/222] [IMP] fix a typo, even if it doesn't matter (odo would probably say something like 'stop acting nitpicky !' ;)) bzr revid: abo@openerp.com-20130201165015-l3dtvil3u59kqzf7 --- openerp/tests/addons/test_exceptions/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/tests/addons/test_exceptions/models.py b/openerp/tests/addons/test_exceptions/models.py index 45f0e6dbd47..03788159bf8 100644 --- a/openerp/tests/addons/test_exceptions/models.py +++ b/openerp/tests/addons/test_exceptions/models.py @@ -29,5 +29,5 @@ class m(openerp.osv.osv.Model): raise Exception('AccessDenied') def generate_undefined(self, cr, uid, ids, context=None): - self.surely_undefined_sumbol + self.surely_undefined_symbol # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 195be49479f93239849cd18c8807425e1fc983e7 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Fri, 1 Feb 2013 18:17:42 +0100 Subject: [PATCH 061/222] [IMP] add a new test for the new exception type bzr revid: abo@openerp.com-20130201171742-axfcg7y99uxpersw --- openerp/exceptions.py | 2 ++ openerp/tests/addons/test_exceptions/models.py | 4 ++++ openerp/tests/addons/test_exceptions/view.xml | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/openerp/exceptions.py b/openerp/exceptions.py index 46f0a29b1e0..41fff85010c 100644 --- a/openerp/exceptions.py +++ b/openerp/exceptions.py @@ -25,6 +25,8 @@ This module defines a few exception types. Those types are understood by the RPC layer. Any other exception type bubbling until the RPC layer will be treated as a 'Server error'. +If you consider introducing new exceptions, check out the test_exceptions +addon. """ class Warning(Exception): diff --git a/openerp/tests/addons/test_exceptions/models.py b/openerp/tests/addons/test_exceptions/models.py index 03788159bf8..78f0e182b48 100644 --- a/openerp/tests/addons/test_exceptions/models.py +++ b/openerp/tests/addons/test_exceptions/models.py @@ -19,6 +19,9 @@ class m(openerp.osv.osv.Model): def generate_warning(self, cr, uid, ids, context=None): raise openerp.exceptions.Warning('description') + def generate_redirect_warning(self, cr, uid, ids, context=None): + raise openerp.exceptions.RedirectWarning('description', self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'action_client_base_menu'), 'go to the redirection') + def generate_access_denied(self, cr, uid, ids, context=None): raise openerp.exceptions.AccessDenied() @@ -30,4 +33,5 @@ class m(openerp.osv.osv.Model): def generate_undefined(self, cr, uid, ids, context=None): self.surely_undefined_symbol + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/tests/addons/test_exceptions/view.xml b/openerp/tests/addons/test_exceptions/view.xml index 180029e739a..0c8e373a278 100644 --- a/openerp/tests/addons/test_exceptions/view.xml +++ b/openerp/tests/addons/test_exceptions/view.xml @@ -21,6 +21,10 @@
    @@ -333,12 +340,12 @@
    diff --git a/addons/account_analytic_analysis/account_analytic_analysis_menu.xml b/addons/account_analytic_analysis/account_analytic_analysis_menu.xml index 75f06614124..32a9d489453 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis_menu.xml +++ b/addons/account_analytic_analysis/account_analytic_analysis_menu.xml @@ -31,10 +31,19 @@ - - - + + + + + + + @@ -44,6 +53,7 @@ + diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py index 005afa5d544..af5fc2f3890 100644 --- a/addons/analytic/analytic.py +++ b/addons/analytic/analytic.py @@ -196,7 +196,7 @@ class account_analytic_account(osv.osv): 'date_start': fields.date('Start Date'), 'date': fields.date('Date End', select=True), 'company_id': fields.many2one('res.company', 'Company', required=False), #not required because we want to allow different companies to use the same chart of account, except for leaf accounts. - 'state': fields.selection([('template', 'Template'),('draft','New'),('open','In Progress'), ('cancelled', 'Cancelled'),('pending','To Renew'),('close','Closed')], 'Status', required=True, track_visibility='onchange'), + 'state': fields.selection([('template', 'Template'),('draft','New'),('open','In Progress'),('pending','To Renew'),('close','Closed'),('cancelled', 'Cancelled')], 'Status', required=True, track_visibility='onchange'), 'currency_id': fields.function(_currency, fnct_inv=_set_company_currency, #the currency_id field is readonly except if it's a view account and if there is no company store = { 'res.company': (_get_analytic_account, ['currency_id'], 10), @@ -349,6 +349,4 @@ class account_analytic_line(osv.osv): (_check_no_view, 'You cannot create analytic line on view account.', ['account_id']), ] -account_analytic_line() - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From b0699326710656a0ca16643c60f3cac2b000514b Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Thu, 14 Feb 2013 20:56:45 +0100 Subject: [PATCH 106/222] reorder and document contract views in one clear file. bzr revid: al@openerp.com-20130214195645-oia0msv4fz1h14zx --- .../account_analytic_analysis/__openerp__.py | 1 - .../account_analytic_analysis_menu.xml | 114 -------------- .../account_analytic_analysis_view.xml | 146 +++++++++++++++--- 3 files changed, 127 insertions(+), 134 deletions(-) delete mode 100644 addons/account_analytic_analysis/account_analytic_analysis_menu.xml diff --git a/addons/account_analytic_analysis/__openerp__.py b/addons/account_analytic_analysis/__openerp__.py index 5ff15c09076..99e4353afa1 100644 --- a/addons/account_analytic_analysis/__openerp__.py +++ b/addons/account_analytic_analysis/__openerp__.py @@ -38,7 +38,6 @@ Adds menu to show relevant information to each manager.You can also view the rep 'security/ir.model.access.csv', 'security/account_analytic_analysis_security.xml', 'account_analytic_analysis_view.xml', - 'account_analytic_analysis_menu.xml', 'account_analytic_analysis_cron.xml', 'res_config_view.xml', ], diff --git a/addons/account_analytic_analysis/account_analytic_analysis_menu.xml b/addons/account_analytic_analysis/account_analytic_analysis_menu.xml deleted file mode 100644 index 32a9d489453..00000000000 --- a/addons/account_analytic_analysis/account_analytic_analysis_menu.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - Time & Materials to Invoice - account.analytic.line - form - tree,form - [('invoice_id','=',False)] - {'search_default_to_invoice': 1, 'search_default_sales': 1} - - -

    - You will find here timesheets and purchases you did for - contracts that can be reinvoiced to the customer. If you want - to record new activities to invoice, you should use the timesheet - menu instead. -

    -
    -
    - - - - account.analytic.account.search - account.analytic.account - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Contracts to Renew - account.analytic.account - form - tree,form - {'search_default_manager_id':uid, 'search_default_pending':1, 'search_default_renew':1} - [('type','=','contract')] - - -

    - Click to define a new contract. -

    - You will find here the contracts to be renewed because the - end date is passed or the working effort is higher than the - maximum authorized one. -

    - OpenERP automatically sets contracts to be renewed in a pending - state. After the negociation, the salesman should close or renew - pending contracts. -

    -
    -
    - - - - Contracts - account.analytic.account - form - tree,form - {'default_type':'contract', 'search_default_open':1, 'search_default_pending':1, 'default_manager_id':uid} - [('type','=','contract')] - - -

    - Click to create a new contract. -

    - Use contracts to follow tasks, issues, timesheets or invoicing based on - work done, expenses and/or sales orders. OpenERP will automatically manage - the alerts for the renewal of the contracts to the right salesperson. -

    -
    -
    - - - - -
    -
    diff --git a/addons/account_analytic_analysis/account_analytic_analysis_view.xml b/addons/account_analytic_analysis/account_analytic_analysis_view.xml index f8f718882af..dfbded83baa 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis_view.xml +++ b/addons/account_analytic_analysis/account_analytic_analysis_view.xml @@ -1,17 +1,13 @@ - - - Sales Orders sale.order account.analytic.account + account.analytic.account.invoice.form.inherit account.analytic.account @@ -142,19 +138,7 @@
    - - account.analytic.account.tree - account.analytic.account - - - - - - - - - - + account.analytic.account.form.template.required account.analytic.account @@ -167,6 +151,130 @@
    + + + account.analytic.account.list.contract + account.analytic.account + + + + + + + + + + + + + account.analytic.account.search + account.analytic.account + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Contracts + account.analytic.account + form + tree,form + {'default_type':'contract', 'search_default_open':1, 'search_default_pending':1, 'default_manager_id':uid} + [('type','=','contract')] + + +

    + Click to create a new contract. +

    + Use contracts to follow tasks, issues, timesheets or invoicing based on + work done, expenses and/or sales orders. OpenERP will automatically manage + the alerts for the renewal of the contracts to the right salesperson. +

    +
    +
    + + + + + + Time & Materials to Invoice + account.analytic.line + form + tree,form + [('invoice_id','=',False)] + {'search_default_to_invoice': 1, 'search_default_sales': 1} + + +

    + You will find here timesheets and purchases you did for + contracts that can be reinvoiced to the customer. If you want + to record new activities to invoice, you should use the timesheet + menu instead. +

    +
    +
    + + + + + + Contracts to Renew + account.analytic.account + form + tree,form + {'search_default_manager_id':uid, 'search_default_pending':1, 'search_default_renew':1} + [('type','=','contract')] + + +

    + Click to define a new contract. +

    + You will find here the contracts to be renewed because the + end date is passed or the working effort is higher than the + maximum authorized one. +

    + OpenERP automatically sets contracts to be renewed in a pending + state. After the negociation, the salesman should close or renew + pending contracts. +

    +
    +
    + + + Contract Template ir.actions.act_window @@ -184,8 +292,8 @@ terms and conditions of the contract.

    - + From b1eba6c1ef20d4f4f1b98cde8066a13b81455ef9 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Fri, 15 Feb 2013 00:53:30 +0100 Subject: [PATCH 107/222] Fix contract expiration reminder: - fix domains and check for 3 different type of expiration - use an email template instead of an hardcoded string bzr revid: al@openerp.com-20130214235330-bmgjq962vn76q39x --- addons/account_analytic_analysis/__init__.py | 1 - .../account_analytic_analysis.py | 42 ++++++++-- .../account_analytic_analysis_cron.xml | 72 +++++++++++++++-- .../cron_account_analytic_account.py | 79 ------------------- 4 files changed, 104 insertions(+), 90 deletions(-) delete mode 100644 addons/account_analytic_analysis/cron_account_analytic_account.py diff --git a/addons/account_analytic_analysis/__init__.py b/addons/account_analytic_analysis/__init__.py index 9aae723c5cf..be5a6e43f73 100644 --- a/addons/account_analytic_analysis/__init__.py +++ b/addons/account_analytic_analysis/__init__.py @@ -20,7 +20,6 @@ ############################################################################## import account_analytic_analysis -import cron_account_analytic_account import res_config # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py index 23d8faaffce..2238a9179fc 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis.py +++ b/addons/account_analytic_analysis/account_analytic_analysis.py @@ -18,6 +18,8 @@ # along with this program. If not, see . # ############################################################################## +import datetime +import time from openerp.osv import osv, fields from openerp.osv.orm import intersect, except_orm @@ -484,7 +486,41 @@ class account_analytic_account(osv.osv): res['value']['to_invoice'] = template.to_invoice.id res['value']['pricelist_id'] = template.pricelist_id.id return res -account_analytic_account() + + def cron_account_analytic_account(self, cr, uid, context=None): + remind = {} + + def fill_remind(key, domain, write_pending=False): + base_domain = [ + ('partner_id', '!=', False), + ('manager_id', '!=', False), + ('manager_id.email', '!=', False), + ] + base_domain.extend(domain) + accounts_ids = self.search(cr, uid, base_domain, context=context, order='name asc') + accounts = self.browse(cr, uid, accounts_ids, context=context) + for account in accounts: + if write_pending: + account.write({'state' : 'pending'}, context=context) + remind_user = remind.setdefault(account.manager_id.id, {}) + remind_type = remind_user.setdefault(key, {}) + remind_partner = remind_type.setdefault(account.partner_id, []).append(account) + + # Already expired + fill_remind("old", [('state', 'in', ['pending'])]) + + # Expires now + fill_remind("new", [('state', 'in', ['draft', 'open']), '|', '&', ('date', '!=', False), ('date', '<=', time.strftime('%Y-%m-%d')), ('is_overdue_quantity', '=', True)], True) + + # Expires in less than 30 days + fill_remind("future", [('state', 'in', ['draft', 'open']), ('date', '!=', False), ('date', '<', (datetime.datetime.now() + datetime.timedelta(30)).strftime("%Y-%m-%d"))]) + + template_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_analytic_analysis', 'account_analytic_cron_email_template')[1] + for user_id, data in remind.items(): + context["data"] = data + self.pool.get('email.template').send_mail(cr, uid, template_id, user_id, context=context) + + return True class account_analytic_account_summary_user(osv.osv): _name = "account_analytic_analysis.summary.user" @@ -538,8 +574,6 @@ class account_analytic_account_summary_user(osv.osv): lu.user_id as "user", unit_amount from lu, mu)''') - -account_analytic_account_summary_user() class account_analytic_account_summary_month(osv.osv): _name = "account_analytic_analysis.summary.month" @@ -600,6 +634,4 @@ class account_analytic_account_summary_month(osv.osv): 'GROUP BY d.month, d.account_id ' \ ')') - -account_analytic_account_summary_month() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_analytic_analysis/account_analytic_analysis_cron.xml b/addons/account_analytic_analysis/account_analytic_analysis_cron.xml index 8564b1606eb..39da3caa0a3 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis_cron.xml +++ b/addons/account_analytic_analysis/account_analytic_analysis_cron.xml @@ -1,15 +1,77 @@ + + + Contract expiration reminder + ${user.email or ''} + Contract expiration reminder ${user.company_id.name} + ${object.email} + ${object.lang} + + + + + Customer + Contract + Dates + Prepaid Units + Contact + + % for partner, accounts in values: + % for account in accounts: + + ${partner.name} + ${account.name} + ${account.date_start} to ${account.date and account.date or '???'} + + % if account.quantity_max != 0.0: + ${account.quantity}/${account.quantity_max} hours + % endif + + ${account.partner_id.phone or ''}, ${account.partner_id.email or ''} + + % endfor + % endfor + +% endmacro + +% if "new" in ctx["data"]: +

    The following contracts just expired:

    + ${account_table(ctx["data"]["new"].iteritems())} +% endif + +% if "old" in ctx["data"]: +

    The following expired contracts are still not processed:

    + ${account_table(ctx["data"]["old"].iteritems())} +% endif + +% if "future" in ctx["data"]: +

    The following contracts will expire in less than one month:

    + ${account_table(ctx["data"]["future"].iteritems())} +% endif + + + + ]]>
    +
    + + - Analytic Account Report for Sales + Contract expiration reminder 1 weeks -1 - - - - + + + +
    diff --git a/addons/account_analytic_analysis/cron_account_analytic_account.py b/addons/account_analytic_analysis/cron_account_analytic_account.py deleted file mode 100644 index 6e2ce4a47b3..00000000000 --- a/addons/account_analytic_analysis/cron_account_analytic_account.py +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env python -from mako.template import Template -import time -try: - import cStringIO as StringIO -except ImportError: - import StringIO - -from openerp import tools -from openerp.osv import osv - -MAKO_TEMPLATE = u"""Hello ${user.name}, - -Here is a list of contracts that have to be renewed for two -possible reasons: - - the end of contract date is passed - - the customer consumed more hours than expected - -Can you contact the customer in order to sell a new or renew its contract. -The contract has been set with a pending state, can you update the status -of the analytic account following this rule: - - Set Done: if the customer does not want to renew - - Set Open: if the customer purchased an extra contract - -Here is the list of contracts to renew: -% for partner, accounts in partners.iteritems(): - * ${partner.name} - % for account in accounts: - - Name: ${account.name} - % if account.quantity_max != 0.0: - - Quantity: ${account.quantity}/${account.quantity_max} hours - % endif - - Dates: ${account.date_start} to ${account.date and account.date or '???'} - - Contacts: - ${account.partner_id.name}, ${account.partner_id.phone or ''}, ${account.partner_id.email or ''} - - % endfor -% endfor - -You can use the report in the menu: Sales > Invoicing > Overdue Accounts - -Regards, - --- -OpenERP -""" - -class analytic_account(osv.osv): - _inherit = 'account.analytic.account' - - def cron_account_analytic_account(self, cr, uid, context=None): - domain = [ - ('name', 'not ilike', 'maintenance'), - ('partner_id', '!=', False), - ('user_id', '!=', False), - ('user_id.email', '!=', False), - ('state', 'in', ('draft', 'open')), - '|', ('date', '<', time.strftime('%Y-%m-%d')), ('date', '=', False), - ] - - account_ids = self.search(cr, uid, domain, context=context, order='name asc') - accounts = self.browse(cr, uid, account_ids, context=context) - - users = dict() - for account in accounts: - users.setdefault(account.user_id, dict()).setdefault(account.partner_id, []).append(account) - - account.write({'state' : 'pending'}, context=context) - - for user, data in users.iteritems(): - subject = '[OPENERP] Reporting: Analytic Accounts' - body = Template(MAKO_TEMPLATE).render_unicode(user=user, partners=data) - tools.email_send('noreply@openerp.com', [user.email, ], subject, body) - - return True - -analytic_account() - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From acbe21da9d5dc56d73545d9e748ec18640360349 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Fri, 15 Feb 2013 02:52:38 +0100 Subject: [PATCH 108/222] [FIX] crm lead list view bzr revid: al@openerp.com-20130215015238-vr0m2pwm9jjr1ia4 --- addons/crm/crm_lead_view.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index fc43339ba8e..b14688db2dd 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -217,9 +217,8 @@ - + - From 7c89909ac4b9a57a50d9bceb2f22c95eb08361df Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Fri, 15 Feb 2013 02:58:05 +0100 Subject: [PATCH 109/222] [FIX] crm opportunity list view bzr revid: al@openerp.com-20130215015805-5mouv5pv3tsevrmr --- addons/crm/crm_lead_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index b14688db2dd..1a013751692 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -511,7 +511,7 @@ - + @@ -526,8 +526,8 @@ - + From 5d31ed34d04163d59ccd4511d2626172aa6610b5 Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Fri, 15 Feb 2013 04:49:06 +0000 Subject: [PATCH 110/222] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20130215044906-l8qxbb03kjhy48it --- addons/web_kanban/i18n/da.po | 37 ++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/addons/web_kanban/i18n/da.po b/addons/web_kanban/i18n/da.po index 008b99dcc6b..69339d9a1c4 100644 --- a/addons/web_kanban/i18n/da.po +++ b/addons/web_kanban/i18n/da.po @@ -8,21 +8,21 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-07-01 08:56+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-15 00:44+0000\n" +"Last-Translator: Casper Madsen of CloudMinds \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-07 05:09+0000\n" -"X-Generator: Launchpad (build 16477)\n" +"X-Launchpad-Export-Date: 2013-02-15 04:49+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/js/kanban.js:704 #, python-format msgid "Edit column" -msgstr "" +msgstr "Rediger kolonne" #. module: web_kanban #. openerp-web @@ -30,6 +30,7 @@ msgstr "" #, python-format msgid "An error has occured while moving the record to this group." msgstr "" +"En fejl er opstรฅet i forbindelse med flytningen af posten til denne gruppe." #. module: web_kanban #. openerp-web @@ -43,42 +44,42 @@ msgstr "Kanban" #: code:addons/web_kanban/static/src/js/kanban.js:557 #, python-format msgid "Undefined" -msgstr "Ikke defineret" +msgstr "Udefineret" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/js/kanban.js:723 #, python-format msgid "Are you sure to remove this column ?" -msgstr "" +msgstr "Er du sikker pรฅ at du vil fjerne denne kolonne?" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/xml/web_kanban.xml:42 #, python-format msgid "Edit" -msgstr "" +msgstr "Redigรฉr" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/js/kanban.js:190 #, python-format msgid "Add column" -msgstr "" +msgstr "Tilfรธj kolonne" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/js/kanban.js:1100 #, python-format msgid "Create: " -msgstr "" +msgstr "Opret: " #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/xml/web_kanban.xml:24 #, python-format msgid "Add a new column" -msgstr "" +msgstr "Tilfรธj en ny kolonne" #. module: web_kanban #. openerp-web @@ -86,14 +87,14 @@ msgstr "" #: code:addons/web_kanban/static/src/xml/web_kanban.xml:40 #, python-format msgid "Fold" -msgstr "" +msgstr "Fold" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/xml/web_kanban.xml:91 #, python-format msgid "Add" -msgstr "" +msgstr "Tilfรธj" #. module: web_kanban #. openerp-web @@ -114,7 +115,7 @@ msgstr "Er du sikker pรฅ at du vil slette denne post?" #: code:addons/web_kanban/static/src/js/kanban.js:694 #, python-format msgid "Unfold" -msgstr "" +msgstr "Fold ud" #. module: web_kanban #. openerp-web @@ -128,7 +129,7 @@ msgstr "Vis mere ... (" #: code:addons/web_kanban/static/src/xml/web_kanban.xml:92 #, python-format msgid "Cancel" -msgstr "" +msgstr "Annullรฉr" #. module: web_kanban #. openerp-web @@ -143,21 +144,21 @@ msgstr "tilbagevรฆrende)" #: code:addons/web_kanban/static/src/xml/web_kanban.xml:91 #, python-format msgid "or" -msgstr "" +msgstr "eller" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/xml/web_kanban.xml:51 #, python-format msgid "99+" -msgstr "" +msgstr "99+" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/xml/web_kanban.xml:43 #, python-format msgid "Delete" -msgstr "" +msgstr "Slet" #~ msgid "Create" #~ msgstr "Opret" From f9659eb88459bb272b87e218fff1113a1a37d3e2 Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Fri, 15 Feb 2013 05:23:29 +0000 Subject: [PATCH 111/222] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20130215052329-m0wj2gx9s832tmul --- openerp/addons/base/i18n/da.po | 34 +++++++++++++++++++++++++++------- openerp/addons/base/i18n/nl.po | 12 ++++++------ 2 files changed, 33 insertions(+), 13 deletions(-) diff --git a/openerp/addons/base/i18n/da.po b/openerp/addons/base/i18n/da.po index 36a601c1785..fd9960f0e8b 100644 --- a/openerp/addons/base/i18n/da.po +++ b/openerp/addons/base/i18n/da.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openobject-server\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:04+0000\n" -"PO-Revision-Date: 2013-02-11 14:29+0000\n" +"PO-Revision-Date: 2013-02-15 02:15+0000\n" "Last-Translator: Casper Madsen of CloudMinds \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-12 05:28+0000\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" "X-Generator: Launchpad (build 16491)\n" #. module: base @@ -25,6 +25,10 @@ msgid "" "================================================\n" " " msgstr "" +"\n" +"Modul for check-skrivning og -udprint.\n" +"================================================\n" +" " #. module: base #: model:res.country,name:base.sh @@ -48,6 +52,8 @@ msgid "" "The second argument of the many2many field %s must be a SQL table !You used " "%s, which is not a valid SQL table name." msgstr "" +"Det andet argument i many2many-feltet %s skal vรฆre en SQL-tabel. !Du brugte " +"%s, som ikke er et gyldigt tabelnavn." #. module: base #: field:ir.ui.view,arch:0 @@ -73,7 +79,7 @@ msgstr "Ungarsk / Magyar" #. module: base #: selection:base.language.install,lang:0 msgid "Spanish (PY) / Espaรฑol (PY)" -msgstr "Spansk (PY) / Espaรฑol (PY)" +msgstr "Spanish (PY) / Spansk (PY)" #. module: base #: model:ir.module.category,description:base.module_category_project_management @@ -87,7 +93,7 @@ msgstr "" #. module: base #: model:ir.module.module,summary:base.module_point_of_sale msgid "Touchscreen Interface for Shops" -msgstr "" +msgstr "Touchscreen-grรฆnseflade for butikker" #. module: base #: model:ir.module.module,shortdesc:base.module_l10n_in_hr_payroll @@ -103,7 +109,7 @@ msgstr "" #. module: base #: view:ir.module.module:0 msgid "Created Views" -msgstr "" +msgstr "Oprettede visninger" #. module: base #: model:ir.module.module,description:base.module_product_manufacturer @@ -120,11 +126,22 @@ msgid "" " * Product Attributes\n" " " msgstr "" +"\n" +"Et modul som tilfรธjer producenterne og attributter pรฅ produkt formularen.\n" +"====================================================================\n" +"\n" +"Du kan nu definere fรธlgende for et produkt:\n" +"-----------------------------------------------\n" +" * Producent\n" +" * Producentens produktnavn\n" +" * Producentens produktkode\n" +" * Produktattributter\n" +" " #. module: base #: field:ir.actions.client,params:0 msgid "Supplementary arguments" -msgstr "" +msgstr "Supplerende argumenter" #. module: base #: model:ir.module.module,description:base.module_google_base_account @@ -133,11 +150,14 @@ msgid "" "The module adds google user in res user.\n" "========================================\n" msgstr "" +"\n" +"Modulet tilfรธjer google user i res user.\n" +"========================================\n" #. module: base #: help:res.partner,employee:0 msgid "Check this box if this contact is an Employee." -msgstr "" +msgstr "Afkryds denne boks hvis kontakten er en medarbejder." #. module: base #: help:ir.model.fields,domain:0 diff --git a/openerp/addons/base/i18n/nl.po b/openerp/addons/base/i18n/nl.po index 4ef2a774fce..f2587dfedba 100644 --- a/openerp/addons/base/i18n/nl.po +++ b/openerp/addons/base/i18n/nl.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openobject-server\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:04+0000\n" -"PO-Revision-Date: 2013-02-11 14:19+0000\n" +"PO-Revision-Date: 2013-02-14 10:51+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-12 05:29+0000\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" "X-Generator: Launchpad (build 16491)\n" #. module: base @@ -6590,7 +6590,7 @@ msgstr "Toename nummer mag niet nul zijn." #. module: base #: model:ir.module.module,shortdesc:base.module_account_cancel msgid "Cancel Journal Entries" -msgstr "Annuleer journaalposten" +msgstr "Annuleer boekingen" #. module: base #: field:res.partner,tz_offset:0 @@ -6694,7 +6694,7 @@ msgid "" "the user will be able to manage his own human resources stuff (leave " "request, timesheets, ...), if he is linked to an employee in the system." msgstr "" -"de gebruiker heeft de mogelijkheid om zijn eigen personeelsbeheer zaken te " +"De gebruiker heeft de mogelijkheid om zijn eigen personeelsbeheer zaken te " "beheren (verlofaanvragen, urenstaten, etc.) als hij is gekoppeld aan een " "werknemer in het systeem." @@ -7233,7 +7233,7 @@ msgstr "" #: model:res.groups,comment:base.group_hr_user msgid "the user will be able to approve document created by employees." msgstr "" -"de gebruiker heeft de mogelijkheid om documenten goed te keuren welke zijn " +"De gebruiker heeft de mogelijkheid om documenten goed te keuren welke zijn " "gemaakt door werknemers." #. module: base @@ -14734,7 +14734,7 @@ msgstr "Geplande acties uitvoeren" #. module: base #: model:ir.module.module,shortdesc:base.module_sale_journal msgid "Invoicing Journals" -msgstr "Factuur journaalposten" +msgstr "Factureren boekingen" #. module: base #: help:ir.ui.view,groups_id:0 From 31f73fef994b0c787ca2902db3de2ff9c83401cb Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Fri, 15 Feb 2013 05:24:30 +0000 Subject: [PATCH 112/222] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20130215052430-80s9f9m1p1xvy6f1 --- addons/account/i18n/es_MX.po | 2 +- addons/account/i18n/mn.po | 98 ++++++------ addons/account/i18n/nl.po | 187 ++++++++++------------ addons/account_analytic_plans/i18n/nl.po | 10 +- addons/account_asset/i18n/nl.po | 8 +- addons/account_followup/i18n/nl.po | 12 +- addons/account_payment/i18n/nl.po | 10 +- addons/account_sequence/i18n/nl.po | 16 +- addons/account_test/i18n/nl.po | 24 ++- addons/account_voucher/i18n/nl.po | 26 +-- addons/account_voucher/i18n/tr.po | 7 +- addons/analytic/i18n/nl.po | 6 +- addons/base_import/i18n/nl.po | 65 +++++++- addons/crm/i18n/tr.po | 24 +-- addons/fleet/i18n/mn.po | 30 ++-- addons/hr_expense/i18n/mn.po | 29 ++-- addons/hr_payroll/i18n/nl.po | 8 +- addons/hr_timesheet_invoice/i18n/nl.po | 8 +- addons/hr_timesheet_invoice/i18n/tr.po | 12 +- addons/l10n_multilang/i18n/hu.po | 174 ++++++++++++++++++++ addons/point_of_sale/i18n/nl.po | 8 +- addons/portal/i18n/hu.po | 195 ++++++++++++++++------- addons/product_expiry/i18n/sl.po | 50 +++--- addons/product_manufacturer/i18n/sl.po | 20 +-- addons/product_margin/i18n/sl.po | 40 ++--- addons/project/i18n/mn.po | 83 ++++++---- addons/project_gtd/i18n/mn.po | 18 +-- addons/project_issue_sheet/i18n/mn.po | 10 +- addons/project_long_term/i18n/mn.po | 36 +++-- addons/project_mrp/i18n/mn.po | 28 ++-- addons/project_timesheet/i18n/mn.po | 14 +- addons/purchase/i18n/mn.po | 17 +- addons/purchase/i18n/nl.po | 6 +- addons/purchase/i18n/ro.po | 10 +- addons/purchase/i18n/sl.po | 29 ++-- addons/purchase_requisition/i18n/ro.po | 62 ++++--- addons/report_webkit/i18n/ro.po | 37 +++-- addons/sale/i18n/mn.po | 36 +++-- addons/sale_crm/i18n/ro.po | 38 ++--- addons/sale_stock/i18n/mn.po | 10 +- addons/sale_stock/i18n/nl.po | 8 +- addons/sale_stock/i18n/ro.po | 94 +++++++---- addons/sale_stock/i18n/tr.po | 17 +- addons/share/i18n/ro.po | 77 +++++---- addons/stock/i18n/mn.po | 10 +- addons/stock/i18n/nl.po | 24 +-- addons/survey/i18n/ro.po | 25 +-- 47 files changed, 1105 insertions(+), 653 deletions(-) create mode 100644 addons/l10n_multilang/i18n/hu.po diff --git a/addons/account/i18n/es_MX.po b/addons/account/i18n/es_MX.po index f425cc9a8ba..347783d2b14 100644 --- a/addons/account/i18n/es_MX.po +++ b/addons/account/i18n/es_MX.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-14 05:36+0000\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" "X-Generator: Launchpad (build 16491)\n" #. module: account diff --git a/addons/account/i18n/mn.po b/addons/account/i18n/mn.po index fcde26ed560..83715eaf153 100644 --- a/addons/account/i18n/mn.po +++ b/addons/account/i18n/mn.po @@ -8,13 +8,13 @@ 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-02-13 10:27+0000\n" +"PO-Revision-Date: 2013-02-14 11:30+0000\n" "Last-Translator: gobi \n" "Language-Team: Mongolian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-14 05:36+0000\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" "X-Generator: Launchpad (build 16491)\n" #. module: account @@ -221,9 +221,9 @@ msgid "" "invoice) to create analytic entries, OpenERP will look for a matching " "journal of the same type." msgstr "" -"ะะฝะฐะปะธั‚ะธะบ ะถัƒั€ะฝะฐะปั‹ะฝ ั‚ำฉั€ะปะธะนะณ ัะพะฝะณะพะฝะพ ัƒัƒ. ะญะฝั ะฝัŒ ะฐะฝะฐะปะธั‚ะธะบ ะถัƒั€ะฝะฐะปั‹ะฝ ะฑะธั‡ะธะปั‚ าฏาฏัะณัั… " -"าฏะตะด ั…ัั€ัะณะปัะณะดัะฝั. ะ–ะธัˆัั ะฝัŒ ะฝัั…ัะผะถะปัะป ะดััั€ ะฐะฝะฐะปะธั‚ะธะบ ะถัƒั€ะฝะฐะป ัะพะฝะณะพั… าฏะตะด ะทำฉะฒั…ำฉะฝ " -"ะธะถะธะป ั‚ำฉั€ะปะธะนะฝ ะถัƒั€ะฝะฐะปัƒัƒะดะฐะฐั ัะพะฝะณะพั… ะฑะพะปะพะผะถั‚ะพะน." +"ะจะธะฝะถะธะปะณััะฝะธะน ะถัƒั€ะฝะฐะปั‹ะฝ ั‚ำฉั€ะปะธะนะณ ัะพะฝะณะพะฝะพ ัƒัƒ. ะญะฝั ะฝัŒ ัˆะธะฝะถะธะปะณััะฝะธะน ะถัƒั€ะฝะฐะปั‹ะฝ " +"ะฑะธั‡ะธะปั‚ าฏาฏัะณัั… าฏะตะด ั…ัั€ัะณะปัะณะดัะฝั. ะ–ะธัˆัั ะฝัŒ ะฝัั…ัะผะถะปัะป ะดััั€ ัˆะธะฝะถะธะปะณััะฝะธะน ะถัƒั€ะฝะฐะป " +"ัะพะฝะณะพั… าฏะตะด ะทำฉะฒั…ำฉะฝ ะธะถะธะป ั‚ำฉั€ะปะธะนะฝ ะถัƒั€ะฝะฐะปัƒัƒะดะฐะฐั ัะพะฝะณะพั… ะฑะพะปะพะผะถั‚ะพะน." #. module: account #: help:account.tax,account_analytic_collected_id:0 @@ -341,7 +341,7 @@ msgid "" "Installs localized accounting charts to match as closely as possible the " "accounting needs of your company based on your country." msgstr "" -"ะขัƒั…ะฐะนะฝ ะพั€ะพะฝ ะฝัƒั‚ะณั‹ะฝ ะดะฐะฝัะฝั‹ ะผะพะดั‹ะณ ั‚ะฐะฝะฐะน ะฑะฐะนะณัƒัƒะปะฐะณะฐะด ั‚ะพั…ะธั€ะพั… ั…ัƒะฒะธะปะฑะฐั€ะฐะฐั€ " +"ะขัƒั…ะฐะนะฝ ะพั€ะพะฝ ะฝัƒั‚ะณั‹ะฝ ะดะฐะฝัะฝั‹ ั‚ำฉะปำฉะฒะปำฉะณำฉำฉะณ ั‚ะฐะฝะฐะน ะฑะฐะนะณัƒัƒะปะฐะณะฐะด ั‚ะพั…ะธั€ะพั… ั…ัƒะฒะธะปะฑะฐั€ะฐะฐั€ " "ััƒัƒะปะณะฐั… ะฑะพะปะพะผะถั‚ะพะน." #. module: account @@ -380,7 +380,7 @@ msgstr "ะžะปะพะฝ ั‚ำฉั€ะปะธะนะฝ ะฒะฐะปัŽั‚ ะฐัˆะธะณะปะฐั…" #: code:addons/account/account_invoice.py:73 #, python-format msgid "You must define an analytic journal of type '%s'!" -msgstr "ะขะฐ '%s' ั‚ำฉั€ะปะธะนะฝ ะฐะฝะฐะปะธั‚ะธะบ ะถัƒั€ะฝะฐะป ั‚ะพะดะพั€ั…ะพะนะปะพั… ัˆะฐะฐั€ะดะปะฐะณะฐั‚ะฐะน!" +msgstr "ะขะฐ '%s' ั‚ำฉั€ะปะธะนะฝ ัˆะธะฝะถะธะปะณััะฝะธะน ะถัƒั€ะฝะฐะป ั‚ะพะดะพั€ั…ะพะนะปะพั… ัˆะฐะฐั€ะดะปะฐะณะฐั‚ะฐะน!" #. module: account #: selection:account.entries.report,month:0 @@ -400,7 +400,7 @@ msgstr "ั‚ัƒะปะณะฐั… ะดะฐะฝัะฝัƒัƒะดั‹ะณ ัะพะฝะณะพั… ั…ัั€ัะณั‚ัะน." #. module: account #: help:account.config.settings,group_analytic_accounting:0 msgid "Allows you to use the analytic accounting." -msgstr "ะขะฐ ะฐะฝะฐะปะธั‚ะธะบ ะดะฐะฝั ั…ัั€ัะณะปัั…ะธะนะณ ะทำฉะฒัˆำฉำฉั€ำฉั…." +msgstr "ะขะฐ ัˆะธะฝะถะธะปะณััะฝะธะน ะดะฐะฝั ั…ัั€ัะณะปัั…ะธะนะณ ะทำฉะฒัˆำฉำฉั€ำฉั…." #. module: account #: view:account.invoice:0 @@ -492,7 +492,7 @@ msgstr "ะฅัƒะณะฐั†ะฐะฐ" #: field:account.tax.template,chart_template_id:0 #: field:wizard.multi.charts.accounts,chart_template_id:0 msgid "Chart Template" -msgstr "ะ—ะฐะณะฒะฐั€ ะดะฐะฝัะฝั‹ ะผะพะด" +msgstr "ะขำฉะปำฉะฒะปำฉะณำฉำฉะฝะธะน าฏะปะณัั€" #. module: account #: selection:account.invoice.refund,filter_refund:0 @@ -878,7 +878,7 @@ msgstr "ะœะพะดะฝัƒัƒะด" #: model:ir.model,name:account.model_project_account_analytic_line #, python-format msgid "Analytic Entries by line" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะฑะธั‡ะธะปั‚ะธะนะฝ ะผำฉั€าฏาฏะด" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะฑะธั‡ะธะปั‚ะธะนะฝ ะผำฉั€าฏาฏะด" #. module: account #: field:account.invoice.refund,filter_refund:0 @@ -947,7 +947,7 @@ msgstr "ะขัƒะปะณะฐะปั‚ั‹ะณ ะฐั€ะธะปะณะฐั…" #. module: account #: model:ir.model,name:account.model_account_analytic_journal_report msgid "Account Analytic Journal" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะดะฐะฝัะฝั‹ ะถัƒั€ะฝะฐะป" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ัะฐะฝั…าฏาฏะณะธะนะฝ ะถัƒั€ะฝะฐะป" #. module: account #: view:account.invoice:0 @@ -1042,7 +1042,7 @@ msgstr "ะฃั‚ะณะฐ" #: model:ir.actions.act_window,name:account.action_tax_code_tree #: model:ir.ui.menu,name:account.menu_action_tax_code_tree msgid "Chart of Taxes" -msgstr "ะขะฐั‚ะฒะฐั€ั‹ะฝ ะผะพะด" +msgstr "ะขะฐั‚ะฒะฐั€ั‹ะฝ ั‚ำฉะปำฉะฒะปำฉะณำฉำฉ" #. module: account #: view:account.fiscalyear:0 @@ -1178,7 +1178,7 @@ msgstr "ะงะฐะฝะฐั€ัƒัƒะด" #: code:addons/account/account_move_line.py:195 #, python-format msgid "No Analytic Journal !" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะถัƒั€ะฝะฐะป ะฐะปะณะฐ !" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะถัƒั€ะฝะฐะป ะฐะปะณะฐ !" #. module: account #: report:account.partner.balance:0 @@ -1658,7 +1658,7 @@ msgstr "ะขะฐั‚ะฒะฐั€ ั…ะฐะนั…" #. module: account #: model:ir.model,name:account.model_account_analytic_cost_ledger msgid "Account Analytic Cost Ledger" -msgstr "ะะฝะฐะปะธั‚ะธะบ ำฉั€ั‚ำฉะณะธะนะฝ ั‚ะฐะนะปะฐะฝ" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ัะฐะฝั…าฏาฏะณะธะนะฝ ำฉั€ั‚ำฉะณะธะนะฝ ั‚ะฐะนะปะฐะฝ" #. module: account #: view:account.model:0 @@ -1898,7 +1898,7 @@ msgstr "ะฑะฐะปะฐะฝั" #: model:process.node,note:account.process_node_analytic0 #: model:process.node,note:account.process_node_analyticcost0 msgid "Analytic costs to invoice" -msgstr "ะัั…ัะผะถะปัะณะดัั… ะฐะฝะฐะปะธั‚ะธะบ ำฉั€ั‚ำฉะณ" +msgstr "ะัั…ัะผะถะปัะณะดัั… ัˆะธะฝะถะธะปะณััะฝะธะน ำฉั€ั‚ำฉะณ" #. module: account #: view:ir.sequence:0 @@ -2060,7 +2060,7 @@ msgstr "ะ‘าฏั… ั…ะฐั€ะธั†ะปะฐะณั‡" #. module: account #: view:account.analytic.chart:0 msgid "Analytic Account Charts" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะดะฐะฝัะฝั‹ ั‚ำฉะปำฉะฒะปำฉะณำฉำฉ" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะดะฐะฝัะฝั‹ ั‚ำฉะปำฉะฒะปำฉะณำฉำฉ" #. module: account #: report:account.overdue:0 @@ -2314,7 +2314,7 @@ msgstr "ะ‘ะพั€ะปัƒัƒะปะฐะปั‚/ะฅัƒะดะฐะปะดะฐะฝ ะะฒะฐะปั‚ั‹ะฝ ะ–ัƒั€ะฝะฐะป" #: view:account.analytic.account:0 #: field:account.invoice.tax,account_analytic_id:0 msgid "Analytic account" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะดะฐะฝั" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะดะฐะฝั" #. module: account #: code:addons/account/account_bank_statement.py:405 @@ -2457,7 +2457,7 @@ msgstr "" #. module: account #: view:account.analytic.line:0 msgid "Analytic Journal Items related to a sale journal." -msgstr "ะ‘ะพั€ะปัƒัƒะปะฐะปั‚ั‹ะฝ ะถัƒั€ะฝะฐะปะด ั…ะพะปะฑะพะณะดะพั… ะฐะฝะฐะปะธั‚ะธะบ ะถัƒั€ะฝะฐะปั‹ะฝ ะฑะธั‡ะธะปั‚าฏาฏะด." +msgstr "ะ‘ะพั€ะปัƒัƒะปะฐะปั‚ั‹ะฝ ะถัƒั€ะฝะฐะปะด ั…ะพะปะฑะพะณะดะพั… ัˆะธะฝะถะธะปะณััะฝะธะน ะถัƒั€ะฝะฐะปั‹ะฝ ะฑะธั‡ะธะปั‚าฏาฏะด." #. module: account #: selection:account.financial.report,style_overwrite:0 @@ -2545,7 +2545,7 @@ msgstr "ะญะฝั ะถะธะป" #. module: account #: view:account.tax.chart:0 msgid "Account tax charts" -msgstr "ะขะฐั‚ะฒะฐั€ั‹ะฝ ะผะพะด" +msgstr "ะขะฐั‚ะฒะฐั€ั‹ะฝ ั‚ำฉะปำฉะฒะปำฉะณำฉำฉ" #. module: account #: model:account.payment.term,name:account.account_payment_term_net @@ -3007,7 +3007,7 @@ msgstr "ะขะฐั‚ะฒะฐั€" #: field:account.move.line,analytic_account_id:0 #: field:account.move.line.reconcile.writeoff,analytic_id:0 msgid "Analytic Account" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะดะฐะฝั" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะ”ะฐะฝั" #. module: account #: field:account.config.settings,default_purchase_tax:0 @@ -3288,7 +3288,7 @@ msgstr "ะ‘ะพั€ะปัƒัƒะปะฐะปั‚ั‹ะฝ ะ–ัƒั€ะฝะฐะป" #: code:addons/account/account_move_line.py:195 #, python-format msgid "You have to define an analytic journal on the '%s' journal!" -msgstr "'%s' ะถัƒั€ะฝะฐะปะด ะฐะฝะฐะปะธั‚ะธะบ ะถัƒั€ะฝะฐะป ั‚ะพะดะพั€ั…ะพะนะปะพะณะดะพะพะณาฏะน ะฑะฐะนะฝะฐ!" +msgstr "'%s' ะถัƒั€ะฝะฐะปะด ัˆะธะฝะถะธะปะณััะฝะธะน ะถัƒั€ะฝะฐะป ั‚ะพะดะพั€ั…ะพะนะปะพะณะดะพะพะณาฏะน ะฑะฐะนะฝะฐ!" #. module: account #: code:addons/account/account.py:781 @@ -3626,7 +3626,7 @@ msgstr "BNK" #. module: account #: field:account.move.line,analytic_lines:0 msgid "Analytic lines" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะฑะธั‡ะธะปั‚" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะฑะธั‡ะธะปั‚" #. module: account #: view:account.invoice:0 @@ -4078,7 +4078,7 @@ msgstr "ะัั…ัะผะถะปัะปะด ั‚ัƒัะณะฐะณะดะฐั…ะณาฏะน" #: report:account.vat.declaration:0 #: field:account.vat.declaration,chart_tax_id:0 msgid "Chart of Tax" -msgstr "ะขะฐั‚ะฒะฐั€ั‹ะฝ ะผะพะด" +msgstr "ะขะฐั‚ะฒะฐั€ั‹ะฝ ั‚ำฉะปำฉะฒะปำฉะณำฉำฉ" #. module: account #: view:account.journal:0 @@ -4492,7 +4492,7 @@ msgstr "" #. module: account #: view:account.analytic.line:0 msgid "Search Analytic Lines" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะฑะธั‡ะธะปั‚ ั…ะฐะนั…" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะฑะธั‡ะธะปั‚ ั…ะฐะนั…" #. module: account #: field:res.partner,property_account_payable:0 @@ -4603,7 +4603,7 @@ msgstr "ะ—ัƒั€ะฒะฐั ะฑะพะปะพะฝ ั…ะฐั€ะธะปั†ัะฐะฝ ั‚าฏาฏั…" #. module: account #: help:account.journal,analytic_journal_id:0 msgid "Journal for analytic entries" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะฑะธั‡ะธะปั‚ ั…ะธะนั… ะถัƒั€ะฝะฐะป" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะฑะธั‡ะธะปั‚ ั…ะธะนั… ะถัƒั€ะฝะฐะป" #. module: account #: constraint:account.aged.trial.balance:0 @@ -4791,7 +4791,7 @@ msgstr "ะกะฐั€ั‹ะฝ ั‚ำฉะณำฉัะณำฉะป 30 ำฉะดำฉั€" #: model:ir.actions.act_window,name:account.action_account_analytic_balance #: model:ir.actions.report.xml,name:account.account_analytic_account_balance msgid "Analytic Balance" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะฑะฐะปะฐะฝั" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะฑะฐะปะฐะฝั" #. module: account #: help:res.partner,property_payment_term:0 @@ -5349,7 +5349,7 @@ msgstr "ะะถะธะป ะณาฏะนะปะณัั าฏาฏัะณัั…" #. module: account #: help:account.vat.declaration,chart_tax_id:0 msgid "Select Charts of Taxes" -msgstr "ะขะฐั‚ะฒะฐั€ั‹ะฝ ะผะพะด ัะพะฝะณะพ" +msgstr "ะขะฐั‚ะฒะฐั€ั‹ะฝ ั‚ำฉะปำฉะฒะปำฉะณำฉำฉะณำฉำฉ ัะพะฝะณะพ" #. module: account #: view:account.fiscal.position:0 @@ -5734,7 +5734,7 @@ msgstr "" #. module: account #: report:account.analytic.account.balance:0 msgid "Analytic Balance -" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะฑะฐะปะฐะฝั -" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะฑะฐะปะฐะฝั -" #. module: account #: report:account.account.balance:0 @@ -6143,7 +6143,7 @@ msgstr "ะััะปั‚ั‚ัะน" #: view:account.config.settings:0 #: model:ir.ui.menu,name:account.menu_analytic_accounting msgid "Analytic Accounting" -msgstr "ะะฝะฐะปะธั‚ะธะบ ัะฐะฝั…าฏาฏ" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ัะฐะฝั…าฏาฏ" #. module: account #: help:account.payment.term.line,value:0 @@ -6264,7 +6264,7 @@ msgstr "ะšะฐััั‹ะฝ ะััะปั‚ะธะนะฝ ะœำฉั€าฏาฏะด" #: model:ir.actions.act_window,name:account.action_account_analytic_account_form #: model:ir.ui.menu,name:account.account_analytic_def_account msgid "Analytic Accounts" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะดะฐะฝั" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะดะฐะฝั" #. module: account #: view:account.invoice.report:0 @@ -6746,7 +6746,7 @@ msgstr "ะกะฐะฝั…าฏาฏะณะธะนะฝ ะถะธะปะธะนะฝ ั…ะฐั€ะณะฐะปะทัƒัƒะปะฐะปั‚ั‹ะฝ ั‚ะฐะน #: model:ir.actions.act_window,name:account.action_analytic_entries_report #: model:ir.ui.menu,name:account.menu_action_analytic_entries_report msgid "Analytic Entries Analysis" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะณาฏะนะปะณัั ัˆะธะฝะถะธะปะณัั" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะณาฏะนะปะณััะฝะธะน ัˆะธะฝะถะธะปะณัั" #. module: account #: selection:account.aged.trial.balance,direction_selection:0 @@ -6763,7 +6763,7 @@ msgstr "ะญะฝั ะฑะฐะฝะบะฝั‹ ะดะฐะฝัั‹ะณ ั…ะฐะดะณะฐะปะฐั…ะฐะด ะถัƒั€ะฝะฐะป ะฐะฒ #. module: account #: view:account.analytic.line:0 msgid "Analytic Entry" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะฑะธั‡ะธะปั‚" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะฑะธั‡ะธะปั‚" #. module: account #: view:res.company:0 @@ -6805,7 +6805,7 @@ msgstr "ะกาฏาฏะปะด ะขัƒะปะณะฐะปั‚ ั…ะธะนััะฝ ะพะณะฝะพะพ" #: view:account.analytic.line:0 #: model:ir.model,name:account.model_account_analytic_line msgid "Analytic Line" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะฑะธั‡ะธะปั‚" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะผำฉั€" #. module: account #: model:ir.ui.menu,name:account.menu_action_model_form @@ -7074,7 +7074,7 @@ msgstr "ะฅัั€ัะณะปัะณะดััะณาฏะน ะถัƒั€ะฝะฐะปั‹ะฝ ะบะพะดั‹ะณ าฏาฏัะณัะถ ั‡ #. module: account #: view:project.account.analytic.line:0 msgid "View Account Analytic Lines" -msgstr "ะ”ะฐะฝัะฝั‹ ะฐะฝะฐะปะธั‚ะธะบ ะฑะธั‡ะธะปั‚ ั…ะฐั€ะฐั…" +msgstr "ะ”ะฐะฝัะฝั‹ ัˆะธะฝะถะธะปะณััะฝะธะน ะผำฉั€าฏาฏะด ั…ะฐั€ะฐั…" #. module: account #: field:account.invoice,internal_number:0 @@ -7105,7 +7105,7 @@ msgstr "ะขัƒะปะณะฐะปั‚: ะ”ะฐั€ะฐะฐะณะธะนะฝ ั…ะฐั€ะธะปั†ะฐะณั‡ ั€ัƒัƒ ะพั‡ะธั…" #: model:ir.actions.act_window,name:account.action_account_analytic_invert_balance #: model:ir.actions.report.xml,name:account.account_analytic_account_inverted_balance msgid "Inverted Analytic Balance" -msgstr "ะฃั€ะฒัƒัƒ ะฐะฝะฐะปะธั‚ะธะบ ะฑะฐะปะฐะฝั" +msgstr "ะฃั€ะฒัƒัƒ ัˆะธะฝะถะธะปะณััะฝะธะน ะฑะฐะปะฐะฝั" #. module: account #: field:account.tax.template,applicable_type:0 @@ -7174,7 +7174,7 @@ msgstr "ะฅำฉั€ะฒำฉะปั‚" #: model:ir.actions.act_window,name:account.action_account_analytic_journal_open_form #: model:ir.ui.menu,name:account.account_analytic_journal_entries msgid "Analytic Journal Items" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะถัƒั€ะฝะฐะปั‹ะฝ ะฑะธั‡ะธะปั‚" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะถัƒั€ะฝะฐะปั‹ะฝ ะฑะธั‡ะธะปั‚" #. module: account #: field:account.config.settings,has_default_company:0 @@ -7314,7 +7314,7 @@ msgstr "account.sequence.fiscalyear" #: model:ir.model,name:account.model_account_analytic_journal #: model:ir.ui.menu,name:account.account_analytic_journal_print msgid "Analytic Journal" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะถัƒั€ะฝะฐะป" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะถัƒั€ะฝะฐะป" #. module: account #: view:account.entries.report:0 @@ -7374,7 +7374,7 @@ msgstr "ะขัะผะดัะณะปัะป" #. module: account #: model:ir.model,name:account.model_analytic_entries_report msgid "Analytic Entries Statistics" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะฑะธั‡ะธะปั‚ ัั‚ะฐั‚ะธัั‚ะธะบ" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะฑะธั‡ะธะปั‚ะธะนะฝ ัั‚ะฐั‚ะธัั‚ะธะบ" #. module: account #: code:addons/account/account_analytic_line.py:142 @@ -7697,7 +7697,7 @@ msgstr "ะัะผัะปั‚ ะขะฐะปะฑะฐั€ัƒัƒะด" #. module: account #: model:ir.model,name:account.model_account_tax_chart msgid "Account tax chart" -msgstr "ะ”ะฐะฝัะฝั‹ ะขะฐั‚ะฒะฐั€ั‹ะฝ ะœะพะด" +msgstr "ะ”ะฐะฝัะฝั‹ ะขะฐั‚ะฒะฐั€ั‹ะฝ ะขำฉะปำฉะฒะปำฉะณำฉำฉ" #. module: account #: report:account.analytic.account.cost_ledger:0 @@ -7888,7 +7888,7 @@ msgstr "ะกะฐั€ั‹ะฝ ัั€ะณัั†" #: view:account.move:0 #: view:account.move.line:0 msgid "Analytic Lines" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะฑะธั‡ะธะปั‚" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะผำฉั€าฏาฏะด" #. module: account #: field:account.analytic.journal,line_ids:0 @@ -7991,7 +7991,7 @@ msgstr "ะ‘ะฐะปะฐะฝั ะฑะฐั€ะธะฐะณาฏะน ะถัƒั€ะฝะฐะปั‹ะฝ ะฑะธั‡ะธะปั‚" #. module: account #: model:ir.actions.act_window,name:account.open_account_charts_modules msgid "Chart Templates" -msgstr "ะ—ะฐะณะฒะฐั€ ะดะฐะฝัะฝั‹ ะผะพะด" +msgstr "ะขำฉะปำฉะฒะปำฉะณำฉำฉะฝะธะน าฏะปะณัั€" #. module: account #: field:account.journal.period,icon:0 @@ -8768,7 +8768,7 @@ msgstr "" #. module: account #: report:account.analytic.account.inverted.balance:0 msgid "Inverted Analytic Balance -" -msgstr "ะฃั€ะฒัƒัƒ ะฐะฝะฐะปะธั‚ะธะบ ะฑะฐะปะฐะฝั -" +msgstr "ะฃั€ะฒัƒัƒ ัˆะธะฝะถะธะปะณััะฝะธะน ะฑะฐะปะฐะฝั -" #. module: account #: help:account.move.reconcile,opening_reconciliation:0 @@ -8780,7 +8780,7 @@ msgstr "" #: view:account.analytic.line:0 #: model:ir.actions.act_window,name:account.action_account_analytic_line_form msgid "Analytic Entries" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะฑะธั‡ะธะปั‚" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะฑะธั‡ะธะปั‚" #. module: account #: view:account.analytic.account:0 @@ -9072,7 +9072,7 @@ msgstr "ะฅัััะณั‡ะปัะฝ ะขัƒะปะณะฐั…" #. module: account #: model:ir.model,name:account.model_account_analytic_inverted_balance msgid "Account Analytic Inverted Balance" -msgstr "ะ”ะฐะฝัะฝั‹ ัƒั€ะฒัƒัƒ ะฐะฝะฐะปะธั‚ะธะบ ะฑะฐะปะฐะฝั" +msgstr "ะ”ะฐะฝัะฝั‹ ัƒั€ะฒัƒัƒ ัˆะธะฝะถะธะปะณััะฝะธะน ะฑะฐะปะฐะฝั" #. module: account #: model:ir.model,name:account.model_account_common_report @@ -9380,7 +9380,7 @@ msgstr "ะ‘ะพั€ะปัƒัƒะปะฐะปั‚ั‹ะฝ ะขะฐั‚ะฒะฐั€ (%)" #: model:ir.actions.act_window,name:account.action_account_analytic_chart #: model:ir.ui.menu,name:account.menu_action_analytic_account_tree2 msgid "Chart of Analytic Accounts" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะดะฐะฝัะฝั‹ ะผะพะด" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะดะฐะฝัะฝั‹ ั‚ำฉะปำฉะฒะปำฉะณำฉำฉ" #. module: account #: model:ir.actions.act_window,help:account.action_subscription_form @@ -9414,7 +9414,7 @@ msgstr "ะญะฝั ะฝะธะนะปาฏาฏะปัะณั‡ะธะด ำฉะณำฉั… ะฝะธะนั‚ ำฉะณะปำฉะณะธะนะฝ ะดาฏ #: model:process.node,name:account.process_node_analytic0 #: model:process.node,name:account.process_node_analyticcost0 msgid "Analytic Costs" -msgstr "ะะฝะฐะปะธั‚ะธะบ ำฉั€ั‚ำฉะณ" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ำฉั€ั‚ำฉะณ" #. module: account #: field:account.analytic.journal,name:0 @@ -9745,7 +9745,7 @@ msgstr "ะ‘ะฐั€ะฐะฐะฝั‹ ะผัะดััะปัะป" #: view:account.move.line:0 #: model:ir.ui.menu,name:account.next_id_40 msgid "Analytic" -msgstr "ะะฝะฐะปะธั‚ะธะบ" +msgstr "ะจะธะฝะถะธะปะณัั" #. module: account #: model:process.node,name:account.process_node_invoiceinvoice0 @@ -10187,7 +10187,7 @@ msgstr "ะทะฐั…ะธะฐะปะณะฐ" #. module: account #: model:ir.model,name:account.model_account_analytic_balance msgid "Account Analytic Balance" -msgstr "ะ”ะฐะฝัะฝั‹ ะฐะฝะฐะปะธั‚ะธะบ ะฑะฐะปะฐะฝั" +msgstr "ะ”ะฐะฝัะฝั‹ ัˆะธะฝะถะธะปะณััะฝะธะน ะฑะฐะปะฐะฝั" #. module: account #: report:account.account.balance:0 @@ -11172,7 +11172,7 @@ msgstr "ะ”ะฐะฝัะฝั‹ ั‚ำฉั€ะปำฉำฉั€" #. module: account #: model:ir.model,name:account.model_account_analytic_chart msgid "Account Analytic Chart" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะดะฐะฝัะฝั‹ ะผะพะด" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะดะฐะฝัะฝั‹ ั‚ำฉะปำฉะฒะปำฉะณำฉำฉ" #. module: account #: help:account.invoice,residual:0 diff --git a/addons/account/i18n/nl.po b/addons/account/i18n/nl.po index 754c26aad1c..b720e66fbf1 100644 --- a/addons/account/i18n/nl.po +++ b/addons/account/i18n/nl.po @@ -8,13 +8,13 @@ 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-02-11 14:46+0000\n" +"PO-Revision-Date: 2013-02-14 15:34+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-12 05:29+0000\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" "X-Generator: Launchpad (build 16491)\n" #. module: account @@ -42,14 +42,14 @@ msgstr "" #. module: account #: view:account.move.reconcile:0 msgid "Journal Entry Reconcile" -msgstr "Journaalpost afletteren" +msgstr "Boekingen afletteren" #. module: account #: view:account.account:0 #: view:account.bank.statement:0 #: view:account.move.line:0 msgid "Account Statistics" -msgstr "Rekeningstatistieken" +msgstr "Rekening analyses" #. module: account #: view:account.invoice:0 @@ -65,7 +65,7 @@ msgstr "Resterend" #: code:addons/account/account_bank_statement.py:368 #, python-format msgid "Journal item \"%s\" is not valid." -msgstr "Journaalpost \"%s\" is niet geldig." +msgstr "Boeking \"%s\" is niet geldig." #. module: account #: model:ir.model,name:account.model_report_aged_receivable @@ -466,12 +466,12 @@ msgid "" " but not accounting (Journal Items, Chart of Accounts, ...)" msgstr "" "Stelt u in staat activa te beheren voor een bedrijf/persoon.\n" -" Het registreert afschrijvingen voor activa, en creรซert " -"journaalposten voor afschrijvingen.\n" +" Het registreert afschrijvingen voor activa, en maakt " +"boekingen voor de afschrijvingen.\n" " Hiermee installeert u de module 'account_asset'. Als u " "dit niet aanvinkt, kunt u wel facturen en betalingen\n" " registreren, maar geen financiรซle administratie voeren " -"(Rekeningschema, Journaalboekingen, ....)" +"(rekeningschema, boekingen, ....)" #. module: account #: help:account.bank.statement.line,name:0 @@ -664,7 +664,7 @@ msgstr "Niets af te letteren" #. module: account #: field:account.config.settings,decimal_precision:0 msgid "Decimal precision on journal entries" -msgstr "Aantal decimalen van journaalposten" +msgstr "Aantal decimalen van de boekingen" #. module: account #: selection:account.config.settings,period:0 @@ -1005,7 +1005,7 @@ msgid "" " " msgstr "" "

    \n" -" Geen journaalposten gevonden.\n" +" Geen boekingen gevonden.\n" "

    \n" " " @@ -1498,7 +1498,7 @@ msgstr "Opgenomen in grondslag" #: model:ir.actions.act_window,name:account.action_account_entries_report_all #: model:ir.ui.menu,name:account.menu_action_account_entries_report_all msgid "Entries Analysis" -msgstr "Journaalpost analyse" +msgstr "Dagboek analyse" #. module: account #: field:account.account,level:0 @@ -1591,7 +1591,7 @@ msgstr "Factuurnummer reeks" #. module: account #: model:ir.model,name:account.model_account_entries_report msgid "Journal Items Analysis" -msgstr "Analyse journaalposten" +msgstr "Dagboek analyse" #. module: account #: model:ir.ui.menu,name:account.next_id_22 @@ -1808,7 +1808,7 @@ msgstr "Bankafschriften zoeken" #. module: account #: view:account.move.line:0 msgid "Unposted Journal Items" -msgstr "Ongeboekte journaalposten" +msgstr "Ongeboekte boekingen" #. module: account #: view:account.chart.template:0 @@ -2294,7 +2294,7 @@ msgstr "Standaard bedrijfsvaluta" #: field:account.invoice,move_name:0 #: field:account.move.line,move_id:0 msgid "Journal Entry" -msgstr "Journaalpost" +msgstr "Boeking" #. module: account #: view:account.invoice:0 @@ -2766,7 +2766,7 @@ msgstr "" #: view:account.move:0 #: model:ir.model,name:account.model_account_move msgid "Account Entry" -msgstr "Journaalpost" +msgstr "Boeking" #. module: account #: field:account.sequence.fiscalyear,sequence_main_id:0 @@ -3245,9 +3245,8 @@ msgid "" "Note that journal entries that are automatically created by the system are " "always skipping that state." msgstr "" -"Vink deze optie aan als u nieuwe journaalposten niet eerst als 'concept' " -"maar meteen als 'geboekt' wilt aanmerken, zonder een handmatige " -"controlestap.\n" +"Vink deze optie aan als u nieuwe boeking niet eerst als 'concept' maar " +"meteen als 'geboekt' wilt aanmerken, zonder een handmatige controlestap.\n" "Merk op dat in het geval van door het systeem aangemaakte journaalposten " "deze stap altijd al wordt overgeslagen." @@ -3865,8 +3864,8 @@ msgid "" "This wizard will validate all journal entries of a particular journal and " "period. Once journal entries are validated, you can not update them anymore." msgstr "" -"Deze assistent valideert alle journaalposten in een bepaald dagboek en " -"periode. Na de validatie kunnen de journaalposten niet meer gewijzigd worden." +"Deze wizard valideert alle boekingen in een bepaald dagboek en periode. Na " +"de validatie kunnen de boekingen niet meer gewijzigd worden." #. module: account #: model:ir.actions.act_window,name:account.action_account_chart_template_form @@ -3898,12 +3897,12 @@ msgid "" "the first day of the new fiscal year." msgstr "" "Stel hier de methode in die gebruikt wordt bij de jaarafsluiting om de " -"journaalposten te genereren voor alle grootboekrekeningen van dit type.\n" -"'Geen': er worden geen journaalposten gegenereerd.\n" +"boekingen te genereren voor alle grootboekrekeningen van dit type.\n" +"'Geen': er worden geen boekingen gegenereerd.\n" "'Saldo': in het algemeen van toepassing op kasrekeningen.\n" -"'Detail': alle bestaande journaalposten van het afgelopen jaar worden " -"meegenomen, inclusief de afgeletterde.\n" -"'Onafgeletterd': alleen journaalposten die op de eerste dag van het nieuwe " +"'Detail': alle bestaande boekingen van het afgelopen jaar worden meegenomen, " +"inclusief de afgeletterde.\n" +"'Onafgeletterd': alleen boekingen die op de eerste dag van het nieuwe " "fiscale jaar nog onafgeletterd waren worden meegenomen." #. module: account @@ -4033,8 +4032,8 @@ msgid "" "You cannot create journal items with a secondary currency without recording " "both 'currency' and 'amount currency' field." msgstr "" -"Het is niet mogelijk om journaalposten aan te maken met een tweede valuta, " -"zonder zowel de valuta a;s het valutabedrag in te voeren." +"Het is niet mogelijk om boekingen aan te maken met een tweede valuta, zonder " +"zowel de valuta a;s het valutabedrag in te voeren." #. module: account #: field:account.financial.report,display_detail:0 @@ -4146,8 +4145,8 @@ msgid "" "All selected journal entries will be validated and posted. It means you " "won't be able to modify their accounting fields anymore." msgstr "" -"Alle geselecteerde journaalposten worden gevalideerd en geboekt. Daarmee " -"kunnen de financiรซle gegevens ervan niet meer gewijzigd worden." +"Alle geselecteerde boekingen worden gevalideerd en geboekt. Daarmee kunnen " +"de financiรซle gegevens ervan niet meer gewijzigd worden." #. module: account #: code:addons/account/account_move_line.py:98 @@ -4209,7 +4208,7 @@ msgid "" " " msgstr "" "

    \n" -" Klik voor het maken van een fractuur.\n" +" Klik voor het maken van een factuur.\n" "

    \n" " Met OpenERP's digitaal factureren heeft u de mogelijkheid\n" " om uw betalingen te vereenvoudigen en te versnellen. Uw " @@ -4304,7 +4303,7 @@ msgstr "Belastingbedrag" #. module: account #: view:account.move.line:0 msgid "Unreconciled Journal Items" -msgstr "Onafgeletterde journaalposten" +msgstr "Onafgeletterde boekingen" #. module: account #: selection:account.account.type,close_method:0 @@ -4688,7 +4687,7 @@ msgstr "Financieel" #. module: account #: view:account.entries.report:0 msgid "Journal Entries with period in current year" -msgstr "Journaalposten waarvan de perioden in het huidige boekjaar vallen." +msgstr "Boekingen waarvan de perioden in het huidige boekjaar vallen." #. module: account #: field:account.account,child_consol_ids:0 @@ -4853,7 +4852,7 @@ msgstr "" #. module: account #: view:account.move.line:0 msgid "Posted Journal Items" -msgstr "Geboekte journaalposten" +msgstr "Geboekte boekingen" #. module: account #: field:account.move.line,blocked:0 @@ -4877,9 +4876,8 @@ msgid "" "9.99 EUR, whereas a decimal precision of 4 will allow journal entries like: " "0.0231 EUR." msgstr "" -"Een voorbeeld. Een decimale precisie van 2 staat journaalpostregels toe " -"zoals 9,99 EUR. Een decimale precisie van 4 staat journaalpostregels toe van " -"0,0231 EUR." +"Een voorbeeld. Een decimale precisie van 2 staat boekingen toe zoals 9,99 " +"EUR. Een decimale precisie van 4 staat boekingen toe van 0,0231 EUR." #. module: account #: field:account.account,shortcut:0 @@ -5175,7 +5173,7 @@ msgstr "Geef een naam aan de nieuwe regels" #. module: account #: model:ir.model,name:account.model_account_invoice_report msgid "Invoices Statistics" -msgstr "Factuur statistieken" +msgstr "Factuur analyses" #. module: account #: field:account.account,exchange_rate:0 @@ -5223,7 +5221,7 @@ msgstr "Creditfacturen" #: view:account.move.line:0 #: model:ir.actions.act_window,name:account.action_account_manual_reconcile msgid "Journal Items to Reconcile" -msgstr "Af te letteren journaalpostregels" +msgstr "Af te letteren boekingen" #. module: account #: model:ir.model,name:account.model_account_tax_template @@ -5445,8 +5443,8 @@ msgid "" "printed it comes to 'Printed' status. When all transactions are done, it " "comes in 'Done' status." msgstr "" -"Wanneer een journaalpost wordt aangemaakt is de status 'Concept'. Wanneer " -"een rapport wordt afgedrukt wordt de status 'Afgedrukt'. Wanneer alle " +"Wanneer een boeking wordt aangemaakt is de status 'Concept'. Wanneer een " +"rapport wordt afgedrukt wordt de status 'Afgedrukt'. Wanneer alle " "transacties zijn afgerond, krijgt het de status 'Gereed'." #. module: account @@ -5532,7 +5530,7 @@ msgstr "Gefactureerd" #. module: account #: view:account.move:0 msgid "Posted Journal Entries" -msgstr "Geboekte journaalposten" +msgstr "Geboekte boekingen" #. module: account #: view:account.use.model:0 @@ -5605,7 +5603,7 @@ msgstr "Openingsperiode" #. module: account #: view:account.move:0 msgid "Journal Entries to Review" -msgstr "Journaalposten te beoordelen" +msgstr "Boekingen te controleren" #. module: account #: selection:res.company,tax_calculation_rounding_method:0 @@ -6324,7 +6322,7 @@ msgstr "Kostenplaatsen" #. module: account #: view:account.invoice.report:0 msgid "Customer Invoices And Refunds" -msgstr "Klant facturen en terugbetalingen" +msgstr "Klant facturen en credit facturen" #. module: account #: field:account.analytic.line,amount_currency:0 @@ -6733,12 +6731,11 @@ msgid "" "created by the system on document validation (invoices, bank statements...) " "and will be created in 'Posted' status." msgstr "" -"Alle handmatig gemaakte nieuwe journaalposten zijn meestal in de staat " +"Alle handmatig gemaakte nieuwe boekingen zijn meestal in de staat " "'Ongeboekt', maar u kunt met de optie instellen om deze status over te slaan " -"op het betreffende dagboek. In dat geval worden ze behandeld als " -"journaalposten automatisch aangemaakt door het systeem bij document " -"validatie (facturen, bankafschriften, ...). Tevens worden ze aangemaakt in " -"de 'Geboekt' status." +"op het betreffende dagboek. In dat geval worden ze behandeld als boekingen " +"automatisch aangemaakt door het systeem bij document validatie (facturen, " +"bankafschriften, ...). Tevens worden ze aangemaakt in de 'Geboekt' status." #. module: account #: field:account.payment.term.line,days:0 @@ -6752,7 +6749,7 @@ msgid "" "You cannot validate this journal entry because account \"%s\" does not " "belong to chart of accounts \"%s\"." msgstr "" -"U kunt deze journaalpost niet valideren omdat rekening \"%s\" niet tot het " +"U kunt deze boeking niet valideren omdat rekening \"%s\" niet tot het " "rekeningschema \"%s\" behoort." #. module: account @@ -7086,8 +7083,7 @@ msgstr "Debiteuren" #. module: account #: constraint:account.move.line:0 msgid "You cannot create journal items on closed account." -msgstr "" -"Het is niet mogelijk om journaalposten te maken op een gesloten rekening." +msgstr "Het is niet mogelijk om boekingen te maken op een gesloten rekening." #. module: account #: code:addons/account/account_invoice.py:610 @@ -7284,7 +7280,7 @@ msgstr "Liquiditeit" #: model:ir.actions.act_window,name:account.action_account_analytic_journal_open_form #: model:ir.ui.menu,name:account.account_analytic_journal_entries msgid "Analytic Journal Items" -msgstr "Kostenplaats journaalposten" +msgstr "Kostenplaats boekingen" #. module: account #: field:account.config.settings,has_default_company:0 @@ -7298,10 +7294,10 @@ msgid "" "year. Note that you can run this wizard many times for the same fiscal year: " "it will simply replace the old opening entries with the new ones." msgstr "" -"Deze wizard zal de eindejaar journaalposten genereren voor het geselecteerde " -"fiscale jaar. Het is mogelijk deze wizard meerdere malen te starten voor " -"hetzelfde fiscale jaar. Het programma zal simpelweg de oude opening " -"vervangen door de nieuwe." +"Deze wizard zal eindejaar boekingen genereren voor het geselecteerde " +"boekjaar. Het is mogelijk deze wizard meerdere malen te starten voor " +"hetzelfde boek jaar. Het programma zal simpelweg de oude opening vervangen " +"door de nieuwe." #. module: account #: model:ir.ui.menu,name:account.menu_finance_bank_and_cash @@ -7338,7 +7334,7 @@ msgid "" "journal items." msgstr "" "Het is niet mogelijk om het bedrijf wat eigenaar is van de rekening te " -"wijzigen. Dit omdat er al journaalposten aanwezig zijn." +"wijzigen. Dit omdat er al boekingen aanwezig zijn." #. module: account #: report:account.invoice:0 @@ -7571,7 +7567,7 @@ msgstr "Python Code" #. module: account #: view:account.entries.report:0 msgid "Journal Entries with period in current period" -msgstr "Journaalposten met een periode in de huidige periode" +msgstr "Boekingen met een periode in de huidige periode" #. module: account #: help:account.journal,update_posted:0 @@ -7579,8 +7575,8 @@ msgid "" "Check this box if you want to allow the cancellation the entries related to " "this journal or of the invoice related to this journal" msgstr "" -"Vink deze optie aan als u het annuleren van journaalposten van dit dagboek " -"of van de gerelateerde factuur, wilt toestaan" +"Vink deze optie aan als u het annuleren van boekingen van dit dagboek of van " +"de gerelateerde factuur, wilt toestaan" #. module: account #: view:account.fiscalyear.close:0 @@ -7701,7 +7697,7 @@ msgstr "" #: model:ir.ui.menu,name:account.menu_action_move_journal_line_form #: model:ir.ui.menu,name:account.menu_finance_entries msgid "Journal Entries" -msgstr "Journaalposten" +msgstr "Boekingen" #. module: account #: code:addons/account/wizard/account_invoice_refund.py:147 @@ -7800,8 +7796,8 @@ msgid "" "Check this box if you are unsure of that journal entry and if you want to " "note it as 'to be reviewed' by an accounting expert." msgstr "" -"Vink dit aan indien u onzeker bent over de journaalpost en of u wilt dat " -"deze wordt aangemerkt als 'ter controle' door een boekhoudkundig expert." +"Vink deze optie aan indien u onzeker bent over de boekingen en of u wilt " +"dat deze wordt aangemerkt als 'ter controle' door een boekhoudkundig expert." #. module: account #: field:account.chart.template,complete_tax_set:0 @@ -7815,8 +7811,7 @@ msgstr "Complete set van belastingen" msgid "" "Selected Entry Lines does not have any account move enties in draft state." msgstr "" -"De geselecteerde regels hebben geen enkele journaalpostregel in concept " -"status." +"De geselecteerde regels hebben geen enkele boeking in concept status." #. module: account #: view:account.chart.template:0 @@ -8051,7 +8046,7 @@ msgstr "Belastingrekening sjabloon" #. module: account #: view:account.journal.select:0 msgid "Are you sure you want to open Journal Entries?" -msgstr "Weet u zeker dat u de journaalposten wilt openen?" +msgstr "Weet u zeker dat u de boekingen wilt openen?" #. module: account #: view:account.state.open:0 @@ -8133,7 +8128,7 @@ msgstr "Totaalbedrag dat deze klant aan u verschuldigd is." #. module: account #: view:account.move.line:0 msgid "Unbalanced Journal Items" -msgstr "Journaalpostregels in onbelans" +msgstr "Boekingen in onbelans" #. module: account #: model:ir.actions.act_window,name:account.open_account_charts_modules @@ -8433,8 +8428,8 @@ msgid "" "This field is used for payable and receivable journal entries. You can put " "the limit date for the payment of this line." msgstr "" -"Dit veld wordt gebruikt voor crediteur- en debiteur journaalposten. U kunt " -"de limietdatum voor de betaling van deze regel invoeren." +"Dit veld wordt gebruikt voor crediteur- en debiteur boekingen. U kunt de " +"limietdatum voor de betaling van deze regel invoeren." #. module: account #: model:ir.ui.menu,name:account.menu_multi_currency @@ -8488,7 +8483,7 @@ msgstr "" #. module: account #: view:account.move:0 msgid "Unposted Journal Entries" -msgstr "Ongeboekte journaalposten" +msgstr "Ongeboekte boekingsregels" #. module: account #: help:account.invoice.refund,date:0 @@ -8602,7 +8597,7 @@ msgstr "Credit factuur reeks" #: view:validate.account.move:0 #: view:validate.account.move.lines:0 msgid "Post Journal Entries" -msgstr "Journaalposten boeken" +msgstr "Boekingsregels boeken" #. module: account #: selection:account.bank.statement.line,type:0 @@ -8666,7 +8661,7 @@ msgstr "Paypal rekening" #. module: account #: selection:account.print.journal,sort_selection:0 msgid "Journal Entry Number" -msgstr "Journaalpost nummer" +msgstr "Boekingsnummer" #. module: account #: view:account.financial.report:0 @@ -8691,7 +8686,7 @@ msgstr "cash.box.in" #. module: account #: help:account.invoice,move_id:0 msgid "Link to the automatically generated Journal Items." -msgstr "Koppeling naar de automatisch gegenereerde journaalpost" +msgstr "Koppeling naar de automatisch gegenereerde boeking." #. module: account #: model:ir.model,name:account.model_account_config_settings @@ -8882,8 +8877,7 @@ msgid "" "Select Fiscal Year which you want to remove entries for its End of year " "entries journal" msgstr "" -"Selecteer het fiscale jaar waarvoor u, voor de eindejaar journaalpost, " -"boekingen wilt verwijderen" +"Selecteer het boekjaar waarvoor u de eindejaar boekingen wilt verwijderen." #. module: account #: field:account.tax.template,type_tax_use:0 @@ -8922,8 +8916,7 @@ msgstr "Automatische boeking" msgid "" "Check this box if this account allows reconciliation of journal items." msgstr "" -"Vink deze optie aan als de rekening het afletteren van journaalposten " -"toestaat" +"Vink deze optie aan als de rekening het afletteren van boekingen toestaat" #. module: account #: report:account.analytic.account.inverted.balance:0 @@ -9403,8 +9396,7 @@ msgstr "Filter op" msgid "" "In order to close a period, you must first post related journal entries." msgstr "" -"Om een periode af te sluiten, dienen eerst de journaalposten te worden " -"geboekt." +"Om een periode af te sluiten, dienen eerst de boekingen te worden geboekt." #. module: account #: view:account.entries.report:0 @@ -9455,7 +9447,7 @@ msgstr "Afdrukken belastingopgave" #. module: account #: view:account.model.line:0 msgid "Journal Entry Model Line" -msgstr "Journaalpost model regel" +msgstr "Boeking model regel" #. module: account #: view:account.invoice:0 @@ -9683,7 +9675,7 @@ msgstr "" #: code:addons/account/account_move_line.py:1009 #, python-format msgid "The account move (%s) for centralisation has been confirmed." -msgstr "De journaalpost (%s) voor voor centralisatie is bevestigd." +msgstr "De boeking (%s) voor voor centralisatie is bevestigd." #. module: account #: report:account.analytic.account.journal:0 @@ -9935,8 +9927,8 @@ msgid "" " of accounts." msgstr "" "Wanneer concept facturen zijn bevestigd, kunt u deze niet meer\n" -" bewerken. de facturen krijgen een uniek nummer\n" -" en journaalposten worden aangemaakt in uw grootboek." +" bewerken. De facturen krijgen een uniek nummer\n" +" en boekingen worden aangemaakt in uw grootboek." #. module: account #: model:process.node,note:account.process_node_bankstatement0 @@ -10045,8 +10037,7 @@ msgstr "" "factuurnummer is toegekend. De factuur blijkt in deze staat zolang de " "factuur niet is betaald.\n" "* De 'Betaald' status, wordt automatisch ingesteld wanneer de factuur is " -"betaald. De bijbehorende journaalposten kunnen wel of niet zijn " -"afgeletterd.\n" +"betaald. De bijbehorende boekingen kunnen wel of niet zijn afgeletterd.\n" "* De 'Geannuleerd' status wordt gebruikt wanneer de gebruiker de factuur " "annuleert." @@ -10366,8 +10357,8 @@ msgid "" "This field contains the information related to the numbering of the journal " "entries of this journal." msgstr "" -"Dit veld bevat de informatie gerelateerd aan de nummering van de " -"journaalposten in dit dagboek." +"Dit veld bevat de informatie gerelateerd aan de nummering van de boekingen " +"in dit dagboek." #. module: account #: field:account.invoice,sent:0 @@ -10554,9 +10545,8 @@ msgid "" "It indicates that the invoice has been paid and the journal entry of the " "invoice has been reconciled with one or several journal entries of payment." msgstr "" -"Dit geeft aan dat de factuur is betaald en dat de journaalposten van de " -"factuur zijn afgeletterd tegen een of meerdere journaalposten van de " -"betalingen." +"Dit geeft aan dat de factuur is betaald en dat de boekingen van de factuur " +"zijn afgeletterd tegen een of meerdere boekingen van de betalingen." #. module: account #: view:account.invoice:0 @@ -10663,7 +10653,7 @@ msgstr "Code/Datum" #: model:ir.model,name:account.model_account_move_line #: model:ir.ui.menu,name:account.menu_action_account_moves_all msgid "Journal Items" -msgstr "Journaalpostregels" +msgstr "Boekingen" #. module: account #: view:accounting.report:0 @@ -10768,7 +10758,7 @@ msgstr "Dagboek totalen" #. module: account #: view:account.model:0 msgid "Journal Entry Model" -msgstr "Journaalpost model" +msgstr "Boeking model" #. module: account #: code:addons/account/account.py:1064 @@ -10905,9 +10895,9 @@ msgid "" "and is the process of transferring debit and credit amounts from a journal " "of original entry to a ledger book." msgstr "" -"Het controleren van journaalposten wordt ook wel 'Grootboek boeken' genoemd " -"en is het verwerken van de debet en credit boekingsbedragen van een dagboek " -"naar een grootboek." +"Het controleren van boekingen wordt ook wel 'Grootboek boeken' genoemd en is " +"het verwerken van de debet en credit boekingsbedragen van een dagboek naar " +"een grootboek." #. module: account #: model:ir.model,name:account.model_account_period @@ -11533,8 +11523,7 @@ msgstr "" " Selecteer de periode en het dagboek wat u wilt vullen.\n" "

    \n" " Deze weergave kan worden gebruikt door accountants om\n" -" snel journaalposten te registreren in OpenERP. Als u " -"bijvoorbeeld een\n" +" snel boekingen te maken in OpenERP. Als u bijvoorbeeld een\n" " leveranciersfactuur wilt registreren, start dan met het " "registreren\n" " van een regel voor kostenrekening. OpenERP zal vervolgens\n" @@ -11759,7 +11748,7 @@ msgstr "Toekomst" #. module: account #: view:account.move.line:0 msgid "Search Journal Items" -msgstr "Zoek journaalposten" +msgstr "Zoek boekingen" #. module: account #: help:account.tax,base_sign:0 @@ -11808,6 +11797,6 @@ msgid "" "The residual amount on a receivable or payable of a journal entry expressed " "in its currency (maybe different of the company currency)." msgstr "" -"Het restbedrag ten opzichte van een schuld of vordering van een journaalpost " +"Het restbedrag ten opzichte van een schuld of vordering van een boeking " "uitgedrukt in zijn eigen valuta (welke verschillend kan zijn van de door het " "bedrijf gebruikte valuta)." diff --git a/addons/account_analytic_plans/i18n/nl.po b/addons/account_analytic_plans/i18n/nl.po index d8318139561..e97d7776326 100644 --- a/addons/account_analytic_plans/i18n/nl.po +++ b/addons/account_analytic_plans/i18n/nl.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: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-14 11:37+0000\n" +"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 06:31+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: account_analytic_plans #: field:account.analytic.plan.instance,account4_ids:0 @@ -207,7 +207,7 @@ msgstr "Perc(%)" #. module: account_analytic_plans #: model:ir.model,name:account_analytic_plans.model_account_move_line msgid "Journal Items" -msgstr "Journaalpostregels" +msgstr "Boekingen" #. module: account_analytic_plans #: model:ir.model,name:account_analytic_plans.model_analytic_plan_create_model diff --git a/addons/account_asset/i18n/nl.po b/addons/account_asset/i18n/nl.po index ba1104275c6..4fb62244a13 100644 --- a/addons/account_asset/i18n/nl.po +++ b/addons/account_asset/i18n/nl.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:04+0000\n" -"PO-Revision-Date: 2012-12-25 14:25+0000\n" +"PO-Revision-Date: 2013-02-14 11:33+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 06:32+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: account_asset #: view:account.asset.asset:0 @@ -569,7 +569,7 @@ msgstr "Afsluiten" #. module: account_asset #: model:ir.model,name:account_asset.model_account_move_line msgid "Journal Items" -msgstr "Journaalpostregels" +msgstr "Boekingen" #. module: account_asset #: view:asset.modify:0 diff --git a/addons/account_followup/i18n/nl.po b/addons/account_followup/i18n/nl.po index 155a34ff38a..0554bfa71ae 100644 --- a/addons/account_followup/i18n/nl.po +++ b/addons/account_followup/i18n/nl.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-01-31 16:10+0000\n" +"PO-Revision-Date: 2013-02-14 11:21+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-01 05:49+0000\n" -"X-Generator: Launchpad (build 16455)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: account_followup #: model:email.template,subject:account_followup.email_template_account_followup_default @@ -648,7 +648,7 @@ msgstr "Zoek betalingsherinnering" #. module: account_followup #: view:res.partner:0 msgid "Account Move line" -msgstr "Journaalpostregel" +msgstr "Boeking" #. module: account_followup #: code:addons/account_followup/wizard/account_followup_print.py:237 @@ -1159,7 +1159,7 @@ msgstr "Betalingsherinnering actie" #. module: account_followup #: view:account_followup.stat:0 msgid "Including journal entries marked as a litigation" -msgstr "Inclusief journaalposten gemarkeerd als een geschil" +msgstr "Inclusief boekingen gemarkeerd als een geschil" #. module: account_followup #: report:account_followup.followup.print:0 @@ -1201,7 +1201,7 @@ msgid "" " " msgstr "" "

    \n" -" Geen journaalposten gevonden.\n" +" Geen boekingen gevonden.\n" "

    \n" " " diff --git a/addons/account_payment/i18n/nl.po b/addons/account_payment/i18n/nl.po index d7229571481..e100942f340 100644 --- a/addons/account_payment/i18n/nl.po +++ b/addons/account_payment/i18n/nl.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: 2012-12-25 14:31+0000\n" -"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"PO-Revision-Date: 2013-02-14 10:53+0000\n" +"Last-Translator: Douwe Wullink (Dypalio) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 06:33+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: account_payment #: model:ir.actions.act_window,help:account_payment.action_payment_order_tree @@ -445,7 +445,7 @@ msgstr "Betalingsregels" #. module: account_payment #: model:ir.model,name:account_payment.model_account_move_line msgid "Journal Items" -msgstr "Journaalpostregels" +msgstr "Boekingen" #. module: account_payment #: help:payment.line,move_line_id:0 diff --git a/addons/account_sequence/i18n/nl.po b/addons/account_sequence/i18n/nl.po index 1f2030bf91c..4e737190e61 100644 --- a/addons/account_sequence/i18n/nl.po +++ b/addons/account_sequence/i18n/nl.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: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-14 11:19+0000\n" +"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 06:33+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: account_sequence #: view:account.sequence.installer:0 @@ -77,7 +77,7 @@ msgstr "Nummer verspringing" #. module: account_sequence #: model:ir.model,name:account_sequence.model_account_move_line msgid "Journal Items" -msgstr "Journaalpostregels" +msgstr "Boekingen" #. module: account_sequence #: field:account.move,internal_sequence_number:0 @@ -112,7 +112,7 @@ msgstr "Voorvoegsel voor het record voor de reeks" #. module: account_sequence #: model:ir.model,name:account_sequence.model_account_move msgid "Account Entry" -msgstr "Journaalpost" +msgstr "Boeking" #. module: account_sequence #: field:account.sequence.installer,suffix:0 @@ -135,8 +135,8 @@ msgid "" "This sequence will be used to maintain the internal number for the journal " "entries related to this journal." msgstr "" -"Dit volgnummer wordt gebruikt voor de interne nummering van journaalposten " -"in dit dagboek." +"Dit volgnummer wordt gebruikt voor de interne nummering van boekingen in dit " +"dagboek." #. module: account_sequence #: model:ir.model,name:account_sequence.model_account_sequence_installer diff --git a/addons/account_test/i18n/nl.po b/addons/account_test/i18n/nl.po index d9e9c2ef8d8..563089d40b3 100644 --- a/addons/account_test/i18n/nl.po +++ b/addons/account_test/i18n/nl.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-01-13 13:15+0000\n" +"PO-Revision-Date: 2013-02-14 11:20+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 06:34+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: account_test #: view:accounting.assert.test:0 @@ -91,8 +91,7 @@ msgstr "" msgid "" "Check if movement lines are balanced and have the same date and period" msgstr "" -"Controleer of journaalpostregels in balans zijn en dezelfde datum en periode " -"hebben" +"Controleer of boekingen in balans zijn en dezelfde datum en periode hebben" #. module: account_test #: field:accounting.assert.test,name:0 @@ -122,8 +121,8 @@ msgid "" "Check that reconciled account moves, that define Payable and Receivable " "accounts, are belonging to reconciled invoices" msgstr "" -"Controleer of afgelletterde journaalpostregels op de crediteuren en " -"debiteuren rekeningen, behoren aan afgeletterde facturen." +"Controleer of afgelletterde boekingen op de crediteuren en debiteuren " +"rekeningen, behoren aan afgeletterde facturen." #. module: account_test #: view:accounting.assert.test:0 @@ -144,13 +143,13 @@ msgstr "Omschrijving" #: 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 "" -"Controleer of er geen journaalpostregel zijn voor een rekening met " -"ยซย Weergaveย ยป als rekeningsoort" +"Controleer of er geen boekingen zijn voor een rekening met ยซย Weergaveย ยป als " +"rekeningsoort" #. module: account_test #: model:accounting.assert.test,name:account_test.account_test_08 msgid "Test 9 : Accounts and partners on account moves" -msgstr "Test 9 : Rekeningen en relaties of journaalposten" +msgstr "Test 9 : Rekeningen en relaties op boekingen" #. module: account_test #: model:ir.actions.act_window,name:account_test.action_accounting_assert @@ -209,7 +208,7 @@ msgstr "Test 8 : Eindsaldo op bankafschriften" #. module: account_test #: model:accounting.assert.test,name:account_test.account_test_03 msgid "Test 3: Movement lines" -msgstr "Test 3: Journaalpostregels" +msgstr "Test 3: Boekingen" #. module: account_test #: model:accounting.assert.test,name:account_test.account_test_05_2 @@ -273,8 +272,7 @@ msgstr "Controleer de balans: Som van debet = Som van Credit" #: model:accounting.assert.test,desc:account_test.account_test_08 msgid "Check that general accounts and partners on account moves are active" msgstr "" -"Controleer of algemene rekeningen en de relaties op journaalpostregels " -"actief zijn" +"Controleer of algemene rekeningen en de relaties op boekingen actief zijn" #. module: account_test #: model:accounting.assert.test,name:account_test.account_test_06_1 diff --git a/addons/account_voucher/i18n/nl.po b/addons/account_voucher/i18n/nl.po index a6a154e8236..7f07a8823c3 100644 --- a/addons/account_voucher/i18n/nl.po +++ b/addons/account_voucher/i18n/nl.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:04+0000\n" -"PO-Revision-Date: 2013-01-31 14:54+0000\n" +"PO-Revision-Date: 2013-02-14 15:25+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-01 05:49+0000\n" -"X-Generator: Launchpad (build 16455)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: account_voucher #: field:account.bank.statement.line,voucher_id:0 @@ -46,7 +46,7 @@ msgstr "Totaalbedrag" #. module: account_voucher #: view:account.voucher:0 msgid "Open Customer Journal Entries" -msgstr "Open klant journaalposten" +msgstr "Open klantboekingen" #. module: account_voucher #: view:account.voucher:0 @@ -150,7 +150,7 @@ msgstr "Valideren" #: 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 "Leveranciers betalingen" +msgstr "Leverancierbetalingen" #. module: account_voucher #: model:ir.actions.act_window,help:account_voucher.action_purchase_receipt @@ -284,7 +284,7 @@ msgstr "" "

    \n" " Klik om een betaalbewijs aan te maken.\n" "

    \n" -" Wanneer een verkoopbon is bevestigd, kunt u de \n" +" Wanneer een betaalbewijs is bevestigd, kunt u de \n" " betaling van uw klant vastleggen.\n" "

    \n" " " @@ -479,7 +479,7 @@ msgstr "" #. module: account_voucher #: view:account.voucher:0 msgid "Open Supplier Journal Entries" -msgstr "Open leveranciers journaalposten" +msgstr "Open leveranciersboekingen" #. module: account_voucher #: model:ir.actions.act_window,name:account_voucher.action_review_voucher_list @@ -782,8 +782,8 @@ msgid "" "Check this box if you are unsure of that journal entry and if you want to " "note it as 'to be reviewed' by an accounting expert." msgstr "" -"Vink dit aan indien u onzeker bent over de journaalpost en of u wilt dat " -"deze wordt aangemerkt als 'ter controle' door een boekhoudkundig expert." +"Vink deze optie aan indien u onzeker bent over de boekingen en of u wilt " +"dat deze wordt aangemerkt als 'ter controle' door een boekhoudkundig expert." #. module: account_voucher #: selection:sale.receipt.report,month:0 @@ -886,7 +886,7 @@ msgstr "januari" #: model:ir.actions.act_window,name:account_voucher.action_voucher_list #: model:ir.ui.menu,name:account_voucher.menu_encode_entries_by_voucher msgid "Journal Vouchers" -msgstr "Journaliseer betaalbewijzen" +msgstr "Betaalbewijs dagboek" #. module: account_voucher #: model:ir.model,name:account_voucher.model_res_company @@ -914,7 +914,7 @@ msgstr "Definieer een reeks voor dit dagboek." #: model:ir.actions.act_window,name:account_voucher.action_vendor_receipt #: model:ir.ui.menu,name:account_voucher.menu_action_vendor_receipt msgid "Customer Payments" -msgstr "Klantbetaling" +msgstr "Klantbetalingen" #. module: account_voucher #: model:ir.actions.act_window,name:account_voucher.action_sale_receipt_report_all @@ -1029,7 +1029,7 @@ msgstr "Pro-forma" #: view:account.voucher:0 #: field:account.voucher,move_ids:0 msgid "Journal Items" -msgstr "Journaalpostregels" +msgstr "Boekingen" #. module: account_voucher #: code:addons/account_voucher/account_voucher.py:496 @@ -1245,7 +1245,7 @@ msgstr "Totaal" #. module: account_voucher #: field:account.voucher,move_id:0 msgid "Account Entry" -msgstr "Journaalpost" +msgstr "Boeking" #. module: account_voucher #: constraint:account.bank.statement.line:0 diff --git a/addons/account_voucher/i18n/tr.po b/addons/account_voucher/i18n/tr.po index 08f9e2b16a1..3088917d21f 100644 --- a/addons/account_voucher/i18n/tr.po +++ b/addons/account_voucher/i18n/tr.po @@ -8,13 +8,13 @@ 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-02-11 10:15+0000\n" +"PO-Revision-Date: 2013-02-14 12:55+0000\n" "Last-Translator: Ayhan KIZILTAN \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-02-12 05:29+0000\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" "X-Generator: Launchpad (build 16491)\n" #. module: account_voucher @@ -1327,3 +1327,6 @@ msgid "" "inactive, which allow to hide the customer/supplier payment while the bank " "statement isn't confirmed." msgstr "" +"Varsayฤฑlan olarak, taslak banka hesapรถzetlerine yapฤฑlan uzlaลŸma fiลŸleri " +"engelli olarak ayarlanฤฑr, banka hesapรถzeti onaylanmamฤฑลŸken mรผลŸteri/tedarikรงi " +"รถdemelerinin gizlenmesini saฤŸlar." diff --git a/addons/analytic/i18n/nl.po b/addons/analytic/i18n/nl.po index d1fd15046b3..8b19b2258ca 100644 --- a/addons/analytic/i18n/nl.po +++ b/addons/analytic/i18n/nl.po @@ -8,13 +8,13 @@ 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-02-11 13:38+0000\n" +"PO-Revision-Date: 2013-02-14 11:18+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-12 05:29+0000\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" "X-Generator: Launchpad (build 16491)\n" #. module: analytic @@ -66,7 +66,7 @@ msgid "" "default data that you can reuse easily." msgstr "" "Als u de optie 'Weergave' kiest, betekent dit dat u niet toestaat โ€‹โ€‹om " -"journaalposten op deze kostenplaats te maken.\n" +"boekingen op deze kostenplaats te maken.\n" "Het type 'Kostenplaats' staat voor gewone kostenplaatsen die u alleen wilt " "gebruiken in de boekhouding.\n" "Als u 'Contract' of 'Project' kiest, dan biedt dit u de mogelijkheid om de " diff --git a/addons/base_import/i18n/nl.po b/addons/base_import/i18n/nl.po index 45b9305b313..316465a353d 100644 --- a/addons/base_import/i18n/nl.po +++ b/addons/base_import/i18n/nl.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-02-10 13:21+0000\n" +"PO-Revision-Date: 2013-02-14 16:15+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-11 05:34+0000\n" -"X-Generator: Launchpad (build 16482)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: base_import #. openerp-web @@ -561,6 +561,10 @@ msgid "" " field corresponding to the column. This makes imports\n" " simpler especially when the file has many columns." msgstr "" +"als het bestand de kolom\n" +" namen bevat, kan OpenERP proberen de bijbehorende velden\n" +" te detecteren voor de kolommen. Dit maakt het importeren\n" +" eenvoudiger, vooral wanneer het bestand veel kolommen heeft." #. module: base_import #. openerp-web @@ -605,6 +609,16 @@ msgid "" "filter \n" " settings' > Save)." msgstr "" +"Als u een CSV bestand bewerkt en opslaat in een spreadsheet \n" +" worden uw regionale instellingen van uw computer\n" +" gebruikt voor het scheidingsteken. U kunt het beste\n" +" OpenOffice of Libreoffice calc gebruiken, omdat " +"deze\n" +" programma's u de mogelijkheid geven om deze " +"instellingen\n" +" aan te passen (in 'Opslaan als' scherm > Aanvinken " +"'Filter instellingen\n" +" bewerken > Opslaan'." #. module: base_import #. openerp-web @@ -675,6 +689,10 @@ msgid "" "\n" " that imported it)" msgstr "" +"Land/Externe ID: De ID van dit record\n" +" waaraan gerefereerd wordt in de andere applicatie " +"(of het .XML bestand\n" +" dat het heeft geรฏmporteerd)" #. module: base_import #. openerp-web @@ -703,6 +721,17 @@ msgid "" "\n" " per field you want to import." msgstr "" +"Sommige velden geven een relatie met een ander\n" +" object aan. Bijvoorbeeld, het land van een contact " +"is een koppeling \n" +" naar een record van het 'Land' object. Wanneer u\n" +" zo'n veld wilt importeren, zal OpenERP de koppeling " +"tussen deze\n" +" velden moeten maken. Om u te helpen zulke velden te " +"importeren, \n" +" geeft OpenERP u drie mechanismen. U dient een " +"mechanisme te kiezen\n" +" en alleen dit mechanisme per veld gebruiken." #. module: base_import #. openerp-web @@ -716,6 +745,14 @@ msgid "" " then you will encode it as follow \"Manufacturer,\n" " Retailer\" in the same column of your CSV file." msgstr "" +"De labels moeten worden gescheiden door een komma, zonder spaties \n" +" Bijvoorbeeld, indien u, uw klant wilt koppelen aan " +"de labels\n" +" \"Producent\" en \"Retailer\" dan dient u dit als " +"volgt\n" +" te coderen. \"Producent,Retailer\" in dezelfde kolom " +"van\n" +" uw CSV bestand." #. module: base_import #: code:addons/base_import/models.py:264 @@ -1165,6 +1202,11 @@ msgid "" " identifier from the original application and\n" " map it to the" msgstr "" +"Om het mogelijk te maken om relaties, tussen verschillende records,\n" +" opnieuw aan te maken, dient u unieke identifiers, " +"van de\n" +" originele applicatie te gebruiken en deze koppelen " +"aan de" #. module: base_import #. openerp-web @@ -1191,6 +1233,18 @@ msgid "" "\n" " the fields relative to the order." msgstr "" +"Indien u verkooporders wilt importeren met verschillende \n" +" orderregels, dien u voor iedere orderregel in het\n" +" CSV bestande een specifieke regel te reserveren.\n" +" De eerste orderregel wordt geรฏmporteerd op de " +"eerste\n" +" regel welke ook de kop informatie van de order " +"bevat.\n" +" Iedere volgende regel hebben een eigen regel welke " +"niet\n" +" meer de kopgegevens van de order bevatten, maar " +"alleen de\n" +" regelinformatie." #. module: base_import #: model:ir.model,name:base_import.model_base_import_tests_models_m2o_related @@ -1312,6 +1366,11 @@ msgid "" "demo \n" " data." msgstr "" +"Als een voorbeeld vind u hier het bestand:\n" +" purchase.order_functional_error_line_cant_adpat.CSV\n" +" Het bestand bevat enkele offertes, welke u kunt " +"importeren.\n" +" Het bestand is gebaseerd op de demo data." #. module: base_import #: field:base_import.import,file:0 diff --git a/addons/crm/i18n/tr.po b/addons/crm/i18n/tr.po index 21740059767..36b2b40e21b 100644 --- a/addons/crm/i18n/tr.po +++ b/addons/crm/i18n/tr.po @@ -8,13 +8,13 @@ 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-02-12 00:53+0000\n" -"Last-Translator: Ediz Duman \n" +"PO-Revision-Date: 2013-02-14 13:28+0000\n" +"Last-Translator: Ayhan KIZILTAN \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-02-13 05:21+0000\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" "X-Generator: Launchpad (build 16491)\n" #. module: crm @@ -1075,7 +1075,7 @@ msgstr "AลŸama" #. module: crm #: view:crm.phonecall.report:0 msgid "Phone Calls that are assigned to me" -msgstr "" +msgstr "Bana atanan Telefon ร‡aฤŸrฤฑlarฤฑ" #. module: crm #: field:crm.lead,user_login:0 @@ -1117,7 +1117,7 @@ msgstr "Fฤฑrsat oluลŸturuldu" #. module: crm #: view:crm.lead:0 msgid "รญ" -msgstr "" +msgstr "รญ" #. module: crm #: selection:crm.lead.report,creation_month:0 @@ -1380,7 +1380,7 @@ msgstr "ฤฐptal" #. module: crm #: view:crm.lead:0 msgid "Opportunities Assigned to Me or My Team(s)" -msgstr "" +msgstr "Bana ya da Takฤฑm(lar)ฤฑma Atanan Fฤฑrsatlar" #. module: crm #: model:crm.case.categ,name:crm.categ_oppor4 @@ -1429,7 +1429,7 @@ msgstr "BirleลŸtir adaylar/fฤฑrsatlar" #. module: crm #: help:crm.case.stage,sequence:0 msgid "Used to order stages. Lower is better." -msgstr "" +msgstr "AลŸamalarฤฑ sฤฑralamak iรงin kullanฤฑlฤฑr. DรผลŸรผk olmasฤฑ daha iyidir." #. module: crm #: model:ir.actions.act_window,name:crm.crm_phonecall_categ_action @@ -1793,7 +1793,7 @@ msgstr "TelesatฤฑลŸ" #. module: crm #: view:crm.lead:0 msgid "Leads Assigned to Me or My Team(s)" -msgstr "" +msgstr "Bana ya da Takฤฑm(lar)ฤฑma Atanan Adaylar" #. module: crm #: model:ir.model,name:crm.model_crm_segmentation_line @@ -1854,7 +1854,7 @@ msgstr "SatฤฑลŸ Takฤฑmlarฤฑ" #. module: crm #: field:crm.case.stage,case_default:0 msgid "Default to New Sales Team" -msgstr "" +msgstr "Yeni SatฤฑลŸ Takฤฑmฤฑ iรงin Varsayฤฑlan" #. module: crm #: view:crm.lead:0 @@ -1965,7 +1965,7 @@ msgstr "Aรงฤฑk Fฤฑrsatlar" #. module: crm #: model:crm.case.resource.type,name:crm.type_lead2 msgid "Email Campaign - Services" -msgstr "" +msgstr "Eposta Kampanyasฤฑ - Hizmetler" #. module: crm #: selection:crm.case.stage,state:0 @@ -2081,7 +2081,7 @@ msgstr "ฤฐl" #. module: crm #: selection:crm.case.stage,type:0 msgid "Both" -msgstr "" +msgstr "Her ikisi de" #. module: crm #: view:crm.phonecall:0 @@ -2674,7 +2674,7 @@ msgstr "Kayฤฑtlฤฑ Aramalar" #: model:mail.message.subtype,name:crm.mt_lead_won #: model:mail.message.subtype,name:crm.mt_salesteam_lead_won msgid "Opportunity Won" -msgstr "" +msgstr "Kazanฤฑlan Fฤฑrsat" #. module: crm #: model:ir.actions.act_window,name:crm.crm_case_section_act_tree diff --git a/addons/fleet/i18n/mn.po b/addons/fleet/i18n/mn.po index b31868081bf..9258ef1adbb 100644 --- a/addons/fleet/i18n/mn.po +++ b/addons/fleet/i18n/mn.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:06+0000\n" -"PO-Revision-Date: 2013-02-09 09:49+0000\n" -"Last-Translator: gobi \n" +"PO-Revision-Date: 2013-02-15 05:09+0000\n" +"Last-Translator: Tenuun Khangaitan \n" "Language-Team: Mongolian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-10 05:24+0000\n" -"X-Generator: Launchpad (build 16482)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:23+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: fleet #: selection:fleet.vehicle,fuel_type:0 @@ -85,7 +85,7 @@ msgstr "" #: view:fleet.vehicle.cost:0 #: view:fleet.vehicle.model:0 msgid "Group By..." -msgstr "" +msgstr "ะ‘าฏะปัะณะปัั…..." #. module: fleet #: model:fleet.service.type,name:fleet.type_service_32 @@ -95,7 +95,7 @@ msgstr "" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_18 msgid "Engine Belt Inspection" -msgstr "" +msgstr "ะ”ัƒั…ะฝั‹ ะ ะตะผะตะฝัŒ าฎะทะปัะณ" #. module: fleet #: selection:fleet.vehicle.log.contract,cost_frequency:0 @@ -117,7 +117,7 @@ msgstr "" #: field:fleet.vehicle.log.fuel,vendor_id:0 #: field:fleet.vehicle.log.services,vendor_id:0 msgid "Supplier" -msgstr "" +msgstr "ะะธะนะปาฏาฏะปัะณั‡" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_35 @@ -157,7 +157,7 @@ msgstr "" #. module: fleet #: field:fleet.vehicle,company_id:0 msgid "Company" -msgstr "" +msgstr "ะšะพะผะฟะฐะฝะธ" #. module: fleet #: view:fleet.vehicle.log.contract:0 @@ -204,7 +204,7 @@ msgstr "" #: view:fleet.vehicle:0 #: selection:fleet.vehicle.cost,cost_type:0 msgid "Services" -msgstr "" +msgstr "าฎะนะปั‡ะธะปะณัั" #. module: fleet #: help:fleet.vehicle,odometer:0 @@ -233,7 +233,7 @@ msgstr "" #. module: fleet #: view:fleet.vehicle.cost:0 msgid "Total Cost" -msgstr "" +msgstr "ะะธะนั‚ าฏะฝั" #. module: fleet #: selection:fleet.service.type,category:0 @@ -280,7 +280,7 @@ msgstr "" #: view:fleet.vehicle.log.services:0 #: field:fleet.vehicle.log.services,notes:0 msgid "Notes" -msgstr "" +msgstr "ะขัะผะดัะณะปัะณัั" #. module: fleet #: code:addons/fleet/fleet.py:47 @@ -291,12 +291,12 @@ msgstr "" #. module: fleet #: field:fleet.vehicle,message_ids:0 msgid "Messages" -msgstr "" +msgstr "ะ—ัƒั€ะฒะฐััƒัƒะด" #. module: fleet #: model:res.groups,name:fleet.group_fleet_user msgid "User" -msgstr "" +msgstr "ะฅัั€ัะณะปัะณั‡" #. module: fleet #: help:fleet.vehicle.cost,vehicle_id:0 @@ -308,12 +308,12 @@ msgstr "" #: field:fleet.vehicle.log.fuel,cost_amount:0 #: field:fleet.vehicle.log.services,cost_amount:0 msgid "Amount" -msgstr "" +msgstr "ะ”าฏะฝ" #. module: fleet #: field:fleet.vehicle,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "ะฃะฝัˆะฐะฐะณาฏะน ะทัƒั€ะฒะฐััƒัƒะด" #. module: fleet #: model:fleet.service.type,name:fleet.type_service_6 diff --git a/addons/hr_expense/i18n/mn.po b/addons/hr_expense/i18n/mn.po index 78bcf501575..7b3f8e4f525 100644 --- a/addons/hr_expense/i18n/mn.po +++ b/addons/hr_expense/i18n/mn.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:04+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-15 05:12+0000\n" +"Last-Translator: Amar Zayasaikhan \n" "Language-Team: Mongolian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 06:44+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: hr_expense #: view:hr.expense.expense:0 @@ -87,7 +87,7 @@ msgstr "3 ัะฐั€" #. module: hr_expense #: field:hr.expense.expense,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "ะฃะฝัˆะฐะฐะณาฏะน ะทัƒั€ะฒะฐััƒัƒะด" #. module: hr_expense #: field:hr.expense.expense,company_id:0 @@ -147,7 +147,7 @@ msgstr "ะขัะผะดัะณะปัะป" #. module: hr_expense #: field:hr.expense.expense,message_ids:0 msgid "Messages" -msgstr "" +msgstr "ะ—ัƒั€ะฒะฐััƒัƒะด" #. module: hr_expense #: code:addons/hr_expense/hr_expense.py:172 @@ -155,12 +155,12 @@ msgstr "" #: code:addons/hr_expense/hr_expense.py:197 #, python-format msgid "Error!" -msgstr "" +msgstr "ะะปะดะฐะฐ!" #. module: hr_expense #: model:mail.message.subtype,description:hr_expense.mt_expense_refused msgid "Expense refused" -msgstr "" +msgstr "ะ—ะฐั€ะดะฐะป ั…าฏะปััะฝ ะทำฉะฒัˆำฉำฉั€ำฉะณะดำฉำฉะณาฏะน" #. module: hr_expense #: model:ir.actions.act_window,name:hr_expense.hr_expense_product @@ -189,6 +189,7 @@ msgstr "" #: help:hr.expense.expense,message_unread:0 msgid "If checked new messages require your attention." msgstr "" +"ะฅัั€ัะฒ ั‚ัะผะดัะณะปัะณะดััะฝ ะฑะพะป ั‚ะฐะฝั‹ะณ ัˆะธะฝั ะทัƒั€ะฒะฐััƒัƒะดะฐะด ะฐะฝั…ะฐะฐั€ะฐะป ั…ะฐะฝะดัƒัƒะปะฐั…ั‹ะณ ัˆะฐะฐั€ะดะฐะฝะฐ." #. module: hr_expense #: selection:hr.expense.report,state:0 @@ -301,7 +302,7 @@ msgstr "" #: view:hr.expense.report:0 #: field:hr.expense.report,analytic_account:0 msgid "Analytic account" -msgstr "ะะฝะฐะปะธั‚ะธะบ ะดะฐะฝั" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะดะฐะฝั" #. module: hr_expense #: field:hr.expense.report,date:0 @@ -316,7 +317,7 @@ msgstr "ะฅาฏะปััะณะดัะถ ะฑะฐะนะณะฐะฐ" #. module: hr_expense #: field:hr.expense.expense,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "ะ”ะฐะณะฐะณั‡ะธะด" #. module: hr_expense #: report:hr.expense:0 @@ -342,7 +343,7 @@ msgstr "ะขะพะพ ั…ัะผะถัั" #: view:hr.expense.report:0 #: field:hr.expense.report,price_total:0 msgid "Total Price" -msgstr "ะะธะนั‚ าฏะฝั" +msgstr "ะะธะนั‚ าฎะฝั" #. module: hr_expense #: model:process.node,note:hr_expense.process_node_reinvoicing0 @@ -408,7 +409,7 @@ msgstr "ะัั…ัะผะถะธะปัะปะธะนะณ าฏาฏัะณัััะฝ ะดะฐั€ะฐะฐ ะทะฐั€ะดะปั‹ะณ ะฝ #: code:addons/hr_expense/hr_expense.py:116 #, python-format msgid "Warning!" -msgstr "" +msgstr "ะะฝั…ะฐะฐั€ัƒัƒะปะณะฐ!" #. module: hr_expense #: model:process.node,name:hr_expense.process_node_reimbursement0 @@ -425,7 +426,7 @@ msgstr "ะ‘ะฐั‚ะปะฐะผะถะธะปัะฐะฝ ะพะณะฝะพะพ" #: code:addons/hr_expense/hr_expense.py:227 #, python-format msgid "Expense Receipt" -msgstr "" +msgstr "ะ—ะฐั€ะดะปั‹ะฝ ั‚ะฐะปะพะฝ" #. module: hr_expense #: view:hr.expense.report:0 @@ -561,7 +562,7 @@ msgstr "ะะพะพั€ะพะณ ะทะฐั€ะดะปัƒัƒะด" #. module: hr_expense #: field:hr.expense.expense,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "ะ”ะฐะณะฐะณั‡ ัััั…" #. module: hr_expense #: model:ir.actions.act_window,name:hr_expense.product_normal_form_view_installer diff --git a/addons/hr_payroll/i18n/nl.po b/addons/hr_payroll/i18n/nl.po index 479fb560523..412ac8e52d7 100644 --- a/addons/hr_payroll/i18n/nl.po +++ b/addons/hr_payroll/i18n/nl.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:04+0000\n" -"PO-Revision-Date: 2013-01-01 18:10+0000\n" +"PO-Revision-Date: 2013-02-14 11:38+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 06:45+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: hr_payroll #: field:hr.payslip.line,condition_select:0 @@ -443,7 +443,7 @@ msgstr "%s (kopie)" #. module: hr_payroll #: help:hr.config.settings,module_hr_payroll_account:0 msgid "Create journal entries from payslips" -msgstr "Maak journaalposten van loonafschriften" +msgstr "Maak boekingen van loonafschriften" #. module: hr_payroll #: field:hr.payslip,paid:0 diff --git a/addons/hr_timesheet_invoice/i18n/nl.po b/addons/hr_timesheet_invoice/i18n/nl.po index 328a6819b1e..62e8da84a94 100644 --- a/addons/hr_timesheet_invoice/i18n/nl.po +++ b/addons/hr_timesheet_invoice/i18n/nl.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-01-31 08:11+0000\n" +"PO-Revision-Date: 2013-02-14 11:10+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-01 05:49+0000\n" -"X-Generator: Launchpad (build 16455)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: hr_timesheet_invoice #: view:report.timesheet.line:0 @@ -563,7 +563,7 @@ msgstr "Urenstaat per kostenplaats" #. module: hr_timesheet_invoice #: model:ir.model,name:hr_timesheet_invoice.model_account_move_line msgid "Journal Items" -msgstr "Journaalpostregels" +msgstr "Boekingen" #. module: hr_timesheet_invoice #: selection:report.account.analytic.line.to.invoice,month:0 diff --git a/addons/hr_timesheet_invoice/i18n/tr.po b/addons/hr_timesheet_invoice/i18n/tr.po index 94dbb73a0d2..7ee5066d511 100644 --- a/addons/hr_timesheet_invoice/i18n/tr.po +++ b/addons/hr_timesheet_invoice/i18n/tr.po @@ -7,13 +7,13 @@ 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-02-11 08:56+0000\n" +"PO-Revision-Date: 2013-02-14 10:55+0000\n" "Last-Translator: Ediz Duman \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-02-12 05:29+0000\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" "X-Generator: Launchpad (build 16491)\n" #. module: hr_timesheet_invoice @@ -71,7 +71,7 @@ msgstr "Gelir" #. module: hr_timesheet_invoice #: field:hr.timesheet.invoice.create.final,name:0 msgid "Log of Activity" -msgstr "" +msgstr "Oturum Aรงma Faaliyeti" #. module: hr_timesheet_invoice #: view:account.analytic.account:0 @@ -130,6 +130,8 @@ msgid "" "Fill this field only if you want to force to use a specific product. Keep " "empty to use the real product that comes from the cost." msgstr "" +"EฤŸer belirli bir รผrรผn kullanmaya zorlamak istiyorsanฤฑz bu alanฤฑ " +"doldurun.Maliyet gelen gerรงek รผrรผnรผ kullanmak iรงin boลŸ tutun." #. module: hr_timesheet_invoice #: model:ir.actions.act_window,help:hr_timesheet_invoice.action_hr_timesheet_invoice_factor_form @@ -319,6 +321,8 @@ msgid "" "The cost of each work done will be displayed on the invoice. You probably " "don't want to check this" msgstr "" +"Yapฤฑlan her iลŸin maliyeti fatura รผzerinde gรถsterilecektir. Muhtemelen bu " +"kontrol etmek istemiyorsunuz" #. module: hr_timesheet_invoice #: view:hr.timesheet.invoice.create.final:0 @@ -662,6 +666,8 @@ msgid "" "It allows to set the discount while making invoice, keep empty if the " "activities should not be invoiced." msgstr "" +"Bu fatura yaparken, indirimli belirlenen faaliyetler fatura edilmemelidir " +"boลŸsa saklamanฤฑzฤฑ saฤŸlar." #. module: hr_timesheet_invoice #: field:account.analytic.account,amount_max:0 diff --git a/addons/l10n_multilang/i18n/hu.po b/addons/l10n_multilang/i18n/hu.po new file mode 100644 index 00000000000..839b994d484 --- /dev/null +++ b/addons/l10n_multilang/i18n/hu.po @@ -0,0 +1,174 @@ +# 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-02-08 01:06+0000\n" +"PO-Revision-Date: 2013-02-14 16:02+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-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" + +#. module: l10n_multilang +#: model:ir.model,name:l10n_multilang.model_account_fiscal_position_template +msgid "Template for Fiscal Position" +msgstr "รFA pozรญciรณ sablon" + +#. module: l10n_multilang +#: sql_constraint:account.account:0 +msgid "The code of the account must be unique per company !" +msgstr "A fล‘kรถnyvi szรกmla szรกmรกnak egyedinek kell lennie!" + +#. module: l10n_multilang +#: constraint:account.account.template:0 +msgid "" +"Configuration Error!\n" +"You can not define children to an account with internal type different of " +"\"View\"! " +msgstr "" +"Beรกllรญtรกsi hiba!\n" +"Nem tud al-szรกmlรกt lรฉtrehozni egy szรกmlรกhoz, melynek a belsล‘ \"Nรฉzet\" " +"tรญpusa kรผlรถnbรถzล‘! " + +#. module: l10n_multilang +#: model:ir.model,name:l10n_multilang.model_account_analytic_journal +msgid "Analytic Journal" +msgstr "Analitikus/Gyรผjtล‘ naplรณ" + +#. module: l10n_multilang +#: constraint:account.account.template:0 +msgid "Error ! You can not create recursive account templates." +msgstr "Hiba! Nem hozhat lรฉtre rekurzรญv fล‘kรถnyvi szรกmla sablonokat." + +#. module: l10n_multilang +#: model:ir.model,name:l10n_multilang.model_account_journal +msgid "Journal" +msgstr "Naplรณ" + +#. module: l10n_multilang +#: model:ir.model,name:l10n_multilang.model_account_chart_template +msgid "Templates for Account Chart" +msgstr "Szรกmlatรผkรถr sablonok" + +#. module: l10n_multilang +#: sql_constraint:account.tax:0 +msgid "The description must be unique per company!" +msgstr "A leรญrรกs egyedi kell legyen minden vรกllalathoz!" + +#. module: l10n_multilang +#: constraint:account.tax.code.template:0 +msgid "Error ! You can not create recursive Tax Codes." +msgstr "Hiba! Nem hozhat lรฉtre rekurzรญv adรณgyลฑjtล‘ket." + +#. module: l10n_multilang +#: model:ir.model,name:l10n_multilang.model_account_tax_template +msgid "account.tax.template" +msgstr "account.tax.template" + +#. module: l10n_multilang +#: model:ir.model,name:l10n_multilang.model_account_tax +msgid "account.tax" +msgstr "account.tax" + +#. module: l10n_multilang +#: model:ir.model,name:l10n_multilang.model_account_account +msgid "Account" +msgstr "Fล‘kรถnyvi szรกmla" + +#. module: l10n_multilang +#: model:ir.model,name:l10n_multilang.model_wizard_multi_charts_accounts +msgid "wizard.multi.charts.accounts" +msgstr "wizard.multi.charts.accounts" + +#. module: l10n_multilang +#: constraint:account.journal:0 +msgid "" +"Configuration error! The currency chosen should be shared by the default " +"accounts too." +msgstr "" +"Beรกllรญtรกsi hiba! A vรกlasztott pรฉnznemet meg kell osztani az alapรฉrtelmezett " +"fล‘kรถnyvi szรกmlรกval is." + +#. module: l10n_multilang +#: model:ir.model,name:l10n_multilang.model_account_account_template +msgid "Templates for Accounts" +msgstr "Fล‘kรถnyvi szรกmla sablonok" + +#. module: l10n_multilang +#: help:account.chart.template,spoken_languages:0 +msgid "" +"State here the languages for which the translations of templates could be " +"loaded at the time of installation of this localization module and copied in " +"the final object when generating them from templates. You must provide the " +"language codes separated by ';'" +msgstr "" +"Adja meg itt a nyelvet amelyen a sablon be fog tรถltล‘dni a lokalizรกciรณs modul " +"telepรญtรฉse utรกn รฉs az รกt lesz mรกsolva a vรฉgsล‘ objektumba a sablonokbรณl valรณ " +"lรฉtrehozรกs utรกn. A nyelvi kรณdot ';' kell elvรกlasztani." + +#. module: l10n_multilang +#: constraint:account.account:0 +msgid "Error ! You can not create recursive accounts." +msgstr "Hiba! Nem hozhat lรฉtre rekurzรญv szรกmlรกkat." + +#. module: l10n_multilang +#: constraint:account.account:0 +msgid "" +"Configuration Error! \n" +"You can not select an account type with a deferral method different of " +"\"Unreconciled\" for accounts with internal type \"Payable/Receivable\"! " +msgstr "" + +#. module: l10n_multilang +#: sql_constraint:account.journal:0 +msgid "The name of the journal must be unique per company !" +msgstr "A naplรณ nevรฉnek egyedinek kell lennie mindegyik vรกllalatra!" + +#. module: l10n_multilang +#: model:ir.model,name:l10n_multilang.model_account_analytic_account +msgid "Analytic Account" +msgstr "Analitikus/elemzล‘ kรถnyvelรฉs" + +#. module: l10n_multilang +#: sql_constraint:account.journal:0 +msgid "The code of the journal must be unique per company !" +msgstr "A naplรณ kรณdjรกnak egyedinek kell lennie mindegyik vรกllalathoz!" + +#. module: l10n_multilang +#: model:ir.model,name:l10n_multilang.model_account_fiscal_position +msgid "Fiscal Position" +msgstr "Kรถltsรฉgvetรฉsi pozรญciรณ" + +#. module: l10n_multilang +#: constraint:account.account:0 +msgid "" +"Configuration Error! \n" +"You can not define children to an account with internal type different of " +"\"View\"! " +msgstr "" +"Beรกllรญtรกsi hiba! \n" +"Nem tud al-szรกmlรกt lรฉtrehozni egy szรกmlรกhoz, melynek a belsล‘ \"Nรฉzet\" " +"tรญpusa kรผlรถnbรถzล‘! " + +#. module: l10n_multilang +#: constraint:account.analytic.account:0 +msgid "Error! You can not create recursive analytic accounts." +msgstr "Hiba! Nem hozhat lรฉtre rekurzรญv gyลฑjtล‘kรณdokat." + +#. module: l10n_multilang +#: model:ir.model,name:l10n_multilang.model_account_tax_code_template +msgid "Tax Code Template" +msgstr "" + +#. module: l10n_multilang +#: field:account.chart.template,spoken_languages:0 +msgid "Spoken Languages" +msgstr "Beszรฉlt nyelvek" diff --git a/addons/point_of_sale/i18n/nl.po b/addons/point_of_sale/i18n/nl.po index 16e9190c085..962d1af4639 100644 --- a/addons/point_of_sale/i18n/nl.po +++ b/addons/point_of_sale/i18n/nl.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:04+0000\n" -"PO-Revision-Date: 2013-02-10 13:25+0000\n" +"PO-Revision-Date: 2013-02-14 11:38+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-11 05:35+0000\n" -"X-Generator: Launchpad (build 16482)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: point_of_sale #: field:report.transaction.pos,product_nb:0 @@ -752,7 +752,7 @@ msgstr "Wijze van betalen" #. module: point_of_sale #: model:ir.model,name:point_of_sale.model_pos_confirm msgid "Post POS Journal Entries" -msgstr "Boek kassa journaalposten" +msgstr "Maak kassa boekingen" #. module: point_of_sale #. openerp-web diff --git a/addons/portal/i18n/hu.po b/addons/portal/i18n/hu.po index 59de119a232..a921995cb6a 100644 --- a/addons/portal/i18n/hu.po +++ b/addons/portal/i18n/hu.po @@ -8,25 +8,30 @@ 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: 2012-12-21 23:00+0000\n" +"PO-Revision-Date: 2013-02-14 16:29+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-01-18 06:57+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" + +#. module: portal +#: model:ir.model,name:portal.model_mail_mail +msgid "Outgoing Mails" +msgstr "Elkรผldรถtt levelek" #. module: portal #: view:portal.payment.acquirer:0 msgid "Mako" -msgstr "" +msgstr "Mako" #. module: portal #: code:addons/portal/wizard/share_wizard.py:50 #, python-format msgid "Please select at least one user to share with" -msgstr "" +msgstr "Kรฉrem vรกlasszon legalรกbb egy felhasznรกlรณt akivel megosztja" #. module: portal #: view:portal.wizard:0 @@ -37,63 +42,69 @@ msgid "" " If necessary, you can fix any contact's email " "address directly in the list." msgstr "" +"Vรกlassza ki, hogy melyik felhasznรกlรณnak kell hozzรกtartoznia az alรกbbi listรกn " +"felsorolt portรกlhoz.\n" +" Minden kivรกlasztott kapcsolathoz tartozรณ e-mailnek " +"รฉrvรฉnyesnek รฉs egyedinek kell lennie.\n" +" Ha szรผksรฉges, kijavรญthatja a kapcsolatok e-mail " +"cรญmeit a listรกban." #. module: portal #: model:mail.group,name:portal.company_jobs msgid "Company Jobs" -msgstr "" +msgstr "Vรกllalati feladatok" #. module: portal #: view:portal.payment.acquirer:0 msgid "amount: the total amount to pay, as a float" -msgstr "" +msgstr "รถsszeg: a teljes fizetendล‘ mennyisรฉg, mind รถsszegezve" #. module: portal #: view:portal.wizard.user:0 msgid "Contacts" -msgstr "" +msgstr "Kapcsolatok" #. module: portal #: view:share.wizard:0 #: field:share.wizard,group_ids:0 msgid "Existing groups" -msgstr "" +msgstr "Mรกr lรฉtezล‘ csoportok" #. module: portal #: view:res.groups:0 msgid "Portal Groups" -msgstr "" +msgstr "Portรกl csoportok" #. module: portal #: field:portal.wizard,welcome_message:0 msgid "Invitation Message" -msgstr "" +msgstr "Meghรญvรณ szรถvege" #. module: portal #: view:res.groups:0 msgid "Non-Portal Groups" -msgstr "" +msgstr "Nem portรกl csoportok" #. module: portal #: code:addons/portal/wizard/share_wizard.py:54 #, python-format msgid "Please select at least one group to share with" -msgstr "" +msgstr "Kรฉrem legalรกbb egy csoport kivรกlasztรกsรกt akivel megosztja" #. module: portal #: view:share.wizard:0 msgid "Details" -msgstr "" +msgstr "Rรฉszletek" #. module: portal #: model:ir.ui.menu,name:portal.portal_orders msgid "Quotations and Sales Orders" -msgstr "" +msgstr "รrajรกnlatok รฉs vevล‘i megrendelรฉsek" #. module: portal #: view:portal.payment.acquirer:0 msgid "reference: the reference number of the document to pay" -msgstr "" +msgstr "referencia: a fizetni kรญvรกnt dokumentum referencia szรกma" #. module: portal #: help:portal.payment.acquirer,visible:0 @@ -101,16 +112,18 @@ msgid "" "Make this payment acquirer available in portal forms (Customer invoices, " "etc.)" msgstr "" +"Ez a fizetรฉsi igรฉnylล‘ legyen elรฉrhetล‘ a portรกl ลฑrlapokon (Vevล‘k szรกmlรกi, " +"stb.)" #. module: portal #: model:ir.model,name:portal.model_share_wizard msgid "Share Wizard" -msgstr "" +msgstr "Megosztรกs varรกzslรณ" #. module: portal #: field:portal.wizard.user,email:0 msgid "Email" -msgstr "" +msgstr "E-mail" #. module: portal #: model:ir.actions.client,help:portal.action_news @@ -120,6 +133,10 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" ร–nnek nincsenek olvasatlan hรญrei a vรกllalattรณl.\n" +"

    \n" +" " #. module: portal #: code:addons/portal/wizard/portal_wizard.py:194 @@ -127,29 +144,30 @@ msgstr "" msgid "" "You must have an email address in your User Preferences to send emails." msgstr "" +"Kell lennie egy e-mail cรญmรฉnek a felhasznรกlรณi ลฑrlapjรกn az e-mail kรผldรฉsรฉhez." #. module: portal #: model:ir.actions.client,name:portal.action_jobs #: model:ir.ui.menu,name:portal.portal_jobs msgid "Jobs" -msgstr "" +msgstr "Feladatok" #. module: portal #: field:portal.wizard,user_ids:0 msgid "Users" -msgstr "" +msgstr "Felhasznรกlรณk" #. module: portal #: code:addons/portal/acquirer.py:82 #, python-format msgid "Pay safely online" -msgstr "" +msgstr "Fizzesen biztonsรกgosan online" #. module: portal #: code:addons/portal/acquirer.py:77 #, python-format msgid "No online payment acquirers configured" -msgstr "" +msgstr "Nincs online fizetรฉsi igรฉnylล‘ beรกllรญtva" #. module: portal #: view:portal.payment.acquirer:0 @@ -157,17 +175,20 @@ msgid "" "kind: the kind of document on which the payment form is rendered (translated " "to user language, e.g. \"Invoice\")" msgstr "" +"fajta: a dokumentum fajtรกja amelyen a fizetรฉs ลฑrlap elล‘ lesz terjesztve " +"(lefordรญtva a felhasznรกlรณ nyelvรฉre, stb. \"Szรกmla\")" #. module: portal #: help:portal.wizard,portal_id:0 msgid "The portal that users can be added in or removed from." msgstr "" +"A portรกl amihez a felhasznรกlรณk hozzรกadhatรณk vagy onnan eltรกvolรญthatรณk" #. module: portal #: code:addons/portal/wizard/share_wizard.py:38 #, python-format msgid "Users you already shared with" -msgstr "" +msgstr "Felhasznรกlรณk akikkel mรกr megosztott" #. module: portal #: model:ir.actions.client,help:portal.action_jobs @@ -177,6 +198,10 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" Nincsenek olvasatlan feladat ajรกnlatai.\n" +"

    \n" +" " #. module: portal #: view:portal.payment.acquirer:0 @@ -184,6 +209,8 @@ msgid "" ", so it may use Mako expressions.\n" " The Mako evaluation context provides:" msgstr "" +", รญgy talรกn Mako kifejezรฉseket hasznรกl.\n" +" A Mako adja az รถsszefรผggรฉs รฉrtรฉkelรฉst:" #. module: portal #: model:ir.ui.menu,name:portal.portal_menu @@ -191,34 +218,34 @@ msgstr "" #: field:res.groups,is_portal:0 #: model:res.groups,name:portal.group_portal msgid "Portal" -msgstr "" +msgstr "Portรกl" #. module: portal #: code:addons/portal/wizard/portal_wizard.py:34 #, python-format msgid "Your OpenERP account at %(company)s" -msgstr "" +msgstr "Az ร–n OpenERP szรกmlรกja a %(company)s vรกllalthoz" #. module: portal #: model:res.groups,name:portal.group_anonymous msgid "Anonymous" -msgstr "" +msgstr "Nรฉvtelenรผl" #. module: portal #: field:portal.wizard.user,in_portal:0 msgid "In Portal" -msgstr "" +msgstr "Portรกlon" #. module: portal #: model:ir.actions.client,name:portal.action_news #: model:ir.ui.menu,name:portal.portal_company_news msgid "News" -msgstr "" +msgstr "Hรญrek" #. module: portal #: model:ir.ui.menu,name:portal.portal_after_sales msgid "After Sale Services" -msgstr "" +msgstr "ร‰rtรฉkesรญtรฉs utรกni szolgรกltatรกsok" #. module: portal #: model:res.groups,comment:portal.group_portal @@ -227,49 +254,53 @@ msgid "" "restricted menus).\n" " They usually do not belong to the usual OpenERP groups." msgstr "" +"Portรกl tagoknak kรผlรถnbรถzล‘ hozzรกfรฉrรฉsi joguk van (mint szabรกlyok beiktatรกsa " +"รฉs menรผk korlรกtozรกsa).\n" +" รltalรกban nem fรผggnek, tartoznak az alap OpenERP " +"csoportoktรณl." #. module: portal #: model:ir.actions.act_window,name:portal.action_acquirer_list #: view:portal.payment.acquirer:0 msgid "Payment Acquirers" -msgstr "" +msgstr "Fizetรฉs kรฉzhezvevล‘i" #. module: portal #: model:ir.ui.menu,name:portal.portal_projects msgid "Projects" -msgstr "" +msgstr "Projektek" #. module: portal #: model:ir.actions.client,name:portal.action_mail_inbox_feeds_portal #: model:ir.ui.menu,name:portal.portal_inbox msgid "Inbox" -msgstr "" +msgstr "Beรฉrkezett รผzenetek" #. module: portal #: view:share.wizard:0 #: field:share.wizard,user_ids:0 msgid "Existing users" -msgstr "" +msgstr "Meglรฉvล‘ felhasznรกlรณk" #. module: portal #: field:portal.wizard.user,wizard_id:0 msgid "Wizard" -msgstr "" +msgstr "Varรกzslรณ" #. module: portal #: field:portal.payment.acquirer,name:0 msgid "Name" -msgstr "" +msgstr "Nรฉv" #. module: portal #: model:ir.model,name:portal.model_res_groups msgid "Access Groups" -msgstr "" +msgstr "Csoportok hozzรกfรฉrรฉse" #. module: portal #: view:portal.payment.acquirer:0 msgid "uid: the current user id" -msgstr "" +msgstr "uid: the current user id" #. module: portal #: view:portal.payment.acquirer:0 @@ -277,37 +308,34 @@ msgid "" "quote(): a method to quote special string character to make them suitable " "for inclusion in a URL" msgstr "" +"idรฉzet(): egy mรณd, mellyel egy speciรกlis karakter lรกncot be lehet รญrni egy " +"URL nรฉvbe" #. module: portal #: help:res.groups,is_portal:0 msgid "If checked, this group is usable as a portal." -msgstr "" +msgstr "Ha bejelรถlt, akkor a csoport portรกlkรฉnt is hasznรกlhatรณ." #. module: portal #: field:portal.payment.acquirer,form_template:0 msgid "Payment form template (HTML)" -msgstr "" +msgstr "Fizetรฉs sablonbรณl (HTML)" #. module: portal #: field:portal.wizard.user,partner_id:0 msgid "Contact" -msgstr "" - -#. module: portal -#: model:ir.model,name:portal.model_mail_mail -msgid "Outgoing Mails" -msgstr "" +msgstr "Kapcsolat" #. module: portal #: code:addons/portal/wizard/portal_wizard.py:193 #, python-format msgid "Email required" -msgstr "" +msgstr "E-mail szรผksรฉges" #. module: portal #: model:ir.ui.menu,name:portal.portal_messages msgid "Messaging" -msgstr "" +msgstr "รœzenetkรผldรฉs" #. module: portal #: model:res.groups,comment:portal.group_anonymous @@ -316,16 +344,19 @@ msgid "" "restricted menus).\n" " They usually do not belong to the usual OpenERP groups." msgstr "" +"Nรฉvtelen felhasznรกlรณknak kรผlรถnleges hozzรกfรฉrรฉsi joguk van (mint jogosultsรกg " +"rรถgzรญtรฉse รฉs korlรกtozott menรผk).\n" +" รltalรกban nem fรผggnek az alap OpenERP csoportoktรณl." #. module: portal #: model:ir.model,name:portal.model_portal_payment_acquirer msgid "Online Payment Acquirer" -msgstr "" +msgstr "Online fizetรฉsi igรฉnylล‘" #. module: portal #: model:mail.group,name:portal.company_news_feed msgid "Company News" -msgstr "" +msgstr "Vรกllalati hรญrek" #. module: portal #: code:addons/portal/acquirer.py:76 @@ -333,11 +364,13 @@ msgstr "" msgid "" "You can finish the configuration in the
    Bank&Cash settings" msgstr "" +"Befejezheti a beรกllรญtรกsokat ebben Bank&Kรฉszpรฉnz " +"beรกllรญtรกsok" #. module: portal #: view:portal.payment.acquirer:0 msgid "cr: the current database cursor" -msgstr "" +msgstr "cr: a jelenlegi adatbรกzis kurzor" #. module: portal #: model:ir.actions.client,help:portal.action_mail_inbox_feeds_portal @@ -353,6 +386,16 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" Szรฉp munka! Az รถn postafiรณkja รผres.\n" +"

    \n" +" A \"Beรฉrkezett รผzenetei\" tartalmazzรกk a privรกt " +"รผzeneteit vagy e-mailjeit\n" +" tovรกbbรก az ร–n รกltal nyomon kรถvetett dokumentumokhoz vagy " +"emberekhez\n" +" kapcsolรณdรณ informรกciรณkat.\n" +"

    \n" +" " #. module: portal #: view:portal.payment.acquirer:0 @@ -360,16 +403,18 @@ msgid "" "object: the document on which the payment form is rendered (usually an " "invoice or sales order record)" msgstr "" +"tรกrgy: a dokumentum melyen a fizetรฉsi dokumentum lรฉtrehozott (rendszerint " +"egy szรกmla vagy megrendelรฉs rekord)" #. module: portal #: help:portal.wizard,welcome_message:0 msgid "This text is included in the email sent to new users of the portal." -msgstr "" +msgstr "Ez a szรถveg belekerรผl a portรกl รบj felhasznรกlรณjรกhoz kรผldรถtt e-mailre." #. module: portal #: model:ir.ui.menu,name:portal.portal_company msgid "About Us" -msgstr "" +msgstr "Rรณlunk" #. module: portal #: view:portal.payment.acquirer:0 @@ -377,11 +422,13 @@ msgid "" "currency: the currency record in which the document is issued (e.g. " "currency.name could be EUR)" msgstr "" +"Pรฉnznem: a pรฉnznem rekord ami a dokumentumon hasznรกlva lett (pl. ezt a " +"devizรกt hasznรกltรกk EUR)" #. module: portal #: view:portal.payment.acquirer:0 msgid "Payment Acquirer" -msgstr "" +msgstr "Fizetรฉst kรฉzhezvevล‘" #. module: portal #: code:addons/portal/wizard/portal_wizard.py:35 @@ -404,11 +451,28 @@ msgid "" "OpenERP - Open Source Business Applications\n" "http://www.openerp.com\n" msgstr "" +"Tisztelt %(name)s,\n" +"\n" +"Hozzรกfรฉrรฉst kapott a %(portal)s.\n" +"\n" +"Bejelentkezรฉsi adatai a kรถvetkezล‘k:\n" +"Adatbรกzis: %(db)s\n" +"Felhasznรกlรณ: %(login)s\n" +"\n" +"A belรฉpรฉsi folyamat teljesรญtรฉsรฉhez, a kรถvetkezล‘ elรฉrรฉsi รบtvonalra " +"kattintson:\n" +"%(url)s\n" +"\n" +"%(welcome_message)s\n" +"\n" +"--\n" +"OpenERP - Open Source Business Applications\n" +"http://www.openerp.com\n" #. module: portal #: view:portal.wizard:0 msgid "or" -msgstr "" +msgstr "vagy" #. module: portal #: model:portal.payment.acquirer,form_template:portal.paypal_acquirer @@ -435,7 +499,7 @@ msgstr "" #. module: portal #: model:ir.model,name:portal.model_portal_wizard_user msgid "Portal User Config" -msgstr "" +msgstr "Portรกl felhasznรกlรณ beรกllรญtรกs" #. module: portal #: view:portal.payment.acquirer:0 @@ -443,32 +507,34 @@ msgid "" "If the template renders to an empty result in a certain context it will be " "ignored, as if it was inactive." msgstr "" +"Ha a sablon รผrest hoz lรฉtre bizonyos รถsszefรผggรฉsek esetรฉn, akkor el lesz " +"vetve, mint inaktรญv." #. module: portal #: field:portal.payment.acquirer,visible:0 msgid "Visible" -msgstr "" +msgstr "Lรกthatรณ" #. module: portal #: code:addons/portal/wizard/share_wizard.py:39 #, python-format msgid "Existing Groups (e.g Portal Groups)" -msgstr "" +msgstr "Lรฉtezล‘ csoport (pl. Portรกl csoport)" #. module: portal #: view:portal.wizard:0 msgid "Cancel" -msgstr "" +msgstr "Mรฉgsem" #. module: portal #: view:portal.wizard:0 msgid "Apply" -msgstr "" +msgstr "Alkalmaz" #. module: portal #: view:portal.payment.acquirer:0 msgid "ctx: the current context dictionary" -msgstr "" +msgstr "ctx: a jelenlegi รถsszefรผggรฉs szรณtรกr" #. module: portal #: view:portal.payment.acquirer:0 @@ -476,6 +542,9 @@ msgid "" "This is an HTML form template to submit a payment through this acquirer.\n" " The template will be rendered with" msgstr "" +"Ez egy HTML formรกtumรบ sablon az ezen igรฉnylล‘n keresztรผl kiadandรณ " +"fizetรฉshez.\n" +" A sablon ezzel lesz elkรฉszรญtve" #. module: portal #: code:addons/portal/mail_mail.py:42 @@ -483,15 +552,17 @@ msgstr "" msgid "" "Access your personal documents through our Customer Portal" msgstr "" +"A szemรฉlyes dokumentum elรฉrรฉse ezen keresztรผl a mi Vevล‘ " +"Portรกlunk" #. module: portal #: view:portal.payment.acquirer:0 msgid "Form Template" -msgstr "" +msgstr "Sablon ลฑrlap" #. module: portal #: model:ir.actions.act_window,name:portal.partner_wizard_action #: model:ir.model,name:portal.model_portal_wizard #: view:portal.wizard:0 msgid "Portal Access Management" -msgstr "" +msgstr "Portรกl hozzรกfรฉrรฉs kezelรฉse" diff --git a/addons/product_expiry/i18n/sl.po b/addons/product_expiry/i18n/sl.po index e2ffc0d8a18..631d8d53e9b 100644 --- a/addons/product_expiry/i18n/sl.po +++ b/addons/product_expiry/i18n/sl.po @@ -8,29 +8,29 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-14 14:06+0000\n" +"Last-Translator: Duลกan Laznik (Mentis) \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 07:00+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: product_expiry #: model:product.template,name:product_expiry.product_product_from_product_template msgid "Ham" -msgstr "ล unka" +msgstr "Ham" #. module: product_expiry #: model:product.template,name:product_expiry.product_product_lait_product_template msgid "Cow milk" -msgstr "Kravje mleko" +msgstr "Cow milk" #. module: product_expiry #: field:product.product,life_time:0 msgid "Product Life Time" -msgstr "" +msgstr "ลฝivljenska doba izdelka" #. module: product_expiry #: help:stock.production.lot,removal_date:0 @@ -38,6 +38,7 @@ msgid "" "This is the date on which the goods with this Serial Number should be " "removed from the stock." msgstr "" +"Datum , ko bi bilo treba izdelka z to serijsko ลกtevilko umakniti iz zaloge." #. module: product_expiry #: help:product.product,removal_time:0 @@ -45,16 +46,17 @@ msgid "" "When a new a Serial Number is issued, this is the number of days before the " "goods should be removed from the stock." msgstr "" +"ล tevilo dni od izdaje te serijske ลกtevilke , do umika izdelkov iz zaloge." #. module: product_expiry #: field:product.product,use_time:0 msgid "Product Use Time" -msgstr "" +msgstr "ฤŒas uporabnosti izdelka" #. module: product_expiry #: model:ir.model,name:product_expiry.model_product_product msgid "Product" -msgstr "" +msgstr "Izdelek" #. module: product_expiry #: help:product.product,use_time:0 @@ -62,40 +64,42 @@ msgid "" "When a new a Serial Number is issued, this is the number of days before the " "goods starts deteriorating, without being dangerous yet." msgstr "" +"ล tevilo dni od izdaje te serijske ลกtevilke , do zaฤetka zmanjลกanje uporabne " +"vrednosti." #. module: product_expiry #: field:product.product,removal_time:0 msgid "Product Removal Time" -msgstr "" +msgstr "ฤŒas za umik izdelka" #. module: product_expiry #: help:stock.production.lot,alert_date:0 msgid "" "This is the date on which an alert should be notified about the goods with " "this Serial Number." -msgstr "" +msgstr "Datum za opozorilo." #. module: product_expiry #: model:ir.model,name:product_expiry.model_stock_production_lot msgid "Serial Number" -msgstr "" +msgstr "Serijska ลกtevilka" #. module: product_expiry #: help:product.product,alert_time:0 msgid "" "When a new a Serial Number is issued, this is the number of days before an " "alert should be notified." -msgstr "" +msgstr "ล tevilo dni od izdaje serijske ลกtevilke , do opozorila." #. module: product_expiry #: field:stock.production.lot,removal_date:0 msgid "Removal Date" -msgstr "" +msgstr "Datum umika izdelka" #. module: product_expiry #: model:product.template,name:product_expiry.product_product_pain_product_template msgid "Bread" -msgstr "Kruh" +msgstr "Bread" #. module: product_expiry #: view:product.product:0 @@ -105,17 +109,17 @@ msgstr "Datumi" #. module: product_expiry #: field:stock.production.lot,life_date:0 msgid "End of Life Date" -msgstr "" +msgstr "Uporabno do" #. module: product_expiry #: field:stock.production.lot,use_date:0 msgid "Best before Date" -msgstr "" +msgstr "Najboljลกe za uporabo do" #. module: product_expiry #: model:product.template,name:product_expiry.product_product_jambon_product_template msgid "French cheese Camenbert" -msgstr "" +msgstr "French cheese Camenbert" #. module: product_expiry #: help:product.product,life_time:0 @@ -123,27 +127,29 @@ msgid "" "When a new a Serial Number is issued, this is the number of days before the " "goods may become dangerous and must not be consumed." msgstr "" +"ล tevilo dni od izdaje serijske ลกtevilke , do trenutka ko izdelek postane " +"nevaren za uporabo." #. module: product_expiry #: field:stock.production.lot,alert_date:0 msgid "Alert Date" -msgstr "" +msgstr "Datum opozorila" #. module: product_expiry #: help:stock.production.lot,use_date:0 msgid "" "This is the date on which the goods with this Serial Number start " "deteriorating, without being dangerous yet." -msgstr "" +msgstr "Datum , ko izdelek postane manj vreden , ne pa ลกe nevaren." #. module: product_expiry #: help:stock.production.lot,life_date:0 msgid "" "This is the date on which the goods with this Serial Number may become " "dangerous and must not be consumed." -msgstr "" +msgstr "Datum , ko izdelek postane nevaren." #. module: product_expiry #: field:product.product,alert_time:0 msgid "Product Alert Time" -msgstr "" +msgstr "Datum opozorila" diff --git a/addons/product_manufacturer/i18n/sl.po b/addons/product_manufacturer/i18n/sl.po index 818cd2d605c..c7b47ef5d00 100644 --- a/addons/product_manufacturer/i18n/sl.po +++ b/addons/product_manufacturer/i18n/sl.po @@ -8,41 +8,41 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-14 14:10+0000\n" +"Last-Translator: Duลกan Laznik (Mentis) \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 07:00+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: product_manufacturer #: field:product.product,manufacturer_pref:0 msgid "Manufacturer Product Code" -msgstr "" +msgstr "Dobaviteljeva koda izdelka" #. module: product_manufacturer #: model:ir.model,name:product_manufacturer.model_product_product #: field:product.manufacturer.attribute,product_id:0 msgid "Product" -msgstr "Proizvod" +msgstr "Izdelek" #. module: product_manufacturer #: view:product.manufacturer.attribute:0 msgid "Product Template Name" -msgstr "" +msgstr "Ime predloge produkta" #. module: product_manufacturer #: model:ir.model,name:product_manufacturer.model_product_manufacturer_attribute msgid "Product attributes" -msgstr "" +msgstr "Lasnosti izdelka" #. module: product_manufacturer #: view:product.manufacturer.attribute:0 #: view:product.product:0 msgid "Product Attributes" -msgstr "" +msgstr "Lasnosti izdelka" #. module: product_manufacturer #: field:product.manufacturer.attribute,name:0 @@ -63,7 +63,7 @@ msgstr "Lastnosti" #. module: product_manufacturer #: field:product.product,manufacturer_pname:0 msgid "Manufacturer Product Name" -msgstr "" +msgstr "Dobaviteljevo ime izdelka" #. module: product_manufacturer #: view:product.product:0 diff --git a/addons/product_margin/i18n/sl.po b/addons/product_margin/i18n/sl.po index 33d39bcad21..d86b5a09864 100644 --- a/addons/product_margin/i18n/sl.po +++ b/addons/product_margin/i18n/sl.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:06+0000\n" -"PO-Revision-Date: 2013-01-30 20:48+0000\n" +"PO-Revision-Date: 2013-02-14 14:20+0000\n" "Last-Translator: Duลกan Laznik (Mentis) \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-31 05:17+0000\n" -"X-Generator: Launchpad (build 16455)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: product_margin #: view:product.product:0 @@ -120,7 +120,7 @@ msgstr "Koliฤina na dobaviteljevih raฤunih" #. module: product_margin #: field:product.product,date_to:0 msgid "Margin Date To" -msgstr "" +msgstr "Razlika do" #. module: product_margin #: view:product.product:0 @@ -136,7 +136,7 @@ msgstr "Skupni storลกek" #. module: product_margin #: help:product.product,normal_cost:0 msgid "Sum of Multiplication of Cost price and quantity of Supplier Invoices" -msgstr "" +msgstr "Vsota nabavne cene in koliฤin na dobaviteljevih raฤunih" #. module: product_margin #: field:product.product,expected_margin:0 @@ -146,22 +146,22 @@ msgstr "Priฤakovana marลพa" #. module: product_margin #: view:product.product:0 msgid "#Purchased" -msgstr "" +msgstr "#Nabavljeno" #. module: product_margin #: help:product.product,expected_margin_rate:0 msgid "Expected margin * 100 / Expected Sale" -msgstr "" +msgstr "Priฤakovana razlika * 100/Priฤakovana prodaja" #. module: product_margin #: help:product.product,sale_avg_price:0 msgid "Avg. Price in Customer Invoices." -msgstr "" +msgstr "Pov. cena na raฤunih kupca" #. module: product_margin #: help:product.product,purchase_avg_price:0 msgid "Avg. Price in Supplier Invoices " -msgstr "" +msgstr "Pov. cena na raฤunih dobavitelja " #. module: product_margin #: field:product.margin,invoice_state:0 @@ -172,13 +172,13 @@ msgstr "Status raฤuna" #. module: product_margin #: help:product.product,purchase_gap:0 msgid "Normal Cost - Total Cost" -msgstr "" +msgstr "Normalna cena - Skupna cna" #. module: product_margin #: help:product.product,sale_expected:0 msgid "" "Sum of Multiplication of Sale Catalog price and quantity of Customer Invoices" -msgstr "" +msgstr "Vsota kataloลกke cene in koliฤin na raฤunih kupcev" #. module: product_margin #: field:product.product,total_margin:0 @@ -188,13 +188,13 @@ msgstr "Skupna marลพa" #. module: product_margin #: field:product.product,date_from:0 msgid "Margin Date From" -msgstr "" +msgstr "Razlika od" #. module: product_margin #: help:product.product,turnover:0 msgid "" "Sum of Multiplication of Invoice price and quantity of Customer Invoices" -msgstr "" +msgstr "Vsota prodajne cene in koliฤin na raฤunih kupcev" #. module: product_margin #: field:product.product,normal_cost:0 @@ -209,12 +209,12 @@ msgstr "Nabave" #. module: product_margin #: field:product.product,purchase_num_invoiced:0 msgid "# Invoiced in Purchase" -msgstr "" +msgstr "#Zaraฤunano v nabavi" #. module: product_margin #: help:product.product,expected_margin:0 msgid "Expected Sale - Normal Cost" -msgstr "" +msgstr "Priฤakovana prodaja - normalna nabavna cena" #. module: product_margin #: view:product.margin:0 @@ -224,18 +224,18 @@ msgstr "Skupine lastnosti" #. module: product_margin #: help:product.product,total_margin_rate:0 msgid "Total margin * 100 / Turnover" -msgstr "" +msgstr "Skupaj razlika * 100/Prihodek" #. module: product_margin #: view:product.margin:0 msgid "Open Margins" -msgstr "" +msgstr "Odpri razlike" #. module: product_margin #: selection:product.margin,invoice_state:0 #: selection:product.product,invoice_state:0 msgid "Open and Paid" -msgstr "" +msgstr "Odprto in plaฤano" #. module: product_margin #: view:product.product:0 @@ -255,7 +255,7 @@ msgstr "Sploลกne informacije" #. module: product_margin #: field:product.product,purchase_gap:0 msgid "Purchase Gap" -msgstr "" +msgstr "Nabava razlika" #. module: product_margin #: view:product.margin:0 @@ -270,7 +270,7 @@ msgstr "Marลพe" #. module: product_margin #: help:product.product,sale_num_invoiced:0 msgid "Sum of Quantity in Customer Invoices" -msgstr "" +msgstr "Vsota koliฤin na raฤunih kupcev" #. module: product_margin #: view:product.margin:0 diff --git a/addons/project/i18n/mn.po b/addons/project/i18n/mn.po index 3498955114b..52cb82026ba 100644 --- a/addons/project/i18n/mn.po +++ b/addons/project/i18n/mn.po @@ -8,19 +8,19 @@ 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-02-08 05:33+0000\n" -"Last-Translator: Altangerel \n" +"PO-Revision-Date: 2013-02-15 01:48+0000\n" +"Last-Translator: gobi \n" "Language-Team: Mongolian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-09 05:29+0000\n" -"X-Generator: Launchpad (build 16482)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: project #: view:project.project:0 msgid "Email Interface" -msgstr "" +msgstr "ะ˜ะผัะนะป ะ˜ะฝั‚ะตั€ั„ะตะนั" #. module: project #: help:account.analytic.account,use_tasks:0 @@ -28,6 +28,8 @@ msgid "" "If checked, this contract will be available in the project menu and you will " "be able to manage tasks or track issues" msgstr "" +"ะฅัั€ัะฒ ัะพะฝะณะพัะพะฝ ะฑะพะป, ัะฝั ะณัั€ัั ะฝัŒ ั‚ำฉัำฉะป ะผะตะฝัŽ ะฝัŒ ั…ะฐั€ะฐะณะดะฐั… ะฑำฉะณำฉำฉะด ะดะฐะฐะปะณะฐะฒะฐั€, " +"ะฐััƒัƒะดะปั‹ะณ ั…ำฉั‚ะปำฉะถ ะผะตะฝะตะถะผะตะฝั‚ ั…ะธะนั… ะฑะพะปะพะผะถั‚ะพะน" #. module: project #: field:project.project,progress_rate:0 @@ -122,7 +124,7 @@ msgstr "ะะฝะฐะปะธั‚ะธะบ ะ”ะฐะฝั" #. module: project #: field:project.config.settings,group_time_work_estimation_tasks:0 msgid "Manage time estimation on tasks" -msgstr "" +msgstr "ะ”ะฐะฐะปะณะฐะฒั€ัƒัƒะด ะดััั€ั… ั†ะฐะณะธะนะฝ ั‚ะฐะฐะผะฐะณะปะฐะปั‹ะณ ะผะตะฝะตะถะผะตะฝั‚ ั…ะธะนั…" #. module: project #: help:project.project,message_summary:0 @@ -149,7 +151,7 @@ msgstr "ะฅะฐั€ะธะปั†ะฐะณั‡" #. module: project #: field:project.config.settings,group_manage_delegation_task:0 msgid "Allow task delegation" -msgstr "" +msgstr "ะ”ะฐะฐะปะณะฐะฒั€ั‹ะณ ะฐั†ะฐะณะปะฐั… ัะฒะดะปั‹ะณ ะทำฉะฒัˆำฉำฉั€ำฉั…" #. module: project #: field:project.task.delegate,planned_hours:0 @@ -176,7 +178,7 @@ msgstr "ะ‘าฏั… ั…ะธะนั… ั‘ัั‚ะพะน ะดะฐะฐะปะณะฒะฐั€ั‹ะฝ ั…ะฐะฐะณะดัะฐะฝ ะดะฐะฐ #. module: project #: model:ir.actions.client,name:project.action_client_project_menu msgid "Open Project Menu" -msgstr "" +msgstr "ะขำฉัำฉะป ะผะตะฝัŽะณ ะฝััั…" #. module: project #: model:ir.actions.act_window,help:project.action_project_task_user_tree @@ -197,7 +199,7 @@ msgstr "ะฅาฏั‡ะธะฝั‚ัะน ะดะฐะฐะปะณะฐะฒั€ัƒัƒะดั‹ะฝ ะฝัั€ั" #. module: project #: model:res.groups,name:project.group_delegate_task msgid "Task Delegation" -msgstr "" +msgstr "ะ”ะฐะฐะปะณะฐะฒะฐั€ ะฐั†ะฐะณะปะฐั…" #. module: project #: field:project.project,planned_hours:0 @@ -214,7 +216,7 @@ msgstr "ะะธะนั‚ะธะนะฝ" #. module: project #: model:project.category,name:project.project_category_01 msgid "Contact's suggestion" -msgstr "" +msgstr "ะ—ำฉะฒะปำฉั… ั…ะพะปะฑะพะณั‡ะธะด" #. module: project #: help:project.config.settings,group_time_work_estimation_tasks:0 @@ -254,7 +256,7 @@ msgstr "ะขำฉัะปะธะนะฝ ะทะฐะณะฒะฐั€" #. module: project #: field:project.project,analytic_account_id:0 msgid "Contract/Analytic" -msgstr "" +msgstr "ะ“ัั€ัั/ะจะธะฝะถะธะปะณัั" #. module: project #: view:project.config.settings:0 @@ -369,7 +371,7 @@ msgstr "ะฅัƒั€ะฐะฐะฝะณัƒะน" #. module: project #: view:project.project:0 msgid "Append this project to another one using analytic accounts hierarchy" -msgstr "" +msgstr "ะญะฝั ั‚ำฉัะปะธะนะณ ำฉำฉั€ ั‚ำฉัำฉะปะด ัˆะธะฝะถะธะปะณััะฝะธะน ะดะฐะฝัั‹ะฝ ะผำฉั‡ะธั€ะธะนะณ ะฐัˆะธะณะปะฐะฝ ะฝัะผัั…" #. module: project #: view:project.task:0 @@ -403,7 +405,7 @@ msgstr "ะั†ะฐะณะปะฐัะฐะฝ ั…ัั€ัะณะปัะณั‡ ะทะฐะฐะณะดัะฐะฝ ะฑะฐะนั… ั…ัั€ั #. module: project #: view:project.project:0 msgid "Project(s) Manager" -msgstr "" +msgstr "ะขำฉัะปะธะนะฝ ะœะตะฝะตะถะตั€" #. module: project #: selection:project.project,state:0 @@ -434,12 +436,12 @@ msgstr "ะ”ะฐะฐะปะณะฐะฒั€ั‹ะณ ะดะฐั…ะธะฝ าฏะฝัะปาฏาฏะปัั…" #. module: project #: view:project.task:0 msgid "Validate planned time" -msgstr "" +msgstr "ะขำฉะปำฉะฒะปำฉัำฉะฝ ั†ะฐะณะธะนะณ ัˆะฐะปะณะฐั…" #. module: project #: field:project.config.settings,module_pad:0 msgid "Use integrated collaborative note pads on task" -msgstr "" +msgstr "ะ”ะฐะฐะปะณะฐะฒะฐั€ ะดััั€ ั…ะฐะผั‚ั€ะฐะฝ ะฐะถะธะปะปะฐั… ั‚ัะผะดัะณะปัะปะธะนะฝ ะฝะฐะฐะปั‚ั‹ะณ ั…ัั€ัะณะปัั…" #. module: project #: model:mail.message.subtype,name:project.mt_project_task_blocked @@ -460,7 +462,7 @@ msgstr "ะ—ะพั…ะธะพะผะพะป ะฝัั€" #. module: project #: view:project.task:0 msgid "oe_kanban_text_red" -msgstr "" +msgstr "oe_kanban_text_red" #. module: project #: model:mail.message.subtype,description:project.mt_task_blocked @@ -470,7 +472,7 @@ msgstr "าฎาฏั€ัะณ ั…ะฐะฐะปั‚ั‚ะฐะน" #. module: project #: view:project.task:0 msgid "Delegation" -msgstr "" +msgstr "ะั†ะฐะณะปะฐั…" #. module: project #: field:project.task,create_date:0 @@ -500,7 +502,7 @@ msgstr "ะ”ะฐะฐะปะณะฐะฒั€ั‹ะฝ ั‚ะฐะนะปะฑะฐั€ั‹ะณ ั…ัั€ัะณะปัะณั‡ะธะนะฝ ะดะฐะฐ #. module: project #: view:project.project:0 msgid "Project Settings" -msgstr "" +msgstr "ะขำฉัะปะธะนะฝ ั‚ะพั…ะธั€ะณะพะพ" #. module: project #: view:report.project.task.user:0 @@ -591,7 +593,7 @@ msgstr "ะ”ะฐะฐะปะณะฐะฒะฐั€" #. module: project #: help:project.config.settings,group_tasks_work_on_tasks:0 msgid "Allows you to compute work on tasks." -msgstr "" +msgstr "ะ”ะฐะฐะปะณะฐะฒั€ัƒัƒะด ะดััั€ ะฐะถะธะปะปะฐั… ัะฒะดะปั‹ะณ ะทำฉะฒัˆำฉำฉั€ำฉั…" #. module: project #: view:project.project:0 @@ -601,7 +603,7 @@ msgstr "ะฃะดะธั€ะดะปะฐะณะฐ" #. module: project #: field:project.config.settings,group_tasks_work_on_tasks:0 msgid "Log work activities on tasks" -msgstr "" +msgstr "ะ”ะฐะฐะปะณะฐะฒั€ัƒัƒะด ะดััั€ั… ั…ะธะนััะฝ ะฐะถะปั‹ะณ ั…ำฉั‚ะปำฉั…" #. module: project #: model:project.task.type,name:project.project_tt_analysis @@ -622,7 +624,7 @@ msgstr "ะ”ะฐะฐะปะณะฐะฒั€ั‹ะฝ าฎะปะณัั€ ะ‘ะธัˆ" #. module: project #: field:project.task,planned_hours:0 msgid "Initially Planned Hours" -msgstr "" +msgstr "ะะฝั…ะฝั‹ ั‚ำฉะปำฉะฒะปำฉัำฉะฝ ั†ะฐะณ" #. module: project #: model:process.transition,note:project.process_transition_delegate0 @@ -650,6 +652,23 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" ะจะธะฝั ั‚ำฉัำฉะป ัั…ะปัั…ะดัั ะดะฐั€ะฝะฐ.\n" +"

    \n" +" ะขำฉัำฉะป ะฝัŒ าฏะนะป ะฐะถะธะปะปะฐะณะฐะฐะณ ะทะพั…ะธะพะฝ ะฑะฐะนะณัƒัƒะปะฐั…ะฐะด ั‚ัƒัะปะฐะดะฐะณ; " +"ะดะฐะฐะปะณะฐะฒะฐั€ \n" +" ั‚ำฉะปำฉะฒะปำฉั…, ะฐััƒัƒะดะฐะป ั…ำฉั‚ะปำฉั…, ั†ะฐะณะธะนะฝ ั…ัƒัƒะดัั‹ะณ ะฝัั…ัะผะถะปัั…, " +"ะทัั€ัะณั‚\n" +" ั…ัั€ัะณะปัะณะดัะฝั. ะ”ะพั‚ะพะพะด ั‚ำฉัำฉะป (R&D, ะ‘ะพั€ะปัƒัƒะปะฐะปั‚ั‹ะฝ ะฟั€ะพั†ะตััั‹ะณ \n" +" ัะฐะนะถั€ัƒัƒะปะฐั…), ั…ัƒะฒะธะนะฝ ั‚ำฉัำฉะป (ำฉำฉั€ะธะนะฝ ั…ะธะนั… ะทาฏะนะปั), ะทะฐั…ะธะฐะปะณะฐั‚ \n" +" ั‚ำฉัะปาฏาฏะดะธะนะณ ั‚ะพะดะพั€ั…ะพะนะปะพะฝ าฏาฏัะณัั… ะฑะพะปะพะผะถั‚ะพะน.\n" +"

    \n" +" ะขำฉัะปาฏาฏะด ะดััั€ ะดะพั‚ะพะพะด ั…ัั€ัะณะปัะณั‡ะธะดั‚ัะน ั…ะฐะผั‚ั€ะฐะฝ ะฐะถะธะปะปะฐั… " +"ะฑะพะปะพะผะถั‚ะพะน \n" +" ััะฒัะป ะทะฐั…ะธะฐะปะฐะณั‡ะธะด าฏะนะป ะฐะถะธะปะปะฐะณะฐะฐะณ ั…ัƒะฒะฐะฐะปั†ะฐั… าฏาฏะดะฝััั ัƒั€ะธั… \n" +" ะฑะพะปะพะผะถั‚ะพะน.\n" +"

    \n" +" " #. module: project #: view:project.config.settings:0 @@ -676,7 +695,7 @@ msgstr "ะจะธะฝั ะดะฐะฐะปะณะฐะฒะฐั€" #. module: project #: field:project.config.settings,module_project_issue_sheet:0 msgid "Invoice working time on issues" -msgstr "" +msgstr "ะััƒัƒะดะฐะป ะดััั€ ะฐะถะธะปะปะฐัะฐะฝ ั†ะฐะณะธะนะณ ะฝัั…ัะผะถะปัั…" #. module: project #: view:project.project:0 @@ -689,7 +708,7 @@ msgstr "ะ”ัƒัƒัะฐั… ะพะณะฝะพะพ" #. module: project #: model:project.task.type,name:project.project_tt_specification msgid "Specification" -msgstr "" +msgstr "ะ”ัะปะณัั€ัะฝะณาฏะน ั‚ะพะดะพั€ั…ะพะนะปะพะปั‚" #. module: project #: model:process.transition,note:project.process_transition_draftopentask0 @@ -754,7 +773,7 @@ msgstr "Draft Open task" #. module: project #: field:project.project,alias_model:0 msgid "Alias Model" -msgstr "" +msgstr "ะฅัƒัƒั€ะผะฐะณ ะœะพะดะตะปัŒ" #. module: project #: help:report.project.task.user,closing_days:0 @@ -795,7 +814,7 @@ msgstr "ะฏะฐั€ะฐะปั‚ะฐะน" #. module: project #: model:project.category,name:project.project_category_02 msgid "Feature request" -msgstr "" +msgstr "ะ‘ะพะปะพะผะถ ะฅาฏััะปั‚" #. module: project #: view:project.task:0 @@ -816,12 +835,12 @@ msgstr "ะจะะ›ะ“ะะ›ะข: %s" #. module: project #: view:project.project:0 msgid "Close Project" -msgstr "" +msgstr "ะขำฉัะปะธะนะณ ะฅะฐะฐั…" #. module: project #: field:project.project,tasks:0 msgid "Task Activities" -msgstr "" +msgstr "ะ”ะฐะฐะปะณะฐะฒั€ั‹ะฝ าฏะนะป ะฐะถะธะปะปะฐะณะฐะฐะฝัƒัƒะด" #. module: project #: field:project.project,effective_hours:0 @@ -833,7 +852,7 @@ msgstr "ะ—ะฐั€ั†ัƒัƒะปัะฐะฝ ั…ัƒะณะฐั†ะฐะฐ" #: view:project.project:0 #: view:project.task:0 msgid "รญ" -msgstr "" +msgstr "รญ" #. module: project #: field:account.analytic.account,company_uom_id:0 @@ -859,7 +878,7 @@ msgstr "ำจั€ะณำฉั‚ะณำฉัำฉะฝ ั…ะฐะนะปั‚..." #. module: project #: model:ir.ui.menu,name:project.menu_tasks_config msgid "GTD" -msgstr "" +msgstr "ะะ" #. module: project #: help:project.task,state:0 @@ -870,6 +889,10 @@ msgid "" "the case needs to be reviewed then the status is set " "to 'Pending'." msgstr "" +"ะจะธะฝั ั…ัั€ัะณ าฏาฏัะผัะณั† ั‚ัั€ ะฝัŒ \"ะะพะพั€ะพะณ\" ั‚ำฉะปำฉะฒั‚ัะน ะฑะฐะนะฝะฐ. ะฅัั€ัะฒ ัƒะณ ั…ัั€ัะณ " +"ะฑะพะปะพะฒัั€ัƒัƒะปะฐะณะดะฐะถ ัั…ะปัะฒัะป \"ะััะปั‚ั‚ัะน\" ั‚ำฉะปำฉะฒั‚ ะพั€ะฝะพ. ะฅัั€ัะณ ะดัƒัƒัะผะฐะณั† " +"\"ะฅะธะนะณะดััะฝ\" ั‚ำฉะปำฉะฒั‚ัะน ะฑะพะปะพั… ะฑะฐ ั…ัั€ัะฒ ัƒะณ ั…ัั€ัะณะธะนะณ ั…ัะฝะฐั… ั…ัั€ัะณั‚ัะน ะฑะพะป " +"\"ะฅาฏะปััะปะดัะถ ะฑัƒะน\" ั‚ำฉะปำฉะฒั‚ ะพั€ะฝะพ." #. module: project #: model:ir.model,name:project.model_res_company @@ -879,7 +902,7 @@ msgstr "ะšะพะผะฟะฐะฝะธัƒะด" #. module: project #: field:project.task.type,fold:0 msgid "Folded by Default" -msgstr "" +msgstr "ะะฝั…ะฝั‹ั…ะฐะฐั€ะฐะฐ ัะฒั…ัะณะดััะฝ ะฑะฐะนะฝะฐ" #. module: project #: field:project.task.history,date:0 diff --git a/addons/project_gtd/i18n/mn.po b/addons/project_gtd/i18n/mn.po index a83d48f38fb..12bf80f000c 100644 --- a/addons/project_gtd/i18n/mn.po +++ b/addons/project_gtd/i18n/mn.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:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-15 01:49+0000\n" +"Last-Translator: gobi \n" "Language-Team: Mongolian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 07:02+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: project_gtd #: view:project.task:0 @@ -82,7 +82,7 @@ msgstr "ำจะฝำฉำฉะดำฉั€" #. module: project_gtd #: view:project.task:0 msgid "Timeframe" -msgstr "" +msgstr "ะฅัƒะณะฐั†ะฐะฐะฝั‹ ั…ะฐะนั€ั†ะฐะณ" #. module: project_gtd #: model:project.gtd.timebox,name:project_gtd.timebox_lt @@ -195,7 +195,7 @@ msgstr "project.gtd.timebox" #: code:addons/project_gtd/wizard/project_gtd_empty.py:52 #, python-format msgid "Error!" -msgstr "" +msgstr "ะะปะดะฐะฐ!" #. module: project_gtd #: model:ir.actions.act_window,name:project_gtd.open_gtd_timebox_tree @@ -225,7 +225,7 @@ msgstr "ะ”ะฐะฐะปะณะฐะฒั€ัƒัƒะดั‹ะฝ ัะพะฝะณะพะปั‚" #. module: project_gtd #: view:project.task:0 msgid "Display" -msgstr "" +msgstr "ะฅะฐั€ัƒัƒะปะฐั…" #. module: project_gtd #: model:project.gtd.context,name:project_gtd.context_office @@ -271,7 +271,7 @@ msgstr "ะฅัƒะณะฐั†ะฐะฐะฝั‹ ั…ะฐะนั€ั†ะฐะณะฐะฐั ะฐะฒะฐั…" #. module: project_gtd #: view:project.timebox.fill.plan:0 msgid "Cancel" -msgstr "" +msgstr "ะฆัƒั†ะปะฐั…" #. module: project_gtd #: model:project.gtd.context,name:project_gtd.context_home @@ -297,4 +297,4 @@ msgstr "ะ”ะฐะฐะปะณะฐะฒั€ั‹ะณ ะดะฐั…ะธะฝ ะฝััั…ัะด" #. module: project_gtd #: view:project.timebox.fill.plan:0 msgid "or" -msgstr "" +msgstr "ััะฒัะป" diff --git a/addons/project_issue_sheet/i18n/mn.po b/addons/project_issue_sheet/i18n/mn.po index 90999b3a577..3653bdb4d12 100644 --- a/addons/project_issue_sheet/i18n/mn.po +++ b/addons/project_issue_sheet/i18n/mn.po @@ -8,20 +8,20 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" +"PO-Revision-Date: 2013-02-15 01:50+0000\n" "Last-Translator: gobi \n" "Language-Team: Mongolian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 07:02+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: project_issue_sheet #: code:addons/project_issue_sheet/project_issue_sheet.py:57 #, python-format msgid "The Analytic Account is pending !" -msgstr "" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะ”ะฐะฝั ั…าฏะปััะณะดัะถ ะฑะฐะนะฝะฐ !" #. module: project_issue_sheet #: model:ir.model,name:project_issue_sheet.model_account_analytic_line @@ -41,7 +41,7 @@ msgstr "ะฆะฐะณ ั…ัƒัƒะดัั‹ะฝ ะผำฉั€" #. module: project_issue_sheet #: view:project.issue:0 msgid "on_change_project(project_id)" -msgstr "" +msgstr "on_change_project(project_id)" #. module: project_issue_sheet #: code:addons/project_issue_sheet/project_issue_sheet.py:57 diff --git a/addons/project_long_term/i18n/mn.po b/addons/project_long_term/i18n/mn.po index 0b698f91064..fe20e313d2e 100644 --- a/addons/project_long_term/i18n/mn.po +++ b/addons/project_long_term/i18n/mn.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:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-15 01:54+0000\n" +"Last-Translator: gobi \n" "Language-Team: Mongolian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 07:02+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: project_long_term #: help:project.phase,constraint_date_end:0 @@ -41,7 +41,7 @@ msgstr "ะจะฐั‚ัƒัƒะด" #: view:project.phase:0 #: view:project.user.allocation:0 msgid "Team Planning" -msgstr "" +msgstr "ะ‘ะฐะณะธะนะฝ ั‚ำฉะปำฉะฒะปำฉะปั‚" #. module: project_long_term #: field:project.phase,user_ids:0 @@ -91,12 +91,12 @@ msgstr "ะจะฐั‚ัƒัƒะดั‹ะณ ะขะพะฒั‹ะณ ะ“ะฐั€ะณะฐั…" #: view:project.phase:0 #: field:project.phase,state:0 msgid "Status" -msgstr "" +msgstr "ะขำฉะปำฉะฒ" #. module: project_long_term #: field:project.compute.phases,target_project:0 msgid "Action" -msgstr "" +msgstr "าฎะนะปะดัะป" #. module: project_long_term #: view:project.phase:0 @@ -128,7 +128,7 @@ msgstr "ะจะธะฝั" #. module: project_long_term #: field:project.phase,product_uom:0 msgid "Duration Unit of Measure" -msgstr "" +msgstr "าฎั€ะณัะปะถะปัั… ั…ัƒะณะฐั†ะฐะฐะฝั‹ ั…ัะผะถะธั… ะฝัะณะถ" #. module: project_long_term #: model:ir.ui.menu,name:project_long_term.menu_view_resource_calendar_leaves @@ -155,7 +155,7 @@ msgstr "ะ‘ะพะปะพะฒัั€ัƒัƒะปะฐะณะดะฐะถ ะฑะฐะนะณะฐะฐ ะจะฐั‚ัƒัƒะด" #: code:addons/project_long_term/project_long_term.py:140 #, python-format msgid "%s (copy)" -msgstr "" +msgstr "%s (ั…ัƒัƒะปะฑะฐั€)" #. module: project_long_term #: code:addons/project_long_term/wizard/project_compute_phases.py:48 @@ -183,13 +183,13 @@ msgstr "ะฅะฐะผะณะธะนะฝ ะฑะฐะณะฐ ัั…ะปัั… ะพะณะฝะพะพ" #: help:project.phase,product_uom:0 msgid "" "Unit of Measure (Unit of Measure) is the unit of measurement for Duration" -msgstr "" +msgstr "ะฅัะผะถะธั… ะฝัะณะถ ะณัะดัะณ ะฝัŒ าฏั€ะณัะปะถะปัั… ั…ัƒะณะฐั†ะฐะฐะฝั‹ ั…ัะผะถะธั… ะฝัะณะถ" #. module: project_long_term #: help:project.phase,user_ids:0 msgid "" "The resources on the project can be computed automatically by the scheduler." -msgstr "" +msgstr "ะขำฉัะปะธะนะฝ ะฝำฉำฉั† ะฝัŒ ั‚ะพะฒะปะพะณั‡ะพะพั€ ะฐะฒั‚ะพะผะฐั‚ะฐะฐั€ ั‚ะพะพั†ะพะพะปะพะณะดะพั… ะฑะพะปะพะผะถั‚ะพะน." #. module: project_long_term #: field:project.phase,sequence:0 @@ -200,6 +200,7 @@ msgstr "ะ”ะฐั€ะฐะฐะปะฐะป" #: help:account.analytic.account,use_phases:0 msgid "Check this field if you plan to use phase-based scheduling" msgstr "" +"ะฅัั€ัะฒ ัˆะฐั‚ ะดััั€ ััƒัƒั€ะธะปัะฐะฝ ั‚ำฉะปำฉะฒะปำฉะปั‚ะธะนะณ ั…ัั€ัะณะปัั…ััั€ ะฑะพะป ัะฝั ั‚ะฐะปะฑะฐั€ั‹ะณ ัะพะฝะณะพะฝะพ" #. module: project_long_term #: help:project.phase,state:0 @@ -210,6 +211,11 @@ msgid "" " \n" " If the phase is over, the status is set to 'Done'." msgstr "" +"ะจะฐั‚ าฏาฏัะณัะณะดััะฝ ะดะฐั€ัƒะนะดะฐะฐ 'ะะพะพั€ะพะณ' ั‚ำฉะปำฉะฒั‚ัะน ะฑะฐะนะฝะฐ.\n" +" ะจะฐั‚ ัั…ะปัะผัะณั†ัั 'ะฅะธะนะณะดัะถ ะฑัƒะน' ั‚ำฉะปำฉะฒั‚ัะน ะฑะพะปะฝะพ.\n" +" ะฅัั€ัะฒ ัˆะฐั‚ ั€ะตะฒัŽาฏ ั…ะธะนะณะดัั… ัˆะฐะฐั€ะดะปะฐะณะฐั‚ะฐะน ะฑะพะป 'ะฅาฏะปััะณะดัะถ ะฑัƒะน' ั‚ำฉะปำฉะฒั‚ัะน ะฑะพะปะฝะพ. " +" \n" +" ะฅัั€ัะฒ ัˆะฐั‚ ะดัƒัƒััะฐะฝะผ ะฑะพะป 'ะฅะธะนะณะดััะฝ' ั‚ำฉะปำฉะฒั‚ัะน ะฑะพะปะฝะพ." #. module: project_long_term #: field:project.phase,progress:0 @@ -315,7 +321,7 @@ msgstr "ะ”ะฐะฐะปะณะฐะฒั€ั‹ะฝ ะ”ัะปะณัั€ัะฝะณาฏะน" #. module: project_long_term #: field:project.project,phase_count:0 msgid "Open Phases" -msgstr "" +msgstr "ะััะปั‚ั‚ัะน ะจะฐั‚ัƒัƒะด" #. module: project_long_term #: help:project.phase,date_end:0 @@ -412,7 +418,7 @@ msgstr "ะจะฐั‚ัƒัƒะดั‹ะฝ ะถะฐะณัะฐะฐะปั‚ั‹ะณ ั…ะฐั€ัƒัƒะปะฐั… ะดะฐั€ะฐะฐะปะปั‹ #. module: project_long_term #: model:ir.actions.act_window,name:project_long_term.project_phase_task_list msgid "Tasks" -msgstr "" +msgstr "ะ”ะฐะฐะปะณะฐะฒั€ัƒัƒะด" #. module: project_long_term #: help:project.user.allocation,date_end:0 @@ -457,7 +463,7 @@ msgstr "ะกะฐั€" #. module: project_long_term #: model:ir.model,name:project_long_term.model_account_analytic_account msgid "Analytic Account" -msgstr "" +msgstr "ะจะธะฝะถะธะปะณััะฝะธะน ะ”ะฐะฝั" #. module: project_long_term #: field:project.phase,constraint_date_end:0 @@ -512,4 +518,4 @@ msgstr "ะัั€" #: view:project.compute.phases:0 #: view:project.compute.tasks:0 msgid "or" -msgstr "" +msgstr "ััะฒัะป" diff --git a/addons/project_mrp/i18n/mn.po b/addons/project_mrp/i18n/mn.po index 5d0ea6caded..f41ac5f85ca 100644 --- a/addons/project_mrp/i18n/mn.po +++ b/addons/project_mrp/i18n/mn.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:06+0000\n" -"PO-Revision-Date: 2013-01-05 06:14+0000\n" -"Last-Translator: erdenebold \n" +"PO-Revision-Date: 2013-02-15 01:58+0000\n" +"Last-Translator: gobi \n" "Language-Team: Mongolian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 07:02+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: project_mrp #: model:process.node,note:project_mrp.process_node_procuretasktask0 @@ -31,12 +31,12 @@ msgstr "ะ‘ะฐั€ะฐะฐะฝั‹ ั‚ำฉั€ำฉะป ะฝัŒ าฏะนะปั‡ะธะปะณัั ะฑะพะป ัะฝั ะฝัŒ ะด #: code:addons/project_mrp/project_procurement.py:92 #, python-format msgid "Task created" -msgstr "" +msgstr "ะ”ะฐะฐะปะณะฐะฒะฐั€ าฏาฏัะณัะณะดะปัั" #. module: project_mrp #: model:process.node,note:project_mrp.process_node_saleordertask0 msgid "In case you sell services on sales order" -msgstr "" +msgstr "ะ‘ะพั€ะปัƒัƒะปะฐะปั‚ั‹ะฝ ะทะฐั…ะธะฐะปะณะฐ ะดััั€ั… าฏะนะปั‡ะธะปะณััะณ ะทะฐั€ะธั… ั‚ะพั…ะธะพะปะดะพะปะด" #. module: project_mrp #: model:process.node,note:project_mrp.process_node_mrptask0 @@ -51,7 +51,7 @@ msgstr "ะ‘ะฐั€ะฐะฐ" #. module: project_mrp #: model:process.node,name:project_mrp.process_node_saleordertask0 msgid "Sales Order Task" -msgstr "" +msgstr "ะ‘ะพั€ะปัƒัƒะปะฐะปั‚ั‹ะฝ ะ—ะฐั…ะธะฐะปะณั‹ะฝ ะ”ะฐะฐะปะณะฐะฒะฐั€" #. module: project_mrp #: model:process.transition,note:project_mrp.process_transition_procuretask0 @@ -90,11 +90,15 @@ msgid "" " in the project related to the contract of the sales " "order." msgstr "" +"ะœำฉั€ำฉำฉั€ ะดะฐะณะฐะถ ั…ะธะนั… \n" +" ะฐะถะปัƒัƒะด าฏาฏัะณัะณะดัั… ะฑะพะปะฝะพ. ะญะฝั ะดะฐะฐะปะณะฐะฒะฐั€ ะฝัŒ ัะฝั " +"ะฑะพั€ะปัƒัƒะปะฐะปั‚ั‹ะฝ \n" +" ะทะฐั…ะธะฐะปะณั‹ะฝ ะณัั€ััะฝะธะน ั…ะพะปะฑะพะณะดะพั… ั‚ำฉัำฉะปะด าฏาฏัั‡ ั…ะฐั€ะฐะณะดะฐะฝะฐ." #. module: project_mrp #: view:product.product:0 msgid "When you sell this service to a customer," -msgstr "" +msgstr "ะ—ะฐั…ะธะฐะปะฐะณั‡ะธะด าฏะนะปั‡ะธะปะณััะณ ะฑะพั€ะปัƒัƒะปะฐั…ะฐะด," #. module: project_mrp #: field:product.product,project_id:0 @@ -110,7 +114,7 @@ msgstr "ะขะฐั‚ะฐะฝ ะฐะฒะฐะปั‚" #. module: project_mrp #: view:product.product:0 msgid "False" -msgstr "" +msgstr "ะฅัƒะดะฐะป" #. module: project_mrp #: code:addons/project_mrp/project_procurement.py:86 @@ -127,7 +131,7 @@ msgstr "" #. module: project_mrp #: field:project.task,sale_line_id:0 msgid "Sales Order Line" -msgstr "" +msgstr "ะ‘ะพั€ะปัƒัƒะปะฐะปั‚ั‹ะฝ ะ—ะฐั…ะธะฐะปะณั‹ะฝ ะœำฉั€" #. module: project_mrp #: model:process.transition,name:project_mrp.process_transition_createtask0 @@ -142,9 +146,9 @@ msgstr "ะ‘ะพั€ะปัƒัƒะปะฐะปั‚ั‹ะฝ ะทะฐั…ะธะฐะปะณะฐ" #. module: project_mrp #: view:project.task:0 msgid "Order Line" -msgstr "" +msgstr "ะ—ะฐั…ะธะฐะปะณั‹ะฝ ะผำฉั€" #. module: project_mrp #: view:product.product:0 msgid "a task" -msgstr "" +msgstr "ะดะฐะฐะปะณะฐะฒะฐั€" diff --git a/addons/project_timesheet/i18n/mn.po b/addons/project_timesheet/i18n/mn.po index cff829f8977..b4b67b842b1 100644 --- a/addons/project_timesheet/i18n/mn.po +++ b/addons/project_timesheet/i18n/mn.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:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-15 02:05+0000\n" +"Last-Translator: gobi \n" "Language-Team: Mongolian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 07:03+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: project_timesheet #: view:report.timesheet.task.user:0 @@ -72,7 +72,7 @@ msgstr "10-ั€ ัะฐั€" #: view:project.project:0 #, python-format msgid "Timesheets" -msgstr "" +msgstr "ะฆะฐะณะธะนะฝ ั…ัƒัƒะดะฐั" #. module: project_timesheet #: view:project.project:0 @@ -166,7 +166,7 @@ msgstr "ะจะธะฝัั‡ะปัั… ะ“ัั€ััะฝาฏาฏะด" #. module: project_timesheet #: view:project.project:0 msgid "Hours" -msgstr "" +msgstr "ะฆะฐะณ" #. module: project_timesheet #: view:report.timesheet.task.user:0 @@ -372,7 +372,7 @@ msgstr "ะ”ะฐะฐะปะณะฐะฒะฐั€ ะดัƒัƒัะผะฐะณั† ั…ะฐั€ะณะฐะปะทะฐั… ะฝัั…ัะผะถะปั #: code:addons/project_timesheet/project_timesheet.py:266 #, python-format msgid "Invalid Action!" -msgstr "" +msgstr "ะ‘ัƒั€ัƒัƒ าฎะนะปะดัะป!" #. module: project_timesheet #: view:report.timesheet.task.user:0 diff --git a/addons/purchase/i18n/mn.po b/addons/purchase/i18n/mn.po index bd4aae53e44..ecbaf42563a 100644 --- a/addons/purchase/i18n/mn.po +++ b/addons/purchase/i18n/mn.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:04+0000\n" -"PO-Revision-Date: 2013-02-07 06:38+0000\n" -"Last-Translator: Tenuun Khangaitan \n" +"PO-Revision-Date: 2013-02-14 10:44+0000\n" +"Last-Translator: soyoko \n" "Language-Team: Mongolian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-08 05:24+0000\n" -"X-Generator: Launchpad (build 16482)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: purchase #: model:res.groups,name:purchase.group_analytic_accounting @@ -25,7 +25,7 @@ msgstr "" #. module: purchase #: model:ir.model,name:purchase.model_account_config_settings msgid "account.config.settings" -msgstr "" +msgstr "account.config.settings" #. module: purchase #: view:board.board:0 @@ -100,6 +100,8 @@ msgid "" "Holds the Chatter summary (number of messages, ...). This summary is " "directly in html format in order to be inserted in kanban views." msgstr "" +"ะงะฐะฐั‚ะปะฐะณั‡ะธะนะฝ ั…ัƒั€ะฐะฐะฝะณัƒะนะณ ะฐะณัƒัƒะปะฝะฐ (ะทัƒั€ะฒะฐัั‹ะฝ ั‚ะพะพ,...). ะญะฝั ั…ัƒั€ะฐะฐะฝะณัƒะน ะฝัŒ ัˆัƒัƒะด " +"html ั„ะพั€ะผะฐั‚ั‚ะฐะน ะฑำฉะณำฉำฉะด ะบะฐะฝะฑะฐะฝ ั…ะฐั€ะฐะณะดะฐั†ะฐะด ัˆัƒัƒะด ะพั€ะถ ั…ะฐั€ะฐะณะดะฐั… ะฑะพะปะพะผะถั‚ะพะน." #. module: purchase #: code:addons/purchase/purchase.py:1024 @@ -201,7 +203,7 @@ msgstr "ะ—ะฐั…ะธะฐะปะณั‹ะฝ ะดัƒะณะฐะฐั€" #. module: purchase #: view:purchase.config.settings:0 msgid "Invoicing Process" -msgstr "" +msgstr "ะัั…ัะผะถะปัั… าฏะนะป ัะฒั†" #. module: purchase #: model:process.transition,name:purchase.process_transition_approvingpurchaseorder0 @@ -227,6 +229,7 @@ msgstr "" #, python-format msgid "In order to delete a purchase order, you must cancel it first." msgstr "" +"ะฅัƒะดะฐะปะดะฐะฝ ะฐะฒะฐะปั‚ั‹ะฝ ะทะฐั…ะธะฐะปะณั‹ะณ ัƒัั‚ะณะฐั…ั‹ะฝ ั‚ัƒะปะด ัั…ะปััะด ะทะฐั…ะธะฐะปะณั‹ะณ ั†ัƒั†ะปะฐั… ั…ัั€ัะณั‚ัะน." #. module: purchase #: view:product.product:0 @@ -272,7 +275,7 @@ msgstr "" #: field:purchase.order.line,state:0 #: view:purchase.report:0 msgid "Status" -msgstr "" +msgstr "ะขำฉะปำฉะฒ" #. module: purchase #: selection:purchase.report,month:0 diff --git a/addons/purchase/i18n/nl.po b/addons/purchase/i18n/nl.po index 668655cbb8e..7b762af8d19 100644 --- a/addons/purchase/i18n/nl.po +++ b/addons/purchase/i18n/nl.po @@ -8,13 +8,13 @@ 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-02-11 19:43+0000\n" +"PO-Revision-Date: 2013-02-14 14:56+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-12 05:29+0000\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" "X-Generator: Launchpad (build 16491)\n" #. module: purchase @@ -345,7 +345,7 @@ msgstr "" " inkomende leveringen. Dit afhankelijk van uw instellingen.\n" "

    \n" " Wanneer u een factuur van uw leverancier heeft ontvangen, kunt\n" -" u deze vergelijken met de concept fractuur en deze valideren.\n" +" u deze vergelijken met de concept factuur en deze valideren.\n" "

    \n" " " diff --git a/addons/purchase/i18n/ro.po b/addons/purchase/i18n/ro.po index 06518610e45..9bc7d5fc0e3 100644 --- a/addons/purchase/i18n/ro.po +++ b/addons/purchase/i18n/ro.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:04+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-14 19:15+0000\n" +"Last-Translator: Fekete Mihai \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 07:03+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: purchase #: model:res.groups,name:purchase.group_analytic_accounting @@ -2073,7 +2073,7 @@ msgstr "Categorii Partener" #. module: purchase #: field:purchase.report,state:0 msgid "Order Status" -msgstr "" +msgstr "Statusul Comenzii" #. module: purchase #: report:purchase.order:0 diff --git a/addons/purchase/i18n/sl.po b/addons/purchase/i18n/sl.po index 151c2f13936..7be8148944a 100644 --- a/addons/purchase/i18n/sl.po +++ b/addons/purchase/i18n/sl.po @@ -8,13 +8,13 @@ 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-02-11 01:27+0000\n" +"PO-Revision-Date: 2013-02-14 14:33+0000\n" "Last-Translator: Duลกan Laznik (Mentis) \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-12 05:29+0000\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" "X-Generator: Launchpad (build 16491)\n" #. module: purchase @@ -627,6 +627,10 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" Novo povpraลกevanje (Nalog za nabavo)\n" +"

    \n" +" " #. module: purchase #: view:purchase.order.line:0 @@ -778,7 +782,7 @@ msgstr "Znesek davka" #. module: purchase #: field:purchase.order,shipped_rate:0 msgid "Received Ratio" -msgstr "" +msgstr "Razmerje prejema" #. module: purchase #: selection:purchase.report,month:0 @@ -857,7 +861,7 @@ msgstr "Razลกirjeni filtri..." #: code:addons/purchase/wizard/purchase_order_group.py:48 #, python-format msgid "Please select multiple order to merge in the list view." -msgstr "" +msgstr "Izbrati morate veฤ naroฤil." #. module: purchase #: view:purchase.order:0 @@ -887,7 +891,7 @@ msgstr "Vaฤ analitiฤnih kontov na naroฤilih" #. module: purchase #: view:product.product:0 msgid "will be created in order to subcontract the job" -msgstr "" +msgstr "bo ustvarjen za podizvajalca" #. module: purchase #: model:ir.actions.act_window,name:purchase.action_purchase_line_product_tree @@ -1110,7 +1114,7 @@ msgstr "Izbrana enota mere ne pripada isti skupini kot enota mere produkta." #. module: purchase #: view:purchase.order.line_invoice:0 msgid "Select an Open Sales Order" -msgstr "" +msgstr "Izberite odprt nalog za prodajo" #. module: purchase #: model:ir.ui.menu,name:purchase.menu_purchase_unit_measure_purchase @@ -1182,7 +1186,7 @@ msgstr "Preklopi v pripravo" msgid "" "Reference of the document that generated this purchase order request; a " "sales order or an internal procurement request." -msgstr "" +msgstr "Dokument , ki je kreiral ta nalog za nabavo." #. module: purchase #: view:purchase.order.line:0 @@ -1192,7 +1196,7 @@ msgstr "Opombe" #. module: purchase #: field:purchase.config.settings,module_purchase_requisition:0 msgid "Manage purchase requisitions" -msgstr "" +msgstr "Upravljanje nabave" #. module: purchase #: report:purchase.order:0 @@ -1688,6 +1692,7 @@ msgid "" "lines on a purchase order between several accounts and analytic plans.\n" " This installs the module purchase_analytic_plans." msgstr "" +"Omogoฤa delitev postavk nabavnega naloga na veฤ analitiฤnih planov in kontov." #. module: purchase #: field:purchase.order,location_id:0 @@ -1869,6 +1874,8 @@ msgid "" "of the purchase order, the invoice is based on received or on ordered " "quantities." msgstr "" +"Prevzemnica generira dobaviteljev raฤun. Odvisno od nastavitev , lahko raฤun " +"izhaja iz naroฤenih ali prevzetih koliฤin." #. module: purchase #: field:purchase.order,message_follower_ids:0 @@ -1934,7 +1941,7 @@ msgid "" "Provide a double validation mechanism for purchases exceeding minimum " "amount.\n" " This installs the module purchase_double_validation." -msgstr "" +msgstr "Omogoฤa dvojno potrjevanje dobav , ki presegajo doloฤeno vrednost." #. module: purchase #: code:addons/purchase/edi/purchase_order.py:132 @@ -2245,6 +2252,10 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" Ta dobavitelj nima nabavnih nalogov.\n" +"

    \n" +" " #. module: purchase #: view:purchase.report:0 diff --git a/addons/purchase_requisition/i18n/ro.po b/addons/purchase_requisition/i18n/ro.po index fdd93e752fe..8f68af3e06e 100644 --- a/addons/purchase_requisition/i18n/ro.po +++ b/addons/purchase_requisition/i18n/ro.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:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-14 16:11+0000\n" +"Last-Translator: Fekete Mihai \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 07:04+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -30,7 +30,7 @@ msgstr "Cereri Multiple" #. module: purchase_requisition #: field:purchase.requisition.line,product_uom_id:0 msgid "Product Unit of Measure" -msgstr "" +msgstr "Unitatea de Masura a Produsului" #. module: purchase_requisition #: model:ir.actions.act_window,help:purchase_requisition.action_purchase_requisition @@ -49,6 +49,20 @@ msgid "" "

    \n" " " msgstr "" +"\n" +" Clic pentru a incepe un proces nou de cerere pentru achizitii. \n" +"

    \n" +" O cerere de achizitii este pasul dinaintea unei cereri de " +"cotatie.\n" +" Intr-o cerere de achizitie (sau oferta la licitatie de " +"achizitii), puteti sa inregistrati\n" +" produsele pe care trebuie sa le cumparati si sa declansati " +"crearea unei CdO catre\n" +" furnizori. Dupa negociere, odata ce ati verificat toate\n" +" ofertele furnizorului, le puteti valida pe unele si anula pe " +"altele.\n" +"

    \n" +" " #. module: purchase_requisition #: view:purchase.requisition:0 @@ -60,12 +74,12 @@ msgstr "Responsabil" #: view:purchase.requisition:0 #: field:purchase.requisition,state:0 msgid "Status" -msgstr "" +msgstr "Status" #. module: purchase_requisition #: view:purchase.requisition:0 msgid "Send to Suppliers" -msgstr "" +msgstr "Trimite Furnizorilor" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -76,12 +90,12 @@ msgstr "Grupeaza dupa..." #: view:purchase.requisition:0 #: selection:purchase.requisition,state:0 msgid "Purchase Done" -msgstr "" +msgstr "Achizitie Efectuata" #. module: purchase_requisition #: field:purchase.requisition,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "Persoane interesate" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -152,7 +166,7 @@ msgstr "Cotatii (oferte)" #. module: purchase_requisition #: view:purchase.requisition:0 msgid "Terms and Conditions" -msgstr "" +msgstr "Termeni si Conditii" #. module: purchase_requisition #: report:purchase.requisition:0 @@ -163,7 +177,7 @@ msgstr "Descriere" #. module: purchase_requisition #: field:purchase.requisition,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "Mesaje Necitite" #. module: purchase_requisition #: field:purchase.requisition,company_id:0 @@ -179,7 +193,7 @@ msgstr "Creeaza cotatia" #. module: purchase_requisition #: help:purchase.requisition,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "Istoric mesaje si conversatii" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -189,7 +203,7 @@ msgstr "Aprobat de catre furnizor" #. module: purchase_requisition #: view:purchase.requisition.partner:0 msgid "or" -msgstr "" +msgstr "sau" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -214,7 +228,7 @@ msgstr "Referinta comanda" #. module: purchase_requisition #: field:purchase.requisition,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "Este o persoana interesata" #. module: purchase_requisition #: field:purchase.requisition.line,product_qty:0 @@ -267,7 +281,7 @@ msgstr "Produse de cumparat" #: view:purchase.requisition:0 #: selection:purchase.requisition,state:0 msgid "Sent to Suppliers" -msgstr "" +msgstr "Trimis Furnizorilor" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -278,7 +292,7 @@ msgstr "Cauta solicitarea de achizitie" #: code:addons/purchase_requisition/wizard/purchase_requisition_partner.py:41 #, python-format msgid "No Product in Tender." -msgstr "" +msgstr "Nici un Produs in Oferta." #. module: purchase_requisition #: report:purchase.requisition:0 @@ -288,7 +302,7 @@ msgstr "Data comenzii" #. module: purchase_requisition #: field:purchase.requisition,message_ids:0 msgid "Messages" -msgstr "" +msgstr "Mesaje" #. module: purchase_requisition #: help:purchase.requisition,exclusive:0 @@ -319,7 +333,7 @@ msgstr "Comanda de achizitie" #. module: purchase_requisition #: field:purchase.requisition,origin:0 msgid "Source Document" -msgstr "" +msgstr "Document Sursa" #. module: purchase_requisition #: code:addons/purchase_requisition/wizard/purchase_requisition_partner.py:41 @@ -360,7 +374,7 @@ msgstr "Partener Cerere de achizitie" #. module: purchase_requisition #: help:purchase.requisition,message_unread:0 msgid "If checked new messages require your attention." -msgstr "" +msgstr "Daca este selectat, mesajele noi necesita atentia dumneavoastra." #. module: purchase_requisition #: report:purchase.requisition:0 @@ -380,7 +394,7 @@ msgstr "Scadenta solicitare" #. module: purchase_requisition #: field:purchase.requisition,message_summary:0 msgid "Summary" -msgstr "" +msgstr "Continut" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -396,7 +410,7 @@ msgstr "Aprovizionare" #: report:purchase.requisition:0 #: view:purchase.requisition:0 msgid "Source" -msgstr "" +msgstr "Sursa" #. module: purchase_requisition #: field:purchase.requisition,warehouse_id:0 @@ -424,6 +438,8 @@ msgid "" "Holds the Chatter summary (number of messages, ...). This summary is " "directly in html format in order to be inserted in kanban views." msgstr "" +"Contine rezumatul Chatter (numar de mesaje, ...). Acest rezumat este direct " +"in format HTML, cu scopul de a se introduce in vizualizari kanban." #. module: purchase_requisition #: report:purchase.requisition:0 @@ -434,7 +450,7 @@ msgstr "UdeM (Unitate de masura) produs" #: code:addons/purchase_requisition/purchase_requisition.py:134 #, python-format msgid "Warning!" -msgstr "" +msgstr "Avertisment!" #. module: purchase_requisition #: view:purchase.requisition:0 @@ -474,6 +490,8 @@ msgid "" "Check this box to generates purchase requisition instead of generating " "requests for quotation from procurement." msgstr "" +"Selectati aceasta casua pentru a genera cererea de achizitii in loc sa " +"generati cereri pentru cotatii din aprovizionari." #. module: purchase_requisition #: field:purchase.requisition,purchase_ids:0 diff --git a/addons/report_webkit/i18n/ro.po b/addons/report_webkit/i18n/ro.po index 51751265a39..bf8a4cda6b8 100644 --- a/addons/report_webkit/i18n/ro.po +++ b/addons/report_webkit/i18n/ro.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:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-14 16:38+0000\n" +"Last-Translator: Fekete Mihai \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 07:05+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: report_webkit #: view:ir.actions.report.xml:0 @@ -70,7 +70,7 @@ msgstr "Companie" #: code:addons/report_webkit/webkit_report.py:234 #, python-format msgid "Please set a header in company settings." -msgstr "" +msgstr "Va rugam sa configurati un antet in setarile companiei." #. module: report_webkit #: selection:ir.header_webkit,format:0 @@ -117,7 +117,7 @@ msgstr "A4 0 210 x 297 mm, 8.26 x 11.69 inci" #: code:addons/report_webkit/webkit_report.py:176 #, python-format msgid "Webkit error" -msgstr "" +msgstr "Eroare Webkit" #. module: report_webkit #: selection:ir.header_webkit,format:0 @@ -132,7 +132,7 @@ msgstr "B2 17 500 x 707 mm" #: code:addons/report_webkit/webkit_report.py:304 #, python-format msgid "Webkit render!" -msgstr "" +msgstr "Redare Webkit!" #. module: report_webkit #: model:ir.model,name:report_webkit.model_ir_header_img @@ -153,6 +153,11 @@ msgid "" "http://code.google.com/p/wkhtmltopdf/downloads/list and set the path in the " "ir.config_parameter with the webkit_path key.Minimal version is 0.9.9" msgstr "" +"Va rugam sa instalati executabilul in sistemul dumneavoastra (sudo apt-get " +"install whtmltopdf) sau descarcati-l de aici: " +"http://code.google.com/p/wkhtmltopdf/downloads/list si setati ruta in " +"ir.config_parameter (ir.config_parametru) cu cheia webkit_path. Versiunea " +"minima este 0.9.9" #. module: report_webkit #: selection:ir.header_webkit,format:0 @@ -204,7 +209,7 @@ msgstr "Antetul asociat raportului" #: code:addons/report_webkit/webkit_report.py:95 #, python-format msgid "Wkhtmltopdf library path is not set" -msgstr "" +msgstr "Nu este setata ruta arhivei" #. module: report_webkit #: view:ir.actions.report.xml:0 @@ -286,7 +291,7 @@ msgstr "Imagine" #. module: report_webkit #: view:ir.header_img:0 msgid "Header Image" -msgstr "" +msgstr "Imagine Antet" #. module: report_webkit #: field:res.company,header_webkit:0 @@ -315,7 +320,7 @@ msgstr "Portret" #. module: report_webkit #: view:report.webkit.actions:0 msgid "or" -msgstr "" +msgstr "sau" #. module: report_webkit #: selection:ir.header_webkit,orientation:0 @@ -331,7 +336,7 @@ msgstr "B8 22 62 x 88 mm" #: code:addons/report_webkit/webkit_report.py:177 #, python-format msgid "The command 'wkhtmltopdf' failed with error code = %s. Message: %s" -msgstr "" +msgstr "Comanda 'wkhtmltopdf' a esuat cu codul erorii = %s. Mesaj: %s" #. module: report_webkit #: selection:ir.header_webkit,format:0 @@ -377,7 +382,7 @@ msgstr "Marginea din dreapta (mm)" #: code:addons/report_webkit/webkit_report.py:228 #, python-format msgid "Webkit report template not found!" -msgstr "" +msgstr "Nu a fost gasit sablonul de raport Webkit!" #. module: report_webkit #: field:ir.header_webkit,orientation:0 @@ -407,7 +412,7 @@ msgstr ":B10 16 31 x 44 mm" #. module: report_webkit #: view:report.webkit.actions:0 msgid "Cancel" -msgstr "" +msgstr "Anuleaza" #. module: report_webkit #: field:ir.header_webkit,css:0 @@ -429,7 +434,7 @@ msgstr "Logo-uri Webkit" #: code:addons/report_webkit/webkit_report.py:172 #, python-format msgid "No diagnosis message was provided" -msgstr "" +msgstr "Nu a fost prezentat nici un mesaj de diagnosticare" #. module: report_webkit #: selection:ir.header_webkit,format:0 @@ -518,9 +523,9 @@ msgstr "ir.actions.report.xml (ir.actiuni.raport.xml)" #: code:addons/report_webkit/webkit_report.py:174 #, python-format msgid "The following diagnosis message was provided:\n" -msgstr "" +msgstr "A fost prezentat urmatorul mesaj de diagnosticare:\n" #. module: report_webkit #: view:ir.header_webkit:0 msgid "HTML Header" -msgstr "" +msgstr "Antet HTML" diff --git a/addons/sale/i18n/mn.po b/addons/sale/i18n/mn.po index 8b489c9903b..e9b53bfa7ed 100644 --- a/addons/sale/i18n/mn.po +++ b/addons/sale/i18n/mn.po @@ -8,19 +8,19 @@ 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-02-06 04:27+0000\n" -"Last-Translator: Amar Zayasaikhan \n" +"PO-Revision-Date: 2013-02-14 11:09+0000\n" +"Last-Translator: soyoko \n" "Language-Team: Mongolian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-07 05:42+0000\n" -"X-Generator: Launchpad (build 16477)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: sale #: model:res.groups,name:sale.group_analytic_accounting msgid "Analytic Accounting for Sales" -msgstr "" +msgstr "ะะฝะฐะปะธั‚ะธะบ ะดะฐะฝั" #. module: sale #: model:process.transition,name:sale.process_transition_confirmquotation0 @@ -42,7 +42,7 @@ msgstr "" #: model:ir.actions.act_window,name:sale.action_order_line_tree2 #: model:ir.ui.menu,name:sale.menu_invoicing_sales_order_lines msgid "Order Lines to Invoice" -msgstr "" +msgstr "ะ—ะฐั…ะธะฐะปะณั‹ะฝ ะผำฉั€" #. module: sale #: field:sale.order,date_confirm:0 @@ -64,12 +64,12 @@ msgstr "ะฅะพั‘ั€ะดะพะณั‡ ั…าฏั€ะณัั… ั…ะฐัะณ" #. module: sale #: model:ir.actions.act_window,name:sale.action_view_sale_advance_payment_inv msgid "Invoice Order" -msgstr "" +msgstr "ะัั…ัะผะถะปัะป" #. module: sale #: view:sale.config.settings:0 msgid "Product Features" -msgstr "" +msgstr "ะ‘ะฐั€ะฐะฐะฝั‹ ะพะฝั†ะปะพะณ" #. module: sale #: help:sale.config.settings,module_account_analytic_analysis:0 @@ -90,12 +90,14 @@ msgid "" "${(object.name or '').replace('/','_')}_${object.state == 'draft' and " "'draft' or ''}" msgstr "" +"${(object.name or '').replace('/','_')}_${object.state == 'draft' and " +"'draft' or ''}" #. module: sale #: view:sale.order.line:0 #: field:sale.report,product_uom:0 msgid "Unit of Measure" -msgstr "" +msgstr "ะฅัะผะถะธั… ะฝัะณะถ" #. module: sale #: field:sale.order.line,type:0 @@ -126,13 +128,13 @@ msgstr "" #. module: sale #: view:sale.order:0 msgid "Quotation Number" -msgstr "" +msgstr "าฎะฝะธะนะฝ ัะฐะฝะฐะปั‹ะฝ ะดัƒะณะฐะฐั€" #. module: sale #: view:sale.order:0 #: field:sale.order,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "ะฃะฝัˆะฐะฐะณาฏะน ะทัƒั€ะฒะฐััƒัƒะด" #. module: sale #: field:sale.order,company_id:0 @@ -156,7 +158,7 @@ msgstr "ะัั…ัะผะถะปััะณาฏะน ะฑำฉะณำฉำฉะด ั…าฏั€ะณัะณะดััะฝ ะทะฐั…ะธะฐะป #. module: sale #: model:mail.message.subtype,description:sale.mt_order_confirmed msgid "Quotation confirmed" -msgstr "" +msgstr "ะ—ำฉะฒัˆำฉำฉั€ัำฉะฝ าฏะฝะธะนะฝ ัะฐะฝะฐะป" #. module: sale #: selection:sale.order,state:0 @@ -167,12 +169,12 @@ msgstr "ะัั…ัะผะถะปัะปะธะนะฝ ัะพะฝะดะณะพะนั€ะพะป" #. module: sale #: view:sale.order:0 msgid "Quotation " -msgstr "" +msgstr "าฎะฝะธะนะฝ ัะฐะฝะฐะป " #. module: sale #: selection:sale.order,state:0 msgid "Draft Quotation" -msgstr "" +msgstr "ะะพะพั€ะพะณ าฏะฝะธะนะฝ ัะฐะฝะฐะป" #. module: sale #: field:sale.order,partner_shipping_id:0 @@ -215,7 +217,7 @@ msgstr "ะ–ะธะฝ" #. module: sale #: view:sale.config.settings:0 msgid "Warehouse Features" -msgstr "" +msgstr "ะะณัƒัƒะปะฐั…ั‹ะฝ ะฑะฐะณั‚ะฐะฐะผะถ" #. module: sale #: field:sale.config.settings,time_unit:0 @@ -231,7 +233,7 @@ msgstr "ะฅัะผะถะธั… ะฝัะณะถ " #: code:addons/sale/wizard/sale_make_invoice_advance.py:101 #, python-format msgid "Incorrect Data" -msgstr "" +msgstr "ะ‘ัƒั€ัƒัƒ ำฉะณำฉะณะดำฉะป" #. module: sale #: code:addons/sale/wizard/sale_make_invoice_advance.py:102 @@ -1462,7 +1464,7 @@ msgstr "ะะณัƒัƒะปะฐั…ะฐะฐั" #. module: sale #: report:sale.order:0 msgid "Quotation Date" -msgstr "าฎะฝั ะทะพั…ะธะพั… ำฉะดำฉั€" +msgstr "าฎะฝะธะนะฝ ะกะฐะฝะฐะปั‹ะฝ ะžะณะฝะพะพ" #. module: sale #: field:sale.order,amount_total:0 diff --git a/addons/sale_crm/i18n/ro.po b/addons/sale_crm/i18n/ro.po index 009011240f5..35fd23b28c0 100644 --- a/addons/sale_crm/i18n/ro.po +++ b/addons/sale_crm/i18n/ro.po @@ -7,20 +7,20 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: Mihai Satmarean \n" +"PO-Revision-Date: 2013-02-14 16:42+0000\n" +"Last-Translator: Fekete Mihai \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-01-18 07:06+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: sale_crm #: code:addons/sale_crm/wizard/crm_make_sale.py:90 #, python-format msgid "Insufficient Data!" -msgstr "" +msgstr "Date Insuficiente!" #. module: sale_crm #: view:crm.lead:0 @@ -31,17 +31,17 @@ msgstr "Transforma in cotatie" #. module: sale_crm #: model:ir.model,name:sale_crm.model_account_invoice_report msgid "Invoices Statistics" -msgstr "" +msgstr "Statistica Facturi" #. module: sale_crm #: field:crm.make.sale,close:0 msgid "Mark Won" -msgstr "" +msgstr "Marcheaza drept Castigat" #. module: sale_crm #: field:res.users,default_section_id:0 msgid "Default Sales Team" -msgstr "" +msgstr "Echipa de Vanzari Implicita" #. module: sale_crm #: view:sale.order:0 @@ -51,30 +51,32 @@ msgstr "Echipa (echipele) mele de vanzari" #. module: sale_crm #: model:ir.model,name:sale_crm.model_res_users msgid "Users" -msgstr "" +msgstr "Utilizatori" #. module: sale_crm #: help:crm.make.sale,close:0 msgid "" "Check this to close the opportunity after having created the sales order." msgstr "" +"Selectati aici pentru a inchide oportunitatea dupa ce ati creat comanda de " +"vanzare." #. module: sale_crm #: model:mail.message.subtype,name:sale_crm.mt_salesteam_order_sent msgid "Quotation Send" -msgstr "" +msgstr "Trimite Cotatia" #. module: sale_crm #: field:sale.order,categ_ids:0 msgid "Categories" -msgstr "" +msgstr "Categorii" #. module: sale_crm #: code:addons/sale_crm/wizard/crm_make_sale.py:124 #: code:addons/sale_crm/wizard/crm_make_sale.py:135 #, python-format msgid "Quotation" -msgstr "" +msgstr "Cotatie" #. module: sale_crm #: field:crm.make.sale,partner_id:0 @@ -94,7 +96,7 @@ msgstr "Efectueaza vanzarea" #. module: sale_crm #: model:ir.model,name:sale_crm.model_account_invoice msgid "Invoice" -msgstr "" +msgstr "Factura" #. module: sale_crm #: code:addons/sale_crm/wizard/crm_make_sale.py:93 @@ -106,7 +108,7 @@ msgstr "Oportunitate: %s" #: code:addons/sale_crm/wizard/crm_make_sale.py:110 #, python-format msgid "Opportunity has been converted to the quotation %s." -msgstr "" +msgstr "Oportunitatea a fost transformata in cotatie %s." #. module: sale_crm #: field:crm.make.sale,shop_id:0 @@ -117,12 +119,12 @@ msgstr "Magazin" #: code:addons/sale_crm/wizard/crm_make_sale.py:90 #, python-format msgid "No addresse(s) defined for this customer." -msgstr "" +msgstr "Nu exista adrese definite pentru acest client." #. module: sale_crm #: model:mail.message.subtype,name:sale_crm.mt_salesteam_order_confirmed msgid "Sales Order Confirmed" -msgstr "" +msgstr "Comanda de Vanzare Confirmata" #. module: sale_crm #: view:account.invoice:0 @@ -136,7 +138,7 @@ msgstr "Echipa de vanzฤƒri" #. module: sale_crm #: view:crm.lead:0 msgid "Create Quotation" -msgstr "" +msgstr "Creeaza Cotatia" #. module: sale_crm #: model:ir.actions.act_window,name:sale_crm.action_crm_make_sale @@ -156,4 +158,4 @@ msgstr "Comanda de vanzare" #. module: sale_crm #: view:crm.make.sale:0 msgid "or" -msgstr "" +msgstr "sau" diff --git a/addons/sale_stock/i18n/mn.po b/addons/sale_stock/i18n/mn.po index d845c3c95d2..9bd3a3de69c 100644 --- a/addons/sale_stock/i18n/mn.po +++ b/addons/sale_stock/i18n/mn.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:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-14 08:36+0000\n" +"Last-Translator: erdenebold \n" "Language-Team: Mongolian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 07:07+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: sale_stock #: help:sale.config.settings,group_invoice_deli_orders:0 @@ -133,7 +133,7 @@ msgstr "ะ‘ะพั€ะปัƒัƒะปะฐะปั‚ั‹ะฝ ะทะฐั…ะธะฐะปะณั‹ะฝ ะผำฉั€ ะฑาฏั€ะธะนะฝ ั‚ะฐั‚ะฐ #. module: sale_stock #: model:ir.model,name:sale_stock.model_stock_move msgid "Stock Move" -msgstr "ะ‘ะฐั€ะฐะฐะฝั‹ ั…ำฉะดำฉะปะณำฉำฉะฝ" +msgstr "" #. module: sale_stock #: code:addons/sale_stock/sale_stock.py:161 diff --git a/addons/sale_stock/i18n/nl.po b/addons/sale_stock/i18n/nl.po index 6593de9b8c0..f0e7c63df78 100644 --- a/addons/sale_stock/i18n/nl.po +++ b/addons/sale_stock/i18n/nl.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:06+0000\n" -"PO-Revision-Date: 2013-01-26 14:06+0000\n" +"PO-Revision-Date: 2013-02-14 15:35+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-27 05:10+0000\n" -"X-Generator: Launchpad (build 16451)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: sale_stock #: help:sale.config.settings,group_invoice_deli_orders:0 @@ -421,7 +421,7 @@ msgstr "" #. module: sale_stock #: model:ir.model,name:sale_stock.model_sale_report msgid "Sales Orders Statistics" -msgstr "Verkooporder statistieken" +msgstr "Verkooporder analyses" #. module: sale_stock #: model:ir.model,name:sale_stock.model_res_company diff --git a/addons/sale_stock/i18n/ro.po b/addons/sale_stock/i18n/ro.po index 4ac95055e89..7b62a7b869a 100644 --- a/addons/sale_stock/i18n/ro.po +++ b/addons/sale_stock/i18n/ro.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:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-14 17:39+0000\n" +"Last-Translator: Fekete Mihai \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 07:07+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: sale_stock #: help:sale.config.settings,group_invoice_deli_orders:0 @@ -23,6 +23,8 @@ msgid "" "To allow your salesman to make invoices for Delivery Orders using the menu " "'Deliveries to Invoice'." msgstr "" +"Pentru a-i permite agentului dumneavoastra de vanzari sa creeze facturi " +"pentru Ordinele de Livrare folosind meniul 'Livrari de Facturat'." #. module: sale_stock #: model:process.node,name:sale_stock.process_node_deliveryorder0 @@ -33,7 +35,7 @@ msgstr "Comanda de livrare" #: model:ir.actions.act_window,name:sale_stock.outgoing_picking_list_to_invoice #: model:ir.ui.menu,name:sale_stock.menu_action_picking_list_to_invoice msgid "Deliveries to Invoice" -msgstr "" +msgstr "Livrari de Facturat" #. module: sale_stock #: code:addons/sale_stock/sale_stock.py:544 @@ -68,7 +70,7 @@ msgstr "Documentul miscarii catre iesire sau catre client." #. module: sale_stock #: field:sale.config.settings,group_multiple_shops:0 msgid "Manage multiple shops" -msgstr "" +msgstr "Gestioneaza magazine multiple" #. module: sale_stock #: model:process.transition.action,name:sale_stock.process_transition_action_validate0 @@ -81,6 +83,8 @@ msgstr "Valideaza" msgid "" "You must first cancel all delivery order(s) attached to this sales order." msgstr "" +"Mai intai trebuie sa anulati toate comenzile de livrare atasate acestei " +"comenzi de vanzare." #. module: sale_stock #: model:process.transition,name:sale_stock.process_transition_saleprocurement0 @@ -105,7 +109,7 @@ msgstr "" #: code:addons/sale_stock/sale_stock.py:615 #, python-format msgid "Error!" -msgstr "" +msgstr "Eroare!" #. module: sale_stock #: field:sale.order,picking_policy:0 @@ -119,6 +123,8 @@ msgid "" "You cannot make an advance on a sales order that is " "defined as 'Automatic Invoice after delivery'." msgstr "" +"Nu puteti face un avans la comanda de vanzare care este definita drept ' " +"Facturare Automata dupa livrare'." #. module: sale_stock #: model:ir.ui.menu,name:sale_stock.menu_action_shop_form @@ -141,24 +147,24 @@ msgstr "Miscare stoc" #: code:addons/sale_stock/sale_stock.py:161 #, python-format msgid "Invalid Action!" -msgstr "" +msgstr "Actiune Nevalida!" #. module: sale_stock #: field:sale.config.settings,module_project_timesheet:0 msgid "Project Timesheet" -msgstr "" +msgstr "Foaie de pontaj Proiect" #. module: sale_stock #: field:sale.config.settings,group_sale_delivery_address:0 msgid "Allow a different address for delivery and invoicing " -msgstr "" +msgstr "Permite o adresa diferita pentru livrare si facturare " #. module: sale_stock #: code:addons/sale_stock/sale_stock.py:546 #: code:addons/sale_stock/sale_stock.py:597 #, python-format msgid "Configuration Error!" -msgstr "" +msgstr "Eroare de configurare!" #. module: sale_stock #: model:process.node,name:sale_stock.process_node_saleprocurement0 @@ -179,7 +185,7 @@ msgstr "Comanda de vanzare" #. module: sale_stock #: model:ir.model,name:sale_stock.model_stock_picking_out msgid "Delivery Orders" -msgstr "" +msgstr "Comenzi de Livrare" #. module: sale_stock #: model:ir.model,name:sale_stock.model_sale_order_line @@ -225,7 +231,7 @@ msgstr "Forteaza atribuirea" #. module: sale_stock #: field:sale.config.settings,default_order_policy:0 msgid "The default invoicing method is" -msgstr "" +msgstr "Metoda implicita de facturare este" #. module: sale_stock #: field:sale.order.line,delay:0 @@ -240,7 +246,7 @@ msgstr "Documentul miscarii catre client." #. module: sale_stock #: view:sale.order:0 msgid "View Delivery Order" -msgstr "" +msgstr "Vizualizeaza Comanda de Livrare" #. module: sale_stock #: field:sale.order.line,move_ids:0 @@ -250,12 +256,12 @@ msgstr "Miscari inventar" #. module: sale_stock #: view:sale.config.settings:0 msgid "Default Options" -msgstr "" +msgstr "Optiuni Implicite" #. module: sale_stock #: field:sale.config.settings,module_project_mrp:0 msgid "Project MRP" -msgstr "" +msgstr "Proiect MRP" #. module: sale_stock #: model:process.transition,note:sale_stock.process_transition_invoiceafterdelivery0 @@ -299,22 +305,22 @@ msgstr "" #. module: sale_stock #: help:sale.config.settings,group_mrp_properties:0 msgid "Allows you to tag sales order lines with properties." -msgstr "" +msgstr "Va permite sa marcati liniile comenzii de vanzare cu proprietati." #. module: sale_stock #: field:sale.config.settings,group_invoice_deli_orders:0 msgid "Generate invoices after and based on delivery orders" -msgstr "" +msgstr "Genereaza facturi dupa si pe baza comenzilor de livrare" #. module: sale_stock #: field:sale.config.settings,module_delivery:0 msgid "Allow adding shipping costs" -msgstr "" +msgstr "Permite adaugarea costurilor de transport" #. module: sale_stock #: view:sale.order:0 msgid "days" -msgstr "" +msgstr "zile" #. module: sale_stock #: field:sale.order.line,product_packaging:0 @@ -327,6 +333,8 @@ msgid "" "International Commercial Terms are a series of predefined commercial terms " "used in international transactions." msgstr "" +"Termenii Comerciali Internationali sunt o serie de termeni comerciali " +"predefiniti folositi in tranzactiile internationale." #. module: sale_stock #: help:sale.config.settings,module_delivery:0 @@ -336,16 +344,21 @@ msgid "" "prices.\n" " This installs the module delivery." msgstr "" +"Va permite sa adaugati metodele de livrare in comenzile de vanzare si in " +"comenzile de livrare.\n" +" Va puteti defini propria companie de transport si grile de " +"livrare pentru preturi.\n" +" Acesta instaleaza modulul livrare." #. module: sale_stock #: field:sale.config.settings,default_picking_policy:0 msgid "Deliver all at once when all products are available." -msgstr "" +msgstr "Livrati totul odata atunci cand sunt disponibile toate produsele." #. module: sale_stock #: model:res.groups,name:sale_stock.group_invoice_deli_orders msgid "Enable Invoicing Delivery orders" -msgstr "" +msgstr "Activati Facturarea Livrarii Comenzilor" #. module: sale_stock #: field:res.company,security_lead:0 @@ -362,12 +375,14 @@ msgstr "Aprovizionarea materialelor vandute" msgid "" "Pick 'Deliver each product when available' if you allow partial delivery." msgstr "" +"Selectati 'Livreaza fiecare produs atunci cand este disponibil' daca " +"permiteti livrarea partiala." #. module: sale_stock #: code:addons/sale_stock/sale_stock.py:206 #, python-format msgid "Cannot cancel sales order!" -msgstr "" +msgstr "Imposibil de anulat comanda de vanzare!" #. module: sale_stock #: model:ir.model,name:sale_stock.model_sale_shop @@ -391,7 +406,7 @@ msgstr "Proprietati" #. module: sale_stock #: field:sale.config.settings,group_mrp_properties:0 msgid "Product properties on order lines" -msgstr "" +msgstr "Proprietatile produsului in liniile comenzii" #. module: sale_stock #: help:sale.config.settings,default_order_policy:0 @@ -421,6 +436,14 @@ msgid "" "lines.\n" " This installs the modules project_timesheet and project_mrp." msgstr "" +"Va permite sa transferati inregistrarile sub sarcini definite pentru " +"Managementul Proiectelor in\n" +" inregistrarile din linia Fisei de pontaj pentru o anumita " +"data si un anumit utilizator cu scopul de le a crea, edita sau sterge\n" +" si creeaza automat sarcini ale proiectului din liniile de " +"aprovizionare.\n" +" Acesta instaleaza modulele project_timesheet " +"(proiect_fisa_de_pontaj) si project_mrp (proiect_mrp)." #. module: sale_stock #: help:sale.config.settings,group_sale_delivery_address:0 @@ -428,6 +451,8 @@ msgid "" "Allows you to specify different delivery and invoice addresses on a sales " "order." msgstr "" +"Va permite sa specificati adrese de livrare si de facturare diferite intr-o " +"comanda de vanzare." #. module: sale_stock #: model:process.node,note:sale_stock.process_node_saleprocurement0 @@ -455,6 +480,7 @@ msgid "" "Number of days between the order confirmation and the shipping of the " "products to the customer" msgstr "" +"Numarul de zile dintre confirmarea comenzii si livrarea produsului clientului" #. module: sale_stock #: help:sale.config.settings,default_picking_policy:0 @@ -463,11 +489,14 @@ msgid "" "instead of delivering each product when it is available. This may have an " "impact on the shipping price." msgstr "" +"Comanda de vanzare implicita va fi configurata sa livreze toate produsele " +"odata in loc sa livreze fiecare produs atunci cand este disponibil. Acest " +"lucru poate avea un impact asupra pretului de transport." #. module: sale_stock #: selection:sale.config.settings,default_order_policy:0 msgid "Invoice based on sales orders" -msgstr "" +msgstr "Facturati pe baza comenzilor de vanzare" #. module: sale_stock #: model:process.node,name:sale_stock.process_node_invoiceafterdelivery0 @@ -488,6 +517,9 @@ msgid "" "In order to delete a confirmed sales order, you must cancel it.\n" "To do so, you must first cancel related picking for delivery orders." msgstr "" +"Pentru a sterge o comanda de vanzare confirmata, trebuie sa o anulati.\n" +"Pentru a face acest lucru, mai intai trebuie sa anulati ridicarea asociata " +"cu comenzile de livrare." #. module: sale_stock #: field:sale.order.line,number_packages:0 @@ -507,7 +539,7 @@ msgstr "Creeaza Factura" #. module: sale_stock #: field:sale.config.settings,task_work:0 msgid "Prepare invoices based on task's activities" -msgstr "" +msgstr "Pregatiti facturile pe baza activitatilor sarcinilor" #. module: sale_stock #: model:ir.model,name:sale_stock.model_sale_advance_payment_inv @@ -537,7 +569,7 @@ msgstr "Incoterm" #: code:addons/sale_stock/sale_stock.py:496 #, python-format msgid "Cannot cancel sales order line!" -msgstr "" +msgstr "Imposibil de anulat linia comenzii de vanzare!" #. module: sale_stock #: model:process.transition.action,name:sale_stock.process_transition_action_cancelassignation0 @@ -562,7 +594,7 @@ msgstr "Ridicari asociate" #. module: sale_stock #: model:ir.model,name:sale_stock.model_sale_config_settings msgid "sale.config.settings" -msgstr "" +msgstr "sale.config.settings (vanzare.config.setari)" #. module: sale_stock #: help:sale.order,picking_ids:0 @@ -570,6 +602,8 @@ msgid "" "This is a list of delivery orders that has been generated for this sales " "order." msgstr "" +"Aceasta este o lista cu comenzile de livrare care au fost generate pentru " +"aceasta comanda de livrare." #. module: sale_stock #: model:process.node,name:sale_stock.process_node_saleorderprocurement0 @@ -599,12 +633,12 @@ msgstr "" #. module: sale_stock #: view:sale.order:0 msgid "Recreate Delivery Order" -msgstr "" +msgstr "Recreati Comanda de Livrare" #. module: sale_stock #: help:sale.config.settings,group_multiple_shops:0 msgid "This allows to configure and use multiple shops." -msgstr "" +msgstr "Acesta permite sa configurati si sa folositi magazine multiple." #. module: sale_stock #: field:sale.order,picked_rate:0 diff --git a/addons/sale_stock/i18n/tr.po b/addons/sale_stock/i18n/tr.po index 53b8a59a061..ad17ac55c41 100644 --- a/addons/sale_stock/i18n/tr.po +++ b/addons/sale_stock/i18n/tr.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:06+0000\n" -"PO-Revision-Date: 2013-02-08 13:13+0000\n" +"PO-Revision-Date: 2013-02-14 11:40+0000\n" "Last-Translator: Ediz Duman \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-02-09 05:29+0000\n" -"X-Generator: Launchpad (build 16482)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: sale_stock #: help:sale.config.settings,group_invoice_deli_orders:0 @@ -332,6 +332,8 @@ msgid "" "International Commercial Terms are a series of predefined commercial terms " "used in international transactions." msgstr "" +"Uluslararasฤฑ Ticari Terimler uluslararasฤฑ iลŸlemlerde kullanฤฑlan รถnceden " +"tanฤฑmlanmฤฑลŸ ticari dizinlerdir" #. module: sale_stock #: help:sale.config.settings,module_delivery:0 @@ -341,6 +343,10 @@ msgid "" "prices.\n" " This installs the module delivery." msgstr "" +"satฤฑลŸ sipariลŸleri ve teslimat sipariลŸlerde teslimat yรถntemleri eklemenize " +"olanak saฤŸlar.\n" +"Sen fiyatlar iรงin kendi taลŸฤฑyฤฑcฤฑ ve daฤŸฤฑtฤฑm ฤฑzgaralarฤฑ tanฤฑmlayabilirsiniz.\n" +"Bu modรผl teslimat yรผkler." #. module: sale_stock #: field:sale.config.settings,default_picking_policy:0 @@ -367,6 +373,8 @@ msgstr "Satฤฑlan malzemenin tedarik edilmesi" msgid "" "Pick 'Deliver each product when available' if you allow partial delivery." msgstr "" +"Seรงim kฤฑsmi teslimat izin verirseniz 'kullanฤฑlabilir olduฤŸunda her รผrรผnรผn " +"teslimatฤฑna'." #. module: sale_stock #: code:addons/sale_stock/sale_stock.py:206 @@ -470,6 +478,9 @@ msgid "" "instead of delivering each product when it is available. This may have an " "impact on the shipping price." msgstr "" +"Varsayฤฑlan SatฤฑลŸ sipariลŸ bir kere yerine kullanฤฑlabilir olduฤŸunda her รผrรผnรผn " +"teslim tรผm รผrรผnler sunmak iรงin yapฤฑlandฤฑrฤฑlacaktฤฑr. Bu nakliye fiyat " +"รผzerinde bir etkisi olabilir." #. module: sale_stock #: selection:sale.config.settings,default_order_policy:0 diff --git a/addons/share/i18n/ro.po b/addons/share/i18n/ro.po index c02e947b362..d2fda21f13d 100644 --- a/addons/share/i18n/ro.po +++ b/addons/share/i18n/ro.po @@ -8,20 +8,20 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-14 18:56+0000\n" +"Last-Translator: Fekete Mihai \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 07:07+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: share #: code:addons/share/wizard/share_wizard.py:841 #, python-format msgid "Invitation to collaborate about %s" -msgstr "" +msgstr "Invitatia de a colabora in legatura cu %s" #. module: share #: code:addons/share/wizard/share_wizard.py:779 @@ -29,11 +29,13 @@ msgstr "" msgid "" "The share engine has not been able to fetch a record_id for your invitation." msgstr "" +"Motorul de partajare nu a reusit sa furnizeze un id_inregistrare pentru " +"invitatia dumneavoastra." #. module: share #: view:share.wizard:0 msgid "Include an Optional Personal Message" -msgstr "" +msgstr "Include un Mesaj Personal Optional" #. module: share #: field:share.wizard,embed_option_title:0 @@ -48,13 +50,13 @@ msgstr "Acces permis!" #. module: share #: field:share.wizard,record_name:0 msgid "Record name" -msgstr "" +msgstr "Numele inregistrarii" #. module: share #: help:share.wizard,message:0 msgid "" "An optional personal message, to be included in the email notification." -msgstr "" +msgstr "Un mesaj personal optional, de inclus in emailul de instiintare." #. module: share #: field:share.wizard,user_type:0 @@ -76,6 +78,10 @@ msgid "" " %s\n" "\n" msgstr "" +"Documentele nu sunt atasate, le puteti vizualiza online direct pe serverul " +"meu OpenERP la:\n" +" %s\n" +"\n" #. module: share #: model:ir.module.category,name:share.module_category_share @@ -90,6 +96,8 @@ msgid "" "Hello,\n" "\n" msgstr "" +"Buna ziua,\n" +"\n" #. module: share #: field:share.wizard,share_root_url:0 @@ -101,7 +109,7 @@ msgstr "Partajeaza Acces URL" #: field:share.wizard,email_2:0 #: field:share.wizard,email_3:0 msgid "New user email" -msgstr "" +msgstr "Email-ul utilizatorului nou" #. module: share #: code:addons/share/wizard/share_wizard.py:886 @@ -122,13 +130,15 @@ msgstr "(Modificat(a))" #, python-format msgid "You must be a member of the Share/User group to use the share wizard." msgstr "" +"Trebuie sa fiti membru al grupului de Partajare/de Utilizatori pentru a " +"folosi wizardul de partajare." #. module: share #. openerp-web #: code:addons/share/static/src/js/share.js:63 #, python-format msgid "Embed" -msgstr "" +msgstr "Integreaza" #. module: share #: code:addons/share/wizard/share_wizard.py:598 @@ -177,6 +187,7 @@ msgstr "(Copiat pentru permisiuni modificate de partajare)" msgid "" "Please indicate the emails of the persons to share with, one per line." msgstr "" +"Va rugam indicati email-urile persoanelor cu care partajati, unul pe linie." #. module: share #: help:share.wizard,domain:0 @@ -193,6 +204,7 @@ msgstr "Urmatorul" #, python-format msgid "Action and Access Mode are required to create a shared access." msgstr "" +"Modul Actiune si Acces sunt obligatorii pentru a crea un acces partajat." #. module: share #: code:addons/share/wizard/share_wizard.py:849 @@ -211,17 +223,17 @@ msgstr "Optiuni de partajare" #: code:addons/share/static/src/xml/share.xml:9 #, python-format msgid "Invite" -msgstr "" +msgstr "Invita" #. module: share #: view:share.wizard:0 msgid "Embedded code options" -msgstr "" +msgstr "Optiunile codului integrat" #. module: share #: view:share.wizard:0 msgid "Configuration" -msgstr "" +msgstr "Configurare" #. module: share #: view:share.wizard:0 @@ -256,7 +268,7 @@ msgstr "" #. module: share #: view:res.groups:0 msgid "Non-Share Groups" -msgstr "" +msgstr "Grupuri Non-Partajare" #. module: share #: view:share.wizard:0 @@ -264,12 +276,13 @@ msgid "" "An email notification with instructions has been sent to the following " "people:" msgstr "" +"Un email de instiintare cu instructiuni a fost trimis urmatoarelor persoane:" #. module: share #: code:addons/share/wizard/share_wizard.py:77 #, python-format msgid "Direct link or embed code" -msgstr "" +msgstr "Link direct sau cod incorporat" #. module: share #: code:addons/share/wizard/share_wizard.py:855 @@ -292,7 +305,7 @@ msgstr "Actiunea de partajat" #. module: share #: help:share.wizard,record_name:0 msgid "Name of the shared record, if sharing a precise record" -msgstr "" +msgstr "Numele inregistrarii partajate, daca partajati o inregistrare exacta" #. module: share #: field:res.users,share:0 @@ -309,13 +322,13 @@ msgstr "necunoscut(a)" #: code:addons/share/wizard/share_wizard.py:656 #, python-format msgid "Sharing access cannot be created." -msgstr "" +msgstr "Nu poate fi creat accesul la partajare." #. module: share #: code:addons/share/wizard/share_wizard.py:779 #, python-format msgid "Record id not found" -msgstr "" +msgstr "Nu a fost gasit id-ul inregistrarii" #. module: share #: help:res.groups,share:0 @@ -327,7 +340,7 @@ msgstr "" #. module: share #: view:res.groups:0 msgid "Share Groups" -msgstr "" +msgstr "Grupuri de Partajare" #. module: share #: help:share.wizard,action_id:0 @@ -376,6 +389,8 @@ msgid "" "You must configure your email address in the user preferences before using " "the Share button." msgstr "" +"Trebuie sa va configurati adresa de email in preferintele utilizatorului " +"inainte de a folosi butonul Partajare." #. module: share #: model:res.groups,name:share.group_share_user @@ -409,7 +424,7 @@ msgstr "Baza de date" #. module: share #: view:share.wizard:0 msgid "Share with these People (one email per line)" -msgstr "" +msgstr "Partajati cu aceste Persoane (un email pe linie)" #. module: share #: field:share.wizard,domain:0 @@ -419,7 +434,7 @@ msgstr "Domeniu" #. module: share #: view:res.groups:0 msgid "{'search_default_no_share':1}" -msgstr "" +msgstr "{'search_default_no_share':1} ({'cuata_implicit_fara_partajare':1}" #. module: share #: view:share.wizard:0 @@ -432,6 +447,8 @@ msgstr "Rezumat" msgid "" "Embed this code in your documents to provide a link to the shared document." msgstr "" +"Inserati acest cod in documentele dumneavoastra pentru a oferi un link catre " +"documentul partajat." #. module: share #: code:addons/share/wizard/share_wizard.py:512 @@ -443,7 +460,7 @@ msgstr "Acces copiat pentru partajare" #: code:addons/share/wizard/share_wizard.py:816 #, python-format msgid "Invitation" -msgstr "" +msgstr "Invitatie" #. module: share #: model:ir.actions.act_window,name:share.action_share_wizard_step1 @@ -474,7 +491,7 @@ msgstr "share.wizard.result.line (partajeaza.asistent.rezultat.linie)" #. module: share #: field:share.wizard,embed_code:0 msgid "Code" -msgstr "" +msgstr "Cod" #. module: share #: help:share.wizard,user_type:0 @@ -489,6 +506,8 @@ msgid "" "I have shared %s (%s) with you!\n" "\n" msgstr "" +"Am partajat %s (%s) cu tine!\n" +"\n" #. module: share #: field:share.wizard,view_type:0 @@ -550,11 +569,13 @@ msgid "" "The documents have been automatically added to your subscriptions.\n" "\n" msgstr "" +"Documentele au fost adaugate automat la abonamentele dumneavoastra.\n" +"\n" #. module: share #: model:ir.model,name:share.model_res_users msgid "Users" -msgstr "" +msgstr "Utilizatori" #. module: share #: code:addons/share/wizard/share_wizard.py:875 @@ -563,6 +584,8 @@ msgid "" "I've shared %s with you!\n" "\n" msgstr "" +"Am partajat %s cu tine!\n" +"\n" #. module: share #: model:ir.model,name:share.model_res_groups @@ -572,7 +595,7 @@ msgstr "Acces Grupuri" #. module: share #: field:share.wizard,invite:0 msgid "Invite users to OpenSocial record" -msgstr "" +msgstr "Invitati utilizatorii sa se inregistreze la OpenSocial" #. module: share #: code:addons/share/wizard/share_wizard.py:850 @@ -614,7 +637,7 @@ msgstr "" #: code:addons/share/wizard/share_wizard.py:205 #, python-format msgid "No email address configured" -msgstr "" +msgstr "Nici o adresa de email configurata" #. module: share #: field:share.wizard.result.line,login:0 @@ -644,7 +667,7 @@ msgstr "ir.model.acces" #. module: share #: view:share.wizard:0 msgid "or" -msgstr "" +msgstr "sau" #. module: share #: help:share.wizard,access_mode:0 diff --git a/addons/stock/i18n/mn.po b/addons/stock/i18n/mn.po index b1c07b7f198..6b232263854 100644 --- a/addons/stock/i18n/mn.po +++ b/addons/stock/i18n/mn.po @@ -8,13 +8,13 @@ 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-02-14 03:59+0000\n" -"Last-Translator: gobi \n" +"PO-Revision-Date: 2013-02-14 08:31+0000\n" +"Last-Translator: erdenebold \n" "Language-Team: Mongolian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-14 05:36+0000\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" "X-Generator: Launchpad (build 16491)\n" #. module: stock @@ -4176,7 +4176,7 @@ msgstr "ะะฒั‚ะพะผะฐั‚ะฐะฐั€ ะฑะฐั‚ะปะฐั…" #: code:addons/stock/stock.py:1821 #, python-format msgid "Insufficient Stock for Serial Number !" -msgstr "" +msgstr "ะฅะฐะฝะณะฐะปั‚ะณาฏะน ะฑะฐั€ะฐะฐะฝั‹ ัะตั€ะธะนะฝ ะดัƒะณะฐะฐั€ !" #. module: stock #: model:ir.model,name:stock.model_product_template @@ -4665,7 +4665,7 @@ msgstr "5-ั€ ัะฐั€" #: code:addons/stock/product.py:110 #, python-format msgid "No difference between standard price and new price!" -msgstr "" +msgstr "ะจะธะฝั าฏะฝั ะฑะพะปะพะฝ ัั‚ะฐะฝะดะฐั€ั‚ าฏะฝั ั…ะพะพั€ะพะฝะดะพะพ ัะปะณะฐะฐะณาฏะน !" #. module: stock #: view:stock.picking.out:0 diff --git a/addons/stock/i18n/nl.po b/addons/stock/i18n/nl.po index a4d849af61a..a43e8e1e1a8 100644 --- a/addons/stock/i18n/nl.po +++ b/addons/stock/i18n/nl.po @@ -8,13 +8,13 @@ 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-02-11 14:47+0000\n" +"PO-Revision-Date: 2013-02-14 11:37+0000\n" "Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-02-12 05:30+0000\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" "X-Generator: Launchpad (build 16491)\n" #. module: stock @@ -899,9 +899,9 @@ msgid "" "When doing real-time inventory valuation, this is the Accounting Journal in " "which entries will be automatically posted when stock moves are processed." msgstr "" -"Wanneer u real-time voorraadwaardering doet, dan is dit de journaalpost " -"waarin automatisch de boekingen worden gemaakt, wanneer de voorraadmutaties " -"worden verwerkt." +"Wanneer u real-time voorraadwaardering doet, dan is dit het dagboek waarin " +"automatisch de boekingen worden gemaakt, wanneer de voorraadmutaties worden " +"verwerkt." #. module: stock #: code:addons/stock/stock.py:2252 @@ -2403,7 +2403,7 @@ msgstr "stock.return.picking.memory" #. module: stock #: field:stock.config.settings,group_stock_inventory_valuation:0 msgid "Generate accounting entries per stock movement" -msgstr "Maak journaalpostregels per voorraadmutatie" +msgstr "Maak boekingen per voorraadmutatie" #. module: stock #: code:addons/stock/product.py:449 @@ -2788,8 +2788,8 @@ msgid "" "Cannot create Journal Entry, Output Account of this product and Valuation " "account on category of this product are same." msgstr "" -"Het is niet mogelijk een journaalpost te maken, voorraadafname rekening en " -"de voorraadrekening bij de categorie zijn hetzelfde." +"Het is niet mogelijk een boeking te maken, voorraadafname rekening en de " +"voorraadrekening bij de categorie zijn hetzelfde." #. module: stock #: selection:stock.location,chained_location_type:0 @@ -2872,8 +2872,8 @@ msgid "" "hold the counterpart moves for incoming and outgoing products." msgstr "" "Wanneer u bij uw product heeft gekozen voor 'Real time voorraadwaardering' " -"zal het systeem automatisch journaalposten maken, overeenkomstig de " -"voorraadmutaties. De voorraaadwaarde rekenig, zoals ingesteld bij de " +"zal het systeem automatisch boekingenmaken, overeenkomstig de " +"voorraadmutaties. De voorraadwaarde rekening, zoals ingesteld bij de " "productcategorie, zal de huidige voorraadwaarde weergeven. De " "voorraadtoename en voorraadafname rekening bevatten de tegenboeking voor " "inkomende- en uitgaande producten." @@ -2971,8 +2971,8 @@ msgid "" "Cannot create Journal Entry, Input Account of this product and Valuation " "account on category of this product are same." msgstr "" -"Het is niet mogelijk een journaalpost te maken, voorraadtoename rekening en " -"de voorraadrekening bij de categorie zijn hetzelfde." +"Het is niet mogelijk een boeking te maken, voorraadtoename rekening en de " +"voorraadrekening bij de categorie zijn hetzelfde." #. module: stock #: model:ir.ui.menu,name:stock.menu_stock_unit_measure_stock diff --git a/addons/survey/i18n/ro.po b/addons/survey/i18n/ro.po index 45e3463ef9d..71226973e09 100644 --- a/addons/survey/i18n/ro.po +++ b/addons/survey/i18n/ro.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:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-14 19:14+0000\n" +"Last-Translator: Fekete Mihai \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-18 07:10+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2013-02-15 05:24+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: survey #: view:survey.response.line:0 @@ -47,7 +47,7 @@ msgstr "Validare text" #. module: survey #: view:survey:0 msgid "Answers:" -msgstr "" +msgstr "Raspunsuri:" #. module: survey #: view:survey:0 @@ -58,7 +58,7 @@ msgstr "Utilizator invitat" #. module: survey #: model:survey.type,name:survey.survey_type1 msgid "Human Resources" -msgstr "" +msgstr "Resurse Umane" #. module: survey #: selection:survey.answer,type:0 @@ -299,7 +299,7 @@ msgstr " Titlul coloanei" #: code:addons/survey/wizard/survey_send_invitation.py:71 #, python-format msgid "The following surveys are not in open state: %s" -msgstr "" +msgstr "Urmatoarele sondaje nu sunt in stare deschisa: %s" #. module: survey #: field:survey,tot_comp_survey:0 @@ -337,6 +337,8 @@ msgid "" "This survey has no question defined. Please define the questions and answers " "first." msgstr "" +"Acest sondaj nu are intrebari definite. Mai intai trebuie sa definiti " +"intrabarile si raspunsurile." #. module: survey #: field:survey.question,comment_field_type:0 @@ -357,12 +359,12 @@ msgstr "Data de incepere a sondajului" #: code:addons/survey/wizard/survey_answer.py:800 #, python-format msgid "You cannot select the same answer more than one time." -msgstr "" +msgstr "Nu puteti selecta acelasi raspuns decat o singura data." #. module: survey #: field:survey,color:0 msgid "Color Index" -msgstr "" +msgstr "Index de Culori" #. module: survey #: selection:survey.question,type:0 @@ -379,7 +381,7 @@ msgstr "Editeaza Sondajul" #: code:addons/survey/wizard/survey_answer.py:961 #, python-format msgid "Please enter an integer value." -msgstr "" +msgstr "Introduceti o valoare intreaga." #. module: survey #: field:survey.question.column.heading,menu_choice:0 @@ -393,6 +395,7 @@ msgid "" "You must enter one or more menu choices in " "column heading." msgstr "" +"Trebuie sa introduceti una sau mai multe optiuni in antetul coloanei." #. module: survey #: selection:survey.question,required_type:0 @@ -441,7 +444,7 @@ msgstr "Text" #. module: survey #: view:survey:0 msgid "Edit..." -msgstr "" +msgstr "Editeaza..." #. module: survey #: selection:survey.print,paper_size:0 From 05e1a581c0ef1865d4c8abbf62c43d098587c92c Mon Sep 17 00:00:00 2001 From: Vishmita Date: Fri, 15 Feb 2013 11:12:33 +0530 Subject: [PATCH 113/222] [Fix]Improve code bzr revid: vja@tinyerp.com-20130215054233-lryxtaycngg474ck --- addons/hr_timesheet_sheet/hr_timesheet_sheet.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet.py b/addons/hr_timesheet_sheet/hr_timesheet_sheet.py index 1247ed6166b..215f2ba8cfd 100644 --- a/addons/hr_timesheet_sheet/hr_timesheet_sheet.py +++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet.py @@ -262,7 +262,7 @@ class hr_timesheet_line(osv.osv): res = sheet_obj.default_get(cr, uid, ['date_from','date_to','employee_id','company_id','state'], context=None) ids = sheet_obj.create(cr, uid, res, context=None) print"this >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>...343424",ids,res - return super(hr_timesheet_line, self).create(cr, uid, vals, *args, **argv) + return [ids] def _sheet(self, cursor, user, ids, name, args, context=None): sheet_obj = self.pool.get('hr_timesheet_sheet.sheet') From c9e149d1e7074b4889949e0e3ed7bdfb38e3b801 Mon Sep 17 00:00:00 2001 From: Tejas Tank Date: Fri, 15 Feb 2013 11:13:14 +0530 Subject: [PATCH 114/222] [IMP] Removed readonly flag. bzr revid: tta@openerp.com-20130215054314-alk8pigxhtt3lciv --- addons/account/account_invoice_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 047f19bd791..d730211d8d0 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -186,7 +186,7 @@ on_change="onchange_journal_id(journal_id, context)" widget="selection"/>